Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:38

0001 /*
0002  * This file generated automatically from present.xml by c_client.py.
0003  * Edit at your peril.
0004  */
0005 
0006 /**
0007  * @defgroup XCB_Present_API XCB Present API
0008  * @brief Present XCB Protocol Implementation.
0009  * @{
0010  **/
0011 
0012 #ifndef __PRESENT_H
0013 #define __PRESENT_H
0014 
0015 #include "xcb.h"
0016 #include "xproto.h"
0017 #include "randr.h"
0018 #include "xfixes.h"
0019 #include "sync.h"
0020 #include "dri3.h"
0021 
0022 #ifdef __cplusplus
0023 extern "C" {
0024 #endif
0025 
0026 #define XCB_PRESENT_MAJOR_VERSION 1
0027 #define XCB_PRESENT_MINOR_VERSION 4
0028 
0029 extern xcb_extension_t xcb_present_id;
0030 
0031 typedef enum xcb_present_event_enum_t {
0032     XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0,
0033     XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1,
0034     XCB_PRESENT_EVENT_IDLE_NOTIFY = 2,
0035     XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3
0036 } xcb_present_event_enum_t;
0037 
0038 typedef enum xcb_present_event_mask_t {
0039     XCB_PRESENT_EVENT_MASK_NO_EVENT = 0,
0040     XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1,
0041     XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2,
0042     XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4,
0043     XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8
0044 } xcb_present_event_mask_t;
0045 
0046 typedef enum xcb_present_option_t {
0047     XCB_PRESENT_OPTION_NONE = 0,
0048     XCB_PRESENT_OPTION_ASYNC = 1,
0049     XCB_PRESENT_OPTION_COPY = 2,
0050     XCB_PRESENT_OPTION_UST = 4,
0051     XCB_PRESENT_OPTION_SUBOPTIMAL = 8,
0052     XCB_PRESENT_OPTION_ASYNC_MAY_TEAR = 16
0053 } xcb_present_option_t;
0054 
0055 typedef enum xcb_present_capability_t {
0056     XCB_PRESENT_CAPABILITY_NONE = 0,
0057     XCB_PRESENT_CAPABILITY_ASYNC = 1,
0058     XCB_PRESENT_CAPABILITY_FENCE = 2,
0059     XCB_PRESENT_CAPABILITY_UST = 4,
0060     XCB_PRESENT_CAPABILITY_ASYNC_MAY_TEAR = 8,
0061     XCB_PRESENT_CAPABILITY_SYNCOBJ = 16
0062 } xcb_present_capability_t;
0063 
0064 typedef enum xcb_present_complete_kind_t {
0065     XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0,
0066     XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1
0067 } xcb_present_complete_kind_t;
0068 
0069 typedef enum xcb_present_complete_mode_t {
0070     XCB_PRESENT_COMPLETE_MODE_COPY = 0,
0071     XCB_PRESENT_COMPLETE_MODE_FLIP = 1,
0072     XCB_PRESENT_COMPLETE_MODE_SKIP = 2,
0073     XCB_PRESENT_COMPLETE_MODE_SUBOPTIMAL_COPY = 3
0074 } xcb_present_complete_mode_t;
0075 
0076 /**
0077  * @brief xcb_present_notify_t
0078  **/
0079 typedef struct xcb_present_notify_t {
0080     xcb_window_t window;
0081     uint32_t     serial;
0082 } xcb_present_notify_t;
0083 
0084 /**
0085  * @brief xcb_present_notify_iterator_t
0086  **/
0087 typedef struct xcb_present_notify_iterator_t {
0088     xcb_present_notify_t *data;
0089     int                   rem;
0090     int                   index;
0091 } xcb_present_notify_iterator_t;
0092 
0093 /**
0094  * @brief xcb_present_query_version_cookie_t
0095  **/
0096 typedef struct xcb_present_query_version_cookie_t {
0097     unsigned int sequence;
0098 } xcb_present_query_version_cookie_t;
0099 
0100 /** Opcode for xcb_present_query_version. */
0101 #define XCB_PRESENT_QUERY_VERSION 0
0102 
0103 /**
0104  * @brief xcb_present_query_version_request_t
0105  **/
0106 typedef struct xcb_present_query_version_request_t {
0107     uint8_t  major_opcode;
0108     uint8_t  minor_opcode;
0109     uint16_t length;
0110     uint32_t major_version;
0111     uint32_t minor_version;
0112 } xcb_present_query_version_request_t;
0113 
0114 /**
0115  * @brief xcb_present_query_version_reply_t
0116  **/
0117 typedef struct xcb_present_query_version_reply_t {
0118     uint8_t  response_type;
0119     uint8_t  pad0;
0120     uint16_t sequence;
0121     uint32_t length;
0122     uint32_t major_version;
0123     uint32_t minor_version;
0124 } xcb_present_query_version_reply_t;
0125 
0126 /** Opcode for xcb_present_pixmap. */
0127 #define XCB_PRESENT_PIXMAP 1
0128 
0129 /**
0130  * @brief xcb_present_pixmap_request_t
0131  **/
0132 typedef struct xcb_present_pixmap_request_t {
0133     uint8_t             major_opcode;
0134     uint8_t             minor_opcode;
0135     uint16_t            length;
0136     xcb_window_t        window;
0137     xcb_pixmap_t        pixmap;
0138     uint32_t            serial;
0139     xcb_xfixes_region_t valid;
0140     xcb_xfixes_region_t update;
0141     int16_t             x_off;
0142     int16_t             y_off;
0143     xcb_randr_crtc_t    target_crtc;
0144     xcb_sync_fence_t    wait_fence;
0145     xcb_sync_fence_t    idle_fence;
0146     uint32_t            options;
0147     uint8_t             pad0[4];
0148     uint64_t            target_msc;
0149     uint64_t            divisor;
0150     uint64_t            remainder;
0151 } xcb_present_pixmap_request_t;
0152 
0153 /** Opcode for xcb_present_notify_msc. */
0154 #define XCB_PRESENT_NOTIFY_MSC 2
0155 
0156 /**
0157  * @brief xcb_present_notify_msc_request_t
0158  **/
0159 typedef struct xcb_present_notify_msc_request_t {
0160     uint8_t      major_opcode;
0161     uint8_t      minor_opcode;
0162     uint16_t     length;
0163     xcb_window_t window;
0164     uint32_t     serial;
0165     uint8_t      pad0[4];
0166     uint64_t     target_msc;
0167     uint64_t     divisor;
0168     uint64_t     remainder;
0169 } xcb_present_notify_msc_request_t;
0170 
0171 typedef uint32_t xcb_present_event_t;
0172 
0173 /**
0174  * @brief xcb_present_event_iterator_t
0175  **/
0176 typedef struct xcb_present_event_iterator_t {
0177     xcb_present_event_t *data;
0178     int                  rem;
0179     int                  index;
0180 } xcb_present_event_iterator_t;
0181 
0182 /** Opcode for xcb_present_select_input. */
0183 #define XCB_PRESENT_SELECT_INPUT 3
0184 
0185 /**
0186  * @brief xcb_present_select_input_request_t
0187  **/
0188 typedef struct xcb_present_select_input_request_t {
0189     uint8_t             major_opcode;
0190     uint8_t             minor_opcode;
0191     uint16_t            length;
0192     xcb_present_event_t eid;
0193     xcb_window_t        window;
0194     uint32_t            event_mask;
0195 } xcb_present_select_input_request_t;
0196 
0197 /**
0198  * @brief xcb_present_query_capabilities_cookie_t
0199  **/
0200 typedef struct xcb_present_query_capabilities_cookie_t {
0201     unsigned int sequence;
0202 } xcb_present_query_capabilities_cookie_t;
0203 
0204 /** Opcode for xcb_present_query_capabilities. */
0205 #define XCB_PRESENT_QUERY_CAPABILITIES 4
0206 
0207 /**
0208  * @brief xcb_present_query_capabilities_request_t
0209  **/
0210 typedef struct xcb_present_query_capabilities_request_t {
0211     uint8_t  major_opcode;
0212     uint8_t  minor_opcode;
0213     uint16_t length;
0214     uint32_t target;
0215 } xcb_present_query_capabilities_request_t;
0216 
0217 /**
0218  * @brief xcb_present_query_capabilities_reply_t
0219  **/
0220 typedef struct xcb_present_query_capabilities_reply_t {
0221     uint8_t  response_type;
0222     uint8_t  pad0;
0223     uint16_t sequence;
0224     uint32_t length;
0225     uint32_t capabilities;
0226 } xcb_present_query_capabilities_reply_t;
0227 
0228 /** Opcode for xcb_present_pixmap_synced. */
0229 #define XCB_PRESENT_PIXMAP_SYNCED 5
0230 
0231 /**
0232  * @brief xcb_present_pixmap_synced_request_t
0233  **/
0234 typedef struct xcb_present_pixmap_synced_request_t {
0235     uint8_t             major_opcode;
0236     uint8_t             minor_opcode;
0237     uint16_t            length;
0238     xcb_window_t        window;
0239     xcb_pixmap_t        pixmap;
0240     uint32_t            serial;
0241     xcb_xfixes_region_t valid;
0242     xcb_xfixes_region_t update;
0243     int16_t             x_off;
0244     int16_t             y_off;
0245     xcb_randr_crtc_t    target_crtc;
0246     xcb_dri3_syncobj_t  acquire_syncobj;
0247     xcb_dri3_syncobj_t  release_syncobj;
0248     uint64_t            acquire_point;
0249     uint64_t            release_point;
0250     uint32_t            options;
0251     uint8_t             pad0[4];
0252     uint64_t            target_msc;
0253     uint64_t            divisor;
0254     uint64_t            remainder;
0255 } xcb_present_pixmap_synced_request_t;
0256 
0257 /** Opcode for xcb_present_generic. */
0258 #define XCB_PRESENT_GENERIC 0
0259 
0260 /**
0261  * @brief xcb_present_generic_event_t
0262  **/
0263 typedef struct xcb_present_generic_event_t {
0264     uint8_t             response_type;
0265     uint8_t             extension;
0266     uint16_t            sequence;
0267     uint32_t            length;
0268     uint16_t            evtype;
0269     uint8_t             pad0[2];
0270     xcb_present_event_t event;
0271 } xcb_present_generic_event_t;
0272 
0273 /** Opcode for xcb_present_configure_notify. */
0274 #define XCB_PRESENT_CONFIGURE_NOTIFY 0
0275 
0276 /**
0277  * @brief xcb_present_configure_notify_event_t
0278  **/
0279 typedef struct xcb_present_configure_notify_event_t {
0280     uint8_t             response_type;
0281     uint8_t             extension;
0282     uint16_t            sequence;
0283     uint32_t            length;
0284     uint16_t            event_type;
0285     uint8_t             pad0[2];
0286     xcb_present_event_t event;
0287     xcb_window_t        window;
0288     int16_t             x;
0289     int16_t             y;
0290     uint16_t            width;
0291     uint16_t            height;
0292     int16_t             off_x;
0293     int16_t             off_y;
0294     uint32_t            full_sequence;
0295     uint16_t            pixmap_width;
0296     uint16_t            pixmap_height;
0297     uint32_t            pixmap_flags;
0298 } xcb_present_configure_notify_event_t;
0299 
0300 /** Opcode for xcb_present_complete_notify. */
0301 #define XCB_PRESENT_COMPLETE_NOTIFY 1
0302 
0303 /**
0304  * @brief xcb_present_complete_notify_event_t
0305  **/
0306 typedef struct xcb_present_complete_notify_event_t {
0307     uint8_t             response_type;
0308     uint8_t             extension;
0309     uint16_t            sequence;
0310     uint32_t            length;
0311     uint16_t            event_type;
0312     uint8_t             kind;
0313     uint8_t             mode;
0314     xcb_present_event_t event;
0315     xcb_window_t        window;
0316     uint32_t            serial;
0317     uint64_t            ust;
0318     uint32_t            full_sequence;
0319     uint64_t            msc;
0320 } XCB_PACKED xcb_present_complete_notify_event_t;
0321 
0322 /** Opcode for xcb_present_idle_notify. */
0323 #define XCB_PRESENT_IDLE_NOTIFY 2
0324 
0325 /**
0326  * @brief xcb_present_idle_notify_event_t
0327  **/
0328 typedef struct xcb_present_idle_notify_event_t {
0329     uint8_t             response_type;
0330     uint8_t             extension;
0331     uint16_t            sequence;
0332     uint32_t            length;
0333     uint16_t            event_type;
0334     uint8_t             pad0[2];
0335     xcb_present_event_t event;
0336     xcb_window_t        window;
0337     uint32_t            serial;
0338     xcb_pixmap_t        pixmap;
0339     xcb_sync_fence_t    idle_fence;
0340     uint32_t            full_sequence;
0341 } xcb_present_idle_notify_event_t;
0342 
0343 /** Opcode for xcb_present_redirect_notify. */
0344 #define XCB_PRESENT_REDIRECT_NOTIFY 3
0345 
0346 /**
0347  * @brief xcb_present_redirect_notify_event_t
0348  **/
0349 typedef struct xcb_present_redirect_notify_event_t {
0350     uint8_t             response_type;
0351     uint8_t             extension;
0352     uint16_t            sequence;
0353     uint32_t            length;
0354     uint16_t            event_type;
0355     uint8_t             update_window;
0356     uint8_t             pad0;
0357     xcb_present_event_t event;
0358     xcb_window_t        event_window;
0359     xcb_window_t        window;
0360     xcb_pixmap_t        pixmap;
0361     uint32_t            serial;
0362     uint32_t            full_sequence;
0363     xcb_xfixes_region_t valid_region;
0364     xcb_xfixes_region_t update_region;
0365     xcb_rectangle_t     valid_rect;
0366     xcb_rectangle_t     update_rect;
0367     int16_t             x_off;
0368     int16_t             y_off;
0369     xcb_randr_crtc_t    target_crtc;
0370     xcb_sync_fence_t    wait_fence;
0371     xcb_sync_fence_t    idle_fence;
0372     uint32_t            options;
0373     uint8_t             pad1[4];
0374     uint64_t            target_msc;
0375     uint64_t            divisor;
0376     uint64_t            remainder;
0377 } XCB_PACKED xcb_present_redirect_notify_event_t;
0378 
0379 /**
0380  * Get the next element of the iterator
0381  * @param i Pointer to a xcb_present_notify_iterator_t
0382  *
0383  * Get the next element in the iterator. The member rem is
0384  * decreased by one. The member data points to the next
0385  * element. The member index is increased by sizeof(xcb_present_notify_t)
0386  */
0387 void
0388 xcb_present_notify_next (xcb_present_notify_iterator_t *i);
0389 
0390 /**
0391  * Return the iterator pointing to the last element
0392  * @param i An xcb_present_notify_iterator_t
0393  * @return  The iterator pointing to the last element
0394  *
0395  * Set the current element in the iterator to the last element.
0396  * The member rem is set to 0. The member data points to the
0397  * last element.
0398  */
0399 xcb_generic_iterator_t
0400 xcb_present_notify_end (xcb_present_notify_iterator_t i);
0401 
0402 /**
0403  *
0404  * @param c The connection
0405  * @return A cookie
0406  *
0407  * Delivers a request to the X server.
0408  *
0409  */
0410 xcb_present_query_version_cookie_t
0411 xcb_present_query_version (xcb_connection_t *c,
0412                            uint32_t          major_version,
0413                            uint32_t          minor_version);
0414 
0415 /**
0416  *
0417  * @param c The connection
0418  * @return A cookie
0419  *
0420  * Delivers a request to the X server.
0421  *
0422  * This form can be used only if the request will cause
0423  * a reply to be generated. Any returned error will be
0424  * placed in the event queue.
0425  */
0426 xcb_present_query_version_cookie_t
0427 xcb_present_query_version_unchecked (xcb_connection_t *c,
0428                                      uint32_t          major_version,
0429                                      uint32_t          minor_version);
0430 
0431 /**
0432  * Return the reply
0433  * @param c      The connection
0434  * @param cookie The cookie
0435  * @param e      The xcb_generic_error_t supplied
0436  *
0437  * Returns the reply of the request asked by
0438  *
0439  * The parameter @p e supplied to this function must be NULL if
0440  * xcb_present_query_version_unchecked(). is used.
0441  * Otherwise, it stores the error if any.
0442  *
0443  * The returned value must be freed by the caller using free().
0444  */
0445 xcb_present_query_version_reply_t *
0446 xcb_present_query_version_reply (xcb_connection_t                    *c,
0447                                  xcb_present_query_version_cookie_t   cookie  /**< */,
0448                                  xcb_generic_error_t                **e);
0449 
0450 int
0451 xcb_present_pixmap_sizeof (const void  *_buffer,
0452                            uint32_t     notifies_len);
0453 
0454 /**
0455  *
0456  * @param c The connection
0457  * @return A cookie
0458  *
0459  * Delivers a request to the X server.
0460  *
0461  * This form can be used only if the request will not cause
0462  * a reply to be generated. Any returned error will be
0463  * saved for handling by xcb_request_check().
0464  */
0465 xcb_void_cookie_t
0466 xcb_present_pixmap_checked (xcb_connection_t           *c,
0467                             xcb_window_t                window,
0468                             xcb_pixmap_t                pixmap,
0469                             uint32_t                    serial,
0470                             xcb_xfixes_region_t         valid,
0471                             xcb_xfixes_region_t         update,
0472                             int16_t                     x_off,
0473                             int16_t                     y_off,
0474                             xcb_randr_crtc_t            target_crtc,
0475                             xcb_sync_fence_t            wait_fence,
0476                             xcb_sync_fence_t            idle_fence,
0477                             uint32_t                    options,
0478                             uint64_t                    target_msc,
0479                             uint64_t                    divisor,
0480                             uint64_t                    remainder,
0481                             uint32_t                    notifies_len,
0482                             const xcb_present_notify_t *notifies);
0483 
0484 /**
0485  *
0486  * @param c The connection
0487  * @return A cookie
0488  *
0489  * Delivers a request to the X server.
0490  *
0491  */
0492 xcb_void_cookie_t
0493 xcb_present_pixmap (xcb_connection_t           *c,
0494                     xcb_window_t                window,
0495                     xcb_pixmap_t                pixmap,
0496                     uint32_t                    serial,
0497                     xcb_xfixes_region_t         valid,
0498                     xcb_xfixes_region_t         update,
0499                     int16_t                     x_off,
0500                     int16_t                     y_off,
0501                     xcb_randr_crtc_t            target_crtc,
0502                     xcb_sync_fence_t            wait_fence,
0503                     xcb_sync_fence_t            idle_fence,
0504                     uint32_t                    options,
0505                     uint64_t                    target_msc,
0506                     uint64_t                    divisor,
0507                     uint64_t                    remainder,
0508                     uint32_t                    notifies_len,
0509                     const xcb_present_notify_t *notifies);
0510 
0511 xcb_present_notify_t *
0512 xcb_present_pixmap_notifies (const xcb_present_pixmap_request_t *R);
0513 
0514 int
0515 xcb_present_pixmap_notifies_length (const xcb_present_pixmap_request_t *R);
0516 
0517 xcb_present_notify_iterator_t
0518 xcb_present_pixmap_notifies_iterator (const xcb_present_pixmap_request_t *R);
0519 
0520 /**
0521  *
0522  * @param c The connection
0523  * @return A cookie
0524  *
0525  * Delivers a request to the X server.
0526  *
0527  * This form can be used only if the request will not cause
0528  * a reply to be generated. Any returned error will be
0529  * saved for handling by xcb_request_check().
0530  */
0531 xcb_void_cookie_t
0532 xcb_present_notify_msc_checked (xcb_connection_t *c,
0533                                 xcb_window_t      window,
0534                                 uint32_t          serial,
0535                                 uint64_t          target_msc,
0536                                 uint64_t          divisor,
0537                                 uint64_t          remainder);
0538 
0539 /**
0540  *
0541  * @param c The connection
0542  * @return A cookie
0543  *
0544  * Delivers a request to the X server.
0545  *
0546  */
0547 xcb_void_cookie_t
0548 xcb_present_notify_msc (xcb_connection_t *c,
0549                         xcb_window_t      window,
0550                         uint32_t          serial,
0551                         uint64_t          target_msc,
0552                         uint64_t          divisor,
0553                         uint64_t          remainder);
0554 
0555 /**
0556  * Get the next element of the iterator
0557  * @param i Pointer to a xcb_present_event_iterator_t
0558  *
0559  * Get the next element in the iterator. The member rem is
0560  * decreased by one. The member data points to the next
0561  * element. The member index is increased by sizeof(xcb_present_event_t)
0562  */
0563 void
0564 xcb_present_event_next (xcb_present_event_iterator_t *i);
0565 
0566 /**
0567  * Return the iterator pointing to the last element
0568  * @param i An xcb_present_event_iterator_t
0569  * @return  The iterator pointing to the last element
0570  *
0571  * Set the current element in the iterator to the last element.
0572  * The member rem is set to 0. The member data points to the
0573  * last element.
0574  */
0575 xcb_generic_iterator_t
0576 xcb_present_event_end (xcb_present_event_iterator_t i);
0577 
0578 /**
0579  *
0580  * @param c The connection
0581  * @return A cookie
0582  *
0583  * Delivers a request to the X server.
0584  *
0585  * This form can be used only if the request will not cause
0586  * a reply to be generated. Any returned error will be
0587  * saved for handling by xcb_request_check().
0588  */
0589 xcb_void_cookie_t
0590 xcb_present_select_input_checked (xcb_connection_t    *c,
0591                                   xcb_present_event_t  eid,
0592                                   xcb_window_t         window,
0593                                   uint32_t             event_mask);
0594 
0595 /**
0596  *
0597  * @param c The connection
0598  * @return A cookie
0599  *
0600  * Delivers a request to the X server.
0601  *
0602  */
0603 xcb_void_cookie_t
0604 xcb_present_select_input (xcb_connection_t    *c,
0605                           xcb_present_event_t  eid,
0606                           xcb_window_t         window,
0607                           uint32_t             event_mask);
0608 
0609 /**
0610  *
0611  * @param c The connection
0612  * @return A cookie
0613  *
0614  * Delivers a request to the X server.
0615  *
0616  */
0617 xcb_present_query_capabilities_cookie_t
0618 xcb_present_query_capabilities (xcb_connection_t *c,
0619                                 uint32_t          target);
0620 
0621 /**
0622  *
0623  * @param c The connection
0624  * @return A cookie
0625  *
0626  * Delivers a request to the X server.
0627  *
0628  * This form can be used only if the request will cause
0629  * a reply to be generated. Any returned error will be
0630  * placed in the event queue.
0631  */
0632 xcb_present_query_capabilities_cookie_t
0633 xcb_present_query_capabilities_unchecked (xcb_connection_t *c,
0634                                           uint32_t          target);
0635 
0636 /**
0637  * Return the reply
0638  * @param c      The connection
0639  * @param cookie The cookie
0640  * @param e      The xcb_generic_error_t supplied
0641  *
0642  * Returns the reply of the request asked by
0643  *
0644  * The parameter @p e supplied to this function must be NULL if
0645  * xcb_present_query_capabilities_unchecked(). is used.
0646  * Otherwise, it stores the error if any.
0647  *
0648  * The returned value must be freed by the caller using free().
0649  */
0650 xcb_present_query_capabilities_reply_t *
0651 xcb_present_query_capabilities_reply (xcb_connection_t                         *c,
0652                                       xcb_present_query_capabilities_cookie_t   cookie  /**< */,
0653                                       xcb_generic_error_t                     **e);
0654 
0655 int
0656 xcb_present_pixmap_synced_sizeof (const void  *_buffer,
0657                                   uint32_t     notifies_len);
0658 
0659 /**
0660  *
0661  * @param c The connection
0662  * @return A cookie
0663  *
0664  * Delivers a request to the X server.
0665  *
0666  * This form can be used only if the request will not cause
0667  * a reply to be generated. Any returned error will be
0668  * saved for handling by xcb_request_check().
0669  */
0670 xcb_void_cookie_t
0671 xcb_present_pixmap_synced_checked (xcb_connection_t           *c,
0672                                    xcb_window_t                window,
0673                                    xcb_pixmap_t                pixmap,
0674                                    uint32_t                    serial,
0675                                    xcb_xfixes_region_t         valid,
0676                                    xcb_xfixes_region_t         update,
0677                                    int16_t                     x_off,
0678                                    int16_t                     y_off,
0679                                    xcb_randr_crtc_t            target_crtc,
0680                                    xcb_dri3_syncobj_t          acquire_syncobj,
0681                                    xcb_dri3_syncobj_t          release_syncobj,
0682                                    uint64_t                    acquire_point,
0683                                    uint64_t                    release_point,
0684                                    uint32_t                    options,
0685                                    uint64_t                    target_msc,
0686                                    uint64_t                    divisor,
0687                                    uint64_t                    remainder,
0688                                    uint32_t                    notifies_len,
0689                                    const xcb_present_notify_t *notifies);
0690 
0691 /**
0692  *
0693  * @param c The connection
0694  * @return A cookie
0695  *
0696  * Delivers a request to the X server.
0697  *
0698  */
0699 xcb_void_cookie_t
0700 xcb_present_pixmap_synced (xcb_connection_t           *c,
0701                            xcb_window_t                window,
0702                            xcb_pixmap_t                pixmap,
0703                            uint32_t                    serial,
0704                            xcb_xfixes_region_t         valid,
0705                            xcb_xfixes_region_t         update,
0706                            int16_t                     x_off,
0707                            int16_t                     y_off,
0708                            xcb_randr_crtc_t            target_crtc,
0709                            xcb_dri3_syncobj_t          acquire_syncobj,
0710                            xcb_dri3_syncobj_t          release_syncobj,
0711                            uint64_t                    acquire_point,
0712                            uint64_t                    release_point,
0713                            uint32_t                    options,
0714                            uint64_t                    target_msc,
0715                            uint64_t                    divisor,
0716                            uint64_t                    remainder,
0717                            uint32_t                    notifies_len,
0718                            const xcb_present_notify_t *notifies);
0719 
0720 xcb_present_notify_t *
0721 xcb_present_pixmap_synced_notifies (const xcb_present_pixmap_synced_request_t *R);
0722 
0723 int
0724 xcb_present_pixmap_synced_notifies_length (const xcb_present_pixmap_synced_request_t *R);
0725 
0726 xcb_present_notify_iterator_t
0727 xcb_present_pixmap_synced_notifies_iterator (const xcb_present_pixmap_synced_request_t *R);
0728 
0729 int
0730 xcb_present_redirect_notify_sizeof (const void  *_buffer,
0731                                     uint32_t     notifies_len);
0732 
0733 xcb_present_notify_t *
0734 xcb_present_redirect_notify_notifies (const xcb_present_redirect_notify_event_t *R);
0735 
0736 int
0737 xcb_present_redirect_notify_notifies_length (const xcb_present_redirect_notify_event_t *R);
0738 
0739 xcb_present_notify_iterator_t
0740 xcb_present_redirect_notify_notifies_iterator (const xcb_present_redirect_notify_event_t *R);
0741 
0742 
0743 #ifdef __cplusplus
0744 }
0745 #endif
0746 
0747 #endif
0748 
0749 /**
0750  * @}
0751  */