File: requests.proto

package info (click to toggle)
xtrace 1.4.0-1
  • links: PTS
  • area: main
  • in suites: bullseye, buster, trixie
  • size: 900 kB
  • sloc: ansic: 5,808; sh: 1,241; makefile: 65
file content (1826 lines) | stat: -rw-r--r-- 31,517 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
#  This file is part of xtrace
#  Copyright (C) 2005 Bernhard R. Link
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License version 2 as
#  published by the Free Software Foundation.
#
#  This program is distributed in the hope that it will be useful
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not write to the Free Software
#  Foundation Inc. 51 Franklin St Fifth Floor Boston MA  02110-1301  USA

# This file is based on the
# 		  X Window System Protocol
# 		   X Consortium Standard
# 		 X Version 11 Release 6.4
#
# 		    Robert W. Scheifler
# 		     X Consortium Inc.
#
# with the following trademark and copyright notices and acknowlegdgments:
#
# X Window System is a trademark of X Consortium Inc.
#
# Copyright (C) 1986 1987 1988 1994 X Consortium
#
# Permission is hereby granted free of charge to any person
# obtaining a copy of this software and associated documenta-
# tion files (the ``Software'') to deal in the Software with-
# out restriction including without limitation the rights to
# use copy modify merge publish distribute sublicense
# and/or sell copies of the Software and to permit persons to
# whom the Software is furnished to do so subject to the fol-
# lowing conditions:
#
# The above copyright notice and this permission notice shall
# be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED ``AS IS'' WITHOUT WARRANTY OF ANY
# KIND EXPRESS OR IMPLIED INCLUDING BUT NOT LIMITED TO THE
# WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PUR-
# POSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE X CONSOR-
# TIUM BE LIABLE FOR ANY CLAIM DAMAGES OR OTHER LIABILITY
# WHETHER IN AN ACTION OF CONTRACT TORT OR OTHERWISE ARISING
# FROM OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
# OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice the name of the X Con-
# sortium shall not be used in advertising or otherwise to
# promote the sale use or other dealings in this Software
# without prior written authorization from the X Consortium.
#
# 		      Acknowledgments
#
# The primary contributers to the X11 protocol are:
#
#      Dave Carver (Digital HPW)
#      Branko Gerovac (Digital HPW)
#      Jim Gettys (MIT/Project Athena Digital)
#      Phil Karlton (Digital WSL)
#      Scott McGregor (Digital SSG)
#      Ram Rao (Digital UEG)
#      David Rosenthal (Sun)
#      Dave Winchell (Digital UEG)
#
# The implementors of initial server who provided useful input
# are:
#
#      Susan Angebranndt (Digital)
#      Raymond Drewry (Digital)
#      Todd Newman (Digital)
#
# The invited reviewers who provided useful input are:
#
#      Andrew Cherenson (Berkeley)
#      Burns Fisher (Digital)
#      Dan Garfinkel (HP)
#      Leo Hourvitz (Next)
#      Brock Krizan (HP)
#      David Laidlaw (Stellar)
#      Dave Mellinger (Interleaf)
#      Ron Newman (MIT)
#      John Ousterhout (Berkeley)
#      Andrew Palay (ITC CMU)
#      Ralph Swick (MIT)
#      Craig Taylor (Sun)
#      Jeffery Vroom (Stellar)


NAMESPACE core

REQUESTS
UNKNOWN
CreateWindow
ChangeWindowAttributes
GetWindowAttributes RESPONDS
DestroyWindow
DestroySubwindows
ChangeSaveSet
ReparentWindow
MapWindow /*8*/
MapSubwindows
UnmapWindow
UnmapSubwindows
ConfigureWindow
CirculateWindow
GetGeometry RESPONDS
QueryTree RESPONDS
InternAtom RESPONDS SPECIAL
GetAtomName RESPONDS SPECIAL
ChangeProperty
DeleteProperty
GetProperty RESPONDS /* 20*/
ListProperties RESPONDS
SetSelectionOwner
GetSelectionOwner RESPONDS
ConvertSelection
SendEvent
GrabPointer RESPONDS
UngrabPointer
GrabButton
UngrabButton
ChangeActivePointerGrab /* 30 */
GrabKeyboard RESPONDS
UngrabKeyboard
GrabKey
UngrabKey
AllowEvents
GrabServer
UngrabServer
QueryPointer RESPONDS
GetMotionEvents RESPONDS
TranslateCoordinates RESPONDS /*40*/
WarpPointer
SetInputFocus
GetInputFocus RESPONDS
QueryKeymap RESPONDS
OpenFont
CloseFont
QueryFont RESPONDS
QueryTextExtents RESPONDS
ListFonts RESPONDS
ListFontsWithInfo RESPONDS SPECIAL
SetFontPath
GetFontPath RESPONDS
CreatePixmap
FreePixmap
CreateGC
ChangeGC
CopyGC
SetDashes
SetClipRectangles
FreeGC /*60*/
ClearArea
CopyArea
CopyPlane
PolyPoint
PolyLine
PolySegment
PolyRectangle
PolyArc
FillPoly
PolyFillRectangle
PolyFillArc
PutImage
GetImage RESPONDS
PolyText8
PolyText16
ImageText8
ImageText16
CreateColormap
FreeColormap
CopyColormapAndFree
InstallColormap
UninstallColormap
ListInstalledColormaps RESPONDS
AllocColor RESPONDS
AllocNamedColor RESPONDS
AllocColorCells RESPONDS
AllocColorPlanes RESPONDS
FreeColors
StoreColors
StoreNamedColor
QueryColors RESPONDS
LookupColor RESPONDS
CreateCursor
CreateGlyphCursor
FreeCursor
RecolorCursor
QueryBestSize RESPONDS
QueryExtension RESPONDS SPECIAL
ListExtensions RESPONDS
ChangeKeyboardMapping /*100*/
GetKeyboardMapping RESPONDS
ChangeKeyboardControl
GetKeyboardControl RESPONDS
Bell
ChangePointerControl
GetPointerControl RESPONDS
SetScreenSaver
GetScreenSaver RESPONDS
ChangeHosts
ListHosts RESPONDS
SetAccessControl
SetCloseDownMode
KillClient
RotateProperties
ForceScreenSaver /*115*/
SetPointerMapping RESPONDS
GetPointerMapping RESPONDS
SetModifierMapping RESPONDS
GetModifierMapping RESPONDS
UNKNOWN /*120*/
UNKNOWN
UNKNOWN
UNKNOWN
UNKNOWN
UNKNOWN
UNKNOWN
NoOperation /*127*/
END

