1 /*
2  * This file generated automatically from dri2.xml by d_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 module xcb.dri2;
13 
14 import xcb.xcb;
15 import xcb.xproto;
16 
17 extern (C):
18 
19 enum int XCB_DRI2_MAJOR_VERSION = 1;
20 enum int XCB_DRI2_MINOR_VERSION = 4;
21 
22 extern (C) __gshared extern xcb_extension_t xcb_dri2_id;
23 
24 enum xcb_dri2_attachment_t {
25 	XCB_DRI2_ATTACHMENT_BUFFER_FRONT_LEFT = 0,
26 	XCB_DRI2_ATTACHMENT_BUFFER_BACK_LEFT = 1,
27 	XCB_DRI2_ATTACHMENT_BUFFER_FRONT_RIGHT = 2,
28 	XCB_DRI2_ATTACHMENT_BUFFER_BACK_RIGHT = 3,
29 	XCB_DRI2_ATTACHMENT_BUFFER_DEPTH = 4,
30 	XCB_DRI2_ATTACHMENT_BUFFER_STENCIL = 5,
31 	XCB_DRI2_ATTACHMENT_BUFFER_ACCUM = 6,
32 	XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_LEFT = 7,
33 	XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_RIGHT = 8,
34 	XCB_DRI2_ATTACHMENT_BUFFER_DEPTH_STENCIL = 9,
35 	XCB_DRI2_ATTACHMENT_BUFFER_HIZ = 10
36 }
37 
38 alias XCB_DRI2_ATTACHMENT_BUFFER_FRONT_LEFT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_FRONT_LEFT;
39 alias XCB_DRI2_ATTACHMENT_BUFFER_BACK_LEFT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_BACK_LEFT;
40 alias XCB_DRI2_ATTACHMENT_BUFFER_FRONT_RIGHT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_FRONT_RIGHT;
41 alias XCB_DRI2_ATTACHMENT_BUFFER_BACK_RIGHT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_BACK_RIGHT;
42 alias XCB_DRI2_ATTACHMENT_BUFFER_DEPTH = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_DEPTH;
43 alias XCB_DRI2_ATTACHMENT_BUFFER_STENCIL = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_STENCIL;
44 alias XCB_DRI2_ATTACHMENT_BUFFER_ACCUM = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_ACCUM;
45 alias XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_LEFT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_LEFT;
46 alias XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_RIGHT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_RIGHT;
47 alias XCB_DRI2_ATTACHMENT_BUFFER_DEPTH_STENCIL = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_DEPTH_STENCIL;
48 alias XCB_DRI2_ATTACHMENT_BUFFER_HIZ = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_HIZ;
49 
50 enum xcb_dri2_driver_type_t {
51 	XCB_DRI2_DRIVER_TYPE_DRI = 0,
52 	XCB_DRI2_DRIVER_TYPE_VDPAU = 1
53 }
54 
55 alias XCB_DRI2_DRIVER_TYPE_DRI = xcb_dri2_driver_type_t.XCB_DRI2_DRIVER_TYPE_DRI;
56 alias XCB_DRI2_DRIVER_TYPE_VDPAU = xcb_dri2_driver_type_t.XCB_DRI2_DRIVER_TYPE_VDPAU;
57 
58 enum xcb_dri2_event_type_t {
59 	XCB_DRI2_EVENT_TYPE_EXCHANGE_COMPLETE = 1,
60 	XCB_DRI2_EVENT_TYPE_BLIT_COMPLETE = 2,
61 	XCB_DRI2_EVENT_TYPE_FLIP_COMPLETE = 3
62 }
63 
64 alias XCB_DRI2_EVENT_TYPE_EXCHANGE_COMPLETE = xcb_dri2_event_type_t.XCB_DRI2_EVENT_TYPE_EXCHANGE_COMPLETE;
65 alias XCB_DRI2_EVENT_TYPE_BLIT_COMPLETE = xcb_dri2_event_type_t.XCB_DRI2_EVENT_TYPE_BLIT_COMPLETE;
66 alias XCB_DRI2_EVENT_TYPE_FLIP_COMPLETE = xcb_dri2_event_type_t.XCB_DRI2_EVENT_TYPE_FLIP_COMPLETE;
67 
68 /**
69  * @brief xcb_dri2_dri2_buffer_t
70  **/
71 struct xcb_dri2_dri2_buffer_t {
72 	uint attachment; /**<  */
73 	uint name; /**<  */
74 	uint pitch; /**<  */
75 	uint cpp; /**<  */
76 	uint flags; /**<  */
77 }
78 
79 /**
80  * @brief xcb_dri2_dri2_buffer_iterator_t
81  **/
82 struct xcb_dri2_dri2_buffer_iterator_t {
83 	xcb_dri2_dri2_buffer_t* data; /**<  */
84 	int rem; /**<  */
85 	int index; /**<  */
86 }
87 
88 /**
89  * @brief xcb_dri2_attach_format_t
90  **/
91 struct xcb_dri2_attach_format_t {
92 	uint attachment; /**<  */
93 	uint format; /**<  */
94 }
95 
96 /**
97  * @brief xcb_dri2_attach_format_iterator_t
98  **/
99 struct xcb_dri2_attach_format_iterator_t {
100 	xcb_dri2_attach_format_t* data; /**<  */
101 	int rem; /**<  */
102 	int index; /**<  */
103 }
104 
105 /**
106  * @brief xcb_dri2_query_version_cookie_t
107  **/
108 struct xcb_dri2_query_version_cookie_t {
109 	uint sequence; /**<  */
110 }
111 
112 /** Opcode for xcb_dri2_query_version. */
113 enum XCB_DRI2_QUERY_VERSION = 0;
114 
115 /**
116  * @brief xcb_dri2_query_version_request_t
117  **/
118 struct xcb_dri2_query_version_request_t {
119 	ubyte major_opcode; /**<  */
120 	ubyte minor_opcode; /**<  */
121 	ushort length; /**<  */
122 	uint major_version; /**<  */
123 	uint minor_version; /**<  */
124 }
125 
126 /**
127  * @brief xcb_dri2_query_version_reply_t
128  **/
129 struct xcb_dri2_query_version_reply_t {
130 	ubyte response_type; /**<  */
131 	ubyte pad0; /**<  */
132 	ushort sequence; /**<  */
133 	uint length; /**<  */
134 	uint major_version; /**<  */
135 	uint minor_version; /**<  */
136 }
137 
138 /**
139  * @brief xcb_dri2_connect_cookie_t
140  **/
141 struct xcb_dri2_connect_cookie_t {
142 	uint sequence; /**<  */
143 }
144 
145 /** Opcode for xcb_dri2_connect. */
146 enum XCB_DRI2_CONNECT = 1;
147 
148 /**
149  * @brief xcb_dri2_connect_request_t
150  **/
151 struct xcb_dri2_connect_request_t {
152 	ubyte major_opcode; /**<  */
153 	ubyte minor_opcode; /**<  */
154 	ushort length; /**<  */
155 	xcb_window_t window; /**<  */
156 	uint driver_type; /**<  */
157 }
158 
159 /**
160  * @brief xcb_dri2_connect_reply_t
161  **/
162 struct xcb_dri2_connect_reply_t {
163 	ubyte response_type; /**<  */
164 	ubyte pad0; /**<  */
165 	ushort sequence; /**<  */
166 	uint length; /**<  */
167 	uint driver_name_length; /**<  */
168 	uint device_name_length; /**<  */
169 	ubyte[16] pad1; /**<  */
170 }
171 
172 /**
173  * @brief xcb_dri2_authenticate_cookie_t
174  **/
175 struct xcb_dri2_authenticate_cookie_t {
176 	uint sequence; /**<  */
177 }
178 
179 /** Opcode for xcb_dri2_authenticate. */
180 enum XCB_DRI2_AUTHENTICATE = 2;
181 
182 /**
183  * @brief xcb_dri2_authenticate_request_t
184  **/
185 struct xcb_dri2_authenticate_request_t {
186 	ubyte major_opcode; /**<  */
187 	ubyte minor_opcode; /**<  */
188 	ushort length; /**<  */
189 	xcb_window_t window; /**<  */
190 	uint magic; /**<  */
191 }
192 
193 /**
194  * @brief xcb_dri2_authenticate_reply_t
195  **/
196 struct xcb_dri2_authenticate_reply_t {
197 	ubyte response_type; /**<  */
198 	ubyte pad0; /**<  */
199 	ushort sequence; /**<  */
200 	uint length; /**<  */
201 	uint authenticated; /**<  */
202 }
203 
204 /** Opcode for xcb_dri2_create_drawable. */
205 enum XCB_DRI2_CREATE_DRAWABLE = 3;
206 
207 /**
208  * @brief xcb_dri2_create_drawable_request_t
209  **/
210 struct xcb_dri2_create_drawable_request_t {
211 	ubyte major_opcode; /**<  */
212 	ubyte minor_opcode; /**<  */
213 	ushort length; /**<  */
214 	xcb_drawable_t drawable; /**<  */
215 }
216 
217 /** Opcode for xcb_dri2_destroy_drawable. */
218 enum XCB_DRI2_DESTROY_DRAWABLE = 4;
219 
220 /**
221  * @brief xcb_dri2_destroy_drawable_request_t
222  **/
223 struct xcb_dri2_destroy_drawable_request_t {
224 	ubyte major_opcode; /**<  */
225 	ubyte minor_opcode; /**<  */
226 	ushort length; /**<  */
227 	xcb_drawable_t drawable; /**<  */
228 }
229 
230 /**
231  * @brief xcb_dri2_get_buffers_cookie_t
232  **/
233 struct xcb_dri2_get_buffers_cookie_t {
234 	uint sequence; /**<  */
235 }
236 
237 /** Opcode for xcb_dri2_get_buffers. */
238 enum XCB_DRI2_GET_BUFFERS = 5;
239 
240 /**
241  * @brief xcb_dri2_get_buffers_request_t
242  **/
243 struct xcb_dri2_get_buffers_request_t {
244 	ubyte major_opcode; /**<  */
245 	ubyte minor_opcode; /**<  */
246 	ushort length; /**<  */
247 	xcb_drawable_t drawable; /**<  */
248 	uint count; /**<  */
249 }
250 
251 /**
252  * @brief xcb_dri2_get_buffers_reply_t
253  **/
254 struct xcb_dri2_get_buffers_reply_t {
255 	ubyte response_type; /**<  */
256 	ubyte pad0; /**<  */
257 	ushort sequence; /**<  */
258 	uint length; /**<  */
259 	uint width; /**<  */
260 	uint height; /**<  */
261 	uint count; /**<  */
262 	ubyte[12] pad1; /**<  */
263 }
264 
265 /**
266  * @brief xcb_dri2_copy_region_cookie_t
267  **/
268 struct xcb_dri2_copy_region_cookie_t {
269 	uint sequence; /**<  */
270 }
271 
272 /** Opcode for xcb_dri2_copy_region. */
273 enum XCB_DRI2_COPY_REGION = 6;
274 
275 /**
276  * @brief xcb_dri2_copy_region_request_t
277  **/
278 struct xcb_dri2_copy_region_request_t {
279 	ubyte major_opcode; /**<  */
280 	ubyte minor_opcode; /**<  */
281 	ushort length; /**<  */
282 	xcb_drawable_t drawable; /**<  */
283 	uint region; /**<  */
284 	uint dest; /**<  */
285 	uint src; /**<  */
286 }
287 
288 /**
289  * @brief xcb_dri2_copy_region_reply_t
290  **/
291 struct xcb_dri2_copy_region_reply_t {
292 	ubyte response_type; /**<  */
293 	ubyte pad0; /**<  */
294 	ushort sequence; /**<  */
295 	uint length; /**<  */
296 }
297 
298 /**
299  * @brief xcb_dri2_get_buffers_with_format_cookie_t
300  **/
301 struct xcb_dri2_get_buffers_with_format_cookie_t {
302 	uint sequence; /**<  */
303 }
304 
305 /** Opcode for xcb_dri2_get_buffers_with_format. */
306 enum XCB_DRI2_GET_BUFFERS_WITH_FORMAT = 7;
307 
308 /**
309  * @brief xcb_dri2_get_buffers_with_format_request_t
310  **/
311 struct xcb_dri2_get_buffers_with_format_request_t {
312 	ubyte major_opcode; /**<  */
313 	ubyte minor_opcode; /**<  */
314 	ushort length; /**<  */
315 	xcb_drawable_t drawable; /**<  */
316 	uint count; /**<  */
317 }
318 
319 /**
320  * @brief xcb_dri2_get_buffers_with_format_reply_t
321  **/
322 struct xcb_dri2_get_buffers_with_format_reply_t {
323 	ubyte response_type; /**<  */
324 	ubyte pad0; /**<  */
325 	ushort sequence; /**<  */
326 	uint length; /**<  */
327 	uint width; /**<  */
328 	uint height; /**<  */
329 	uint count; /**<  */
330 	ubyte[12] pad1; /**<  */
331 }
332 
333 /**
334  * @brief xcb_dri2_swap_buffers_cookie_t
335  **/
336 struct xcb_dri2_swap_buffers_cookie_t {
337 	uint sequence; /**<  */
338 }
339 
340 /** Opcode for xcb_dri2_swap_buffers. */
341 enum XCB_DRI2_SWAP_BUFFERS = 8;
342 
343 /**
344  * @brief xcb_dri2_swap_buffers_request_t
345  **/
346 struct xcb_dri2_swap_buffers_request_t {
347 	ubyte major_opcode; /**<  */
348 	ubyte minor_opcode; /**<  */
349 	ushort length; /**<  */
350 	xcb_drawable_t drawable; /**<  */
351 	uint target_msc_hi; /**<  */
352 	uint target_msc_lo; /**<  */
353 	uint divisor_hi; /**<  */
354 	uint divisor_lo; /**<  */
355 	uint remainder_hi; /**<  */
356 	uint remainder_lo; /**<  */
357 }
358 
359 /**
360  * @brief xcb_dri2_swap_buffers_reply_t
361  **/
362 struct xcb_dri2_swap_buffers_reply_t {
363 	ubyte response_type; /**<  */
364 	ubyte pad0; /**<  */
365 	ushort sequence; /**<  */
366 	uint length; /**<  */
367 	uint swap_hi; /**<  */
368 	uint swap_lo; /**<  */
369 }
370 
371 /**
372  * @brief xcb_dri2_get_msc_cookie_t
373  **/
374 struct xcb_dri2_get_msc_cookie_t {
375 	uint sequence; /**<  */
376 }
377 
378 /** Opcode for xcb_dri2_get_msc. */
379 enum XCB_DRI2_GET_MSC = 9;
380 
381 /**
382  * @brief xcb_dri2_get_msc_request_t
383  **/
384 struct xcb_dri2_get_msc_request_t {
385 	ubyte major_opcode; /**<  */
386 	ubyte minor_opcode; /**<  */
387 	ushort length; /**<  */
388 	xcb_drawable_t drawable; /**<  */
389 }
390 
391 /**
392  * @brief xcb_dri2_get_msc_reply_t
393  **/
394 struct xcb_dri2_get_msc_reply_t {
395 	ubyte response_type; /**<  */
396 	ubyte pad0; /**<  */
397 	ushort sequence; /**<  */
398 	uint length; /**<  */
399 	uint ust_hi; /**<  */
400 	uint ust_lo; /**<  */
401 	uint msc_hi; /**<  */
402 	uint msc_lo; /**<  */
403 	uint sbc_hi; /**<  */
404 	uint sbc_lo; /**<  */
405 }
406 
407 /**
408  * @brief xcb_dri2_wait_msc_cookie_t
409  **/
410 struct xcb_dri2_wait_msc_cookie_t {
411 	uint sequence; /**<  */
412 }
413 
414 /** Opcode for xcb_dri2_wait_msc. */
415 enum XCB_DRI2_WAIT_MSC = 10;
416 
417 /**
418  * @brief xcb_dri2_wait_msc_request_t
419  **/
420 struct xcb_dri2_wait_msc_request_t {
421 	ubyte major_opcode; /**<  */
422 	ubyte minor_opcode; /**<  */
423 	ushort length; /**<  */
424 	xcb_drawable_t drawable; /**<  */
425 	uint target_msc_hi; /**<  */
426 	uint target_msc_lo; /**<  */
427 	uint divisor_hi; /**<  */
428 	uint divisor_lo; /**<  */
429 	uint remainder_hi; /**<  */
430 	uint remainder_lo; /**<  */
431 }
432 
433 /**
434  * @brief xcb_dri2_wait_msc_reply_t
435  **/
436 struct xcb_dri2_wait_msc_reply_t {
437 	ubyte response_type; /**<  */
438 	ubyte pad0; /**<  */
439 	ushort sequence; /**<  */
440 	uint length; /**<  */
441 	uint ust_hi; /**<  */
442 	uint ust_lo; /**<  */
443 	uint msc_hi; /**<  */
444 	uint msc_lo; /**<  */
445 	uint sbc_hi; /**<  */
446 	uint sbc_lo; /**<  */
447 }
448 
449 /**
450  * @brief xcb_dri2_wait_sbc_cookie_t
451  **/
452 struct xcb_dri2_wait_sbc_cookie_t {
453 	uint sequence; /**<  */
454 }
455 
456 /** Opcode for xcb_dri2_wait_sbc. */
457 enum XCB_DRI2_WAIT_SBC = 11;
458 
459 /**
460  * @brief xcb_dri2_wait_sbc_request_t
461  **/
462 struct xcb_dri2_wait_sbc_request_t {
463 	ubyte major_opcode; /**<  */
464 	ubyte minor_opcode; /**<  */
465 	ushort length; /**<  */
466 	xcb_drawable_t drawable; /**<  */
467 	uint target_sbc_hi; /**<  */
468 	uint target_sbc_lo; /**<  */
469 }
470 
471 /**
472  * @brief xcb_dri2_wait_sbc_reply_t
473  **/
474 struct xcb_dri2_wait_sbc_reply_t {
475 	ubyte response_type; /**<  */
476 	ubyte pad0; /**<  */
477 	ushort sequence; /**<  */
478 	uint length; /**<  */
479 	uint ust_hi; /**<  */
480 	uint ust_lo; /**<  */
481 	uint msc_hi; /**<  */
482 	uint msc_lo; /**<  */
483 	uint sbc_hi; /**<  */
484 	uint sbc_lo; /**<  */
485 }
486 
487 /** Opcode for xcb_dri2_swap_interval. */
488 enum XCB_DRI2_SWAP_INTERVAL = 12;
489 
490 /**
491  * @brief xcb_dri2_swap_interval_request_t
492  **/
493 struct xcb_dri2_swap_interval_request_t {
494 	ubyte major_opcode; /**<  */
495 	ubyte minor_opcode; /**<  */
496 	ushort length; /**<  */
497 	xcb_drawable_t drawable; /**<  */
498 	uint interval; /**<  */
499 }
500 
501 /**
502  * @brief xcb_dri2_get_param_cookie_t
503  **/
504 struct xcb_dri2_get_param_cookie_t {
505 	uint sequence; /**<  */
506 }
507 
508 /** Opcode for xcb_dri2_get_param. */
509 enum XCB_DRI2_GET_PARAM = 13;
510 
511 /**
512  * @brief xcb_dri2_get_param_request_t
513  **/
514 struct xcb_dri2_get_param_request_t {
515 	ubyte major_opcode; /**<  */
516 	ubyte minor_opcode; /**<  */
517 	ushort length; /**<  */
518 	xcb_drawable_t drawable; /**<  */
519 	uint param; /**<  */
520 }
521 
522 /**
523  * @brief xcb_dri2_get_param_reply_t
524  **/
525 struct xcb_dri2_get_param_reply_t {
526 	ubyte response_type; /**<  */
527 	ubyte is_param_recognized; /**<  */
528 	ushort sequence; /**<  */
529 	uint length; /**<  */
530 	uint value_hi; /**<  */
531 	uint value_lo; /**<  */
532 }
533 
534 /** Opcode for xcb_dri2_buffer_swap_complete. */
535 enum XCB_DRI2_BUFFER_SWAP_COMPLETE = 0;
536 
537 /**
538  * @brief xcb_dri2_buffer_swap_complete_event_t
539  **/
540 struct xcb_dri2_buffer_swap_complete_event_t {
541 	ubyte response_type; /**<  */
542 	ubyte pad0; /**<  */
543 	ushort sequence; /**<  */
544 	ushort event_type; /**<  */
545 	ubyte[2] pad1; /**<  */
546 	xcb_drawable_t drawable; /**<  */
547 	uint ust_hi; /**<  */
548 	uint ust_lo; /**<  */
549 	uint msc_hi; /**<  */
550 	uint msc_lo; /**<  */
551 	uint sbc; /**<  */
552 }
553 
554 /** Opcode for xcb_dri2_invalidate_buffers. */
555 enum XCB_DRI2_INVALIDATE_BUFFERS = 1;
556 
557 /**
558  * @brief xcb_dri2_invalidate_buffers_event_t
559  **/
560 struct xcb_dri2_invalidate_buffers_event_t {
561 	ubyte response_type; /**<  */
562 	ubyte pad0; /**<  */
563 	ushort sequence; /**<  */
564 	xcb_drawable_t drawable; /**<  */
565 }
566 
567 /**
568  * Get the next element of the iterator
569  * @param i Pointer to a xcb_dri2_dri2_buffer_iterator_t
570  *
571  * Get the next element in the iterator. The member rem is
572  * decreased by one. The member data points to the next
573  * element. The member index is increased by sizeof(xcb_dri2_dri2_buffer_t)
574  */
575 void xcb_dri2_dri2_buffer_next(xcb_dri2_dri2_buffer_iterator_t* i /**< */ );
576 
577 /**
578  * Return the iterator pointing to the last element
579  * @param i An xcb_dri2_dri2_buffer_iterator_t
580  * @return  The iterator pointing to the last element
581  *
582  * Set the current element in the iterator to the last element.
583  * The member rem is set to 0. The member data points to the
584  * last element.
585  */
586 xcb_generic_iterator_t xcb_dri2_dri2_buffer_end(xcb_dri2_dri2_buffer_iterator_t i /**< */ );
587 
588 /**
589  * Get the next element of the iterator
590  * @param i Pointer to a xcb_dri2_attach_format_iterator_t
591  *
592  * Get the next element in the iterator. The member rem is
593  * decreased by one. The member data points to the next
594  * element. The member index is increased by sizeof(xcb_dri2_attach_format_t)
595  */
596 void xcb_dri2_attach_format_next(xcb_dri2_attach_format_iterator_t* i /**< */ );
597 
598 /**
599  * Return the iterator pointing to the last element
600  * @param i An xcb_dri2_attach_format_iterator_t
601  * @return  The iterator pointing to the last element
602  *
603  * Set the current element in the iterator to the last element.
604  * The member rem is set to 0. The member data points to the
605  * last element.
606  */
607 xcb_generic_iterator_t xcb_dri2_attach_format_end(xcb_dri2_attach_format_iterator_t i /**< */ );
608 
609 /**
610  *
611  * @param c The connection
612  * @return A cookie
613  *
614  * Delivers a request to the X server.
615  *
616  */
617 xcb_dri2_query_version_cookie_t xcb_dri2_query_version(xcb_connection_t* c /**< */ , uint major_version /**< */ , uint minor_version /**< */ );
618 
619 /**
620  *
621  * @param c The connection
622  * @return A cookie
623  *
624  * Delivers a request to the X server.
625  *
626  * This form can be used only if the request will cause
627  * a reply to be generated. Any returned error will be
628  * placed in the event queue.
629  */
630 xcb_dri2_query_version_cookie_t xcb_dri2_query_version_unchecked(xcb_connection_t* c /**< */ , uint major_version /**< */ ,
631 	uint minor_version /**< */ );
632 
633 /**
634  * Return the reply
635  * @param c      The connection
636  * @param cookie The cookie
637  * @param e      The xcb_generic_error_t supplied
638  *
639  * Returns the reply of the request asked by
640  *
641  * The parameter @p e supplied to this function must be NULL if
642  * xcb_dri2_query_version_unchecked(). is used.
643  * Otherwise, it stores the error if any.
644  *
645  * The returned value must be freed by the caller using free().
646  */
647 xcb_dri2_query_version_reply_t* xcb_dri2_query_version_reply(xcb_connection_t* c /**< */ , xcb_dri2_query_version_cookie_t cookie /**< */ ,
648 	xcb_generic_error_t** e /**< */ );
649 
650 int xcb_dri2_connect_sizeof(const void* _buffer /**< */ );
651 
652 /**
653  *
654  * @param c The connection
655  * @return A cookie
656  *
657  * Delivers a request to the X server.
658  *
659  */
660 xcb_dri2_connect_cookie_t xcb_dri2_connect(xcb_connection_t* c /**< */ , xcb_window_t window /**< */ , uint driver_type /**< */ );
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 xcb_dri2_connect_cookie_t xcb_dri2_connect_unchecked(xcb_connection_t* c /**< */ , xcb_window_t window /**< */ , uint driver_type /**< */ );
674 
675 char* xcb_dri2_connect_driver_name(const xcb_dri2_connect_reply_t* R /**< */ );
676 
677 int xcb_dri2_connect_driver_name_length(const xcb_dri2_connect_reply_t* R /**< */ );
678 
679 xcb_generic_iterator_t xcb_dri2_connect_driver_name_end(const xcb_dri2_connect_reply_t* R /**< */ );
680 
681 void* xcb_dri2_connect_alignment_pad(const xcb_dri2_connect_reply_t* R /**< */ );
682 
683 int xcb_dri2_connect_alignment_pad_length(const xcb_dri2_connect_reply_t* R /**< */ );
684 
685 xcb_generic_iterator_t xcb_dri2_connect_alignment_pad_end(const xcb_dri2_connect_reply_t* R /**< */ );
686 
687 char* xcb_dri2_connect_device_name(const xcb_dri2_connect_reply_t* R /**< */ );
688 
689 int xcb_dri2_connect_device_name_length(const xcb_dri2_connect_reply_t* R /**< */ );
690 
691 xcb_generic_iterator_t xcb_dri2_connect_device_name_end(const xcb_dri2_connect_reply_t* R /**< */ );
692 
693 /**
694  * Return the reply
695  * @param c      The connection
696  * @param cookie The cookie
697  * @param e      The xcb_generic_error_t supplied
698  *
699  * Returns the reply of the request asked by
700  *
701  * The parameter @p e supplied to this function must be NULL if
702  * xcb_dri2_connect_unchecked(). is used.
703  * Otherwise, it stores the error if any.
704  *
705  * The returned value must be freed by the caller using free().
706  */
707 xcb_dri2_connect_reply_t* xcb_dri2_connect_reply(xcb_connection_t* c /**< */ , xcb_dri2_connect_cookie_t cookie /**< */ ,
708 	xcb_generic_error_t** e /**< */ );
709 
710 /**
711  *
712  * @param c The connection
713  * @return A cookie
714  *
715  * Delivers a request to the X server.
716  *
717  */
718 xcb_dri2_authenticate_cookie_t xcb_dri2_authenticate(xcb_connection_t* c /**< */ , xcb_window_t window /**< */ , uint magic /**< */ );
719 
720 /**
721  *
722  * @param c The connection
723  * @return A cookie
724  *
725  * Delivers a request to the X server.
726  *
727  * This form can be used only if the request will cause
728  * a reply to be generated. Any returned error will be
729  * placed in the event queue.
730  */
731 xcb_dri2_authenticate_cookie_t xcb_dri2_authenticate_unchecked(xcb_connection_t* c /**< */ , xcb_window_t window /**< */ ,
732 	uint magic /**< */ );
733 
734 /**
735  * Return the reply
736  * @param c      The connection
737  * @param cookie The cookie
738  * @param e      The xcb_generic_error_t supplied
739  *
740  * Returns the reply of the request asked by
741  *
742  * The parameter @p e supplied to this function must be NULL if
743  * xcb_dri2_authenticate_unchecked(). is used.
744  * Otherwise, it stores the error if any.
745  *
746  * The returned value must be freed by the caller using free().
747  */
748 xcb_dri2_authenticate_reply_t* xcb_dri2_authenticate_reply(xcb_connection_t* c /**< */ ,
749 	xcb_dri2_authenticate_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ );
750 
751 /**
752  *
753  * @param c The connection
754  * @return A cookie
755  *
756  * Delivers a request to the X server.
757  *
758  * This form can be used only if the request will not cause
759  * a reply to be generated. Any returned error will be
760  * saved for handling by xcb_request_check().
761  */
762 xcb_void_cookie_t xcb_dri2_create_drawable_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ );
763 
764 /**
765  *
766  * @param c The connection
767  * @return A cookie
768  *
769  * Delivers a request to the X server.
770  *
771  */
772 xcb_void_cookie_t xcb_dri2_create_drawable(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ );
773 
774 /**
775  *
776  * @param c The connection
777  * @return A cookie
778  *
779  * Delivers a request to the X server.
780  *
781  * This form can be used only if the request will not cause
782  * a reply to be generated. Any returned error will be
783  * saved for handling by xcb_request_check().
784  */
785 xcb_void_cookie_t xcb_dri2_destroy_drawable_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ );
786 
787 /**
788  *
789  * @param c The connection
790  * @return A cookie
791  *
792  * Delivers a request to the X server.
793  *
794  */
795 xcb_void_cookie_t xcb_dri2_destroy_drawable(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ );
796 
797 int xcb_dri2_get_buffers_sizeof(const void* _buffer /**< */ , uint attachments_len /**< */ );
798 
799 /**
800  *
801  * @param c The connection
802  * @return A cookie
803  *
804  * Delivers a request to the X server.
805  *
806  */
807 xcb_dri2_get_buffers_cookie_t xcb_dri2_get_buffers(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint count /**< */ ,
808 	uint attachments_len /**< */ , const uint* attachments /**< */ );
809 
810 /**
811  *
812  * @param c The connection
813  * @return A cookie
814  *
815  * Delivers a request to the X server.
816  *
817  * This form can be used only if the request will cause
818  * a reply to be generated. Any returned error will be
819  * placed in the event queue.
820  */
821 xcb_dri2_get_buffers_cookie_t xcb_dri2_get_buffers_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint count /**< */ ,
822 	uint attachments_len /**< */ , const uint* attachments /**< */ );
823 
824 xcb_dri2_dri2_buffer_t* xcb_dri2_get_buffers_buffers(const xcb_dri2_get_buffers_reply_t* R /**< */ );
825 
826 int xcb_dri2_get_buffers_buffers_length(const xcb_dri2_get_buffers_reply_t* R /**< */ );
827 
828 xcb_dri2_dri2_buffer_iterator_t xcb_dri2_get_buffers_buffers_iterator(const xcb_dri2_get_buffers_reply_t* R /**< */ );
829 
830 /**
831  * Return the reply
832  * @param c      The connection
833  * @param cookie The cookie
834  * @param e      The xcb_generic_error_t supplied
835  *
836  * Returns the reply of the request asked by
837  *
838  * The parameter @p e supplied to this function must be NULL if
839  * xcb_dri2_get_buffers_unchecked(). is used.
840  * Otherwise, it stores the error if any.
841  *
842  * The returned value must be freed by the caller using free().
843  */
844 xcb_dri2_get_buffers_reply_t* xcb_dri2_get_buffers_reply(xcb_connection_t* c /**< */ ,
845 	xcb_dri2_get_buffers_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ );
846 
847 /**
848  *
849  * @param c The connection
850  * @return A cookie
851  *
852  * Delivers a request to the X server.
853  *
854  */
855 xcb_dri2_copy_region_cookie_t xcb_dri2_copy_region(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ,
856 	uint region /**< */ , uint dest /**< */ , uint src /**< */ );
857 
858 /**
859  *
860  * @param c The connection
861  * @return A cookie
862  *
863  * Delivers a request to the X server.
864  *
865  * This form can be used only if the request will cause
866  * a reply to be generated. Any returned error will be
867  * placed in the event queue.
868  */
869 xcb_dri2_copy_region_cookie_t xcb_dri2_copy_region_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ,
870 	uint region /**< */ , uint dest /**< */ , uint src /**< */ );
871 
872 /**
873  * Return the reply
874  * @param c      The connection
875  * @param cookie The cookie
876  * @param e      The xcb_generic_error_t supplied
877  *
878  * Returns the reply of the request asked by
879  *
880  * The parameter @p e supplied to this function must be NULL if
881  * xcb_dri2_copy_region_unchecked(). is used.
882  * Otherwise, it stores the error if any.
883  *
884  * The returned value must be freed by the caller using free().
885  */
886 xcb_dri2_copy_region_reply_t* xcb_dri2_copy_region_reply(xcb_connection_t* c /**< */ ,
887 	xcb_dri2_copy_region_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ );
888 
889 int xcb_dri2_get_buffers_with_format_sizeof(const void* _buffer /**< */ , uint attachments_len /**< */ );
890 
891 /**
892  *
893  * @param c The connection
894  * @return A cookie
895  *
896  * Delivers a request to the X server.
897  *
898  */
899 xcb_dri2_get_buffers_with_format_cookie_t xcb_dri2_get_buffers_with_format(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ,
900 	uint count /**< */ , uint attachments_len /**< */ , const xcb_dri2_attach_format_t* attachments /**< */ );
901 
902 /**
903  *
904  * @param c The connection
905  * @return A cookie
906  *
907  * Delivers a request to the X server.
908  *
909  * This form can be used only if the request will cause
910  * a reply to be generated. Any returned error will be
911  * placed in the event queue.
912  */
913 xcb_dri2_get_buffers_with_format_cookie_t xcb_dri2_get_buffers_with_format_unchecked(xcb_connection_t* c /**< */ ,
914 	xcb_drawable_t drawable /**< */ , uint count /**< */ , uint attachments_len /**< */ , const xcb_dri2_attach_format_t* attachments /**< */ );
915 
916 xcb_dri2_dri2_buffer_t* xcb_dri2_get_buffers_with_format_buffers(const xcb_dri2_get_buffers_with_format_reply_t* R /**< */ );
917 
918 int xcb_dri2_get_buffers_with_format_buffers_length(const xcb_dri2_get_buffers_with_format_reply_t* R /**< */ );
919 
920 xcb_dri2_dri2_buffer_iterator_t xcb_dri2_get_buffers_with_format_buffers_iterator(const xcb_dri2_get_buffers_with_format_reply_t* R /**< */ );
921 
922 /**
923  * Return the reply
924  * @param c      The connection
925  * @param cookie The cookie
926  * @param e      The xcb_generic_error_t supplied
927  *
928  * Returns the reply of the request asked by
929  *
930  * The parameter @p e supplied to this function must be NULL if
931  * xcb_dri2_get_buffers_with_format_unchecked(). is used.
932  * Otherwise, it stores the error if any.
933  *
934  * The returned value must be freed by the caller using free().
935  */
936 xcb_dri2_get_buffers_with_format_reply_t* xcb_dri2_get_buffers_with_format_reply(xcb_connection_t* c /**< */ ,
937 	xcb_dri2_get_buffers_with_format_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ );
938 
939 /**
940  *
941  * @param c The connection
942  * @return A cookie
943  *
944  * Delivers a request to the X server.
945  *
946  */
947 xcb_dri2_swap_buffers_cookie_t xcb_dri2_swap_buffers(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint target_msc_hi /**< */ ,
948 	uint target_msc_lo /**< */ , uint divisor_hi /**< */ , uint divisor_lo /**< */ , uint remainder_hi /**< */ , uint remainder_lo /**< */ );
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 xcb_dri2_swap_buffers_cookie_t xcb_dri2_swap_buffers_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ,
962 	uint target_msc_hi /**< */ , uint target_msc_lo /**< */ , uint divisor_hi /**< */ , uint divisor_lo /**< */ ,
963 	uint remainder_hi /**< */ , uint remainder_lo /**< */ );
964 
965 /**
966  * Return the reply
967  * @param c      The connection
968  * @param cookie The cookie
969  * @param e      The xcb_generic_error_t supplied
970  *
971  * Returns the reply of the request asked by
972  *
973  * The parameter @p e supplied to this function must be NULL if
974  * xcb_dri2_swap_buffers_unchecked(). is used.
975  * Otherwise, it stores the error if any.
976  *
977  * The returned value must be freed by the caller using free().
978  */
979 xcb_dri2_swap_buffers_reply_t* xcb_dri2_swap_buffers_reply(xcb_connection_t* c /**< */ ,
980 	xcb_dri2_swap_buffers_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ );
981 
982 /**
983  *
984  * @param c The connection
985  * @return A cookie
986  *
987  * Delivers a request to the X server.
988  *
989  */
990 xcb_dri2_get_msc_cookie_t xcb_dri2_get_msc(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ );
991 
992 /**
993  *
994  * @param c The connection
995  * @return A cookie
996  *
997  * Delivers a request to the X server.
998  *
999  * This form can be used only if the request will cause
1000  * a reply to be generated. Any returned error will be
1001  * placed in the event queue.
1002  */
1003 xcb_dri2_get_msc_cookie_t xcb_dri2_get_msc_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ );
1004 
1005 /**
1006  * Return the reply
1007  * @param c      The connection
1008  * @param cookie The cookie
1009  * @param e      The xcb_generic_error_t supplied
1010  *
1011  * Returns the reply of the request asked by
1012  *
1013  * The parameter @p e supplied to this function must be NULL if
1014  * xcb_dri2_get_msc_unchecked(). is used.
1015  * Otherwise, it stores the error if any.
1016  *
1017  * The returned value must be freed by the caller using free().
1018  */
1019 xcb_dri2_get_msc_reply_t* xcb_dri2_get_msc_reply(xcb_connection_t* c /**< */ , xcb_dri2_get_msc_cookie_t cookie /**< */ ,
1020 	xcb_generic_error_t** e /**< */ );
1021 
1022 /**
1023  *
1024  * @param c The connection
1025  * @return A cookie
1026  *
1027  * Delivers a request to the X server.
1028  *
1029  */
1030 xcb_dri2_wait_msc_cookie_t xcb_dri2_wait_msc(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint target_msc_hi /**< */ ,
1031 	uint target_msc_lo /**< */ , uint divisor_hi /**< */ , uint divisor_lo /**< */ , uint remainder_hi /**< */ , uint remainder_lo /**< */ );
1032 
1033 /**
1034  *
1035  * @param c The connection
1036  * @return A cookie
1037  *
1038  * Delivers a request to the X server.
1039  *
1040  * This form can be used only if the request will cause
1041  * a reply to be generated. Any returned error will be
1042  * placed in the event queue.
1043  */
1044 xcb_dri2_wait_msc_cookie_t xcb_dri2_wait_msc_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint target_msc_hi /**< */ ,
1045 	uint target_msc_lo /**< */ , uint divisor_hi /**< */ , uint divisor_lo /**< */ , uint remainder_hi /**< */ , uint remainder_lo /**< */ );
1046 
1047 /**
1048  * Return the reply
1049  * @param c      The connection
1050  * @param cookie The cookie
1051  * @param e      The xcb_generic_error_t supplied
1052  *
1053  * Returns the reply of the request asked by
1054  *
1055  * The parameter @p e supplied to this function must be NULL if
1056  * xcb_dri2_wait_msc_unchecked(). is used.
1057  * Otherwise, it stores the error if any.
1058  *
1059  * The returned value must be freed by the caller using free().
1060  */
1061 xcb_dri2_wait_msc_reply_t* xcb_dri2_wait_msc_reply(xcb_connection_t* c /**< */ , xcb_dri2_wait_msc_cookie_t cookie /**< */ ,
1062 	xcb_generic_error_t** e /**< */ );
1063 
1064 /**
1065  *
1066  * @param c The connection
1067  * @return A cookie
1068  *
1069  * Delivers a request to the X server.
1070  *
1071  */
1072 xcb_dri2_wait_sbc_cookie_t xcb_dri2_wait_sbc(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ,
1073 	uint target_sbc_hi /**< */ , uint target_sbc_lo /**< */ );
1074 
1075 /**
1076  *
1077  * @param c The connection
1078  * @return A cookie
1079  *
1080  * Delivers a request to the X server.
1081  *
1082  * This form can be used only if the request will cause
1083  * a reply to be generated. Any returned error will be
1084  * placed in the event queue.
1085  */
1086 xcb_dri2_wait_sbc_cookie_t xcb_dri2_wait_sbc_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ,
1087 	uint target_sbc_hi /**< */ , uint target_sbc_lo /**< */ );
1088 
1089 /**
1090  * Return the reply
1091  * @param c      The connection
1092  * @param cookie The cookie
1093  * @param e      The xcb_generic_error_t supplied
1094  *
1095  * Returns the reply of the request asked by
1096  *
1097  * The parameter @p e supplied to this function must be NULL if
1098  * xcb_dri2_wait_sbc_unchecked(). is used.
1099  * Otherwise, it stores the error if any.
1100  *
1101  * The returned value must be freed by the caller using free().
1102  */
1103 xcb_dri2_wait_sbc_reply_t* xcb_dri2_wait_sbc_reply(xcb_connection_t* c /**< */ , xcb_dri2_wait_sbc_cookie_t cookie /**< */ ,
1104 	xcb_generic_error_t** e /**< */ );
1105 
1106 /**
1107  *
1108  * @param c The connection
1109  * @return A cookie
1110  *
1111  * Delivers a request to the X server.
1112  *
1113  * This form can be used only if the request will not cause
1114  * a reply to be generated. Any returned error will be
1115  * saved for handling by xcb_request_check().
1116  */
1117 xcb_void_cookie_t xcb_dri2_swap_interval_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint interval /**< */ );
1118 
1119 /**
1120  *
1121  * @param c The connection
1122  * @return A cookie
1123  *
1124  * Delivers a request to the X server.
1125  *
1126  */
1127 xcb_void_cookie_t xcb_dri2_swap_interval(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint interval /**< */ );
1128 
1129 /**
1130  *
1131  * @param c The connection
1132  * @return A cookie
1133  *
1134  * Delivers a request to the X server.
1135  *
1136  */
1137 xcb_dri2_get_param_cookie_t xcb_dri2_get_param(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint param /**< */ );
1138 
1139 /**
1140  *
1141  * @param c The connection
1142  * @return A cookie
1143  *
1144  * Delivers a request to the X server.
1145  *
1146  * This form can be used only if the request will cause
1147  * a reply to be generated. Any returned error will be
1148  * placed in the event queue.
1149  */
1150 xcb_dri2_get_param_cookie_t xcb_dri2_get_param_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint param /**< */ );
1151 
1152 /**
1153  * Return the reply
1154  * @param c      The connection
1155  * @param cookie The cookie
1156  * @param e      The xcb_generic_error_t supplied
1157  *
1158  * Returns the reply of the request asked by
1159  *
1160  * The parameter @p e supplied to this function must be NULL if
1161  * xcb_dri2_get_param_unchecked(). is used.
1162  * Otherwise, it stores the error if any.
1163  *
1164  * The returned value must be freed by the caller using free().
1165  */
1166 xcb_dri2_get_param_reply_t* xcb_dri2_get_param_reply(xcb_connection_t* c /**< */ , xcb_dri2_get_param_cookie_t cookie /**< */ ,
1167 	xcb_generic_error_t** e /**< */ );
1168 
1169 /**
1170  * @}
1171  */