|
|
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 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.