CONSTANTS function
0	Clear
1	And
2	AndReverse
3	Copy
4	AndInverted
5	NoOp
6	Xor
7	Or
8	Nor
9	Equiv
10	Invert
11	OrReverse
12	CopyInverted
13	OrInverted
14	Nand
15	Set
END

CONSTANTS line_style
0	Solid
1	OnOffDash
2	DoubleDash
END

CONSTANTS cap_style
0	NotLast
1	Butt
2	Round
3	Projecting
END

CONSTANTS join_style
0	Miter
1	Round
2	Bevel
END

CONSTANTS fill_style
0	Solid
1	Tiled
2	Stippled
3	OpaqueStippled
END

CONSTANTS fill_rule
0	EvenOdd
1	Winding
END

CONSTANTS subwindow_mode
0	ClipByChildren
1	IncludeInferiors
END
TYPE SubwindowMode	ENUM8 subwindow_mode

CONSTANTS arc_mode
0	Chord
1	PieSlice
END

CONSTANTS insert_delete
0	Insert
1	Delete
END

CONSTANTS windowclass
0	CopyFromParent
1	InputOutput
2	InputOnly
END

CONSTANTS copyfromparent
0	CopyFromParent
END

CONSTANTS store
0	NotUseful
1	WhenMapped
2	Always
END

CONSTANTS bitgravity
0	Forget
1	NorthWest
2	North
3	NorthEast
4	West
5	Center
6	East
7	SouthWest
8	South
9	SouthEast
10	Static
END

CONSTANTS wingravity
0	Unmap
1	NorthWest
2	North
3	NorthEast
4	West
5	Center
6	East
7	SouthWest
8	South
9	SouthEast
10	Static
END

TYPE WINGRAVITY	ENUM8	wingravity
TYPE BITGRAVITY	ENUM8	bitgravity

CONSTANTS mapstate
0		Unmapped
1		Unviewable
2		Viewable
END

CONSTANTS none
0		None
END

CONSTANTS nonerelative
0		None
1		ParentRelative
END

CONSTANTS any
0		any
END

BITMASK setofevent
0x00000001	KeyPress
0x00000002	KeyRelease
0x00000004	ButtonPress
0x00000008	ButtonRelease
0x00000010	EnterWindow
0x00000020	LeaveWindow
0x00000040	PointerMotion
0x00000080	PointerMotionHint
0x00000100	Button1Motion
0x00000200	Button2Motion
0x00000400	Button3Motion
0x00000800	Button4Motion
0x00001000	Button5Motion
0x00002000	ButtonMotion
0x00004000	KeymapState
0x00008000	Exposure
0x00010000	VisibilityChange
0x00020000	StructureNotify
0x00040000	ResizeRedirect
0x00080000	SubstructureNotify
0x00100000	SubstructureRedirect
0x00200000	FocusChange
0x00400000	PropertyChange
0x00800000	ColormapChange
0x01000000	OwnerGrabButton
END

TYPE SETofEVENT BITMASK32 setofevent
TYPE SETofDEVICEEVENT SETofEVENT
TYPE SETofPOINTEREVENT SETofEVENT

BITMASK setofkeybutmask
0x0001	Shift
0x0002	Lock
0x0004	Control
0x0008	Mod1
0x0010	Mod2
0x0020	Mod3
0x0040	Mod4
0x0080	Mod5
0x0100	Button1
0x0200	Button2
0x0400	Button3
0x0800	Button4
0x1000	Button5
0x8000	AnyModifier
END
TYPE SETofKEYBUTMASK	BITMASK16	setofkeybutmask
TYPE SETofKEYMASK	SETofKEYBUTMASK

CONSTANTS bool
0	false
1	true
END
TYPE BOOL	ENUM8 bool

CONSTANTS circulate
0	RaiseLowest
1	LowerHighest
END

CONSTANTS change_mode
0	Replace
1	Prepend
2	Append
END

CONSTANTS curtime
 0	CurrentTime
END

CONSTANTS choosewindow
0	PointerWindow
1	InputFocus
END

CONSTANTS synmode
0	Synchronous
1	Asynchronous
END

CONSTANTS grabsuccess
0	Success
1	AlreadyGrabbed
2	InvalidTime
3	NotViewable
4	Frozen
END

CONSTANTS button
0	"any button"
1	"left button"
2	"middle button"
3	"right button"
END
TYPE BUTTON	CARD8 constants button

CONSTANTS allowevents
0	AsyncPointer
1	SyncPointer
2	ReplayPointer
3	AsyncKeyboard
4	SyncKeyboard
5	ReplayKeyboard
6	AsyncBoth
7	SyncBoth
END

CONSTANTS revertto
0	None
1	PointerRoot
2	Parent
3	FollowKeyboard
END

