master
ブランチ master
ShaderPlayground / deps / xlibre / include / xcb / record.h
27.3 KB、935行 生 Blame 履歴
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
18extern "C" {
19#endif
20
21#define XCB_RECORD_MAJOR_VERSION 1
22#define XCB_RECORD_MINOR_VERSION 13
23
24extern xcb_extension_t xcb_record_id;
25
26typedef uint32_t xcb_record_context_t;
27
28/**
29 * @brief xcb_record_context_iterator_t
30 **/
31typedef 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 **/
40typedef 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 **/
48typedef 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 **/
57typedef 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 **/
65typedef 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 **/
74typedef 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 **/
82typedef 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 **/
91typedef 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 **/
106typedef 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
112typedef uint8_t xcb_record_element_header_t;
113
114/**
115 * @brief xcb_record_element_header_iterator_t
116 **/
117typedef 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
123typedef 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
129typedef uint32_t xcb_record_client_spec_t;
130
131/**
132 * @brief xcb_record_client_spec_iterator_t
133 **/
134typedef 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
140typedef 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 **/
149typedef 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 **/
157typedef 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 **/
169typedef 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 uint16_t minor_opcode;
175 uint8_t major_opcode;
176} xcb_record_bad_context_error_t;
177
178/**
179 * @brief xcb_record_query_version_cookie_t
180 **/
181typedef struct xcb_record_query_version_cookie_t {
182 unsigned int sequence;
183} xcb_record_query_version_cookie_t;
184
185/** Opcode for xcb_record_query_version. */
186#define XCB_RECORD_QUERY_VERSION 0
187
188/**
189 * @brief xcb_record_query_version_request_t
190 **/
191typedef struct xcb_record_query_version_request_t {
192 uint8_t major_opcode;
193 uint8_t minor_opcode;
194 uint16_t length;
195 uint16_t major_version;
196 uint16_t minor_version;
197} xcb_record_query_version_request_t;
198
199/**
200 * @brief xcb_record_query_version_reply_t
201 **/
202typedef struct xcb_record_query_version_reply_t {
203 uint8_t response_type;
204 uint8_t pad0;
205 uint16_t sequence;
206 uint32_t length;
207 uint16_t major_version;
208 uint16_t minor_version;
209} xcb_record_query_version_reply_t;
210
211/** Opcode for xcb_record_create_context. */
212#define XCB_RECORD_CREATE_CONTEXT 1
213
214/**
215 * @brief xcb_record_create_context_request_t
216 **/
217typedef struct xcb_record_create_context_request_t {
218 uint8_t major_opcode;
219 uint8_t minor_opcode;
220 uint16_t length;
221 xcb_record_context_t context;
222 xcb_record_element_header_t element_header;
223 uint8_t pad0[3];
224 uint32_t num_client_specs;
225 uint32_t num_ranges;
226} xcb_record_create_context_request_t;
227
228/** Opcode for xcb_record_register_clients. */
229#define XCB_RECORD_REGISTER_CLIENTS 2
230
231/**
232 * @brief xcb_record_register_clients_request_t
233 **/
234typedef struct xcb_record_register_clients_request_t {
235 uint8_t major_opcode;
236 uint8_t minor_opcode;
237 uint16_t length;
238 xcb_record_context_t context;
239 xcb_record_element_header_t element_header;
240 uint8_t pad0[3];
241 uint32_t num_client_specs;
242 uint32_t num_ranges;
243} xcb_record_register_clients_request_t;
244
245/** Opcode for xcb_record_unregister_clients. */
246#define XCB_RECORD_UNREGISTER_CLIENTS 3
247
248/**
249 * @brief xcb_record_unregister_clients_request_t
250 **/
251typedef struct xcb_record_unregister_clients_request_t {
252 uint8_t major_opcode;
253 uint8_t minor_opcode;
254 uint16_t length;
255 xcb_record_context_t context;
256 uint32_t num_client_specs;
257} xcb_record_unregister_clients_request_t;
258
259/**
260 * @brief xcb_record_get_context_cookie_t
261 **/
262typedef struct xcb_record_get_context_cookie_t {
263 unsigned int sequence;
264} xcb_record_get_context_cookie_t;
265
266/** Opcode for xcb_record_get_context. */
267#define XCB_RECORD_GET_CONTEXT 4
268
269/**
270 * @brief xcb_record_get_context_request_t
271 **/
272typedef struct xcb_record_get_context_request_t {
273 uint8_t major_opcode;
274 uint8_t minor_opcode;
275 uint16_t length;
276 xcb_record_context_t context;
277} xcb_record_get_context_request_t;
278
279/**
280 * @brief xcb_record_get_context_reply_t
281 **/
282typedef struct xcb_record_get_context_reply_t {
283 uint8_t response_type;
284 uint8_t enabled;
285 uint16_t sequence;
286 uint32_t length;
287 xcb_record_element_header_t element_header;
288 uint8_t pad0[3];
289 uint32_t num_intercepted_clients;
290 uint8_t pad1[16];
291} xcb_record_get_context_reply_t;
292
293/**
294 * @brief xcb_record_enable_context_cookie_t
295 **/
296typedef struct xcb_record_enable_context_cookie_t {
297 unsigned int sequence;
298} xcb_record_enable_context_cookie_t;
299
300/** Opcode for xcb_record_enable_context. */
301#define XCB_RECORD_ENABLE_CONTEXT 5
302
303/**
304 * @brief xcb_record_enable_context_request_t
305 **/
306typedef struct xcb_record_enable_context_request_t {
307 uint8_t major_opcode;
308 uint8_t minor_opcode;
309 uint16_t length;
310 xcb_record_context_t context;
311} xcb_record_enable_context_request_t;
312
313/**
314 * @brief xcb_record_enable_context_reply_t
315 **/
316typedef struct xcb_record_enable_context_reply_t {
317 uint8_t response_type;
318 uint8_t category;
319 uint16_t sequence;
320 uint32_t length;
321 xcb_record_element_header_t element_header;
322 uint8_t client_swapped;
323 uint8_t pad0[2];
324 uint32_t xid_base;
325 uint32_t server_time;
326 uint32_t rec_sequence_num;
327 uint8_t pad1[8];
328} xcb_record_enable_context_reply_t;
329
330/** Opcode for xcb_record_disable_context. */
331#define XCB_RECORD_DISABLE_CONTEXT 6
332
333/**
334 * @brief xcb_record_disable_context_request_t
335 **/
336typedef struct xcb_record_disable_context_request_t {
337 uint8_t major_opcode;
338 uint8_t minor_opcode;
339 uint16_t length;
340 xcb_record_context_t context;
341} xcb_record_disable_context_request_t;
342
343/** Opcode for xcb_record_free_context. */
344#define XCB_RECORD_FREE_CONTEXT 7
345
346/**
347 * @brief xcb_record_free_context_request_t
348 **/
349typedef struct xcb_record_free_context_request_t {
350 uint8_t major_opcode;
351 uint8_t minor_opcode;
352 uint16_t length;
353 xcb_record_context_t context;
354} xcb_record_free_context_request_t;
355
356/**
357 * Get the next element of the iterator
358 * @param i Pointer to a xcb_record_context_iterator_t
359 *
360 * Get the next element in the iterator. The member rem is
361 * decreased by one. The member data points to the next
362 * element. The member index is increased by sizeof(xcb_record_context_t)
363 */
364void
365xcb_record_context_next (xcb_record_context_iterator_t *i);
366
367/**
368 * Return the iterator pointing to the last element
369 * @param i An xcb_record_context_iterator_t
370 * @return The iterator pointing to the last element
371 *
372 * Set the current element in the iterator to the last element.
373 * The member rem is set to 0. The member data points to the
374 * last element.
375 */
376xcb_generic_iterator_t
377xcb_record_context_end (xcb_record_context_iterator_t i);
378
379/**
380 * Get the next element of the iterator
381 * @param i Pointer to a xcb_record_range_8_iterator_t
382 *
383 * Get the next element in the iterator. The member rem is
384 * decreased by one. The member data points to the next
385 * element. The member index is increased by sizeof(xcb_record_range_8_t)
386 */
387void
388xcb_record_range_8_next (xcb_record_range_8_iterator_t *i);
389
390/**
391 * Return the iterator pointing to the last element
392 * @param i An xcb_record_range_8_iterator_t
393 * @return The iterator pointing to the last element
394 *
395 * Set the current element in the iterator to the last element.
396 * The member rem is set to 0. The member data points to the
397 * last element.
398 */
399xcb_generic_iterator_t
400xcb_record_range_8_end (xcb_record_range_8_iterator_t i);
401
402/**
403 * Get the next element of the iterator
404 * @param i Pointer to a xcb_record_range_16_iterator_t
405 *
406 * Get the next element in the iterator. The member rem is
407 * decreased by one. The member data points to the next
408 * element. The member index is increased by sizeof(xcb_record_range_16_t)
409 */
410void
411xcb_record_range_16_next (xcb_record_range_16_iterator_t *i);
412
413/**
414 * Return the iterator pointing to the last element
415 * @param i An xcb_record_range_16_iterator_t
416 * @return The iterator pointing to the last element
417 *
418 * Set the current element in the iterator to the last element.
419 * The member rem is set to 0. The member data points to the
420 * last element.
421 */
422xcb_generic_iterator_t
423xcb_record_range_16_end (xcb_record_range_16_iterator_t i);
424
425/**
426 * Get the next element of the iterator
427 * @param i Pointer to a xcb_record_ext_range_iterator_t
428 *
429 * Get the next element in the iterator. The member rem is
430 * decreased by one. The member data points to the next
431 * element. The member index is increased by sizeof(xcb_record_ext_range_t)
432 */
433void
434xcb_record_ext_range_next (xcb_record_ext_range_iterator_t *i);
435
436/**
437 * Return the iterator pointing to the last element
438 * @param i An xcb_record_ext_range_iterator_t
439 * @return The iterator pointing to the last element
440 *
441 * Set the current element in the iterator to the last element.
442 * The member rem is set to 0. The member data points to the
443 * last element.
444 */
445xcb_generic_iterator_t
446xcb_record_ext_range_end (xcb_record_ext_range_iterator_t i);
447
448/**
449 * Get the next element of the iterator
450 * @param i Pointer to a xcb_record_range_iterator_t
451 *
452 * Get the next element in the iterator. The member rem is
453 * decreased by one. The member data points to the next
454 * element. The member index is increased by sizeof(xcb_record_range_t)
455 */
456void
457xcb_record_range_next (xcb_record_range_iterator_t *i);
458
459/**
460 * Return the iterator pointing to the last element
461 * @param i An xcb_record_range_iterator_t
462 * @return The iterator pointing to the last element
463 *
464 * Set the current element in the iterator to the last element.
465 * The member rem is set to 0. The member data points to the
466 * last element.
467 */
468xcb_generic_iterator_t
469xcb_record_range_end (xcb_record_range_iterator_t i);
470
471/**
472 * Get the next element of the iterator
473 * @param i Pointer to a xcb_record_element_header_iterator_t
474 *
475 * Get the next element in the iterator. The member rem is
476 * decreased by one. The member data points to the next
477 * element. The member index is increased by sizeof(xcb_record_element_header_t)
478 */
479void
480xcb_record_element_header_next (xcb_record_element_header_iterator_t *i);
481
482/**
483 * Return the iterator pointing to the last element
484 * @param i An xcb_record_element_header_iterator_t
485 * @return The iterator pointing to the last element
486 *
487 * Set the current element in the iterator to the last element.
488 * The member rem is set to 0. The member data points to the
489 * last element.
490 */
491xcb_generic_iterator_t
492xcb_record_element_header_end (xcb_record_element_header_iterator_t i);
493
494/**
495 * Get the next element of the iterator
496 * @param i Pointer to a xcb_record_client_spec_iterator_t
497 *
498 * Get the next element in the iterator. The member rem is
499 * decreased by one. The member data points to the next
500 * element. The member index is increased by sizeof(xcb_record_client_spec_t)
501 */
502void
503xcb_record_client_spec_next (xcb_record_client_spec_iterator_t *i);
504
505/**
506 * Return the iterator pointing to the last element
507 * @param i An xcb_record_client_spec_iterator_t
508 * @return The iterator pointing to the last element
509 *
510 * Set the current element in the iterator to the last element.
511 * The member rem is set to 0. The member data points to the
512 * last element.
513 */
514xcb_generic_iterator_t
515xcb_record_client_spec_end (xcb_record_client_spec_iterator_t i);
516
517int
518xcb_record_client_info_sizeof (const void *_buffer);
519
520xcb_record_range_t *
521xcb_record_client_info_ranges (const xcb_record_client_info_t *R);
522
523int
524xcb_record_client_info_ranges_length (const xcb_record_client_info_t *R);
525
526xcb_record_range_iterator_t
527xcb_record_client_info_ranges_iterator (const xcb_record_client_info_t *R);
528
529/**
530 * Get the next element of the iterator
531 * @param i Pointer to a xcb_record_client_info_iterator_t
532 *
533 * Get the next element in the iterator. The member rem is
534 * decreased by one. The member data points to the next
535 * element. The member index is increased by sizeof(xcb_record_client_info_t)
536 */
537void
538xcb_record_client_info_next (xcb_record_client_info_iterator_t *i);
539
540/**
541 * Return the iterator pointing to the last element
542 * @param i An xcb_record_client_info_iterator_t
543 * @return The iterator pointing to the last element
544 *
545 * Set the current element in the iterator to the last element.
546 * The member rem is set to 0. The member data points to the
547 * last element.
548 */
549xcb_generic_iterator_t
550xcb_record_client_info_end (xcb_record_client_info_iterator_t i);
551
552/**
553 *
554 * @param c The connection
555 * @return A cookie
556 *
557 * Delivers a request to the X server.
558 *
559 */
560xcb_record_query_version_cookie_t
561xcb_record_query_version (xcb_connection_t *c,
562 uint16_t major_version,
563 uint16_t minor_version);
564
565/**
566 *
567 * @param c The connection
568 * @return A cookie
569 *
570 * Delivers a request to the X server.
571 *
572 * This form can be used only if the request will cause
573 * a reply to be generated. Any returned error will be
574 * placed in the event queue.
575 */
576xcb_record_query_version_cookie_t
577xcb_record_query_version_unchecked (xcb_connection_t *c,
578 uint16_t major_version,
579 uint16_t minor_version);
580
581/**
582 * Return the reply
583 * @param c The connection
584 * @param cookie The cookie
585 * @param e The xcb_generic_error_t supplied
586 *
587 * Returns the reply of the request asked by
588 *
589 * The parameter @p e supplied to this function must be NULL if
590 * xcb_record_query_version_unchecked(). is used.
591 * Otherwise, it stores the error if any.
592 *
593 * The returned value must be freed by the caller using free().
594 */
595xcb_record_query_version_reply_t *
596xcb_record_query_version_reply (xcb_connection_t *c,
597 xcb_record_query_version_cookie_t cookie /**< */,
598 xcb_generic_error_t **e);
599
600int
601xcb_record_create_context_sizeof (const void *_buffer);
602
603/**
604 *
605 * @param c The connection
606 * @return A cookie
607 *
608 * Delivers a request to the X server.
609 *
610 * This form can be used only if the request will not cause
611 * a reply to be generated. Any returned error will be
612 * saved for handling by xcb_request_check().
613 */
614xcb_void_cookie_t
615xcb_record_create_context_checked (xcb_connection_t *c,
616 xcb_record_context_t context,
617 xcb_record_element_header_t element_header,
618 uint32_t num_client_specs,
619 uint32_t num_ranges,
620 const xcb_record_client_spec_t *client_specs,
621 const xcb_record_range_t *ranges);
622
623/**
624 *
625 * @param c The connection
626 * @return A cookie
627 *
628 * Delivers a request to the X server.
629 *
630 */
631xcb_void_cookie_t
632xcb_record_create_context (xcb_connection_t *c,
633 xcb_record_context_t context,
634 xcb_record_element_header_t element_header,
635 uint32_t num_client_specs,
636 uint32_t num_ranges,
637 const xcb_record_client_spec_t *client_specs,
638 const xcb_record_range_t *ranges);
639
640xcb_record_client_spec_t *
641xcb_record_create_context_client_specs (const xcb_record_create_context_request_t *R);
642
643int
644xcb_record_create_context_client_specs_length (const xcb_record_create_context_request_t *R);
645
646xcb_generic_iterator_t
647xcb_record_create_context_client_specs_end (const xcb_record_create_context_request_t *R);
648
649xcb_record_range_t *
650xcb_record_create_context_ranges (const xcb_record_create_context_request_t *R);
651
652int
653xcb_record_create_context_ranges_length (const xcb_record_create_context_request_t *R);
654
655xcb_record_range_iterator_t
656xcb_record_create_context_ranges_iterator (const xcb_record_create_context_request_t *R);
657
658int
659xcb_record_register_clients_sizeof (const void *_buffer);
660
661/**
662 *
663 * @param c The connection
664 * @return A cookie
665 *
666 * Delivers a request to the X server.
667 *
668 * This form can be used only if the request will not cause
669 * a reply to be generated. Any returned error will be
670 * saved for handling by xcb_request_check().
671 */
672xcb_void_cookie_t
673xcb_record_register_clients_checked (xcb_connection_t *c,
674 xcb_record_context_t context,
675 xcb_record_element_header_t element_header,
676 uint32_t num_client_specs,
677 uint32_t num_ranges,
678 const xcb_record_client_spec_t *client_specs,
679 const xcb_record_range_t *ranges);
680
681/**
682 *
683 * @param c The connection
684 * @return A cookie
685 *
686 * Delivers a request to the X server.
687 *
688 */
689xcb_void_cookie_t
690xcb_record_register_clients (xcb_connection_t *c,
691 xcb_record_context_t context,
692 xcb_record_element_header_t element_header,
693 uint32_t num_client_specs,
694 uint32_t num_ranges,
695 const xcb_record_client_spec_t *client_specs,
696 const xcb_record_range_t *ranges);
697
698xcb_record_client_spec_t *
699xcb_record_register_clients_client_specs (const xcb_record_register_clients_request_t *R);
700
701int
702xcb_record_register_clients_client_specs_length (const xcb_record_register_clients_request_t *R);
703
704xcb_generic_iterator_t
705xcb_record_register_clients_client_specs_end (const xcb_record_register_clients_request_t *R);
706
707xcb_record_range_t *
708xcb_record_register_clients_ranges (const xcb_record_register_clients_request_t *R);
709
710int
711xcb_record_register_clients_ranges_length (const xcb_record_register_clients_request_t *R);
712
713xcb_record_range_iterator_t
714xcb_record_register_clients_ranges_iterator (const xcb_record_register_clients_request_t *R);
715
716int
717xcb_record_unregister_clients_sizeof (const void *_buffer);
718
719/**
720 *
721 * @param c The connection
722 * @return A cookie
723 *
724 * Delivers a request to the X server.
725 *
726 * This form can be used only if the request will not cause
727 * a reply to be generated. Any returned error will be
728 * saved for handling by xcb_request_check().
729 */
730xcb_void_cookie_t
731xcb_record_unregister_clients_checked (xcb_connection_t *c,
732 xcb_record_context_t context,
733 uint32_t num_client_specs,
734 const xcb_record_client_spec_t *client_specs);
735
736/**
737 *
738 * @param c The connection
739 * @return A cookie
740 *
741 * Delivers a request to the X server.
742 *
743 */
744xcb_void_cookie_t
745xcb_record_unregister_clients (xcb_connection_t *c,
746 xcb_record_context_t context,
747 uint32_t num_client_specs,
748 const xcb_record_client_spec_t *client_specs);
749
750xcb_record_client_spec_t *
751xcb_record_unregister_clients_client_specs (const xcb_record_unregister_clients_request_t *R);
752
753int
754xcb_record_unregister_clients_client_specs_length (const xcb_record_unregister_clients_request_t *R);
755
756xcb_generic_iterator_t
757xcb_record_unregister_clients_client_specs_end (const xcb_record_unregister_clients_request_t *R);
758
759int
760xcb_record_get_context_sizeof (const void *_buffer);
761
762/**
763 *
764 * @param c The connection
765 * @return A cookie
766 *
767 * Delivers a request to the X server.
768 *
769 */
770xcb_record_get_context_cookie_t
771xcb_record_get_context (xcb_connection_t *c,
772 xcb_record_context_t context);
773
774/**
775 *
776 * @param c The connection
777 * @return A cookie
778 *
779 * Delivers a request to the X server.
780 *
781 * This form can be used only if the request will cause
782 * a reply to be generated. Any returned error will be
783 * placed in the event queue.
784 */
785xcb_record_get_context_cookie_t
786xcb_record_get_context_unchecked (xcb_connection_t *c,
787 xcb_record_context_t context);
788
789int
790xcb_record_get_context_intercepted_clients_length (const xcb_record_get_context_reply_t *R);
791
792xcb_record_client_info_iterator_t
793xcb_record_get_context_intercepted_clients_iterator (const xcb_record_get_context_reply_t *R);
794
795/**
796 * Return the reply
797 * @param c The connection
798 * @param cookie The cookie
799 * @param e The xcb_generic_error_t supplied
800 *
801 * Returns the reply of the request asked by
802 *
803 * The parameter @p e supplied to this function must be NULL if
804 * xcb_record_get_context_unchecked(). is used.
805 * Otherwise, it stores the error if any.
806 *
807 * The returned value must be freed by the caller using free().
808 */
809xcb_record_get_context_reply_t *
810xcb_record_get_context_reply (xcb_connection_t *c,
811 xcb_record_get_context_cookie_t cookie /**< */,
812 xcb_generic_error_t **e);
813
814int
815xcb_record_enable_context_sizeof (const void *_buffer);
816
817/**
818 *
819 * @param c The connection
820 * @return A cookie
821 *
822 * Delivers a request to the X server.
823 *
824 */
825xcb_record_enable_context_cookie_t
826xcb_record_enable_context (xcb_connection_t *c,
827 xcb_record_context_t context);
828
829/**
830 *
831 * @param c The connection
832 * @return A cookie
833 *
834 * Delivers a request to the X server.
835 *
836 * This form can be used only if the request will cause
837 * a reply to be generated. Any returned error will be
838 * placed in the event queue.
839 */
840xcb_record_enable_context_cookie_t
841xcb_record_enable_context_unchecked (xcb_connection_t *c,
842 xcb_record_context_t context);
843
844uint8_t *
845xcb_record_enable_context_data (const xcb_record_enable_context_reply_t *R);
846
847int
848xcb_record_enable_context_data_length (const xcb_record_enable_context_reply_t *R);
849
850xcb_generic_iterator_t
851xcb_record_enable_context_data_end (const xcb_record_enable_context_reply_t *R);
852
853/**
854 * Return the reply
855 * @param c The connection
856 * @param cookie The cookie
857 * @param e The xcb_generic_error_t supplied
858 *
859 * Returns the reply of the request asked by
860 *
861 * The parameter @p e supplied to this function must be NULL if
862 * xcb_record_enable_context_unchecked(). is used.
863 * Otherwise, it stores the error if any.
864 *
865 * The returned value must be freed by the caller using free().
866 */
867xcb_record_enable_context_reply_t *
868xcb_record_enable_context_reply (xcb_connection_t *c,
869 xcb_record_enable_context_cookie_t cookie /**< */,
870 xcb_generic_error_t **e);
871
872/**
873 *
874 * @param c The connection
875 * @return A cookie
876 *
877 * Delivers a request to the X server.
878 *
879 * This form can be used only if the request will not cause
880 * a reply to be generated. Any returned error will be
881 * saved for handling by xcb_request_check().
882 */
883xcb_void_cookie_t
884xcb_record_disable_context_checked (xcb_connection_t *c,
885 xcb_record_context_t context);
886
887/**
888 *
889 * @param c The connection
890 * @return A cookie
891 *
892 * Delivers a request to the X server.
893 *
894 */
895xcb_void_cookie_t
896xcb_record_disable_context (xcb_connection_t *c,
897 xcb_record_context_t context);
898
899/**
900 *
901 * @param c The connection
902 * @return A cookie
903 *
904 * Delivers a request to the X server.
905 *
906 * This form can be used only if the request will not cause
907 * a reply to be generated. Any returned error will be
908 * saved for handling by xcb_request_check().
909 */
910xcb_void_cookie_t
911xcb_record_free_context_checked (xcb_connection_t *c,
912 xcb_record_context_t context);
913
914/**
915 *
916 * @param c The connection
917 * @return A cookie
918 *
919 * Delivers a request to the X server.
920 *
921 */
922xcb_void_cookie_t
923xcb_record_free_context (xcb_connection_t *c,
924 xcb_record_context_t context);
925
926
927#ifdef __cplusplus
928}
929#endif
930
931#endif
932
933/**
934 * @}
935 */