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

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