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