xref: /minix3/external/mit/xorg/lib/libxcb/files/xevie.h (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1 /*
2  * This file generated automatically from xevie.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB_Xevie_API XCB Xevie API
8  * @brief Xevie XCB Protocol Implementation.
9  * @{
10  **/
11 
12 #ifndef __XEVIE_H
13 #define __XEVIE_H
14 
15 #include "xcb.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #define XCB_XEVIE_MAJOR_VERSION 1
22 #define XCB_XEVIE_MINOR_VERSION 0
23 
24 extern xcb_extension_t xcb_xevie_id;
25 
26 /**
27  * @brief xcb_xevie_query_version_cookie_t
28  **/
29 typedef struct xcb_xevie_query_version_cookie_t {
30     unsigned int sequence; /**<  */
31 } xcb_xevie_query_version_cookie_t;
32 
33 /** Opcode for xcb_xevie_query_version. */
34 #define XCB_XEVIE_QUERY_VERSION 0
35 
36 /**
37  * @brief xcb_xevie_query_version_request_t
38  **/
39 typedef struct xcb_xevie_query_version_request_t {
40     uint8_t  major_opcode; /**<  */
41     uint8_t  minor_opcode; /**<  */
42     uint16_t length; /**<  */
43     uint16_t client_major_version; /**<  */
44     uint16_t client_minor_version; /**<  */
45 } xcb_xevie_query_version_request_t;
46 
47 /**
48  * @brief xcb_xevie_query_version_reply_t
49  **/
50 typedef struct xcb_xevie_query_version_reply_t {
51     uint8_t  response_type; /**<  */
52     uint8_t  pad0; /**<  */
53     uint16_t sequence; /**<  */
54     uint32_t length; /**<  */
55     uint16_t server_major_version; /**<  */
56     uint16_t server_minor_version; /**<  */
57     uint8_t  pad1[20]; /**<  */
58 } xcb_xevie_query_version_reply_t;
59 
60 /**
61  * @brief xcb_xevie_start_cookie_t
62  **/
63 typedef struct xcb_xevie_start_cookie_t {
64     unsigned int sequence; /**<  */
65 } xcb_xevie_start_cookie_t;
66 
67 /** Opcode for xcb_xevie_start. */
68 #define XCB_XEVIE_START 1
69 
70 /**
71  * @brief xcb_xevie_start_request_t
72  **/
73 typedef struct xcb_xevie_start_request_t {
74     uint8_t  major_opcode; /**<  */
75     uint8_t  minor_opcode; /**<  */
76     uint16_t length; /**<  */
77     uint32_t screen; /**<  */
78 } xcb_xevie_start_request_t;
79 
80 /**
81  * @brief xcb_xevie_start_reply_t
82  **/
83 typedef struct xcb_xevie_start_reply_t {
84     uint8_t  response_type; /**<  */
85     uint8_t  pad0; /**<  */
86     uint16_t sequence; /**<  */
87     uint32_t length; /**<  */
88     uint8_t  pad1[24]; /**<  */
89 } xcb_xevie_start_reply_t;
90 
91 /**
92  * @brief xcb_xevie_end_cookie_t
93  **/
94 typedef struct xcb_xevie_end_cookie_t {
95     unsigned int sequence; /**<  */
96 } xcb_xevie_end_cookie_t;
97 
98 /** Opcode for xcb_xevie_end. */
99 #define XCB_XEVIE_END 2
100 
101 /**
102  * @brief xcb_xevie_end_request_t
103  **/
104 typedef struct xcb_xevie_end_request_t {
105     uint8_t  major_opcode; /**<  */
106     uint8_t  minor_opcode; /**<  */
107     uint16_t length; /**<  */
108     uint32_t cmap; /**<  */
109 } xcb_xevie_end_request_t;
110 
111 /**
112  * @brief xcb_xevie_end_reply_t
113  **/
114 typedef struct xcb_xevie_end_reply_t {
115     uint8_t  response_type; /**<  */
116     uint8_t  pad0; /**<  */
117     uint16_t sequence; /**<  */
118     uint32_t length; /**<  */
119     uint8_t  pad1[24]; /**<  */
120 } xcb_xevie_end_reply_t;
121 
122 typedef enum xcb_xevie_datatype_t {
123     XCB_XEVIE_DATATYPE_UNMODIFIED = 0,
124     XCB_XEVIE_DATATYPE_MODIFIED = 1
125 } xcb_xevie_datatype_t;
126 
127 /**
128  * @brief xcb_xevie_event_t
129  **/
130 typedef struct xcb_xevie_event_t {
131     uint8_t pad0[32]; /**<  */
132 } xcb_xevie_event_t;
133 
134 /**
135  * @brief xcb_xevie_event_iterator_t
136  **/
137 typedef struct xcb_xevie_event_iterator_t {
138     xcb_xevie_event_t *data; /**<  */
139     int                rem; /**<  */
140     int                index; /**<  */
141 } xcb_xevie_event_iterator_t;
142 
143 /**
144  * @brief xcb_xevie_send_cookie_t
145  **/
146 typedef struct xcb_xevie_send_cookie_t {
147     unsigned int sequence; /**<  */
148 } xcb_xevie_send_cookie_t;
149 
150 /** Opcode for xcb_xevie_send. */
151 #define XCB_XEVIE_SEND 3
152 
153 /**
154  * @brief xcb_xevie_send_request_t
155  **/
156 typedef struct xcb_xevie_send_request_t {
157     uint8_t           major_opcode; /**<  */
158     uint8_t           minor_opcode; /**<  */
159     uint16_t          length; /**<  */
160     xcb_xevie_event_t event; /**<  */
161     uint32_t          data_type; /**<  */
162     uint8_t           pad0[64]; /**<  */
163 } xcb_xevie_send_request_t;
164 
165 /**
166  * @brief xcb_xevie_send_reply_t
167  **/
168 typedef struct xcb_xevie_send_reply_t {
169     uint8_t  response_type; /**<  */
170     uint8_t  pad0; /**<  */
171     uint16_t sequence; /**<  */
172     uint32_t length; /**<  */
173     uint8_t  pad1[24]; /**<  */
174 } xcb_xevie_send_reply_t;
175 
176 /**
177  * @brief xcb_xevie_select_input_cookie_t
178  **/
179 typedef struct xcb_xevie_select_input_cookie_t {
180     unsigned int sequence; /**<  */
181 } xcb_xevie_select_input_cookie_t;
182 
183 /** Opcode for xcb_xevie_select_input. */
184 #define XCB_XEVIE_SELECT_INPUT 4
185 
186 /**
187  * @brief xcb_xevie_select_input_request_t
188  **/
189 typedef struct xcb_xevie_select_input_request_t {
190     uint8_t  major_opcode; /**<  */
191     uint8_t  minor_opcode; /**<  */
192     uint16_t length; /**<  */
193     uint32_t event_mask; /**<  */
194 } xcb_xevie_select_input_request_t;
195 
196 /**
197  * @brief xcb_xevie_select_input_reply_t
198  **/
199 typedef struct xcb_xevie_select_input_reply_t {
200     uint8_t  response_type; /**<  */
201     uint8_t  pad0; /**<  */
202     uint16_t sequence; /**<  */
203     uint32_t length; /**<  */
204     uint8_t  pad1[24]; /**<  */
205 } xcb_xevie_select_input_reply_t;
206 
207 /**
208  *
209  * @param c The connection
210  * @return A cookie
211  *
212  * Delivers a request to the X server.
213  *
214  */
215 xcb_xevie_query_version_cookie_t
216 xcb_xevie_query_version (xcb_connection_t *c  /**< */,
217                          uint16_t          client_major_version  /**< */,
218                          uint16_t          client_minor_version  /**< */);
219 
220 /**
221  *
222  * @param c The connection
223  * @return A cookie
224  *
225  * Delivers a request to the X server.
226  *
227  * This form can be used only if the request will cause
228  * a reply to be generated. Any returned error will be
229  * placed in the event queue.
230  */
231 xcb_xevie_query_version_cookie_t
232 xcb_xevie_query_version_unchecked (xcb_connection_t *c  /**< */,
233                                    uint16_t          client_major_version  /**< */,
234                                    uint16_t          client_minor_version  /**< */);
235 
236 /**
237  * Return the reply
238  * @param c      The connection
239  * @param cookie The cookie
240  * @param e      The xcb_generic_error_t supplied
241  *
242  * Returns the reply of the request asked by
243  *
244  * The parameter @p e supplied to this function must be NULL if
245  * xcb_xevie_query_version_unchecked(). is used.
246  * Otherwise, it stores the error if any.
247  *
248  * The returned value must be freed by the caller using free().
249  */
250 xcb_xevie_query_version_reply_t *
251 xcb_xevie_query_version_reply (xcb_connection_t                  *c  /**< */,
252                                xcb_xevie_query_version_cookie_t   cookie  /**< */,
253                                xcb_generic_error_t              **e  /**< */);
254 
255 /**
256  *
257  * @param c The connection
258  * @return A cookie
259  *
260  * Delivers a request to the X server.
261  *
262  */
263 xcb_xevie_start_cookie_t
264 xcb_xevie_start (xcb_connection_t *c  /**< */,
265                  uint32_t          screen  /**< */);
266 
267 /**
268  *
269  * @param c The connection
270  * @return A cookie
271  *
272  * Delivers a request to the X server.
273  *
274  * This form can be used only if the request will cause
275  * a reply to be generated. Any returned error will be
276  * placed in the event queue.
277  */
278 xcb_xevie_start_cookie_t
279 xcb_xevie_start_unchecked (xcb_connection_t *c  /**< */,
280                            uint32_t          screen  /**< */);
281 
282 /**
283  * Return the reply
284  * @param c      The connection
285  * @param cookie The cookie
286  * @param e      The xcb_generic_error_t supplied
287  *
288  * Returns the reply of the request asked by
289  *
290  * The parameter @p e supplied to this function must be NULL if
291  * xcb_xevie_start_unchecked(). is used.
292  * Otherwise, it stores the error if any.
293  *
294  * The returned value must be freed by the caller using free().
295  */
296 xcb_xevie_start_reply_t *
297 xcb_xevie_start_reply (xcb_connection_t          *c  /**< */,
298                        xcb_xevie_start_cookie_t   cookie  /**< */,
299                        xcb_generic_error_t      **e  /**< */);
300 
301 /**
302  *
303  * @param c The connection
304  * @return A cookie
305  *
306  * Delivers a request to the X server.
307  *
308  */
309 xcb_xevie_end_cookie_t
310 xcb_xevie_end (xcb_connection_t *c  /**< */,
311                uint32_t          cmap  /**< */);
312 
313 /**
314  *
315  * @param c The connection
316  * @return A cookie
317  *
318  * Delivers a request to the X server.
319  *
320  * This form can be used only if the request will cause
321  * a reply to be generated. Any returned error will be
322  * placed in the event queue.
323  */
324 xcb_xevie_end_cookie_t
325 xcb_xevie_end_unchecked (xcb_connection_t *c  /**< */,
326                          uint32_t          cmap  /**< */);
327 
328 /**
329  * Return the reply
330  * @param c      The connection
331  * @param cookie The cookie
332  * @param e      The xcb_generic_error_t supplied
333  *
334  * Returns the reply of the request asked by
335  *
336  * The parameter @p e supplied to this function must be NULL if
337  * xcb_xevie_end_unchecked(). is used.
338  * Otherwise, it stores the error if any.
339  *
340  * The returned value must be freed by the caller using free().
341  */
342 xcb_xevie_end_reply_t *
343 xcb_xevie_end_reply (xcb_connection_t        *c  /**< */,
344                      xcb_xevie_end_cookie_t   cookie  /**< */,
345                      xcb_generic_error_t    **e  /**< */);
346 
347 /**
348  * Get the next element of the iterator
349  * @param i Pointer to a xcb_xevie_event_iterator_t
350  *
351  * Get the next element in the iterator. The member rem is
352  * decreased by one. The member data points to the next
353  * element. The member index is increased by sizeof(xcb_xevie_event_t)
354  */
355 void
356 xcb_xevie_event_next (xcb_xevie_event_iterator_t *i  /**< */);
357 
358 /**
359  * Return the iterator pointing to the last element
360  * @param i An xcb_xevie_event_iterator_t
361  * @return  The iterator pointing to the last element
362  *
363  * Set the current element in the iterator to the last element.
364  * The member rem is set to 0. The member data points to the
365  * last element.
366  */
367 xcb_generic_iterator_t
368 xcb_xevie_event_end (xcb_xevie_event_iterator_t i  /**< */);
369 
370 /**
371  *
372  * @param c The connection
373  * @return A cookie
374  *
375  * Delivers a request to the X server.
376  *
377  */
378 xcb_xevie_send_cookie_t
379 xcb_xevie_send (xcb_connection_t  *c  /**< */,
380                 xcb_xevie_event_t  event  /**< */,
381                 uint32_t           data_type  /**< */);
382 
383 /**
384  *
385  * @param c The connection
386  * @return A cookie
387  *
388  * Delivers a request to the X server.
389  *
390  * This form can be used only if the request will cause
391  * a reply to be generated. Any returned error will be
392  * placed in the event queue.
393  */
394 xcb_xevie_send_cookie_t
395 xcb_xevie_send_unchecked (xcb_connection_t  *c  /**< */,
396                           xcb_xevie_event_t  event  /**< */,
397                           uint32_t           data_type  /**< */);
398 
399 /**
400  * Return the reply
401  * @param c      The connection
402  * @param cookie The cookie
403  * @param e      The xcb_generic_error_t supplied
404  *
405  * Returns the reply of the request asked by
406  *
407  * The parameter @p e supplied to this function must be NULL if
408  * xcb_xevie_send_unchecked(). is used.
409  * Otherwise, it stores the error if any.
410  *
411  * The returned value must be freed by the caller using free().
412  */
413 xcb_xevie_send_reply_t *
414 xcb_xevie_send_reply (xcb_connection_t         *c  /**< */,
415                       xcb_xevie_send_cookie_t   cookie  /**< */,
416                       xcb_generic_error_t     **e  /**< */);
417 
418 /**
419  *
420  * @param c The connection
421  * @return A cookie
422  *
423  * Delivers a request to the X server.
424  *
425  */
426 xcb_xevie_select_input_cookie_t
427 xcb_xevie_select_input (xcb_connection_t *c  /**< */,
428                         uint32_t          event_mask  /**< */);
429 
430 /**
431  *
432  * @param c The connection
433  * @return A cookie
434  *
435  * Delivers a request to the X server.
436  *
437  * This form can be used only if the request will cause
438  * a reply to be generated. Any returned error will be
439  * placed in the event queue.
440  */
441 xcb_xevie_select_input_cookie_t
442 xcb_xevie_select_input_unchecked (xcb_connection_t *c  /**< */,
443                                   uint32_t          event_mask  /**< */);
444 
445 /**
446  * Return the reply
447  * @param c      The connection
448  * @param cookie The cookie
449  * @param e      The xcb_generic_error_t supplied
450  *
451  * Returns the reply of the request asked by
452  *
453  * The parameter @p e supplied to this function must be NULL if
454  * xcb_xevie_select_input_unchecked(). is used.
455  * Otherwise, it stores the error if any.
456  *
457  * The returned value must be freed by the caller using free().
458  */
459 xcb_xevie_select_input_reply_t *
460 xcb_xevie_select_input_reply (xcb_connection_t                 *c  /**< */,
461                               xcb_xevie_select_input_cookie_t   cookie  /**< */,
462                               xcb_generic_error_t             **e  /**< */);
463 
464 
465 #ifdef __cplusplus
466 }
467 #endif
468 
469 #endif
470 
471 /**
472  * @}
473  */
474