CONSTANTS noneroot
0	None
1	PointerRoot
END

BITMASK copygcvalues
0x00000001	function
0x00000002	plane-mask
0x00000004	foreground
0x00000008	background
0x00000010	line-width
0x00000020	line-style
0x00000040	cap-style
0x00000080	join-style
0x00000100	fill-style
0x00000200	fill-rule
0x00000400	tile
0x00000800	stipple
0x00001000	tile-stipple-x-origin
0x00002000	tile-stipple-y-origin
0x00004000	font
0x00008000	subwindow-mode
0x00010000	graphics-exposures
0x00020000	clip-x-origin
0x00040000	clip-y-origin
0x00080000	clip-mask
0x00100000	dash-offset
0x00200000	dashes
0x00400000	arc-mode
END

CONSTANTS direction
0	LeftToRight
1	RightToLeft
END

CONSTANTS rect_ordering
0	UnSorted
1	YSorted
2	YXSorted
3	YXBanded
END

CONSTANTS coordinate_mode
0	Origin
1	Previous
END

CONSTANTS shape
0	Complex
1	Nonconvex
2	Convex
END

CONSTANTS bitmap_format
0	Bitmap
1	XYPixmap
2	ZPixmap
END

CONSTANTS alloc
0	None
1	All
END

BITMASK doredgreenblue
0x01	red
0x02	green
0x04	blue
END

CONSTANTS sizeclass
0	Cursor
1	Tile
2	Stipple
END

CONSTANTS nyd
0	No
1	Yes
2	Default
END

CONSTANTS insertdelete
0	Insert
1	Delete
END

CONSTANTS family
0	Internet
1	DECnet
2	Chaos
END

CONSTANTS disabledenabled
0	Disabled
1	Enabled
END

CONSTANTS disableenable
0	Disable
1	Enable
END

CONSTANTS closemode
0	Destroy
1	RetainPermanent
2	RetainTemporary
END

CONSTANTS alltemporary
0	AllTemporary
END

CONSTANTS resetactivate
0	Reset
1	Activate
END

CONSTANTS successbusyfailed
0	Success
1	Busy
2	Failed
END

CONSTANTS stack_mode
0	Above
1	Below
2	TopIf
3	BottomIf
4	Opposite
END

TYPE WINDOW	CARD32
TYPE VISUALID	CARD32
TYPE COLORMAP	CARD32
TYPE PIXMAP	CARD32
TYPE CURSOR	CARD32
TYPE COUNT8	STORE8
TYPE COUNT16	STORE16
TYPE COUNT32	STORE32

templateREQUEST Empty
END

VALUES WindowAttributes
0x00000001	background-pixmap	PIXMAP constants nonerelative
0x00000002	background-pixel	CARD32
0x00000004	border-pixmap		PIXMAP constants copyfromparent
0x00000008	border-pixel		CARD32
0x00000010	bit-gravity		ENUM8 bitgravity
0x00000020	win-gravity		ENUM8 wingravity
0x00000040	backing-store		ENUM8 store
0x00000080	backing-planes		CARD32
0x00000100	backing-pixel		CARD32
0x00000200	override-redirect	BOOL
0x00000400	save-under		BOOL
0x00000800	event-mask		SETofEVENT
0x00001000	do-not-propagate-mask	SETofDEVICEEVENT
0x00002000	colormap		COLORMAP constants copyfromparent
0x00004000	cursor			CURSOR constants none
END

REQUEST CreateWindow
 1	depth	CARD8
 4	window	WINDOW
 8 	parent	WINDOW
12	x 	INT16
14 	y 	INT16
16  	width 	UINT16
18 	height	UINT16
20 	border-width UINT16
22 	class	ENUM16 windowclass
24 	visual	VISUALID constants copyfromparent
28 	value-mask	STORE32
32 	value-list	LISTofWindowAttributes
END

REQUEST ChangeWindowAttributes
4	window 	WINDOW
8 	value-mask	STORE32
12 	value-list	LISTofWindowAttributes
END

# This is used for all UNKNOWN or unsupported requests:
templateREQUEST unknown
0	opcode	CARD8
1	opcode2	CARD8
4	unparsed-data	LISTofCARD8
END
# reply to an UNKNOWN, UNSUPPORTED or unexpected reply
templateRESPONSE unknown
0	data1	CARD8
1	data2	CARD8
8	unparsed-data	LISTofCARD8
END

templateREQUEST WINDOW
4	window	WINDOW
END

REQUEST GetWindowAttributes ALIASES WINDOW

RESPONSE GetWindowAttributes
1	backing-store	ENUM8 store
8	visual  	VISUALID
12	class   	ENUM16 windowclass
14	bit-gravity	BITGRAVITY
15	win-gravity	WINGRAVITY
16	backing-planes	CARD32
20	backing-pixel	CARD32
24	save-under	BOOL
25	map-is-installed	BOOL
26	map-state	ENUM8 mapstate
27	override-redirect	BOOL
28	colormap	COLORMAP constants none
32	all-event-masks	SETofEVENT
36	your-event-mask	SETofEVENT
38	do-not-propagate-mask	BITMASK16 setofevent
40	unused		CARD16
END

REQUEST ChangeSaveSet
1	mode	ENUM8 insert_delete
4	window	WINDOW
END

REQUEST ReparentWindow
4	window	WINDOW
8	parent	WINDOW
12	x	INT16
14	y	INT16
END

VALUES ConfigureWindow
0x0001 x	INT16
0x0002 y	INT16
0x0004 width	UINT16
0x0008 height	UINT16
0x0010 border-width	UINT16
0x0020 sibling  	WINDOW
0x0040 stack-mode 	ENUM8 stack_mode
END

