|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T t
Length: 41571 (0xa263) Types: TextFile Names: »table11.c«
└─⟦8648bda34⟧ Bits:30007244 EUUGD5_II: X11R5 └─⟦b23e377d7⟧ »./contrib-2/contrib-2.00« └─⟦0ed22c3ba⟧ └─⟦this⟧ »contrib/lib/Xpex/clients/Xpex/pexscope/table11.c«
/* $Header: table11.c,v 2.2 91/09/11 15:52:40 sinyaw Exp $ */ #ifndef lint static char sccsid[] = "@(#)table11.c 1.3 90/04/05 MIT/SMI"; #endif /*********************************************************** Copyright 1990 by Sun Microsystems, Inc. and the X Consortium. All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the names of Sun Microsystems, the X Consortium, and MIT not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ******************************************************************/ /* ************************************************** * * * * Table initialization for X11 protocol * * * * James Peterson, 1988 * * (c) Copyright MCC, 1988 * * * * ************************************************** */ #include "scope.h" #include "x11.h" /* To initialize for the X11 protocol, we need to create data structures describing the data types used by X11. */ /* There are about 100-128 data types for X11. This start with the simple INT8, INT16, INT32 (byte, short, long), and the CARD8, CARD16, CARD32 (unsigned) and extend to records like RGB (a resource id, 3 color values and a bitmask to select a subset of the 3 color values). Each data type has an assigned type index. The type index identifies the type (with a #define in x11.h) and is used to access an entry in an array of type descriptors (TD). Each type descriptor has the type name, the kind of type, and a procedure to print an object of that type. The print procedure for a type <foo> is named Print<foo>. The kind of type is BUILTIN: one of the primitive types. ENUMERATED: value should be one of a small set of values. This type needs a list of allowed values (and their print names). SET: value is a bitmask of a small set of values. Each value is a one-bit mask (and its print name). RECORD: value is a record of fields of other types. The Type Descriptor array allows us to print a value if we know its type (index) and the bytes in memory that are its value. */ InitializeX11() { InitReplyQ(); InitBuiltInTypes(); InitEnumeratedTypes(); InitSetTypes(); InitValuesTypes(); InitRecordTypes(); } /* ************************************************************ */ /* */ /* */ /* ************************************************************ */ /* define the various types */ TYPE DefineType(typeid, class, name, printproc) short typeid; short class; char *name; int (*printproc)(); { TD[typeid].Name = name; TD[typeid].Type = class; TD[typeid].ValueList = NULL; TD[typeid].PrintProc = printproc; return(&TD[typeid]); } /* ************************************************************ */ /* define an Enumerated Value (or a Set Value) */ DefineEValue(type, value, name) TYPE type; long value; char *name; { struct ValueListEntry *p; /* define the new value */ p = (struct ValueListEntry *) Malloc ((long)(sizeof (struct ValueListEntry))); p->Name = name; p->Value = value; /* add an new value to the list. */ if (type->ValueList == NULL || type->ValueList->Value > p->Value) { p->Next = type->ValueList; type->ValueList = p; } else { /* keep the list sorted, smallest to largest */ struct ValueListEntry *q = type->ValueList; while (q->Next != NULL && q->Next->Value < p->Value) q = q->Next; p->Next = q->Next; q->Next = p; } } /* ************************************************************ */ /* a Values list is like an enumerated Value, but has a type and length in addition to a value and name. It is used to print a Values List */ /* A Values List is a bitmask (like a set), but if the bit is set on, then we have an associated value. We need to know the length and type of the associated value for each bit */ DefineValues(type, value, length, ctype, name) TYPE type; long value; char *name; { struct ValueListEntry *p; p = (struct ValueListEntry *) Malloc ((long)(sizeof (struct ValueListEntry))); p->Name = name; p->Type = ctype; p->Length = length; p->Value = value; /* add an new value to the list. */ if (type->ValueList == NULL || type->ValueList->Value > p->Value) { p->Next = type->ValueList; type->ValueList = p; } else { /* keep the list sorted, smallest to largest */ struct ValueListEntry *q = type->ValueList; while (q->Next != NULL && q->Next->Value < p->Value) q = q->Next; p->Next = q->Next; q->Next = p; } } /* ************************************************************ */ InitBuiltInTypes() { (void) DefineType(INT8, BUILTIN, "INT8", PrintINT8); (void) DefineType(INT16, BUILTIN, "INT16", PrintINT16); (void) DefineType(INT32, BUILTIN, "INT32", PrintINT32); (void) DefineType(CARD8, BUILTIN, "CARD8", PrintCARD8); (void) DefineType(CARD16, BUILTIN, "CARD16", PrintCARD16); (void) DefineType(CARD32, BUILTIN, "CARD32", PrintCARD32); (void) DefineType(BYTE, BUILTIN, "BYTE", PrintBYTE); (void) DefineType(CHAR8, BUILTIN, "CHAR8", PrintCHAR8); (void) DefineType(STRING16, BUILTIN, "STRING16", PrintSTRING16); (void) DefineType(STR, BUILTIN, "STR", PrintSTR); (void) DefineType(WINDOW, BUILTIN, "WINDOW", PrintWINDOW); (void) DefineType(WINDOWD, BUILTIN, "WINDOWD", PrintWINDOWD); (void) DefineType(WINDOWNR, BUILTIN, "WINDOWNR", PrintWINDOWNR); (void) DefineType(PIXMAP, BUILTIN, "PIXMAP", PrintPIXMAP); (void) DefineType(PIXMAPNPR, BUILTIN, "PIXMAPNPR", PrintPIXMAPNPR); (void) DefineType(PIXMAPC, BUILTIN, "PIXMAPC", PrintPIXMAPC); (void) DefineType(CURSOR, BUILTIN, "CURSOR", PrintCURSOR); (void) DefineType(FONT, BUILTIN, "FONT", PrintFONT); (void) DefineType(GCONTEXT, BUILTIN, "GCONTEXT", PrintGCONTEXT); (void) DefineType(COLORMAP, BUILTIN, "COLORMAP", PrintCOLORMAP); (void) DefineType(COLORMAPC, BUILTIN, "COLORMAPC", PrintCOLORMAPC); (void) DefineType(DRAWABLE, BUILTIN, "DRAWABLE", PrintDRAWABLE); (void) DefineType(FONTABLE, BUILTIN, "FONTABLE", PrintFONTABLE); (void) DefineType(ATOM, BUILTIN, "ATOM", PrintATOM); (void) DefineType(ATOMT, BUILTIN, "ATOMT", PrintATOMT); (void) DefineType(VISUALID, BUILTIN, "VISUALID", PrintVISUALID); (void) DefineType(VISUALIDC, BUILTIN, "VISUALIDC", PrintVISUALIDC); (void) DefineType(TIMESTAMP, BUILTIN, "TIMESTAMP", PrintTIMESTAMP); (void) DefineType(RESOURCEID, BUILTIN, "RESOURCEID", PrintRESOURCEID); (void) DefineType(KEYSYM, BUILTIN, "KEYSYM", PrintKEYSYM); (void) DefineType(KEYCODE, BUILTIN, "KEYCODE", PrintKEYCODE); (void) DefineType(KEYCODEA, BUILTIN, "KEYCODEA", PrintKEYCODEA); (void) DefineType(BUTTON, BUILTIN, "BUTTON", PrintBUTTON); (void) DefineType(BUTTONA, BUILTIN, "BUTTONA", PrintBUTTONA); (void) DefineType(EVENTFORM, BUILTIN, "EVENTFORM", PrintEVENTFORM); } /* ************************************************************ */ /* */ /* */ /* ************************************************************ */ InitEnumeratedTypes() { TYPE p; p = DefineType(REQUEST, ENUMERATED, "REQUEST", PrintENUMERATED); DefineEValue(p, 1L, "CreateWindow"); DefineEValue(p, 2L, "ChangeWindowAttributes"); DefineEValue(p, 3L, "GetWindowAttributes"); DefineEValue(p, 4L, "DestroyWindow"); DefineEValue(p, 5L, "DestroySubwindows"); DefineEValue(p, 6L, "ChangeSaveSet"); DefineEValue(p, 7L, "ReparentWindow"); DefineEValue(p, 8L, "MapWindow"); DefineEValue(p, 9L, "MapSubwindows"); DefineEValue(p, 10L, "UnmapWindow"); DefineEValue(p, 11L, "UnmapSubwindows"); DefineEValue(p, 12L, "ConfigureWindow"); DefineEValue(p, 13L, "CirculateWindow"); DefineEValue(p, 14L, "GetGeometry"); DefineEValue(p, 15L, "QueryTree"); DefineEValue(p, 16L, "InternAtom"); DefineEValue(p, 17L, "GetAtomName"); DefineEValue(p, 18L, "ChangeProperty"); DefineEValue(p, 19L, "DeleteProperty"); DefineEValue(p, 20L, "GetProperty"); DefineEValue(p, 21L, "ListProperties"); DefineEValue(p, 22L, "SetSelectionOwner"); DefineEValue(p, 23L, "GetSelectionOwner"); DefineEValue(p, 24L, "ConvertSelection"); DefineEValue(p, 25L, "SendEvent"); DefineEValue(p, 26L, "GrabPointer"); DefineEValue(p, 27L, "UngrabPointer"); DefineEValue(p, 28L, "GrabButton"); DefineEValue(p, 29L, "UngrabButton"); DefineEValue(p, 30L, "ChangeActivePointerGrab"); DefineEValue(p, 31L, "GrabKeyboard"); DefineEValue(p, 32L, "UngrabKeyboard"); DefineEValue(p, 33L, "GrabKey"); DefineEValue(p, 34L, "UngrabKey"); DefineEValue(p, 35L, "AllowEvents"); DefineEValue(p, 36L, "GrabServer"); DefineEValue(p, 37L, "UngrabServer"); DefineEValue(p, 38L, "QueryPointer"); DefineEValue(p, 39L, "GetMotionEvents"); DefineEValue(p, 40L, "TranslateCoordinates"); DefineEValue(p, 41L, "WarpPointer"); DefineEValue(p, 42L, "SetInputFocus"); DefineEValue(p, 43L, "GetInputFocus"); DefineEValue(p, 44L, "QueryKeymap"); DefineEValue(p, 45L, "OpenFont"); DefineEValue(p, 46L, "CloseFont"); DefineEValue(p, 47L, "QueryFont"); DefineEValue(p, 48L, "QueryTextExtents"); DefineEValue(p, 49L, "ListFonts"); DefineEValue(p, 50L, "ListFontsWithInfo"); DefineEValue(p, 51L, "SetFontPath"); DefineEValue(p, 52L, "GetFontPath"); DefineEValue(p, 53L, "CreatePixmap"); DefineEValue(p, 54L, "FreePixmap"); DefineEValue(p, 55L, "CreateGC"); DefineEValue(p, 56L, "ChangeGC"); DefineEValue(p, 57L, "CopyGC"); DefineEValue(p, 58L, "SetDashes"); DefineEValue(p, 59L, "SetClipRectangles"); DefineEValue(p, 60L, "FreeGC"); DefineEValue(p, 61L, "ClearArea"); DefineEValue(p, 62L, "CopyArea"); DefineEValue(p, 63L, "CopyPlane"); DefineEValue(p, 64L, "PolyPoint"); DefineEValue(p, 65L, "PolyLine"); DefineEValue(p, 66L, "PolySegment"); DefineEValue(p, 67L, "PolyRectangle"); DefineEValue(p, 68L, "PolyArc"); DefineEValue(p, 69L, "FillPoly"); DefineEValue(p, 70L, "PolyFillRectangle"); DefineEValue(p, 71L, "PolyFillArc"); DefineEValue(p, 72L, "PutImage"); DefineEValue(p, 73L, "GetImage"); DefineEValue(p, 74L, "PolyText8"); DefineEValue(p, 75L, "PolyText16"); DefineEValue(p, 76L, "ImageText8"); DefineEValue(p, 77L, "ImageText16"); DefineEValue(p, 78L, "CreateColormap"); DefineEValue(p, 79L, "FreeColormap"); DefineEValue(p, 80L, "CopyColormapAndFree"); DefineEValue(p, 81L, "InstallColormap"); DefineEValue(p, 82L, "UninstallColormap"); DefineEValue(p, 83L, "ListInstalledColormaps"); DefineEValue(p, 84L, "AllocColor"); DefineEValue(p, 85L, "AllocNamedColor"); DefineEValue(p, 86L, "AllocColorCells"); DefineEValue(p, 87L, "AllocColorPlanes"); DefineEValue(p, 88L, "FreeColors"); DefineEValue(p, 89L, "StoreColors"); DefineEValue(p, 90L, "StoreNamedColor"); DefineEValue(p, 91L, "QueryColors"); DefineEValue(p, 92L, "LookupColor"); DefineEValue(p, 93L, "CreateCursor"); DefineEValue(p, 94L, "CreateGlyphCursor"); DefineEValue(p, 95L, "FreeCursor"); DefineEValue(p, 96L, "RecolorCursor"); DefineEValue(p, 97L, "QueryBestSize"); DefineEValue(p, 98L, "QueryExtension"); DefineEValue(p, 99L, "ListExtensions"); DefineEValue(p, 100L, "ChangeKeyboardMapping"); DefineEValue(p, 101L, "GetKeyboardMapping"); DefineEValue(p, 102L, "ChangeKeyboardControl"); DefineEValue(p, 103L, "GetKeyboardControl"); DefineEValue(p, 104L, "Bell"); DefineEValue(p, 105L, "ChangePointerControl"); DefineEValue(p, 106L, "GetPointerControl"); DefineEValue(p, 107L, "SetScreenSaver"); DefineEValue(p, 108L, "GetScreenSaver"); DefineEValue(p, 109L, "ChangeHosts"); DefineEValue(p, 110L, "ListHosts"); DefineEValue(p, 111L, "SetAccessControl"); DefineEValue(p, 112L, "SetCloseDownMode"); DefineEValue(p, 113L, "KillClient"); DefineEValue(p, 114L, "RotateProperties"); DefineEValue(p, 115L, "ForceScreenSaver"); DefineEValue(p, 116L, "SetPointerMapping"); DefineEValue(p, 117L, "GetPointerMapping"); DefineEValue(p, 118L, "SetModifierMapping"); DefineEValue(p, 119L, "GetModifierMapping"); DefineEValue(p, 127L, "NoOperation"); p = DefineType(REPLY, ENUMERATED, "REPLY", PrintENUMERATED); DefineEValue(p, 3L, "GetWindowAttributes"); DefineEValue(p, 14L, "GetGeometry"); DefineEValue(p, 15L, "QueryTree"); DefineEValue(p, 16L, "InternAtom"); DefineEValue(p, 17L, "GetAtomName"); DefineEValue(p, 20L, "GetProperty"); DefineEValue(p, 21L, "ListProperties"); DefineEValue(p, 23L, "GetSelectionOwner"); DefineEValue(p, 26L, "GrabPointer"); DefineEValue(p, 31L, "GrabKeyboard"); DefineEValue(p, 38L, "QueryPointer"); DefineEValue(p, 39L, "GetMotionEvents"); DefineEValue(p, 40L, "TranslateCoordinates"); DefineEValue(p, 43L, "GetInputFocus"); DefineEValue(p, 44L, "QueryKeymap"); DefineEValue(p, 47L, "QueryFont"); DefineEValue(p, 48L, "QueryTextExtents"); DefineEValue(p, 49L, "ListFonts"); DefineEValue(p, 50L, "ListFontsWithInfo"); DefineEValue(p, 52L, "GetFontPath"); DefineEValue(p, 73L, "GetImage"); DefineEValue(p, 83L, "ListInstalledColormaps"); DefineEValue(p, 84L, "AllocColor"); DefineEValue(p, 85L, "AllocNamedColor"); DefineEValue(p, 86L, "AllocColorCells"); DefineEValue(p, 87L, "AllocColorPlanes"); DefineEValue(p, 91L, "QueryColors"); DefineEValue(p, 92L, "LookupColor"); DefineEValue(p, 97L, "QueryBestSize"); DefineEValue(p, 98L, "QueryExtension"); DefineEValue(p, 99L, "ListExtensions"); DefineEValue(p, 101L, "GetKeyboardMapping"); DefineEValue(p, 103L, "GetKeyboardControl"); DefineEValue(p, 106L, "GetPointerControl"); DefineEValue(p, 108L, "GetScreenSaver"); DefineEValue(p, 110L, "ListHosts"); DefineEValue(p, 116L, "SetPointerMapping"); DefineEValue(p, 117L, "GetPointerMapping"); DefineEValue(p, 118L, "SetModifierMapping"); DefineEValue(p, 119L, "GetModifierMapping"); p = DefineType(ERROR, ENUMERATED, "ERROR", PrintENUMERATED); DefineEValue(p, 1L, "Request"); DefineEValue(p, 2L, "Value"); DefineEValue(p, 3L, "Window"); DefineEValue(p, 4L, "Pixmap"); DefineEValue(p, 5L, "Atom"); DefineEValue(p, 6L, "Cursor"); DefineEValue(p, 7L, "Font"); DefineEValue(p, 8L, "Match"); DefineEValue(p, 9L, "Drawable"); DefineEValue(p, 10L, "Access"); DefineEValue(p, 11L, "Alloc"); DefineEValue(p, 12L, "Colormap"); DefineEValue(p, 13L, "GContext"); DefineEValue(p, 14L, "IDChoice"); DefineEValue(p, 15L, "Name"); DefineEValue(p, 16L, "Length"); DefineEValue(p, 17L, "Implementation"); p = DefineType(EVENT, ENUMERATED, "EVENT", PrintENUMERATED); DefineEValue(p, 2L, "KeyPress"); DefineEValue(p, 3L, "KeyRelease"); DefineEValue(p, 4L, "ButtonPress"); DefineEValue(p, 5L, "ButtonRelease"); DefineEValue(p, 6L, "MotionNotify"); DefineEValue(p, 7L, "EnterNotify"); DefineEValue(p, 8L, "LeaveNotify"); DefineEValue(p, 9L, "FocusIn"); DefineEValue(p, 10L, "FocusOut"); DefineEValue(p, 11L, "KeymapNotify"); DefineEValue(p, 12L, "Expose"); DefineEValue(p, 13L, "GraphicsExposure"); DefineEValue(p, 14L, "NoExposure"); DefineEValue(p, 15L, "VisibilityNotify"); DefineEValue(p, 16L, "CreateNotify"); DefineEValue(p, 17L, "DestroyNotify"); DefineEValue(p, 18L, "UnmapNotify"); DefineEValue(p, 19L, "MapNotify"); DefineEValue(p, 20L, "MapRequest"); DefineEValue(p, 21L, "ReparentNotify"); DefineEValue(p, 22L, "ConfigureNotify"); DefineEValue(p, 23L, "ConfigureRequest"); DefineEValue(p, 24L, "GravityNotify"); DefineEValue(p, 25L, "ResizeRequest"); DefineEValue(p, 26L, "CirculateNotify"); DefineEValue(p, 27L, "CirculateRequest"); DefineEValue(p, 28L, "PropertyNotify"); DefineEValue(p, 29L, "SelectionClear"); DefineEValue(p, 30L, "SelectionRequest"); DefineEValue(p, 31L, "SelectionNotify"); DefineEValue(p, 32L, "ColormapNotify"); DefineEValue(p, 33L, "ClientMessage"); DefineEValue(p, 34L, "MappingNotify"); DefineEValue(p, 0x80L | 2L, "KeyPress (from SendEvent)"); DefineEValue(p, 0x80L | 3L, "KeyRelease (from SendEvent)"); DefineEValue(p, 0x80L | 4L, "ButtonPress (from SendEvent)"); DefineEValue(p, 0x80L | 5L, "ButtonRelease (from SendEvent)"); DefineEValue(p, 0x80L | 6L, "MotionNotify (from SendEvent)"); DefineEValue(p, 0x80L | 7L, "EnterNotify (from SendEvent)"); DefineEValue(p, 0x80L | 8L, "LeaveNotify (from SendEvent)"); DefineEValue(p, 0x80L | 9L, "FocusIn (from SendEvent)"); DefineEValue(p, 0x80L | 10L, "FocusOut (from SendEvent)"); DefineEValue(p, 0x80L | 11L, "KeymapNotify (from SendEvent)"); DefineEValue(p, 0x80L | 12L, "Expose (from SendEvent)"); DefineEValue(p, 0x80L | 13L, "GraphicsExposure (from SendEvent)"); DefineEValue(p, 0x80L | 14L, "NoExposure (from SendEvent)"); DefineEValue(p, 0x80L | 15L, "VisibilityNotify (from SendEvent)"); DefineEValue(p, 0x80L | 16L, "CreateNotify (from SendEvent)"); DefineEValue(p, 0x80L | 17L, "DestroyNotify (from SendEvent)"); DefineEValue(p, 0x80L | 18L, "UnmapNotify (from SendEvent)"); DefineEValue(p, 0x80L | 19L, "MapNotify (from SendEvent)"); DefineEValue(p, 0x80L | 20L, "MapRequest (from SendEvent)"); DefineEValue(p, 0x80L | 21L, "ReparentNotify (from SendEvent)"); DefineEValue(p, 0x80L | 22L, "ConfigureNotify (from SendEvent)"); DefineEValue(p, 0x80L | 23L, "ConfigureRequest (from SendEvent)"); DefineEValue(p, 0x80L | 24L, "GravityNotify (from SendEvent)"); DefineEValue(p, 0x80L | 25L, "ResizeRequest (from SendEvent)"); DefineEValue(p, 0x80L | 26L, "CirculateNotify (from SendEvent)"); DefineEValue(p, 0x80L | 27L, "CirculateRequest (from SendEvent)"); DefineEValue(p, 0x80L | 28L, "PropertyNotify (from SendEvent)"); DefineEValue(p, 0x80L | 29L, "SelectionClear (from SendEvent)"); DefineEValue(p, 0x80L | 30L, "SelectionRequest (from SendEvent)"); DefineEValue(p, 0x80L | 31L, "SelectionNotify (from SendEvent)"); DefineEValue(p, 0x80L | 32L, "ColormapNotify (from SendEvent)"); DefineEValue(p, 0x80L | 33L, "ClientMessage (from SendEvent)"); DefineEValue(p, 0x80L | 34L, "MappingNotify (from SendEvent)"); p = DefineType(BITGRAVITY, ENUMERATED, "BITGRAVITY", PrintENUMERATED); DefineEValue(p, 0L, "Forget"); DefineEValue(p, 1L, "NorthWest"); DefineEValue(p, 2L, "North"); DefineEValue(p, 3L, "NorthEast"); DefineEValue(p, 4L, "West"); DefineEValue(p, 5L, "Center"); DefineEValue(p, 6L, "East"); DefineEValue(p, 7L, "SouthWest"); DefineEValue(p, 8L, "South"); DefineEValue(p, 9L, "SouthEast"); DefineEValue(p, 10L, "Static"); p = DefineType(WINGRAVITY, ENUMERATED, "WINGRAVITY", PrintENUMERATED); DefineEValue(p, 0L, "Unmap"); DefineEValue(p, 1L, "NorthWest"); DefineEValue(p, 2L, "North"); DefineEValue(p, 3L, "NorthEast"); DefineEValue(p, 4L, "West"); DefineEValue(p, 5L, "Center"); DefineEValue(p, 6L, "East"); DefineEValue(p, 7L, "SouthWest"); DefineEValue(p, 8L, "South"); DefineEValue(p, 9L, "SouthEast"); DefineEValue(p, 10L, "Static"); p = DefineType(BOOL, ENUMERATED, "BOOL", PrintENUMERATED); DefineEValue(p, 0L, "False"); DefineEValue(p, 1L, "True"); p = DefineType(HOSTFAMILY, ENUMERATED, "HOSTFAMILY", PrintENUMERATED); DefineEValue(p, 0L, "Internet"); DefineEValue(p, 1L, "DECnet"); DefineEValue(p, 2L, "Chaos"); p = DefineType(PK_MODE, ENUMERATED, "PK_MODE", PrintENUMERATED); DefineEValue(p, 0L, "Synchronous"); DefineEValue(p, 1L, "Asynchronous"); p = DefineType(NO_YES, ENUMERATED, "NO_YES", PrintENUMERATED); DefineEValue(p, 0L, "No"); DefineEValue(p, 1L, "Yes"); DefineEValue(p, 2L, "Default"); p = DefineType(WINDOWCLASS, ENUMERATED, "WINDOWCLASS", PrintENUMERATED); DefineEValue(p, 0L, "CopyFromParent"); DefineEValue(p, 1L, "InputOutput"); DefineEValue(p, 2L, "InputOnly"); p = DefineType(BACKSTORE, ENUMERATED, "BACKSTORE", PrintENUMERATED); DefineEValue(p, 0L, "NotUseful"); DefineEValue(p, 1L, "WhenMapped"); DefineEValue(p, 2L, "Always"); p = DefineType(MAPSTATE, ENUMERATED, "MAPSTATE", PrintENUMERATED); DefineEValue(p, 0L, "Unmapped"); DefineEValue(p, 1L, "Unviewable"); DefineEValue(p, 2L, "Viewable"); p = DefineType(STACKMODE, ENUMERATED, "STACKMODE", PrintENUMERATED); DefineEValue(p, 0L, "Above"); DefineEValue(p, 1L, "Below"); DefineEValue(p, 2L, "TopIf"); DefineEValue(p, 3L, "BottomIf"); DefineEValue(p, 4L, "Opposite"); p = DefineType(CIRMODE, ENUMERATED, "CIRMODE", PrintENUMERATED); DefineEValue(p, 0L, "RaiseLowest"); DefineEValue(p, 1L, "LowerHighest"); p = DefineType(CHANGEMODE, ENUMERATED, "CHANGEMODE", PrintENUMERATED); DefineEValue(p, 0L, "Replace"); DefineEValue(p, 1L, "Prepend"); DefineEValue(p, 2L, "Append"); p = DefineType(GRABSTAT, ENUMERATED, "GRABSTAT", PrintENUMERATED); DefineEValue(p, 0L, "Success"); DefineEValue(p, 1L, "AlreadyGrabbed"); DefineEValue(p, 2L, "InvalidTime"); DefineEValue(p, 3L, "NotViewable"); DefineEValue(p, 4L, "Frozen"); p = DefineType(EVENTMODE, ENUMERATED, "EVENTMODE", PrintENUMERATED); DefineEValue(p, 0L, "AsyncPointer"); DefineEValue(p, 1L, "SyncPointer"); DefineEValue(p, 2L, "ReplayPointer"); DefineEValue(p, 3L, "AsyncKeyboard"); DefineEValue(p, 4L, "SyncKeyboard"); DefineEValue(p, 5L, "ReplayKeyboard"); DefineEValue(p, 6L, "AsyncBoth"); DefineEValue(p, 7L, "SyncBoth"); p = DefineType(FOCUSAGENT, ENUMERATED, "FOCUSAGENT", PrintENUMERATED); DefineEValue(p, 0L, "None"); DefineEValue(p, 1L, "PointerRoot"); DefineEValue(p, 2L, "Parent"); p = DefineType(DIRECT, ENUMERATED, "DIRECT", PrintENUMERATED); DefineEValue(p, 0L, "LeftToRight"); DefineEValue(p, 1L, "RightToLeft"); p = DefineType(GCFUNC, ENUMERATED, "GCFUNC", PrintENUMERATED); DefineEValue(p, 0L, "Clear"); DefineEValue(p, 1L, "And"); DefineEValue(p, 2L, "AndReverse"); DefineEValue(p, 3L, "Copy"); DefineEValue(p, 4L, "AndInverted"); DefineEValue(p, 5L, "Noop"); DefineEValue(p, 6L, "Xor"); DefineEValue(p, 7L, "Or"); DefineEValue(p, 8L, "Nor"); DefineEValue(p, 9L, "Equiv"); DefineEValue(p, 10L, "Invert"); DefineEValue(p, 11L, "OrReverse"); DefineEValue(p, 12L, "CopyInverted"); DefineEValue(p, 13L, "OrInverted"); DefineEValue(p, 14L, "Nand"); DefineEValue(p, 15L, "Set"); p = DefineType(LINESTYLE, ENUMERATED, "LINESTYLE", PrintENUMERATED); DefineEValue(p, 0L, "Solid"); DefineEValue(p, 1L, "OnOffDash"); DefineEValue(p, 2L, "DoubleDash"); p = DefineType(CAPSTYLE, ENUMERATED, "CAPSTYLE", PrintENUMERATED); DefineEValue(p, 0L, "NotLast"); DefineEValue(p, 1L, "Butt"); DefineEValue(p, 2L, "Round"); DefineEValue(p, 3L, "Projecting"); p = DefineType(JOINSTYLE, ENUMERATED, "JOINSTYLE", PrintENUMERATED); DefineEValue(p, 0L, "Miter"); DefineEValue(p, 1L, "Round"); DefineEValue(p, 2L, "Bevel"); p = DefineType(FILLSTYLE, ENUMERATED, "FILLSTYLE", PrintENUMERATED); DefineEValue(p, 0L, "Solid"); DefineEValue(p, 1L, "Tiled"); DefineEValue(p, 2L, "Stippled"); DefineEValue(p, 3L, "OpaqueStippled"); p = DefineType(FILLRULE, ENUMERATED, "FILLRULE", PrintENUMERATED); DefineEValue(p, 0L, "EvenOdd"); DefineEValue(p, 1L, "Winding"); p = DefineType(SUBWINMODE, ENUMERATED, "SUBWINMODE", PrintENUMERATED); DefineEValue(p, 0L, "ClipByChildren"); DefineEValue(p, 1L, "IncludeInferiors"); p = DefineType(ARCMODE, ENUMERATED, "ARCMODE", PrintENUMERATED); DefineEValue(p, 0L, "Chord"); DefineEValue(p, 1L, "PieSlice"); p = DefineType(RECTORDER, ENUMERATED, "RECTORDER", PrintENUMERATED); DefineEValue(p, 0L, "UnSorted"); DefineEValue(p, 1L, "YSorted"); DefineEValue(p, 2L, "YXSorted"); DefineEValue(p, 3L, "YXBanded"); p = DefineType(COORMODE, ENUMERATED, "COORMODE", PrintENUMERATED); DefineEValue(p, 0L, "Origin"); DefineEValue(p, 1L, "Previous"); p = DefineType(POLYSHAPE, ENUMERATED, "POLYSHAPE", PrintENUMERATED); DefineEValue(p, 0L, "Complex"); DefineEValue(p, 1L, "Nonconvex"); DefineEValue(p, 2L, "Convex"); p = DefineType(IMAGEMODE, ENUMERATED, "IMAGEMODE", PrintENUMERATED); DefineEValue(p, 0L, "Bitmap"); DefineEValue(p, 1L, "XYPixmap"); DefineEValue(p, 2L, "ZPixmap"); p = DefineType(ALLORNONE, ENUMERATED, "ALLORNONE", PrintENUMERATED); DefineEValue(p, 0L, "None"); DefineEValue(p, 1L, "All"); p = DefineType(OBJECTCLASS, ENUMERATED, "OBJECTCLASS", PrintENUMERATED); DefineEValue(p, 0L, "Cursor"); DefineEValue(p, 1L, "Tile"); DefineEValue(p, 2L, "Stipple"); p = DefineType(OFF_ON, ENUMERATED, "OFF_ON", PrintENUMERATED); DefineEValue(p, 0L, "Off"); DefineEValue(p, 1L, "On"); DefineEValue(p, 2L, "Default"); p = DefineType(INS_DEL, ENUMERATED, "INS_DEL", PrintENUMERATED); DefineEValue(p, 0L, "Insert"); DefineEValue(p, 1L, "Delete"); p = DefineType(DIS_EN, ENUMERATED, "DIS_EN", PrintENUMERATED); DefineEValue(p, 0L, "Disabled"); DefineEValue(p, 1L, "Enabled"); p = DefineType(CLOSEMODE, ENUMERATED, "CLOSEMODE", PrintENUMERATED); DefineEValue(p, 0L, "Destroy"); DefineEValue(p, 1L, "RetainPermanent"); DefineEValue(p, 2L, "RetainTemporary"); p = DefineType(SAVEMODE, ENUMERATED, "SAVEMODE", PrintENUMERATED); DefineEValue(p, 0L, "Reset"); DefineEValue(p, 1L, "Activate"); p = DefineType(RSTATUS, ENUMERATED, "RSTATUS", PrintENUMERATED); DefineEValue(p, 0L, "Success"); DefineEValue(p, 1L, "Busy"); DefineEValue(p, 2L, "Failed"); p = DefineType(MOTIONDETAIL, ENUMERATED, "MOTIONDETAIL", PrintENUMERATED); DefineEValue(p, 0L, "Normal"); DefineEValue(p, 1L, "Hint"); p = DefineType(ENTERDETAIL, ENUMERATED, "ENTERDETAIL", PrintENUMERATED); DefineEValue(p, 0L, "Ancestor"); DefineEValue(p, 1L, "Virtual"); DefineEValue(p, 2L, "Inferior"); DefineEValue(p, 3L, "Nonlinear"); DefineEValue(p, 4L, "NonlinearVirtual"); DefineEValue(p, 5L, "Pointer"); DefineEValue(p, 6L, "PointerRoot"); DefineEValue(p, 7L, "None"); p = DefineType(BUTTONMODE, ENUMERATED, "BUTTONMODE", PrintENUMERATED); DefineEValue(p, 0L, "Normal"); DefineEValue(p, 1L, "Grab"); DefineEValue(p, 2L, "Ungrab"); DefineEValue(p, 3L, "WhileGrabbed"); p = DefineType(VISIBLE, ENUMERATED, "VISIBLE", PrintENUMERATED); DefineEValue(p, 0L, "Unobscured"); DefineEValue(p, 1L, "PartiallyObscured"); DefineEValue(p, 2L, "FullyObscured"); p = DefineType(CIRSTAT, ENUMERATED, "CIRSTAT", PrintENUMERATED); DefineEValue(p, 0L, "Top"); DefineEValue(p, 1L, "Bottom"); p = DefineType(PROPCHANGE, ENUMERATED, "PROPCHANGE", PrintENUMERATED); DefineEValue(p, 0L, "NewValue"); DefineEValue(p, 1L, "Deleted"); p = DefineType(CMAPCHANGE, ENUMERATED, "CMAPCHANGE", PrintENUMERATED); DefineEValue(p, 0L, "Uninstalled"); DefineEValue(p, 1L, "Installed"); p = DefineType(MAPOBJECT, ENUMERATED, "MAPOBJECT", PrintENUMERATED); DefineEValue(p, 0L, "Modifier"); DefineEValue(p, 1L, "Keyboard"); DefineEValue(p, 2L, "Pointer"); p = DefineType(BYTEMODE, ENUMERATED, "BYTEMODE", PrintENUMERATED); DefineEValue(p, 0x42L, "MSB first"); DefineEValue(p, 0x6CL, "LSB first"); p = DefineType(BYTEORDER, ENUMERATED, "BYTEORDER", PrintENUMERATED); DefineEValue(p, 0L, "LSB first"); DefineEValue(p, 1L, "MSB first"); p = DefineType(COLORCLASS, ENUMERATED, "COLORCLASS", PrintENUMERATED); DefineEValue(p, 0L, "StaticGray"); DefineEValue(p, 1L, "GrayScale"); DefineEValue(p, 2L, "StaticColor"); DefineEValue(p, 3L, "PseudoColor"); DefineEValue(p, 4L, "TrueColor"); DefineEValue(p, 5L, "DirectColor"); } /* ************************************************************ */ /* */ /* */ /* ************************************************************ */ InitSetTypes() { TYPE p; p = DefineType(SETofEVENT, SET, "SETofEVENT", PrintSET); DefineEValue(p, 0x00000001L, "KeyPress"); DefineEValue(p, 0x00000002L, "KeyRelease"); DefineEValue(p, 0x00000004L, "ButtonPress"); DefineEValue(p, 0x00000008L, "ButtonRelease"); DefineEValue(p, 0x00000010L, "EnterWindow"); DefineEValue(p, 0x00000020L, "LeaveWindow"); DefineEValue(p, 0x00000040L, "PointerMotion"); DefineEValue(p, 0x00000080L, "PointerMotionHint"); DefineEValue(p, 0x00000100L, "Button1Motion"); DefineEValue(p, 0x00000200L, "Button2Motion"); DefineEValue(p, 0x00000400L, "Button3Motion"); DefineEValue(p, 0x00000800L, "Button4Motion"); DefineEValue(p, 0x00001000L, "Button5Motion"); DefineEValue(p, 0x00002000L, "ButtonMotion"); DefineEValue(p, 0x00004000L, "KeymapState"); DefineEValue(p, 0x00008000L, "Exposure"); DefineEValue(p, 0x00010000L, "VisibilityChange"); DefineEValue(p, 0x00020000L, "StructureNotify"); DefineEValue(p, 0x00040000L, "ResizeRedirect"); DefineEValue(p, 0x00080000L, "SubstructureNotify"); DefineEValue(p, 0x00100000L, "SubstructureRedirect"); DefineEValue(p, 0x00200000L, "FocusChange"); DefineEValue(p, 0x00400000L, "PropertyChange"); DefineEValue(p, 0x00800000L, "ColormapChange"); DefineEValue(p, 0x01000000L, "OwnerGrabButton"); p = DefineType(SETofPOINTEREVENT, SET, "SETofPOINTEREVENT", PrintSET); DefineEValue(p, 0x00000004L, "ButtonPress"); DefineEValue(p, 0x00000008L, "ButtonRelease"); DefineEValue(p, 0x00000010L, "EnterWindow"); DefineEValue(p, 0x00000020L, "LeaveWindow"); DefineEValue(p, 0x00000040L, "PointerMotion"); DefineEValue(p, 0x00000080L, "PointerMotionHint"); DefineEValue(p, 0x00000100L, "Button1Motion"); DefineEValue(p, 0x00000200L, "Button2Motion"); DefineEValue(p, 0x00000400L, "Button3Motion"); DefineEValue(p, 0x00000800L, "Button4Motion"); DefineEValue(p, 0x00001000L, "Button5Motion"); DefineEValue(p, 0x00002000L, "ButtonMotion"); DefineEValue(p, 0x00004000L, "KeymapState"); p = DefineType(SETofDEVICEEVENT, SET, "SETofDEVICEEVENT", PrintSET); DefineEValue(p, 0x00000001L, "KeyPress"); DefineEValue(p, 0x00000002L, "KeyRelease"); DefineEValue(p, 0x00000004L, "ButtonPress"); DefineEValue(p, 0x00000008L, "ButtonRelease"); DefineEValue(p, 0x00000040L, "PointerMotion"); DefineEValue(p, 0x00000100L, "Button1Motion"); DefineEValue(p, 0x00000200L, "Button2Motion"); DefineEValue(p, 0x00000400L, "Button3Motion"); DefineEValue(p, 0x00000800L, "Button4Motion"); DefineEValue(p, 0x00001000L, "Button5Motion"); DefineEValue(p, 0x00002000L, "ButtonMotion"); p = DefineType(SETofKEYBUTMASK, SET, "SETofKEYBUTMASK", PrintSET); DefineEValue(p, 0x0001L, "Shift"); DefineEValue(p, 0x0002L, "Lock"); DefineEValue(p, 0x0004L, "Control"); DefineEValue(p, 0x0008L, "Mod1"); DefineEValue(p, 0x0010L, "Mod2"); DefineEValue(p, 0x0020L, "Mod3"); DefineEValue(p, 0x0040L, "Mod4"); DefineEValue(p, 0x0080L, "Mod5"); DefineEValue(p, 0x0100L, "Button1"); DefineEValue(p, 0x0200L, "Button2"); DefineEValue(p, 0x0400L, "Button3"); DefineEValue(p, 0x0800L, "Button4"); DefineEValue(p, 0x1000L, "Button5"); p = DefineType(SETofKEYMASK, SET, "SETofKEYMASK", PrintSET); DefineEValue(p, 0x0001L, "Shift"); DefineEValue(p, 0x0002L, "Lock"); DefineEValue(p, 0x0004L, "Control"); DefineEValue(p, 0x0008L, "Mod1"); DefineEValue(p, 0x0010L, "Mod2"); DefineEValue(p, 0x0020L, "Mod3"); DefineEValue(p, 0x0040L, "Mod4"); DefineEValue(p, 0x0080L, "Mod5"); DefineEValue(p, 0x8000L, "AnyModifier"); p = DefineType(COLORMASK, SET, "COLORMASK", PrintSET); DefineEValue(p, 0x01L, "do-red"); DefineEValue(p, 0x02L, "do-green"); DefineEValue(p, 0x04L, "do-blue"); p = DefineType(SCREENFOCUS, SET, "SCREENFOCUS", PrintSET); DefineEValue(p, 0x01L, "focus"); DefineEValue(p, 0x02L, "same-screen"); } /* ************************************************************ */ /* */ /* */ /* ************************************************************ */ /* Print Routines for builtin record types */ PrintCHAR2B(buf) unsigned char *buf; { PrintField(buf, 0, 1, CARD8, "byte1"); PrintField(buf, 1, 1, CARD8, "byte2"); } PrintPOINT(buf) unsigned char *buf; { PrintField(buf, 0, 2, INT16, "x"); PrintField(buf, 2, 2, INT16, "y"); return(4); } PrintRECTANGLE(buf) unsigned char *buf; { PrintField(buf, 0, 2, INT16, "x"); PrintField(buf, 2, 2, INT16, "y"); PrintField(buf, 4, 2, CARD16, "width"); PrintField(buf, 6, 2, CARD16, "height"); return(8); } PrintARC(buf) unsigned char *buf; { PrintField(buf, 0, 2, INT16, "x"); PrintField(buf, 2, 2, INT16, "y"); PrintField(buf, 4, 2, CARD16, "width"); PrintField(buf, 6, 2, CARD16, "height"); PrintField(buf, 8, 2, INT16, "angle1"); PrintField(buf, 10, 2, INT16, "angle2"); return(12); } PrintHOST(buf) unsigned char *buf; { short n; PrintField(buf, 0, 1, HOSTFAMILY, "family"); PrintField(buf, 2, 2, DVALUE2(n), "length of address"); n = IShort(&buf[2]); (void)PrintList(&buf[4], (long)n, BYTE, "address"); return(pad((long)(4 + n))); } PrintTIMECOORD(buf) unsigned char *buf; { PrintField(buf, 0, 4, TIMESTAMP, "time"); PrintField(buf, 4, 2, CARD16, "x"); PrintField(buf, 6, 2, CARD16, "y"); return(8); } PrintFONTPROP(buf) unsigned char *buf; { PrintField(buf, 0, 4, ATOM, "name"); PrintField(buf, 4, 4, INT32, "value"); return(8); } PrintCHARINFO(buf) unsigned char *buf; { PrintField(buf, 0, 2, INT16, "left-side-bearing"); PrintField(buf, 2, 2, INT16, "right-side-bearing"); PrintField(buf, 4, 2, INT16, "character-width"); PrintField(buf, 6, 2, INT16, "ascent"); PrintField(buf, 8, 2, INT16, "descent"); PrintField(buf, 10, 2, CARD16, "attributes"); return(12); } PrintSEGMENT(buf) unsigned char *buf; { PrintField(buf, 0, 2, INT16, "x1"); PrintField(buf, 2, 2, INT16, "y1"); PrintField(buf, 4, 2, INT16, "x2"); PrintField(buf, 6, 2, INT16, "y2"); return(8); } PrintCOLORITEM(buf) unsigned char *buf; { PrintField(buf, 0, 4, CARD32, "pixel"); PrintField(buf, 4, 2, CARD16, "red"); PrintField(buf, 6, 2, CARD16, "green"); PrintField(buf, 8, 2, CARD16, "blue"); PrintField(buf, 10, 1, COLORMASK, "component selector"); return(12); } PrintRGB(buf) unsigned char *buf; { PrintField(buf, 0, 2, CARD16, "red"); PrintField(buf, 2, 2, CARD16, "green"); PrintField(buf, 4, 2, CARD16, "blue"); return(8); } PrintFORMAT(buf) unsigned char *buf; { PrintField(buf, 0, 1, CARD8, "depth"); PrintField(buf, 1, 1, CARD8, "bits-per-pixel"); PrintField(buf, 2, 1, CARD8, "scanline-pad"); return(8); } PrintSCREEN(buf) unsigned char *buf; { short n /* number of elements in List of DEPTH */ ; long m /* length (in bytes) of List of DEPTH */ ; PrintField(buf, 0, 4, WINDOW, "root"); PrintField(buf, 4, 4, COLORMAP, "default-colormap"); PrintField(buf, 8, 4, CARD32, "white-pixel"); PrintField(buf, 12, 4, CARD32, "black-pixel"); PrintField(buf, 16, 4, SETofEVENT, "current-input-masks"); PrintField(buf, 20, 2, CARD16, "width-in-pixels"); PrintField(buf, 22, 2, CARD16, "height-in-pixels"); PrintField(buf, 24, 2, CARD16, "width-in-millimeters"); PrintField(buf, 26, 2, CARD16, "height-in-millimeters"); PrintField(buf, 28, 2, CARD16, "min-installed-maps"); PrintField(buf, 30, 2, CARD16, "max-installed-maps"); PrintField(buf, 32, 4, VISUALID, "root-visual"); PrintField(buf, 36, 1, BACKSTORE, "backing-stores"); PrintField(buf, 37, 1, BOOL, "save-unders"); PrintField(buf, 38, 1, CARD8, "root-depth"); PrintField(buf, 39, 1, CARD8, "number of allowed-depths"); n = IByte(&buf[39]); m = PrintList(&buf[40], (long)n, DEPTH, "allowed-depths"); return(40 + m); } PrintDEPTH(buf) unsigned char *buf; { short n /* number of elements in List of VISUALTYPE */ ; short m /* length (in bytes) of List of VISUALTYPE */ ; PrintField(buf, 0, 1, CARD8, "depth"); PrintField(buf, 2, 2, DVALUE2(n), "number of visuals"); n = IShort(&buf[2]); m = PrintList(&buf[8], (long)n, VISUALTYPE, "visuals"); return(8 + m); } PrintVISUALTYPE(buf) unsigned char *buf; { PrintField(buf, 0, 4, VISUALID, "visual-id"); PrintField(buf, 4, 1, COLORCLASS, "class"); PrintField(buf, 5, 1, CARD8, "bits-per-rgb-value"); PrintField(buf, 6, 2, CARD16, "colormap-entries"); PrintField(buf, 8, 4, CARD32, "red-mask"); PrintField(buf, 12, 4, CARD32, "green-mask"); PrintField(buf, 16, 4, CARD32, "blue-mask"); return(24); } /* ************************************************************ */ InitRecordTypes() { (void) DefineType(CHAR2B, RECORD, "CHAR2B", PrintCHAR2B); (void) DefineType(POINT, RECORD, "POINT", PrintPOINT); (void) DefineType(RECTANGLE, RECORD, "RECTANGLE", PrintRECTANGLE); (void) DefineType(ARC, RECORD, "ARC", PrintARC); (void) DefineType(HOST, RECORD, "HOST", PrintHOST); (void) DefineType(TIMECOORD, RECORD, "TIMECOORD", PrintTIMECOORD); (void) DefineType(FONTPROP, RECORD, "FONTPROP", PrintFONTPROP); (void) DefineType(CHARINFO, RECORD, "CHARINFO", PrintCHARINFO); (void) DefineType(SEGMENT, RECORD, "SEGMENT", PrintSEGMENT); (void) DefineType(COLORITEM, RECORD, "COLORITEM", PrintCOLORITEM); (void) DefineType(RGB, RECORD, "RGB", PrintRGB); (void) DefineType(FORMAT, RECORD, "FORMAT", PrintFORMAT); (void) DefineType(SCREEN, RECORD, "SCREEN", PrintSCREEN); (void) DefineType(DEPTH, RECORD, "DEPTH", PrintDEPTH); (void) DefineType(VISUALTYPE, RECORD, "VISUALTYPE", PrintVISUALTYPE); } /* ************************************************************ */ /* */ /* */ /* ************************************************************ */ InitValuesTypes() { TYPE p; p = DefineType(WINDOW_BITMASK, SET, "WINDOW_BITMASK", PrintSET); DefineValues(p, 0x00000001L, 4, PIXMAPNPR, "background-pixmap"); DefineValues(p, 0x00000002L, 4, CARD32, "background-pixel"); DefineValues(p, 0x00000004L, 4, PIXMAPC, "border-pixmap"); DefineValues(p, 0x00000008L, 4, CARD32, "border-pixel"); DefineValues(p, 0x00000010L, 1, BITGRAVITY, "bit-gravity"); DefineValues(p, 0x00000020L, 1, WINGRAVITY, "win-gravity"); DefineValues(p, 0x00000040L, 1, BACKSTORE, "backing-store"); DefineValues(p, 0x00000080L, 4, CARD32, "backing-planes"); DefineValues(p, 0x00000100L, 4, CARD32, "backing-pixel"); DefineValues(p, 0x00000200L, 1, BOOL, "override-redirect"); DefineValues(p, 0x00000400L, 1, BOOL, "save-under"); DefineValues(p, 0x00000800L, 4, SETofEVENT, "event-mask"); DefineValues(p, 0x00001000L, 4, SETofDEVICEEVENT, "do-not-propagate-mask"); DefineValues(p, 0x00002000L, 4, COLORMAPC, "colormap"); DefineValues(p, 0x00004000L, 4, CURSOR, "cursor"); p = DefineType(CONFIGURE_BITMASK, SET, "CONFIGURE_BITMASK", PrintSET); DefineValues(p, 0x0001L, 2, INT16, "x"); DefineValues(p, 0x0002L, 2, INT16, "y"); DefineValues(p, 0x0004L, 2, CARD16, "width"); DefineValues(p, 0x0008L, 2, CARD16, "height"); DefineValues(p, 0x0010L, 2, CARD16, "border-width"); DefineValues(p, 0x0020L, 4, WINDOW, "sibling"); DefineValues(p, 0x0040L, 1, STACKMODE, "stack-mode"); p = DefineType(GC_BITMASK, SET, "GC_BITMASK", PrintSET); DefineValues(p, 0x00000001L, 1, GCFUNC, "function"); DefineValues(p, 0x00000002L, 4, CARD32, "plane-mask"); DefineValues(p, 0x00000004L, 4, CARD32, "foreground"); DefineValues(p, 0x00000008L, 4, CARD32, "background"); DefineValues(p, 0x00000010L, 2, CARD16, "line-width"); DefineValues(p, 0x00000020L, 1, LINESTYLE, "line-style"); DefineValues(p, 0x00000040L, 1, CAPSTYLE, "cap-style"); DefineValues(p, 0x00000080L, 1, JOINSTYLE, "join-style"); DefineValues(p, 0x00000100L, 1, FILLSTYLE, "fill-style"); DefineValues(p, 0x00000200L, 1, FILLRULE, "fill-rule"); DefineValues(p, 0x00000400L, 4, PIXMAP, "tile"); DefineValues(p, 0x00000800L, 4, PIXMAP, "stipple"); DefineValues(p, 0x00001000L, 2, INT16, "tile-stipple-x-origin"); DefineValues(p, 0x00002000L, 2, INT16, "tile-stipple-y-origin"); DefineValues(p, 0x00004000L, 4, FONT, "font"); DefineValues(p, 0x00008000L, 1, SUBWINMODE, "subwindow-mode"); DefineValues(p, 0x00010000L, 1, BOOL, "graphics-exposures"); DefineValues(p, 0x00020000L, 2, INT16, "clip-x-origin"); DefineValues(p, 0x00040000L, 2, INT16, "clip-y-origin"); DefineValues(p, 0x00080000L, 4, PIXMAP, "clip-mask"); DefineValues(p, 0x00100000L, 2, CARD16, "dash-offset"); DefineValues(p, 0x00200000L, 1, CARD8, "dashes"); DefineValues(p, 0x00400000L, 1, ARCMODE, "arc-mode"); p = DefineType(KEYBOARD_BITMASK, SET, "KEYBOARD_BITMASK", PrintSET); DefineValues(p, 0x0001L, 1, INT8, "key-click-percent"); DefineValues(p, 0x0002L, 1, INT8, "bell-percent"); DefineValues(p, 0x0004L, 2, INT16, "bell-pitch"); DefineValues(p, 0x0008L, 2, INT16, "bell-duration"); DefineValues(p, 0x0010L, 1, CARD8, "led"); DefineValues(p, 0x0020L, 1, OFF_ON, "led-mode"); DefineValues(p, 0x0040L, 1, KEYCODE, "key"); DefineValues(p, 0x0080L, 1, OFF_ON, "auto-repeat-mode"); }