Xproto.h
资源名称:X264CODEC.rar [点击查看]
上传用户:lctgjx
上传日期:2022-06-04
资源大小:8887k
文件大小:55k
源码类别:
流媒体/Mpeg4/MP4
开发平台:
Visual C++
- /*
- * $Xorg: Xproto.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $
- */
- /* 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 1987, 1998 The Open Group
- Permission to use, copy, modify, distribute, and sell this software and its
- documentation for any purpose is hereby granted without fee, provided that
- the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation.
- 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
- OPEN GROUP 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 Open Group 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 Open Group.
- 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;
- /*****************************************************************
- * 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;
- /*****************
- * 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;
- /*****************************************************************
- * 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 fields in the structures for DestroyNotify, UnmapNotify,
- * MapNotify, ReparentNotify, ConfigureNotify, CirculateNotify, 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 instead of a CirculateNotify */
- 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;
- /*********************************************************
- *
- * Generic event
- *
- * Those events are not part of the core protocol spec and can be used by
- * various extensions.
- * type is always GenericEvent
- * extension is the minor opcode of the extension the event belongs to.
- * evtype is the actual event type, unique __per extension__.
- *
- * GenericEvents can be longer than 32 bytes, with the length field
- * specifying the number of 4 byte blocks after the first 32 bytes.
- *
- *
- */
- typedef struct
- {
- BYTE type;
- CARD8 extension;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 evtype B16;
- CARD16 pad2 B16;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
- CARD32 pad7 B32;
- } xGenericEvent;
- /* 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;
- /*****************************************************************
- * 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 following 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;
- /* 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 */