1/*
2 * This file generated automatically from xc_misc.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_XCMisc_API XCB XCMisc API
8 * @brief XCMisc XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __XC_MISC_H
13#define __XC_MISC_H
14
15#include "xcb.h"
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21#define XCB_XCMISC_MAJOR_VERSION 1
22#define XCB_XCMISC_MINOR_VERSION 1
23
24extern xcb_extension_t xcb_xc_misc_id;
25
26/**
27 * @brief xcb_xc_misc_get_version_cookie_t
28 **/
29typedef struct xcb_xc_misc_get_version_cookie_t {
30    unsigned int sequence;
31} xcb_xc_misc_get_version_cookie_t;
32
33/** Opcode for xcb_xc_misc_get_version. */
34#define XCB_XC_MISC_GET_VERSION 0
35
36/**
37 * @brief xcb_xc_misc_get_version_request_t
38 **/
39typedef struct xcb_xc_misc_get_version_request_t {
40    uint8_t  major_opcode;
41    uint8_t  minor_opcode;
42    uint16_t length;
43    uint16_t client_major_version;
44    uint16_t client_minor_version;
45} xcb_xc_misc_get_version_request_t;
46
47/**
48 * @brief xcb_xc_misc_get_version_reply_t
49 **/
50typedef struct xcb_xc_misc_get_version_reply_t {
51    uint8_t  response_type;
52    uint8_t  pad0;
53    uint16_t sequence;
54    uint32_t length;
55    uint16_t server_major_version;
56    uint16_t server_minor_version;
57} xcb_xc_misc_get_version_reply_t;
58
59/**
60 * @brief xcb_xc_misc_get_xid_range_cookie_t
61 **/
62typedef struct xcb_xc_misc_get_xid_range_cookie_t {
63    unsigned int sequence;
64} xcb_xc_misc_get_xid_range_cookie_t;
65
66/** Opcode for xcb_xc_misc_get_xid_range. */
67#define XCB_XC_MISC_GET_XID_RANGE 1
68
69/**
70 * @brief xcb_xc_misc_get_xid_range_request_t
71 **/
72typedef struct xcb_xc_misc_get_xid_range_request_t {
73    uint8_t  major_opcode;
74    uint8_t  minor_opcode;
75    uint16_t length;
76} xcb_xc_misc_get_xid_range_request_t;
77
78/**
79 * @brief xcb_xc_misc_get_xid_range_reply_t
80 **/
81typedef struct xcb_xc_misc_get_xid_range_reply_t {
82    uint8_t  response_type;
83    uint8_t  pad0;
84    uint16_t sequence;
85    uint32_t length;
86    uint32_t start_id;
87    uint32_t count;
88} xcb_xc_misc_get_xid_range_reply_t;
89
90/**
91 * @brief xcb_xc_misc_get_xid_list_cookie_t
92 **/
93typedef struct xcb_xc_misc_get_xid_list_cookie_t {
94    unsigned int sequence;
95} xcb_xc_misc_get_xid_list_cookie_t;
96
97/** Opcode for xcb_xc_misc_get_xid_list. */
98#define XCB_XC_MISC_GET_XID_LIST 2
99
100/**
101 * @brief xcb_xc_misc_get_xid_list_request_t
102 **/
103typedef struct xcb_xc_misc_get_xid_list_request_t {
104    uint8_t  major_opcode;
105    uint8_t  minor_opcode;
106    uint16_t length;
107    uint32_t count;
108} xcb_xc_misc_get_xid_list_request_t;
109
110/**
111 * @brief xcb_xc_misc_get_xid_list_reply_t
112 **/
113typedef struct xcb_xc_misc_get_xid_list_reply_t {
114    uint8_t  response_type;
115    uint8_t  pad0;
116    uint16_t sequence;
117    uint32_t length;
118    uint32_t ids_len;
119    uint8_t  pad1[20];
120} xcb_xc_misc_get_xid_list_reply_t;
121
122/**
123 *
124 * @param c The connection
125 * @return A cookie
126 *
127 * Delivers a request to the X server.
128 *
129 */
130xcb_xc_misc_get_version_cookie_t
131xcb_xc_misc_get_version (xcb_connection_t *c,
132                         uint16_t          client_major_version,
133                         uint16_t          client_minor_version);
134
135/**
136 *
137 * @param c The connection
138 * @return A cookie
139 *
140 * Delivers a request to the X server.
141 *
142 * This form can be used only if the request will cause
143 * a reply to be generated. Any returned error will be
144 * placed in the event queue.
145 */
146xcb_xc_misc_get_version_cookie_t
147xcb_xc_misc_get_version_unchecked (xcb_connection_t *c,
148                                   uint16_t          client_major_version,
149                                   uint16_t          client_minor_version);
150
151/**
152 * Return the reply
153 * @param c      The connection
154 * @param cookie The cookie
155 * @param e      The xcb_generic_error_t supplied
156 *
157 * Returns the reply of the request asked by
158 *
159 * The parameter @p e supplied to this function must be NULL if
160 * xcb_xc_misc_get_version_unchecked(). is used.
161 * Otherwise, it stores the error if any.
162 *
163 * The returned value must be freed by the caller using free().
164 */
165xcb_xc_misc_get_version_reply_t *
166xcb_xc_misc_get_version_reply (xcb_connection_t                  *c,
167                               xcb_xc_misc_get_version_cookie_t   cookie  /**< */,
168                               xcb_generic_error_t              **e);
169
170/**
171 *
172 * @param c The connection
173 * @return A cookie
174 *
175 * Delivers a request to the X server.
176 *
177 */
178xcb_xc_misc_get_xid_range_cookie_t
179xcb_xc_misc_get_xid_range (xcb_connection_t *c);
180
181/**
182 *
183 * @param c The connection
184 * @return A cookie
185 *
186 * Delivers a request to the X server.
187 *
188 * This form can be used only if the request will cause
189 * a reply to be generated. Any returned error will be
190 * placed in the event queue.
191 */
192xcb_xc_misc_get_xid_range_cookie_t
193xcb_xc_misc_get_xid_range_unchecked (xcb_connection_t *c);
194
195/**
196 * Return the reply
197 * @param c      The connection
198 * @param cookie The cookie
199 * @param e      The xcb_generic_error_t supplied
200 *
201 * Returns the reply of the request asked by
202 *
203 * The parameter @p e supplied to this function must be NULL if
204 * xcb_xc_misc_get_xid_range_unchecked(). is used.
205 * Otherwise, it stores the error if any.
206 *
207 * The returned value must be freed by the caller using free().
208 */
209xcb_xc_misc_get_xid_range_reply_t *
210xcb_xc_misc_get_xid_range_reply (xcb_connection_t                    *c,
211                                 xcb_xc_misc_get_xid_range_cookie_t   cookie  /**< */,
212                                 xcb_generic_error_t                **e);
213
214int
215xcb_xc_misc_get_xid_list_sizeof (const void  *_buffer);
216
217/**
218 *
219 * @param c The connection
220 * @return A cookie
221 *
222 * Delivers a request to the X server.
223 *
224 */
225xcb_xc_misc_get_xid_list_cookie_t
226xcb_xc_misc_get_xid_list (xcb_connection_t *c,
227                          uint32_t          count);
228
229/**
230 *
231 * @param c The connection
232 * @return A cookie
233 *
234 * Delivers a request to the X server.
235 *
236 * This form can be used only if the request will cause
237 * a reply to be generated. Any returned error will be
238 * placed in the event queue.
239 */
240xcb_xc_misc_get_xid_list_cookie_t
241xcb_xc_misc_get_xid_list_unchecked (xcb_connection_t *c,
242                                    uint32_t          count);
243
244uint32_t *
245xcb_xc_misc_get_xid_list_ids (const xcb_xc_misc_get_xid_list_reply_t *R);
246
247int
248xcb_xc_misc_get_xid_list_ids_length (const xcb_xc_misc_get_xid_list_reply_t *R);
249
250xcb_generic_iterator_t
251xcb_xc_misc_get_xid_list_ids_end (const xcb_xc_misc_get_xid_list_reply_t *R);
252
253/**
254 * Return the reply
255 * @param c      The connection
256 * @param cookie The cookie
257 * @param e      The xcb_generic_error_t supplied
258 *
259 * Returns the reply of the request asked by
260 *
261 * The parameter @p e supplied to this function must be NULL if
262 * xcb_xc_misc_get_xid_list_unchecked(). is used.
263 * Otherwise, it stores the error if any.
264 *
265 * The returned value must be freed by the caller using free().
266 */
267xcb_xc_misc_get_xid_list_reply_t *
268xcb_xc_misc_get_xid_list_reply (xcb_connection_t                   *c,
269                                xcb_xc_misc_get_xid_list_cookie_t   cookie  /**< */,
270                                xcb_generic_error_t               **e);
271
272
273#ifdef __cplusplus
274}
275#endif
276
277#endif
278
279/**
280 * @}
281 */
282