etc/protocols - sync with NetBSD-8
[minix.git] / external / mit / xorg / lib / libxcb / files / record.h
blob171e60e428eb48b51a782d68f33a719fad18f65a
1 /*
2 * This file generated automatically from record.xml by c_client.py.
3 * Edit at your peril.
4 */
6 /**
7 * @defgroup XCB_Record_API XCB Record API
8 * @brief Record XCB Protocol Implementation.
9 * @{
10 **/
12 #ifndef __RECORD_H
13 #define __RECORD_H
15 #include "xcb.h"
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
21 #define XCB_RECORD_MAJOR_VERSION 1
22 #define XCB_RECORD_MINOR_VERSION 13
24 extern xcb_extension_t xcb_record_id;
26 typedef uint32_t xcb_record_context_t;
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;
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;
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;
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;
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;
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;
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;
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;
104 * @brief xcb_record_range_iterator_t
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;
112 typedef uint8_t xcb_record_element_header_t;
115 * @brief xcb_record_element_header_iterator_t
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;
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;
129 typedef uint32_t xcb_record_client_spec_t;
132 * @brief xcb_record_client_spec_iterator_t
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;
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;
147 * @brief xcb_record_client_info_t
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;
155 * @brief xcb_record_client_info_iterator_t
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;
163 /** Opcode for xcb_record_bad_context. */
164 #define XCB_RECORD_BAD_CONTEXT 0
167 * @brief xcb_record_bad_context_error_t
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;
177 * @brief xcb_record_query_version_cookie_t
179 typedef struct xcb_record_query_version_cookie_t {
180 unsigned int sequence; /**< */
181 } xcb_record_query_version_cookie_t;
183 /** Opcode for xcb_record_query_version. */
184 #define XCB_RECORD_QUERY_VERSION 0
187 * @brief xcb_record_query_version_request_t
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;
198 * @brief xcb_record_query_version_reply_t
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;
209 /** Opcode for xcb_record_create_context. */
210 #define XCB_RECORD_CREATE_CONTEXT 1
213 * @brief xcb_record_create_context_request_t
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;
226 /** Opcode for xcb_record_register_clients. */
227 #define XCB_RECORD_REGISTER_CLIENTS 2
230 * @brief xcb_record_register_clients_request_t
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;
243 /** Opcode for xcb_record_unregister_clients. */
244 #define XCB_RECORD_UNREGISTER_CLIENTS 3
247 * @brief xcb_record_unregister_clients_request_t
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;
258 * @brief xcb_record_get_context_cookie_t
260 typedef struct xcb_record_get_context_cookie_t {
261 unsigned int sequence; /**< */
262 } xcb_record_get_context_cookie_t;
264 /** Opcode for xcb_record_get_context. */
265 #define XCB_RECORD_GET_CONTEXT 4
268 * @brief xcb_record_get_context_request_t
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;
278 * @brief xcb_record_get_context_reply_t
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;
292 * @brief xcb_record_enable_context_cookie_t
294 typedef struct xcb_record_enable_context_cookie_t {
295 unsigned int sequence; /**< */
296 } xcb_record_enable_context_cookie_t;
298 /** Opcode for xcb_record_enable_context. */
299 #define XCB_RECORD_ENABLE_CONTEXT 5
302 * @brief xcb_record_enable_context_request_t
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;
312 * @brief xcb_record_enable_context_reply_t
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;
328 /** Opcode for xcb_record_disable_context. */
329 #define XCB_RECORD_DISABLE_CONTEXT 6
332 * @brief xcb_record_disable_context_request_t
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;
341 /** Opcode for xcb_record_free_context. */
342 #define XCB_RECORD_FREE_CONTEXT 7
345 * @brief xcb_record_free_context_request_t
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;
355 * Get the next element of the iterator
356 * @param i Pointer to a xcb_record_context_iterator_t
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)
362 void
363 xcb_record_context_next (xcb_record_context_iterator_t *i /**< */);
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
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.
374 xcb_generic_iterator_t
375 xcb_record_context_end (xcb_record_context_iterator_t i /**< */);
378 * Get the next element of the iterator
379 * @param i Pointer to a xcb_record_range_8_iterator_t
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)
385 void
386 xcb_record_range_8_next (xcb_record_range_8_iterator_t *i /**< */);
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
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.
397 xcb_generic_iterator_t
398 xcb_record_range_8_end (xcb_record_range_8_iterator_t i /**< */);
401 * Get the next element of the iterator
402 * @param i Pointer to a xcb_record_range_16_iterator_t
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)
408 void
409 xcb_record_range_16_next (xcb_record_range_16_iterator_t *i /**< */);
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
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.
420 xcb_generic_iterator_t
421 xcb_record_range_16_end (xcb_record_range_16_iterator_t i /**< */);
424 * Get the next element of the iterator
425 * @param i Pointer to a xcb_record_ext_range_iterator_t
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)
431 void
432 xcb_record_ext_range_next (xcb_record_ext_range_iterator_t *i /**< */);
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
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.
443 xcb_generic_iterator_t
444 xcb_record_ext_range_end (xcb_record_ext_range_iterator_t i /**< */);
447 * Get the next element of the iterator
448 * @param i Pointer to a xcb_record_range_iterator_t
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)
454 void
455 xcb_record_range_next (xcb_record_range_iterator_t *i /**< */);
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
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.
466 xcb_generic_iterator_t
467 xcb_record_range_end (xcb_record_range_iterator_t i /**< */);
470 * Get the next element of the iterator
471 * @param i Pointer to a xcb_record_element_header_iterator_t
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)
477 void
478 xcb_record_element_header_next (xcb_record_element_header_iterator_t *i /**< */);
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
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.
489 xcb_generic_iterator_t
490 xcb_record_element_header_end (xcb_record_element_header_iterator_t i /**< */);
493 * Get the next element of the iterator
494 * @param i Pointer to a xcb_record_client_spec_iterator_t
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)
500 void
501 xcb_record_client_spec_next (xcb_record_client_spec_iterator_t *i /**< */);
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
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.
512 xcb_generic_iterator_t
513 xcb_record_client_spec_end (xcb_record_client_spec_iterator_t i /**< */);
516 xcb_record_client_info_sizeof (const void *_buffer /**< */);
518 xcb_record_range_t *
519 xcb_record_client_info_ranges (const xcb_record_client_info_t *R /**< */);
522 xcb_record_client_info_ranges_length (const xcb_record_client_info_t *R /**< */);
524 xcb_record_range_iterator_t
525 xcb_record_client_info_ranges_iterator (const xcb_record_client_info_t *R /**< */);
528 * Get the next element of the iterator
529 * @param i Pointer to a xcb_record_client_info_iterator_t
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)
535 void
536 xcb_record_client_info_next (xcb_record_client_info_iterator_t *i /**< */);
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
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.
547 xcb_generic_iterator_t
548 xcb_record_client_info_end (xcb_record_client_info_iterator_t i /**< */);
552 * @param c The connection
553 * @return A cookie
555 * Delivers a request to the X server.
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 /**< */);
565 * @param c The connection
566 * @return A cookie
568 * Delivers a request to the X server.
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.
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 /**< */);
580 * Return the reply
581 * @param c The connection
582 * @param cookie The cookie
583 * @param e The xcb_generic_error_t supplied
585 * Returns the reply of the request asked by
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.
591 * The returned value must be freed by the caller using free().
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 /**< */);
599 xcb_record_create_context_sizeof (const void *_buffer /**< */);
603 * @param c The connection
604 * @return A cookie
606 * Delivers a request to the X server.
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().
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 /**< */);
623 * @param c The connection
624 * @return A cookie
626 * Delivers a request to the X server.
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 /**< */);
639 xcb_record_register_clients_sizeof (const void *_buffer /**< */);
643 * @param c The connection
644 * @return A cookie
646 * Delivers a request to the X server.
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().
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 /**< */);
663 * @param c The connection
664 * @return A cookie
666 * Delivers a request to the X server.
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 /**< */);
679 xcb_record_unregister_clients_sizeof (const void *_buffer /**< */);
683 * @param c The connection
684 * @return A cookie
686 * Delivers a request to the X server.
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().
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 /**< */);
700 * @param c The connection
701 * @return A cookie
703 * Delivers a request to the X server.
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 /**< */);
713 xcb_record_get_context_sizeof (const void *_buffer /**< */);
717 * @param c The connection
718 * @return A cookie
720 * Delivers a request to the X server.
723 xcb_record_get_context_cookie_t
724 xcb_record_get_context (xcb_connection_t *c /**< */,
725 xcb_record_context_t context /**< */);
729 * @param c The connection
730 * @return A cookie
732 * Delivers a request to the X server.
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.
738 xcb_record_get_context_cookie_t
739 xcb_record_get_context_unchecked (xcb_connection_t *c /**< */,
740 xcb_record_context_t context /**< */);
743 xcb_record_get_context_intercepted_clients_length (const xcb_record_get_context_reply_t *R /**< */);
745 xcb_record_client_info_iterator_t
746 xcb_record_get_context_intercepted_clients_iterator (const xcb_record_get_context_reply_t *R /**< */);
749 * Return the reply
750 * @param c The connection
751 * @param cookie The cookie
752 * @param e The xcb_generic_error_t supplied
754 * Returns the reply of the request asked by
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.
760 * The returned value must be freed by the caller using free().
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 /**< */);
768 xcb_record_enable_context_sizeof (const void *_buffer /**< */);
772 * @param c The connection
773 * @return A cookie
775 * Delivers a request to the X server.
778 xcb_record_enable_context_cookie_t
779 xcb_record_enable_context (xcb_connection_t *c /**< */,
780 xcb_record_context_t context /**< */);
784 * @param c The connection
785 * @return A cookie
787 * Delivers a request to the X server.
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.
793 xcb_record_enable_context_cookie_t
794 xcb_record_enable_context_unchecked (xcb_connection_t *c /**< */,
795 xcb_record_context_t context /**< */);
797 uint8_t *
798 xcb_record_enable_context_data (const xcb_record_enable_context_reply_t *R /**< */);
801 xcb_record_enable_context_data_length (const xcb_record_enable_context_reply_t *R /**< */);
803 xcb_generic_iterator_t
804 xcb_record_enable_context_data_end (const xcb_record_enable_context_reply_t *R /**< */);
807 * Return the reply
808 * @param c The connection
809 * @param cookie The cookie
810 * @param e The xcb_generic_error_t supplied
812 * Returns the reply of the request asked by
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.
818 * The returned value must be freed by the caller using free().
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 /**< */);
827 * @param c The connection
828 * @return A cookie
830 * Delivers a request to the X server.
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().
836 xcb_void_cookie_t
837 xcb_record_disable_context_checked (xcb_connection_t *c /**< */,
838 xcb_record_context_t context /**< */);
842 * @param c The connection
843 * @return A cookie
845 * Delivers a request to the X server.
848 xcb_void_cookie_t
849 xcb_record_disable_context (xcb_connection_t *c /**< */,
850 xcb_record_context_t context /**< */);
854 * @param c The connection
855 * @return A cookie
857 * Delivers a request to the X server.
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().
863 xcb_void_cookie_t
864 xcb_record_free_context_checked (xcb_connection_t *c /**< */,
865 xcb_record_context_t context /**< */);
869 * @param c The connection
870 * @return A cookie
872 * Delivers a request to the X server.
875 xcb_void_cookie_t
876 xcb_record_free_context (xcb_connection_t *c /**< */,
877 xcb_record_context_t context /**< */);
880 #ifdef __cplusplus
882 #endif
884 #endif
887 * @}