Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /*
0002  * This file generated automatically from record.xml by c_client.py.
0003  * Edit at your peril.
0004  */
0005 
0006 /**
0007  * @defgroup XCB_Record_API XCB Record API
0008  * @brief Record XCB Protocol Implementation.
0009  * @{
0010  **/
0011 
0012 #ifndef __RECORD_H
0013 #define __RECORD_H
0014 
0015 #include "xcb.h"
0016 
0017 #ifdef __cplusplus
0018 extern "C" {
0019 #endif
0020 
0021 #define XCB_RECORD_MAJOR_VERSION 1
0022 #define XCB_RECORD_MINOR_VERSION 13
0023 
0024 extern xcb_extension_t xcb_record_id;
0025 
0026 typedef uint32_t xcb_record_context_t;
0027 
0028 /**
0029  * @brief xcb_record_context_iterator_t
0030  **/
0031 typedef struct xcb_record_context_iterator_t {
0032     xcb_record_context_t *data;
0033     int                   rem;
0034     int                   index;
0035 } xcb_record_context_iterator_t;
0036 
0037 /**
0038  * @brief xcb_record_range_8_t
0039  **/
0040 typedef struct xcb_record_range_8_t {
0041     uint8_t first;
0042     uint8_t last;
0043 } xcb_record_range_8_t;
0044 
0045 /**
0046  * @brief xcb_record_range_8_iterator_t
0047  **/
0048 typedef struct xcb_record_range_8_iterator_t {
0049     xcb_record_range_8_t *data;
0050     int                   rem;
0051     int                   index;
0052 } xcb_record_range_8_iterator_t;
0053 
0054 /**
0055  * @brief xcb_record_range_16_t
0056  **/
0057 typedef struct xcb_record_range_16_t {
0058     uint16_t first;
0059     uint16_t last;
0060 } xcb_record_range_16_t;
0061 
0062 /**
0063  * @brief xcb_record_range_16_iterator_t
0064  **/
0065 typedef struct xcb_record_range_16_iterator_t {
0066     xcb_record_range_16_t *data;
0067     int                    rem;
0068     int                    index;
0069 } xcb_record_range_16_iterator_t;
0070 
0071 /**
0072  * @brief xcb_record_ext_range_t
0073  **/
0074 typedef struct xcb_record_ext_range_t {
0075     xcb_record_range_8_t  major;
0076     xcb_record_range_16_t minor;
0077 } xcb_record_ext_range_t;
0078 
0079 /**
0080  * @brief xcb_record_ext_range_iterator_t
0081  **/
0082 typedef struct xcb_record_ext_range_iterator_t {
0083     xcb_record_ext_range_t *data;
0084     int                     rem;
0085     int                     index;
0086 } xcb_record_ext_range_iterator_t;
0087 
0088 /**
0089  * @brief xcb_record_range_t
0090  **/
0091 typedef struct xcb_record_range_t {
0092     xcb_record_range_8_t   core_requests;
0093     xcb_record_range_8_t   core_replies;
0094     xcb_record_ext_range_t ext_requests;
0095     xcb_record_ext_range_t ext_replies;
0096     xcb_record_range_8_t   delivered_events;
0097     xcb_record_range_8_t   device_events;
0098     xcb_record_range_8_t   errors;
0099     uint8_t                client_started;
0100     uint8_t                client_died;
0101 } xcb_record_range_t;
0102 
0103 /**
0104  * @brief xcb_record_range_iterator_t
0105  **/
0106 typedef struct xcb_record_range_iterator_t {
0107     xcb_record_range_t *data;
0108     int                 rem;
0109     int                 index;
0110 } xcb_record_range_iterator_t;
0111 
0112 typedef uint8_t xcb_record_element_header_t;
0113 
0114 /**
0115  * @brief xcb_record_element_header_iterator_t
0116  **/
0117 typedef struct xcb_record_element_header_iterator_t {
0118     xcb_record_element_header_t *data;
0119     int                          rem;
0120     int                          index;
0121 } xcb_record_element_header_iterator_t;
0122 
0123 typedef enum xcb_record_h_type_t {
0124     XCB_RECORD_H_TYPE_FROM_SERVER_TIME = 1,
0125     XCB_RECORD_H_TYPE_FROM_CLIENT_TIME = 2,
0126     XCB_RECORD_H_TYPE_FROM_CLIENT_SEQUENCE = 4
0127 } xcb_record_h_type_t;
0128 
0129 typedef uint32_t xcb_record_client_spec_t;
0130 
0131 /**
0132  * @brief xcb_record_client_spec_iterator_t
0133  **/
0134 typedef struct xcb_record_client_spec_iterator_t {
0135     xcb_record_client_spec_t *data;
0136     int                       rem;
0137     int                       index;
0138 } xcb_record_client_spec_iterator_t;
0139 
0140 typedef enum xcb_record_cs_t {
0141     XCB_RECORD_CS_CURRENT_CLIENTS = 1,
0142     XCB_RECORD_CS_FUTURE_CLIENTS = 2,
0143     XCB_RECORD_CS_ALL_CLIENTS = 3
0144 } xcb_record_cs_t;
0145 
0146 /**
0147  * @brief xcb_record_client_info_t
0148  **/
0149 typedef struct xcb_record_client_info_t {
0150     xcb_record_client_spec_t client_resource;
0151     uint32_t                 num_ranges;
0152 } xcb_record_client_info_t;
0153 
0154 /**
0155  * @brief xcb_record_client_info_iterator_t
0156  **/
0157 typedef struct xcb_record_client_info_iterator_t {
0158     xcb_record_client_info_t *data;
0159     int                       rem;
0160     int                       index;
0161 } xcb_record_client_info_iterator_t;
0162 
0163 /** Opcode for xcb_record_bad_context. */
0164 #define XCB_RECORD_BAD_CONTEXT 0
0165 
0166 /**
0167  * @brief xcb_record_bad_context_error_t
0168  **/
0169 typedef struct xcb_record_bad_context_error_t {
0170     uint8_t  response_type;
0171     uint8_t  error_code;
0172     uint16_t sequence;
0173     uint32_t invalid_record;
0174     uint16_t minor_opcode;
0175     uint8_t  major_opcode;
0176 } xcb_record_bad_context_error_t;
0177 
0178 /**
0179  * @brief xcb_record_query_version_cookie_t
0180  **/
0181 typedef struct xcb_record_query_version_cookie_t {
0182     unsigned int sequence;
0183 } xcb_record_query_version_cookie_t;
0184 
0185 /** Opcode for xcb_record_query_version. */
0186 #define XCB_RECORD_QUERY_VERSION 0
0187 
0188 /**
0189  * @brief xcb_record_query_version_request_t
0190  **/
0191 typedef struct xcb_record_query_version_request_t {
0192     uint8_t  major_opcode;
0193     uint8_t  minor_opcode;
0194     uint16_t length;
0195     uint16_t major_version;
0196     uint16_t minor_version;
0197 } xcb_record_query_version_request_t;
0198 
0199 /**
0200  * @brief xcb_record_query_version_reply_t
0201  **/
0202 typedef struct xcb_record_query_version_reply_t {
0203     uint8_t  response_type;
0204     uint8_t  pad0;
0205     uint16_t sequence;
0206     uint32_t length;
0207     uint16_t major_version;
0208     uint16_t minor_version;
0209 } xcb_record_query_version_reply_t;
0210 
0211 /** Opcode for xcb_record_create_context. */
0212 #define XCB_RECORD_CREATE_CONTEXT 1
0213 
0214 /**
0215  * @brief xcb_record_create_context_request_t
0216  **/
0217 typedef struct xcb_record_create_context_request_t {
0218     uint8_t                     major_opcode;
0219     uint8_t                     minor_opcode;
0220     uint16_t                    length;
0221     xcb_record_context_t        context;
0222     xcb_record_element_header_t element_header;
0223     uint8_t                     pad0[3];
0224     uint32_t                    num_client_specs;
0225     uint32_t                    num_ranges;
0226 } xcb_record_create_context_request_t;
0227 
0228 /** Opcode for xcb_record_register_clients. */
0229 #define XCB_RECORD_REGISTER_CLIENTS 2
0230 
0231 /**
0232  * @brief xcb_record_register_clients_request_t
0233  **/
0234 typedef struct xcb_record_register_clients_request_t {
0235     uint8_t                     major_opcode;
0236     uint8_t                     minor_opcode;
0237     uint16_t                    length;
0238     xcb_record_context_t        context;
0239     xcb_record_element_header_t element_header;
0240     uint8_t                     pad0[3];
0241     uint32_t                    num_client_specs;
0242     uint32_t                    num_ranges;
0243 } xcb_record_register_clients_request_t;
0244 
0245 /** Opcode for xcb_record_unregister_clients. */
0246 #define XCB_RECORD_UNREGISTER_CLIENTS 3
0247 
0248 /**
0249  * @brief xcb_record_unregister_clients_request_t
0250  **/
0251 typedef struct xcb_record_unregister_clients_request_t {
0252     uint8_t              major_opcode;
0253     uint8_t              minor_opcode;
0254     uint16_t             length;
0255     xcb_record_context_t context;
0256     uint32_t             num_client_specs;
0257 } xcb_record_unregister_clients_request_t;
0258 
0259 /**
0260  * @brief xcb_record_get_context_cookie_t
0261  **/
0262 typedef struct xcb_record_get_context_cookie_t {
0263     unsigned int sequence;
0264 } xcb_record_get_context_cookie_t;
0265 
0266 /** Opcode for xcb_record_get_context. */
0267 #define XCB_RECORD_GET_CONTEXT 4
0268 
0269 /**
0270  * @brief xcb_record_get_context_request_t
0271  **/
0272 typedef struct xcb_record_get_context_request_t {
0273     uint8_t              major_opcode;
0274     uint8_t              minor_opcode;
0275     uint16_t             length;
0276     xcb_record_context_t context;
0277 } xcb_record_get_context_request_t;
0278 
0279 /**
0280  * @brief xcb_record_get_context_reply_t
0281  **/
0282 typedef struct xcb_record_get_context_reply_t {
0283     uint8_t                     response_type;
0284     uint8_t                     enabled;
0285     uint16_t                    sequence;
0286     uint32_t                    length;
0287     xcb_record_element_header_t element_header;
0288     uint8_t                     pad0[3];
0289     uint32_t                    num_intercepted_clients;
0290     uint8_t                     pad1[16];
0291 } xcb_record_get_context_reply_t;
0292 
0293 /**
0294  * @brief xcb_record_enable_context_cookie_t
0295  **/
0296 typedef struct xcb_record_enable_context_cookie_t {
0297     unsigned int sequence;
0298 } xcb_record_enable_context_cookie_t;
0299 
0300 /** Opcode for xcb_record_enable_context. */
0301 #define XCB_RECORD_ENABLE_CONTEXT 5
0302 
0303 /**
0304  * @brief xcb_record_enable_context_request_t
0305  **/
0306 typedef struct xcb_record_enable_context_request_t {
0307     uint8_t              major_opcode;
0308     uint8_t              minor_opcode;
0309     uint16_t             length;
0310     xcb_record_context_t context;
0311 } xcb_record_enable_context_request_t;
0312 
0313 /**
0314  * @brief xcb_record_enable_context_reply_t
0315  **/
0316 typedef struct xcb_record_enable_context_reply_t {
0317     uint8_t                     response_type;
0318     uint8_t                     category;
0319     uint16_t                    sequence;
0320     uint32_t                    length;
0321     xcb_record_element_header_t element_header;
0322     uint8_t                     client_swapped;
0323     uint8_t                     pad0[2];
0324     uint32_t                    xid_base;
0325     uint32_t                    server_time;
0326     uint32_t                    rec_sequence_num;
0327     uint8_t                     pad1[8];
0328 } xcb_record_enable_context_reply_t;
0329 
0330 /** Opcode for xcb_record_disable_context. */
0331 #define XCB_RECORD_DISABLE_CONTEXT 6
0332 
0333 /**
0334  * @brief xcb_record_disable_context_request_t
0335  **/
0336 typedef struct xcb_record_disable_context_request_t {
0337     uint8_t              major_opcode;
0338     uint8_t              minor_opcode;
0339     uint16_t             length;
0340     xcb_record_context_t context;
0341 } xcb_record_disable_context_request_t;
0342 
0343 /** Opcode for xcb_record_free_context. */
0344 #define XCB_RECORD_FREE_CONTEXT 7
0345 
0346 /**
0347  * @brief xcb_record_free_context_request_t
0348  **/
0349 typedef struct xcb_record_free_context_request_t {
0350     uint8_t              major_opcode;
0351     uint8_t              minor_opcode;
0352     uint16_t             length;
0353     xcb_record_context_t context;
0354 } xcb_record_free_context_request_t;
0355 
0356 /**
0357  * Get the next element of the iterator
0358  * @param i Pointer to a xcb_record_context_iterator_t
0359  *
0360  * Get the next element in the iterator. The member rem is
0361  * decreased by one. The member data points to the next
0362  * element. The member index is increased by sizeof(xcb_record_context_t)
0363  */
0364 void
0365 xcb_record_context_next (xcb_record_context_iterator_t *i);
0366 
0367 /**
0368  * Return the iterator pointing to the last element
0369  * @param i An xcb_record_context_iterator_t
0370  * @return  The iterator pointing to the last element
0371  *
0372  * Set the current element in the iterator to the last element.
0373  * The member rem is set to 0. The member data points to the
0374  * last element.
0375  */
0376 xcb_generic_iterator_t
0377 xcb_record_context_end (xcb_record_context_iterator_t i);
0378 
0379 /**
0380  * Get the next element of the iterator
0381  * @param i Pointer to a xcb_record_range_8_iterator_t
0382  *
0383  * Get the next element in the iterator. The member rem is
0384  * decreased by one. The member data points to the next
0385  * element. The member index is increased by sizeof(xcb_record_range_8_t)
0386  */
0387 void
0388 xcb_record_range_8_next (xcb_record_range_8_iterator_t *i);
0389 
0390 /**
0391  * Return the iterator pointing to the last element
0392  * @param i An xcb_record_range_8_iterator_t
0393  * @return  The iterator pointing to the last element
0394  *
0395  * Set the current element in the iterator to the last element.
0396  * The member rem is set to 0. The member data points to the
0397  * last element.
0398  */
0399 xcb_generic_iterator_t
0400 xcb_record_range_8_end (xcb_record_range_8_iterator_t i);
0401 
0402 /**
0403  * Get the next element of the iterator
0404  * @param i Pointer to a xcb_record_range_16_iterator_t
0405  *
0406  * Get the next element in the iterator. The member rem is
0407  * decreased by one. The member data points to the next
0408  * element. The member index is increased by sizeof(xcb_record_range_16_t)
0409  */
0410 void
0411 xcb_record_range_16_next (xcb_record_range_16_iterator_t *i);
0412 
0413 /**
0414  * Return the iterator pointing to the last element
0415  * @param i An xcb_record_range_16_iterator_t
0416  * @return  The iterator pointing to the last element
0417  *
0418  * Set the current element in the iterator to the last element.
0419  * The member rem is set to 0. The member data points to the
0420  * last element.
0421  */
0422 xcb_generic_iterator_t
0423 xcb_record_range_16_end (xcb_record_range_16_iterator_t i);
0424 
0425 /**
0426  * Get the next element of the iterator
0427  * @param i Pointer to a xcb_record_ext_range_iterator_t
0428  *
0429  * Get the next element in the iterator. The member rem is
0430  * decreased by one. The member data points to the next
0431  * element. The member index is increased by sizeof(xcb_record_ext_range_t)
0432  */
0433 void
0434 xcb_record_ext_range_next (xcb_record_ext_range_iterator_t *i);
0435 
0436 /**
0437  * Return the iterator pointing to the last element
0438  * @param i An xcb_record_ext_range_iterator_t
0439  * @return  The iterator pointing to the last element
0440  *
0441  * Set the current element in the iterator to the last element.
0442  * The member rem is set to 0. The member data points to the
0443  * last element.
0444  */
0445 xcb_generic_iterator_t
0446 xcb_record_ext_range_end (xcb_record_ext_range_iterator_t i);
0447 
0448 /**
0449  * Get the next element of the iterator
0450  * @param i Pointer to a xcb_record_range_iterator_t
0451  *
0452  * Get the next element in the iterator. The member rem is
0453  * decreased by one. The member data points to the next
0454  * element. The member index is increased by sizeof(xcb_record_range_t)
0455  */
0456 void
0457 xcb_record_range_next (xcb_record_range_iterator_t *i);
0458 
0459 /**
0460  * Return the iterator pointing to the last element
0461  * @param i An xcb_record_range_iterator_t
0462  * @return  The iterator pointing to the last element
0463  *
0464  * Set the current element in the iterator to the last element.
0465  * The member rem is set to 0. The member data points to the
0466  * last element.
0467  */
0468 xcb_generic_iterator_t
0469 xcb_record_range_end (xcb_record_range_iterator_t i);
0470 
0471 /**
0472  * Get the next element of the iterator
0473  * @param i Pointer to a xcb_record_element_header_iterator_t
0474  *
0475  * Get the next element in the iterator. The member rem is
0476  * decreased by one. The member data points to the next
0477  * element. The member index is increased by sizeof(xcb_record_element_header_t)
0478  */
0479 void
0480 xcb_record_element_header_next (xcb_record_element_header_iterator_t *i);
0481 
0482 /**
0483  * Return the iterator pointing to the last element
0484  * @param i An xcb_record_element_header_iterator_t
0485  * @return  The iterator pointing to the last element
0486  *
0487  * Set the current element in the iterator to the last element.
0488  * The member rem is set to 0. The member data points to the
0489  * last element.
0490  */
0491 xcb_generic_iterator_t
0492 xcb_record_element_header_end (xcb_record_element_header_iterator_t i);
0493 
0494 /**
0495  * Get the next element of the iterator
0496  * @param i Pointer to a xcb_record_client_spec_iterator_t
0497  *
0498  * Get the next element in the iterator. The member rem is
0499  * decreased by one. The member data points to the next
0500  * element. The member index is increased by sizeof(xcb_record_client_spec_t)
0501  */
0502 void
0503 xcb_record_client_spec_next (xcb_record_client_spec_iterator_t *i);
0504 
0505 /**
0506  * Return the iterator pointing to the last element
0507  * @param i An xcb_record_client_spec_iterator_t
0508  * @return  The iterator pointing to the last element
0509  *
0510  * Set the current element in the iterator to the last element.
0511  * The member rem is set to 0. The member data points to the
0512  * last element.
0513  */
0514 xcb_generic_iterator_t
0515 xcb_record_client_spec_end (xcb_record_client_spec_iterator_t i);
0516 
0517 int
0518 xcb_record_client_info_sizeof (const void  *_buffer);
0519 
0520 xcb_record_range_t *
0521 xcb_record_client_info_ranges (const xcb_record_client_info_t *R);
0522 
0523 int
0524 xcb_record_client_info_ranges_length (const xcb_record_client_info_t *R);
0525 
0526 xcb_record_range_iterator_t
0527 xcb_record_client_info_ranges_iterator (const xcb_record_client_info_t *R);
0528 
0529 /**
0530  * Get the next element of the iterator
0531  * @param i Pointer to a xcb_record_client_info_iterator_t
0532  *
0533  * Get the next element in the iterator. The member rem is
0534  * decreased by one. The member data points to the next
0535  * element. The member index is increased by sizeof(xcb_record_client_info_t)
0536  */
0537 void
0538 xcb_record_client_info_next (xcb_record_client_info_iterator_t *i);
0539 
0540 /**
0541  * Return the iterator pointing to the last element
0542  * @param i An xcb_record_client_info_iterator_t
0543  * @return  The iterator pointing to the last element
0544  *
0545  * Set the current element in the iterator to the last element.
0546  * The member rem is set to 0. The member data points to the
0547  * last element.
0548  */
0549 xcb_generic_iterator_t
0550 xcb_record_client_info_end (xcb_record_client_info_iterator_t i);
0551 
0552 /**
0553  *
0554  * @param c The connection
0555  * @return A cookie
0556  *
0557  * Delivers a request to the X server.
0558  *
0559  */
0560 xcb_record_query_version_cookie_t
0561 xcb_record_query_version (xcb_connection_t *c,
0562                           uint16_t          major_version,
0563                           uint16_t          minor_version);
0564 
0565 /**
0566  *
0567  * @param c The connection
0568  * @return A cookie
0569  *
0570  * Delivers a request to the X server.
0571  *
0572  * This form can be used only if the request will cause
0573  * a reply to be generated. Any returned error will be
0574  * placed in the event queue.
0575  */
0576 xcb_record_query_version_cookie_t
0577 xcb_record_query_version_unchecked (xcb_connection_t *c,
0578                                     uint16_t          major_version,
0579                                     uint16_t          minor_version);
0580 
0581 /**
0582  * Return the reply
0583  * @param c      The connection
0584  * @param cookie The cookie
0585  * @param e      The xcb_generic_error_t supplied
0586  *
0587  * Returns the reply of the request asked by
0588  *
0589  * The parameter @p e supplied to this function must be NULL if
0590  * xcb_record_query_version_unchecked(). is used.
0591  * Otherwise, it stores the error if any.
0592  *
0593  * The returned value must be freed by the caller using free().
0594  */
0595 xcb_record_query_version_reply_t *
0596 xcb_record_query_version_reply (xcb_connection_t                   *c,
0597                                 xcb_record_query_version_cookie_t   cookie  /**< */,
0598                                 xcb_generic_error_t               **e);
0599 
0600 int
0601 xcb_record_create_context_sizeof (const void  *_buffer);
0602 
0603 /**
0604  *
0605  * @param c The connection
0606  * @return A cookie
0607  *
0608  * Delivers a request to the X server.
0609  *
0610  * This form can be used only if the request will not cause
0611  * a reply to be generated. Any returned error will be
0612  * saved for handling by xcb_request_check().
0613  */
0614 xcb_void_cookie_t
0615 xcb_record_create_context_checked (xcb_connection_t               *c,
0616                                    xcb_record_context_t            context,
0617                                    xcb_record_element_header_t     element_header,
0618                                    uint32_t                        num_client_specs,
0619                                    uint32_t                        num_ranges,
0620                                    const xcb_record_client_spec_t *client_specs,
0621                                    const xcb_record_range_t       *ranges);
0622 
0623 /**
0624  *
0625  * @param c The connection
0626  * @return A cookie
0627  *
0628  * Delivers a request to the X server.
0629  *
0630  */
0631 xcb_void_cookie_t
0632 xcb_record_create_context (xcb_connection_t               *c,
0633                            xcb_record_context_t            context,
0634                            xcb_record_element_header_t     element_header,
0635                            uint32_t                        num_client_specs,
0636                            uint32_t                        num_ranges,
0637                            const xcb_record_client_spec_t *client_specs,
0638                            const xcb_record_range_t       *ranges);
0639 
0640 xcb_record_client_spec_t *
0641 xcb_record_create_context_client_specs (const xcb_record_create_context_request_t *R);
0642 
0643 int
0644 xcb_record_create_context_client_specs_length (const xcb_record_create_context_request_t *R);
0645 
0646 xcb_generic_iterator_t
0647 xcb_record_create_context_client_specs_end (const xcb_record_create_context_request_t *R);
0648 
0649 xcb_record_range_t *
0650 xcb_record_create_context_ranges (const xcb_record_create_context_request_t *R);
0651 
0652 int
0653 xcb_record_create_context_ranges_length (const xcb_record_create_context_request_t *R);
0654 
0655 xcb_record_range_iterator_t
0656 xcb_record_create_context_ranges_iterator (const xcb_record_create_context_request_t *R);
0657 
0658 int
0659 xcb_record_register_clients_sizeof (const void  *_buffer);
0660 
0661 /**
0662  *
0663  * @param c The connection
0664  * @return A cookie
0665  *
0666  * Delivers a request to the X server.
0667  *
0668  * This form can be used only if the request will not cause
0669  * a reply to be generated. Any returned error will be
0670  * saved for handling by xcb_request_check().
0671  */
0672 xcb_void_cookie_t
0673 xcb_record_register_clients_checked (xcb_connection_t               *c,
0674                                      xcb_record_context_t            context,
0675                                      xcb_record_element_header_t     element_header,
0676                                      uint32_t                        num_client_specs,
0677                                      uint32_t                        num_ranges,
0678                                      const xcb_record_client_spec_t *client_specs,
0679                                      const xcb_record_range_t       *ranges);
0680 
0681 /**
0682  *
0683  * @param c The connection
0684  * @return A cookie
0685  *
0686  * Delivers a request to the X server.
0687  *
0688  */
0689 xcb_void_cookie_t
0690 xcb_record_register_clients (xcb_connection_t               *c,
0691                              xcb_record_context_t            context,
0692                              xcb_record_element_header_t     element_header,
0693                              uint32_t                        num_client_specs,
0694                              uint32_t                        num_ranges,
0695                              const xcb_record_client_spec_t *client_specs,
0696                              const xcb_record_range_t       *ranges);
0697 
0698 xcb_record_client_spec_t *
0699 xcb_record_register_clients_client_specs (const xcb_record_register_clients_request_t *R);
0700 
0701 int
0702 xcb_record_register_clients_client_specs_length (const xcb_record_register_clients_request_t *R);
0703 
0704 xcb_generic_iterator_t
0705 xcb_record_register_clients_client_specs_end (const xcb_record_register_clients_request_t *R);
0706 
0707 xcb_record_range_t *
0708 xcb_record_register_clients_ranges (const xcb_record_register_clients_request_t *R);
0709 
0710 int
0711 xcb_record_register_clients_ranges_length (const xcb_record_register_clients_request_t *R);
0712 
0713 xcb_record_range_iterator_t
0714 xcb_record_register_clients_ranges_iterator (const xcb_record_register_clients_request_t *R);
0715 
0716 int
0717 xcb_record_unregister_clients_sizeof (const void  *_buffer);
0718 
0719 /**
0720  *
0721  * @param c The connection
0722  * @return A cookie
0723  *
0724  * Delivers a request to the X server.
0725  *
0726  * This form can be used only if the request will not cause
0727  * a reply to be generated. Any returned error will be
0728  * saved for handling by xcb_request_check().
0729  */
0730 xcb_void_cookie_t
0731 xcb_record_unregister_clients_checked (xcb_connection_t               *c,
0732                                        xcb_record_context_t            context,
0733                                        uint32_t                        num_client_specs,
0734                                        const xcb_record_client_spec_t *client_specs);
0735 
0736 /**
0737  *
0738  * @param c The connection
0739  * @return A cookie
0740  *
0741  * Delivers a request to the X server.
0742  *
0743  */
0744 xcb_void_cookie_t
0745 xcb_record_unregister_clients (xcb_connection_t               *c,
0746                                xcb_record_context_t            context,
0747                                uint32_t                        num_client_specs,
0748                                const xcb_record_client_spec_t *client_specs);
0749 
0750 xcb_record_client_spec_t *
0751 xcb_record_unregister_clients_client_specs (const xcb_record_unregister_clients_request_t *R);
0752 
0753 int
0754 xcb_record_unregister_clients_client_specs_length (const xcb_record_unregister_clients_request_t *R);
0755 
0756 xcb_generic_iterator_t
0757 xcb_record_unregister_clients_client_specs_end (const xcb_record_unregister_clients_request_t *R);
0758 
0759 int
0760 xcb_record_get_context_sizeof (const void  *_buffer);
0761 
0762 /**
0763  *
0764  * @param c The connection
0765  * @return A cookie
0766  *
0767  * Delivers a request to the X server.
0768  *
0769  */
0770 xcb_record_get_context_cookie_t
0771 xcb_record_get_context (xcb_connection_t     *c,
0772                         xcb_record_context_t  context);
0773 
0774 /**
0775  *
0776  * @param c The connection
0777  * @return A cookie
0778  *
0779  * Delivers a request to the X server.
0780  *
0781  * This form can be used only if the request will cause
0782  * a reply to be generated. Any returned error will be
0783  * placed in the event queue.
0784  */
0785 xcb_record_get_context_cookie_t
0786 xcb_record_get_context_unchecked (xcb_connection_t     *c,
0787                                   xcb_record_context_t  context);
0788 
0789 int
0790 xcb_record_get_context_intercepted_clients_length (const xcb_record_get_context_reply_t *R);
0791 
0792 xcb_record_client_info_iterator_t
0793 xcb_record_get_context_intercepted_clients_iterator (const xcb_record_get_context_reply_t *R);
0794 
0795 /**
0796  * Return the reply
0797  * @param c      The connection
0798  * @param cookie The cookie
0799  * @param e      The xcb_generic_error_t supplied
0800  *
0801  * Returns the reply of the request asked by
0802  *
0803  * The parameter @p e supplied to this function must be NULL if
0804  * xcb_record_get_context_unchecked(). is used.
0805  * Otherwise, it stores the error if any.
0806  *
0807  * The returned value must be freed by the caller using free().
0808  */
0809 xcb_record_get_context_reply_t *
0810 xcb_record_get_context_reply (xcb_connection_t                 *c,
0811                               xcb_record_get_context_cookie_t   cookie  /**< */,
0812                               xcb_generic_error_t             **e);
0813 
0814 int
0815 xcb_record_enable_context_sizeof (const void  *_buffer);
0816 
0817 /**
0818  *
0819  * @param c The connection
0820  * @return A cookie
0821  *
0822  * Delivers a request to the X server.
0823  *
0824  */
0825 xcb_record_enable_context_cookie_t
0826 xcb_record_enable_context (xcb_connection_t     *c,
0827                            xcb_record_context_t  context);
0828 
0829 /**
0830  *
0831  * @param c The connection
0832  * @return A cookie
0833  *
0834  * Delivers a request to the X server.
0835  *
0836  * This form can be used only if the request will cause
0837  * a reply to be generated. Any returned error will be
0838  * placed in the event queue.
0839  */
0840 xcb_record_enable_context_cookie_t
0841 xcb_record_enable_context_unchecked (xcb_connection_t     *c,
0842                                      xcb_record_context_t  context);
0843 
0844 uint8_t *
0845 xcb_record_enable_context_data (const xcb_record_enable_context_reply_t *R);
0846 
0847 int
0848 xcb_record_enable_context_data_length (const xcb_record_enable_context_reply_t *R);
0849 
0850 xcb_generic_iterator_t
0851 xcb_record_enable_context_data_end (const xcb_record_enable_context_reply_t *R);
0852 
0853 /**
0854  * Return the reply
0855  * @param c      The connection
0856  * @param cookie The cookie
0857  * @param e      The xcb_generic_error_t supplied
0858  *
0859  * Returns the reply of the request asked by
0860  *
0861  * The parameter @p e supplied to this function must be NULL if
0862  * xcb_record_enable_context_unchecked(). is used.
0863  * Otherwise, it stores the error if any.
0864  *
0865  * The returned value must be freed by the caller using free().
0866  */
0867 xcb_record_enable_context_reply_t *
0868 xcb_record_enable_context_reply (xcb_connection_t                    *c,
0869                                  xcb_record_enable_context_cookie_t   cookie  /**< */,
0870                                  xcb_generic_error_t                **e);
0871 
0872 /**
0873  *
0874  * @param c The connection
0875  * @return A cookie
0876  *
0877  * Delivers a request to the X server.
0878  *
0879  * This form can be used only if the request will not cause
0880  * a reply to be generated. Any returned error will be
0881  * saved for handling by xcb_request_check().
0882  */
0883 xcb_void_cookie_t
0884 xcb_record_disable_context_checked (xcb_connection_t     *c,
0885                                     xcb_record_context_t  context);
0886 
0887 /**
0888  *
0889  * @param c The connection
0890  * @return A cookie
0891  *
0892  * Delivers a request to the X server.
0893  *
0894  */
0895 xcb_void_cookie_t
0896 xcb_record_disable_context (xcb_connection_t     *c,
0897                             xcb_record_context_t  context);
0898 
0899 /**
0900  *
0901  * @param c The connection
0902  * @return A cookie
0903  *
0904  * Delivers a request to the X server.
0905  *
0906  * This form can be used only if the request will not cause
0907  * a reply to be generated. Any returned error will be
0908  * saved for handling by xcb_request_check().
0909  */
0910 xcb_void_cookie_t
0911 xcb_record_free_context_checked (xcb_connection_t     *c,
0912                                  xcb_record_context_t  context);
0913 
0914 /**
0915  *
0916  * @param c The connection
0917  * @return A cookie
0918  *
0919  * Delivers a request to the X server.
0920  *
0921  */
0922 xcb_void_cookie_t
0923 xcb_record_free_context (xcb_connection_t     *c,
0924                          xcb_record_context_t  context);
0925 
0926 
0927 #ifdef __cplusplus
0928 }
0929 #endif
0930 
0931 #endif
0932 
0933 /**
0934  * @}
0935  */