REQUEST ConfigureWindow
4	window  	WINDOW
8	value-mask	STORE16
12	values  	LISTofConfigureWindow
END


REQUEST CirculateWindow
1	direction	ENUM8 circulate
4	window  	WINDOW
END

TYPE DRAWABLE CARD32

REQUEST GetGeometry
4	drawable	DRAWABLE
END

RESPONSE GetGeometry
1	depth	CARD8
8	root	WINDOW
12	x	INT16
14	y	INT16
16	width	UINT16
18	height	UINT16
20	border-width	UINT16
END

REQUEST QueryTree ALIASES WINDOW

TYPE LISTofWINDOW LISTofCARD32

RESPONSE QueryTree
8	root		WINDOW
12	parent  	WINDOW constants none
16	count		COUNT16
32	children	LISTofWINDOW
END

REQUEST InternAtom
1	only-if-exists	BOOL
4	length  	COUNT16
8	name    	STRING8
END

RESPONSE InternAtom
8	atom	ATOM constants none
END

templateREQUEST Atom
4	atom	ATOM
END

REQUEST GetAtomName ALIASES Atom

RESPONSE GetAtomName
8	length	COUNT16
32	name	STRING8
END

REQUEST ChangeProperty
1	mode		ENUM8 change_mode
4	window  	WINDOW
8	property	ATOM
12	type		ATOM
16	format  	FORMAT8
20	length  	COUNT32
IF 12 ATOM "STRING"
24	data		STRING8
ELSEIF 12 ATOM "ATOM"
24	data		LISTofATOM
ELSE
24	data		LISTofFormat
END

REQUEST DeleteProperty
4	window  	WINDOW
8	property	ATOM
END

REQUEST GetProperty
1	delete  	BOOL
4	window  	WINDOW
8	property	ATOM
12	type		ATOM constants any
16	long-offset	CARD32
20	long-length	CARD32
END

RESPONSE GetProperty
1	format  	FORMAT8
8	type		ATOM constants none
12	bytes-after	CARD32
16	length  	COUNT32
IF 8 ATOM "STRING"
32	data		STRING8
ELSEIF 8 ATOM "ATOM"
32	data		LISTofATOM
ELSE
32	data		LISTofFormat
END

REQUEST ListProperties ALIASES WINDOW
RESPONSE ListProperties
8	count  	COUNT16
32	atoms  	LISTofATOM
END

TYPE TIMESTAMP CARD32
REQUEST SetSelectionOwner
4	owner 		WINDOW constants none
8	selection	ATOM
12	time		TIMESTAMP constants curtime
END

REQUEST GetSelectionOwner ALIASES Atom

RESPONSE GetSelectionOwner
8	owner	WINDOW constants none
END

REQUEST ConvertSelection
4	requestor	WINDOW
8	selection	ATOM
12	target 	ATOM
16	property	ATOM constants none
20	time		TIMESTAMP constants curtime
END

REQUEST SendEvent
1	propagate	BOOL
4	destination	WINDOW constants choosewindow
8	event-mask	SETofEVENT
12	event 		EVENT
END

REQUEST GrabPointer
1	owner-events	BOOL
4	grab-window	WINDOW
8	event-mask	SETofPOINTEREVENT
10	pointer-mode	ENUM8 synmode
11	keyboard-mode	ENUM8 synmode
12	confine-to	WINDOW constants none
16	cursor  	CURSOR constants none
20	time    	TIMESTAMP constants curtime
END

RESPONSE GrabPointer
1	status	ENUM8 grabsuccess
END

templateREQUEST Timestamp
4	time	TIMESTAMP constants curtime
END
REQUEST UngrabPointer ALIASES Timestamp

REQUEST GrabButton
1	owner-events	BOOL
4	grab-window	WINDOW
8	event-mask	SETofPOINTEREVENT
10	pointer-mode	ENUM8 synmode
11	keyboard-mode	ENUM8 synmode
12	confine-to	WINDOW constants none
16	cursor  	CURSOR constants none
20	button  	BUTTON
22	modifiers	SETofKEYMASK
END

REQUEST UngrabButton
1	button  	BUTTON
4	grab-window	WINDOW
8	modifiers	SETofKEYMASK
END

REQUEST ChangeActivePointerGrab
4	cursor  	CURSOR constants none
8	time		TIMESTAMP constants curtime
12	event-mask	SETofPOINTEREVENT
END

TYPE SYNMODE	CARD8 constants synmode

REQUEST GrabKeyboard
4	grab-window	WINDOW
8	time		TIMESTAMP constants curtime
12	pointer-mode	SYNMODE
13	keyboard-mode	SYNMODE
END

RESPONSE GrabKeyboard ALIASES GrabPointer

REQUEST UngrabKeyboard ALIASES Timestamp

TYPE KEYCODE	CARD8

REQUEST GrabKey
1	owner-events	BOOL
4	grab-window	WINDOW
8	modifiers	SETofKEYMASK
10	key		KEYCODE constants any
11	pointer-mode	SYNMODE
12	keyboard-mode	SYNMODE
END

REQUEST UngrabKey
1	key		KEYCODE constants any
4	grab-window	WINDOW
8	modifiers	SETofKEYMASK
END

REQUEST AllowEvents
1	mode	ENUM8 allowevents
5	time	TIMESTAMP constants curtime
END

REQUEST QueryPointer ALIASES WINDOW

RESPONSE QueryPointer
1	same-screen	BOOL
8	root		WINDOW
12	child   	WINDOW constants none
16	root-x  	INT16
18	root-y  	INT16
20	win-x   	INT16
22	win-y   	INT16
24	mask		SETofKEYBUTMASK
END

