github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xkbcommon/include/xcb/record.h (about)

     1  /*
     2   * This file generated automatically from record.xml by c_client.py.
     3   * Edit at your peril.
     4   */
     5  
     6  /**
     7   * @defgroup XCB_Record_API XCB Record API
     8   * @brief Record XCB Protocol Implementation.
     9   * @{
    10   **/
    11  
    12  #ifndef __RECORD_H
    13  #define __RECORD_H
    14  
    15  #include "xcb.h"
    16  
    17  #ifdef __cplusplus
    18  extern "C" {
    19  #endif
    20  
    21  #define XCB_RECORD_MAJOR_VERSION 1
    22  #define XCB_RECORD_MINOR_VERSION 13
    23  
    24  extern xcb_extension_t xcb_record_id;
    25  
    26  typedef uint32_t xcb_record_context_t;
    27  
    28  /**
    29   * @brief xcb_record_context_iterator_t
    30   **/
    31  typedef struct xcb_record_context_iterator_t {
    32      xcb_record_context_t *data;
    33      int                   rem;
    34      int                   index;
    35  } xcb_record_context_iterator_t;
    36  
    37  /**
    38   * @brief xcb_record_range_8_t
    39   **/
    40  typedef struct xcb_record_range_8_t {
    41      uint8_t first;
    42      uint8_t last;
    43  } xcb_record_range_8_t;
    44  
    45  /**
    46   * @brief xcb_record_range_8_iterator_t
    47   **/
    48  typedef struct xcb_record_range_8_iterator_t {
    49      xcb_record_range_8_t *data;
    50      int                   rem;
    51      int                   index;
    52  } xcb_record_range_8_iterator_t;
    53  
    54  /**
    55   * @brief xcb_record_range_16_t
    56   **/
    57  typedef struct xcb_record_range_16_t {
    58      uint16_t first;
    59      uint16_t last;
    60  } xcb_record_range_16_t;
    61  
    62  /**
    63   * @brief xcb_record_range_16_iterator_t
    64   **/
    65  typedef struct xcb_record_range_16_iterator_t {
    66      xcb_record_range_16_t *data;
    67      int                    rem;
    68      int                    index;
    69  } xcb_record_range_16_iterator_t;
    70  
    71  /**
    72   * @brief xcb_record_ext_range_t
    73   **/
    74  typedef struct xcb_record_ext_range_t {
    75      xcb_record_range_8_t  major;
    76      xcb_record_range_16_t minor;
    77  } xcb_record_ext_range_t;
    78  
    79  /**
    80   * @brief xcb_record_ext_range_iterator_t
    81   **/
    82  typedef struct xcb_record_ext_range_iterator_t {
    83      xcb_record_ext_range_t *data;
    84      int                     rem;
    85      int                     index;
    86  } xcb_record_ext_range_iterator_t;
    87  
    88  /**
    89   * @brief xcb_record_range_t
    90   **/
    91  typedef struct xcb_record_range_t {
    92      xcb_record_range_8_t   core_requests;
    93      xcb_record_range_8_t   core_replies;
    94      xcb_record_ext_range_t ext_requests;
    95      xcb_record_ext_range_t ext_replies;
    96      xcb_record_range_8_t   delivered_events;
    97      xcb_record_range_8_t   device_events;
    98      xcb_record_range_8_t   errors;
    99      uint8_t                client_started;
   100      uint8_t                client_died;
   101  } xcb_record_range_t;
   102  
   103  /**
   104   * @brief xcb_record_range_iterator_t
   105   **/
   106  typedef struct xcb_record_range_iterator_t {
   107      xcb_record_range_t *data;
   108      int                 rem;
   109      int                 index;
   110  } xcb_record_range_iterator_t;
   111  
   112  typedef uint8_t xcb_record_element_header_t;
   113  
   114  /**
   115   * @brief xcb_record_element_header_iterator_t
   116   **/
   117  typedef struct xcb_record_element_header_iterator_t {
   118      xcb_record_element_header_t *data;
   119      int                          rem;
   120      int                          index;
   121  } xcb_record_element_header_iterator_t;
   122  
   123  typedef enum xcb_record_h_type_t {
   124      XCB_RECORD_H_TYPE_FROM_SERVER_TIME = 1,
   125      XCB_RECORD_H_TYPE_FROM_CLIENT_TIME = 2,
   126      XCB_RECORD_H_TYPE_FROM_CLIENT_SEQUENCE = 4
   127  } xcb_record_h_type_t;
   128  
   129  typedef uint32_t xcb_record_client_spec_t;
   130  
   131  /**
   132   * @brief xcb_record_client_spec_iterator_t
   133   **/
   134  typedef struct xcb_record_client_spec_iterator_t {
   135      xcb_record_client_spec_t *data;
   136      int                       rem;
   137      int                       index;
   138  } xcb_record_client_spec_iterator_t;
   139  
   140  typedef enum xcb_record_cs_t {
   141      XCB_RECORD_CS_CURRENT_CLIENTS = 1,
   142      XCB_RECORD_CS_FUTURE_CLIENTS = 2,
   143      XCB_RECORD_CS_ALL_CLIENTS = 3
   144  } xcb_record_cs_t;
   145  
   146  /**
   147   * @brief xcb_record_client_info_t
   148   **/
   149  typedef struct xcb_record_client_info_t {
   150      xcb_record_client_spec_t client_resource;
   151      uint32_t                 num_ranges;
   152  } xcb_record_client_info_t;
   153  
   154  /**
   155   * @brief xcb_record_client_info_iterator_t
   156   **/
   157  typedef struct xcb_record_client_info_iterator_t {
   158      xcb_record_client_info_t *data;
   159      int                       rem;
   160      int                       index;
   161  } xcb_record_client_info_iterator_t;
   162  
   163  /** Opcode for xcb_record_bad_context. */
   164  #define XCB_RECORD_BAD_CONTEXT 0
   165  
   166  /**
   167   * @brief xcb_record_bad_context_error_t
   168   **/
   169  typedef struct xcb_record_bad_context_error_t {
   170      uint8_t  response_type;
   171      uint8_t  error_code;
   172      uint16_t sequence;
   173      uint32_t invalid_record;
   174  } xcb_record_bad_context_error_t;
   175  
   176  /**
   177   * @brief xcb_record_query_version_cookie_t
   178   **/
   179  typedef struct xcb_record_query_version_cookie_t {
   180      unsigned int sequence;
   181  } xcb_record_query_version_cookie_t;
   182  
   183  /** Opcode for xcb_record_query_version. */
   184  #define XCB_RECORD_QUERY_VERSION 0
   185  
   186  /**
   187   * @brief xcb_record_query_version_request_t
   188   **/
   189  typedef struct xcb_record_query_version_request_t {
   190      uint8_t  major_opcode;
   191      uint8_t  minor_opcode;
   192      uint16_t length;
   193      uint16_t major_version;
   194      uint16_t minor_version;
   195  } xcb_record_query_version_request_t;
   196  
   197  /**
   198   * @brief xcb_record_query_version_reply_t
   199   **/
   200  typedef struct xcb_record_query_version_reply_t {
   201      uint8_t  response_type;
   202      uint8_t  pad0;
   203      uint16_t sequence;
   204      uint32_t length;
   205      uint16_t major_version;
   206      uint16_t minor_version;
   207  } xcb_record_query_version_reply_t;
   208  
   209  /** Opcode for xcb_record_create_context. */
   210  #define XCB_RECORD_CREATE_CONTEXT 1
   211  
   212  /**
   213   * @brief xcb_record_create_context_request_t
   214   **/
   215  typedef struct xcb_record_create_context_request_t {
   216      uint8_t                     major_opcode;
   217      uint8_t                     minor_opcode;
   218      uint16_t                    length;
   219      xcb_record_context_t        context;
   220      xcb_record_element_header_t element_header;
   221      uint8_t                     pad0[3];
   222      uint32_t                    num_client_specs;
   223      uint32_t                    num_ranges;
   224  } xcb_record_create_context_request_t;
   225  
   226  /** Opcode for xcb_record_register_clients. */
   227  #define XCB_RECORD_REGISTER_CLIENTS 2
   228  
   229  /**
   230   * @brief xcb_record_register_clients_request_t
   231   **/
   232  typedef struct xcb_record_register_clients_request_t {
   233      uint8_t                     major_opcode;
   234      uint8_t                     minor_opcode;
   235      uint16_t                    length;
   236      xcb_record_context_t        context;
   237      xcb_record_element_header_t element_header;
   238      uint8_t                     pad0[3];
   239      uint32_t                    num_client_specs;
   240      uint32_t                    num_ranges;
   241  } xcb_record_register_clients_request_t;
   242  
   243  /** Opcode for xcb_record_unregister_clients. */
   244  #define XCB_RECORD_UNREGISTER_CLIENTS 3
   245  
   246  /**
   247   * @brief xcb_record_unregister_clients_request_t
   248   **/
   249  typedef struct xcb_record_unregister_clients_request_t {
   250      uint8_t              major_opcode;
   251      uint8_t              minor_opcode;
   252      uint16_t             length;
   253      xcb_record_context_t context;
   254      uint32_t             num_client_specs;
   255  } xcb_record_unregister_clients_request_t;
   256  
   257  /**
   258   * @brief xcb_record_get_context_cookie_t
   259   **/
   260  typedef struct xcb_record_get_context_cookie_t {
   261      unsigned int sequence;
   262  } xcb_record_get_context_cookie_t;
   263  
   264  /** Opcode for xcb_record_get_context. */
   265  #define XCB_RECORD_GET_CONTEXT 4
   266  
   267  /**
   268   * @brief xcb_record_get_context_request_t
   269   **/
   270  typedef struct xcb_record_get_context_request_t {
   271      uint8_t              major_opcode;
   272      uint8_t              minor_opcode;
   273      uint16_t             length;
   274      xcb_record_context_t context;
   275  } xcb_record_get_context_request_t;
   276  
   277  /**
   278   * @brief xcb_record_get_context_reply_t
   279   **/
   280  typedef struct xcb_record_get_context_reply_t {
   281      uint8_t                     response_type;
   282      uint8_t                     enabled;
   283      uint16_t                    sequence;
   284      uint32_t                    length;
   285      xcb_record_element_header_t element_header;
   286      uint8_t                     pad0[3];
   287      uint32_t                    num_intercepted_clients;
   288      uint8_t                     pad1[16];
   289  } xcb_record_get_context_reply_t;
   290  
   291  /**
   292   * @brief xcb_record_enable_context_cookie_t
   293   **/
   294  typedef struct xcb_record_enable_context_cookie_t {
   295      unsigned int sequence;
   296  } xcb_record_enable_context_cookie_t;
   297  
   298  /** Opcode for xcb_record_enable_context. */
   299  #define XCB_RECORD_ENABLE_CONTEXT 5
   300  
   301  /**
   302   * @brief xcb_record_enable_context_request_t
   303   **/
   304  typedef struct xcb_record_enable_context_request_t {
   305      uint8_t              major_opcode;
   306      uint8_t              minor_opcode;
   307      uint16_t             length;
   308      xcb_record_context_t context;
   309  } xcb_record_enable_context_request_t;
   310  
   311  /**
   312   * @brief xcb_record_enable_context_reply_t
   313   **/
   314  typedef struct xcb_record_enable_context_reply_t {
   315      uint8_t                     response_type;
   316      uint8_t                     category;
   317      uint16_t                    sequence;
   318      uint32_t                    length;
   319      xcb_record_element_header_t element_header;
   320      uint8_t                     client_swapped;
   321      uint8_t                     pad0[2];
   322      uint32_t                    xid_base;
   323      uint32_t                    server_time;
   324      uint32_t                    rec_sequence_num;
   325      uint8_t                     pad1[8];
   326  } xcb_record_enable_context_reply_t;
   327  
   328  /** Opcode for xcb_record_disable_context. */
   329  #define XCB_RECORD_DISABLE_CONTEXT 6
   330  
   331  /**
   332   * @brief xcb_record_disable_context_request_t
   333   **/
   334  typedef struct xcb_record_disable_context_request_t {
   335      uint8_t              major_opcode;
   336      uint8_t              minor_opcode;
   337      uint16_t             length;
   338      xcb_record_context_t context;
   339  } xcb_record_disable_context_request_t;
   340  
   341  /** Opcode for xcb_record_free_context. */
   342  #define XCB_RECORD_FREE_CONTEXT 7
   343  
   344  /**
   345   * @brief xcb_record_free_context_request_t
   346   **/
   347  typedef struct xcb_record_free_context_request_t {
   348      uint8_t              major_opcode;
   349      uint8_t              minor_opcode;
   350      uint16_t             length;
   351      xcb_record_context_t context;
   352  } xcb_record_free_context_request_t;
   353  
   354  /**
   355   * Get the next element of the iterator
   356   * @param i Pointer to a xcb_record_context_iterator_t
   357   *
   358   * Get the next element in the iterator. The member rem is
   359   * decreased by one. The member data points to the next
   360   * element. The member index is increased by sizeof(xcb_record_context_t)
   361   */
   362  void
   363  xcb_record_context_next (xcb_record_context_iterator_t *i);
   364  
   365  /**
   366   * Return the iterator pointing to the last element
   367   * @param i An xcb_record_context_iterator_t
   368   * @return  The iterator pointing to the last element
   369   *
   370   * Set the current element in the iterator to the last element.
   371   * The member rem is set to 0. The member data points to the
   372   * last element.
   373   */
   374  xcb_generic_iterator_t
   375  xcb_record_context_end (xcb_record_context_iterator_t i);
   376  
   377  /**
   378   * Get the next element of the iterator
   379   * @param i Pointer to a xcb_record_range_8_iterator_t
   380   *
   381   * Get the next element in the iterator. The member rem is
   382   * decreased by one. The member data points to the next
   383   * element. The member index is increased by sizeof(xcb_record_range_8_t)
   384   */
   385  void
   386  xcb_record_range_8_next (xcb_record_range_8_iterator_t *i);
   387  
   388  /**
   389   * Return the iterator pointing to the last element
   390   * @param i An xcb_record_range_8_iterator_t
   391   * @return  The iterator pointing to the last element
   392   *
   393   * Set the current element in the iterator to the last element.
   394   * The member rem is set to 0. The member data points to the
   395   * last element.
   396   */
   397  xcb_generic_iterator_t
   398  xcb_record_range_8_end (xcb_record_range_8_iterator_t i);
   399  
   400  /**
   401   * Get the next element of the iterator
   402   * @param i Pointer to a xcb_record_range_16_iterator_t
   403   *
   404   * Get the next element in the iterator. The member rem is
   405   * decreased by one. The member data points to the next
   406   * element. The member index is increased by sizeof(xcb_record_range_16_t)
   407   */
   408  void
   409  xcb_record_range_16_next (xcb_record_range_16_iterator_t *i);
   410  
   411  /**
   412   * Return the iterator pointing to the last element
   413   * @param i An xcb_record_range_16_iterator_t
   414   * @return  The iterator pointing to the last element
   415   *
   416   * Set the current element in the iterator to the last element.
   417   * The member rem is set to 0. The member data points to the
   418   * last element.
   419   */
   420  xcb_generic_iterator_t
   421  xcb_record_range_16_end (xcb_record_range_16_iterator_t i);
   422  
   423  /**
   424   * Get the next element of the iterator
   425   * @param i Pointer to a xcb_record_ext_range_iterator_t
   426   *
   427   * Get the next element in the iterator. The member rem is
   428   * decreased by one. The member data points to the next
   429   * element. The member index is increased by sizeof(xcb_record_ext_range_t)
   430   */
   431  void
   432  xcb_record_ext_range_next (xcb_record_ext_range_iterator_t *i);
   433  
   434  /**
   435   * Return the iterator pointing to the last element
   436   * @param i An xcb_record_ext_range_iterator_t
   437   * @return  The iterator pointing to the last element
   438   *
   439   * Set the current element in the iterator to the last element.
   440   * The member rem is set to 0. The member data points to the
   441   * last element.
   442   */
   443  xcb_generic_iterator_t
   444  xcb_record_ext_range_end (xcb_record_ext_range_iterator_t i);
   445  
   446  /**
   447   * Get the next element of the iterator
   448   * @param i Pointer to a xcb_record_range_iterator_t
   449   *
   450   * Get the next element in the iterator. The member rem is
   451   * decreased by one. The member data points to the next
   452   * element. The member index is increased by sizeof(xcb_record_range_t)
   453   */
   454  void
   455  xcb_record_range_next (xcb_record_range_iterator_t *i);
   456  
   457  /**
   458   * Return the iterator pointing to the last element
   459   * @param i An xcb_record_range_iterator_t
   460   * @return  The iterator pointing to the last element
   461   *
   462   * Set the current element in the iterator to the last element.
   463   * The member rem is set to 0. The member data points to the
   464   * last element.
   465   */
   466  xcb_generic_iterator_t
   467  xcb_record_range_end (xcb_record_range_iterator_t i);
   468  
   469  /**
   470   * Get the next element of the iterator
   471   * @param i Pointer to a xcb_record_element_header_iterator_t
   472   *
   473   * Get the next element in the iterator. The member rem is
   474   * decreased by one. The member data points to the next
   475   * element. The member index is increased by sizeof(xcb_record_element_header_t)
   476   */
   477  void
   478  xcb_record_element_header_next (xcb_record_element_header_iterator_t *i);
   479  
   480  /**
   481   * Return the iterator pointing to the last element
   482   * @param i An xcb_record_element_header_iterator_t
   483   * @return  The iterator pointing to the last element
   484   *
   485   * Set the current element in the iterator to the last element.
   486   * The member rem is set to 0. The member data points to the
   487   * last element.
   488   */
   489  xcb_generic_iterator_t
   490  xcb_record_element_header_end (xcb_record_element_header_iterator_t i);
   491  
   492  /**
   493   * Get the next element of the iterator
   494   * @param i Pointer to a xcb_record_client_spec_iterator_t
   495   *
   496   * Get the next element in the iterator. The member rem is
   497   * decreased by one. The member data points to the next
   498   * element. The member index is increased by sizeof(xcb_record_client_spec_t)
   499   */
   500  void
   501  xcb_record_client_spec_next (xcb_record_client_spec_iterator_t *i);
   502  
   503  /**
   504   * Return the iterator pointing to the last element
   505   * @param i An xcb_record_client_spec_iterator_t
   506   * @return  The iterator pointing to the last element
   507   *
   508   * Set the current element in the iterator to the last element.
   509   * The member rem is set to 0. The member data points to the
   510   * last element.
   511   */
   512  xcb_generic_iterator_t
   513  xcb_record_client_spec_end (xcb_record_client_spec_iterator_t i);
   514  
   515  int
   516  xcb_record_client_info_sizeof (const void  *_buffer);
   517  
   518  xcb_record_range_t *
   519  xcb_record_client_info_ranges (const xcb_record_client_info_t *R);
   520  
   521  int
   522  xcb_record_client_info_ranges_length (const xcb_record_client_info_t *R);
   523  
   524  xcb_record_range_iterator_t
   525  xcb_record_client_info_ranges_iterator (const xcb_record_client_info_t *R);
   526  
   527  /**
   528   * Get the next element of the iterator
   529   * @param i Pointer to a xcb_record_client_info_iterator_t
   530   *
   531   * Get the next element in the iterator. The member rem is
   532   * decreased by one. The member data points to the next
   533   * element. The member index is increased by sizeof(xcb_record_client_info_t)
   534   */
   535  void
   536  xcb_record_client_info_next (xcb_record_client_info_iterator_t *i);
   537  
   538  /**
   539   * Return the iterator pointing to the last element
   540   * @param i An xcb_record_client_info_iterator_t
   541   * @return  The iterator pointing to the last element
   542   *
   543   * Set the current element in the iterator to the last element.
   544   * The member rem is set to 0. The member data points to the
   545   * last element.
   546   */
   547  xcb_generic_iterator_t
   548  xcb_record_client_info_end (xcb_record_client_info_iterator_t i);
   549  
   550  /**
   551   *
   552   * @param c The connection
   553   * @return A cookie
   554   *
   555   * Delivers a request to the X server.
   556   *
   557   */
   558  xcb_record_query_version_cookie_t
   559  xcb_record_query_version (xcb_connection_t *c,
   560                            uint16_t          major_version,
   561                            uint16_t          minor_version);
   562  
   563  /**
   564   *
   565   * @param c The connection
   566   * @return A cookie
   567   *
   568   * Delivers a request to the X server.
   569   *
   570   * This form can be used only if the request will cause
   571   * a reply to be generated. Any returned error will be
   572   * placed in the event queue.
   573   */
   574  xcb_record_query_version_cookie_t
   575  xcb_record_query_version_unchecked (xcb_connection_t *c,
   576                                      uint16_t          major_version,
   577                                      uint16_t          minor_version);
   578  
   579  /**
   580   * Return the reply
   581   * @param c      The connection
   582   * @param cookie The cookie
   583   * @param e      The xcb_generic_error_t supplied
   584   *
   585   * Returns the reply of the request asked by
   586   *
   587   * The parameter @p e supplied to this function must be NULL if
   588   * xcb_record_query_version_unchecked(). is used.
   589   * Otherwise, it stores the error if any.
   590   *
   591   * The returned value must be freed by the caller using free().
   592   */
   593  xcb_record_query_version_reply_t *
   594  xcb_record_query_version_reply (xcb_connection_t                   *c,
   595                                  xcb_record_query_version_cookie_t   cookie  /**< */,
   596                                  xcb_generic_error_t               **e);
   597  
   598  int
   599  xcb_record_create_context_sizeof (const void  *_buffer);
   600  
   601  /**
   602   *
   603   * @param c The connection
   604   * @return A cookie
   605   *
   606   * Delivers a request to the X server.
   607   *
   608   * This form can be used only if the request will not cause
   609   * a reply to be generated. Any returned error will be
   610   * saved for handling by xcb_request_check().
   611   */
   612  xcb_void_cookie_t
   613  xcb_record_create_context_checked (xcb_connection_t               *c,
   614                                     xcb_record_context_t            context,
   615                                     xcb_record_element_header_t     element_header,
   616                                     uint32_t                        num_client_specs,
   617                                     uint32_t                        num_ranges,
   618                                     const xcb_record_client_spec_t *client_specs,
   619                                     const xcb_record_range_t       *ranges);
   620  
   621  /**
   622   *
   623   * @param c The connection
   624   * @return A cookie
   625   *
   626   * Delivers a request to the X server.
   627   *
   628   */
   629  xcb_void_cookie_t
   630  xcb_record_create_context (xcb_connection_t               *c,
   631                             xcb_record_context_t            context,
   632                             xcb_record_element_header_t     element_header,
   633                             uint32_t                        num_client_specs,
   634                             uint32_t                        num_ranges,
   635                             const xcb_record_client_spec_t *client_specs,
   636                             const xcb_record_range_t       *ranges);
   637  
   638  xcb_record_client_spec_t *
   639  xcb_record_create_context_client_specs (const xcb_record_create_context_request_t *R);
   640  
   641  int
   642  xcb_record_create_context_client_specs_length (const xcb_record_create_context_request_t *R);
   643  
   644  xcb_generic_iterator_t
   645  xcb_record_create_context_client_specs_end (const xcb_record_create_context_request_t *R);
   646  
   647  xcb_record_range_t *
   648  xcb_record_create_context_ranges (const xcb_record_create_context_request_t *R);
   649  
   650  int
   651  xcb_record_create_context_ranges_length (const xcb_record_create_context_request_t *R);
   652  
   653  xcb_record_range_iterator_t
   654  xcb_record_create_context_ranges_iterator (const xcb_record_create_context_request_t *R);
   655  
   656  int
   657  xcb_record_register_clients_sizeof (const void  *_buffer);
   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_record_register_clients_checked (xcb_connection_t               *c,
   672                                       xcb_record_context_t            context,
   673                                       xcb_record_element_header_t     element_header,
   674                                       uint32_t                        num_client_specs,
   675                                       uint32_t                        num_ranges,
   676                                       const xcb_record_client_spec_t *client_specs,
   677                                       const xcb_record_range_t       *ranges);
   678  
   679  /**
   680   *
   681   * @param c The connection
   682   * @return A cookie
   683   *
   684   * Delivers a request to the X server.
   685   *
   686   */
   687  xcb_void_cookie_t
   688  xcb_record_register_clients (xcb_connection_t               *c,
   689                               xcb_record_context_t            context,
   690                               xcb_record_element_header_t     element_header,
   691                               uint32_t                        num_client_specs,
   692                               uint32_t                        num_ranges,
   693                               const xcb_record_client_spec_t *client_specs,
   694                               const xcb_record_range_t       *ranges);
   695  
   696  xcb_record_client_spec_t *
   697  xcb_record_register_clients_client_specs (const xcb_record_register_clients_request_t *R);
   698  
   699  int
   700  xcb_record_register_clients_client_specs_length (const xcb_record_register_clients_request_t *R);
   701  
   702  xcb_generic_iterator_t
   703  xcb_record_register_clients_client_specs_end (const xcb_record_register_clients_request_t *R);
   704  
   705  xcb_record_range_t *
   706  xcb_record_register_clients_ranges (const xcb_record_register_clients_request_t *R);
   707  
   708  int
   709  xcb_record_register_clients_ranges_length (const xcb_record_register_clients_request_t *R);
   710  
   711  xcb_record_range_iterator_t
   712  xcb_record_register_clients_ranges_iterator (const xcb_record_register_clients_request_t *R);
   713  
   714  int
   715  xcb_record_unregister_clients_sizeof (const void  *_buffer);
   716  
   717  /**
   718   *
   719   * @param c The connection
   720   * @return A cookie
   721   *
   722   * Delivers a request to the X server.
   723   *
   724   * This form can be used only if the request will not cause
   725   * a reply to be generated. Any returned error will be
   726   * saved for handling by xcb_request_check().
   727   */
   728  xcb_void_cookie_t
   729  xcb_record_unregister_clients_checked (xcb_connection_t               *c,
   730                                         xcb_record_context_t            context,
   731                                         uint32_t                        num_client_specs,
   732                                         const xcb_record_client_spec_t *client_specs);
   733  
   734  /**
   735   *
   736   * @param c The connection
   737   * @return A cookie
   738   *
   739   * Delivers a request to the X server.
   740   *
   741   */
   742  xcb_void_cookie_t
   743  xcb_record_unregister_clients (xcb_connection_t               *c,
   744                                 xcb_record_context_t            context,
   745                                 uint32_t                        num_client_specs,
   746                                 const xcb_record_client_spec_t *client_specs);
   747  
   748  xcb_record_client_spec_t *
   749  xcb_record_unregister_clients_client_specs (const xcb_record_unregister_clients_request_t *R);
   750  
   751  int
   752  xcb_record_unregister_clients_client_specs_length (const xcb_record_unregister_clients_request_t *R);
   753  
   754  xcb_generic_iterator_t
   755  xcb_record_unregister_clients_client_specs_end (const xcb_record_unregister_clients_request_t *R);
   756  
   757  int
   758  xcb_record_get_context_sizeof (const void  *_buffer);
   759  
   760  /**
   761   *
   762   * @param c The connection
   763   * @return A cookie
   764   *
   765   * Delivers a request to the X server.
   766   *
   767   */
   768  xcb_record_get_context_cookie_t
   769  xcb_record_get_context (xcb_connection_t     *c,
   770                          xcb_record_context_t  context);
   771  
   772  /**
   773   *
   774   * @param c The connection
   775   * @return A cookie
   776   *
   777   * Delivers a request to the X server.
   778   *
   779   * This form can be used only if the request will cause
   780   * a reply to be generated. Any returned error will be
   781   * placed in the event queue.
   782   */
   783  xcb_record_get_context_cookie_t
   784  xcb_record_get_context_unchecked (xcb_connection_t     *c,
   785                                    xcb_record_context_t  context);
   786  
   787  int
   788  xcb_record_get_context_intercepted_clients_length (const xcb_record_get_context_reply_t *R);
   789  
   790  xcb_record_client_info_iterator_t
   791  xcb_record_get_context_intercepted_clients_iterator (const xcb_record_get_context_reply_t *R);
   792  
   793  /**
   794   * Return the reply
   795   * @param c      The connection
   796   * @param cookie The cookie
   797   * @param e      The xcb_generic_error_t supplied
   798   *
   799   * Returns the reply of the request asked by
   800   *
   801   * The parameter @p e supplied to this function must be NULL if
   802   * xcb_record_get_context_unchecked(). is used.
   803   * Otherwise, it stores the error if any.
   804   *
   805   * The returned value must be freed by the caller using free().
   806   */
   807  xcb_record_get_context_reply_t *
   808  xcb_record_get_context_reply (xcb_connection_t                 *c,
   809                                xcb_record_get_context_cookie_t   cookie  /**< */,
   810                                xcb_generic_error_t             **e);
   811  
   812  int
   813  xcb_record_enable_context_sizeof (const void  *_buffer);
   814  
   815  /**
   816   *
   817   * @param c The connection
   818   * @return A cookie
   819   *
   820   * Delivers a request to the X server.
   821   *
   822   */
   823  xcb_record_enable_context_cookie_t
   824  xcb_record_enable_context (xcb_connection_t     *c,
   825                             xcb_record_context_t  context);
   826  
   827  /**
   828   *
   829   * @param c The connection
   830   * @return A cookie
   831   *
   832   * Delivers a request to the X server.
   833   *
   834   * This form can be used only if the request will cause
   835   * a reply to be generated. Any returned error will be
   836   * placed in the event queue.
   837   */
   838  xcb_record_enable_context_cookie_t
   839  xcb_record_enable_context_unchecked (xcb_connection_t     *c,
   840                                       xcb_record_context_t  context);
   841  
   842  uint8_t *
   843  xcb_record_enable_context_data (const xcb_record_enable_context_reply_t *R);
   844  
   845  int
   846  xcb_record_enable_context_data_length (const xcb_record_enable_context_reply_t *R);
   847  
   848  xcb_generic_iterator_t
   849  xcb_record_enable_context_data_end (const xcb_record_enable_context_reply_t *R);
   850  
   851  /**
   852   * Return the reply
   853   * @param c      The connection
   854   * @param cookie The cookie
   855   * @param e      The xcb_generic_error_t supplied
   856   *
   857   * Returns the reply of the request asked by
   858   *
   859   * The parameter @p e supplied to this function must be NULL if
   860   * xcb_record_enable_context_unchecked(). is used.
   861   * Otherwise, it stores the error if any.
   862   *
   863   * The returned value must be freed by the caller using free().
   864   */
   865  xcb_record_enable_context_reply_t *
   866  xcb_record_enable_context_reply (xcb_connection_t                    *c,
   867                                   xcb_record_enable_context_cookie_t   cookie  /**< */,
   868                                   xcb_generic_error_t                **e);
   869  
   870  /**
   871   *
   872   * @param c The connection
   873   * @return A cookie
   874   *
   875   * Delivers a request to the X server.
   876   *
   877   * This form can be used only if the request will not cause
   878   * a reply to be generated. Any returned error will be
   879   * saved for handling by xcb_request_check().
   880   */
   881  xcb_void_cookie_t
   882  xcb_record_disable_context_checked (xcb_connection_t     *c,
   883                                      xcb_record_context_t  context);
   884  
   885  /**
   886   *
   887   * @param c The connection
   888   * @return A cookie
   889   *
   890   * Delivers a request to the X server.
   891   *
   892   */
   893  xcb_void_cookie_t
   894  xcb_record_disable_context (xcb_connection_t     *c,
   895                              xcb_record_context_t  context);
   896  
   897  /**
   898   *
   899   * @param c The connection
   900   * @return A cookie
   901   *
   902   * Delivers a request to the X server.
   903   *
   904   * This form can be used only if the request will not cause
   905   * a reply to be generated. Any returned error will be
   906   * saved for handling by xcb_request_check().
   907   */
   908  xcb_void_cookie_t
   909  xcb_record_free_context_checked (xcb_connection_t     *c,
   910                                   xcb_record_context_t  context);
   911  
   912  /**
   913   *
   914   * @param c The connection
   915   * @return A cookie
   916   *
   917   * Delivers a request to the X server.
   918   *
   919   */
   920  xcb_void_cookie_t
   921  xcb_record_free_context (xcb_connection_t     *c,
   922                           xcb_record_context_t  context);
   923  
   924  
   925  #ifdef __cplusplus
   926  }
   927  #endif
   928  
   929  #endif
   930  
   931  /**
   932   * @}
   933   */