xref: /minix3/external/mit/xorg/lib/libxcb/files/xc_misc.c (revision b80da2a01d0bb632707b7b4e974aa32eaebbcc6f)
1 /*
2  * This file generated automatically from xc_misc.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 #ifdef HAVE_CONFIG_H
7 #include "config.h"
8 #endif
9 #include <stdlib.h>
10 #include <string.h>
11 #include <assert.h>
12 #include <stddef.h>  /* for offsetof() */
13 #include "xcbext.h"
14 #include "xc_misc.h"
15 
16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
17 
18 xcb_extension_t xcb_xc_misc_id = { "XC-MISC", 0 };
19 
20 
21 /*****************************************************************************
22  **
23  ** xcb_xc_misc_get_version_cookie_t xcb_xc_misc_get_version
24  **
25  ** @param xcb_connection_t *c
26  ** @param uint16_t          client_major_version
27  ** @param uint16_t          client_minor_version
28  ** @returns xcb_xc_misc_get_version_cookie_t
29  **
30  *****************************************************************************/
31 
32 xcb_xc_misc_get_version_cookie_t
33 xcb_xc_misc_get_version (xcb_connection_t *c  /**< */,
34                          uint16_t          client_major_version  /**< */,
35                          uint16_t          client_minor_version  /**< */)
36 {
37     static const xcb_protocol_request_t xcb_req = {
38         /* count */ 2,
39         /* ext */ &xcb_xc_misc_id,
40         /* opcode */ XCB_XC_MISC_GET_VERSION,
41         /* isvoid */ 0
42     };
43 
44     struct iovec xcb_parts[4];
45     xcb_xc_misc_get_version_cookie_t xcb_ret;
46     xcb_xc_misc_get_version_request_t xcb_out;
47 
48     xcb_out.client_major_version = client_major_version;
49     xcb_out.client_minor_version = client_minor_version;
50 
51     xcb_parts[2].iov_base = (char *) &xcb_out;
52     xcb_parts[2].iov_len = sizeof(xcb_out);
53     xcb_parts[3].iov_base = 0;
54     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
55 
56     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
57     return xcb_ret;
58 }
59 
60 
61 /*****************************************************************************
62  **
63  ** xcb_xc_misc_get_version_cookie_t xcb_xc_misc_get_version_unchecked
64  **
65  ** @param xcb_connection_t *c
66  ** @param uint16_t          client_major_version
67  ** @param uint16_t          client_minor_version
68  ** @returns xcb_xc_misc_get_version_cookie_t
69  **
70  *****************************************************************************/
71 
72 xcb_xc_misc_get_version_cookie_t
73 xcb_xc_misc_get_version_unchecked (xcb_connection_t *c  /**< */,
74                                    uint16_t          client_major_version  /**< */,
75                                    uint16_t          client_minor_version  /**< */)
76 {
77     static const xcb_protocol_request_t xcb_req = {
78         /* count */ 2,
79         /* ext */ &xcb_xc_misc_id,
80         /* opcode */ XCB_XC_MISC_GET_VERSION,
81         /* isvoid */ 0
82     };
83 
84     struct iovec xcb_parts[4];
85     xcb_xc_misc_get_version_cookie_t xcb_ret;
86     xcb_xc_misc_get_version_request_t xcb_out;
87 
88     xcb_out.client_major_version = client_major_version;
89     xcb_out.client_minor_version = client_minor_version;
90 
91     xcb_parts[2].iov_base = (char *) &xcb_out;
92     xcb_parts[2].iov_len = sizeof(xcb_out);
93     xcb_parts[3].iov_base = 0;
94     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
95 
96     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
97     return xcb_ret;
98 }
99 
100 
101 /*****************************************************************************
102  **
103  ** xcb_xc_misc_get_version_reply_t * xcb_xc_misc_get_version_reply
104  **
105  ** @param xcb_connection_t                  *c
106  ** @param xcb_xc_misc_get_version_cookie_t   cookie
107  ** @param xcb_generic_error_t              **e
108  ** @returns xcb_xc_misc_get_version_reply_t *
109  **
110  *****************************************************************************/
111 
112 xcb_xc_misc_get_version_reply_t *
113 xcb_xc_misc_get_version_reply (xcb_connection_t                  *c  /**< */,
114                                xcb_xc_misc_get_version_cookie_t   cookie  /**< */,
115                                xcb_generic_error_t              **e  /**< */)
116 {
117     return (xcb_xc_misc_get_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
118 }
119 
120 
121 /*****************************************************************************
122  **
123  ** xcb_xc_misc_get_xid_range_cookie_t xcb_xc_misc_get_xid_range
124  **
125  ** @param xcb_connection_t *c
126  ** @returns xcb_xc_misc_get_xid_range_cookie_t
127  **
128  *****************************************************************************/
129 
130 xcb_xc_misc_get_xid_range_cookie_t
131 xcb_xc_misc_get_xid_range (xcb_connection_t *c  /**< */)
132 {
133     static const xcb_protocol_request_t xcb_req = {
134         /* count */ 2,
135         /* ext */ &xcb_xc_misc_id,
136         /* opcode */ XCB_XC_MISC_GET_XID_RANGE,
137         /* isvoid */ 0
138     };
139 
140     struct iovec xcb_parts[4];
141     xcb_xc_misc_get_xid_range_cookie_t xcb_ret;
142     xcb_xc_misc_get_xid_range_request_t xcb_out;
143 
144 
145     xcb_parts[2].iov_base = (char *) &xcb_out;
146     xcb_parts[2].iov_len = sizeof(xcb_out);
147     xcb_parts[3].iov_base = 0;
148     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
149 
150     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
151     return xcb_ret;
152 }
153 
154 
155 /*****************************************************************************
156  **
157  ** xcb_xc_misc_get_xid_range_cookie_t xcb_xc_misc_get_xid_range_unchecked
158  **
159  ** @param xcb_connection_t *c
160  ** @returns xcb_xc_misc_get_xid_range_cookie_t
161  **
162  *****************************************************************************/
163 
164 xcb_xc_misc_get_xid_range_cookie_t
165 xcb_xc_misc_get_xid_range_unchecked (xcb_connection_t *c  /**< */)
166 {
167     static const xcb_protocol_request_t xcb_req = {
168         /* count */ 2,
169         /* ext */ &xcb_xc_misc_id,
170         /* opcode */ XCB_XC_MISC_GET_XID_RANGE,
171         /* isvoid */ 0
172     };
173 
174     struct iovec xcb_parts[4];
175     xcb_xc_misc_get_xid_range_cookie_t xcb_ret;
176     xcb_xc_misc_get_xid_range_request_t xcb_out;
177 
178 
179     xcb_parts[2].iov_base = (char *) &xcb_out;
180     xcb_parts[2].iov_len = sizeof(xcb_out);
181     xcb_parts[3].iov_base = 0;
182     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
183 
184     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
185     return xcb_ret;
186 }
187 
188 
189 /*****************************************************************************
190  **
191  ** xcb_xc_misc_get_xid_range_reply_t * xcb_xc_misc_get_xid_range_reply
192  **
193  ** @param xcb_connection_t                    *c
194  ** @param xcb_xc_misc_get_xid_range_cookie_t   cookie
195  ** @param xcb_generic_error_t                **e
196  ** @returns xcb_xc_misc_get_xid_range_reply_t *
197  **
198  *****************************************************************************/
199 
200 xcb_xc_misc_get_xid_range_reply_t *
201 xcb_xc_misc_get_xid_range_reply (xcb_connection_t                    *c  /**< */,
202                                  xcb_xc_misc_get_xid_range_cookie_t   cookie  /**< */,
203                                  xcb_generic_error_t                **e  /**< */)
204 {
205     return (xcb_xc_misc_get_xid_range_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
206 }
207 
208 int
209 xcb_xc_misc_get_xid_list_sizeof (const void  *_buffer  /**< */)
210 {
211     char *xcb_tmp = (char *)_buffer;
212     const xcb_xc_misc_get_xid_list_reply_t *_aux = (xcb_xc_misc_get_xid_list_reply_t *)_buffer;
213     unsigned int xcb_buffer_len = 0;
214     unsigned int xcb_block_len = 0;
215     unsigned int xcb_pad = 0;
216     unsigned int xcb_align_to;
217 
218 
219     xcb_block_len += sizeof(xcb_xc_misc_get_xid_list_reply_t);
220     xcb_tmp += xcb_block_len;
221     /* ids */
222     xcb_block_len += _aux->ids_len * sizeof(uint32_t);
223     xcb_tmp += xcb_block_len;
224     xcb_align_to = ALIGNOF(uint32_t);
225     /* insert padding */
226     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
227     xcb_buffer_len += xcb_block_len + xcb_pad;
228     if (0 != xcb_pad) {
229         xcb_tmp += xcb_pad;
230         xcb_pad = 0;
231     }
232     xcb_block_len = 0;
233 
234     return xcb_buffer_len;
235 }
236 
237 
238 /*****************************************************************************
239  **
240  ** xcb_xc_misc_get_xid_list_cookie_t xcb_xc_misc_get_xid_list
241  **
242  ** @param xcb_connection_t *c
243  ** @param uint32_t          count
244  ** @returns xcb_xc_misc_get_xid_list_cookie_t
245  **
246  *****************************************************************************/
247 
248 xcb_xc_misc_get_xid_list_cookie_t
249 xcb_xc_misc_get_xid_list (xcb_connection_t *c  /**< */,
250                           uint32_t          count  /**< */)
251 {
252     static const xcb_protocol_request_t xcb_req = {
253         /* count */ 2,
254         /* ext */ &xcb_xc_misc_id,
255         /* opcode */ XCB_XC_MISC_GET_XID_LIST,
256         /* isvoid */ 0
257     };
258 
259     struct iovec xcb_parts[4];
260     xcb_xc_misc_get_xid_list_cookie_t xcb_ret;
261     xcb_xc_misc_get_xid_list_request_t xcb_out;
262 
263     xcb_out.count = count;
264 
265     xcb_parts[2].iov_base = (char *) &xcb_out;
266     xcb_parts[2].iov_len = sizeof(xcb_out);
267     xcb_parts[3].iov_base = 0;
268     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
269 
270     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
271     return xcb_ret;
272 }
273 
274 
275 /*****************************************************************************
276  **
277  ** xcb_xc_misc_get_xid_list_cookie_t xcb_xc_misc_get_xid_list_unchecked
278  **
279  ** @param xcb_connection_t *c
280  ** @param uint32_t          count
281  ** @returns xcb_xc_misc_get_xid_list_cookie_t
282  **
283  *****************************************************************************/
284 
285 xcb_xc_misc_get_xid_list_cookie_t
286 xcb_xc_misc_get_xid_list_unchecked (xcb_connection_t *c  /**< */,
287                                     uint32_t          count  /**< */)
288 {
289     static const xcb_protocol_request_t xcb_req = {
290         /* count */ 2,
291         /* ext */ &xcb_xc_misc_id,
292         /* opcode */ XCB_XC_MISC_GET_XID_LIST,
293         /* isvoid */ 0
294     };
295 
296     struct iovec xcb_parts[4];
297     xcb_xc_misc_get_xid_list_cookie_t xcb_ret;
298     xcb_xc_misc_get_xid_list_request_t xcb_out;
299 
300     xcb_out.count = count;
301 
302     xcb_parts[2].iov_base = (char *) &xcb_out;
303     xcb_parts[2].iov_len = sizeof(xcb_out);
304     xcb_parts[3].iov_base = 0;
305     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
306 
307     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
308     return xcb_ret;
309 }
310 
311 
312 /*****************************************************************************
313  **
314  ** uint32_t * xcb_xc_misc_get_xid_list_ids
315  **
316  ** @param const xcb_xc_misc_get_xid_list_reply_t *R
317  ** @returns uint32_t *
318  **
319  *****************************************************************************/
320 
321 uint32_t *
322 xcb_xc_misc_get_xid_list_ids (const xcb_xc_misc_get_xid_list_reply_t *R  /**< */)
323 {
324     return (uint32_t *) (R + 1);
325 }
326 
327 
328 /*****************************************************************************
329  **
330  ** int xcb_xc_misc_get_xid_list_ids_length
331  **
332  ** @param const xcb_xc_misc_get_xid_list_reply_t *R
333  ** @returns int
334  **
335  *****************************************************************************/
336 
337 int
338 xcb_xc_misc_get_xid_list_ids_length (const xcb_xc_misc_get_xid_list_reply_t *R  /**< */)
339 {
340     return R->ids_len;
341 }
342 
343 
344 /*****************************************************************************
345  **
346  ** xcb_generic_iterator_t xcb_xc_misc_get_xid_list_ids_end
347  **
348  ** @param const xcb_xc_misc_get_xid_list_reply_t *R
349  ** @returns xcb_generic_iterator_t
350  **
351  *****************************************************************************/
352 
353 xcb_generic_iterator_t
354 xcb_xc_misc_get_xid_list_ids_end (const xcb_xc_misc_get_xid_list_reply_t *R  /**< */)
355 {
356     xcb_generic_iterator_t i;
357     i.data = ((uint32_t *) (R + 1)) + (R->ids_len);
358     i.rem = 0;
359     i.index = (char *) i.data - (char *) R;
360     return i;
361 }
362 
363 
364 /*****************************************************************************
365  **
366  ** xcb_xc_misc_get_xid_list_reply_t * xcb_xc_misc_get_xid_list_reply
367  **
368  ** @param xcb_connection_t                   *c
369  ** @param xcb_xc_misc_get_xid_list_cookie_t   cookie
370  ** @param xcb_generic_error_t               **e
371  ** @returns xcb_xc_misc_get_xid_list_reply_t *
372  **
373  *****************************************************************************/
374 
375 xcb_xc_misc_get_xid_list_reply_t *
376 xcb_xc_misc_get_xid_list_reply (xcb_connection_t                   *c  /**< */,
377                                 xcb_xc_misc_get_xid_list_cookie_t   cookie  /**< */,
378                                 xcb_generic_error_t               **e  /**< */)
379 {
380     return (xcb_xc_misc_get_xid_list_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
381 }
382 
383