2d76efaead7b272b465e0a93443ce3750f861c1d
[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 protocol types -->
30   
31   <struct name="CHAR2B">
32     <field type="CARD8" name="byte1" />
33     <field type="CARD8" name="byte2" />
34   </struct>
35   
36   <xidtype name="WINDOW" />
37   
38   <xidtype name="PIXMAP" />
39   
40   <xidtype name="CURSOR" />
41   
42   <xidtype name="FONT" />
43   
44   <xidtype name="GCONTEXT" />
45   
46   <xidtype name="COLORMAP" />
47   
48   <xidtype name="ATOM" />
49   
50   <xidunion name="DRAWABLE">
51     <type>WINDOW</type>
52     <type>PIXMAP</type>
53   </xidunion>
54   
55   <xidunion name="FONTABLE">
56     <type>FONT</type>
57     <type>GCONTEXT</type>
58   </xidunion>
59   
60   <typedef oldname="CARD32" newname="VISUALID" />
61
62   <typedef oldname="CARD32" newname="TIMESTAMP" />
63
64   <typedef oldname="CARD32" newname="KEYSYM" />
65
66   <typedef oldname="CARD8" newname="KEYCODE" />
67
68   <typedef oldname="CARD8" newname="BUTTON" />
69
70   <struct name="POINT">
71     <field type="INT16" name="x" />
72     <field type="INT16" name="y" />
73   </struct>
74
75   <struct name="RECTANGLE">
76     <field type="INT16" name="x" />
77     <field type="INT16" name="y" />
78     <field type="CARD16" name="width" />
79     <field type="CARD16" name="height" />
80   </struct>
81
82   <struct name="ARC">
83     <field type="INT16" name="x" />
84     <field type="INT16" name="y" />
85     <field type="CARD16" name="width" />
86     <field type="CARD16" name="height" />
87     <field type="INT16" name="angle1" />
88     <field type="INT16" name="angle2" />
89   </struct>
90
91   <!-- Connection setup-related types -->
92
93   <struct name="FORMAT">
94     <field type="CARD8" name="depth" />
95     <field type="CARD8" name="bits_per_pixel" />
96     <field type="CARD8" name="scanline_pad" />
97     <pad bytes="5" />
98   </struct>
99
100   <enum name="VisualClass">
101     <item name="StaticGray"> <value>0</value></item>
102     <item name="GrayScale">  <value>1</value></item>
103     <item name="StaticColor"><value>2</value></item>
104     <item name="PseudoColor"><value>3</value></item>
105     <item name="TrueColor">  <value>4</value></item>
106     <item name="DirectColor"><value>5</value></item>
107   </enum>
108
109   <struct name="VISUALTYPE">
110     <field type="VISUALID" name="visual_id" />
111     <field type="CARD8" name="class" enum="VisualClass" />
112     <field type="CARD8" name="bits_per_rgb_value" />
113     <field type="CARD16" name="colormap_entries" />
114     <field type="CARD32" name="red_mask" />
115     <field type="CARD32" name="green_mask" />
116     <field type="CARD32" name="blue_mask" />
117     <pad bytes="4" />
118   </struct>
119
120   <struct name="DEPTH">
121     <field type="CARD8" name="depth" />
122     <pad bytes="1" />
123     <field type="CARD16" name="visuals_len" />
124     <pad bytes="4" />
125     <list type="VISUALTYPE" name="visuals">
126       <fieldref>visuals_len</fieldref>
127     </list>
128   </struct>
129
130   <enum name="EventMask">
131     <item name="NoEvent">           <value>0</value></item>
132     <item name="KeyPress">            <bit>0</bit></item>
133     <item name="KeyRelease">          <bit>1</bit></item>
134     <item name="ButtonPress">         <bit>2</bit></item>
135     <item name="ButtonRelease">       <bit>3</bit></item>
136     <item name="EnterWindow">         <bit>4</bit></item>
137     <item name="LeaveWindow">         <bit>5</bit></item>
138     <item name="PointerMotion">       <bit>6</bit></item>
139     <item name="PointerMotionHint">   <bit>7</bit></item>
140     <item name="Button1Motion">       <bit>8</bit></item>
141     <item name="Button2Motion">       <bit>9</bit></item>
142     <item name="Button3Motion">       <bit>10</bit></item>
143     <item name="Button4Motion">       <bit>11</bit></item>
144     <item name="Button5Motion">       <bit>12</bit></item>
145     <item name="ButtonMotion">        <bit>13</bit></item>
146     <item name="KeymapState">         <bit>14</bit></item>
147     <item name="Exposure">            <bit>15</bit></item>
148     <item name="VisibilityChange">    <bit>16</bit></item>
149     <item name="StructureNotify">     <bit>17</bit></item>
150     <item name="ResizeRedirect">      <bit>18</bit></item>
151     <item name="SubstructureNotify">  <bit>19</bit></item>
152     <item name="SubstructureRedirect"><bit>20</bit></item>
153     <item name="FocusChange">         <bit>21</bit></item>
154     <item name="PropertyChange">      <bit>22</bit></item>
155     <item name="ColorMapChange">      <bit>23</bit></item>
156     <item name="OwnerGrabButton">     <bit>24</bit></item>
157   </enum>
158
159   <enum name="BackingStore">
160     <item name="NotUseful"> <value>0</value></item>
161     <item name="WhenMapped"><value>1</value></item>
162     <item name="Always">    <value>2</value></item>
163   </enum>
164
165   <struct name="SCREEN">
166     <field type="WINDOW" name="root" />
167     <field type="COLORMAP" name="default_colormap" />
168     <field type="CARD32" name="white_pixel" />
169     <field type="CARD32" name="black_pixel" />
170     <field type="CARD32" name="current_input_masks" mask="EventMask" />
171     <field type="CARD16" name="width_in_pixels" />
172     <field type="CARD16" name="height_in_pixels" />
173     <field type="CARD16" name="width_in_millimeters" />
174     <field type="CARD16" name="height_in_millimeters" />
175     <field type="CARD16" name="min_installed_maps" />
176     <field type="CARD16" name="max_installed_maps" />
177     <field type="VISUALID" name="root_visual" />
178     <field type="BYTE" name="backing_stores" enum="BackingStore" />
179     <field type="BOOL" name="save_unders" />
180     <field type="CARD8" name="root_depth" />
181     <field type="CARD8" name="allowed_depths_len" />
182     <list type="DEPTH" name="allowed_depths">
183       <fieldref>allowed_depths_len</fieldref>
184     </list>
185   </struct>
186
187   <struct name="SetupRequest">
188     <field type="CARD8" name="byte_order" />
189     <pad bytes="1" />
190     <field type="CARD16" name="protocol_major_version" />
191     <field type="CARD16" name="protocol_minor_version" />
192     <field type="CARD16" name="authorization_protocol_name_len" />
193     <field type="CARD16" name="authorization_protocol_data_len" />
194     <pad bytes="2" />
195     <list type="char" name="authorization_protocol_name">
196       <fieldref>authorization_protocol_name_len</fieldref>
197     </list>
198     <list type="char" name="authorization_protocol_data">
199       <fieldref>authorization_protocol_data_len</fieldref>
200     </list>
201   </struct>
202
203   <struct name="SetupFailed">
204     <field type="CARD8" name="status" /> <!-- always 0 -> Failed -->
205     <field type="CARD8" name="reason_len" />
206     <field type="CARD16" name="protocol_major_version" />
207     <field type="CARD16" name="protocol_minor_version" />
208     <field type="CARD16" name="length" />
209     <list type="char" name="reason">
210       <fieldref>reason_len</fieldref>
211     </list>
212   </struct>
213
214   <struct name="SetupAuthenticate">
215     <field type="CARD8" name="status" /> <!-- always 2 -> Authenticate -->
216     <pad bytes="5" />
217     <field type="CARD16" name="length" />
218     <list type="char" name="reason">
219       <op op="*">
220         <fieldref>length</fieldref>
221         <value>4</value>
222       </op>
223     </list>
224   </struct>
225
226   <enum name="ImageOrder">
227     <item name="LSBFirst"><value>0</value></item>
228     <item name="MSBFirst"><value>1</value></item>
229   </enum>
230
231   <struct name="Setup">
232     <field type="CARD8" name="status" /> <!-- always 1 -> Success -->
233     <pad bytes="1" />
234     <field type="CARD16" name="protocol_major_version" />
235     <field type="CARD16" name="protocol_minor_version" />
236     <field type="CARD16" name="length" />
237     <field type="CARD32" name="release_number" />
238     <field type="CARD32" name="resource_id_base" />
239     <field type="CARD32" name="resource_id_mask" />
240     <field type="CARD32" name="motion_buffer_size" />
241     <field type="CARD16" name="vendor_len" />
242     <field type="CARD16" name="maximum_request_length" />
243     <field type="CARD8" name="roots_len" />
244     <field type="CARD8" name="pixmap_formats_len" />
245     <field type="CARD8" name="image_byte_order" enum="ImageOrder" />
246     <field type="CARD8" name="bitmap_format_bit_order" enum="ImageOrder" />
247     <field type="CARD8" name="bitmap_format_scanline_unit" />
248     <field type="CARD8" name="bitmap_format_scanline_pad" />
249     <field type="KEYCODE" name="min_keycode" />
250     <field type="KEYCODE" name="max_keycode" />
251     <pad bytes="4" />
252     <list type="char" name="vendor">
253       <fieldref>vendor_len</fieldref>
254     </list>
255     <list type="FORMAT" name="pixmap_formats">
256       <fieldref>pixmap_formats_len</fieldref>
257     </list>
258     <list type="SCREEN" name="roots">
259       <fieldref>roots_len</fieldref>
260     </list>
261   </struct>
262
263   <!-- Core event types -->
264   
265   <enum name="ModMask">
266     <item name="Shift">  <bit>0</bit></item>
267     <item name="Lock">   <bit>1</bit></item>
268     <item name="Control"><bit>2</bit></item>
269     <item name="1">      <bit>3</bit></item>
270     <item name="2">      <bit>4</bit></item>
271     <item name="3">      <bit>5</bit></item>
272     <item name="4">      <bit>6</bit></item>
273     <item name="5">      <bit>7</bit></item>
274     <item name="Any">    <bit>15</bit></item>
275   </enum>
276
277   <enum name="KeyButMask">
278     <item name="Shift">  <bit>0</bit></item>
279     <item name="Lock">   <bit>1</bit></item>
280     <item name="Control"><bit>2</bit></item>
281     <item name="Mod1">   <bit>3</bit></item>
282     <item name="Mod2">   <bit>4</bit></item>
283     <item name="Mod3">   <bit>5</bit></item>
284     <item name="Mod4">   <bit>6</bit></item>
285     <item name="Mod5">   <bit>7</bit></item>
286     <item name="Button1"><bit>8</bit></item>
287     <item name="Button2"><bit>9</bit></item>
288     <item name="Button3"><bit>10</bit></item>
289     <item name="Button4"><bit>11</bit></item>
290     <item name="Button5"><bit>12</bit></item>
291   </enum>
292
293   <enum name="Window">
294     <item name="None"> <value>0</value></item>
295   </enum>
296
297   <event name="KeyPress" number="2">
298     <field type="KEYCODE" name="detail" />
299     <field type="TIMESTAMP" name="time" />
300     <field type="WINDOW" name="root" />
301     <field type="WINDOW" name="event" />
302     <field type="WINDOW" name="child" altenum="Window" />
303     <field type="INT16" name="root_x" />
304     <field type="INT16" name="root_y" />
305     <field type="INT16" name="event_x" />
306     <field type="INT16" name="event_y" />
307     <field type="CARD16" name="state" mask="KeyButMask" />
308     <field type="BOOL" name="same_screen" />
309     <pad bytes="1" />
310   </event>
311
312   <eventcopy name="KeyRelease" number="3" ref="KeyPress" />
313
314   <enum name="ButtonMask">
315     <item name="1">      <bit>8</bit></item>
316     <item name="2">      <bit>9</bit></item>
317     <item name="3">      <bit>10</bit></item>
318     <item name="4">      <bit>11</bit></item>
319     <item name="5">      <bit>12</bit></item>
320     <item name="Any">    <bit>15</bit></item>
321   </enum>
322
323   <event name="ButtonPress" number="4">
324     <field type="BUTTON" name="detail" />
325     <field type="TIMESTAMP" name="time" />
326     <field type="WINDOW" name="root" />
327     <field type="WINDOW" name="event" />
328     <field type="WINDOW" name="child" altenum="Window" />
329     <field type="INT16" name="root_x" />
330     <field type="INT16" name="root_y" />
331     <field type="INT16" name="event_x" />
332     <field type="INT16" name="event_y" />
333     <field type="CARD16" name="state" mask="KeyButMask" />
334     <field type="BOOL" name="same_screen" />
335     <pad bytes="1" />
336   </event>
337
338   <eventcopy name="ButtonRelease" number="5" ref="ButtonPress" />
339
340   <!-- MotionNotify detail -->
341   <enum name="Motion">
342     <item name="Normal"><value>0</value></item>
343     <item name="Hint">  <value>1</value></item>
344   </enum>
345
346   <event name="MotionNotify" number="6">
347     <field type="BYTE" name="detail" enum="Motion" />
348     <field type="TIMESTAMP" name="time" />
349     <field type="WINDOW" name="root" />
350     <field type="WINDOW" name="event" />
351     <field type="WINDOW" name="child" altenum="Window" />
352     <field type="INT16" name="root_x" />
353     <field type="INT16" name="root_y" />
354     <field type="INT16" name="event_x" />
355     <field type="INT16" name="event_y" />
356     <field type="CARD16" name="state" mask="KeyButMask" />
357     <field type="BOOL" name="same_screen" />
358     <pad bytes="1" />
359   </event>
360
361   <enum name="NotifyDetail">
362     <item name="Ancestor">        <value>0</value></item>
363     <item name="Virtual">         <value>1</value></item>
364     <item name="Inferior">        <value>2</value></item>
365     <item name="Nonlinear">       <value>3</value></item>
366     <item name="NonlinearVirtual"><value>4</value></item>
367     <item name="Pointer">         <value>5</value></item>
368     <item name="PointerRoot">     <value>6</value></item>
369     <item name="None">            <value>7</value></item>
370   </enum>
371
372   <enum name="NotifyMode">
373     <item name="Normal">      <value>0</value></item>
374     <item name="Grab">        <value>1</value></item>
375     <item name="Ungrab">      <value>2</value></item>
376     <item name="WhileGrabbed"><value>3</value></item>
377   </enum>
378
379   <event name="EnterNotify" number="7">
380     <field type="BYTE" name="detail" enum="NotifyDetail" />
381     <field type="TIMESTAMP" name="time" />
382     <field type="WINDOW" name="root" />
383     <field type="WINDOW" name="event" />
384     <field type="WINDOW" name="child" altenum="Window" />
385     <field type="INT16" name="root_x" />
386     <field type="INT16" name="root_y" />
387     <field type="INT16" name="event_x" />
388     <field type="INT16" name="event_y" />
389     <field type="CARD16" name="state" mask="KeyButMask" />
390     <field type="BYTE" name="mode" enum="NotifyMode" />
391     <field type="BYTE" name="same_screen_focus" />
392   </event>
393
394   <eventcopy name="LeaveNotify" number="8" ref="EnterNotify" />
395
396   <event name="FocusIn" number="9">
397     <field type="BYTE" name="detail" enum="NotifyDetail" />
398     <field type="WINDOW" name="event" />
399     <field type="BYTE" name="mode" enum="NotifyMode" />
400     <pad bytes="3" />
401   </event>
402
403   <eventcopy name="FocusOut" number="10" ref="FocusIn" />
404
405   <event name="KeymapNotify" number="11" no-sequence-number="true">
406     <list type="CARD8" name="keys"><value>31</value></list>
407   </event>
408
409   <event name="Expose" number="12">
410     <pad bytes="1" />
411     <field type="WINDOW" name="window" />
412     <field type="CARD16" name="x" />
413     <field type="CARD16" name="y" />
414     <field type="CARD16" name="width" />
415     <field type="CARD16" name="height" />
416     <field type="CARD16" name="count" />
417     <pad bytes="2" />
418   </event>
419
420   <event name="GraphicsExposure" number="13">
421     <pad bytes="1" />
422     <field type="DRAWABLE" name="drawable" />
423     <field type="CARD16" name="x" />
424     <field type="CARD16" name="y" />
425     <field type="CARD16" name="width" />
426     <field type="CARD16" name="height" />
427     <field type="CARD16" name="minor_opcode" />
428     <field type="CARD16" name="count" />
429     <field type="CARD8" name="major_opcode" />
430     <pad bytes="3" />
431   </event>
432
433   <event name="NoExposure" number="14">
434     <pad bytes="1" />
435     <field type="DRAWABLE" name="drawable" />
436     <field type="CARD16" name="minor_opcode" />
437     <field type="CARD8" name="major_opcode" />
438     <pad bytes="1" />
439   </event>
440
441   <enum name="Visibility">
442     <item name="Unobscured">       <value>0</value></item>
443     <item name="PartiallyObscured"><value>1</value></item>
444     <item name="FullyObscured">    <value>2</value></item>
445   </enum>
446
447   <event name="VisibilityNotify" number="15">
448     <pad bytes="1" />
449     <field type="WINDOW" name="window" />
450     <field type="BYTE" name="state" enum="Visibility" />
451     <pad bytes="3" />
452   </event>
453
454   <event name="CreateNotify" number="16">
455     <pad bytes="1" />
456     <field type="WINDOW" name="parent" />
457     <field type="WINDOW" name="window" />
458     <field type="INT16" name="x" />
459     <field type="INT16" name="y" />
460     <field type="CARD16" name="width" />
461     <field type="CARD16" name="height" />
462     <field type="CARD16" name="border_width" />
463     <field type="BOOL" name="override_redirect" />
464     <pad bytes="1" />
465   </event>
466
467   <event name="DestroyNotify" number="17">
468     <pad bytes="1" />
469     <field type="WINDOW" name="event" />
470     <field type="WINDOW" name="window" />
471   </event>
472
473   <event name="UnmapNotify" number="18">
474     <pad bytes="1" />
475     <field type="WINDOW" name="event" />
476     <field type="WINDOW" name="window" />
477     <field type="BOOL" name="from_configure" />
478     <pad bytes="3" />
479   </event>
480
481   <event name="MapNotify" number="19">
482     <pad bytes="1" />
483     <field type="WINDOW" name="event" />
484     <field type="WINDOW" name="window" />
485     <field type="BOOL" name="override_redirect" />
486     <pad bytes="3" />
487   </event>
488
489   <event name="MapRequest" number="20">
490     <pad bytes="1" />
491     <field type="WINDOW" name="parent" />
492     <field type="WINDOW" name="window" />
493   </event>
494
495   <event name="ReparentNotify" number="21">
496     <pad bytes="1" />
497     <field type="WINDOW" name="event" />
498     <field type="WINDOW" name="window" />
499     <field type="WINDOW" name="parent" />
500     <field type="INT16" name="x" />
501     <field type="INT16" name="y" />
502     <field type="BOOL" name="override_redirect" />
503     <pad bytes="3" />
504   </event>
505
506   <event name="ConfigureNotify" number="22">
507     <pad bytes="1" />
508     <field type="WINDOW" name="event" />
509     <field type="WINDOW" name="window" />
510     <field type="WINDOW" name="above_sibling" altenum="Window" />
511     <field type="INT16" name="x" />
512     <field type="INT16" name="y" />
513     <field type="CARD16" name="width" />
514     <field type="CARD16" name="height" />
515     <field type="CARD16" name="border_width" />
516     <field type="BOOL" name="override_redirect" />
517     <pad bytes="1" />
518   </event>
519
520   <event name="ConfigureRequest" number="23">
521     <field type="BYTE" name="stack_mode" enum="StackMode" />
522     <field type="WINDOW" name="parent" />
523     <field type="WINDOW" name="window" />
524     <field type="WINDOW" name="sibling" altenum="Window" />
525     <field type="INT16" name="x" />
526     <field type="INT16" name="y" />
527     <field type="CARD16" name="width" />
528     <field type="CARD16" name="height" />
529     <field type="CARD16" name="border_width" />
530     <field type="CARD16" name="value_mask" mask="ConfigWindow" />
531   </event>
532
533   <event name="GravityNotify" number="24">
534     <pad bytes="1" />
535     <field type="WINDOW" name="event" />
536     <field type="WINDOW" name="window" />
537     <field type="INT16" name="x" />
538     <field type="INT16" name="y" />
539   </event>
540
541   <event name="ResizeRequest" number="25">
542     <pad bytes="1" />
543     <field type="WINDOW" name="window" />
544     <field type="CARD16" name="width" />
545     <field type="CARD16" name="height" />
546   </event>
547
548   <enum name="Place">
549     <item name="OnTop">   <value>0</value></item>
550     <item name="OnBottom"><value>1</value></item>
551   </enum>
552
553   <event name="CirculateNotify" number="26">
554     <pad bytes="1" />
555     <field type="WINDOW" name="event" />
556     <field type="WINDOW" name="window" />
557     <pad bytes="4" />
558     <field type="BYTE" name="place" enum="Place" />
559     <pad bytes="3" />
560   </event>
561
562   <eventcopy name="CirculateRequest" number="27" ref="CirculateNotify" />
563
564   <enum name="Property">
565     <item name="NewValue"><value>0</value></item>
566     <item name="Delete">  <value>1</value></item>
567   </enum>
568
569   <event name="PropertyNotify" number="28">
570     <pad bytes="1" />
571     <field type="WINDOW" name="window" />
572     <field type="ATOM" name="atom" />
573     <field type="TIMESTAMP" name="time" />
574     <field type="BYTE" name="state" enum="Property" />
575     <pad bytes="3" />
576   </event>
577
578   <event name="SelectionClear" number="29">
579     <pad bytes="1" />
580     <field type="TIMESTAMP" name="time" />
581     <field type="WINDOW" name="owner" />
582     <field type="ATOM" name="selection" />
583   </event>
584
585   <enum name="Time">
586     <item name="CurrentTime"> <value>0</value> </item>
587   </enum>
588
589   <enum name="Atom">
590     <item name="None"> <value>0</value></item>
591     <item name="Any">  <value>0</value></item>
592     <item name="PRIMARY" />
593     <item name="SECONDARY" />
594     <item name="ARC" />
595     <item name="ATOM" />
596     <item name="BITMAP" />
597     <item name="CARDINAL" />
598     <item name="COLORMAP" />
599     <item name="CURSOR" />
600     <item name="CUT_BUFFER0" />
601     <item name="CUT_BUFFER1" />
602     <item name="CUT_BUFFER2" />
603     <item name="CUT_BUFFER3" />
604     <item name="CUT_BUFFER4" />
605     <item name="CUT_BUFFER5" />
606     <item name="CUT_BUFFER6" />
607     <item name="CUT_BUFFER7" />
608     <item name="DRAWABLE" />
609     <item name="FONT" />
610     <item name="INTEGER" />
611     <item name="PIXMAP" />
612     <item name="POINT" />
613     <item name="RECTANGLE" />
614     <item name="RESOURCE_MANAGER" />
615     <item name="RGB_COLOR_MAP" />
616     <item name="RGB_BEST_MAP" />
617     <item name="RGB_BLUE_MAP" />
618     <item name="RGB_DEFAULT_MAP" />
619     <item name="RGB_GRAY_MAP" />
620     <item name="RGB_GREEN_MAP" />
621     <item name="RGB_RED_MAP" />
622     <item name="STRING" />
623     <item name="VISUALID" />
624     <item name="WINDOW" />
625     <item name="WM_COMMAND" />
626     <item name="WM_HINTS" />
627     <item name="WM_CLIENT_MACHINE" />
628     <item name="WM_ICON_NAME" />
629     <item name="WM_ICON_SIZE" />
630     <item name="WM_NAME" />
631     <item name="WM_NORMAL_HINTS" />
632     <item name="WM_SIZE_HINTS" />
633     <item name="WM_ZOOM_HINTS" />
634     <item name="MIN_SPACE" />
635     <item name="NORM_SPACE" />
636     <item name="MAX_SPACE" />
637     <item name="END_SPACE" />
638     <item name="SUPERSCRIPT_X" />
639     <item name="SUPERSCRIPT_Y" />
640     <item name="SUBSCRIPT_X" />
641     <item name="SUBSCRIPT_Y" />
642     <item name="UNDERLINE_POSITION" />
643     <item name="UNDERLINE_THICKNESS" />
644     <item name="STRIKEOUT_ASCENT" />
645     <item name="STRIKEOUT_DESCENT" />
646     <item name="ITALIC_ANGLE" />
647     <item name="X_HEIGHT" />
648     <item name="QUAD_WIDTH" />
649     <item name="WEIGHT" />
650     <item name="POINT_SIZE" />
651     <item name="RESOLUTION" />
652     <item name="COPYRIGHT" />
653     <item name="NOTICE" />
654     <item name="FONT_NAME" />
655     <item name="FAMILY_NAME" />
656     <item name="FULL_NAME" />
657     <item name="CAP_HEIGHT" />
658     <item name="WM_CLASS" />
659     <item name="WM_TRANSIENT_FOR" />
660   </enum>
661
662   <event name="SelectionRequest" number="30">
663     <pad bytes="1" />
664     <field type="TIMESTAMP" name="time" altenum="Time" />
665     <field type="WINDOW" name="owner" />
666     <field type="WINDOW" name="requestor" />
667     <field type="ATOM" name="selection" />
668     <field type="ATOM" name="target" />
669     <field type="ATOM" name="property" altenum="Atom" />
670   </event>
671
672   <event name="SelectionNotify" number="31">
673     <pad bytes="1" />
674     <field type="TIMESTAMP" name="time" altenum="Time" />
675     <field type="WINDOW" name="requestor" />
676     <field type="ATOM" name="selection" />
677     <field type="ATOM" name="target" />
678     <field type="ATOM" name="property" altenum="Atom" />
679   </event>
680
681   <enum name="ColormapState">
682     <item name="Uninstalled"><value>0</value></item>
683     <item name="Installed">  <value>1</value></item>
684   </enum>
685
686   <enum name="Colormap">
687     <item name="None"> <value>0</value></item>
688   </enum>
689
690   <event name="ColormapNotify" number="32">
691     <pad bytes="1" />
692     <field type="WINDOW" name="window" />
693     <field type="COLORMAP" name="colormap" altenum="Colormap" />
694     <field type="BOOL" name="new" />
695     <field type="BYTE" name="state" enum="ColormapState" />
696     <pad bytes="2" />
697   </event>
698
699   <union name="ClientMessageData">
700     <!-- The format member of the ClientMessage event determines which array
701          to use. -->
702     <list type="CARD8"  name="data8" ><value>20</value></list> <!--  8 -->
703     <list type="CARD16" name="data16"><value>10</value></list> <!-- 16 -->
704     <list type="CARD32" name="data32"><value>5</value></list>  <!-- 32 -->
705   </union>
706
707   <event name="ClientMessage" number="33">
708     <field type="CARD8" name="format" /> <!-- 8, 16, or 32. -->
709     <field type="WINDOW" name="window" />
710     <field type="ATOM" name="type" />
711     <field type="ClientMessageData" name="data" />
712   </event>
713
714   <enum name="Mapping">
715     <item name="Modifier"><value>0</value></item>
716     <item name="Keyboard"><value>1</value></item>
717     <item name="Pointer"> <value>2</value></item>
718   </enum>
719
720   <event name="MappingNotify" number="34">
721     <pad bytes="1" />
722     <field type="BYTE" name="request" enum="Mapping" />
723     <field type="KEYCODE" name="first_keycode" />
724     <field type="CARD8" name="count" />
725     <pad bytes="1" />
726   </event>
727
728
729
730   <!-- Core error types -->
731
732
733
734   <error name="Request" number="1">
735     <field type="CARD32" name="bad_value" />
736     <field type="CARD16" name="minor_opcode" />
737     <field type="CARD8" name="major_opcode" />
738     <pad bytes="1" />
739   </error>
740
741   <error name="Value" number="2">
742     <field type="CARD32" name="bad_value" />
743     <field type="CARD16" name="minor_opcode" />
744     <field type="CARD8" name="major_opcode" />
745     <pad bytes="1" />
746   </error>
747
748   <errorcopy name="Window" number="3" ref="Value" />
749   <errorcopy name="Pixmap" number="4" ref="Value" />
750   <errorcopy name="Atom" number="5" ref="Value" />
751   <errorcopy name="Cursor" number="6" ref="Value" />
752   <errorcopy name="Font" number="7" ref="Value" />
753   <errorcopy name="Match" number="8" ref="Request" />
754   <errorcopy name="Drawable" number="9" ref="Value" />
755   <errorcopy name="Access" number="10" ref="Request" />
756   <errorcopy name="Alloc" number="11" ref="Request" />
757   <errorcopy name="Colormap" number="12" ref="Value" />
758   <errorcopy name="GContext" number="13" ref="Value" />
759   <errorcopy name="IDChoice" number="14" ref="Value" />
760   <errorcopy name="Name" number="15" ref="Request" />
761   <errorcopy name="Length" number="16" ref="Request" />
762   <errorcopy name="Implementation" number="17" ref="Request" />
763
764
765
766   <!-- The core requests, in major number order. -->
767   <!-- It is the caller's responsibility to free returned XCB*Rep objects. -->
768
769
770
771   <enum name="WindowClass">
772     <item name="CopyFromParent"><value>0</value></item>
773     <item name="InputOutput">   <value>1</value></item>
774     <item name="InputOnly">     <value>2</value></item>
775   </enum>
776
777   <!-- Window attributes for CreateWindow and ChangeWindowAttributes. -->
778   <enum name="CW">
779     <item name="BackPixmap">      <bit>0</bit></item>
780     <item name="BackPixel">       <bit>1</bit></item>
781     <item name="BorderPixmap">    <bit>2</bit></item>
782     <item name="BorderPixel">     <bit>3</bit></item>
783     <item name="BitGravity">      <bit>4</bit></item>
784     <item name="WinGravity">      <bit>5</bit></item>
785     <item name="BackingStore">    <bit>6</bit></item>
786     <item name="BackingPlanes">   <bit>7</bit></item>
787     <item name="BackingPixel">    <bit>8</bit></item>
788     <item name="OverrideRedirect"><bit>9</bit></item>
789     <item name="SaveUnder">       <bit>10</bit></item>
790     <item name="EventMask">       <bit>11</bit></item>
791     <item name="DontPropagate">   <bit>12</bit></item>
792     <item name="Colormap">        <bit>13</bit></item>
793     <item name="Cursor">          <bit>14</bit></item>
794   </enum>
795   
796   <enum name="BackPixmap">
797     <item name="None">          <value>0</value></item>
798     <item name="ParentRelative"><value>1</value></item>
799   </enum>
800
801   <enum name="Gravity">
802     <item name="BitForget"><value>0</value></item>
803     <item name="WinUnmap"> <value>0</value></item>
804     <item name="NorthWest"><value>1</value></item>
805     <item name="North">    <value>2</value></item>
806     <item name="NorthEast"><value>3</value></item>
807     <item name="West">     <value>4</value></item>
808     <item name="Center">   <value>5</value></item>
809     <item name="East">     <value>6</value></item>
810     <item name="SouthWest"><value>7</value></item>
811     <item name="South">    <value>8</value></item>
812     <item name="SouthEast"><value>9</value></item>
813     <item name="Static">   <value>10</value></item>
814   </enum>
815
816   <enum name="BorderPixmap">
817     <item name="CopyFromParent"><value>0</value></item>
818   </enum>
819
820   <enum name="ColorMap">
821     <item name="CopyFromParent"><value>0</value></item>
822   </enum>
823
824   <request name="CreateWindow" opcode="1">
825     <field type="CARD8" name="depth" />
826     <field type="WINDOW" name="wid" />
827     <field type="WINDOW" name="parent" />
828     <field type="INT16" name="x" />
829     <field type="INT16" name="y" />
830     <field type="CARD16" name="width" />
831     <field type="CARD16" name="height" />
832     <field type="CARD16" name="border_width" />
833     <field type="CARD16" name="class" enum="WindowClass" />
834     <field type="VISUALID" name="visual" />
835     <field type="CARD32" name="value_mask" enum="CW" />
836     <switch name="value_list">
837       <fieldref>value_mask</fieldref>
838       <bitcase>
839         <enumref ref="CW">BackPixmap</enumref>
840         <field name="background_pixmap" type="PIXMAP" altenum="BackPixmap" />
841       </bitcase>
842       <bitcase>
843         <enumref ref="CW">BackPixel</enumref>
844         <field name="background_pixel" type="CARD32" />
845       </bitcase>
846       <bitcase>
847         <enumref ref="CW">BorderPixmap</enumref>
848         <field name="border_pixmap" type="PIXMAP" altenum="BorderPixmap" />
849       </bitcase>
850       <bitcase>
851         <enumref ref="CW">BorderPixel</enumref>
852         <field name="border_pixel" type="CARD32" />
853       </bitcase>
854       <bitcase>
855         <enumref ref="CW">BitGravity</enumref>
856         <field name="bit_gravity" type="CARD32" enum="Gravity" />
857       </bitcase>
858       <bitcase>
859         <enumref ref="CW">WinGravity</enumref>
860         <field name="win_gravity" type="CARD32" enum="Gravity" />
861       </bitcase>
862       <bitcase>
863         <enumref ref="CW">BackingStore</enumref>
864         <field name="backing_store" type="CARD32" enum="BackingStore" />
865       </bitcase>
866       <bitcase>      
867         <enumref ref="CW">BackingPlanes</enumref>
868         <field name="backing_planes" type="CARD32" />
869       </bitcase>
870       <bitcase>      
871         <enumref ref="CW">BackingPixel</enumref>
872         <field name="backing_pixel" type="CARD32" />
873       </bitcase>
874       <bitcase>      
875         <enumref ref="CW">OverrideRedirect</enumref>
876         <field name="override_redirect" type="CARD32" />
877       </bitcase>
878       <bitcase>      
879         <enumref ref="CW">SaveUnder</enumref>
880         <field name="save_under" type="CARD32" />
881       </bitcase>
882       <bitcase>      
883         <enumref ref="CW">EventMask</enumref>
884         <field name="event_mask" type="CARD32" enum="EventMask" />
885       </bitcase>
886       <bitcase>      
887         <enumref ref="CW">DontPropagate</enumref>
888         <field name="dont_propagate" type="CARD32" enum="EventMask" />
889       </bitcase>
890       <bitcase>      
891         <enumref ref="CW">Colormap</enumref>
892         <field name="colormap" type="COLORMAP" altenum="ColorMap" />
893       </bitcase>
894       <bitcase>      
895         <enumref ref="CW">Cursor</enumref>
896         <field name="cursor" type="CURSOR" altenum="Cursor" />
897       </bitcase>
898     </switch>
899   </request>
900
901   <request name="ChangeWindowAttributes" opcode="2">
902     <pad bytes="1" />
903     <field type="WINDOW" name="window" />
904     <valueparam value-mask-type="CARD32"
905                 value-mask-name="value_mask"
906                 value-list-name="value_list" />
907   </request>
908   
909   <enum name="MapState">
910     <item name="Unmapped">  <value>0</value></item>
911     <item name="Unviewable"><value>1</value></item>
912     <item name="Viewable">  <value>2</value></item>
913   </enum>
914
915   <request name="GetWindowAttributes" opcode="3">
916     <pad bytes="1" />
917     <field type="WINDOW" name="window" />
918     <reply>
919       <field type="CARD8" name="backing_store" enum="BackingStore" />
920       <field type="VISUALID" name="visual" />
921       <field type="CARD16" name="class" enum="WindowClass" />
922       <field type="CARD8" name="bit_gravity" enum="Gravity" />
923       <field type="CARD8" name="win_gravity" enum="Gravity" />
924       <field type="CARD32" name="backing_planes" />
925       <field type="CARD32" name="backing_pixel" />
926       <field type="BOOL" name="save_under" />
927       <field type="BOOL" name="map_is_installed" />
928       <field type="CARD8" name="map_state" enum="MapState" />
929       <field type="BOOL" name="override_redirect" />
930       <field type="COLORMAP" name="colormap" altenum="Colormap" />
931       <field type="CARD32" name="all_event_masks" mask="EventMask" />
932       <field type="CARD32" name="your_event_mask" mask="EventMask" />
933       <field type="CARD16" name="do_not_propagate_mask" mask="EventMask" />
934       <pad bytes="2" />
935     </reply>
936   </request>
937
938   <request name="DestroyWindow" opcode="4">
939     <pad bytes="1" />
940     <field type="WINDOW" name="window" />
941   </request>
942
943   <request name="DestroySubwindows" opcode="5">
944     <pad bytes="1" />
945     <field type="WINDOW" name="window" />
946   </request>
947   
948   <enum name="SetMode">
949     <item name="Insert"><value>0</value></item>
950     <item name="Delete"><value>1</value></item>
951   </enum>
952
953   <request name="ChangeSaveSet" opcode="6">
954     <field type="BYTE" name="mode" enum="SetMode" />
955     <field type="WINDOW" name="window" />
956   </request>
957
958   <request name="ReparentWindow" opcode="7">
959     <pad bytes="1" />
960     <field type="WINDOW" name="window" />
961     <field type="WINDOW" name="parent" />
962     <field type="INT16" name="x" />
963     <field type="INT16" name="y" />
964   </request>
965
966   <request name="MapWindow" opcode="8">
967     <pad bytes="1" />
968     <field type="WINDOW" name="window" />
969   </request>
970
971   <request name="MapSubwindows" opcode="9">
972     <pad bytes="1" />
973     <field type="WINDOW" name="window" />
974   </request>
975
976   <request name="UnmapWindow" opcode="10">
977     <pad bytes="1" />
978     <field type="WINDOW" name="window" />
979   </request>
980
981   <request name="UnmapSubwindows" opcode="11">
982     <pad bytes="1" />
983     <field type="WINDOW" name="window" />
984   </request>
985   
986   <enum name="ConfigWindow">
987     <item name="X">          <bit>0</bit></item>
988     <item name="Y">          <bit>1</bit></item>
989     <item name="Width">      <bit>2</bit></item>
990     <item name="Height">     <bit>3</bit></item>
991     <item name="BorderWidth"><bit>4</bit></item>
992     <item name="Sibling">    <bit>5</bit></item>
993     <item name="StackMode">  <bit>6</bit></item>
994   </enum>
995   
996   <enum name="StackMode">
997     <item name="Above">   <value>0</value></item>
998     <item name="Below">   <value>1</value></item>
999     <item name="TopIf">   <value>2</value></item>
1000     <item name="BottomIf"><value>3</value></item>
1001     <item name="Opposite"><value>4</value></item>
1002   </enum>
1003
1004   <request name="ConfigureWindow" opcode="12">
1005     <pad bytes="1" />
1006     <field type="WINDOW" name="window" />
1007     <field type="CARD16" name="value_mask" />
1008     <pad bytes="2" />
1009     <valueparam value-mask-type="CARD16"
1010                 value-mask-name="value_mask"
1011                 value-list-name="value_list" />
1012   </request>
1013
1014   <enum name="Circulate">
1015     <item name="RaiseLowest"> <value>0</value></item>
1016     <item name="LowerHighest"><value>1</value></item>
1017   </enum>
1018
1019   <request name="CirculateWindow" opcode="13">
1020     <field type="CARD8" name="direction" enum="Circulate" />
1021     <field type="WINDOW" name="window" />
1022   </request>
1023
1024   <request name="GetGeometry" opcode="14">
1025     <pad bytes="1" />
1026     <field type="DRAWABLE" name="drawable" />
1027     <reply>
1028       <field type="CARD8" name="depth" />
1029       <field type="WINDOW" name="root" />
1030       <field type="INT16" name="x" />
1031       <field type="INT16" name="y" />
1032       <field type="CARD16" name="width" />
1033       <field type="CARD16" name="height" />
1034       <field type="CARD16" name="border_width" />
1035       <pad bytes="2" />
1036     </reply>
1037   </request>
1038
1039   <request name="QueryTree" opcode="15">
1040     <pad bytes="1" />
1041     <field type="WINDOW" name="window" />
1042     <reply>
1043       <pad bytes="1" />
1044       <field type="WINDOW" name="root" />
1045       <field type="WINDOW" name="parent" altenum="Window" />
1046       <field type="CARD16" name="children_len" />
1047       <pad bytes="14" />
1048       <list type="WINDOW" name="children">
1049         <fieldref>children_len</fieldref>
1050       </list>
1051     </reply>
1052   </request>
1053
1054   <request name="InternAtom" opcode="16">
1055     <field type="BOOL" name="only_if_exists" />
1056     <field type="CARD16" name="name_len" />
1057     <pad bytes="2" />
1058     <list type="char" name="name">
1059       <fieldref>name_len</fieldref>
1060     </list>
1061     <reply>
1062       <pad bytes="1" />
1063       <field type="ATOM" name="atom" altenum="Atom" />
1064     </reply>
1065   </request>
1066
1067   <request name="GetAtomName" opcode="17">
1068     <pad bytes="1" />
1069     <field type="ATOM" name="atom" />
1070     <reply>
1071       <pad bytes="1" />
1072       <field type="CARD16" name="name_len" />
1073       <pad bytes="22" />
1074       <list type="char" name="name">
1075         <fieldref>name_len</fieldref>
1076       </list>
1077     </reply>
1078   </request>
1079   
1080   <enum name="PropMode">
1081     <item name="Replace"><value>0</value></item>
1082     <item name="Prepend"><value>1</value></item>
1083     <item name="Append"> <value>2</value></item>
1084   </enum>
1085
1086   <request name="ChangeProperty" opcode="18">
1087     <field type="CARD8" name="mode" enum="PropMode" />
1088     <field type="WINDOW" name="window" />
1089     <field type="ATOM" name="property" />
1090     <field type="ATOM" name="type" />
1091     <field type="CARD8" name="format" />
1092     <pad bytes="3" />
1093     <field type="CARD32" name="data_len" />
1094     <list type="void" name="data">
1095       <op op="/">
1096         <op op="*">
1097           <fieldref>data_len</fieldref>
1098           <fieldref>format</fieldref>
1099         </op>
1100         <value>8</value>
1101       </op>
1102     </list>
1103   </request>
1104
1105   <request name="DeleteProperty" opcode="19">
1106     <pad bytes="1" />
1107     <field type="WINDOW" name="window" />
1108     <field type="ATOM" name="property" />
1109   </request>
1110   
1111   <enum name="GetPropertyType">
1112     <item name="Any"><value>0</value></item>
1113   </enum>
1114
1115   <request name="GetProperty" opcode="20">
1116     <field type="BOOL" name="delete" />
1117     <field type="WINDOW" name="window" />
1118     <field type="ATOM" name="property" />
1119     <field type="ATOM" name="type" altenum="GetPropertyType" />
1120     <field type="CARD32" name="long_offset" />
1121     <field type="CARD32" name="long_length" />
1122     <reply>
1123       <field type="CARD8" name="format" />
1124       <field type="ATOM" name="type" />
1125       <field type="CARD32" name="bytes_after" />
1126       <field type="CARD32" name="value_len" />
1127       <pad bytes="12" />
1128       <list type="void" name="value">
1129         <op op="*">
1130           <fieldref>value_len</fieldref>
1131           <op op="/">
1132             <fieldref>format</fieldref>
1133             <value>8</value>
1134           </op>
1135         </op>
1136       </list>
1137     </reply>
1138   </request>
1139
1140   <request name="ListProperties" opcode="21">
1141     <pad bytes="1" />
1142     <field type="WINDOW" name="window" />
1143     <reply>
1144       <pad bytes="1" />
1145       <field type="CARD16" name="atoms_len" />
1146       <pad bytes="22" />
1147       <list type="ATOM" name="atoms">
1148         <fieldref>atoms_len</fieldref>
1149       </list>
1150     </reply>
1151   </request>
1152
1153   <request name="SetSelectionOwner" opcode="22">
1154     <pad bytes="1" />
1155     <field type="WINDOW" name="owner" altenum="Window" />
1156     <field type="ATOM" name="selection" />
1157     <field type="TIMESTAMP" name="time" altenum="Time" />
1158   </request>
1159
1160   <request name="GetSelectionOwner" opcode="23">
1161     <pad bytes="1" />
1162     <field type="ATOM" name="selection" />
1163     <reply>
1164       <pad bytes="1" />
1165       <field type="WINDOW" name="owner" altenum="Window" />
1166     </reply>
1167   </request>
1168
1169   <request name="ConvertSelection" opcode="24">
1170     <pad bytes="1" />
1171     <field type="WINDOW" name="requestor" />
1172     <field type="ATOM" name="selection" />
1173     <field type="ATOM" name="target" />
1174     <field type="ATOM" name="property" altenum="Atom" />
1175     <field type="TIMESTAMP" name="time" altenum="Time" />
1176   </request>
1177
1178   <enum name="SendEventDest">
1179     <item name="PointerWindow"><value>0</value></item>
1180     <item name="ItemFocus">    <value>1</value></item>
1181   </enum>
1182
1183   <request name="SendEvent" opcode="25">
1184     <field type="BOOL" name="propagate" />
1185     <field type="WINDOW" name="destination" altenum="SendEventDest" />
1186     <field type="CARD32" name="event_mask" mask="EventMask" />
1187     <list type="char" name="event"><value>32</value></list>
1188   </request>
1189
1190   <enum name="GrabMode">
1191     <item name="Sync"> <value>0</value></item>
1192     <item name="Async"><value>1</value></item>
1193   </enum>
1194
1195   <enum name="GrabStatus">
1196     <item name="Success">       <value>0</value></item>
1197     <item name="AlreadyGrabbed"><value>1</value></item>
1198     <item name="InvalidTime">   <value>2</value></item>
1199     <item name="NotViewable">   <value>3</value></item>
1200     <item name="Frozen">        <value>4</value></item>
1201   </enum>
1202
1203   <enum name="Cursor">
1204     <item name="None"> <value>0</value></item>
1205   </enum>
1206
1207   <request name="GrabPointer" opcode="26">
1208     <field type="BOOL" name="owner_events" />
1209     <field type="WINDOW" name="grab_window" />
1210     <field type="CARD16" name="event_mask" mask="EventMask" />
1211     <field type="BYTE" name="pointer_mode" enum="GrabMode" />
1212     <field type="BYTE" name="keyboard_mode" enum="GrabMode" />
1213     <field type="WINDOW" name="confine_to" altenum="Window" />
1214     <field type="CURSOR" name="cursor" altenum="Cursor" />
1215     <field type="TIMESTAMP" name="time" altenum="Time" />
1216     <reply>
1217       <field type="BYTE" name="status" enum="GrabStatus" />
1218     </reply>
1219   </request>
1220
1221   <request name="UngrabPointer" opcode="27">
1222     <pad bytes="1" />
1223     <field type="TIMESTAMP" name="time" altenum="Time" />
1224   </request>
1225
1226   <enum name="ButtonIndex">
1227      <item name="Any"><value>0</value></item>
1228      <item name="1">  <value>1</value></item>
1229      <item name="2">  <value>2</value></item>
1230      <item name="3">  <value>3</value></item>
1231      <item name="4">  <value>4</value></item>
1232      <item name="5">  <value>5</value></item>
1233   </enum>
1234
1235   <request name="GrabButton" opcode="28">
1236     <field type="BOOL" name="owner_events" />
1237     <field type="WINDOW" name="grab_window" />
1238     <field type="CARD16" name="event_mask" mask="EventMask" />
1239     <field type="CARD8" name="pointer_mode" enum="GrabMode" />
1240     <field type="CARD8" name="keyboard_mode" enum="GrabMode" />
1241     <field type="WINDOW" name="confine_to" altenum="Window" />
1242     <field type="CURSOR" name="cursor" altenum="Cursor" />
1243     <field type="CARD8" name="button" enum="ButtonIndex" />
1244     <pad bytes="1" />
1245     <field type="CARD16" name="modifiers" mask="ModMask" />
1246   </request>
1247
1248   <request name="UngrabButton" opcode="29">
1249     <field type="CARD8" name="button" enum="ButtonIndex" />
1250     <field type="WINDOW" name="grab_window" />
1251     <field type="CARD16" name="modifiers" mask="ModMask" />
1252     <pad bytes="2" />
1253   </request>
1254
1255   <request name="ChangeActivePointerGrab" opcode="30">
1256     <pad bytes="1" />
1257     <field type="CURSOR" name="cursor" altenum="Cursor" />
1258     <field type="TIMESTAMP" name="time" altenum="Time" />
1259     <field type="CARD16" name="event_mask" mask="EventMask" />
1260     <pad bytes="2" />
1261   </request>
1262
1263   <request name="GrabKeyboard" opcode="31">
1264     <field type="BOOL" name="owner_events" />
1265     <field type="WINDOW" name="grab_window" />
1266     <field type="TIMESTAMP" name="time" altenum="Time" />
1267     <field type="BYTE" name="pointer_mode" enum="GrabMode" />
1268     <field type="BYTE" name="keyboard_mode" enum="GrabMode" />
1269     <pad bytes="2" />
1270     <reply>
1271       <field type="BYTE" name="status" enum="GrabStatus" />
1272     </reply>
1273   </request>
1274
1275   <request name="UngrabKeyboard" opcode="32">
1276     <pad bytes="1" />
1277     <field type="TIMESTAMP" name="time" altenum="Time" />
1278   </request>
1279
1280   <!-- Use KEYCODE any = { XCBGrabAny }; to grab any key -->
1281   <enum name="Grab">
1282     <item name="Any"><value>0</value></item>
1283   </enum>
1284
1285   <request name="GrabKey" opcode="33">
1286     <field type="BOOL" name="owner_events" />
1287     <field type="WINDOW" name="grab_window" />
1288     <field type="CARD16" name="modifiers" mask="ModMask" />
1289     <field type="KEYCODE" name="key" altenum="Grab" />
1290     <field type="CARD8" name="pointer_mode" enum="GrabMode" />
1291     <field type="CARD8" name="keyboard_mode" enum="GrabMode" />
1292     <pad bytes="3" />
1293   </request>
1294
1295   <request name="UngrabKey" opcode="34">
1296     <field type="KEYCODE" name="key" altenum="Grab" />
1297     <field type="WINDOW" name="grab_window" />
1298     <field type="CARD16" name="modifiers" mask="ModMask" />
1299     <pad bytes="2" />
1300   </request>
1301
1302   <enum name="Allow">
1303     <item name="AsyncPointer">  <value>0</value></item>
1304     <item name="SyncPointer">   <value>1</value></item>
1305     <item name="ReplayPointer"> <value>2</value></item>
1306     <item name="AsyncKeyboard"> <value>3</value></item>
1307     <item name="SyncKeyboard">  <value>4</value></item>
1308     <item name="ReplayKeyboard"><value>5</value></item>
1309     <item name="AsyncBoth">     <value>6</value></item>
1310     <item name="SyncBoth">      <value>7</value></item>
1311   </enum>
1312
1313   <request name="AllowEvents" opcode="35">
1314     <field type="CARD8" name="mode" enum="Allow" />
1315     <field type="TIMESTAMP" name="time" altenum="Time" />
1316   </request>
1317
1318   <request name="GrabServer" opcode="36" />
1319
1320   <request name="UngrabServer" opcode="37" />
1321
1322   <request name="QueryPointer" opcode="38">
1323     <pad bytes="1" />
1324     <field type="WINDOW" name="window" />
1325     <reply>
1326       <field type="BOOL" name="same_screen" />
1327       <field type="WINDOW" name="root" />
1328       <field type="WINDOW" name="child" altenum="Window" />
1329       <field type="INT16" name="root_x" />
1330       <field type="INT16" name="root_y" />
1331       <field type="INT16" name="win_x" />
1332       <field type="INT16" name="win_y" />
1333       <field type="CARD16" name="mask" mask="KeyButMask" />
1334       <pad bytes="2" />
1335     </reply>
1336   </request>
1337
1338   <struct name="TIMECOORD">
1339     <field type="TIMESTAMP" name="time" />
1340     <field type="INT16" name="x" />
1341     <field type="INT16" name="y" />
1342   </struct>
1343
1344   <request name="GetMotionEvents" opcode="39">
1345     <pad bytes="1" />
1346     <field type="WINDOW" name="window" />
1347     <field type="TIMESTAMP" name="start" altenum="Time" />
1348     <field type="TIMESTAMP" name="stop" altenum="Time" />
1349     <reply>
1350       <pad bytes="1" />
1351       <field type="CARD32" name="events_len" />
1352       <pad bytes="20" />
1353       <list type="TIMECOORD" name="events">
1354         <fieldref>events_len</fieldref>
1355       </list>
1356     </reply>
1357   </request>
1358
1359   <request name="TranslateCoordinates" opcode="40">
1360     <pad bytes="1" />
1361     <field type="WINDOW" name="src_window" />
1362     <field type="WINDOW" name="dst_window" />
1363     <field type="INT16" name="src_x" />
1364     <field type="INT16" name="src_y" />
1365     <reply>
1366       <field type="BOOL" name="same_screen" />
1367       <field type="WINDOW" name="child" altenum="Window" />
1368       <field type="CARD16" name="dst_x" />
1369       <field type="CARD16" name="dst_y" />
1370     </reply>
1371   </request>
1372
1373   <request name="WarpPointer" opcode="41">
1374     <pad bytes="1" />
1375     <field type="WINDOW" name="src_window" altenum="Window" />
1376     <field type="WINDOW" name="dst_window" altenum="Window" />
1377     <field type="INT16" name="src_x" />
1378     <field type="INT16" name="src_y" />
1379     <field type="CARD16" name="src_width" />
1380     <field type="CARD16" name="src_height" />
1381     <field type="INT16" name="dst_x" />
1382     <field type="INT16" name="dst_y" />
1383   </request>
1384
1385   <!-- used for revert_to and focus -->
1386   <enum name="InputFocus">
1387     <item name="None">       <value>0</value></item>
1388     <item name="PointerRoot"><value>1</value></item>
1389     <item name="Parent">     <value>2</value></item>  <!-- revert_to only -->
1390     <item name="FollowKeyboard"><value>3</value></item>  <!-- xinput extension only -->
1391   </enum>
1392
1393   <request name="SetInputFocus" opcode="42">
1394     <field type="CARD8" name="revert_to" enum="InputFocus" />
1395     <field type="WINDOW" name="focus" altenum="InputFocus" />
1396     <field type="TIMESTAMP" name="time" altenum="Time" />
1397   </request>
1398
1399   <request name="GetInputFocus" opcode="43">
1400     <reply>
1401       <field type="CARD8" name="revert_to" enum="InputFocus" />
1402       <field type="WINDOW" name="focus" altenum="InputFocus" />
1403     </reply>
1404   </request>
1405
1406   <request name="QueryKeymap" opcode="44">
1407     <reply>
1408       <pad bytes="1" />
1409       <list type="CARD8" name="keys"><value>32</value></list>
1410     </reply>
1411   </request>
1412
1413   <request name="OpenFont" opcode="45">
1414     <pad bytes="1" />
1415     <field type="FONT" name="fid" />
1416     <field type="CARD16" name="name_len" />
1417     <pad bytes="2" />
1418     <list type="char" name="name">
1419       <fieldref>name_len</fieldref>
1420     </list>
1421   </request>
1422
1423   <request name="CloseFont" opcode="46">
1424     <pad bytes="1" />
1425     <field type="FONT" name="font" />
1426   </request>
1427
1428   <enum name="FontDraw">
1429     <item name="LeftToRight"><value>0</value></item>
1430     <item name="RightToLeft"><value>1</value></item>
1431   </enum>
1432
1433   <struct name="FONTPROP">
1434     <field type="ATOM" name="name" />
1435     <field type="CARD32" name="value" />
1436   </struct>
1437
1438   <struct name="CHARINFO">
1439     <field type="INT16" name="left_side_bearing" />
1440     <field type="INT16" name="right_side_bearing" />
1441     <field type="INT16" name="character_width" />
1442     <field type="INT16" name="ascent" />
1443     <field type="INT16" name="descent" />
1444     <field type="CARD16" name="attributes" />
1445   </struct>
1446
1447   <request name="QueryFont" opcode="47">
1448     <pad bytes="1" />
1449     <field type="FONTABLE" name="font" />
1450     <reply>
1451       <pad bytes="1" />
1452       <field type="CHARINFO" name="min_bounds" />
1453       <pad bytes="4" />
1454       <field type="CHARINFO" name="max_bounds" />
1455       <pad bytes="4" />
1456       <field type="CARD16" name="min_char_or_byte2" />
1457       <field type="CARD16" name="max_char_or_byte2" />
1458       <field type="CARD16" name="default_char" />
1459       <field type="CARD16" name="properties_len" />
1460       <field type="BYTE" name="draw_direction" enum="FontDraw" />
1461       <field type="CARD8" name="min_byte1" />
1462       <field type="CARD8" name="max_byte1" />
1463       <field type="BOOL" name="all_chars_exist" />
1464       <field type="INT16" name="font_ascent" />
1465       <field type="INT16" name="font_descent" />
1466       <field type="CARD32" name="char_infos_len" />
1467       <list type="FONTPROP" name="properties">
1468         <fieldref>properties_len</fieldref>
1469       </list>
1470       <list type="CHARINFO" name="char_infos">
1471         <fieldref>char_infos_len</fieldref>
1472       </list>
1473     </reply>
1474   </request>
1475
1476   <request name="QueryTextExtents" opcode="48">
1477     <exprfield type="BOOL" name="odd_length">
1478       <op op="&amp;"><fieldref>string_len</fieldref><value>1</value></op>
1479     </exprfield>
1480     <field type="FONTABLE" name="font" />
1481     <list type="CHAR2B" name="string" />
1482     <reply>
1483       <field type="BYTE" name="draw_direction" enum="FontDraw" />
1484       <field type="INT16" name="font_ascent" />
1485       <field type="INT16" name="font_descent" />
1486       <field type="INT16" name="overall_ascent" />
1487       <field type="INT16" name="overall_descent" />
1488       <field type="INT32" name="overall_width" />
1489       <field type="INT32" name="overall_left" />
1490       <field type="INT32" name="overall_right" />
1491     </reply>
1492   </request>
1493
1494   <struct name="STR">
1495     <field type="CARD8" name="name_len" />
1496     <list type="char" name="name">
1497       <fieldref>name_len</fieldref>
1498     </list>
1499   </struct>
1500
1501   <request name="ListFonts" opcode="49">
1502     <pad bytes="1" />
1503     <field type="CARD16" name="max_names" />
1504     <field type="CARD16" name="pattern_len" />
1505     <list type="char" name="pattern">
1506       <fieldref>pattern_len</fieldref>
1507     </list>
1508     <reply>
1509       <pad bytes="1" />
1510       <field type="CARD16" name="names_len" />
1511       <pad bytes="22" />
1512       <list type="STR" name="names">
1513         <fieldref>names_len</fieldref>
1514       </list>
1515     </reply>
1516   </request>
1517
1518   <request name="ListFontsWithInfo" opcode="50">
1519     <pad bytes="1" />
1520     <field type="CARD16" name="max_names" />
1521     <field type="CARD16" name="pattern_len" />
1522     <list type="char" name="pattern">
1523       <fieldref>pattern_len</fieldref>
1524     </list>
1525     <reply>
1526       <field type="CARD8" name="name_len" />
1527       <field type="CHARINFO" name="min_bounds" />
1528       <pad bytes="4" />
1529       <field type="CHARINFO" name="max_bounds" />
1530       <pad bytes="4" />
1531       <field type="CARD16" name="min_char_or_byte2" />
1532       <field type="CARD16" name="max_char_or_byte2" />
1533       <field type="CARD16" name="default_char" />
1534       <field type="CARD16" name="properties_len" />
1535       <field type="BYTE" name="draw_direction" enum="FontDraw" />
1536       <field type="CARD8" name="min_byte1" />
1537       <field type="CARD8" name="max_byte1" />
1538       <field type="BOOL" name="all_chars_exist" />
1539       <field type="INT16" name="font_ascent" />
1540       <field type="INT16" name="font_descent" />
1541       <field type="CARD32" name="replies_hint" />
1542       <list type="FONTPROP" name="properties">
1543         <fieldref>properties_len</fieldref>
1544       </list>
1545       <list type="char" name="name">
1546         <fieldref>name_len</fieldref>
1547       </list>
1548     </reply>
1549   </request>
1550
1551   <request name="SetFontPath" opcode="51">
1552     <pad bytes="1" />
1553     <field type="CARD16" name="font_qty" />
1554     <list type="char" name="path" />
1555   </request>
1556
1557   <request name="GetFontPath" opcode="52">
1558     <reply>
1559       <pad bytes="1" />
1560       <field type="CARD16" name="path_len" />
1561       <pad bytes="22" />
1562       <list type="STR" name="path">
1563         <fieldref>path_len</fieldref>
1564       </list>
1565     </reply>
1566   </request>
1567
1568   <request name="CreatePixmap" opcode="53">
1569     <field type="CARD8" name="depth" />
1570     <field type="PIXMAP" name="pid" />
1571     <field type="DRAWABLE" name="drawable" />
1572     <field type="CARD16" name="width" />
1573     <field type="CARD16" name="height" />
1574   </request>
1575
1576   <request name="FreePixmap" opcode="54">
1577     <pad bytes="1" />
1578     <field type="PIXMAP" name="pixmap" />
1579   </request>
1580   
1581   <enum name="GC">
1582     <item name="Function">          <bit>0</bit></item>
1583     <item name="PlaneMask">         <bit>1</bit></item>
1584     <item name="Foreground">        <bit>2</bit></item>
1585     <item name="Background">        <bit>3</bit></item>
1586     <item name="LineWidth">         <bit>4</bit></item>
1587     <item name="LineStyle">         <bit>5</bit></item>
1588     <item name="CapStyle">          <bit>6</bit></item>
1589     <item name="JoinStyle">         <bit>7</bit></item>
1590     <item name="FillStyle">         <bit>8</bit></item>
1591     <item name="FillRule">          <bit>9</bit></item>
1592     <item name="Tile">              <bit>10</bit></item>
1593     <item name="Stipple">           <bit>11</bit></item>
1594     <item name="TileStippleOriginX"><bit>12</bit></item>
1595     <item name="TileStippleOriginY"><bit>13</bit></item>
1596     <item name="Font">              <bit>14</bit></item>
1597     <item name="SubwindowMode">     <bit>15</bit></item>
1598     <item name="GraphicsExposures"> <bit>16</bit></item>
1599     <item name="ClipOriginX">       <bit>17</bit></item>
1600     <item name="ClipOriginY">       <bit>18</bit></item>
1601     <item name="ClipMask">          <bit>19</bit></item>
1602     <item name="DashOffset">        <bit>20</bit></item>
1603     <item name="DashList">          <bit>21</bit></item>
1604     <item name="ArcMode">           <bit>22</bit></item>
1605   </enum>
1606
1607   <!-- GC Function values -->
1608   <enum name="GX">
1609     <item name="clear">       <value>0</value></item>
1610     <item name="and">         <value>1</value></item>
1611     <item name="andReverse">  <value>2</value></item>
1612     <item name="copy">        <value>3</value></item>
1613     <item name="andInverted"> <value>4</value></item>
1614     <item name="noop">        <value>5</value></item>
1615     <item name="xor">         <value>6</value></item>
1616     <item name="or">          <value>7</value></item>
1617     <item name="nor">         <value>8</value></item>
1618     <item name="equiv">       <value>9</value></item>
1619     <item name="invert">      <value>10</value></item>
1620     <item name="orReverse">   <value>11</value></item>
1621     <item name="copyInverted"><value>12</value></item>
1622     <item name="orInverted">  <value>13</value></item>
1623     <item name="nand">        <value>14</value></item>
1624     <item name="set">         <value>15</value></item>
1625   </enum>
1626
1627   <enum name="LineStyle">
1628     <item name="Solid">     <value>0</value></item>
1629     <item name="OnOffDash"> <value>1</value></item>
1630     <item name="DoubleDash"><value>2</value></item>
1631   </enum>
1632
1633   <enum name="CapStyle">
1634     <item name="NotLast">   <value>0</value></item>
1635     <item name="Butt">      <value>1</value></item>
1636     <item name="Round">     <value>2</value></item>
1637     <item name="Projecting"><value>3</value></item>
1638   </enum>
1639
1640   <enum name="JoinStyle">
1641     <item name="Miter">     <value>0</value></item>
1642     <item name="Round">     <value>1</value></item>
1643     <item name="Bevel">     <value>2</value></item>
1644   </enum>
1645
1646   <enum name="FillStyle">
1647     <item name="Solid">         <value>0</value></item>
1648     <item name="Tiled">         <value>1</value></item>
1649     <item name="Stippled">      <value>2</value></item>
1650     <item name="OpaqueStippled"><value>3</value></item>
1651   </enum>
1652
1653   <enum name="FillRule">
1654     <item name="EvenOdd"><value>0</value></item>
1655     <item name="Winding"><value>1</value></item>
1656   </enum>
1657
1658   <enum name="SubwindowMode">
1659     <item name="ClipByChildren">  <value>0</value></item>
1660     <item name="IncludeInferiors"><value>1</value></item>
1661   </enum>
1662
1663   <enum name="ArcMode">
1664     <item name="Chord">   <value>0</value></item>
1665     <item name="PieSlice"><value>1</value></item>
1666   </enum>
1667
1668   <request name="CreateGC" opcode="55">
1669     <pad bytes="1" />
1670     <field type="GCONTEXT" name="cid" />
1671     <field type="DRAWABLE" name="drawable" />
1672     <valueparam value-mask-type="CARD32"
1673                 value-mask-name="value_mask"
1674                 value-list-name="value_list" />
1675   </request>
1676
1677   <request name="ChangeGC" opcode="56">
1678     <pad bytes="1" />
1679     <field type="GCONTEXT" name="gc" />
1680     <valueparam value-mask-type="CARD32"
1681                 value-mask-name="value_mask"
1682                 value-list-name="value_list" />
1683   </request>
1684
1685   <request name="CopyGC" opcode="57">
1686     <pad bytes="1" />
1687     <field type="GCONTEXT" name="src_gc" />
1688     <field type="GCONTEXT" name="dst_gc" />
1689     <field type="CARD32" name="value_mask" mask="GC" />
1690   </request>
1691
1692   <request name="SetDashes" opcode="58">
1693     <pad bytes="1" />
1694     <field type="GCONTEXT" name="gc" />
1695     <field type="CARD16" name="dash_offset" />
1696     <field type="CARD16" name="dashes_len" />
1697     <list type="CARD8" name="dashes">
1698       <fieldref>dashes_len</fieldref>
1699     </list>
1700   </request>
1701
1702   <enum name="ClipOrdering">
1703     <item name="Unsorted"><value>0</value></item>
1704     <item name="YSorted"> <value>1</value></item>
1705     <item name="YXSorted"><value>2</value></item>
1706     <item name="YXBanded"><value>3</value></item>
1707   </enum>
1708
1709   <request name="SetClipRectangles" opcode="59">
1710     <field type="BYTE" name="ordering" enum="ClipOrdering" />
1711     <field type="GCONTEXT" name="gc" />
1712     <field type="INT16" name="clip_x_origin" />
1713     <field type="INT16" name="clip_y_origin" />
1714     <list type="RECTANGLE" name="rectangles" />
1715   </request>
1716
1717   <request name="FreeGC" opcode="60">
1718     <pad bytes="1" />
1719     <field type="GCONTEXT" name="gc" />
1720   </request>
1721
1722   <request name="ClearArea" opcode="61">
1723     <field type="BOOL" name="exposures" />
1724     <field type="WINDOW" name="window" />
1725     <field type="INT16" name="x" />
1726     <field type="INT16" name="y" />
1727     <field type="CARD16" name="width" />
1728     <field type="CARD16" name="height" />
1729   </request>
1730
1731   <request name="CopyArea" opcode="62">
1732     <pad bytes="1" />
1733     <field type="DRAWABLE" name="src_drawable" />
1734     <field type="DRAWABLE" name="dst_drawable" />
1735     <field type="GCONTEXT" name="gc" />
1736     <field type="INT16" name="src_x" />
1737     <field type="INT16" name="src_y" />
1738     <field type="INT16" name="dst_x" />
1739     <field type="INT16" name="dst_y" />
1740     <field type="CARD16" name="width" />
1741     <field type="CARD16" name="height" />
1742   </request>
1743
1744   <request name="CopyPlane" opcode="63">
1745     <pad bytes="1" />
1746     <field type="DRAWABLE" name="src_drawable" />
1747     <field type="DRAWABLE" name="dst_drawable" />
1748     <field type="GCONTEXT" name="gc" />
1749     <field type="INT16" name="src_x" />
1750     <field type="INT16" name="src_y" />
1751     <field type="INT16" name="dst_x" />
1752     <field type="INT16" name="dst_y" />
1753     <field type="CARD16" name="width" />
1754     <field type="CARD16" name="height" />
1755     <field type="CARD32" name="bit_plane" />
1756   </request>
1757   
1758   <enum name="CoordMode">
1759     <item name="Origin">  <value>0</value></item>
1760     <item name="Previous"><value>1</value></item>
1761   </enum>
1762
1763   <!-- combine-adjacent doesn't work for mode==Relative -->
1764   <request name="PolyPoint" opcode="64">
1765     <field type="BYTE" name="coordinate_mode" enum="CoordMode" />
1766     <field type="DRAWABLE" name="drawable" />
1767     <field type="GCONTEXT" name="gc" />
1768     <list type="POINT" name="points" />
1769   </request>
1770
1771   <request name="PolyLine" opcode="65" combine-adjacent="true">
1772     <field type="BYTE" name="coordinate_mode" enum="CoordMode" />
1773     <field type="DRAWABLE" name="drawable" />
1774     <field type="GCONTEXT" name="gc" />
1775     <list type="POINT" name="points" />
1776   </request>
1777
1778   <struct name="SEGMENT">
1779     <field type="INT16" name="x1" />
1780     <field type="INT16" name="y1" />
1781     <field type="INT16" name="x2" />
1782     <field type="INT16" name="y2" />
1783   </struct>
1784
1785   <request name="PolySegment" opcode="66" combine-adjacent="true">
1786     <pad bytes="1" />
1787     <field type="DRAWABLE" name="drawable" />
1788     <field type="GCONTEXT" name="gc" />
1789     <list type="SEGMENT" name="segments" />
1790   </request>
1791
1792   <request name="PolyRectangle" opcode="67" combine-adjacent="true">
1793     <pad bytes="1" />
1794     <field type="DRAWABLE" name="drawable" />
1795     <field type="GCONTEXT" name="gc" />
1796     <list type="RECTANGLE" name="rectangles" />
1797   </request>
1798
1799   <!--
1800     The semantics of PolyArc change after the first arc: the GC's
1801     join style may be applied to successive arcs under some circumstances.
1802     So using combine-adjacent here is bad.
1803   -->
1804   <request name="PolyArc" opcode="68">
1805     <pad bytes="1" />
1806     <field type="DRAWABLE" name="drawable" />
1807     <field type="GCONTEXT" name="gc" />
1808     <list type="ARC" name="arcs" />
1809   </request>
1810
1811   <enum name="PolyShape">
1812     <item name="Complex">  <value>0</value></item>
1813     <item name="Nonconvex"><value>1</value></item>
1814     <item name="Convex">   <value>2</value></item>
1815   </enum>
1816
1817   <request name="FillPoly" opcode="69">
1818     <pad bytes="1" />
1819     <field type="DRAWABLE" name="drawable" />
1820     <field type="GCONTEXT" name="gc" />
1821     <field type="CARD8" name="shape" enum="PolyShape" />
1822     <field type="CARD8" name="coordinate_mode" enum="CoordMode" />
1823     <pad bytes="2" />
1824     <list type="POINT" name="points" />
1825   </request>
1826
1827   <request name="PolyFillRectangle" opcode="70" combine-adjacent="true">
1828     <pad bytes="1" />
1829     <field type="DRAWABLE" name="drawable" />
1830     <field type="GCONTEXT" name="gc" />
1831     <list type="RECTANGLE" name="rectangles" />
1832   </request>
1833
1834   <request name="PolyFillArc" opcode="71" combine-adjacent="true">
1835     <pad bytes="1" />
1836     <field type="DRAWABLE" name="drawable" />
1837     <field type="GCONTEXT" name="gc" />
1838     <list type="ARC" name="arcs" />
1839   </request>
1840   
1841   <enum name="ImageFormat">
1842     <item name="XYBitmap"><value>0</value></item>
1843     <item name="XYPixmap"><value>1</value></item>
1844     <item name="ZPixmap"> <value>2</value></item>
1845   </enum>
1846
1847   <request name="PutImage" opcode="72">
1848     <field type="CARD8" name="format" enum="ImageFormat" />
1849     <field type="DRAWABLE" name="drawable" />
1850     <field type="GCONTEXT" name="gc" />
1851     <field type="CARD16" name="width" />
1852     <field type="CARD16" name="height" />
1853     <field type="INT16" name="dst_x" />
1854     <field type="INT16" name="dst_y" />
1855     <field type="CARD8" name="left_pad" />
1856     <field type="CARD8" name="depth" />
1857     <pad bytes="2" />
1858     <list type="BYTE" name="data" />
1859   </request>
1860
1861   <!-- FIXME: data array in reply will include padding, but ought not to. -->
1862   <request name="GetImage" opcode="73">
1863     <field type="CARD8" name="format" enum="ImageFormat" />
1864     <field type="DRAWABLE" name="drawable" />
1865     <field type="INT16" name="x" />
1866     <field type="INT16" name="y" />
1867     <field type="CARD16" name="width" />
1868     <field type="CARD16" name="height" />
1869     <field type="CARD32" name="plane_mask" />
1870     <reply>
1871       <field type="CARD8" name="depth" />
1872       <field type="VISUALID" name="visual" />
1873       <pad bytes="20" />
1874       <list type="BYTE" name="data">
1875         <op op="*">
1876           <fieldref>length</fieldref>
1877           <value>4</value>
1878         </op>
1879       </list>
1880     </reply>
1881   </request>
1882
1883   <request name="PolyText8" opcode="74">
1884     <pad bytes="1" />
1885     <field type="DRAWABLE" name="drawable" />
1886     <field type="GCONTEXT" name="gc" />
1887     <field type="INT16" name="x" />
1888     <field type="INT16" name="y" />
1889     <list type="BYTE" name="items" />
1890   </request>
1891
1892   <request name="PolyText16" opcode="75">
1893     <pad bytes="1" />
1894     <field type="DRAWABLE" name="drawable" />
1895     <field type="GCONTEXT" name="gc" />
1896     <field type="INT16" name="x" />
1897     <field type="INT16" name="y" />
1898     <list type="BYTE" name="items" />
1899   </request>
1900
1901   <request name="ImageText8" opcode="76">
1902     <field type="BYTE" name="string_len" />
1903     <field type="DRAWABLE" name="drawable" />
1904     <field type="GCONTEXT" name="gc" />
1905     <field type="INT16" name="x" />
1906     <field type="INT16" name="y" />
1907     <list type="char" name="string">
1908       <fieldref>string_len</fieldref>
1909     </list>
1910   </request>
1911
1912   <request name="ImageText16" opcode="77">
1913     <field type="BYTE" name="string_len" />
1914     <field type="DRAWABLE" name="drawable" />
1915     <field type="GCONTEXT" name="gc" />
1916     <field type="INT16" name="x" />
1917     <field type="INT16" name="y" />
1918     <list type="CHAR2B" name="string">
1919       <fieldref>string_len</fieldref>
1920     </list>
1921   </request>
1922
1923   <enum name= "ColormapAlloc">
1924     <item name="None"><value>0</value></item>
1925     <item name="All"> <value>1</value></item>
1926   </enum>
1927
1928   <request name="CreateColormap" opcode="78">
1929     <field type="BYTE" name="alloc" enum="ColormapAlloc" />
1930     <field type="COLORMAP" name="mid" />
1931     <field type="WINDOW" name="window" />
1932     <field type="VISUALID" name="visual" />
1933   </request>
1934
1935   <request name="FreeColormap" opcode="79">
1936     <pad bytes="1" />
1937     <field type="COLORMAP" name="cmap" />
1938   </request>
1939
1940   <request name="CopyColormapAndFree" opcode="80">
1941     <pad bytes="1" />
1942     <field type="COLORMAP" name="mid" />
1943     <field type="COLORMAP" name="src_cmap" />
1944   </request>
1945
1946   <request name="InstallColormap" opcode="81">
1947     <pad bytes="1" />
1948     <field type="COLORMAP" name="cmap" />
1949   </request>
1950
1951   <request name="UninstallColormap" opcode="82">
1952     <pad bytes="1" />
1953     <field type="COLORMAP" name="cmap" />
1954   </request>
1955
1956   <request name="ListInstalledColormaps" opcode="83">
1957     <pad bytes="1" />
1958     <field type="WINDOW" name="window" />
1959     <reply>
1960       <pad bytes="1" />
1961       <field type="CARD16" name="cmaps_len" />
1962       <pad bytes="22" />
1963       <list type="COLORMAP" name="cmaps">
1964         <fieldref>cmaps_len</fieldref>
1965       </list>
1966     </reply>
1967   </request>
1968
1969   <request name="AllocColor" opcode="84">
1970     <pad bytes="1" />
1971     <field type="COLORMAP" name="cmap" />
1972     <field type="CARD16" name="red" />
1973     <field type="CARD16" name="green" />
1974     <field type="CARD16" name="blue" />
1975     <pad bytes="2" />
1976     <reply>
1977       <pad bytes="1" />
1978       <field type="CARD16" name="red" />
1979       <field type="CARD16" name="green" />
1980       <field type="CARD16" name="blue" />
1981       <pad bytes="2" />
1982       <field type="CARD32" name="pixel" />
1983     </reply>
1984   </request>
1985
1986   <request name="AllocNamedColor" opcode="85">
1987     <pad bytes="1" />
1988     <field type="COLORMAP" name="cmap" />
1989     <field type="CARD16" name="name_len" />
1990     <pad bytes="2" />
1991     <list type="char" name="name">
1992       <fieldref>name_len</fieldref>
1993     </list>
1994     <reply>
1995       <pad bytes="1" />
1996       <field type="CARD32" name="pixel" />
1997       <field type="CARD16" name="exact_red" />
1998       <field type="CARD16" name="exact_green" />
1999       <field type="CARD16" name="exact_blue" />
2000       <field type="CARD16" name="visual_red" />
2001       <field type="CARD16" name="visual_green" />
2002       <field type="CARD16" name="visual_blue" />
2003     </reply>
2004   </request>
2005
2006   <request name="AllocColorCells" opcode="86">
2007     <field type="BOOL" name="contiguous" />
2008     <field type="COLORMAP" name="cmap" />
2009     <field type="CARD16" name="colors" />
2010     <field type="CARD16" name="planes" />
2011     <reply>
2012       <pad bytes="1" />
2013       <field type="CARD16" name="pixels_len" />
2014       <field type="CARD16" name="masks_len" />
2015       <pad bytes="20" />
2016       <list type="CARD32" name="pixels">
2017         <fieldref>pixels_len</fieldref>
2018       </list>
2019       <list type="CARD32" name="masks">
2020         <fieldref>masks_len</fieldref>
2021       </list>
2022     </reply>
2023   </request>
2024
2025   <request name="AllocColorPlanes" opcode="87">
2026     <field type="BOOL" name="contiguous" />
2027     <field type="COLORMAP" name="cmap" />
2028     <field type="CARD16" name="colors" />
2029     <field type="CARD16" name="reds" />
2030     <field type="CARD16" name="greens" />
2031     <field type="CARD16" name="blues" />
2032     <reply>
2033       <pad bytes="1" />
2034       <field type="CARD16" name="pixels_len" />
2035       <pad bytes="2" />
2036       <field type="CARD32" name="red_mask" />
2037       <field type="CARD32" name="green_mask" />
2038       <field type="CARD32" name="blue_mask" />
2039       <pad bytes="8" />
2040       <list type="CARD32" name="pixels">
2041         <fieldref>pixels_len</fieldref>
2042       </list>
2043     </reply>
2044   </request>
2045
2046   <request name="FreeColors" opcode="88">
2047     <pad bytes="1" />
2048     <field type="COLORMAP" name="cmap" />
2049     <field type="CARD32" name="plane_mask" />
2050     <list type="CARD32" name="pixels" />
2051   </request>
2052
2053   <enum name="ColorFlag">
2054     <item name="Red">  <bit>0</bit></item>
2055     <item name="Green"><bit>1</bit></item>
2056     <item name="Blue"> <bit>2</bit></item>
2057   </enum>
2058
2059   <struct name="COLORITEM">
2060     <field type="CARD32" name="pixel" />
2061     <field type="CARD16" name="red" />
2062     <field type="CARD16" name="green" />
2063     <field type="CARD16" name="blue" />
2064     <field type="BYTE" name="flags" mask="ColorFlag" />
2065     <pad bytes="1" />
2066   </struct>
2067   
2068   <request name="StoreColors" opcode="89" combine-adjacent="true">
2069     <pad bytes="1" />
2070     <field type="COLORMAP" name="cmap" />
2071     <list type="COLORITEM" name="items" />
2072   </request>
2073
2074   <request name="StoreNamedColor" opcode="90">
2075     <field type="CARD8" name="flags" mask="ColorFlag" />
2076     <field type="COLORMAP" name="cmap" />
2077     <field type="CARD32" name="pixel" />
2078     <field type="CARD16" name="name_len" />
2079     <pad bytes="2" />
2080     <list type="char" name="name">
2081       <fieldref>name_len</fieldref>
2082     </list>
2083   </request>
2084
2085   <struct name="RGB">
2086     <field type="CARD16" name="red" />
2087     <field type="CARD16" name="green" />
2088     <field type="CARD16" name="blue" />
2089     <pad bytes="2" />
2090   </struct>
2091
2092   <request name="QueryColors" opcode="91">
2093     <pad bytes="1" />
2094     <field type="COLORMAP" name="cmap" />
2095     <list type="CARD32" name="pixels" />
2096     <reply>
2097       <pad bytes="1" />
2098       <field type="CARD16" name="colors_len" />
2099       <pad bytes="22" />
2100       <list type="RGB" name="colors">
2101         <fieldref>colors_len</fieldref>
2102       </list>
2103     </reply>
2104   </request>
2105
2106   <request name="LookupColor" opcode="92">
2107     <pad bytes="1" />
2108     <field type="COLORMAP" name="cmap" />
2109     <field type="CARD16" name="name_len" />
2110     <pad bytes="2" />
2111     <list type="char" name="name">
2112       <fieldref>name_len</fieldref>
2113     </list>
2114     <reply>
2115       <pad bytes="1" />
2116       <field type="CARD16" name="exact_red" />
2117       <field type="CARD16" name="exact_green" />
2118       <field type="CARD16" name="exact_blue" />
2119       <field type="CARD16" name="visual_red" />
2120       <field type="CARD16" name="visual_green" />
2121       <field type="CARD16" name="visual_blue" />
2122     </reply>
2123   </request>
2124
2125   <enum name="Pixmap">
2126     <item name="None"> <value>0</value></item>
2127   </enum>
2128
2129   <request name="CreateCursor" opcode="93">
2130     <pad bytes="1" />
2131     <field type="CURSOR" name="cid" />
2132     <field type="PIXMAP" name="source" />
2133     <field type="PIXMAP" name="mask" altenum="Pixmap" />
2134     <field type="CARD16" name="fore_red" />
2135     <field type="CARD16" name="fore_green" />
2136     <field type="CARD16" name="fore_blue" />
2137     <field type="CARD16" name="back_red" />
2138     <field type="CARD16" name="back_green" />
2139     <field type="CARD16" name="back_blue" />
2140     <field type="CARD16" name="x" />
2141     <field type="CARD16" name="y" />
2142   </request>
2143
2144   <enum name="Font">
2145     <item name="None"> <value>0</value></item>
2146   </enum>
2147
2148   <request name="CreateGlyphCursor" opcode="94">
2149     <pad bytes="1" />
2150     <field type="CURSOR" name="cid" />
2151     <field type="FONT" name="source_font" />
2152     <field type="FONT" name="mask_font" altenum="Font" />
2153     <field type="CARD16" name="source_char" />
2154     <field type="CARD16" name="mask_char" />
2155     <field type="CARD16" name="fore_red" />
2156     <field type="CARD16" name="fore_green" />
2157     <field type="CARD16" name="fore_blue" />
2158     <field type="CARD16" name="back_red" />
2159     <field type="CARD16" name="back_green" />
2160     <field type="CARD16" name="back_blue" />
2161   </request>
2162
2163   <request name="FreeCursor" opcode="95">
2164     <pad bytes="1" />
2165     <field type="CURSOR" name="cursor" />
2166   </request>
2167
2168   <request name="RecolorCursor" opcode="96">
2169     <pad bytes="1" />
2170     <field type="CURSOR" name="cursor" />
2171     <field type="CARD16" name="fore_red" />
2172     <field type="CARD16" name="fore_green" />
2173     <field type="CARD16" name="fore_blue" />
2174     <field type="CARD16" name="back_red" />
2175     <field type="CARD16" name="back_green" />
2176     <field type="CARD16" name="back_blue" />
2177   </request>
2178
2179   <enum name="QueryShapeOf">
2180     <item name="LargestCursor"> <value>0</value></item>
2181     <item name="FastestTile">   <value>1</value></item>
2182     <item name="FastestStipple"><value>2</value></item>    
2183   </enum>
2184
2185   <request name="QueryBestSize" opcode="97">
2186     <field type="CARD8" name="class" enum="QueryShapeOf" />
2187     <field type="DRAWABLE" name="drawable" />
2188     <field type="CARD16" name="width" />
2189     <field type="CARD16" name="height" />
2190     <reply>
2191       <pad bytes="1" />
2192       <field type="CARD16" name="width" />
2193       <field type="CARD16" name="height" />
2194     </reply>
2195   </request>
2196
2197   <request name="QueryExtension" opcode="98">
2198     <pad bytes="1" />
2199     <field type="CARD16" name="name_len" />
2200     <pad bytes="2" />
2201     <list type="char" name="name">
2202       <fieldref>name_len</fieldref>
2203     </list>
2204     <reply>
2205       <pad bytes="1" />
2206       <field type="BOOL" name="present" />
2207       <field type="CARD8" name="major_opcode" />
2208       <field type="CARD8" name="first_event" />
2209       <field type="CARD8" name="first_error" />
2210     </reply>
2211   </request>
2212
2213   <request name="ListExtensions" opcode="99">
2214     <reply>
2215       <field type="CARD8" name="names_len" />
2216       <pad bytes="24" />
2217       <list type="STR" name="names">
2218         <fieldref>names_len</fieldref>
2219       </list>
2220     </reply>
2221   </request>
2222
2223   <request name="ChangeKeyboardMapping" opcode="100">
2224     <field type="CARD8" name="keycode_count" />
2225     <field type="KEYCODE" name="first_keycode" />
2226     <field type="CARD8" name="keysyms_per_keycode" />
2227     <list type="KEYSYM" name="keysyms">
2228       <op op="*">
2229         <fieldref>keycode_count</fieldref>
2230         <fieldref>keysyms_per_keycode</fieldref>
2231       </op>
2232     </list>
2233   </request>
2234
2235   <request name="GetKeyboardMapping" opcode="101">
2236     <pad bytes="1" />
2237     <field type="KEYCODE" name="first_keycode" />
2238     <field type="CARD8" name="count" />
2239     <reply>
2240       <field type="BYTE" name="keysyms_per_keycode" />
2241       <pad bytes="24" />
2242       <list type="KEYSYM" name="keysyms">
2243         <fieldref>length</fieldref>
2244       </list>
2245     </reply>
2246   </request>
2247
2248   <enum name="KB">
2249     <item name="KeyClickPercent"><bit>0</bit></item>
2250     <item name="BellPercent">    <bit>1</bit></item>
2251     <item name="BellPitch">      <bit>2</bit></item>
2252     <item name="BellDuration">   <bit>3</bit></item>
2253     <item name="Led">            <bit>4</bit></item>
2254     <item name="LedMode">        <bit>5</bit></item>
2255     <item name="Key">            <bit>6</bit></item>
2256     <item name="AutoRepeatMode"> <bit>7</bit></item>
2257   </enum>
2258
2259   <enum name="LedMode">
2260     <item name="Off"><value>0</value></item>
2261     <item name="On"> <value>1</value></item>
2262   </enum>
2263
2264   <enum name="AutoRepeatMode">
2265     <item name="Off">    <value>0</value></item>
2266     <item name="On">     <value>1</value></item>
2267     <item name="Default"><value>2</value></item>
2268   </enum>
2269
2270   <request name="ChangeKeyboardControl" opcode="102">
2271     <pad bytes="1" />
2272     <valueparam value-mask-type="CARD32"
2273                 value-mask-name="value_mask"
2274                 value-list-name="value_list" />
2275   </request>
2276
2277   <request name="GetKeyboardControl" opcode="103">
2278     <reply>
2279       <field type="BYTE" name="global_auto_repeat" enum="AutoRepeatMode" />
2280       <field type="CARD32" name="led_mask" />
2281       <field type="CARD8" name="key_click_percent" />
2282       <field type="CARD8" name="bell_percent" />
2283       <field type="CARD16" name="bell_pitch" />
2284       <field type="CARD16" name="bell_duration" />
2285       <pad bytes="2" />
2286       <list type="CARD8" name="auto_repeats"><value>32</value></list>
2287     </reply>
2288   </request>
2289
2290   <request name="Bell" opcode="104">
2291     <field type="INT8" name="percent" />
2292   </request>
2293
2294   <request name="ChangePointerControl" opcode="105">
2295     <pad bytes="1" />
2296     <field type="INT16" name="acceleration_numerator" />
2297     <field type="INT16" name="acceleration_denominator" />
2298     <field type="INT16" name="threshold" />
2299     <field type="BOOL" name="do_acceleration" />
2300     <field type="BOOL" name="do_threshold" />
2301   </request>
2302
2303   <request name="GetPointerControl" opcode="106">
2304     <reply>
2305       <pad bytes="1" />
2306       <field type="CARD16" name="acceleration_numerator" />
2307       <field type="CARD16" name="acceleration_denominator" />
2308       <field type="CARD16" name="threshold" />
2309       <pad bytes="18" />
2310     </reply>
2311   </request>
2312
2313   <!-- Screen saver timeout and interval can be set to -1 to restore defaults
2314        and set to 0 to disable the screen saver. -->
2315
2316   <enum name="Blanking">
2317     <item name="NotPreferred"><value>0</value></item>
2318     <item name="Preferred">   <value>1</value></item>
2319     <item name="Default">     <value>2</value></item>
2320   </enum>
2321
2322   <enum name="Exposures">
2323     <item name="NotAllowed"><value>0</value></item>
2324     <item name="Allowed">   <value>1</value></item>
2325     <item name="Default">   <value>2</value></item>
2326   </enum>
2327
2328   <request name="SetScreenSaver" opcode="107">
2329     <pad bytes="1" />
2330     <field type="INT16" name="timeout" />
2331     <field type="INT16" name="interval" />
2332     <field type="CARD8" name="prefer_blanking" enum="Blanking" />
2333     <field type="CARD8" name="allow_exposures" enum="Exposures" />
2334   </request>
2335
2336   <request name="GetScreenSaver" opcode="108">
2337     <reply>
2338       <pad bytes="1" />
2339       <field type="CARD16" name="timeout" />
2340       <field type="CARD16" name="interval" />
2341       <field type="BYTE" name="prefer_blanking" enum="Blanking" />
2342       <field type="BYTE" name="allow_exposures" enum="Exposures" />
2343       <pad bytes="18" />
2344     </reply>
2345   </request>
2346
2347   <enum name="HostMode">
2348     <item name="Insert"><value>0</value></item>
2349     <item name="Delete"><value>1</value></item>
2350   </enum>
2351
2352   <!-- also used and extended for Xau authentication -->
2353   <enum name="Family">
2354     <item name="Internet">         <value>0</value></item>
2355     <item name="DECnet">           <value>1</value></item>
2356     <item name="Chaos">            <value>2</value></item>
2357     <item name="ServerInterpreted"><value>5</value></item>
2358     <item name="Internet6">        <value>6</value></item>
2359   </enum>
2360
2361   <request name="ChangeHosts" opcode="109">
2362     <field type="CARD8" name="mode" enum="HostMode" />
2363     <field type="CARD8" name="family" enum="Family" />
2364     <pad bytes="1" />
2365     <field type="CARD16" name="address_len" />
2366     <list type="char" name="address">
2367       <fieldref>address_len</fieldref>
2368     </list>
2369   </request>
2370
2371   <struct name="HOST">
2372     <field type="CARD8" name="family" enum="Family" />
2373     <pad bytes="1" />
2374     <field type="CARD16" name="address_len" />
2375     <list type="BYTE" name="address">
2376       <fieldref>address_len</fieldref>
2377     </list>
2378   </struct>
2379
2380   <request name="ListHosts" opcode="110">
2381     <reply>
2382       <field type="BYTE" name="mode" enum="AccessControl" />
2383       <field type="CARD16" name="hosts_len" />
2384       <pad bytes="22" />
2385       <list type="HOST" name="hosts">
2386         <fieldref>hosts_len</fieldref>
2387       </list>
2388     </reply>
2389   </request>
2390
2391   <enum name="AccessControl">
2392     <item name="Disable"><value>0</value></item>
2393     <item name="Enable"> <value>1</value></item>
2394   </enum>
2395
2396   <request name="SetAccessControl" opcode="111">
2397     <field type="CARD8" name="mode" enum="AccessControl" />
2398   </request>
2399
2400   <enum name="CloseDown">
2401     <item name="DestroyAll">     <value>0</value></item>
2402     <item name="RetainPermanent"><value>1</value></item>
2403     <item name="RetainTemporary"><value>2</value></item>
2404   </enum>
2405
2406   <request name="SetCloseDownMode" opcode="112">
2407     <field type="CARD8" name="mode" enum="CloseDown" />
2408   </request>
2409
2410   <enum name="Kill">
2411     <item name="AllTemporary"><value>0</value></item>
2412   </enum>
2413
2414   <request name="KillClient" opcode="113">
2415     <pad bytes="1" />
2416     <field type="CARD32" name="resource" altenum="Kill" />
2417   </request>
2418
2419   <request name="RotateProperties" opcode="114">
2420     <pad bytes="1" />
2421     <field type="WINDOW" name="window" />
2422     <field type="CARD16" name="atoms_len" />
2423     <field type="INT16" name="delta" />
2424     <list type="ATOM" name="atoms">
2425       <fieldref>atoms_len</fieldref>
2426     </list>
2427   </request>
2428
2429   <enum name="ScreenSaver">
2430     <item name="Reset"> <value>0</value></item>
2431     <item name="Active"><value>1</value></item>
2432   </enum>
2433
2434   <request name="ForceScreenSaver" opcode="115">
2435     <field type="CARD8" name="mode" enum="ScreenSaver" />
2436   </request>
2437
2438   <!-- Reply from SetPointerMapping or SetModifierMapping -->
2439   <enum name="MappingStatus">
2440     <item name="Success"><value>0</value></item>
2441     <item name="Busy">   <value>1</value></item>
2442     <item name="Failure"><value>2</value></item>
2443   </enum>
2444
2445   <request name="SetPointerMapping" opcode="116">
2446     <field type="CARD8" name="map_len" />
2447     <list type="CARD8" name="map">
2448       <fieldref>map_len</fieldref>
2449     </list>
2450     <reply>
2451       <field type="BYTE" name="status" enum="MappingStatus" />
2452     </reply>
2453   </request>
2454
2455   <request name="GetPointerMapping" opcode="117">
2456     <reply>
2457       <field type="CARD8" name="map_len" />
2458       <pad bytes="24" />
2459       <list type="CARD8" name="map">
2460         <fieldref>map_len</fieldref>
2461       </list>
2462     </reply>
2463   </request>
2464   
2465   <enum name="MapIndex">
2466     <item name="Shift">  <value>0</value></item>
2467     <item name="Lock">   <value>1</value></item>
2468     <item name="Control"><value>2</value></item>
2469     <item name="1">      <value>3</value></item>
2470     <item name="2">      <value>4</value></item>
2471     <item name="3">      <value>5</value></item>
2472     <item name="4">      <value>6</value></item>
2473     <item name="5">      <value>7</value></item>
2474   </enum>
2475
2476   <request name="SetModifierMapping" opcode="118">
2477     <field type="CARD8" name="keycodes_per_modifier" />
2478     <list type="KEYCODE" name="keycodes">
2479       <op op="*">
2480         <fieldref>keycodes_per_modifier</fieldref>
2481         <value>8</value>
2482       </op>
2483     </list>
2484     <reply>
2485       <field type="BYTE" name="status" enum="MappingStatus" />
2486     </reply>
2487   </request>
2488
2489   <request name="GetModifierMapping" opcode="119">
2490     <reply>
2491       <field type="CARD8" name="keycodes_per_modifier" />
2492       <pad bytes="24" />
2493       <list type="KEYCODE" name="keycodes">
2494         <op op="*">
2495           <fieldref>keycodes_per_modifier</fieldref>
2496           <value>8</value>
2497         </op>
2498       </list>
2499     </reply>
2500   </request>
2501
2502   <!--
2503     FIXME: NoOperation should allow specifying payload length
2504     but geez, malloc()ing a 262140 byte buffer just so I have something
2505     to hand to write(2) seems silly...!
2506   -->
2507   <request name="NoOperation" opcode="127" />
2508
2509 </xcb>