XCB  1.11.1
present.h
00001 /*
00002  * This file generated automatically from present.xml by c_client.py.
00003  * Edit at your peril.
00004  */
00005 
00012 #ifndef __PRESENT_H
00013 #define __PRESENT_H
00014 
00015 #include "xcb.h"
00016 #include "xproto.h"
00017 #include "randr.h"
00018 #include "xfixes.h"
00019 #include "sync.h"
00020 
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024 
00025 #define XCB_PRESENT_MAJOR_VERSION 1
00026 #define XCB_PRESENT_MINOR_VERSION 0
00027 
00028 extern xcb_extension_t xcb_present_id;
00029 
00030 typedef enum xcb_present_event_enum_t {
00031     XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0,
00032     XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1,
00033     XCB_PRESENT_EVENT_IDLE_NOTIFY = 2,
00034     XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3
00035 } xcb_present_event_enum_t;
00036 
00037 typedef enum xcb_present_event_mask_t {
00038     XCB_PRESENT_EVENT_MASK_NO_EVENT = 0,
00039     XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1,
00040     XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2,
00041     XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4,
00042     XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8
00043 } xcb_present_event_mask_t;
00044 
00045 typedef enum xcb_present_option_t {
00046     XCB_PRESENT_OPTION_NONE = 0,
00047     XCB_PRESENT_OPTION_ASYNC = 1,
00048     XCB_PRESENT_OPTION_COPY = 2,
00049     XCB_PRESENT_OPTION_UST = 4
00050 } xcb_present_option_t;
00051 
00052 typedef enum xcb_present_capability_t {
00053     XCB_PRESENT_CAPABILITY_NONE = 0,
00054     XCB_PRESENT_CAPABILITY_ASYNC = 1,
00055     XCB_PRESENT_CAPABILITY_FENCE = 2,
00056     XCB_PRESENT_CAPABILITY_UST = 4
00057 } xcb_present_capability_t;
00058 
00059 typedef enum xcb_present_complete_kind_t {
00060     XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0,
00061     XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1
00062 } xcb_present_complete_kind_t;
00063 
00064 typedef enum xcb_present_complete_mode_t {
00065     XCB_PRESENT_COMPLETE_MODE_COPY = 0,
00066     XCB_PRESENT_COMPLETE_MODE_FLIP = 1,
00067     XCB_PRESENT_COMPLETE_MODE_SKIP = 2
00068 } xcb_present_complete_mode_t;
00069 
00073 typedef struct xcb_present_notify_t {
00074     xcb_window_t window; 
00075     uint32_t     serial; 
00076 } xcb_present_notify_t;
00077 
00081 typedef struct xcb_present_notify_iterator_t {
00082     xcb_present_notify_t *data; 
00083     int                   rem; 
00084     int                   index; 
00085 } xcb_present_notify_iterator_t;
00086 
00090 typedef struct xcb_present_query_version_cookie_t {
00091     unsigned int sequence; 
00092 } xcb_present_query_version_cookie_t;
00093 
00095 #define XCB_PRESENT_QUERY_VERSION 0
00096 
00100 typedef struct xcb_present_query_version_request_t {
00101     uint8_t  major_opcode; 
00102     uint8_t  minor_opcode; 
00103     uint16_t length; 
00104     uint32_t major_version; 
00105     uint32_t minor_version; 
00106 } xcb_present_query_version_request_t;
00107 
00111 typedef struct xcb_present_query_version_reply_t {
00112     uint8_t  response_type; 
00113     uint8_t  pad0; 
00114     uint16_t sequence; 
00115     uint32_t length; 
00116     uint32_t major_version; 
00117     uint32_t minor_version; 
00118 } xcb_present_query_version_reply_t;
00119 
00121 #define XCB_PRESENT_PIXMAP 1
00122 
00126 typedef struct xcb_present_pixmap_request_t {
00127     uint8_t             major_opcode; 
00128     uint8_t             minor_opcode; 
00129     uint16_t            length; 
00130     xcb_window_t        window; 
00131     xcb_pixmap_t        pixmap; 
00132     uint32_t            serial; 
00133     xcb_xfixes_region_t valid; 
00134     xcb_xfixes_region_t update; 
00135     int16_t             x_off; 
00136     int16_t             y_off; 
00137     xcb_randr_crtc_t    target_crtc; 
00138     xcb_sync_fence_t    wait_fence; 
00139     xcb_sync_fence_t    idle_fence; 
00140     uint32_t            options; 
00141     uint8_t             pad0[4]; 
00142     uint64_t            target_msc; 
00143     uint64_t            divisor; 
00144     uint64_t            remainder; 
00145 } xcb_present_pixmap_request_t;
00146 
00148 #define XCB_PRESENT_NOTIFY_MSC 2
00149 
00153 typedef struct xcb_present_notify_msc_request_t {
00154     uint8_t      major_opcode; 
00155     uint8_t      minor_opcode; 
00156     uint16_t     length; 
00157     xcb_window_t window; 
00158     uint32_t     serial; 
00159     uint8_t      pad0[4]; 
00160     uint64_t     target_msc; 
00161     uint64_t     divisor; 
00162     uint64_t     remainder; 
00163 } xcb_present_notify_msc_request_t;
00164 
00165 typedef uint32_t xcb_present_event_t;
00166 
00170 typedef struct xcb_present_event_iterator_t {
00171     xcb_present_event_t *data; 
00172     int                  rem; 
00173     int                  index; 
00174 } xcb_present_event_iterator_t;
00175 
00177 #define XCB_PRESENT_SELECT_INPUT 3
00178 
00182 typedef struct xcb_present_select_input_request_t {
00183     uint8_t             major_opcode; 
00184     uint8_t             minor_opcode; 
00185     uint16_t            length; 
00186     xcb_present_event_t eid; 
00187     xcb_window_t        window; 
00188     uint32_t            event_mask; 
00189 } xcb_present_select_input_request_t;
00190 
00194 typedef struct xcb_present_query_capabilities_cookie_t {
00195     unsigned int sequence; 
00196 } xcb_present_query_capabilities_cookie_t;
00197 
00199 #define XCB_PRESENT_QUERY_CAPABILITIES 4
00200 
00204 typedef struct xcb_present_query_capabilities_request_t {
00205     uint8_t  major_opcode; 
00206     uint8_t  minor_opcode; 
00207     uint16_t length; 
00208     uint32_t target; 
00209 } xcb_present_query_capabilities_request_t;
00210 
00214 typedef struct xcb_present_query_capabilities_reply_t {
00215     uint8_t  response_type; 
00216     uint8_t  pad0; 
00217     uint16_t sequence; 
00218     uint32_t length; 
00219     uint32_t capabilities; 
00220 } xcb_present_query_capabilities_reply_t;
00221 
00223 #define XCB_PRESENT_GENERIC 0
00224 
00228 typedef struct xcb_present_generic_event_t {
00229     uint8_t             response_type; 
00230     uint8_t             extension; 
00231     uint16_t            sequence; 
00232     uint32_t            length; 
00233     uint16_t            evtype; 
00234     uint8_t             pad0[2]; 
00235     xcb_present_event_t event; 
00236 } xcb_present_generic_event_t;
00237 
00239 #define XCB_PRESENT_CONFIGURE_NOTIFY 0
00240 
00244 typedef struct xcb_present_configure_notify_event_t {
00245     uint8_t             response_type; 
00246     uint8_t             extension; 
00247     uint16_t            sequence; 
00248     uint32_t            length; 
00249     uint16_t            event_type; 
00250     uint8_t             pad0[2]; 
00251     xcb_present_event_t event; 
00252     xcb_window_t        window; 
00253     int16_t             x; 
00254     int16_t             y; 
00255     uint16_t            width; 
00256     uint16_t            height; 
00257     int16_t             off_x; 
00258     int16_t             off_y; 
00259     uint32_t            full_sequence; 
00260     uint16_t            pixmap_width; 
00261     uint16_t            pixmap_height; 
00262     uint32_t            pixmap_flags; 
00263 } xcb_present_configure_notify_event_t;
00264 
00266 #define XCB_PRESENT_COMPLETE_NOTIFY 1
00267 
00271 typedef struct xcb_present_complete_notify_event_t {
00272     uint8_t             response_type; 
00273     uint8_t             extension; 
00274     uint16_t            sequence; 
00275     uint32_t            length; 
00276     uint16_t            event_type; 
00277     uint8_t             kind; 
00278     uint8_t             mode; 
00279     xcb_present_event_t event; 
00280     xcb_window_t        window; 
00281     uint32_t            serial; 
00282     uint64_t            ust; 
00283     uint32_t            full_sequence; 
00284     uint64_t            msc; 
00285 } XCB_PACKED xcb_present_complete_notify_event_t;
00286 
00288 #define XCB_PRESENT_IDLE_NOTIFY 2
00289 
00293 typedef struct xcb_present_idle_notify_event_t {
00294     uint8_t             response_type; 
00295     uint8_t             extension; 
00296     uint16_t            sequence; 
00297     uint32_t            length; 
00298     uint16_t            event_type; 
00299     uint8_t             pad0[2]; 
00300     xcb_present_event_t event; 
00301     xcb_window_t        window; 
00302     uint32_t            serial; 
00303     xcb_pixmap_t        pixmap; 
00304     xcb_sync_fence_t    idle_fence; 
00305     uint32_t            full_sequence; 
00306 } xcb_present_idle_notify_event_t;
00307 
00309 #define XCB_PRESENT_REDIRECT_NOTIFY 3
00310 
00314 typedef struct xcb_present_redirect_notify_event_t {
00315     uint8_t             response_type; 
00316     uint8_t             extension; 
00317     uint16_t            sequence; 
00318     uint32_t            length; 
00319     uint16_t            event_type; 
00320     uint8_t             update_window; 
00321     uint8_t             pad0; 
00322     xcb_present_event_t event; 
00323     xcb_window_t        event_window; 
00324     xcb_window_t        window; 
00325     xcb_pixmap_t        pixmap; 
00326     uint32_t            serial; 
00327     uint32_t            full_sequence; 
00328     xcb_xfixes_region_t valid_region; 
00329     xcb_xfixes_region_t update_region; 
00330     xcb_rectangle_t     valid_rect; 
00331     xcb_rectangle_t     update_rect; 
00332     int16_t             x_off; 
00333     int16_t             y_off; 
00334     xcb_randr_crtc_t    target_crtc; 
00335     xcb_sync_fence_t    wait_fence; 
00336     xcb_sync_fence_t    idle_fence; 
00337     uint32_t            options; 
00338     uint8_t             pad1[4]; 
00339     uint64_t            target_msc; 
00340     uint64_t            divisor; 
00341     uint64_t            remainder; 
00342 } XCB_PACKED xcb_present_redirect_notify_event_t;
00343 
00352 void
00353 xcb_present_notify_next (xcb_present_notify_iterator_t *i  );
00354 
00364 xcb_generic_iterator_t
00365 xcb_present_notify_end (xcb_present_notify_iterator_t i  );
00366 
00375 xcb_present_query_version_cookie_t
00376 xcb_present_query_version (xcb_connection_t *c  ,
00377                            uint32_t          major_version  ,
00378                            uint32_t          minor_version  );
00379 
00391 xcb_present_query_version_cookie_t
00392 xcb_present_query_version_unchecked (xcb_connection_t *c  ,
00393                                      uint32_t          major_version  ,
00394                                      uint32_t          minor_version  );
00395 
00410 xcb_present_query_version_reply_t *
00411 xcb_present_query_version_reply (xcb_connection_t                    *c  ,
00412                                  xcb_present_query_version_cookie_t   cookie  ,
00413                                  xcb_generic_error_t                **e  );
00414 
00415 int
00416 xcb_present_pixmap_sizeof (const void  *_buffer  ,
00417                            uint32_t     notifies_len  );
00418 
00430 xcb_void_cookie_t
00431 xcb_present_pixmap_checked (xcb_connection_t           *c  ,
00432                             xcb_window_t                window  ,
00433                             xcb_pixmap_t                pixmap  ,
00434                             uint32_t                    serial  ,
00435                             xcb_xfixes_region_t         valid  ,
00436                             xcb_xfixes_region_t         update  ,
00437                             int16_t                     x_off  ,
00438                             int16_t                     y_off  ,
00439                             xcb_randr_crtc_t            target_crtc  ,
00440                             xcb_sync_fence_t            wait_fence  ,
00441                             xcb_sync_fence_t            idle_fence  ,
00442                             uint32_t                    options  ,
00443                             uint64_t                    target_msc  ,
00444                             uint64_t                    divisor  ,
00445                             uint64_t                    remainder  ,
00446                             uint32_t                    notifies_len  ,
00447                             const xcb_present_notify_t *notifies  );
00448 
00457 xcb_void_cookie_t
00458 xcb_present_pixmap (xcb_connection_t           *c  ,
00459                     xcb_window_t                window  ,
00460                     xcb_pixmap_t                pixmap  ,
00461                     uint32_t                    serial  ,
00462                     xcb_xfixes_region_t         valid  ,
00463                     xcb_xfixes_region_t         update  ,
00464                     int16_t                     x_off  ,
00465                     int16_t                     y_off  ,
00466                     xcb_randr_crtc_t            target_crtc  ,
00467                     xcb_sync_fence_t            wait_fence  ,
00468                     xcb_sync_fence_t            idle_fence  ,
00469                     uint32_t                    options  ,
00470                     uint64_t                    target_msc  ,
00471                     uint64_t                    divisor  ,
00472                     uint64_t                    remainder  ,
00473                     uint32_t                    notifies_len  ,
00474                     const xcb_present_notify_t *notifies  );
00475 
00487 xcb_void_cookie_t
00488 xcb_present_notify_msc_checked (xcb_connection_t *c  ,
00489                                 xcb_window_t      window  ,
00490                                 uint32_t          serial  ,
00491                                 uint64_t          target_msc  ,
00492                                 uint64_t          divisor  ,
00493                                 uint64_t          remainder  );
00494 
00503 xcb_void_cookie_t
00504 xcb_present_notify_msc (xcb_connection_t *c  ,
00505                         xcb_window_t      window  ,
00506                         uint32_t          serial  ,
00507                         uint64_t          target_msc  ,
00508                         uint64_t          divisor  ,
00509                         uint64_t          remainder  );
00510 
00519 void
00520 xcb_present_event_next (xcb_present_event_iterator_t *i  );
00521 
00531 xcb_generic_iterator_t
00532 xcb_present_event_end (xcb_present_event_iterator_t i  );
00533 
00545 xcb_void_cookie_t
00546 xcb_present_select_input_checked (xcb_connection_t    *c  ,
00547                                   xcb_present_event_t  eid  ,
00548                                   xcb_window_t         window  ,
00549                                   uint32_t             event_mask  );
00550 
00559 xcb_void_cookie_t
00560 xcb_present_select_input (xcb_connection_t    *c  ,
00561                           xcb_present_event_t  eid  ,
00562                           xcb_window_t         window  ,
00563                           uint32_t             event_mask  );
00564 
00573 xcb_present_query_capabilities_cookie_t
00574 xcb_present_query_capabilities (xcb_connection_t *c  ,
00575                                 uint32_t          target  );
00576 
00588 xcb_present_query_capabilities_cookie_t
00589 xcb_present_query_capabilities_unchecked (xcb_connection_t *c  ,
00590                                           uint32_t          target  );
00591 
00606 xcb_present_query_capabilities_reply_t *
00607 xcb_present_query_capabilities_reply (xcb_connection_t                         *c  ,
00608                                       xcb_present_query_capabilities_cookie_t   cookie  ,
00609                                       xcb_generic_error_t                     **e  );
00610 
00611 int
00612 xcb_present_redirect_notify_sizeof (const void  *_buffer  ,
00613                                     uint32_t     notifies_len  );
00614 
00615 
00616 #ifdef __cplusplus
00617 }
00618 #endif
00619 
00620 #endif
00621