mirror of
https://github.com/bulletphysics/bullet3
synced 2024-12-16 06:30:05 +00:00
2158 lines
55 KiB
C
2158 lines
55 KiB
C
/* 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 */
|