0a8a2de8f92ea810660b150764ef3d504599f617
[free-sw/xcb/proto] / src / xproto.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 Copyright (C) 2001-2004 Bart Massey, Jamey Sharp, and Josh Triplett.
4 All Rights Reserved.
5
6 Permission is hereby granted, free of charge, to any person obtaining a copy
7 of this software and associated documentation files (the "Software"), to deal
8 in the Software without restriction, including without limitation the rights
9 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 copies of the Software, and to permit persons to whom the Software is
11 furnished to do so, subject to the following conditions:
12
13 The above copyright notice and this permission notice shall be included in all
14 copies or substantial portions of the Software.
15
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
23 Except as contained in this notice, the names of the authors or their
24 institutions shall not be used in advertising or otherwise to promote the
25 sale, use or other dealings in this Software without prior written
26 authorization from the authors.
27 -->
28 <xcb header="xproto">
29   <!-- Core event types -->
30   
31   <enum name="ModMask">
32     <item name="Shift">  <bit>0</bit></item>
33     <item name="Lock">   <bit>1</bit></item>
34     <item name="Control"><bit>2</bit></item>
35     <item name="1">      <bit>3</bit></item>
36     <item name="2">      <bit>4</bit></item>
37     <item name="3">      <bit>5</bit></item>
38     <item name="4">      <bit>6</bit></item>
39     <item name="5">      <bit>7</bit></item>
40   </enum>
41
42   <event name="KeyPress" number="2">
43     <field type="KEYCODE" name="detail" />
44     <field type="TIMESTAMP" name="time" />
45     <field type="WINDOW" name="root" />
46     <field type="WINDOW" name="event" />
47     <field type="WINDOW" name="child" />
48     <field type="INT16" name="root_x" />
49     <field type="INT16" name="root_y" />
50     <field type="INT16" name="event_x" />
51     <field type="INT16" name="event_y" />
52     <field type="CARD16" name="state" />
53     <field type="BOOL" name="same_screen" />
54   </event>
55
56   <eventcopy name="KeyRelease" number="3" ref="KeyPress" />
57
58   <enum name="ButtonMask">
59     <item name="1">      <bit>8</bit></item>
60     <item name="2">      <bit>9</bit></item>
61     <item name="3">      <bit>10</bit></item>
62     <item name="4">      <bit>11</bit></item>
63     <item name="5">      <bit>12</bit></item>
64     <item name="Any">    <bit>15</bit></item>
65   </enum>
66
67   <event name="ButtonPress" number="4">
68     <field type="BUTTON" name="detail" />
69     <field type="TIMESTAMP" name="time" />
70     <field type="WINDOW" name="root" />
71     <field type="WINDOW" name="event" />
72     <field type="WINDOW" name="child" />
73     <field type="INT16" name="root_x" />
74     <field type="INT16" name="root_y" />
75     <field type="INT16" name="event_x" />
76     <field type="INT16" name="event_y" />
77     <field type="CARD16" name="state" />
78     <field type="BOOL" name="same_screen" />
79   </event>
80
81   <eventcopy name="ButtonRelease" number="5" ref="ButtonPress" />
82
83   <!-- MotionNotify detail -->
84   <enum name="Motion">
85     <item name="Normal"><value>0</value></item>
86     <item name="Hint">  <value>1</value></item>
87   </enum>
88
89   <event name="MotionNotify" number="6">
90     <field type="BYTE" name="detail" />
91     <field type="TIMESTAMP" name="time" />
92     <field type="WINDOW" name="root" />
93     <field type="WINDOW" name="event" />
94     <field type="WINDOW" name="child" />
95     <field type="INT16" name="root_x" />
96     <field type="INT16" name="root_y" />
97     <field type="INT16" name="event_x" />
98     <field type="INT16" name="event_y" />
99     <field type="CARD16" name="state" />
100     <field type="BOOL" name="same_screen" />
101   </event>
102
103   <enum name="NotifyDetail">
104     <item name="Ancestor">        <value>0</value></item>
105     <item name="Virtual">         <value>1</value></item>
106     <item name="Inferior">        <value>2</value></item>
107     <item name="Nonlinear">       <value>3</value></item>
108     <item name="NonlinearVirtual"><value>4</value></item>
109     <item name="Pointer">         <value>5</value></item>
110     <item name="PointerRoot">     <value>6</value></item>
111     <item name="None">            <value>7</value></item>
112   </enum>
113
114   <enum name="NotifyMode">
115     <item name="Normal">      <value>0</value></item>
116     <item name="Grab">        <value>1</value></item>
117     <item name="Ungrab">      <value>2</value></item>
118     <item name="WhileGrabbed"><value>3</value></item>
119   </enum>
120
121   <event name="EnterNotify" number="7">
122     <field type="BYTE" name="detail" />
123     <field type="TIMESTAMP" name="time" />
124     <field type="WINDOW" name="root" />
125     <field type="WINDOW" name="event" />
126     <field type="WINDOW" name="child" />
127     <field type="INT16" name="root_x" />
128     <field type="INT16" name="root_y" />
129     <field type="INT16" name="event_x" />
130     <field type="INT16" name="event_y" />
131     <field type="CARD16" name="state" />
132     <field type="BYTE" name="mode" />
133     <field type="BYTE" name="same_screen_focus" />
134   </event>
135
136   <eventcopy name="LeaveNotify" number="8" ref="EnterNotify" />
137
138   <event name="FocusIn" number="9">
139     <field type="BYTE" name="detail" />
140     <field type="WINDOW" name="event" />
141     <field type="BYTE" name="mode" />
142   </event>
143
144   <eventcopy name="FocusOut" number="10" ref="FocusIn" />
145
146   <event name="KeymapNotify" number="11" no-sequence-number="true">
147     <list type="CARD8" name="keys"><value>31</value></list>
148   </event>
149
150   <event name="Expose" number="12">
151     <pad bytes="1" />
152     <field type="WINDOW" name="window" />
153     <field type="CARD16" name="x" />
154     <field type="CARD16" name="y" />
155     <field type="CARD16" name="width" />
156     <field type="CARD16" name="height" />
157     <field type="CARD16" name="count" />
158   </event>
159
160   <event name="GraphicsExposure" number="13">
161     <pad bytes="1" />
162     <field type="DRAWABLE" name="drawable" />
163     <field type="CARD16" name="x" />
164     <field type="CARD16" name="y" />
165     <field type="CARD16" name="width" />
166     <field type="CARD16" name="height" />
167     <field type="CARD16" name="minor_opcode" />
168     <field type="CARD16" name="count" />
169     <field type="CARD8" name="major_opcode" />
170   </event>
171
172   <event name="NoExposure" number="14">
173     <pad bytes="1" />
174     <field type="DRAWABLE" name="drawable" />
175     <field type="CARD16" name="minor_opcode" />
176     <field type="CARD8" name="major_opcode" />
177   </event>
178
179   <enum name="Visibility">
180     <item name="Unobscured">       <value>0</value></item>
181     <item name="PartiallyObscured"><value>1</value></item>
182     <item name="FullyObscured">    <value>2</value></item>
183   </enum>
184
185   <event name="VisibilityNotify" number="15">
186     <pad bytes="1" />
187     <field type="WINDOW" name="window" />
188     <field type="BYTE" name="state" />
189   </event>
190
191   <event name="CreateNotify" number="16">
192     <pad bytes="1" />
193     <field type="WINDOW" name="parent" />
194     <field type="WINDOW" name="window" />
195     <field type="INT16" name="x" />
196     <field type="INT16" name="y" />
197     <field type="CARD16" name="width" />
198     <field type="CARD16" name="height" />
199     <field type="CARD16" name="border_width" />
200     <field type="BOOL" name="override_redirect" />
201   </event>
202
203   <event name="DestroyNotify" number="17">
204     <pad bytes="1" />
205     <field type="WINDOW" name="event" />
206     <field type="WINDOW" name="window" />
207   </event>
208
209   <event name="UnmapNotify" number="18">
210     <pad bytes="1" />
211     <field type="WINDOW" name="event" />
212     <field type="WINDOW" name="window" />
213     <field type="BOOL" name="from_configure" />
214   </event>
215
216   <event name="MapNotify" number="19">
217     <pad bytes="1" />
218     <field type="WINDOW" name="event" />
219     <field type="WINDOW" name="window" />
220     <field type="BOOL" name="override_redirect" />
221   </event>
222
223   <event name="MapRequest" number="20">
224     <pad bytes="1" />
225     <field type="WINDOW" name="parent" />
226     <field type="WINDOW" name="window" />
227   </event>
228
229   <event name="ReparentNotify" number="21">
230     <pad bytes="1" />
231     <field type="WINDOW" name="event" />
232     <field type="WINDOW" name="window" />
233     <field type="WINDOW" name="parent" />
234     <field type="INT16" name="x" />
235     <field type="INT16" name="y" />
236     <field type="BOOL" name="override_redirect" />
237   </event>
238
239   <event name="ConfigureNotify" number="22">
240     <pad bytes="1" />
241     <field type="WINDOW" name="event" />
242     <field type="WINDOW" name="window" />
243     <field type="WINDOW" name="above_sibling" />
244     <field type="INT16" name="x" />
245     <field type="INT16" name="y" />
246     <field type="CARD16" name="width" />
247     <field type="CARD16" name="height" />
248     <field type="CARD16" name="border_width" />
249     <field type="BOOL" name="override_redirect" />
250   </event>
251
252   <event name="ConfigureRequest" number="23">
253     <field type="BYTE" name="stack_mode" />
254     <field type="WINDOW" name="parent" />
255     <field type="WINDOW" name="window" />
256     <field type="WINDOW" name="sibling" />
257     <field type="INT16" name="x" />
258     <field type="INT16" name="y" />
259     <field type="CARD16" name="width" />
260     <field type="CARD16" name="height" />
261     <field type="CARD16" name="border_width" />
262     <field type="CARD16" name="value_mask" />
263   </event>
264
265   <event name="GravityNotify" number="24">
266     <pad bytes="1" />
267     <field type="WINDOW" name="event" />
268     <field type="WINDOW" name="window" />
269     <field type="INT16" name="x" />
270     <field type="INT16" name="y" />
271   </event>
272
273   <event name="ResizeRequest" number="25">
274     <pad bytes="1" />
275     <field type="WINDOW" name="window" />
276     <field type="CARD16" name="width" />
277     <field type="CARD16" name="height" />
278   </event>
279
280   <enum name="Place">
281     <item name="OnTop">   <value>0</value></item>
282     <item name="OnBottom"><value>1</value></item>
283   </enum>
284
285   <event name="CirculateNotify" number="26">
286     <pad bytes="1" />
287     <field type="WINDOW" name="event" />
288     <field type="WINDOW" name="window" />
289     <pad bytes="4" />
290     <field type="BYTE" name="place" />
291   </event>
292
293   <eventcopy name="CirculateRequest" number="27" ref="CirculateNotify" />
294
295   <enum name="Property">
296     <item name="NewValue"><value>0</value></item>
297     <item name="Delete">  <value>1</value></item>
298   </enum>
299
300   <event name="PropertyNotify" number="28">
301     <pad bytes="1" />
302     <field type="WINDOW" name="window" />
303     <field type="ATOM" name="atom" />
304     <field type="TIMESTAMP" name="time" />
305     <field type="BYTE" name="state" />
306   </event>
307
308   <event name="SelectionClear" number="29">
309     <pad bytes="1" />
310     <field type="TIMESTAMP" name="time" />
311     <field type="WINDOW" name="owner" />
312     <field type="ATOM" name="selection" />
313   </event>
314
315   <event name="SelectionRequest" number="30">
316     <pad bytes="1" />
317     <field type="TIMESTAMP" name="time" />
318     <field type="WINDOW" name="owner" />
319     <field type="WINDOW" name="requestor" />
320     <field type="ATOM" name="selection" />
321     <field type="ATOM" name="target" />
322     <field type="ATOM" name="property" />
323   </event>
324
325   <event name="SelectionNotify" number="31">
326     <pad bytes="1" />
327     <field type="TIMESTAMP" name="time" />
328     <field type="WINDOW" name="requestor" />
329     <field type="ATOM" name="selection" />
330     <field type="ATOM" name="target" />
331     <field type="ATOM" name="property" />
332   </event>
333
334   <enum name="ColormapState">
335     <item name="Uninstalled"><value>0</value></item>
336     <item name="Installed">  <value>1</value></item>
337   </enum>
338
339   <event name="ColormapNotify" number="32">
340     <pad bytes="1" />
341     <field type="WINDOW" name="window" />
342     <field type="COLORMAP" name="colormap" />
343     <field type="BOOL" name="new" />
344     <field type="BYTE" name="state" />
345   </event>
346
347   <union name="ClientMessageData">
348     <!-- The format member of the ClientMessage event determines which array
349          to use. -->
350     <list type="CARD8"  name="data8" ><value>20</value></list> <!--  8 -->
351     <list type="CARD16" name="data16"><value>10</value></list> <!-- 16 -->
352     <list type="CARD32" name="data32"><value>5</value></list>  <!-- 32 -->
353   </union>
354
355   <event name="ClientMessage" number="33">
356     <field type="CARD8" name="format" /> <!-- 8, 16, or 32. -->
357     <field type="WINDOW" name="window" />
358     <field type="ATOM" name="type" />
359     <field type="ClientMessageData" name="data" />
360   </event>
361
362   <enum name="Mapping">
363     <item name="Modifier"><value>0</value></item>
364     <item name="Keyboard"><value>1</value></item>
365     <item name="Pointer"> <value>2</value></item>
366   </enum>
367
368   <event name="MappingNotify" number="34">
369     <pad bytes="1" />
370     <field type="BYTE" name="request" />
371     <field type="KEYCODE" name="first_keycode" />
372     <field type="CARD8" name="count" />
373   </event>
374
375
376
377   <!-- Core error types -->
378
379
380
381   <error name="Request" number="1">
382     <field type="CARD32" name="bad_value" />
383     <field type="CARD16" name="minor_opcode" />
384     <field type="CARD8" name="major_opcode" />
385   </error>
386
387   <error name="Value" number="2">
388     <field type="CARD32" name="bad_value" />
389     <field type="CARD16" name="minor_opcode" />
390     <field type="CARD8" name="major_opcode" />
391   </error>
392
393   <errorcopy name="Window" number="3" ref="Value" />
394   <errorcopy name="Pixmap" number="4" ref="Value" />
395   <errorcopy name="Atom" number="5" ref="Value" />
396   <errorcopy name="Cursor" number="6" ref="Value" />
397   <errorcopy name="Font" number="7" ref="Value" />
398   <errorcopy name="Match" number="8" ref="Request" />
399   <errorcopy name="Drawable" number="9" ref="Value" />
400   <errorcopy name="Access" number="10" ref="Request" />
401   <errorcopy name="Alloc" number="11" ref="Request" />
402   <errorcopy name="Colormap" number="12" ref="Value" />
403   <errorcopy name="GContext" number="13" ref="Value" />
404   <errorcopy name="IDChoice" number="14" ref="Value" />
405   <errorcopy name="Name" number="15" ref="Request" />
406   <errorcopy name="Length" number="16" ref="Request" />
407   <errorcopy name="Implementation" number="17" ref="Request" />
408
409
410
411   <!-- The core requests, in major number order. -->
412   <!-- It is the caller's responsibility to free returned XCB*Rep objects. -->
413
414
415
416   <enum name="WindowClass">
417     <item name="CopyFromParent"><value>0</value></item>
418     <item name="InputOutput">   <value>1</value></item>
419     <item name="InputOnly">     <value>2</value></item>
420   </enum>
421
422   <!-- Window attributes for CreateWindow and ChangeWindowAttributes. -->
423   <enum name="CW">
424     <item name="BackPixmap">      <bit>0</bit></item>
425     <item name="BackPixel">       <bit>1</bit></item>
426     <item name="BorderPixmap">    <bit>2</bit></item>
427     <item name="BorderPixel">     <bit>3</bit></item>
428     <item name="BitGravity">      <bit>4</bit></item>
429     <item name="WinGravity">      <bit>5</bit></item>
430     <item name="BackingStore">    <bit>6</bit></item>
431     <item name="BackingPlanes">   <bit>7</bit></item>
432     <item name="BackingPixel">    <bit>8</bit></item>
433     <item name="OverrideRedirect"><bit>9</bit></item>
434     <item name="SaveUnder">       <bit>10</bit></item>
435     <item name="EventMask">       <bit>11</bit></item>
436     <item name="DontPropagate">   <bit>12</bit></item>
437     <item name="Colormap">        <bit>13</bit></item>
438     <item name="Cursor">          <bit>14</bit></item>
439   </enum>
440   
441   <enum name="BackPixmap">
442     <item name="None">          <value>0</value></item>
443     <item name="ParentRelative"><value>1</value></item>
444   </enum>
445
446   <enum name="Gravity">
447     <item name="BitForget"><value>0</value></item>
448     <item name="WinUnmap"> <value>0</value></item>
449     <item name="NorthWest"><value>1</value></item>
450     <item name="North">    <value>2</value></item>
451     <item name="NorthEast"><value>3</value></item>
452     <item name="West">     <value>4</value></item>
453     <item name="Center">   <value>5</value></item>
454     <item name="East">     <value>6</value></item>
455     <item name="SouthWest"><value>7</value></item>
456     <item name="South">    <value>8</value></item>
457     <item name="SouthEast"><value>9</value></item>
458     <item name="Static">   <value>10</value></item>
459   </enum>
460
461   <!-- Also used in XCBSCREEN field backing_stores -->
462   <enum name="BackingStore">
463     <item name="NotUseful"> <value>0</value></item>
464     <item name="WhenMapped"><value>1</value></item>
465     <item name="Always">    <value>2</value></item>
466   </enum>
467
468   <enum name="EventMask">
469     <item name="NoEvent">           <value>0</value></item>
470     <item name="KeyPress">            <bit>0</bit></item>
471     <item name="KeyRelease">          <bit>1</bit></item>
472     <item name="ButtonPress">         <bit>2</bit></item>
473     <item name="ButtonRelease">       <bit>3</bit></item>
474     <item name="EnterWindow">         <bit>4</bit></item>
475     <item name="LeaveWindow">         <bit>5</bit></item>
476     <item name="PointerMotion">       <bit>6</bit></item>
477     <item name="PointerMotionHint">   <bit>7</bit></item>
478     <item name="Button1Motion">       <bit>8</bit></item>
479     <item name="Button2Motion">       <bit>9</bit></item>
480     <item name="Button3Motion">       <bit>10</bit></item>
481     <item name="Button4Motion">       <bit>11</bit></item>
482     <item name="Button5Motion">       <bit>12</bit></item>
483     <item name="ButtonMotion">        <bit>13</bit></item>
484     <item name="KeymapState">         <bit>14</bit></item>
485     <item name="Exposure">            <bit>15</bit></item>
486     <item name="VisibilityChange">    <bit>16</bit></item>
487     <item name="StructureNotify">     <bit>17</bit></item>
488     <item name="ResizeRedirect">      <bit>18</bit></item>
489     <item name="SubstructureNotify">  <bit>19</bit></item>
490     <item name="SubstructureRedirect"><bit>20</bit></item>
491     <item name="FocusChange">         <bit>21</bit></item>
492     <item name="PropertyChange">      <bit>22</bit></item>
493     <item name="ColorMapChange">      <bit>23</bit></item>
494     <item name="OwnerGrabButton">     <bit>24</bit></item>
495   </enum>
496
497   <request name="CreateWindow" opcode="1">
498     <field type="CARD8" name="depth" />
499     <field type="WINDOW" name="wid" />
500     <field type="WINDOW" name="parent" />
501     <field type="INT16" name="x" />
502     <field type="INT16" name="y" />
503     <field type="CARD16" name="width" />
504     <field type="CARD16" name="height" />
505     <field type="CARD16" name="border_width" />
506     <field type="CARD16" name="class" />
507     <field type="VISUALID" name="visual" />
508     <valueparam value-mask-type="CARD32"
509                 value-mask-name="value_mask"
510                 value-list-name="value_list" />
511   </request>
512
513   <request name="ChangeWindowAttributes" opcode="2">
514     <pad bytes="1" />
515     <field type="WINDOW" name="window" />
516     <valueparam value-mask-type="CARD32"
517                 value-mask-name="value_mask"
518                 value-list-name="value_list" />
519   </request>
520   
521   <enum name="MapState">
522     <item name="Unmapped">  <value>0</value></item>
523     <item name="Unviewable"><value>1</value></item>
524     <item name="Viewable">  <value>2</value></item>
525   </enum>
526
527   <request name="GetWindowAttributes" opcode="3">
528     <pad bytes="1" />
529     <field type="WINDOW" name="window" />
530     <reply>
531       <field type="CARD8" name="backing_store" />
532       <field type="VISUALID" name="visual" />
533       <field type="CARD16" name="class" />
534       <field type="CARD8" name="bit_gravity" />
535       <field type="CARD8" name="win_gravity" />
536       <field type="CARD32" name="backing_planes" />
537       <field type="CARD32" name="backing_pixel" />
538       <field type="BOOL" name="save_under" />
539       <field type="BOOL" name="map_is_installed" />
540       <field type="CARD8" name="map_state" />
541       <field type="BOOL" name="override_redirect" />
542       <field type="COLORMAP" name="colormap" />
543       <field type="CARD32" name="all_event_masks" />
544       <field type="CARD32" name="your_event_mask" />
545       <field type="CARD16" name="do_not_propagate_mask" />
546     </reply>
547   </request>
548
549   <request name="DestroyWindow" opcode="4">
550     <pad bytes="1" />
551     <field type="WINDOW" name="window" />
552   </request>
553
554   <request name="DestroySubwindows" opcode="5">
555     <pad bytes="1" />
556     <field type="WINDOW" name="window" />
557   </request>
558   
559   <enum name="SetMode">
560     <item name="Insert"><value>0</value></item>
561     <item name="Delete"><value>1</value></item>
562   </enum>
563
564   <request name="ChangeSaveSet" opcode="6">
565     <field type="BYTE" name="mode" />
566     <field type="WINDOW" name="window" />
567   </request>
568
569   <request name="ReparentWindow" opcode="7">
570     <pad bytes="1" />
571     <field type="WINDOW" name="window" />
572     <field type="WINDOW" name="parent" />
573     <field type="INT16" name="x" />
574     <field type="INT16" name="y" />
575   </request>
576
577   <request name="MapWindow" opcode="8">
578     <pad bytes="1" />
579     <field type="WINDOW" name="window" />
580   </request>
581
582   <request name="MapSubwindows" opcode="9">
583     <pad bytes="1" />
584     <field type="WINDOW" name="window" />
585   </request>
586
587   <request name="UnmapWindow" opcode="10">
588     <pad bytes="1" />
589     <field type="WINDOW" name="window" />
590   </request>
591
592   <request name="UnmapSubwindows" opcode="11">
593     <pad bytes="1" />
594     <field type="WINDOW" name="window" />
595   </request>
596   
597   <enum name="ConfigWindow">
598     <item name="X">          <bit>0</bit></item>
599     <item name="Y">          <bit>1</bit></item>
600     <item name="Width">      <bit>2</bit></item>
601     <item name="Height">     <bit>3</bit></item>
602     <item name="BorderWidth"><bit>4</bit></item>
603     <item name="Sibling">    <bit>5</bit></item>
604     <item name="StackMode">  <bit>6</bit></item>
605   </enum>
606   
607   <enum name="StackMode">
608     <item name="Above">   <value>0</value></item>
609     <item name="Below">   <value>1</value></item>
610     <item name="TopIf">   <value>2</value></item>
611     <item name="BottomIf"><value>3</value></item>
612     <item name="Opposite"><value>4</value></item>
613   </enum>
614
615   <request name="ConfigureWindow" opcode="12">
616     <pad bytes="1" />
617     <field type="WINDOW" name="window" />
618     <valueparam value-mask-type="CARD16"
619                 value-mask-name="value_mask"
620                 value-list-name="value_list" />
621   </request>
622
623   <enum name="Circulate">
624     <item name="RaiseLowest"> <value>0</value></item>
625     <item name="LowerHighest"><value>1</value></item>
626   </enum>
627
628   <request name="CirculateWindow" opcode="13">
629     <field type="CARD8" name="direction" />
630     <field type="WINDOW" name="window" />
631   </request>
632
633   <request name="GetGeometry" opcode="14">
634     <pad bytes="1" />
635     <field type="DRAWABLE" name="drawable" />
636     <reply>
637       <field type="CARD8" name="depth" />
638       <field type="WINDOW" name="root" />
639       <field type="INT16" name="x" />
640       <field type="INT16" name="y" />
641       <field type="CARD16" name="width" />
642       <field type="CARD16" name="height" />
643       <field type="CARD16" name="border_width" />
644     </reply>
645   </request>
646
647   <request name="QueryTree" opcode="15">
648     <pad bytes="1" />
649     <field type="WINDOW" name="window" />
650     <reply>
651       <pad bytes="1" />
652       <field type="WINDOW" name="root" />
653       <field type="WINDOW" name="parent" />
654       <field type="CARD16" name="children_len" />
655       <pad bytes="14" />
656       <list type="WINDOW" name="children">
657         <fieldref>children_len</fieldref>
658       </list>
659     </reply>
660   </request>
661
662   <request name="InternAtom" opcode="16">
663     <field type="BOOL" name="only_if_exists" />
664     <field type="CARD16" name="name_len" />
665     <pad bytes="2" />
666     <list type="char" name="name">
667       <fieldref>name_len</fieldref>
668     </list>
669     <reply>
670       <pad bytes="1" />
671       <field type="ATOM" name="atom" />
672     </reply>
673   </request>
674
675   <request name="GetAtomName" opcode="17">
676     <pad bytes="1" />
677     <field type="ATOM" name="atom" />
678     <reply>
679       <pad bytes="1" />
680       <field type="CARD16" name="name_len" />
681       <pad bytes="22" />
682       <list type="CARD8" name="name">
683         <fieldref>name_len</fieldref>
684       </list>
685     </reply>
686   </request>
687   
688   <enum name="PropMode">
689     <item name="Replace"><value>0</value></item>
690     <item name="Prepend"><value>1</value></item>
691     <item name="Append"> <value>2</value></item>
692   </enum>
693
694   <request name="ChangeProperty" opcode="18">
695     <field type="CARD8" name="mode" />
696     <field type="WINDOW" name="window" />
697     <field type="ATOM" name="property" />
698     <field type="ATOM" name="type" />
699     <field type="CARD8" name="format" />
700     <pad bytes="3" />
701     <field type="CARD32" name="data_len" />
702     <list type="void" name="data">
703       <op op="/">
704         <op op="*">
705           <fieldref>data_len</fieldref>
706           <fieldref>format</fieldref>
707         </op>
708         <value>8</value>
709       </op>
710     </list>
711   </request>
712
713   <request name="DeleteProperty" opcode="19">
714     <pad bytes="1" />
715     <field type="WINDOW" name="window" />
716     <field type="ATOM" name="property" />
717   </request>
718   
719   <enum name="GetPropertyType">
720     <item name="Any"><value>0</value></item>
721   </enum>
722
723   <request name="GetProperty" opcode="20">
724     <field type="BOOL" name="delete" />
725     <field type="WINDOW" name="window" />
726     <field type="ATOM" name="property" />
727     <field type="ATOM" name="type" />
728     <field type="CARD32" name="long_offset" />
729     <field type="CARD32" name="long_length" />
730     <reply>
731       <field type="CARD8" name="format" />
732       <field type="ATOM" name="type" />
733       <field type="CARD32" name="bytes_after" />
734       <field type="CARD32" name="value_len" />
735       <pad bytes="12" />
736       <list type="void" name="value">
737         <fieldref>value_len</fieldref>
738       </list>
739     </reply>
740   </request>
741
742   <request name="ListProperties" opcode="21">
743     <pad bytes="1" />
744     <field type="WINDOW" name="window" />
745     <reply>
746       <pad bytes="1" />
747       <field type="CARD16" name="atoms_len" />
748       <pad bytes="22" />
749       <list type="ATOM" name="atoms">
750         <fieldref>atoms_len</fieldref>
751       </list>
752     </reply>
753   </request>
754
755   <request name="SetSelectionOwner" opcode="22">
756     <pad bytes="1" />
757     <field type="WINDOW" name="owner" />
758     <field type="ATOM" name="selection" />
759     <field type="TIMESTAMP" name="time" />
760   </request>
761
762   <request name="GetSelectionOwner" opcode="23">
763     <pad bytes="1" />
764     <field type="ATOM" name="selection" />
765     <reply>
766       <pad bytes="1" />
767       <field type="WINDOW" name="owner" />
768     </reply>
769   </request>
770
771   <request name="ConvertSelection" opcode="24">
772     <pad bytes="1" />
773     <field type="WINDOW" name="requestor" />
774     <field type="ATOM" name="selection" />
775     <field type="ATOM" name="target" />
776     <field type="ATOM" name="property" />
777     <field type="TIMESTAMP" name="time" />
778   </request>
779
780   <enum name="SendEventDest">
781     <item name="PointerWindow"><value>0</value></item>
782     <item name="ItemFocus">    <value>1</value></item>
783   </enum>
784
785   <request name="SendEvent" opcode="25">
786     <field type="BOOL" name="propagate" />
787     <field type="WINDOW" name="destination" />
788     <field type="CARD32" name="event_mask" />
789     <list type="char" name="event"><value>32</value></list>
790   </request>
791
792   <enum name="GrabMode">
793     <item name="Async"><value>0</value></item>
794     <item name="Sync"> <value>1</value></item>
795   </enum>
796
797   <enum name="GrabStatus">
798     <item name="Success">       <value>0</value></item>
799     <item name="AlreadyGrabbed"><value>1</value></item>
800     <item name="InvalidTime">   <value>2</value></item>
801     <item name="NotViewable">   <value>3</value></item>
802     <item name="Frozen">        <value>4</value></item>
803   </enum>
804
805   <request name="GrabPointer" opcode="26">
806     <field type="BOOL" name="owner_events" />
807     <field type="WINDOW" name="grab_window" />
808     <field type="CARD16" name="event_mask" />
809     <field type="BYTE" name="pointer_mode" />
810     <field type="BYTE" name="keyboard_mode" />
811     <field type="WINDOW" name="confine_to" />
812     <field type="CURSOR" name="cursor" />
813     <field type="TIMESTAMP" name="time" />
814     <reply>
815       <field type="BYTE" name="status" />
816     </reply>
817   </request>
818
819   <request name="UngrabPointer" opcode="27">
820     <pad bytes="1" />
821     <field type="TIMESTAMP" name="time" />
822   </request>
823
824   <enum name="Button">
825      <item name="Any"><value>0</value></item>
826      <item name="1">  <value>1</value></item>
827      <item name="2">  <value>2</value></item>
828      <item name="3">  <value>3</value></item>
829      <item name="4">  <value>4</value></item>
830      <item name="5">  <value>5</value></item>
831   </enum>
832
833   <request name="GrabButton" opcode="28">
834     <field type="BOOL" name="owner_events" />
835     <field type="WINDOW" name="grab_window" />
836     <field type="CARD16" name="event_mask" />
837     <field type="CARD8" name="pointer_mode" />
838     <field type="CARD8" name="keyboard_mode" />
839     <field type="WINDOW" name="confine_to" />
840     <field type="CURSOR" name="cursor" />
841     <field type="CARD8" name="button" />
842     <pad bytes="1" />
843     <field type="CARD16" name="modifiers" />
844   </request>
845
846   <request name="UngrabButton" opcode="29">
847     <field type="CARD8" name="button" />
848     <field type="WINDOW" name="grab_window" />
849     <field type="CARD16" name="modifiers" />
850     <pad bytes="2" />
851   </request>
852
853   <request name="ChangeActivePointerGrab" opcode="30">
854     <pad bytes="1" />
855     <field type="CURSOR" name="cursor" />
856     <field type="TIMESTAMP" name="time" />
857     <field type="CARD16" name="event_mask" />
858   </request>
859
860   <request name="GrabKeyboard" opcode="31">
861     <field type="BOOL" name="owner_events" />
862     <field type="WINDOW" name="grab_window" />
863     <field type="TIMESTAMP" name="time" />
864     <field type="BYTE" name="pointer_mode" />
865     <field type="BYTE" name="keyboard_mode" />
866     <reply>
867       <field type="BYTE" name="status" />
868     </reply>
869   </request>
870
871   <request name="UngrabKeyboard" opcode="32">
872     <pad bytes="1" />
873     <field type="TIMESTAMP" name="time" />
874   </request>
875
876   <!-- Use KEYCODE any = { XCBGrabAny }; to grab any key -->
877   <enum name="Grab">
878     <item name="Any"><value>0</value></item>
879   </enum>
880
881   <request name="GrabKey" opcode="33">
882     <field type="BOOL" name="owner_events" />
883     <field type="WINDOW" name="grab_window" />
884     <field type="CARD16" name="modifiers" />
885     <field type="KEYCODE" name="key" />
886     <field type="CARD8" name="pointer_mode" />
887     <field type="CARD8" name="keyboard_mode" />
888   </request>
889
890   <request name="UngrabKey" opcode="34">
891     <field type="CARD8" name="key" />
892     <field type="WINDOW" name="grab_window" />
893     <field type="CARD16" name="modifiers" />
894   </request>
895
896   <enum name="Allow">
897     <item name="AsyncPointer">  <value>0</value></item>
898     <item name="SyncPointer">   <value>1</value></item>
899     <item name="ReplayPointer"> <value>2</value></item>
900     <item name="AsyncKeyboard"> <value>3</value></item>
901     <item name="SyncKeyboard">  <value>4</value></item>
902     <item name="ReplayKeyboard"><value>5</value></item>
903     <item name="AsyncBoth">     <value>6</value></item>
904     <item name="SyncBoth">      <value>7</value></item>
905   </enum>
906
907   <request name="AllowEvents" opcode="35">
908     <field type="CARD8" name="mode" />
909     <field type="TIMESTAMP" name="time" />
910   </request>
911
912   <request name="GrabServer" opcode="36" />
913
914   <request name="UngrabServer" opcode="37" />
915
916   <request name="QueryPointer" opcode="38">
917     <pad bytes="1" />
918     <field type="WINDOW" name="window" />
919     <reply>
920       <field type="BOOL" name="same_screen" />
921       <field type="WINDOW" name="root" />
922       <field type="WINDOW" name="child" />
923       <field type="INT16" name="root_x" />
924       <field type="INT16" name="root_y" />
925       <field type="INT16" name="win_x" />
926       <field type="INT16" name="win_y" />
927       <field type="CARD16" name="mask" />
928     </reply>
929   </request>
930
931   <struct name="TIMECOORD">
932     <field type="TIMESTAMP" name="time" />
933     <field type="INT16" name="x" />
934     <field type="INT16" name="y" />
935   </struct>
936
937   <request name="GetMotionEvents" opcode="39">
938     <pad bytes="1" />
939     <field type="WINDOW" name="window" />
940     <field type="TIMESTAMP" name="start" />
941     <field type="TIMESTAMP" name="stop" />
942     <reply>
943       <pad bytes="1" />
944       <field type="CARD32" name="events_len" />
945       <pad bytes="20" />
946       <list type="TIMECOORD" name="events">
947         <fieldref>events_len</fieldref>
948       </list>
949     </reply>
950   </request>
951
952   <request name="TranslateCoordinates" opcode="40">
953     <pad bytes="1" />
954     <field type="WINDOW" name="src_window" />
955     <field type="WINDOW" name="dst_window" />
956     <field type="INT16" name="src_x" />
957     <field type="INT16" name="src_y" />
958     <reply>
959       <field type="BOOL" name="same_screen" />
960       <field type="WINDOW" name="child" />
961       <field type="CARD16" name="dst_x" />
962       <field type="CARD16" name="dst_y" />
963     </reply>
964   </request>
965
966   <request name="WarpPointer" opcode="41">
967     <pad bytes="1" />
968     <field type="WINDOW" name="src_window" />
969     <field type="WINDOW" name="dst_window" />
970     <field type="INT16" name="src_x" />
971     <field type="INT16" name="src_y" />
972     <field type="CARD16" name="src_width" />
973     <field type="CARD16" name="src_height" />
974     <field type="INT16" name="dst_x" />
975     <field type="INT16" name="dst_y" />
976   </request>
977
978   <!-- used for revert_to and focus -->
979   <enum name="InputFocus">
980     <item name="None">       <value>0</value></item>
981     <item name="PointerRoot"><value>1</value></item>
982     <item name="Parent">     <value>2</value></item>  <!-- revert_to only -->
983   </enum>
984
985   <request name="SetInputFocus" opcode="42">
986     <field type="CARD8" name="revert_to" />
987     <field type="WINDOW" name="focus" />
988     <field type="TIMESTAMP" name="time" />
989   </request>
990
991   <request name="GetInputFocus" opcode="43">
992     <reply>
993       <field type="CARD8" name="revert_to" />
994       <field type="WINDOW" name="focus" />
995     </reply>
996   </request>
997
998   <request name="QueryKeymap" opcode="44">
999     <reply>
1000       <pad bytes="1" />
1001       <list type="CARD8" name="keys"><value>32</value></list>
1002     </reply>
1003   </request>
1004
1005   <request name="OpenFont" opcode="45">
1006     <pad bytes="1" />
1007     <field type="FONT" name="fid" />
1008     <field type="CARD16" name="name_len" />
1009     <list type="char" name="name">
1010       <fieldref>name_len</fieldref>
1011     </list>
1012   </request>
1013
1014   <request name="CloseFont" opcode="46">
1015     <pad bytes="1" />
1016     <field type="FONT" name="font" />
1017   </request>
1018
1019   <enum name="FontDraw">
1020     <item name="LeftToRight"><value>0</value></item>
1021     <item name="RightToLeft"><value>1</value></item>
1022   </enum>
1023
1024   <struct name="FONTPROP">
1025     <field type="ATOM" name="name" />
1026     <field type="CARD32" name="value" />
1027   </struct>
1028
1029   <struct name="CHARINFO">
1030     <field type="INT16" name="left_side_bearing" />
1031     <field type="INT16" name="right_side_bearing" />
1032     <field type="INT16" name="character_width" />
1033     <field type="INT16" name="ascent" />
1034     <field type="INT16" name="descent" />
1035     <field type="CARD16" name="attributes" />
1036   </struct>
1037
1038   <request name="QueryFont" opcode="47">
1039     <pad bytes="1" />
1040     <field type="FONTABLE" name="font" />
1041     <reply>
1042       <pad bytes="1" />
1043       <field type="CHARINFO" name="min_bounds" />
1044       <pad bytes="4" />
1045       <field type="CHARINFO" name="max_bounds" />
1046       <pad bytes="4" />
1047       <field type="CARD16" name="min_char_or_byte2" />
1048       <field type="CARD16" name="max_char_or_byte2" />
1049       <field type="CARD16" name="default_char" />
1050       <field type="CARD16" name="properties_len" />
1051       <field type="BYTE" name="draw_direction" />
1052       <field type="CARD8" name="min_byte1" />
1053       <field type="CARD8" name="max_byte1" />
1054       <field type="BOOL" name="all_chars_exist" />
1055       <field type="INT16" name="font_ascent" />
1056       <field type="INT16" name="font_descent" />
1057       <field type="CARD32" name="char_infos_len" />
1058       <list type="FONTPROP" name="properties">
1059         <fieldref>properties_len</fieldref>
1060       </list>
1061       <list type="CHARINFO" name="char_infos">
1062         <fieldref>char_infos_len</fieldref>
1063       </list>
1064     </reply>
1065   </request>
1066
1067   <request name="QueryTextExtents" opcode="48">
1068     <exprfield type="BOOL" name="odd_length">
1069       <op op="&amp;"><fieldref>string_len</fieldref><value>1</value></op>
1070     </exprfield>
1071     <field type="FONTABLE" name="font" />
1072     <list type="CHAR2B" name="string" />
1073     <reply>
1074       <field type="BYTE" name="draw_direction" />
1075       <field type="INT16" name="font_ascent" />
1076       <field type="INT16" name="font_descent" />
1077       <field type="INT16" name="overall_ascent" />
1078       <field type="INT16" name="overall_descent" />
1079       <field type="INT32" name="overall_width" />
1080       <field type="INT32" name="overall_left" />
1081       <field type="INT32" name="overall_right" />
1082     </reply>
1083   </request>
1084
1085   <struct name="STR">
1086     <field type="CARD8" name="name_len" />
1087     <list type="char" name="name">
1088       <fieldref>name_len</fieldref>
1089     </list>
1090   </struct>
1091
1092   <request name="ListFonts" opcode="49">
1093     <pad bytes="1" />
1094     <field type="CARD16" name="max_names" />
1095     <field type="CARD16" name="pattern_len" />
1096     <list type="char" name="pattern">
1097       <fieldref>pattern_len</fieldref>
1098     </list>
1099     <reply>
1100       <pad bytes="1" />
1101       <field type="CARD16" name="names_len" />
1102       <pad bytes="22" />
1103       <list type="STR" name="names">
1104         <fieldref>names_len</fieldref>
1105       </list>
1106     </reply>
1107   </request>
1108
1109   <request name="ListFontsWithInfo" opcode="50">
1110     <pad bytes="1" />
1111     <field type="CARD16" name="max_names" />
1112     <field type="CARD16" name="pattern_len" />
1113     <list type="char" name="pattern">
1114       <fieldref>pattern_len</fieldref>
1115     </list>
1116     <reply>
1117       <field type="CARD8" name="name_len" />
1118       <field type="CHARINFO" name="min_bounds" />
1119       <pad bytes="4" />
1120       <field type="CHARINFO" name="max_bounds" />
1121       <pad bytes="4" />
1122       <field type="CARD16" name="min_char_or_byte2" />
1123       <field type="CARD16" name="max_char_or_byte2" />
1124       <field type="CARD16" name="default_char" />
1125       <field type="CARD16" name="properties_len" />
1126       <field type="BYTE" name="draw_direction" />
1127       <field type="CARD8" name="min_byte1" />
1128       <field type="CARD8" name="max_byte1" />
1129       <field type="BOOL" name="all_chars_exist" />
1130       <field type="INT16" name="font_ascent" />
1131       <field type="INT16" name="font_descent" />
1132       <field type="CARD32" name="replies_hint" />
1133       <list type="FONTPROP" name="properties">
1134         <fieldref>properties_len</fieldref>
1135       </list>
1136       <list type="char" name="name">
1137         <fieldref>name_len</fieldref>
1138       </list>
1139     </reply>
1140   </request>
1141
1142   <request name="SetFontPath" opcode="51">
1143     <pad bytes="1" />
1144     <field type="CARD16" name="font_qty" />
1145     <list type="char" name="path" />
1146   </request>
1147
1148   <request name="GetFontPath" opcode="52">
1149     <reply>
1150       <pad bytes="1" />
1151       <field type="CARD16" name="path_len" />
1152       <pad bytes="22" />
1153       <list type="STR" name="path">
1154         <fieldref>path_len</fieldref>
1155       </list>
1156     </reply>
1157   </request>
1158
1159   <request name="CreatePixmap" opcode="53">
1160     <field type="CARD8" name="depth" />
1161     <field type="PIXMAP" name="pid" />
1162     <field type="DRAWABLE" name="drawable" />
1163     <field type="CARD16" name="width" />
1164     <field type="CARD16" name="height" />
1165   </request>
1166
1167   <request name="FreePixmap" opcode="54">
1168     <pad bytes="1" />
1169     <field type="PIXMAP" name="pixmap" />
1170   </request>
1171   
1172   <enum name="GC">
1173     <item name="Function">          <bit>0</bit></item>
1174     <item name="PlaneMask">         <bit>1</bit></item>
1175     <item name="Foreground">        <bit>2</bit></item>
1176     <item name="Background">        <bit>3</bit></item>
1177     <item name="LineWidth">         <bit>4</bit></item>
1178     <item name="LineStyle">         <bit>5</bit></item>
1179     <item name="CapStyle">          <bit>6</bit></item>
1180     <item name="JoinStyle">         <bit>7</bit></item>
1181     <item name="FillStyle">         <bit>8</bit></item>
1182     <item name="FillRule">          <bit>9</bit></item>
1183     <item name="Tile">              <bit>10</bit></item>
1184     <item name="Stipple">           <bit>11</bit></item>
1185     <item name="TileStippleOriginX"><bit>12</bit></item>
1186     <item name="TileStippleOriginY"><bit>13</bit></item>
1187     <item name="Font">              <bit>14</bit></item>
1188     <item name="SubwindowMode">     <bit>15</bit></item>
1189     <item name="GraphicsExposures"> <bit>16</bit></item>
1190     <item name="ClipOriginX">       <bit>17</bit></item>
1191     <item name="ClipOriginY">       <bit>18</bit></item>
1192     <item name="ClipMask">          <bit>19</bit></item>
1193     <item name="DashOffset">        <bit>20</bit></item>
1194     <item name="DashList">          <bit>21</bit></item>
1195     <item name="ArcMode">           <bit>22</bit></item>
1196   </enum>
1197
1198   <!-- GC Function values -->
1199   <enum name="GX">
1200     <item name="clear">       <value>0x0</value></item>
1201     <item name="and">         <value>0x1</value></item>
1202     <item name="andReverse">  <value>0x2</value></item>
1203     <item name="copy">        <value>0x3</value></item>
1204     <item name="andInverted"> <value>0x4</value></item>
1205     <item name="noop">        <value>0x5</value></item>
1206     <item name="xor">         <value>0x6</value></item>
1207     <item name="or">          <value>0x7</value></item>
1208     <item name="nor">         <value>0x8</value></item>
1209     <item name="equiv">       <value>0x9</value></item>
1210     <item name="invert">      <value>0xa</value></item>
1211     <item name="orReverse">   <value>0xb</value></item>
1212     <item name="copyInverted"><value>0xc</value></item>
1213     <item name="orInverted">  <value>0xd</value></item>
1214     <item name="nand">        <value>0xe</value></item>
1215     <item name="set">         <value>0xf</value></item>
1216   </enum>
1217
1218   <enum name="LineStyle">
1219     <item name="Solid">     <value>0</value></item>
1220     <item name="OnOffDash"> <value>1</value></item>
1221     <item name="DoubleDash"><value>2</value></item>
1222   </enum>
1223
1224   <enum name="CapStyle">
1225     <item name="NotLast">   <value>0</value></item>
1226     <item name="Cap">       <value>1</value></item>
1227     <item name="Butt">      <value>2</value></item>
1228     <item name="Projecting"><value>3</value></item>
1229   </enum>
1230
1231   <enum name="JoinStyle">
1232     <item name="Mitre">     <value>0</value></item>
1233     <item name="Round">     <value>1</value></item>
1234     <item name="Bevel">     <value>2</value></item>
1235   </enum>
1236
1237   <enum name="FillStyle">
1238     <item name="Solid">         <value>0</value></item>
1239     <item name="Tiled">         <value>1</value></item>
1240     <item name="Stippled">      <value>2</value></item>
1241     <item name="OpaqueStippled"><value>3</value></item>
1242   </enum>
1243
1244   <enum name="FillRule">
1245     <item name="EvenOdd"><value>0</value></item>
1246     <item name="Winding"><value>1</value></item>
1247   </enum>
1248
1249   <enum name="SubwindowMode">
1250     <item name="ClipByChildren">  <value>0</value></item>
1251     <item name="IncludeInferiors"><value>1</value></item>
1252   </enum>
1253
1254   <enum name="ArcMode">
1255     <item name="Chord">   <value>0</value></item>
1256     <item name="PieSlice"><value>1</value></item>
1257   </enum>
1258
1259   <request name="CreateGC" opcode="55">
1260     <pad bytes="1" />
1261     <field type="GCONTEXT" name="cid" />
1262     <field type="DRAWABLE" name="drawable" />
1263     <valueparam value-mask-type="CARD32"
1264                 value-mask-name="value_mask"
1265                 value-list-name="value_list" />
1266   </request>
1267
1268   <request name="ChangeGC" opcode="56">
1269     <pad bytes="1" />
1270     <field type="GCONTEXT" name="gc" />
1271     <valueparam value-mask-type="CARD32"
1272                 value-mask-name="value_mask"
1273                 value-list-name="value_list" />
1274   </request>
1275
1276   <request name="CopyGC" opcode="57">
1277     <pad bytes="1" />
1278     <field type="GCONTEXT" name="src_gc" />
1279     <field type="GCONTEXT" name="dst_gc" />
1280     <field type="CARD32" name="value_mask" />
1281   </request>
1282
1283   <request name="SetDashes" opcode="58">
1284     <pad bytes="1" />
1285     <field type="GCONTEXT" name="gc" />
1286     <field type="CARD16" name="dash_offset" />
1287     <field type="CARD16" name="dashes_len" />
1288     <list type="CARD8" name="dashes">
1289       <fieldref>dashes_len</fieldref>
1290     </list>
1291   </request>
1292
1293   <enum name="ClipOrdering">
1294     <item name="Unsorted"><value>0</value></item>
1295     <item name="YSorted"> <value>1</value></item>
1296     <item name="YXSorted"><value>2</value></item>
1297     <item name="YXBanded"><value>3</value></item>
1298   </enum>
1299
1300   <request name="SetClipRectangles" opcode="59">
1301     <field type="BYTE" name="ordering" />
1302     <field type="GCONTEXT" name="gc" />
1303     <field type="INT16" name="clip_x_origin" />
1304     <field type="INT16" name="clip_y_origin" />
1305     <list type="RECTANGLE" name="rectangles" />
1306   </request>
1307
1308   <request name="FreeGC" opcode="60">
1309     <pad bytes="1" />
1310     <field type="GCONTEXT" name="gc" />
1311   </request>
1312
1313   <request name="ClearArea" opcode="61">
1314     <field type="BOOL" name="exposures" />
1315     <field type="WINDOW" name="window" />
1316     <field type="INT16" name="x" />
1317     <field type="INT16" name="y" />
1318     <field type="CARD16" name="width" />
1319     <field type="CARD16" name="height" />
1320   </request>
1321
1322   <request name="CopyArea" opcode="62">
1323     <pad bytes="1" />
1324     <field type="DRAWABLE" name="src_drawable" />
1325     <field type="DRAWABLE" name="dst_drawable" />
1326     <field type="GCONTEXT" name="gc" />
1327     <field type="INT16" name="src_x" />
1328     <field type="INT16" name="src_y" />
1329     <field type="INT16" name="dst_x" />
1330     <field type="INT16" name="dst_y" />
1331     <field type="CARD16" name="width" />
1332     <field type="CARD16" name="height" />
1333   </request>
1334
1335   <request name="CopyPlane" opcode="63">
1336     <pad bytes="1" />
1337     <field type="DRAWABLE" name="src_drawable" />
1338     <field type="DRAWABLE" name="dst_drawable" />
1339     <field type="GCONTEXT" name="gc" />
1340     <field type="INT16" name="src_x" />
1341     <field type="INT16" name="src_y" />
1342     <field type="INT16" name="dst_x" />
1343     <field type="INT16" name="dst_y" />
1344     <field type="CARD16" name="width" />
1345     <field type="CARD16" name="height" />
1346     <field type="CARD32" name="bit_plane" />
1347   </request>
1348   
1349   <enum name="CoordMode">
1350     <item name="Origin">  <value>0</value></item>
1351     <item name="Previous"><value>1</value></item>
1352   </enum>
1353
1354   <request name="PolyPoint" opcode="64" combine-adjacent="true">
1355     <field type="BYTE" name="coordinate_mode" />
1356     <field type="DRAWABLE" name="drawable" />
1357     <field type="GCONTEXT" name="gc" />
1358     <list type="POINT" name="points" />
1359   </request>
1360
1361   <request name="PolyLine" opcode="65" combine-adjacent="true">
1362     <field type="BYTE" name="coordinate_mode" />
1363     <field type="DRAWABLE" name="drawable" />
1364     <field type="GCONTEXT" name="gc" />
1365     <list type="POINT" name="points" />
1366   </request>
1367
1368   <struct name="SEGMENT">
1369     <field type="INT16" name="x1" />
1370     <field type="INT16" name="y1" />
1371     <field type="INT16" name="x2" />
1372     <field type="INT16" name="y2" />
1373   </struct>
1374
1375   <request name="PolySegment" opcode="66" combine-adjacent="true">
1376     <pad bytes="1" />
1377     <field type="DRAWABLE" name="drawable" />
1378     <field type="GCONTEXT" name="gc" />
1379     <list type="SEGMENT" name="segments" />
1380   </request>
1381
1382   <request name="PolyRectangle" opcode="67" combine-adjacent="true">
1383     <pad bytes="1" />
1384     <field type="DRAWABLE" name="drawable" />
1385     <field type="GCONTEXT" name="gc" />
1386     <list type="RECTANGLE" name="rectangles" />
1387   </request>
1388
1389   <!--
1390     The semantics of PolyArc change after the first arc: the GC's
1391     join style may be applied to successive arcs under some circumstances.
1392     So using combine-adjacent here is bad.
1393   -->
1394   <request name="PolyArc" opcode="68">
1395     <pad bytes="1" />
1396     <field type="DRAWABLE" name="drawable" />
1397     <field type="GCONTEXT" name="gc" />
1398     <list type="ARC" name="arcs" />
1399   </request>
1400
1401   <enum name="PolyShape">
1402     <item name="Complex">  <value>0</value></item>
1403     <item name="Nonconvex"><value>1</value></item>
1404     <item name="Convex">   <value>2</value></item>
1405   </enum>
1406
1407   <request name="FillPoly" opcode="69">
1408     <pad bytes="1" />
1409     <field type="DRAWABLE" name="drawable" />
1410     <field type="GCONTEXT" name="gc" />
1411     <field type="CARD8" name="shape" />
1412     <field type="CARD8" name="coordinate_mode" />
1413     <list type="POINT" name="points" />
1414   </request>
1415
1416   <request name="PolyFillRectangle" opcode="70" combine-adjacent="true">
1417     <pad bytes="1" />
1418     <field type="DRAWABLE" name="drawable" />
1419     <field type="GCONTEXT" name="gc" />
1420     <list type="RECTANGLE" name="rectangles" />
1421   </request>
1422
1423   <request name="PolyFillArc" opcode="71" combine-adjacent="true">
1424     <pad bytes="1" />
1425     <field type="DRAWABLE" name="drawable" />
1426     <field type="GCONTEXT" name="gc" />
1427     <list type="ARC" name="arcs" />
1428   </request>
1429   
1430   <enum name="ImageFormat">
1431     <item name="XYBitmap"><value>0</value></item>
1432     <item name="XYPixmap"><value>1</value></item>
1433     <item name="ZPixmap"> <value>2</value></item>
1434   </enum>
1435
1436   <request name="PutImage" opcode="72">
1437     <field type="CARD8" name="format" />
1438     <field type="DRAWABLE" name="drawable" />
1439     <field type="GCONTEXT" name="gc" />
1440     <field type="CARD16" name="width" />
1441     <field type="CARD16" name="height" />
1442     <field type="INT16" name="dst_x" />
1443     <field type="INT16" name="dst_y" />
1444     <field type="CARD8" name="left_pad" />
1445     <field type="CARD8" name="depth" />
1446     <list type="BYTE" name="data" />
1447   </request>
1448
1449   <!-- FIXME: data array in reply will include padding, but ought not to. -->
1450   <request name="GetImage" opcode="73">
1451     <field type="CARD8" name="format" />
1452     <field type="DRAWABLE" name="drawable" />
1453     <field type="INT16" name="x" />
1454     <field type="INT16" name="y" />
1455     <field type="CARD16" name="width" />
1456     <field type="CARD16" name="height" />
1457     <field type="CARD32" name="plane_mask" />
1458     <reply>
1459       <field type="CARD8" name="depth" />
1460       <field type="VISUALID" name="visual" />
1461       <pad bytes="20" />
1462       <list type="BYTE" name="data">
1463         <op op="*">
1464           <fieldref>length</fieldref>
1465           <value>4</value>
1466         </op>
1467       </list>
1468     </reply>
1469   </request>
1470
1471   <request name="PolyText8" opcode="74">
1472     <pad bytes="1" />
1473     <field type="DRAWABLE" name="drawable" />
1474     <field type="GCONTEXT" name="gc" />
1475     <field type="INT16" name="x" />
1476     <field type="INT16" name="y" />
1477     <list type="BYTE" name="items" />
1478   </request>
1479
1480   <request name="PolyText16" opcode="75">
1481     <pad bytes="1" />
1482     <field type="DRAWABLE" name="drawable" />
1483     <field type="GCONTEXT" name="gc" />
1484     <field type="INT16" name="x" />
1485     <field type="INT16" name="y" />
1486     <list type="BYTE" name="items" />
1487   </request>
1488
1489   <request name="ImageText8" opcode="76">
1490     <field type="BYTE" name="string_len" />
1491     <field type="DRAWABLE" name="drawable" />
1492     <field type="GCONTEXT" name="gc" />
1493     <field type="INT16" name="x" />
1494     <field type="INT16" name="y" />
1495     <list type="char" name="string">
1496       <fieldref>string_len</fieldref>
1497     </list>
1498   </request>
1499
1500   <request name="ImageText16" opcode="77">
1501     <field type="BYTE" name="string_len" />
1502     <field type="DRAWABLE" name="drawable" />
1503     <field type="GCONTEXT" name="gc" />
1504     <field type="INT16" name="x" />
1505     <field type="INT16" name="y" />
1506     <list type="CHAR2B" name="string">
1507       <fieldref>string_len</fieldref>
1508     </list>
1509   </request>
1510
1511   <enum name= "ColormapAlloc">
1512     <item name="None"><value>0</value></item>
1513     <item name="All"> <value>1</value></item>
1514   </enum>
1515
1516   <request name="CreateColormap" opcode="78">
1517     <field type="BYTE" name="alloc" />
1518     <field type="COLORMAP" name="mid" />
1519     <field type="WINDOW" name="window" />
1520     <field type="VISUALID" name="visual" />
1521   </request>
1522
1523   <request name="FreeColormap" opcode="79">
1524     <pad bytes="1" />
1525     <field type="COLORMAP" name="cmap" />
1526   </request>
1527
1528   <request name="CopyColormapAndFree" opcode="80">
1529     <pad bytes="1" />
1530     <field type="COLORMAP" name="mid" />
1531     <field type="COLORMAP" name="src_cmap" />
1532   </request>
1533
1534   <request name="InstallColormap" opcode="81">
1535     <pad bytes="1" />
1536     <field type="COLORMAP" name="cmap" />
1537   </request>
1538
1539   <request name="UninstallColormap" opcode="82">
1540     <pad bytes="1" />
1541     <field type="COLORMAP" name="cmap" />
1542   </request>
1543
1544   <request name="ListInstalledColormaps" opcode="83">
1545     <pad bytes="1" />
1546     <field type="WINDOW" name="window" />
1547     <reply>
1548       <pad bytes="1" />
1549       <field type="CARD16" name="cmaps_len" />
1550       <pad bytes="22" />
1551       <list type="COLORMAP" name="cmaps">
1552         <fieldref>cmaps_len</fieldref>
1553       </list>
1554     </reply>
1555   </request>
1556
1557   <request name="AllocColor" opcode="84">
1558     <pad bytes="1" />
1559     <field type="COLORMAP" name="cmap" />
1560     <field type="CARD16" name="red" />
1561     <field type="CARD16" name="green" />
1562     <field type="CARD16" name="blue" />
1563     <reply>
1564       <pad bytes="1" />
1565       <field type="CARD16" name="red" />
1566       <field type="CARD16" name="green" />
1567       <field type="CARD16" name="blue" />
1568       <pad bytes="2" />
1569       <field type="CARD32" name="pixel" />
1570     </reply>
1571   </request>
1572
1573   <request name="AllocNamedColor" opcode="85">
1574     <pad bytes="1" />
1575     <field type="COLORMAP" name="cmap" />
1576     <field type="CARD16" name="name_len" />
1577     <list type="char" name="name">
1578       <fieldref>name_len</fieldref>
1579     </list>
1580     <reply>
1581       <pad bytes="1" />
1582       <field type="CARD32" name="pixel" />
1583       <field type="CARD16" name="exact_red" />
1584       <field type="CARD16" name="exact_green" />
1585       <field type="CARD16" name="exact_blue" />
1586       <field type="CARD16" name="visual_red" />
1587       <field type="CARD16" name="visual_green" />
1588       <field type="CARD16" name="visual_blue" />
1589     </reply>
1590   </request>
1591
1592   <request name="AllocColorCells" opcode="86">
1593     <field type="BOOL" name="contiguous" />
1594     <field type="COLORMAP" name="cmap" />
1595     <field type="CARD16" name="colors" />
1596     <field type="CARD16" name="planes" />
1597     <reply>
1598       <pad bytes="1" />
1599       <field type="CARD16" name="pixels_len" />
1600       <field type="CARD16" name="masks_len" />
1601       <pad bytes="20" />
1602       <list type="CARD32" name="pixels">
1603         <fieldref>pixels_len</fieldref>
1604       </list>
1605       <list type="CARD32" name="masks">
1606         <fieldref>masks_len</fieldref>
1607       </list>
1608     </reply>
1609   </request>
1610
1611   <request name="AllocColorPlanes" opcode="87">
1612     <field type="BOOL" name="contiguous" />
1613     <field type="COLORMAP" name="cmap" />
1614     <field type="CARD16" name="colors" />
1615     <field type="CARD16" name="reds" />
1616     <field type="CARD16" name="greens" />
1617     <field type="CARD16" name="blues" />
1618     <reply>
1619       <pad bytes="1" />
1620       <field type="CARD16" name="pixels_len" />
1621       <pad bytes="2" />
1622       <field type="CARD32" name="red_mask" />
1623       <field type="CARD32" name="green_mask" />
1624       <field type="CARD32" name="blue_mask" />
1625       <pad bytes="8" />
1626       <list type="CARD32" name="pixels">
1627         <fieldref>pixels_len</fieldref>
1628       </list>
1629     </reply>
1630   </request>
1631
1632   <request name="FreeColors" opcode="88">
1633     <pad bytes="1" />
1634     <field type="COLORMAP" name="cmap" />
1635     <field type="CARD32" name="plane_mask" />
1636     <list type="CARD32" name="pixels" />
1637   </request>
1638
1639   <enum name="ColorFlag">
1640     <item name="Red">  <bit>0</bit></item>
1641     <item name="Green"><bit>1</bit></item>
1642     <item name="Blue"> <bit>2</bit></item>
1643   </enum>
1644
1645   <struct name="COLORITEM">
1646     <field type="CARD32" name="pixel" />
1647     <field type="CARD16" name="red" />
1648     <field type="CARD16" name="green" />
1649     <field type="CARD16" name="blue" />
1650     <field type="BYTE" name="flags" />
1651     <pad bytes="1" />
1652   </struct>
1653   
1654   <request name="StoreColors" opcode="89" combine-adjacent="true">
1655     <pad bytes="1" />
1656     <field type="COLORMAP" name="cmap" />
1657     <list type="COLORITEM" name="items" />
1658   </request>
1659
1660   <request name="StoreNamedColor" opcode="90">
1661     <field type="CARD8" name="flags" />
1662     <field type="COLORMAP" name="cmap" />
1663     <field type="CARD32" name="pixel" />
1664     <field type="CARD16" name="name_len" />
1665     <list type="char" name="name">
1666       <fieldref>name_len</fieldref>
1667     </list>
1668   </request>
1669
1670   <struct name="RGB">
1671     <field type="CARD16" name="red" />
1672     <field type="CARD16" name="green" />
1673     <field type="CARD16" name="blue" />
1674     <pad bytes="2" />
1675   </struct>
1676
1677   <request name="QueryColors" opcode="91">
1678     <pad bytes="1" />
1679     <field type="COLORMAP" name="cmap" />
1680     <list type="CARD32" name="pixels" />
1681     <reply>
1682       <pad bytes="1" />
1683       <field type="CARD16" name="colors_len" />
1684       <pad bytes="22" />
1685       <list type="RGB" name="colors">
1686         <fieldref>colors_len</fieldref>
1687       </list>
1688     </reply>
1689   </request>
1690
1691   <request name="LookupColor" opcode="92">
1692     <pad bytes="1" />
1693     <field type="COLORMAP" name="cmap" />
1694     <field type="CARD16" name="name_len" />
1695     <list type="char" name="name">
1696       <fieldref>name_len</fieldref>
1697     </list>
1698     <reply>
1699       <pad bytes="1" />
1700       <field type="CARD16" name="exact_red" />
1701       <field type="CARD16" name="exact_green" />
1702       <field type="CARD16" name="exact_blue" />
1703       <field type="CARD16" name="visual_red" />
1704       <field type="CARD16" name="visual_green" />
1705       <field type="CARD16" name="visual_blue" />
1706     </reply>
1707   </request>
1708
1709   <request name="CreateCursor" opcode="93">
1710     <pad bytes="1" />
1711     <field type="CURSOR" name="cid" />
1712     <field type="PIXMAP" name="source" />
1713     <field type="PIXMAP" name="mask" />
1714     <field type="CARD16" name="fore_red" />
1715     <field type="CARD16" name="fore_green" />
1716     <field type="CARD16" name="fore_blue" />
1717     <field type="CARD16" name="back_red" />
1718     <field type="CARD16" name="back_green" />
1719     <field type="CARD16" name="back_blue" />
1720     <field type="CARD16" name="x" />
1721     <field type="CARD16" name="y" />
1722   </request>
1723
1724   <request name="CreateGlyphCursor" opcode="94">
1725     <pad bytes="1" />
1726     <field type="CURSOR" name="cid" />
1727     <field type="FONT" name="source_font" />
1728     <field type="FONT" name="mask_font" />
1729     <field type="CARD16" name="source_char" />
1730     <field type="CARD16" name="mask_char" />
1731     <field type="CARD16" name="fore_red" />
1732     <field type="CARD16" name="fore_green" />
1733     <field type="CARD16" name="fore_blue" />
1734     <field type="CARD16" name="back_red" />
1735     <field type="CARD16" name="back_green" />
1736     <field type="CARD16" name="back_blue" />
1737   </request>
1738
1739   <request name="FreeCursor" opcode="95">
1740     <pad bytes="1" />
1741     <field type="CURSOR" name="cursor" />
1742   </request>
1743
1744   <request name="RecolorCursor" opcode="96">
1745     <pad bytes="1" />
1746     <field type="CURSOR" name="cursor" />
1747     <field type="CARD16" name="fore_red" />
1748     <field type="CARD16" name="fore_green" />
1749     <field type="CARD16" name="fore_blue" />
1750     <field type="CARD16" name="back_red" />
1751     <field type="CARD16" name="back_green" />
1752     <field type="CARD16" name="back_blue" />
1753   </request>
1754
1755   <enum name="QueryShapeOf">
1756     <item name="LargestCursor"> <value>0</value></item>
1757     <item name="FastestTile">   <value>1</value></item>
1758     <item name="FastestStipple"><value>2</value></item>    
1759   </enum>
1760
1761   <request name="QueryBestSize" opcode="97">
1762     <field type="CARD8" name="class" />
1763     <field type="DRAWABLE" name="drawable" />
1764     <field type="CARD16" name="width" />
1765     <field type="CARD16" name="height" />
1766     <reply>
1767       <pad bytes="1" />
1768       <field type="CARD16" name="width" />
1769       <field type="CARD16" name="height" />
1770     </reply>
1771   </request>
1772
1773   <request name="QueryExtension" opcode="98">
1774     <pad bytes="1" />
1775     <field type="CARD16" name="name_len" />
1776     <list type="char" name="name">
1777       <fieldref>name_len</fieldref>
1778     </list>
1779     <reply>
1780       <pad bytes="1" />
1781       <field type="BOOL" name="present" />
1782       <field type="CARD8" name="major_opcode" />
1783       <field type="CARD8" name="first_event" />
1784       <field type="CARD8" name="first_error" />
1785     </reply>
1786   </request>
1787
1788   <request name="ListExtensions" opcode="99">
1789     <reply>
1790       <field type="CARD8" name="names_len" />
1791       <pad bytes="24" />
1792       <list type="STR" name="names">
1793         <fieldref>names_len</fieldref>
1794       </list>
1795     </reply>
1796   </request>
1797
1798   <request name="ChangeKeyboardMapping" opcode="100">
1799     <field type="CARD8" name="keycode_count" />
1800     <field type="KEYCODE" name="first_keycode" />
1801     <field type="CARD8" name="keysyms_per_keycode" />
1802     <list type="KEYSYM" name="keysyms">
1803       <op op="*">
1804         <fieldref>keycode_count</fieldref>
1805         <fieldref>keysyms_per_keycode</fieldref>
1806       </op>
1807     </list>
1808   </request>
1809
1810   <request name="GetKeyboardMapping" opcode="101">
1811     <pad bytes="1" />
1812     <field type="KEYCODE" name="first_keycode" />
1813     <field type="CARD8" name="count" />
1814     <reply>
1815       <field type="BYTE" name="keysyms_per_keycode" />
1816       <pad bytes="24" />
1817       <list type="KEYSYM" name="keysyms">
1818         <op op="*">
1819           <fieldref>length</fieldref>
1820           <value>4</value>
1821         </op>
1822       </list>
1823     </reply>
1824   </request>
1825
1826   <enum name="KB">
1827     <item name="KeyClickPercent"><bit>0</bit></item>
1828     <item name="BellPercent">    <bit>1</bit></item>
1829     <item name="BellPitch">      <bit>2</bit></item>
1830     <item name="BellDuration">   <bit>3</bit></item>
1831     <item name="Led">            <bit>4</bit></item>
1832     <item name="LedMode">        <bit>5</bit></item>
1833     <item name="Key">            <bit>6</bit></item>
1834     <item name="AutoRepeatMode"> <bit>7</bit></item>
1835   </enum>
1836
1837   <enum name="LedMode">
1838     <item name="Off"><value>0</value></item>
1839     <item name="On"> <value>1</value></item>
1840   </enum>
1841
1842   <enum name="AutoRepeatMode">
1843     <item name="Off">    <value>0</value></item>
1844     <item name="On">     <value>1</value></item>
1845     <item name="Default"><value>2</value></item>
1846   </enum>
1847
1848   <request name="ChangeKeyboardControl" opcode="102">
1849     <pad bytes="1" />
1850     <valueparam value-mask-type="CARD32"
1851                 value-mask-name="value_mask"
1852                 value-list-name="value_list" />
1853   </request>
1854
1855   <request name="GetKeyboardControl" opcode="103">
1856     <reply>
1857       <field type="BYTE" name="global_auto_repeat" />
1858       <field type="CARD32" name="led_mask" />
1859       <field type="CARD8" name="key_click_percent" />
1860       <field type="CARD8" name="bell_percent" />
1861       <field type="CARD16" name="bell_pitch" />
1862       <field type="CARD16" name="bell_duration" />
1863       <pad bytes="2" />
1864       <list type="CARD8" name="auto_repeats"><value>32</value></list>
1865     </reply>
1866   </request>
1867
1868   <request name="Bell" opcode="104">
1869     <field type="INT8" name="percent" />
1870   </request>
1871
1872   <request name="ChangePointerControl" opcode="105">
1873     <pad bytes="1" />
1874     <field type="INT16" name="acceleration_numerator" />
1875     <field type="INT16" name="acceleration_denominator" />
1876     <field type="INT16" name="threshold" />
1877     <field type="BOOL" name="do_acceleration" />
1878     <field type="BOOL" name="do_threshold" />
1879   </request>
1880
1881   <request name="GetPointerControl" opcode="106">
1882     <reply>
1883       <pad bytes="1" />
1884       <field type="CARD16" name="acceleration_numerator" />
1885       <field type="CARD16" name="acceleration_denominator" />
1886       <field type="CARD16" name="threshold" />
1887     </reply>
1888   </request>
1889
1890   <!-- Screen saver timeout and interval can be set to -1 to restore defaults
1891        and set to 0 to disable the screen saver. -->
1892
1893   <enum name="Blanking">
1894     <item name="NotPreferred"><value>0</value></item>
1895     <item name="Preferred">   <value>1</value></item>
1896     <item name="Default">     <value>2</value></item>
1897   </enum>
1898
1899   <enum name="Exposures">
1900     <item name="NotAllowed"><value>0</value></item>
1901     <item name="Allowed">   <value>1</value></item>
1902     <item name="Default">   <value>2</value></item>
1903   </enum>
1904
1905   <request name="SetScreenSaver" opcode="107">
1906     <pad bytes="1" />
1907     <field type="INT16" name="timeout" />
1908     <field type="INT16" name="interval" />
1909     <field type="CARD8" name="prefer_blanking" />
1910     <field type="CARD8" name="allow_exposures" />
1911   </request>
1912
1913   <request name="GetScreenSaver" opcode="108">
1914     <reply>
1915       <pad bytes="1" />
1916       <field type="CARD16" name="timeout" />
1917       <field type="CARD16" name="interval" />
1918       <field type="BYTE" name="prefer_blanking" />
1919       <field type="BYTE" name="allow_exposures" />
1920     </reply>
1921   </request>
1922
1923   <enum name="Host">
1924     <item name="Insert"><value>0</value></item>
1925     <item name="Delete"><value>1</value></item>
1926   </enum>
1927
1928   <!-- also used and extended for Xau authentication -->
1929   <enum name="Family">
1930     <item name="Internet">         <value>0</value></item>
1931     <item name="DECnet">           <value>1</value></item>
1932     <item name="Chaos">            <value>2</value></item>
1933     <item name="ServerInterpreted"><value>5</value></item>
1934     <item name="Internet6">        <value>6</value></item>
1935   </enum>
1936
1937   <request name="ChangeHosts" opcode="109">
1938     <field type="CARD8" name="mode" />
1939     <field type="CARD8" name="family" />
1940     <pad bytes="1" />
1941     <field type="CARD16" name="address_len" />
1942     <list type="char" name="address">
1943       <fieldref>address_len</fieldref>
1944     </list>
1945   </request>
1946
1947   <struct name="HOST">
1948     <field type="CARD8" name="family" />
1949     <pad bytes="1" />
1950     <field type="CARD16" name="address_len" />
1951     <list type="BYTE" name="address">
1952       <fieldref>address_len</fieldref>
1953     </list>
1954   </struct>
1955
1956   <request name="ListHosts" opcode="110">
1957     <reply>
1958       <field type="BYTE" name="mode" />
1959       <field type="CARD16" name="hosts_len" />
1960       <pad bytes="22" />
1961       <list type="HOST" name="hosts">
1962         <fieldref>hosts_len</fieldref>
1963       </list>
1964     </reply>
1965   </request>
1966
1967   <enum name="AccessControl">
1968     <item name="Disable"><value>0</value></item>
1969     <item name="Enable"> <value>1</value></item>
1970   </enum>
1971
1972   <request name="SetAccessControl" opcode="111">
1973     <field type="CARD8" name="mode" />
1974   </request>
1975
1976   <enum name="CloseDown">
1977     <item name="DestroyAll">     <value>0</value></item>
1978     <item name="RetainPermanent"><value>1</value></item>
1979     <item name="RetainTemporary"><value>2</value></item>
1980   </enum>
1981
1982   <request name="SetCloseDownMode" opcode="112">
1983     <field type="CARD8" name="mode" />
1984   </request>
1985
1986   <enum name="Kill">
1987     <item name="AllTemporary"><value>0</value></item>
1988   </enum>
1989
1990   <request name="KillClient" opcode="113">
1991     <pad bytes="1" />
1992     <field type="CARD32" name="resource" />
1993   </request>
1994
1995   <request name="RotateProperties" opcode="114">
1996     <field type="WINDOW" name="window" />
1997     <field type="CARD16" name="atoms_len" />
1998     <field type="INT16" name="delta" />
1999     <list type="ATOM" name="atoms">
2000       <fieldref>atoms_len</fieldref>
2001     </list>
2002   </request>
2003
2004   <enum name="ScreenSaver">
2005     <item name="Reset"> <value>0</value></item>
2006     <item name="Active"><value>1</value></item>
2007   </enum>
2008
2009   <request name="ForceScreenSaver" opcode="115">
2010     <field type="CARD8" name="mode" />
2011   </request>
2012
2013   <!-- Reply from SetPointerMapping or SetModifierMapping -->
2014   <enum name="MappingStatus">
2015     <item name="Success"><value>0</value></item>
2016     <item name="Busy">   <value>1</value></item>
2017     <item name="Failure"><value>2</value></item>
2018   </enum>
2019
2020   <request name="SetPointerMapping" opcode="116">
2021     <field type="CARD8" name="map_len" />
2022     <list type="CARD8" name="map">
2023       <fieldref>map_len</fieldref>
2024     </list>
2025     <reply>
2026       <field type="BYTE" name="status" />
2027     </reply>
2028   </request>
2029
2030   <request name="GetPointerMapping" opcode="117">
2031     <reply>
2032       <field type="CARD8" name="map_len" />
2033       <pad bytes="24" />
2034       <list type="CARD8" name="map">
2035         <fieldref>map_len</fieldref>
2036       </list>
2037     </reply>
2038   </request>
2039   
2040   <enum name="MapIndex">
2041     <item name="Shift">  <value>0</value></item>
2042     <item name="Lock">   <value>1</value></item>
2043     <item name="Control"><value>2</value></item>
2044     <item name="1">      <value>3</value></item>
2045     <item name="2">      <value>4</value></item>
2046     <item name="3">      <value>5</value></item>
2047     <item name="4">      <value>6</value></item>
2048     <item name="5">      <value>7</value></item>
2049   </enum>
2050
2051   <request name="SetModifierMapping" opcode="118">
2052     <field type="CARD8" name="keycodes_per_modifier" />
2053     <list type="KEYCODE" name="keycodes">
2054       <op op="*">
2055         <fieldref>keycodes_per_modifier</fieldref>
2056         <value>8</value>
2057       </op>
2058     </list>
2059     <reply>
2060       <field type="BYTE" name="status" />
2061     </reply>
2062   </request>
2063
2064   <request name="GetModifierMapping" opcode="119">
2065     <reply>
2066       <field type="CARD8" name="keycodes_per_modifier" />
2067       <pad bytes="24" />
2068       <list type="KEYCODE" name="keycodes">
2069         <op op="*">
2070           <fieldref>keycodes_per_modifier</fieldref>
2071           <value>8</value>
2072         </op>
2073       </list>
2074     </reply>
2075   </request>
2076
2077   <!--
2078     FIXME: NoOperation should allow specifying payload length
2079     but geez, malloc()ing a 262140 byte buffer just so I have something
2080     to hand to write(2) seems silly...!
2081   -->
2082   <request name="NoOperation" opcode="127" />
2083
2084 </xcb>