XCB  1.10
present.h
1 /*
2  * This file generated automatically from present.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
12 #ifndef __PRESENT_H
13 #define __PRESENT_H
14 
15 #include "xcb.h"
16 #include "xproto.h"
17 #include "render.h"
18 #include "randr.h"
19 #include "shape.h"
20 #include "xfixes.h"
21 #include "sync.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #define XCB_PRESENT_MAJOR_VERSION 1
28 #define XCB_PRESENT_MINOR_VERSION 0
29 
30 extern xcb_extension_t xcb_present_id;
31 
32 typedef enum xcb_present_event_enum_t {
33  XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0,
34  XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1,
35  XCB_PRESENT_EVENT_IDLE_NOTIFY = 2,
36  XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3
37 } xcb_present_event_enum_t;
38 
39 typedef enum xcb_present_event_mask_t {
40  XCB_PRESENT_EVENT_MASK_NO_EVENT = 0,
41  XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1,
42  XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2,
43  XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4,
44  XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8
45 } xcb_present_event_mask_t;
46 
47 typedef enum xcb_present_option_t {
48  XCB_PRESENT_OPTION_NONE = 0,
49  XCB_PRESENT_OPTION_ASYNC = 1,
50  XCB_PRESENT_OPTION_COPY = 2,
51  XCB_PRESENT_OPTION_UST = 4
52 } xcb_present_option_t;
53 
54 typedef enum xcb_present_capability_t {
55  XCB_PRESENT_CAPABILITY_NONE = 0,
56  XCB_PRESENT_CAPABILITY_ASYNC = 1,
57  XCB_PRESENT_CAPABILITY_FENCE = 2,
58  XCB_PRESENT_CAPABILITY_UST = 4
59 } xcb_present_capability_t;
60 
61 typedef enum xcb_present_complete_kind_t {
62  XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0,
63  XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1
64 } xcb_present_complete_kind_t;
65 
66 typedef enum xcb_present_complete_mode_t {
67  XCB_PRESENT_COMPLETE_MODE_COPY = 0,
68  XCB_PRESENT_COMPLETE_MODE_FLIP = 1,
69  XCB_PRESENT_COMPLETE_MODE_SKIP = 2
70 } xcb_present_complete_mode_t;
71 
75 typedef struct xcb_present_notify_t {
76  xcb_window_t window;
77  uint32_t serial;
79 
84  xcb_present_notify_t *data;
85  int rem;
86  int index;
88 
93  unsigned int sequence;
95 
97 #define XCB_PRESENT_QUERY_VERSION 0
98 
103  uint8_t major_opcode;
104  uint8_t minor_opcode;
105  uint16_t length;
106  uint32_t major_version;
107  uint32_t minor_version;
109 
114  uint8_t response_type;
115  uint8_t pad0;
116  uint16_t sequence;
117  uint32_t length;
118  uint32_t major_version;
119  uint32_t minor_version;
121 
123 #define XCB_PRESENT_PIXMAP 1
124 
129  uint8_t major_opcode;
130  uint8_t minor_opcode;
131  uint16_t length;
132  xcb_window_t window;
133  xcb_pixmap_t pixmap;
134  uint32_t serial;
135  xcb_xfixes_region_t valid;
136  xcb_xfixes_region_t update;
137  int16_t x_off;
138  int16_t y_off;
139  xcb_randr_crtc_t target_crtc;
140  xcb_sync_fence_t wait_fence;
141  xcb_sync_fence_t idle_fence;
142  uint32_t options;
143  uint8_t pad0[4];
144  uint64_t target_msc;
145  uint64_t divisor;
146  uint64_t remainder;
148 
150 #define XCB_PRESENT_NOTIFY_MSC 2
151 
156  uint8_t major_opcode;
157  uint8_t minor_opcode;
158  uint16_t length;
159  xcb_window_t window;
160  uint32_t serial;
161  uint8_t pad0[4];
162  uint64_t target_msc;
163  uint64_t divisor;
164  uint64_t remainder;
166 
167 typedef uint32_t xcb_present_event_t;
168 
173  xcb_present_event_t *data;
174  int rem;
175  int index;
177 
179 #define XCB_PRESENT_SELECT_INPUT 3
180 
185  uint8_t major_opcode;
186  uint8_t minor_opcode;
187  uint16_t length;
188  xcb_present_event_t eid;
189  xcb_window_t window;
190  uint32_t event_mask;
192 
197  unsigned int sequence;
199 
201 #define XCB_PRESENT_QUERY_CAPABILITIES 4
202 
207  uint8_t major_opcode;
208  uint8_t minor_opcode;
209  uint16_t length;
210  uint32_t target;
212 
217  uint8_t response_type;
218  uint8_t pad0;
219  uint16_t sequence;
220  uint32_t length;
221  uint32_t capabilities;
223 
225 #define XCB_PRESENT_GENERIC 0
226 
231  uint8_t response_type;
232  uint8_t extension;
233  uint16_t sequence;
234  uint32_t length;
235  uint16_t evtype;
236  uint8_t pad0[2];
237  xcb_present_event_t event;
239 
241 #define XCB_PRESENT_CONFIGURE_NOTIFY 0
242 
247  uint8_t response_type;
248  uint8_t extension;
249  uint16_t sequence;
250  uint32_t length;
251  uint16_t event_type;
252  uint8_t pad0[2];
253  xcb_present_event_t event;
254  xcb_window_t window;
255  int16_t x;
256  int16_t y;
257  uint16_t width;
258  uint16_t height;
259  int16_t off_x;
260  int16_t off_y;
261  uint32_t full_sequence;
262  uint16_t pixmap_width;
263  uint16_t pixmap_height;
264  uint32_t pixmap_flags;
266 
268 #define XCB_PRESENT_COMPLETE_NOTIFY 1
269 
274  uint8_t response_type;
275  uint8_t extension;
276  uint16_t sequence;
277  uint32_t length;
278  uint16_t event_type;
279  uint8_t kind;
280  uint8_t mode;
281  xcb_present_event_t event;
282  xcb_window_t window;
283  uint32_t serial;
284  uint64_t ust;
285  uint32_t full_sequence;
286  uint64_t msc;
288 
290 #define XCB_PRESENT_IDLE_NOTIFY 2
291 
296  uint8_t response_type;
297  uint8_t extension;
298  uint16_t sequence;
299  uint32_t length;
300  uint16_t event_type;
301  uint8_t pad0[2];
302  xcb_present_event_t event;
303  xcb_window_t window;
304  uint32_t serial;
305  xcb_pixmap_t pixmap;
306  xcb_sync_fence_t idle_fence;
307  uint32_t full_sequence;
309 
311 #define XCB_PRESENT_REDIRECT_NOTIFY 3
312 
317  uint8_t response_type;
318  uint8_t extension;
319  uint16_t sequence;
320  uint32_t length;
321  uint16_t event_type;
322  uint8_t update_window;
323  uint8_t pad0;
324  xcb_present_event_t event;
325  xcb_window_t event_window;
326  xcb_window_t window;
327  xcb_pixmap_t pixmap;
328  uint32_t serial;
329  uint32_t full_sequence;
330  xcb_xfixes_region_t valid_region;
331  xcb_xfixes_region_t update_region;
332  xcb_rectangle_t valid_rect;
333  xcb_rectangle_t update_rect;
334  int16_t x_off;
335  int16_t y_off;
336  xcb_randr_crtc_t target_crtc;
337  xcb_sync_fence_t wait_fence;
338  xcb_sync_fence_t idle_fence;
339  uint32_t options;
340  uint8_t pad1[4];
341  uint64_t target_msc;
342  uint64_t divisor;
343  uint64_t remainder;
345 
355 /*****************************************************************************
356  **
357  ** void xcb_present_notify_next
358  **
359  ** @param xcb_present_notify_iterator_t *i
360  ** @returns void
361  **
362  *****************************************************************************/
363 
364 void
366 
377 /*****************************************************************************
378  **
379  ** xcb_generic_iterator_t xcb_present_notify_end
380  **
381  ** @param xcb_present_notify_iterator_t i
382  ** @returns xcb_generic_iterator_t
383  **
384  *****************************************************************************/
385 
388 
398 /*****************************************************************************
399  **
400  ** xcb_present_query_version_cookie_t xcb_present_query_version
401  **
402  ** @param xcb_connection_t *c
403  ** @param uint32_t major_version
404  ** @param uint32_t minor_version
405  ** @returns xcb_present_query_version_cookie_t
406  **
407  *****************************************************************************/
408 
411  uint32_t major_version ,
412  uint32_t minor_version );
413 
426 /*****************************************************************************
427  **
428  ** xcb_present_query_version_cookie_t xcb_present_query_version_unchecked
429  **
430  ** @param xcb_connection_t *c
431  ** @param uint32_t major_version
432  ** @param uint32_t minor_version
433  ** @returns xcb_present_query_version_cookie_t
434  **
435  *****************************************************************************/
436 
439  uint32_t major_version ,
440  uint32_t minor_version );
441 
457 /*****************************************************************************
458  **
459  ** xcb_present_query_version_reply_t * xcb_present_query_version_reply
460  **
461  ** @param xcb_connection_t *c
462  ** @param xcb_present_query_version_cookie_t cookie
463  ** @param xcb_generic_error_t **e
464  ** @returns xcb_present_query_version_reply_t *
465  **
466  *****************************************************************************/
467 
471  xcb_generic_error_t **e );
472 
473 int
474 xcb_present_pixmap_sizeof (const void *_buffer ,
475  uint32_t notifies_len );
476 
489 /*****************************************************************************
490  **
491  ** xcb_void_cookie_t xcb_present_pixmap_checked
492  **
493  ** @param xcb_connection_t *c
494  ** @param xcb_window_t window
495  ** @param xcb_pixmap_t pixmap
496  ** @param uint32_t serial
497  ** @param xcb_xfixes_region_t valid
498  ** @param xcb_xfixes_region_t update
499  ** @param int16_t x_off
500  ** @param int16_t y_off
501  ** @param xcb_randr_crtc_t target_crtc
502  ** @param xcb_sync_fence_t wait_fence
503  ** @param xcb_sync_fence_t idle_fence
504  ** @param uint32_t options
505  ** @param uint64_t target_msc
506  ** @param uint64_t divisor
507  ** @param uint64_t remainder
508  ** @param uint32_t notifies_len
509  ** @param const xcb_present_notify_t *notifies
510  ** @returns xcb_void_cookie_t
511  **
512  *****************************************************************************/
513 
516  xcb_window_t window ,
517  xcb_pixmap_t pixmap ,
518  uint32_t serial ,
519  xcb_xfixes_region_t valid ,
520  xcb_xfixes_region_t update ,
521  int16_t x_off ,
522  int16_t y_off ,
523  xcb_randr_crtc_t target_crtc ,
524  xcb_sync_fence_t wait_fence ,
525  xcb_sync_fence_t idle_fence ,
526  uint32_t options ,
527  uint64_t target_msc ,
528  uint64_t divisor ,
529  uint64_t remainder ,
530  uint32_t notifies_len ,
531  const xcb_present_notify_t *notifies );
532 
542 /*****************************************************************************
543  **
544  ** xcb_void_cookie_t xcb_present_pixmap
545  **
546  ** @param xcb_connection_t *c
547  ** @param xcb_window_t window
548  ** @param xcb_pixmap_t pixmap
549  ** @param uint32_t serial
550  ** @param xcb_xfixes_region_t valid
551  ** @param xcb_xfixes_region_t update
552  ** @param int16_t x_off
553  ** @param int16_t y_off
554  ** @param xcb_randr_crtc_t target_crtc
555  ** @param xcb_sync_fence_t wait_fence
556  ** @param xcb_sync_fence_t idle_fence
557  ** @param uint32_t options
558  ** @param uint64_t target_msc
559  ** @param uint64_t divisor
560  ** @param uint64_t remainder
561  ** @param uint32_t notifies_len
562  ** @param const xcb_present_notify_t *notifies
563  ** @returns xcb_void_cookie_t
564  **
565  *****************************************************************************/
566 
569  xcb_window_t window ,
570  xcb_pixmap_t pixmap ,
571  uint32_t serial ,
572  xcb_xfixes_region_t valid ,
573  xcb_xfixes_region_t update ,
574  int16_t x_off ,
575  int16_t y_off ,
576  xcb_randr_crtc_t target_crtc ,
577  xcb_sync_fence_t wait_fence ,
578  xcb_sync_fence_t idle_fence ,
579  uint32_t options ,
580  uint64_t target_msc ,
581  uint64_t divisor ,
582  uint64_t remainder ,
583  uint32_t notifies_len ,
584  const xcb_present_notify_t *notifies );
585 
598 /*****************************************************************************
599  **
600  ** xcb_void_cookie_t xcb_present_notify_msc_checked
601  **
602  ** @param xcb_connection_t *c
603  ** @param xcb_window_t window
604  ** @param uint32_t serial
605  ** @param uint64_t target_msc
606  ** @param uint64_t divisor
607  ** @param uint64_t remainder
608  ** @returns xcb_void_cookie_t
609  **
610  *****************************************************************************/
611 
614  xcb_window_t window ,
615  uint32_t serial ,
616  uint64_t target_msc ,
617  uint64_t divisor ,
618  uint64_t remainder );
619 
629 /*****************************************************************************
630  **
631  ** xcb_void_cookie_t xcb_present_notify_msc
632  **
633  ** @param xcb_connection_t *c
634  ** @param xcb_window_t window
635  ** @param uint32_t serial
636  ** @param uint64_t target_msc
637  ** @param uint64_t divisor
638  ** @param uint64_t remainder
639  ** @returns xcb_void_cookie_t
640  **
641  *****************************************************************************/
642 
645  xcb_window_t window ,
646  uint32_t serial ,
647  uint64_t target_msc ,
648  uint64_t divisor ,
649  uint64_t remainder );
650 
660 /*****************************************************************************
661  **
662  ** void xcb_present_event_next
663  **
664  ** @param xcb_present_event_iterator_t *i
665  ** @returns void
666  **
667  *****************************************************************************/
668 
669 void
671 
682 /*****************************************************************************
683  **
684  ** xcb_generic_iterator_t xcb_present_event_end
685  **
686  ** @param xcb_present_event_iterator_t i
687  ** @returns xcb_generic_iterator_t
688  **
689  *****************************************************************************/
690 
693 
706 /*****************************************************************************
707  **
708  ** xcb_void_cookie_t xcb_present_select_input_checked
709  **
710  ** @param xcb_connection_t *c
711  ** @param xcb_present_event_t eid
712  ** @param xcb_window_t window
713  ** @param uint32_t event_mask
714  ** @returns xcb_void_cookie_t
715  **
716  *****************************************************************************/
717 
720  xcb_present_event_t eid ,
721  xcb_window_t window ,
722  uint32_t event_mask );
723 
733 /*****************************************************************************
734  **
735  ** xcb_void_cookie_t xcb_present_select_input
736  **
737  ** @param xcb_connection_t *c
738  ** @param xcb_present_event_t eid
739  ** @param xcb_window_t window
740  ** @param uint32_t event_mask
741  ** @returns xcb_void_cookie_t
742  **
743  *****************************************************************************/
744 
747  xcb_present_event_t eid ,
748  xcb_window_t window ,
749  uint32_t event_mask );
750 
760 /*****************************************************************************
761  **
762  ** xcb_present_query_capabilities_cookie_t xcb_present_query_capabilities
763  **
764  ** @param xcb_connection_t *c
765  ** @param uint32_t target
766  ** @returns xcb_present_query_capabilities_cookie_t
767  **
768  *****************************************************************************/
769 
772  uint32_t target );
773 
786 /*****************************************************************************
787  **
788  ** xcb_present_query_capabilities_cookie_t xcb_present_query_capabilities_unchecked
789  **
790  ** @param xcb_connection_t *c
791  ** @param uint32_t target
792  ** @returns xcb_present_query_capabilities_cookie_t
793  **
794  *****************************************************************************/
795 
798  uint32_t target );
799 
815 /*****************************************************************************
816  **
817  ** xcb_present_query_capabilities_reply_t * xcb_present_query_capabilities_reply
818  **
819  ** @param xcb_connection_t *c
820  ** @param xcb_present_query_capabilities_cookie_t cookie
821  ** @param xcb_generic_error_t **e
822  ** @returns xcb_present_query_capabilities_reply_t *
823  **
824  *****************************************************************************/
825 
829  xcb_generic_error_t **e );
830 
831 int
832 xcb_present_redirect_notify_sizeof (const void *_buffer ,
833  uint32_t notifies_len );
834 
835 
836 #ifdef __cplusplus
837 }
838 #endif
839 
840 #endif
841