]> git.sesse.net Git - rdpsrv/blobdiff - Xserver/include/Xproto.h
Removed Xserver/ directory, it does nothing useful ATM.
[rdpsrv] / Xserver / include / Xproto.h
diff --git a/Xserver/include/Xproto.h b/Xserver/include/Xproto.h
deleted file mode 100644 (file)
index 58e047b..0000000
+++ /dev/null
@@ -1,2130 +0,0 @@
-/*
- *     $XConsortium: Xproto.h /main/21 1996/03/20 15:27:51 mor $
- */
-
-/* Definitions for the X window system used by server and c bindings */
-
-/*
- * This packet-construction scheme makes the following assumptions:
- *
- * 1. The compiler is able
- * to generate code which addresses one- and two-byte quantities.
- * In the worst case, this would be done with bit-fields.  If bit-fields
- * are used it may be necessary to reorder the request fields in this file,
- * depending on the order in which the machine assigns bit fields to
- * machine words.  There may also be a problem with sign extension,
- * as K+R specify that bitfields are always unsigned.
- *
- * 2. 2- and 4-byte fields in packet structures must be ordered by hand
- * such that they are naturally-aligned, so that no compiler will ever
- * insert padding bytes.
- *
- * 3. All packets are hand-padded to a multiple of 4 bytes, for
- * the same reason.
- */
-
-#ifndef XPROTO_H
-#define XPROTO_H
-
-/***********************************************************
-
-Copyright (c) 1987  X Consortium
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the X Consortium.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
-                        All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its 
-documentation for any purpose and without fee is hereby granted, 
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in 
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.  
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-
-#include <X11/Xmd.h>
-#include <X11/Xprotostr.h>
-
-/*
- * Define constants for the sizes of the network packets.  The sz_ prefix is
- * used instead of something more descriptive so that the symbols are no more
- * than 32 characters in length (which causes problems for some compilers).
- */
-#define sz_xSegment 8
-#define sz_xPoint 4
-#define sz_xRectangle 8
-#define sz_xArc 12
-#define sz_xConnClientPrefix 12
-#define sz_xConnSetupPrefix 8
-#define sz_xConnSetup 32
-#define sz_xPixmapFormat 8
-#define sz_xDepth 8
-#define sz_xVisualType 24
-#define sz_xWindowRoot 40
-#define sz_xTimecoord 8
-#define sz_xHostEntry 4
-#define sz_xCharInfo 12
-#define sz_xFontProp 8
-#define sz_xTextElt 2
-#define sz_xColorItem 12
-#define sz_xrgb 8
-#define sz_xGenericReply 32
-#define sz_xGetWindowAttributesReply 44
-#define sz_xGetGeometryReply 32
-#define sz_xQueryTreeReply 32
-#define sz_xInternAtomReply 32
-#define sz_xGetAtomNameReply 32
-#define sz_xGetPropertyReply 32
-#define sz_xListPropertiesReply 32
-#define sz_xGetSelectionOwnerReply 32
-#define sz_xGrabPointerReply 32
-#define sz_xQueryPointerReply 32
-#define sz_xGetMotionEventsReply 32
-#define sz_xTranslateCoordsReply 32
-#define sz_xGetInputFocusReply 32
-#define sz_xQueryKeymapReply 40
-#define sz_xQueryFontReply 60
-#define sz_xQueryTextExtentsReply 32
-#define sz_xListFontsReply 32
-#define sz_xGetFontPathReply 32
-#define sz_xGetImageReply 32
-#define sz_xListInstalledColormapsReply 32
-#define sz_xAllocColorReply 32
-#define sz_xAllocNamedColorReply 32
-#define sz_xAllocColorCellsReply 32
-#define sz_xAllocColorPlanesReply 32
-#define sz_xQueryColorsReply 32
-#define sz_xLookupColorReply 32
-#define sz_xQueryBestSizeReply 32
-#define sz_xQueryExtensionReply 32
-#define sz_xListExtensionsReply 32
-#define sz_xSetMappingReply 32
-#define sz_xGetKeyboardControlReply 52
-#define sz_xGetPointerControlReply 32
-#define sz_xGetScreenSaverReply 32
-#define sz_xListHostsReply 32
-#define sz_xSetModifierMappingReply 32
-#define sz_xError 32
-#define sz_xEvent 32
-#define sz_xKeymapEvent 32
-#define sz_xReq 4
-#define sz_xResourceReq 8
-#define sz_xCreateWindowReq 32
-#define sz_xChangeWindowAttributesReq 12
-#define sz_xChangeSaveSetReq 8
-#define sz_xReparentWindowReq 16
-#define sz_xConfigureWindowReq 12
-#define sz_xCirculateWindowReq 8
-#define sz_xInternAtomReq 8
-#define sz_xChangePropertyReq 24
-#define sz_xDeletePropertyReq 12
-#define sz_xGetPropertyReq 24
-#define sz_xSetSelectionOwnerReq 16
-#define sz_xConvertSelectionReq 24
-#define sz_xSendEventReq 44
-#define sz_xGrabPointerReq 24
-#define sz_xGrabButtonReq 24
-#define sz_xUngrabButtonReq 12
-#define sz_xChangeActivePointerGrabReq 16
-#define sz_xGrabKeyboardReq 16
-#define sz_xGrabKeyReq 16
-#define sz_xUngrabKeyReq 12
-#define sz_xAllowEventsReq 8
-#define sz_xGetMotionEventsReq 16
-#define sz_xTranslateCoordsReq 16
-#define sz_xWarpPointerReq 24
-#define sz_xSetInputFocusReq 12
-#define sz_xOpenFontReq 12
-#define sz_xQueryTextExtentsReq 8
-#define sz_xListFontsReq 8
-#define sz_xSetFontPathReq 8
-#define sz_xCreatePixmapReq 16
-#define sz_xCreateGCReq 16
-#define sz_xChangeGCReq 12
-#define sz_xCopyGCReq 16
-#define sz_xSetDashesReq 12
-#define sz_xSetClipRectanglesReq 12
-#define sz_xCopyAreaReq 28
-#define sz_xCopyPlaneReq 32
-#define sz_xPolyPointReq 12
-#define sz_xPolySegmentReq 12
-#define sz_xFillPolyReq 16
-#define sz_xPutImageReq 24
-#define sz_xGetImageReq 20
-#define sz_xPolyTextReq 16
-#define sz_xImageTextReq 16
-#define sz_xCreateColormapReq 16
-#define sz_xCopyColormapAndFreeReq 12
-#define sz_xAllocColorReq 16
-#define sz_xAllocNamedColorReq 12
-#define sz_xAllocColorCellsReq 12
-#define sz_xAllocColorPlanesReq 16
-#define sz_xFreeColorsReq 12
-#define sz_xStoreColorsReq 8
-#define sz_xStoreNamedColorReq 16
-#define sz_xQueryColorsReq 8
-#define sz_xLookupColorReq 12
-#define sz_xCreateCursorReq 32
-#define sz_xCreateGlyphCursorReq 32
-#define sz_xRecolorCursorReq 20
-#define sz_xQueryBestSizeReq 12
-#define sz_xQueryExtensionReq 8
-#define sz_xChangeKeyboardControlReq 8
-#define sz_xBellReq 4
-#define sz_xChangePointerControlReq 12
-#define sz_xSetScreenSaverReq 12
-#define sz_xChangeHostsReq 8
-#define sz_xListHostsReq 4
-#define sz_xChangeModeReq 4
-#define sz_xRotatePropertiesReq 12
-#define sz_xReply 32
-#define sz_xGrabKeyboardReply 32
-#define sz_xListFontsWithInfoReply 60
-#define sz_xSetPointerMappingReply 32
-#define sz_xGetKeyboardMappingReply 32
-#define sz_xGetPointerMappingReply 32
-#define sz_xGetModifierMappingReply 32
-#define sz_xListFontsWithInfoReq 8
-#define sz_xPolyLineReq 12
-#define sz_xPolyArcReq 12
-#define sz_xPolyRectangleReq 12
-#define sz_xPolyFillRectangleReq 12
-#define sz_xPolyFillArcReq 12
-#define sz_xPolyText8Req 16
-#define sz_xPolyText16Req 16
-#define sz_xImageText8Req 16
-#define sz_xImageText16Req 16
-#define sz_xSetPointerMappingReq 4
-#define sz_xForceScreenSaverReq 4
-#define sz_xSetCloseDownModeReq 4
-#define sz_xClearAreaReq 16
-#define sz_xSetAccessControlReq 4
-#define sz_xGetKeyboardMappingReq 8
-#define sz_xSetModifierMappingReq 4
-#define sz_xPropIconSize 24
-#define sz_xChangeKeyboardMappingReq 8
-
-
-/* For the purpose of the structure definitions in this file,
-we must redefine the following types in terms of Xmd.h's types, which may
-include bit fields.  All of these are #undef'd at the end of this file,
-restoring the definitions in X.h.  */
-
-#define Window CARD32
-#define Drawable CARD32
-#define Font CARD32
-#define Pixmap CARD32
-#define Cursor CARD32
-#define Colormap CARD32
-#define GContext CARD32
-#define Atom CARD32
-#define VisualID CARD32
-#define Time CARD32
-#define KeyCode CARD8
-#define KeySym CARD32
-
-#define X_TCP_PORT 6000     /* add display number */
-
-#define xTrue        1
-#define xFalse       0
-
-
-typedef CARD16 KeyButMask;
-
-/***************** 
-   connection setup structure.  This is followed by
-   numRoots xWindowRoot structs.
-*****************/
-
-typedef struct {
-    CARD8      byteOrder;
-    BYTE       pad;
-    CARD16     majorVersion B16, minorVersion B16;
-    CARD16     nbytesAuthProto B16;    /* Authorization protocol */
-    CARD16     nbytesAuthString B16;   /* Authorization string */
-    CARD16     pad2 B16;
-} xConnClientPrefix;
-
-typedef struct {
-    CARD8          success;
-    BYTE           lengthReason; /*num bytes in string following if failure */
-    CARD16         majorVersion B16, 
-                   minorVersion B16;
-    CARD16         length B16;  /* 1/4 additional bytes in setup info */
-} xConnSetupPrefix;
-
-
-typedef struct {
-    CARD32         release B32;
-    CARD32         ridBase B32, 
-                   ridMask B32;
-    CARD32         motionBufferSize B32;
-    CARD16         nbytesVendor B16;  /* number of bytes in vendor string */
-    CARD16         maxRequestSize B16;
-    CARD8          numRoots;          /* number of roots structs to follow */
-    CARD8          numFormats;        /* number of pixmap formats */
-    CARD8          imageByteOrder;        /* LSBFirst, MSBFirst */
-    CARD8          bitmapBitOrder;        /* LeastSignificant, MostSign...*/
-    CARD8          bitmapScanlineUnit,     /* 8, 16, 32 */
-                   bitmapScanlinePad;     /* 8, 16, 32 */
-    KeyCode       minKeyCode, maxKeyCode;
-    CARD32        pad2 B32;
-} xConnSetup;
-
-typedef struct {
-    CARD8          depth;
-    CARD8          bitsPerPixel;
-    CARD8          scanLinePad;
-    CARD8          pad1;
-    CARD32        pad2 B32;
-} xPixmapFormat;
-
-/* window root */
-
-typedef struct {
-    CARD8      depth;
-    CARD8      pad1;
-    CARD16     nVisuals B16;  /* number of xVisualType structures following */
-    CARD32     pad2 B32;
-    } xDepth;
-
-typedef struct {
-    VisualID visualID B32;
-#if defined(__cplusplus) || defined(c_plusplus)
-    CARD8 c_class;
-#else
-    CARD8 class;
-#endif
-    CARD8 bitsPerRGB;
-    CARD16 colormapEntries B16;
-    CARD32 redMask B32, greenMask B32, blueMask B32;
-    CARD32 pad B32;
-    } xVisualType;
-
-typedef struct {
-    Window         windowId B32;
-    Colormap       defaultColormap B32;
-    CARD32         whitePixel B32, blackPixel B32;
-    CARD32         currentInputMask B32;   
-    CARD16         pixWidth B16, pixHeight B16;
-    CARD16         mmWidth B16, mmHeight B16;
-    CARD16         minInstalledMaps B16, maxInstalledMaps B16;
-    VisualID       rootVisualID B32;
-    CARD8          backingStore;
-    BOOL           saveUnders;
-    CARD8          rootDepth;
-    CARD8          nDepths;  /* number of xDepth structures following */
-} xWindowRoot;
-\f
-
-/*****************************************************************
- * Structure Defns
- *   Structures needed for replies 
- *****************************************************************/
-
-/* Used in GetMotionEvents */
-
-typedef struct {
-    CARD32 time B32;
-    INT16 x B16, y B16;
-} xTimecoord;
-
-typedef struct {
-    CARD8 family;
-    BYTE pad;
-    CARD16 length B16;
-} xHostEntry;
-
-typedef struct {
-    INT16 leftSideBearing B16,
-         rightSideBearing B16,
-         characterWidth B16,
-         ascent B16,
-         descent B16;
-    CARD16 attributes B16;
-} xCharInfo;
-
-typedef struct {
-    Atom name B32;
-    CARD32 value B32;
-} xFontProp;
-
-/*
- * non-aligned big-endian font ID follows this struct
- */
-typedef struct {           /* followed by string */
-    CARD8 len; /* number of *characters* in string, or FontChange (255)
-                  for font change, or 0 if just delta given */
-    INT8 delta;
-} xTextElt;
-
-
-typedef struct {        
-    CARD32 pixel B32;
-    CARD16 red B16, green B16, blue B16;
-    CARD8 flags;  /* DoRed, DoGreen, DoBlue booleans */
-    CARD8 pad;
-} xColorItem;
-
-
-typedef struct {
-    CARD16 red B16, green B16, blue B16, pad B16;
-} xrgb;
-
-typedef CARD8 KEYCODE;
-\f
-
-/*****************
- * XRep:
- *    meant to be 32 byte quantity 
- *****************/
-
-/* GenericReply is the common format of all replies.  The "data" items
-   are specific to each individual reply type. */
-
-typedef struct {       
-    BYTE type;              /* X_Reply */
-    BYTE data1;             /* depends on reply type */
-    CARD16 sequenceNumber B16;  /* of last request received by server */
-    CARD32 length B32;      /* 4 byte quantities beyond size of GenericReply */
-    CARD32 data00 B32;
-    CARD32 data01 B32;
-    CARD32 data02 B32;
-    CARD32 data03 B32;
-    CARD32 data04 B32;
-    CARD32 data05 B32;
-    } xGenericReply;
-
-/* Individual reply formats. */
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    CARD8 backingStore;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32; /* NOT 0; this is an extra-large reply */
-    VisualID visualID B32;
-#if defined(__cplusplus) || defined(c_plusplus)
-    CARD16 c_class B16;
-#else
-    CARD16 class B16;
-#endif
-    CARD8 bitGravity;
-    CARD8 winGravity;
-    CARD32 backingBitPlanes B32;
-    CARD32 backingPixel B32;
-    BOOL saveUnder;
-    BOOL mapInstalled;
-    CARD8 mapState;
-    BOOL override;
-    Colormap colormap B32;
-    CARD32 allEventMasks B32;
-    CARD32 yourEventMask B32;
-    CARD16 doNotPropagateMask B16;
-    CARD16 pad B16;
-    } xGetWindowAttributesReply;
-
-typedef struct {
-    BYTE type;   /* X_Reply */
-    CARD8 depth;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 0 */
-    Window root B32;
-    INT16 x B16, y B16;
-    CARD16 width B16, height B16;
-    CARD16 borderWidth B16;
-    CARD16 pad1 B16;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    } xGetGeometryReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    Window root B32, parent B32;
-    CARD16 nChildren B16;
-    CARD16 pad2 B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    } xQueryTreeReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32; /* 0 */
-    Atom atom B32;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    } xInternAtomReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* of additional bytes */
-    CARD16 nameLength B16;  /* # of characters in name */
-    CARD16 pad2 B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xGetAtomNameReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    CARD8 format;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32; /* of additional bytes */
-    Atom propertyType B32;
-    CARD32 bytesAfter B32;
-    CARD32 nItems B32; /* # of 8, 16, or 32-bit entities in reply */
-    CARD32 pad1 B32;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    } xGetPropertyReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD16 nProperties B16;
-    CARD16 pad2 B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xListPropertiesReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 0 */
-    Window owner B32;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    } xGetSelectionOwnerReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE status;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 0 */
-    CARD32 pad1 B32;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    } xGrabPointerReply;
-
-typedef xGrabPointerReply xGrabKeyboardReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BOOL sameScreen;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 0 */
-    Window root B32, child B32;
-    INT16 rootX B16, rootY B16, winX B16, winY B16;
-    CARD16 mask B16;
-    CARD16 pad1 B16;
-    CARD32 pad B32;
-    } xQueryPointerReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD32 nEvents B32;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    } xGetMotionEventsReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BOOL sameScreen;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32; /* 0 */
-    Window child B32;
-    INT16 dstX B16, dstY B16;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    } xTranslateCoordsReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    CARD8 revertTo;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 0 */
-    Window focus B32;
-    CARD32 pad1 B32;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    } xGetInputFocusReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 2, NOT 0; this is an extra-large reply */
-    BYTE map[32];
-    } xQueryKeymapReply;
-
-/* Warning: this MUST match (up to component renaming) xListFontsWithInfoReply */
-typedef struct _xQueryFontReply {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* definitely > 0, even if "nCharInfos" is 0 */
-    xCharInfo minBounds; 
-#ifndef WORD64
-    CARD32 walign1 B32;
-#endif
-    xCharInfo maxBounds; 
-#ifndef WORD64
-    CARD32 walign2 B32;
-#endif
-    CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
-    CARD16 defaultChar B16;
-    CARD16 nFontProps B16;  /* followed by this many xFontProp structures */
-    CARD8 drawDirection;
-    CARD8 minByte1, maxByte1;
-    BOOL allCharsExist;
-    INT16 fontAscent B16, fontDescent B16;
-    CARD32 nCharInfos B32; /* followed by this many xCharInfo structures */
-} xQueryFontReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    CARD8 drawDirection;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 0 */
-    INT16 fontAscent B16, fontDescent B16;
-    INT16 overallAscent B16, overallDescent B16;
-    INT32 overallWidth B32, overallLeft B32, overallRight B32;
-    CARD32 pad B32;
-    } xQueryTextExtentsReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD16 nFonts B16;
-    CARD16 pad2 B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xListFontsReply;
-
-/* Warning: this MUST match (up to component renaming) xQueryFontReply */
-typedef struct {
-    BYTE type;  /* X_Reply */
-    CARD8 nameLength;  /* 0 indicates end-of-reply-sequence */
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* definitely > 0, even if "nameLength" is 0 */
-    xCharInfo minBounds; 
-#ifndef WORD64
-    CARD32 walign1 B32;
-#endif
-    xCharInfo maxBounds; 
-#ifndef WORD64
-    CARD32 walign2 B32;
-#endif
-    CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
-    CARD16 defaultChar B16;
-    CARD16 nFontProps B16;  /* followed by this many xFontProp structures */
-    CARD8 drawDirection;
-    CARD8 minByte1, maxByte1;
-    BOOL allCharsExist;
-    INT16 fontAscent B16, fontDescent B16;
-    CARD32 nReplies B32;   /* hint as to how many more replies might be coming */
-} xListFontsWithInfoReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD16 nPaths B16;
-    CARD16 pad2 B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xGetFontPathReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    CARD8 depth;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    VisualID visual B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xGetImageReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD16 nColormaps B16;
-    CARD16 pad2 B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xListInstalledColormapsReply;
-
-typedef struct {
-    BYTE type; /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;   /* 0 */
-    CARD16 red B16, green B16, blue B16;
-    CARD16 pad2 B16;
-    CARD32 pixel B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    } xAllocColorReply;
-
-typedef struct {
-    BYTE type; /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 0 */
-    CARD32 pixel B32;
-    CARD16 exactRed B16, exactGreen B16, exactBlue B16;
-    CARD16 screenRed B16, screenGreen B16, screenBlue B16;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    } xAllocNamedColorReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD16 nPixels B16, nMasks B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xAllocColorCellsReply;
-
-typedef struct {
-    BYTE type; /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD16 nPixels B16;
-    CARD16 pad2 B16;
-    CARD32 redMask B32, greenMask B32, blueMask B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    } xAllocColorPlanesReply;
-
-typedef struct {
-    BYTE type; /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD16 nColors B16;
-    CARD16 pad2 B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xQueryColorsReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 0 */
-    CARD16 exactRed B16, exactGreen B16, exactBlue B16;
-    CARD16 screenRed B16, screenGreen B16, screenBlue B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    } xLookupColorReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 0 */
-    CARD16 width B16, height B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xQueryBestSizeReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32; /* 0 */
-    BOOL  present;
-    CARD8 major_opcode;
-    CARD8 first_event;
-    CARD8 first_error;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xQueryExtensionReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    CARD8 nExtensions;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xListExtensionsReply;
-
-
-typedef struct {
-    BYTE   type;  /* X_Reply */
-    CARD8  success;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xSetMappingReply;
-typedef xSetMappingReply xSetPointerMappingReply;
-typedef xSetMappingReply xSetModifierMappingReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    CARD8 nElts;  /* how many elements does the map have */
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xGetPointerMappingReply;
-
-typedef struct {
-    BYTE type;
-    CARD8 keySymsPerKeyCode;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-} xGetKeyboardMappingReply;    
-
-typedef struct {
-    BYTE type;
-    CARD8 numKeyPerModifier;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD32 pad1 B32;
-    CARD32 pad2 B32;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-} xGetModifierMappingReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BOOL globalAutoRepeat;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 5 */
-    CARD32 ledMask B32;
-    CARD8 keyClickPercent, bellPercent;
-    CARD16 bellPitch B16, bellDuration B16;
-    CARD16 pad B16;
-    BYTE map[32];  /* bit masks start here */
-    } xGetKeyboardControlReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 0 */
-    CARD16 accelNumerator B16, accelDenominator B16;
-    CARD16 threshold B16;
-    CARD16 pad2 B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    } xGetPointerControlReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BYTE pad1;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;  /* 0 */
-    CARD16 timeout B16, interval B16;
-    BOOL preferBlanking;
-    BOOL allowExposures;
-    CARD16 pad2 B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    } xGetScreenSaverReply;
-
-typedef struct {
-    BYTE type;  /* X_Reply */
-    BOOL enabled;
-    CARD16 sequenceNumber B16;
-    CARD32 length B32;
-    CARD16 nHosts B16;
-    CARD16 pad1 B16;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-    } xListHostsReply;
-
-\f
-
-
-/*****************************************************************
- * Xerror
- *    All errors  are 32 bytes 
- *****************************************************************/
-
-typedef struct {
-    BYTE type;                  /* X_Error */
-    BYTE errorCode;
-    CARD16 sequenceNumber B16;       /* the nth request from this client */
-    CARD32 resourceID B32;
-    CARD16 minorCode B16;
-    CARD8 majorCode;
-    BYTE pad1;
-    CARD32 pad3 B32;
-    CARD32 pad4 B32;
-    CARD32 pad5 B32;
-    CARD32 pad6 B32;
-    CARD32 pad7 B32;
-} xError;
-
-/*****************************************************************
- * xEvent
- *    All events are 32 bytes
- *****************************************************************/
-
-typedef struct _xEvent {
-    union {
-       struct {
-           BYTE type;
-           BYTE detail;
-           CARD16 sequenceNumber B16;
-           } u;
-       struct {
-            CARD32 pad00 B32;
-           Time time B32;
-           Window root B32, event B32, child B32;
-           INT16 rootX B16, rootY B16, eventX B16, eventY B16;
-           KeyButMask state B16;
-           BOOL sameScreen;            
-           BYTE pad1;
-       } keyButtonPointer;
-       struct {
-            CARD32 pad00 B32;
-            Time time B32;
-           Window root B32, event B32, child B32;
-           INT16 rootX B16, rootY B16, eventX B16, eventY B16;
-           KeyButMask state B16;
-           BYTE mode;                  /* really XMode */
-           BYTE flags;         /* sameScreen and focus booleans, packed together */
-#define ELFlagFocus        (1<<0)
-#define ELFlagSameScreen   (1<<1)
-       } enterLeave;
-       struct {
-            CARD32 pad00 B32;
-           Window window B32;
-           BYTE mode;                  /* really XMode */
-           BYTE pad1, pad2, pad3;
-       } focus;
-       struct {
-            CARD32 pad00 B32;
-           Window window B32;
-           CARD16 x B16, y B16, width B16, height B16;
-           CARD16 count B16;
-           CARD16 pad2 B16;
-       } expose;
-       struct {
-            CARD32 pad00 B32;
-           Drawable drawable B32;
-           CARD16 x B16, y B16, width B16, height B16;
-           CARD16 minorEvent B16;
-           CARD16 count B16;
-           BYTE majorEvent;
-           BYTE pad1, pad2, pad3;
-       } graphicsExposure;
-       struct {
-            CARD32 pad00 B32;
-           Drawable drawable B32;
-           CARD16 minorEvent B16;
-           BYTE majorEvent;
-           BYTE bpad;
-       } noExposure;
-       struct {
-            CARD32 pad00 B32;
-           Window window B32;
-           CARD8 state;
-           BYTE pad1, pad2, pad3;
-       } visibility;
-       struct {
-            CARD32 pad00 B32;
-           Window parent B32, window B32;
-           INT16 x B16, y B16;
-           CARD16 width B16, height B16, borderWidth B16;
-           BOOL override;
-           BYTE bpad;
-        } createNotify;
-/*
- * The event feilds in the structures for DestroyNotify, UnmapNotify,
- * MapNotify, ReparentNotify, ConfigureNotify, CirclulateNotify, GravityNotify,
- * must be at the same offset because server internal code is depending upon
- * this to patch up the events before they are delivered.
- * Also note that MapRequest, ConfigureRequest and CirculateRequest have
- * the same offset for the event window.
- */
-       struct {
-            CARD32 pad00 B32;
-           Window event B32, window B32;
-       } destroyNotify;
-       struct {
-            CARD32 pad00 B32;
-           Window event B32, window B32;
-           BOOL fromConfigure;
-           BYTE pad1, pad2, pad3;
-        } unmapNotify;
-       struct {
-            CARD32 pad00 B32;
-           Window event B32, window B32;
-           BOOL override;
-           BYTE pad1, pad2, pad3;
-        } mapNotify;
-       struct {
-            CARD32 pad00 B32;
-           Window parent B32, window B32;
-        } mapRequest;
-       struct {
-            CARD32 pad00 B32;
-           Window event B32, window B32, parent B32;
-           INT16 x B16, y B16;
-           BOOL override;
-           BYTE pad1, pad2, pad3;
-       } reparent;
-       struct {
-            CARD32 pad00 B32;
-           Window event B32, window B32, aboveSibling B32;
-           INT16 x B16, y B16;
-           CARD16 width B16, height B16, borderWidth B16;
-           BOOL override;              
-           BYTE bpad;
-       } configureNotify;
-       struct {
-            CARD32 pad00 B32;
-           Window parent B32, window B32, sibling B32;
-           INT16 x B16, y B16;
-           CARD16 width B16, height B16, borderWidth B16;
-           CARD16 valueMask B16;
-           CARD32 pad1 B32;
-       } configureRequest;
-       struct {
-            CARD32 pad00 B32;
-           Window event B32, window B32;
-           INT16 x B16, y B16;
-           CARD32 pad1 B32, pad2 B32, pad3 B32, pad4 B32;
-       } gravity;
-       struct {
-            CARD32 pad00 B32;
-           Window window B32;
-           CARD16 width B16, height B16;
-       } resizeRequest;
-       struct {
-/* The event field in the circulate record is really the parent when this
-   is used as a CirculateRequest insteaad of a CircluateNotify */
-            CARD32 pad00 B32;
-           Window event B32, window B32, parent B32;
-           BYTE place;                 /* Top or Bottom */
-           BYTE pad1, pad2, pad3;
-       } circulate;
-       struct {
-            CARD32 pad00 B32;
-           Window window B32;
-           Atom atom B32;
-           Time time B32;
-           BYTE state;                 /* NewValue or Deleted */
-           BYTE pad1;
-           CARD16 pad2 B16;
-       } property;
-       struct {
-            CARD32 pad00 B32;
-            Time time B32;     
-           Window window B32;
-           Atom atom B32;
-       } selectionClear;
-       struct {
-            CARD32 pad00 B32;
-            Time time B32;    
-           Window owner B32, requestor B32;
-           Atom selection B32, target B32, property B32;
-       } selectionRequest;
-       struct {
-            CARD32 pad00 B32;
-            Time time B32;   
-           Window requestor B32;
-           Atom selection B32, target B32, property B32;
-       } selectionNotify;
-       struct {
-            CARD32 pad00 B32;
-           Window window B32;
-           Colormap colormap B32;
-#if defined(__cplusplus) || defined(c_plusplus)
-           BOOL c_new;
-#else
-           BOOL new;
-#endif
-           BYTE state;                 /* Installed or UnInstalled */
-           BYTE pad1, pad2;
-       } colormap;
-       struct {
-           CARD32 pad00 B32;
-           CARD8 request;
-           KeyCode firstKeyCode;
-           CARD8 count;
-           BYTE pad1;
-       } mappingNotify;
-       struct {
-            CARD32 pad00 B32;
-           Window window B32;
-           union {
-               struct {
-                   Atom type B32;
-                   INT32 longs0 B32;
-                   INT32 longs1 B32;
-                   INT32 longs2 B32;
-                   INT32 longs3 B32;
-                   INT32 longs4 B32;
-               } l;
-               struct {
-                   Atom type B32;
-                   INT16 shorts0 B16;
-                   INT16 shorts1 B16;
-                   INT16 shorts2 B16;
-                   INT16 shorts3 B16;
-                   INT16 shorts4 B16;
-                   INT16 shorts5 B16;
-                   INT16 shorts6 B16;
-                   INT16 shorts7 B16;
-                   INT16 shorts8 B16;
-                   INT16 shorts9 B16;
-               } s;
-               struct {
-                   Atom type B32;
-                   INT8 bytes[20];
-               } b;
-           } u; 
-       } clientMessage;
-    } u;
-} xEvent;
-
-/* KeymapNotify events are not included in the above union because they
-   are different from all other events: they do not have a "detail"
-   or "sequenceNumber", so there is room for a 248-bit key mask. */
-
-typedef struct {
-    BYTE type;
-    BYTE map[31];
-    } xKeymapEvent;
-
-#define XEventSize (sizeof(xEvent))
-
-/* XReply is the union of all the replies above whose "fixed part"
-fits in 32 bytes.  It does NOT include GetWindowAttributesReply,
-QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply 
-ListFontsWithInfoReply */
-
-typedef union {
-    xGenericReply generic;
-    xGetGeometryReply geom;
-    xQueryTreeReply tree;
-    xInternAtomReply atom;
-    xGetAtomNameReply atomName;
-    xGetPropertyReply property;
-    xListPropertiesReply listProperties;
-    xGetSelectionOwnerReply selection;
-    xGrabPointerReply grabPointer;
-    xGrabKeyboardReply grabKeyboard;
-    xQueryPointerReply pointer;
-    xGetMotionEventsReply motionEvents;
-    xTranslateCoordsReply coords;
-    xGetInputFocusReply inputFocus;
-    xQueryTextExtentsReply textExtents;
-    xListFontsReply fonts;
-    xGetFontPathReply fontPath;
-    xGetImageReply image;
-    xListInstalledColormapsReply colormaps;
-    xAllocColorReply allocColor;
-    xAllocNamedColorReply allocNamedColor;
-    xAllocColorCellsReply colorCells;
-    xAllocColorPlanesReply colorPlanes;
-    xQueryColorsReply colors;
-    xLookupColorReply lookupColor;
-    xQueryBestSizeReply bestSize;
-    xQueryExtensionReply extension;
-    xListExtensionsReply extensions;
-    xSetModifierMappingReply setModifierMapping;
-    xGetModifierMappingReply getModifierMapping;
-    xSetPointerMappingReply setPointerMapping;
-    xGetKeyboardMappingReply getKeyboardMapping;
-    xGetPointerMappingReply getPointerMapping;
-    xGetPointerControlReply pointerControl;
-    xGetScreenSaverReply screenSaver;
-    xListHostsReply hosts;
-    xError error;
-    xEvent event;
-} xReply;
-
-\f
-
-/*****************************************************************
- * REQUESTS
- *****************************************************************/
-
-
-/* Request structure */
-
-typedef struct _xReq {
-       CARD8 reqType;
-       CARD8 data;            /* meaning depends on request type */
-       CARD16 length B16;         /* length in 4 bytes quantities 
-                                 of whole request, including this header */
-} xReq;
-
-/*****************************************************************
- *  structures that follow request. 
- *****************************************************************/
-
-/* ResourceReq is used for any request which has a resource ID 
-   (or Atom or Time) as its one and only argument.  */
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    CARD32 id B32;  /* a Window, Drawable, Font, GContext, Pixmap, etc. */
-    } xResourceReq;
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 depth;
-    CARD16 length B16;
-    Window wid B32, parent B32;
-    INT16 x B16, y B16;
-    CARD16 width B16, height B16, borderWidth B16;  
-#if defined(__cplusplus) || defined(c_plusplus)
-    CARD16 c_class B16;
-#else
-    CARD16 class B16;
-#endif
-    VisualID visual B32;
-    CARD32 mask B32;
-} xCreateWindowReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Window window B32;
-    CARD32 valueMask B32; 
-} xChangeWindowAttributesReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE mode;
-    CARD16 length B16;
-    Window window B32;
-} xChangeSaveSetReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Window window B32, parent B32;
-    INT16 x B16, y B16;
-} xReparentWindowReq;
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 pad;
-    CARD16 length B16;
-    Window window B32;
-    CARD16 mask B16;
-    CARD16 pad2 B16;
-} xConfigureWindowReq;
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 direction;
-    CARD16 length B16;
-    Window window B32;
-} xCirculateWindowReq;
-
-typedef struct {    /* followed by padded string */
-    CARD8 reqType;
-    BOOL onlyIfExists;
-    CARD16 length B16;
-    CARD16 nbytes  B16;    /* number of bytes in string */
-    CARD16 pad B16;
-} xInternAtomReq;
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 mode;
-    CARD16 length B16;
-    Window window B32;
-    Atom property B32, type B32;
-    CARD8 format;
-    BYTE pad[3];
-    CARD32 nUnits B32;     /* length of stuff following, depends on format */
-} xChangePropertyReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Window window B32;
-    Atom property B32;
-} xDeletePropertyReq;
-
-typedef struct {
-    CARD8 reqType;
-#if defined(__cplusplus) || defined(c_plusplus)
-    BOOL c_delete;
-#else
-    BOOL delete;
-#endif
-    CARD16 length B16;
-    Window window B32;
-    Atom property B32, type B32;
-    CARD32 longOffset B32;
-    CARD32 longLength B32;
-} xGetPropertyReq;
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Window window B32;
-    Atom selection B32;
-    Time time B32;
-} xSetSelectionOwnerReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Window requestor B32;
-    Atom selection B32, target B32, property B32;
-    Time time B32;
-    } xConvertSelectionReq;
-
-typedef struct {
-    CARD8 reqType;
-    BOOL propagate;
-    CARD16 length B16;
-    Window destination B32;
-    CARD32 eventMask B32;
-#ifdef WORD64
-    /* the structure should have been quad-aligned */
-    BYTE eventdata[SIZEOF(xEvent)];
-#else
-    xEvent event;
-#endif /* WORD64 */
-} xSendEventReq;
-
-typedef struct {
-    CARD8 reqType;
-    BOOL ownerEvents;
-    CARD16 length B16;
-    Window grabWindow B32;
-    CARD16 eventMask B16;
-    BYTE pointerMode, keyboardMode;
-    Window confineTo B32;
-    Cursor cursor B32;
-    Time time B32;
-} xGrabPointerReq;
-
-typedef struct {
-    CARD8 reqType;
-    BOOL ownerEvents;
-    CARD16 length B16;
-    Window grabWindow B32;
-    CARD16 eventMask B16;
-    BYTE pointerMode, keyboardMode;
-    Window confineTo B32;
-    Cursor cursor B32;
-    CARD8 button;
-    BYTE pad;
-    CARD16 modifiers B16;
-} xGrabButtonReq;
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 button;
-    CARD16 length B16;
-    Window grabWindow B32;
-    CARD16 modifiers B16;
-    CARD16 pad B16;
-} xUngrabButtonReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Cursor cursor B32;
-    Time time B32;
-    CARD16 eventMask B16;
-    CARD16 pad2 B16;
-} xChangeActivePointerGrabReq;
-
-typedef struct {
-    CARD8 reqType;
-    BOOL ownerEvents;
-    CARD16 length B16;
-    Window grabWindow B32;
-    Time time B32;
-    BYTE pointerMode, keyboardMode;  
-    CARD16 pad B16;
-} xGrabKeyboardReq;
-
-typedef struct {
-    CARD8 reqType;
-    BOOL ownerEvents;
-    CARD16 length B16;
-    Window grabWindow B32;
-    CARD16 modifiers B16;
-    CARD8 key;
-    BYTE pointerMode, keyboardMode;  
-    BYTE pad1, pad2, pad3;
-} xGrabKeyReq;
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 key;
-    CARD16 length B16;
-    Window grabWindow B32;
-    CARD16 modifiers B16;
-    CARD16 pad B16;
-} xUngrabKeyReq;
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 mode;
-    CARD16 length B16;
-    Time time B32;
-} xAllowEventsReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Window window B32;
-    Time start B32, stop B32;
-} xGetMotionEventsReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Window srcWid B32, dstWid B32;
-    INT16 srcX B16, srcY B16;
-} xTranslateCoordsReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Window srcWid B32, dstWid B32;
-    INT16 srcX B16, srcY B16;
-    CARD16 srcWidth B16, srcHeight B16;
-    INT16 dstX B16, dstY B16;
-} xWarpPointerReq;
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 revertTo;
-    CARD16 length B16;
-    Window focus B32;
-    Time time B32;
-} xSetInputFocusReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Font fid B32;
-    CARD16 nbytes B16;
-    BYTE pad1, pad2;   /* string follows on word boundary */
-} xOpenFontReq;
-
-typedef struct {
-    CARD8 reqType;
-    BOOL oddLength;
-    CARD16 length B16;
-    Font fid B32;
-    } xQueryTextExtentsReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    CARD16 maxNames B16;
-    CARD16 nbytes B16;  /* followed immediately by string bytes */
-} xListFontsReq;
-
-typedef xListFontsReq xListFontsWithInfoReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    CARD16 nFonts B16;
-    BYTE pad1, pad2;   /* LISTofSTRING8 follows on word boundary */
-} xSetFontPathReq;
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 depth;
-    CARD16 length B16;
-    Pixmap pid B32;
-    Drawable drawable B32;
-    CARD16 width B16, height B16;
-} xCreatePixmapReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    GContext gc B32;
-    Drawable drawable B32;
-    CARD32 mask B32;
-} xCreateGCReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    GContext gc B32;
-    CARD32 mask B32;
-} xChangeGCReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    GContext srcGC B32, dstGC B32;
-    CARD32 mask B32;
-} xCopyGCReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    GContext gc B32;
-    CARD16 dashOffset B16;
-    CARD16 nDashes B16;        /* length LISTofCARD8 of values following */
-} xSetDashesReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE ordering;
-    CARD16 length B16;
-    GContext gc B32;
-    INT16 xOrigin B16, yOrigin B16;
-} xSetClipRectanglesReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BOOL exposures;
-    CARD16 length B16;
-    Window window B32;
-    INT16 x B16, y B16;
-    CARD16 width B16, height B16;
-} xClearAreaReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Drawable srcDrawable B32, dstDrawable B32;
-    GContext gc B32;
-    INT16 srcX B16, srcY B16, dstX B16, dstY B16;
-    CARD16 width B16, height B16;
-} xCopyAreaReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Drawable srcDrawable B32, dstDrawable B32;
-    GContext gc B32;
-    INT16 srcX B16, srcY B16, dstX B16, dstY B16;
-    CARD16 width B16, height B16;
-    CARD32 bitPlane B32;
-} xCopyPlaneReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE coordMode;
-    CARD16 length B16;
-    Drawable drawable B32;
-    GContext gc B32;
-} xPolyPointReq;    
-
-typedef xPolyPointReq xPolyLineReq;  /* same request structure */
-
-/* The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc */
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Drawable drawable B32;
-    GContext gc B32;
-} xPolySegmentReq;    
-
-typedef xPolySegmentReq xPolyArcReq;
-typedef xPolySegmentReq xPolyRectangleReq;
-typedef xPolySegmentReq xPolyFillRectangleReq;
-typedef xPolySegmentReq xPolyFillArcReq;
-
-typedef struct _FillPolyReq {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Drawable drawable B32;
-    GContext gc B32;
-    BYTE shape;
-    BYTE coordMode;
-    CARD16 pad1 B16;
-} xFillPolyReq;    
-
-
-typedef struct _PutImageReq {
-    CARD8 reqType;
-    CARD8 format;
-    CARD16 length B16;
-    Drawable drawable B32;
-    GContext gc B32;
-    CARD16 width B16, height B16;
-    INT16 dstX B16, dstY B16;
-    CARD8 leftPad;
-    CARD8 depth;
-    CARD16 pad B16;
-} xPutImageReq;    
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 format;
-    CARD16 length B16;
-    Drawable drawable B32;
-    INT16 x B16, y B16;
-    CARD16 width B16, height B16;
-    CARD32 planeMask B32;
-} xGetImageReq;    
-
-/* the folloiwng used by PolyText8 and PolyText16 */
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 pad;
-    CARD16 length B16;
-    Drawable drawable B32;
-    GContext gc B32;
-    INT16 x B16, y B16;                /* items (xTextElt) start after struct */
-} xPolyTextReq;    
-
-typedef xPolyTextReq xPolyText8Req;
-typedef xPolyTextReq xPolyText16Req;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE nChars;
-    CARD16 length B16;
-    Drawable drawable B32;
-    GContext gc B32;
-    INT16 x B16, y B16;
-} xImageTextReq;    
-
-typedef xImageTextReq xImageText8Req;
-typedef xImageTextReq xImageText16Req;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE alloc;
-    CARD16 length B16;
-    Colormap mid B32;
-    Window window B32;
-    VisualID visual B32;
-} xCreateColormapReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Colormap mid B32;
-    Colormap srcCmap B32;
-} xCopyColormapAndFreeReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Colormap cmap B32;
-    CARD16 red B16, green B16, blue B16;
-    CARD16 pad2 B16;
-} xAllocColorReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Colormap cmap B32;
-    CARD16 nbytes B16;  /* followed by structure */
-    BYTE pad1, pad2;
-} xAllocNamedColorReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BOOL contiguous;
-    CARD16 length B16;
-    Colormap cmap B32;
-    CARD16 colors B16, planes B16;
-} xAllocColorCellsReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BOOL contiguous;
-    CARD16 length B16;
-    Colormap cmap B32;
-    CARD16 colors B16, red B16, green B16, blue B16;
-} xAllocColorPlanesReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Colormap cmap B32;
-    CARD32 planeMask B32;
-} xFreeColorsReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Colormap cmap B32;
-} xStoreColorsReq;    
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 flags;   /* DoRed, DoGreen, DoBlue, as in xColorItem */
-    CARD16 length B16;
-    Colormap cmap B32;
-    CARD32 pixel B32;
-    CARD16 nbytes B16;  /* number of name string bytes following structure */
-    BYTE pad1, pad2;
-    } xStoreNamedColorReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Colormap cmap B32;
-} xQueryColorsReq;    
-
-typedef struct {    /* followed  by string of length len */
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Colormap cmap B32;
-    CARD16 nbytes B16;  /* number of string bytes following structure*/
-    BYTE pad1, pad2;
-} xLookupColorReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Cursor cid B32;
-    Pixmap source B32, mask B32;
-    CARD16 foreRed B16, foreGreen B16, foreBlue B16;
-    CARD16 backRed B16, backGreen B16, backBlue B16;
-    CARD16 x B16, y B16;
-} xCreateCursorReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Cursor cid B32;
-    Font source B32, mask B32;
-    CARD16 sourceChar B16, maskChar B16;
-    CARD16 foreRed B16, foreGreen B16, foreBlue B16;
-    CARD16 backRed B16, backGreen B16, backBlue B16;
-} xCreateGlyphCursorReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Cursor cursor B32;
-    CARD16 foreRed B16, foreGreen B16, foreBlue B16;
-    CARD16 backRed B16, backGreen B16, backBlue B16;
-} xRecolorCursorReq;    
-
-typedef struct {
-    CARD8 reqType;
-#if defined(__cplusplus) || defined(c_plusplus)
-    CARD8 c_class;
-#else
-    CARD8 class;
-#endif
-    CARD16 length B16;
-    Drawable drawable B32;
-    CARD16 width B16, height B16;
-} xQueryBestSizeReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    CARD16 nbytes B16;  /* number of string bytes following structure */
-    BYTE pad1, pad2;
-} xQueryExtensionReq;
-
-typedef struct {
-    CARD8   reqType;
-    CARD8   numKeyPerModifier;
-    CARD16  length B16;
-} xSetModifierMappingReq;
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 nElts;  /* how many elements in the map */
-    CARD16 length B16;
-} xSetPointerMappingReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    KeyCode firstKeyCode;
-    CARD8 count;
-    CARD16 pad1 B16;
-} xGetKeyboardMappingReq;    
-
-typedef struct {
-    CARD8 reqType;
-    CARD8 keyCodes;
-    CARD16 length B16;
-    KeyCode firstKeyCode;
-    CARD8 keySymsPerKeyCode;
-    CARD16 pad1 B16;
-} xChangeKeyboardMappingReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    CARD32 mask B32;
-} xChangeKeyboardControlReq;    
-
-typedef struct {
-    CARD8 reqType;
-    INT8 percent;  /* -100 to 100 */
-    CARD16 length B16;
-} xBellReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    INT16 accelNum B16, accelDenum B16;
-    INT16 threshold B16;             
-    BOOL doAccel, doThresh;
-} xChangePointerControlReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    INT16 timeout B16, interval B16;
-    BYTE preferBlank, allowExpose;  
-    CARD16 pad2 B16;
-} xSetScreenSaverReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE mode;
-    CARD16 length B16;
-    CARD8 hostFamily;
-    BYTE pad;
-    CARD16 hostLength B16;
-} xChangeHostsReq;    
-
-typedef struct {
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    } xListHostsReq;
-
-typedef struct {
-    CARD8 reqType;
-    BYTE mode;
-    CARD16 length B16;
-    } xChangeModeReq;
-
-typedef xChangeModeReq xSetAccessControlReq;
-typedef xChangeModeReq xSetCloseDownModeReq;
-typedef xChangeModeReq xForceScreenSaverReq;
-
-typedef struct { /* followed by LIST of ATOM */
-    CARD8 reqType;
-    BYTE pad;
-    CARD16 length B16;
-    Window window B32;
-    CARD16 nAtoms B16;
-    INT16 nPositions B16;
-    } xRotatePropertiesReq;
-    
-\f
-
-/* Reply codes */
-
-#define X_Reply                1               /* Normal reply */
-#define X_Error                0               /* Error */
-
-/* Request codes */
-
-#define X_CreateWindow                  1              
-#define X_ChangeWindowAttributes        2        
-#define X_GetWindowAttributes           3     
-#define X_DestroyWindow                 4
-#define X_DestroySubwindows             5   
-#define X_ChangeSaveSet                 6
-#define X_ReparentWindow                7
-#define X_MapWindow                     8
-#define X_MapSubwindows                 9
-#define X_UnmapWindow                  10
-#define X_UnmapSubwindows              11  
-#define X_ConfigureWindow              12  
-#define X_CirculateWindow              13  
-#define X_GetGeometry                  14
-#define X_QueryTree                    15
-#define X_InternAtom                   16
-#define X_GetAtomName                  17
-#define X_ChangeProperty               18 
-#define X_DeleteProperty               19 
-#define X_GetProperty                  20
-#define X_ListProperties               21 
-#define X_SetSelectionOwner            22    
-#define X_GetSelectionOwner            23    
-#define X_ConvertSelection             24   
-#define X_SendEvent                    25
-#define X_GrabPointer                  26
-#define X_UngrabPointer                27
-#define X_GrabButton                   28
-#define X_UngrabButton                 29
-#define X_ChangeActivePointerGrab      30          
-#define X_GrabKeyboard                 31
-#define X_UngrabKeyboard               32 
-#define X_GrabKey                      33
-#define X_UngrabKey                    34
-#define X_AllowEvents                  35       
-#define X_GrabServer                   36      
-#define X_UngrabServer                 37        
-#define X_QueryPointer                 38        
-#define X_GetMotionEvents              39           
-#define X_TranslateCoords              40                
-#define X_WarpPointer                  41       
-#define X_SetInputFocus                42         
-#define X_GetInputFocus                43         
-#define X_QueryKeymap                  44       
-#define X_OpenFont                     45    
-#define X_CloseFont                    46     
-#define X_QueryFont                    47
-#define X_QueryTextExtents             48     
-#define X_ListFonts                    49  
-#define X_ListFontsWithInfo                   50 
-#define X_SetFontPath                  51 
-#define X_GetFontPath                  52 
-#define X_CreatePixmap                 53        
-#define X_FreePixmap                   54      
-#define X_CreateGC                     55    
-#define X_ChangeGC                     56    
-#define X_CopyGC                       57  
-#define X_SetDashes                    58     
-#define X_SetClipRectangles            59             
-#define X_FreeGC                       60  
-#define X_ClearArea                    61             
-#define X_CopyArea                     62    
-#define X_CopyPlane                    63     
-#define X_PolyPoint                    64     
-#define X_PolyLine                     65    
-#define X_PolySegment                  66       
-#define X_PolyRectangle                67         
-#define X_PolyArc                      68   
-#define X_FillPoly                     69    
-#define X_PolyFillRectangle            70             
-#define X_PolyFillArc                  71       
-#define X_PutImage                     72    
-#define X_GetImage                     73 
-#define X_PolyText8                    74     
-#define X_PolyText16                   75      
-#define X_ImageText8                   76      
-#define X_ImageText16                  77       
-#define X_CreateColormap               78          
-#define X_FreeColormap                 79        
-#define X_CopyColormapAndFree          80               
-#define X_InstallColormap              81           
-#define X_UninstallColormap            82             
-#define X_ListInstalledColormaps       83                  
-#define X_AllocColor                   84      
-#define X_AllocNamedColor              85           
-#define X_AllocColorCells              86           
-#define X_AllocColorPlanes             87            
-#define X_FreeColors                   88      
-#define X_StoreColors                  89       
-#define X_StoreNamedColor              90           
-#define X_QueryColors                  91       
-#define X_LookupColor                  92       
-#define X_CreateCursor                 93        
-#define X_CreateGlyphCursor            94             
-#define X_FreeCursor                   95      
-#define X_RecolorCursor                96         
-#define X_QueryBestSize                97         
-#define X_QueryExtension               98          
-#define X_ListExtensions               99          
-#define X_ChangeKeyboardMapping        100
-#define X_GetKeyboardMapping           101
-#define X_ChangeKeyboardControl        102                
-#define X_GetKeyboardControl           103             
-#define X_Bell                         104
-#define X_ChangePointerControl         105
-#define X_GetPointerControl            106
-#define X_SetScreenSaver               107          
-#define X_GetScreenSaver               108          
-#define X_ChangeHosts                  109       
-#define X_ListHosts                    110     
-#define X_SetAccessControl             111               
-#define X_SetCloseDownMode             112
-#define X_KillClient                   113 
-#define X_RotateProperties            114
-#define X_ForceScreenSaver            115
-#define X_SetPointerMapping            116
-#define X_GetPointerMapping            117
-#define X_SetModifierMapping          118
-#define X_GetModifierMapping          119
-#define X_NoOperation                  127
-
-/* restore these definitions back to the typedefs in X.h */
-#undef Window
-#undef Drawable
-#undef Font
-#undef Pixmap
-#undef Cursor
-#undef Colormap
-#undef GContext
-#undef Atom
-#undef VisualID
-#undef Time
-#undef KeyCode
-#undef KeySym
-
-#endif /* XPROTO_H */