xref: /minix3/external/mit/xorg/lib/libxcb/files/record.h (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1 /*
2  * This file generated automatically from record.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB_Record_API XCB Record API
8  * @brief Record XCB Protocol Implementation.
9  * @{
10  **/
11 
12 #ifndef __RECORD_H
13 #define __RECORD_H
14 
15 #include "xcb.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #define XCB_RECORD_MAJOR_VERSION 1
22 #define XCB_RECORD_MINOR_VERSION 13
23 
24 extern xcb_extension_t xcb_record_id;
25 
26 typedef uint32_t xcb_record_context_t;
27 
28 /**
29  * @brief xcb_record_context_iterator_t
30  **/
31 typedef struct xcb_record_context_iterator_t {
32     xcb_record_context_t *data; /**<  */
33     int                   rem; /**<  */
34     int                   index; /**<  */
35 } xcb_record_context_iterator_t;
36 
37 /**
38  * @brief xcb_record_range_8_t
39  **/
40 typedef struct xcb_record_range_8_t {
41     uint8_t first; /**<  */
42     uint8_t last; /**<  */
43 } xcb_record_range_8_t;
44 
45 /**
46  * @brief xcb_record_range_8_iterator_t
47  **/
48 typedef struct xcb_record_range_8_iterator_t {
49     xcb_record_range_8_t *data; /**<  */
50     int                   rem; /**<  */
51     int                   index; /**<  */
52 } xcb_record_range_8_iterator_t;
53 
54 /**
55  * @brief xcb_record_range_16_t
56  **/
57 typedef struct xcb_record_range_16_t {
58     uint16_t first; /**<  */
59     uint16_t last; /**<  */
60 } xcb_record_range_16_t;
61 
62 /**
63  * @brief xcb_record_range_16_iterator_t
64  **/
65 typedef struct xcb_record_range_16_iterator_t {
66     xcb_record_range_16_t *data; /**<  */
67     int                    rem; /**<  */
68     int                    index; /**<  */
69 } xcb_record_range_16_iterator_t;
70 
71 /**
72  * @brief xcb_record_ext_range_t
73  **/
74 typedef struct xcb_record_ext_range_t {
75     xcb_record_range_8_t  major; /**<  */
76     xcb_record_range_16_t minor; /**<  */
77 } xcb_record_ext_range_t;
78 
79 /**
80  * @brief xcb_record_ext_range_iterator_t
81  **/
82 typedef struct xcb_record_ext_range_iterator_t {
83     xcb_record_ext_range_t *data; /**<  */
84     int                     rem; /**<  */
85     int                     index; /**<  */
86 } xcb_record_ext_range_iterator_t;
87 
88 /**
89  * @brief xcb_record_range_t
90  **/
91 typedef struct xcb_record_range_t {
92     xcb_record_range_8_t   core_requests; /**<  */
93     xcb_record_range_8_t   core_replies; /**<  */
94     xcb_record_ext_range_t ext_requests; /**<  */
95     xcb_record_ext_range_t ext_replies; /**<  */
96     xcb_record_range_8_t   delivered_events; /**<  */
97     xcb_record_range_8_t   device_events; /**<  */
98     xcb_record_range_8_t   errors; /**<  */
99     uint8_t                client_started; /**<  */
100     uint8_t                client_died; /**<  */
101 } xcb_record_range_t;
102 
103 /**
104  * @brief xcb_record_range_iterator_t
105  **/
106 typedef struct xcb_record_range_iterator_t {
107     xcb_record_range_t *data; /**<  */
108     int                 rem; /**<  */
109     int                 index; /**<  */
110 } xcb_record_range_iterator_t;
111 
112 typedef uint8_t xcb_record_element_header_t;
113 
114 /**
115  * @brief xcb_record_element_header_iterator_t
116  **/
117 typedef struct xcb_record_element_header_iterator_t {
118     xcb_record_element_header_t *data; /**<  */
119     int                          rem; /**<  */
120     int                          index; /**<  */
121 } xcb_record_element_header_iterator_t;
122 
123 typedef enum xcb_record_h_type_t {
124     XCB_RECORD_H_TYPE_FROM_SERVER_TIME = 1,
125     XCB_RECORD_H_TYPE_FROM_CLIENT_TIME = 2,
126     XCB_RECORD_H_TYPE_FROM_CLIENT_SEQUENCE = 4
127 } xcb_record_h_type_t;
128 
129 typedef uint32_t xcb_record_client_spec_t;
130 
131 /**
132  * @brief xcb_record_client_spec_iterator_t
133  **/
134 typedef struct xcb_record_client_spec_iterator_t {
135     xcb_record_client_spec_t *data; /**<  */
136     int                       rem; /**<  */
137     int                       index; /**<  */
138 } xcb_record_client_spec_iterator_t;
139 
140 typedef enum xcb_record_cs_t {
141     XCB_RECORD_CS_CURRENT_CLIENTS = 1,
142     XCB_RECORD_CS_FUTURE_CLIENTS = 2,
143     XCB_RECORD_CS_ALL_CLIENTS = 3
144 } xcb_record_cs_t;
145 
146 /**
147  * @brief xcb_record_client_info_t
148  **/
149 typedef struct xcb_record_client_info_t {
150     xcb_record_client_spec_t client_resource; /**<  */
151     uint32_t                 num_ranges; /**<  */
152 } xcb_record_client_info_t;
153 
154 /**
155  * @brief xcb_record_client_info_iterator_t
156  **/
157 typedef struct xcb_record_client_info_iterator_t {
158     xcb_record_client_info_t *data; /**<  */
159     int                       rem; /**<  */
160     int                       index; /**<  */
161 } xcb_record_client_info_iterator_t;
162 
163 /** Opcode for xcb_record_bad_context. */
164 #define XCB_RECORD_BAD_CONTEXT 0
165 
166 /**
167  * @brief xcb_record_bad_context_error_t
168  **/
169 typedef struct xcb_record_bad_context_error_t {
170     uint8_t  response_type; /**<  */
171     uint8_t  error_code; /**<  */
172     uint16_t sequence; /**<  */
173     uint32_t invalid_record; /**<  */
174 } xcb_record_bad_context_error_t;
175 
176 /**
177  * @brief xcb_record_query_version_cookie_t
178  **/
179 typedef struct xcb_record_query_version_cookie_t {
180     unsigned int sequence; /**<  */
181 } xcb_record_query_version_cookie_t;
182 
183 /** Opcode for xcb_record_query_version. */
184 #define XCB_RECORD_QUERY_VERSION 0
185 
186 /**
187  * @brief xcb_record_query_version_request_t
188  **/
189 typedef struct xcb_record_query_version_request_t {
190     uint8_t  major_opcode; /**<  */
191     uint8_t  minor_opcode; /**<  */
192     uint16_t length; /**<  */
193     uint16_t major_version; /**<  */
194     uint16_t minor_version; /**<  */
195 } xcb_record_query_version_request_t;
196 
197 /**
198  * @brief xcb_record_query_version_reply_t
199  **/
200 typedef struct xcb_record_query_version_reply_t {
201     uint8_t  response_type; /**<  */
202     uint8_t  pad0; /**<  */
203     uint16_t sequence; /**<  */
204     uint32_t length; /**<  */
205     uint16_t major_version; /**<  */
206     uint16_t minor_version; /**<  */
207 } xcb_record_query_version_reply_t;
208 
209 /** Opcode for xcb_record_create_context. */
210 #define XCB_RECORD_CREATE_CONTEXT 1
211 
212 /**
213  * @brief xcb_record_create_context_request_t
214  **/
215 typedef struct xcb_record_create_context_request_t {
216     uint8_t                     major_opcode; /**<  */
217     uint8_t                     minor_opcode; /**<  */
218     uint16_t                    length; /**<  */
219     xcb_record_context_t        context; /**<  */
220     xcb_record_element_header_t element_header; /**<  */
221     uint8_t                     pad0[3]; /**<  */
222     uint32_t                    num_client_specs; /**<  */
223     uint32_t                    num_ranges; /**<  */
224 } xcb_record_create_context_request_t;
225 
226 /** Opcode for xcb_record_register_clients. */
227 #define XCB_RECORD_REGISTER_CLIENTS 2
228 
229 /**
230  * @brief xcb_record_register_clients_request_t
231  **/
232 typedef struct xcb_record_register_clients_request_t {
233     uint8_t                     major_opcode; /**<  */
234     uint8_t                     minor_opcode; /**<  */
235     uint16_t                    length; /**<  */
236     xcb_record_context_t        context; /**<  */
237     xcb_record_element_header_t element_header; /**<  */
238     uint8_t                     pad0[3]; /**<  */
239     uint32_t                    num_client_specs; /**<  */
240     uint32_t                    num_ranges; /**<  */
241 } xcb_record_register_clients_request_t;
242 
243 /** Opcode for xcb_record_unregister_clients. */
244 #define XCB_RECORD_UNREGISTER_CLIENTS 3
245 
246 /**
247  * @brief xcb_record_unregister_clients_request_t
248  **/
249 typedef struct xcb_record_unregister_clients_request_t {
250     uint8_t              major_opcode; /**<  */
251     uint8_t              minor_opcode; /**<  */
252     uint16_t             length; /**<  */
253     xcb_record_context_t context; /**<  */
254     uint32_t             num_client_specs; /**<  */
255 } xcb_record_unregister_clients_request_t;
256 
257 /**
258  * @brief xcb_record_get_context_cookie_t
259  **/
260 typedef struct xcb_record_get_context_cookie_t {
261     unsigned int sequence; /**<  */
262 } xcb_record_get_context_cookie_t;
263 
264 /** Opcode for xcb_record_get_context. */
265 #define XCB_RECORD_GET_CONTEXT 4
266 
267 /**
268  * @brief xcb_record_get_context_request_t
269  **/
270 typedef struct xcb_record_get_context_request_t {
271     uint8_t              major_opcode; /**<  */
272     uint8_t              minor_opcode; /**<  */
273     uint16_t             length; /**<  */
274     xcb_record_context_t context; /**<  */
275 } xcb_record_get_context_request_t;
276 
277 /**
278  * @brief xcb_record_get_context_reply_t
279  **/
280 typedef struct xcb_record_get_context_reply_t {
281     uint8_t                     response_type; /**<  */
282     uint8_t                     enabled; /**<  */
283     uint16_t                    sequence; /**<  */
284     uint32_t                    length; /**<  */
285     xcb_record_element_header_t element_header; /**<  */
286     uint8_t                     pad0[3]; /**<  */
287     uint32_t                    num_intercepted_clients; /**<  */
288     uint8_t                     pad1[16]; /**<  */
289 } xcb_record_get_context_reply_t;
290 
291 /**
292  * @brief xcb_record_enable_context_cookie_t
293  **/
294 typedef struct xcb_record_enable_context_cookie_t {
295     unsigned int sequence; /**<  */
296 } xcb_record_enable_context_cookie_t;
297 
298 /** Opcode for xcb_record_enable_context. */
299 #define XCB_RECORD_ENABLE_CONTEXT 5
300 
301 /**
302  * @brief xcb_record_enable_context_request_t
303  **/
304 typedef struct xcb_record_enable_context_request_t {
305     uint8_t              major_opcode; /**<  */
306     uint8_t              minor_opcode; /**<  */
307     uint16_t             length; /**<  */
308     xcb_record_context_t context; /**<  */
309 } xcb_record_enable_context_request_t;
310 
311 /**
312  * @brief xcb_record_enable_context_reply_t
313  **/
314 typedef struct xcb_record_enable_context_reply_t {
315     uint8_t                     response_type; /**<  */
316     uint8_t                     category; /**<  */
317     uint16_t                    sequence; /**<  */
318     uint32_t                    length; /**<  */
319     xcb_record_element_header_t element_header; /**<  */
320     uint8_t                     client_swapped; /**<  */
321     uint8_t                     pad0[2]; /**<  */
322     uint32_t                    xid_base; /**<  */
323     uint32_t                    server_time; /**<  */
324     uint32_t                    rec_sequence_num; /**<  */
325     uint8_t                     pad1[8]; /**<  */
326 } xcb_record_enable_context_reply_t;
327 
328 /** Opcode for xcb_record_disable_context. */
329 #define XCB_RECORD_DISABLE_CONTEXT 6
330 
331 /**
332  * @brief xcb_record_disable_context_request_t
333  **/
334 typedef struct xcb_record_disable_context_request_t {
335     uint8_t              major_opcode; /**<  */
336     uint8_t              minor_opcode; /**<  */
337     uint16_t             length; /**<  */
338     xcb_record_context_t context; /**<  */
339 } xcb_record_disable_context_request_t;
340 
341 /** Opcode for xcb_record_free_context. */
342 #define XCB_RECORD_FREE_CONTEXT 7
343 
344 /**
345  * @brief xcb_record_free_context_request_t
346  **/
347 typedef struct xcb_record_free_context_request_t {
348     uint8_t              major_opcode; /**<  */
349     uint8_t              minor_opcode; /**<  */
350     uint16_t             length; /**<  */
351     xcb_record_context_t context; /**<  */
352 } xcb_record_free_context_request_t;
353 
354 /**
355  * Get the next element of the iterator
356  * @param i Pointer to a xcb_record_context_iterator_t
357  *
358  * Get the next element in the iterator. The member rem is
359  * decreased by one. The member data points to the next
360  * element. The member index is increased by sizeof(xcb_record_context_t)
361  */
362 void
363 xcb_record_context_next (xcb_record_context_iterator_t *i  /**< */);
364 
365 /**
366  * Return the iterator pointing to the last element
367  * @param i An xcb_record_context_iterator_t
368  * @return  The iterator pointing to the last element
369  *
370  * Set the current element in the iterator to the last element.
371  * The member rem is set to 0. The member data points to the
372  * last element.
373  */
374 xcb_generic_iterator_t
375 xcb_record_context_end (xcb_record_context_iterator_t i  /**< */);
376 
377 /**
378  * Get the next element of the iterator
379  * @param i Pointer to a xcb_record_range_8_iterator_t
380  *
381  * Get the next element in the iterator. The member rem is
382  * decreased by one. The member data points to the next
383  * element. The member index is increased by sizeof(xcb_record_range_8_t)
384  */
385 void
386 xcb_record_range_8_next (xcb_record_range_8_iterator_t *i  /**< */);
387 
388 /**
389  * Return the iterator pointing to the last element
390  * @param i An xcb_record_range_8_iterator_t
391  * @return  The iterator pointing to the last element
392  *
393  * Set the current element in the iterator to the last element.
394  * The member rem is set to 0. The member data points to the
395  * last element.
396  */
397 xcb_generic_iterator_t
398 xcb_record_range_8_end (xcb_record_range_8_iterator_t i  /**< */);
399 
400 /**
401  * Get the next element of the iterator
402  * @param i Pointer to a xcb_record_range_16_iterator_t
403  *
404  * Get the next element in the iterator. The member rem is
405  * decreased by one. The member data points to the next
406  * element. The member index is increased by sizeof(xcb_record_range_16_t)
407  */
408 void
409 xcb_record_range_16_next (xcb_record_range_16_iterator_t *i  /**< */);
410 
411 /**
412  * Return the iterator pointing to the last element
413  * @param i An xcb_record_range_16_iterator_t
414  * @return  The iterator pointing to the last element
415  *
416  * Set the current element in the iterator to the last element.
417  * The member rem is set to 0. The member data points to the
418  * last element.
419  */
420 xcb_generic_iterator_t
421 xcb_record_range_16_end (xcb_record_range_16_iterator_t i  /**< */);
422 
423 /**
424  * Get the next element of the iterator
425  * @param i Pointer to a xcb_record_ext_range_iterator_t
426  *
427  * Get the next element in the iterator. The member rem is
428  * decreased by one. The member data points to the next
429  * element. The member index is increased by sizeof(xcb_record_ext_range_t)
430  */
431 void
432 xcb_record_ext_range_next (xcb_record_ext_range_iterator_t *i  /**< */);
433 
434 /**
435  * Return the iterator pointing to the last element
436  * @param i An xcb_record_ext_range_iterator_t
437  * @return  The iterator pointing to the last element
438  *
439  * Set the current element in the iterator to the last element.
440  * The member rem is set to 0. The member data points to the
441  * last element.
442  */
443 xcb_generic_iterator_t
444 xcb_record_ext_range_end (xcb_record_ext_range_iterator_t i  /**< */);
445 
446 /**
447  * Get the next element of the iterator
448  * @param i Pointer to a xcb_record_range_iterator_t
449  *
450  * Get the next element in the iterator. The member rem is
451  * decreased by one. The member data points to the next
452  * element. The member index is increased by sizeof(xcb_record_range_t)
453  */
454 void
455 xcb_record_range_next (xcb_record_range_iterator_t *i  /**< */);
456 
457 /**
458  * Return the iterator pointing to the last element
459  * @param i An xcb_record_range_iterator_t
460  * @return  The iterator pointing to the last element
461  *
462  * Set the current element in the iterator to the last element.
463  * The member rem is set to 0. The member data points to the
464  * last element.
465  */
466 xcb_generic_iterator_t
467 xcb_record_range_end (xcb_record_range_iterator_t i  /**< */);
468 
469 /**
470  * Get the next element of the iterator
471  * @param i Pointer to a xcb_record_element_header_iterator_t
472  *
473  * Get the next element in the iterator. The member rem is
474  * decreased by one. The member data points to the next
475  * element. The member index is increased by sizeof(xcb_record_element_header_t)
476  */
477 void
478 xcb_record_element_header_next (xcb_record_element_header_iterator_t *i  /**< */);
479 
480 /**
481  * Return the iterator pointing to the last element
482  * @param i An xcb_record_element_header_iterator_t
483  * @return  The iterator pointing to the last element
484  *
485  * Set the current element in the iterator to the last element.
486  * The member rem is set to 0. The member data points to the
487  * last element.
488  */
489 xcb_generic_iterator_t
490 xcb_record_element_header_end (xcb_record_element_header_iterator_t i  /**< */);
491 
492 /**
493  * Get the next element of the iterator
494  * @param i Pointer to a xcb_record_client_spec_iterator_t
495  *
496  * Get the next element in the iterator. The member rem is
497  * decreased by one. The member data points to the next
498  * element. The member index is increased by sizeof(xcb_record_client_spec_t)
499  */
500 void
501 xcb_record_client_spec_next (xcb_record_client_spec_iterator_t *i  /**< */);
502 
503 /**
504  * Return the iterator pointing to the last element
505  * @param i An xcb_record_client_spec_iterator_t
506  * @return  The iterator pointing to the last element
507  *
508  * Set the current element in the iterator to the last element.
509  * The member rem is set to 0. The member data points to the
510  * last element.
511  */
512 xcb_generic_iterator_t
513 xcb_record_client_spec_end (xcb_record_client_spec_iterator_t i  /**< */);
514 
515 int
516 xcb_record_client_info_sizeof (const void  *_buffer  /**< */);
517 
518 xcb_record_range_t *
519 xcb_record_client_info_ranges (const xcb_record_client_info_t *R  /**< */);
520 
521 int
522 xcb_record_client_info_ranges_length (const xcb_record_client_info_t *R  /**< */);
523 
524 xcb_record_range_iterator_t
525 xcb_record_client_info_ranges_iterator (const xcb_record_client_info_t *R  /**< */);
526 
527 /**
528  * Get the next element of the iterator
529  * @param i Pointer to a xcb_record_client_info_iterator_t
530  *
531  * Get the next element in the iterator. The member rem is
532  * decreased by one. The member data points to the next
533  * element. The member index is increased by sizeof(xcb_record_client_info_t)
534  */
535 void
536 xcb_record_client_info_next (xcb_record_client_info_iterator_t *i  /**< */);
537 
538 /**
539  * Return the iterator pointing to the last element
540  * @param i An xcb_record_client_info_iterator_t
541  * @return  The iterator pointing to the last element
542  *
543  * Set the current element in the iterator to the last element.
544  * The member rem is set to 0. The member data points to the
545  * last element.
546  */
547 xcb_generic_iterator_t
548 xcb_record_client_info_end (xcb_record_client_info_iterator_t i  /**< */);
549 
550 /**
551  *
552  * @param c The connection
553  * @return A cookie
554  *
555  * Delivers a request to the X server.
556  *
557  */
558 xcb_record_query_version_cookie_t
559 xcb_record_query_version (xcb_connection_t *c  /**< */,
560                           uint16_t          major_version  /**< */,
561                           uint16_t          minor_version  /**< */);
562 
563 /**
564  *
565  * @param c The connection
566  * @return A cookie
567  *
568  * Delivers a request to the X server.
569  *
570  * This form can be used only if the request will cause
571  * a reply to be generated. Any returned error will be
572  * placed in the event queue.
573  */
574 xcb_record_query_version_cookie_t
575 xcb_record_query_version_unchecked (xcb_connection_t *c  /**< */,
576                                     uint16_t          major_version  /**< */,
577                                     uint16_t          minor_version  /**< */);
578 
579 /**
580  * Return the reply
581  * @param c      The connection
582  * @param cookie The cookie
583  * @param e      The xcb_generic_error_t supplied
584  *
585  * Returns the reply of the request asked by
586  *
587  * The parameter @p e supplied to this function must be NULL if
588  * xcb_record_query_version_unchecked(). is used.
589  * Otherwise, it stores the error if any.
590  *
591  * The returned value must be freed by the caller using free().
592  */
593 xcb_record_query_version_reply_t *
594 xcb_record_query_version_reply (xcb_connection_t                   *c  /**< */,
595                                 xcb_record_query_version_cookie_t   cookie  /**< */,
596                                 xcb_generic_error_t               **e  /**< */);
597 
598 int
599 xcb_record_create_context_sizeof (const void  *_buffer  /**< */);
600 
601 /**
602  *
603  * @param c The connection
604  * @return A cookie
605  *
606  * Delivers a request to the X server.
607  *
608  * This form can be used only if the request will not cause
609  * a reply to be generated. Any returned error will be
610  * saved for handling by xcb_request_check().
611  */
612 xcb_void_cookie_t
613 xcb_record_create_context_checked (xcb_connection_t               *c  /**< */,
614                                    xcb_record_context_t            context  /**< */,
615                                    xcb_record_element_header_t     element_header  /**< */,
616                                    uint32_t                        num_client_specs  /**< */,
617                                    uint32_t                        num_ranges  /**< */,
618                                    const xcb_record_client_spec_t *client_specs  /**< */,
619                                    const xcb_record_range_t       *ranges  /**< */);
620 
621 /**
622  *
623  * @param c The connection
624  * @return A cookie
625  *
626  * Delivers a request to the X server.
627  *
628  */
629 xcb_void_cookie_t
630 xcb_record_create_context (xcb_connection_t               *c  /**< */,
631                            xcb_record_context_t            context  /**< */,
632                            xcb_record_element_header_t     element_header  /**< */,
633                            uint32_t                        num_client_specs  /**< */,
634                            uint32_t                        num_ranges  /**< */,
635                            const xcb_record_client_spec_t *client_specs  /**< */,
636                            const xcb_record_range_t       *ranges  /**< */);
637 
638 int
639 xcb_record_register_clients_sizeof (const void  *_buffer  /**< */);
640 
641 /**
642  *
643  * @param c The connection
644  * @return A cookie
645  *
646  * Delivers a request to the X server.
647  *
648  * This form can be used only if the request will not cause
649  * a reply to be generated. Any returned error will be
650  * saved for handling by xcb_request_check().
651  */
652 xcb_void_cookie_t
653 xcb_record_register_clients_checked (xcb_connection_t               *c  /**< */,
654                                      xcb_record_context_t            context  /**< */,
655                                      xcb_record_element_header_t     element_header  /**< */,
656                                      uint32_t                        num_client_specs  /**< */,
657                                      uint32_t                        num_ranges  /**< */,
658                                      const xcb_record_client_spec_t *client_specs  /**< */,
659                                      const xcb_record_range_t       *ranges  /**< */);
660 
661 /**
662  *
663  * @param c The connection
664  * @return A cookie
665  *
666  * Delivers a request to the X server.
667  *
668  */
669 xcb_void_cookie_t
670 xcb_record_register_clients (xcb_connection_t               *c  /**< */,
671                              xcb_record_context_t            context  /**< */,
672                              xcb_record_element_header_t     element_header  /**< */,
673                              uint32_t                        num_client_specs  /**< */,
674                              uint32_t                        num_ranges  /**< */,
675                              const xcb_record_client_spec_t *client_specs  /**< */,
676                              const xcb_record_range_t       *ranges  /**< */);
677 
678 int
679 xcb_record_unregister_clients_sizeof (const void  *_buffer  /**< */);
680 
681 /**
682  *
683  * @param c The connection
684  * @return A cookie
685  *
686  * Delivers a request to the X server.
687  *
688  * This form can be used only if the request will not cause
689  * a reply to be generated. Any returned error will be
690  * saved for handling by xcb_request_check().
691  */
692 xcb_void_cookie_t
693 xcb_record_unregister_clients_checked (xcb_connection_t               *c  /**< */,
694                                        xcb_record_context_t            context  /**< */,
695                                        uint32_t                        num_client_specs  /**< */,
696                                        const xcb_record_client_spec_t *client_specs  /**< */);
697 
698 /**
699  *
700  * @param c The connection
701  * @return A cookie
702  *
703  * Delivers a request to the X server.
704  *
705  */
706 xcb_void_cookie_t
707 xcb_record_unregister_clients (xcb_connection_t               *c  /**< */,
708                                xcb_record_context_t            context  /**< */,
709                                uint32_t                        num_client_specs  /**< */,
710                                const xcb_record_client_spec_t *client_specs  /**< */);
711 
712 int
713 xcb_record_get_context_sizeof (const void  *_buffer  /**< */);
714 
715 /**
716  *
717  * @param c The connection
718  * @return A cookie
719  *
720  * Delivers a request to the X server.
721  *
722  */
723 xcb_record_get_context_cookie_t
724 xcb_record_get_context (xcb_connection_t     *c  /**< */,
725                         xcb_record_context_t  context  /**< */);
726 
727 /**
728  *
729  * @param c The connection
730  * @return A cookie
731  *
732  * Delivers a request to the X server.
733  *
734  * This form can be used only if the request will cause
735  * a reply to be generated. Any returned error will be
736  * placed in the event queue.
737  */
738 xcb_record_get_context_cookie_t
739 xcb_record_get_context_unchecked (xcb_connection_t     *c  /**< */,
740                                   xcb_record_context_t  context  /**< */);
741 
742 int
743 xcb_record_get_context_intercepted_clients_length (const xcb_record_get_context_reply_t *R  /**< */);
744 
745 xcb_record_client_info_iterator_t
746 xcb_record_get_context_intercepted_clients_iterator (const xcb_record_get_context_reply_t *R  /**< */);
747 
748 /**
749  * Return the reply
750  * @param c      The connection
751  * @param cookie The cookie
752  * @param e      The xcb_generic_error_t supplied
753  *
754  * Returns the reply of the request asked by
755  *
756  * The parameter @p e supplied to this function must be NULL if
757  * xcb_record_get_context_unchecked(). is used.
758  * Otherwise, it stores the error if any.
759  *
760  * The returned value must be freed by the caller using free().
761  */
762 xcb_record_get_context_reply_t *
763 xcb_record_get_context_reply (xcb_connection_t                 *c  /**< */,
764                               xcb_record_get_context_cookie_t   cookie  /**< */,
765                               xcb_generic_error_t             **e  /**< */);
766 
767 int
768 xcb_record_enable_context_sizeof (const void  *_buffer  /**< */);
769 
770 /**
771  *
772  * @param c The connection
773  * @return A cookie
774  *
775  * Delivers a request to the X server.
776  *
777  */
778 xcb_record_enable_context_cookie_t
779 xcb_record_enable_context (xcb_connection_t     *c  /**< */,
780                            xcb_record_context_t  context  /**< */);
781 
782 /**
783  *
784  * @param c The connection
785  * @return A cookie
786  *
787  * Delivers a request to the X server.
788  *
789  * This form can be used only if the request will cause
790  * a reply to be generated. Any returned error will be
791  * placed in the event queue.
792  */
793 xcb_record_enable_context_cookie_t
794 xcb_record_enable_context_unchecked (xcb_connection_t     *c  /**< */,
795                                      xcb_record_context_t  context  /**< */);
796 
797 uint8_t *
798 xcb_record_enable_context_data (const xcb_record_enable_context_reply_t *R  /**< */);
799 
800 int
801 xcb_record_enable_context_data_length (const xcb_record_enable_context_reply_t *R  /**< */);
802 
803 xcb_generic_iterator_t
804 xcb_record_enable_context_data_end (const xcb_record_enable_context_reply_t *R  /**< */);
805 
806 /**
807  * Return the reply
808  * @param c      The connection
809  * @param cookie The cookie
810  * @param e      The xcb_generic_error_t supplied
811  *
812  * Returns the reply of the request asked by
813  *
814  * The parameter @p e supplied to this function must be NULL if
815  * xcb_record_enable_context_unchecked(). is used.
816  * Otherwise, it stores the error if any.
817  *
818  * The returned value must be freed by the caller using free().
819  */
820 xcb_record_enable_context_reply_t *
821 xcb_record_enable_context_reply (xcb_connection_t                    *c  /**< */,
822                                  xcb_record_enable_context_cookie_t   cookie  /**< */,
823                                  xcb_generic_error_t                **e  /**< */);
824 
825 /**
826  *
827  * @param c The connection
828  * @return A cookie
829  *
830  * Delivers a request to the X server.
831  *
832  * This form can be used only if the request will not cause
833  * a reply to be generated. Any returned error will be
834  * saved for handling by xcb_request_check().
835  */
836 xcb_void_cookie_t
837 xcb_record_disable_context_checked (xcb_connection_t     *c  /**< */,
838                                     xcb_record_context_t  context  /**< */);
839 
840 /**
841  *
842  * @param c The connection
843  * @return A cookie
844  *
845  * Delivers a request to the X server.
846  *
847  */
848 xcb_void_cookie_t
849 xcb_record_disable_context (xcb_connection_t     *c  /**< */,
850                             xcb_record_context_t  context  /**< */);
851 
852 /**
853  *
854  * @param c The connection
855  * @return A cookie
856  *
857  * Delivers a request to the X server.
858  *
859  * This form can be used only if the request will not cause
860  * a reply to be generated. Any returned error will be
861  * saved for handling by xcb_request_check().
862  */
863 xcb_void_cookie_t
864 xcb_record_free_context_checked (xcb_connection_t     *c  /**< */,
865                                  xcb_record_context_t  context  /**< */);
866 
867 /**
868  *
869  * @param c The connection
870  * @return A cookie
871  *
872  * Delivers a request to the X server.
873  *
874  */
875 xcb_void_cookie_t
876 xcb_record_free_context (xcb_connection_t     *c  /**< */,
877                          xcb_record_context_t  context  /**< */);
878 
879 
880 #ifdef __cplusplus
881 }
882 #endif
883 
884 #endif
885 
886 /**
887  * @}
888  */
889