XCB  1.9.3
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 "render.h"
00018 #include "randr.h"
00019 #include "shape.h"
00020 #include "xfixes.h"
00021 #include "sync.h"
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 #define XCB_PRESENT_MAJOR_VERSION 1
00028 #define XCB_PRESENT_MINOR_VERSION 0
00029   
00030 extern xcb_extension_t xcb_present_id;
00031 
00032 typedef enum xcb_present_event_enum_t {
00033     XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0,
00034     XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1,
00035     XCB_PRESENT_EVENT_IDLE_NOTIFY = 2,
00036     XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3
00037 } xcb_present_event_enum_t;
00038 
00039 typedef enum xcb_present_event_mask_t {
00040     XCB_PRESENT_EVENT_MASK_NO_EVENT = 0,
00041     XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1,
00042     XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2,
00043     XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4,
00044     XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8
00045 } xcb_present_event_mask_t;
00046 
00047 typedef enum xcb_present_option_t {
00048     XCB_PRESENT_OPTION_NONE = 0,
00049     XCB_PRESENT_OPTION_ASYNC = 1,
00050     XCB_PRESENT_OPTION_COPY = 2,
00051     XCB_PRESENT_OPTION_UST = 4
00052 } xcb_present_option_t;
00053 
00054 typedef enum xcb_present_capability_t {
00055     XCB_PRESENT_CAPABILITY_NONE = 0,
00056     XCB_PRESENT_CAPABILITY_ASYNC = 1,
00057     XCB_PRESENT_CAPABILITY_FENCE = 2,
00058     XCB_PRESENT_CAPABILITY_UST = 4
00059 } xcb_present_capability_t;
00060 
00061 typedef enum xcb_present_complete_kind_t {
00062     XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0,
00063     XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1
00064 } xcb_present_complete_kind_t;
00065 
00066 typedef enum xcb_present_complete_mode_t {
00067     XCB_PRESENT_COMPLETE_MODE_COPY = 0,
00068     XCB_PRESENT_COMPLETE_MODE_FLIP = 1,
00069     XCB_PRESENT_COMPLETE_MODE_SKIP = 2
00070 } xcb_present_complete_mode_t;
00071 
00075 typedef struct xcb_present_notify_t {
00076     xcb_window_t window; 
00077     uint32_t     serial; 
00078 } xcb_present_notify_t;
00079 
00083 typedef struct xcb_present_notify_iterator_t {
00084     xcb_present_notify_t *data; 
00085     int                   rem; 
00086     int                   index; 
00087 } xcb_present_notify_iterator_t;
00088 
00092 typedef struct xcb_present_query_version_cookie_t {
00093     unsigned int sequence; 
00094 } xcb_present_query_version_cookie_t;
00095 
00097 #define XCB_PRESENT_QUERY_VERSION 0
00098 
00102 typedef struct xcb_present_query_version_request_t {
00103     uint8_t  major_opcode; 
00104     uint8_t  minor_opcode; 
00105     uint16_t length; 
00106     uint32_t major_version; 
00107     uint32_t minor_version; 
00108 } xcb_present_query_version_request_t;
00109 
00113 typedef struct xcb_present_query_version_reply_t {
00114     uint8_t  response_type; 
00115     uint8_t  pad0; 
00116     uint16_t sequence; 
00117     uint32_t length; 
00118     uint32_t major_version; 
00119     uint32_t minor_version; 
00120 } xcb_present_query_version_reply_t;
00121 
00123 #define XCB_PRESENT_PIXMAP 1
00124 
00128 typedef struct xcb_present_pixmap_request_t {
00129     uint8_t             major_opcode; 
00130     uint8_t             minor_opcode; 
00131     uint16_t            length; 
00132     xcb_window_t        window; 
00133     xcb_pixmap_t        pixmap; 
00134     uint32_t            serial; 
00135     xcb_xfixes_region_t valid; 
00136     xcb_xfixes_region_t update; 
00137     int16_t             x_off; 
00138     int16_t             y_off; 
00139     xcb_randr_crtc_t    target_crtc; 
00140     xcb_sync_fence_t    wait_fence; 
00141     xcb_sync_fence_t    idle_fence; 
00142     uint32_t            options; 
00143     uint8_t             pad0[4]; 
00144     uint64_t            target_msc; 
00145     uint64_t            divisor; 
00146     uint64_t            remainder; 
00147 } xcb_present_pixmap_request_t;
00148 
00150 #define XCB_PRESENT_NOTIFY_MSC 2
00151 
00155 typedef struct xcb_present_notify_msc_request_t {
00156     uint8_t      major_opcode; 
00157     uint8_t      minor_opcode; 
00158     uint16_t     length; 
00159     xcb_window_t window; 
00160     uint32_t     serial; 
00161     uint8_t      pad0[4]; 
00162     uint64_t     target_msc; 
00163     uint64_t     divisor; 
00164     uint64_t     remainder; 
00165 } xcb_present_notify_msc_request_t;
00166 
00167 typedef uint32_t xcb_present_event_t;
00168 
00172 typedef struct xcb_present_event_iterator_t {
00173     xcb_present_event_t *data; 
00174     int                  rem; 
00175     int                  index; 
00176 } xcb_present_event_iterator_t;
00177 
00179 #define XCB_PRESENT_SELECT_INPUT 3
00180 
00184 typedef struct xcb_present_select_input_request_t {
00185     uint8_t             major_opcode; 
00186     uint8_t             minor_opcode; 
00187     uint16_t            length; 
00188     xcb_present_event_t eid; 
00189     xcb_window_t        window; 
00190     uint32_t            event_mask; 
00191 } xcb_present_select_input_request_t;
00192 
00196 typedef struct xcb_present_query_capabilities_cookie_t {
00197     unsigned int sequence; 
00198 } xcb_present_query_capabilities_cookie_t;
00199 
00201 #define XCB_PRESENT_QUERY_CAPABILITIES 4
00202 
00206 typedef struct xcb_present_query_capabilities_request_t {
00207     uint8_t  major_opcode; 
00208     uint8_t  minor_opcode; 
00209     uint16_t length; 
00210     uint32_t target; 
00211 } xcb_present_query_capabilities_request_t;
00212 
00216 typedef struct xcb_present_query_capabilities_reply_t {
00217     uint8_t  response_type; 
00218     uint8_t  pad0; 
00219     uint16_t sequence; 
00220     uint32_t length; 
00221     uint32_t capabilities; 
00222 } xcb_present_query_capabilities_reply_t;
00223 
00225 #define XCB_PRESENT_GENERIC 0
00226 
00230 typedef struct xcb_present_generic_event_t {
00231     uint8_t             response_type; 
00232     uint8_t             extension; 
00233     uint16_t            sequence; 
00234     uint32_t            length; 
00235     uint16_t            evtype; 
00236     uint8_t             pad0[2]; 
00237     xcb_present_event_t event; 
00238 } xcb_present_generic_event_t;
00239 
00241 #define XCB_PRESENT_CONFIGURE_NOTIFY 0
00242 
00246 typedef struct xcb_present_configure_notify_event_t {
00247     uint8_t             response_type; 
00248     uint8_t             extension; 
00249     uint16_t            sequence; 
00250     uint32_t            length; 
00251     uint16_t            event_type; 
00252     uint8_t             pad0[2]; 
00253     xcb_present_event_t event; 
00254     xcb_window_t        window; 
00255     int16_t             x; 
00256     int16_t             y; 
00257     uint16_t            width; 
00258     uint16_t            height; 
00259     int16_t             off_x; 
00260     int16_t             off_y; 
00261     uint32_t            full_sequence; 
00262     uint16_t            pixmap_width; 
00263     uint16_t            pixmap_height; 
00264     uint32_t            pixmap_flags; 
00265 } xcb_present_configure_notify_event_t;
00266 
00268 #define XCB_PRESENT_COMPLETE_NOTIFY 1
00269 
00273 typedef struct xcb_present_complete_notify_event_t {
00274     uint8_t             response_type; 
00275     uint8_t             extension; 
00276     uint16_t            sequence; 
00277     uint32_t            length; 
00278     uint16_t            event_type; 
00279     uint8_t             kind; 
00280     uint8_t             mode; 
00281     xcb_present_event_t event; 
00282     xcb_window_t        window; 
00283     uint32_t            serial; 
00284     uint64_t            ust; 
00285     uint32_t            full_sequence; 
00286     uint64_t            msc; 
00287 } xcb_present_complete_notify_event_t;
00288 
00290 #define XCB_PRESENT_IDLE_NOTIFY 2
00291 
00295 typedef struct xcb_present_idle_notify_event_t {
00296     uint8_t             response_type; 
00297     uint8_t             extension; 
00298     uint16_t            sequence; 
00299     uint32_t            length; 
00300     uint16_t            event_type; 
00301     uint8_t             pad0[2]; 
00302     xcb_present_event_t event; 
00303     xcb_window_t        window; 
00304     uint32_t            serial; 
00305     xcb_pixmap_t        pixmap; 
00306     xcb_sync_fence_t    idle_fence; 
00307     uint32_t            full_sequence; 
00308 } xcb_present_idle_notify_event_t;
00309 
00311 #define XCB_PRESENT_REDIRECT_NOTIFY 3
00312 
00316 typedef struct xcb_present_redirect_notify_event_t {
00317     uint8_t             response_type; 
00318     uint8_t             extension; 
00319     uint16_t            sequence; 
00320     uint32_t            length; 
00321     uint16_t            event_type; 
00322     uint8_t             update_window; 
00323     uint8_t             pad0; 
00324     xcb_present_event_t event; 
00325     xcb_window_t        event_window; 
00326     xcb_window_t        window; 
00327     xcb_pixmap_t        pixmap; 
00328     uint32_t            serial; 
00329     uint32_t            full_sequence; 
00330     xcb_xfixes_region_t valid_region; 
00331     xcb_xfixes_region_t update_region; 
00332     xcb_rectangle_t     valid_rect; 
00333     xcb_rectangle_t     update_rect; 
00334     int16_t             x_off; 
00335     int16_t             y_off; 
00336     xcb_randr_crtc_t    target_crtc; 
00337     xcb_sync_fence_t    wait_fence; 
00338     xcb_sync_fence_t    idle_fence; 
00339     uint32_t            options; 
00340     uint8_t             pad1[4]; 
00341     uint64_t            target_msc; 
00342     uint64_t            divisor; 
00343     uint64_t            remainder; 
00344 } xcb_present_redirect_notify_event_t;
00345 
00355 /*****************************************************************************
00356  **
00357  ** void xcb_present_notify_next
00358  ** 
00359  ** @param xcb_present_notify_iterator_t *i
00360  ** @returns void
00361  **
00362  *****************************************************************************/
00363  
00364 void
00365 xcb_present_notify_next (xcb_present_notify_iterator_t *i  );
00366 
00377 /*****************************************************************************
00378  **
00379  ** xcb_generic_iterator_t xcb_present_notify_end
00380  ** 
00381  ** @param xcb_present_notify_iterator_t i
00382  ** @returns xcb_generic_iterator_t
00383  **
00384  *****************************************************************************/
00385  
00386 xcb_generic_iterator_t
00387 xcb_present_notify_end (xcb_present_notify_iterator_t i  );
00388 
00398 /*****************************************************************************
00399  **
00400  ** xcb_present_query_version_cookie_t xcb_present_query_version
00401  ** 
00402  ** @param xcb_connection_t *c
00403  ** @param uint32_t          major_version
00404  ** @param uint32_t          minor_version
00405  ** @returns xcb_present_query_version_cookie_t
00406  **
00407  *****************************************************************************/
00408  
00409 xcb_present_query_version_cookie_t
00410 xcb_present_query_version (xcb_connection_t *c  ,
00411                            uint32_t          major_version  ,
00412                            uint32_t          minor_version  );
00413 
00426 /*****************************************************************************
00427  **
00428  ** xcb_present_query_version_cookie_t xcb_present_query_version_unchecked
00429  ** 
00430  ** @param xcb_connection_t *c
00431  ** @param uint32_t          major_version
00432  ** @param uint32_t          minor_version
00433  ** @returns xcb_present_query_version_cookie_t
00434  **
00435  *****************************************************************************/
00436  
00437 xcb_present_query_version_cookie_t
00438 xcb_present_query_version_unchecked (xcb_connection_t *c  ,
00439                                      uint32_t          major_version  ,
00440                                      uint32_t          minor_version  );
00441 
00457 /*****************************************************************************
00458  **
00459  ** xcb_present_query_version_reply_t * xcb_present_query_version_reply
00460  ** 
00461  ** @param xcb_connection_t                    *c
00462  ** @param xcb_present_query_version_cookie_t   cookie
00463  ** @param xcb_generic_error_t                **e
00464  ** @returns xcb_present_query_version_reply_t *
00465  **
00466  *****************************************************************************/
00467  
00468 xcb_present_query_version_reply_t *
00469 xcb_present_query_version_reply (xcb_connection_t                    *c  ,
00470                                  xcb_present_query_version_cookie_t   cookie  ,
00471                                  xcb_generic_error_t                **e  );
00472 
00473 int
00474 xcb_present_pixmap_sizeof (const void  *_buffer  ,
00475                            uint32_t     notifies_len  );
00476 
00489 /*****************************************************************************
00490  **
00491  ** xcb_void_cookie_t xcb_present_pixmap_checked
00492  ** 
00493  ** @param xcb_connection_t           *c
00494  ** @param xcb_window_t                window
00495  ** @param xcb_pixmap_t                pixmap
00496  ** @param uint32_t                    serial
00497  ** @param xcb_xfixes_region_t         valid
00498  ** @param xcb_xfixes_region_t         update
00499  ** @param int16_t                     x_off
00500  ** @param int16_t                     y_off
00501  ** @param xcb_randr_crtc_t            target_crtc
00502  ** @param xcb_sync_fence_t            wait_fence
00503  ** @param xcb_sync_fence_t            idle_fence
00504  ** @param uint32_t                    options
00505  ** @param uint64_t                    target_msc
00506  ** @param uint64_t                    divisor
00507  ** @param uint64_t                    remainder
00508  ** @param uint32_t                    notifies_len
00509  ** @param const xcb_present_notify_t *notifies
00510  ** @returns xcb_void_cookie_t
00511  **
00512  *****************************************************************************/
00513  
00514 xcb_void_cookie_t
00515 xcb_present_pixmap_checked (xcb_connection_t           *c  ,
00516                             xcb_window_t                window  ,
00517                             xcb_pixmap_t                pixmap  ,
00518                             uint32_t                    serial  ,
00519                             xcb_xfixes_region_t         valid  ,
00520                             xcb_xfixes_region_t         update  ,
00521                             int16_t                     x_off  ,
00522                             int16_t                     y_off  ,
00523                             xcb_randr_crtc_t            target_crtc  ,
00524                             xcb_sync_fence_t            wait_fence  ,
00525                             xcb_sync_fence_t            idle_fence  ,
00526                             uint32_t                    options  ,
00527                             uint64_t                    target_msc  ,
00528                             uint64_t                    divisor  ,
00529                             uint64_t                    remainder  ,
00530                             uint32_t                    notifies_len  ,
00531                             const xcb_present_notify_t *notifies  );
00532 
00542 /*****************************************************************************
00543  **
00544  ** xcb_void_cookie_t xcb_present_pixmap
00545  ** 
00546  ** @param xcb_connection_t           *c
00547  ** @param xcb_window_t                window
00548  ** @param xcb_pixmap_t                pixmap
00549  ** @param uint32_t                    serial
00550  ** @param xcb_xfixes_region_t         valid
00551  ** @param xcb_xfixes_region_t         update
00552  ** @param int16_t                     x_off
00553  ** @param int16_t                     y_off
00554  ** @param xcb_randr_crtc_t            target_crtc
00555  ** @param xcb_sync_fence_t            wait_fence
00556  ** @param xcb_sync_fence_t            idle_fence
00557  ** @param uint32_t                    options
00558  ** @param uint64_t                    target_msc
00559  ** @param uint64_t                    divisor
00560  ** @param uint64_t                    remainder
00561  ** @param uint32_t                    notifies_len
00562  ** @param const xcb_present_notify_t *notifies
00563  ** @returns xcb_void_cookie_t
00564  **
00565  *****************************************************************************/
00566  
00567 xcb_void_cookie_t
00568 xcb_present_pixmap (xcb_connection_t           *c  ,
00569                     xcb_window_t                window  ,
00570                     xcb_pixmap_t                pixmap  ,
00571                     uint32_t                    serial  ,
00572                     xcb_xfixes_region_t         valid  ,
00573                     xcb_xfixes_region_t         update  ,
00574                     int16_t                     x_off  ,
00575                     int16_t                     y_off  ,
00576                     xcb_randr_crtc_t            target_crtc  ,
00577                     xcb_sync_fence_t            wait_fence  ,
00578                     xcb_sync_fence_t            idle_fence  ,
00579                     uint32_t                    options  ,
00580                     uint64_t                    target_msc  ,
00581                     uint64_t                    divisor  ,
00582                     uint64_t                    remainder  ,
00583                     uint32_t                    notifies_len  ,
00584                     const xcb_present_notify_t *notifies  );
00585 
00598 /*****************************************************************************
00599  **
00600  ** xcb_void_cookie_t xcb_present_notify_msc_checked
00601  ** 
00602  ** @param xcb_connection_t *c
00603  ** @param xcb_window_t      window
00604  ** @param uint32_t          serial
00605  ** @param uint64_t          target_msc
00606  ** @param uint64_t          divisor
00607  ** @param uint64_t          remainder
00608  ** @returns xcb_void_cookie_t
00609  **
00610  *****************************************************************************/
00611  
00612 xcb_void_cookie_t
00613 xcb_present_notify_msc_checked (xcb_connection_t *c  ,
00614                                 xcb_window_t      window  ,
00615                                 uint32_t          serial  ,
00616                                 uint64_t          target_msc  ,
00617                                 uint64_t          divisor  ,
00618                                 uint64_t          remainder  );
00619 
00629 /*****************************************************************************
00630  **
00631  ** xcb_void_cookie_t xcb_present_notify_msc
00632  ** 
00633  ** @param xcb_connection_t *c
00634  ** @param xcb_window_t      window
00635  ** @param uint32_t          serial
00636  ** @param uint64_t          target_msc
00637  ** @param uint64_t          divisor
00638  ** @param uint64_t          remainder
00639  ** @returns xcb_void_cookie_t
00640  **
00641  *****************************************************************************/
00642  
00643 xcb_void_cookie_t
00644 xcb_present_notify_msc (xcb_connection_t *c  ,
00645                         xcb_window_t      window  ,
00646                         uint32_t          serial  ,
00647                         uint64_t          target_msc  ,
00648                         uint64_t          divisor  ,
00649                         uint64_t          remainder  );
00650 
00660 /*****************************************************************************
00661  **
00662  ** void xcb_present_event_next
00663  ** 
00664  ** @param xcb_present_event_iterator_t *i
00665  ** @returns void
00666  **
00667  *****************************************************************************/
00668  
00669 void
00670 xcb_present_event_next (xcb_present_event_iterator_t *i  );
00671 
00682 /*****************************************************************************
00683  **
00684  ** xcb_generic_iterator_t xcb_present_event_end
00685  ** 
00686  ** @param xcb_present_event_iterator_t i
00687  ** @returns xcb_generic_iterator_t
00688  **
00689  *****************************************************************************/
00690  
00691 xcb_generic_iterator_t
00692 xcb_present_event_end (xcb_present_event_iterator_t i  );
00693 
00706 /*****************************************************************************
00707  **
00708  ** xcb_void_cookie_t xcb_present_select_input_checked
00709  ** 
00710  ** @param xcb_connection_t    *c
00711  ** @param xcb_present_event_t  eid
00712  ** @param xcb_window_t         window
00713  ** @param uint32_t             event_mask
00714  ** @returns xcb_void_cookie_t
00715  **
00716  *****************************************************************************/
00717  
00718 xcb_void_cookie_t
00719 xcb_present_select_input_checked (xcb_connection_t    *c  ,
00720                                   xcb_present_event_t  eid  ,
00721                                   xcb_window_t         window  ,
00722                                   uint32_t             event_mask  );
00723 
00733 /*****************************************************************************
00734  **
00735  ** xcb_void_cookie_t xcb_present_select_input
00736  ** 
00737  ** @param xcb_connection_t    *c
00738  ** @param xcb_present_event_t  eid
00739  ** @param xcb_window_t         window
00740  ** @param uint32_t             event_mask
00741  ** @returns xcb_void_cookie_t
00742  **
00743  *****************************************************************************/
00744  
00745 xcb_void_cookie_t
00746 xcb_present_select_input (xcb_connection_t    *c  ,
00747                           xcb_present_event_t  eid  ,
00748                           xcb_window_t         window  ,
00749                           uint32_t             event_mask  );
00750 
00760 /*****************************************************************************
00761  **
00762  ** xcb_present_query_capabilities_cookie_t xcb_present_query_capabilities
00763  ** 
00764  ** @param xcb_connection_t *c
00765  ** @param uint32_t          target
00766  ** @returns xcb_present_query_capabilities_cookie_t
00767  **
00768  *****************************************************************************/
00769  
00770 xcb_present_query_capabilities_cookie_t
00771 xcb_present_query_capabilities (xcb_connection_t *c  ,
00772                                 uint32_t          target  );
00773 
00786 /*****************************************************************************
00787  **
00788  ** xcb_present_query_capabilities_cookie_t xcb_present_query_capabilities_unchecked
00789  ** 
00790  ** @param xcb_connection_t *c
00791  ** @param uint32_t          target
00792  ** @returns xcb_present_query_capabilities_cookie_t
00793  **
00794  *****************************************************************************/
00795  
00796 xcb_present_query_capabilities_cookie_t
00797 xcb_present_query_capabilities_unchecked (xcb_connection_t *c  ,
00798                                           uint32_t          target  );
00799 
00815 /*****************************************************************************
00816  **
00817  ** xcb_present_query_capabilities_reply_t * xcb_present_query_capabilities_reply
00818  ** 
00819  ** @param xcb_connection_t                         *c
00820  ** @param xcb_present_query_capabilities_cookie_t   cookie
00821  ** @param xcb_generic_error_t                     **e
00822  ** @returns xcb_present_query_capabilities_reply_t *
00823  **
00824  *****************************************************************************/
00825  
00826 xcb_present_query_capabilities_reply_t *
00827 xcb_present_query_capabilities_reply (xcb_connection_t                         *c  ,
00828                                       xcb_present_query_capabilities_cookie_t   cookie  ,
00829                                       xcb_generic_error_t                     **e  );
00830 
00831 int
00832 xcb_present_redirect_notify_sizeof (const void  *_buffer  ,
00833                                     uint32_t     notifies_len  );
00834 
00835 
00836 #ifdef __cplusplus
00837 }
00838 #endif
00839 
00840 #endif
00841