REQUEST GetMotionEvents
4	window	WINDOW
8	start	TIMESTAMP constants curtime
12	stop	TIMESTAMP constants curtime
END

LIST TIMECOORD length 8
0	time	TIMESTAMP
4	x	INT16
6	y	INT16
END

RESPONSE GetMotionEvents
8	count	COUNT32
32	events	LISTofTIMECOORD
END

REQUEST TranslateCoordinates
4	src-window	WINDOW
8	dst-window	WINDOW
12	src-x 	 	INT16
14	src-y   	INT16
END

RESPONSE TranslateCoordinates
1	same-screen	BOOL
8	child   	WINDOW constants none
12	dst-x   	INT16
14	dst-y   	INT16
END

REQUEST WarpPointer
4	src-window	WINDOW constants none
8	dst-window	WINDOW constants none
12	src-x   	INT16
14	src-y   	INT16
16	src-width	UINT16
18	src-height	UINT16
20	dst-x   	INT16
22	dst-y   	INT16
END

REQUEST SetInputFocus
1	revert-to	ENUM8 revertto
4	focus   	WINDOW constants noneroot
8	time    	TIMESTAMP constants curtime
END

REQUEST GetInputFocus ALIASES Empty

RESPONSE GetInputFocus
1	revert-to	ENUM8 revertto
8	focus   	WINDOW constants noneroot
END

REQUEST QueryKeymap ALIASES Empty

RESPONSE QueryKeymap
8	keys		LISTofCARD8
END

TYPE FONT CARD32
REQUEST OpenFont
4	fid    	FONT
8	length	COUNT16
12	name   	STRING8
END

templateREQUEST FONT
4	font	FONT
END
REQUEST CloseFont ALIASES FONT
REQUEST QueryFont ALIASES FONT

#// What is that really?
TYPE 32bits CARD32

LIST FONTPROP length 8
0	name	ATOM
IF 0 ATOM "FONT"
4	value	ATOM
ELSEIF 0 ATOM "FAMILY_NAME"
4	value	ATOM
ELSEIF 0 ATOM "FOUNDRY"
4	value	ATOM
ELSEIF 0 ATOM "FACE_NAME"
4	value	ATOM
ELSEIF 0 ATOM "COPYRIGHT"
4	value	ATOM
ELSEIF 0 ATOM "NOTICE"
4	value	ATOM
ELSEIF 0 ATOM "CHARSET_REGISTRY"
4	value	ATOM
ELSEIF 0 ATOM "CHARSET_ENCODING"
4	value	ATOM
ELSEIF 0 ATOM "FONT_TYPE"
4	value	ATOM
ELSEIF 0 ATOM "SLANT"
4	value	ATOM
ELSEIF 0 ATOM "FULL_NAME"
4	value	ATOM
ELSE
4	value	32bits
END

STRUCT CHARINFO length 12
0	left-side-bearing	INT16
2	right-side-bearing	INT16
4	character-width 	INT16
6	ascent        		INT16
8	descent         	INT16
10	attributes      	CARD16
END

RESPONSE QueryFont
8	min-bounds		CHARINFO
24	max-bounds		CHARINFO
40	min-char-or-byte2	CARD16
42	max-char-or-byte2	CARD16
44	default-char		CARD16
46	"#FONTPROPs"		COUNT16
48	draw-direction  	ENUM8 direction
49	min-byte1		CARD8
50	max-byte1		CARD8
51	all-chars-exist 	BOOL
52	font-ascent		INT16
54	font-descent		INT16
60	properties		LISTofFONTPROP
56	"#CHARINFOs"		COUNT32
LATER	char-infos      	LISTofCHARINFO
END

TYPE FONTABLE CARD32
TYPE STRING16 LISTofCARD16

REQUEST QueryTextExtents
1	lastunused	BOOL
4	font   	FONTABLE
8	string 	STRING16
END

RESPONSE QueryTextExtents
1	draw-direction	ENUM8 direction
8	font-ascent	INT16
10	font-descent	INT16
12	overall-ascent	INT16
14	overall-descent	INT16
16	overall-width	INT32
20	overall-left	INT32
24	overall-right	INT32
END

REQUEST ListFonts
4	max-names	CARD16
6	length  	COUNT16
8	pattern 	STRING8
END

LIST STRING8 variable min-length 1
0	c	COUNT8
1	s	STRING8
END

RESPONSE ListFonts
 8	count	COUNT16
32	names	LISTofSTRING8
END

REQUEST ListFontsWithInfo ALIASES ListFonts

RESPONSE ListFontsWithInfo
8	min-bounds		CHARINFO
24	max-bounds		CHARINFO
40	min-char-or-byte2	CARD16
42	max-char-or-byte2	CARD16
44	default-char		CARD16
48	draw-direction  	ENUM8 direction
49	min-byte1		CARD8
50	max-byte1		CARD8
51	all-chars-exist 	BOOL
52	font-ascent		INT16
54	font-descent		INT16
56	replies-hint		CARD32
46	count   		COUNT16
60	properties		LISTofFONTPROP
1	length          	COUNT8
LATER	name            	STRING8
END

REQUEST SetFontPath
4	count	CARD16
8	path	LISTofSTRING8
END

REQUEST GetFontPath ALIASES Empty

RESPONSE GetFontPath
8	count	CARD16
32	path	LISTofSTRING8
END

REQUEST CreatePixmap
1	depth  	CARD8
4	pid    	PIXMAP
8	drawable	DRAWABLE
12	width  	UINT16
14	height 	UINT16
END

REQUEST FreePixmap
4	drawable	DRAWABLE
END

