1/*
2 * This file generated automatically from bigreq.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_BigRequests_API XCB BigRequests API
8 * @brief BigRequests XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __BIGREQ_H
13#define __BIGREQ_H
14
15#include "xcb.h"
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21#define XCB_BIGREQUESTS_MAJOR_VERSION 0
22#define XCB_BIGREQUESTS_MINOR_VERSION 0
23
24extern xcb_extension_t xcb_big_requests_id;
25
26/**
27 * @brief xcb_big_requests_enable_cookie_t
28 **/
29typedef struct xcb_big_requests_enable_cookie_t {
30    unsigned int sequence;
31} xcb_big_requests_enable_cookie_t;
32
33/** Opcode for xcb_big_requests_enable. */
34#define XCB_BIG_REQUESTS_ENABLE 0
35
36/**
37 * @brief xcb_big_requests_enable_request_t
38 **/
39typedef struct xcb_big_requests_enable_request_t {
40    uint8_t  major_opcode;
41    uint8_t  minor_opcode;
42    uint16_t length;
43} xcb_big_requests_enable_request_t;
44
45/**
46 * @brief xcb_big_requests_enable_reply_t
47 **/
48typedef struct xcb_big_requests_enable_reply_t {
49    uint8_t  response_type;
50    uint8_t  pad0;
51    uint16_t sequence;
52    uint32_t length;
53    uint32_t maximum_request_length;
54} xcb_big_requests_enable_reply_t;
55
56/**
57 * @brief Enable the BIG-REQUESTS extension
58 *
59 * @param c The connection
60 * @return A cookie
61 *
62 * This enables the BIG-REQUESTS extension, which allows for requests larger than
63 * 262140 bytes in length.  When enabled, if the 16-bit length field is zero, it
64 * is immediately followed by a 32-bit length field specifying the length of the
65 * request in 4-byte units.
66 *
67 */
68xcb_big_requests_enable_cookie_t
69xcb_big_requests_enable (xcb_connection_t *c);
70
71/**
72 * @brief Enable the BIG-REQUESTS extension
73 *
74 * @param c The connection
75 * @return A cookie
76 *
77 * This enables the BIG-REQUESTS extension, which allows for requests larger than
78 * 262140 bytes in length.  When enabled, if the 16-bit length field is zero, it
79 * is immediately followed by a 32-bit length field specifying the length of the
80 * request in 4-byte units.
81 *
82 * This form can be used only if the request will cause
83 * a reply to be generated. Any returned error will be
84 * placed in the event queue.
85 */
86xcb_big_requests_enable_cookie_t
87xcb_big_requests_enable_unchecked (xcb_connection_t *c);
88
89/**
90 * Return the reply
91 * @param c      The connection
92 * @param cookie The cookie
93 * @param e      The xcb_generic_error_t supplied
94 *
95 * Returns the reply of the request asked by
96 *
97 * The parameter @p e supplied to this function must be NULL if
98 * xcb_big_requests_enable_unchecked(). is used.
99 * Otherwise, it stores the error if any.
100 *
101 * The returned value must be freed by the caller using free().
102 */
103xcb_big_requests_enable_reply_t *
104xcb_big_requests_enable_reply (xcb_connection_t                  *c,
105                               xcb_big_requests_enable_cookie_t   cookie  /**< */,
106                               xcb_generic_error_t              **e);
107
108
109#ifdef __cplusplus
110}
111#endif
112
113#endif
114
115/**
116 * @}
117 */
118