xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/dri2.h (revision a5847cc334d9a7029f6352b847e9e8d71a0f9e0c)
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 1
24 
25 extern xcb_extension_t xcb_dri2_id;
26 
27 typedef 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 
40 typedef 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  **/
47 typedef 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  **/
58 typedef 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  **/
67 typedef 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  **/
75 typedef 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  **/
84 typedef 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  **/
94 typedef 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  **/
105 typedef 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  **/
117 typedef 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  **/
127 typedef 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  **/
138 typedef 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  **/
151 typedef 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  **/
161 typedef 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  **/
172 typedef 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  **/
186 typedef 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  **/
199 typedef 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  **/
209 typedef 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  **/
219 typedef 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  **/
230 typedef 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  **/
244 typedef 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  **/
254 typedef 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  **/
267 typedef 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  **/
277 typedef 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  **/
287 typedef 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  **/
298 typedef 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 
327 void
328 xcb_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 
349 xcb_generic_iterator_t
350 xcb_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 
370 void
371 xcb_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 
392 xcb_generic_iterator_t
393 xcb_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 
415 xcb_dri2_query_version_cookie_t
416 xcb_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 
443 xcb_dri2_query_version_cookie_t
444 xcb_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 
474 xcb_dri2_query_version_reply_t *
475 xcb_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 
499 xcb_dri2_connect_cookie_t
500 xcb_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 
527 xcb_dri2_connect_cookie_t
528 xcb_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 
542 char *
543 xcb_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 
555 int
556 xcb_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 
568 xcb_generic_iterator_t
569 xcb_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 
581 char *
582 xcb_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 
594 int
595 xcb_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 
607 xcb_generic_iterator_t
608 xcb_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 
636 xcb_dri2_connect_reply_t *
637 xcb_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 
661 xcb_dri2_authenticate_cookie_t
662 xcb_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 
689 xcb_dri2_authenticate_cookie_t
690 xcb_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 
720 xcb_dri2_authenticate_reply_t *
721 xcb_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 
747 xcb_void_cookie_t
748 xcb_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 
770 xcb_void_cookie_t
771 xcb_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 
796 xcb_void_cookie_t
797 xcb_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 
819 xcb_void_cookie_t
820 xcb_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 
845 xcb_dri2_get_buffers_cookie_t
846 xcb_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 
877 xcb_dri2_get_buffers_cookie_t
878 xcb_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 
894 xcb_dri2_dri2_buffer_t *
895 xcb_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 
907 int
908 xcb_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 
920 xcb_dri2_dri2_buffer_iterator_t
921 xcb_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 
949 xcb_dri2_get_buffers_reply_t *
950 xcb_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 
976 xcb_dri2_copy_region_cookie_t
977 xcb_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 
1008 xcb_dri2_copy_region_cookie_t
1009 xcb_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 
1041 xcb_dri2_copy_region_reply_t *
1042 xcb_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 
1068 xcb_dri2_get_buffers_with_format_cookie_t
1069 xcb_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 
1100 xcb_dri2_get_buffers_with_format_cookie_t
1101 xcb_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 
1117 xcb_dri2_dri2_buffer_t *
1118 xcb_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 
1130 int
1131 xcb_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 
1143 xcb_dri2_dri2_buffer_iterator_t
1144 xcb_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 
1172 xcb_dri2_get_buffers_with_format_reply_t *
1173 xcb_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