TYPE GCONTEXT CARD32

VALUES GCattributes
0x00000001 function   	ENUM8 function
0x00000002 plane-mask 	CARD32
0x00000004 foreground 	CARD32
0x00000008 background 	CARD32
0x00000010 line-width 	UINT16
0x00000020 line-style 	ENUM8 line_style
0x00000040 cap-style  	ENUM8 cap_style
0x00000080 join-style 	ENUM8 join_style
0x00000100 fill-style 	ENUM8 fill_style
0x00000200 fill-rule  	ENUM8 fill_rule
0x00000400 tile       	PIXMAP
0x00000800 stipple    	PIXMAP
0x00001000 tile-stipple-x-origin INT16
0x00002000 tile-stipple-y-origin INT16
0x00004000 font         	FONT
0x00008000 subwindow-mode	SubwindowMode
0x00010000 graphics-exposures	BOOL
0x00020000 clip-x-origin	INT16
0x00040000 clip-y-origin	INT16
0x00080000 clip-mask  	PIXMAP constants none
0x00100000 dash-offset	UINT16
0x00200000 dashes     	UINT8
0x00400000 arc-mode   	ENUM8 arc_mode
0x00800000 unknown22  	CARD32
0x01000000 unknown23  	CARD32
0x02000000 unknown24  	CARD32
0x04000000 unknown25  	CARD32
0x08000000 unknown26  	CARD32
0x10000000 unknown28  	CARD32
0x20000000 unknown29  	CARD32
0x40000000 unknown30  	CARD32
0x80000000 unknown31  	CARD32
END

REQUEST CreateGC
4	cid		GCONTEXT
8	drawable	DRAWABLE
12	value-mask	STORE32
16	values		LISTofGCattributes
END

REQUEST ChangeGC
4	gc		GCONTEXT
8	value-mask	STORE32
12	values		LISTofGCattributes
END

REQUEST CopyGC
4	src-gc  	GCONTEXT
8	dst-gc  	GCONTEXT
12	value-mask	BITMASK32 copygcvalues
END

REQUEST SetDashes
4	gc		GCONTEXT
8	dash-offset	CARD16
10	count		COUNT16
12	dashes  	LISTofCARD8
END

STRUCT RECTANGLE length 8
0	x		INT16
2	y		INT16
4	w		UINT16
6	h		UINT16
END


REQUEST SetClipRectangles
1	ordering	ENUM8 rect_ordering
4	gc		GCONTEXT
8	clip-x-origin	INT16
10	clip-y-origin	INT16
12	rectangles	LISTofRECTANGLE
END

templateREQUEST GC
4	gc	GCONTEXT
END
REQUEST FreeGC ALIASES GC

REQUEST ClearArea
1	exposures	BOOL
4	window	WINDOW
8	x	INT16
10	y	INT16
12	width	UINT16
14	height	UINT16
END

REQUEST CopyArea
4	src-drawable	DRAWABLE
8	dst-drawable	DRAWABLE
12	gc      	GCONTEXT
16	src-x   	INT16
18	src-y   	INT16
20	dst-x   	INT16
22	dst-y   	INT16
24	width   	UINT16
26	height  	UINT16
END

REQUEST CopyPlane
4	src-drawable	DRAWABLE
8	dst-drawable	DRAWABLE
12	gc      	GCONTEXT
16	src-x   	INT16
18	src-y   	INT16
20	dst-x   	INT16
22	dst-y   	INT16
24	width   	UINT16
26	height  	UINT16
28	bit-plane	CARD32
END

LIST POINT length 4
0	x		INT16
2	y		INT16
END

REQUEST PolyPoint
1	coordinate-mode	ENUM8 coordinate_mode
4	drawable	DRAWABLE
8	gc		GCONTEXT
12	points 	LISTofPOINT
END

REQUEST PolyLine
1	coordinate-mode	ENUM8 coordinate_mode
4	drawable	DRAWABLE
8	gc		GCONTEXT
12	points 	LISTofPOINT
END

LIST SEGMENT length 8
0	x1		INT16
2	y1		INT16
4	x2		INT16
6	y2		INT16
END

REQUEST PolySegment
4	drawable	DRAWABLE
8	gc		GCONTEXT
12	segments	LISTofSEGMENT
END

REQUEST PolyRectangle
4	drawable	DRAWABLE
8	gc		GCONTEXT
12	rectangles	LISTofRECTANGLE
END

LIST ARC length 12
0	x	INT16
2	y	INT16
4	w	UINT16
6	h	UINT16
8	angle1	INT16
10	angle2	INT16
END

REQUEST PolyArc
4	drawable	DRAWABLE
8	gc		GCONTEXT
12	arcs		LISTofARC
END

REQUEST FillPoly
4	drawable	DRAWABLE
8	gc		GCONTEXT
12	shape		ENUM8 shape
13	coordinate-mode ENUM8 coordinate_mode
16	points		LISTofPOINT
END

REQUEST PolyFillRectangle
4	drawable	DRAWABLE
8	gc		GCONTEXT
12	rectangles	LISTofRECTANGLE
END

REQUEST PolyFillArc ALIASES PolyArc

REQUEST PutImage
1	format 	ENUM8 bitmap_format
4	drawable	DRAWABLE
8	gc     	GCONTEXT
12	width  	UINT16
14	height 	UINT16
16	dst-x  	INT16
18	dst-y  	INT16
20	left-pad	CARD8
21	depth  	CARD8
END

REQUEST GetImage
1	format		ENUM8 bitmap_format
4	drawable	DRAWABLE
8	x		INT16
10	y		INT16
12	width   	UINT16
14	height  	UINT16
16	plane-mask	CARD32
END
RESPONSE GetImage
1	depth 	CARD8
4	"32-bit values got"	UINT32
8	visual	VISUALID constants none
END

