Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:02:06

0001 /* 
0002  * Motif
0003  *
0004  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
0005  *
0006  * These libraries and programs are free software; you can
0007  * redistribute them and/or modify them under the terms of the GNU
0008  * Lesser General Public License as published by the Free Software
0009  * Foundation; either version 2 of the License, or (at your option)
0010  * any later version.
0011  *
0012  * These libraries and programs are distributed in the hope that
0013  * they will be useful, but WITHOUT ANY WARRANTY; without even the
0014  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
0015  * PURPOSE. See the GNU Lesser General Public License for more
0016  * details.
0017  *
0018  * You should have received a copy of the GNU Lesser General Public
0019  * License along with these librararies and programs; if not, write
0020  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
0021  * Floor, Boston, MA 02110-1301 USA
0022 */ 
0023 
0024 #ifndef MrmPublic
0025 #define MrmPublic
0026 
0027 #include <X11/Intrinsic.h>
0028 #include <X11/Xmd.h>
0029 
0030 /*
0031  * Success or other non-error return codes
0032  */
0033 #define MrmSUCCESS  1
0034 #define MrmCREATE_NEW   3
0035 #define MrmINDEX_RETRY  5   /* Retry on entering index required */
0036 #define MrmINDEX_GT 7   /* Index orders greater-than entry */
0037 #define MrmINDEX_LT 9   /* Index orders less-than entry */
0038 #define MrmPARTIAL_SUCCESS  11  /* operation partly succeeded */
0039 
0040 /*
0041  * Failure return codes
0042  */
0043 #define MrmFAILURE  0
0044 #define MrmNOT_FOUND    2
0045 #define MrmEXISTS   4
0046 #define MrmNUL_GROUP    6
0047 #define MrmNUL_TYPE 8
0048 #define MrmWRONG_GROUP  10
0049 #define MrmWRONG_TYPE   12
0050 #define MrmOUT_OF_RANGE 14  /* Record number too big */
0051 #define MrmBAD_RECORD   16  /* Record number wrong type */
0052 #define MrmNULL_DATA    18  /* No data for entry */
0053 #define MrmBAD_DATA_INDEX   20  /* Data index in RID out of range */
0054 #define MrmBAD_ORDER    22  /* Bad ordering specifier */
0055 #define MrmBAD_CONTEXT  24  /* Invalid Mrm context */
0056 #define MrmNOT_VALID    26  /* Validation failure */
0057 #define MrmBAD_BTREE    28  /* GT/LT pointer error in BTree */
0058 #define MrmBAD_WIDGET_REC   30  /* Validation failure on widget record */
0059 #define MrmBAD_CLASS_TYPE   32  /* Class type not a valid Mrmwc... value */
0060 #define MrmNO_CLASS_NAME    34  /* User class name is null */
0061 #define MrmTOO_MANY 36  /* Too many entries requested in some list */
0062 #define MrmBAD_IF_MODULE    38  /* invalid interface module */
0063 #define MrmNULL_DESC    40  /* Arglist or children descriptor null */
0064 #define MrmOUT_OF_BOUNDS    42  /* Argument index out of arglist bounds */
0065 #define MrmBAD_COMPRESS 44  /* Invalid compression code */
0066 #define MrmBAD_ARG_TYPE 46  /* Invalid type, not in RGMrType... */
0067 #define MrmNOT_IMP  48  /* Not yet implemented */
0068 #define MrmNULL_INDEX   50  /* empty index string */
0069 #define MrmBAD_KEY_TYPE 52  /* key must be MrmrIndex or MrmrRID */
0070 #define MrmBAD_CALLBACK 54  /* Invalid callback descriptor */
0071 #define MrmNULL_ROUTINE 56  /* Empty callback routine name string */
0072 #define MrmVEC_TOO_BIG  58  /* too many elements in vector */
0073 #define MrmBAD_HIERARCHY    60  /* invalid Mrm file hierarchy */
0074 #define MrmBAD_CLASS_CODE   62  /* Class code not found in Mrmwc... */
0075 #define MrmDISPLAY_NOT_OPENED   63  /* Display not yet created */
0076 #define MrmEOF          64      /* End of file */
0077 #define MrmUNRESOLVED_REFS  65  /* Unresolved widget refs in callback*/
0078 
0079 
0080 /*
0081  * Definitions associated with widget representations
0082  */
0083 
0084 /*
0085  * Define the creation callback
0086  */
0087 #define MrmNcreateCallback  "createCallback"
0088 /* BEGIN OSF Fix pir 2813 */
0089 #define MrmCR_CREATE        XmCR_CREATE
0090 /* END OSF Fix pir 2813 */
0091 
0092 /*
0093  * Code for unknown (user-defined) classes.
0094  */
0095 #define MrmwcUnknown        1
0096 
0097 
0098 /*
0099  * The data types of values stored in uid files.
0100  */
0101 #define MrmRtypeMin     1
0102 #define MrmRtypeInteger     1   /* int */
0103 #define MrmRtypeBoolean     2
0104 #define MrmRtypeChar8       3   /* a nul-terminated string */
0105 #define MrmRtypeChar8Vector 4   /* a vector of char_8 strings */
0106 #define MrmRtypeCString     5   /* a compound string (DDIS) */
0107 #define MrmRtypeCStringVector   6   /* a vector of compound strings */
0108 #define MrmRtypeFloat       7
0109                     /* 8 = TypeCompressed now unused */
0110 #define MrmRtypeCallback    9   /* code for a callback descriptor */
0111 #define MrmRtypePixmapImage 10  /* Pixmap in image form */
0112 #define MrmRtypePixmapDDIF  11  /* Pixmap in DDIF form */
0113 #define MrmRtypeResource    12  /* Mrm resource descriptor */
0114 #define MrmRtypeNull        13  /* no value given */
0115 #define MrmRtypeAddrName    14  /* nul-terminated string to be
0116                        interpreted as runtime address */
0117 #define MrmRtypeIconImage   15  /* icon image */
0118 #define MrmRtypeFont        16  /* Mrm font structure */
0119 #define MrmRtypeFontList    17  /* Mrm font list */
0120 #define MrmRtypeColor       18  /* Mrm color descriptor */
0121 #define MrmRtypeColorTable  19  /* Mrm color table */
0122 #define MrmRtypeAny     20  /* Any is allowed in UID file */
0123 #define MrmRtypeTransTable  21  /* Translation table (ASCIZ string) */
0124 #define MrmRtypeClassRecName    22  /* class record name (ASCIZ string) */
0125 #define MrmRtypeIntegerVector   23  /* a vector of integers */
0126 #define MrmRtypeXBitmapFile 24  /* X bitmap file to make pixmap with */
0127 #define MrmRtypeCountedVector   25  /* vector with associated count */
0128 #define MrmRtypeKeysym      26  /* X keysym data type */
0129 #define MrmRtypeSingleFloat 27  /* single float data type */
0130 #define MrmRtypeWideCharacter   28  /* wide_character string type */
0131 #define MrmRtypeFontSet     29
0132 #define MrmRtypeHorizontalInteger 30
0133 #define MrmRtypeVerticalInteger   31
0134 #define MrmRtypeHorizontalFloat   32
0135 #define MrmRtypeVerticalFloat     33
0136 #define MrmRtypeMax     33
0137 
0138 
0139 
0140 /*
0141  * MRM typedefs
0142  */
0143 
0144 /*
0145  * MRM primitive types
0146  */
0147 typedef short int       MrmCode;  /* Used for codes, e.g. Mrmcr... */
0148 typedef unsigned char       MrmSCode; /* Short code for small ranges */
0149 typedef unsigned short int  MrmOffset;/* Used for offsets in records */
0150 typedef short int       MrmType;  /* Used for types, e.g. MrmrType... */
0151 typedef unsigned short int  MrmSize;  /* For size fields */
0152 typedef short int       MrmCount; /* For counter fields */
0153 typedef unsigned char       MrmFlag;  /* flag fields */
0154 typedef long int        MrmResource_id; /* Resource id in portable IDB files */
0155 typedef short int       MrmGroup; /* For Mrm resource groups */
0156 
0157 #define MrmMaxResourceSize  65535   /* (2)16 - 1 */ 
0158 
0159 
0160 /*
0161  * Operating System specific parameter struct.  Passed to low level
0162  * file OPEN.
0163  */
0164 #define MrmOsOpenParamVersion 1
0165 typedef struct  {
0166 /*
0167  * The version of this structure. Set to MrmOsOpenParamVersion
0168  */
0169     Cardinal        version; 
0170 /*
0171  * The default name, for systems which can use it
0172  */
0173     char            *default_fname; 
0174 /*
0175  * The related name, for systems which can use it
0176  * Flag for file clobber (1 means OK to clobber)
0177  */
0178     union {
0179         unsigned long   related_nam; 
0180         Boolean     clobber_flg; 
0181     } nam_flg;
0182 
0183 /*
0184  * The display, for which the user wants us to open
0185  * this hierarchy on. Used for the LANG variable.
0186  */
0187     Display         *display;
0188 
0189 } MrmOsOpenParam, *MrmOsOpenParamPtr ;
0190 
0191 /*
0192  * The opaque result of opening a Mrm hierarchy.
0193  */
0194 typedef struct MrmHierarchyDescStruct *MrmHierarchy;
0195 
0196 
0197 
0198 /*
0199  * Structure used to pass name/value pairs to MrmRegisterNames
0200  */
0201 typedef struct {
0202     String      name ;      /* case-sensitive name */
0203     XtPointer   value ;     /* value/address associated with name */
0204 } MRMRegisterArg, MrmRegisterArg, *MrmRegisterArglist ;
0205 
0206 /*
0207  * Code for unknown (user-defined) classes. 
0208  */
0209 #define URMwcUnknown    1
0210 
0211 
0212 /*
0213  * Declarations of Mrm public entry points
0214  */
0215 #include <Mrm/MrmDecls.h>
0216 
0217 #endif /* MrmPublic */
0218 /* DON'T ADD STUFF AFTER THIS #endif */