xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/dri3.h (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1 /*
2  * This file generated automatically from dri3.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB_DRI3_API XCB DRI3 API
8  * @brief DRI3 XCB Protocol Implementation.
9  * @{
10  **/
11 
12 #ifndef __DRI3_H
13 #define __DRI3_H
14 
15 #include "xcb.h"
16 #include "xproto.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #define XCB_DRI3_MAJOR_VERSION 1
23 #define XCB_DRI3_MINOR_VERSION 2
24 
25 extern xcb_extension_t xcb_dri3_id;
26 
27 /**
28  * @brief xcb_dri3_query_version_cookie_t
29  **/
30 typedef struct xcb_dri3_query_version_cookie_t {
31     unsigned int sequence;
32 } xcb_dri3_query_version_cookie_t;
33 
34 /** Opcode for xcb_dri3_query_version. */
35 #define XCB_DRI3_QUERY_VERSION 0
36 
37 /**
38  * @brief xcb_dri3_query_version_request_t
39  **/
40 typedef struct xcb_dri3_query_version_request_t {
41     uint8_t  major_opcode;
42     uint8_t  minor_opcode;
43     uint16_t length;
44     uint32_t major_version;
45     uint32_t minor_version;
46 } xcb_dri3_query_version_request_t;
47 
48 /**
49  * @brief xcb_dri3_query_version_reply_t
50  **/
51 typedef struct xcb_dri3_query_version_reply_t {
52     uint8_t  response_type;
53     uint8_t  pad0;
54     uint16_t sequence;
55     uint32_t length;
56     uint32_t major_version;
57     uint32_t minor_version;
58 } xcb_dri3_query_version_reply_t;
59 
60 /**
61  * @brief xcb_dri3_open_cookie_t
62  **/
63 typedef struct xcb_dri3_open_cookie_t {
64     unsigned int sequence;
65 } xcb_dri3_open_cookie_t;
66 
67 /** Opcode for xcb_dri3_open. */
68 #define XCB_DRI3_OPEN 1
69 
70 /**
71  * @brief xcb_dri3_open_request_t
72  **/
73 typedef struct xcb_dri3_open_request_t {
74     uint8_t        major_opcode;
75     uint8_t        minor_opcode;
76     uint16_t       length;
77     xcb_drawable_t drawable;
78     uint32_t       provider;
79 } xcb_dri3_open_request_t;
80 
81 /**
82  * @brief xcb_dri3_open_reply_t
83  **/
84 typedef struct xcb_dri3_open_reply_t {
85     uint8_t  response_type;
86     uint8_t  nfd;
87     uint16_t sequence;
88     uint32_t length;
89     uint8_t  pad0[24];
90 } xcb_dri3_open_reply_t;
91 
92 /** Opcode for xcb_dri3_pixmap_from_buffer. */
93 #define XCB_DRI3_PIXMAP_FROM_BUFFER 2
94 
95 /**
96  * @brief xcb_dri3_pixmap_from_buffer_request_t
97  **/
98 typedef struct xcb_dri3_pixmap_from_buffer_request_t {
99     uint8_t        major_opcode;
100     uint8_t        minor_opcode;
101     uint16_t       length;
102     xcb_pixmap_t   pixmap;
103     xcb_drawable_t drawable;
104     uint32_t       size;
105     uint16_t       width;
106     uint16_t       height;
107     uint16_t       stride;
108     uint8_t        depth;
109     uint8_t        bpp;
110 } xcb_dri3_pixmap_from_buffer_request_t;
111 
112 /**
113  * @brief xcb_dri3_buffer_from_pixmap_cookie_t
114  **/
115 typedef struct xcb_dri3_buffer_from_pixmap_cookie_t {
116     unsigned int sequence;
117 } xcb_dri3_buffer_from_pixmap_cookie_t;
118 
119 /** Opcode for xcb_dri3_buffer_from_pixmap. */
120 #define XCB_DRI3_BUFFER_FROM_PIXMAP 3
121 
122 /**
123  * @brief xcb_dri3_buffer_from_pixmap_request_t
124  **/
125 typedef struct xcb_dri3_buffer_from_pixmap_request_t {
126     uint8_t      major_opcode;
127     uint8_t      minor_opcode;
128     uint16_t     length;
129     xcb_pixmap_t pixmap;
130 } xcb_dri3_buffer_from_pixmap_request_t;
131 
132 /**
133  * @brief xcb_dri3_buffer_from_pixmap_reply_t
134  **/
135 typedef struct xcb_dri3_buffer_from_pixmap_reply_t {
136     uint8_t  response_type;
137     uint8_t  nfd;
138     uint16_t sequence;
139     uint32_t length;
140     uint32_t size;
141     uint16_t width;
142     uint16_t height;
143     uint16_t stride;
144     uint8_t  depth;
145     uint8_t  bpp;
146     uint8_t  pad0[12];
147 } xcb_dri3_buffer_from_pixmap_reply_t;
148 
149 /** Opcode for xcb_dri3_fence_from_fd. */
150 #define XCB_DRI3_FENCE_FROM_FD 4
151 
152 /**
153  * @brief xcb_dri3_fence_from_fd_request_t
154  **/
155 typedef struct xcb_dri3_fence_from_fd_request_t {
156     uint8_t        major_opcode;
157     uint8_t        minor_opcode;
158     uint16_t       length;
159     xcb_drawable_t drawable;
160     uint32_t       fence;
161     uint8_t        initially_triggered;
162     uint8_t        pad0[3];
163 } xcb_dri3_fence_from_fd_request_t;
164 
165 /**
166  * @brief xcb_dri3_fd_from_fence_cookie_t
167  **/
168 typedef struct xcb_dri3_fd_from_fence_cookie_t {
169     unsigned int sequence;
170 } xcb_dri3_fd_from_fence_cookie_t;
171 
172 /** Opcode for xcb_dri3_fd_from_fence. */
173 #define XCB_DRI3_FD_FROM_FENCE 5
174 
175 /**
176  * @brief xcb_dri3_fd_from_fence_request_t
177  **/
178 typedef struct xcb_dri3_fd_from_fence_request_t {
179     uint8_t        major_opcode;
180     uint8_t        minor_opcode;
181     uint16_t       length;
182     xcb_drawable_t drawable;
183     uint32_t       fence;
184 } xcb_dri3_fd_from_fence_request_t;
185 
186 /**
187  * @brief xcb_dri3_fd_from_fence_reply_t
188  **/
189 typedef struct xcb_dri3_fd_from_fence_reply_t {
190     uint8_t  response_type;
191     uint8_t  nfd;
192     uint16_t sequence;
193     uint32_t length;
194     uint8_t  pad0[24];
195 } xcb_dri3_fd_from_fence_reply_t;
196 
197 /**
198  * @brief xcb_dri3_get_supported_modifiers_cookie_t
199  **/
200 typedef struct xcb_dri3_get_supported_modifiers_cookie_t {
201     unsigned int sequence;
202 } xcb_dri3_get_supported_modifiers_cookie_t;
203 
204 /** Opcode for xcb_dri3_get_supported_modifiers. */
205 #define XCB_DRI3_GET_SUPPORTED_MODIFIERS 6
206 
207 /**
208  * @brief xcb_dri3_get_supported_modifiers_request_t
209  **/
210 typedef struct xcb_dri3_get_supported_modifiers_request_t {
211     uint8_t  major_opcode;
212     uint8_t  minor_opcode;
213     uint16_t length;
214     uint32_t window;
215     uint8_t  depth;
216     uint8_t  bpp;
217     uint8_t  pad0[2];
218 } xcb_dri3_get_supported_modifiers_request_t;
219 
220 /**
221  * @brief xcb_dri3_get_supported_modifiers_reply_t
222  **/
223 typedef struct xcb_dri3_get_supported_modifiers_reply_t {
224     uint8_t  response_type;
225     uint8_t  pad0;
226     uint16_t sequence;
227     uint32_t length;
228     uint32_t num_window_modifiers;
229     uint32_t num_screen_modifiers;
230     uint8_t  pad1[16];
231 } xcb_dri3_get_supported_modifiers_reply_t;
232 
233 /** Opcode for xcb_dri3_pixmap_from_buffers. */
234 #define XCB_DRI3_PIXMAP_FROM_BUFFERS 7
235 
236 /**
237  * @brief xcb_dri3_pixmap_from_buffers_request_t
238  **/
239 typedef struct xcb_dri3_pixmap_from_buffers_request_t {
240     uint8_t      major_opcode;
241     uint8_t      minor_opcode;
242     uint16_t     length;
243     xcb_pixmap_t pixmap;
244     xcb_window_t window;
245     uint8_t      num_buffers;
246     uint8_t      pad0[3];
247     uint16_t     width;
248     uint16_t     height;
249     uint32_t     stride0;
250     uint32_t     offset0;
251     uint32_t     stride1;
252     uint32_t     offset1;
253     uint32_t     stride2;
254     uint32_t     offset2;
255     uint32_t     stride3;
256     uint32_t     offset3;
257     uint8_t      depth;
258     uint8_t      bpp;
259     uint8_t      pad1[2];
260     uint64_t     modifier;
261 } xcb_dri3_pixmap_from_buffers_request_t;
262 
263 /**
264  * @brief xcb_dri3_buffers_from_pixmap_cookie_t
265  **/
266 typedef struct xcb_dri3_buffers_from_pixmap_cookie_t {
267     unsigned int sequence;
268 } xcb_dri3_buffers_from_pixmap_cookie_t;
269 
270 /** Opcode for xcb_dri3_buffers_from_pixmap. */
271 #define XCB_DRI3_BUFFERS_FROM_PIXMAP 8
272 
273 /**
274  * @brief xcb_dri3_buffers_from_pixmap_request_t
275  **/
276 typedef struct xcb_dri3_buffers_from_pixmap_request_t {
277     uint8_t      major_opcode;
278     uint8_t      minor_opcode;
279     uint16_t     length;
280     xcb_pixmap_t pixmap;
281 } xcb_dri3_buffers_from_pixmap_request_t;
282 
283 /**
284  * @brief xcb_dri3_buffers_from_pixmap_reply_t
285  **/
286 typedef struct xcb_dri3_buffers_from_pixmap_reply_t {
287     uint8_t  response_type;
288     uint8_t  nfd;
289     uint16_t sequence;
290     uint32_t length;
291     uint16_t width;
292     uint16_t height;
293     uint8_t  pad0[4];
294     uint64_t modifier;
295     uint8_t  depth;
296     uint8_t  bpp;
297     uint8_t  pad1[6];
298 } xcb_dri3_buffers_from_pixmap_reply_t;
299 
300 /**
301  *
302  * @param c The connection
303  * @return A cookie
304  *
305  * Delivers a request to the X server.
306  *
307  */
308 xcb_dri3_query_version_cookie_t
309 xcb_dri3_query_version (xcb_connection_t *c,
310                         uint32_t          major_version,
311                         uint32_t          minor_version);
312 
313 /**
314  *
315  * @param c The connection
316  * @return A cookie
317  *
318  * Delivers a request to the X server.
319  *
320  * This form can be used only if the request will cause
321  * a reply to be generated. Any returned error will be
322  * placed in the event queue.
323  */
324 xcb_dri3_query_version_cookie_t
325 xcb_dri3_query_version_unchecked (xcb_connection_t *c,
326                                   uint32_t          major_version,
327                                   uint32_t          minor_version);
328 
329 /**
330  * Return the reply
331  * @param c      The connection
332  * @param cookie The cookie
333  * @param e      The xcb_generic_error_t supplied
334  *
335  * Returns the reply of the request asked by
336  *
337  * The parameter @p e supplied to this function must be NULL if
338  * xcb_dri3_query_version_unchecked(). is used.
339  * Otherwise, it stores the error if any.
340  *
341  * The returned value must be freed by the caller using free().
342  */
343 xcb_dri3_query_version_reply_t *
344 xcb_dri3_query_version_reply (xcb_connection_t                 *c,
345                               xcb_dri3_query_version_cookie_t   cookie  /**< */,
346                               xcb_generic_error_t             **e);
347 
348 /**
349  *
350  * @param c The connection
351  * @return A cookie
352  *
353  * Delivers a request to the X server.
354  *
355  */
356 xcb_dri3_open_cookie_t
357 xcb_dri3_open (xcb_connection_t *c,
358                xcb_drawable_t    drawable,
359                uint32_t          provider);
360 
361 /**
362  *
363  * @param c The connection
364  * @return A cookie
365  *
366  * Delivers a request to the X server.
367  *
368  * This form can be used only if the request will cause
369  * a reply to be generated. Any returned error will be
370  * placed in the event queue.
371  */
372 xcb_dri3_open_cookie_t
373 xcb_dri3_open_unchecked (xcb_connection_t *c,
374                          xcb_drawable_t    drawable,
375                          uint32_t          provider);
376 
377 /**
378  * Return the reply
379  * @param c      The connection
380  * @param cookie The cookie
381  * @param e      The xcb_generic_error_t supplied
382  *
383  * Returns the reply of the request asked by
384  *
385  * The parameter @p e supplied to this function must be NULL if
386  * xcb_dri3_open_unchecked(). is used.
387  * Otherwise, it stores the error if any.
388  *
389  * The returned value must be freed by the caller using free().
390  */
391 xcb_dri3_open_reply_t *
392 xcb_dri3_open_reply (xcb_connection_t        *c,
393                      xcb_dri3_open_cookie_t   cookie  /**< */,
394                      xcb_generic_error_t    **e);
395 
396 /**
397  * Return the reply fds
398  * @param c      The connection
399  * @param reply  The reply
400  *
401  * Returns the array of reply fds of the request asked by
402  *
403  * The returned value must be freed by the caller using free().
404  */
405 int *
406 xcb_dri3_open_reply_fds (xcb_connection_t       *c  /**< */,
407                          xcb_dri3_open_reply_t  *reply);
408 
409 /**
410  *
411  * @param c The connection
412  * @return A cookie
413  *
414  * Delivers a request to the X server.
415  *
416  * This form can be used only if the request will not cause
417  * a reply to be generated. Any returned error will be
418  * saved for handling by xcb_request_check().
419  */
420 xcb_void_cookie_t
421 xcb_dri3_pixmap_from_buffer_checked (xcb_connection_t *c,
422                                      xcb_pixmap_t      pixmap,
423                                      xcb_drawable_t    drawable,
424                                      uint32_t          size,
425                                      uint16_t          width,
426                                      uint16_t          height,
427                                      uint16_t          stride,
428                                      uint8_t           depth,
429                                      uint8_t           bpp,
430                                      int32_t           pixmap_fd);
431 
432 /**
433  *
434  * @param c The connection
435  * @return A cookie
436  *
437  * Delivers a request to the X server.
438  *
439  */
440 xcb_void_cookie_t
441 xcb_dri3_pixmap_from_buffer (xcb_connection_t *c,
442                              xcb_pixmap_t      pixmap,
443                              xcb_drawable_t    drawable,
444                              uint32_t          size,
445                              uint16_t          width,
446                              uint16_t          height,
447                              uint16_t          stride,
448                              uint8_t           depth,
449                              uint8_t           bpp,
450                              int32_t           pixmap_fd);
451 
452 /**
453  *
454  * @param c The connection
455  * @return A cookie
456  *
457  * Delivers a request to the X server.
458  *
459  */
460 xcb_dri3_buffer_from_pixmap_cookie_t
461 xcb_dri3_buffer_from_pixmap (xcb_connection_t *c,
462                              xcb_pixmap_t      pixmap);
463 
464 /**
465  *
466  * @param c The connection
467  * @return A cookie
468  *
469  * Delivers a request to the X server.
470  *
471  * This form can be used only if the request will cause
472  * a reply to be generated. Any returned error will be
473  * placed in the event queue.
474  */
475 xcb_dri3_buffer_from_pixmap_cookie_t
476 xcb_dri3_buffer_from_pixmap_unchecked (xcb_connection_t *c,
477                                        xcb_pixmap_t      pixmap);
478 
479 /**
480  * Return the reply
481  * @param c      The connection
482  * @param cookie The cookie
483  * @param e      The xcb_generic_error_t supplied
484  *
485  * Returns the reply of the request asked by
486  *
487  * The parameter @p e supplied to this function must be NULL if
488  * xcb_dri3_buffer_from_pixmap_unchecked(). is used.
489  * Otherwise, it stores the error if any.
490  *
491  * The returned value must be freed by the caller using free().
492  */
493 xcb_dri3_buffer_from_pixmap_reply_t *
494 xcb_dri3_buffer_from_pixmap_reply (xcb_connection_t                      *c,
495                                    xcb_dri3_buffer_from_pixmap_cookie_t   cookie  /**< */,
496                                    xcb_generic_error_t                  **e);
497 
498 /**
499  * Return the reply fds
500  * @param c      The connection
501  * @param reply  The reply
502  *
503  * Returns the array of reply fds of the request asked by
504  *
505  * The returned value must be freed by the caller using free().
506  */
507 int *
508 xcb_dri3_buffer_from_pixmap_reply_fds (xcb_connection_t                     *c  /**< */,
509                                        xcb_dri3_buffer_from_pixmap_reply_t  *reply);
510 
511 /**
512  *
513  * @param c The connection
514  * @return A cookie
515  *
516  * Delivers a request to the X server.
517  *
518  * This form can be used only if the request will not cause
519  * a reply to be generated. Any returned error will be
520  * saved for handling by xcb_request_check().
521  */
522 xcb_void_cookie_t
523 xcb_dri3_fence_from_fd_checked (xcb_connection_t *c,
524                                 xcb_drawable_t    drawable,
525                                 uint32_t          fence,
526                                 uint8_t           initially_triggered,
527                                 int32_t           fence_fd);
528 
529 /**
530  *
531  * @param c The connection
532  * @return A cookie
533  *
534  * Delivers a request to the X server.
535  *
536  */
537 xcb_void_cookie_t
538 xcb_dri3_fence_from_fd (xcb_connection_t *c,
539                         xcb_drawable_t    drawable,
540                         uint32_t          fence,
541                         uint8_t           initially_triggered,
542                         int32_t           fence_fd);
543 
544 /**
545  *
546  * @param c The connection
547  * @return A cookie
548  *
549  * Delivers a request to the X server.
550  *
551  */
552 xcb_dri3_fd_from_fence_cookie_t
553 xcb_dri3_fd_from_fence (xcb_connection_t *c,
554                         xcb_drawable_t    drawable,
555                         uint32_t          fence);
556 
557 /**
558  *
559  * @param c The connection
560  * @return A cookie
561  *
562  * Delivers a request to the X server.
563  *
564  * This form can be used only if the request will cause
565  * a reply to be generated. Any returned error will be
566  * placed in the event queue.
567  */
568 xcb_dri3_fd_from_fence_cookie_t
569 xcb_dri3_fd_from_fence_unchecked (xcb_connection_t *c,
570                                   xcb_drawable_t    drawable,
571                                   uint32_t          fence);
572 
573 /**
574  * Return the reply
575  * @param c      The connection
576  * @param cookie The cookie
577  * @param e      The xcb_generic_error_t supplied
578  *
579  * Returns the reply of the request asked by
580  *
581  * The parameter @p e supplied to this function must be NULL if
582  * xcb_dri3_fd_from_fence_unchecked(). is used.
583  * Otherwise, it stores the error if any.
584  *
585  * The returned value must be freed by the caller using free().
586  */
587 xcb_dri3_fd_from_fence_reply_t *
588 xcb_dri3_fd_from_fence_reply (xcb_connection_t                 *c,
589                               xcb_dri3_fd_from_fence_cookie_t   cookie  /**< */,
590                               xcb_generic_error_t             **e);
591 
592 /**
593  * Return the reply fds
594  * @param c      The connection
595  * @param reply  The reply
596  *
597  * Returns the array of reply fds of the request asked by
598  *
599  * The returned value must be freed by the caller using free().
600  */
601 int *
602 xcb_dri3_fd_from_fence_reply_fds (xcb_connection_t                *c  /**< */,
603                                   xcb_dri3_fd_from_fence_reply_t  *reply);
604 
605 int
606 xcb_dri3_get_supported_modifiers_sizeof (const void  *_buffer);
607 
608 /**
609  *
610  * @param c The connection
611  * @return A cookie
612  *
613  * Delivers a request to the X server.
614  *
615  */
616 xcb_dri3_get_supported_modifiers_cookie_t
617 xcb_dri3_get_supported_modifiers (xcb_connection_t *c,
618                                   uint32_t          window,
619                                   uint8_t           depth,
620                                   uint8_t           bpp);
621 
622 /**
623  *
624  * @param c The connection
625  * @return A cookie
626  *
627  * Delivers a request to the X server.
628  *
629  * This form can be used only if the request will cause
630  * a reply to be generated. Any returned error will be
631  * placed in the event queue.
632  */
633 xcb_dri3_get_supported_modifiers_cookie_t
634 xcb_dri3_get_supported_modifiers_unchecked (xcb_connection_t *c,
635                                             uint32_t          window,
636                                             uint8_t           depth,
637                                             uint8_t           bpp);
638 
639 uint64_t *
640 xcb_dri3_get_supported_modifiers_window_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R);
641 
642 int
643 xcb_dri3_get_supported_modifiers_window_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R);
644 
645 xcb_generic_iterator_t
646 xcb_dri3_get_supported_modifiers_window_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R);
647 
648 uint64_t *
649 xcb_dri3_get_supported_modifiers_screen_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R);
650 
651 int
652 xcb_dri3_get_supported_modifiers_screen_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R);
653 
654 xcb_generic_iterator_t
655 xcb_dri3_get_supported_modifiers_screen_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R);
656 
657 /**
658  * Return the reply
659  * @param c      The connection
660  * @param cookie The cookie
661  * @param e      The xcb_generic_error_t supplied
662  *
663  * Returns the reply of the request asked by
664  *
665  * The parameter @p e supplied to this function must be NULL if
666  * xcb_dri3_get_supported_modifiers_unchecked(). is used.
667  * Otherwise, it stores the error if any.
668  *
669  * The returned value must be freed by the caller using free().
670  */
671 xcb_dri3_get_supported_modifiers_reply_t *
672 xcb_dri3_get_supported_modifiers_reply (xcb_connection_t                           *c,
673                                         xcb_dri3_get_supported_modifiers_cookie_t   cookie  /**< */,
674                                         xcb_generic_error_t                       **e);
675 
676 /**
677  *
678  * @param c The connection
679  * @return A cookie
680  *
681  * Delivers a request to the X server.
682  *
683  * This form can be used only if the request will not cause
684  * a reply to be generated. Any returned error will be
685  * saved for handling by xcb_request_check().
686  */
687 xcb_void_cookie_t
688 xcb_dri3_pixmap_from_buffers_checked (xcb_connection_t *c,
689                                       xcb_pixmap_t      pixmap,
690                                       xcb_window_t      window,
691                                       uint8_t           num_buffers,
692                                       uint16_t          width,
693                                       uint16_t          height,
694                                       uint32_t          stride0,
695                                       uint32_t          offset0,
696                                       uint32_t          stride1,
697                                       uint32_t          offset1,
698                                       uint32_t          stride2,
699                                       uint32_t          offset2,
700                                       uint32_t          stride3,
701                                       uint32_t          offset3,
702                                       uint8_t           depth,
703                                       uint8_t           bpp,
704                                       uint64_t          modifier,
705                                       const int32_t    *buffers);
706 
707 /**
708  *
709  * @param c The connection
710  * @return A cookie
711  *
712  * Delivers a request to the X server.
713  *
714  */
715 xcb_void_cookie_t
716 xcb_dri3_pixmap_from_buffers (xcb_connection_t *c,
717                               xcb_pixmap_t      pixmap,
718                               xcb_window_t      window,
719                               uint8_t           num_buffers,
720                               uint16_t          width,
721                               uint16_t          height,
722                               uint32_t          stride0,
723                               uint32_t          offset0,
724                               uint32_t          stride1,
725                               uint32_t          offset1,
726                               uint32_t          stride2,
727                               uint32_t          offset2,
728                               uint32_t          stride3,
729                               uint32_t          offset3,
730                               uint8_t           depth,
731                               uint8_t           bpp,
732                               uint64_t          modifier,
733                               const int32_t    *buffers);
734 
735 int
736 xcb_dri3_buffers_from_pixmap_sizeof (const void  *_buffer,
737                                      int32_t      buffers);
738 
739 /**
740  *
741  * @param c The connection
742  * @return A cookie
743  *
744  * Delivers a request to the X server.
745  *
746  */
747 xcb_dri3_buffers_from_pixmap_cookie_t
748 xcb_dri3_buffers_from_pixmap (xcb_connection_t *c,
749                               xcb_pixmap_t      pixmap);
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 cause
759  * a reply to be generated. Any returned error will be
760  * placed in the event queue.
761  */
762 xcb_dri3_buffers_from_pixmap_cookie_t
763 xcb_dri3_buffers_from_pixmap_unchecked (xcb_connection_t *c,
764                                         xcb_pixmap_t      pixmap);
765 
766 uint32_t *
767 xcb_dri3_buffers_from_pixmap_strides (const xcb_dri3_buffers_from_pixmap_reply_t *R);
768 
769 int
770 xcb_dri3_buffers_from_pixmap_strides_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
771 
772 xcb_generic_iterator_t
773 xcb_dri3_buffers_from_pixmap_strides_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
774 
775 uint32_t *
776 xcb_dri3_buffers_from_pixmap_offsets (const xcb_dri3_buffers_from_pixmap_reply_t *R);
777 
778 int
779 xcb_dri3_buffers_from_pixmap_offsets_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
780 
781 xcb_generic_iterator_t
782 xcb_dri3_buffers_from_pixmap_offsets_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
783 
784 int32_t *
785 xcb_dri3_buffers_from_pixmap_buffers (const xcb_dri3_buffers_from_pixmap_reply_t *R);
786 
787 int
788 xcb_dri3_buffers_from_pixmap_buffers_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
789 
790 xcb_generic_iterator_t
791 xcb_dri3_buffers_from_pixmap_buffers_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
792 
793 /**
794  * Return the reply
795  * @param c      The connection
796  * @param cookie The cookie
797  * @param e      The xcb_generic_error_t supplied
798  *
799  * Returns the reply of the request asked by
800  *
801  * The parameter @p e supplied to this function must be NULL if
802  * xcb_dri3_buffers_from_pixmap_unchecked(). is used.
803  * Otherwise, it stores the error if any.
804  *
805  * The returned value must be freed by the caller using free().
806  */
807 xcb_dri3_buffers_from_pixmap_reply_t *
808 xcb_dri3_buffers_from_pixmap_reply (xcb_connection_t                       *c,
809                                     xcb_dri3_buffers_from_pixmap_cookie_t   cookie  /**< */,
810                                     xcb_generic_error_t                   **e);
811 
812 /**
813  * Return the reply fds
814  * @param c      The connection
815  * @param reply  The reply
816  *
817  * Returns the array of reply fds of the request asked by
818  *
819  * The returned value must be freed by the caller using free().
820  */
821 int *
822 xcb_dri3_buffers_from_pixmap_reply_fds (xcb_connection_t                      *c  /**< */,
823                                         xcb_dri3_buffers_from_pixmap_reply_t  *reply);
824 
825 
826 #ifdef __cplusplus
827 }
828 #endif
829 
830 #endif
831 
832 /**
833  * @}
834  */
835