LIST PolyText8 variable min-length 3
IF 0 CARD8 255
1	font		BE32
NEXT	5
ELSEIF 0 CARD8 0
# prevent a empty string fitting in the last 3 pad bytes
# showing up. (as this 3 pad bytes could contain a
# string of length 1 I think)
NEXT 2
ELSE
1	delta  	INT8
0	length 	COUNT8
2	s      	STRING8
END

REQUEST PolyText8
4	drawable	DRAWABLE
8	gc		GCONTEXT
12	x		INT16
14	y		INT16
16	texts  	LISTofPolyText8
END

LIST PolyText16 variable min-length 4
IF 0 CARD8 255
1	font		BE32
NEXT	5
ELSE
1	delta  	INT8
0	length 	COUNT8
2	s      	STRING16
END

REQUEST PolyText16
4	drawable	DRAWABLE
8	gc		GCONTEXT
12	x		INT16
14	y		INT16
16	texts   	LISTofPolyText16
END

REQUEST ImageText8
4	drawable  	DRAWABLE
8	gc      	GCONTEXT
12	x       	INT16
14	y       	INT16
1	length  	COUNT8
16	string  	STRING8
END

REQUEST ImageText16
4	drawable	DRAWABLE
8	gc 	GCONTEXT
12	x 	INT16
14	y	INT16
1	length	COUNT8
16	string	STRING16
END

REQUEST CreateColormap
1	alloc	ENUM8 alloc
4	mid	COLORMAP
8	window	WINDOW
12	visual	VISUALID
END

templateREQUEST COLORMAP
4	cmap	COLORMAP
END
REQUEST FreeColormap ALIASES COLORMAP

REQUEST CopyColormapAndFree
4	mid    	COLORMAP
8	src-cmap	COLORMAP
END

REQUEST InstallColormap ALIASES COLORMAP
REQUEST UninstallColormap ALIASES COLORMAP
REQUEST ListInstalledColormaps ALIASES WINDOW

TYPE LISTofCOLORMAP LISTofCARD32

RESPONSE ListInstalledColormaps
8	count	COUNT16
32	cmaps	LISTofCOLORMAP
END

REQUEST AllocColor
4	cmap	COLORMAP
8	red	CARD16
10	green	CARD16
12	blue	CARD16
END

RESPONSE AllocColor
8	red	CARD16
10	green	CARD16
12	blue	CARD16
16	pixel	CARD32
END

REQUEST AllocNamedColor
4	cmap	COLORMAP
8	count	COUNT16
12	name	STRING8
END

RESPONSE AllocNamedColor
8	pixel  	CARD32
12	exact-red	CARD16
14	exact-green	CARD16
16	exact-blue	CARD16
18	visual-red	CARD16
20	visual-green	CARD16
22	visual-blue	CARD16
END

REQUEST AllocColorCells
1	contiguous	BOOL
4	cmap		COLORMAP
8	colors  	CARD16
10	planes  	CARD16
END

RESPONSE AllocColorCells
8	"#pixels"	COUNT16
32	pixels  	LISTofCARD32
10	"#masks"	COUNT16
LATER	masks   	LISTofCARD32
END

REQUEST AllocColorPlanes
1	contiguous	BOOL
4	cmap		COLORMAP
8	colors		CARD16
10	reds		CARD16
12	greens		CARD16
14	blues		CARD16
END

RESPONSE AllocColorPlanes
8	count		COUNT16
12	red-mask	CARD32
16	green-mask	CARD32
20	blue-mask	CARD32
32	pixels		LISTofCARD32
END

REQUEST FreeColors
4	cmap		COLORMAP
8	plane-mask	CARD32
12	pixels		LISTofCARD32
END

LIST COLORITEM length 12
0	pixel	CARD32
4	red	CARD16
6	green	CARD16
8	blue	CARD16
10	do	BITMASK8 doredgreenblue
END

REQUEST StoreColors
4	cmap	COLORMAP
8	items	LISTofCOLORITEM
END

REQUEST StoreNamedColor
1	do	ENUM8 doredgreenblue
4	cmap	COLORMAP
8	pixel	CARD32
12	"#"	COUNT16
16	name	STRING8
END

REQUEST QueryColors
4	cmap	COLORMAP
12	pixels	LISTofCARD32
END

LIST RGB length 8
0	r	CARD16
2	g	CARD16
4	b	CARD16
END

RESPONSE QueryColors
8	"#"	COUNT16
32	colors	LISTofRGB
END

REQUEST LookupColor
4	cmap	COLORMAP
8	"#"	COUNT16
12	name	STRING8
END

RESPONSE LookupColor
8	exact-red	CARD16
10	exact-green	CARD16
12	exact-blue	CARD16
14	visual-red	CARD16
16	visual-green	CARD16
18	visual-blue	CARD16
END

REQUEST CreateCursor
4	cid		CURSOR
8	source		PIXMAP
12	mask		PIXMAP constants none
16	fore-red	CARD16
18	fore-green	CARD16
20	fore-blue	CARD16
22	back-red	CARD16
24	back-green	CARD16
26	back-blue	CARD16
28	x		UINT16
30	y		UINT16
END

REQUEST CreateGlyphCursor
4	cid		CURSOR
8	source-font	FONT
12	mask-font	FONT constants none
16	source-char	CARD16
18	mask-char	CARD16
20	fore-red	CARD16
22	fore-green	CARD16
24	fore-blue	CARD16
26	back-red	CARD16
28	back-green	CARD16
30	back-blue	CARD16
END

