master
ブランチ master
ShaderPlayground / deps / xlibre / include / xcb / xf86dri.h
27.4 KB、988行 生 Blame 履歴
1/*
2 * This file generated automatically from xf86dri.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_XF86Dri_API XCB XF86Dri API
8 * @brief XF86Dri XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __XF86DRI_H
13#define __XF86DRI_H
14
15#include "xcb.h"
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21#define XCB_XF86DRI_MAJOR_VERSION 4
22#define XCB_XF86DRI_MINOR_VERSION 1
23
24extern xcb_extension_t xcb_xf86dri_id;
25
26/**
27 * @brief xcb_xf86dri_drm_clip_rect_t
28 **/
29typedef struct xcb_xf86dri_drm_clip_rect_t {
30 int16_t x1;
31 int16_t y1;
32 int16_t x2;
33 int16_t x3;
34} xcb_xf86dri_drm_clip_rect_t;
35
36/**
37 * @brief xcb_xf86dri_drm_clip_rect_iterator_t
38 **/
39typedef struct xcb_xf86dri_drm_clip_rect_iterator_t {
40 xcb_xf86dri_drm_clip_rect_t *data;
41 int rem;
42 int index;
43} xcb_xf86dri_drm_clip_rect_iterator_t;
44
45/**
46 * @brief xcb_xf86dri_query_version_cookie_t
47 **/
48typedef struct xcb_xf86dri_query_version_cookie_t {
49 unsigned int sequence;
50} xcb_xf86dri_query_version_cookie_t;
51
52/** Opcode for xcb_xf86dri_query_version. */
53#define XCB_XF86DRI_QUERY_VERSION 0
54
55/**
56 * @brief xcb_xf86dri_query_version_request_t
57 **/
58typedef struct xcb_xf86dri_query_version_request_t {
59 uint8_t major_opcode;
60 uint8_t minor_opcode;
61 uint16_t length;
62} xcb_xf86dri_query_version_request_t;
63
64/**
65 * @brief xcb_xf86dri_query_version_reply_t
66 **/
67typedef struct xcb_xf86dri_query_version_reply_t {
68 uint8_t response_type;
69 uint8_t pad0;
70 uint16_t sequence;
71 uint32_t length;
72 uint16_t dri_major_version;
73 uint16_t dri_minor_version;
74 uint32_t dri_minor_patch;
75} xcb_xf86dri_query_version_reply_t;
76
77/**
78 * @brief xcb_xf86dri_query_direct_rendering_capable_cookie_t
79 **/
80typedef struct xcb_xf86dri_query_direct_rendering_capable_cookie_t {
81 unsigned int sequence;
82} xcb_xf86dri_query_direct_rendering_capable_cookie_t;
83
84/** Opcode for xcb_xf86dri_query_direct_rendering_capable. */
85#define XCB_XF86DRI_QUERY_DIRECT_RENDERING_CAPABLE 1
86
87/**
88 * @brief xcb_xf86dri_query_direct_rendering_capable_request_t
89 **/
90typedef struct xcb_xf86dri_query_direct_rendering_capable_request_t {
91 uint8_t major_opcode;
92 uint8_t minor_opcode;
93 uint16_t length;
94 uint32_t screen;
95} xcb_xf86dri_query_direct_rendering_capable_request_t;
96
97/**
98 * @brief xcb_xf86dri_query_direct_rendering_capable_reply_t
99 **/
100typedef struct xcb_xf86dri_query_direct_rendering_capable_reply_t {
101 uint8_t response_type;
102 uint8_t pad0;
103 uint16_t sequence;
104 uint32_t length;
105 uint8_t is_capable;
106} xcb_xf86dri_query_direct_rendering_capable_reply_t;
107
108/**
109 * @brief xcb_xf86dri_open_connection_cookie_t
110 **/
111typedef struct xcb_xf86dri_open_connection_cookie_t {
112 unsigned int sequence;
113} xcb_xf86dri_open_connection_cookie_t;
114
115/** Opcode for xcb_xf86dri_open_connection. */
116#define XCB_XF86DRI_OPEN_CONNECTION 2
117
118/**
119 * @brief xcb_xf86dri_open_connection_request_t
120 **/
121typedef struct xcb_xf86dri_open_connection_request_t {
122 uint8_t major_opcode;
123 uint8_t minor_opcode;
124 uint16_t length;
125 uint32_t screen;
126} xcb_xf86dri_open_connection_request_t;
127
128/**
129 * @brief xcb_xf86dri_open_connection_reply_t
130 **/
131typedef struct xcb_xf86dri_open_connection_reply_t {
132 uint8_t response_type;
133 uint8_t pad0;
134 uint16_t sequence;
135 uint32_t length;
136 uint32_t sarea_handle_low;
137 uint32_t sarea_handle_high;
138 uint32_t bus_id_len;
139 uint8_t pad1[12];
140} xcb_xf86dri_open_connection_reply_t;
141
142/** Opcode for xcb_xf86dri_close_connection. */
143#define XCB_XF86DRI_CLOSE_CONNECTION 3
144
145/**
146 * @brief xcb_xf86dri_close_connection_request_t
147 **/
148typedef struct xcb_xf86dri_close_connection_request_t {
149 uint8_t major_opcode;
150 uint8_t minor_opcode;
151 uint16_t length;
152 uint32_t screen;
153} xcb_xf86dri_close_connection_request_t;
154
155/**
156 * @brief xcb_xf86dri_get_client_driver_name_cookie_t
157 **/
158typedef struct xcb_xf86dri_get_client_driver_name_cookie_t {
159 unsigned int sequence;
160} xcb_xf86dri_get_client_driver_name_cookie_t;
161
162/** Opcode for xcb_xf86dri_get_client_driver_name. */
163#define XCB_XF86DRI_GET_CLIENT_DRIVER_NAME 4
164
165/**
166 * @brief xcb_xf86dri_get_client_driver_name_request_t
167 **/
168typedef struct xcb_xf86dri_get_client_driver_name_request_t {
169 uint8_t major_opcode;
170 uint8_t minor_opcode;
171 uint16_t length;
172 uint32_t screen;
173} xcb_xf86dri_get_client_driver_name_request_t;
174
175/**
176 * @brief xcb_xf86dri_get_client_driver_name_reply_t
177 **/
178typedef struct xcb_xf86dri_get_client_driver_name_reply_t {
179 uint8_t response_type;
180 uint8_t pad0;
181 uint16_t sequence;
182 uint32_t length;
183 uint32_t client_driver_major_version;
184 uint32_t client_driver_minor_version;
185 uint32_t client_driver_patch_version;
186 uint32_t client_driver_name_len;
187 uint8_t pad1[8];
188} xcb_xf86dri_get_client_driver_name_reply_t;
189
190/**
191 * @brief xcb_xf86dri_create_context_cookie_t
192 **/
193typedef struct xcb_xf86dri_create_context_cookie_t {
194 unsigned int sequence;
195} xcb_xf86dri_create_context_cookie_t;
196
197/** Opcode for xcb_xf86dri_create_context. */
198#define XCB_XF86DRI_CREATE_CONTEXT 5
199
200/**
201 * @brief xcb_xf86dri_create_context_request_t
202 **/
203typedef struct xcb_xf86dri_create_context_request_t {
204 uint8_t major_opcode;
205 uint8_t minor_opcode;
206 uint16_t length;
207 uint32_t screen;
208 uint32_t visual;
209 uint32_t context;
210} xcb_xf86dri_create_context_request_t;
211
212/**
213 * @brief xcb_xf86dri_create_context_reply_t
214 **/
215typedef struct xcb_xf86dri_create_context_reply_t {
216 uint8_t response_type;
217 uint8_t pad0;
218 uint16_t sequence;
219 uint32_t length;
220 uint32_t hw_context;
221} xcb_xf86dri_create_context_reply_t;
222
223/** Opcode for xcb_xf86dri_destroy_context. */
224#define XCB_XF86DRI_DESTROY_CONTEXT 6
225
226/**
227 * @brief xcb_xf86dri_destroy_context_request_t
228 **/
229typedef struct xcb_xf86dri_destroy_context_request_t {
230 uint8_t major_opcode;
231 uint8_t minor_opcode;
232 uint16_t length;
233 uint32_t screen;
234 uint32_t context;
235} xcb_xf86dri_destroy_context_request_t;
236
237/**
238 * @brief xcb_xf86dri_create_drawable_cookie_t
239 **/
240typedef struct xcb_xf86dri_create_drawable_cookie_t {
241 unsigned int sequence;
242} xcb_xf86dri_create_drawable_cookie_t;
243
244/** Opcode for xcb_xf86dri_create_drawable. */
245#define XCB_XF86DRI_CREATE_DRAWABLE 7
246
247/**
248 * @brief xcb_xf86dri_create_drawable_request_t
249 **/
250typedef struct xcb_xf86dri_create_drawable_request_t {
251 uint8_t major_opcode;
252 uint8_t minor_opcode;
253 uint16_t length;
254 uint32_t screen;
255 uint32_t drawable;
256} xcb_xf86dri_create_drawable_request_t;
257
258/**
259 * @brief xcb_xf86dri_create_drawable_reply_t
260 **/
261typedef struct xcb_xf86dri_create_drawable_reply_t {
262 uint8_t response_type;
263 uint8_t pad0;
264 uint16_t sequence;
265 uint32_t length;
266 uint32_t hw_drawable_handle;
267} xcb_xf86dri_create_drawable_reply_t;
268
269/** Opcode for xcb_xf86dri_destroy_drawable. */
270#define XCB_XF86DRI_DESTROY_DRAWABLE 8
271
272/**
273 * @brief xcb_xf86dri_destroy_drawable_request_t
274 **/
275typedef struct xcb_xf86dri_destroy_drawable_request_t {
276 uint8_t major_opcode;
277 uint8_t minor_opcode;
278 uint16_t length;
279 uint32_t screen;
280 uint32_t drawable;
281} xcb_xf86dri_destroy_drawable_request_t;
282
283/**
284 * @brief xcb_xf86dri_get_drawable_info_cookie_t
285 **/
286typedef struct xcb_xf86dri_get_drawable_info_cookie_t {
287 unsigned int sequence;
288} xcb_xf86dri_get_drawable_info_cookie_t;
289
290/** Opcode for xcb_xf86dri_get_drawable_info. */
291#define XCB_XF86DRI_GET_DRAWABLE_INFO 9
292
293/**
294 * @brief xcb_xf86dri_get_drawable_info_request_t
295 **/
296typedef struct xcb_xf86dri_get_drawable_info_request_t {
297 uint8_t major_opcode;
298 uint8_t minor_opcode;
299 uint16_t length;
300 uint32_t screen;
301 uint32_t drawable;
302} xcb_xf86dri_get_drawable_info_request_t;
303
304/**
305 * @brief xcb_xf86dri_get_drawable_info_reply_t
306 **/
307typedef struct xcb_xf86dri_get_drawable_info_reply_t {
308 uint8_t response_type;
309 uint8_t pad0;
310 uint16_t sequence;
311 uint32_t length;
312 uint32_t drawable_table_index;
313 uint32_t drawable_table_stamp;
314 int16_t drawable_origin_X;
315 int16_t drawable_origin_Y;
316 int16_t drawable_size_W;
317 int16_t drawable_size_H;
318 uint32_t num_clip_rects;
319 int16_t back_x;
320 int16_t back_y;
321 uint32_t num_back_clip_rects;
322} xcb_xf86dri_get_drawable_info_reply_t;
323
324/**
325 * @brief xcb_xf86dri_get_device_info_cookie_t
326 **/
327typedef struct xcb_xf86dri_get_device_info_cookie_t {
328 unsigned int sequence;
329} xcb_xf86dri_get_device_info_cookie_t;
330
331/** Opcode for xcb_xf86dri_get_device_info. */
332#define XCB_XF86DRI_GET_DEVICE_INFO 10
333
334/**
335 * @brief xcb_xf86dri_get_device_info_request_t
336 **/
337typedef struct xcb_xf86dri_get_device_info_request_t {
338 uint8_t major_opcode;
339 uint8_t minor_opcode;
340 uint16_t length;
341 uint32_t screen;
342} xcb_xf86dri_get_device_info_request_t;
343
344/**
345 * @brief xcb_xf86dri_get_device_info_reply_t
346 **/
347typedef struct xcb_xf86dri_get_device_info_reply_t {
348 uint8_t response_type;
349 uint8_t pad0;
350 uint16_t sequence;
351 uint32_t length;
352 uint32_t framebuffer_handle_low;
353 uint32_t framebuffer_handle_high;
354 uint32_t framebuffer_origin_offset;
355 uint32_t framebuffer_size;
356 uint32_t framebuffer_stride;
357 uint32_t device_private_size;
358} xcb_xf86dri_get_device_info_reply_t;
359
360/**
361 * @brief xcb_xf86dri_auth_connection_cookie_t
362 **/
363typedef struct xcb_xf86dri_auth_connection_cookie_t {
364 unsigned int sequence;
365} xcb_xf86dri_auth_connection_cookie_t;
366
367/** Opcode for xcb_xf86dri_auth_connection. */
368#define XCB_XF86DRI_AUTH_CONNECTION 11
369
370/**
371 * @brief xcb_xf86dri_auth_connection_request_t
372 **/
373typedef struct xcb_xf86dri_auth_connection_request_t {
374 uint8_t major_opcode;
375 uint8_t minor_opcode;
376 uint16_t length;
377 uint32_t screen;
378 uint32_t magic;
379} xcb_xf86dri_auth_connection_request_t;
380
381/**
382 * @brief xcb_xf86dri_auth_connection_reply_t
383 **/
384typedef struct xcb_xf86dri_auth_connection_reply_t {
385 uint8_t response_type;
386 uint8_t pad0;
387 uint16_t sequence;
388 uint32_t length;
389 uint32_t authenticated;
390} xcb_xf86dri_auth_connection_reply_t;
391
392/**
393 * Get the next element of the iterator
394 * @param i Pointer to a xcb_xf86dri_drm_clip_rect_iterator_t
395 *
396 * Get the next element in the iterator. The member rem is
397 * decreased by one. The member data points to the next
398 * element. The member index is increased by sizeof(xcb_xf86dri_drm_clip_rect_t)
399 */
400void
401xcb_xf86dri_drm_clip_rect_next (xcb_xf86dri_drm_clip_rect_iterator_t *i);
402
403/**
404 * Return the iterator pointing to the last element
405 * @param i An xcb_xf86dri_drm_clip_rect_iterator_t
406 * @return The iterator pointing to the last element
407 *
408 * Set the current element in the iterator to the last element.
409 * The member rem is set to 0. The member data points to the
410 * last element.
411 */
412xcb_generic_iterator_t
413xcb_xf86dri_drm_clip_rect_end (xcb_xf86dri_drm_clip_rect_iterator_t i);
414
415/**
416 *
417 * @param c The connection
418 * @return A cookie
419 *
420 * Delivers a request to the X server.
421 *
422 */
423xcb_xf86dri_query_version_cookie_t
424xcb_xf86dri_query_version (xcb_connection_t *c);
425
426/**
427 *
428 * @param c The connection
429 * @return A cookie
430 *
431 * Delivers a request to the X server.
432 *
433 * This form can be used only if the request will cause
434 * a reply to be generated. Any returned error will be
435 * placed in the event queue.
436 */
437xcb_xf86dri_query_version_cookie_t
438xcb_xf86dri_query_version_unchecked (xcb_connection_t *c);
439
440/**
441 * Return the reply
442 * @param c The connection
443 * @param cookie The cookie
444 * @param e The xcb_generic_error_t supplied
445 *
446 * Returns the reply of the request asked by
447 *
448 * The parameter @p e supplied to this function must be NULL if
449 * xcb_xf86dri_query_version_unchecked(). is used.
450 * Otherwise, it stores the error if any.
451 *
452 * The returned value must be freed by the caller using free().
453 */
454xcb_xf86dri_query_version_reply_t *
455xcb_xf86dri_query_version_reply (xcb_connection_t *c,
456 xcb_xf86dri_query_version_cookie_t cookie /**< */,
457 xcb_generic_error_t **e);
458
459/**
460 *
461 * @param c The connection
462 * @return A cookie
463 *
464 * Delivers a request to the X server.
465 *
466 */
467xcb_xf86dri_query_direct_rendering_capable_cookie_t
468xcb_xf86dri_query_direct_rendering_capable (xcb_connection_t *c,
469 uint32_t screen);
470
471/**
472 *
473 * @param c The connection
474 * @return A cookie
475 *
476 * Delivers a request to the X server.
477 *
478 * This form can be used only if the request will cause
479 * a reply to be generated. Any returned error will be
480 * placed in the event queue.
481 */
482xcb_xf86dri_query_direct_rendering_capable_cookie_t
483xcb_xf86dri_query_direct_rendering_capable_unchecked (xcb_connection_t *c,
484 uint32_t screen);
485
486/**
487 * Return the reply
488 * @param c The connection
489 * @param cookie The cookie
490 * @param e The xcb_generic_error_t supplied
491 *
492 * Returns the reply of the request asked by
493 *
494 * The parameter @p e supplied to this function must be NULL if
495 * xcb_xf86dri_query_direct_rendering_capable_unchecked(). is used.
496 * Otherwise, it stores the error if any.
497 *
498 * The returned value must be freed by the caller using free().
499 */
500xcb_xf86dri_query_direct_rendering_capable_reply_t *
501xcb_xf86dri_query_direct_rendering_capable_reply (xcb_connection_t *c,
502 xcb_xf86dri_query_direct_rendering_capable_cookie_t cookie /**< */,
503 xcb_generic_error_t **e);
504
505int
506xcb_xf86dri_open_connection_sizeof (const void *_buffer);
507
508/**
509 *
510 * @param c The connection
511 * @return A cookie
512 *
513 * Delivers a request to the X server.
514 *
515 */
516xcb_xf86dri_open_connection_cookie_t
517xcb_xf86dri_open_connection (xcb_connection_t *c,
518 uint32_t screen);
519
520/**
521 *
522 * @param c The connection
523 * @return A cookie
524 *
525 * Delivers a request to the X server.
526 *
527 * This form can be used only if the request will cause
528 * a reply to be generated. Any returned error will be
529 * placed in the event queue.
530 */
531xcb_xf86dri_open_connection_cookie_t
532xcb_xf86dri_open_connection_unchecked (xcb_connection_t *c,
533 uint32_t screen);
534
535char *
536xcb_xf86dri_open_connection_bus_id (const xcb_xf86dri_open_connection_reply_t *R);
537
538int
539xcb_xf86dri_open_connection_bus_id_length (const xcb_xf86dri_open_connection_reply_t *R);
540
541xcb_generic_iterator_t
542xcb_xf86dri_open_connection_bus_id_end (const xcb_xf86dri_open_connection_reply_t *R);
543
544/**
545 * Return the reply
546 * @param c The connection
547 * @param cookie The cookie
548 * @param e The xcb_generic_error_t supplied
549 *
550 * Returns the reply of the request asked by
551 *
552 * The parameter @p e supplied to this function must be NULL if
553 * xcb_xf86dri_open_connection_unchecked(). is used.
554 * Otherwise, it stores the error if any.
555 *
556 * The returned value must be freed by the caller using free().
557 */
558xcb_xf86dri_open_connection_reply_t *
559xcb_xf86dri_open_connection_reply (xcb_connection_t *c,
560 xcb_xf86dri_open_connection_cookie_t cookie /**< */,
561 xcb_generic_error_t **e);
562
563/**
564 *
565 * @param c The connection
566 * @return A cookie
567 *
568 * Delivers a request to the X server.
569 *
570 * This form can be used only if the request will not cause
571 * a reply to be generated. Any returned error will be
572 * saved for handling by xcb_request_check().
573 */
574xcb_void_cookie_t
575xcb_xf86dri_close_connection_checked (xcb_connection_t *c,
576 uint32_t screen);
577
578/**
579 *
580 * @param c The connection
581 * @return A cookie
582 *
583 * Delivers a request to the X server.
584 *
585 */
586xcb_void_cookie_t
587xcb_xf86dri_close_connection (xcb_connection_t *c,
588 uint32_t screen);
589
590int
591xcb_xf86dri_get_client_driver_name_sizeof (const void *_buffer);
592
593/**
594 *
595 * @param c The connection
596 * @return A cookie
597 *
598 * Delivers a request to the X server.
599 *
600 */
601xcb_xf86dri_get_client_driver_name_cookie_t
602xcb_xf86dri_get_client_driver_name (xcb_connection_t *c,
603 uint32_t screen);
604
605/**
606 *
607 * @param c The connection
608 * @return A cookie
609 *
610 * Delivers a request to the X server.
611 *
612 * This form can be used only if the request will cause
613 * a reply to be generated. Any returned error will be
614 * placed in the event queue.
615 */
616xcb_xf86dri_get_client_driver_name_cookie_t
617xcb_xf86dri_get_client_driver_name_unchecked (xcb_connection_t *c,
618 uint32_t screen);
619
620char *
621xcb_xf86dri_get_client_driver_name_client_driver_name (const xcb_xf86dri_get_client_driver_name_reply_t *R);
622
623int
624xcb_xf86dri_get_client_driver_name_client_driver_name_length (const xcb_xf86dri_get_client_driver_name_reply_t *R);
625
626xcb_generic_iterator_t
627xcb_xf86dri_get_client_driver_name_client_driver_name_end (const xcb_xf86dri_get_client_driver_name_reply_t *R);
628
629/**
630 * Return the reply
631 * @param c The connection
632 * @param cookie The cookie
633 * @param e The xcb_generic_error_t supplied
634 *
635 * Returns the reply of the request asked by
636 *
637 * The parameter @p e supplied to this function must be NULL if
638 * xcb_xf86dri_get_client_driver_name_unchecked(). is used.
639 * Otherwise, it stores the error if any.
640 *
641 * The returned value must be freed by the caller using free().
642 */
643xcb_xf86dri_get_client_driver_name_reply_t *
644xcb_xf86dri_get_client_driver_name_reply (xcb_connection_t *c,
645 xcb_xf86dri_get_client_driver_name_cookie_t cookie /**< */,
646 xcb_generic_error_t **e);
647
648/**
649 *
650 * @param c The connection
651 * @return A cookie
652 *
653 * Delivers a request to the X server.
654 *
655 */
656xcb_xf86dri_create_context_cookie_t
657xcb_xf86dri_create_context (xcb_connection_t *c,
658 uint32_t screen,
659 uint32_t visual,
660 uint32_t context);
661
662/**
663 *
664 * @param c The connection
665 * @return A cookie
666 *
667 * Delivers a request to the X server.
668 *
669 * This form can be used only if the request will cause
670 * a reply to be generated. Any returned error will be
671 * placed in the event queue.
672 */
673xcb_xf86dri_create_context_cookie_t
674xcb_xf86dri_create_context_unchecked (xcb_connection_t *c,
675 uint32_t screen,
676 uint32_t visual,
677 uint32_t context);
678
679/**
680 * Return the reply
681 * @param c The connection
682 * @param cookie The cookie
683 * @param e The xcb_generic_error_t supplied
684 *
685 * Returns the reply of the request asked by
686 *
687 * The parameter @p e supplied to this function must be NULL if
688 * xcb_xf86dri_create_context_unchecked(). is used.
689 * Otherwise, it stores the error if any.
690 *
691 * The returned value must be freed by the caller using free().
692 */
693xcb_xf86dri_create_context_reply_t *
694xcb_xf86dri_create_context_reply (xcb_connection_t *c,
695 xcb_xf86dri_create_context_cookie_t cookie /**< */,
696 xcb_generic_error_t **e);
697
698/**
699 *
700 * @param c The connection
701 * @return A cookie
702 *
703 * Delivers a request to the X server.
704 *
705 * This form can be used only if the request will not cause
706 * a reply to be generated. Any returned error will be
707 * saved for handling by xcb_request_check().
708 */
709xcb_void_cookie_t
710xcb_xf86dri_destroy_context_checked (xcb_connection_t *c,
711 uint32_t screen,
712 uint32_t context);
713
714/**
715 *
716 * @param c The connection
717 * @return A cookie
718 *
719 * Delivers a request to the X server.
720 *
721 */
722xcb_void_cookie_t
723xcb_xf86dri_destroy_context (xcb_connection_t *c,
724 uint32_t screen,
725 uint32_t context);
726
727/**
728 *
729 * @param c The connection
730 * @return A cookie
731 *
732 * Delivers a request to the X server.
733 *
734 */
735xcb_xf86dri_create_drawable_cookie_t
736xcb_xf86dri_create_drawable (xcb_connection_t *c,
737 uint32_t screen,
738 uint32_t drawable);
739
740/**
741 *
742 * @param c The connection
743 * @return A cookie
744 *
745 * Delivers a request to the X server.
746 *
747 * This form can be used only if the request will cause
748 * a reply to be generated. Any returned error will be
749 * placed in the event queue.
750 */
751xcb_xf86dri_create_drawable_cookie_t
752xcb_xf86dri_create_drawable_unchecked (xcb_connection_t *c,
753 uint32_t screen,
754 uint32_t drawable);
755
756/**
757 * Return the reply
758 * @param c The connection
759 * @param cookie The cookie
760 * @param e The xcb_generic_error_t supplied
761 *
762 * Returns the reply of the request asked by
763 *
764 * The parameter @p e supplied to this function must be NULL if
765 * xcb_xf86dri_create_drawable_unchecked(). is used.
766 * Otherwise, it stores the error if any.
767 *
768 * The returned value must be freed by the caller using free().
769 */
770xcb_xf86dri_create_drawable_reply_t *
771xcb_xf86dri_create_drawable_reply (xcb_connection_t *c,
772 xcb_xf86dri_create_drawable_cookie_t cookie /**< */,
773 xcb_generic_error_t **e);
774
775/**
776 *
777 * @param c The connection
778 * @return A cookie
779 *
780 * Delivers a request to the X server.
781 *
782 * This form can be used only if the request will not cause
783 * a reply to be generated. Any returned error will be
784 * saved for handling by xcb_request_check().
785 */
786xcb_void_cookie_t
787xcb_xf86dri_destroy_drawable_checked (xcb_connection_t *c,
788 uint32_t screen,
789 uint32_t drawable);
790
791/**
792 *
793 * @param c The connection
794 * @return A cookie
795 *
796 * Delivers a request to the X server.
797 *
798 */
799xcb_void_cookie_t
800xcb_xf86dri_destroy_drawable (xcb_connection_t *c,
801 uint32_t screen,
802 uint32_t drawable);
803
804int
805xcb_xf86dri_get_drawable_info_sizeof (const void *_buffer);
806
807/**
808 *
809 * @param c The connection
810 * @return A cookie
811 *
812 * Delivers a request to the X server.
813 *
814 */
815xcb_xf86dri_get_drawable_info_cookie_t
816xcb_xf86dri_get_drawable_info (xcb_connection_t *c,
817 uint32_t screen,
818 uint32_t drawable);
819
820/**
821 *
822 * @param c The connection
823 * @return A cookie
824 *
825 * Delivers a request to the X server.
826 *
827 * This form can be used only if the request will cause
828 * a reply to be generated. Any returned error will be
829 * placed in the event queue.
830 */
831xcb_xf86dri_get_drawable_info_cookie_t
832xcb_xf86dri_get_drawable_info_unchecked (xcb_connection_t *c,
833 uint32_t screen,
834 uint32_t drawable);
835
836xcb_xf86dri_drm_clip_rect_t *
837xcb_xf86dri_get_drawable_info_clip_rects (const xcb_xf86dri_get_drawable_info_reply_t *R);
838
839int
840xcb_xf86dri_get_drawable_info_clip_rects_length (const xcb_xf86dri_get_drawable_info_reply_t *R);
841
842xcb_xf86dri_drm_clip_rect_iterator_t
843xcb_xf86dri_get_drawable_info_clip_rects_iterator (const xcb_xf86dri_get_drawable_info_reply_t *R);
844
845xcb_xf86dri_drm_clip_rect_t *
846xcb_xf86dri_get_drawable_info_back_clip_rects (const xcb_xf86dri_get_drawable_info_reply_t *R);
847
848int
849xcb_xf86dri_get_drawable_info_back_clip_rects_length (const xcb_xf86dri_get_drawable_info_reply_t *R);
850
851xcb_xf86dri_drm_clip_rect_iterator_t
852xcb_xf86dri_get_drawable_info_back_clip_rects_iterator (const xcb_xf86dri_get_drawable_info_reply_t *R);
853
854/**
855 * Return the reply
856 * @param c The connection
857 * @param cookie The cookie
858 * @param e The xcb_generic_error_t supplied
859 *
860 * Returns the reply of the request asked by
861 *
862 * The parameter @p e supplied to this function must be NULL if
863 * xcb_xf86dri_get_drawable_info_unchecked(). is used.
864 * Otherwise, it stores the error if any.
865 *
866 * The returned value must be freed by the caller using free().
867 */
868xcb_xf86dri_get_drawable_info_reply_t *
869xcb_xf86dri_get_drawable_info_reply (xcb_connection_t *c,
870 xcb_xf86dri_get_drawable_info_cookie_t cookie /**< */,
871 xcb_generic_error_t **e);
872
873int
874xcb_xf86dri_get_device_info_sizeof (const void *_buffer);
875
876/**
877 *
878 * @param c The connection
879 * @return A cookie
880 *
881 * Delivers a request to the X server.
882 *
883 */
884xcb_xf86dri_get_device_info_cookie_t
885xcb_xf86dri_get_device_info (xcb_connection_t *c,
886 uint32_t screen);
887
888/**
889 *
890 * @param c The connection
891 * @return A cookie
892 *
893 * Delivers a request to the X server.
894 *
895 * This form can be used only if the request will cause
896 * a reply to be generated. Any returned error will be
897 * placed in the event queue.
898 */
899xcb_xf86dri_get_device_info_cookie_t
900xcb_xf86dri_get_device_info_unchecked (xcb_connection_t *c,
901 uint32_t screen);
902
903uint32_t *
904xcb_xf86dri_get_device_info_device_private (const xcb_xf86dri_get_device_info_reply_t *R);
905
906int
907xcb_xf86dri_get_device_info_device_private_length (const xcb_xf86dri_get_device_info_reply_t *R);
908
909xcb_generic_iterator_t
910xcb_xf86dri_get_device_info_device_private_end (const xcb_xf86dri_get_device_info_reply_t *R);
911
912/**
913 * Return the reply
914 * @param c The connection
915 * @param cookie The cookie
916 * @param e The xcb_generic_error_t supplied
917 *
918 * Returns the reply of the request asked by
919 *
920 * The parameter @p e supplied to this function must be NULL if
921 * xcb_xf86dri_get_device_info_unchecked(). is used.
922 * Otherwise, it stores the error if any.
923 *
924 * The returned value must be freed by the caller using free().
925 */
926xcb_xf86dri_get_device_info_reply_t *
927xcb_xf86dri_get_device_info_reply (xcb_connection_t *c,
928 xcb_xf86dri_get_device_info_cookie_t cookie /**< */,
929 xcb_generic_error_t **e);
930
931/**
932 *
933 * @param c The connection
934 * @return A cookie
935 *
936 * Delivers a request to the X server.
937 *
938 */
939xcb_xf86dri_auth_connection_cookie_t
940xcb_xf86dri_auth_connection (xcb_connection_t *c,
941 uint32_t screen,
942 uint32_t magic);
943
944/**
945 *
946 * @param c The connection
947 * @return A cookie
948 *
949 * Delivers a request to the X server.
950 *
951 * This form can be used only if the request will cause
952 * a reply to be generated. Any returned error will be
953 * placed in the event queue.
954 */
955xcb_xf86dri_auth_connection_cookie_t
956xcb_xf86dri_auth_connection_unchecked (xcb_connection_t *c,
957 uint32_t screen,
958 uint32_t magic);
959
960/**
961 * Return the reply
962 * @param c The connection
963 * @param cookie The cookie
964 * @param e The xcb_generic_error_t supplied
965 *
966 * Returns the reply of the request asked by
967 *
968 * The parameter @p e supplied to this function must be NULL if
969 * xcb_xf86dri_auth_connection_unchecked(). is used.
970 * Otherwise, it stores the error if any.
971 *
972 * The returned value must be freed by the caller using free().
973 */
974xcb_xf86dri_auth_connection_reply_t *
975xcb_xf86dri_auth_connection_reply (xcb_connection_t *c,
976 xcb_xf86dri_auth_connection_cookie_t cookie /**< */,
977 xcb_generic_error_t **e);
978
979
980#ifdef __cplusplus
981}
982#endif
983
984#endif
985
986/**
987 * @}
988 */