1*0a6a1f1dSLionel Sambuc /* 2*0a6a1f1dSLionel Sambuc * This file generated automatically from present.xml by c_client.py. 3*0a6a1f1dSLionel Sambuc * Edit at your peril. 4*0a6a1f1dSLionel Sambuc */ 5*0a6a1f1dSLionel Sambuc 6*0a6a1f1dSLionel Sambuc /** 7*0a6a1f1dSLionel Sambuc * @defgroup XCB_Present_API XCB Present API 8*0a6a1f1dSLionel Sambuc * @brief Present XCB Protocol Implementation. 9*0a6a1f1dSLionel Sambuc * @{ 10*0a6a1f1dSLionel Sambuc **/ 11*0a6a1f1dSLionel Sambuc 12*0a6a1f1dSLionel Sambuc #ifndef __PRESENT_H 13*0a6a1f1dSLionel Sambuc #define __PRESENT_H 14*0a6a1f1dSLionel Sambuc 15*0a6a1f1dSLionel Sambuc #include "xcb.h" 16*0a6a1f1dSLionel Sambuc #include "xproto.h" 17*0a6a1f1dSLionel Sambuc #include "randr.h" 18*0a6a1f1dSLionel Sambuc #include "xfixes.h" 19*0a6a1f1dSLionel Sambuc #include "sync.h" 20*0a6a1f1dSLionel Sambuc 21*0a6a1f1dSLionel Sambuc #ifdef __cplusplus 22*0a6a1f1dSLionel Sambuc extern "C" { 23*0a6a1f1dSLionel Sambuc #endif 24*0a6a1f1dSLionel Sambuc 25*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_MAJOR_VERSION 1 26*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_MINOR_VERSION 0 27*0a6a1f1dSLionel Sambuc 28*0a6a1f1dSLionel Sambuc extern xcb_extension_t xcb_present_id; 29*0a6a1f1dSLionel Sambuc 30*0a6a1f1dSLionel Sambuc typedef enum xcb_present_event_enum_t { 31*0a6a1f1dSLionel Sambuc XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0, 32*0a6a1f1dSLionel Sambuc XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1, 33*0a6a1f1dSLionel Sambuc XCB_PRESENT_EVENT_IDLE_NOTIFY = 2, 34*0a6a1f1dSLionel Sambuc XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3 35*0a6a1f1dSLionel Sambuc } xcb_present_event_enum_t; 36*0a6a1f1dSLionel Sambuc 37*0a6a1f1dSLionel Sambuc typedef enum xcb_present_event_mask_t { 38*0a6a1f1dSLionel Sambuc XCB_PRESENT_EVENT_MASK_NO_EVENT = 0, 39*0a6a1f1dSLionel Sambuc XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1, 40*0a6a1f1dSLionel Sambuc XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2, 41*0a6a1f1dSLionel Sambuc XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4, 42*0a6a1f1dSLionel Sambuc XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8 43*0a6a1f1dSLionel Sambuc } xcb_present_event_mask_t; 44*0a6a1f1dSLionel Sambuc 45*0a6a1f1dSLionel Sambuc typedef enum xcb_present_option_t { 46*0a6a1f1dSLionel Sambuc XCB_PRESENT_OPTION_NONE = 0, 47*0a6a1f1dSLionel Sambuc XCB_PRESENT_OPTION_ASYNC = 1, 48*0a6a1f1dSLionel Sambuc XCB_PRESENT_OPTION_COPY = 2, 49*0a6a1f1dSLionel Sambuc XCB_PRESENT_OPTION_UST = 4 50*0a6a1f1dSLionel Sambuc } xcb_present_option_t; 51*0a6a1f1dSLionel Sambuc 52*0a6a1f1dSLionel Sambuc typedef enum xcb_present_capability_t { 53*0a6a1f1dSLionel Sambuc XCB_PRESENT_CAPABILITY_NONE = 0, 54*0a6a1f1dSLionel Sambuc XCB_PRESENT_CAPABILITY_ASYNC = 1, 55*0a6a1f1dSLionel Sambuc XCB_PRESENT_CAPABILITY_FENCE = 2, 56*0a6a1f1dSLionel Sambuc XCB_PRESENT_CAPABILITY_UST = 4 57*0a6a1f1dSLionel Sambuc } xcb_present_capability_t; 58*0a6a1f1dSLionel Sambuc 59*0a6a1f1dSLionel Sambuc typedef enum xcb_present_complete_kind_t { 60*0a6a1f1dSLionel Sambuc XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0, 61*0a6a1f1dSLionel Sambuc XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1 62*0a6a1f1dSLionel Sambuc } xcb_present_complete_kind_t; 63*0a6a1f1dSLionel Sambuc 64*0a6a1f1dSLionel Sambuc typedef enum xcb_present_complete_mode_t { 65*0a6a1f1dSLionel Sambuc XCB_PRESENT_COMPLETE_MODE_COPY = 0, 66*0a6a1f1dSLionel Sambuc XCB_PRESENT_COMPLETE_MODE_FLIP = 1, 67*0a6a1f1dSLionel Sambuc XCB_PRESENT_COMPLETE_MODE_SKIP = 2 68*0a6a1f1dSLionel Sambuc } xcb_present_complete_mode_t; 69*0a6a1f1dSLionel Sambuc 70*0a6a1f1dSLionel Sambuc /** 71*0a6a1f1dSLionel Sambuc * @brief xcb_present_notify_t 72*0a6a1f1dSLionel Sambuc **/ 73*0a6a1f1dSLionel Sambuc typedef struct xcb_present_notify_t { 74*0a6a1f1dSLionel Sambuc xcb_window_t window; /**< */ 75*0a6a1f1dSLionel Sambuc uint32_t serial; /**< */ 76*0a6a1f1dSLionel Sambuc } xcb_present_notify_t; 77*0a6a1f1dSLionel Sambuc 78*0a6a1f1dSLionel Sambuc /** 79*0a6a1f1dSLionel Sambuc * @brief xcb_present_notify_iterator_t 80*0a6a1f1dSLionel Sambuc **/ 81*0a6a1f1dSLionel Sambuc typedef struct xcb_present_notify_iterator_t { 82*0a6a1f1dSLionel Sambuc xcb_present_notify_t *data; /**< */ 83*0a6a1f1dSLionel Sambuc int rem; /**< */ 84*0a6a1f1dSLionel Sambuc int index; /**< */ 85*0a6a1f1dSLionel Sambuc } xcb_present_notify_iterator_t; 86*0a6a1f1dSLionel Sambuc 87*0a6a1f1dSLionel Sambuc /** 88*0a6a1f1dSLionel Sambuc * @brief xcb_present_query_version_cookie_t 89*0a6a1f1dSLionel Sambuc **/ 90*0a6a1f1dSLionel Sambuc typedef struct xcb_present_query_version_cookie_t { 91*0a6a1f1dSLionel Sambuc unsigned int sequence; /**< */ 92*0a6a1f1dSLionel Sambuc } xcb_present_query_version_cookie_t; 93*0a6a1f1dSLionel Sambuc 94*0a6a1f1dSLionel Sambuc /** Opcode for xcb_present_query_version. */ 95*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_QUERY_VERSION 0 96*0a6a1f1dSLionel Sambuc 97*0a6a1f1dSLionel Sambuc /** 98*0a6a1f1dSLionel Sambuc * @brief xcb_present_query_version_request_t 99*0a6a1f1dSLionel Sambuc **/ 100*0a6a1f1dSLionel Sambuc typedef struct xcb_present_query_version_request_t { 101*0a6a1f1dSLionel Sambuc uint8_t major_opcode; /**< */ 102*0a6a1f1dSLionel Sambuc uint8_t minor_opcode; /**< */ 103*0a6a1f1dSLionel Sambuc uint16_t length; /**< */ 104*0a6a1f1dSLionel Sambuc uint32_t major_version; /**< */ 105*0a6a1f1dSLionel Sambuc uint32_t minor_version; /**< */ 106*0a6a1f1dSLionel Sambuc } xcb_present_query_version_request_t; 107*0a6a1f1dSLionel Sambuc 108*0a6a1f1dSLionel Sambuc /** 109*0a6a1f1dSLionel Sambuc * @brief xcb_present_query_version_reply_t 110*0a6a1f1dSLionel Sambuc **/ 111*0a6a1f1dSLionel Sambuc typedef struct xcb_present_query_version_reply_t { 112*0a6a1f1dSLionel Sambuc uint8_t response_type; /**< */ 113*0a6a1f1dSLionel Sambuc uint8_t pad0; /**< */ 114*0a6a1f1dSLionel Sambuc uint16_t sequence; /**< */ 115*0a6a1f1dSLionel Sambuc uint32_t length; /**< */ 116*0a6a1f1dSLionel Sambuc uint32_t major_version; /**< */ 117*0a6a1f1dSLionel Sambuc uint32_t minor_version; /**< */ 118*0a6a1f1dSLionel Sambuc } xcb_present_query_version_reply_t; 119*0a6a1f1dSLionel Sambuc 120*0a6a1f1dSLionel Sambuc /** Opcode for xcb_present_pixmap. */ 121*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_PIXMAP 1 122*0a6a1f1dSLionel Sambuc 123*0a6a1f1dSLionel Sambuc /** 124*0a6a1f1dSLionel Sambuc * @brief xcb_present_pixmap_request_t 125*0a6a1f1dSLionel Sambuc **/ 126*0a6a1f1dSLionel Sambuc typedef struct xcb_present_pixmap_request_t { 127*0a6a1f1dSLionel Sambuc uint8_t major_opcode; /**< */ 128*0a6a1f1dSLionel Sambuc uint8_t minor_opcode; /**< */ 129*0a6a1f1dSLionel Sambuc uint16_t length; /**< */ 130*0a6a1f1dSLionel Sambuc xcb_window_t window; /**< */ 131*0a6a1f1dSLionel Sambuc xcb_pixmap_t pixmap; /**< */ 132*0a6a1f1dSLionel Sambuc uint32_t serial; /**< */ 133*0a6a1f1dSLionel Sambuc xcb_xfixes_region_t valid; /**< */ 134*0a6a1f1dSLionel Sambuc xcb_xfixes_region_t update; /**< */ 135*0a6a1f1dSLionel Sambuc int16_t x_off; /**< */ 136*0a6a1f1dSLionel Sambuc int16_t y_off; /**< */ 137*0a6a1f1dSLionel Sambuc xcb_randr_crtc_t target_crtc; /**< */ 138*0a6a1f1dSLionel Sambuc xcb_sync_fence_t wait_fence; /**< */ 139*0a6a1f1dSLionel Sambuc xcb_sync_fence_t idle_fence; /**< */ 140*0a6a1f1dSLionel Sambuc uint32_t options; /**< */ 141*0a6a1f1dSLionel Sambuc uint8_t pad0[4]; /**< */ 142*0a6a1f1dSLionel Sambuc uint64_t target_msc; /**< */ 143*0a6a1f1dSLionel Sambuc uint64_t divisor; /**< */ 144*0a6a1f1dSLionel Sambuc uint64_t remainder; /**< */ 145*0a6a1f1dSLionel Sambuc } xcb_present_pixmap_request_t; 146*0a6a1f1dSLionel Sambuc 147*0a6a1f1dSLionel Sambuc /** Opcode for xcb_present_notify_msc. */ 148*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_NOTIFY_MSC 2 149*0a6a1f1dSLionel Sambuc 150*0a6a1f1dSLionel Sambuc /** 151*0a6a1f1dSLionel Sambuc * @brief xcb_present_notify_msc_request_t 152*0a6a1f1dSLionel Sambuc **/ 153*0a6a1f1dSLionel Sambuc typedef struct xcb_present_notify_msc_request_t { 154*0a6a1f1dSLionel Sambuc uint8_t major_opcode; /**< */ 155*0a6a1f1dSLionel Sambuc uint8_t minor_opcode; /**< */ 156*0a6a1f1dSLionel Sambuc uint16_t length; /**< */ 157*0a6a1f1dSLionel Sambuc xcb_window_t window; /**< */ 158*0a6a1f1dSLionel Sambuc uint32_t serial; /**< */ 159*0a6a1f1dSLionel Sambuc uint8_t pad0[4]; /**< */ 160*0a6a1f1dSLionel Sambuc uint64_t target_msc; /**< */ 161*0a6a1f1dSLionel Sambuc uint64_t divisor; /**< */ 162*0a6a1f1dSLionel Sambuc uint64_t remainder; /**< */ 163*0a6a1f1dSLionel Sambuc } xcb_present_notify_msc_request_t; 164*0a6a1f1dSLionel Sambuc 165*0a6a1f1dSLionel Sambuc typedef uint32_t xcb_present_event_t; 166*0a6a1f1dSLionel Sambuc 167*0a6a1f1dSLionel Sambuc /** 168*0a6a1f1dSLionel Sambuc * @brief xcb_present_event_iterator_t 169*0a6a1f1dSLionel Sambuc **/ 170*0a6a1f1dSLionel Sambuc typedef struct xcb_present_event_iterator_t { 171*0a6a1f1dSLionel Sambuc xcb_present_event_t *data; /**< */ 172*0a6a1f1dSLionel Sambuc int rem; /**< */ 173*0a6a1f1dSLionel Sambuc int index; /**< */ 174*0a6a1f1dSLionel Sambuc } xcb_present_event_iterator_t; 175*0a6a1f1dSLionel Sambuc 176*0a6a1f1dSLionel Sambuc /** Opcode for xcb_present_select_input. */ 177*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_SELECT_INPUT 3 178*0a6a1f1dSLionel Sambuc 179*0a6a1f1dSLionel Sambuc /** 180*0a6a1f1dSLionel Sambuc * @brief xcb_present_select_input_request_t 181*0a6a1f1dSLionel Sambuc **/ 182*0a6a1f1dSLionel Sambuc typedef struct xcb_present_select_input_request_t { 183*0a6a1f1dSLionel Sambuc uint8_t major_opcode; /**< */ 184*0a6a1f1dSLionel Sambuc uint8_t minor_opcode; /**< */ 185*0a6a1f1dSLionel Sambuc uint16_t length; /**< */ 186*0a6a1f1dSLionel Sambuc xcb_present_event_t eid; /**< */ 187*0a6a1f1dSLionel Sambuc xcb_window_t window; /**< */ 188*0a6a1f1dSLionel Sambuc uint32_t event_mask; /**< */ 189*0a6a1f1dSLionel Sambuc } xcb_present_select_input_request_t; 190*0a6a1f1dSLionel Sambuc 191*0a6a1f1dSLionel Sambuc /** 192*0a6a1f1dSLionel Sambuc * @brief xcb_present_query_capabilities_cookie_t 193*0a6a1f1dSLionel Sambuc **/ 194*0a6a1f1dSLionel Sambuc typedef struct xcb_present_query_capabilities_cookie_t { 195*0a6a1f1dSLionel Sambuc unsigned int sequence; /**< */ 196*0a6a1f1dSLionel Sambuc } xcb_present_query_capabilities_cookie_t; 197*0a6a1f1dSLionel Sambuc 198*0a6a1f1dSLionel Sambuc /** Opcode for xcb_present_query_capabilities. */ 199*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_QUERY_CAPABILITIES 4 200*0a6a1f1dSLionel Sambuc 201*0a6a1f1dSLionel Sambuc /** 202*0a6a1f1dSLionel Sambuc * @brief xcb_present_query_capabilities_request_t 203*0a6a1f1dSLionel Sambuc **/ 204*0a6a1f1dSLionel Sambuc typedef struct xcb_present_query_capabilities_request_t { 205*0a6a1f1dSLionel Sambuc uint8_t major_opcode; /**< */ 206*0a6a1f1dSLionel Sambuc uint8_t minor_opcode; /**< */ 207*0a6a1f1dSLionel Sambuc uint16_t length; /**< */ 208*0a6a1f1dSLionel Sambuc uint32_t target; /**< */ 209*0a6a1f1dSLionel Sambuc } xcb_present_query_capabilities_request_t; 210*0a6a1f1dSLionel Sambuc 211*0a6a1f1dSLionel Sambuc /** 212*0a6a1f1dSLionel Sambuc * @brief xcb_present_query_capabilities_reply_t 213*0a6a1f1dSLionel Sambuc **/ 214*0a6a1f1dSLionel Sambuc typedef struct xcb_present_query_capabilities_reply_t { 215*0a6a1f1dSLionel Sambuc uint8_t response_type; /**< */ 216*0a6a1f1dSLionel Sambuc uint8_t pad0; /**< */ 217*0a6a1f1dSLionel Sambuc uint16_t sequence; /**< */ 218*0a6a1f1dSLionel Sambuc uint32_t length; /**< */ 219*0a6a1f1dSLionel Sambuc uint32_t capabilities; /**< */ 220*0a6a1f1dSLionel Sambuc } xcb_present_query_capabilities_reply_t; 221*0a6a1f1dSLionel Sambuc 222*0a6a1f1dSLionel Sambuc /** Opcode for xcb_present_generic. */ 223*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_GENERIC 0 224*0a6a1f1dSLionel Sambuc 225*0a6a1f1dSLionel Sambuc /** 226*0a6a1f1dSLionel Sambuc * @brief xcb_present_generic_event_t 227*0a6a1f1dSLionel Sambuc **/ 228*0a6a1f1dSLionel Sambuc typedef struct xcb_present_generic_event_t { 229*0a6a1f1dSLionel Sambuc uint8_t response_type; /**< */ 230*0a6a1f1dSLionel Sambuc uint8_t extension; /**< */ 231*0a6a1f1dSLionel Sambuc uint16_t sequence; /**< */ 232*0a6a1f1dSLionel Sambuc uint32_t length; /**< */ 233*0a6a1f1dSLionel Sambuc uint16_t evtype; /**< */ 234*0a6a1f1dSLionel Sambuc uint8_t pad0[2]; /**< */ 235*0a6a1f1dSLionel Sambuc xcb_present_event_t event; /**< */ 236*0a6a1f1dSLionel Sambuc } xcb_present_generic_event_t; 237*0a6a1f1dSLionel Sambuc 238*0a6a1f1dSLionel Sambuc /** Opcode for xcb_present_configure_notify. */ 239*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_CONFIGURE_NOTIFY 0 240*0a6a1f1dSLionel Sambuc 241*0a6a1f1dSLionel Sambuc /** 242*0a6a1f1dSLionel Sambuc * @brief xcb_present_configure_notify_event_t 243*0a6a1f1dSLionel Sambuc **/ 244*0a6a1f1dSLionel Sambuc typedef struct xcb_present_configure_notify_event_t { 245*0a6a1f1dSLionel Sambuc uint8_t response_type; /**< */ 246*0a6a1f1dSLionel Sambuc uint8_t extension; /**< */ 247*0a6a1f1dSLionel Sambuc uint16_t sequence; /**< */ 248*0a6a1f1dSLionel Sambuc uint32_t length; /**< */ 249*0a6a1f1dSLionel Sambuc uint16_t event_type; /**< */ 250*0a6a1f1dSLionel Sambuc uint8_t pad0[2]; /**< */ 251*0a6a1f1dSLionel Sambuc xcb_present_event_t event; /**< */ 252*0a6a1f1dSLionel Sambuc xcb_window_t window; /**< */ 253*0a6a1f1dSLionel Sambuc int16_t x; /**< */ 254*0a6a1f1dSLionel Sambuc int16_t y; /**< */ 255*0a6a1f1dSLionel Sambuc uint16_t width; /**< */ 256*0a6a1f1dSLionel Sambuc uint16_t height; /**< */ 257*0a6a1f1dSLionel Sambuc int16_t off_x; /**< */ 258*0a6a1f1dSLionel Sambuc int16_t off_y; /**< */ 259*0a6a1f1dSLionel Sambuc uint32_t full_sequence; /**< */ 260*0a6a1f1dSLionel Sambuc uint16_t pixmap_width; /**< */ 261*0a6a1f1dSLionel Sambuc uint16_t pixmap_height; /**< */ 262*0a6a1f1dSLionel Sambuc uint32_t pixmap_flags; /**< */ 263*0a6a1f1dSLionel Sambuc } xcb_present_configure_notify_event_t; 264*0a6a1f1dSLionel Sambuc 265*0a6a1f1dSLionel Sambuc /** Opcode for xcb_present_complete_notify. */ 266*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_COMPLETE_NOTIFY 1 267*0a6a1f1dSLionel Sambuc 268*0a6a1f1dSLionel Sambuc /** 269*0a6a1f1dSLionel Sambuc * @brief xcb_present_complete_notify_event_t 270*0a6a1f1dSLionel Sambuc **/ 271*0a6a1f1dSLionel Sambuc typedef struct xcb_present_complete_notify_event_t { 272*0a6a1f1dSLionel Sambuc uint8_t response_type; /**< */ 273*0a6a1f1dSLionel Sambuc uint8_t extension; /**< */ 274*0a6a1f1dSLionel Sambuc uint16_t sequence; /**< */ 275*0a6a1f1dSLionel Sambuc uint32_t length; /**< */ 276*0a6a1f1dSLionel Sambuc uint16_t event_type; /**< */ 277*0a6a1f1dSLionel Sambuc uint8_t kind; /**< */ 278*0a6a1f1dSLionel Sambuc uint8_t mode; /**< */ 279*0a6a1f1dSLionel Sambuc xcb_present_event_t event; /**< */ 280*0a6a1f1dSLionel Sambuc xcb_window_t window; /**< */ 281*0a6a1f1dSLionel Sambuc uint32_t serial; /**< */ 282*0a6a1f1dSLionel Sambuc uint64_t ust; /**< */ 283*0a6a1f1dSLionel Sambuc uint32_t full_sequence; /**< */ 284*0a6a1f1dSLionel Sambuc uint64_t msc; /**< */ 285*0a6a1f1dSLionel Sambuc } XCB_PACKED xcb_present_complete_notify_event_t; 286*0a6a1f1dSLionel Sambuc 287*0a6a1f1dSLionel Sambuc /** Opcode for xcb_present_idle_notify. */ 288*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_IDLE_NOTIFY 2 289*0a6a1f1dSLionel Sambuc 290*0a6a1f1dSLionel Sambuc /** 291*0a6a1f1dSLionel Sambuc * @brief xcb_present_idle_notify_event_t 292*0a6a1f1dSLionel Sambuc **/ 293*0a6a1f1dSLionel Sambuc typedef struct xcb_present_idle_notify_event_t { 294*0a6a1f1dSLionel Sambuc uint8_t response_type; /**< */ 295*0a6a1f1dSLionel Sambuc uint8_t extension; /**< */ 296*0a6a1f1dSLionel Sambuc uint16_t sequence; /**< */ 297*0a6a1f1dSLionel Sambuc uint32_t length; /**< */ 298*0a6a1f1dSLionel Sambuc uint16_t event_type; /**< */ 299*0a6a1f1dSLionel Sambuc uint8_t pad0[2]; /**< */ 300*0a6a1f1dSLionel Sambuc xcb_present_event_t event; /**< */ 301*0a6a1f1dSLionel Sambuc xcb_window_t window; /**< */ 302*0a6a1f1dSLionel Sambuc uint32_t serial; /**< */ 303*0a6a1f1dSLionel Sambuc xcb_pixmap_t pixmap; /**< */ 304*0a6a1f1dSLionel Sambuc xcb_sync_fence_t idle_fence; /**< */ 305*0a6a1f1dSLionel Sambuc uint32_t full_sequence; /**< */ 306*0a6a1f1dSLionel Sambuc } xcb_present_idle_notify_event_t; 307*0a6a1f1dSLionel Sambuc 308*0a6a1f1dSLionel Sambuc /** Opcode for xcb_present_redirect_notify. */ 309*0a6a1f1dSLionel Sambuc #define XCB_PRESENT_REDIRECT_NOTIFY 3 310*0a6a1f1dSLionel Sambuc 311*0a6a1f1dSLionel Sambuc /** 312*0a6a1f1dSLionel Sambuc * @brief xcb_present_redirect_notify_event_t 313*0a6a1f1dSLionel Sambuc **/ 314*0a6a1f1dSLionel Sambuc typedef struct xcb_present_redirect_notify_event_t { 315*0a6a1f1dSLionel Sambuc uint8_t response_type; /**< */ 316*0a6a1f1dSLionel Sambuc uint8_t extension; /**< */ 317*0a6a1f1dSLionel Sambuc uint16_t sequence; /**< */ 318*0a6a1f1dSLionel Sambuc uint32_t length; /**< */ 319*0a6a1f1dSLionel Sambuc uint16_t event_type; /**< */ 320*0a6a1f1dSLionel Sambuc uint8_t update_window; /**< */ 321*0a6a1f1dSLionel Sambuc uint8_t pad0; /**< */ 322*0a6a1f1dSLionel Sambuc xcb_present_event_t event; /**< */ 323*0a6a1f1dSLionel Sambuc xcb_window_t event_window; /**< */ 324*0a6a1f1dSLionel Sambuc xcb_window_t window; /**< */ 325*0a6a1f1dSLionel Sambuc xcb_pixmap_t pixmap; /**< */ 326*0a6a1f1dSLionel Sambuc uint32_t serial; /**< */ 327*0a6a1f1dSLionel Sambuc uint32_t full_sequence; /**< */ 328*0a6a1f1dSLionel Sambuc xcb_xfixes_region_t valid_region; /**< */ 329*0a6a1f1dSLionel Sambuc xcb_xfixes_region_t update_region; /**< */ 330*0a6a1f1dSLionel Sambuc xcb_rectangle_t valid_rect; /**< */ 331*0a6a1f1dSLionel Sambuc xcb_rectangle_t update_rect; /**< */ 332*0a6a1f1dSLionel Sambuc int16_t x_off; /**< */ 333*0a6a1f1dSLionel Sambuc int16_t y_off; /**< */ 334*0a6a1f1dSLionel Sambuc xcb_randr_crtc_t target_crtc; /**< */ 335*0a6a1f1dSLionel Sambuc xcb_sync_fence_t wait_fence; /**< */ 336*0a6a1f1dSLionel Sambuc xcb_sync_fence_t idle_fence; /**< */ 337*0a6a1f1dSLionel Sambuc uint32_t options; /**< */ 338*0a6a1f1dSLionel Sambuc uint8_t pad1[4]; /**< */ 339*0a6a1f1dSLionel Sambuc uint64_t target_msc; /**< */ 340*0a6a1f1dSLionel Sambuc uint64_t divisor; /**< */ 341*0a6a1f1dSLionel Sambuc uint64_t remainder; /**< */ 342*0a6a1f1dSLionel Sambuc } XCB_PACKED xcb_present_redirect_notify_event_t; 343*0a6a1f1dSLionel Sambuc 344*0a6a1f1dSLionel Sambuc /** 345*0a6a1f1dSLionel Sambuc * Get the next element of the iterator 346*0a6a1f1dSLionel Sambuc * @param i Pointer to a xcb_present_notify_iterator_t 347*0a6a1f1dSLionel Sambuc * 348*0a6a1f1dSLionel Sambuc * Get the next element in the iterator. The member rem is 349*0a6a1f1dSLionel Sambuc * decreased by one. The member data points to the next 350*0a6a1f1dSLionel Sambuc * element. The member index is increased by sizeof(xcb_present_notify_t) 351*0a6a1f1dSLionel Sambuc */ 352*0a6a1f1dSLionel Sambuc void 353*0a6a1f1dSLionel Sambuc xcb_present_notify_next (xcb_present_notify_iterator_t *i /**< */); 354*0a6a1f1dSLionel Sambuc 355*0a6a1f1dSLionel Sambuc /** 356*0a6a1f1dSLionel Sambuc * Return the iterator pointing to the last element 357*0a6a1f1dSLionel Sambuc * @param i An xcb_present_notify_iterator_t 358*0a6a1f1dSLionel Sambuc * @return The iterator pointing to the last element 359*0a6a1f1dSLionel Sambuc * 360*0a6a1f1dSLionel Sambuc * Set the current element in the iterator to the last element. 361*0a6a1f1dSLionel Sambuc * The member rem is set to 0. The member data points to the 362*0a6a1f1dSLionel Sambuc * last element. 363*0a6a1f1dSLionel Sambuc */ 364*0a6a1f1dSLionel Sambuc xcb_generic_iterator_t 365*0a6a1f1dSLionel Sambuc xcb_present_notify_end (xcb_present_notify_iterator_t i /**< */); 366*0a6a1f1dSLionel Sambuc 367*0a6a1f1dSLionel Sambuc /** 368*0a6a1f1dSLionel Sambuc * 369*0a6a1f1dSLionel Sambuc * @param c The connection 370*0a6a1f1dSLionel Sambuc * @return A cookie 371*0a6a1f1dSLionel Sambuc * 372*0a6a1f1dSLionel Sambuc * Delivers a request to the X server. 373*0a6a1f1dSLionel Sambuc * 374*0a6a1f1dSLionel Sambuc */ 375*0a6a1f1dSLionel Sambuc xcb_present_query_version_cookie_t 376*0a6a1f1dSLionel Sambuc xcb_present_query_version (xcb_connection_t *c /**< */, 377*0a6a1f1dSLionel Sambuc uint32_t major_version /**< */, 378*0a6a1f1dSLionel Sambuc uint32_t minor_version /**< */); 379*0a6a1f1dSLionel Sambuc 380*0a6a1f1dSLionel Sambuc /** 381*0a6a1f1dSLionel Sambuc * 382*0a6a1f1dSLionel Sambuc * @param c The connection 383*0a6a1f1dSLionel Sambuc * @return A cookie 384*0a6a1f1dSLionel Sambuc * 385*0a6a1f1dSLionel Sambuc * Delivers a request to the X server. 386*0a6a1f1dSLionel Sambuc * 387*0a6a1f1dSLionel Sambuc * This form can be used only if the request will cause 388*0a6a1f1dSLionel Sambuc * a reply to be generated. Any returned error will be 389*0a6a1f1dSLionel Sambuc * placed in the event queue. 390*0a6a1f1dSLionel Sambuc */ 391*0a6a1f1dSLionel Sambuc xcb_present_query_version_cookie_t 392*0a6a1f1dSLionel Sambuc xcb_present_query_version_unchecked (xcb_connection_t *c /**< */, 393*0a6a1f1dSLionel Sambuc uint32_t major_version /**< */, 394*0a6a1f1dSLionel Sambuc uint32_t minor_version /**< */); 395*0a6a1f1dSLionel Sambuc 396*0a6a1f1dSLionel Sambuc /** 397*0a6a1f1dSLionel Sambuc * Return the reply 398*0a6a1f1dSLionel Sambuc * @param c The connection 399*0a6a1f1dSLionel Sambuc * @param cookie The cookie 400*0a6a1f1dSLionel Sambuc * @param e The xcb_generic_error_t supplied 401*0a6a1f1dSLionel Sambuc * 402*0a6a1f1dSLionel Sambuc * Returns the reply of the request asked by 403*0a6a1f1dSLionel Sambuc * 404*0a6a1f1dSLionel Sambuc * The parameter @p e supplied to this function must be NULL if 405*0a6a1f1dSLionel Sambuc * xcb_present_query_version_unchecked(). is used. 406*0a6a1f1dSLionel Sambuc * Otherwise, it stores the error if any. 407*0a6a1f1dSLionel Sambuc * 408*0a6a1f1dSLionel Sambuc * The returned value must be freed by the caller using free(). 409*0a6a1f1dSLionel Sambuc */ 410*0a6a1f1dSLionel Sambuc xcb_present_query_version_reply_t * 411*0a6a1f1dSLionel Sambuc xcb_present_query_version_reply (xcb_connection_t *c /**< */, 412*0a6a1f1dSLionel Sambuc xcb_present_query_version_cookie_t cookie /**< */, 413*0a6a1f1dSLionel Sambuc xcb_generic_error_t **e /**< */); 414*0a6a1f1dSLionel Sambuc 415*0a6a1f1dSLionel Sambuc int 416*0a6a1f1dSLionel Sambuc xcb_present_pixmap_sizeof (const void *_buffer /**< */, 417*0a6a1f1dSLionel Sambuc uint32_t notifies_len /**< */); 418*0a6a1f1dSLionel Sambuc 419*0a6a1f1dSLionel Sambuc /** 420*0a6a1f1dSLionel Sambuc * 421*0a6a1f1dSLionel Sambuc * @param c The connection 422*0a6a1f1dSLionel Sambuc * @return A cookie 423*0a6a1f1dSLionel Sambuc * 424*0a6a1f1dSLionel Sambuc * Delivers a request to the X server. 425*0a6a1f1dSLionel Sambuc * 426*0a6a1f1dSLionel Sambuc * This form can be used only if the request will not cause 427*0a6a1f1dSLionel Sambuc * a reply to be generated. Any returned error will be 428*0a6a1f1dSLionel Sambuc * saved for handling by xcb_request_check(). 429*0a6a1f1dSLionel Sambuc */ 430*0a6a1f1dSLionel Sambuc xcb_void_cookie_t 431*0a6a1f1dSLionel Sambuc xcb_present_pixmap_checked (xcb_connection_t *c /**< */, 432*0a6a1f1dSLionel Sambuc xcb_window_t window /**< */, 433*0a6a1f1dSLionel Sambuc xcb_pixmap_t pixmap /**< */, 434*0a6a1f1dSLionel Sambuc uint32_t serial /**< */, 435*0a6a1f1dSLionel Sambuc xcb_xfixes_region_t valid /**< */, 436*0a6a1f1dSLionel Sambuc xcb_xfixes_region_t update /**< */, 437*0a6a1f1dSLionel Sambuc int16_t x_off /**< */, 438*0a6a1f1dSLionel Sambuc int16_t y_off /**< */, 439*0a6a1f1dSLionel Sambuc xcb_randr_crtc_t target_crtc /**< */, 440*0a6a1f1dSLionel Sambuc xcb_sync_fence_t wait_fence /**< */, 441*0a6a1f1dSLionel Sambuc xcb_sync_fence_t idle_fence /**< */, 442*0a6a1f1dSLionel Sambuc uint32_t options /**< */, 443*0a6a1f1dSLionel Sambuc uint64_t target_msc /**< */, 444*0a6a1f1dSLionel Sambuc uint64_t divisor /**< */, 445*0a6a1f1dSLionel Sambuc uint64_t remainder /**< */, 446*0a6a1f1dSLionel Sambuc uint32_t notifies_len /**< */, 447*0a6a1f1dSLionel Sambuc const xcb_present_notify_t *notifies /**< */); 448*0a6a1f1dSLionel Sambuc 449*0a6a1f1dSLionel Sambuc /** 450*0a6a1f1dSLionel Sambuc * 451*0a6a1f1dSLionel Sambuc * @param c The connection 452*0a6a1f1dSLionel Sambuc * @return A cookie 453*0a6a1f1dSLionel Sambuc * 454*0a6a1f1dSLionel Sambuc * Delivers a request to the X server. 455*0a6a1f1dSLionel Sambuc * 456*0a6a1f1dSLionel Sambuc */ 457*0a6a1f1dSLionel Sambuc xcb_void_cookie_t 458*0a6a1f1dSLionel Sambuc xcb_present_pixmap (xcb_connection_t *c /**< */, 459*0a6a1f1dSLionel Sambuc xcb_window_t window /**< */, 460*0a6a1f1dSLionel Sambuc xcb_pixmap_t pixmap /**< */, 461*0a6a1f1dSLionel Sambuc uint32_t serial /**< */, 462*0a6a1f1dSLionel Sambuc xcb_xfixes_region_t valid /**< */, 463*0a6a1f1dSLionel Sambuc xcb_xfixes_region_t update /**< */, 464*0a6a1f1dSLionel Sambuc int16_t x_off /**< */, 465*0a6a1f1dSLionel Sambuc int16_t y_off /**< */, 466*0a6a1f1dSLionel Sambuc xcb_randr_crtc_t target_crtc /**< */, 467*0a6a1f1dSLionel Sambuc xcb_sync_fence_t wait_fence /**< */, 468*0a6a1f1dSLionel Sambuc xcb_sync_fence_t idle_fence /**< */, 469*0a6a1f1dSLionel Sambuc uint32_t options /**< */, 470*0a6a1f1dSLionel Sambuc uint64_t target_msc /**< */, 471*0a6a1f1dSLionel Sambuc uint64_t divisor /**< */, 472*0a6a1f1dSLionel Sambuc uint64_t remainder /**< */, 473*0a6a1f1dSLionel Sambuc uint32_t notifies_len /**< */, 474*0a6a1f1dSLionel Sambuc const xcb_present_notify_t *notifies /**< */); 475*0a6a1f1dSLionel Sambuc 476*0a6a1f1dSLionel Sambuc /** 477*0a6a1f1dSLionel Sambuc * 478*0a6a1f1dSLionel Sambuc * @param c The connection 479*0a6a1f1dSLionel Sambuc * @return A cookie 480*0a6a1f1dSLionel Sambuc * 481*0a6a1f1dSLionel Sambuc * Delivers a request to the X server. 482*0a6a1f1dSLionel Sambuc * 483*0a6a1f1dSLionel Sambuc * This form can be used only if the request will not cause 484*0a6a1f1dSLionel Sambuc * a reply to be generated. Any returned error will be 485*0a6a1f1dSLionel Sambuc * saved for handling by xcb_request_check(). 486*0a6a1f1dSLionel Sambuc */ 487*0a6a1f1dSLionel Sambuc xcb_void_cookie_t 488*0a6a1f1dSLionel Sambuc xcb_present_notify_msc_checked (xcb_connection_t *c /**< */, 489*0a6a1f1dSLionel Sambuc xcb_window_t window /**< */, 490*0a6a1f1dSLionel Sambuc uint32_t serial /**< */, 491*0a6a1f1dSLionel Sambuc uint64_t target_msc /**< */, 492*0a6a1f1dSLionel Sambuc uint64_t divisor /**< */, 493*0a6a1f1dSLionel Sambuc uint64_t remainder /**< */); 494*0a6a1f1dSLionel Sambuc 495*0a6a1f1dSLionel Sambuc /** 496*0a6a1f1dSLionel Sambuc * 497*0a6a1f1dSLionel Sambuc * @param c The connection 498*0a6a1f1dSLionel Sambuc * @return A cookie 499*0a6a1f1dSLionel Sambuc * 500*0a6a1f1dSLionel Sambuc * Delivers a request to the X server. 501*0a6a1f1dSLionel Sambuc * 502*0a6a1f1dSLionel Sambuc */ 503*0a6a1f1dSLionel Sambuc xcb_void_cookie_t 504*0a6a1f1dSLionel Sambuc xcb_present_notify_msc (xcb_connection_t *c /**< */, 505*0a6a1f1dSLionel Sambuc xcb_window_t window /**< */, 506*0a6a1f1dSLionel Sambuc uint32_t serial /**< */, 507*0a6a1f1dSLionel Sambuc uint64_t target_msc /**< */, 508*0a6a1f1dSLionel Sambuc uint64_t divisor /**< */, 509*0a6a1f1dSLionel Sambuc uint64_t remainder /**< */); 510*0a6a1f1dSLionel Sambuc 511*0a6a1f1dSLionel Sambuc /** 512*0a6a1f1dSLionel Sambuc * Get the next element of the iterator 513*0a6a1f1dSLionel Sambuc * @param i Pointer to a xcb_present_event_iterator_t 514*0a6a1f1dSLionel Sambuc * 515*0a6a1f1dSLionel Sambuc * Get the next element in the iterator. The member rem is 516*0a6a1f1dSLionel Sambuc * decreased by one. The member data points to the next 517*0a6a1f1dSLionel Sambuc * element. The member index is increased by sizeof(xcb_present_event_t) 518*0a6a1f1dSLionel Sambuc */ 519*0a6a1f1dSLionel Sambuc void 520*0a6a1f1dSLionel Sambuc xcb_present_event_next (xcb_present_event_iterator_t *i /**< */); 521*0a6a1f1dSLionel Sambuc 522*0a6a1f1dSLionel Sambuc /** 523*0a6a1f1dSLionel Sambuc * Return the iterator pointing to the last element 524*0a6a1f1dSLionel Sambuc * @param i An xcb_present_event_iterator_t 525*0a6a1f1dSLionel Sambuc * @return The iterator pointing to the last element 526*0a6a1f1dSLionel Sambuc * 527*0a6a1f1dSLionel Sambuc * Set the current element in the iterator to the last element. 528*0a6a1f1dSLionel Sambuc * The member rem is set to 0. The member data points to the 529*0a6a1f1dSLionel Sambuc * last element. 530*0a6a1f1dSLionel Sambuc */ 531*0a6a1f1dSLionel Sambuc xcb_generic_iterator_t 532*0a6a1f1dSLionel Sambuc xcb_present_event_end (xcb_present_event_iterator_t i /**< */); 533*0a6a1f1dSLionel Sambuc 534*0a6a1f1dSLionel Sambuc /** 535*0a6a1f1dSLionel Sambuc * 536*0a6a1f1dSLionel Sambuc * @param c The connection 537*0a6a1f1dSLionel Sambuc * @return A cookie 538*0a6a1f1dSLionel Sambuc * 539*0a6a1f1dSLionel Sambuc * Delivers a request to the X server. 540*0a6a1f1dSLionel Sambuc * 541*0a6a1f1dSLionel Sambuc * This form can be used only if the request will not cause 542*0a6a1f1dSLionel Sambuc * a reply to be generated. Any returned error will be 543*0a6a1f1dSLionel Sambuc * saved for handling by xcb_request_check(). 544*0a6a1f1dSLionel Sambuc */ 545*0a6a1f1dSLionel Sambuc xcb_void_cookie_t 546*0a6a1f1dSLionel Sambuc xcb_present_select_input_checked (xcb_connection_t *c /**< */, 547*0a6a1f1dSLionel Sambuc xcb_present_event_t eid /**< */, 548*0a6a1f1dSLionel Sambuc xcb_window_t window /**< */, 549*0a6a1f1dSLionel Sambuc uint32_t event_mask /**< */); 550*0a6a1f1dSLionel Sambuc 551*0a6a1f1dSLionel Sambuc /** 552*0a6a1f1dSLionel Sambuc * 553*0a6a1f1dSLionel Sambuc * @param c The connection 554*0a6a1f1dSLionel Sambuc * @return A cookie 555*0a6a1f1dSLionel Sambuc * 556*0a6a1f1dSLionel Sambuc * Delivers a request to the X server. 557*0a6a1f1dSLionel Sambuc * 558*0a6a1f1dSLionel Sambuc */ 559*0a6a1f1dSLionel Sambuc xcb_void_cookie_t 560*0a6a1f1dSLionel Sambuc xcb_present_select_input (xcb_connection_t *c /**< */, 561*0a6a1f1dSLionel Sambuc xcb_present_event_t eid /**< */, 562*0a6a1f1dSLionel Sambuc xcb_window_t window /**< */, 563*0a6a1f1dSLionel Sambuc uint32_t event_mask /**< */); 564*0a6a1f1dSLionel Sambuc 565*0a6a1f1dSLionel Sambuc /** 566*0a6a1f1dSLionel Sambuc * 567*0a6a1f1dSLionel Sambuc * @param c The connection 568*0a6a1f1dSLionel Sambuc * @return A cookie 569*0a6a1f1dSLionel Sambuc * 570*0a6a1f1dSLionel Sambuc * Delivers a request to the X server. 571*0a6a1f1dSLionel Sambuc * 572*0a6a1f1dSLionel Sambuc */ 573*0a6a1f1dSLionel Sambuc xcb_present_query_capabilities_cookie_t 574*0a6a1f1dSLionel Sambuc xcb_present_query_capabilities (xcb_connection_t *c /**< */, 575*0a6a1f1dSLionel Sambuc uint32_t target /**< */); 576*0a6a1f1dSLionel Sambuc 577*0a6a1f1dSLionel Sambuc /** 578*0a6a1f1dSLionel Sambuc * 579*0a6a1f1dSLionel Sambuc * @param c The connection 580*0a6a1f1dSLionel Sambuc * @return A cookie 581*0a6a1f1dSLionel Sambuc * 582*0a6a1f1dSLionel Sambuc * Delivers a request to the X server. 583*0a6a1f1dSLionel Sambuc * 584*0a6a1f1dSLionel Sambuc * This form can be used only if the request will cause 585*0a6a1f1dSLionel Sambuc * a reply to be generated. Any returned error will be 586*0a6a1f1dSLionel Sambuc * placed in the event queue. 587*0a6a1f1dSLionel Sambuc */ 588*0a6a1f1dSLionel Sambuc xcb_present_query_capabilities_cookie_t 589*0a6a1f1dSLionel Sambuc xcb_present_query_capabilities_unchecked (xcb_connection_t *c /**< */, 590*0a6a1f1dSLionel Sambuc uint32_t target /**< */); 591*0a6a1f1dSLionel Sambuc 592*0a6a1f1dSLionel Sambuc /** 593*0a6a1f1dSLionel Sambuc * Return the reply 594*0a6a1f1dSLionel Sambuc * @param c The connection 595*0a6a1f1dSLionel Sambuc * @param cookie The cookie 596*0a6a1f1dSLionel Sambuc * @param e The xcb_generic_error_t supplied 597*0a6a1f1dSLionel Sambuc * 598*0a6a1f1dSLionel Sambuc * Returns the reply of the request asked by 599*0a6a1f1dSLionel Sambuc * 600*0a6a1f1dSLionel Sambuc * The parameter @p e supplied to this function must be NULL if 601*0a6a1f1dSLionel Sambuc * xcb_present_query_capabilities_unchecked(). is used. 602*0a6a1f1dSLionel Sambuc * Otherwise, it stores the error if any. 603*0a6a1f1dSLionel Sambuc * 604*0a6a1f1dSLionel Sambuc * The returned value must be freed by the caller using free(). 605*0a6a1f1dSLionel Sambuc */ 606*0a6a1f1dSLionel Sambuc xcb_present_query_capabilities_reply_t * 607*0a6a1f1dSLionel Sambuc xcb_present_query_capabilities_reply (xcb_connection_t *c /**< */, 608*0a6a1f1dSLionel Sambuc xcb_present_query_capabilities_cookie_t cookie /**< */, 609*0a6a1f1dSLionel Sambuc xcb_generic_error_t **e /**< */); 610*0a6a1f1dSLionel Sambuc 611*0a6a1f1dSLionel Sambuc int 612*0a6a1f1dSLionel Sambuc xcb_present_redirect_notify_sizeof (const void *_buffer /**< */, 613*0a6a1f1dSLionel Sambuc uint32_t notifies_len /**< */); 614*0a6a1f1dSLionel Sambuc 615*0a6a1f1dSLionel Sambuc 616*0a6a1f1dSLionel Sambuc #ifdef __cplusplus 617*0a6a1f1dSLionel Sambuc } 618*0a6a1f1dSLionel Sambuc #endif 619*0a6a1f1dSLionel Sambuc 620*0a6a1f1dSLionel Sambuc #endif 621*0a6a1f1dSLionel Sambuc 622*0a6a1f1dSLionel Sambuc /** 623*0a6a1f1dSLionel Sambuc * @} 624*0a6a1f1dSLionel Sambuc */ 625