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