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