Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /*
0002  * This file generated automatically from bigreq.xml by c_client.py.
0003  * Edit at your peril.
0004  */
0005 
0006 /**
0007  * @defgroup XCB_BigRequests_API XCB BigRequests API
0008  * @brief BigRequests XCB Protocol Implementation.
0009  * @{
0010  **/
0011 
0012 #ifndef __BIGREQ_H
0013 #define __BIGREQ_H
0014 
0015 #include "xcb.h"
0016 
0017 #ifdef __cplusplus
0018 extern "C" {
0019 #endif
0020 
0021 #define XCB_BIGREQUESTS_MAJOR_VERSION 0
0022 #define XCB_BIGREQUESTS_MINOR_VERSION 0
0023 
0024 extern xcb_extension_t xcb_big_requests_id;
0025 
0026 /**
0027  * @brief xcb_big_requests_enable_cookie_t
0028  **/
0029 typedef struct xcb_big_requests_enable_cookie_t {
0030     unsigned int sequence;
0031 } xcb_big_requests_enable_cookie_t;
0032 
0033 /** Opcode for xcb_big_requests_enable. */
0034 #define XCB_BIG_REQUESTS_ENABLE 0
0035 
0036 /**
0037  * @brief xcb_big_requests_enable_request_t
0038  **/
0039 typedef struct xcb_big_requests_enable_request_t {
0040     uint8_t  major_opcode;
0041     uint8_t  minor_opcode;
0042     uint16_t length;
0043 } xcb_big_requests_enable_request_t;
0044 
0045 /**
0046  * @brief xcb_big_requests_enable_reply_t
0047  **/
0048 typedef struct xcb_big_requests_enable_reply_t {
0049     uint8_t  response_type;
0050     uint8_t  pad0;
0051     uint16_t sequence;
0052     uint32_t length;
0053     uint32_t maximum_request_length;
0054 } xcb_big_requests_enable_reply_t;
0055 
0056 /**
0057  * @brief Enable the BIG-REQUESTS extension
0058  *
0059  * @param c The connection
0060  * @return A cookie
0061  *
0062  * This enables the BIG-REQUESTS extension, which allows for requests larger than
0063  * 262140 bytes in length.  When enabled, if the 16-bit length field is zero, it
0064  * is immediately followed by a 32-bit length field specifying the length of the
0065  * request in 4-byte units.
0066  *
0067  */
0068 xcb_big_requests_enable_cookie_t
0069 xcb_big_requests_enable (xcb_connection_t *c);
0070 
0071 /**
0072  * @brief Enable the BIG-REQUESTS extension
0073  *
0074  * @param c The connection
0075  * @return A cookie
0076  *
0077  * This enables the BIG-REQUESTS extension, which allows for requests larger than
0078  * 262140 bytes in length.  When enabled, if the 16-bit length field is zero, it
0079  * is immediately followed by a 32-bit length field specifying the length of the
0080  * request in 4-byte units.
0081  *
0082  * This form can be used only if the request will cause
0083  * a reply to be generated. Any returned error will be
0084  * placed in the event queue.
0085  */
0086 xcb_big_requests_enable_cookie_t
0087 xcb_big_requests_enable_unchecked (xcb_connection_t *c);
0088 
0089 /**
0090  * Return the reply
0091  * @param c      The connection
0092  * @param cookie The cookie
0093  * @param e      The xcb_generic_error_t supplied
0094  *
0095  * Returns the reply of the request asked by
0096  *
0097  * The parameter @p e supplied to this function must be NULL if
0098  * xcb_big_requests_enable_unchecked(). is used.
0099  * Otherwise, it stores the error if any.
0100  *
0101  * The returned value must be freed by the caller using free().
0102  */
0103 xcb_big_requests_enable_reply_t *
0104 xcb_big_requests_enable_reply (xcb_connection_t                  *c,
0105                                xcb_big_requests_enable_cookie_t   cookie  /**< */,
0106                                xcb_generic_error_t              **e);
0107 
0108 
0109 #ifdef __cplusplus
0110 }
0111 #endif
0112 
0113 #endif
0114 
0115 /**
0116  * @}
0117  */