templateREQUEST CURSOR
4	cursor 	CURSOR
END
REQUEST FreeCursor ALIASES CURSOR

REQUEST RecolorCursor
4	cursor		CURSOR
8	fore-red	CARD16
10	fore-green	CARD16
12	fore-blue	CARD16
14	back-red	CARD16
16	back-green	CARD16
18	back-blue	CARD16
END

REQUEST QueryBestSize
1	class		ENUM8 sizeclass
4	drawable	DRAWABLE
8	width		UINT16
10	height		UINT16
END

RESPONSE QueryBestSize
8	width	UINT16
10	height	UINT16
END

REQUEST QueryExtension
4	"#"	COUNT16
8	name	STRING8
END

RESPONSE QueryExtension
8	present	BOOL
9	major-opcode	UINT8
10	first-event	UINT8
11	first-error	UINT8
END

REQUEST ListExtensions ALIASES Empty

RESPONSE ListExtensions
1	"number of STRs in names"	COUNT8
32	names			LISTofSTRING8
END

TYPE LISTofKEYSYM LISTofCARD32

REQUEST ChangeKeyboardMapping
2	keycode-count		CARD8
4	first-keycode		KEYCODE
5	keysyms-per-keycode	CARD8
## it's CARD8(2)*CARD8(5) many just list until end of package:
8	keysyms		LISTofKEYSYM
END


REQUEST GetKeyboardMapping
4	first-keycode	KEYCODE
5	count		CARD8
END


RESPONSE GetKeyboardMapping
1	keysyms-per-keycode	CARD8
32	keysyms		LISTofKEYSYM
END


CONSTANTS OnOffDefault
0	Off
1	On
2	Default
END

VALUES KeyboardControl
0x0001	key-click-percent	INT8
0x0002	bell-percent    	INT8
0x0004	bell-pitch       	INT16
0x0008	bell-duration     	INT16
0x0010	led              	CARD8
0x0020	led-mode          	ENUM8 OnOffDefault
0x0040	key              	KEYCODE
0x0080	auto-repeat-mode        ENUM8 OnOffDefault
END

REQUEST ChangeKeyboardControl
4	value-mask	STORE16
8	values		LISTofKeyboardControl
END

REQUEST GetKeyboardControl ALIASES Empty
RESPONSE GetKeyboardControl
1	global-auto-repeat	BOOL
8	led-mask		CARD32
12	key-click-percent	CARD8
13	bell-percent		CARD8
14	bell-pitch		CARD16
16	bell-duration		CARD16
20	auto-repeats		LISTofCARD8
END

REQUEST Bell
1	percent	INT8
END

REQUEST ChangePointerControl
4	acceleration	FRACTION16_16
8	threshold	INT16
10	do-acceleration BOOL
11	do-threshold	BOOL
END

REQUEST GetPointerControl ALIASES Empty

RESPONSE GetPointerControl
8	acceleration	FRACTION16_16
12	threshold	CARD16
END

REQUEST SetScreenSaver
4	timeout		INT16
6	interval	INT16
8	prefer-blanking	ENUM8 nyd
9	allow-exposures	ENUM8 nyd
END

REQUEST GetScreenSaver ALIASES Empty
RESPONSE GetScreenSaver
8	timeout		UINT16
10	interval	UINT16
12	prefer-blanking	ENUM8 nyd
13	allow-exposures	ENUM8 nyd
END

REQUEST ChangeHosts
1	mode		ENUM8 insertdelete
4	family		ENUM8 family
6	"#"		COUNT16
8	address 	LISTofCARD8
END

REQUEST ListHosts ALIASES Empty

TYPE LISTofHOST LISTofCARD32

RESPONSE ListHosts
1	mode	ENUM8 disabledenabled
8	"#"	COUNT16
32	hosts	LISTofHOST
END

REQUEST SetAccessControl
1	mode	ENUM8 disableenable
END

REQUEST SetCloseDownMode
1	mode	ENUM8 closemode
END

REQUEST KillClient
4	resource	CARD32 constants alltemporary
END

REQUEST RotateProperties
4	window		WINDOW
8	"#"		COUNT16
10	delta		INT16
12	properties	LISTofATOM
END

REQUEST ForceScreenSaver
1	mode	ENUM8 resetactivate
END

REQUEST SetPointerMapping
1	"#"	COUNT8
4	map	LISTofCARD8
END

templateRESPONSE SuccessBusyFailed
1	status	ENUM8 successbusyfailed
END
RESPONSE SetPointerMapping ALIASES SuccessBusyFailed

REQUEST GetPointerMapping ALIASES Empty

RESPONSE GetPointerMapping
1	length	COUNT8
32	map	LISTofCARD8
END

TYPE LISTofKEYCODE LISTofCARD8

REQUEST SetModifierMapping
1	keycodes-per-modifier	CARD8
4	keycodes		LISTofKEYCODE
END

RESPONSE SetModifierMapping ALIASES SuccessBusyFailed

REQUEST GetModifierMapping ALIASES Empty

RESPONSE GetModifierMapping
1	keycodes-per-modifier	CARD8
32	keycodes		LISTofKEYCODE
END

REQUEST DestroyWindow ALIASES WINDOW
REQUEST DestroySubwindows ALIASES WINDOW
REQUEST MapWindow ALIASES WINDOW
REQUEST MapSubwindows ALIASES WINDOW
REQUEST UnmapWindow ALIASES WINDOW
REQUEST UnmapSubwindows ALIASES WINDOW
REQUEST GrabServer ALIASES Empty
REQUEST UngrabServer ALIASES Empty
REQUEST NoOperation ALIASES Empty

EOF