Annotation of researchv9/X11/src/X.V11R1/lib/oldXrm/Xresource.h, revision 1.1.1.1

1.1       root        1: /* $Header: Xresource.h,v 1.1 87/09/11 08:09:41 toddb Exp $ */
                      2: /*
                      3:  *     sccsid: %W%     %G%
                      4:  */
                      5: 
                      6: /*
                      7:  * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
                      8:  * 
                      9:  *                         All Rights Reserved
                     10:  * 
                     11:  * Permission to use, copy, modify, and distribute this software and its 
                     12:  * documentation for any purpose and without fee is hereby granted, 
                     13:  * provided that the above copyright notice appear in all copies and that
                     14:  * both that copyright notice and this permission notice appear in 
                     15:  * supporting documentation, and that the name of Digital Equipment
                     16:  * Corporation not be used in advertising or publicity pertaining to
                     17:  * distribution of the software without specific, written prior permission.  
                     18:  * 
                     19:  * 
                     20:  * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
                     21:  * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
                     22:  * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
                     23:  * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
                     24:  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
                     25:  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
                     26:  * SOFTWARE.
                     27:  */
                     28: 
                     29: #ifndef _Xresource_h
                     30: #define _Xresource_h
                     31: 
                     32: /****************************************************************
                     33:  ****************************************************************
                     34:  ***                                                          ***
                     35:  ***                                                          ***
                     36:  ***          X Resource Manager Intrinsics                   ***
                     37:  ***                                                          ***
                     38:  ***                                                          ***
                     39:  ****************************************************************
                     40:  ****************************************************************/
                     41: 
                     42: 
                     43: 
                     44: /****************************************************************
                     45:  *
                     46:  * Miscellaneous definitions
                     47:  *
                     48:  ****************************************************************/
                     49: 
                     50: #include       <sys/types.h>
                     51: 
                     52: #ifndef NULL
                     53: #define NULL 0
                     54: #endif
                     55: 
                     56: /****************************************************************
                     57:  *
                     58:  * Quark Management
                     59:  *
                     60:  ****************************************************************/
                     61: 
                     62: typedef int     XrmQuark, *XrmQuarkList;
                     63: #define NULLQUARK ((XrmQuark) 0)
                     64: 
                     65: typedef char *XrmAtom;
                     66: #define NULLATOM ((XrmAtom) 0)
                     67: 
                     68: /* find quark for atom, create new quark if none already exists */
                     69: extern XrmQuark XrmAtomToQuark(); /* name */
                     70:     /* XrmAtom name; */
                     71: 
                     72: /* find atom for quark */
                     73: extern XrmAtom XrmQuarkToAtom(); /* quark */
                     74:     /* XrmQuark name; */
                     75: 
                     76: extern XrmQuark XrmUniqueQuark();
                     77: 
                     78: #define XrmAtomsEqual(a1, a2) (strcmp(a1, a2) == 0)
                     79: 
                     80: 
                     81: /****************************************************************
                     82:  *
                     83:  * Quark Lists
                     84:  *
                     85:  ****************************************************************/
                     86: 
                     87: extern void XrmStringToQuarkList(); /* name, quarks */
                     88:     /* char        *name;  */
                     89:     /* XrmQuarkList  quarks; */
                     90: 
                     91: extern XrmQuarkList XrmNewQuarkList();
                     92: 
                     93: extern XrmQuarkList XrmFreeQuarkList(); /* list */
                     94:     /* XrmQuarkList list; */
                     95: 
                     96: extern int XrmQuarkListLength(); /* list */
                     97:     /* XrmQuarkList list   */
                     98: 
                     99: extern XrmQuarkList XrmCopyQuarkList(); /* list */
                    100:     /* XrmQuarkList    list; */
                    101: 
                    102: 
                    103: /****************************************************************
                    104:  *
                    105:  * Name and Class lists.
                    106:  *
                    107:  ****************************************************************/
                    108: 
                    109: /* ||| Should be opaque types */
                    110: 
                    111: typedef XrmQuark     XrmName;
                    112: typedef XrmQuarkList XrmNameList;
                    113: #define XrmNameToAtom(name)            (XrmQuarkToAtom((XrmQuark) (name)))
                    114: #define XrmAtomToName(name)            ((XrmName) XrmAtomToQuark((XrmAtom) (name)))
                    115: #define XrmNameListLength(names)       XrmQuarkListLength((XrmQuarkList)(names))
                    116: #define XrmStringToNameList(str, name) XrmStringToQuarkList(str, (XrmQuarkList)(name))
                    117: #define XrmFreeNameList(name)          XrmFreeQuarkList((XrmQuarkList)(name))
                    118: 
                    119: typedef XrmQuark     XrmClass;
                    120: typedef XrmQuarkList XrmClassList;
                    121: #define XrmClassToAtom(class)          (XrmQuarkToAtom((XrmQuark) (class)))
                    122: #define XrmAtomToClass(class)          ((XrmClass) XrmAtomToQuark((XrmAtom) (class)))
                    123: #define XrmClassListLength(classes)    XrmQuarkListLength((XrmQuarkList)(classes))
                    124: #define XrmStringToClassList(str,class)        XrmStringToQuarkList(str, (XrmQuarkList)(class))
                    125: #define XrmFreeClassList(class)                XrmFreeQuarkList((XrmQuarkList)(class))
                    126: 
                    127: 
                    128: 
                    129: /****************************************************************
                    130:  *
                    131:  * Resource Types and Conversions
                    132:  *
                    133:  ****************************************************************/
                    134: 
                    135: typedef struct {
                    136:     unsigned int       size;
                    137:     caddr_t            addr;
                    138: } XrmValue, *XrmValuePtr;
                    139: 
                    140: typedef        void (*XrmTypeConverter)(); /* from, to */
                    141:     /* XrmValue    from; */
                    142:     /* XrmValue    *to; */
                    143: 
                    144: extern void XrmRegisterTypeConverter(); /*fromType, toType, converter*/
                    145:     /* XrmAtom         fromType, toType; */
                    146:     /* XrmTypeConverter  converter; */
                    147: 
                    148: extern void XrmConvert(); /* dpy, fromType, from, toType, to*/
                    149:     /* Display     *dpy;               */
                    150:     /* XrmAtom       fromType          */
                    151:     /* XrmValue     from;              */
                    152:     /* XrmAtom       toType;           */
                    153:     /* XrmValue     *to;      /* RETURN */
                    154: 
                    155: /****************************************************************
                    156:  *
                    157:  * Resource Manager Functions
                    158:  *
                    159:  ****************************************************************/
                    160: 
                    161: typedef struct _XrmHashBucketRec *XrmHashBucket;
                    162: typedef XrmHashBucket *XrmHashTable;
                    163: typedef XrmHashTable XrmSearchList[];
                    164: 
                    165: extern void XrmInitialize();
                    166: 
                    167: extern void XrmPutResource(); /*quarks, type, val*/
                    168:     /* XrmQuarkList      quarks;     */
                    169:     /* XrmRepresentation type;       */
                    170:     /* XrmValue                val;        */
                    171: 
                    172: extern void XrmGetResource(); /* dpy, names, classes, destType, val*/
                    173:     /* Display         *dpy;       */
                    174:     /* XrmNameList     names;      */
                    175:     /* XrmClassList    classes;    */
                    176:     /* XrmRepresentation destType;   */
                    177:     /* XrmValue                *val;       */
                    178: 
                    179: extern void XrmGetSearchList(); /* names, classes, searchList */
                    180:     /* XrmNameList   names;                */
                    181:     /* XrmClassList  classes;              */
                    182:     /* SearchList   searchList;   /* RETURN */
                    183: 
                    184: extern void XrmGetSearchResource();
                    185: /* dpy, searchList, name, class, type, pVal */
                    186:     /* Display     *dpy;                   */
                    187:     /* SearchList   searchList;                    */
                    188:     /* XrmName       name;                 */
                    189:     /* XrmClass      class;                */
                    190:     /* XrmAtom       type;                 */
                    191:     /* XrmValue     *pVal;        /* RETURN */
                    192: 
                    193: /****************************************************************
                    194:  *
                    195:  * Resource Database Management
                    196:  *
                    197:  ****************************************************************/
                    198: 
                    199: typedef struct         _XrmResourceDataBase *XrmResourceDataBase;
                    200: typedef int            unspecified;
                    201: 
                    202: extern void XrmSetCurrentDataBase(); /* db */
                    203:     /* XrmResourceDataBase db; */
                    204: 
                    205: extern void XrmGetCurrentDataBase(); /* db */
                    206:     /* XrmResourceDataBase *db;    /* RETURN */
                    207: 
                    208: extern void XrmGetDataBase(); /* magicCookie, db*/
                    209:     /* unspecified      magicCookie; /*  *FILE, actually */
                    210:     /* XrmResourceDataBase *db;             /*  RETURN          */
                    211: 
                    212: extern void XrmPutDataBase(); /* magicCookie, db */
                    213:     /* unspecified magicCookie;     /*  *FILE, actually */
                    214:     /* XrmResourceDataBase db;                         */
                    215: 
                    216: extern void XrmMergeDataBases(); /* new, into */
                    217:     /* XrmResourceDataBase new;                    */
                    218:     /* XrmResourceDataBase *into;    /* RETURN */
                    219: 
                    220: 
                    221: 
                    222: 
                    223: /****************************************************************
                    224:  *
                    225:  * Command line option mapping to resource entries
                    226:  *
                    227:  ****************************************************************/
                    228: 
                    229: typedef enum {
                    230:     XrmoptionNoArg,      /* Value is specified in OptionDescRec.value      */
                    231:     XrmoptionIsArg,      /* Value is the option string itself              */
                    232:     XrmoptionStickyArg,  /* Value is characters immediately following option */
                    233:     XrmoptionSepArg,     /* Value is next argument in argv                 */
                    234:     XrmoptionSkipArg,    /* Ignore this option and the next argument in argv */
                    235:     XrmoptionSkipLine    /* Ignore this option and the rest of argv        */
                    236: } XrmOptionKind;
                    237: 
                    238: typedef struct {
                    239:     char       *option;        /* Option abbreviation in argv              */
                    240:     char       *resourceName;  /* Resource name (sans application name)    */
                    241:     XrmOptionKind  argKind;    /* Which style of option it is              */
                    242:     caddr_t     value;         /* Value to provide if XrmoptionStickyArg    */
                    243: } XrmOptionDescRec, *XrmOptionDescList;
                    244: 
                    245: extern void XrmParseCommand(); /* table, prependName, argc, argv */
                    246:     /* XrmOptionDescList   table;                                          */
                    247:     /* int             tableCount;                                         */
                    248:     /* XrmAtom         prependName; (NULLATOM means don't prepend)         */
                    249:     /* int             *argc;                                              */
                    250:     /* char            **argv;                                             */
                    251: 
                    252: 
                    253: /****************************************************************
                    254:  *
                    255:  * Predefined atoms
                    256:  *
                    257:  ****************************************************************/
                    258: 
                    259: /* Representation types */
                    260: 
                    261: #define XrmRBoolean            "Boolean"
                    262: #define XrmRColor              "Color"
                    263: #define XrmRCursor             "Cursor"
                    264: #define XrmRDims               "Dims"
                    265: #define XrmRDisplay            "Display"
                    266: #define XrmRFile               "File"
                    267: #define XrmRFloat              "Float"
                    268: #define XrmRFont               "Font"
                    269: #define XrmRFontStruct         "FontStruct"
                    270: #define XrmRGeometry           "Geometry"
                    271: #define XrmRInt                        "Int"
                    272: #define XrmRPixel              "Pixel"
                    273: #define XrmRPixmap             "Pixmap"
                    274: #define XrmRPointer            "Pointer"
                    275: #define XrmRString             "String"
                    276: #define XrmRWindow             "Window"
                    277: 
                    278: 
                    279: /* Boolean enumeration constants */
                    280: 
                    281: #define XrmEoff                        "off"
                    282: #define XrmEfalse              "false"
                    283: #define XrmEno                 "no"
                    284: 
                    285: #define XrmEon                 "on"
                    286: #define XrmEtrue               "true"
                    287: #define XrmEyes                        "yes"
                    288: 
                    289: 
                    290: 
                    291: 
                    292: #endif _Xresource_h
                    293: /* DON'T ADD STUFF AFTER THIS #endif */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.