1ea1d6981Smrg<appendix id="protocol_encoding">
2ea1d6981Smrg<title>Protocol Encoding</title>
3ea1d6981Smrg<!--
4ea1d6981Smrg     The sections in this appendix correspond to their
5ea1d6981Smrg     number counterparts in the protocol document.
6ea1d6981Smrg-->
7ea1d6981Smrg<sect1 id='Syntactic_Conventions_b'>
8ea1d6981Smrg<title>Syntactic Conventions</title>
9ea1d6981Smrg
10ea1d6981Smrg<para>
11ea1d6981SmrgAll numbers are in decimal,
12ea1d6981Smrgunless prefixed with #x, in which case they are in hexadecimal (base 16).
13ea1d6981Smrg</para>
14ea1d6981Smrg
15ea1d6981Smrg<para>
16ea1d6981SmrgThe general syntax used to describe requests, replies, errors, events, and
17ea1d6981Smrgcompound types is:
18ea1d6981Smrg</para>
19ea1d6981Smrg
20ea1d6981Smrg<literallayout class="monospaced">
21ea1d6981Smrg   <emphasis role='bold'>NameofThing</emphasis>
22ea1d6981Smrg   encode-form
23ea1d6981Smrg   ...
24ea1d6981Smrg   encode-form
25ea1d6981Smrg</literallayout>
26ea1d6981Smrg
27ea1d6981Smrg<para>
28ea1d6981SmrgEach encode-form describes a single component.
29ea1d6981Smrg</para>
30ea1d6981Smrg<para>
31ea1d6981SmrgFor components described in the protocol as:
32ea1d6981Smrg</para>
33ea1d6981Smrg<literallayout class="monospaced">
34ea1d6981Smrg   name: TYPE
35ea1d6981Smrg</literallayout>
36ea1d6981Smrg
37ea1d6981Smrg<para>
38ea1d6981Smrgthe encode-form is:
39ea1d6981Smrg</para>
40ea1d6981Smrg
41ea1d6981Smrg<literallayout class="monospaced">
42ea1d6981Smrg   N     TYPE     name
43ea1d6981Smrg</literallayout>
44ea1d6981Smrg
45ea1d6981Smrg<para>
46ea1d6981SmrgN is the number of bytes occupied in the data stream,
47ea1d6981Smrgand TYPE is the interpretation of those bytes.
48ea1d6981SmrgFor example,
49ea1d6981Smrg</para>
50ea1d6981Smrg
51ea1d6981Smrg<literallayout class="monospaced">
52ea1d6981Smrg   depth: CARD8
53ea1d6981Smrg</literallayout>
54ea1d6981Smrg
55ea1d6981Smrg<para>
56ea1d6981Smrgbecomes:
57ea1d6981Smrg</para>
58ea1d6981Smrg
59ea1d6981Smrg<literallayout class="monospaced">
60ea1d6981Smrg   1     CARD8     depth
61ea1d6981Smrg</literallayout>
62ea1d6981Smrg
63ea1d6981Smrg<para>
64ea1d6981SmrgFor components with a static numeric value the encode-form is:
65ea1d6981Smrg</para>
66ea1d6981Smrg
67ea1d6981Smrg<literallayout class="monospaced">
68ea1d6981Smrg   N     value     name
69ea1d6981Smrg</literallayout>
70ea1d6981Smrg
71ea1d6981Smrg<para>
72ea1d6981SmrgThe value is always interpreted as an N-byte unsigned integer.
73ea1d6981SmrgFor example,
74ea1d6981Smrgthe first two bytes of a
75ea1d6981Smrg<emphasis role='bold'>Window</emphasis>
76ea1d6981Smrgerror are always zero (indicating an
77ea1d6981Smrgerror in general) and three (indicating the
78ea1d6981Smrg<emphasis role='bold'>Window</emphasis>
79ea1d6981Smrgerror in particular):
80ea1d6981Smrg</para>
81ea1d6981Smrg
82ea1d6981Smrg<literallayout class="monospaced">
83ea1d6981Smrg   1      0      Error
84ea1d6981Smrg   1      3      code
85ea1d6981Smrg</literallayout>
86ea1d6981Smrg
87ea1d6981Smrg<para>
88ea1d6981SmrgFor components described in the protocol as:
89ea1d6981Smrg</para>
90ea1d6981Smrg
91ea1d6981Smrg<para>
92ea1d6981Smrgname:
93ea1d6981Smrg{ <emphasis role='bold'>Name1</emphasis>,...,
94ea1d6981Smrg<emphasis role='bold'>NameI</emphasis>}
95ea1d6981Smrg</para>
96ea1d6981Smrg
97ea1d6981Smrg<para>
98ea1d6981Smrgthe encode-form is:
99ea1d6981Smrg</para>
100ea1d6981Smrg
101ea1d6981Smrg<literallayout class="monospaced">
102ea1d6981Smrg   N          name
103ea1d6981Smrg        value1 Name1
104ea1d6981Smrg        ...
105ea1d6981Smrg        valueI NameI
106ea1d6981Smrg</literallayout>
107ea1d6981Smrg
108ea1d6981Smrg<para>
109ea1d6981SmrgThe value is always interpreted as an N-byte unsigned integer.
110ea1d6981SmrgNote that the size of N is sometimes larger than that strictly required
111ea1d6981Smrgto encode the values.
112ea1d6981SmrgFor example:
113ea1d6981Smrg</para>
114ea1d6981Smrg
115ea1d6981Smrg<para>
116ea1d6981Smrgclass:
117ea1d6981Smrg{ <emphasis role='bold'>InputOutput</emphasis>,
118ea1d6981Smrg<emphasis role='bold'>InputOnly</emphasis>,
119ea1d6981Smrg<emphasis role='bold'>CopyFromParent</emphasis> }
120ea1d6981Smrg</para>
121ea1d6981Smrg
122ea1d6981Smrg<para>
123ea1d6981Smrgbecomes:
124ea1d6981Smrg</para>
125ea1d6981Smrg
126ea1d6981Smrg<literallayout class="monospaced">
127ea1d6981Smrg2               class
128ea1d6981Smrg     0     CopyFromParent
129ea1d6981Smrg     1     InputOutput
130ea1d6981Smrg     2     InputOnly
131ea1d6981Smrg</literallayout>
132ea1d6981Smrg
133ea1d6981Smrg<para>
134ea1d6981SmrgFor components described in the protocol as:
135ea1d6981Smrg</para>
136ea1d6981Smrg
137ea1d6981Smrg<para>
138ea1d6981SmrgNAME: TYPE or
139ea1d6981Smrg<emphasis role='bold'>Alternative1 ...or</emphasis>
140ea1d6981Smrg<emphasis role='bold'>AlternativeI</emphasis>
141ea1d6981Smrg</para>
142ea1d6981Smrg
143ea1d6981Smrg<para>
144ea1d6981Smrgthe encode-form is:
145ea1d6981Smrg</para>
146ea1d6981Smrg
147ea1d6981Smrg<literallayout class="monospaced">
148ea1d6981SmrgN     TYPE               NAME
149ea1d6981Smrg     value1     Alternative1
150ea1d6981Smrg     ...
151ea1d6981Smrg     valueI     AlternativeI
152ea1d6981Smrg</literallayout>
153ea1d6981Smrg
154ea1d6981Smrg<para>
155ea1d6981SmrgThe alternative values are guaranteed not to conflict with the encoding
156ea1d6981Smrgof TYPE.
157ea1d6981SmrgFor example:
158ea1d6981Smrg</para>
159ea1d6981Smrg
160ea1d6981Smrg<para>
161ea1d6981Smrgdestination: WINDOW or
162ea1d6981Smrg<emphasis role='bold'>PointerWindow</emphasis>
163ea1d6981Smrgor
164ea1d6981Smrg<emphasis role='bold'>InputFocus</emphasis>
165ea1d6981Smrg</para>
166ea1d6981Smrg
167ea1d6981Smrg<para>
168ea1d6981Smrgbecomes:
169ea1d6981Smrg</para>
170ea1d6981Smrg
171ea1d6981Smrg<literallayout class="monospaced">
172ea1d6981Smrg4     WINDOW          destination
173ea1d6981Smrg     0     PointerWindow
174ea1d6981Smrg     1     InputFocus
175ea1d6981Smrg</literallayout>
176ea1d6981Smrg
177ea1d6981Smrg<para>
178ea1d6981SmrgFor components described in the protocol as:
179ea1d6981Smrg</para>
180ea1d6981Smrg
181ea1d6981Smrg<literallayout class="monospaced">
182ea1d6981Smrg   value-mask: BITMASK
183ea1d6981Smrg</literallayout>
184ea1d6981Smrg
185ea1d6981Smrg<para>
186ea1d6981Smrgthe encode-form is:
187ea1d6981Smrg</para>
188ea1d6981Smrg
189ea1d6981Smrg<literallayout class="monospaced">
190ea1d6981SmrgN     BITMASK               value-mask
191ea1d6981Smrg     mask1     mask-name1
192ea1d6981Smrg     ...
193ea1d6981Smrg     maskI     mask-nameI
194ea1d6981Smrg</literallayout>
195ea1d6981Smrg
196ea1d6981Smrg<para>
197ea1d6981SmrgThe individual bits in the mask are specified and named,
198ea1d6981Smrgand N is 2 or 4.
199ea1d6981SmrgThe most-significant bit in a BITMASK is reserved for use in defining
200ea1d6981Smrgchained (multiword) bitmasks, as extensions augment existing core requests.
201ea1d6981SmrgThe precise interpretation of this bit is not yet defined here,
202ea1d6981Smrgalthough a probable mechanism is that a 1-bit indicates that another N bytes
203ea1d6981Smrgof bitmask follows, with bits within the overall mask still interpreted
204ea1d6981Smrgfrom least-significant to most-significant with an N-byte unit,
205ea1d6981Smrgwith N-byte units
206ea1d6981Smrginterpreted in stream order, and with the overall mask being byte-swapped
207ea1d6981Smrgin individual N-byte units.
208ea1d6981Smrg</para>
209ea1d6981Smrg
210ea1d6981Smrg<para>
211ea1d6981SmrgFor LISTofVALUE encodings, the request is followed by a section of the form:
212ea1d6981Smrg</para>
213ea1d6981Smrg
214ea1d6981Smrg<literallayout class="monospaced">
215ea1d6981Smrg   VALUEs
216ea1d6981Smrg   encode-form
217ea1d6981Smrg   ...
218ea1d6981Smrg   encode-form
219ea1d6981Smrg</literallayout>
220ea1d6981Smrg
221ea1d6981Smrg<para>
222ea1d6981Smrglisting an encode-form for each VALUE.
223ea1d6981SmrgThe NAME in each encode-form keys to the corresponding BITMASK bit.
224ea1d6981SmrgThe encoding of a VALUE always occupies four bytes,
225ea1d6981Smrgbut the number of bytes specified in the encoding-form indicates how
226ea1d6981Smrgmany of the least-significant bytes are actually used;
227ea1d6981Smrgthe remaining bytes are unused and their values do not matter.
228ea1d6981Smrg</para>
229ea1d6981Smrg
230ea1d6981Smrg<para>
231ea1d6981SmrgIn various cases, the number of bytes occupied by a component will be
232ea1d6981Smrgspecified
233ea1d6981Smrgby a lowercase single-letter variable name instead of a specific numeric
234ea1d6981Smrgvalue, and often some other component will have its value specified as a
235ea1d6981Smrgsimple numeric expression involving these variables.
236ea1d6981SmrgComponents specified with such expressions are always interpreted
237ea1d6981Smrgas unsigned integers.
238ea1d6981SmrgThe scope of such variables is always just the enclosing request, reply,
239ea1d6981Smrgerror, event, or compound type structure.
240ea1d6981SmrgFor example:
241ea1d6981Smrg</para>
242ea1d6981Smrg
243ea1d6981Smrg<literallayout class="monospaced">
244ea1d6981Smrg2      3+n                  request length
245ea1d6981Smrg4n     LISTofPOINT          points
246ea1d6981Smrg</literallayout>
247ea1d6981Smrg
248ea1d6981Smrg<para>
249ea1d6981SmrgFor unused bytes (the values of the bytes are undefined and do no matter),
250ea1d6981Smrgthe encode-form is:
251ea1d6981Smrg</para>
252ea1d6981Smrg
253ea1d6981Smrg<literallayout class="monospaced">
254ea1d6981Smrg   N               unused
255ea1d6981Smrg</literallayout>
256ea1d6981Smrg
257ea1d6981Smrg<para>
258ea1d6981Smrg<!-- .LP -->
259ea1d6981SmrgIf the number of unused bytes is variable, the encode-form typically is:
260ea1d6981Smrg</para>
261ea1d6981Smrg
262ea1d6981Smrg<literallayout class="monospaced">
263ea1d6981Smrg   p               unused, p=pad(E)
264ea1d6981Smrg</literallayout>
265ea1d6981Smrg
266ea1d6981Smrg<para>
267ea1d6981Smrgwhere E is some expression,
268ea1d6981Smrg<phrase id="encoding:pad">
269ea1d6981Smrg<indexterm zone="encoding:pad" significance="preferred"><primary>Padding</primary></indexterm>
270ea1d6981Smrgand pad(E) is the number of bytes needed to round E up to a multiple of four.
271ea1d6981Smrg</phrase>
272ea1d6981Smrg</para>
273ea1d6981Smrg
274ea1d6981Smrg<literallayout class="monospaced">
275ea1d6981Smrg   pad(E) = (4 - (E mod 4)) mod 4
276ea1d6981Smrg</literallayout>
277ea1d6981Smrg</sect1>
278ea1d6981Smrg
279ea1d6981Smrg<sect1 id='Encoding::Common_Types'>
280ea1d6981Smrg<title>Common Types</title>
281ea1d6981Smrg<indexterm zone="Encoding::Common_Types"><primary>Types</primary><secondary>encoding</secondary></indexterm>
282ea1d6981Smrg
283ea1d6981Smrg<variablelist>
284ea1d6981Smrg  <varlistentry>
285ea1d6981Smrg    <term>LISTofFOO</term>
286ea1d6981Smrg    <listitem>
287ea1d6981Smrg      <para>
288ea1d6981SmrgIn this document the LISTof notation strictly means some number of repetitions
289ea1d6981Smrgof the FOO encoding;
290ea1d6981Smrgthe actual length of the list is encoded elsewhere.
291ea1d6981Smrg      </para>
292ea1d6981Smrg    </listitem>
293ea1d6981Smrg  </varlistentry>
294ea1d6981Smrg  <varlistentry>
295ea1d6981Smrg    <term>SETofFOO</term>
296ea1d6981Smrg    <listitem>
297ea1d6981Smrg      <para>
298ea1d6981SmrgA set is always represented by a bitmask, with a 1-bit indicating presence in
299ea1d6981Smrgthe set.
300ea1d6981Smrg      </para>
301ea1d6981Smrg    </listitem>
302ea1d6981Smrg  </varlistentry>
303ea1d6981Smrg</variablelist>
304ea1d6981Smrg
305ea1d6981Smrg<informaltable frame='none'>
306ea1d6981Smrg  <tgroup cols='1' align='left' colsep='0' rowsep='0'>
307ea1d6981Smrg  <colspec colname='c1' colwidth='1.0*'/>
308ea1d6981Smrg  <tbody>
309ea1d6981Smrg    <row>
310ea1d6981Smrg      <entry>
311ea1d6981SmrgBITMASK: CARD32
312ea1d6981Smrg      </entry>
313ea1d6981Smrg    </row>
314ea1d6981Smrg    <row>
315ea1d6981Smrg      <entry>
316ea1d6981SmrgWINDOW: CARD32
317ea1d6981Smrg      </entry>
318ea1d6981Smrg    </row>
319ea1d6981Smrg    <row>
320ea1d6981Smrg      <entry>
321ea1d6981SmrgPIXMAP: CARD32
322ea1d6981Smrg      </entry>
323ea1d6981Smrg    </row>
324ea1d6981Smrg    <row>
325ea1d6981Smrg      <entry>
326ea1d6981SmrgCURSOR: CARD32
327ea1d6981Smrg      </entry>
328ea1d6981Smrg    </row>
329ea1d6981Smrg    <row>
330ea1d6981Smrg      <entry>
331ea1d6981SmrgFONT: CARD32
332ea1d6981Smrg      </entry>
333ea1d6981Smrg    </row>
334ea1d6981Smrg    <row>
335ea1d6981Smrg      <entry>
336ea1d6981SmrgGCONTEXT: CARD32
337ea1d6981Smrg      </entry>
338ea1d6981Smrg    </row>
339ea1d6981Smrg    <row>
340ea1d6981Smrg      <entry>
341ea1d6981SmrgCOLORMAP: CARD32
342ea1d6981Smrg      </entry>
343ea1d6981Smrg    </row>
344ea1d6981Smrg    <row>
345ea1d6981Smrg      <entry>
346ea1d6981SmrgDRAWABLE: CARD32
347ea1d6981Smrg      </entry>
348ea1d6981Smrg    </row>
349ea1d6981Smrg    <row>
350ea1d6981Smrg      <entry>
351ea1d6981SmrgFONTABLE: CARD32
352ea1d6981Smrg      </entry>
353ea1d6981Smrg    </row>
354ea1d6981Smrg    <row>
355ea1d6981Smrg      <entry>
356ea1d6981SmrgATOM: CARD32
357ea1d6981Smrg      </entry>
358ea1d6981Smrg    </row>
359ea1d6981Smrg    <row>
360ea1d6981Smrg      <entry>
361ea1d6981SmrgVISUALID: CARD32
362ea1d6981Smrg      </entry>
363ea1d6981Smrg    </row>
364ea1d6981Smrg    <row>
365ea1d6981Smrg      <entry>
366ea1d6981SmrgBYTE: 8-bit value
367ea1d6981Smrg      </entry>
368ea1d6981Smrg    </row>
369ea1d6981Smrg    <row>
370ea1d6981Smrg      <entry>
371ea1d6981SmrgINT8: 8-bit signed integer
372ea1d6981Smrg      </entry>
373ea1d6981Smrg    </row>
374ea1d6981Smrg    <row>
375ea1d6981Smrg      <entry>
376ea1d6981SmrgINT16: 16-bit signed integer
377ea1d6981Smrg      </entry>
378ea1d6981Smrg    </row>
379ea1d6981Smrg    <row>
380ea1d6981Smrg      <entry>
381ea1d6981SmrgINT32: 32-bit signed integer
382ea1d6981Smrg      </entry>
383ea1d6981Smrg    </row>
384ea1d6981Smrg    <row>
385ea1d6981Smrg      <entry>
386ea1d6981SmrgCARD8: 8-bit unsigned integer
387ea1d6981Smrg      </entry>
388ea1d6981Smrg    </row>
389ea1d6981Smrg    <row>
390ea1d6981Smrg      <entry>
391ea1d6981SmrgCARD16: 16-bit unsigned integer
392ea1d6981Smrg      </entry>
393ea1d6981Smrg    </row>
394ea1d6981Smrg    <row>
395ea1d6981Smrg      <entry>
396ea1d6981SmrgCARD32: 32-bit unsigned integer
397ea1d6981Smrg      </entry>
398ea1d6981Smrg    </row>
399ea1d6981Smrg    <row>
400ea1d6981Smrg      <entry>
401ea1d6981SmrgTIMESTAMP: CARD32
402ea1d6981Smrg      </entry>
403ea1d6981Smrg    </row>
404ea1d6981Smrg  </tbody>
405ea1d6981Smrg  </tgroup>
406ea1d6981Smrg</informaltable>
407ea1d6981Smrg
408ea1d6981Smrg
409ea1d6981Smrg<literallayout class="monospaced">
410ea1d6981SmrgBITGRAVITY
411ea1d6981Smrg     0     Forget
412ea1d6981Smrg     1     NorthWest
413ea1d6981Smrg     2     North
414ea1d6981Smrg     3     NorthEast
415ea1d6981Smrg     4     West
416ea1d6981Smrg     5     Center
417ea1d6981Smrg     6     East
418ea1d6981Smrg     7     SouthWest
419ea1d6981Smrg     8     South
420ea1d6981Smrg     9     SouthEast
421ea1d6981Smrg     10     Static
422ea1d6981Smrg
423ea1d6981SmrgWINGRAVITY
424ea1d6981Smrg     0     Unmap
425ea1d6981Smrg     1     NorthWest
426ea1d6981Smrg     2     North
427ea1d6981Smrg     3     NorthEast
428ea1d6981Smrg     4     West
429ea1d6981Smrg     5     Center
430ea1d6981Smrg     6     East
431ea1d6981Smrg     7     SouthWest
432ea1d6981Smrg     8     South
433ea1d6981Smrg     9     SouthEast
434ea1d6981Smrg     10     Static
435ea1d6981Smrg
436ea1d6981SmrgBOOL
437ea1d6981Smrg     0     False
438ea1d6981Smrg     1     True
439ea1d6981Smrg
440ea1d6981SmrgSETofEVENT
441ea1d6981Smrg     #x00000001     KeyPress
442ea1d6981Smrg     #x00000002     KeyRelease
443ea1d6981Smrg     #x00000004     ButtonPress
444ea1d6981Smrg     #x00000008     ButtonRelease
445ea1d6981Smrg     #x00000010     EnterWindow
446ea1d6981Smrg     #x00000020     LeaveWindow
447ea1d6981Smrg     #x00000040     PointerMotion
448ea1d6981Smrg     #x00000080     PointerMotionHint
449ea1d6981Smrg     #x00000100     Button1Motion
450ea1d6981Smrg     #x00000200     Button2Motion
451ea1d6981Smrg     #x00000400     Button3Motion
452ea1d6981Smrg     #x00000800     Button4Motion
453ea1d6981Smrg     #x00001000     Button5Motion
454ea1d6981Smrg     #x00002000     ButtonMotion
455ea1d6981Smrg     #x00004000     KeymapState
456ea1d6981Smrg     #x00008000     Exposure
457ea1d6981Smrg     #x00010000     VisibilityChange
458ea1d6981Smrg     #x00020000     StructureNotify
459ea1d6981Smrg     #x00040000     ResizeRedirect
460ea1d6981Smrg     #x00080000     SubstructureNotify
461ea1d6981Smrg     #x00100000     SubstructureRedirect
462ea1d6981Smrg     #x00200000     FocusChange
463ea1d6981Smrg     #x00400000     PropertyChange
464ea1d6981Smrg     #x00800000     ColormapChange
465ea1d6981Smrg     #x01000000     OwnerGrabButton
466ea1d6981Smrg     #xFE000000     unused but must be zero
467ea1d6981Smrg
468ea1d6981SmrgSETofPOINTEREVENT
469ea1d6981Smrg     encodings are the same as for SETofEVENT, except with
470ea1d6981Smrg     #xFFFF8003     unused but must be zero
471ea1d6981Smrg
472ea1d6981SmrgSETofDEVICEEVENT
473ea1d6981Smrg     encodings are the same as for SETofEVENT, except with
474ea1d6981Smrg     #xFFFFC0B0     unused but must be zero
475ea1d6981Smrg
476ea1d6981SmrgKEYSYM: CARD32
477ea1d6981SmrgKEYCODE: CARD8
478ea1d6981SmrgBUTTON: CARD8
479ea1d6981Smrg
480ea1d6981SmrgSETofKEYBUTMASK
481ea1d6981Smrg     #x0001     Shift
482ea1d6981Smrg     #x0002     Lock
483ea1d6981Smrg     #x0004     Control
484ea1d6981Smrg     #x0008     Mod1
485ea1d6981Smrg     #x0010     Mod2
486ea1d6981Smrg     #x0020     Mod3
487ea1d6981Smrg     #x0040     Mod4
488ea1d6981Smrg     #x0080     Mod5
489ea1d6981Smrg     #x0100     Button1
490ea1d6981Smrg     #x0200     Button2
491ea1d6981Smrg     #x0400     Button3
492ea1d6981Smrg     #x0800     Button4
493ea1d6981Smrg     #x1000     Button5
494ea1d6981Smrg     #xE000     unused but must be zero
495ea1d6981Smrg
496ea1d6981SmrgSETofKEYMASK
497ea1d6981Smrg     encodings are the same as for SETofKEYBUTMASK, except with
498ea1d6981Smrg     #xFF00          unused but must be zero
499ea1d6981SmrgSTRING8: LISTofCARD8
500ea1d6981SmrgSTRING16: LISTofCHAR2B
501ea1d6981Smrg
502ea1d6981SmrgCHAR2B
503ea1d6981Smrg     1     CARD8     byte1
504ea1d6981Smrg     1     CARD8     byte2
505ea1d6981Smrg
506ea1d6981SmrgPOINT
507ea1d6981Smrg     2     INT16     x
508ea1d6981Smrg     2     INT16     y
509ea1d6981Smrg
510ea1d6981SmrgRECTANGLE
511ea1d6981Smrg     2     INT16     x
512ea1d6981Smrg     2     INT16     y
513ea1d6981Smrg     2     CARD16    width
514ea1d6981Smrg     2     CARD16    height
515ea1d6981Smrg
516ea1d6981SmrgARC
517ea1d6981Smrg     2     INT16     x
518ea1d6981Smrg     2     INT16     y
519ea1d6981Smrg     2     CARD16    width
520ea1d6981Smrg     2     CARD16    height
521ea1d6981Smrg     2     INT16     angle1
522ea1d6981Smrg     2     INT16     angle2
523ea1d6981Smrg
524ea1d6981SmrgHOST
525ea1d6981Smrg     1                         family
526ea1d6981Smrg           0         Internet
527ea1d6981Smrg           1         DECnet
528ea1d6981Smrg           2         Chaos
529ea1d6981Smrg           5         ServerInterpreted
530ea1d6981Smrg           6         InternetV6
531ea1d6981Smrg     1                         unused
532ea1d6981Smrg     2      n                  length of address
533ea1d6981Smrg     n      LISTofBYTE         address
534ea1d6981Smrg     p                         unused, p=pad(n)
535ea1d6981Smrg
536ea1d6981SmrgSTR
537ea1d6981Smrg     1      n                  length of name in bytes
538ea1d6981Smrg     n      STRING8            name
539ea1d6981Smrg
540ea1d6981Smrg</literallayout>
541ea1d6981Smrg</sect1>
542ea1d6981Smrg
543ea1d6981Smrg<sect1 id='Encoding::Errors'>
544ea1d6981Smrg<title>Errors</title>
545ea1d6981Smrg<indexterm zone="Encoding::Errors"><primary>Error report</primary><secondary>encoding</secondary></indexterm>
546ea1d6981Smrg
547ea1d6981Smrg<literallayout class="monospaced">
548ea1d6981Smrg<emphasis role='bold'>Request</emphasis>
549ea1d6981Smrg     1     0                               Error
550ea1d6981Smrg     1     1                               code
551ea1d6981Smrg     2     CARD16                          sequence number
552ea1d6981Smrg     4                                     unused
553ea1d6981Smrg     2     CARD16                          minor opcode
554ea1d6981Smrg     1     CARD8                           major opcode
555ea1d6981Smrg     21                                    unused
556ea1d6981Smrg
557ea1d6981Smrg<emphasis role='bold'>Value</emphasis>
558ea1d6981Smrg     1     0                               Error
559ea1d6981Smrg     1     2                               code
560ea1d6981Smrg     2     CARD16                          sequence number
561ea1d6981Smrg     4     &lt;32-bits&gt;                 bad value
562ea1d6981Smrg     2     CARD16                          minor opcode
563ea1d6981Smrg     1     CARD8                           major opcode
564ea1d6981Smrg     21                                    unused
565ea1d6981Smrg
566ea1d6981Smrg<emphasis role='bold'>Window</emphasis>
567ea1d6981Smrg     1     0                               Error
568ea1d6981Smrg     1     3                               code
569ea1d6981Smrg     2     CARD16                          sequence number
570ea1d6981Smrg     4     CARD32                          bad resource id
571ea1d6981Smrg     2     CARD16                          minor opcode
572ea1d6981Smrg     1     CARD8                           major opcode
573ea1d6981Smrg     21                                    unused
574ea1d6981Smrg
575ea1d6981Smrg<emphasis role='bold'>Pixmap</emphasis>
576ea1d6981Smrg     1     0                               Error
577ea1d6981Smrg     1     4                               code
578ea1d6981Smrg     2     CARD16                          sequence number
579ea1d6981Smrg     4     CARD32                          bad resource id
580ea1d6981Smrg     2     CARD16                          minor opcode
581ea1d6981Smrg     1     CARD8                           major opcode
582ea1d6981Smrg     21                                    unused
583ea1d6981Smrg
584ea1d6981Smrg<emphasis role='bold'>Atom</emphasis>
585ea1d6981Smrg     1     0                               Error
586ea1d6981Smrg     1     5                               code
587ea1d6981Smrg     2     CARD16                          sequence number
588ea1d6981Smrg     4     CARD32                          bad atom id
589ea1d6981Smrg     2     CARD16                          minor opcode
590ea1d6981Smrg     1     CARD8                           major opcode
591ea1d6981Smrg     21                                    unused
592ea1d6981Smrg
593ea1d6981Smrg<emphasis role='bold'>Cursor</emphasis>
594ea1d6981Smrg     1     0                               Error
595ea1d6981Smrg     1     6                               code
596ea1d6981Smrg     2     CARD16                          sequence number
597ea1d6981Smrg     4     CARD32                          bad resource id
598ea1d6981Smrg     2     CARD16                          minor opcode
599ea1d6981Smrg     1     CARD8                           major opcode
600ea1d6981Smrg     21                                    unused
601ea1d6981Smrg
602ea1d6981Smrg<emphasis role='bold'>Font</emphasis>
603ea1d6981Smrg     1     0                               Error
604ea1d6981Smrg     1     7                               code
605ea1d6981Smrg     2     CARD16                          sequence number
606ea1d6981Smrg     4     CARD32                          bad resource id
607ea1d6981Smrg     2     CARD16                          minor opcode
608ea1d6981Smrg     1     CARD8                           major opcode
609ea1d6981Smrg     21                                    unused
610ea1d6981Smrg
611ea1d6981Smrg<emphasis role='bold'>Match</emphasis>
612ea1d6981Smrg     1     0                               Error
613ea1d6981Smrg     1     8                               code
614ea1d6981Smrg     2     CARD16                          sequence number
615ea1d6981Smrg     4                                     unused
616ea1d6981Smrg     2     CARD16                          minor opcode
617ea1d6981Smrg     1     CARD8                           major opcode
618ea1d6981Smrg     21                                    unused
619ea1d6981Smrg
620ea1d6981Smrg<emphasis role='bold'>Drawable</emphasis>
621ea1d6981Smrg     1     0                               Error
622ea1d6981Smrg     1     9                               code
623ea1d6981Smrg     2     CARD16                          sequence number
624ea1d6981Smrg     4     CARD32                          bad resource id
625ea1d6981Smrg     2     CARD16                          minor opcode
626ea1d6981Smrg     1     CARD8                           major opcode
627ea1d6981Smrg     21                                    unused
628ea1d6981Smrg
629ea1d6981Smrg<emphasis role='bold'>Access</emphasis>
630ea1d6981Smrg     1     0                               Error
631ea1d6981Smrg     1     10                              code
632ea1d6981Smrg     2     CARD16                          sequence number
633ea1d6981Smrg     4                                     unused
634ea1d6981Smrg     2     CARD16                          minor opcode
635ea1d6981Smrg     1     CARD8                           major opcode
636ea1d6981Smrg     21                                    unused
637ea1d6981Smrg
638ea1d6981Smrg<emphasis role='bold'>Alloc</emphasis>
639ea1d6981Smrg     1     0                               Error
640ea1d6981Smrg     1     11                              code
641ea1d6981Smrg     2     CARD16                          sequence number
642ea1d6981Smrg     4                                     unused
643ea1d6981Smrg     2     CARD16                          minor opcode
644ea1d6981Smrg     1     CARD8                           major opcode
645ea1d6981Smrg     21                                    unused
646ea1d6981Smrg
647ea1d6981Smrg<emphasis role='bold'>Colormap</emphasis>
648ea1d6981Smrg     1     0                               Error
649ea1d6981Smrg     1     12                              code
650ea1d6981Smrg     2     CARD16                          sequence number
651ea1d6981Smrg     4     CARD32                          bad resource id
652ea1d6981Smrg     2     CARD16                          minor opcode
653ea1d6981Smrg     1     CARD8                           major opcode
654ea1d6981Smrg     21                                    unused
655ea1d6981Smrg
656ea1d6981Smrg<emphasis role='bold'>GContext</emphasis>
657ea1d6981Smrg     1     0                               Error
658ea1d6981Smrg     1     13                              code
659ea1d6981Smrg     2     CARD16                          sequence number
660ea1d6981Smrg     4     CARD32                          bad resource id
661ea1d6981Smrg     2     CARD16                          minor opcode
662ea1d6981Smrg     1     CARD8                           major opcode
663ea1d6981Smrg     21                                    unused
664ea1d6981Smrg
665ea1d6981Smrg<emphasis role='bold'>IDChoice</emphasis>
666ea1d6981Smrg     1     0                               Error
667ea1d6981Smrg     1     14                              code
668ea1d6981Smrg     2     CARD16                          sequence number
669ea1d6981Smrg     4     CARD32                          bad resource id
670ea1d6981Smrg     2     CARD16                          minor opcode
671ea1d6981Smrg     1     CARD8                           major opcode
672ea1d6981Smrg     21                                    unused
673ea1d6981Smrg
674ea1d6981Smrg<emphasis role='bold'>Name</emphasis>
675ea1d6981Smrg     1     0                               Error
676ea1d6981Smrg     1     15                              code
677ea1d6981Smrg     2     CARD16                          sequence number
678ea1d6981Smrg     4                                     unused
679ea1d6981Smrg     2     CARD16                          minor opcode
680ea1d6981Smrg     1     CARD8                           major opcode
681ea1d6981Smrg     21                                    unused
682ea1d6981Smrg
683ea1d6981Smrg<emphasis role='bold'>Length</emphasis>
684ea1d6981Smrg     1     0                               Error
685ea1d6981Smrg     1     16                              code
686ea1d6981Smrg     2     CARD16                          sequence number
687ea1d6981Smrg     4                                     unused
688ea1d6981Smrg     2     CARD16                          minor opcode
689ea1d6981Smrg     1     CARD8                           major opcode
690ea1d6981Smrg     21                                    unused
691ea1d6981Smrg
692ea1d6981Smrg<emphasis role='bold'>Implementation</emphasis>
693ea1d6981Smrg     1     0                               Error
694ea1d6981Smrg     1     17                              code
695ea1d6981Smrg     2     CARD16                          sequence number
696ea1d6981Smrg     4                                     unused
697ea1d6981Smrg     2     CARD16                          minor opcode
698ea1d6981Smrg     1     CARD8                           major opcode
699ea1d6981Smrg     21                                    unused
700ea1d6981Smrg</literallayout>
701ea1d6981Smrg</sect1>
702ea1d6981Smrg
703ea1d6981Smrg<sect1 id='Encoding::Keyboards'>
704ea1d6981Smrg<title>Keyboards</title>
705ea1d6981Smrg
706ea1d6981Smrg<para>
707ea1d6981SmrgKEYCODE values are always greater than 7 (and less than 256).
708ea1d6981Smrg</para>
709ea1d6981Smrg
710ea1d6981Smrg<para>
711ea1d6981SmrgKEYSYM values with the bit #x10000000 set are reserved as vendor-specific.
712ea1d6981Smrg</para>
713ea1d6981Smrg
714ea1d6981Smrg<para>
715ea1d6981SmrgThe names and encodings of the standard KEYSYM values are contained in
716ea1d6981Smrg<link linkend="keysym_encoding">Appendix A, Keysym Encoding</link>.
717ea1d6981Smrg</para>
718ea1d6981Smrg</sect1>
719ea1d6981Smrg
720ea1d6981Smrg<sect1 id='Encoding::Pointers'>
721ea1d6981Smrg<title>Pointers</title>
722ea1d6981Smrg
723ea1d6981Smrg<para>
724ea1d6981SmrgBUTTON values are numbered starting with one.
725ea1d6981Smrg</para>
726ea1d6981Smrg
727ea1d6981Smrg</sect1>
728ea1d6981Smrg<sect1 id='Encoding::Predefined_Atoms'>
729ea1d6981Smrg<title>Predefined Atoms</title>
730ea1d6981Smrg<indexterm zone="Encoding::Predefined_Atoms"><primary>Atom</primary><secondary>predefined</secondary></indexterm>
731ea1d6981Smrg
732ea1d6981Smrg<literallayout class="monospaced">
733ea1d6981SmrgPRIMARY           1      WM_NORMAL_HINTS     40
734ea1d6981SmrgSECONDARY         2      WM_SIZE_HINTS       41
735ea1d6981SmrgARC               3      WM_ZOOM_HINTS       42
736ea1d6981SmrgATOM              4      MIN_SPACE           43
737ea1d6981SmrgBITMAP            5      NORM_SPACE          44
738ea1d6981SmrgCARDINAL          6      MAX_SPACE           45
739ea1d6981SmrgCOLORMAP          7      END_SPACE           46
740ea1d6981SmrgCURSOR            8      SUPERSCRIPT_X       47
741ea1d6981SmrgCUT_BUFFER0       9      SUPERSCRIPT_Y       48
742ea1d6981SmrgCUT_BUFFER1       10     SUBSCRIPT_X         49
743ea1d6981SmrgCUT_BUFFER2       11     SUBSCRIPT_Y         50
744ea1d6981SmrgCUT_BUFFER3       12     UNDERLINE_POSITION  51
745ea1d6981SmrgCUT_BUFFER4       13     UNDERLINE_THICKNESS 52
746ea1d6981SmrgCUT_BUFFER5       14     STRIKEOUT_ASCENT    53
747ea1d6981SmrgCUT_BUFFER6       15     STRIKEOUT_DESCENT   54
748ea1d6981SmrgCUT_BUFFER7       16     ITALIC_ANGLE        55
749ea1d6981SmrgDRAWABLE          17     X_HEIGHT            56
750ea1d6981SmrgFONT              18     QUAD_WIDTH          57
751ea1d6981SmrgINTEGER           19     WEIGHT              58
752ea1d6981SmrgPIXMAP            20     POINT_SIZE          59
753ea1d6981SmrgPOINT             21     RESOLUTION          60
754ea1d6981SmrgRECTANGLE         22     COPYRIGHT           61
755ea1d6981SmrgRESOURCE_MANAGER  23     NOTICE              62
756ea1d6981SmrgRGB_COLOR_MAP     24     FONT_NAME           63
757ea1d6981SmrgRGB_BEST_MAP      25     FAMILY_NAME         64
758ea1d6981SmrgRGB_BLUE_MAP      26     FULL_NAME           65
759ea1d6981SmrgRGB_DEFAULT_MAP   27     CAP_HEIGHT          66
760ea1d6981SmrgRGB_GRAY_MAP      28     WM_CLASS            67
761ea1d6981SmrgRGB_GREEN_MAP     29     WM_TRANSIENT_FOR    68
762ea1d6981SmrgRGB_RED_MAP       30
763ea1d6981SmrgSTRING            31
764ea1d6981SmrgVISUALID          32
765ea1d6981SmrgWINDOW            33
766ea1d6981SmrgWM_COMMAND        34
767ea1d6981SmrgWM_HINTS          35
768ea1d6981SmrgWM_CLIENT_MACHINE 36
769ea1d6981SmrgWM_ICON_NAME      37
770ea1d6981SmrgWM_ICON_SIZE      38
771ea1d6981SmrgWM_NAME           39
772ea1d6981Smrg</literallayout>
773ea1d6981Smrg</sect1>
774ea1d6981Smrg
775ea1d6981Smrg<sect1 id='Encoding::Connection_Setup'>
776ea1d6981Smrg<title>Connection Setup</title>
777ea1d6981Smrg
778ea1d6981Smrg<para>
779ea1d6981SmrgFor TCP connections,
780ea1d6981Smrgdisplays on a given host are numbered starting from 0,
781ea1d6981Smrgand the server for display N listens and accepts connections on port 6000 + N.
782ea1d6981SmrgFor DECnet connections,
783ea1d6981Smrgdisplays on a given host are numbered starting from 0,
784ea1d6981Smrgand the server for display N listens and accepts connections on the object
785ea1d6981Smrgname obtained by concatenating "X$X" with the decimal representation of N,
786ea1d6981Smrgfor example, X$X0 and X$X1.
787ea1d6981Smrg</para>
788ea1d6981Smrg
789ea1d6981Smrg<para>
790ea1d6981SmrgInformation sent by the client at connection setup:
791ea1d6981Smrg</para>
792ea1d6981Smrg
793ea1d6981Smrg<literallayout class="monospaced">
794ea1d6981Smrg     1                       byte-order
795ea1d6981Smrg          #x42     MSB first
796ea1d6981Smrg          #x6C     LSB first
797ea1d6981Smrg     1                       unused
798ea1d6981Smrg     2     CARD16            protocol-major-version
799ea1d6981Smrg     2     CARD16            protocol-minor-version
800ea1d6981Smrg     2     n                 length of authorization-protocol-name
801ea1d6981Smrg     2     d                 length of authorization-protocol-data
802ea1d6981Smrg     2                       unused
803ea1d6981Smrg     n     STRING8           authorization-protocol-name
804ea1d6981Smrg     p                       unused, p=pad(n)
805ea1d6981Smrg     d     STRING8           authorization-protocol-data
806ea1d6981Smrg     q                       unused, q=pad(d)
807ea1d6981Smrg</literallayout>
808ea1d6981Smrg
809ea1d6981Smrg<para>
810ea1d6981SmrgExcept where explicitly noted in the protocol,
811ea1d6981Smrgall 16-bit and 32-bit quantities sent by the client must be transmitted
812ea1d6981Smrgwith the specified byte order,
813ea1d6981Smrgand all 16-bit and 32-bit quantities returned by the server will be transmitted
814ea1d6981Smrgwith this byte order.
815ea1d6981Smrg</para>
816ea1d6981Smrg
817ea1d6981Smrg<para>
818ea1d6981SmrgInformation received by the client if the connection is refused:
819ea1d6981Smrg</para>
820ea1d6981Smrg
821ea1d6981Smrg<literallayout class="monospaced">
822ea1d6981Smrg     1     0                 Failed
823ea1d6981Smrg     1     n                 length of reason in bytes
824ea1d6981Smrg     2     CARD16            protocol-major-version
825ea1d6981Smrg     2     CARD16            protocol-minor-version
826ea1d6981Smrg     2     (n+p)/4           length in 4-byte units of "additional data"
827ea1d6981Smrg     n     STRING8           reason
828ea1d6981Smrg     p                       unused, p=pad(n)
829ea1d6981Smrg</literallayout>
830ea1d6981Smrg
831ea1d6981Smrg<para>
832ea1d6981SmrgInformation received by the client if further authentication is required:
833ea1d6981Smrg</para>
834ea1d6981Smrg
835ea1d6981Smrg<literallayout class="monospaced">
836ea1d6981Smrg     1     2                 Authenticate
837ea1d6981Smrg     5                       unused
838ea1d6981Smrg     2     (n+p)/4           length in 4-byte units of "additional data"
839ea1d6981Smrg     n     STRING8           reason
840ea1d6981Smrg     p                       unused, p=pad(n)
841ea1d6981Smrg</literallayout>
842ea1d6981Smrg
843ea1d6981Smrg<para>
844ea1d6981SmrgInformation received by the client if the connection is accepted:
845ea1d6981Smrg</para>
846ea1d6981Smrg
847ea1d6981Smrg<literallayout class="monospaced">
848ea1d6981Smrg     1     1                               Success
849ea1d6981Smrg     1                                     unused
850ea1d6981Smrg     2     CARD16                          protocol-major-version
851ea1d6981Smrg     2     CARD16                          protocol-minor-version
852ea1d6981Smrg     2     8+2n+(v+p+m)/4                  length in 4-byte units of
853ea1d6981Smrg                                           "additional data"
854ea1d6981Smrg     4     CARD32                          release-number
855ea1d6981Smrg     4     CARD32                          resource-id-base
856ea1d6981Smrg     4     CARD32                          resource-id-mask
857ea1d6981Smrg     4     CARD32                          motion-buffer-size
858ea1d6981Smrg     2     v                               length of vendor
859ea1d6981Smrg     2     CARD16                          maximum-request-length
860ea1d6981Smrg     1     CARD8                           number of SCREENs in roots
861ea1d6981Smrg     1     n                               number for FORMATs in
862ea1d6981Smrg                                           pixmap-formats
863ea1d6981Smrg     1                                     image-byte-order
864ea1d6981Smrg          0     LSBFirst
865ea1d6981Smrg          1     MSBFirst
866ea1d6981Smrg     1                                     bitmap-format-bit-order
867ea1d6981Smrg          0     LeastSignificant
868ea1d6981Smrg          1     MostSignificant
869ea1d6981Smrg     1     CARD8                           bitmap-format-scanline-unit
870ea1d6981Smrg     1     CARD8                           bitmap-format-scanline-pad
871ea1d6981Smrg     1     KEYCODE                         min-keycode
872ea1d6981Smrg     1     KEYCODE                         max-keycode
873ea1d6981Smrg     4                                     unused
874ea1d6981Smrg     v     STRING8                         vendor
875ea1d6981Smrg     p                                     unused, p=pad(v)
876ea1d6981Smrg     8n     LISTofFORMAT                   pixmap-formats
877ea1d6981Smrg     m     LISTofSCREEN                    roots (m is always a multiple of 4)
878ea1d6981Smrg</literallayout>
879ea1d6981Smrg
880ea1d6981Smrg<literallayout class="monospaced">
881ea1d6981SmrgFORMAT
882ea1d6981Smrg     1     CARD8                           depth
883ea1d6981Smrg     1     CARD8                           bits-per-pixel
884ea1d6981Smrg     1     CARD8                           scanline-pad
885ea1d6981Smrg     5                                     unused
886ea1d6981Smrg</literallayout>
887ea1d6981Smrg
888ea1d6981Smrg<literallayout class="monospaced">
889ea1d6981SmrgSCREEN
890ea1d6981Smrg     4     WINDOW                          root
891ea1d6981Smrg     4     COLORMAP                        default-colormap
892ea1d6981Smrg     4     CARD32                          white-pixel
893ea1d6981Smrg     4     CARD32                          black-pixel
894ea1d6981Smrg     4     SETofEVENT                      current-input-masks
895ea1d6981Smrg     2     CARD16                          width-in-pixels
896ea1d6981Smrg     2     CARD16                          height-in-pixels
897ea1d6981Smrg     2     CARD16                          width-in-millimeters
898ea1d6981Smrg     2     CARD16                          height-in-millimeters
899ea1d6981Smrg     2     CARD16                          min-installed-maps
900ea1d6981Smrg     2     CARD16                          max-installed-maps
901ea1d6981Smrg     4     VISUALID                        root-visual
902ea1d6981Smrg     1                                     backing-stores
903ea1d6981Smrg          0     Never
904ea1d6981Smrg          1     WhenMapped
905ea1d6981Smrg          2     Always
906ea1d6981Smrg     1     BOOL                            save-unders
907ea1d6981Smrg     1     CARD8                           root-depth
908ea1d6981Smrg     1     CARD8                           number of DEPTHs in allowed-depths
909ea1d6981Smrg     n     LISTofDEPTH                     allowed-depths (n is always a
910ea1d6981Smrg                                           multiple of 4)
911ea1d6981Smrg</literallayout>
912ea1d6981Smrg
913ea1d6981Smrg<literallayout class="monospaced">
914ea1d6981SmrgDEPTH
915ea1d6981Smrg     1     CARD8                           depth
916ea1d6981Smrg     1                                     unused
917ea1d6981Smrg     2     n                               number of VISUALTYPES in visuals
918ea1d6981Smrg     4                                     unused
919ea1d6981Smrg     24n     LISTofVISUALTYPE              visuals
920ea1d6981Smrg</literallayout>
921ea1d6981Smrg
922ea1d6981Smrg<literallayout class="monospaced">
923ea1d6981SmrgVISUALTYPE
924ea1d6981Smrg     4     VISUALID                        visual-id
925ea1d6981Smrg     1                                     class
926ea1d6981Smrg          0     StaticGray
927ea1d6981Smrg          1     GrayScale
928ea1d6981Smrg          2     StaticColor
929ea1d6981Smrg          3     PseudoColor
930ea1d6981Smrg          4     TrueColor
931ea1d6981Smrg          5     DirectColor
932ea1d6981Smrg     1     CARD8                           bits-per-rgb-value
933ea1d6981Smrg     2     CARD16                          colormap-entries
934ea1d6981Smrg     4     CARD32                          red-mask
935ea1d6981Smrg     4     CARD32                          green-mask
936ea1d6981Smrg     4     CARD32                          blue-mask
937ea1d6981Smrg     4                                     unused
938ea1d6981Smrg</literallayout>
939ea1d6981Smrg</sect1>
940ea1d6981Smrg
941ea1d6981Smrg<sect1 id='Encoding::Requests'>
942ea1d6981Smrg<title>Requests</title>
943ea1d6981Smrg<indexterm zone="Encoding::Requests"><primary>Request</primary><secondary>encoding</secondary></indexterm>
944ea1d6981Smrg
945ea1d6981Smrg<literallayout class="monospaced">
946ea1d6981Smrg<link linkend="requests:CreateWindow"><emphasis role='bold'>CreateWindow</emphasis></link>
947ea1d6981Smrg     1     1                               opcode
948ea1d6981Smrg     1     CARD8                           depth
949ea1d6981Smrg     2     8+n                             request length
950ea1d6981Smrg     4     WINDOW                          wid
951ea1d6981Smrg     4     WINDOW                          parent
952ea1d6981Smrg     2     INT16                           x
953ea1d6981Smrg     2     INT16                           y
954ea1d6981Smrg     2     CARD16                          width
955ea1d6981Smrg     2     CARD16                          height
956ea1d6981Smrg     2     CARD16                          border-width
957ea1d6981Smrg     2                                     class
958ea1d6981Smrg          0     CopyFromParent
959ea1d6981Smrg          1     InputOutput
960ea1d6981Smrg          2     InputOnly
961ea1d6981Smrg     4     VISUALID                        visual
962ea1d6981Smrg          0     CopyFromParent
963ea1d6981Smrg     4     BITMASK                         value-mask (has n bits set to 1)
964ea1d6981Smrg          #x00000001     background-pixmap
965ea1d6981Smrg          #x00000002     background-pixel
966ea1d6981Smrg          #x00000004     border-pixmap
967ea1d6981Smrg          #x00000008     border-pixel
968ea1d6981Smrg          #x00000010     bit-gravity
969ea1d6981Smrg          #x00000020     win-gravity
970ea1d6981Smrg          #x00000040     backing-store
971ea1d6981Smrg          #x00000080     backing-planes
972ea1d6981Smrg          #x00000100     backing-pixel
973ea1d6981Smrg          #x00000200     override-redirect
974ea1d6981Smrg          #x00000400     save-under
975ea1d6981Smrg          #x00000800     event-mask
976ea1d6981Smrg          #x00001000     do-not-propagate-mask
977ea1d6981Smrg          #x00002000     colormap
978ea1d6981Smrg          #x00004000     cursor
979ea1d6981Smrg     4n     LISTofVALUE                    value-list
980ea1d6981Smrg
981ea1d6981Smrg  VALUEs
982ea1d6981Smrg     4     PIXMAP                          background-pixmap
983ea1d6981Smrg          0     None
984ea1d6981Smrg          1     ParentRelative
985ea1d6981Smrg     4     CARD32                          background-pixel
986ea1d6981Smrg     4     PIXMAP                          border-pixmap
987ea1d6981Smrg          0     CopyFromParent
988ea1d6981Smrg     4     CARD32                          border-pixel
989ea1d6981Smrg     1     BITGRAVITY                      bit-gravity
990ea1d6981Smrg     1     WINGRAVITY                      win-gravity
991ea1d6981Smrg     1                                     backing-store
992ea1d6981Smrg          0     NotUseful
993ea1d6981Smrg          1     WhenMapped
994ea1d6981Smrg          2     Always
995ea1d6981Smrg     4     CARD32                          backing-planes
996ea1d6981Smrg     4     CARD32                          backing-pixel
997ea1d6981Smrg     1     BOOL                            override-redirect
998ea1d6981Smrg     1     BOOL                            save-under
999ea1d6981Smrg     4     SETofEVENT                      event-mask
1000ea1d6981Smrg     4     SETofDEVICEEVENT                do-not-propagate-mask
1001ea1d6981Smrg     4     COLORMAP                        colormap
1002ea1d6981Smrg          0     CopyFromParent
1003ea1d6981Smrg     4     CURSOR                          cursor
1004ea1d6981Smrg          0     None
1005ea1d6981Smrg
1006ea1d6981Smrg<link linkend="requests:ChangeWindowAttributes"><emphasis role='bold'>ChangeWindowAttributes</emphasis></link>
1007ea1d6981Smrg     1     2                               opcode
1008ea1d6981Smrg     1                                     unused
1009ea1d6981Smrg     2     3+n                             request length
1010ea1d6981Smrg     4     WINDOW                          window
1011ea1d6981Smrg     4     BITMASK                         value-mask (has n bits set to 1)
1012ea1d6981Smrg          encodings are the same as for CreateWindow
1013ea1d6981Smrg     4n     LISTofVALUE                    value-list
1014ea1d6981Smrg          encodings are the same as for CreateWindow
1015ea1d6981Smrg
1016ea1d6981Smrg<link linkend="requests:GetWindowAttributes"><emphasis role='bold'>GetWindowAttributes</emphasis></link>
1017ea1d6981Smrg     1     3                               opcode
1018ea1d6981Smrg     1                                     unused
1019ea1d6981Smrg     2     2                               request length
1020ea1d6981Smrg     4     WINDOW                          window
1021ea1d6981Smrg
1022ea1d6981Smrg1023ea1d6981Smrg     1     1                               Reply
1024ea1d6981Smrg     1                                     backing-store
1025ea1d6981Smrg          0     NotUseful
1026ea1d6981Smrg          1     WhenMapped
1027ea1d6981Smrg          2     Always
1028ea1d6981Smrg     2     CARD16                          sequence number
1029ea1d6981Smrg     4     3                               reply length
1030ea1d6981Smrg     4     VISUALID                        visual
1031ea1d6981Smrg     2                                     class
1032ea1d6981Smrg          1     InputOutput
1033ea1d6981Smrg          2     InputOnly
1034ea1d6981Smrg     1     BITGRAVITY                      bit-gravity
1035ea1d6981Smrg     1     WINGRAVITY                      win-gravity
1036ea1d6981Smrg     4     CARD32                          backing-planes
1037ea1d6981Smrg     4     CARD32                          backing-pixel
1038ea1d6981Smrg     1     BOOL                            save-under
1039ea1d6981Smrg     1     BOOL                            map-is-installed
1040ea1d6981Smrg     1                                     map-state
1041ea1d6981Smrg          0     Unmapped
1042ea1d6981Smrg          1     Unviewable
1043ea1d6981Smrg          2     Viewable
1044ea1d6981Smrg     1     BOOL                            override-redirect
1045ea1d6981Smrg     4     COLORMAP                        colormap
1046ea1d6981Smrg          0     None
1047ea1d6981Smrg     4     SETofEVENT                      all-event-masks
1048ea1d6981Smrg     4     SETofEVENT                      your-event-mask
1049ea1d6981Smrg     2     SETofDEVICEEVENT                do-not-propagate-mask
1050ea1d6981Smrg     2                                     unused
1051ea1d6981Smrg
1052ea1d6981Smrg<link linkend="requests:DestroyWindow"><emphasis role='bold'>DestroyWindow</emphasis></link>
1053ea1d6981Smrg     1     4                               opcode
1054ea1d6981Smrg     1                                     unused
1055ea1d6981Smrg     2     2                               request length
1056ea1d6981Smrg     4     WINDOW                          window
1057ea1d6981Smrg
1058ea1d6981Smrg<link linkend="requests:DestroySubwindows"><emphasis role='bold'>DestroySubwindows</emphasis></link>
1059ea1d6981Smrg     1     5                               opcode
1060ea1d6981Smrg     1                                     unused
1061ea1d6981Smrg     2     2                               request length
1062ea1d6981Smrg     4     WINDOW                          window
1063ea1d6981Smrg
1064ea1d6981Smrg<link linkend="requests:ChangeSaveSet"><emphasis role='bold'>ChangeSaveSet</emphasis></link>
1065ea1d6981Smrg     1     6                               opcode
1066ea1d6981Smrg     1                                     mode
1067ea1d6981Smrg          0     Insert
1068ea1d6981Smrg          1     Delete
1069ea1d6981Smrg     2     2                               request length
1070ea1d6981Smrg     4     WINDOW                          window
1071ea1d6981Smrg
1072ea1d6981Smrg<link linkend="requests:ReparentWindow"><emphasis role='bold'>ReparentWindow</emphasis></link>
1073ea1d6981Smrg     1     7                               opcode
1074ea1d6981Smrg     1                                     unused
1075ea1d6981Smrg     2     4                               request length
1076ea1d6981Smrg     4     WINDOW                          window
1077ea1d6981Smrg     4     WINDOW                          parent
1078ea1d6981Smrg     2     INT16                           x
1079ea1d6981Smrg     2     INT16                           y
1080ea1d6981Smrg
1081ea1d6981Smrg<link linkend="requests:MapWindow"><emphasis role='bold'>MapWindow</emphasis></link>
1082ea1d6981Smrg     1     8                               opcode
1083ea1d6981Smrg     1                                     unused
1084ea1d6981Smrg     2     2                               request length
1085ea1d6981Smrg     4     WINDOW                          window
1086ea1d6981Smrg
1087ea1d6981Smrg<link linkend="requests:MapSubwindows"><emphasis role='bold'>MapSubwindows</emphasis></link>
1088ea1d6981Smrg     1     9                               opcode
1089ea1d6981Smrg     1                                     unused
1090ea1d6981Smrg     2     2                               request length
1091ea1d6981Smrg     4     WINDOW                          window
1092ea1d6981Smrg
1093ea1d6981Smrg<link linkend="requests:UnmapWindow"><emphasis role='bold'>UnmapWindow</emphasis></link>
1094ea1d6981Smrg     1     10                              opcode
1095ea1d6981Smrg     1                                     unused
1096ea1d6981Smrg     2     2                               request length
1097ea1d6981Smrg     4     WINDOW                          window
1098ea1d6981Smrg
1099ea1d6981Smrg<link linkend="requests:UnmapSubwindows"><emphasis role='bold'>UnmapSubwindows</emphasis></link>
1100ea1d6981Smrg     1     11                              opcode
1101ea1d6981Smrg     1                                     unused
1102ea1d6981Smrg     2     2                               request length
1103ea1d6981Smrg     4     WINDOW                          window
1104ea1d6981Smrg
1105ea1d6981Smrg<link linkend="requests:ConfigureWindow"><emphasis role='bold'>ConfigureWindow</emphasis></link>
1106ea1d6981Smrg     1     12                              opcode
1107ea1d6981Smrg     1                                     unused
1108ea1d6981Smrg     2     3+n                             request length
1109ea1d6981Smrg     4     WINDOW                          window
1110ea1d6981Smrg     2     BITMASK                         value-mask (has n bits set to 1)
1111ea1d6981Smrg          #x0001     x
1112ea1d6981Smrg          #x0002     y
1113ea1d6981Smrg          #x0004     width
1114ea1d6981Smrg          #x0008     height
1115ea1d6981Smrg          #x0010     border-width
1116ea1d6981Smrg          #x0020     sibling
1117ea1d6981Smrg          #x0040     stack-mode
1118ea1d6981Smrg     2               unused
1119ea1d6981Smrg     4n     LISTofVALUE                    value-list
1120ea1d6981Smrg
1121ea1d6981Smrg  VALUEs
1122ea1d6981Smrg     2     INT16                           x
1123ea1d6981Smrg     2     INT16                           y
1124ea1d6981Smrg     2     CARD16                          width
1125ea1d6981Smrg     2     CARD16                          height
1126ea1d6981Smrg     2     CARD16                          border-width
1127ea1d6981Smrg     4     WINDOW                          sibling
1128ea1d6981Smrg     1                                     stack-mode
1129ea1d6981Smrg          0     Above
1130ea1d6981Smrg          1     Below
1131ea1d6981Smrg          2     TopIf
1132ea1d6981Smrg          3     BottomIf
1133ea1d6981Smrg          4     Opposite
1134ea1d6981Smrg
1135ea1d6981Smrg<link linkend="requests:CirculateWindow"><emphasis role='bold'>CirculateWindow</emphasis></link>
1136ea1d6981Smrg     1     13                              opcode
1137ea1d6981Smrg     1                                     direction
1138ea1d6981Smrg          0     RaiseLowest
1139ea1d6981Smrg          1     LowerHighest
1140ea1d6981Smrg     2     2                               request length
1141ea1d6981Smrg     4     WINDOW                          window
1142ea1d6981Smrg
1143ea1d6981Smrg<link linkend="requests:GetGeometry"><emphasis role='bold'>GetGeometry</emphasis></link>
1144ea1d6981Smrg     1     14                              opcode
1145ea1d6981Smrg     1                                     unused
1146ea1d6981Smrg     2     2                               request length
1147ea1d6981Smrg     4     DRAWABLE                        drawable
1148ea1d6981Smrg
1149ea1d6981Smrg1150ea1d6981Smrg     1     1                               Reply
1151ea1d6981Smrg     1     CARD8                           depth
1152ea1d6981Smrg     2     CARD16                          sequence number
1153ea1d6981Smrg     4     0                               reply length
1154ea1d6981Smrg     4     WINDOW                          root
1155ea1d6981Smrg     2     INT16                           x
1156ea1d6981Smrg     2     INT16                           y
1157ea1d6981Smrg     2     CARD16                          width
1158ea1d6981Smrg     2     CARD16                          height
1159ea1d6981Smrg     2     CARD16                          border-width
1160ea1d6981Smrg     10                                    unused
1161ea1d6981Smrg
1162ea1d6981Smrg<link linkend="requests:QueryTree"><emphasis role='bold'>QueryTree</emphasis></link>
1163ea1d6981Smrg     1     15                              opcode
1164ea1d6981Smrg     1                                     unused
1165ea1d6981Smrg     2     2                               request length
1166ea1d6981Smrg     4     WINDOW                          window
1167ea1d6981Smrg
1168ea1d6981Smrg1169ea1d6981Smrg     1     1                               Reply
1170ea1d6981Smrg     1                                     unused
1171ea1d6981Smrg     2     CARD16                          sequence number
1172ea1d6981Smrg     4     n                               reply length
1173ea1d6981Smrg     4     WINDOW                          root
1174ea1d6981Smrg     4     WINDOW                          parent
1175ea1d6981Smrg          0     None
1176ea1d6981Smrg     2     n                               number of WINDOWs in children
1177ea1d6981Smrg     14                                    unused
1178ea1d6981Smrg     4n     LISTofWINDOW                   children
1179ea1d6981Smrg
1180ea1d6981Smrg<link linkend="requests:InternAtom"><emphasis role='bold'>InternAtom</emphasis></link>
1181ea1d6981Smrg     1     16                              opcode
1182ea1d6981Smrg     1     BOOL                            only-if-exists
1183ea1d6981Smrg     2     2+(n+p)/4                       request length
1184ea1d6981Smrg     2     n                               length of name
1185ea1d6981Smrg     2                                     unused
1186ea1d6981Smrg     n     STRING8                         name
1187ea1d6981Smrg     p                                     unused, p=pad(n)
1188ea1d6981Smrg
1189ea1d6981Smrg1190ea1d6981Smrg     1     1                               Reply
1191ea1d6981Smrg     1                                     unused
1192ea1d6981Smrg     2     CARD16                          sequence number
1193ea1d6981Smrg     4     0                               reply length
1194ea1d6981Smrg     4     ATOM                            atom
1195ea1d6981Smrg           0     None
1196ea1d6981Smrg     20                                    unused
1197ea1d6981Smrg
1198ea1d6981Smrg<link linkend="requests:GetAtomName"><emphasis role='bold'>GetAtomName</emphasis></link>
1199ea1d6981Smrg     1     17                              opcode
1200ea1d6981Smrg     1                                     unused
1201ea1d6981Smrg     2     2                               request length
1202ea1d6981Smrg     4     ATOM                            atom
1203ea1d6981Smrg
1204ea1d6981Smrg1205ea1d6981Smrg     1     1                               Reply
1206ea1d6981Smrg     1                                     unused
1207ea1d6981Smrg     2     CARD16                          sequence number
1208ea1d6981Smrg     4     (n+p)/4                         reply length
1209ea1d6981Smrg     2     n                               length of name
1210ea1d6981Smrg     22                                    unused
1211ea1d6981Smrg     n     STRING8                         name
1212ea1d6981Smrg     p                                     unused, p=pad(n)
1213ea1d6981Smrg
1214ea1d6981Smrg<link linkend="requests:ChangeProperty"><emphasis role='bold'>ChangeProperty</emphasis></link>
1215ea1d6981Smrg     1     18                              opcode
1216ea1d6981Smrg     1                                     mode
1217ea1d6981Smrg          0     Replace
1218ea1d6981Smrg          1     Prepend
1219ea1d6981Smrg          2     Append
1220ea1d6981Smrg     2     6+(n+p)/4                       request length
1221ea1d6981Smrg     4     WINDOW                          window
1222ea1d6981Smrg     4     ATOM                            property
1223ea1d6981Smrg     4     ATOM                            type
1224ea1d6981Smrg     1     CARD8                           format
1225ea1d6981Smrg     3                                     unused
1226ea1d6981Smrg     4     CARD32                          length of data in format units
1227ea1d6981Smrg                    (= n for format = 8)
1228ea1d6981Smrg                    (= n/2 for format = 16)
1229ea1d6981Smrg                    (= n/4 for format = 32)
1230ea1d6981Smrg     n     LISTofBYTE                      data
1231ea1d6981Smrg                    (n is a multiple of 2 for format = 16)
1232ea1d6981Smrg                    (n is a multiple of 4 for format = 32)
1233ea1d6981Smrg     p                                     unused, p=pad(n)
1234ea1d6981Smrg
1235ea1d6981Smrg
1236ea1d6981Smrg<link linkend="requests:DeleteProperty"><emphasis role='bold'>DeleteProperty</emphasis></link>
1237ea1d6981Smrg     1     19                              opcode
1238ea1d6981Smrg     1                                     unused
1239ea1d6981Smrg     2     3                               request length
1240ea1d6981Smrg     4     WINDOW                          window
1241ea1d6981Smrg     4     ATOM                            property
1242ea1d6981Smrg
1243ea1d6981Smrg<link linkend="requests:GetProperty"><emphasis role='bold'>GetProperty</emphasis></link>
1244ea1d6981Smrg     1     20                              opcode
1245ea1d6981Smrg     1     BOOL                            delete
1246ea1d6981Smrg     2     6                               request length
1247ea1d6981Smrg     4     WINDOW                          window
1248ea1d6981Smrg     4     ATOM                            property
1249ea1d6981Smrg     4     ATOM                            type
1250ea1d6981Smrg          0     AnyPropertyType
1251ea1d6981Smrg     4     CARD32                          long-offset
1252ea1d6981Smrg     4     CARD32                          long-length
1253ea1d6981Smrg
1254ea1d6981Smrg1255ea1d6981Smrg     1     1                               Reply
1256ea1d6981Smrg     1     CARD8                           format
1257ea1d6981Smrg     2     CARD16                          sequence number
1258ea1d6981Smrg     4     (n+p)/4                         reply length
1259ea1d6981Smrg     4     ATOM                            type
1260ea1d6981Smrg          0     None
1261ea1d6981Smrg     4     CARD32                          bytes-after
1262ea1d6981Smrg     4     CARD32                          length of value in format units
1263ea1d6981Smrg                    (= 0 for format = 0)
1264ea1d6981Smrg                    (= n for format = 8)
1265ea1d6981Smrg                    (= n/2 for format = 16)
1266ea1d6981Smrg                    (= n/4 for format = 32)
1267ea1d6981Smrg     12                                    unused
1268ea1d6981Smrg     n     LISTofBYTE                      value
1269ea1d6981Smrg                    (n is zero for format = 0)
1270ea1d6981Smrg                    (n is a multiple of 2 for format = 16)
1271ea1d6981Smrg                    (n is a multiple of 4 for format = 32)
1272ea1d6981Smrg     p                                     unused, p=pad(n)
1273ea1d6981Smrg
1274ea1d6981Smrg<link linkend="requests:ListProperties"><emphasis role='bold'>ListProperties</emphasis></link>
1275ea1d6981Smrg     1     21                              opcode
1276ea1d6981Smrg     1                                     unused
1277ea1d6981Smrg     2     2                               request length
1278ea1d6981Smrg     4     WINDOW                          window
1279ea1d6981Smrg
1280ea1d6981Smrg1281ea1d6981Smrg     1     1                               Reply
1282ea1d6981Smrg     1                                     unused
1283ea1d6981Smrg     2     CARD16                          sequence number
1284ea1d6981Smrg     4     n                               reply length
1285ea1d6981Smrg     2     n                               number of ATOMs in atoms
1286ea1d6981Smrg     22                                    unused
1287ea1d6981Smrg     4n     LISTofATOM                     atoms
1288ea1d6981Smrg
1289ea1d6981Smrg<link linkend="requests:SetSelectionOwner"><emphasis role='bold'>SetSelectionOwner</emphasis></link>
1290ea1d6981Smrg     1     22                              opcode
1291ea1d6981Smrg     1                                     unused
1292ea1d6981Smrg     2     4                               request length
1293ea1d6981Smrg     4     WINDOW                          owner
1294ea1d6981Smrg          0     None
1295ea1d6981Smrg     4     ATOM                            selection
1296ea1d6981Smrg     4     TIMESTAMP                       time
1297ea1d6981Smrg          0     CurrentTime
1298ea1d6981Smrg
1299ea1d6981Smrg<link linkend="requests:GetSelectionOwner"><emphasis role='bold'>GetSelectionOwner</emphasis></link>
1300ea1d6981Smrg     1     23                              opcode
1301ea1d6981Smrg     1                                     unused
1302ea1d6981Smrg     2     2                               request length
1303ea1d6981Smrg     4     ATOM                            selection
1304ea1d6981Smrg
1305ea1d6981Smrg1306ea1d6981Smrg     1     1                               Reply
1307ea1d6981Smrg     1                                     unused
1308ea1d6981Smrg     2     CARD16                          sequence number
1309ea1d6981Smrg     4     0                               reply length
1310ea1d6981Smrg     4     WINDOW                          owner
1311ea1d6981Smrg          0     None
1312ea1d6981Smrg     20                                    unused
1313ea1d6981Smrg
1314ea1d6981Smrg<link linkend="requests:ConvertSelection"><emphasis role='bold'>ConvertSelection</emphasis></link>
1315ea1d6981Smrg     1     24                              opcode
1316ea1d6981Smrg     1                                     unused
1317ea1d6981Smrg     2     6                               request length
1318ea1d6981Smrg     4     WINDOW                          requestor
1319ea1d6981Smrg     4     ATOM                            selection
1320ea1d6981Smrg     4     ATOM                            target
1321ea1d6981Smrg     4     ATOM                            property
1322ea1d6981Smrg          0     None
1323ea1d6981Smrg     4     TIMESTAMP                       time
1324ea1d6981Smrg          0     CurrentTime
1325ea1d6981Smrg
1326ea1d6981Smrg<link linkend="requests:SendEvent"><emphasis role='bold'>SendEvent</emphasis></link>
1327ea1d6981Smrg     1     25                              opcode
1328ea1d6981Smrg     1     BOOL                            propagate
1329ea1d6981Smrg     2     11                              requestlength
1330ea1d6981Smrg     4     WINDOW                          destination
1331ea1d6981Smrg          0     PointerWindow
1332ea1d6981Smrg          1     InputFocus
1333ea1d6981Smrg     4     SETofEVENT                      event-mask
1334ea1d6981Smrg     32                                    event
1335ea1d6981Smrg          standard event format (see <link linkend='Events'>the Events section</link>)
1336ea1d6981Smrg
1337ea1d6981Smrg<link linkend="requests:GrabPointer"><emphasis role='bold'>GrabPointer</emphasis></link>
1338ea1d6981Smrg     1     26                              opcode
1339ea1d6981Smrg     1     BOOL                            owner-events
1340ea1d6981Smrg     2     6                               request length
1341ea1d6981Smrg     4     WINDOW                          grab-window
1342ea1d6981Smrg     2     SETofPOINTEREVENT               event-mask
1343ea1d6981Smrg     1                                     pointer-mode
1344ea1d6981Smrg          0     Synchronous
1345ea1d6981Smrg          1     Asynchronous
1346ea1d6981Smrg     1                                     keyboard-mode
1347ea1d6981Smrg          0     Synchronous
1348ea1d6981Smrg          1     Asynchronous
1349ea1d6981Smrg     4     WINDOW                          confine-to
1350ea1d6981Smrg          0     None
1351ea1d6981Smrg     4     CURSOR                          cursor
1352ea1d6981Smrg          0     None
1353ea1d6981Smrg     4     TIMESTAMP                       time
1354ea1d6981Smrg          0     CurrentTime
1355ea1d6981Smrg
1356ea1d6981Smrg1357ea1d6981Smrg     1     1                               Reply
1358ea1d6981Smrg     1                                     status
1359ea1d6981Smrg          0     Success
1360ea1d6981Smrg          1     AlreadyGrabbed
1361ea1d6981Smrg          2     InvalidTime
1362ea1d6981Smrg          3     NotViewable
1363ea1d6981Smrg          4     Frozen
1364ea1d6981Smrg     2     CARD16                          sequence number
1365ea1d6981Smrg     4     0                               reply length
1366ea1d6981Smrg     24                                    unused
1367ea1d6981Smrg
1368ea1d6981Smrg<link linkend="requests:UngrabPointer"><emphasis role='bold'>UngrabPointer</emphasis></link>
1369ea1d6981Smrg     1     27                              opcode
1370ea1d6981Smrg     1                                     unused
1371ea1d6981Smrg     2     2                               request length
1372ea1d6981Smrg     4     TIMESTAMP                       time
1373ea1d6981Smrg          0     CurrentTime
1374ea1d6981Smrg
1375ea1d6981Smrg<link linkend="requests:GrabButton"><emphasis role='bold'>GrabButton</emphasis></link>
1376ea1d6981Smrg     1     28                              opcode
1377ea1d6981Smrg     1     BOOL                            owner-events
1378ea1d6981Smrg     2     6                               request length
1379ea1d6981Smrg     4     WINDOW                          grab-window
1380ea1d6981Smrg     2     SETofPOINTEREVENT               event-mask
1381ea1d6981Smrg     1                                     pointer-mode
1382ea1d6981Smrg          0     Synchronous
1383ea1d6981Smrg          1     Asynchronous
1384ea1d6981Smrg     1                                     keyboard-mode
1385ea1d6981Smrg          0     Synchronous
1386ea1d6981Smrg          1     Asynchronous
1387ea1d6981Smrg     4     WINDOW                          confine-to
1388ea1d6981Smrg          0     None
1389ea1d6981Smrg     4     CURSOR                          cursor
1390ea1d6981Smrg          0     None
1391ea1d6981Smrg     1     BUTTON                          button
1392ea1d6981Smrg          0     AnyButton
1393ea1d6981Smrg     1                                     unused
1394ea1d6981Smrg     2     SETofKEYMASK                    modifiers
1395ea1d6981Smrg          #x8000                           AnyModifier
1396ea1d6981Smrg
1397ea1d6981Smrg<link linkend="requests:UngrabButton"><emphasis role='bold'>UngrabButton</emphasis></link>
1398ea1d6981Smrg     1     29                              opcode
1399ea1d6981Smrg     1     BUTTON                          button
1400ea1d6981Smrg          0     AnyButton
1401ea1d6981Smrg     2     3                               request length
1402ea1d6981Smrg     4     WINDOW                          grab-window
1403ea1d6981Smrg     2     SETofKEYMASK                    modifiers
1404ea1d6981Smrg          #x8000                           AnyModifier
1405ea1d6981Smrg     2                                     unused
1406ea1d6981Smrg
1407ea1d6981Smrg<link linkend="requests:ChangeActivePointerGrab"><emphasis role='bold'>ChangeActivePointerGrab</emphasis></link>
1408ea1d6981Smrg     1     30                              opcode
1409ea1d6981Smrg     1                                     unused
1410ea1d6981Smrg     2     4                               request length
1411ea1d6981Smrg     4     CURSOR                          cursor
1412ea1d6981Smrg          0     None
1413ea1d6981Smrg     4     TIMESTAMP                       time
1414ea1d6981Smrg          0     CurrentTime
1415ea1d6981Smrg     2     SETofPOINTEREVENT               event-mask
1416ea1d6981Smrg     2                                     unused
1417ea1d6981Smrg
1418ea1d6981Smrg<link linkend="requests:GrabKeyboard"><emphasis role='bold'>GrabKeyboard</emphasis></link>
1419ea1d6981Smrg     1     31                              opcode
1420ea1d6981Smrg     1     BOOL                            owner-events
1421ea1d6981Smrg     2     4                               request length
1422ea1d6981Smrg     4     WINDOW                          grab-window
1423ea1d6981Smrg     4     TIMESTAMP                       time
1424ea1d6981Smrg          0     CurrentTime
1425ea1d6981Smrg     1                                     pointer-mode
1426ea1d6981Smrg          0     Synchronous
1427ea1d6981Smrg          1     Asynchronous
1428ea1d6981Smrg     1                                     keyboard-mode
1429ea1d6981Smrg          0     Synchronous
1430ea1d6981Smrg          1     Asynchronous
1431ea1d6981Smrg     2                                     unused
1432ea1d6981Smrg
1433ea1d6981Smrg1434ea1d6981Smrg     1     1                               Reply
1435ea1d6981Smrg     1                                     status
1436ea1d6981Smrg          0     Success
1437ea1d6981Smrg          1     AlreadyGrabbed
1438ea1d6981Smrg          2     InvalidTime
1439ea1d6981Smrg          3     NotViewable
1440ea1d6981Smrg          4     Frozen
1441ea1d6981Smrg     2     CARD16                          sequence number
1442ea1d6981Smrg     4     0                               reply length
1443ea1d6981Smrg     24                                    unused
1444ea1d6981Smrg
1445ea1d6981Smrg<link linkend="requests:UngrabKeyboard"><emphasis role='bold'>UngrabKeyboard</emphasis></link>
1446ea1d6981Smrg     1     32                              opcode
1447ea1d6981Smrg     1                                     unused
1448ea1d6981Smrg     2     2                               request length
1449ea1d6981Smrg     4     TIMESTAMP                       time
1450ea1d6981Smrg          0     CurrentTime
1451ea1d6981Smrg
1452ea1d6981Smrg<link linkend="requests:GrabKey"><emphasis role='bold'>GrabKey</emphasis></link>
1453ea1d6981Smrg     1     33                              opcode
1454ea1d6981Smrg     1     BOOL                            owner-events
1455ea1d6981Smrg     2     4                               request length
1456ea1d6981Smrg     4     WINDOW                          grab-window
1457ea1d6981Smrg     2     SETofKEYMASK                    modifiers
1458ea1d6981Smrg          #x8000     AnyModifier
1459ea1d6981Smrg     1     KEYCODE                         key
1460ea1d6981Smrg          0     AnyKey
1461ea1d6981Smrg     1                                     pointer-mode
1462ea1d6981Smrg          0     Synchronous
1463ea1d6981Smrg          1     Asynchronous
1464ea1d6981Smrg     1                                     keyboard-mode
1465ea1d6981Smrg          0     Synchronous
1466ea1d6981Smrg          1     Asynchronous
1467ea1d6981Smrg     3                                     unused
1468ea1d6981Smrg
1469ea1d6981Smrg<link linkend="requests:UngrabKey"><emphasis role='bold'>UngrabKey</emphasis></link>
1470ea1d6981Smrg     1     34                              opcode
1471ea1d6981Smrg     1     KEYCODE                         key
1472ea1d6981Smrg          0     AnyKey
1473ea1d6981Smrg     2     3                               request length
1474ea1d6981Smrg     4     WINDOW                          grab-window
1475ea1d6981Smrg     2     SETofKEYMASK                    modifiers
1476ea1d6981Smrg          #x8000     AnyModifier
1477ea1d6981Smrg     2                                     unused
1478ea1d6981Smrg
1479ea1d6981Smrg<link linkend="requests:AllowEvents"><emphasis role='bold'>AllowEvents</emphasis></link>
1480ea1d6981Smrg     1     35                              opcode
1481ea1d6981Smrg     1                                     mode
1482ea1d6981Smrg          0     AsyncPointer
1483ea1d6981Smrg          1     SyncPointer
1484ea1d6981Smrg          2     ReplayPointer
1485ea1d6981Smrg          3     AsyncKeyboard
1486ea1d6981Smrg          4     SyncKeyboard
1487ea1d6981Smrg          5     ReplayKeyboard
1488ea1d6981Smrg          6     AsyncBoth
1489ea1d6981Smrg          7     SyncBoth
1490ea1d6981Smrg     2     2                               request length
1491ea1d6981Smrg     4     TIMESTAMP                       time
1492ea1d6981Smrg          0     CurrentTime
1493ea1d6981Smrg
1494ea1d6981Smrg<link linkend="requests:GrabServer"><emphasis role='bold'>GrabServer</emphasis></link>
1495ea1d6981Smrg     1     36                              opcode
1496ea1d6981Smrg     1                                     unused
1497ea1d6981Smrg     2     1                               request length
1498ea1d6981Smrg
1499ea1d6981Smrg<link linkend="requests:UngrabServer"><emphasis role='bold'>UngrabServer</emphasis></link>
1500ea1d6981Smrg     1     37                              opcode
1501ea1d6981Smrg     1                                     unused
1502ea1d6981Smrg     2     1                               request length
1503ea1d6981Smrg
1504ea1d6981Smrg<link linkend="requests:QueryPointer"><emphasis role='bold'>QueryPointer</emphasis></link>
1505ea1d6981Smrg     1     38                              opcode
1506ea1d6981Smrg     1                                     unused
1507ea1d6981Smrg     2     2                               request length
1508ea1d6981Smrg     4     WINDOW                          window
1509ea1d6981Smrg
1510ea1d6981Smrg1511ea1d6981Smrg     1     1                               Reply
1512ea1d6981Smrg     1     BOOL                            same-screen
1513ea1d6981Smrg     2     CARD16                          sequence number
1514ea1d6981Smrg     4     0                               reply length
1515ea1d6981Smrg     4     WINDOW                          root
1516ea1d6981Smrg     4     WINDOW                          child
1517ea1d6981Smrg          0     None
1518ea1d6981Smrg     2     INT16                           root-x
1519ea1d6981Smrg     2     INT16                           root-y
1520ea1d6981Smrg     2     INT16                           win-x
1521ea1d6981Smrg     2     INT16                           win-y
1522ea1d6981Smrg     2     SETofKEYBUTMASK                 mask
1523ea1d6981Smrg     6                                     unused
1524ea1d6981Smrg
1525ea1d6981Smrg<link linkend="requests:GetMotionEvents"><emphasis role='bold'>GetMotionEvents</emphasis></link>
1526ea1d6981Smrg     1     39                              opcode
1527ea1d6981Smrg     1                                     unused
1528ea1d6981Smrg     2     4                               request length
1529ea1d6981Smrg     4     WINDOW                          window
1530ea1d6981Smrg     4     TIMESTAMP                       start
1531ea1d6981Smrg          0     CurrentTime
1532ea1d6981Smrg     4     TIMESTAMP                       stop
1533ea1d6981Smrg          0     CurrentTime
1534ea1d6981Smrg
1535ea1d6981Smrg1536ea1d6981Smrg     1     1                               Reply
1537ea1d6981Smrg     1                                     unused
1538ea1d6981Smrg     2     CARD16                          sequence number
1539ea1d6981Smrg     4     2n                              reply length
1540ea1d6981Smrg     4     n                               number of TIMECOORDs in events
1541ea1d6981Smrg     20                                    unused
1542ea1d6981Smrg     8n     LISTofTIMECOORD                events
1543ea1d6981Smrg
1544ea1d6981Smrg  TIMECOORD
1545ea1d6981Smrg     4     TIMESTAMP                       time
1546ea1d6981Smrg     2     INT16                           x
1547ea1d6981Smrg     2     INT16                           y
1548ea1d6981Smrg
1549ea1d6981Smrg<link linkend="requests:TranslateCoordinates"><emphasis role='bold'>TranslateCoordinates</emphasis></link>
1550ea1d6981Smrg     1     40                              opcode
1551ea1d6981Smrg     1                                     unused
1552ea1d6981Smrg     2     4                               request length
1553ea1d6981Smrg     4     WINDOW                          src-window
1554ea1d6981Smrg     4     WINDOW                          dst-window
1555ea1d6981Smrg     2     INT16                           src-x
1556ea1d6981Smrg     2     INT16                           src-y
1557ea1d6981Smrg1558ea1d6981Smrg     1     1                               Reply
1559ea1d6981Smrg     1     BOOL                            same-screen
1560ea1d6981Smrg     2     CARD16                          sequence number
1561ea1d6981Smrg     4     0                               reply length
1562ea1d6981Smrg     4     WINDOW                          child
1563ea1d6981Smrg          0     None
1564ea1d6981Smrg     2     INT16                           dst-x
1565ea1d6981Smrg     2     INT16                           dst-y
1566ea1d6981Smrg     16                                    unused
1567ea1d6981Smrg
1568ea1d6981Smrg<link linkend="requests:WarpPointer"><emphasis role='bold'>WarpPointer</emphasis></link>
1569ea1d6981Smrg     1     41                              opcode
1570ea1d6981Smrg     1                                     unused
1571ea1d6981Smrg     2     6                               request length
1572ea1d6981Smrg     4     WINDOW                          src-window
1573ea1d6981Smrg          0     None
1574ea1d6981Smrg     4     WINDOW                          dst-window
1575ea1d6981Smrg          0     None
1576ea1d6981Smrg     2     INT16                           src-x
1577ea1d6981Smrg     2     INT16                           src-y
1578ea1d6981Smrg     2     CARD16                          src-width
1579ea1d6981Smrg     2     CARD16                          src-height
1580ea1d6981Smrg     2     INT16                           dst-x
1581ea1d6981Smrg     2     INT16                           dst-y
1582ea1d6981Smrg
1583ea1d6981Smrg<link linkend="requests:SetInputFocus"><emphasis role='bold'>SetInputFocus</emphasis></link>
1584ea1d6981Smrg     1     42                              opcode
1585ea1d6981Smrg     1                                     revert-to
1586ea1d6981Smrg          0     None
1587ea1d6981Smrg          1     PointerRoot
1588ea1d6981Smrg          2     Parent
1589ea1d6981Smrg     2     3                               request length
1590ea1d6981Smrg     4     WINDOW                          focus
1591ea1d6981Smrg          0     None
1592ea1d6981Smrg          1     PointerRoot
1593ea1d6981Smrg     4     TIMESTAMP                       time
1594ea1d6981Smrg          0     CurrentTime
1595ea1d6981Smrg
1596ea1d6981Smrg<link linkend="requests:GetInputFocus"><emphasis role='bold'>GetInputFocus</emphasis></link>
1597ea1d6981Smrg     1     43                              opcode
1598ea1d6981Smrg     1                                     unused
1599ea1d6981Smrg     2     1                               request length
1600ea1d6981Smrg
1601ea1d6981Smrg1602ea1d6981Smrg     1     1                               Reply
1603ea1d6981Smrg     1                                     revert-to
1604ea1d6981Smrg          0     None
1605ea1d6981Smrg          1     PointerRoot
1606ea1d6981Smrg          2     Parent
1607ea1d6981Smrg     2     CARD16                          sequence number
1608ea1d6981Smrg     4     0                               reply length
1609ea1d6981Smrg     4     WINDOW                          focus
1610ea1d6981Smrg          0     None
1611ea1d6981Smrg          1     PointerRoot
1612ea1d6981Smrg     20                                    unused
1613ea1d6981Smrg
1614ea1d6981Smrg<link linkend="requests:QueryKeymap"><emphasis role='bold'>QueryKeymap</emphasis></link>
1615ea1d6981Smrg     1     44                              opcode
1616ea1d6981Smrg     1                                     unused
1617ea1d6981Smrg     2     1                               request length
1618ea1d6981Smrg
1619ea1d6981Smrg1620ea1d6981Smrg     1     1                               Reply
1621ea1d6981Smrg     1                                     unused
1622ea1d6981Smrg     2     CARD16                          sequence number
1623ea1d6981Smrg     4     2                               reply length
1624ea1d6981Smrg     32     LISTofCARD8                    keys
1625ea1d6981Smrg
1626ea1d6981Smrg<link linkend="requests:OpenFont"><emphasis role='bold'>OpenFont</emphasis></link>
1627ea1d6981Smrg     1     45                              opcode
1628ea1d6981Smrg     1                                     unused
1629ea1d6981Smrg     2     3+(n+p)/4                       request length
1630ea1d6981Smrg     4     FONT                            fid
1631ea1d6981Smrg     2     n                               length of name
1632ea1d6981Smrg     2                                     unused
1633ea1d6981Smrg     n     STRING8                         name
1634ea1d6981Smrg     p                                     unused, p=pad(n)
1635ea1d6981Smrg
1636ea1d6981Smrg<link linkend="requests:CloseFont"><emphasis role='bold'>CloseFont</emphasis></link>
1637ea1d6981Smrg     1     46                              opcode
1638ea1d6981Smrg     1                                     unused
1639ea1d6981Smrg     2     2                               request length
1640ea1d6981Smrg     4     FONT                            font
1641ea1d6981Smrg
1642ea1d6981Smrg<link linkend="requests:QueryFont"><emphasis role='bold'>QueryFont</emphasis></link>
1643ea1d6981Smrg     1     47                              opcode
1644ea1d6981Smrg     1                                     unused
1645ea1d6981Smrg     2     2                               request length
1646ea1d6981Smrg     4     FONTABLE                        font
1647ea1d6981Smrg
1648ea1d6981Smrg1649ea1d6981Smrg     1     1                               Reply
1650ea1d6981Smrg     1                                     unused
1651ea1d6981Smrg     2     CARD16                          sequence number
1652ea1d6981Smrg     4     7+2n+3m                         reply length
1653ea1d6981Smrg     12     CHARINFO                       min-bounds
1654ea1d6981Smrg     4                                     unused
1655ea1d6981Smrg     12     CHARINFO                       max-bounds
1656ea1d6981Smrg     4                                     unused
1657ea1d6981Smrg     2     CARD16                          min-char-or-byte2
1658ea1d6981Smrg     2     CARD16                          max-char-or-byte2
1659ea1d6981Smrg     2     CARD16                          default-char
1660ea1d6981Smrg     2     n                               number of FONTPROPs in properties
1661ea1d6981Smrg     1                                     draw-direction
1662ea1d6981Smrg          0     LeftToRight
1663ea1d6981Smrg          1     RightToLeft
1664ea1d6981Smrg     1     CARD8                           min-byte1
1665ea1d6981Smrg     1     CARD8                           max-byte1
1666ea1d6981Smrg     1     BOOL                            all-chars-exist
1667ea1d6981Smrg     2     INT16                           font-ascent
1668ea1d6981Smrg     2     INT16                           font-descent
1669ea1d6981Smrg     4     m                               number of CHARINFOs in char-infos
1670ea1d6981Smrg     8n     LISTofFONTPROP                 properties
1671ea1d6981Smrg     12m     LISTofCHARINFO                char-infos
1672ea1d6981Smrg
1673ea1d6981Smrg  FONTPROP
1674ea1d6981Smrg     4     ATOM                            name
1675ea1d6981Smrg     4     &lt;32-bits&gt;                 value
1676ea1d6981Smrg
1677ea1d6981Smrg  CHARINFO
1678ea1d6981Smrg     2     INT16                           left-side-bearing
1679ea1d6981Smrg     2     INT16                           right-side-bearing
1680ea1d6981Smrg     2     INT16                           character-width
1681ea1d6981Smrg     2     INT16                           ascent
1682ea1d6981Smrg     2     INT16                           descent
1683ea1d6981Smrg     2     CARD16                          attributes
1684ea1d6981Smrg
1685ea1d6981Smrg<link linkend="requests:QueryTextExtents"><emphasis role='bold'>QueryTextExtents</emphasis></link>
1686ea1d6981Smrg     1     48                              opcode
1687ea1d6981Smrg     1     BOOL                            odd length, True if p = 2
1688ea1d6981Smrg     2     2+(2n+p)/4                      request length
1689ea1d6981Smrg     4     FONTABLE                        font
1690ea1d6981Smrg     2n     STRING16                       string
1691ea1d6981Smrg     p                                     unused, p=pad(2n)
1692ea1d6981Smrg
1693ea1d6981Smrg1694ea1d6981Smrg     1     1                               Reply
1695ea1d6981Smrg     1                                     draw-direction
1696ea1d6981Smrg          0     LeftToRight
1697ea1d6981Smrg          1     RightToLeft
1698ea1d6981Smrg     2     CARD16                          sequence number
1699ea1d6981Smrg     4     0                               reply length
1700ea1d6981Smrg     2     INT16                           font-ascent
1701ea1d6981Smrg     2     INT16                           font-descent
1702ea1d6981Smrg     2     INT16                           overall-ascent
1703ea1d6981Smrg     2     INT16                           overall-descent
1704ea1d6981Smrg     4     INT32                           overall-width
1705ea1d6981Smrg     4     INT32                           overall-left
1706ea1d6981Smrg     4     INT32                           overall-right
1707ea1d6981Smrg     4                                     unused
1708ea1d6981Smrg
1709ea1d6981Smrg<link linkend="requests:ListFonts"><emphasis role='bold'>ListFonts</emphasis></link>
1710ea1d6981Smrg     1     49                              opcode
1711ea1d6981Smrg     1                                     unused
1712ea1d6981Smrg     2     2+(n+p)/4                       request length
1713ea1d6981Smrg     2     CARD16                          max-names
1714ea1d6981Smrg     2     n                               length of pattern
1715ea1d6981Smrg     n     STRING8                         pattern
1716ea1d6981Smrg     p                                     unused, p=pad(n)
1717ea1d6981Smrg
1718ea1d6981Smrg1719ea1d6981Smrg     1     1                               Reply
1720ea1d6981Smrg     1                                     unused
1721ea1d6981Smrg     2     CARD16                          sequence number
1722ea1d6981Smrg     4     (n+p)/4                         reply length
1723ea1d6981Smrg     2     CARD16                          number of STRs in names
1724ea1d6981Smrg     22                                    unused
1725ea1d6981Smrg     n     LISTofSTR                       names
1726ea1d6981Smrg     p                                     unused, p=pad(n)
1727ea1d6981Smrg
1728ea1d6981Smrg<link linkend="requests:ListFontsWithInfo"><emphasis role='bold'>ListFontsWithInfo</emphasis></link>
1729ea1d6981Smrg     1     50                              opcode
1730ea1d6981Smrg     1                                     unused
1731ea1d6981Smrg     2     2+(n+p)/4                       request length
1732ea1d6981Smrg     2     CARD16                          max-names
1733ea1d6981Smrg     2     n                               length of pattern
1734ea1d6981Smrg     n     STRING8                         pattern
1735ea1d6981Smrg     p                                     unused, p=pad(n)
1736ea1d6981Smrg
1737ea1d6981Smrg▶ (except for last in series)
1738ea1d6981Smrg     1     1                               Reply
1739ea1d6981Smrg     1     n                               length of name in bytes
1740ea1d6981Smrg     2     CARD16                          sequence number
1741ea1d6981Smrg     4     7+2m+(n+p)/4                    reply length
1742ea1d6981Smrg     12     CHARINFO                       min-bounds
1743ea1d6981Smrg     4                                     unused
1744ea1d6981Smrg     12     CHARINFO                       max-bounds
1745ea1d6981Smrg     4                                     unused
1746ea1d6981Smrg     2     CARD16                          min-char-or-byte2
1747ea1d6981Smrg     2     CARD16                          max-char-or-byte2
1748ea1d6981Smrg     2     CARD16                          default-char
1749ea1d6981Smrg     2     m                               number of FONTPROPs in properties
1750ea1d6981Smrg     1                                     draw-direction
1751ea1d6981Smrg          0     LeftToRight
1752ea1d6981Smrg          1     RightToLeft
1753ea1d6981Smrg     1     CARD8                           min-byte1
1754ea1d6981Smrg     1     CARD8                           max-byte1
1755ea1d6981Smrg     1     BOOL                            all-chars-exist
1756ea1d6981Smrg     2     INT16                           font-ascent
1757ea1d6981Smrg     2     INT16                           font-descent
1758ea1d6981Smrg     4     CARD32                          replies-hint
1759ea1d6981Smrg     8m     LISTofFONTPROP                 properties
1760ea1d6981Smrg     n     STRING8                         name
1761ea1d6981Smrg     p                                     unused, p=pad(n)
1762ea1d6981Smrg
1763ea1d6981Smrg  FONTPROP
1764ea1d6981Smrg     encodings are the same as for QueryFont
1765ea1d6981Smrg
1766ea1d6981Smrg  CHARINFO
1767ea1d6981Smrg     encodings are the same as for QueryFont
1768ea1d6981Smrg
1769ea1d6981Smrg▶ (last in series)
1770ea1d6981Smrg     1     1                               Reply
1771ea1d6981Smrg     1     0                               last-reply indicator
1772ea1d6981Smrg     2     CARD16                          sequence number
1773ea1d6981Smrg     4     7                               reply length
1774ea1d6981Smrg     52                                    unused
1775ea1d6981Smrg
1776ea1d6981Smrg<link linkend="requests:SetFontPath"><emphasis role='bold'>SetFontPath</emphasis></link>
1777ea1d6981Smrg     1     51                              opcode
1778ea1d6981Smrg     1                                     unused
1779ea1d6981Smrg     2     2+(n+p)/4                       request length
1780ea1d6981Smrg     2     CARD16                          number of STRs in path
1781ea1d6981Smrg     2                                     unused
1782ea1d6981Smrg     n     LISTofSTR                       path
1783ea1d6981Smrg     p                                     unused, p=pad(n)
1784ea1d6981Smrg
1785ea1d6981Smrg<link linkend="requests:GetFontPath"><emphasis role='bold'>GetFontPath</emphasis></link>
1786ea1d6981Smrg     1     52                              opcode
1787ea1d6981Smrg     1                                     unused
1788ea1d6981Smrg     2     1                               request list
1789ea1d6981Smrg
1790ea1d6981Smrg1791ea1d6981Smrg     1     1                               Reply
1792ea1d6981Smrg     1                                     unused
1793ea1d6981Smrg     2     CARD16                          sequence number
1794ea1d6981Smrg     4     (n+p)/4                         reply length
1795ea1d6981Smrg     2     CARD16                          number of STRs in path
1796ea1d6981Smrg     22                                    unused
1797ea1d6981Smrg     n     LISTofSTR                       path
1798ea1d6981Smrg     p                                     unused, p=pad(n)
1799ea1d6981Smrg
1800ea1d6981Smrg<link linkend="requests:CreatePixmap"><emphasis role='bold'>CreatePixmap</emphasis></link>
1801ea1d6981Smrg     1     53                              opcode
1802ea1d6981Smrg     1     CARD8                           depth
1803ea1d6981Smrg     2     4                               request length
1804ea1d6981Smrg     4     PIXMAP                          pid
1805ea1d6981Smrg     4     DRAWABLE                        drawable
1806ea1d6981Smrg     2     CARD16                          width
1807ea1d6981Smrg     2     CARD16                          height
1808ea1d6981Smrg
1809ea1d6981Smrg<link linkend="requests:FreePixmap"><emphasis role='bold'>FreePixmap</emphasis></link>
1810ea1d6981Smrg     1     54                              opcode
1811ea1d6981Smrg     1                                     unused
1812ea1d6981Smrg     2     2                               request length
1813ea1d6981Smrg     4     PIXMAP                          pixmap
1814ea1d6981Smrg
1815ea1d6981Smrg<link linkend="requests:CreateGC"><emphasis role='bold'>CreateGC</emphasis></link>
1816ea1d6981Smrg     1     55                              opcode
1817ea1d6981Smrg     1                                     unused
1818ea1d6981Smrg     2     4+n                             request length
1819ea1d6981Smrg     4     GCONTEXT                        cid
1820ea1d6981Smrg     4     DRAWABLE                        drawable
1821ea1d6981Smrg     4     BITMASK                         value-mask (has n bits set to 1)
1822ea1d6981Smrg          #x00000001     function
1823ea1d6981Smrg          #x00000002     plane-mask
1824ea1d6981Smrg          #x00000004     foreground
1825ea1d6981Smrg          #x00000008     background
1826ea1d6981Smrg          #x00000010     line-width
1827ea1d6981Smrg          #x00000020     line-style
1828ea1d6981Smrg          #x00000040     cap-style
1829ea1d6981Smrg          #x00000080     join-style
1830ea1d6981Smrg          #x00000100     fill-style
1831ea1d6981Smrg          #x00000200     fill-rule
1832ea1d6981Smrg          #x00000400     tile
1833ea1d6981Smrg          #x00000800     stipple
1834ea1d6981Smrg          #x00001000     tile-stipple-x-origin
1835ea1d6981Smrg          #x00002000     tile-stipple-y-origin
1836ea1d6981Smrg          #x00004000     font
1837ea1d6981Smrg          #x00008000     subwindow-mode
1838ea1d6981Smrg          #x00010000     graphics-exposures
1839ea1d6981Smrg          #x00020000     clip-x-origin
1840ea1d6981Smrg          #x00040000     clip-y-origin
1841ea1d6981Smrg          #x00080000     clip-mask
1842ea1d6981Smrg          #x00100000     dash-offset
1843ea1d6981Smrg          #x00200000     dashes
1844ea1d6981Smrg          #x00400000     arc-mode
1845ea1d6981Smrg     4n     LISTofVALUE                    value-list
1846ea1d6981Smrg
1847ea1d6981Smrg  VALUEs
1848ea1d6981Smrg     1                                     function
1849ea1d6981Smrg           0     Clear
1850ea1d6981Smrg           1     And
1851ea1d6981Smrg           2     AndReverse
1852ea1d6981Smrg           3     Copy
1853ea1d6981Smrg           4     AndInverted
1854ea1d6981Smrg           5     NoOp
1855ea1d6981Smrg           6     Xor
1856ea1d6981Smrg           7     Or
1857ea1d6981Smrg           8     Nor
1858ea1d6981Smrg           9     Equiv
1859ea1d6981Smrg          10     Invert
1860ea1d6981Smrg          11     OrReverse
1861ea1d6981Smrg          12     CopyInverted
1862ea1d6981Smrg          13     OrInverted
1863ea1d6981Smrg          14     Nand
1864ea1d6981Smrg          15     Set
1865ea1d6981Smrg     4     CARD32                          plane-mask
1866ea1d6981Smrg     4     CARD32                          foreground
1867ea1d6981Smrg     4     CARD32                          background
1868ea1d6981Smrg     2     CARD16                          line-width
1869ea1d6981Smrg     1                                     line-style
1870ea1d6981Smrg          0     Solid
1871ea1d6981Smrg          1     OnOffDash
1872ea1d6981Smrg          2     DoubleDash
1873ea1d6981Smrg     1                                     cap-style
1874ea1d6981Smrg          0     NotLast
1875ea1d6981Smrg          1     Butt
1876ea1d6981Smrg          2     Round
1877ea1d6981Smrg          3     Projecting
1878ea1d6981Smrg     1                                     join-style
1879ea1d6981Smrg          0     Miter
1880ea1d6981Smrg          1     Round
1881ea1d6981Smrg          2     Bevel
1882ea1d6981Smrg     1                                     fill-style
1883ea1d6981Smrg          0     Solid
1884ea1d6981Smrg          1     Tiled
1885ea1d6981Smrg          2     Stippled
1886ea1d6981Smrg          3     OpaqueStippled
1887ea1d6981Smrg     1                                     fill-rule
1888ea1d6981Smrg          0     EvenOdd
1889ea1d6981Smrg          1     Winding
1890ea1d6981Smrg     4     PIXMAP                          tile
1891ea1d6981Smrg     4     PIXMAP                          stipple
1892ea1d6981Smrg     2     INT16                           tile-stipple-x-origin
1893ea1d6981Smrg     2     INT16                           tile-stipple-y-origin
1894ea1d6981Smrg     4     FONT                            font
1895ea1d6981Smrg     1                                     subwindow-mode
1896ea1d6981Smrg          0     ClipByChildren
1897ea1d6981Smrg          1     IncludeInferiors
1898ea1d6981Smrg     1     BOOL                            graphics-exposures
1899ea1d6981Smrg     2     INT16                           clip-x-origin
1900ea1d6981Smrg     2     INT16                           clip-y-origin
1901ea1d6981Smrg     4     PIXMAP                          clip-mask
1902ea1d6981Smrg          0     None
1903ea1d6981Smrg     2     CARD16                          dash-offset
1904ea1d6981Smrg     1     CARD8                           dashes
1905ea1d6981Smrg     1                                     arc-mode
1906ea1d6981Smrg          0     Chord
1907ea1d6981Smrg          1     PieSlice
1908ea1d6981Smrg
1909ea1d6981Smrg<link linkend="requests:ChangeGC"><emphasis role='bold'>ChangeGC</emphasis></link>
1910ea1d6981Smrg     1     56                              opcode
1911ea1d6981Smrg     1                                     unused
1912ea1d6981Smrg     2     3+n                             request length
1913ea1d6981Smrg     4     GCONTEXT                        gc
1914ea1d6981Smrg     4     BITMASK                         value-mask (has n bits set to 1)
1915ea1d6981Smrg          encodings are the same as for CreateGC
1916ea1d6981Smrg     4n     LISTofVALUE                    value-list
1917ea1d6981Smrg          encodings are the same as for CreateGC
1918ea1d6981Smrg
1919ea1d6981Smrg<link linkend="requests:CopyGC"><emphasis role='bold'>CopyGC</emphasis></link>
1920ea1d6981Smrg     1     57                              opcode
1921ea1d6981Smrg     1                                     unused
1922ea1d6981Smrg     2     4                               request length
1923ea1d6981Smrg     4     GCONTEXT                        src-gc
1924ea1d6981Smrg     4     GCONTEXT                        dst-gc
1925ea1d6981Smrg     4     BITMASK                         value-mask
1926ea1d6981Smrg          encodings are the same as for CreateGC
1927ea1d6981Smrg
1928ea1d6981Smrg<link linkend="requests:SetDashes"><emphasis role='bold'>SetDashes</emphasis></link>
1929ea1d6981Smrg     1     58                              opcode
1930ea1d6981Smrg     1                                     unused
1931ea1d6981Smrg     2     3+(n+p)/4                       request length
1932ea1d6981Smrg     4     GCONTEXT                        gc
1933ea1d6981Smrg     2     CARD16                          dash-offset
1934ea1d6981Smrg     2     n                               length of dashes
1935ea1d6981Smrg     n     LISTofCARD8                     dashes
1936ea1d6981Smrg     p                                     unused, p=pad(n)
1937ea1d6981Smrg
1938ea1d6981Smrg<link linkend="requests:SetClipRectangles"><emphasis role='bold'>SetClipRectangles</emphasis></link>
1939ea1d6981Smrg     1     59                              opcode
1940ea1d6981Smrg     1                                     ordering
1941ea1d6981Smrg          0     UnSorted
1942ea1d6981Smrg          1     YSorted
1943ea1d6981Smrg          2     YXSorted
1944ea1d6981Smrg          3     YXBanded
1945ea1d6981Smrg     2     3+2n                            request length
1946ea1d6981Smrg     4     GCONTEXT                        gc
1947ea1d6981Smrg     2     INT16                           clip-x-origin
1948ea1d6981Smrg     2     INT16                           clip-y-origin
1949ea1d6981Smrg     8n     LISTofRECTANGLE                rectangles
1950ea1d6981Smrg
1951ea1d6981Smrg<link linkend="requests:FreeGC"><emphasis role='bold'>FreeGC</emphasis></link>
1952ea1d6981Smrg     1     60                              opcode
1953ea1d6981Smrg     1                                     unused
1954ea1d6981Smrg     2     2                               request length
1955ea1d6981Smrg     4     GCONTEXT                        gc
1956ea1d6981Smrg
1957ea1d6981Smrg<link linkend="requests:ClearArea"><emphasis role='bold'>ClearArea</emphasis></link>
1958ea1d6981Smrg     1     61                              opcode
1959ea1d6981Smrg     1     BOOL                            exposures
1960ea1d6981Smrg     2     4                               request length
1961ea1d6981Smrg     4     WINDOW                          window
1962ea1d6981Smrg     2     INT16                           x
1963ea1d6981Smrg     2     INT16                           y
1964ea1d6981Smrg     2     CARD16                          width
1965ea1d6981Smrg     2     CARD16                          height
1966ea1d6981Smrg
1967ea1d6981Smrg<link linkend="requests:CopyArea"><emphasis role='bold'>CopyArea</emphasis></link>
1968ea1d6981Smrg     1     62                              opcode
1969ea1d6981Smrg     1                                     unused
1970ea1d6981Smrg     2     7                               request length
1971ea1d6981Smrg     4     DRAWABLE                        src-drawable
1972ea1d6981Smrg     4     DRAWABLE                        dst-drawable
1973ea1d6981Smrg     4     GCONTEXT                        gc
1974ea1d6981Smrg     2     INT16                           src-x
1975ea1d6981Smrg     2     INT16                           src-y
1976ea1d6981Smrg     2     INT16                           dst-x
1977ea1d6981Smrg     2     INT16                           dst-y
1978ea1d6981Smrg     2     CARD16                          width
1979ea1d6981Smrg     2     CARD16                          height
1980ea1d6981Smrg
1981ea1d6981Smrg<link linkend="requests:CopyPlane"><emphasis role='bold'>CopyPlane</emphasis></link>
1982ea1d6981Smrg     1     63                              opcode
1983ea1d6981Smrg     1                                     unused
1984ea1d6981Smrg     2     8                               request length
1985ea1d6981Smrg     4     DRAWABLE                        src-drawable
1986ea1d6981Smrg     4     DRAWABLE                        dst-drawable
1987ea1d6981Smrg     4     GCONTEXT                        gc
1988ea1d6981Smrg     2     INT16                           src-x
1989ea1d6981Smrg     2     INT16                           src-y
1990ea1d6981Smrg     2     INT16                           dst-x
1991ea1d6981Smrg     2     INT16                           dst-y
1992ea1d6981Smrg     2     CARD16                          width
1993ea1d6981Smrg     2     CARD16                          height
1994ea1d6981Smrg     4     CARD32                          bit-plane
1995ea1d6981Smrg
1996ea1d6981Smrg<link linkend="requests:PolyPoint"><emphasis role='bold'>PolyPoint</emphasis></link>
1997ea1d6981Smrg     1     64                              opcode
1998ea1d6981Smrg     1                                     coordinate-mode
1999ea1d6981Smrg          0     Origin
2000ea1d6981Smrg          1     Previous
2001ea1d6981Smrg     2     3+n                             request length
2002ea1d6981Smrg     4     DRAWABLE                        drawable
2003ea1d6981Smrg     4     GCONTEXT                        gc
2004ea1d6981Smrg     4n     LISTofPOINT                    points
2005ea1d6981Smrg
2006ea1d6981Smrg<link linkend="requests:PolyLine"><emphasis role='bold'>PolyLine</emphasis></link>
2007ea1d6981Smrg     1     65                              opcode
2008ea1d6981Smrg     1                                     coordinate-mode
2009ea1d6981Smrg          0     Origin
2010ea1d6981Smrg          1     Previous
2011ea1d6981Smrg     2     3+n                             request length
2012ea1d6981Smrg     4     DRAWABLE                        drawable
2013ea1d6981Smrg     4     GCONTEXT                        gc
2014ea1d6981Smrg     4n     LISTofPOINT                    points
2015ea1d6981Smrg
2016ea1d6981Smrg<link linkend="requests:PolySegment"><emphasis role='bold'>PolySegment</emphasis></link>
2017ea1d6981Smrg     1     66                              opcode
2018ea1d6981Smrg     1                                     unused
2019ea1d6981Smrg     2     3+2n                            request length
2020ea1d6981Smrg     4     DRAWABLE                        drawable
2021ea1d6981Smrg     4     GCONTEXT                        gc
2022ea1d6981Smrg     8n     LISTofSEGMENT                  segments
2023ea1d6981Smrg
2024ea1d6981Smrg  SEGMENT
2025ea1d6981Smrg     2     INT16                           x1
2026ea1d6981Smrg     2     INT16                           y1
2027ea1d6981Smrg     2     INT16                           x2
2028ea1d6981Smrg     2     INT16                           y2
2029ea1d6981Smrg
2030ea1d6981Smrg<link linkend="requests:PolyRectangle"><emphasis role='bold'>PolyRectangle</emphasis></link>
2031ea1d6981Smrg     1     67                              opcode
2032ea1d6981Smrg     1                                     unused
2033ea1d6981Smrg     2     3+2n                            request length
2034ea1d6981Smrg     4     DRAWABLE                        drawable
2035ea1d6981Smrg     4     GCONTEXT                        gc
2036ea1d6981Smrg     8n     LISTofRECTANGLE                rectangles
2037ea1d6981Smrg
2038ea1d6981Smrg<link linkend="requests:PolyArc"><emphasis role='bold'>PolyArc</emphasis></link>
2039ea1d6981Smrg     1     68                              opcode
2040ea1d6981Smrg     1                                     unused
2041ea1d6981Smrg     2     3+3n                            request length
2042ea1d6981Smrg     4     DRAWABLE                        drawable
2043ea1d6981Smrg     4     GCONTEXT                        gc
2044ea1d6981Smrg     12n     LISTofARC                     arcs
2045ea1d6981Smrg
2046ea1d6981Smrg<link linkend="requests:FillPoly"><emphasis role='bold'>FillPoly</emphasis></link>
2047ea1d6981Smrg     1     69                              opcode
2048ea1d6981Smrg     1                                     unused
2049ea1d6981Smrg     2     4+n                             request length
2050ea1d6981Smrg     4     DRAWABLE                        drawable
2051ea1d6981Smrg     4     GCONTEXT                        gc
2052ea1d6981Smrg     1                                     shape
2053ea1d6981Smrg          0     Complex
2054ea1d6981Smrg          1     Nonconvex
2055ea1d6981Smrg          2     Convex
2056ea1d6981Smrg     1                                     coordinate-mode
2057ea1d6981Smrg          0     Origin
2058ea1d6981Smrg          1     Previous
2059ea1d6981Smrg     2                                     unused
2060ea1d6981Smrg     4n     LISTofPOINT                    points
2061ea1d6981Smrg
2062ea1d6981Smrg<link linkend="requests:PolyFillRectangle"><emphasis role='bold'>PolyFillRectangle</emphasis></link>
2063ea1d6981Smrg     1     70                              opcode
2064ea1d6981Smrg     1                                     unused
2065ea1d6981Smrg     2     3+2n                            request length
2066ea1d6981Smrg     4     DRAWABLE                        drawable
2067ea1d6981Smrg     4     GCONTEXT                        gc
2068ea1d6981Smrg     8n     LISTofRECTANGLE                rectangles
2069ea1d6981Smrg
2070ea1d6981Smrg<link linkend="requests:PolyFillArc"><emphasis role='bold'>PolyFillArc</emphasis></link>
2071ea1d6981Smrg     1     71                              opcode
2072ea1d6981Smrg     1                                     unused
2073ea1d6981Smrg     2     3+3n                            request length
2074ea1d6981Smrg     4     DRAWABLE                        drawable
2075ea1d6981Smrg     4     GCONTEXT                        gc
2076ea1d6981Smrg     12n     LISTofARC                     arcs
2077ea1d6981Smrg
2078ea1d6981Smrg<link linkend="requests:PutImage"><emphasis role='bold'>PutImage</emphasis></link>
2079ea1d6981Smrg     1     72                              opcode
2080ea1d6981Smrg     1                                     format
2081ea1d6981Smrg          0     Bitmap
2082ea1d6981Smrg          1     XYPixmap
2083ea1d6981Smrg          2     ZPixmap
2084ea1d6981Smrg     2     6+(n+p)/4                       request length
2085ea1d6981Smrg     4     DRAWABLE                        drawable
2086ea1d6981Smrg     4     GCONTEXT                        gc
2087ea1d6981Smrg     2     CARD16                          width
2088ea1d6981Smrg     2     CARD16                          height
2089ea1d6981Smrg     2     INT16                           dst-x
2090ea1d6981Smrg     2     INT16                           dst-y
2091ea1d6981Smrg     1     CARD8                           left-pad
2092ea1d6981Smrg     1     CARD8                           depth
2093ea1d6981Smrg     2                                     unused
2094ea1d6981Smrg     n     LISTofBYTE                      data
2095ea1d6981Smrg     p                                     unused, p=pad(n)
2096ea1d6981Smrg
2097ea1d6981Smrg<link linkend="requests:GetImage"><emphasis role='bold'>GetImage</emphasis></link>
2098ea1d6981Smrg     1     73                              opcode
2099ea1d6981Smrg     1                                     format
2100ea1d6981Smrg          1     XYPixmap
2101ea1d6981Smrg          2     ZPixmap
2102ea1d6981Smrg     2     5                               request length
2103ea1d6981Smrg     4     DRAWABLE                        drawable
2104ea1d6981Smrg     2     INT16                           x
2105ea1d6981Smrg     2     INT16                           y
2106ea1d6981Smrg     2     CARD16                          width
2107ea1d6981Smrg     2     CARD16                          height
2108ea1d6981Smrg     4     CARD32                          plane-mask
2109ea1d6981Smrg
2110ea1d6981Smrg2111ea1d6981Smrg     1     1                               Reply
2112ea1d6981Smrg     1     CARD8                           depth
2113ea1d6981Smrg     2     CARD16                          sequence number
2114ea1d6981Smrg     4     (n+p)/4                         reply length
2115ea1d6981Smrg     4     VISUALID                        visual
2116ea1d6981Smrg          0     None
2117ea1d6981Smrg     20                                    unused
2118ea1d6981Smrg     n     LISTofBYTE                      data
2119ea1d6981Smrg     p                                     unused, p=pad(n)
2120ea1d6981Smrg
2121ea1d6981Smrg<link linkend="requests:PolyText8"><emphasis role='bold'>PolyText8</emphasis></link>
2122ea1d6981Smrg     1     74                              opcode
2123ea1d6981Smrg     1                                     unused
2124ea1d6981Smrg     2     4+(n+p)/4                       request length
2125ea1d6981Smrg     4     DRAWABLE                        drawable
2126ea1d6981Smrg     4     GCONTEXT                        gc
2127ea1d6981Smrg     2     INT16                           x
2128ea1d6981Smrg     2     INT16                           y
2129ea1d6981Smrg     n     LISTofTEXTITEM8                 items
2130ea1d6981Smrg     p                                     unused, p=pad(n)  (p is always 0
2131ea1d6981Smrg                                           or 1)
2132ea1d6981Smrg
2133ea1d6981Smrg  TEXTITEM8
2134ea1d6981Smrg     1     m                               length of string (cannot be 255)
2135ea1d6981Smrg     1     INT8                            delta
2136ea1d6981Smrg     m     STRING8                         string
2137ea1d6981Smrg  or
2138ea1d6981Smrg     1     255                             font-shift indicator
2139ea1d6981Smrg     1                                     font byte 3 (most-significant)
2140ea1d6981Smrg     1                                     font byte 2
2141ea1d6981Smrg     1                                     font byte 1
2142ea1d6981Smrg     1                                     font byte 0 (least-significant)
2143ea1d6981Smrg
2144ea1d6981Smrg<link linkend="requests:PolyText16"><emphasis role='bold'>PolyText16</emphasis></link>
2145ea1d6981Smrg     1     75                              opcode
2146ea1d6981Smrg     1                                     unused
2147ea1d6981Smrg     2     4+(n+p)/4                       request length
2148ea1d6981Smrg     4     DRAWABLE                        drawable
2149ea1d6981Smrg     4     GCONTEXT                        gc
2150ea1d6981Smrg     2     INT16                           x
2151ea1d6981Smrg     2     INT16                           y
2152ea1d6981Smrg     n     LISTofTEXTITEM16                items
2153ea1d6981Smrg     p                                     unused, p=pad(n)  (p must be 0 or
2154ea1d6981Smrg                                           1)
2155ea1d6981Smrg
2156ea1d6981Smrg  TEXTITEM16
2157ea1d6981Smrg     1     m                               number of CHAR2Bs in string
2158ea1d6981Smrg                                           (cannot be 255)
2159ea1d6981Smrg     1     INT8                            delta
2160ea1d6981Smrg     2m     STRING16                       string
2161ea1d6981Smrg  or
2162ea1d6981Smrg     1     255                             font-shift indicator
2163ea1d6981Smrg     1                                     font byte 3 (most-significant)
2164ea1d6981Smrg     1                                     font byte 2
2165ea1d6981Smrg     1                                     font byte 1
2166ea1d6981Smrg     1                                     font byte 0 (least-significant)
2167ea1d6981Smrg
2168ea1d6981Smrg<link linkend="requests:ImageText8"><emphasis role='bold'>ImageText8</emphasis></link>
2169ea1d6981Smrg     1     76                              opcode
2170ea1d6981Smrg     1     n                               length of string
2171ea1d6981Smrg     2     4+(n+p)/4                       request length
2172ea1d6981Smrg     4     DRAWABLE                        drawable
2173ea1d6981Smrg     4     GCONTEXT                        gc
2174ea1d6981Smrg     2     INT16                           x
2175ea1d6981Smrg     2     INT16                           y
2176ea1d6981Smrg     n     STRING8                         string
2177ea1d6981Smrg     p                                     unused, p=pad(n)
2178ea1d6981Smrg
2179ea1d6981Smrg<link linkend="requests:ImageText16"><emphasis role='bold'>ImageText16</emphasis></link>
2180ea1d6981Smrg     1     77                              opcode
2181ea1d6981Smrg     1     n                               number of CHAR2Bs in string
2182ea1d6981Smrg     2     4+(2n+p)/4                      request length
2183ea1d6981Smrg     4     DRAWABLE                        drawable
2184ea1d6981Smrg     4     GCONTEXT                        gc
2185ea1d6981Smrg     2     INT16                           x
2186ea1d6981Smrg     2     INT16                           y
2187ea1d6981Smrg     2n     STRING16                       string
2188ea1d6981Smrg     p                                     unused, p=pad(2n)
2189ea1d6981Smrg
2190ea1d6981Smrg<link linkend="requests:CreateColormap"><emphasis role='bold'>CreateColormap</emphasis></link>
2191ea1d6981Smrg     1     78                              opcode
2192ea1d6981Smrg     1                                     alloc
2193ea1d6981Smrg          0     None
2194ea1d6981Smrg          1     All
2195ea1d6981Smrg     2     4                               request length
2196ea1d6981Smrg     4     COLORMAP                        mid
2197ea1d6981Smrg     4     WINDOW                          window
2198ea1d6981Smrg     4     VISUALID                        visual
2199ea1d6981Smrg
2200ea1d6981Smrg<link linkend="requests:FreeColormap"><emphasis role='bold'>FreeColormap</emphasis></link>
2201ea1d6981Smrg     1     79                              opcode
2202ea1d6981Smrg     1                                     unused
2203ea1d6981Smrg     2     2                               request length
2204ea1d6981Smrg     4     COLORMAP                        cmap
2205ea1d6981Smrg
2206ea1d6981Smrg<link linkend="requests:CopyColormapAndFree"><emphasis role='bold'>CopyColormapAndFree</emphasis></link>
2207ea1d6981Smrg     1     80                              opcode
2208ea1d6981Smrg     1                                     unused
2209ea1d6981Smrg     2     3                               request length
2210ea1d6981Smrg     4     COLORMAP                        mid
2211ea1d6981Smrg     4     COLORMAP                        src-cmap
2212ea1d6981Smrg
2213ea1d6981Smrg<link linkend="requests:InstallColormap"><emphasis role='bold'>InstallColormap</emphasis></link>
2214ea1d6981Smrg     1     81                              opcode
2215ea1d6981Smrg     1                                     unused
2216ea1d6981Smrg     2     2                               request length
2217ea1d6981Smrg     4     COLORMAP                        cmap
2218ea1d6981Smrg
2219ea1d6981Smrg<link linkend="requests:UninstallColormap"><emphasis role='bold'>UninstallColormap</emphasis></link>
2220ea1d6981Smrg     1     82                              opcode
2221ea1d6981Smrg     1                                     unused
2222ea1d6981Smrg     2     2                               request length
2223ea1d6981Smrg     4     COLORMAP                        cmap
2224ea1d6981Smrg
2225ea1d6981Smrg<link linkend="requests:ListInstalledColormaps"><emphasis role='bold'>ListInstalledColormaps</emphasis></link>
2226ea1d6981Smrg     1     83                              opcode
2227ea1d6981Smrg     1                                     unused
2228ea1d6981Smrg     2     2                               request length
2229ea1d6981Smrg     4     WINDOW                          window
2230ea1d6981Smrg
2231ea1d6981Smrg2232ea1d6981Smrg     1     1                               Reply
2233ea1d6981Smrg     1                                     unused
2234ea1d6981Smrg     2     CARD16                          sequence number
2235ea1d6981Smrg     4     n                               reply length
2236ea1d6981Smrg     2     n                               number of COLORMAPs in cmaps
2237ea1d6981Smrg     22                                    unused
2238ea1d6981Smrg     4n     LISTofCOLORMAP                 cmaps
2239ea1d6981Smrg
2240ea1d6981Smrg<link linkend="requests:AllocColor"><emphasis role='bold'>AllocColor</emphasis></link>
2241ea1d6981Smrg     1     84                              opcode
2242ea1d6981Smrg     1                                     unused
2243ea1d6981Smrg     2     4                               request length
2244ea1d6981Smrg     4     COLORMAP                        cmap
2245ea1d6981Smrg     2     CARD16                          red
2246ea1d6981Smrg     2     CARD16                          green
2247ea1d6981Smrg     2     CARD16                          blue
2248ea1d6981Smrg     2                                     unused
2249ea1d6981Smrg
2250ea1d6981Smrg2251ea1d6981Smrg     1     1                               Reply
2252ea1d6981Smrg     1                                     unused
2253ea1d6981Smrg     2     CARD16                          sequence number
2254ea1d6981Smrg     4     0                               reply length
2255ea1d6981Smrg     2     CARD16                          red
2256ea1d6981Smrg     2     CARD16                          green
2257ea1d6981Smrg     2     CARD16                          blue
2258ea1d6981Smrg     2                                     unused
2259ea1d6981Smrg     4     CARD32                          pixel
2260ea1d6981Smrg     12                                    unused
2261ea1d6981Smrg
2262ea1d6981Smrg<link linkend="requests:AllocNamedColor"><emphasis role='bold'>AllocNamedColor</emphasis></link>
2263ea1d6981Smrg     1     85                              opcode
2264ea1d6981Smrg     1                                     unused
2265ea1d6981Smrg     2     3+(n+p)/4                       request length
2266ea1d6981Smrg     4     COLORMAP                        cmap
2267ea1d6981Smrg     2     n                               length of name
2268ea1d6981Smrg     2                                     unused
2269ea1d6981Smrg     n     STRING8                         name
2270ea1d6981Smrg     p                                     unused, p=pad(n)
2271ea1d6981Smrg
2272ea1d6981Smrg2273ea1d6981Smrg     1     1                               Reply
2274ea1d6981Smrg     1                                     unused
2275ea1d6981Smrg     2     CARD16                          sequence number
2276ea1d6981Smrg     4     0                               reply length
2277ea1d6981Smrg     4     CARD32                          pixel
2278ea1d6981Smrg     2     CARD16                          exact-red
2279ea1d6981Smrg     2     CARD16                          exact-green
2280ea1d6981Smrg     2     CARD16                          exact-blue
2281ea1d6981Smrg     2     CARD16                          visual-red
2282ea1d6981Smrg     2     CARD16                          visual-green
2283ea1d6981Smrg     2     CARD16                          visual-blue
2284ea1d6981Smrg     8                                     unused
2285ea1d6981Smrg
2286ea1d6981Smrg<link linkend="requests:AllocColorCells"><emphasis role='bold'>AllocColorCells</emphasis></link>
2287ea1d6981Smrg     1     86                              opcode
2288ea1d6981Smrg     1     BOOL                            contiguous
2289ea1d6981Smrg     2     3                               request length
2290ea1d6981Smrg     4     COLORMAP                        cmap
2291ea1d6981Smrg     2     CARD16                          colors
2292ea1d6981Smrg     2     CARD16                          planes
2293ea1d6981Smrg
2294ea1d6981Smrg2295ea1d6981Smrg     1     1                               Reply
2296ea1d6981Smrg     1                                     unused
2297ea1d6981Smrg     2     CARD16                          sequence number
2298ea1d6981Smrg     4     n+m                             reply length
2299ea1d6981Smrg     2     n                               number of CARD32s in pixels
2300ea1d6981Smrg     2     m                               number of CARD32s in masks
2301ea1d6981Smrg     20                                    unused
2302ea1d6981Smrg     4n     LISTofCARD32                   pixels
2303ea1d6981Smrg     4m     LISTofCARD32                   masks
2304ea1d6981Smrg
2305ea1d6981Smrg<link linkend="requests:AllocColorPlanes"><emphasis role='bold'>AllocColorPlanes</emphasis></link>
2306ea1d6981Smrg     1     87                              opcode
2307ea1d6981Smrg     1     BOOL                            contiguous
2308ea1d6981Smrg     2     4                               request length
2309ea1d6981Smrg     4     COLORMAP                        cmap
2310ea1d6981Smrg     2     CARD16                          colors
2311ea1d6981Smrg     2     CARD16                          reds
2312ea1d6981Smrg     2     CARD16                          greens
2313ea1d6981Smrg     2     CARD16                          blues
2314ea1d6981Smrg
2315ea1d6981Smrg2316ea1d6981Smrg     1     1                               Reply
2317ea1d6981Smrg     1                                     unused
2318ea1d6981Smrg     2     CARD16                          sequence number
2319ea1d6981Smrg     4     n                               reply length
2320ea1d6981Smrg     2     n                               number of CARD32s in pixels
2321ea1d6981Smrg     2                                     unused
2322ea1d6981Smrg     4     CARD32                          red-mask
2323ea1d6981Smrg     4     CARD32                          green-mask
2324ea1d6981Smrg     4     CARD32                          blue-mask
2325ea1d6981Smrg     8                                     unused
2326ea1d6981Smrg     4n     LISTofCARD32                   pixels
2327ea1d6981Smrg
2328ea1d6981Smrg<link linkend="requests:FreeColors"><emphasis role='bold'>FreeColors</emphasis></link>
2329ea1d6981Smrg     1     88                              opcode
2330ea1d6981Smrg     1                                     unused
2331ea1d6981Smrg     2     3+n                             request length
2332ea1d6981Smrg     4     COLORMAP                        cmap
2333ea1d6981Smrg     4     CARD32                          plane-mask
2334ea1d6981Smrg     4n     LISTofCARD32                   pixels
2335ea1d6981Smrg
2336ea1d6981Smrg<link linkend="requests:StoreColors"><emphasis role='bold'>StoreColors</emphasis></link>
2337ea1d6981Smrg     1     89                              opcode
2338ea1d6981Smrg     1                                     unused
2339ea1d6981Smrg     2     2+3n                            request length
2340ea1d6981Smrg     4     COLORMAP                        cmap
2341ea1d6981Smrg     12n     LISTofCOLORITEM               items
2342ea1d6981Smrg
2343ea1d6981Smrg  COLORITEM
2344ea1d6981Smrg     4     CARD32                          pixel
2345ea1d6981Smrg     2     CARD16                          red
2346ea1d6981Smrg     2     CARD16                          green
2347ea1d6981Smrg     2     CARD16                          blue
2348ea1d6981Smrg     1                                     do-red, do-green, do-blue
2349ea1d6981Smrg          #x01     do-red (1 is True, 0 is False)
2350ea1d6981Smrg          #x02     do-green (1 is True, 0 is False)
2351ea1d6981Smrg          #x04     do-blue (1 is True, 0 is False)
2352ea1d6981Smrg          #xF8     unused
2353ea1d6981Smrg     1                                     unused
2354ea1d6981Smrg
2355ea1d6981Smrg<link linkend="requests:StoreNamedColor"><emphasis role='bold'>StoreNamedColor</emphasis></link>
2356ea1d6981Smrg     1     90                              opcode
2357ea1d6981Smrg     1                                     do-red, do-green, do-blue
2358ea1d6981Smrg          #x01     do-red (1 is True, 0 is False)
2359ea1d6981Smrg          #x02     do-green (1 is True, 0 is False)
2360ea1d6981Smrg          #x04     do-blue (1 is True, 0 is False)
2361ea1d6981Smrg          #xF8     unused
2362ea1d6981Smrg     2     4+(n+p)/4                       request length
2363ea1d6981Smrg     4     COLORMAP                        cmap
2364ea1d6981Smrg     4     CARD32                          pixel
2365ea1d6981Smrg     2     n                               length of name
2366ea1d6981Smrg     2                                     unused
2367ea1d6981Smrg     n     STRING8                         name
2368ea1d6981Smrg     p                                     unused, p=pad(n)
2369ea1d6981Smrg
2370ea1d6981Smrg<link linkend="requests:QueryColors"><emphasis role='bold'>QueryColors</emphasis></link>
2371ea1d6981Smrg     1     91                              opcode
2372ea1d6981Smrg     1                                     unused
2373ea1d6981Smrg     2     2+n                             request length
2374ea1d6981Smrg     4     COLORMAP                        cmap
2375ea1d6981Smrg     4n     LISTofCARD32                   pixels
2376ea1d6981Smrg
2377ea1d6981Smrg2378ea1d6981Smrg     1     1                               Reply
2379ea1d6981Smrg     1                                     unused
2380ea1d6981Smrg     2     CARD16                          sequence number
2381ea1d6981Smrg     4     2n                              reply length
2382ea1d6981Smrg     2     n                               number of RGBs in colors
2383ea1d6981Smrg     22                                    unused
2384ea1d6981Smrg     8n     LISTofRGB                      colors
2385ea1d6981Smrg
2386ea1d6981Smrg  RGB
2387ea1d6981Smrg     2     CARD16                          red
2388ea1d6981Smrg     2     CARD16                          green
2389ea1d6981Smrg     2     CARD16                          blue
2390ea1d6981Smrg     2                                     unused
2391ea1d6981Smrg
2392ea1d6981Smrg<link linkend="requests:LookupColor"><emphasis role='bold'>LookupColor</emphasis></link>
2393ea1d6981Smrg     1     92                              opcode
2394ea1d6981Smrg     1                                     unused
2395ea1d6981Smrg     2     3+(n+p)/4                       request length
2396ea1d6981Smrg     4     COLORMAP                        cmap
2397ea1d6981Smrg     2     n                               length of name
2398ea1d6981Smrg     2                                     unused
2399ea1d6981Smrg     n     STRING8                         name
2400ea1d6981Smrg     p                                     unused, p=pad(n)
2401ea1d6981Smrg
2402ea1d6981Smrg2403ea1d6981Smrg     1     1                               Reply
2404ea1d6981Smrg     1                                     unused
2405ea1d6981Smrg     2     CARD16                          sequence number
2406ea1d6981Smrg     4     0                               reply length
2407ea1d6981Smrg     2     CARD16                          exact-red
2408ea1d6981Smrg     2     CARD16                          exact-green
2409ea1d6981Smrg     2     CARD16                          exact-blue
2410ea1d6981Smrg     2     CARD16                          visual-red
2411ea1d6981Smrg     2     CARD16                          visual-green
2412ea1d6981Smrg     2     CARD16                          visual-blue
2413ea1d6981Smrg     12                                    unused
2414ea1d6981Smrg
2415ea1d6981Smrg<link linkend="requests:CreateCursor"><emphasis role='bold'>CreateCursor</emphasis></link>
2416ea1d6981Smrg     1     93                              opcode
2417ea1d6981Smrg     1                                     unused
2418ea1d6981Smrg     2     8                               request length
2419ea1d6981Smrg     4     CURSOR                          cid
2420ea1d6981Smrg     4     PIXMAP                          source
2421ea1d6981Smrg     4     PIXMAP                          mask
2422ea1d6981Smrg          0     None
2423ea1d6981Smrg     2     CARD16                          fore-red
2424ea1d6981Smrg     2     CARD16                          fore-green
2425ea1d6981Smrg     2     CARD16                          fore-blue
2426ea1d6981Smrg     2     CARD16                          back-red
2427ea1d6981Smrg     2     CARD16                          back-green
2428ea1d6981Smrg     2     CARD16                          back-blue
2429ea1d6981Smrg     2     CARD16                          x
2430ea1d6981Smrg     2     CARD16                          y
2431ea1d6981Smrg
2432ea1d6981Smrg<link linkend="requests:CreateGlyphCursor"><emphasis role='bold'>CreateGlyphCursor</emphasis></link>
2433ea1d6981Smrg     1     94                              opcode
2434ea1d6981Smrg     1                                     unused
2435ea1d6981Smrg     2     8                               request length
2436ea1d6981Smrg     4     CURSOR                          cid
2437ea1d6981Smrg     4     FONT                            source-font
2438ea1d6981Smrg     4     FONT                            mask-font
2439ea1d6981Smrg          0     None
2440ea1d6981Smrg     2     CARD16                          source-char
2441ea1d6981Smrg     2     CARD16                          mask-char
2442ea1d6981Smrg     2     CARD16                          fore-red
2443ea1d6981Smrg     2     CARD16                          fore-green
2444ea1d6981Smrg     2     CARD16                          fore-blue
2445ea1d6981Smrg     2     CARD16                          back-red
2446ea1d6981Smrg     2     CARD16                          back-green
2447ea1d6981Smrg     2     CARD16                          back-blue
2448ea1d6981Smrg
2449ea1d6981Smrg<link linkend="requests:FreeCursor"><emphasis role='bold'>FreeCursor</emphasis></link>
2450ea1d6981Smrg     1     95                              opcode
2451ea1d6981Smrg     1                                     unused
2452ea1d6981Smrg     2     2                               request length
2453ea1d6981Smrg     4     CURSOR                          cursor
2454ea1d6981Smrg
2455ea1d6981Smrg<link linkend="requests:RecolorCursor"><emphasis role='bold'>RecolorCursor</emphasis></link>
2456ea1d6981Smrg     1     96                              opcode
2457ea1d6981Smrg     1                                     unused
2458ea1d6981Smrg     2     5                               request length
2459ea1d6981Smrg     4     CURSOR                          cursor
2460ea1d6981Smrg     2     CARD16                          fore-red
2461ea1d6981Smrg     2     CARD16                          fore-green
2462ea1d6981Smrg     2     CARD16                          fore-blue
2463ea1d6981Smrg     2     CARD16                          back-red
2464ea1d6981Smrg     2     CARD16                          back-green
2465ea1d6981Smrg     2     CARD16                          back-blue
2466ea1d6981Smrg
2467ea1d6981Smrg<link linkend="requests:QueryBestSize"><emphasis role='bold'>QueryBestSize</emphasis></link>
2468ea1d6981Smrg     1     97                              opcode
2469ea1d6981Smrg     1                                     class
2470ea1d6981Smrg          0     Cursor
2471ea1d6981Smrg          1     Tile
2472ea1d6981Smrg          2     Stipple
2473ea1d6981Smrg     2     3                               request length
2474ea1d6981Smrg     4     DRAWABLE                        drawable
2475ea1d6981Smrg     2     CARD16                          width
2476ea1d6981Smrg     2     CARD16                          height
2477ea1d6981Smrg
2478ea1d6981Smrg2479ea1d6981Smrg     1     1                               Reply
2480ea1d6981Smrg     1                                     unused
2481ea1d6981Smrg     2     CARD16                          sequence number
2482ea1d6981Smrg     4     0                               reply length
2483ea1d6981Smrg     2     CARD16                          width
2484ea1d6981Smrg     2     CARD16                          height
2485ea1d6981Smrg     20                                    unused
2486ea1d6981Smrg
2487ea1d6981Smrg<link linkend="requests:QueryExtension"><emphasis role='bold'>QueryExtension</emphasis></link>
2488ea1d6981Smrg     1     98                              opcode
2489ea1d6981Smrg     1                                     unused
2490ea1d6981Smrg     2     2+(n+p)/4                       request length
2491ea1d6981Smrg     2     n                               length of name
2492ea1d6981Smrg     2                                     unused
2493ea1d6981Smrg     n     STRING8                         name
2494ea1d6981Smrg     p                                     unused, p=pad(n)
2495ea1d6981Smrg
2496ea1d6981Smrg2497ea1d6981Smrg     1     1                               Reply
2498ea1d6981Smrg     1                                     unused
2499ea1d6981Smrg     2     CARD16                          sequence number
2500ea1d6981Smrg     4     0                               reply length
2501ea1d6981Smrg     1     BOOL                            present
2502ea1d6981Smrg     1     CARD8                           major-opcode
2503ea1d6981Smrg     1     CARD8                           first-event
2504ea1d6981Smrg     1     CARD8                           first-error
2505ea1d6981Smrg     20                                    unused
2506ea1d6981Smrg
2507ea1d6981Smrg<link linkend="requests:ListExtensions"><emphasis role='bold'>ListExtensions</emphasis></link>
2508ea1d6981Smrg     1     99                              opcode
2509ea1d6981Smrg     1                                     unused
2510ea1d6981Smrg     2     1                               request length
2511ea1d6981Smrg
2512ea1d6981Smrg2513ea1d6981Smrg     1     1                               Reply
2514ea1d6981Smrg     1     CARD8                           number of STRs in names
2515ea1d6981Smrg     2     CARD16                          sequence number
2516ea1d6981Smrg     4     (n+p)/4                         reply length
2517ea1d6981Smrg     24                                    unused
2518ea1d6981Smrg     n     LISTofSTR                       names
2519ea1d6981Smrg     p                                     unused, p=pad(n)
2520ea1d6981Smrg
2521ea1d6981Smrg<link linkend="requests:ChangeKeyboardMapping"><emphasis role='bold'>ChangeKeyboardMapping</emphasis></link>
2522ea1d6981Smrg     1     100                             opcode
2523ea1d6981Smrg     1     n                               keycode-count
2524ea1d6981Smrg     2     2+nm                            request length
2525ea1d6981Smrg     1     KEYCODE                         first-keycode
2526ea1d6981Smrg     1     m                               keysyms-per-keycode
2527ea1d6981Smrg     2                                     unused
2528ea1d6981Smrg     4nm     LISTofKEYSYM                  keysyms
2529ea1d6981Smrg
2530ea1d6981Smrg<link linkend="requests:GetKeyboardMapping"><emphasis role='bold'>GetKeyboardMapping</emphasis></link>
2531ea1d6981Smrg     1     101                             opcode
2532ea1d6981Smrg     1                                     unused
2533ea1d6981Smrg     2     2                               request length
2534ea1d6981Smrg     1     KEYCODE                         first-keycode
2535ea1d6981Smrg     1     m                               count
2536ea1d6981Smrg     2                                     unused
2537ea1d6981Smrg
2538ea1d6981Smrg2539ea1d6981Smrg     1     1                               Reply
2540ea1d6981Smrg     1     n                               keysyms-per-keycode
2541ea1d6981Smrg     2     CARD16                          sequence number
2542ea1d6981Smrg     4     nm                              reply length (m = count field
2543ea1d6981Smrg                                           from the request)
2544ea1d6981Smrg     24                                    unused
2545ea1d6981Smrg     4nm     LISTofKEYSYM                  keysyms
2546ea1d6981Smrg
2547ea1d6981Smrg<link linkend="requests:ChangeKeyboardControl"><emphasis role='bold'>ChangeKeyboardControl</emphasis></link>
2548ea1d6981Smrg     1     102                             opcode
2549ea1d6981Smrg     1                                     unused
2550ea1d6981Smrg     2     2+n                             request length
2551ea1d6981Smrg     4     BITMASK                         value-mask (has n bits set to 1)
2552ea1d6981Smrg          #x0001     key-click-percent
2553ea1d6981Smrg          #x0002     bell-percent
2554ea1d6981Smrg          #x0004     bell-pitch
2555ea1d6981Smrg          #x0008     bell-duration
2556ea1d6981Smrg          #x0010     led
2557ea1d6981Smrg          #x0020     led-mode
2558ea1d6981Smrg          #x0040     key
2559ea1d6981Smrg          #x0080     auto-repeat-mode
2560ea1d6981Smrg     4n     LISTofVALUE                    value-list
2561ea1d6981Smrg
2562ea1d6981Smrg  VALUEs
2563ea1d6981Smrg     1     INT8                            key-click-percent
2564ea1d6981Smrg     1     INT8                            bell-percent
2565ea1d6981Smrg     2     INT16                           bell-pitch
2566ea1d6981Smrg     2     INT16                           bell-duration
2567ea1d6981Smrg     1     CARD8                           led
2568ea1d6981Smrg     1                                     led-mode
2569ea1d6981Smrg          0     Off
2570ea1d6981Smrg          1     On
2571ea1d6981Smrg     1     KEYCODE                         key
2572ea1d6981Smrg     1                                     auto-repeat-mode
2573ea1d6981Smrg          0     Off
2574ea1d6981Smrg          1     On
2575ea1d6981Smrg          2     Default
2576ea1d6981Smrg
2577ea1d6981Smrg<link linkend="requests:GetKeyboardControl"><emphasis role='bold'>GetKeyboardControl</emphasis></link>
2578ea1d6981Smrg     1     103                             opcode
2579ea1d6981Smrg     1                                     unused
2580ea1d6981Smrg     2     1                               request length
2581ea1d6981Smrg
2582ea1d6981Smrg2583ea1d6981Smrg     1     1                               Reply
2584ea1d6981Smrg     1                                     global-auto-repeat
2585ea1d6981Smrg          0     Off
2586ea1d6981Smrg          1     On
2587ea1d6981Smrg     2     CARD16                          sequence number
2588ea1d6981Smrg     4     5                               reply length
2589ea1d6981Smrg     4     CARD32                          led-mask
2590ea1d6981Smrg     1     CARD8                           key-click-percent
2591ea1d6981Smrg     1     CARD8                           bell-percent
2592ea1d6981Smrg     2     CARD16                          bell-pitch
2593ea1d6981Smrg     2     CARD16                          bell-duration
2594ea1d6981Smrg     2                                     unused
2595ea1d6981Smrg     32     LISTofCARD8                    auto-repeats
2596ea1d6981Smrg
2597ea1d6981Smrg<link linkend="requests:Bell"><emphasis role='bold'>Bell</emphasis></link>
2598ea1d6981Smrg     1     104                             opcode
2599ea1d6981Smrg     1     INT8                            percent
2600ea1d6981Smrg     2     1                               request length
2601ea1d6981Smrg
2602ea1d6981Smrg<link linkend="requests:ChangePointerControl"><emphasis role='bold'>ChangePointerControl</emphasis></link>
2603ea1d6981Smrg     1     105                             opcode
2604ea1d6981Smrg     1                                     unused
2605ea1d6981Smrg     2     3                               request length
2606ea1d6981Smrg     2     INT16                           acceleration-numerator
2607ea1d6981Smrg     2     INT16                           acceleration-denominator
2608ea1d6981Smrg     2     INT16                           threshold
2609ea1d6981Smrg     1     BOOL                            do-acceleration
2610ea1d6981Smrg     1     BOOL                            do-threshold
2611ea1d6981Smrg
2612ea1d6981Smrg<link linkend="requests:GetPointerControl"><emphasis role='bold'>GetPointerControl</emphasis></link>
2613ea1d6981Smrg     1     106                             opcode
2614ea1d6981Smrg     1                                     unused
2615ea1d6981Smrg     2     1                               request length
2616ea1d6981Smrg
2617ea1d6981Smrg2618ea1d6981Smrg     1     1                               Reply
2619ea1d6981Smrg     1                                     unused
2620ea1d6981Smrg     2     CARD16                          sequence number
2621ea1d6981Smrg     4     0                               reply length
2622ea1d6981Smrg     2     CARD16                          acceleration-numerator
2623ea1d6981Smrg     2     CARD16                          acceleration-denominator
2624ea1d6981Smrg     2     CARD16                          threshold
2625ea1d6981Smrg     18                                    unused
2626ea1d6981Smrg
2627ea1d6981Smrg<link linkend="requests:SetScreenSaver"><emphasis role='bold'>SetScreenSaver</emphasis></link>
2628ea1d6981Smrg     1     107                             opcode
2629ea1d6981Smrg     1                                     unused
2630ea1d6981Smrg     2     3                               request length
2631ea1d6981Smrg     2     INT16                           timeout
2632ea1d6981Smrg     2     INT16                           interval
2633ea1d6981Smrg     1                                     prefer-blanking
2634ea1d6981Smrg          0     No
2635ea1d6981Smrg          1     Yes
2636ea1d6981Smrg          2     Default
2637ea1d6981Smrg     1                                     allow-exposures
2638ea1d6981Smrg          0     No
2639ea1d6981Smrg          1     Yes
2640ea1d6981Smrg          2     Default
2641ea1d6981Smrg     2                                     unused
2642ea1d6981Smrg
2643ea1d6981Smrg<link linkend="requests:GetScreenSaver"><emphasis role='bold'>GetScreenSaver</emphasis></link>
2644ea1d6981Smrg     1     108                             opcode
2645ea1d6981Smrg     1                                     unused
2646ea1d6981Smrg     2     1                               request length
2647ea1d6981Smrg
2648ea1d6981Smrg2649ea1d6981Smrg     1     1                               Reply
2650ea1d6981Smrg     1                                     unused
2651ea1d6981Smrg     2     CARD16                          sequence number
2652ea1d6981Smrg     4     0                               reply length
2653ea1d6981Smrg     2     CARD16                          timeout
2654ea1d6981Smrg     2     CARD16                          interval
2655ea1d6981Smrg     1                                     prefer-blanking
2656ea1d6981Smrg          0     No
2657ea1d6981Smrg          1     Yes
2658ea1d6981Smrg     1                                     allow-exposures
2659ea1d6981Smrg          0     No
2660ea1d6981Smrg          1     Yes
2661ea1d6981Smrg     18                                    unused
2662ea1d6981Smrg
2663ea1d6981Smrg<link linkend="requests:ChangeHosts"><emphasis role='bold'>ChangeHosts</emphasis></link>
2664ea1d6981Smrg     1     109                             opcode
2665ea1d6981Smrg     1                                     mode
2666ea1d6981Smrg          0     Insert
2667ea1d6981Smrg          1     Delete
2668ea1d6981Smrg     2     2+(n+p)/4                       request length
2669ea1d6981Smrg     1                                     family
2670ea1d6981Smrg          0     Internet
2671ea1d6981Smrg          1     DECnet
2672ea1d6981Smrg          2     Chaos
2673ea1d6981Smrg     1                                     unused
2674ea1d6981Smrg     2     n                               length of address
2675ea1d6981Smrg     n     LISTofCARD8                     address
2676ea1d6981Smrg     p                                     unused, p=pad(n)
2677ea1d6981Smrg
2678ea1d6981Smrg<link linkend="requests:ListHosts"><emphasis role='bold'>ListHosts</emphasis></link>
2679ea1d6981Smrg     1     110                             opcode
2680ea1d6981Smrg     1                                     unused
2681ea1d6981Smrg     2     1                               request length
2682ea1d6981Smrg
2683ea1d6981Smrg2684ea1d6981Smrg     1     1                               Reply
2685ea1d6981Smrg     1                                     mode
2686ea1d6981Smrg          0     Disabled
2687ea1d6981Smrg          1     Enabled
2688ea1d6981Smrg     2     CARD16                          sequence number
2689ea1d6981Smrg     4     n/4                             reply length
2690ea1d6981Smrg     2     CARD16                          number of HOSTs in hosts
2691ea1d6981Smrg     22                                    unused
2692ea1d6981Smrg     n     LISTofHOST                      hosts (n always a multiple of 4)
2693ea1d6981Smrg
2694ea1d6981Smrg<link linkend="requests:SetAccessControl"><emphasis role='bold'>SetAccessControl</emphasis></link>
2695ea1d6981Smrg     1     111                             opcode
2696ea1d6981Smrg     1                                     mode
2697ea1d6981Smrg          0     Disable
2698ea1d6981Smrg          1     Enable
2699ea1d6981Smrg     2     1                               request length
2700ea1d6981Smrg
2701ea1d6981Smrg<link linkend="requests:SetCloseDownMode"><emphasis role='bold'>SetCloseDownMode</emphasis></link>
2702ea1d6981Smrg     1     112                             opcode
2703ea1d6981Smrg     1                                     mode
2704ea1d6981Smrg          0     Destroy
2705ea1d6981Smrg          1     RetainPermanent
2706ea1d6981Smrg          2     RetainTemporary
2707ea1d6981Smrg     2     1                               request length
2708ea1d6981Smrg
2709ea1d6981Smrg<link linkend="requests:KillClient"><emphasis role='bold'>KillClient</emphasis></link>
2710ea1d6981Smrg     1     113                             opcode
2711ea1d6981Smrg     1                                     unused
2712ea1d6981Smrg     2     2                               request length
2713ea1d6981Smrg     4     CARD32                          resource
2714ea1d6981Smrg          0     AllTemporary
2715ea1d6981Smrg
2716ea1d6981Smrg<link linkend="requests:RotateProperties"><emphasis role='bold'>RotateProperties</emphasis></link>
2717ea1d6981Smrg     1     114                             opcode
2718ea1d6981Smrg     1                                     unused
2719ea1d6981Smrg     2     3+n                             request length
2720ea1d6981Smrg     4     WINDOW                          window
2721ea1d6981Smrg     2     n                               number of properties
2722ea1d6981Smrg     2     INT16                           delta
2723ea1d6981Smrg     4n    LISTofATOM                      properties
2724ea1d6981Smrg
2725ea1d6981Smrg<link linkend="requests:ForceScreenSaver"><emphasis role='bold'>ForceScreenSaver</emphasis></link>
2726ea1d6981Smrg     1     115                             opcode
2727ea1d6981Smrg     1                                     mode
2728ea1d6981Smrg          0     Reset
2729ea1d6981Smrg          1     Activate
2730ea1d6981Smrg     2     1                               request length
2731ea1d6981Smrg
2732ea1d6981Smrg<link linkend="requests:SetPointerMapping"><emphasis role='bold'>SetPointerMapping</emphasis></link>
2733ea1d6981Smrg     1     116                             opcode
2734ea1d6981Smrg     1     n                               length of map
2735ea1d6981Smrg     2     1+(n+p)/4                       request length
2736ea1d6981Smrg     n     LISTofCARD8                     map
2737ea1d6981Smrg     p                                     unused, p=pad(n)
2738ea1d6981Smrg
2739ea1d6981Smrg2740ea1d6981Smrg     1     1                               Reply
2741ea1d6981Smrg     1                                     status
2742ea1d6981Smrg          0     Success
2743ea1d6981Smrg          1     Busy
2744ea1d6981Smrg     2     CARD16                          sequence number
2745ea1d6981Smrg     4     0                               reply length
2746ea1d6981Smrg     24                                    unused
2747ea1d6981Smrg
2748ea1d6981Smrg<link linkend="requests:GetPointerMapping"><emphasis role='bold'>GetPointerMapping</emphasis></link>
2749ea1d6981Smrg     1     117                             opcode
2750ea1d6981Smrg     1                                     unused
2751ea1d6981Smrg     2     1                               request length
2752ea1d6981Smrg
2753ea1d6981Smrg2754ea1d6981Smrg     1     1                               Reply
2755ea1d6981Smrg     1     n                               length of map
2756ea1d6981Smrg     2     CARD16                          sequence number
2757ea1d6981Smrg     4     (n+p)/4                         reply length
2758ea1d6981Smrg     24                                    unused
2759ea1d6981Smrg     n     LISTofCARD8                     map
2760ea1d6981Smrg     p                                     unused, p=pad(n)
2761ea1d6981Smrg
2762ea1d6981Smrg<link linkend="requests:SetModifierMapping"><emphasis role='bold'>SetModifierMapping</emphasis></link>
2763ea1d6981Smrg     1     118                             opcode
2764ea1d6981Smrg     1     n                               keycodes-per-modifier
2765ea1d6981Smrg     2     1+2n                            request length
2766ea1d6981Smrg     8n    LISTofKEYCODE                   keycodes
2767ea1d6981Smrg
2768ea1d6981Smrg2769ea1d6981Smrg     1     1                               Reply
2770ea1d6981Smrg     1                                     status
2771ea1d6981Smrg          0     Success
2772ea1d6981Smrg          1     Busy
2773ea1d6981Smrg          2     Failed
2774ea1d6981Smrg     2     CARD16                          sequence number
2775ea1d6981Smrg     4     0                               reply length
2776ea1d6981Smrg     24                                    unused
2777ea1d6981Smrg
2778ea1d6981Smrg<link linkend="requests:GetModifierMapping"><emphasis role='bold'>GetModifierMapping</emphasis></link>
2779ea1d6981Smrg     1     119                             opcode
2780ea1d6981Smrg     1                                     unused
2781ea1d6981Smrg     2     1                               request length
2782ea1d6981Smrg
2783ea1d6981Smrg2784ea1d6981Smrg     1     1                               Reply
2785ea1d6981Smrg     1     n                               keycodes-per-modifier
2786ea1d6981Smrg     2     CARD16                          sequence number
2787ea1d6981Smrg     4     2n                              reply length
2788ea1d6981Smrg     24                                    unused
2789ea1d6981Smrg     8n     LISTofKEYCODE                  keycodes
2790ea1d6981Smrg
2791ea1d6981Smrg<link linkend="requests:NoOperation"><emphasis role='bold'>NoOperation</emphasis></link>
2792ea1d6981Smrg     1     127                             opcode
2793ea1d6981Smrg     1                                     unused
2794ea1d6981Smrg     2     1+n                             request length
2795ea1d6981Smrg     4n                                    unused
2796ea1d6981Smrg</literallayout>
2797ea1d6981Smrg</sect1>
2798ea1d6981Smrg
2799ea1d6981Smrg<sect1 id='Encoding::Events'>
2800ea1d6981Smrg<title>Events</title>
2801ea1d6981Smrg<indexterm zone="Encoding::Events"><primary>Event</primary><secondary>encoding</secondary></indexterm>
2802ea1d6981Smrg
2803ea1d6981Smrg<literallayout class="monospaced">
2804ea1d6981Smrg<link linkend="events:KeyPress"><emphasis role='bold'>KeyPress</emphasis></link>
2805ea1d6981Smrg     1     2                               code
2806ea1d6981Smrg     1     KEYCODE                         detail
2807ea1d6981Smrg     2     CARD16                          sequence number
2808ea1d6981Smrg     4     TIMESTAMP                       time
2809ea1d6981Smrg     4     WINDOW                          root
2810ea1d6981Smrg     4     WINDOW                          event
2811ea1d6981Smrg     4     WINDOW                          child
2812ea1d6981Smrg          0     None
2813ea1d6981Smrg     2     INT16                           root-x
2814ea1d6981Smrg     2     INT16                           root-y
2815ea1d6981Smrg     2     INT16                           event-x
2816ea1d6981Smrg     2     INT16                           event-y
2817ea1d6981Smrg     2     SETofKEYBUTMASK                 state
2818ea1d6981Smrg     1     BOOL                            same-screen
2819ea1d6981Smrg     1                                     unused
2820ea1d6981Smrg
2821ea1d6981Smrg<link linkend="events:KeyRelease"><emphasis role='bold'>KeyRelease</emphasis></link>
2822ea1d6981Smrg     1     3                               code
2823ea1d6981Smrg     1     KEYCODE                         detail
2824ea1d6981Smrg     2     CARD16                          sequence number
2825ea1d6981Smrg     4     TIMESTAMP                       time
2826ea1d6981Smrg     4     WINDOW                          root
2827ea1d6981Smrg     4     WINDOW                          event
2828ea1d6981Smrg     4     WINDOW                          child
2829ea1d6981Smrg          0     None
2830ea1d6981Smrg     2     INT16                           root-x
2831ea1d6981Smrg     2     INT16                           root-y
2832ea1d6981Smrg     2     INT16                           event-x
2833ea1d6981Smrg     2     INT16                           event-y
2834ea1d6981Smrg     2     SETofKEYBUTMASK                 state
2835ea1d6981Smrg     1     BOOL                            same-screen
2836ea1d6981Smrg     1                                     unused
2837ea1d6981Smrg
2838ea1d6981Smrg<link linkend="events:ButtonPress"><emphasis role='bold'>ButtonPress</emphasis></link>
2839ea1d6981Smrg     1     4                               code
2840ea1d6981Smrg     1     BUTTON                          detail
2841ea1d6981Smrg     2     CARD16                          sequence number
2842ea1d6981Smrg     4     TIMESTAMP                       time
2843ea1d6981Smrg     4     WINDOW                          root
2844ea1d6981Smrg     4     WINDOW                          event
2845ea1d6981Smrg     4     WINDOW                          child
2846ea1d6981Smrg          0     None
2847ea1d6981Smrg     2     INT16                           root-x
2848ea1d6981Smrg     2     INT16                           root-y
2849ea1d6981Smrg     2     INT16                           event-x
2850ea1d6981Smrg     2     INT16                           event-y
2851ea1d6981Smrg     2     SETofKEYBUTMASK                 state
2852ea1d6981Smrg     1     BOOL                            same-screen
2853ea1d6981Smrg     1                                     unused
2854ea1d6981Smrg
2855ea1d6981Smrg<link linkend="events:ButtonRelease"><emphasis role='bold'>ButtonRelease</emphasis></link>
2856ea1d6981Smrg     1     5                               code
2857ea1d6981Smrg     1     BUTTON                          detail
2858ea1d6981Smrg     2     CARD16                          sequence number
2859ea1d6981Smrg     4     TIMESTAMP                       time
2860ea1d6981Smrg     4     WINDOW                          root
2861ea1d6981Smrg     4     WINDOW                          event
2862ea1d6981Smrg     4     WINDOW                          child
2863ea1d6981Smrg          0     None
2864ea1d6981Smrg     2     INT16                           root-x
2865ea1d6981Smrg     2     INT16                           root-y
2866ea1d6981Smrg     2     INT16                           event-x
2867ea1d6981Smrg     2     INT16                           event-y
2868ea1d6981Smrg     2     SETofKEYBUTMASK                 state
2869ea1d6981Smrg     1     BOOL                            same-screen
2870ea1d6981Smrg     1                                     unused
2871ea1d6981Smrg
2872ea1d6981Smrg<link linkend="events:MotionNotify"><emphasis role='bold'>MotionNotify</emphasis></link>
2873ea1d6981Smrg     1     6                               code
2874ea1d6981Smrg     1                                     detail
2875ea1d6981Smrg          0     Normal
2876ea1d6981Smrg          1     Hint
2877ea1d6981Smrg     2     CARD16                          sequence number
2878ea1d6981Smrg     4     TIMESTAMP                       time
2879ea1d6981Smrg     4     WINDOW                          root
2880ea1d6981Smrg     4     WINDOW                          event
2881ea1d6981Smrg     4     WINDOW                          child
2882ea1d6981Smrg           0     None
2883ea1d6981Smrg     2     INT16                           root-x
2884ea1d6981Smrg     2     INT16                           root-y
2885ea1d6981Smrg     2     INT16                           event-x
2886ea1d6981Smrg     2     INT16                           event-y
2887ea1d6981Smrg     2     SETofKEYBUTMASK                 state
2888ea1d6981Smrg     1     BOOL                            same-screen
2889ea1d6981Smrg     1                                     unused
2890ea1d6981Smrg
2891ea1d6981Smrg<link linkend="events:EnterNotify"><emphasis role='bold'>EnterNotify</emphasis></link>
2892ea1d6981Smrg     1     7                               code
2893ea1d6981Smrg     1                                     detail
2894ea1d6981Smrg          0     Ancestor
2895ea1d6981Smrg          1     Virtual
2896ea1d6981Smrg          2     Inferior
2897ea1d6981Smrg          3     Nonlinear
2898ea1d6981Smrg          4     NonlinearVirtual
2899ea1d6981Smrg     2     CARD16                          sequence number
2900ea1d6981Smrg     4     TIMESTAMP                       time
2901ea1d6981Smrg     4     WINDOW                          root
2902ea1d6981Smrg     4     WINDOW                          event
2903ea1d6981Smrg     4     WINDOW                          child
2904ea1d6981Smrg          0     None
2905ea1d6981Smrg     2     INT16                           root-x
2906ea1d6981Smrg     2     INT16                           root-y
2907ea1d6981Smrg     2     INT16                           event-x
2908ea1d6981Smrg     2     INT16                           event-y
2909ea1d6981Smrg     2     SETofKEYBUTMASK                 state
2910ea1d6981Smrg     1                                     mode
2911ea1d6981Smrg          0     Normal
2912ea1d6981Smrg          1     Grab
2913ea1d6981Smrg          2     Ungrab
2914ea1d6981Smrg     1                                     same-screen, focus
2915ea1d6981Smrg          #x01     focus (1 is True, 0 is False)
2916ea1d6981Smrg          #x02     same-screen (1 is True, 0 is False)
2917ea1d6981Smrg          #xFC     unused
2918ea1d6981Smrg
2919ea1d6981Smrg<link linkend="events:LeaveNotify"><emphasis role='bold'>LeaveNotify</emphasis></link>
2920ea1d6981Smrg     1     8                               code
2921ea1d6981Smrg     1                                     detail
2922ea1d6981Smrg          0     Ancestor
2923ea1d6981Smrg          1     Virtual
2924ea1d6981Smrg          2     Inferior
2925ea1d6981Smrg          3     Nonlinear
2926ea1d6981Smrg          4     NonlinearVirtual
2927ea1d6981Smrg     2     CARD16                          sequence number
2928ea1d6981Smrg     4     TIMESTAMP                       time
2929ea1d6981Smrg     4     WINDOW                          root
2930ea1d6981Smrg     4     WINDOW                          event
2931ea1d6981Smrg     4     WINDOW                          child
2932ea1d6981Smrg          0     None
2933ea1d6981Smrg     2     INT16                           root-x
2934ea1d6981Smrg     2     INT16                           root-y
2935ea1d6981Smrg     2     INT16                           event-x
2936ea1d6981Smrg     2     INT16                           event-y
2937ea1d6981Smrg     2     SETofKEYBUTMASK                 state
2938ea1d6981Smrg     1                                     mode
2939ea1d6981Smrg          0     Normal
2940ea1d6981Smrg          1     Grab
2941ea1d6981Smrg          2     Ungrab
2942ea1d6981Smrg     1                                     same-screen, focus
2943ea1d6981Smrg          #x01     focus (1 is True, 0 is False)
2944ea1d6981Smrg          #x02     same-screen (1 is True, 0 is False)
2945ea1d6981Smrg          #xFC     unused
2946ea1d6981Smrg
2947ea1d6981Smrg<link linkend="events:FocusIn"><emphasis role='bold'>FocusIn</emphasis></link>
2948ea1d6981Smrg     1     9                               code
2949ea1d6981Smrg     1                                     detail
2950ea1d6981Smrg          0     Ancestor
2951ea1d6981Smrg          1     Virtual
2952ea1d6981Smrg          2     Inferior
2953ea1d6981Smrg          3     Nonlinear
2954ea1d6981Smrg          4     NonlinearVirtual
2955ea1d6981Smrg          5     Pointer
2956ea1d6981Smrg          6     PointerRoot
2957ea1d6981Smrg          7     None
2958ea1d6981Smrg     2     CARD16                          sequence number
2959ea1d6981Smrg     4     WINDOW                          event
2960ea1d6981Smrg     1                                     mode
2961ea1d6981Smrg          0     Normal
2962ea1d6981Smrg          1     Grab
2963ea1d6981Smrg          2     Ungrab
2964ea1d6981Smrg          3     WhileGrabbed
2965ea1d6981Smrg     23                                    unused
2966ea1d6981Smrg
2967ea1d6981Smrg<link linkend="events:FocusOut"><emphasis role='bold'>FocusOut</emphasis></link>
2968ea1d6981Smrg     1     10                              code
2969ea1d6981Smrg     1                                     detail
2970ea1d6981Smrg          0     Ancestor
2971ea1d6981Smrg          1     Virtual
2972ea1d6981Smrg          2     Inferior
2973ea1d6981Smrg          3     Nonlinear
2974ea1d6981Smrg          4     NonlinearVirtual
2975ea1d6981Smrg          5     Pointer
2976ea1d6981Smrg          6     PointerRoot
2977ea1d6981Smrg          7     None
2978ea1d6981Smrg     2     CARD16                          sequence number
2979ea1d6981Smrg     4     WINDOW                          event
2980ea1d6981Smrg     1                                     mode
2981ea1d6981Smrg          0     Normal
2982ea1d6981Smrg          1     Grab
2983ea1d6981Smrg          2     Ungrab
2984ea1d6981Smrg          3     WhileGrabbed
2985ea1d6981Smrg     23                                    unused
2986ea1d6981Smrg
2987ea1d6981Smrg<link linkend="events:KeymapNotify"><emphasis role='bold'>KeymapNotify</emphasis></link>
2988ea1d6981Smrg     1     11                              code
2989ea1d6981Smrg     31    LISTofCARD8                     keys (byte for keycodes 0-7 is
2990ea1d6981Smrg                                           omitted)
2991ea1d6981Smrg
2992ea1d6981Smrg<link linkend="events:Expose"><emphasis role='bold'>Expose</emphasis></link>
2993ea1d6981Smrg     1     12                              code
2994ea1d6981Smrg     1                                     unused
2995ea1d6981Smrg     2     CARD16                          sequence number
2996ea1d6981Smrg     4     WINDOW                          window
2997ea1d6981Smrg     2     CARD16                          x
2998ea1d6981Smrg     2     CARD16                          y
2999ea1d6981Smrg     2     CARD16                          width
3000ea1d6981Smrg     2     CARD16                          height
3001ea1d6981Smrg     2     CARD16                          count
3002ea1d6981Smrg     14                                    unused
3003ea1d6981Smrg
3004ea1d6981Smrg<link linkend="events:GraphicsExposure"><emphasis role='bold'>GraphicsExposure</emphasis></link>
3005ea1d6981Smrg     1     13                              code
3006ea1d6981Smrg     1                                     unused
3007ea1d6981Smrg     2     CARD16                          sequence number
3008ea1d6981Smrg     4     DRAWABLE                        drawable
3009ea1d6981Smrg     2     CARD16                          x
3010ea1d6981Smrg     2     CARD16                          y
3011ea1d6981Smrg     2     CARD16                          width
3012ea1d6981Smrg     2     CARD16                          height
3013ea1d6981Smrg     2     CARD16                          minor-opcode
3014ea1d6981Smrg     2     CARD16                          count
3015ea1d6981Smrg     1     CARD8                           major-opcode
3016ea1d6981Smrg     11                                    unused
3017ea1d6981Smrg
3018ea1d6981Smrg<link linkend="events:NoExposure"><emphasis role='bold'>NoExposure</emphasis></link>
3019ea1d6981Smrg     1     14                              code
3020ea1d6981Smrg     1                                     unused
3021ea1d6981Smrg     2     CARD16                          sequence number
3022ea1d6981Smrg     4     DRAWABLE                        drawable
3023ea1d6981Smrg     2     CARD16                          minor-opcode
3024ea1d6981Smrg     1     CARD8                           major-opcode
3025ea1d6981Smrg     21                                    unused
3026ea1d6981Smrg
3027ea1d6981Smrg<link linkend="events:VisibilityNotify"><emphasis role='bold'>VisibilityNotify</emphasis></link>
3028ea1d6981Smrg     1     15                              code
3029ea1d6981Smrg     1                                     unused
3030ea1d6981Smrg     2     CARD16                          sequence number
3031ea1d6981Smrg     4     WINDOW                          window
3032ea1d6981Smrg     1                                     state
3033ea1d6981Smrg          0     Unobscured
3034ea1d6981Smrg          1     PartiallyObscured
3035ea1d6981Smrg          2     FullyObscured
3036ea1d6981Smrg     23                                    unused
3037ea1d6981Smrg
3038ea1d6981Smrg<link linkend="events:CreateNotify"><emphasis role='bold'>CreateNotify</emphasis></link>
3039ea1d6981Smrg     1     16                              code
3040ea1d6981Smrg     1                                     unused
3041ea1d6981Smrg     2     CARD16                          sequence number
3042ea1d6981Smrg     4     WINDOW                          parent
3043ea1d6981Smrg     4     WINDOW                          window
3044ea1d6981Smrg     2     INT16                           x
3045ea1d6981Smrg     2     INT16                           y
3046ea1d6981Smrg     2     CARD16                          width
3047ea1d6981Smrg     2     CARD16                          height
3048ea1d6981Smrg     2     CARD16                          border-width
3049ea1d6981Smrg     1     BOOL                            override-redirect
3050ea1d6981Smrg     9                                     unused
3051ea1d6981Smrg
3052ea1d6981Smrg<link linkend="events:DestroyNotify"><emphasis role='bold'>DestroyNotify</emphasis></link>
3053ea1d6981Smrg     1     17                              code
3054ea1d6981Smrg     1                                     unused
3055ea1d6981Smrg     2     CARD16                          sequence number
3056ea1d6981Smrg     4     WINDOW                          event
3057ea1d6981Smrg     4     WINDOW                          window
3058ea1d6981Smrg     20                                    unused
3059ea1d6981Smrg
3060ea1d6981Smrg<link linkend="events:UnmapNotify"><emphasis role='bold'>UnmapNotify</emphasis></link>
3061ea1d6981Smrg     1     18                              code
3062ea1d6981Smrg     1                                     unused
3063ea1d6981Smrg     2     CARD16                          sequence number
3064ea1d6981Smrg     4     WINDOW                          event
3065ea1d6981Smrg     4     WINDOW                          window
3066ea1d6981Smrg     1     BOOL                            from-configure
3067ea1d6981Smrg     19                                    unused
3068ea1d6981Smrg
3069ea1d6981Smrg<link linkend="events:MapNotify"><emphasis role='bold'>MapNotify</emphasis></link>
3070ea1d6981Smrg     1     19                              code
3071ea1d6981Smrg     1                                     unused
3072ea1d6981Smrg     2     CARD16                          sequence number
3073ea1d6981Smrg     4     WINDOW                          event
3074ea1d6981Smrg     4     WINDOW                          window
3075ea1d6981Smrg     1     BOOL                            override-redirect
3076ea1d6981Smrg     19                                    unused
3077ea1d6981Smrg
3078ea1d6981Smrg<link linkend="events:MapRequest"><emphasis role='bold'>MapRequest</emphasis></link>
3079ea1d6981Smrg     1     20                              code
3080ea1d6981Smrg     1                                     unused
3081ea1d6981Smrg     2     CARD16                          sequence number
3082ea1d6981Smrg     4     WINDOW                          parent
3083ea1d6981Smrg     4     WINDOW                          window
3084ea1d6981Smrg     20                                    unused
3085ea1d6981Smrg
3086ea1d6981Smrg<link linkend="events:ReparentNotify"><emphasis role='bold'>ReparentNotify</emphasis></link>
3087ea1d6981Smrg     1     21                              code
3088ea1d6981Smrg     1                                     unused
3089ea1d6981Smrg     2     CARD16                          sequence number
3090ea1d6981Smrg     4     WINDOW                          event
3091ea1d6981Smrg     4     WINDOW                          window
3092ea1d6981Smrg     4     WINDOW                          parent
3093ea1d6981Smrg     2     INT16                           x
3094ea1d6981Smrg     2     INT16                           y
3095ea1d6981Smrg     1     BOOL                            override-redirect
3096ea1d6981Smrg     11                                    unused
3097ea1d6981Smrg
3098ea1d6981Smrg<link linkend="events:ConfigureNotify"><emphasis role='bold'>ConfigureNotify</emphasis></link>
3099ea1d6981Smrg     1     22                              code
3100ea1d6981Smrg     1                                     unused
3101ea1d6981Smrg     2     CARD16                          sequence number
3102ea1d6981Smrg     4     WINDOW                          event
3103ea1d6981Smrg     4     WINDOW                          window
3104ea1d6981Smrg     4     WINDOW                          above-sibling
3105ea1d6981Smrg          0     None
3106ea1d6981Smrg     2     INT16                           x
3107ea1d6981Smrg     2     INT16                           y
3108ea1d6981Smrg     2     CARD16                          width
3109ea1d6981Smrg     2     CARD16                          height
3110ea1d6981Smrg     2     CARD16                          border-width
3111ea1d6981Smrg     1     BOOL                            override-redirect
3112ea1d6981Smrg     5                                     unused
3113ea1d6981Smrg
3114ea1d6981Smrg<link linkend="events:ConfigureRequest"><emphasis role='bold'>ConfigureRequest</emphasis></link>
3115ea1d6981Smrg     1     23                              code
3116ea1d6981Smrg     1                                     stack-mode
3117ea1d6981Smrg          0     Above
3118ea1d6981Smrg          1     Below
3119ea1d6981Smrg          2     TopIf
3120ea1d6981Smrg          3     BottomIf
3121ea1d6981Smrg          4     Opposite
3122ea1d6981Smrg     2     CARD16                          sequence number
3123ea1d6981Smrg     4     WINDOW                          parent
3124ea1d6981Smrg     4     WINDOW                          window
3125ea1d6981Smrg     4     WINDOW                          sibling
3126ea1d6981Smrg          0     None
3127ea1d6981Smrg     2     INT16                           x
3128ea1d6981Smrg     2     INT16                           y
3129ea1d6981Smrg     2     CARD16                          width
3130ea1d6981Smrg     2     CARD16                          height
3131ea1d6981Smrg     2     CARD16                          border-width
3132ea1d6981Smrg     2     BITMASK                         value-mask
3133ea1d6981Smrg          #x0001     x
3134ea1d6981Smrg          #x0002     y
3135ea1d6981Smrg          #x0004     width
3136ea1d6981Smrg          #x0008     height
3137ea1d6981Smrg          #x0010     border-width
3138ea1d6981Smrg          #x0020     sibling
3139ea1d6981Smrg          #x0040     stack-mode
3140ea1d6981Smrg     4                                     unused
3141ea1d6981Smrg
3142ea1d6981Smrg<link linkend="events:GravityNotify"><emphasis role='bold'>GravityNotify</emphasis></link>
3143ea1d6981Smrg     1     24                              code
3144ea1d6981Smrg     1                                     unused
3145ea1d6981Smrg     2     CARD16                          sequence number
3146ea1d6981Smrg     4     WINDOW                          event
3147ea1d6981Smrg     4     WINDOW                          window
3148ea1d6981Smrg     2     INT16                           x
3149ea1d6981Smrg     2     INT16                           y
3150ea1d6981Smrg     16                                    unused
3151ea1d6981Smrg
3152ea1d6981Smrg<link linkend="events:ResizeRequest"><emphasis role='bold'>ResizeRequest</emphasis></link>
3153ea1d6981Smrg     1     25                              code
3154ea1d6981Smrg     1                                     unused
3155ea1d6981Smrg     2     CARD16                          sequence number
3156ea1d6981Smrg     4     WINDOW                          window
3157ea1d6981Smrg     2     CARD16                          width
3158ea1d6981Smrg     2     CARD16                          height
3159ea1d6981Smrg     20                                    unused
3160ea1d6981Smrg
3161ea1d6981Smrg<link linkend="events:CirculateNotify"><emphasis role='bold'>CirculateNotify</emphasis></link>
3162ea1d6981Smrg     1     26                              code
3163ea1d6981Smrg     1                                     unused
3164ea1d6981Smrg     2     CARD16                          sequence number
3165ea1d6981Smrg     4     WINDOW                          event
3166ea1d6981Smrg     4     WINDOW                          window
3167ea1d6981Smrg     4     WINDOW                          unused
3168ea1d6981Smrg     1                                     place
3169ea1d6981Smrg          0     Top
3170ea1d6981Smrg          1     Bottom
3171ea1d6981Smrg     15                                    unused
3172ea1d6981Smrg
3173ea1d6981Smrg<link linkend="events:CirculateRequest"><emphasis role='bold'>CirculateRequest</emphasis></link>
3174ea1d6981Smrg     1     27                              code
3175ea1d6981Smrg     1                                     unused
3176ea1d6981Smrg     2     CARD16                          sequence number
3177ea1d6981Smrg     4     WINDOW                          parent
3178ea1d6981Smrg     4     WINDOW                          window
3179ea1d6981Smrg     4                                     unused
3180ea1d6981Smrg     1                                     place
3181ea1d6981Smrg          0     Top
3182ea1d6981Smrg          1     Bottom
3183ea1d6981Smrg     15                                    unused
3184ea1d6981Smrg
3185ea1d6981Smrg<link linkend="events:PropertyNotify"><emphasis role='bold'>PropertyNotify</emphasis></link>
3186ea1d6981Smrg     1     28                              code
3187ea1d6981Smrg     1                                     unused
3188ea1d6981Smrg     2     CARD16                          sequence number
3189ea1d6981Smrg     4     WINDOW                          window
3190ea1d6981Smrg     4     ATOM                            atom
3191ea1d6981Smrg     4     TIMESTAMP                       time
3192ea1d6981Smrg     1                                     state
3193ea1d6981Smrg          0     NewValue
3194ea1d6981Smrg          1     Deleted
3195ea1d6981Smrg     15                                    unused
3196ea1d6981Smrg
3197ea1d6981Smrg<link linkend="events:SelectionClear"><emphasis role='bold'>SelectionClear</emphasis></link>
3198ea1d6981Smrg     1     29                              code
3199ea1d6981Smrg     1                                     unused
3200ea1d6981Smrg     2     CARD16                          sequence number
3201ea1d6981Smrg     4     TIMESTAMP                       time
3202ea1d6981Smrg     4     WINDOW                          owner
3203ea1d6981Smrg     4     ATOM                            selection
3204ea1d6981Smrg     16                                    unused
3205ea1d6981Smrg
3206ea1d6981Smrg<link linkend="events:SelectionRequest"><emphasis role='bold'>SelectionRequest</emphasis></link>
3207ea1d6981Smrg     1     30                              code
3208ea1d6981Smrg     1                                     unused
3209ea1d6981Smrg     2     CARD16                          sequence number
3210ea1d6981Smrg     4     TIMESTAMP                       time
3211ea1d6981Smrg          0     CurrentTime
3212ea1d6981Smrg     4     WINDOW                          owner
3213ea1d6981Smrg     4     WINDOW                          requestor
3214ea1d6981Smrg     4     ATOM                            selection
3215ea1d6981Smrg     4     ATOM                            target
3216ea1d6981Smrg     4     ATOM                            property
3217ea1d6981Smrg          0     None
3218ea1d6981Smrg     4                                     unused
3219ea1d6981Smrg
3220ea1d6981Smrg<link linkend="events:SelectionNotify"><emphasis role='bold'>SelectionNotify</emphasis></link>
3221ea1d6981Smrg     1     31                              code
3222ea1d6981Smrg     1                                     unused
3223ea1d6981Smrg     2     CARD16                          sequence number
3224ea1d6981Smrg     4     TIMESTAMP                       time
3225ea1d6981Smrg          0     CurrentTime
3226ea1d6981Smrg     4     WINDOW                          requestor
3227ea1d6981Smrg     4     ATOM                            selection
3228ea1d6981Smrg     4     ATOM                            target
3229ea1d6981Smrg     4     ATOM                            property
3230ea1d6981Smrg          0     None
3231ea1d6981Smrg     8                                     unused
3232ea1d6981Smrg
3233ea1d6981Smrg<link linkend="events:ColormapNotify"><emphasis role='bold'>ColormapNotify</emphasis></link>
3234ea1d6981Smrg     1     32                              code
3235ea1d6981Smrg     1                                     unused
3236ea1d6981Smrg     2     CARD16                          sequence number
3237ea1d6981Smrg     4     WINDOW                          window
3238ea1d6981Smrg     4     COLORMAP                        colormap
3239ea1d6981Smrg          0     None
3240ea1d6981Smrg     1     BOOL                            new
3241ea1d6981Smrg     1                                     state
3242ea1d6981Smrg          0     Uninstalled
3243ea1d6981Smrg          1     Installed
3244ea1d6981Smrg     18                                    unused
3245ea1d6981Smrg
3246ea1d6981Smrg<link linkend="events:ClientMessage"><emphasis role='bold'>ClientMessage</emphasis></link>
3247ea1d6981Smrg     1     33                              code
3248ea1d6981Smrg     1     CARD8                           format
3249ea1d6981Smrg     2     CARD16                          sequence number
3250ea1d6981Smrg     4     WINDOW                          window
3251ea1d6981Smrg     4     ATOM                            type
3252ea1d6981Smrg     20                                    data
3253ea1d6981Smrg
3254ea1d6981Smrg<link linkend="events:MappingNotify"><emphasis role='bold'>MappingNotify</emphasis></link>
3255ea1d6981Smrg     1     34                              code
3256ea1d6981Smrg     1                                     unused
3257ea1d6981Smrg     2     CARD16                          sequence number
3258ea1d6981Smrg     1                                     request
3259ea1d6981Smrg          0     Modifier
3260ea1d6981Smrg          1     Keyboard
3261ea1d6981Smrg          2     Pointer
3262ea1d6981Smrg     1     KEYCODE                         first-keycode
3263ea1d6981Smrg     1     CARD8                           count
3264ea1d6981Smrg     25                                    unused
3265ea1d6981Smrg</literallayout>
3266ea1d6981Smrg
3267ea1d6981Smrg</sect1>
3268ea1d6981Smrg</appendix>
3269