From 306057f2475b216fb73686bcb0003355cf88944a Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Thu, 11 Sep 2008 16:45:45 -0700 Subject: Import initial version from James Peterson --- table11.c | 1112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1112 insertions(+) create mode 100644 table11.c (limited to 'table11.c') diff --git a/table11.c b/table11.c new file mode 100644 index 0000000..c527424 --- /dev/null +++ b/table11.c @@ -0,0 +1,1112 @@ +/* ************************************************** * + * * + * Table initialization for X11 protocol * + * * + * James Peterson, 1988 * + * Copyright (C) 1988 MCC + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, 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 name of MCC not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. MCC makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * MCC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL MCC 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. + * * + * ************************************************** */ + +#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 is named Print. 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() +{ + enterprocedure("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() +{ + enterprocedure("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; + + enterprocedure("InitEnumeratedTypes"); + 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; + + enterprocedure("InitSetTypes"); + 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() +{ + enterprocedure("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; + + enterprocedure("InitValueTypes"); + 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"); +} -- cgit v1.2.1