xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/dri2.h (revision b7b7574d3bf8eeb51a1fa3977b59142ec6434a55)
1 /*
2  * This file generated automatically from dri2.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB_DRI2_API XCB DRI2 API
8  * @brief DRI2 XCB Protocol Implementation.
9  * @{
10  **/
11 
12 #ifndef __DRI2_H
13 #define __DRI2_H
14 
15 #include "xcb.h"
16 #include "xproto.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #define XCB_DRI2_MAJOR_VERSION 1
23 #define XCB_DRI2_MINOR_VERSION 4
24 
25 extern xcb_extension_t xcb_dri2_id;
26 
27 typedef enum xcb_dri2_attachment_t {
28     XCB_DRI2_ATTACHMENT_BUFFER_FRONT_LEFT = 0,
29     XCB_DRI2_ATTACHMENT_BUFFER_BACK_LEFT = 1,
30     XCB_DRI2_ATTACHMENT_BUFFER_FRONT_RIGHT = 2,
31     XCB_DRI2_ATTACHMENT_BUFFER_BACK_RIGHT = 3,
32     XCB_DRI2_ATTACHMENT_BUFFER_DEPTH = 4,
33     XCB_DRI2_ATTACHMENT_BUFFER_STENCIL = 5,
34     XCB_DRI2_ATTACHMENT_BUFFER_ACCUM = 6,
35     XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_LEFT = 7,
36     XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_RIGHT = 8,
37     XCB_DRI2_ATTACHMENT_BUFFER_DEPTH_STENCIL = 9,
38     XCB_DRI2_ATTACHMENT_BUFFER_HIZ = 10
39 } xcb_dri2_attachment_t;
40 
41 typedef enum xcb_dri2_driver_type_t {
42     XCB_DRI2_DRIVER_TYPE_DRI = 0,
43     XCB_DRI2_DRIVER_TYPE_VDPAU = 1
44 } xcb_dri2_driver_type_t;
45 
46 typedef enum xcb_dri2_event_type_t {
47     XCB_DRI2_EVENT_TYPE_EXCHANGE_COMPLETE = 1,
48     XCB_DRI2_EVENT_TYPE_BLIT_COMPLETE = 2,
49     XCB_DRI2_EVENT_TYPE_FLIP_COMPLETE = 3
50 } xcb_dri2_event_type_t;
51 
52 /**
53  * @brief xcb_dri2_dri2_buffer_t
54  **/
55 typedef struct xcb_dri2_dri2_buffer_t {
56     uint32_t attachment; /**<  */
57     uint32_t name; /**<  */
58     uint32_t pitch; /**<  */
59     uint32_t cpp; /**<  */
60     uint32_t flags; /**<  */
61 } xcb_dri2_dri2_buffer_t;
62 
63 /**
64  * @brief xcb_dri2_dri2_buffer_iterator_t
65  **/
66 typedef struct xcb_dri2_dri2_buffer_iterator_t {
67     xcb_dri2_dri2_buffer_t *data; /**<  */
68     int                     rem; /**<  */
69     int                     index; /**<  */
70 } xcb_dri2_dri2_buffer_iterator_t;
71 
72 /**
73  * @brief xcb_dri2_attach_format_t
74  **/
75 typedef struct xcb_dri2_attach_format_t {
76     uint32_t attachment; /**<  */
77     uint32_t format; /**<  */
78 } xcb_dri2_attach_format_t;
79 
80 /**
81  * @brief xcb_dri2_attach_format_iterator_t
82  **/
83 typedef struct xcb_dri2_attach_format_iterator_t {
84     xcb_dri2_attach_format_t *data; /**<  */
85     int                       rem; /**<  */
86     int                       index; /**<  */
87 } xcb_dri2_attach_format_iterator_t;
88 
89 /**
90  * @brief xcb_dri2_query_version_cookie_t
91  **/
92 typedef struct xcb_dri2_query_version_cookie_t {
93     unsigned int sequence; /**<  */
94 } xcb_dri2_query_version_cookie_t;
95 
96 /** Opcode for xcb_dri2_query_version. */
97 #define XCB_DRI2_QUERY_VERSION 0
98 
99 /**
100  * @brief xcb_dri2_query_version_request_t
101  **/
102 typedef struct xcb_dri2_query_version_request_t {
103     uint8_t  major_opcode; /**<  */
104     uint8_t  minor_opcode; /**<  */
105     uint16_t length; /**<  */
106     uint32_t major_version; /**<  */
107     uint32_t minor_version; /**<  */
108 } xcb_dri2_query_version_request_t;
109 
110 /**
111  * @brief xcb_dri2_query_version_reply_t
112  **/
113 typedef struct xcb_dri2_query_version_reply_t {
114     uint8_t  response_type; /**<  */
115     uint8_t  pad0; /**<  */
116     uint16_t sequence; /**<  */
117     uint32_t length; /**<  */
118     uint32_t major_version; /**<  */
119     uint32_t minor_version; /**<  */
120 } xcb_dri2_query_version_reply_t;
121 
122 /**
123  * @brief xcb_dri2_connect_cookie_t
124  **/
125 typedef struct xcb_dri2_connect_cookie_t {
126     unsigned int sequence; /**<  */
127 } xcb_dri2_connect_cookie_t;
128 
129 /** Opcode for xcb_dri2_connect. */
130 #define XCB_DRI2_CONNECT 1
131 
132 /**
133  * @brief xcb_dri2_connect_request_t
134  **/
135 typedef struct xcb_dri2_connect_request_t {
136     uint8_t      major_opcode; /**<  */
137     uint8_t      minor_opcode; /**<  */
138     uint16_t     length; /**<  */
139     xcb_window_t window; /**<  */
140     uint32_t     driver_type; /**<  */
141 } xcb_dri2_connect_request_t;
142 
143 /**
144  * @brief xcb_dri2_connect_reply_t
145  **/
146 typedef struct xcb_dri2_connect_reply_t {
147     uint8_t  response_type; /**<  */
148     uint8_t  pad0; /**<  */
149     uint16_t sequence; /**<  */
150     uint32_t length; /**<  */
151     uint32_t driver_name_length; /**<  */
152     uint32_t device_name_length; /**<  */
153     uint8_t  pad1[16]; /**<  */
154 } xcb_dri2_connect_reply_t;
155 
156 /**
157  * @brief xcb_dri2_authenticate_cookie_t
158  **/
159 typedef struct xcb_dri2_authenticate_cookie_t {
160     unsigned int sequence; /**<  */
161 } xcb_dri2_authenticate_cookie_t;
162 
163 /** Opcode for xcb_dri2_authenticate. */
164 #define XCB_DRI2_AUTHENTICATE 2
165 
166 /**
167  * @brief xcb_dri2_authenticate_request_t
168  **/
169 typedef struct xcb_dri2_authenticate_request_t {
170     uint8_t      major_opcode; /**<  */
171     uint8_t      minor_opcode; /**<  */
172     uint16_t     length; /**<  */
173     xcb_window_t window; /**<  */
174     uint32_t     magic; /**<  */
175 } xcb_dri2_authenticate_request_t;
176 
177 /**
178  * @brief xcb_dri2_authenticate_reply_t
179  **/
180 typedef struct xcb_dri2_authenticate_reply_t {
181     uint8_t  response_type; /**<  */
182     uint8_t  pad0; /**<  */
183     uint16_t sequence; /**<  */
184     uint32_t length; /**<  */
185     uint32_t authenticated; /**<  */
186 } xcb_dri2_authenticate_reply_t;
187 
188 /** Opcode for xcb_dri2_create_drawable. */
189 #define XCB_DRI2_CREATE_DRAWABLE 3
190 
191 /**
192  * @brief xcb_dri2_create_drawable_request_t
193  **/
194 typedef struct xcb_dri2_create_drawable_request_t {
195     uint8_t        major_opcode; /**<  */
196     uint8_t        minor_opcode; /**<  */
197     uint16_t       length; /**<  */
198     xcb_drawable_t drawable; /**<  */
199 } xcb_dri2_create_drawable_request_t;
200 
201 /** Opcode for xcb_dri2_destroy_drawable. */
202 #define XCB_DRI2_DESTROY_DRAWABLE 4
203 
204 /**
205  * @brief xcb_dri2_destroy_drawable_request_t
206  **/
207 typedef struct xcb_dri2_destroy_drawable_request_t {
208     uint8_t        major_opcode; /**<  */
209     uint8_t        minor_opcode; /**<  */
210     uint16_t       length; /**<  */
211     xcb_drawable_t drawable; /**<  */
212 } xcb_dri2_destroy_drawable_request_t;
213 
214 /**
215  * @brief xcb_dri2_get_buffers_cookie_t
216  **/
217 typedef struct xcb_dri2_get_buffers_cookie_t {
218     unsigned int sequence; /**<  */
219 } xcb_dri2_get_buffers_cookie_t;
220 
221 /** Opcode for xcb_dri2_get_buffers. */
222 #define XCB_DRI2_GET_BUFFERS 5
223 
224 /**
225  * @brief xcb_dri2_get_buffers_request_t
226  **/
227 typedef struct xcb_dri2_get_buffers_request_t {
228     uint8_t        major_opcode; /**<  */
229     uint8_t        minor_opcode; /**<  */
230     uint16_t       length; /**<  */
231     xcb_drawable_t drawable; /**<  */
232     uint32_t       count; /**<  */
233 } xcb_dri2_get_buffers_request_t;
234 
235 /**
236  * @brief xcb_dri2_get_buffers_reply_t
237  **/
238 typedef struct xcb_dri2_get_buffers_reply_t {
239     uint8_t  response_type; /**<  */
240     uint8_t  pad0; /**<  */
241     uint16_t sequence; /**<  */
242     uint32_t length; /**<  */
243     uint32_t width; /**<  */
244     uint32_t height; /**<  */
245     uint32_t count; /**<  */
246     uint8_t  pad1[12]; /**<  */
247 } xcb_dri2_get_buffers_reply_t;
248 
249 /**
250  * @brief xcb_dri2_copy_region_cookie_t
251  **/
252 typedef struct xcb_dri2_copy_region_cookie_t {
253     unsigned int sequence; /**<  */
254 } xcb_dri2_copy_region_cookie_t;
255 
256 /** Opcode for xcb_dri2_copy_region. */
257 #define XCB_DRI2_COPY_REGION 6
258 
259 /**
260  * @brief xcb_dri2_copy_region_request_t
261  **/
262 typedef struct xcb_dri2_copy_region_request_t {
263     uint8_t        major_opcode; /**<  */
264     uint8_t        minor_opcode; /**<  */
265     uint16_t       length; /**<  */
266     xcb_drawable_t drawable; /**<  */
267     uint32_t       region; /**<  */
268     uint32_t       dest; /**<  */
269     uint32_t       src; /**<  */
270 } xcb_dri2_copy_region_request_t;
271 
272 /**
273  * @brief xcb_dri2_copy_region_reply_t
274  **/
275 typedef struct xcb_dri2_copy_region_reply_t {
276     uint8_t  response_type; /**<  */
277     uint8_t  pad0; /**<  */
278     uint16_t sequence; /**<  */
279     uint32_t length; /**<  */
280 } xcb_dri2_copy_region_reply_t;
281 
282 /**
283  * @brief xcb_dri2_get_buffers_with_format_cookie_t
284  **/
285 typedef struct xcb_dri2_get_buffers_with_format_cookie_t {
286     unsigned int sequence; /**<  */
287 } xcb_dri2_get_buffers_with_format_cookie_t;
288 
289 /** Opcode for xcb_dri2_get_buffers_with_format. */
290 #define XCB_DRI2_GET_BUFFERS_WITH_FORMAT 7
291 
292 /**
293  * @brief xcb_dri2_get_buffers_with_format_request_t
294  **/
295 typedef struct xcb_dri2_get_buffers_with_format_request_t {
296     uint8_t        major_opcode; /**<  */
297     uint8_t        minor_opcode; /**<  */
298     uint16_t       length; /**<  */
299     xcb_drawable_t drawable; /**<  */
300     uint32_t       count; /**<  */
301 } xcb_dri2_get_buffers_with_format_request_t;
302 
303 /**
304  * @brief xcb_dri2_get_buffers_with_format_reply_t
305  **/
306 typedef struct xcb_dri2_get_buffers_with_format_reply_t {
307     uint8_t  response_type; /**<  */
308     uint8_t  pad0; /**<  */
309     uint16_t sequence; /**<  */
310     uint32_t length; /**<  */
311     uint32_t width; /**<  */
312     uint32_t height; /**<  */
313     uint32_t count; /**<  */
314     uint8_t  pad1[12]; /**<  */
315 } xcb_dri2_get_buffers_with_format_reply_t;
316 
317 /**
318  * @brief xcb_dri2_swap_buffers_cookie_t
319  **/
320 typedef struct xcb_dri2_swap_buffers_cookie_t {
321     unsigned int sequence; /**<  */
322 } xcb_dri2_swap_buffers_cookie_t;
323 
324 /** Opcode for xcb_dri2_swap_buffers. */
325 #define XCB_DRI2_SWAP_BUFFERS 8
326 
327 /**
328  * @brief xcb_dri2_swap_buffers_request_t
329  **/
330 typedef struct xcb_dri2_swap_buffers_request_t {
331     uint8_t        major_opcode; /**<  */
332     uint8_t        minor_opcode; /**<  */
333     uint16_t       length; /**<  */
334     xcb_drawable_t drawable; /**<  */
335     uint32_t       target_msc_hi; /**<  */
336     uint32_t       target_msc_lo; /**<  */
337     uint32_t       divisor_hi; /**<  */
338     uint32_t       divisor_lo; /**<  */
339     uint32_t       remainder_hi; /**<  */
340     uint32_t       remainder_lo; /**<  */
341 } xcb_dri2_swap_buffers_request_t;
342 
343 /**
344  * @brief xcb_dri2_swap_buffers_reply_t
345  **/
346 typedef struct xcb_dri2_swap_buffers_reply_t {
347     uint8_t  response_type; /**<  */
348     uint8_t  pad0; /**<  */
349     uint16_t sequence; /**<  */
350     uint32_t length; /**<  */
351     uint32_t swap_hi; /**<  */
352     uint32_t swap_lo; /**<  */
353 } xcb_dri2_swap_buffers_reply_t;
354 
355 /**
356  * @brief xcb_dri2_get_msc_cookie_t
357  **/
358 typedef struct xcb_dri2_get_msc_cookie_t {
359     unsigned int sequence; /**<  */
360 } xcb_dri2_get_msc_cookie_t;
361 
362 /** Opcode for xcb_dri2_get_msc. */
363 #define XCB_DRI2_GET_MSC 9
364 
365 /**
366  * @brief xcb_dri2_get_msc_request_t
367  **/
368 typedef struct xcb_dri2_get_msc_request_t {
369     uint8_t        major_opcode; /**<  */
370     uint8_t        minor_opcode; /**<  */
371     uint16_t       length; /**<  */
372     xcb_drawable_t drawable; /**<  */
373 } xcb_dri2_get_msc_request_t;
374 
375 /**
376  * @brief xcb_dri2_get_msc_reply_t
377  **/
378 typedef struct xcb_dri2_get_msc_reply_t {
379     uint8_t  response_type; /**<  */
380     uint8_t  pad0; /**<  */
381     uint16_t sequence; /**<  */
382     uint32_t length; /**<  */
383     uint32_t ust_hi; /**<  */
384     uint32_t ust_lo; /**<  */
385     uint32_t msc_hi; /**<  */
386     uint32_t msc_lo; /**<  */
387     uint32_t sbc_hi; /**<  */
388     uint32_t sbc_lo; /**<  */
389 } xcb_dri2_get_msc_reply_t;
390 
391 /**
392  * @brief xcb_dri2_wait_msc_cookie_t
393  **/
394 typedef struct xcb_dri2_wait_msc_cookie_t {
395     unsigned int sequence; /**<  */
396 } xcb_dri2_wait_msc_cookie_t;
397 
398 /** Opcode for xcb_dri2_wait_msc. */
399 #define XCB_DRI2_WAIT_MSC 10
400 
401 /**
402  * @brief xcb_dri2_wait_msc_request_t
403  **/
404 typedef struct xcb_dri2_wait_msc_request_t {
405     uint8_t        major_opcode; /**<  */
406     uint8_t        minor_opcode; /**<  */
407     uint16_t       length; /**<  */
408     xcb_drawable_t drawable; /**<  */
409     uint32_t       target_msc_hi; /**<  */
410     uint32_t       target_msc_lo; /**<  */
411     uint32_t       divisor_hi; /**<  */
412     uint32_t       divisor_lo; /**<  */
413     uint32_t       remainder_hi; /**<  */
414     uint32_t       remainder_lo; /**<  */
415 } xcb_dri2_wait_msc_request_t;
416 
417 /**
418  * @brief xcb_dri2_wait_msc_reply_t
419  **/
420 typedef struct xcb_dri2_wait_msc_reply_t {
421     uint8_t  response_type; /**<  */
422     uint8_t  pad0; /**<  */
423     uint16_t sequence; /**<  */
424     uint32_t length; /**<  */
425     uint32_t ust_hi; /**<  */
426     uint32_t ust_lo; /**<  */
427     uint32_t msc_hi; /**<  */
428     uint32_t msc_lo; /**<  */
429     uint32_t sbc_hi; /**<  */
430     uint32_t sbc_lo; /**<  */
431 } xcb_dri2_wait_msc_reply_t;
432 
433 /**
434  * @brief xcb_dri2_wait_sbc_cookie_t
435  **/
436 typedef struct xcb_dri2_wait_sbc_cookie_t {
437     unsigned int sequence; /**<  */
438 } xcb_dri2_wait_sbc_cookie_t;
439 
440 /** Opcode for xcb_dri2_wait_sbc. */
441 #define XCB_DRI2_WAIT_SBC 11
442 
443 /**
444  * @brief xcb_dri2_wait_sbc_request_t
445  **/
446 typedef struct xcb_dri2_wait_sbc_request_t {
447     uint8_t        major_opcode; /**<  */
448     uint8_t        minor_opcode; /**<  */
449     uint16_t       length; /**<  */
450     xcb_drawable_t drawable; /**<  */
451     uint32_t       target_sbc_hi; /**<  */
452     uint32_t       target_sbc_lo; /**<  */
453 } xcb_dri2_wait_sbc_request_t;
454 
455 /**
456  * @brief xcb_dri2_wait_sbc_reply_t
457  **/
458 typedef struct xcb_dri2_wait_sbc_reply_t {
459     uint8_t  response_type; /**<  */
460     uint8_t  pad0; /**<  */
461     uint16_t sequence; /**<  */
462     uint32_t length; /**<  */
463     uint32_t ust_hi; /**<  */
464     uint32_t ust_lo; /**<  */
465     uint32_t msc_hi; /**<  */
466     uint32_t msc_lo; /**<  */
467     uint32_t sbc_hi; /**<  */
468     uint32_t sbc_lo; /**<  */
469 } xcb_dri2_wait_sbc_reply_t;
470 
471 /** Opcode for xcb_dri2_swap_interval. */
472 #define XCB_DRI2_SWAP_INTERVAL 12
473 
474 /**
475  * @brief xcb_dri2_swap_interval_request_t
476  **/
477 typedef struct xcb_dri2_swap_interval_request_t {
478     uint8_t        major_opcode; /**<  */
479     uint8_t        minor_opcode; /**<  */
480     uint16_t       length; /**<  */
481     xcb_drawable_t drawable; /**<  */
482     uint32_t       interval; /**<  */
483 } xcb_dri2_swap_interval_request_t;
484 
485 /**
486  * @brief xcb_dri2_get_param_cookie_t
487  **/
488 typedef struct xcb_dri2_get_param_cookie_t {
489     unsigned int sequence; /**<  */
490 } xcb_dri2_get_param_cookie_t;
491 
492 /** Opcode for xcb_dri2_get_param. */
493 #define XCB_DRI2_GET_PARAM 13
494 
495 /**
496  * @brief xcb_dri2_get_param_request_t
497  **/
498 typedef struct xcb_dri2_get_param_request_t {
499     uint8_t        major_opcode; /**<  */
500     uint8_t        minor_opcode; /**<  */
501     uint16_t       length; /**<  */
502     xcb_drawable_t drawable; /**<  */
503     uint32_t       param; /**<  */
504 } xcb_dri2_get_param_request_t;
505 
506 /**
507  * @brief xcb_dri2_get_param_reply_t
508  **/
509 typedef struct xcb_dri2_get_param_reply_t {
510     uint8_t  response_type; /**<  */
511     uint8_t  is_param_recognized; /**<  */
512     uint16_t sequence; /**<  */
513     uint32_t length; /**<  */
514     uint32_t value_hi; /**<  */
515     uint32_t value_lo; /**<  */
516 } xcb_dri2_get_param_reply_t;
517 
518 /** Opcode for xcb_dri2_buffer_swap_complete. */
519 #define XCB_DRI2_BUFFER_SWAP_COMPLETE 0
520 
521 /**
522  * @brief xcb_dri2_buffer_swap_complete_event_t
523  **/
524 typedef struct xcb_dri2_buffer_swap_complete_event_t {
525     uint8_t        response_type; /**<  */
526     uint8_t        pad0; /**<  */
527     uint16_t       sequence; /**<  */
528     uint16_t       event_type; /**<  */
529     uint8_t        pad1[2]; /**<  */
530     xcb_drawable_t drawable; /**<  */
531     uint32_t       ust_hi; /**<  */
532     uint32_t       ust_lo; /**<  */
533     uint32_t       msc_hi; /**<  */
534     uint32_t       msc_lo; /**<  */
535     uint32_t       sbc; /**<  */
536 } xcb_dri2_buffer_swap_complete_event_t;
537 
538 /** Opcode for xcb_dri2_invalidate_buffers. */
539 #define XCB_DRI2_INVALIDATE_BUFFERS 1
540 
541 /**
542  * @brief xcb_dri2_invalidate_buffers_event_t
543  **/
544 typedef struct xcb_dri2_invalidate_buffers_event_t {
545     uint8_t        response_type; /**<  */
546     uint8_t        pad0; /**<  */
547     uint16_t       sequence; /**<  */
548     xcb_drawable_t drawable; /**<  */
549 } xcb_dri2_invalidate_buffers_event_t;
550 
551 /**
552  * Get the next element of the iterator
553  * @param i Pointer to a xcb_dri2_dri2_buffer_iterator_t
554  *
555  * Get the next element in the iterator. The member rem is
556  * decreased by one. The member data points to the next
557  * element. The member index is increased by sizeof(xcb_dri2_dri2_buffer_t)
558  */
559 
560 /*****************************************************************************
561  **
562  ** void xcb_dri2_dri2_buffer_next
563  **
564  ** @param xcb_dri2_dri2_buffer_iterator_t *i
565  ** @returns void
566  **
567  *****************************************************************************/
568 
569 void
570 xcb_dri2_dri2_buffer_next (xcb_dri2_dri2_buffer_iterator_t *i  /**< */);
571 
572 /**
573  * Return the iterator pointing to the last element
574  * @param i An xcb_dri2_dri2_buffer_iterator_t
575  * @return  The iterator pointing to the last element
576  *
577  * Set the current element in the iterator to the last element.
578  * The member rem is set to 0. The member data points to the
579  * last element.
580  */
581 
582 /*****************************************************************************
583  **
584  ** xcb_generic_iterator_t xcb_dri2_dri2_buffer_end
585  **
586  ** @param xcb_dri2_dri2_buffer_iterator_t i
587  ** @returns xcb_generic_iterator_t
588  **
589  *****************************************************************************/
590 
591 xcb_generic_iterator_t
592 xcb_dri2_dri2_buffer_end (xcb_dri2_dri2_buffer_iterator_t i  /**< */);
593 
594 /**
595  * Get the next element of the iterator
596  * @param i Pointer to a xcb_dri2_attach_format_iterator_t
597  *
598  * Get the next element in the iterator. The member rem is
599  * decreased by one. The member data points to the next
600  * element. The member index is increased by sizeof(xcb_dri2_attach_format_t)
601  */
602 
603 /*****************************************************************************
604  **
605  ** void xcb_dri2_attach_format_next
606  **
607  ** @param xcb_dri2_attach_format_iterator_t *i
608  ** @returns void
609  **
610  *****************************************************************************/
611 
612 void
613 xcb_dri2_attach_format_next (xcb_dri2_attach_format_iterator_t *i  /**< */);
614 
615 /**
616  * Return the iterator pointing to the last element
617  * @param i An xcb_dri2_attach_format_iterator_t
618  * @return  The iterator pointing to the last element
619  *
620  * Set the current element in the iterator to the last element.
621  * The member rem is set to 0. The member data points to the
622  * last element.
623  */
624 
625 /*****************************************************************************
626  **
627  ** xcb_generic_iterator_t xcb_dri2_attach_format_end
628  **
629  ** @param xcb_dri2_attach_format_iterator_t i
630  ** @returns xcb_generic_iterator_t
631  **
632  *****************************************************************************/
633 
634 xcb_generic_iterator_t
635 xcb_dri2_attach_format_end (xcb_dri2_attach_format_iterator_t i  /**< */);
636 
637 /**
638  *
639  * @param c The connection
640  * @return A cookie
641  *
642  * Delivers a request to the X server.
643  *
644  */
645 
646 /*****************************************************************************
647  **
648  ** xcb_dri2_query_version_cookie_t xcb_dri2_query_version
649  **
650  ** @param xcb_connection_t *c
651  ** @param uint32_t          major_version
652  ** @param uint32_t          minor_version
653  ** @returns xcb_dri2_query_version_cookie_t
654  **
655  *****************************************************************************/
656 
657 xcb_dri2_query_version_cookie_t
658 xcb_dri2_query_version (xcb_connection_t *c  /**< */,
659                         uint32_t          major_version  /**< */,
660                         uint32_t          minor_version  /**< */);
661 
662 /**
663  *
664  * @param c The connection
665  * @return A cookie
666  *
667  * Delivers a request to the X server.
668  *
669  * This form can be used only if the request will cause
670  * a reply to be generated. Any returned error will be
671  * placed in the event queue.
672  */
673 
674 /*****************************************************************************
675  **
676  ** xcb_dri2_query_version_cookie_t xcb_dri2_query_version_unchecked
677  **
678  ** @param xcb_connection_t *c
679  ** @param uint32_t          major_version
680  ** @param uint32_t          minor_version
681  ** @returns xcb_dri2_query_version_cookie_t
682  **
683  *****************************************************************************/
684 
685 xcb_dri2_query_version_cookie_t
686 xcb_dri2_query_version_unchecked (xcb_connection_t *c  /**< */,
687                                   uint32_t          major_version  /**< */,
688                                   uint32_t          minor_version  /**< */);
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_dri2_query_version_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 
705 /*****************************************************************************
706  **
707  ** xcb_dri2_query_version_reply_t * xcb_dri2_query_version_reply
708  **
709  ** @param xcb_connection_t                 *c
710  ** @param xcb_dri2_query_version_cookie_t   cookie
711  ** @param xcb_generic_error_t             **e
712  ** @returns xcb_dri2_query_version_reply_t *
713  **
714  *****************************************************************************/
715 
716 xcb_dri2_query_version_reply_t *
717 xcb_dri2_query_version_reply (xcb_connection_t                 *c  /**< */,
718                               xcb_dri2_query_version_cookie_t   cookie  /**< */,
719                               xcb_generic_error_t             **e  /**< */);
720 
721 int
722 xcb_dri2_connect_sizeof (const void  *_buffer  /**< */);
723 
724 /**
725  *
726  * @param c The connection
727  * @return A cookie
728  *
729  * Delivers a request to the X server.
730  *
731  */
732 
733 /*****************************************************************************
734  **
735  ** xcb_dri2_connect_cookie_t xcb_dri2_connect
736  **
737  ** @param xcb_connection_t *c
738  ** @param xcb_window_t      window
739  ** @param uint32_t          driver_type
740  ** @returns xcb_dri2_connect_cookie_t
741  **
742  *****************************************************************************/
743 
744 xcb_dri2_connect_cookie_t
745 xcb_dri2_connect (xcb_connection_t *c  /**< */,
746                   xcb_window_t      window  /**< */,
747                   uint32_t          driver_type  /**< */);
748 
749 /**
750  *
751  * @param c The connection
752  * @return A cookie
753  *
754  * Delivers a request to the X server.
755  *
756  * This form can be used only if the request will cause
757  * a reply to be generated. Any returned error will be
758  * placed in the event queue.
759  */
760 
761 /*****************************************************************************
762  **
763  ** xcb_dri2_connect_cookie_t xcb_dri2_connect_unchecked
764  **
765  ** @param xcb_connection_t *c
766  ** @param xcb_window_t      window
767  ** @param uint32_t          driver_type
768  ** @returns xcb_dri2_connect_cookie_t
769  **
770  *****************************************************************************/
771 
772 xcb_dri2_connect_cookie_t
773 xcb_dri2_connect_unchecked (xcb_connection_t *c  /**< */,
774                             xcb_window_t      window  /**< */,
775                             uint32_t          driver_type  /**< */);
776 
777 
778 /*****************************************************************************
779  **
780  ** char * xcb_dri2_connect_driver_name
781  **
782  ** @param const xcb_dri2_connect_reply_t *R
783  ** @returns char *
784  **
785  *****************************************************************************/
786 
787 char *
788 xcb_dri2_connect_driver_name (const xcb_dri2_connect_reply_t *R  /**< */);
789 
790 
791 /*****************************************************************************
792  **
793  ** int xcb_dri2_connect_driver_name_length
794  **
795  ** @param const xcb_dri2_connect_reply_t *R
796  ** @returns int
797  **
798  *****************************************************************************/
799 
800 int
801 xcb_dri2_connect_driver_name_length (const xcb_dri2_connect_reply_t *R  /**< */);
802 
803 
804 /*****************************************************************************
805  **
806  ** xcb_generic_iterator_t xcb_dri2_connect_driver_name_end
807  **
808  ** @param const xcb_dri2_connect_reply_t *R
809  ** @returns xcb_generic_iterator_t
810  **
811  *****************************************************************************/
812 
813 xcb_generic_iterator_t
814 xcb_dri2_connect_driver_name_end (const xcb_dri2_connect_reply_t *R  /**< */);
815 
816 
817 /*****************************************************************************
818  **
819  ** void * xcb_dri2_connect_alignment_pad
820  **
821  ** @param const xcb_dri2_connect_reply_t *R
822  ** @returns void *
823  **
824  *****************************************************************************/
825 
826 void *
827 xcb_dri2_connect_alignment_pad (const xcb_dri2_connect_reply_t *R  /**< */);
828 
829 
830 /*****************************************************************************
831  **
832  ** int xcb_dri2_connect_alignment_pad_length
833  **
834  ** @param const xcb_dri2_connect_reply_t *R
835  ** @returns int
836  **
837  *****************************************************************************/
838 
839 int
840 xcb_dri2_connect_alignment_pad_length (const xcb_dri2_connect_reply_t *R  /**< */);
841 
842 
843 /*****************************************************************************
844  **
845  ** xcb_generic_iterator_t xcb_dri2_connect_alignment_pad_end
846  **
847  ** @param const xcb_dri2_connect_reply_t *R
848  ** @returns xcb_generic_iterator_t
849  **
850  *****************************************************************************/
851 
852 xcb_generic_iterator_t
853 xcb_dri2_connect_alignment_pad_end (const xcb_dri2_connect_reply_t *R  /**< */);
854 
855 
856 /*****************************************************************************
857  **
858  ** char * xcb_dri2_connect_device_name
859  **
860  ** @param const xcb_dri2_connect_reply_t *R
861  ** @returns char *
862  **
863  *****************************************************************************/
864 
865 char *
866 xcb_dri2_connect_device_name (const xcb_dri2_connect_reply_t *R  /**< */);
867 
868 
869 /*****************************************************************************
870  **
871  ** int xcb_dri2_connect_device_name_length
872  **
873  ** @param const xcb_dri2_connect_reply_t *R
874  ** @returns int
875  **
876  *****************************************************************************/
877 
878 int
879 xcb_dri2_connect_device_name_length (const xcb_dri2_connect_reply_t *R  /**< */);
880 
881 
882 /*****************************************************************************
883  **
884  ** xcb_generic_iterator_t xcb_dri2_connect_device_name_end
885  **
886  ** @param const xcb_dri2_connect_reply_t *R
887  ** @returns xcb_generic_iterator_t
888  **
889  *****************************************************************************/
890 
891 xcb_generic_iterator_t
892 xcb_dri2_connect_device_name_end (const xcb_dri2_connect_reply_t *R  /**< */);
893 
894 /**
895  * Return the reply
896  * @param c      The connection
897  * @param cookie The cookie
898  * @param e      The xcb_generic_error_t supplied
899  *
900  * Returns the reply of the request asked by
901  *
902  * The parameter @p e supplied to this function must be NULL if
903  * xcb_dri2_connect_unchecked(). is used.
904  * Otherwise, it stores the error if any.
905  *
906  * The returned value must be freed by the caller using free().
907  */
908 
909 /*****************************************************************************
910  **
911  ** xcb_dri2_connect_reply_t * xcb_dri2_connect_reply
912  **
913  ** @param xcb_connection_t           *c
914  ** @param xcb_dri2_connect_cookie_t   cookie
915  ** @param xcb_generic_error_t       **e
916  ** @returns xcb_dri2_connect_reply_t *
917  **
918  *****************************************************************************/
919 
920 xcb_dri2_connect_reply_t *
921 xcb_dri2_connect_reply (xcb_connection_t           *c  /**< */,
922                         xcb_dri2_connect_cookie_t   cookie  /**< */,
923                         xcb_generic_error_t       **e  /**< */);
924 
925 /**
926  *
927  * @param c The connection
928  * @return A cookie
929  *
930  * Delivers a request to the X server.
931  *
932  */
933 
934 /*****************************************************************************
935  **
936  ** xcb_dri2_authenticate_cookie_t xcb_dri2_authenticate
937  **
938  ** @param xcb_connection_t *c
939  ** @param xcb_window_t      window
940  ** @param uint32_t          magic
941  ** @returns xcb_dri2_authenticate_cookie_t
942  **
943  *****************************************************************************/
944 
945 xcb_dri2_authenticate_cookie_t
946 xcb_dri2_authenticate (xcb_connection_t *c  /**< */,
947                        xcb_window_t      window  /**< */,
948                        uint32_t          magic  /**< */);
949 
950 /**
951  *
952  * @param c The connection
953  * @return A cookie
954  *
955  * Delivers a request to the X server.
956  *
957  * This form can be used only if the request will cause
958  * a reply to be generated. Any returned error will be
959  * placed in the event queue.
960  */
961 
962 /*****************************************************************************
963  **
964  ** xcb_dri2_authenticate_cookie_t xcb_dri2_authenticate_unchecked
965  **
966  ** @param xcb_connection_t *c
967  ** @param xcb_window_t      window
968  ** @param uint32_t          magic
969  ** @returns xcb_dri2_authenticate_cookie_t
970  **
971  *****************************************************************************/
972 
973 xcb_dri2_authenticate_cookie_t
974 xcb_dri2_authenticate_unchecked (xcb_connection_t *c  /**< */,
975                                  xcb_window_t      window  /**< */,
976                                  uint32_t          magic  /**< */);
977 
978 /**
979  * Return the reply
980  * @param c      The connection
981  * @param cookie The cookie
982  * @param e      The xcb_generic_error_t supplied
983  *
984  * Returns the reply of the request asked by
985  *
986  * The parameter @p e supplied to this function must be NULL if
987  * xcb_dri2_authenticate_unchecked(). is used.
988  * Otherwise, it stores the error if any.
989  *
990  * The returned value must be freed by the caller using free().
991  */
992 
993 /*****************************************************************************
994  **
995  ** xcb_dri2_authenticate_reply_t * xcb_dri2_authenticate_reply
996  **
997  ** @param xcb_connection_t                *c
998  ** @param xcb_dri2_authenticate_cookie_t   cookie
999  ** @param xcb_generic_error_t            **e
1000  ** @returns xcb_dri2_authenticate_reply_t *
1001  **
1002  *****************************************************************************/
1003 
1004 xcb_dri2_authenticate_reply_t *
1005 xcb_dri2_authenticate_reply (xcb_connection_t                *c  /**< */,
1006                              xcb_dri2_authenticate_cookie_t   cookie  /**< */,
1007                              xcb_generic_error_t            **e  /**< */);
1008 
1009 /**
1010  *
1011  * @param c The connection
1012  * @return A cookie
1013  *
1014  * Delivers a request to the X server.
1015  *
1016  * This form can be used only if the request will not cause
1017  * a reply to be generated. Any returned error will be
1018  * saved for handling by xcb_request_check().
1019  */
1020 
1021 /*****************************************************************************
1022  **
1023  ** xcb_void_cookie_t xcb_dri2_create_drawable_checked
1024  **
1025  ** @param xcb_connection_t *c
1026  ** @param xcb_drawable_t    drawable
1027  ** @returns xcb_void_cookie_t
1028  **
1029  *****************************************************************************/
1030 
1031 xcb_void_cookie_t
1032 xcb_dri2_create_drawable_checked (xcb_connection_t *c  /**< */,
1033                                   xcb_drawable_t    drawable  /**< */);
1034 
1035 /**
1036  *
1037  * @param c The connection
1038  * @return A cookie
1039  *
1040  * Delivers a request to the X server.
1041  *
1042  */
1043 
1044 /*****************************************************************************
1045  **
1046  ** xcb_void_cookie_t xcb_dri2_create_drawable
1047  **
1048  ** @param xcb_connection_t *c
1049  ** @param xcb_drawable_t    drawable
1050  ** @returns xcb_void_cookie_t
1051  **
1052  *****************************************************************************/
1053 
1054 xcb_void_cookie_t
1055 xcb_dri2_create_drawable (xcb_connection_t *c  /**< */,
1056                           xcb_drawable_t    drawable  /**< */);
1057 
1058 /**
1059  *
1060  * @param c The connection
1061  * @return A cookie
1062  *
1063  * Delivers a request to the X server.
1064  *
1065  * This form can be used only if the request will not cause
1066  * a reply to be generated. Any returned error will be
1067  * saved for handling by xcb_request_check().
1068  */
1069 
1070 /*****************************************************************************
1071  **
1072  ** xcb_void_cookie_t xcb_dri2_destroy_drawable_checked
1073  **
1074  ** @param xcb_connection_t *c
1075  ** @param xcb_drawable_t    drawable
1076  ** @returns xcb_void_cookie_t
1077  **
1078  *****************************************************************************/
1079 
1080 xcb_void_cookie_t
1081 xcb_dri2_destroy_drawable_checked (xcb_connection_t *c  /**< */,
1082                                    xcb_drawable_t    drawable  /**< */);
1083 
1084 /**
1085  *
1086  * @param c The connection
1087  * @return A cookie
1088  *
1089  * Delivers a request to the X server.
1090  *
1091  */
1092 
1093 /*****************************************************************************
1094  **
1095  ** xcb_void_cookie_t xcb_dri2_destroy_drawable
1096  **
1097  ** @param xcb_connection_t *c
1098  ** @param xcb_drawable_t    drawable
1099  ** @returns xcb_void_cookie_t
1100  **
1101  *****************************************************************************/
1102 
1103 xcb_void_cookie_t
1104 xcb_dri2_destroy_drawable (xcb_connection_t *c  /**< */,
1105                            xcb_drawable_t    drawable  /**< */);
1106 
1107 int
1108 xcb_dri2_get_buffers_sizeof (const void  *_buffer  /**< */,
1109                              uint32_t     attachments_len  /**< */);
1110 
1111 /**
1112  *
1113  * @param c The connection
1114  * @return A cookie
1115  *
1116  * Delivers a request to the X server.
1117  *
1118  */
1119 
1120 /*****************************************************************************
1121  **
1122  ** xcb_dri2_get_buffers_cookie_t xcb_dri2_get_buffers
1123  **
1124  ** @param xcb_connection_t *c
1125  ** @param xcb_drawable_t    drawable
1126  ** @param uint32_t          count
1127  ** @param uint32_t          attachments_len
1128  ** @param const uint32_t   *attachments
1129  ** @returns xcb_dri2_get_buffers_cookie_t
1130  **
1131  *****************************************************************************/
1132 
1133 xcb_dri2_get_buffers_cookie_t
1134 xcb_dri2_get_buffers (xcb_connection_t *c  /**< */,
1135                       xcb_drawable_t    drawable  /**< */,
1136                       uint32_t          count  /**< */,
1137                       uint32_t          attachments_len  /**< */,
1138                       const uint32_t   *attachments  /**< */);
1139 
1140 /**
1141  *
1142  * @param c The connection
1143  * @return A cookie
1144  *
1145  * Delivers a request to the X server.
1146  *
1147  * This form can be used only if the request will cause
1148  * a reply to be generated. Any returned error will be
1149  * placed in the event queue.
1150  */
1151 
1152 /*****************************************************************************
1153  **
1154  ** xcb_dri2_get_buffers_cookie_t xcb_dri2_get_buffers_unchecked
1155  **
1156  ** @param xcb_connection_t *c
1157  ** @param xcb_drawable_t    drawable
1158  ** @param uint32_t          count
1159  ** @param uint32_t          attachments_len
1160  ** @param const uint32_t   *attachments
1161  ** @returns xcb_dri2_get_buffers_cookie_t
1162  **
1163  *****************************************************************************/
1164 
1165 xcb_dri2_get_buffers_cookie_t
1166 xcb_dri2_get_buffers_unchecked (xcb_connection_t *c  /**< */,
1167                                 xcb_drawable_t    drawable  /**< */,
1168                                 uint32_t          count  /**< */,
1169                                 uint32_t          attachments_len  /**< */,
1170                                 const uint32_t   *attachments  /**< */);
1171 
1172 
1173 /*****************************************************************************
1174  **
1175  ** xcb_dri2_dri2_buffer_t * xcb_dri2_get_buffers_buffers
1176  **
1177  ** @param const xcb_dri2_get_buffers_reply_t *R
1178  ** @returns xcb_dri2_dri2_buffer_t *
1179  **
1180  *****************************************************************************/
1181 
1182 xcb_dri2_dri2_buffer_t *
1183 xcb_dri2_get_buffers_buffers (const xcb_dri2_get_buffers_reply_t *R  /**< */);
1184 
1185 
1186 /*****************************************************************************
1187  **
1188  ** int xcb_dri2_get_buffers_buffers_length
1189  **
1190  ** @param const xcb_dri2_get_buffers_reply_t *R
1191  ** @returns int
1192  **
1193  *****************************************************************************/
1194 
1195 int
1196 xcb_dri2_get_buffers_buffers_length (const xcb_dri2_get_buffers_reply_t *R  /**< */);
1197 
1198 
1199 /*****************************************************************************
1200  **
1201  ** xcb_dri2_dri2_buffer_iterator_t xcb_dri2_get_buffers_buffers_iterator
1202  **
1203  ** @param const xcb_dri2_get_buffers_reply_t *R
1204  ** @returns xcb_dri2_dri2_buffer_iterator_t
1205  **
1206  *****************************************************************************/
1207 
1208 xcb_dri2_dri2_buffer_iterator_t
1209 xcb_dri2_get_buffers_buffers_iterator (const xcb_dri2_get_buffers_reply_t *R  /**< */);
1210 
1211 /**
1212  * Return the reply
1213  * @param c      The connection
1214  * @param cookie The cookie
1215  * @param e      The xcb_generic_error_t supplied
1216  *
1217  * Returns the reply of the request asked by
1218  *
1219  * The parameter @p e supplied to this function must be NULL if
1220  * xcb_dri2_get_buffers_unchecked(). is used.
1221  * Otherwise, it stores the error if any.
1222  *
1223  * The returned value must be freed by the caller using free().
1224  */
1225 
1226 /*****************************************************************************
1227  **
1228  ** xcb_dri2_get_buffers_reply_t * xcb_dri2_get_buffers_reply
1229  **
1230  ** @param xcb_connection_t               *c
1231  ** @param xcb_dri2_get_buffers_cookie_t   cookie
1232  ** @param xcb_generic_error_t           **e
1233  ** @returns xcb_dri2_get_buffers_reply_t *
1234  **
1235  *****************************************************************************/
1236 
1237 xcb_dri2_get_buffers_reply_t *
1238 xcb_dri2_get_buffers_reply (xcb_connection_t               *c  /**< */,
1239                             xcb_dri2_get_buffers_cookie_t   cookie  /**< */,
1240                             xcb_generic_error_t           **e  /**< */);
1241 
1242 /**
1243  *
1244  * @param c The connection
1245  * @return A cookie
1246  *
1247  * Delivers a request to the X server.
1248  *
1249  */
1250 
1251 /*****************************************************************************
1252  **
1253  ** xcb_dri2_copy_region_cookie_t xcb_dri2_copy_region
1254  **
1255  ** @param xcb_connection_t *c
1256  ** @param xcb_drawable_t    drawable
1257  ** @param uint32_t          region
1258  ** @param uint32_t          dest
1259  ** @param uint32_t          src
1260  ** @returns xcb_dri2_copy_region_cookie_t
1261  **
1262  *****************************************************************************/
1263 
1264 xcb_dri2_copy_region_cookie_t
1265 xcb_dri2_copy_region (xcb_connection_t *c  /**< */,
1266                       xcb_drawable_t    drawable  /**< */,
1267                       uint32_t          region  /**< */,
1268                       uint32_t          dest  /**< */,
1269                       uint32_t          src  /**< */);
1270 
1271 /**
1272  *
1273  * @param c The connection
1274  * @return A cookie
1275  *
1276  * Delivers a request to the X server.
1277  *
1278  * This form can be used only if the request will cause
1279  * a reply to be generated. Any returned error will be
1280  * placed in the event queue.
1281  */
1282 
1283 /*****************************************************************************
1284  **
1285  ** xcb_dri2_copy_region_cookie_t xcb_dri2_copy_region_unchecked
1286  **
1287  ** @param xcb_connection_t *c
1288  ** @param xcb_drawable_t    drawable
1289  ** @param uint32_t          region
1290  ** @param uint32_t          dest
1291  ** @param uint32_t          src
1292  ** @returns xcb_dri2_copy_region_cookie_t
1293  **
1294  *****************************************************************************/
1295 
1296 xcb_dri2_copy_region_cookie_t
1297 xcb_dri2_copy_region_unchecked (xcb_connection_t *c  /**< */,
1298                                 xcb_drawable_t    drawable  /**< */,
1299                                 uint32_t          region  /**< */,
1300                                 uint32_t          dest  /**< */,
1301                                 uint32_t          src  /**< */);
1302 
1303 /**
1304  * Return the reply
1305  * @param c      The connection
1306  * @param cookie The cookie
1307  * @param e      The xcb_generic_error_t supplied
1308  *
1309  * Returns the reply of the request asked by
1310  *
1311  * The parameter @p e supplied to this function must be NULL if
1312  * xcb_dri2_copy_region_unchecked(). is used.
1313  * Otherwise, it stores the error if any.
1314  *
1315  * The returned value must be freed by the caller using free().
1316  */
1317 
1318 /*****************************************************************************
1319  **
1320  ** xcb_dri2_copy_region_reply_t * xcb_dri2_copy_region_reply
1321  **
1322  ** @param xcb_connection_t               *c
1323  ** @param xcb_dri2_copy_region_cookie_t   cookie
1324  ** @param xcb_generic_error_t           **e
1325  ** @returns xcb_dri2_copy_region_reply_t *
1326  **
1327  *****************************************************************************/
1328 
1329 xcb_dri2_copy_region_reply_t *
1330 xcb_dri2_copy_region_reply (xcb_connection_t               *c  /**< */,
1331                             xcb_dri2_copy_region_cookie_t   cookie  /**< */,
1332                             xcb_generic_error_t           **e  /**< */);
1333 
1334 int
1335 xcb_dri2_get_buffers_with_format_sizeof (const void  *_buffer  /**< */,
1336                                          uint32_t     attachments_len  /**< */);
1337 
1338 /**
1339  *
1340  * @param c The connection
1341  * @return A cookie
1342  *
1343  * Delivers a request to the X server.
1344  *
1345  */
1346 
1347 /*****************************************************************************
1348  **
1349  ** xcb_dri2_get_buffers_with_format_cookie_t xcb_dri2_get_buffers_with_format
1350  **
1351  ** @param xcb_connection_t               *c
1352  ** @param xcb_drawable_t                  drawable
1353  ** @param uint32_t                        count
1354  ** @param uint32_t                        attachments_len
1355  ** @param const xcb_dri2_attach_format_t *attachments
1356  ** @returns xcb_dri2_get_buffers_with_format_cookie_t
1357  **
1358  *****************************************************************************/
1359 
1360 xcb_dri2_get_buffers_with_format_cookie_t
1361 xcb_dri2_get_buffers_with_format (xcb_connection_t               *c  /**< */,
1362                                   xcb_drawable_t                  drawable  /**< */,
1363                                   uint32_t                        count  /**< */,
1364                                   uint32_t                        attachments_len  /**< */,
1365                                   const xcb_dri2_attach_format_t *attachments  /**< */);
1366 
1367 /**
1368  *
1369  * @param c The connection
1370  * @return A cookie
1371  *
1372  * Delivers a request to the X server.
1373  *
1374  * This form can be used only if the request will cause
1375  * a reply to be generated. Any returned error will be
1376  * placed in the event queue.
1377  */
1378 
1379 /*****************************************************************************
1380  **
1381  ** xcb_dri2_get_buffers_with_format_cookie_t xcb_dri2_get_buffers_with_format_unchecked
1382  **
1383  ** @param xcb_connection_t               *c
1384  ** @param xcb_drawable_t                  drawable
1385  ** @param uint32_t                        count
1386  ** @param uint32_t                        attachments_len
1387  ** @param const xcb_dri2_attach_format_t *attachments
1388  ** @returns xcb_dri2_get_buffers_with_format_cookie_t
1389  **
1390  *****************************************************************************/
1391 
1392 xcb_dri2_get_buffers_with_format_cookie_t
1393 xcb_dri2_get_buffers_with_format_unchecked (xcb_connection_t               *c  /**< */,
1394                                             xcb_drawable_t                  drawable  /**< */,
1395                                             uint32_t                        count  /**< */,
1396                                             uint32_t                        attachments_len  /**< */,
1397                                             const xcb_dri2_attach_format_t *attachments  /**< */);
1398 
1399 
1400 /*****************************************************************************
1401  **
1402  ** xcb_dri2_dri2_buffer_t * xcb_dri2_get_buffers_with_format_buffers
1403  **
1404  ** @param const xcb_dri2_get_buffers_with_format_reply_t *R
1405  ** @returns xcb_dri2_dri2_buffer_t *
1406  **
1407  *****************************************************************************/
1408 
1409 xcb_dri2_dri2_buffer_t *
1410 xcb_dri2_get_buffers_with_format_buffers (const xcb_dri2_get_buffers_with_format_reply_t *R  /**< */);
1411 
1412 
1413 /*****************************************************************************
1414  **
1415  ** int xcb_dri2_get_buffers_with_format_buffers_length
1416  **
1417  ** @param const xcb_dri2_get_buffers_with_format_reply_t *R
1418  ** @returns int
1419  **
1420  *****************************************************************************/
1421 
1422 int
1423 xcb_dri2_get_buffers_with_format_buffers_length (const xcb_dri2_get_buffers_with_format_reply_t *R  /**< */);
1424 
1425 
1426 /*****************************************************************************
1427  **
1428  ** xcb_dri2_dri2_buffer_iterator_t xcb_dri2_get_buffers_with_format_buffers_iterator
1429  **
1430  ** @param const xcb_dri2_get_buffers_with_format_reply_t *R
1431  ** @returns xcb_dri2_dri2_buffer_iterator_t
1432  **
1433  *****************************************************************************/
1434 
1435 xcb_dri2_dri2_buffer_iterator_t
1436 xcb_dri2_get_buffers_with_format_buffers_iterator (const xcb_dri2_get_buffers_with_format_reply_t *R  /**< */);
1437 
1438 /**
1439  * Return the reply
1440  * @param c      The connection
1441  * @param cookie The cookie
1442  * @param e      The xcb_generic_error_t supplied
1443  *
1444  * Returns the reply of the request asked by
1445  *
1446  * The parameter @p e supplied to this function must be NULL if
1447  * xcb_dri2_get_buffers_with_format_unchecked(). is used.
1448  * Otherwise, it stores the error if any.
1449  *
1450  * The returned value must be freed by the caller using free().
1451  */
1452 
1453 /*****************************************************************************
1454  **
1455  ** xcb_dri2_get_buffers_with_format_reply_t * xcb_dri2_get_buffers_with_format_reply
1456  **
1457  ** @param xcb_connection_t                           *c
1458  ** @param xcb_dri2_get_buffers_with_format_cookie_t   cookie
1459  ** @param xcb_generic_error_t                       **e
1460  ** @returns xcb_dri2_get_buffers_with_format_reply_t *
1461  **
1462  *****************************************************************************/
1463 
1464 xcb_dri2_get_buffers_with_format_reply_t *
1465 xcb_dri2_get_buffers_with_format_reply (xcb_connection_t                           *c  /**< */,
1466                                         xcb_dri2_get_buffers_with_format_cookie_t   cookie  /**< */,
1467                                         xcb_generic_error_t                       **e  /**< */);
1468 
1469 /**
1470  *
1471  * @param c The connection
1472  * @return A cookie
1473  *
1474  * Delivers a request to the X server.
1475  *
1476  */
1477 
1478 /*****************************************************************************
1479  **
1480  ** xcb_dri2_swap_buffers_cookie_t xcb_dri2_swap_buffers
1481  **
1482  ** @param xcb_connection_t *c
1483  ** @param xcb_drawable_t    drawable
1484  ** @param uint32_t          target_msc_hi
1485  ** @param uint32_t          target_msc_lo
1486  ** @param uint32_t          divisor_hi
1487  ** @param uint32_t          divisor_lo
1488  ** @param uint32_t          remainder_hi
1489  ** @param uint32_t          remainder_lo
1490  ** @returns xcb_dri2_swap_buffers_cookie_t
1491  **
1492  *****************************************************************************/
1493 
1494 xcb_dri2_swap_buffers_cookie_t
1495 xcb_dri2_swap_buffers (xcb_connection_t *c  /**< */,
1496                        xcb_drawable_t    drawable  /**< */,
1497                        uint32_t          target_msc_hi  /**< */,
1498                        uint32_t          target_msc_lo  /**< */,
1499                        uint32_t          divisor_hi  /**< */,
1500                        uint32_t          divisor_lo  /**< */,
1501                        uint32_t          remainder_hi  /**< */,
1502                        uint32_t          remainder_lo  /**< */);
1503 
1504 /**
1505  *
1506  * @param c The connection
1507  * @return A cookie
1508  *
1509  * Delivers a request to the X server.
1510  *
1511  * This form can be used only if the request will cause
1512  * a reply to be generated. Any returned error will be
1513  * placed in the event queue.
1514  */
1515 
1516 /*****************************************************************************
1517  **
1518  ** xcb_dri2_swap_buffers_cookie_t xcb_dri2_swap_buffers_unchecked
1519  **
1520  ** @param xcb_connection_t *c
1521  ** @param xcb_drawable_t    drawable
1522  ** @param uint32_t          target_msc_hi
1523  ** @param uint32_t          target_msc_lo
1524  ** @param uint32_t          divisor_hi
1525  ** @param uint32_t          divisor_lo
1526  ** @param uint32_t          remainder_hi
1527  ** @param uint32_t          remainder_lo
1528  ** @returns xcb_dri2_swap_buffers_cookie_t
1529  **
1530  *****************************************************************************/
1531 
1532 xcb_dri2_swap_buffers_cookie_t
1533 xcb_dri2_swap_buffers_unchecked (xcb_connection_t *c  /**< */,
1534                                  xcb_drawable_t    drawable  /**< */,
1535                                  uint32_t          target_msc_hi  /**< */,
1536                                  uint32_t          target_msc_lo  /**< */,
1537                                  uint32_t          divisor_hi  /**< */,
1538                                  uint32_t          divisor_lo  /**< */,
1539                                  uint32_t          remainder_hi  /**< */,
1540                                  uint32_t          remainder_lo  /**< */);
1541 
1542 /**
1543  * Return the reply
1544  * @param c      The connection
1545  * @param cookie The cookie
1546  * @param e      The xcb_generic_error_t supplied
1547  *
1548  * Returns the reply of the request asked by
1549  *
1550  * The parameter @p e supplied to this function must be NULL if
1551  * xcb_dri2_swap_buffers_unchecked(). is used.
1552  * Otherwise, it stores the error if any.
1553  *
1554  * The returned value must be freed by the caller using free().
1555  */
1556 
1557 /*****************************************************************************
1558  **
1559  ** xcb_dri2_swap_buffers_reply_t * xcb_dri2_swap_buffers_reply
1560  **
1561  ** @param xcb_connection_t                *c
1562  ** @param xcb_dri2_swap_buffers_cookie_t   cookie
1563  ** @param xcb_generic_error_t            **e
1564  ** @returns xcb_dri2_swap_buffers_reply_t *
1565  **
1566  *****************************************************************************/
1567 
1568 xcb_dri2_swap_buffers_reply_t *
1569 xcb_dri2_swap_buffers_reply (xcb_connection_t                *c  /**< */,
1570                              xcb_dri2_swap_buffers_cookie_t   cookie  /**< */,
1571                              xcb_generic_error_t            **e  /**< */);
1572 
1573 /**
1574  *
1575  * @param c The connection
1576  * @return A cookie
1577  *
1578  * Delivers a request to the X server.
1579  *
1580  */
1581 
1582 /*****************************************************************************
1583  **
1584  ** xcb_dri2_get_msc_cookie_t xcb_dri2_get_msc
1585  **
1586  ** @param xcb_connection_t *c
1587  ** @param xcb_drawable_t    drawable
1588  ** @returns xcb_dri2_get_msc_cookie_t
1589  **
1590  *****************************************************************************/
1591 
1592 xcb_dri2_get_msc_cookie_t
1593 xcb_dri2_get_msc (xcb_connection_t *c  /**< */,
1594                   xcb_drawable_t    drawable  /**< */);
1595 
1596 /**
1597  *
1598  * @param c The connection
1599  * @return A cookie
1600  *
1601  * Delivers a request to the X server.
1602  *
1603  * This form can be used only if the request will cause
1604  * a reply to be generated. Any returned error will be
1605  * placed in the event queue.
1606  */
1607 
1608 /*****************************************************************************
1609  **
1610  ** xcb_dri2_get_msc_cookie_t xcb_dri2_get_msc_unchecked
1611  **
1612  ** @param xcb_connection_t *c
1613  ** @param xcb_drawable_t    drawable
1614  ** @returns xcb_dri2_get_msc_cookie_t
1615  **
1616  *****************************************************************************/
1617 
1618 xcb_dri2_get_msc_cookie_t
1619 xcb_dri2_get_msc_unchecked (xcb_connection_t *c  /**< */,
1620                             xcb_drawable_t    drawable  /**< */);
1621 
1622 /**
1623  * Return the reply
1624  * @param c      The connection
1625  * @param cookie The cookie
1626  * @param e      The xcb_generic_error_t supplied
1627  *
1628  * Returns the reply of the request asked by
1629  *
1630  * The parameter @p e supplied to this function must be NULL if
1631  * xcb_dri2_get_msc_unchecked(). is used.
1632  * Otherwise, it stores the error if any.
1633  *
1634  * The returned value must be freed by the caller using free().
1635  */
1636 
1637 /*****************************************************************************
1638  **
1639  ** xcb_dri2_get_msc_reply_t * xcb_dri2_get_msc_reply
1640  **
1641  ** @param xcb_connection_t           *c
1642  ** @param xcb_dri2_get_msc_cookie_t   cookie
1643  ** @param xcb_generic_error_t       **e
1644  ** @returns xcb_dri2_get_msc_reply_t *
1645  **
1646  *****************************************************************************/
1647 
1648 xcb_dri2_get_msc_reply_t *
1649 xcb_dri2_get_msc_reply (xcb_connection_t           *c  /**< */,
1650                         xcb_dri2_get_msc_cookie_t   cookie  /**< */,
1651                         xcb_generic_error_t       **e  /**< */);
1652 
1653 /**
1654  *
1655  * @param c The connection
1656  * @return A cookie
1657  *
1658  * Delivers a request to the X server.
1659  *
1660  */
1661 
1662 /*****************************************************************************
1663  **
1664  ** xcb_dri2_wait_msc_cookie_t xcb_dri2_wait_msc
1665  **
1666  ** @param xcb_connection_t *c
1667  ** @param xcb_drawable_t    drawable
1668  ** @param uint32_t          target_msc_hi
1669  ** @param uint32_t          target_msc_lo
1670  ** @param uint32_t          divisor_hi
1671  ** @param uint32_t          divisor_lo
1672  ** @param uint32_t          remainder_hi
1673  ** @param uint32_t          remainder_lo
1674  ** @returns xcb_dri2_wait_msc_cookie_t
1675  **
1676  *****************************************************************************/
1677 
1678 xcb_dri2_wait_msc_cookie_t
1679 xcb_dri2_wait_msc (xcb_connection_t *c  /**< */,
1680                    xcb_drawable_t    drawable  /**< */,
1681                    uint32_t          target_msc_hi  /**< */,
1682                    uint32_t          target_msc_lo  /**< */,
1683                    uint32_t          divisor_hi  /**< */,
1684                    uint32_t          divisor_lo  /**< */,
1685                    uint32_t          remainder_hi  /**< */,
1686                    uint32_t          remainder_lo  /**< */);
1687 
1688 /**
1689  *
1690  * @param c The connection
1691  * @return A cookie
1692  *
1693  * Delivers a request to the X server.
1694  *
1695  * This form can be used only if the request will cause
1696  * a reply to be generated. Any returned error will be
1697  * placed in the event queue.
1698  */
1699 
1700 /*****************************************************************************
1701  **
1702  ** xcb_dri2_wait_msc_cookie_t xcb_dri2_wait_msc_unchecked
1703  **
1704  ** @param xcb_connection_t *c
1705  ** @param xcb_drawable_t    drawable
1706  ** @param uint32_t          target_msc_hi
1707  ** @param uint32_t          target_msc_lo
1708  ** @param uint32_t          divisor_hi
1709  ** @param uint32_t          divisor_lo
1710  ** @param uint32_t          remainder_hi
1711  ** @param uint32_t          remainder_lo
1712  ** @returns xcb_dri2_wait_msc_cookie_t
1713  **
1714  *****************************************************************************/
1715 
1716 xcb_dri2_wait_msc_cookie_t
1717 xcb_dri2_wait_msc_unchecked (xcb_connection_t *c  /**< */,
1718                              xcb_drawable_t    drawable  /**< */,
1719                              uint32_t          target_msc_hi  /**< */,
1720                              uint32_t          target_msc_lo  /**< */,
1721                              uint32_t          divisor_hi  /**< */,
1722                              uint32_t          divisor_lo  /**< */,
1723                              uint32_t          remainder_hi  /**< */,
1724                              uint32_t          remainder_lo  /**< */);
1725 
1726 /**
1727  * Return the reply
1728  * @param c      The connection
1729  * @param cookie The cookie
1730  * @param e      The xcb_generic_error_t supplied
1731  *
1732  * Returns the reply of the request asked by
1733  *
1734  * The parameter @p e supplied to this function must be NULL if
1735  * xcb_dri2_wait_msc_unchecked(). is used.
1736  * Otherwise, it stores the error if any.
1737  *
1738  * The returned value must be freed by the caller using free().
1739  */
1740 
1741 /*****************************************************************************
1742  **
1743  ** xcb_dri2_wait_msc_reply_t * xcb_dri2_wait_msc_reply
1744  **
1745  ** @param xcb_connection_t            *c
1746  ** @param xcb_dri2_wait_msc_cookie_t   cookie
1747  ** @param xcb_generic_error_t        **e
1748  ** @returns xcb_dri2_wait_msc_reply_t *
1749  **
1750  *****************************************************************************/
1751 
1752 xcb_dri2_wait_msc_reply_t *
1753 xcb_dri2_wait_msc_reply (xcb_connection_t            *c  /**< */,
1754                          xcb_dri2_wait_msc_cookie_t   cookie  /**< */,
1755                          xcb_generic_error_t        **e  /**< */);
1756 
1757 /**
1758  *
1759  * @param c The connection
1760  * @return A cookie
1761  *
1762  * Delivers a request to the X server.
1763  *
1764  */
1765 
1766 /*****************************************************************************
1767  **
1768  ** xcb_dri2_wait_sbc_cookie_t xcb_dri2_wait_sbc
1769  **
1770  ** @param xcb_connection_t *c
1771  ** @param xcb_drawable_t    drawable
1772  ** @param uint32_t          target_sbc_hi
1773  ** @param uint32_t          target_sbc_lo
1774  ** @returns xcb_dri2_wait_sbc_cookie_t
1775  **
1776  *****************************************************************************/
1777 
1778 xcb_dri2_wait_sbc_cookie_t
1779 xcb_dri2_wait_sbc (xcb_connection_t *c  /**< */,
1780                    xcb_drawable_t    drawable  /**< */,
1781                    uint32_t          target_sbc_hi  /**< */,
1782                    uint32_t          target_sbc_lo  /**< */);
1783 
1784 /**
1785  *
1786  * @param c The connection
1787  * @return A cookie
1788  *
1789  * Delivers a request to the X server.
1790  *
1791  * This form can be used only if the request will cause
1792  * a reply to be generated. Any returned error will be
1793  * placed in the event queue.
1794  */
1795 
1796 /*****************************************************************************
1797  **
1798  ** xcb_dri2_wait_sbc_cookie_t xcb_dri2_wait_sbc_unchecked
1799  **
1800  ** @param xcb_connection_t *c
1801  ** @param xcb_drawable_t    drawable
1802  ** @param uint32_t          target_sbc_hi
1803  ** @param uint32_t          target_sbc_lo
1804  ** @returns xcb_dri2_wait_sbc_cookie_t
1805  **
1806  *****************************************************************************/
1807 
1808 xcb_dri2_wait_sbc_cookie_t
1809 xcb_dri2_wait_sbc_unchecked (xcb_connection_t *c  /**< */,
1810                              xcb_drawable_t    drawable  /**< */,
1811                              uint32_t          target_sbc_hi  /**< */,
1812                              uint32_t          target_sbc_lo  /**< */);
1813 
1814 /**
1815  * Return the reply
1816  * @param c      The connection
1817  * @param cookie The cookie
1818  * @param e      The xcb_generic_error_t supplied
1819  *
1820  * Returns the reply of the request asked by
1821  *
1822  * The parameter @p e supplied to this function must be NULL if
1823  * xcb_dri2_wait_sbc_unchecked(). is used.
1824  * Otherwise, it stores the error if any.
1825  *
1826  * The returned value must be freed by the caller using free().
1827  */
1828 
1829 /*****************************************************************************
1830  **
1831  ** xcb_dri2_wait_sbc_reply_t * xcb_dri2_wait_sbc_reply
1832  **
1833  ** @param xcb_connection_t            *c
1834  ** @param xcb_dri2_wait_sbc_cookie_t   cookie
1835  ** @param xcb_generic_error_t        **e
1836  ** @returns xcb_dri2_wait_sbc_reply_t *
1837  **
1838  *****************************************************************************/
1839 
1840 xcb_dri2_wait_sbc_reply_t *
1841 xcb_dri2_wait_sbc_reply (xcb_connection_t            *c  /**< */,
1842                          xcb_dri2_wait_sbc_cookie_t   cookie  /**< */,
1843                          xcb_generic_error_t        **e  /**< */);
1844 
1845 /**
1846  *
1847  * @param c The connection
1848  * @return A cookie
1849  *
1850  * Delivers a request to the X server.
1851  *
1852  * This form can be used only if the request will not cause
1853  * a reply to be generated. Any returned error will be
1854  * saved for handling by xcb_request_check().
1855  */
1856 
1857 /*****************************************************************************
1858  **
1859  ** xcb_void_cookie_t xcb_dri2_swap_interval_checked
1860  **
1861  ** @param xcb_connection_t *c
1862  ** @param xcb_drawable_t    drawable
1863  ** @param uint32_t          interval
1864  ** @returns xcb_void_cookie_t
1865  **
1866  *****************************************************************************/
1867 
1868 xcb_void_cookie_t
1869 xcb_dri2_swap_interval_checked (xcb_connection_t *c  /**< */,
1870                                 xcb_drawable_t    drawable  /**< */,
1871                                 uint32_t          interval  /**< */);
1872 
1873 /**
1874  *
1875  * @param c The connection
1876  * @return A cookie
1877  *
1878  * Delivers a request to the X server.
1879  *
1880  */
1881 
1882 /*****************************************************************************
1883  **
1884  ** xcb_void_cookie_t xcb_dri2_swap_interval
1885  **
1886  ** @param xcb_connection_t *c
1887  ** @param xcb_drawable_t    drawable
1888  ** @param uint32_t          interval
1889  ** @returns xcb_void_cookie_t
1890  **
1891  *****************************************************************************/
1892 
1893 xcb_void_cookie_t
1894 xcb_dri2_swap_interval (xcb_connection_t *c  /**< */,
1895                         xcb_drawable_t    drawable  /**< */,
1896                         uint32_t          interval  /**< */);
1897 
1898 /**
1899  *
1900  * @param c The connection
1901  * @return A cookie
1902  *
1903  * Delivers a request to the X server.
1904  *
1905  */
1906 
1907 /*****************************************************************************
1908  **
1909  ** xcb_dri2_get_param_cookie_t xcb_dri2_get_param
1910  **
1911  ** @param xcb_connection_t *c
1912  ** @param xcb_drawable_t    drawable
1913  ** @param uint32_t          param
1914  ** @returns xcb_dri2_get_param_cookie_t
1915  **
1916  *****************************************************************************/
1917 
1918 xcb_dri2_get_param_cookie_t
1919 xcb_dri2_get_param (xcb_connection_t *c  /**< */,
1920                     xcb_drawable_t    drawable  /**< */,
1921                     uint32_t          param  /**< */);
1922 
1923 /**
1924  *
1925  * @param c The connection
1926  * @return A cookie
1927  *
1928  * Delivers a request to the X server.
1929  *
1930  * This form can be used only if the request will cause
1931  * a reply to be generated. Any returned error will be
1932  * placed in the event queue.
1933  */
1934 
1935 /*****************************************************************************
1936  **
1937  ** xcb_dri2_get_param_cookie_t xcb_dri2_get_param_unchecked
1938  **
1939  ** @param xcb_connection_t *c
1940  ** @param xcb_drawable_t    drawable
1941  ** @param uint32_t          param
1942  ** @returns xcb_dri2_get_param_cookie_t
1943  **
1944  *****************************************************************************/
1945 
1946 xcb_dri2_get_param_cookie_t
1947 xcb_dri2_get_param_unchecked (xcb_connection_t *c  /**< */,
1948                               xcb_drawable_t    drawable  /**< */,
1949                               uint32_t          param  /**< */);
1950 
1951 /**
1952  * Return the reply
1953  * @param c      The connection
1954  * @param cookie The cookie
1955  * @param e      The xcb_generic_error_t supplied
1956  *
1957  * Returns the reply of the request asked by
1958  *
1959  * The parameter @p e supplied to this function must be NULL if
1960  * xcb_dri2_get_param_unchecked(). is used.
1961  * Otherwise, it stores the error if any.
1962  *
1963  * The returned value must be freed by the caller using free().
1964  */
1965 
1966 /*****************************************************************************
1967  **
1968  ** xcb_dri2_get_param_reply_t * xcb_dri2_get_param_reply
1969  **
1970  ** @param xcb_connection_t             *c
1971  ** @param xcb_dri2_get_param_cookie_t   cookie
1972  ** @param xcb_generic_error_t         **e
1973  ** @returns xcb_dri2_get_param_reply_t *
1974  **
1975  *****************************************************************************/
1976 
1977 xcb_dri2_get_param_reply_t *
1978 xcb_dri2_get_param_reply (xcb_connection_t             *c  /**< */,
1979                           xcb_dri2_get_param_cookie_t   cookie  /**< */,
1980                           xcb_generic_error_t         **e  /**< */);
1981 
1982 
1983 #ifdef __cplusplus
1984 }
1985 #endif
1986 
1987 #endif
1988 
1989 /**
1990  * @}
1991  */
1992