1 /*
2 * This file generated automatically from xinerama.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 "xinerama.h"
15
16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
17 #include "xproto.h"
18
19 xcb_extension_t xcb_xinerama_id = { "XINERAMA", 0 };
20
21 void
xcb_xinerama_screen_info_next(xcb_xinerama_screen_info_iterator_t * i)22 xcb_xinerama_screen_info_next (xcb_xinerama_screen_info_iterator_t *i /**< */)
23 {
24 --i->rem;
25 ++i->data;
26 i->index += sizeof(xcb_xinerama_screen_info_t);
27 }
28
29 xcb_generic_iterator_t
xcb_xinerama_screen_info_end(xcb_xinerama_screen_info_iterator_t i)30 xcb_xinerama_screen_info_end (xcb_xinerama_screen_info_iterator_t i /**< */)
31 {
32 xcb_generic_iterator_t ret;
33 ret.data = i.data + i.rem;
34 ret.index = i.index + ((char *) ret.data - (char *) i.data);
35 ret.rem = 0;
36 return ret;
37 }
38
39 xcb_xinerama_query_version_cookie_t
xcb_xinerama_query_version(xcb_connection_t * c,uint8_t major,uint8_t minor)40 xcb_xinerama_query_version (xcb_connection_t *c /**< */,
41 uint8_t major /**< */,
42 uint8_t minor /**< */)
43 {
44 static const xcb_protocol_request_t xcb_req = {
45 /* count */ 2,
46 /* ext */ &xcb_xinerama_id,
47 /* opcode */ XCB_XINERAMA_QUERY_VERSION,
48 /* isvoid */ 0
49 };
50
51 struct iovec xcb_parts[4];
52 xcb_xinerama_query_version_cookie_t xcb_ret;
53 xcb_xinerama_query_version_request_t xcb_out;
54
55 xcb_out.major = major;
56 xcb_out.minor = minor;
57
58 xcb_parts[2].iov_base = (char *) &xcb_out;
59 xcb_parts[2].iov_len = sizeof(xcb_out);
60 xcb_parts[3].iov_base = 0;
61 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
62
63 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
64 return xcb_ret;
65 }
66
67 xcb_xinerama_query_version_cookie_t
xcb_xinerama_query_version_unchecked(xcb_connection_t * c,uint8_t major,uint8_t minor)68 xcb_xinerama_query_version_unchecked (xcb_connection_t *c /**< */,
69 uint8_t major /**< */,
70 uint8_t minor /**< */)
71 {
72 static const xcb_protocol_request_t xcb_req = {
73 /* count */ 2,
74 /* ext */ &xcb_xinerama_id,
75 /* opcode */ XCB_XINERAMA_QUERY_VERSION,
76 /* isvoid */ 0
77 };
78
79 struct iovec xcb_parts[4];
80 xcb_xinerama_query_version_cookie_t xcb_ret;
81 xcb_xinerama_query_version_request_t xcb_out;
82
83 xcb_out.major = major;
84 xcb_out.minor = minor;
85
86 xcb_parts[2].iov_base = (char *) &xcb_out;
87 xcb_parts[2].iov_len = sizeof(xcb_out);
88 xcb_parts[3].iov_base = 0;
89 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
90
91 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
92 return xcb_ret;
93 }
94
95 xcb_xinerama_query_version_reply_t *
xcb_xinerama_query_version_reply(xcb_connection_t * c,xcb_xinerama_query_version_cookie_t cookie,xcb_generic_error_t ** e)96 xcb_xinerama_query_version_reply (xcb_connection_t *c /**< */,
97 xcb_xinerama_query_version_cookie_t cookie /**< */,
98 xcb_generic_error_t **e /**< */)
99 {
100 return (xcb_xinerama_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
101 }
102
103 xcb_xinerama_get_state_cookie_t
xcb_xinerama_get_state(xcb_connection_t * c,xcb_window_t window)104 xcb_xinerama_get_state (xcb_connection_t *c /**< */,
105 xcb_window_t window /**< */)
106 {
107 static const xcb_protocol_request_t xcb_req = {
108 /* count */ 2,
109 /* ext */ &xcb_xinerama_id,
110 /* opcode */ XCB_XINERAMA_GET_STATE,
111 /* isvoid */ 0
112 };
113
114 struct iovec xcb_parts[4];
115 xcb_xinerama_get_state_cookie_t xcb_ret;
116 xcb_xinerama_get_state_request_t xcb_out;
117
118 xcb_out.window = window;
119
120 xcb_parts[2].iov_base = (char *) &xcb_out;
121 xcb_parts[2].iov_len = sizeof(xcb_out);
122 xcb_parts[3].iov_base = 0;
123 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
124
125 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
126 return xcb_ret;
127 }
128
129 xcb_xinerama_get_state_cookie_t
xcb_xinerama_get_state_unchecked(xcb_connection_t * c,xcb_window_t window)130 xcb_xinerama_get_state_unchecked (xcb_connection_t *c /**< */,
131 xcb_window_t window /**< */)
132 {
133 static const xcb_protocol_request_t xcb_req = {
134 /* count */ 2,
135 /* ext */ &xcb_xinerama_id,
136 /* opcode */ XCB_XINERAMA_GET_STATE,
137 /* isvoid */ 0
138 };
139
140 struct iovec xcb_parts[4];
141 xcb_xinerama_get_state_cookie_t xcb_ret;
142 xcb_xinerama_get_state_request_t xcb_out;
143
144 xcb_out.window = window;
145
146 xcb_parts[2].iov_base = (char *) &xcb_out;
147 xcb_parts[2].iov_len = sizeof(xcb_out);
148 xcb_parts[3].iov_base = 0;
149 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
150
151 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
152 return xcb_ret;
153 }
154
155 xcb_xinerama_get_state_reply_t *
xcb_xinerama_get_state_reply(xcb_connection_t * c,xcb_xinerama_get_state_cookie_t cookie,xcb_generic_error_t ** e)156 xcb_xinerama_get_state_reply (xcb_connection_t *c /**< */,
157 xcb_xinerama_get_state_cookie_t cookie /**< */,
158 xcb_generic_error_t **e /**< */)
159 {
160 return (xcb_xinerama_get_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
161 }
162
163 xcb_xinerama_get_screen_count_cookie_t
xcb_xinerama_get_screen_count(xcb_connection_t * c,xcb_window_t window)164 xcb_xinerama_get_screen_count (xcb_connection_t *c /**< */,
165 xcb_window_t window /**< */)
166 {
167 static const xcb_protocol_request_t xcb_req = {
168 /* count */ 2,
169 /* ext */ &xcb_xinerama_id,
170 /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT,
171 /* isvoid */ 0
172 };
173
174 struct iovec xcb_parts[4];
175 xcb_xinerama_get_screen_count_cookie_t xcb_ret;
176 xcb_xinerama_get_screen_count_request_t xcb_out;
177
178 xcb_out.window = window;
179
180 xcb_parts[2].iov_base = (char *) &xcb_out;
181 xcb_parts[2].iov_len = sizeof(xcb_out);
182 xcb_parts[3].iov_base = 0;
183 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
184
185 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
186 return xcb_ret;
187 }
188
189 xcb_xinerama_get_screen_count_cookie_t
xcb_xinerama_get_screen_count_unchecked(xcb_connection_t * c,xcb_window_t window)190 xcb_xinerama_get_screen_count_unchecked (xcb_connection_t *c /**< */,
191 xcb_window_t window /**< */)
192 {
193 static const xcb_protocol_request_t xcb_req = {
194 /* count */ 2,
195 /* ext */ &xcb_xinerama_id,
196 /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT,
197 /* isvoid */ 0
198 };
199
200 struct iovec xcb_parts[4];
201 xcb_xinerama_get_screen_count_cookie_t xcb_ret;
202 xcb_xinerama_get_screen_count_request_t xcb_out;
203
204 xcb_out.window = window;
205
206 xcb_parts[2].iov_base = (char *) &xcb_out;
207 xcb_parts[2].iov_len = sizeof(xcb_out);
208 xcb_parts[3].iov_base = 0;
209 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
210
211 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
212 return xcb_ret;
213 }
214
215 xcb_xinerama_get_screen_count_reply_t *
xcb_xinerama_get_screen_count_reply(xcb_connection_t * c,xcb_xinerama_get_screen_count_cookie_t cookie,xcb_generic_error_t ** e)216 xcb_xinerama_get_screen_count_reply (xcb_connection_t *c /**< */,
217 xcb_xinerama_get_screen_count_cookie_t cookie /**< */,
218 xcb_generic_error_t **e /**< */)
219 {
220 return (xcb_xinerama_get_screen_count_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
221 }
222
223 xcb_xinerama_get_screen_size_cookie_t
xcb_xinerama_get_screen_size(xcb_connection_t * c,xcb_window_t window,uint32_t screen)224 xcb_xinerama_get_screen_size (xcb_connection_t *c /**< */,
225 xcb_window_t window /**< */,
226 uint32_t screen /**< */)
227 {
228 static const xcb_protocol_request_t xcb_req = {
229 /* count */ 2,
230 /* ext */ &xcb_xinerama_id,
231 /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE,
232 /* isvoid */ 0
233 };
234
235 struct iovec xcb_parts[4];
236 xcb_xinerama_get_screen_size_cookie_t xcb_ret;
237 xcb_xinerama_get_screen_size_request_t xcb_out;
238
239 xcb_out.window = window;
240 xcb_out.screen = screen;
241
242 xcb_parts[2].iov_base = (char *) &xcb_out;
243 xcb_parts[2].iov_len = sizeof(xcb_out);
244 xcb_parts[3].iov_base = 0;
245 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
246
247 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
248 return xcb_ret;
249 }
250
251 xcb_xinerama_get_screen_size_cookie_t
xcb_xinerama_get_screen_size_unchecked(xcb_connection_t * c,xcb_window_t window,uint32_t screen)252 xcb_xinerama_get_screen_size_unchecked (xcb_connection_t *c /**< */,
253 xcb_window_t window /**< */,
254 uint32_t screen /**< */)
255 {
256 static const xcb_protocol_request_t xcb_req = {
257 /* count */ 2,
258 /* ext */ &xcb_xinerama_id,
259 /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE,
260 /* isvoid */ 0
261 };
262
263 struct iovec xcb_parts[4];
264 xcb_xinerama_get_screen_size_cookie_t xcb_ret;
265 xcb_xinerama_get_screen_size_request_t xcb_out;
266
267 xcb_out.window = window;
268 xcb_out.screen = screen;
269
270 xcb_parts[2].iov_base = (char *) &xcb_out;
271 xcb_parts[2].iov_len = sizeof(xcb_out);
272 xcb_parts[3].iov_base = 0;
273 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
274
275 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
276 return xcb_ret;
277 }
278
279 xcb_xinerama_get_screen_size_reply_t *
xcb_xinerama_get_screen_size_reply(xcb_connection_t * c,xcb_xinerama_get_screen_size_cookie_t cookie,xcb_generic_error_t ** e)280 xcb_xinerama_get_screen_size_reply (xcb_connection_t *c /**< */,
281 xcb_xinerama_get_screen_size_cookie_t cookie /**< */,
282 xcb_generic_error_t **e /**< */)
283 {
284 return (xcb_xinerama_get_screen_size_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
285 }
286
287 xcb_xinerama_is_active_cookie_t
xcb_xinerama_is_active(xcb_connection_t * c)288 xcb_xinerama_is_active (xcb_connection_t *c /**< */)
289 {
290 static const xcb_protocol_request_t xcb_req = {
291 /* count */ 2,
292 /* ext */ &xcb_xinerama_id,
293 /* opcode */ XCB_XINERAMA_IS_ACTIVE,
294 /* isvoid */ 0
295 };
296
297 struct iovec xcb_parts[4];
298 xcb_xinerama_is_active_cookie_t xcb_ret;
299 xcb_xinerama_is_active_request_t xcb_out;
300
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, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
308 return xcb_ret;
309 }
310
311 xcb_xinerama_is_active_cookie_t
xcb_xinerama_is_active_unchecked(xcb_connection_t * c)312 xcb_xinerama_is_active_unchecked (xcb_connection_t *c /**< */)
313 {
314 static const xcb_protocol_request_t xcb_req = {
315 /* count */ 2,
316 /* ext */ &xcb_xinerama_id,
317 /* opcode */ XCB_XINERAMA_IS_ACTIVE,
318 /* isvoid */ 0
319 };
320
321 struct iovec xcb_parts[4];
322 xcb_xinerama_is_active_cookie_t xcb_ret;
323 xcb_xinerama_is_active_request_t xcb_out;
324
325
326 xcb_parts[2].iov_base = (char *) &xcb_out;
327 xcb_parts[2].iov_len = sizeof(xcb_out);
328 xcb_parts[3].iov_base = 0;
329 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
330
331 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
332 return xcb_ret;
333 }
334
335 xcb_xinerama_is_active_reply_t *
xcb_xinerama_is_active_reply(xcb_connection_t * c,xcb_xinerama_is_active_cookie_t cookie,xcb_generic_error_t ** e)336 xcb_xinerama_is_active_reply (xcb_connection_t *c /**< */,
337 xcb_xinerama_is_active_cookie_t cookie /**< */,
338 xcb_generic_error_t **e /**< */)
339 {
340 return (xcb_xinerama_is_active_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
341 }
342
343 int
xcb_xinerama_query_screens_sizeof(const void * _buffer)344 xcb_xinerama_query_screens_sizeof (const void *_buffer /**< */)
345 {
346 char *xcb_tmp = (char *)_buffer;
347 const xcb_xinerama_query_screens_reply_t *_aux = (xcb_xinerama_query_screens_reply_t *)_buffer;
348 unsigned int xcb_buffer_len = 0;
349 unsigned int xcb_block_len = 0;
350 unsigned int xcb_pad = 0;
351 unsigned int xcb_align_to = 0;
352
353
354 xcb_block_len += sizeof(xcb_xinerama_query_screens_reply_t);
355 xcb_tmp += xcb_block_len;
356 xcb_buffer_len += xcb_block_len;
357 xcb_block_len = 0;
358 /* screen_info */
359 xcb_block_len += _aux->number * sizeof(xcb_xinerama_screen_info_t);
360 xcb_tmp += xcb_block_len;
361 xcb_align_to = ALIGNOF(xcb_xinerama_screen_info_t);
362 /* insert padding */
363 xcb_pad = -xcb_block_len & (xcb_align_to - 1);
364 xcb_buffer_len += xcb_block_len + xcb_pad;
365 if (0 != xcb_pad) {
366 xcb_tmp += xcb_pad;
367 xcb_pad = 0;
368 }
369 xcb_block_len = 0;
370
371 return xcb_buffer_len;
372 }
373
374 xcb_xinerama_query_screens_cookie_t
xcb_xinerama_query_screens(xcb_connection_t * c)375 xcb_xinerama_query_screens (xcb_connection_t *c /**< */)
376 {
377 static const xcb_protocol_request_t xcb_req = {
378 /* count */ 2,
379 /* ext */ &xcb_xinerama_id,
380 /* opcode */ XCB_XINERAMA_QUERY_SCREENS,
381 /* isvoid */ 0
382 };
383
384 struct iovec xcb_parts[4];
385 xcb_xinerama_query_screens_cookie_t xcb_ret;
386 xcb_xinerama_query_screens_request_t xcb_out;
387
388
389 xcb_parts[2].iov_base = (char *) &xcb_out;
390 xcb_parts[2].iov_len = sizeof(xcb_out);
391 xcb_parts[3].iov_base = 0;
392 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
393
394 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
395 return xcb_ret;
396 }
397
398 xcb_xinerama_query_screens_cookie_t
xcb_xinerama_query_screens_unchecked(xcb_connection_t * c)399 xcb_xinerama_query_screens_unchecked (xcb_connection_t *c /**< */)
400 {
401 static const xcb_protocol_request_t xcb_req = {
402 /* count */ 2,
403 /* ext */ &xcb_xinerama_id,
404 /* opcode */ XCB_XINERAMA_QUERY_SCREENS,
405 /* isvoid */ 0
406 };
407
408 struct iovec xcb_parts[4];
409 xcb_xinerama_query_screens_cookie_t xcb_ret;
410 xcb_xinerama_query_screens_request_t xcb_out;
411
412
413 xcb_parts[2].iov_base = (char *) &xcb_out;
414 xcb_parts[2].iov_len = sizeof(xcb_out);
415 xcb_parts[3].iov_base = 0;
416 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
417
418 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
419 return xcb_ret;
420 }
421
422 xcb_xinerama_screen_info_t *
xcb_xinerama_query_screens_screen_info(const xcb_xinerama_query_screens_reply_t * R)423 xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R /**< */)
424 {
425 return (xcb_xinerama_screen_info_t *) (R + 1);
426 }
427
428 int
xcb_xinerama_query_screens_screen_info_length(const xcb_xinerama_query_screens_reply_t * R)429 xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R /**< */)
430 {
431 return R->number;
432 }
433
434 xcb_xinerama_screen_info_iterator_t
xcb_xinerama_query_screens_screen_info_iterator(const xcb_xinerama_query_screens_reply_t * R)435 xcb_xinerama_query_screens_screen_info_iterator (const xcb_xinerama_query_screens_reply_t *R /**< */)
436 {
437 xcb_xinerama_screen_info_iterator_t i;
438 i.data = (xcb_xinerama_screen_info_t *) (R + 1);
439 i.rem = R->number;
440 i.index = (char *) i.data - (char *) R;
441 return i;
442 }
443
444 xcb_xinerama_query_screens_reply_t *
xcb_xinerama_query_screens_reply(xcb_connection_t * c,xcb_xinerama_query_screens_cookie_t cookie,xcb_generic_error_t ** e)445 xcb_xinerama_query_screens_reply (xcb_connection_t *c /**< */,
446 xcb_xinerama_query_screens_cookie_t cookie /**< */,
447 xcb_generic_error_t **e /**< */)
448 {
449 return (xcb_xinerama_query_screens_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
450 }
451
452