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