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} xcb_record_bad_context_error_t;
175
176/**
177 * @brief xcb_record_query_version_cookie_t
178 **/
179typedef 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 **/
189typedef 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 **/
200typedef 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 **/
215typedef 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 **/
232typedef 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 **/
249typedef 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 **/
260typedef 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 **/
270typedef 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 **/
280typedef 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 **/
294typedef 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 **/
304typedef 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 **/
314typedef 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 **/
334typedef 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 **/
347typedef 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
363/*****************************************************************************
364 **
365 ** void xcb_record_context_next
366 **
367 ** @param xcb_record_context_iterator_t *i
368 ** @returns void
369 **
370 *****************************************************************************/
371
372void
373xcb_record_context_next (xcb_record_context_iterator_t *i  /**< */);
374
375/**
376 * Return the iterator pointing to the last element
377 * @param i An xcb_record_context_iterator_t
378 * @return  The iterator pointing to the last element
379 *
380 * Set the current element in the iterator to the last element.
381 * The member rem is set to 0. The member data points to the
382 * last element.
383 */
384
385/*****************************************************************************
386 **
387 ** xcb_generic_iterator_t xcb_record_context_end
388 **
389 ** @param xcb_record_context_iterator_t i
390 ** @returns xcb_generic_iterator_t
391 **
392 *****************************************************************************/
393
394xcb_generic_iterator_t
395xcb_record_context_end (xcb_record_context_iterator_t i  /**< */);
396
397/**
398 * Get the next element of the iterator
399 * @param i Pointer to a xcb_record_range_8_iterator_t
400 *
401 * Get the next element in the iterator. The member rem is
402 * decreased by one. The member data points to the next
403 * element. The member index is increased by sizeof(xcb_record_range_8_t)
404 */
405
406/*****************************************************************************
407 **
408 ** void xcb_record_range_8_next
409 **
410 ** @param xcb_record_range_8_iterator_t *i
411 ** @returns void
412 **
413 *****************************************************************************/
414
415void
416xcb_record_range_8_next (xcb_record_range_8_iterator_t *i  /**< */);
417
418/**
419 * Return the iterator pointing to the last element
420 * @param i An xcb_record_range_8_iterator_t
421 * @return  The iterator pointing to the last element
422 *
423 * Set the current element in the iterator to the last element.
424 * The member rem is set to 0. The member data points to the
425 * last element.
426 */
427
428/*****************************************************************************
429 **
430 ** xcb_generic_iterator_t xcb_record_range_8_end
431 **
432 ** @param xcb_record_range_8_iterator_t i
433 ** @returns xcb_generic_iterator_t
434 **
435 *****************************************************************************/
436
437xcb_generic_iterator_t
438xcb_record_range_8_end (xcb_record_range_8_iterator_t i  /**< */);
439
440/**
441 * Get the next element of the iterator
442 * @param i Pointer to a xcb_record_range_16_iterator_t
443 *
444 * Get the next element in the iterator. The member rem is
445 * decreased by one. The member data points to the next
446 * element. The member index is increased by sizeof(xcb_record_range_16_t)
447 */
448
449/*****************************************************************************
450 **
451 ** void xcb_record_range_16_next
452 **
453 ** @param xcb_record_range_16_iterator_t *i
454 ** @returns void
455 **
456 *****************************************************************************/
457
458void
459xcb_record_range_16_next (xcb_record_range_16_iterator_t *i  /**< */);
460
461/**
462 * Return the iterator pointing to the last element
463 * @param i An xcb_record_range_16_iterator_t
464 * @return  The iterator pointing to the last element
465 *
466 * Set the current element in the iterator to the last element.
467 * The member rem is set to 0. The member data points to the
468 * last element.
469 */
470
471/*****************************************************************************
472 **
473 ** xcb_generic_iterator_t xcb_record_range_16_end
474 **
475 ** @param xcb_record_range_16_iterator_t i
476 ** @returns xcb_generic_iterator_t
477 **
478 *****************************************************************************/
479
480xcb_generic_iterator_t
481xcb_record_range_16_end (xcb_record_range_16_iterator_t i  /**< */);
482
483/**
484 * Get the next element of the iterator
485 * @param i Pointer to a xcb_record_ext_range_iterator_t
486 *
487 * Get the next element in the iterator. The member rem is
488 * decreased by one. The member data points to the next
489 * element. The member index is increased by sizeof(xcb_record_ext_range_t)
490 */
491
492/*****************************************************************************
493 **
494 ** void xcb_record_ext_range_next
495 **
496 ** @param xcb_record_ext_range_iterator_t *i
497 ** @returns void
498 **
499 *****************************************************************************/
500
501void
502xcb_record_ext_range_next (xcb_record_ext_range_iterator_t *i  /**< */);
503
504/**
505 * Return the iterator pointing to the last element
506 * @param i An xcb_record_ext_range_iterator_t
507 * @return  The iterator pointing to the last element
508 *
509 * Set the current element in the iterator to the last element.
510 * The member rem is set to 0. The member data points to the
511 * last element.
512 */
513
514/*****************************************************************************
515 **
516 ** xcb_generic_iterator_t xcb_record_ext_range_end
517 **
518 ** @param xcb_record_ext_range_iterator_t i
519 ** @returns xcb_generic_iterator_t
520 **
521 *****************************************************************************/
522
523xcb_generic_iterator_t
524xcb_record_ext_range_end (xcb_record_ext_range_iterator_t i  /**< */);
525
526/**
527 * Get the next element of the iterator
528 * @param i Pointer to a xcb_record_range_iterator_t
529 *
530 * Get the next element in the iterator. The member rem is
531 * decreased by one. The member data points to the next
532 * element. The member index is increased by sizeof(xcb_record_range_t)
533 */
534
535/*****************************************************************************
536 **
537 ** void xcb_record_range_next
538 **
539 ** @param xcb_record_range_iterator_t *i
540 ** @returns void
541 **
542 *****************************************************************************/
543
544void
545xcb_record_range_next (xcb_record_range_iterator_t *i  /**< */);
546
547/**
548 * Return the iterator pointing to the last element
549 * @param i An xcb_record_range_iterator_t
550 * @return  The iterator pointing to the last element
551 *
552 * Set the current element in the iterator to the last element.
553 * The member rem is set to 0. The member data points to the
554 * last element.
555 */
556
557/*****************************************************************************
558 **
559 ** xcb_generic_iterator_t xcb_record_range_end
560 **
561 ** @param xcb_record_range_iterator_t i
562 ** @returns xcb_generic_iterator_t
563 **
564 *****************************************************************************/
565
566xcb_generic_iterator_t
567xcb_record_range_end (xcb_record_range_iterator_t i  /**< */);
568
569/**
570 * Get the next element of the iterator
571 * @param i Pointer to a xcb_record_element_header_iterator_t
572 *
573 * Get the next element in the iterator. The member rem is
574 * decreased by one. The member data points to the next
575 * element. The member index is increased by sizeof(xcb_record_element_header_t)
576 */
577
578/*****************************************************************************
579 **
580 ** void xcb_record_element_header_next
581 **
582 ** @param xcb_record_element_header_iterator_t *i
583 ** @returns void
584 **
585 *****************************************************************************/
586
587void
588xcb_record_element_header_next (xcb_record_element_header_iterator_t *i  /**< */);
589
590/**
591 * Return the iterator pointing to the last element
592 * @param i An xcb_record_element_header_iterator_t
593 * @return  The iterator pointing to the last element
594 *
595 * Set the current element in the iterator to the last element.
596 * The member rem is set to 0. The member data points to the
597 * last element.
598 */
599
600/*****************************************************************************
601 **
602 ** xcb_generic_iterator_t xcb_record_element_header_end
603 **
604 ** @param xcb_record_element_header_iterator_t i
605 ** @returns xcb_generic_iterator_t
606 **
607 *****************************************************************************/
608
609xcb_generic_iterator_t
610xcb_record_element_header_end (xcb_record_element_header_iterator_t i  /**< */);
611
612/**
613 * Get the next element of the iterator
614 * @param i Pointer to a xcb_record_client_spec_iterator_t
615 *
616 * Get the next element in the iterator. The member rem is
617 * decreased by one. The member data points to the next
618 * element. The member index is increased by sizeof(xcb_record_client_spec_t)
619 */
620
621/*****************************************************************************
622 **
623 ** void xcb_record_client_spec_next
624 **
625 ** @param xcb_record_client_spec_iterator_t *i
626 ** @returns void
627 **
628 *****************************************************************************/
629
630void
631xcb_record_client_spec_next (xcb_record_client_spec_iterator_t *i  /**< */);
632
633/**
634 * Return the iterator pointing to the last element
635 * @param i An xcb_record_client_spec_iterator_t
636 * @return  The iterator pointing to the last element
637 *
638 * Set the current element in the iterator to the last element.
639 * The member rem is set to 0. The member data points to the
640 * last element.
641 */
642
643/*****************************************************************************
644 **
645 ** xcb_generic_iterator_t xcb_record_client_spec_end
646 **
647 ** @param xcb_record_client_spec_iterator_t i
648 ** @returns xcb_generic_iterator_t
649 **
650 *****************************************************************************/
651
652xcb_generic_iterator_t
653xcb_record_client_spec_end (xcb_record_client_spec_iterator_t i  /**< */);
654
655
656/*****************************************************************************
657 **
658 ** xcb_record_range_t * xcb_record_client_info_ranges
659 **
660 ** @param const xcb_record_client_info_t *R
661 ** @returns xcb_record_range_t *
662 **
663 *****************************************************************************/
664
665xcb_record_range_t *
666xcb_record_client_info_ranges (const xcb_record_client_info_t *R  /**< */);
667
668
669/*****************************************************************************
670 **
671 ** int xcb_record_client_info_ranges_length
672 **
673 ** @param const xcb_record_client_info_t *R
674 ** @returns int
675 **
676 *****************************************************************************/
677
678int
679xcb_record_client_info_ranges_length (const xcb_record_client_info_t *R  /**< */);
680
681
682/*****************************************************************************
683 **
684 ** xcb_record_range_iterator_t xcb_record_client_info_ranges_iterator
685 **
686 ** @param const xcb_record_client_info_t *R
687 ** @returns xcb_record_range_iterator_t
688 **
689 *****************************************************************************/
690
691xcb_record_range_iterator_t
692xcb_record_client_info_ranges_iterator (const xcb_record_client_info_t *R  /**< */);
693
694/**
695 * Get the next element of the iterator
696 * @param i Pointer to a xcb_record_client_info_iterator_t
697 *
698 * Get the next element in the iterator. The member rem is
699 * decreased by one. The member data points to the next
700 * element. The member index is increased by sizeof(xcb_record_client_info_t)
701 */
702
703/*****************************************************************************
704 **
705 ** void xcb_record_client_info_next
706 **
707 ** @param xcb_record_client_info_iterator_t *i
708 ** @returns void
709 **
710 *****************************************************************************/
711
712void
713xcb_record_client_info_next (xcb_record_client_info_iterator_t *i  /**< */);
714
715/**
716 * Return the iterator pointing to the last element
717 * @param i An xcb_record_client_info_iterator_t
718 * @return  The iterator pointing to the last element
719 *
720 * Set the current element in the iterator to the last element.
721 * The member rem is set to 0. The member data points to the
722 * last element.
723 */
724
725/*****************************************************************************
726 **
727 ** xcb_generic_iterator_t xcb_record_client_info_end
728 **
729 ** @param xcb_record_client_info_iterator_t i
730 ** @returns xcb_generic_iterator_t
731 **
732 *****************************************************************************/
733
734xcb_generic_iterator_t
735xcb_record_client_info_end (xcb_record_client_info_iterator_t i  /**< */);
736
737/**
738 * Delivers a request to the X server
739 * @param c The connection
740 * @return A cookie
741 *
742 * Delivers a request to the X server.
743 *
744 */
745
746/*****************************************************************************
747 **
748 ** xcb_record_query_version_cookie_t xcb_record_query_version
749 **
750 ** @param xcb_connection_t *c
751 ** @param uint16_t          major_version
752 ** @param uint16_t          minor_version
753 ** @returns xcb_record_query_version_cookie_t
754 **
755 *****************************************************************************/
756
757xcb_record_query_version_cookie_t
758xcb_record_query_version (xcb_connection_t *c  /**< */,
759                          uint16_t          major_version  /**< */,
760                          uint16_t          minor_version  /**< */);
761
762/**
763 * Delivers a request to the X server
764 * @param c The connection
765 * @return A cookie
766 *
767 * Delivers a request to the X server.
768 *
769 * This form can be used only if the request will cause
770 * a reply to be generated. Any returned error will be
771 * placed in the event queue.
772 */
773
774/*****************************************************************************
775 **
776 ** xcb_record_query_version_cookie_t xcb_record_query_version_unchecked
777 **
778 ** @param xcb_connection_t *c
779 ** @param uint16_t          major_version
780 ** @param uint16_t          minor_version
781 ** @returns xcb_record_query_version_cookie_t
782 **
783 *****************************************************************************/
784
785xcb_record_query_version_cookie_t
786xcb_record_query_version_unchecked (xcb_connection_t *c  /**< */,
787                                    uint16_t          major_version  /**< */,
788                                    uint16_t          minor_version  /**< */);
789
790/**
791 * Return the reply
792 * @param c      The connection
793 * @param cookie The cookie
794 * @param e      The xcb_generic_error_t supplied
795 *
796 * Returns the reply of the request asked by
797 *
798 * The parameter @p e supplied to this function must be NULL if
799 * xcb_record_query_version_unchecked(). is used.
800 * Otherwise, it stores the error if any.
801 *
802 * The returned value must be freed by the caller using free().
803 */
804
805/*****************************************************************************
806 **
807 ** xcb_record_query_version_reply_t * xcb_record_query_version_reply
808 **
809 ** @param xcb_connection_t                   *c
810 ** @param xcb_record_query_version_cookie_t   cookie
811 ** @param xcb_generic_error_t               **e
812 ** @returns xcb_record_query_version_reply_t *
813 **
814 *****************************************************************************/
815
816xcb_record_query_version_reply_t *
817xcb_record_query_version_reply (xcb_connection_t                   *c  /**< */,
818                                xcb_record_query_version_cookie_t   cookie  /**< */,
819                                xcb_generic_error_t               **e  /**< */);
820
821/**
822 * Delivers a request to the X server
823 * @param c The connection
824 * @return A cookie
825 *
826 * Delivers a request to the X server.
827 *
828 * This form can be used only if the request will not cause
829 * a reply to be generated. Any returned error will be
830 * saved for handling by xcb_request_check().
831 */
832
833/*****************************************************************************
834 **
835 ** xcb_void_cookie_t xcb_record_create_context_checked
836 **
837 ** @param xcb_connection_t               *c
838 ** @param xcb_record_context_t            context
839 ** @param xcb_record_element_header_t     element_header
840 ** @param uint32_t                        num_client_specs
841 ** @param uint32_t                        num_ranges
842 ** @param const xcb_record_client_spec_t *client_specs
843 ** @param const xcb_record_range_t       *ranges
844 ** @returns xcb_void_cookie_t
845 **
846 *****************************************************************************/
847
848xcb_void_cookie_t
849xcb_record_create_context_checked (xcb_connection_t               *c  /**< */,
850                                   xcb_record_context_t            context  /**< */,
851                                   xcb_record_element_header_t     element_header  /**< */,
852                                   uint32_t                        num_client_specs  /**< */,
853                                   uint32_t                        num_ranges  /**< */,
854                                   const xcb_record_client_spec_t *client_specs  /**< */,
855                                   const xcb_record_range_t       *ranges  /**< */);
856
857/**
858 * Delivers a request to the X server
859 * @param c The connection
860 * @return A cookie
861 *
862 * Delivers a request to the X server.
863 *
864 */
865
866/*****************************************************************************
867 **
868 ** xcb_void_cookie_t xcb_record_create_context
869 **
870 ** @param xcb_connection_t               *c
871 ** @param xcb_record_context_t            context
872 ** @param xcb_record_element_header_t     element_header
873 ** @param uint32_t                        num_client_specs
874 ** @param uint32_t                        num_ranges
875 ** @param const xcb_record_client_spec_t *client_specs
876 ** @param const xcb_record_range_t       *ranges
877 ** @returns xcb_void_cookie_t
878 **
879 *****************************************************************************/
880
881xcb_void_cookie_t
882xcb_record_create_context (xcb_connection_t               *c  /**< */,
883                           xcb_record_context_t            context  /**< */,
884                           xcb_record_element_header_t     element_header  /**< */,
885                           uint32_t                        num_client_specs  /**< */,
886                           uint32_t                        num_ranges  /**< */,
887                           const xcb_record_client_spec_t *client_specs  /**< */,
888                           const xcb_record_range_t       *ranges  /**< */);
889
890/**
891 * Delivers a request to the X server
892 * @param c The connection
893 * @return A cookie
894 *
895 * Delivers a request to the X server.
896 *
897 * This form can be used only if the request will not cause
898 * a reply to be generated. Any returned error will be
899 * saved for handling by xcb_request_check().
900 */
901
902/*****************************************************************************
903 **
904 ** xcb_void_cookie_t xcb_record_register_clients_checked
905 **
906 ** @param xcb_connection_t               *c
907 ** @param xcb_record_context_t            context
908 ** @param xcb_record_element_header_t     element_header
909 ** @param uint32_t                        num_client_specs
910 ** @param uint32_t                        num_ranges
911 ** @param const xcb_record_client_spec_t *client_specs
912 ** @param const xcb_record_range_t       *ranges
913 ** @returns xcb_void_cookie_t
914 **
915 *****************************************************************************/
916
917xcb_void_cookie_t
918xcb_record_register_clients_checked (xcb_connection_t               *c  /**< */,
919                                     xcb_record_context_t            context  /**< */,
920                                     xcb_record_element_header_t     element_header  /**< */,
921                                     uint32_t                        num_client_specs  /**< */,
922                                     uint32_t                        num_ranges  /**< */,
923                                     const xcb_record_client_spec_t *client_specs  /**< */,
924                                     const xcb_record_range_t       *ranges  /**< */);
925
926/**
927 * Delivers a request to the X server
928 * @param c The connection
929 * @return A cookie
930 *
931 * Delivers a request to the X server.
932 *
933 */
934
935/*****************************************************************************
936 **
937 ** xcb_void_cookie_t xcb_record_register_clients
938 **
939 ** @param xcb_connection_t               *c
940 ** @param xcb_record_context_t            context
941 ** @param xcb_record_element_header_t     element_header
942 ** @param uint32_t                        num_client_specs
943 ** @param uint32_t                        num_ranges
944 ** @param const xcb_record_client_spec_t *client_specs
945 ** @param const xcb_record_range_t       *ranges
946 ** @returns xcb_void_cookie_t
947 **
948 *****************************************************************************/
949
950xcb_void_cookie_t
951xcb_record_register_clients (xcb_connection_t               *c  /**< */,
952                             xcb_record_context_t            context  /**< */,
953                             xcb_record_element_header_t     element_header  /**< */,
954                             uint32_t                        num_client_specs  /**< */,
955                             uint32_t                        num_ranges  /**< */,
956                             const xcb_record_client_spec_t *client_specs  /**< */,
957                             const xcb_record_range_t       *ranges  /**< */);
958
959/**
960 * Delivers a request to the X server
961 * @param c The connection
962 * @return A cookie
963 *
964 * Delivers a request to the X server.
965 *
966 * This form can be used only if the request will not cause
967 * a reply to be generated. Any returned error will be
968 * saved for handling by xcb_request_check().
969 */
970
971/*****************************************************************************
972 **
973 ** xcb_void_cookie_t xcb_record_unregister_clients_checked
974 **
975 ** @param xcb_connection_t               *c
976 ** @param xcb_record_context_t            context
977 ** @param uint32_t                        num_client_specs
978 ** @param const xcb_record_client_spec_t *client_specs
979 ** @returns xcb_void_cookie_t
980 **
981 *****************************************************************************/
982
983xcb_void_cookie_t
984xcb_record_unregister_clients_checked (xcb_connection_t               *c  /**< */,
985                                       xcb_record_context_t            context  /**< */,
986                                       uint32_t                        num_client_specs  /**< */,
987                                       const xcb_record_client_spec_t *client_specs  /**< */);
988
989/**
990 * Delivers a request to the X server
991 * @param c The connection
992 * @return A cookie
993 *
994 * Delivers a request to the X server.
995 *
996 */
997
998/*****************************************************************************
999 **
1000 ** xcb_void_cookie_t xcb_record_unregister_clients
1001 **
1002 ** @param xcb_connection_t               *c
1003 ** @param xcb_record_context_t            context
1004 ** @param uint32_t                        num_client_specs
1005 ** @param const xcb_record_client_spec_t *client_specs
1006 ** @returns xcb_void_cookie_t
1007 **
1008 *****************************************************************************/
1009
1010xcb_void_cookie_t
1011xcb_record_unregister_clients (xcb_connection_t               *c  /**< */,
1012                               xcb_record_context_t            context  /**< */,
1013                               uint32_t                        num_client_specs  /**< */,
1014                               const xcb_record_client_spec_t *client_specs  /**< */);
1015
1016/**
1017 * Delivers a request to the X server
1018 * @param c The connection
1019 * @return A cookie
1020 *
1021 * Delivers a request to the X server.
1022 *
1023 */
1024
1025/*****************************************************************************
1026 **
1027 ** xcb_record_get_context_cookie_t xcb_record_get_context
1028 **
1029 ** @param xcb_connection_t     *c
1030 ** @param xcb_record_context_t  context
1031 ** @returns xcb_record_get_context_cookie_t
1032 **
1033 *****************************************************************************/
1034
1035xcb_record_get_context_cookie_t
1036xcb_record_get_context (xcb_connection_t     *c  /**< */,
1037                        xcb_record_context_t  context  /**< */);
1038
1039/**
1040 * Delivers a request to the X server
1041 * @param c The connection
1042 * @return A cookie
1043 *
1044 * Delivers a request to the X server.
1045 *
1046 * This form can be used only if the request will cause
1047 * a reply to be generated. Any returned error will be
1048 * placed in the event queue.
1049 */
1050
1051/*****************************************************************************
1052 **
1053 ** xcb_record_get_context_cookie_t xcb_record_get_context_unchecked
1054 **
1055 ** @param xcb_connection_t     *c
1056 ** @param xcb_record_context_t  context
1057 ** @returns xcb_record_get_context_cookie_t
1058 **
1059 *****************************************************************************/
1060
1061xcb_record_get_context_cookie_t
1062xcb_record_get_context_unchecked (xcb_connection_t     *c  /**< */,
1063                                  xcb_record_context_t  context  /**< */);
1064
1065
1066/*****************************************************************************
1067 **
1068 ** int xcb_record_get_context_intercepted_clients_length
1069 **
1070 ** @param const xcb_record_get_context_reply_t *R
1071 ** @returns int
1072 **
1073 *****************************************************************************/
1074
1075int
1076xcb_record_get_context_intercepted_clients_length (const xcb_record_get_context_reply_t *R  /**< */);
1077
1078
1079/*****************************************************************************
1080 **
1081 ** xcb_record_client_info_iterator_t xcb_record_get_context_intercepted_clients_iterator
1082 **
1083 ** @param const xcb_record_get_context_reply_t *R
1084 ** @returns xcb_record_client_info_iterator_t
1085 **
1086 *****************************************************************************/
1087
1088xcb_record_client_info_iterator_t
1089xcb_record_get_context_intercepted_clients_iterator (const xcb_record_get_context_reply_t *R  /**< */);
1090
1091/**
1092 * Return the reply
1093 * @param c      The connection
1094 * @param cookie The cookie
1095 * @param e      The xcb_generic_error_t supplied
1096 *
1097 * Returns the reply of the request asked by
1098 *
1099 * The parameter @p e supplied to this function must be NULL if
1100 * xcb_record_get_context_unchecked(). is used.
1101 * Otherwise, it stores the error if any.
1102 *
1103 * The returned value must be freed by the caller using free().
1104 */
1105
1106/*****************************************************************************
1107 **
1108 ** xcb_record_get_context_reply_t * xcb_record_get_context_reply
1109 **
1110 ** @param xcb_connection_t                 *c
1111 ** @param xcb_record_get_context_cookie_t   cookie
1112 ** @param xcb_generic_error_t             **e
1113 ** @returns xcb_record_get_context_reply_t *
1114 **
1115 *****************************************************************************/
1116
1117xcb_record_get_context_reply_t *
1118xcb_record_get_context_reply (xcb_connection_t                 *c  /**< */,
1119                              xcb_record_get_context_cookie_t   cookie  /**< */,
1120                              xcb_generic_error_t             **e  /**< */);
1121
1122/**
1123 * Delivers a request to the X server
1124 * @param c The connection
1125 * @return A cookie
1126 *
1127 * Delivers a request to the X server.
1128 *
1129 */
1130
1131/*****************************************************************************
1132 **
1133 ** xcb_record_enable_context_cookie_t xcb_record_enable_context
1134 **
1135 ** @param xcb_connection_t     *c
1136 ** @param xcb_record_context_t  context
1137 ** @returns xcb_record_enable_context_cookie_t
1138 **
1139 *****************************************************************************/
1140
1141xcb_record_enable_context_cookie_t
1142xcb_record_enable_context (xcb_connection_t     *c  /**< */,
1143                           xcb_record_context_t  context  /**< */);
1144
1145/**
1146 * Delivers a request to the X server
1147 * @param c The connection
1148 * @return A cookie
1149 *
1150 * Delivers a request to the X server.
1151 *
1152 * This form can be used only if the request will cause
1153 * a reply to be generated. Any returned error will be
1154 * placed in the event queue.
1155 */
1156
1157/*****************************************************************************
1158 **
1159 ** xcb_record_enable_context_cookie_t xcb_record_enable_context_unchecked
1160 **
1161 ** @param xcb_connection_t     *c
1162 ** @param xcb_record_context_t  context
1163 ** @returns xcb_record_enable_context_cookie_t
1164 **
1165 *****************************************************************************/
1166
1167xcb_record_enable_context_cookie_t
1168xcb_record_enable_context_unchecked (xcb_connection_t     *c  /**< */,
1169                                     xcb_record_context_t  context  /**< */);
1170
1171
1172/*****************************************************************************
1173 **
1174 ** uint8_t * xcb_record_enable_context_data
1175 **
1176 ** @param const xcb_record_enable_context_reply_t *R
1177 ** @returns uint8_t *
1178 **
1179 *****************************************************************************/
1180
1181uint8_t *
1182xcb_record_enable_context_data (const xcb_record_enable_context_reply_t *R  /**< */);
1183
1184
1185/*****************************************************************************
1186 **
1187 ** int xcb_record_enable_context_data_length
1188 **
1189 ** @param const xcb_record_enable_context_reply_t *R
1190 ** @returns int
1191 **
1192 *****************************************************************************/
1193
1194int
1195xcb_record_enable_context_data_length (const xcb_record_enable_context_reply_t *R  /**< */);
1196
1197
1198/*****************************************************************************
1199 **
1200 ** xcb_generic_iterator_t xcb_record_enable_context_data_end
1201 **
1202 ** @param const xcb_record_enable_context_reply_t *R
1203 ** @returns xcb_generic_iterator_t
1204 **
1205 *****************************************************************************/
1206
1207xcb_generic_iterator_t
1208xcb_record_enable_context_data_end (const xcb_record_enable_context_reply_t *R  /**< */);
1209
1210/**
1211 * Return the reply
1212 * @param c      The connection
1213 * @param cookie The cookie
1214 * @param e      The xcb_generic_error_t supplied
1215 *
1216 * Returns the reply of the request asked by
1217 *
1218 * The parameter @p e supplied to this function must be NULL if
1219 * xcb_record_enable_context_unchecked(). is used.
1220 * Otherwise, it stores the error if any.
1221 *
1222 * The returned value must be freed by the caller using free().
1223 */
1224
1225/*****************************************************************************
1226 **
1227 ** xcb_record_enable_context_reply_t * xcb_record_enable_context_reply
1228 **
1229 ** @param xcb_connection_t                    *c
1230 ** @param xcb_record_enable_context_cookie_t   cookie
1231 ** @param xcb_generic_error_t                **e
1232 ** @returns xcb_record_enable_context_reply_t *
1233 **
1234 *****************************************************************************/
1235
1236xcb_record_enable_context_reply_t *
1237xcb_record_enable_context_reply (xcb_connection_t                    *c  /**< */,
1238                                 xcb_record_enable_context_cookie_t   cookie  /**< */,
1239                                 xcb_generic_error_t                **e  /**< */);
1240
1241/**
1242 * Delivers a request to the X server
1243 * @param c The connection
1244 * @return A cookie
1245 *
1246 * Delivers a request to the X server.
1247 *
1248 * This form can be used only if the request will not cause
1249 * a reply to be generated. Any returned error will be
1250 * saved for handling by xcb_request_check().
1251 */
1252
1253/*****************************************************************************
1254 **
1255 ** xcb_void_cookie_t xcb_record_disable_context_checked
1256 **
1257 ** @param xcb_connection_t     *c
1258 ** @param xcb_record_context_t  context
1259 ** @returns xcb_void_cookie_t
1260 **
1261 *****************************************************************************/
1262
1263xcb_void_cookie_t
1264xcb_record_disable_context_checked (xcb_connection_t     *c  /**< */,
1265                                    xcb_record_context_t  context  /**< */);
1266
1267/**
1268 * Delivers a request to the X server
1269 * @param c The connection
1270 * @return A cookie
1271 *
1272 * Delivers a request to the X server.
1273 *
1274 */
1275
1276/*****************************************************************************
1277 **
1278 ** xcb_void_cookie_t xcb_record_disable_context
1279 **
1280 ** @param xcb_connection_t     *c
1281 ** @param xcb_record_context_t  context
1282 ** @returns xcb_void_cookie_t
1283 **
1284 *****************************************************************************/
1285
1286xcb_void_cookie_t
1287xcb_record_disable_context (xcb_connection_t     *c  /**< */,
1288                            xcb_record_context_t  context  /**< */);
1289
1290/**
1291 * Delivers a request to the X server
1292 * @param c The connection
1293 * @return A cookie
1294 *
1295 * Delivers a request to the X server.
1296 *
1297 * This form can be used only if the request will not cause
1298 * a reply to be generated. Any returned error will be
1299 * saved for handling by xcb_request_check().
1300 */
1301
1302/*****************************************************************************
1303 **
1304 ** xcb_void_cookie_t xcb_record_free_context_checked
1305 **
1306 ** @param xcb_connection_t     *c
1307 ** @param xcb_record_context_t  context
1308 ** @returns xcb_void_cookie_t
1309 **
1310 *****************************************************************************/
1311
1312xcb_void_cookie_t
1313xcb_record_free_context_checked (xcb_connection_t     *c  /**< */,
1314                                 xcb_record_context_t  context  /**< */);
1315
1316/**
1317 * Delivers a request to the X server
1318 * @param c The connection
1319 * @return A cookie
1320 *
1321 * Delivers a request to the X server.
1322 *
1323 */
1324
1325/*****************************************************************************
1326 **
1327 ** xcb_void_cookie_t xcb_record_free_context
1328 **
1329 ** @param xcb_connection_t     *c
1330 ** @param xcb_record_context_t  context
1331 ** @returns xcb_void_cookie_t
1332 **
1333 *****************************************************************************/
1334
1335xcb_void_cookie_t
1336xcb_record_free_context (xcb_connection_t     *c  /**< */,
1337                         xcb_record_context_t  context  /**< */);
1338
1339
1340#ifdef __cplusplus
1341}
1342#endif
1343
1344#endif
1345
1346/**
1347 * @}
1348 */
1349