Home | History | Annotate | Line # | Download | only in files
sync.c revision 1.1
      1 /*
      2  * This file generated automatically from sync.xml by c_client.py.
      3  * Edit at your peril.
      4  */
      5 
      6 #include <string.h>
      7 #include <assert.h>
      8 #include "xcbext.h"
      9 #include "sync.h"
     10 #include "xproto.h"
     11 
     12 xcb_extension_t xcb_sync_id = { "SYNC", 0 };
     13 
     14 
     15 /*****************************************************************************
     16  **
     17  ** void xcb_sync_alarm_next
     18  **
     19  ** @param xcb_sync_alarm_iterator_t *i
     20  ** @returns void
     21  **
     22  *****************************************************************************/
     23 
     24 void
     25 xcb_sync_alarm_next (xcb_sync_alarm_iterator_t *i  /**< */)
     26 {
     27     --i->rem;
     28     ++i->data;
     29     i->index += sizeof(xcb_sync_alarm_t);
     30 }
     31 
     32 
     33 /*****************************************************************************
     34  **
     35  ** xcb_generic_iterator_t xcb_sync_alarm_end
     36  **
     37  ** @param xcb_sync_alarm_iterator_t i
     38  ** @returns xcb_generic_iterator_t
     39  **
     40  *****************************************************************************/
     41 
     42 xcb_generic_iterator_t
     43 xcb_sync_alarm_end (xcb_sync_alarm_iterator_t i  /**< */)
     44 {
     45     xcb_generic_iterator_t ret;
     46     ret.data = i.data + i.rem;
     47     ret.index = i.index + ((char *) ret.data - (char *) i.data);
     48     ret.rem = 0;
     49     return ret;
     50 }
     51 
     52 
     53 /*****************************************************************************
     54  **
     55  ** void xcb_sync_counter_next
     56  **
     57  ** @param xcb_sync_counter_iterator_t *i
     58  ** @returns void
     59  **
     60  *****************************************************************************/
     61 
     62 void
     63 xcb_sync_counter_next (xcb_sync_counter_iterator_t *i  /**< */)
     64 {
     65     --i->rem;
     66     ++i->data;
     67     i->index += sizeof(xcb_sync_counter_t);
     68 }
     69 
     70 
     71 /*****************************************************************************
     72  **
     73  ** xcb_generic_iterator_t xcb_sync_counter_end
     74  **
     75  ** @param xcb_sync_counter_iterator_t i
     76  ** @returns xcb_generic_iterator_t
     77  **
     78  *****************************************************************************/
     79 
     80 xcb_generic_iterator_t
     81 xcb_sync_counter_end (xcb_sync_counter_iterator_t i  /**< */)
     82 {
     83     xcb_generic_iterator_t ret;
     84     ret.data = i.data + i.rem;
     85     ret.index = i.index + ((char *) ret.data - (char *) i.data);
     86     ret.rem = 0;
     87     return ret;
     88 }
     89 
     90 
     91 /*****************************************************************************
     92  **
     93  ** void xcb_sync_int64_next
     94  **
     95  ** @param xcb_sync_int64_iterator_t *i
     96  ** @returns void
     97  **
     98  *****************************************************************************/
     99 
    100 void
    101 xcb_sync_int64_next (xcb_sync_int64_iterator_t *i  /**< */)
    102 {
    103     --i->rem;
    104     ++i->data;
    105     i->index += sizeof(xcb_sync_int64_t);
    106 }
    107 
    108 
    109 /*****************************************************************************
    110  **
    111  ** xcb_generic_iterator_t xcb_sync_int64_end
    112  **
    113  ** @param xcb_sync_int64_iterator_t i
    114  ** @returns xcb_generic_iterator_t
    115  **
    116  *****************************************************************************/
    117 
    118 xcb_generic_iterator_t
    119 xcb_sync_int64_end (xcb_sync_int64_iterator_t i  /**< */)
    120 {
    121     xcb_generic_iterator_t ret;
    122     ret.data = i.data + i.rem;
    123     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    124     ret.rem = 0;
    125     return ret;
    126 }
    127 
    128 
    129 /*****************************************************************************
    130  **
    131  ** char * xcb_sync_systemcounter_name
    132  **
    133  ** @param const xcb_sync_systemcounter_t *R
    134  ** @returns char *
    135  **
    136  *****************************************************************************/
    137 
    138 char *
    139 xcb_sync_systemcounter_name (const xcb_sync_systemcounter_t *R  /**< */)
    140 {
    141     return (char *) (R + 1);
    142 }
    143 
    144 
    145 /*****************************************************************************
    146  **
    147  ** int xcb_sync_systemcounter_name_length
    148  **
    149  ** @param const xcb_sync_systemcounter_t *R
    150  ** @returns int
    151  **
    152  *****************************************************************************/
    153 
    154 int
    155 xcb_sync_systemcounter_name_length (const xcb_sync_systemcounter_t *R  /**< */)
    156 {
    157     return R->name_len;
    158 }
    159 
    160 
    161 /*****************************************************************************
    162  **
    163  ** xcb_generic_iterator_t xcb_sync_systemcounter_name_end
    164  **
    165  ** @param const xcb_sync_systemcounter_t *R
    166  ** @returns xcb_generic_iterator_t
    167  **
    168  *****************************************************************************/
    169 
    170 xcb_generic_iterator_t
    171 xcb_sync_systemcounter_name_end (const xcb_sync_systemcounter_t *R  /**< */)
    172 {
    173     xcb_generic_iterator_t i;
    174     i.data = ((char *) (R + 1)) + (R->name_len);
    175     i.rem = 0;
    176     i.index = (char *) i.data - (char *) R;
    177     return i;
    178 }
    179 
    180 
    181 /*****************************************************************************
    182  **
    183  ** void xcb_sync_systemcounter_next
    184  **
    185  ** @param xcb_sync_systemcounter_iterator_t *i
    186  ** @returns void
    187  **
    188  *****************************************************************************/
    189 
    190 void
    191 xcb_sync_systemcounter_next (xcb_sync_systemcounter_iterator_t *i  /**< */)
    192 {
    193     xcb_sync_systemcounter_t *R = i->data;
    194     xcb_generic_iterator_t child = xcb_sync_systemcounter_name_end(R);
    195     --i->rem;
    196     i->data = (xcb_sync_systemcounter_t *) child.data;
    197     i->index = child.index;
    198 }
    199 
    200 
    201 /*****************************************************************************
    202  **
    203  ** xcb_generic_iterator_t xcb_sync_systemcounter_end
    204  **
    205  ** @param xcb_sync_systemcounter_iterator_t i
    206  ** @returns xcb_generic_iterator_t
    207  **
    208  *****************************************************************************/
    209 
    210 xcb_generic_iterator_t
    211 xcb_sync_systemcounter_end (xcb_sync_systemcounter_iterator_t i  /**< */)
    212 {
    213     xcb_generic_iterator_t ret;
    214     while(i.rem > 0)
    215         xcb_sync_systemcounter_next(&i);
    216     ret.data = i.data;
    217     ret.rem = i.rem;
    218     ret.index = i.index;
    219     return ret;
    220 }
    221 
    222 
    223 /*****************************************************************************
    224  **
    225  ** void xcb_sync_trigger_next
    226  **
    227  ** @param xcb_sync_trigger_iterator_t *i
    228  ** @returns void
    229  **
    230  *****************************************************************************/
    231 
    232 void
    233 xcb_sync_trigger_next (xcb_sync_trigger_iterator_t *i  /**< */)
    234 {
    235     --i->rem;
    236     ++i->data;
    237     i->index += sizeof(xcb_sync_trigger_t);
    238 }
    239 
    240 
    241 /*****************************************************************************
    242  **
    243  ** xcb_generic_iterator_t xcb_sync_trigger_end
    244  **
    245  ** @param xcb_sync_trigger_iterator_t i
    246  ** @returns xcb_generic_iterator_t
    247  **
    248  *****************************************************************************/
    249 
    250 xcb_generic_iterator_t
    251 xcb_sync_trigger_end (xcb_sync_trigger_iterator_t i  /**< */)
    252 {
    253     xcb_generic_iterator_t ret;
    254     ret.data = i.data + i.rem;
    255     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    256     ret.rem = 0;
    257     return ret;
    258 }
    259 
    260 
    261 /*****************************************************************************
    262  **
    263  ** void xcb_sync_waitcondition_next
    264  **
    265  ** @param xcb_sync_waitcondition_iterator_t *i
    266  ** @returns void
    267  **
    268  *****************************************************************************/
    269 
    270 void
    271 xcb_sync_waitcondition_next (xcb_sync_waitcondition_iterator_t *i  /**< */)
    272 {
    273     --i->rem;
    274     ++i->data;
    275     i->index += sizeof(xcb_sync_waitcondition_t);
    276 }
    277 
    278 
    279 /*****************************************************************************
    280  **
    281  ** xcb_generic_iterator_t xcb_sync_waitcondition_end
    282  **
    283  ** @param xcb_sync_waitcondition_iterator_t i
    284  ** @returns xcb_generic_iterator_t
    285  **
    286  *****************************************************************************/
    287 
    288 xcb_generic_iterator_t
    289 xcb_sync_waitcondition_end (xcb_sync_waitcondition_iterator_t i  /**< */)
    290 {
    291     xcb_generic_iterator_t ret;
    292     ret.data = i.data + i.rem;
    293     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    294     ret.rem = 0;
    295     return ret;
    296 }
    297 
    298 
    299 /*****************************************************************************
    300  **
    301  ** xcb_sync_initialize_cookie_t xcb_sync_initialize
    302  **
    303  ** @param xcb_connection_t *c
    304  ** @param uint8_t           desired_major_version
    305  ** @param uint8_t           desired_minor_version
    306  ** @returns xcb_sync_initialize_cookie_t
    307  **
    308  *****************************************************************************/
    309 
    310 xcb_sync_initialize_cookie_t
    311 xcb_sync_initialize (xcb_connection_t *c  /**< */,
    312                      uint8_t           desired_major_version  /**< */,
    313                      uint8_t           desired_minor_version  /**< */)
    314 {
    315     static const xcb_protocol_request_t xcb_req = {
    316         /* count */ 2,
    317         /* ext */ &xcb_sync_id,
    318         /* opcode */ XCB_SYNC_INITIALIZE,
    319         /* isvoid */ 0
    320     };
    321 
    322     struct iovec xcb_parts[4];
    323     xcb_sync_initialize_cookie_t xcb_ret;
    324     xcb_sync_initialize_request_t xcb_out;
    325 
    326     xcb_out.desired_major_version = desired_major_version;
    327     xcb_out.desired_minor_version = desired_minor_version;
    328 
    329     xcb_parts[2].iov_base = (char *) &xcb_out;
    330     xcb_parts[2].iov_len = sizeof(xcb_out);
    331     xcb_parts[3].iov_base = 0;
    332     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    333     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    334     return xcb_ret;
    335 }
    336 
    337 
    338 /*****************************************************************************
    339  **
    340  ** xcb_sync_initialize_cookie_t xcb_sync_initialize_unchecked
    341  **
    342  ** @param xcb_connection_t *c
    343  ** @param uint8_t           desired_major_version
    344  ** @param uint8_t           desired_minor_version
    345  ** @returns xcb_sync_initialize_cookie_t
    346  **
    347  *****************************************************************************/
    348 
    349 xcb_sync_initialize_cookie_t
    350 xcb_sync_initialize_unchecked (xcb_connection_t *c  /**< */,
    351                                uint8_t           desired_major_version  /**< */,
    352                                uint8_t           desired_minor_version  /**< */)
    353 {
    354     static const xcb_protocol_request_t xcb_req = {
    355         /* count */ 2,
    356         /* ext */ &xcb_sync_id,
    357         /* opcode */ XCB_SYNC_INITIALIZE,
    358         /* isvoid */ 0
    359     };
    360 
    361     struct iovec xcb_parts[4];
    362     xcb_sync_initialize_cookie_t xcb_ret;
    363     xcb_sync_initialize_request_t xcb_out;
    364 
    365     xcb_out.desired_major_version = desired_major_version;
    366     xcb_out.desired_minor_version = desired_minor_version;
    367 
    368     xcb_parts[2].iov_base = (char *) &xcb_out;
    369     xcb_parts[2].iov_len = sizeof(xcb_out);
    370     xcb_parts[3].iov_base = 0;
    371     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    372     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    373     return xcb_ret;
    374 }
    375 
    376 
    377 /*****************************************************************************
    378  **
    379  ** xcb_sync_initialize_reply_t * xcb_sync_initialize_reply
    380  **
    381  ** @param xcb_connection_t              *c
    382  ** @param xcb_sync_initialize_cookie_t   cookie
    383  ** @param xcb_generic_error_t          **e
    384  ** @returns xcb_sync_initialize_reply_t *
    385  **
    386  *****************************************************************************/
    387 
    388 xcb_sync_initialize_reply_t *
    389 xcb_sync_initialize_reply (xcb_connection_t              *c  /**< */,
    390                            xcb_sync_initialize_cookie_t   cookie  /**< */,
    391                            xcb_generic_error_t          **e  /**< */)
    392 {
    393     return (xcb_sync_initialize_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    394 }
    395 
    396 
    397 /*****************************************************************************
    398  **
    399  ** xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters
    400  **
    401  ** @param xcb_connection_t *c
    402  ** @returns xcb_sync_list_system_counters_cookie_t
    403  **
    404  *****************************************************************************/
    405 
    406 xcb_sync_list_system_counters_cookie_t
    407 xcb_sync_list_system_counters (xcb_connection_t *c  /**< */)
    408 {
    409     static const xcb_protocol_request_t xcb_req = {
    410         /* count */ 2,
    411         /* ext */ &xcb_sync_id,
    412         /* opcode */ XCB_SYNC_LIST_SYSTEM_COUNTERS,
    413         /* isvoid */ 0
    414     };
    415 
    416     struct iovec xcb_parts[4];
    417     xcb_sync_list_system_counters_cookie_t xcb_ret;
    418     xcb_sync_list_system_counters_request_t xcb_out;
    419 
    420 
    421     xcb_parts[2].iov_base = (char *) &xcb_out;
    422     xcb_parts[2].iov_len = sizeof(xcb_out);
    423     xcb_parts[3].iov_base = 0;
    424     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    425     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    426     return xcb_ret;
    427 }
    428 
    429 
    430 /*****************************************************************************
    431  **
    432  ** xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters_unchecked
    433  **
    434  ** @param xcb_connection_t *c
    435  ** @returns xcb_sync_list_system_counters_cookie_t
    436  **
    437  *****************************************************************************/
    438 
    439 xcb_sync_list_system_counters_cookie_t
    440 xcb_sync_list_system_counters_unchecked (xcb_connection_t *c  /**< */)
    441 {
    442     static const xcb_protocol_request_t xcb_req = {
    443         /* count */ 2,
    444         /* ext */ &xcb_sync_id,
    445         /* opcode */ XCB_SYNC_LIST_SYSTEM_COUNTERS,
    446         /* isvoid */ 0
    447     };
    448 
    449     struct iovec xcb_parts[4];
    450     xcb_sync_list_system_counters_cookie_t xcb_ret;
    451     xcb_sync_list_system_counters_request_t xcb_out;
    452 
    453 
    454     xcb_parts[2].iov_base = (char *) &xcb_out;
    455     xcb_parts[2].iov_len = sizeof(xcb_out);
    456     xcb_parts[3].iov_base = 0;
    457     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    458     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    459     return xcb_ret;
    460 }
    461 
    462 
    463 /*****************************************************************************
    464  **
    465  ** int xcb_sync_list_system_counters_counters_length
    466  **
    467  ** @param const xcb_sync_list_system_counters_reply_t *R
    468  ** @returns int
    469  **
    470  *****************************************************************************/
    471 
    472 int
    473 xcb_sync_list_system_counters_counters_length (const xcb_sync_list_system_counters_reply_t *R  /**< */)
    474 {
    475     return R->counters_len;
    476 }
    477 
    478 
    479 /*****************************************************************************
    480  **
    481  ** xcb_sync_systemcounter_iterator_t xcb_sync_list_system_counters_counters_iterator
    482  **
    483  ** @param const xcb_sync_list_system_counters_reply_t *R
    484  ** @returns xcb_sync_systemcounter_iterator_t
    485  **
    486  *****************************************************************************/
    487 
    488 xcb_sync_systemcounter_iterator_t
    489 xcb_sync_list_system_counters_counters_iterator (const xcb_sync_list_system_counters_reply_t *R  /**< */)
    490 {
    491     xcb_sync_systemcounter_iterator_t i;
    492     i.data = (xcb_sync_systemcounter_t *) (R + 1);
    493     i.rem = R->counters_len;
    494     i.index = (char *) i.data - (char *) R;
    495     return i;
    496 }
    497 
    498 
    499 /*****************************************************************************
    500  **
    501  ** xcb_sync_list_system_counters_reply_t * xcb_sync_list_system_counters_reply
    502  **
    503  ** @param xcb_connection_t                        *c
    504  ** @param xcb_sync_list_system_counters_cookie_t   cookie
    505  ** @param xcb_generic_error_t                    **e
    506  ** @returns xcb_sync_list_system_counters_reply_t *
    507  **
    508  *****************************************************************************/
    509 
    510 xcb_sync_list_system_counters_reply_t *
    511 xcb_sync_list_system_counters_reply (xcb_connection_t                        *c  /**< */,
    512                                      xcb_sync_list_system_counters_cookie_t   cookie  /**< */,
    513                                      xcb_generic_error_t                    **e  /**< */)
    514 {
    515     return (xcb_sync_list_system_counters_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    516 }
    517 
    518 
    519 /*****************************************************************************
    520  **
    521  ** xcb_void_cookie_t xcb_sync_create_counter_checked
    522  **
    523  ** @param xcb_connection_t   *c
    524  ** @param xcb_sync_counter_t  id
    525  ** @param xcb_sync_int64_t    initial_value
    526  ** @returns xcb_void_cookie_t
    527  **
    528  *****************************************************************************/
    529 
    530 xcb_void_cookie_t
    531 xcb_sync_create_counter_checked (xcb_connection_t   *c  /**< */,
    532                                  xcb_sync_counter_t  id  /**< */,
    533                                  xcb_sync_int64_t    initial_value  /**< */)
    534 {
    535     static const xcb_protocol_request_t xcb_req = {
    536         /* count */ 2,
    537         /* ext */ &xcb_sync_id,
    538         /* opcode */ XCB_SYNC_CREATE_COUNTER,
    539         /* isvoid */ 1
    540     };
    541 
    542     struct iovec xcb_parts[4];
    543     xcb_void_cookie_t xcb_ret;
    544     xcb_sync_create_counter_request_t xcb_out;
    545 
    546     xcb_out.id = id;
    547     xcb_out.initial_value = initial_value;
    548 
    549     xcb_parts[2].iov_base = (char *) &xcb_out;
    550     xcb_parts[2].iov_len = sizeof(xcb_out);
    551     xcb_parts[3].iov_base = 0;
    552     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    553     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    554     return xcb_ret;
    555 }
    556 
    557 
    558 /*****************************************************************************
    559  **
    560  ** xcb_void_cookie_t xcb_sync_create_counter
    561  **
    562  ** @param xcb_connection_t   *c
    563  ** @param xcb_sync_counter_t  id
    564  ** @param xcb_sync_int64_t    initial_value
    565  ** @returns xcb_void_cookie_t
    566  **
    567  *****************************************************************************/
    568 
    569 xcb_void_cookie_t
    570 xcb_sync_create_counter (xcb_connection_t   *c  /**< */,
    571                          xcb_sync_counter_t  id  /**< */,
    572                          xcb_sync_int64_t    initial_value  /**< */)
    573 {
    574     static const xcb_protocol_request_t xcb_req = {
    575         /* count */ 2,
    576         /* ext */ &xcb_sync_id,
    577         /* opcode */ XCB_SYNC_CREATE_COUNTER,
    578         /* isvoid */ 1
    579     };
    580 
    581     struct iovec xcb_parts[4];
    582     xcb_void_cookie_t xcb_ret;
    583     xcb_sync_create_counter_request_t xcb_out;
    584 
    585     xcb_out.id = id;
    586     xcb_out.initial_value = initial_value;
    587 
    588     xcb_parts[2].iov_base = (char *) &xcb_out;
    589     xcb_parts[2].iov_len = sizeof(xcb_out);
    590     xcb_parts[3].iov_base = 0;
    591     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    592     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    593     return xcb_ret;
    594 }
    595 
    596 
    597 /*****************************************************************************
    598  **
    599  ** xcb_void_cookie_t xcb_sync_destroy_counter_checked
    600  **
    601  ** @param xcb_connection_t   *c
    602  ** @param xcb_sync_counter_t  counter
    603  ** @returns xcb_void_cookie_t
    604  **
    605  *****************************************************************************/
    606 
    607 xcb_void_cookie_t
    608 xcb_sync_destroy_counter_checked (xcb_connection_t   *c  /**< */,
    609                                   xcb_sync_counter_t  counter  /**< */)
    610 {
    611     static const xcb_protocol_request_t xcb_req = {
    612         /* count */ 2,
    613         /* ext */ &xcb_sync_id,
    614         /* opcode */ XCB_SYNC_DESTROY_COUNTER,
    615         /* isvoid */ 1
    616     };
    617 
    618     struct iovec xcb_parts[4];
    619     xcb_void_cookie_t xcb_ret;
    620     xcb_sync_destroy_counter_request_t xcb_out;
    621 
    622     xcb_out.counter = counter;
    623 
    624     xcb_parts[2].iov_base = (char *) &xcb_out;
    625     xcb_parts[2].iov_len = sizeof(xcb_out);
    626     xcb_parts[3].iov_base = 0;
    627     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    628     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    629     return xcb_ret;
    630 }
    631 
    632 
    633 /*****************************************************************************
    634  **
    635  ** xcb_void_cookie_t xcb_sync_destroy_counter
    636  **
    637  ** @param xcb_connection_t   *c
    638  ** @param xcb_sync_counter_t  counter
    639  ** @returns xcb_void_cookie_t
    640  **
    641  *****************************************************************************/
    642 
    643 xcb_void_cookie_t
    644 xcb_sync_destroy_counter (xcb_connection_t   *c  /**< */,
    645                           xcb_sync_counter_t  counter  /**< */)
    646 {
    647     static const xcb_protocol_request_t xcb_req = {
    648         /* count */ 2,
    649         /* ext */ &xcb_sync_id,
    650         /* opcode */ XCB_SYNC_DESTROY_COUNTER,
    651         /* isvoid */ 1
    652     };
    653 
    654     struct iovec xcb_parts[4];
    655     xcb_void_cookie_t xcb_ret;
    656     xcb_sync_destroy_counter_request_t xcb_out;
    657 
    658     xcb_out.counter = counter;
    659 
    660     xcb_parts[2].iov_base = (char *) &xcb_out;
    661     xcb_parts[2].iov_len = sizeof(xcb_out);
    662     xcb_parts[3].iov_base = 0;
    663     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    664     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    665     return xcb_ret;
    666 }
    667 
    668 
    669 /*****************************************************************************
    670  **
    671  ** xcb_sync_query_counter_cookie_t xcb_sync_query_counter
    672  **
    673  ** @param xcb_connection_t   *c
    674  ** @param xcb_sync_counter_t  counter
    675  ** @returns xcb_sync_query_counter_cookie_t
    676  **
    677  *****************************************************************************/
    678 
    679 xcb_sync_query_counter_cookie_t
    680 xcb_sync_query_counter (xcb_connection_t   *c  /**< */,
    681                         xcb_sync_counter_t  counter  /**< */)
    682 {
    683     static const xcb_protocol_request_t xcb_req = {
    684         /* count */ 2,
    685         /* ext */ &xcb_sync_id,
    686         /* opcode */ XCB_SYNC_QUERY_COUNTER,
    687         /* isvoid */ 0
    688     };
    689 
    690     struct iovec xcb_parts[4];
    691     xcb_sync_query_counter_cookie_t xcb_ret;
    692     xcb_sync_query_counter_request_t xcb_out;
    693 
    694     xcb_out.counter = counter;
    695 
    696     xcb_parts[2].iov_base = (char *) &xcb_out;
    697     xcb_parts[2].iov_len = sizeof(xcb_out);
    698     xcb_parts[3].iov_base = 0;
    699     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    700     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    701     return xcb_ret;
    702 }
    703 
    704 
    705 /*****************************************************************************
    706  **
    707  ** xcb_sync_query_counter_cookie_t xcb_sync_query_counter_unchecked
    708  **
    709  ** @param xcb_connection_t   *c
    710  ** @param xcb_sync_counter_t  counter
    711  ** @returns xcb_sync_query_counter_cookie_t
    712  **
    713  *****************************************************************************/
    714 
    715 xcb_sync_query_counter_cookie_t
    716 xcb_sync_query_counter_unchecked (xcb_connection_t   *c  /**< */,
    717                                   xcb_sync_counter_t  counter  /**< */)
    718 {
    719     static const xcb_protocol_request_t xcb_req = {
    720         /* count */ 2,
    721         /* ext */ &xcb_sync_id,
    722         /* opcode */ XCB_SYNC_QUERY_COUNTER,
    723         /* isvoid */ 0
    724     };
    725 
    726     struct iovec xcb_parts[4];
    727     xcb_sync_query_counter_cookie_t xcb_ret;
    728     xcb_sync_query_counter_request_t xcb_out;
    729 
    730     xcb_out.counter = counter;
    731 
    732     xcb_parts[2].iov_base = (char *) &xcb_out;
    733     xcb_parts[2].iov_len = sizeof(xcb_out);
    734     xcb_parts[3].iov_base = 0;
    735     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    736     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    737     return xcb_ret;
    738 }
    739 
    740 
    741 /*****************************************************************************
    742  **
    743  ** xcb_sync_query_counter_reply_t * xcb_sync_query_counter_reply
    744  **
    745  ** @param xcb_connection_t                 *c
    746  ** @param xcb_sync_query_counter_cookie_t   cookie
    747  ** @param xcb_generic_error_t             **e
    748  ** @returns xcb_sync_query_counter_reply_t *
    749  **
    750  *****************************************************************************/
    751 
    752 xcb_sync_query_counter_reply_t *
    753 xcb_sync_query_counter_reply (xcb_connection_t                 *c  /**< */,
    754                               xcb_sync_query_counter_cookie_t   cookie  /**< */,
    755                               xcb_generic_error_t             **e  /**< */)
    756 {
    757     return (xcb_sync_query_counter_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    758 }
    759 
    760 
    761 /*****************************************************************************
    762  **
    763  ** xcb_void_cookie_t xcb_sync_await_checked
    764  **
    765  ** @param xcb_connection_t               *c
    766  ** @param uint32_t                        wait_list_len
    767  ** @param const xcb_sync_waitcondition_t *wait_list
    768  ** @returns xcb_void_cookie_t
    769  **
    770  *****************************************************************************/
    771 
    772 xcb_void_cookie_t
    773 xcb_sync_await_checked (xcb_connection_t               *c  /**< */,
    774                         uint32_t                        wait_list_len  /**< */,
    775                         const xcb_sync_waitcondition_t *wait_list  /**< */)
    776 {
    777     static const xcb_protocol_request_t xcb_req = {
    778         /* count */ 4,
    779         /* ext */ &xcb_sync_id,
    780         /* opcode */ XCB_SYNC_AWAIT,
    781         /* isvoid */ 1
    782     };
    783 
    784     struct iovec xcb_parts[6];
    785     xcb_void_cookie_t xcb_ret;
    786     xcb_sync_await_request_t xcb_out;
    787 
    788 
    789     xcb_parts[2].iov_base = (char *) &xcb_out;
    790     xcb_parts[2].iov_len = sizeof(xcb_out);
    791     xcb_parts[3].iov_base = 0;
    792     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    793     xcb_parts[4].iov_base = (char *) wait_list;
    794     xcb_parts[4].iov_len = wait_list_len * sizeof(xcb_sync_waitcondition_t);
    795     xcb_parts[5].iov_base = 0;
    796     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
    797     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    798     return xcb_ret;
    799 }
    800 
    801 
    802 /*****************************************************************************
    803  **
    804  ** xcb_void_cookie_t xcb_sync_await
    805  **
    806  ** @param xcb_connection_t               *c
    807  ** @param uint32_t                        wait_list_len
    808  ** @param const xcb_sync_waitcondition_t *wait_list
    809  ** @returns xcb_void_cookie_t
    810  **
    811  *****************************************************************************/
    812 
    813 xcb_void_cookie_t
    814 xcb_sync_await (xcb_connection_t               *c  /**< */,
    815                 uint32_t                        wait_list_len  /**< */,
    816                 const xcb_sync_waitcondition_t *wait_list  /**< */)
    817 {
    818     static const xcb_protocol_request_t xcb_req = {
    819         /* count */ 4,
    820         /* ext */ &xcb_sync_id,
    821         /* opcode */ XCB_SYNC_AWAIT,
    822         /* isvoid */ 1
    823     };
    824 
    825     struct iovec xcb_parts[6];
    826     xcb_void_cookie_t xcb_ret;
    827     xcb_sync_await_request_t xcb_out;
    828 
    829 
    830     xcb_parts[2].iov_base = (char *) &xcb_out;
    831     xcb_parts[2].iov_len = sizeof(xcb_out);
    832     xcb_parts[3].iov_base = 0;
    833     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    834     xcb_parts[4].iov_base = (char *) wait_list;
    835     xcb_parts[4].iov_len = wait_list_len * sizeof(xcb_sync_waitcondition_t);
    836     xcb_parts[5].iov_base = 0;
    837     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
    838     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    839     return xcb_ret;
    840 }
    841 
    842 
    843 /*****************************************************************************
    844  **
    845  ** xcb_void_cookie_t xcb_sync_change_counter_checked
    846  **
    847  ** @param xcb_connection_t   *c
    848  ** @param xcb_sync_counter_t  counter
    849  ** @param xcb_sync_int64_t    amount
    850  ** @returns xcb_void_cookie_t
    851  **
    852  *****************************************************************************/
    853 
    854 xcb_void_cookie_t
    855 xcb_sync_change_counter_checked (xcb_connection_t   *c  /**< */,
    856                                  xcb_sync_counter_t  counter  /**< */,
    857                                  xcb_sync_int64_t    amount  /**< */)
    858 {
    859     static const xcb_protocol_request_t xcb_req = {
    860         /* count */ 2,
    861         /* ext */ &xcb_sync_id,
    862         /* opcode */ XCB_SYNC_CHANGE_COUNTER,
    863         /* isvoid */ 1
    864     };
    865 
    866     struct iovec xcb_parts[4];
    867     xcb_void_cookie_t xcb_ret;
    868     xcb_sync_change_counter_request_t xcb_out;
    869 
    870     xcb_out.counter = counter;
    871     xcb_out.amount = amount;
    872 
    873     xcb_parts[2].iov_base = (char *) &xcb_out;
    874     xcb_parts[2].iov_len = sizeof(xcb_out);
    875     xcb_parts[3].iov_base = 0;
    876     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    877     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    878     return xcb_ret;
    879 }
    880 
    881 
    882 /*****************************************************************************
    883  **
    884  ** xcb_void_cookie_t xcb_sync_change_counter
    885  **
    886  ** @param xcb_connection_t   *c
    887  ** @param xcb_sync_counter_t  counter
    888  ** @param xcb_sync_int64_t    amount
    889  ** @returns xcb_void_cookie_t
    890  **
    891  *****************************************************************************/
    892 
    893 xcb_void_cookie_t
    894 xcb_sync_change_counter (xcb_connection_t   *c  /**< */,
    895                          xcb_sync_counter_t  counter  /**< */,
    896                          xcb_sync_int64_t    amount  /**< */)
    897 {
    898     static const xcb_protocol_request_t xcb_req = {
    899         /* count */ 2,
    900         /* ext */ &xcb_sync_id,
    901         /* opcode */ XCB_SYNC_CHANGE_COUNTER,
    902         /* isvoid */ 1
    903     };
    904 
    905     struct iovec xcb_parts[4];
    906     xcb_void_cookie_t xcb_ret;
    907     xcb_sync_change_counter_request_t xcb_out;
    908 
    909     xcb_out.counter = counter;
    910     xcb_out.amount = amount;
    911 
    912     xcb_parts[2].iov_base = (char *) &xcb_out;
    913     xcb_parts[2].iov_len = sizeof(xcb_out);
    914     xcb_parts[3].iov_base = 0;
    915     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    916     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    917     return xcb_ret;
    918 }
    919 
    920 
    921 /*****************************************************************************
    922  **
    923  ** xcb_void_cookie_t xcb_sync_set_counter_checked
    924  **
    925  ** @param xcb_connection_t   *c
    926  ** @param xcb_sync_counter_t  counter
    927  ** @param xcb_sync_int64_t    value
    928  ** @returns xcb_void_cookie_t
    929  **
    930  *****************************************************************************/
    931 
    932 xcb_void_cookie_t
    933 xcb_sync_set_counter_checked (xcb_connection_t   *c  /**< */,
    934                               xcb_sync_counter_t  counter  /**< */,
    935                               xcb_sync_int64_t    value  /**< */)
    936 {
    937     static const xcb_protocol_request_t xcb_req = {
    938         /* count */ 2,
    939         /* ext */ &xcb_sync_id,
    940         /* opcode */ XCB_SYNC_SET_COUNTER,
    941         /* isvoid */ 1
    942     };
    943 
    944     struct iovec xcb_parts[4];
    945     xcb_void_cookie_t xcb_ret;
    946     xcb_sync_set_counter_request_t xcb_out;
    947 
    948     xcb_out.counter = counter;
    949     xcb_out.value = value;
    950 
    951     xcb_parts[2].iov_base = (char *) &xcb_out;
    952     xcb_parts[2].iov_len = sizeof(xcb_out);
    953     xcb_parts[3].iov_base = 0;
    954     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    955     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    956     return xcb_ret;
    957 }
    958 
    959 
    960 /*****************************************************************************
    961  **
    962  ** xcb_void_cookie_t xcb_sync_set_counter
    963  **
    964  ** @param xcb_connection_t   *c
    965  ** @param xcb_sync_counter_t  counter
    966  ** @param xcb_sync_int64_t    value
    967  ** @returns xcb_void_cookie_t
    968  **
    969  *****************************************************************************/
    970 
    971 xcb_void_cookie_t
    972 xcb_sync_set_counter (xcb_connection_t   *c  /**< */,
    973                       xcb_sync_counter_t  counter  /**< */,
    974                       xcb_sync_int64_t    value  /**< */)
    975 {
    976     static const xcb_protocol_request_t xcb_req = {
    977         /* count */ 2,
    978         /* ext */ &xcb_sync_id,
    979         /* opcode */ XCB_SYNC_SET_COUNTER,
    980         /* isvoid */ 1
    981     };
    982 
    983     struct iovec xcb_parts[4];
    984     xcb_void_cookie_t xcb_ret;
    985     xcb_sync_set_counter_request_t xcb_out;
    986 
    987     xcb_out.counter = counter;
    988     xcb_out.value = value;
    989 
    990     xcb_parts[2].iov_base = (char *) &xcb_out;
    991     xcb_parts[2].iov_len = sizeof(xcb_out);
    992     xcb_parts[3].iov_base = 0;
    993     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    994     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    995     return xcb_ret;
    996 }
    997 
    998 
    999 /*****************************************************************************
   1000  **
   1001  ** xcb_void_cookie_t xcb_sync_create_alarm_checked
   1002  **
   1003  ** @param xcb_connection_t *c
   1004  ** @param xcb_sync_alarm_t  id
   1005  ** @param uint32_t          value_mask
   1006  ** @param const uint32_t   *value_list
   1007  ** @returns xcb_void_cookie_t
   1008  **
   1009  *****************************************************************************/
   1010 
   1011 xcb_void_cookie_t
   1012 xcb_sync_create_alarm_checked (xcb_connection_t *c  /**< */,
   1013                                xcb_sync_alarm_t  id  /**< */,
   1014                                uint32_t          value_mask  /**< */,
   1015                                const uint32_t   *value_list  /**< */)
   1016 {
   1017     static const xcb_protocol_request_t xcb_req = {
   1018         /* count */ 4,
   1019         /* ext */ &xcb_sync_id,
   1020         /* opcode */ XCB_SYNC_CREATE_ALARM,
   1021         /* isvoid */ 1
   1022     };
   1023 
   1024     struct iovec xcb_parts[6];
   1025     xcb_void_cookie_t xcb_ret;
   1026     xcb_sync_create_alarm_request_t xcb_out;
   1027 
   1028     xcb_out.id = id;
   1029     xcb_out.value_mask = value_mask;
   1030 
   1031     xcb_parts[2].iov_base = (char *) &xcb_out;
   1032     xcb_parts[2].iov_len = sizeof(xcb_out);
   1033     xcb_parts[3].iov_base = 0;
   1034     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1035     xcb_parts[4].iov_base = (char *) value_list;
   1036     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
   1037     xcb_parts[5].iov_base = 0;
   1038     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   1039     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1040     return xcb_ret;
   1041 }
   1042 
   1043 
   1044 /*****************************************************************************
   1045  **
   1046  ** xcb_void_cookie_t xcb_sync_create_alarm
   1047  **
   1048  ** @param xcb_connection_t *c
   1049  ** @param xcb_sync_alarm_t  id
   1050  ** @param uint32_t          value_mask
   1051  ** @param const uint32_t   *value_list
   1052  ** @returns xcb_void_cookie_t
   1053  **
   1054  *****************************************************************************/
   1055 
   1056 xcb_void_cookie_t
   1057 xcb_sync_create_alarm (xcb_connection_t *c  /**< */,
   1058                        xcb_sync_alarm_t  id  /**< */,
   1059                        uint32_t          value_mask  /**< */,
   1060                        const uint32_t   *value_list  /**< */)
   1061 {
   1062     static const xcb_protocol_request_t xcb_req = {
   1063         /* count */ 4,
   1064         /* ext */ &xcb_sync_id,
   1065         /* opcode */ XCB_SYNC_CREATE_ALARM,
   1066         /* isvoid */ 1
   1067     };
   1068 
   1069     struct iovec xcb_parts[6];
   1070     xcb_void_cookie_t xcb_ret;
   1071     xcb_sync_create_alarm_request_t xcb_out;
   1072 
   1073     xcb_out.id = id;
   1074     xcb_out.value_mask = value_mask;
   1075 
   1076     xcb_parts[2].iov_base = (char *) &xcb_out;
   1077     xcb_parts[2].iov_len = sizeof(xcb_out);
   1078     xcb_parts[3].iov_base = 0;
   1079     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1080     xcb_parts[4].iov_base = (char *) value_list;
   1081     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
   1082     xcb_parts[5].iov_base = 0;
   1083     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   1084     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1085     return xcb_ret;
   1086 }
   1087 
   1088 
   1089 /*****************************************************************************
   1090  **
   1091  ** xcb_void_cookie_t xcb_sync_change_alarm_checked
   1092  **
   1093  ** @param xcb_connection_t *c
   1094  ** @param xcb_sync_alarm_t  id
   1095  ** @param uint32_t          value_mask
   1096  ** @param const uint32_t   *value_list
   1097  ** @returns xcb_void_cookie_t
   1098  **
   1099  *****************************************************************************/
   1100 
   1101 xcb_void_cookie_t
   1102 xcb_sync_change_alarm_checked (xcb_connection_t *c  /**< */,
   1103                                xcb_sync_alarm_t  id  /**< */,
   1104                                uint32_t          value_mask  /**< */,
   1105                                const uint32_t   *value_list  /**< */)
   1106 {
   1107     static const xcb_protocol_request_t xcb_req = {
   1108         /* count */ 4,
   1109         /* ext */ &xcb_sync_id,
   1110         /* opcode */ XCB_SYNC_CHANGE_ALARM,
   1111         /* isvoid */ 1
   1112     };
   1113 
   1114     struct iovec xcb_parts[6];
   1115     xcb_void_cookie_t xcb_ret;
   1116     xcb_sync_change_alarm_request_t xcb_out;
   1117 
   1118     xcb_out.id = id;
   1119     xcb_out.value_mask = value_mask;
   1120 
   1121     xcb_parts[2].iov_base = (char *) &xcb_out;
   1122     xcb_parts[2].iov_len = sizeof(xcb_out);
   1123     xcb_parts[3].iov_base = 0;
   1124     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1125     xcb_parts[4].iov_base = (char *) value_list;
   1126     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
   1127     xcb_parts[5].iov_base = 0;
   1128     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   1129     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1130     return xcb_ret;
   1131 }
   1132 
   1133 
   1134 /*****************************************************************************
   1135  **
   1136  ** xcb_void_cookie_t xcb_sync_change_alarm
   1137  **
   1138  ** @param xcb_connection_t *c
   1139  ** @param xcb_sync_alarm_t  id
   1140  ** @param uint32_t          value_mask
   1141  ** @param const uint32_t   *value_list
   1142  ** @returns xcb_void_cookie_t
   1143  **
   1144  *****************************************************************************/
   1145 
   1146 xcb_void_cookie_t
   1147 xcb_sync_change_alarm (xcb_connection_t *c  /**< */,
   1148                        xcb_sync_alarm_t  id  /**< */,
   1149                        uint32_t          value_mask  /**< */,
   1150                        const uint32_t   *value_list  /**< */)
   1151 {
   1152     static const xcb_protocol_request_t xcb_req = {
   1153         /* count */ 4,
   1154         /* ext */ &xcb_sync_id,
   1155         /* opcode */ XCB_SYNC_CHANGE_ALARM,
   1156         /* isvoid */ 1
   1157     };
   1158 
   1159     struct iovec xcb_parts[6];
   1160     xcb_void_cookie_t xcb_ret;
   1161     xcb_sync_change_alarm_request_t xcb_out;
   1162 
   1163     xcb_out.id = id;
   1164     xcb_out.value_mask = value_mask;
   1165 
   1166     xcb_parts[2].iov_base = (char *) &xcb_out;
   1167     xcb_parts[2].iov_len = sizeof(xcb_out);
   1168     xcb_parts[3].iov_base = 0;
   1169     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1170     xcb_parts[4].iov_base = (char *) value_list;
   1171     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
   1172     xcb_parts[5].iov_base = 0;
   1173     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   1174     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1175     return xcb_ret;
   1176 }
   1177 
   1178 
   1179 /*****************************************************************************
   1180  **
   1181  ** xcb_void_cookie_t xcb_sync_destroy_alarm_checked
   1182  **
   1183  ** @param xcb_connection_t *c
   1184  ** @param xcb_sync_alarm_t  alarm
   1185  ** @returns xcb_void_cookie_t
   1186  **
   1187  *****************************************************************************/
   1188 
   1189 xcb_void_cookie_t
   1190 xcb_sync_destroy_alarm_checked (xcb_connection_t *c  /**< */,
   1191                                 xcb_sync_alarm_t  alarm  /**< */)
   1192 {
   1193     static const xcb_protocol_request_t xcb_req = {
   1194         /* count */ 2,
   1195         /* ext */ &xcb_sync_id,
   1196         /* opcode */ XCB_SYNC_DESTROY_ALARM,
   1197         /* isvoid */ 1
   1198     };
   1199 
   1200     struct iovec xcb_parts[4];
   1201     xcb_void_cookie_t xcb_ret;
   1202     xcb_sync_destroy_alarm_request_t xcb_out;
   1203 
   1204     xcb_out.alarm = alarm;
   1205 
   1206     xcb_parts[2].iov_base = (char *) &xcb_out;
   1207     xcb_parts[2].iov_len = sizeof(xcb_out);
   1208     xcb_parts[3].iov_base = 0;
   1209     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1210     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1211     return xcb_ret;
   1212 }
   1213 
   1214 
   1215 /*****************************************************************************
   1216  **
   1217  ** xcb_void_cookie_t xcb_sync_destroy_alarm
   1218  **
   1219  ** @param xcb_connection_t *c
   1220  ** @param xcb_sync_alarm_t  alarm
   1221  ** @returns xcb_void_cookie_t
   1222  **
   1223  *****************************************************************************/
   1224 
   1225 xcb_void_cookie_t
   1226 xcb_sync_destroy_alarm (xcb_connection_t *c  /**< */,
   1227                         xcb_sync_alarm_t  alarm  /**< */)
   1228 {
   1229     static const xcb_protocol_request_t xcb_req = {
   1230         /* count */ 2,
   1231         /* ext */ &xcb_sync_id,
   1232         /* opcode */ XCB_SYNC_DESTROY_ALARM,
   1233         /* isvoid */ 1
   1234     };
   1235 
   1236     struct iovec xcb_parts[4];
   1237     xcb_void_cookie_t xcb_ret;
   1238     xcb_sync_destroy_alarm_request_t xcb_out;
   1239 
   1240     xcb_out.alarm = alarm;
   1241 
   1242     xcb_parts[2].iov_base = (char *) &xcb_out;
   1243     xcb_parts[2].iov_len = sizeof(xcb_out);
   1244     xcb_parts[3].iov_base = 0;
   1245     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1246     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1247     return xcb_ret;
   1248 }
   1249 
   1250 
   1251 /*****************************************************************************
   1252  **
   1253  ** xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm
   1254  **
   1255  ** @param xcb_connection_t *c
   1256  ** @param xcb_sync_alarm_t  alarm
   1257  ** @returns xcb_sync_query_alarm_cookie_t
   1258  **
   1259  *****************************************************************************/
   1260 
   1261 xcb_sync_query_alarm_cookie_t
   1262 xcb_sync_query_alarm (xcb_connection_t *c  /**< */,
   1263                       xcb_sync_alarm_t  alarm  /**< */)
   1264 {
   1265     static const xcb_protocol_request_t xcb_req = {
   1266         /* count */ 2,
   1267         /* ext */ &xcb_sync_id,
   1268         /* opcode */ XCB_SYNC_QUERY_ALARM,
   1269         /* isvoid */ 0
   1270     };
   1271 
   1272     struct iovec xcb_parts[4];
   1273     xcb_sync_query_alarm_cookie_t xcb_ret;
   1274     xcb_sync_query_alarm_request_t xcb_out;
   1275 
   1276     xcb_out.alarm = alarm;
   1277 
   1278     xcb_parts[2].iov_base = (char *) &xcb_out;
   1279     xcb_parts[2].iov_len = sizeof(xcb_out);
   1280     xcb_parts[3].iov_base = 0;
   1281     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1282     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1283     return xcb_ret;
   1284 }
   1285 
   1286 
   1287 /*****************************************************************************
   1288  **
   1289  ** xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm_unchecked
   1290  **
   1291  ** @param xcb_connection_t *c
   1292  ** @param xcb_sync_alarm_t  alarm
   1293  ** @returns xcb_sync_query_alarm_cookie_t
   1294  **
   1295  *****************************************************************************/
   1296 
   1297 xcb_sync_query_alarm_cookie_t
   1298 xcb_sync_query_alarm_unchecked (xcb_connection_t *c  /**< */,
   1299                                 xcb_sync_alarm_t  alarm  /**< */)
   1300 {
   1301     static const xcb_protocol_request_t xcb_req = {
   1302         /* count */ 2,
   1303         /* ext */ &xcb_sync_id,
   1304         /* opcode */ XCB_SYNC_QUERY_ALARM,
   1305         /* isvoid */ 0
   1306     };
   1307 
   1308     struct iovec xcb_parts[4];
   1309     xcb_sync_query_alarm_cookie_t xcb_ret;
   1310     xcb_sync_query_alarm_request_t xcb_out;
   1311 
   1312     xcb_out.alarm = alarm;
   1313 
   1314     xcb_parts[2].iov_base = (char *) &xcb_out;
   1315     xcb_parts[2].iov_len = sizeof(xcb_out);
   1316     xcb_parts[3].iov_base = 0;
   1317     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1318     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1319     return xcb_ret;
   1320 }
   1321 
   1322 
   1323 /*****************************************************************************
   1324  **
   1325  ** xcb_sync_query_alarm_reply_t * xcb_sync_query_alarm_reply
   1326  **
   1327  ** @param xcb_connection_t               *c
   1328  ** @param xcb_sync_query_alarm_cookie_t   cookie
   1329  ** @param xcb_generic_error_t           **e
   1330  ** @returns xcb_sync_query_alarm_reply_t *
   1331  **
   1332  *****************************************************************************/
   1333 
   1334 xcb_sync_query_alarm_reply_t *
   1335 xcb_sync_query_alarm_reply (xcb_connection_t               *c  /**< */,
   1336                             xcb_sync_query_alarm_cookie_t   cookie  /**< */,
   1337                             xcb_generic_error_t           **e  /**< */)
   1338 {
   1339     return (xcb_sync_query_alarm_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   1340 }
   1341 
   1342 
   1343 /*****************************************************************************
   1344  **
   1345  ** xcb_void_cookie_t xcb_sync_set_priority_checked
   1346  **
   1347  ** @param xcb_connection_t *c
   1348  ** @param uint32_t          id
   1349  ** @param int32_t           priority
   1350  ** @returns xcb_void_cookie_t
   1351  **
   1352  *****************************************************************************/
   1353 
   1354 xcb_void_cookie_t
   1355 xcb_sync_set_priority_checked (xcb_connection_t *c  /**< */,
   1356                                uint32_t          id  /**< */,
   1357                                int32_t           priority  /**< */)
   1358 {
   1359     static const xcb_protocol_request_t xcb_req = {
   1360         /* count */ 2,
   1361         /* ext */ &xcb_sync_id,
   1362         /* opcode */ XCB_SYNC_SET_PRIORITY,
   1363         /* isvoid */ 1
   1364     };
   1365 
   1366     struct iovec xcb_parts[4];
   1367     xcb_void_cookie_t xcb_ret;
   1368     xcb_sync_set_priority_request_t xcb_out;
   1369 
   1370     xcb_out.id = id;
   1371     xcb_out.priority = priority;
   1372 
   1373     xcb_parts[2].iov_base = (char *) &xcb_out;
   1374     xcb_parts[2].iov_len = sizeof(xcb_out);
   1375     xcb_parts[3].iov_base = 0;
   1376     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1377     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1378     return xcb_ret;
   1379 }
   1380 
   1381 
   1382 /*****************************************************************************
   1383  **
   1384  ** xcb_void_cookie_t xcb_sync_set_priority
   1385  **
   1386  ** @param xcb_connection_t *c
   1387  ** @param uint32_t          id
   1388  ** @param int32_t           priority
   1389  ** @returns xcb_void_cookie_t
   1390  **
   1391  *****************************************************************************/
   1392 
   1393 xcb_void_cookie_t
   1394 xcb_sync_set_priority (xcb_connection_t *c  /**< */,
   1395                        uint32_t          id  /**< */,
   1396                        int32_t           priority  /**< */)
   1397 {
   1398     static const xcb_protocol_request_t xcb_req = {
   1399         /* count */ 2,
   1400         /* ext */ &xcb_sync_id,
   1401         /* opcode */ XCB_SYNC_SET_PRIORITY,
   1402         /* isvoid */ 1
   1403     };
   1404 
   1405     struct iovec xcb_parts[4];
   1406     xcb_void_cookie_t xcb_ret;
   1407     xcb_sync_set_priority_request_t xcb_out;
   1408 
   1409     xcb_out.id = id;
   1410     xcb_out.priority = priority;
   1411 
   1412     xcb_parts[2].iov_base = (char *) &xcb_out;
   1413     xcb_parts[2].iov_len = sizeof(xcb_out);
   1414     xcb_parts[3].iov_base = 0;
   1415     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1416     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1417     return xcb_ret;
   1418 }
   1419 
   1420 
   1421 /*****************************************************************************
   1422  **
   1423  ** xcb_sync_get_priority_cookie_t xcb_sync_get_priority
   1424  **
   1425  ** @param xcb_connection_t *c
   1426  ** @param uint32_t          id
   1427  ** @returns xcb_sync_get_priority_cookie_t
   1428  **
   1429  *****************************************************************************/
   1430 
   1431 xcb_sync_get_priority_cookie_t
   1432 xcb_sync_get_priority (xcb_connection_t *c  /**< */,
   1433                        uint32_t          id  /**< */)
   1434 {
   1435     static const xcb_protocol_request_t xcb_req = {
   1436         /* count */ 2,
   1437         /* ext */ &xcb_sync_id,
   1438         /* opcode */ XCB_SYNC_GET_PRIORITY,
   1439         /* isvoid */ 0
   1440     };
   1441 
   1442     struct iovec xcb_parts[4];
   1443     xcb_sync_get_priority_cookie_t xcb_ret;
   1444     xcb_sync_get_priority_request_t xcb_out;
   1445 
   1446     xcb_out.id = id;
   1447 
   1448     xcb_parts[2].iov_base = (char *) &xcb_out;
   1449     xcb_parts[2].iov_len = sizeof(xcb_out);
   1450     xcb_parts[3].iov_base = 0;
   1451     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1452     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1453     return xcb_ret;
   1454 }
   1455 
   1456 
   1457 /*****************************************************************************
   1458  **
   1459  ** xcb_sync_get_priority_cookie_t xcb_sync_get_priority_unchecked
   1460  **
   1461  ** @param xcb_connection_t *c
   1462  ** @param uint32_t          id
   1463  ** @returns xcb_sync_get_priority_cookie_t
   1464  **
   1465  *****************************************************************************/
   1466 
   1467 xcb_sync_get_priority_cookie_t
   1468 xcb_sync_get_priority_unchecked (xcb_connection_t *c  /**< */,
   1469                                  uint32_t          id  /**< */)
   1470 {
   1471     static const xcb_protocol_request_t xcb_req = {
   1472         /* count */ 2,
   1473         /* ext */ &xcb_sync_id,
   1474         /* opcode */ XCB_SYNC_GET_PRIORITY,
   1475         /* isvoid */ 0
   1476     };
   1477 
   1478     struct iovec xcb_parts[4];
   1479     xcb_sync_get_priority_cookie_t xcb_ret;
   1480     xcb_sync_get_priority_request_t xcb_out;
   1481 
   1482     xcb_out.id = id;
   1483 
   1484     xcb_parts[2].iov_base = (char *) &xcb_out;
   1485     xcb_parts[2].iov_len = sizeof(xcb_out);
   1486     xcb_parts[3].iov_base = 0;
   1487     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1488     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1489     return xcb_ret;
   1490 }
   1491 
   1492 
   1493 /*****************************************************************************
   1494  **
   1495  ** xcb_sync_get_priority_reply_t * xcb_sync_get_priority_reply
   1496  **
   1497  ** @param xcb_connection_t                *c
   1498  ** @param xcb_sync_get_priority_cookie_t   cookie
   1499  ** @param xcb_generic_error_t            **e
   1500  ** @returns xcb_sync_get_priority_reply_t *
   1501  **
   1502  *****************************************************************************/
   1503 
   1504 xcb_sync_get_priority_reply_t *
   1505 xcb_sync_get_priority_reply (xcb_connection_t                *c  /**< */,
   1506                              xcb_sync_get_priority_cookie_t   cookie  /**< */,
   1507                              xcb_generic_error_t            **e  /**< */)
   1508 {
   1509     return (xcb_sync_get_priority_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   1510 }
   1511 
   1512