Annotation of researchv9/X11/src/X.V11R1/include/Xproto.h, revision 1.1

1.1     ! root        1: /*
        !             2:  *     $Header: Xproto.h,v 1.73 87/09/03 16:23:10 newman Exp $
        !             3:  */
        !             4: 
        !             5: /* Definitions for the X window system used by server and c bindings */
        !             6: 
        !             7: /*
        !             8:  * This packet-construction scheme makes the following assumptions:
        !             9:  *
        !            10:  * 1. The compiler is able
        !            11:  * to generate code which addresses one- and two-byte quantities.
        !            12:  * In the worst case, this would be done with bit-fields.  If bit-fields
        !            13:  * are used it may be necessary to reorder the request fields in this file,
        !            14:  * depending on the order in which the machine assigns bit fields to
        !            15:  * machine words.  There may also be a problem with sign extension,
        !            16:  * as K+R specify that bitfields are always unsigned.
        !            17:  *
        !            18:  * 2. 2- and 4-byte fields in packet structures must be ordered by hand
        !            19:  * such that they are naturally-aligned, so that no compiler will ever
        !            20:  * insert padding bytes.
        !            21:  *
        !            22:  * 3. All packets are hand-padded to a multiple of 4 bytes, for
        !            23:  * the same reason.
        !            24:  */
        !            25: 
        !            26: #ifndef XPROTO_H
        !            27: #define XPROTO_H
        !            28: 
        !            29: /***********************************************************
        !            30: Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
        !            31: and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
        !            32: 
        !            33:                         All Rights Reserved
        !            34: 
        !            35: Permission to use, copy, modify, and distribute this software and its 
        !            36: documentation for any purpose and without fee is hereby granted, 
        !            37: provided that the above copyright notice appear in all copies and that
        !            38: both that copyright notice and this permission notice appear in 
        !            39: supporting documentation, and that the names of Digital or MIT not be
        !            40: used in advertising or publicity pertaining to distribution of the
        !            41: software without specific, written prior permission.  
        !            42: 
        !            43: DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
        !            44: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
        !            45: DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
        !            46: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
        !            47: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
        !            48: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
        !            49: SOFTWARE.
        !            50: 
        !            51: ******************************************************************/
        !            52: 
        !            53: #include "Xmd.h"  
        !            54: #include "Xprotostr.h"
        !            55: 
        !            56: /* For the purpose of the structure definitions in this file,
        !            57: we must redefine the following types in terms of Xmd.h's types, which may
        !            58: include bit fields.  All of these are #undef'd at the end of this file,
        !            59: restoring the definitions in X.h.  */
        !            60: 
        !            61: #define Window CARD32
        !            62: #define Drawable CARD32
        !            63: #define Font CARD32
        !            64: #define Pixmap CARD32
        !            65: #define Cursor CARD32
        !            66: #define Colormap CARD32
        !            67: #define GContext CARD32
        !            68: #define Atom CARD32
        !            69: #define VisualID CARD32
        !            70: #define Time CARD32
        !            71: #define KeyCode CARD8
        !            72: #define KeySym CARD32
        !            73: 
        !            74: #define X_TCP_PORT 6000     /* add display number */
        !            75: 
        !            76: #define xTrue        1
        !            77: #define xFalse       0
        !            78: 
        !            79: 
        !            80: typedef CARD16 KeyButMask;
        !            81: 
        !            82: /***************** 
        !            83:    connection setup structure.  This is followed by
        !            84:    numRoots xWindowRoot structs.
        !            85: *****************/
        !            86: 
        !            87: typedef struct {
        !            88:     CARD8      byteOrder;
        !            89:     BYTE       pad;
        !            90:     CARD16     majorVersion B16, minorVersion B16;
        !            91:     CARD16     nbytesAuthProto B16;    /* Authorization protocol */
        !            92:     CARD16     nbytesAuthString B16;   /* Authorization string */
        !            93:     CARD16     pad2;
        !            94: } xConnClientPrefix;
        !            95: 
        !            96: typedef struct {
        !            97:     BOOL           success;
        !            98:     BYTE           lengthReason; /*num bytes in string following if failure */
        !            99:     CARD16         majorVersion B16, 
        !           100:                    minorVersion B16;
        !           101:     CARD16         length B16;  /* 1/4 additional bytes in setup info */
        !           102: } xConnSetupPrefix;
        !           103: 
        !           104: 
        !           105: typedef struct {
        !           106:     CARD32         release B32;
        !           107:     CARD32         ridBase B32, 
        !           108:                    ridMask B32;
        !           109:     CARD32         motionBufferSize B32;
        !           110:     CARD16         nbytesVendor B16;  /* number of bytes in vendor string */
        !           111:     CARD16         maxRequestSize B16;
        !           112:     CARD8          numRoots;          /* number of roots structs to follow */
        !           113:     CARD8          numFormats;        /* number of pixmap formats */
        !           114:     CARD8          imageByteOrder;        /* LSBFirst, MSBFirst */
        !           115:     CARD8          bitmapBitOrder;        /* LeastSignificant, MostSign...*/
        !           116:     CARD8          bitmapScanlineUnit,     /* 8, 16, 32 */
        !           117:                    bitmapScanlinePad;     /* 8, 16, 32 */
        !           118:     KeyCode       minKeyCode, maxKeyCode;
        !           119:     CARD32        pad2 B32;
        !           120: } xConnSetup;
        !           121: 
        !           122: typedef struct {
        !           123:     CARD8          depth;
        !           124:     CARD8          bitsPerPixel;
        !           125:     CARD8          scanLinePad;
        !           126:     CARD8          pad1;
        !           127:     CARD32        pad2 B32;
        !           128: } xPixmapFormat;
        !           129: 
        !           130: /* window root */
        !           131: 
        !           132: typedef struct {
        !           133:     CARD8      depth;
        !           134:     CARD8      pad1;
        !           135:     CARD16     nVisuals B16;  /* number of xVisualType structures following */
        !           136:     CARD32     pad2 B32;
        !           137:     } xDepth;
        !           138: 
        !           139: typedef struct {
        !           140:     VisualID visualID B32;
        !           141:     CARD8 class;
        !           142:     CARD8 bitsPerRGB;
        !           143:     CARD16 colormapEntries B16;
        !           144:     CARD32 redMask B32, greenMask B32, blueMask B32;
        !           145:     CARD32 pad B32;
        !           146:     } xVisualType;
        !           147: 
        !           148: typedef struct {
        !           149:     Window         windowId B32;
        !           150:     Colormap       defaultColormap B32;
        !           151:     CARD32         whitePixel B32, blackPixel B32;
        !           152:     CARD32         currentInputMask B32;   
        !           153:     CARD16         pixWidth B16, pixHeight B16;
        !           154:     CARD16         mmWidth B16, mmHeight B16;
        !           155:     CARD16         minInstalledMaps B16, maxInstalledMaps B16;
        !           156:     VisualID       rootVisualID B32;
        !           157:     CARD8          backingStore;
        !           158:     BOOL           saveUnders;
        !           159:     CARD8          rootDepth;
        !           160:     CARD8          nDepths;  /* number of xDepth structures following */
        !           161: } xWindowRoot;
        !           162: 
        !           163: 
        !           164: /*****************************************************************
        !           165:  * Structure Defns
        !           166:  *   Structures needed for replies 
        !           167:  *****************************************************************/
        !           168: 
        !           169: /* Used in GetMotionEvents */
        !           170: 
        !           171: typedef struct {
        !           172:     CARD32 time B32;
        !           173:     CARD16 x B16, y B16;
        !           174: } xTimecoord;
        !           175: 
        !           176: typedef struct {
        !           177:     CARD8 family;
        !           178:     BYTE pad;
        !           179:     CARD16 length B16;
        !           180: } xHostEntry;
        !           181: 
        !           182: typedef struct {
        !           183:     INT16 leftSideBearing B16,
        !           184:          rightSideBearing B16,
        !           185:          characterWidth B16,
        !           186:          ascent B16,
        !           187:          descent B16;
        !           188:     CARD16 attributes B16;
        !           189: } xCharInfo;
        !           190: 
        !           191: typedef struct {
        !           192:     Atom name B32;
        !           193:     CARD32 value B32;
        !           194: } xFontProp;
        !           195: 
        !           196: /*
        !           197:  * non-aligned big-endian font ID follows this struct
        !           198:  */
        !           199: typedef struct {           /* followed by string */
        !           200:     CARD8 len; /* number of *characters* in string, or FontChange (255)
        !           201:                   for font change, or 0 if just delta given */
        !           202:     INT8 delta;
        !           203: } xTextElt;
        !           204: 
        !           205: 
        !           206: typedef struct {        
        !           207:     CARD32 pixel B32;
        !           208:     CARD16 red B16, green B16, blue B16;
        !           209:     CARD8 flags;  /* DoRed, DoGreen, DoBlue booleans */
        !           210:     CARD8 pad;
        !           211: } xColorItem;
        !           212: 
        !           213: 
        !           214: typedef struct {
        !           215:     CARD16 red B16, green B16, blue B16, pad B16;
        !           216: } xrgb;
        !           217: 
        !           218: typedef CARD8 KEYCODE;
        !           219: 
        !           220: 
        !           221: /*****************
        !           222:  * XRep:
        !           223:  *    meant to be 32 byte quantity 
        !           224:  *****************/
        !           225: 
        !           226: #ifdef NEED_REPLIES
        !           227: 
        !           228: /* GenericReply is the common format of all replies.  The "data" items
        !           229:    are specific to each individual reply type. */
        !           230: 
        !           231: typedef struct {       
        !           232:     BYTE type;              /* X_Reply */
        !           233:     BYTE data1;             /* depends on reply type */
        !           234:     CARD16 sequenceNumber B16;  /* of last request received by server */
        !           235:     CARD32 length B32;      /* 4 byte quantities beyond size of GenericReply */
        !           236:     CARD32 data00 B32;
        !           237:     CARD32 data01 B32;
        !           238:     CARD32 data02 B32;
        !           239:     CARD32 data03 B32;
        !           240:     CARD32 data04 B32;
        !           241:     CARD32 data05 B32;
        !           242:     } xGenericReply;
        !           243: 
        !           244: /* Individual reply formats. */
        !           245: 
        !           246: typedef struct {
        !           247:     BYTE type;  /* X_Reply */
        !           248:     CARD8 backingStore;
        !           249:     CARD16 sequenceNumber B16;
        !           250:     CARD32 length B32; /* NOT 0; this is an extra-large reply */
        !           251:     VisualID visualID B32;
        !           252:     CARD16 class B16;
        !           253:     CARD8 bitGravity;
        !           254:     CARD8 winGravity;
        !           255:     CARD32 backingBitPlanes B32;
        !           256:     CARD32 backingPixel B32;
        !           257:     BOOL saveUnder;
        !           258:     BOOL mapInstalled;
        !           259:     CARD8 mapState;
        !           260:     BOOL override;
        !           261:     Colormap colormap B32;
        !           262:     CARD32 allEventMasks B32;
        !           263:     CARD32 yourEventMask B32;
        !           264:     CARD16 doNotPropagateMask B16;
        !           265:     CARD16 pad B16;
        !           266:     } xGetWindowAttributesReply;
        !           267: 
        !           268: typedef struct {
        !           269:     BYTE type;   /* X_Reply */
        !           270:     CARD8 depth;
        !           271:     CARD16 sequenceNumber B16;
        !           272:     CARD32 length B32;  /* 0 */
        !           273:     Window root B32;
        !           274:     INT16 x B16, y B16;
        !           275:     CARD16 width B16, height B16;
        !           276:     CARD16 borderWidth B16;
        !           277:     CARD16 pad1 B16;
        !           278:     CARD32 pad2 B32;
        !           279:     CARD32 pad3 B32;
        !           280:     } xGetGeometryReply;
        !           281: 
        !           282: typedef struct {
        !           283:     BYTE type;  /* X_Reply */
        !           284:     BYTE pad1;
        !           285:     CARD16 sequenceNumber B16;
        !           286:     CARD32 length B32;
        !           287:     Window root B32, parent B32;
        !           288:     CARD16 nChildren B16;
        !           289:     CARD16 pad2 B16;
        !           290:     CARD32 pad3 B32;
        !           291:     CARD32 pad4 B32;
        !           292:     CARD32 pad5 B32;
        !           293:     } xQueryTreeReply;
        !           294: 
        !           295: typedef struct {
        !           296:     BYTE type;  /* X_Reply */
        !           297:     BYTE pad1;
        !           298:     CARD16 sequenceNumber B16;
        !           299:     CARD32 length B32; /* 0 */
        !           300:     Atom atom B32;
        !           301:     CARD32 pad2 B32;
        !           302:     CARD32 pad3 B32;
        !           303:     CARD32 pad4 B32;
        !           304:     CARD32 pad5 B32;
        !           305:     CARD32 pad6 B32;
        !           306:     } xInternAtomReply;
        !           307: 
        !           308: typedef struct {
        !           309:     BYTE type;  /* X_Reply */
        !           310:     BYTE pad1;
        !           311:     CARD16 sequenceNumber B16;
        !           312:     CARD32 length B32;  /* of additional bytes */
        !           313:     CARD16 nameLength B16;  /* # of characters in name */
        !           314:     CARD16 pad2 B16;
        !           315:     CARD32 pad3 B32;
        !           316:     CARD32 pad4 B32;
        !           317:     CARD32 pad5 B32;
        !           318:     CARD32 pad6 B32;
        !           319:     CARD32 pad7 B32;
        !           320:     } xGetAtomNameReply;
        !           321: 
        !           322: typedef struct {
        !           323:     BYTE type;  /* X_Reply */
        !           324:     CARD8 format;
        !           325:     CARD16 sequenceNumber B16;
        !           326:     CARD32 length B32; /* of additional bytes */
        !           327:     Atom propertyType B32;
        !           328:     CARD32 bytesAfter B32;
        !           329:     CARD32 nItems B32; /* # of 8, 16, or 32-bit entities in reply */
        !           330:     CARD32 pad1 B32;
        !           331:     CARD32 pad2 B32;
        !           332:     CARD32 pad3 B32;
        !           333:     } xGetPropertyReply;
        !           334: 
        !           335: typedef struct {
        !           336:     BYTE type;  /* X_Reply */
        !           337:     BYTE pad1;
        !           338:     CARD16 sequenceNumber B16;
        !           339:     CARD32 length B32;
        !           340:     CARD16 nProperties B16;
        !           341:     CARD16 pad2 B16;
        !           342:     CARD32 pad3 B32;
        !           343:     CARD32 pad4 B32;
        !           344:     CARD32 pad5 B32;
        !           345:     CARD32 pad6 B32;
        !           346:     CARD32 pad7 B32;
        !           347:     } xListPropertiesReply;
        !           348: 
        !           349: typedef struct {
        !           350:     BYTE type;  /* X_Reply */
        !           351:     BYTE pad1;
        !           352:     CARD16 sequenceNumber B16;
        !           353:     CARD32 length B32;  /* 0 */
        !           354:     Window owner B32;
        !           355:     CARD32 pad2 B32;
        !           356:     CARD32 pad3 B32;
        !           357:     CARD32 pad4 B32;
        !           358:     CARD32 pad5 B32;
        !           359:     CARD32 pad6 B32;
        !           360:     } xGetSelectionOwnerReply;
        !           361: 
        !           362: typedef struct {
        !           363:     BYTE type;  /* X_Reply */
        !           364:     BYTE status;
        !           365:     CARD16 sequenceNumber B16;
        !           366:     CARD32 length B32;  /* 0 */
        !           367:     CARD32 pad1 B32;
        !           368:     CARD32 pad2 B32;
        !           369:     CARD32 pad3 B32;
        !           370:     CARD32 pad4 B32;
        !           371:     CARD32 pad5 B32;
        !           372:     CARD32 pad6 B32;
        !           373:     } xGrabPointerReply;
        !           374: 
        !           375: typedef xGrabPointerReply xGrabKeyboardReply;
        !           376: 
        !           377: typedef struct {
        !           378:     BYTE type;  /* X_Reply */
        !           379:     BOOL sameScreen;
        !           380:     CARD16 sequenceNumber B16;
        !           381:     CARD32 length B32;  /* 0 */
        !           382:     Window root B32, child B32;
        !           383:     INT16 rootX B16, rootY B16, winX B16, winY B16;
        !           384:     CARD16 mask B16;
        !           385:     CARD16 pad1 B16;
        !           386:     CARD32 pad B32;
        !           387:     } xQueryPointerReply;
        !           388: 
        !           389: typedef struct {
        !           390:     BYTE type;  /* X_Reply */
        !           391:     BYTE pad1;
        !           392:     CARD16 sequenceNumber B16;
        !           393:     CARD32 length B32;
        !           394:     CARD32 nEvents B32;
        !           395:     CARD32 pad2 B32;
        !           396:     CARD32 pad3 B32;
        !           397:     CARD32 pad4 B32;
        !           398:     CARD32 pad5 B32;
        !           399:     CARD32 pad6 B32;
        !           400:     } xGetMotionEventsReply;
        !           401: 
        !           402: typedef struct {
        !           403:     BYTE type;  /* X_Reply */
        !           404:     BOOL sameScreen;
        !           405:     CARD16 sequenceNumber B16;
        !           406:     CARD32 length B32; /* 0 */
        !           407:     Window child B32;
        !           408:     INT16 dstX B16, dstY B16;
        !           409:     CARD32 pad2 B32;
        !           410:     CARD32 pad3 B32;
        !           411:     CARD32 pad4 B32;
        !           412:     CARD32 pad5 B32;
        !           413:     } xTranslateCoordsReply;
        !           414: 
        !           415: typedef struct {
        !           416:     BYTE type;  /* X_Reply */
        !           417:     CARD8 revertTo;
        !           418:     CARD16 sequenceNumber B16;
        !           419:     CARD32 length B32;  /* 0 */
        !           420:     Window focus B32;
        !           421:     CARD32 pad1 B32;
        !           422:     CARD32 pad2 B32;
        !           423:     CARD32 pad3 B32;
        !           424:     CARD32 pad4 B32;
        !           425:     CARD32 pad5 B32;
        !           426:     } xGetInputFocusReply;
        !           427: 
        !           428: typedef struct {
        !           429:     BYTE type;  /* X_Reply */
        !           430:     BYTE pad1;
        !           431:     CARD16 sequenceNumber B16;
        !           432:     CARD32 length B32;  /* 2, NOT 0; this is an extra-large reply */
        !           433:     BYTE map[32];
        !           434:     } xQueryKeymapReply;
        !           435: 
        !           436: /* Warning: this MUST match (up to component renaming) xListFontsWithInfoReply */
        !           437: typedef struct {
        !           438:     BYTE type;  /* X_Reply */
        !           439:     BYTE pad1;
        !           440:     CARD16 sequenceNumber B16;
        !           441:     CARD32 length B32;  /* definitely > 0, even if "nCharInfos" is 0 */
        !           442:     xCharInfo minBounds; 
        !           443: #ifndef WORD64
        !           444:     CARD32 walign1 B32;
        !           445: #endif
        !           446:     xCharInfo maxBounds; 
        !           447: #ifndef WORD64
        !           448:     CARD32 walign2 B32;
        !           449: #endif
        !           450:     CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
        !           451:     CARD16 defaultChar B16;
        !           452:     CARD16 nFontProps B16;  /* followed by this many xFontProp structures */
        !           453:     CARD8 drawDirection;
        !           454:     CARD8 minByte1, maxByte1;
        !           455:     BOOL allCharsExist;
        !           456:     INT16 fontAscent B16, fontDescent B16;
        !           457:     CARD32 nCharInfos B32; /* followed by this many xCharInfo structures */
        !           458: } xQueryFontReply;
        !           459: 
        !           460: typedef struct {
        !           461:     BYTE type;  /* X_Reply */
        !           462:     CARD8 drawDirection;
        !           463:     CARD16 sequenceNumber B16;
        !           464:     CARD32 length B32;  /* 0 */
        !           465:     INT16 fontAscent B16, fontDescent B16;
        !           466:     INT16 overallAscent B16, overallDescent B16;
        !           467:     INT32 overallWidth B32, overallLeft B32, overallRight B32;
        !           468:     CARD32 pad B32;
        !           469:     } xQueryTextExtentsReply;
        !           470: 
        !           471: typedef struct {
        !           472:     BYTE type;  /* X_Reply */
        !           473:     BYTE pad1;
        !           474:     CARD16 sequenceNumber B16;
        !           475:     CARD32 length B32;
        !           476:     CARD16 nFonts B32;
        !           477:     CARD16 pad2 B16;
        !           478:     CARD32 pad3 B32;
        !           479:     CARD32 pad4 B32;
        !           480:     CARD32 pad5 B32;
        !           481:     CARD32 pad6 B32;
        !           482:     CARD32 pad7 B32;
        !           483:     } xListFontsReply;
        !           484: 
        !           485: /* Warning: this MUST match (up to component renaming) xQueryFontReply */
        !           486: typedef struct {
        !           487:     BYTE type;  /* X_Reply */
        !           488:     CARD8 nameLength;  /* 0 indicates end-of-reply-sequence */
        !           489:     CARD16 sequenceNumber B16;
        !           490:     CARD32 length B32;  /* definitely > 0, even if "nameLength" is 0 */
        !           491:     xCharInfo minBounds; 
        !           492: #ifndef WORD64
        !           493:     CARD32 walign1 B32;
        !           494: #endif
        !           495:     xCharInfo maxBounds; 
        !           496: #ifndef WORD64
        !           497:     CARD32 walign2 B32;
        !           498: #endif
        !           499:     CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
        !           500:     CARD16 defaultChar B16;
        !           501:     CARD16 nFontProps B16;  /* followed by this many xFontProp structures */
        !           502:     CARD8 drawDirection;
        !           503:     CARD8 minByte1, maxByte1;
        !           504:     BOOL allCharsExist;
        !           505:     INT16 fontAscent B16, fontDescent B16;
        !           506:     CARD32 nReplies B32;   /* hint as to how many more replies might be coming */
        !           507: } xListFontsWithInfoReply;
        !           508: 
        !           509: typedef struct {
        !           510:     BYTE type;  /* X_Reply */
        !           511:     BYTE pad1;
        !           512:     CARD16 sequenceNumber B16;
        !           513:     CARD32 length B32;
        !           514:     CARD16 nPaths B16;
        !           515:     CARD16 pad2 B16;
        !           516:     CARD32 pad3 B32;
        !           517:     CARD32 pad4 B32;
        !           518:     CARD32 pad5 B32;
        !           519:     CARD32 pad6 B32;
        !           520:     CARD32 pad7 B32;
        !           521:     } xGetFontPathReply;
        !           522: 
        !           523: typedef struct {
        !           524:     BYTE type;  /* X_Reply */
        !           525:     CARD8 depth;
        !           526:     CARD16 sequenceNumber B16;
        !           527:     CARD32 length B32;
        !           528:     VisualID visual B32;
        !           529:     CARD32 pad3 B32;
        !           530:     CARD32 pad4 B32;
        !           531:     CARD32 pad5 B32;
        !           532:     CARD32 pad6 B32;
        !           533:     CARD32 pad7 B32;
        !           534:     } xGetImageReply;
        !           535: 
        !           536: typedef struct {
        !           537:     BYTE type;  /* X_Reply */
        !           538:     BYTE pad1;
        !           539:     CARD16 sequenceNumber B16;
        !           540:     CARD32 length B32;
        !           541:     CARD16 nColormaps B16;
        !           542:     CARD16 pad2 B16;
        !           543:     CARD32 pad3 B32;
        !           544:     CARD32 pad4 B32;
        !           545:     CARD32 pad5 B32;
        !           546:     CARD32 pad6 B32;
        !           547:     CARD32 pad7 B32;
        !           548:     } xListInstalledColormapsReply;
        !           549: 
        !           550: typedef struct {
        !           551:     BYTE type; /* X_Reply */
        !           552:     BYTE pad1;
        !           553:     CARD16 sequenceNumber B16;
        !           554:     CARD32 length B32;   /* 0 */
        !           555:     CARD16 red B16, green B16, blue B16;
        !           556:     CARD16 pad2 B16;
        !           557:     CARD32 pixel B32;
        !           558:     CARD32 pad3 B32;
        !           559:     CARD32 pad4 B32;
        !           560:     CARD32 pad5 B32;
        !           561:     } xAllocColorReply;
        !           562: 
        !           563: typedef struct {
        !           564:     BYTE type; /* X_Reply */
        !           565:     BYTE pad1;
        !           566:     CARD16 sequenceNumber B16;
        !           567:     CARD32 length B32;  /* 0 */
        !           568:     CARD32 pixel B32;
        !           569:     CARD16 exactRed B16, exactGreen B16, exactBlue B16;
        !           570:     CARD16 screenRed B16, screenGreen B16, screenBlue B16;
        !           571:     CARD32 pad2 B32;
        !           572:     CARD32 pad3 B32;
        !           573:     } xAllocNamedColorReply;
        !           574: 
        !           575: typedef struct {
        !           576:     BYTE type;  /* X_Reply */
        !           577:     BYTE pad1;
        !           578:     CARD16 sequenceNumber B16;
        !           579:     CARD32 length B32;
        !           580:     CARD16 nPixels B16, nMasks B16;
        !           581:     CARD32 pad3 B32;
        !           582:     CARD32 pad4 B32;
        !           583:     CARD32 pad5 B32;
        !           584:     CARD32 pad6 B32;
        !           585:     CARD32 pad7 B32;
        !           586:     } xAllocColorCellsReply;
        !           587: 
        !           588: typedef struct {
        !           589:     BYTE type; /* X_Reply */
        !           590:     BYTE pad1;
        !           591:     CARD16 sequenceNumber B16;
        !           592:     CARD32 length B32;
        !           593:     CARD16 nPixels B16;
        !           594:     CARD16 pad2 B16;
        !           595:     CARD32 redMask B16, greenMask B16, blueMask B16;
        !           596:     CARD32 pad3 B32;
        !           597:     CARD32 pad4 B32;
        !           598:     } xAllocColorPlanesReply;
        !           599: 
        !           600: typedef struct {
        !           601:     BYTE type; /* X_Reply */
        !           602:     BYTE pad1;
        !           603:     CARD16 sequenceNumber B16;
        !           604:     CARD32 length B32;
        !           605:     CARD16 nColors B16;
        !           606:     CARD16 pad2 B16;
        !           607:     CARD32 pad3 B32;
        !           608:     CARD32 pad4 B32;
        !           609:     CARD32 pad5 B32;
        !           610:     CARD32 pad6 B32;
        !           611:     CARD32 pad7 B32;
        !           612:     } xQueryColorsReply;
        !           613: 
        !           614: typedef struct {
        !           615:     BYTE type;  /* X_Reply */
        !           616:     BYTE pad1;
        !           617:     CARD16 sequenceNumber B16;
        !           618:     CARD32 length B32;  /* 0 */
        !           619:     CARD16 exactRed B16, exactGreen B16, exactBlue B16;
        !           620:     CARD16 screenRed B16, screenGreen B16, screenBlue B16;
        !           621:     CARD32 pad3 B32;
        !           622:     CARD32 pad4 B32;
        !           623:     CARD32 pad5 B32;
        !           624:     } xLookupColorReply;
        !           625: 
        !           626: typedef struct {
        !           627:     BYTE type;  /* X_Reply */
        !           628:     BYTE pad1;
        !           629:     CARD16 sequenceNumber B16;
        !           630:     CARD32 length B32;  /* 0 */
        !           631:     CARD16 width B16, height B16;
        !           632:     CARD32 pad3 B32;
        !           633:     CARD32 pad4 B32;
        !           634:     CARD32 pad5 B32;
        !           635:     CARD32 pad6 B32;
        !           636:     CARD32 pad7 B32;
        !           637:     } xQueryBestSizeReply;
        !           638: 
        !           639: typedef struct {
        !           640:     BYTE type;  /* X_Reply */
        !           641:     BYTE pad1;
        !           642:     CARD16 sequenceNumber B16;
        !           643:     CARD32 length B32; /* 0 */
        !           644:     BOOL  present;
        !           645:     CARD8 major_opcode;
        !           646:     CARD8 first_event;
        !           647:     CARD8 first_error;
        !           648:     CARD32 pad3 B32;
        !           649:     CARD32 pad4 B32;
        !           650:     CARD32 pad5 B32;
        !           651:     CARD32 pad6 B32;
        !           652:     CARD32 pad7 B32;
        !           653:     } xQueryExtensionReply;
        !           654: 
        !           655: typedef struct {
        !           656:     BYTE type;  /* X_Reply */
        !           657:     CARD8 nExtensions;
        !           658:     CARD16 sequenceNumber B16;
        !           659:     CARD32 length B32;
        !           660:     CARD32 pad2 B32;
        !           661:     CARD32 pad3 B32;
        !           662:     CARD32 pad4 B32;
        !           663:     CARD32 pad5 B32;
        !           664:     CARD32 pad6 B32;
        !           665:     CARD32 pad7 B32;
        !           666:     } xListExtensionsReply;
        !           667: 
        !           668: 
        !           669: typedef struct {
        !           670:     BYTE   type;  /* X_Reply */
        !           671:     CARD8  success;
        !           672:     CARD16 sequenceNumber B16;
        !           673:     CARD32 length B32;
        !           674:     CARD32 pad2 B32;
        !           675:     CARD32 pad3 B32;
        !           676:     CARD32 pad4 B32;
        !           677:     CARD32 pad5 B32;
        !           678:     CARD32 pad6 B32;
        !           679:     CARD32 pad7 B32;
        !           680:     } xSetMappingReply;
        !           681: typedef xSetMappingReply xSetPointerMappingReply;
        !           682: typedef xSetMappingReply xSetModifierMappingReply;
        !           683: 
        !           684: typedef struct {
        !           685:     BYTE type;  /* X_Reply */
        !           686:     CARD8 nElts;  /* how many elements does the map have */
        !           687:     CARD16 sequenceNumber B16;
        !           688:     CARD32 length B32;
        !           689:     CARD32 pad2 B32;
        !           690:     CARD32 pad3 B32;
        !           691:     CARD32 pad4 B32;
        !           692:     CARD32 pad5 B32;
        !           693:     CARD32 pad6 B32;
        !           694:     CARD32 pad7 B32;
        !           695:     } xGetPointerMappingReply;
        !           696: 
        !           697: typedef struct {
        !           698:     BYTE type;
        !           699:     CARD8 keySymsPerKeyCode;
        !           700:     CARD16 sequenceNumber B16;
        !           701:     CARD32 length B32;
        !           702:     CARD32 pad2 B32;
        !           703:     CARD32 pad3 B32;
        !           704:     CARD32 pad4 B32;
        !           705:     CARD32 pad5 B32;
        !           706:     CARD32 pad6 B32;
        !           707:     CARD32 pad7 B32;
        !           708: } xGetKeyboardMappingReply;    
        !           709: 
        !           710: typedef struct {
        !           711:     BYTE type;
        !           712:     CARD8 numKeyPerModifier;
        !           713:     CARD16 sequenceNumber B16;
        !           714:     CARD32 length B32;
        !           715:     CARD32 pad1 B32;
        !           716:     CARD32 pad2 B32;
        !           717:     CARD32 pad3 B32;
        !           718:     CARD32 pad4 B32;
        !           719:     CARD32 pad5 B32;
        !           720:     CARD32 pad6 B32;
        !           721: } xGetModifierMappingReply;
        !           722: 
        !           723: typedef struct {
        !           724:     BYTE type;  /* X_Reply */
        !           725:     BOOL globalAutoRepeat;
        !           726:     CARD16 sequenceNumber B16;
        !           727:     CARD32 length B32;  /* 5 */
        !           728:     CARD32 ledMask B32;
        !           729:     CARD8 keyClickPercent, bellPercent;
        !           730:     CARD16 bellPitch B16, bellDuration B16;
        !           731:     CARD16 pad B16;
        !           732:     BYTE map[32];  /* bit masks start here */
        !           733:     } xGetKeyboardControlReply;
        !           734: 
        !           735: typedef struct {
        !           736:     BYTE type;  /* X_Reply */
        !           737:     BYTE pad1;
        !           738:     CARD16 sequenceNumber B16;
        !           739:     CARD32 length B32;  /* 0 */
        !           740:     CARD16 accelNumerator B16, accelDenominator B16;
        !           741:     CARD16 threshold B16;
        !           742:     CARD16 pad2 B16;
        !           743:     CARD32 pad3 B32;
        !           744:     CARD32 pad4 B32;
        !           745:     CARD32 pad5 B32;
        !           746:     CARD32 pad6 B32;
        !           747:     } xGetPointerControlReply;
        !           748: 
        !           749: typedef struct {
        !           750:     BYTE type;  /* X_Reply */
        !           751:     BYTE pad1;
        !           752:     CARD16 sequenceNumber B16;
        !           753:     CARD32 length B32;  /* 0 */
        !           754:     CARD16 timeout B16, interval B16;
        !           755:     BOOL preferBlanking;
        !           756:     BOOL allowExposures;
        !           757:     CARD16 pad2 B16;
        !           758:     CARD32 pad3 B32;
        !           759:     CARD32 pad4 B32;
        !           760:     CARD32 pad5 B32;
        !           761:     CARD32 pad6 B32;
        !           762:     } xGetScreenSaverReply;
        !           763: 
        !           764: typedef struct {
        !           765:     BYTE type;  /* X_Reply */
        !           766:     BOOL enabled;
        !           767:     CARD16 sequenceNumber B16;
        !           768:     CARD32 length B32;
        !           769:     CARD16 nHosts B16;
        !           770:     CARD16 pad1 B16;
        !           771:     CARD32 pad3 B32;
        !           772:     CARD32 pad4 B32;
        !           773:     CARD32 pad5 B32;
        !           774:     CARD32 pad6 B32;
        !           775:     CARD32 pad7 B32;
        !           776:     } xListHostsReply;
        !           777: 
        !           778: #endif /* NEED_REPLIES */
        !           779: 
        !           780: 
        !           781: 
        !           782: 
        !           783: /*****************************************************************
        !           784:  * Xerror
        !           785:  *    All errors  are 32 bytes 
        !           786:  *****************************************************************/
        !           787: 
        !           788: typedef struct {
        !           789:     BYTE type;                  /* X_Error */
        !           790:     BYTE errorCode;
        !           791:     CARD16 sequenceNumber B16;       /* the nth request from this client */
        !           792:     CARD32 resourceID B32;
        !           793:     CARD16 minorCode B16;
        !           794:     CARD8 majorCode;
        !           795:     BYTE pad1;
        !           796:     CARD32 pad3 B32;
        !           797:     CARD32 pad4 B32;
        !           798:     CARD32 pad5 B32;
        !           799:     CARD32 pad6 B32;
        !           800:     CARD32 pad7 B32;
        !           801: } xError;
        !           802: 
        !           803: /*****************************************************************
        !           804:  * xEvent
        !           805:  *    All events are 32 bytes
        !           806:  *****************************************************************/
        !           807: 
        !           808: #ifdef NEED_EVENTS                /* this hack is necessary because
        !           809:                                     the symbol table in the library
        !           810:                                     is too big to link */
        !           811: 
        !           812: typedef struct {
        !           813:     union {
        !           814:        struct {
        !           815:            BYTE type;
        !           816:            BYTE detail;
        !           817:            CARD16 sequenceNumber B16;
        !           818:            } u;
        !           819:        struct {
        !           820:             CARD32 pad00 B32;
        !           821:            Time time B32;
        !           822:            Window root B32, event B32, child B32;
        !           823:            INT16 rootX B16, rootY B16, eventX B16, eventY B16;
        !           824:            KeyButMask state B16;
        !           825:            BOOL sameScreen;            
        !           826:            BYTE pad1;
        !           827:        } keyButtonPointer;
        !           828:        struct {
        !           829:             CARD32 pad00 B32;
        !           830:             Time time B32;
        !           831:            Window root B32, event B32, child B32;
        !           832:            INT16 rootX B16, rootY B16, eventX B16, eventY B16;
        !           833:            KeyButMask state B16;
        !           834:            BYTE mode;                  /* really XMode */
        !           835:            BYTE flags;         /* sameScreen and focus booleans, packed together */
        !           836: #define ELFlagFocus        (1<<0)
        !           837: #define ELFlagSameScreen   (1<<1)
        !           838:        } enterLeave;
        !           839:        struct {
        !           840:             CARD32 pad00 B32;
        !           841:            Window window B32;
        !           842:            BYTE mode;                  /* really XMode */
        !           843:            BYTE pad1, pad2, pad3;
        !           844:        } focus;
        !           845:        struct {
        !           846:             CARD32 pad00 B32;
        !           847:            Window window B32;
        !           848:            CARD16 x B16, y B16, width B16, height B16;
        !           849:            CARD16 count B16;
        !           850:            CARD16 pad2 B16;
        !           851:        } expose;
        !           852:        struct {
        !           853:             CARD32 pad00 B32;
        !           854:            Drawable drawable B32;
        !           855:            CARD16 x B16, y B16, width B16, height B16;
        !           856:            CARD16 minorEvent B16;
        !           857:            CARD16 count B16;
        !           858:            BYTE majorEvent;
        !           859:            BYTE pad1, pad2, pad3;
        !           860:        } graphicsExposure;
        !           861:        struct {
        !           862:             CARD32 pad00 B32;
        !           863:            Drawable drawable B32;
        !           864:            CARD16 minorEvent B16;
        !           865:            BYTE majorEvent;
        !           866:            BYTE bpad;
        !           867:        } noExposure;
        !           868:        struct {
        !           869:             CARD32 pad00 B32;
        !           870:            Window window B32;
        !           871:            CARD8 state;
        !           872:            BYTE pad1, pad2, pad3;
        !           873:        } visibility;
        !           874:        struct {
        !           875:             CARD32 pad00 B32;
        !           876:            Window parent B32, window B32;
        !           877:            INT16 x B16, y B16;
        !           878:            CARD16 width B16, height B16, borderWidth B16;
        !           879:            BOOL override;
        !           880:            BYTE bpad;
        !           881:         } createNotify;
        !           882: /*
        !           883:  * The event feilds in the structures for DestroyNotify, UnmapNotify,
        !           884:  * MapNotify, ReparentNotify, ConfigureNotify, CirclulateNotify, GravityNotify,
        !           885:  * must be at the same offset because server internal code is depending upon
        !           886:  * this to patch up the events before they are delivered.
        !           887:  * Also note that MapRequest, ConfigureRequest and CirculateRequest have
        !           888:  * the same offset for the event window.
        !           889:  */
        !           890:        struct {
        !           891:             CARD32 pad00 B32;
        !           892:            Window event B32, window B32;
        !           893:        } destroyNotify;
        !           894:        struct {
        !           895:             CARD32 pad00 B32;
        !           896:            Window event B32, window B32;
        !           897:            BOOL fromConfigure;
        !           898:            BYTE pad1, pad2, pad3;
        !           899:         } unmapNotify;
        !           900:        struct {
        !           901:             CARD32 pad00 B32;
        !           902:            Window event B32, window B32;
        !           903:            BOOL override;
        !           904:            BYTE pad1, pad2, pad3;
        !           905:         } mapNotify;
        !           906:        struct {
        !           907:             CARD32 pad00 B32;
        !           908:            Window parent B32, window B32;
        !           909:         } mapRequest;
        !           910:        struct {
        !           911:             CARD32 pad00 B32;
        !           912:            Window event B32, window B32, parent B32;
        !           913:            INT16 x B16, y B16;
        !           914:            BOOL override;
        !           915:            BYTE pad1, pad2, pad3;
        !           916:        } reparent;
        !           917:        struct {
        !           918:             CARD32 pad00 B32;
        !           919:            Window event B32, window B32, aboveSibling B32;
        !           920:            INT16 x B16, y B16;
        !           921:            CARD16 width B16, height B16, borderWidth B16;
        !           922:            BOOL override;              
        !           923:            BYTE bpad;
        !           924:        } configureNotify;
        !           925:        struct {
        !           926:             CARD32 pad00 B32;
        !           927:            Window parent B32, window B32, sibling B32;
        !           928:            INT16 x B16, y B16;
        !           929:            CARD16 width B16, height B16, borderWidth B16;
        !           930:            CARD16 valueMask B16;
        !           931:            CARD32 pad1 B32;
        !           932:        } configureRequest;
        !           933:        struct {
        !           934:             CARD32 pad00 B32;
        !           935:            Window event B32, window B32;
        !           936:            INT16 x B16, y B16;
        !           937:            CARD32 pad1, pad2, pad3, pad4;
        !           938:        } gravity;
        !           939:        struct {
        !           940:             CARD32 pad00 B32;
        !           941:            Window window B32;
        !           942:            CARD16 width B16, height B16;
        !           943:        } resizeRequest;
        !           944:        struct {
        !           945: /* The event field in the circulate record is really the parent when this
        !           946:    is used as a CirculateRequest insteaad of a CircluateNotify */
        !           947:             CARD32 pad00 B32;
        !           948:            Window event B32, window B32, parent B32;
        !           949:            BYTE place;                 /* Top or Bottom */
        !           950:            BYTE pad1, pad2, pad3;
        !           951:        } circulate;
        !           952:        struct {
        !           953:             CARD32 pad00 B32;
        !           954:            Window window B32;
        !           955:            Atom atom B32;
        !           956:            Time time B32;
        !           957:            BYTE state;                 /* NewValue or Deleted */
        !           958:            BYTE pad1;
        !           959:            CARD16 pad2 B16;
        !           960:        } property;
        !           961:        struct {
        !           962:             CARD32 pad00 B32;
        !           963:             Time time B32;     
        !           964:            Window window B32;
        !           965:            Atom atom B32;
        !           966:        } selectionClear;
        !           967:        struct {
        !           968:             CARD32 pad00 B32;
        !           969:             Time time B32;    
        !           970:            Window owner B32, requestor B32;
        !           971:            Atom selection B32, target B32, property B32;
        !           972:        } selectionRequest;
        !           973:        struct {
        !           974:             CARD32 pad00 B32;
        !           975:             Time time B32;   
        !           976:            Window requestor B32;
        !           977:            Atom selection B32, target B32, property B32;
        !           978:        } selectionNotify;
        !           979:        struct {
        !           980:             CARD32 pad00 B32;
        !           981:            Window window B32;
        !           982:            Colormap colormap B32;
        !           983:            BOOL new;           
        !           984:            BYTE state;                 /* Installed or UnInstalled */
        !           985:            BYTE pad1, pad2;
        !           986:        } colormap;
        !           987:        struct {
        !           988:            CARD32 pad00 B32;
        !           989:            CARD8 request;
        !           990:            KeyCode firstKeyCode;
        !           991:            CARD8 count;
        !           992:            BYTE pad1;
        !           993:        } mappingNotify;
        !           994:        struct {
        !           995:             CARD32 pad00 B32;
        !           996:            Window window B32;
        !           997:            union {
        !           998:                struct {
        !           999:                    Atom type B32;
        !          1000:                    INT32 longs0 B32;
        !          1001:                    INT32 longs1 B32;
        !          1002:                    INT32 longs2 B32;
        !          1003:                    INT32 longs3 B32;
        !          1004:                    INT32 longs4 B32;
        !          1005:                } l;
        !          1006:                struct {
        !          1007:                    Atom type B32;
        !          1008:                    INT16 shorts0 B16;
        !          1009:                    INT16 shorts1 B16;
        !          1010:                    INT16 shorts2 B16;
        !          1011:                    INT16 shorts3 B16;
        !          1012:                    INT16 shorts4 B16;
        !          1013:                    INT16 shorts5 B16;
        !          1014:                    INT16 shorts6 B16;
        !          1015:                    INT16 shorts7 B16;
        !          1016:                    INT16 shorts8 B16;
        !          1017:                    INT16 shorts9 B16;
        !          1018:                } s;
        !          1019:                struct {
        !          1020:                    Atom type B32;
        !          1021:                    INT8 bytes[20];
        !          1022:                } b;
        !          1023:            } u; 
        !          1024:        } clientMessage;
        !          1025:     } u;
        !          1026: } xEvent;
        !          1027: 
        !          1028: /* KeymapNotify events are not included in the above union because they
        !          1029:    are different from all other events: they do not have a "detail"
        !          1030:    or "sequenceNumber", so there is room for a 248-bit key mask. */
        !          1031: 
        !          1032: typedef struct {
        !          1033:     BYTE type;
        !          1034:     BYTE map[31];
        !          1035:     } xKeymapEvent;
        !          1036: 
        !          1037: #endif /* NEED_EVENTS */
        !          1038: 
        !          1039: #define XEventSize (sizeof(xEvent))
        !          1040: 
        !          1041: /* XReply is the union of all the replies above whose "fixed part"
        !          1042: fits in 32 bytes.  It does NOT include GetWindowAttributesReply,
        !          1043: QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply 
        !          1044: ListFontsWithInfoReply */
        !          1045: 
        !          1046: #ifdef NEED_REPLIES
        !          1047: 
        !          1048: typedef union {
        !          1049:     xGenericReply generic;
        !          1050:     xGetGeometryReply geom;
        !          1051:     xQueryTreeReply tree;
        !          1052:     xInternAtomReply atom;
        !          1053:     xGetAtomNameReply atomName;
        !          1054:     xGetPropertyReply property;
        !          1055:     xListPropertiesReply listProperties;
        !          1056:     xGetSelectionOwnerReply selection;
        !          1057:     xGrabPointerReply grabPointer;
        !          1058:     xGrabKeyboardReply grabKeyboard;
        !          1059:     xQueryPointerReply pointer;
        !          1060:     xGetMotionEventsReply motionEvents;
        !          1061:     xTranslateCoordsReply coords;
        !          1062:     xGetInputFocusReply inputFocus;
        !          1063:     xQueryTextExtentsReply textExtents;
        !          1064:     xListFontsReply fonts;
        !          1065:     xGetFontPathReply fontPath;
        !          1066:     xGetImageReply image;
        !          1067:     xListInstalledColormapsReply colormaps;
        !          1068:     xAllocColorReply allocColor;
        !          1069:     xAllocNamedColorReply allocNamedColor;
        !          1070:     xAllocColorCellsReply colorCells;
        !          1071:     xAllocColorPlanesReply colorPlanes;
        !          1072:     xQueryColorsReply colors;
        !          1073:     xLookupColorReply lookupColor;
        !          1074:     xQueryBestSizeReply bestSize;
        !          1075:     xQueryExtensionReply extension;
        !          1076:     xListExtensionsReply extensions;
        !          1077:     xSetModifierMappingReply setModifierMapping;
        !          1078:     xGetModifierMappingReply getModifierMapping;
        !          1079:     xSetPointerMappingReply setPointerMapping;
        !          1080:     xGetKeyboardMappingReply getKeyboardMapping;
        !          1081:     xGetPointerMappingReply getPointerMapping;
        !          1082:     xGetPointerControlReply pointerControl;
        !          1083:     xGetScreenSaverReply screenSaver;
        !          1084:     xListHostsReply hosts;
        !          1085:     xError error;
        !          1086: #ifdef NEED_EVENTS
        !          1087:     xEvent event;
        !          1088: #endif /* NEED_EVENTS */
        !          1089: } xReply;
        !          1090: 
        !          1091: #endif /* NEED_REPLIES */
        !          1092: 
        !          1093: 
        !          1094: 
        !          1095: /*****************************************************************
        !          1096:  * REQUESTS
        !          1097:  *****************************************************************/
        !          1098: 
        !          1099: 
        !          1100: /* Request structure */
        !          1101: 
        !          1102: typedef struct {
        !          1103:        CARD8 reqType;
        !          1104:        CARD8 data;            /* meaning depends on request type */
        !          1105:        CARD16 length B16;         /* length in 4 bytes quantities 
        !          1106:                                  of whole request, including this header */
        !          1107: } xReq;
        !          1108: 
        !          1109: /*****************************************************************
        !          1110:  *  structures that follow request. 
        !          1111:  *****************************************************************/
        !          1112: 
        !          1113: /* ResourceReq is used for any request which has a resource ID 
        !          1114:    (or Atom or Time) as its one and only argument.  */
        !          1115: 
        !          1116: typedef struct {
        !          1117:     CARD8 reqType;
        !          1118:     BYTE pad;
        !          1119:     CARD16 length B16;
        !          1120:     CARD32 id;  /* a Window, Drawable, Font, GContext, Pixmap, etc. */
        !          1121:     } xResourceReq;
        !          1122: 
        !          1123: typedef struct {
        !          1124:     CARD8 reqType;
        !          1125:     CARD8 depth;
        !          1126:     CARD16 length B16;
        !          1127:     Window wid B32, parent B32;
        !          1128:     INT16 x B16, y B16;
        !          1129:     CARD16 width B16, height B16, borderWidth B16;  
        !          1130:     CARD16 class B16;
        !          1131:     VisualID visual B32;
        !          1132:     CARD32 mask B32;
        !          1133: } xCreateWindowReq;
        !          1134: 
        !          1135: typedef struct {
        !          1136:     CARD8 reqType;
        !          1137:     BYTE pad;
        !          1138:     CARD16 length B16;
        !          1139:     Window window B32;
        !          1140:     CARD32 valueMask B32; 
        !          1141: } xChangeWindowAttributesReq;
        !          1142: 
        !          1143: typedef struct {
        !          1144:     CARD8 reqType;
        !          1145:     BYTE mode;
        !          1146:     CARD16 length B16;
        !          1147:     Window window B32;
        !          1148: } xChangeSaveSetReq;
        !          1149: 
        !          1150: typedef struct {
        !          1151:     CARD8 reqType;
        !          1152:     BYTE pad;
        !          1153:     CARD16 length B16;
        !          1154:     Window window B32, parent B32;
        !          1155:     INT16 x B16, y B16;
        !          1156: } xReparentWindowReq;
        !          1157: 
        !          1158: typedef struct {
        !          1159:     CARD8 reqType;
        !          1160:     CARD8 pad;
        !          1161:     CARD16 length B16;
        !          1162:     Window window B32;
        !          1163:     CARD16 mask B16;
        !          1164:     CARD16 pad2 B16;
        !          1165: } xConfigureWindowReq;
        !          1166: 
        !          1167: typedef struct {
        !          1168:     CARD8 reqType;
        !          1169:     CARD8 direction;
        !          1170:     CARD16 length B16;
        !          1171:     Window window B32;
        !          1172: } xCirculateWindowReq;
        !          1173: 
        !          1174: typedef struct {    /* followed by padded string */
        !          1175:     CARD8 reqType;
        !          1176:     BOOL onlyIfExists;
        !          1177:     CARD16 length B16;
        !          1178:     CARD16 nbytes  B16;    /* number of bytes in string */
        !          1179:     CARD16 pad B16;
        !          1180: } xInternAtomReq;
        !          1181: 
        !          1182: typedef struct {
        !          1183:     CARD8 reqType;
        !          1184:     CARD8 mode;
        !          1185:     CARD16 length B16;
        !          1186:     Window window B32;
        !          1187:     Atom property B32, type B32;
        !          1188:     CARD8 format;
        !          1189:     BYTE pad[3];
        !          1190:     CARD32 nUnits B32;     /* length of stuff following, depends on format */
        !          1191: } xChangePropertyReq;
        !          1192: 
        !          1193: typedef struct {
        !          1194:     CARD8 reqType;
        !          1195:     BYTE pad;
        !          1196:     CARD16 length B16;
        !          1197:     Window window B32;
        !          1198:     Atom property B32;
        !          1199: } xDeletePropertyReq;
        !          1200: 
        !          1201: typedef struct {
        !          1202:     CARD8 reqType;
        !          1203:     BOOL delete;
        !          1204:     CARD16 length B16;
        !          1205:     Window window B32;
        !          1206:     Atom property B32, type B32;
        !          1207:     CARD32 longOffset B32;
        !          1208:     CARD32 longLength B32;
        !          1209: } xGetPropertyReq;
        !          1210:  
        !          1211: typedef struct {
        !          1212:     CARD8 reqType;
        !          1213:     BYTE pad;
        !          1214:     CARD16 length B16;
        !          1215:     Window window B32;
        !          1216:     Atom selection B32;
        !          1217:     Time time B32;
        !          1218: } xSetSelectionOwnerReq;
        !          1219: 
        !          1220: typedef struct {
        !          1221:     CARD8 reqType;
        !          1222:     BYTE pad;
        !          1223:     CARD16 length B16;
        !          1224:     Window requestor B32;
        !          1225:     Atom selection B32, target B32, property B32;
        !          1226:     Time time B32;
        !          1227:     } xConvertSelectionReq;
        !          1228: 
        !          1229: #ifdef NEED_EVENTS
        !          1230: 
        !          1231: typedef struct {
        !          1232:     CARD8 reqType;
        !          1233:     BOOL propagate;
        !          1234:     CARD16 length B16;
        !          1235:     Window destination B32;
        !          1236:     CARD32 eventMask B32;
        !          1237:     xEvent event;
        !          1238: } xSendEventReq;
        !          1239: 
        !          1240: #endif /* NEED_EVENTS */
        !          1241: 
        !          1242: typedef struct {
        !          1243:     CARD8 reqType;
        !          1244:     BOOL ownerEvents;
        !          1245:     CARD16 length B16;
        !          1246:     Window grabWindow B32;
        !          1247:     CARD16 eventMask B16;
        !          1248:     BYTE pointerMode, keyboardMode;
        !          1249:     Window confineTo B32;
        !          1250:     Cursor cursor B32;
        !          1251:     Time time B32;
        !          1252: } xGrabPointerReq;
        !          1253: 
        !          1254: typedef struct {
        !          1255:     CARD8 reqType;
        !          1256:     BOOL ownerEvents;
        !          1257:     CARD16 length B16;
        !          1258:     Window grabWindow B32;
        !          1259:     CARD16 eventMask B16;
        !          1260:     BYTE pointerMode, keyboardMode;
        !          1261:     Window confineTo B32;
        !          1262:     Cursor cursor B32;
        !          1263:     CARD8 button;
        !          1264:     BYTE pad;
        !          1265:     CARD16 modifiers B16;
        !          1266: } xGrabButtonReq;
        !          1267: 
        !          1268: typedef struct {
        !          1269:     CARD8 reqType;
        !          1270:     CARD8 button;
        !          1271:     CARD16 length B16;
        !          1272:     Window grabWindow B32;
        !          1273:     CARD16 modifiers B16;
        !          1274:     CARD16 pad B16;
        !          1275: } xUngrabButtonReq;
        !          1276: 
        !          1277: typedef struct {
        !          1278:     CARD8 reqType;
        !          1279:     BYTE pad;
        !          1280:     CARD16 length B16;
        !          1281:     Cursor cursor B32;
        !          1282:     Time time B32;
        !          1283:     CARD16 eventMask B16;
        !          1284:     CARD16 pad2 B16;
        !          1285: } xChangeActivePointerGrabReq;
        !          1286: 
        !          1287: typedef struct {
        !          1288:     CARD8 reqType;
        !          1289:     BOOL ownerEvents;
        !          1290:     CARD16 length B16;
        !          1291:     Window grabWindow B32;
        !          1292:     Time time B32;
        !          1293:     BYTE pointerMode, keyboardMode;  
        !          1294:     CARD16 pad B16;
        !          1295: } xGrabKeyboardReq;
        !          1296: 
        !          1297: typedef struct {
        !          1298:     CARD8 reqType;
        !          1299:     BOOL ownerEvents;
        !          1300:     CARD16 length B16;
        !          1301:     Window grabWindow B32;
        !          1302:     CARD16 modifiers B16;
        !          1303:     CARD8 key;
        !          1304:     BYTE pointerMode, keyboardMode;  
        !          1305:     BYTE pad1, pad2, pad3;
        !          1306: } xGrabKeyReq;
        !          1307: 
        !          1308: typedef struct {
        !          1309:     CARD8 reqType;
        !          1310:     CARD8 key;
        !          1311:     CARD16 length B16;
        !          1312:     Window grabWindow B32;
        !          1313:     CARD16 modifiers B16;
        !          1314:     CARD16 pad B16;
        !          1315: } xUngrabKeyReq;
        !          1316: 
        !          1317: typedef struct {
        !          1318:     CARD8 reqType;
        !          1319:     CARD8 mode;
        !          1320:     CARD16 length B16;
        !          1321:     Time time B32;
        !          1322: } xAllowEventsReq;
        !          1323: 
        !          1324: typedef struct {
        !          1325:     CARD8 reqType;
        !          1326:     BYTE pad;
        !          1327:     CARD16 length B16;
        !          1328:     Window window B32;
        !          1329:     Time start B32, stop B32;
        !          1330: } xGetMotionEventsReq;
        !          1331: 
        !          1332: typedef struct {
        !          1333:     CARD8 reqType;
        !          1334:     BYTE pad;
        !          1335:     CARD16 length B16;
        !          1336:     Window srcWid B32, dstWid B32;
        !          1337:     INT16 srcX B16, srcY B16;
        !          1338: } xTranslateCoordsReq;
        !          1339: 
        !          1340: typedef struct {
        !          1341:     CARD8 reqType;
        !          1342:     BYTE pad;
        !          1343:     CARD16 length B16;
        !          1344:     Window srcWid B32, dstWid B32;
        !          1345:     INT16 srcX B16, srcY B16;
        !          1346:     CARD16 srcWidth B16, srcHeight B16;
        !          1347:     INT16 dstX B16, dstY B16;
        !          1348: } xWarpPointerReq;
        !          1349: 
        !          1350: typedef struct {
        !          1351:     CARD8 reqType;
        !          1352:     CARD8 revertTo;
        !          1353:     CARD16 length B16;
        !          1354:     Window focus B32;
        !          1355:     Time time B32;
        !          1356: } xSetInputFocusReq;
        !          1357: 
        !          1358: typedef struct {
        !          1359:     CARD8 reqType;
        !          1360:     BYTE pad;
        !          1361:     CARD16 length B16;
        !          1362:     Font fid B32;
        !          1363:     CARD16 nbytes B16;
        !          1364:     BYTE pad1, pad2;   /* string follows on word boundary */
        !          1365: } xOpenFontReq;
        !          1366: 
        !          1367: typedef struct {
        !          1368:     CARD8 reqType;
        !          1369:     BOOL oddLength;
        !          1370:     CARD16 length B16;
        !          1371:     Font fid B32;
        !          1372:     } xQueryTextExtentsReq;
        !          1373: 
        !          1374: typedef struct {
        !          1375:     CARD8 reqType;
        !          1376:     BYTE pad;
        !          1377:     CARD16 length B16;
        !          1378:     CARD16 maxNames B16;
        !          1379:     CARD16 nbytes B16;  /* followed immediately by string bytes */
        !          1380: } xListFontsReq;
        !          1381: 
        !          1382: typedef xListFontsReq xListFontsWithInfoReq;
        !          1383: 
        !          1384: typedef struct {
        !          1385:     CARD8 reqType;
        !          1386:     BYTE pad;
        !          1387:     CARD16 length B16;
        !          1388:     CARD16 nFonts B16;
        !          1389:     BYTE pad1, pad2;   /* LISTofSTRING8 follows on word boundary */
        !          1390: } xSetFontPathReq;
        !          1391: 
        !          1392: typedef struct {
        !          1393:     CARD8 reqType;
        !          1394:     CARD8 depth;
        !          1395:     CARD16 length B16;
        !          1396:     Pixmap pid B32;
        !          1397:     Drawable drawable B32;
        !          1398:     CARD16 width B16, height B16;
        !          1399: } xCreatePixmapReq;
        !          1400: 
        !          1401: typedef struct {
        !          1402:     CARD8 reqType;
        !          1403:     BYTE pad;
        !          1404:     CARD16 length B16;
        !          1405:     GContext gc B32;
        !          1406:     Drawable drawable B32;
        !          1407:     CARD32 mask B32;
        !          1408: } xCreateGCReq;
        !          1409: 
        !          1410: typedef struct {
        !          1411:     CARD8 reqType;
        !          1412:     BYTE pad;
        !          1413:     CARD16 length B16;
        !          1414:     GContext gc B32;
        !          1415:     CARD32 mask B32;
        !          1416: } xChangeGCReq;    
        !          1417: 
        !          1418: typedef struct {
        !          1419:     CARD8 reqType;
        !          1420:     BYTE pad;
        !          1421:     CARD16 length B16;
        !          1422:     GContext srcGC B32, dstGC B32;
        !          1423:     CARD32 mask B32;
        !          1424: } xCopyGCReq;    
        !          1425: 
        !          1426: typedef struct {
        !          1427:     CARD8 reqType;
        !          1428:     BYTE pad;
        !          1429:     CARD16 length B16;
        !          1430:     GContext gc B32;
        !          1431:     CARD16 dashOffset B16;
        !          1432:     CARD16 nDashes B16;        /* length LISTofCARD8 of values following */
        !          1433: } xSetDashesReq;    
        !          1434: 
        !          1435: typedef struct {
        !          1436:     CARD8 reqType;
        !          1437:     BYTE ordering;
        !          1438:     CARD16 length B16;
        !          1439:     GContext gc B32;
        !          1440:     INT16 xOrigin B16, yOrigin B16;
        !          1441: } xSetClipRectanglesReq;    
        !          1442: 
        !          1443: typedef struct {
        !          1444:     CARD8 reqType;
        !          1445:     BOOL exposures;
        !          1446:     CARD16 length B16;
        !          1447:     Window window B32;
        !          1448:     INT16 x B16, y B16;
        !          1449:     CARD16 width B16, height B16;
        !          1450: } xClearAreaReq;
        !          1451: 
        !          1452: typedef struct {
        !          1453:     CARD8 reqType;
        !          1454:     BYTE pad;
        !          1455:     CARD16 length B16;
        !          1456:     Drawable srcDrawable B32, dstDrawable B32;
        !          1457:     GContext gc B32;
        !          1458:     INT16 srcX B16, srcY B16, dstX B16, dstY B16;
        !          1459:     CARD16 width B16, height B16;
        !          1460: } xCopyAreaReq;    
        !          1461: 
        !          1462: typedef struct {
        !          1463:     CARD8 reqType;
        !          1464:     BYTE pad;
        !          1465:     CARD16 length B16;
        !          1466:     Drawable srcDrawable B32, dstDrawable B32;
        !          1467:     GContext gc B32;
        !          1468:     INT16 srcX B16, srcY B16, dstX B16, dstY B16;
        !          1469:     CARD16 width B16, height B16;
        !          1470:     CARD32 bitPlane B32;
        !          1471: } xCopyPlaneReq;    
        !          1472: 
        !          1473: typedef struct {
        !          1474:     CARD8 reqType;
        !          1475:     BYTE coordMode;
        !          1476:     CARD16 length B16;
        !          1477:     Drawable drawable B32;
        !          1478:     GContext gc B32;
        !          1479: } xPolyPointReq;    
        !          1480: 
        !          1481: typedef xPolyPointReq xPolyLineReq;  /* same request structure */
        !          1482: 
        !          1483: /* The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc */
        !          1484: 
        !          1485: typedef struct {
        !          1486:     CARD8 reqType;
        !          1487:     BYTE pad;
        !          1488:     CARD16 length B16;
        !          1489:     Drawable drawable B32;
        !          1490:     GContext gc B32;
        !          1491: } xPolySegmentReq;    
        !          1492: 
        !          1493: typedef xPolySegmentReq xPolyArcReq;
        !          1494: typedef xPolySegmentReq xPolyRectangleReq;
        !          1495: typedef xPolySegmentReq xPolyFillRectangleReq;
        !          1496: typedef xPolySegmentReq xPolyFillArcReq;
        !          1497: 
        !          1498: typedef struct _FillPolyReq {
        !          1499:     CARD8 reqType;
        !          1500:     BYTE pad;
        !          1501:     CARD16 length B16;
        !          1502:     Drawable drawable B32;
        !          1503:     GContext gc B32;
        !          1504:     BYTE shape;
        !          1505:     BYTE coordMode;
        !          1506:     CARD16 pad1 B16;
        !          1507: } xFillPolyReq;    
        !          1508: 
        !          1509: 
        !          1510: typedef struct _PutImageReq {
        !          1511:     CARD8 reqType;
        !          1512:     CARD8 format;
        !          1513:     CARD16 length B16;
        !          1514:     Drawable drawable B32;
        !          1515:     GContext gc B32;
        !          1516:     CARD16 width B16, height B16;
        !          1517:     INT16 dstX B16, dstY B16;
        !          1518:     CARD8 leftPad;
        !          1519:     CARD8 depth;
        !          1520:     CARD16 pad B16;
        !          1521: } xPutImageReq;    
        !          1522: 
        !          1523: typedef struct {
        !          1524:     CARD8 reqType;
        !          1525:     CARD8 format;
        !          1526:     CARD16 length B16;
        !          1527:     Drawable drawable B32;
        !          1528:     INT16 x B16, y B16;
        !          1529:     CARD16 width B16, height B16;
        !          1530:     CARD32 planeMask B32;
        !          1531: } xGetImageReq;    
        !          1532: 
        !          1533: /* the folloiwng used by PolyText8 and PolyText16 */
        !          1534: 
        !          1535: typedef struct {
        !          1536:     CARD8 reqType;
        !          1537:     CARD8 pad;
        !          1538:     CARD16 length B16;
        !          1539:     Drawable drawable B32;
        !          1540:     GContext gc B32;
        !          1541:     INT16 x B16, y B16;                /* items (xTextElt) start after struct */
        !          1542: } xPolyTextReq;    
        !          1543: 
        !          1544: typedef xPolyTextReq xPolyText8Req;
        !          1545: typedef xPolyTextReq xPolyText16Req;
        !          1546: 
        !          1547: typedef struct {
        !          1548:     CARD8 reqType;
        !          1549:     BYTE nChars;
        !          1550:     CARD16 length B16;
        !          1551:     Drawable drawable B32;
        !          1552:     GContext gc B32;
        !          1553:     INT16 x B16, y B16;
        !          1554: } xImageTextReq;    
        !          1555: 
        !          1556: typedef xImageTextReq xImageText8Req;
        !          1557: typedef xImageTextReq xImageText16Req;
        !          1558: 
        !          1559: typedef struct {
        !          1560:     CARD8 reqType;
        !          1561:     BYTE alloc;
        !          1562:     CARD16 length B16;
        !          1563:     Colormap mid B32;
        !          1564:     Window window B32;
        !          1565:     VisualID visual B32;
        !          1566: } xCreateColormapReq;    
        !          1567: 
        !          1568: typedef struct {
        !          1569:     CARD8 reqType;
        !          1570:     BYTE pad;
        !          1571:     CARD16 length B16;
        !          1572:     Colormap mid B32;
        !          1573:     Colormap srcCmap B32;
        !          1574: } xCopyColormapAndFreeReq;    
        !          1575: 
        !          1576: typedef struct {
        !          1577:     CARD8 reqType;
        !          1578:     BYTE pad;
        !          1579:     CARD16 length B16;
        !          1580:     Colormap cmap B32;
        !          1581:     CARD16 red B16, green B16, blue B16;
        !          1582:     CARD16 pad2 B16;
        !          1583: } xAllocColorReq;    
        !          1584: 
        !          1585: typedef struct {
        !          1586:     CARD8 reqType;
        !          1587:     BYTE pad;
        !          1588:     CARD16 length B16;
        !          1589:     Colormap cmap B32;
        !          1590:     CARD16 nbytes B16;  /* followed by structure */
        !          1591:     BYTE pad1, pad2;
        !          1592: } xAllocNamedColorReq;    
        !          1593: 
        !          1594: typedef struct {
        !          1595:     CARD8 reqType;
        !          1596:     BOOL contiguous;
        !          1597:     CARD16 length B16;
        !          1598:     Colormap cmap B32;
        !          1599:     CARD16 colors B16, planes B16;
        !          1600: } xAllocColorCellsReq;    
        !          1601: 
        !          1602: typedef struct {
        !          1603:     CARD8 reqType;
        !          1604:     BOOL contiguous;
        !          1605:     CARD16 length B16;
        !          1606:     Colormap cmap B32;
        !          1607:     CARD16 colors B16, red B16, green B16, blue B16;
        !          1608: } xAllocColorPlanesReq;    
        !          1609: 
        !          1610: typedef struct {
        !          1611:     CARD8 reqType;
        !          1612:     BYTE pad;
        !          1613:     CARD16 length B16;
        !          1614:     Colormap cmap B32;
        !          1615:     CARD32 planeMask B32;
        !          1616: } xFreeColorsReq;    
        !          1617: 
        !          1618: typedef struct {
        !          1619:     CARD8 reqType;
        !          1620:     BYTE pad;
        !          1621:     CARD16 length B16;
        !          1622:     Colormap cmap B32;
        !          1623: } xStoreColorsReq;    
        !          1624: 
        !          1625: typedef struct {
        !          1626:     CARD8 reqType;
        !          1627:     CARD8 flags;   /* DoRed, DoGreen, DoBlue, as in xColorItem */
        !          1628:     CARD16 length B16;
        !          1629:     Colormap cmap B32;
        !          1630:     CARD32 pixel B32;
        !          1631:     CARD16 nbytes B16;  /* number of name string bytes following structure */
        !          1632:     BYTE pad1, pad2;
        !          1633:     } xStoreNamedColorReq;
        !          1634: 
        !          1635: typedef struct {
        !          1636:     CARD8 reqType;
        !          1637:     BYTE pad;
        !          1638:     CARD16 length B16;
        !          1639:     Colormap cmap B32;
        !          1640: } xQueryColorsReq;    
        !          1641: 
        !          1642: typedef struct {    /* followed  by string of length len */
        !          1643:     CARD8 reqType;
        !          1644:     BYTE pad;
        !          1645:     CARD16 length B16;
        !          1646:     Colormap cmap B32;
        !          1647:     CARD16 nbytes B16;  /* number of string bytes following structure*/
        !          1648:     BYTE pad1, pad2;
        !          1649: } xLookupColorReq;    
        !          1650: 
        !          1651: typedef struct {
        !          1652:     CARD8 reqType;
        !          1653:     BYTE pad;
        !          1654:     CARD16 length B16;
        !          1655:     Cursor cid B32;
        !          1656:     Pixmap source B32, mask B32;
        !          1657:     CARD16 foreRed B16, foreGreen B16, foreBlue B16;
        !          1658:     CARD16 backRed B16, backGreen B16, backBlue B16;
        !          1659:     CARD16 x B16, y B16;
        !          1660: } xCreateCursorReq;    
        !          1661: 
        !          1662: typedef struct {
        !          1663:     CARD8 reqType;
        !          1664:     BYTE pad;
        !          1665:     CARD16 length B16;
        !          1666:     Cursor cid B32;
        !          1667:     Font source B32, mask B32;
        !          1668:     CARD16 sourceChar B16, maskChar B16;
        !          1669:     CARD16 foreRed B16, foreGreen B16, foreBlue B16;
        !          1670:     CARD16 backRed B16, backGreen B16, backBlue B16;
        !          1671: } xCreateGlyphCursorReq;    
        !          1672: 
        !          1673: typedef struct {
        !          1674:     CARD8 reqType;
        !          1675:     BYTE pad;
        !          1676:     CARD16 length B16;
        !          1677:     Cursor cursor B32;
        !          1678:     CARD16 foreRed B16, foreGreen B16, foreBlue B16;
        !          1679:     CARD16 backRed B16, backGreen B16, backBlue B16;
        !          1680: } xRecolorCursorReq;    
        !          1681: 
        !          1682: typedef struct {
        !          1683:     CARD8 reqType;
        !          1684:     CARD8 class;
        !          1685:     CARD16 length B16;
        !          1686:     Drawable drawable B32;
        !          1687:     CARD16 width B16, height B16;
        !          1688: } xQueryBestSizeReq;    
        !          1689: 
        !          1690: typedef struct {
        !          1691:     CARD8 reqType;
        !          1692:     BYTE pad;
        !          1693:     CARD16 length B16;
        !          1694:     CARD16 nbytes B16;  /* number of string bytes following structure */
        !          1695:     BYTE pad1, pad2;
        !          1696: } xQueryExtensionReq;
        !          1697: 
        !          1698: typedef struct {
        !          1699:     CARD8   reqType;
        !          1700:     CARD8   numKeyPerModifier;
        !          1701:     CARD16  length B16;
        !          1702: } xSetModifierMappingReq;
        !          1703: 
        !          1704: typedef struct {
        !          1705:     CARD8 reqType;
        !          1706:     CARD8 nElts;  /* how many elements in the map */
        !          1707:     CARD16 length B16;
        !          1708: } xSetPointerMappingReq;
        !          1709: 
        !          1710: typedef struct {
        !          1711:     CARD8 reqType;
        !          1712:     BYTE pad;
        !          1713:     CARD16 length B16;
        !          1714:     KeyCode firstKeyCode;
        !          1715:     CARD8 count;
        !          1716:     CARD16 pad1 B16;
        !          1717: } xGetKeyboardMappingReq;    
        !          1718: 
        !          1719: typedef struct {
        !          1720:     CARD8 reqType;
        !          1721:     CARD8 keyCodes;
        !          1722:     CARD16 length B16;
        !          1723:     KeyCode firstKeyCode;
        !          1724:     CARD8 keySymsPerKeyCode;
        !          1725:     CARD16 pad1 B16;
        !          1726: } xChangeKeyboardMappingReq;
        !          1727: 
        !          1728: typedef struct {
        !          1729:     CARD8 reqType;
        !          1730:     BYTE pad;
        !          1731:     CARD16 length B16;
        !          1732:     CARD32 mask B32;
        !          1733: } xChangeKeyboardControlReq;    
        !          1734: 
        !          1735: typedef struct {
        !          1736:     CARD8 reqType;
        !          1737:     INT8 percent;  /* -100 to 100 */
        !          1738:     CARD16 length B16;
        !          1739: } xBellReq;    
        !          1740: 
        !          1741: typedef struct {
        !          1742:     CARD8 reqType;
        !          1743:     BYTE pad;
        !          1744:     CARD16 length B16;
        !          1745:     INT16 accelNum B16, accelDenum B16;
        !          1746:     INT16 threshold B16;             
        !          1747:     BOOL doAccel, doThresh;
        !          1748: } xChangePointerControlReq;    
        !          1749: 
        !          1750: typedef struct {
        !          1751:     CARD8 reqType;
        !          1752:     BYTE pad;
        !          1753:     CARD16 length B16;
        !          1754:     INT16 timeout B16, interval B16;
        !          1755:     BYTE preferBlank, allowExpose;  
        !          1756:     CARD16 pad2 B16;
        !          1757: } xSetScreenSaverReq;    
        !          1758: 
        !          1759: typedef struct {
        !          1760:     CARD8 reqType;
        !          1761:     BYTE mode;
        !          1762:     CARD16 length B16;
        !          1763:     CARD8 hostFamily;
        !          1764:     BYTE pad;
        !          1765:     CARD16 hostLength B16;
        !          1766: } xChangeHostsReq;    
        !          1767: 
        !          1768: typedef struct {
        !          1769:     CARD8 reqType;
        !          1770:     BYTE pad;
        !          1771:     CARD16 length B16;
        !          1772:     } xListHostsReq;
        !          1773: 
        !          1774: typedef struct {
        !          1775:     CARD8 reqType;
        !          1776:     BYTE mode;
        !          1777:     CARD16 length B16;
        !          1778:     } xChangeModeReq;
        !          1779: 
        !          1780: typedef xChangeModeReq xSetAccessControlReq;
        !          1781: typedef xChangeModeReq xSetCloseDownModeReq;
        !          1782: typedef xChangeModeReq xForceScreenSaverReq;
        !          1783: 
        !          1784: typedef struct { /* followed by LIST of ATOM */
        !          1785:     CARD8 reqType;
        !          1786:     BYTE pad;
        !          1787:     CARD16 length B16;
        !          1788:     Window window B32;
        !          1789:     CARD16 nAtoms B16;
        !          1790:     INT16 nPositions B16;
        !          1791:     } xRotatePropertiesReq;
        !          1792:     
        !          1793: 
        !          1794: 
        !          1795: /* Reply codes */
        !          1796: 
        !          1797: #define X_Reply                1               /* Normal reply */
        !          1798: #define X_Error                0               /* Error */
        !          1799: 
        !          1800: /* Request codes */
        !          1801: 
        !          1802: #define X_CreateWindow                  1              
        !          1803: #define X_ChangeWindowAttributes        2        
        !          1804: #define X_GetWindowAttributes           3     
        !          1805: #define X_DestroyWindow                 4
        !          1806: #define X_DestroySubwindows             5   
        !          1807: #define X_ChangeSaveSet                 6
        !          1808: #define X_ReparentWindow                7
        !          1809: #define X_MapWindow                     8
        !          1810: #define X_MapSubwindows                 9
        !          1811: #define X_UnmapWindow                  10
        !          1812: #define X_UnmapSubwindows              11  
        !          1813: #define X_ConfigureWindow              12  
        !          1814: #define X_CirculateWindow              13  
        !          1815: #define X_GetGeometry                  14
        !          1816: #define X_QueryTree                    15
        !          1817: #define X_InternAtom                   16
        !          1818: #define X_GetAtomName                  17
        !          1819: #define X_ChangeProperty               18 
        !          1820: #define X_DeleteProperty               19 
        !          1821: #define X_GetProperty                  20
        !          1822: #define X_ListProperties               21 
        !          1823: #define X_SetSelectionOwner            22    
        !          1824: #define X_GetSelectionOwner            23    
        !          1825: #define X_ConvertSelection             24   
        !          1826: #define X_SendEvent                    25
        !          1827: #define X_GrabPointer                  26
        !          1828: #define X_UngrabPointer                27
        !          1829: #define X_GrabButton                   28
        !          1830: #define X_UngrabButton                 29
        !          1831: #define X_ChangeActivePointerGrab      30          
        !          1832: #define X_GrabKeyboard                 31
        !          1833: #define X_UngrabKeyboard               32 
        !          1834: #define X_GrabKey                      33
        !          1835: #define X_UngrabKey                    34
        !          1836: #define X_AllowEvents                  35       
        !          1837: #define X_GrabServer                   36      
        !          1838: #define X_UngrabServer                 37        
        !          1839: #define X_QueryPointer                 38        
        !          1840: #define X_GetMotionEvents              39           
        !          1841: #define X_TranslateCoords              40                
        !          1842: #define X_WarpPointer                  41       
        !          1843: #define X_SetInputFocus                42         
        !          1844: #define X_GetInputFocus                43         
        !          1845: #define X_QueryKeymap                  44       
        !          1846: #define X_OpenFont                     45    
        !          1847: #define X_CloseFont                    46     
        !          1848: #define X_QueryFont                    47
        !          1849: #define X_QueryTextExtents             48     
        !          1850: #define X_ListFonts                    49  
        !          1851: #define X_ListFontsWithInfo                   50 
        !          1852: #define X_SetFontPath                  51 
        !          1853: #define X_GetFontPath                  52 
        !          1854: #define X_CreatePixmap                 53        
        !          1855: #define X_FreePixmap                   54      
        !          1856: #define X_CreateGC                     55    
        !          1857: #define X_ChangeGC                     56    
        !          1858: #define X_CopyGC                       57  
        !          1859: #define X_SetDashes                    58     
        !          1860: #define X_SetClipRectangles            59             
        !          1861: #define X_FreeGC                       60  
        !          1862: #define X_ClearArea                    61             
        !          1863: #define X_CopyArea                     62    
        !          1864: #define X_CopyPlane                    63     
        !          1865: #define X_PolyPoint                    64     
        !          1866: #define X_PolyLine                     65    
        !          1867: #define X_PolySegment                  66       
        !          1868: #define X_PolyRectangle                67         
        !          1869: #define X_PolyArc                      68   
        !          1870: #define X_FillPoly                     69    
        !          1871: #define X_PolyFillRectangle            70             
        !          1872: #define X_PolyFillArc                  71       
        !          1873: #define X_PutImage                     72    
        !          1874: #define X_GetImage                     73 
        !          1875: #define X_PolyText8                    74     
        !          1876: #define X_PolyText16                   75      
        !          1877: #define X_ImageText8                   76      
        !          1878: #define X_ImageText16                  77       
        !          1879: #define X_CreateColormap               78          
        !          1880: #define X_FreeColormap                 79        
        !          1881: #define X_CopyColormapAndFree          80               
        !          1882: #define X_InstallColormap              81           
        !          1883: #define X_UninstallColormap            82             
        !          1884: #define X_ListInstalledColormaps       83                  
        !          1885: #define X_AllocColor                   84      
        !          1886: #define X_AllocNamedColor              85           
        !          1887: #define X_AllocColorCells              86           
        !          1888: #define X_AllocColorPlanes             87            
        !          1889: #define X_FreeColors                   88      
        !          1890: #define X_StoreColors                  89       
        !          1891: #define X_StoreNamedColor              90           
        !          1892: #define X_QueryColors                  91       
        !          1893: #define X_LookupColor                  92       
        !          1894: #define X_CreateCursor                 93        
        !          1895: #define X_CreateGlyphCursor            94             
        !          1896: #define X_FreeCursor                   95      
        !          1897: #define X_RecolorCursor                96         
        !          1898: #define X_QueryBestSize                97         
        !          1899: #define X_QueryExtension               98          
        !          1900: #define X_ListExtensions               99          
        !          1901: #define X_ChangeKeyboardMapping        100
        !          1902: #define X_GetKeyboardMapping           101
        !          1903: #define X_ChangeKeyboardControl        102                
        !          1904: #define X_GetKeyboardControl           103             
        !          1905: #define X_Bell                         104
        !          1906: #define X_ChangePointerControl         105
        !          1907: #define X_GetPointerControl            106
        !          1908: #define X_SetScreenSaver               107          
        !          1909: #define X_GetScreenSaver               108          
        !          1910: #define X_ChangeHosts                  109       
        !          1911: #define X_ListHosts                    110     
        !          1912: #define X_SetAccessControl             111               
        !          1913: #define X_SetCloseDownMode             112
        !          1914: #define X_KillClient                   113 
        !          1915: #define X_RotateProperties            114
        !          1916: #define X_ForceScreenSaver            115
        !          1917: #define X_SetPointerMapping            116
        !          1918: #define X_GetPointerMapping            117
        !          1919: #define X_SetModifierMapping          118
        !          1920: #define X_GetModifierMapping          119
        !          1921: #define X_NoOperation                  127
        !          1922: 
        !          1923: /* restore these definitions back to the typedefs in X.h */
        !          1924: #undef Window
        !          1925: #undef Drawable
        !          1926: #undef Font
        !          1927: #undef Pixmap
        !          1928: #undef Cursor
        !          1929: #undef Colormap
        !          1930: #undef GContext
        !          1931: #undef Atom
        !          1932: #undef VisualID
        !          1933: #undef Time
        !          1934: #undef KeyCode
        !          1935: #undef KeySym
        !          1936: 
        !          1937: #endif /* XPROTO_H */
        !          1938: 

unix.superglobalmegacorp.com

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