xinerama.c revision 1.1.6.1 1 1.1 mrg /*
2 1.1 mrg * This file generated automatically from xinerama.xml by c_client.py.
3 1.1 mrg * Edit at your peril.
4 1.1 mrg */
5 1.1 mrg
6 1.1.6.1 yamt #ifdef HAVE_CONFIG_H
7 1.1.6.1 yamt #include "config.h"
8 1.1.6.1 yamt #endif
9 1.1.6.1 yamt #include <stdlib.h>
10 1.1 mrg #include <string.h>
11 1.1 mrg #include <assert.h>
12 1.1.6.1 yamt #include <stddef.h> /* for offsetof() */
13 1.1 mrg #include "xcbext.h"
14 1.1 mrg #include "xinerama.h"
15 1.1.6.1 yamt
16 1.1.6.1 yamt #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
17 1.1 mrg #include "xproto.h"
18 1.1 mrg
19 1.1 mrg xcb_extension_t xcb_xinerama_id = { "XINERAMA", 0 };
20 1.1 mrg
21 1.1 mrg
22 1.1 mrg /*****************************************************************************
23 1.1 mrg **
24 1.1 mrg ** void xcb_xinerama_screen_info_next
25 1.1 mrg **
26 1.1 mrg ** @param xcb_xinerama_screen_info_iterator_t *i
27 1.1 mrg ** @returns void
28 1.1 mrg **
29 1.1 mrg *****************************************************************************/
30 1.1 mrg
31 1.1 mrg void
32 1.1 mrg xcb_xinerama_screen_info_next (xcb_xinerama_screen_info_iterator_t *i /**< */)
33 1.1 mrg {
34 1.1 mrg --i->rem;
35 1.1 mrg ++i->data;
36 1.1 mrg i->index += sizeof(xcb_xinerama_screen_info_t);
37 1.1 mrg }
38 1.1 mrg
39 1.1 mrg
40 1.1 mrg /*****************************************************************************
41 1.1 mrg **
42 1.1 mrg ** xcb_generic_iterator_t xcb_xinerama_screen_info_end
43 1.1 mrg **
44 1.1 mrg ** @param xcb_xinerama_screen_info_iterator_t i
45 1.1 mrg ** @returns xcb_generic_iterator_t
46 1.1 mrg **
47 1.1 mrg *****************************************************************************/
48 1.1 mrg
49 1.1 mrg xcb_generic_iterator_t
50 1.1 mrg xcb_xinerama_screen_info_end (xcb_xinerama_screen_info_iterator_t i /**< */)
51 1.1 mrg {
52 1.1 mrg xcb_generic_iterator_t ret;
53 1.1 mrg ret.data = i.data + i.rem;
54 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
55 1.1 mrg ret.rem = 0;
56 1.1 mrg return ret;
57 1.1 mrg }
58 1.1 mrg
59 1.1 mrg
60 1.1 mrg /*****************************************************************************
61 1.1 mrg **
62 1.1 mrg ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version
63 1.1 mrg **
64 1.1 mrg ** @param xcb_connection_t *c
65 1.1 mrg ** @param uint8_t major
66 1.1 mrg ** @param uint8_t minor
67 1.1 mrg ** @returns xcb_xinerama_query_version_cookie_t
68 1.1 mrg **
69 1.1 mrg *****************************************************************************/
70 1.1 mrg
71 1.1 mrg xcb_xinerama_query_version_cookie_t
72 1.1 mrg xcb_xinerama_query_version (xcb_connection_t *c /**< */,
73 1.1 mrg uint8_t major /**< */,
74 1.1 mrg uint8_t minor /**< */)
75 1.1 mrg {
76 1.1 mrg static const xcb_protocol_request_t xcb_req = {
77 1.1 mrg /* count */ 2,
78 1.1 mrg /* ext */ &xcb_xinerama_id,
79 1.1 mrg /* opcode */ XCB_XINERAMA_QUERY_VERSION,
80 1.1 mrg /* isvoid */ 0
81 1.1 mrg };
82 1.1 mrg
83 1.1 mrg struct iovec xcb_parts[4];
84 1.1 mrg xcb_xinerama_query_version_cookie_t xcb_ret;
85 1.1 mrg xcb_xinerama_query_version_request_t xcb_out;
86 1.1 mrg
87 1.1 mrg xcb_out.major = major;
88 1.1 mrg xcb_out.minor = minor;
89 1.1 mrg
90 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
91 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
92 1.1 mrg xcb_parts[3].iov_base = 0;
93 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
94 1.1.6.1 yamt
95 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
96 1.1 mrg return xcb_ret;
97 1.1 mrg }
98 1.1 mrg
99 1.1 mrg
100 1.1 mrg /*****************************************************************************
101 1.1 mrg **
102 1.1 mrg ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version_unchecked
103 1.1 mrg **
104 1.1 mrg ** @param xcb_connection_t *c
105 1.1 mrg ** @param uint8_t major
106 1.1 mrg ** @param uint8_t minor
107 1.1 mrg ** @returns xcb_xinerama_query_version_cookie_t
108 1.1 mrg **
109 1.1 mrg *****************************************************************************/
110 1.1 mrg
111 1.1 mrg xcb_xinerama_query_version_cookie_t
112 1.1 mrg xcb_xinerama_query_version_unchecked (xcb_connection_t *c /**< */,
113 1.1 mrg uint8_t major /**< */,
114 1.1 mrg uint8_t minor /**< */)
115 1.1 mrg {
116 1.1 mrg static const xcb_protocol_request_t xcb_req = {
117 1.1 mrg /* count */ 2,
118 1.1 mrg /* ext */ &xcb_xinerama_id,
119 1.1 mrg /* opcode */ XCB_XINERAMA_QUERY_VERSION,
120 1.1 mrg /* isvoid */ 0
121 1.1 mrg };
122 1.1 mrg
123 1.1 mrg struct iovec xcb_parts[4];
124 1.1 mrg xcb_xinerama_query_version_cookie_t xcb_ret;
125 1.1 mrg xcb_xinerama_query_version_request_t xcb_out;
126 1.1 mrg
127 1.1 mrg xcb_out.major = major;
128 1.1 mrg xcb_out.minor = minor;
129 1.1 mrg
130 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
131 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
132 1.1 mrg xcb_parts[3].iov_base = 0;
133 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
134 1.1.6.1 yamt
135 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
136 1.1 mrg return xcb_ret;
137 1.1 mrg }
138 1.1 mrg
139 1.1 mrg
140 1.1 mrg /*****************************************************************************
141 1.1 mrg **
142 1.1 mrg ** xcb_xinerama_query_version_reply_t * xcb_xinerama_query_version_reply
143 1.1 mrg **
144 1.1 mrg ** @param xcb_connection_t *c
145 1.1 mrg ** @param xcb_xinerama_query_version_cookie_t cookie
146 1.1 mrg ** @param xcb_generic_error_t **e
147 1.1 mrg ** @returns xcb_xinerama_query_version_reply_t *
148 1.1 mrg **
149 1.1 mrg *****************************************************************************/
150 1.1 mrg
151 1.1 mrg xcb_xinerama_query_version_reply_t *
152 1.1 mrg xcb_xinerama_query_version_reply (xcb_connection_t *c /**< */,
153 1.1 mrg xcb_xinerama_query_version_cookie_t cookie /**< */,
154 1.1 mrg xcb_generic_error_t **e /**< */)
155 1.1 mrg {
156 1.1 mrg return (xcb_xinerama_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
157 1.1 mrg }
158 1.1 mrg
159 1.1 mrg
160 1.1 mrg /*****************************************************************************
161 1.1 mrg **
162 1.1 mrg ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state
163 1.1 mrg **
164 1.1 mrg ** @param xcb_connection_t *c
165 1.1 mrg ** @param xcb_window_t window
166 1.1 mrg ** @returns xcb_xinerama_get_state_cookie_t
167 1.1 mrg **
168 1.1 mrg *****************************************************************************/
169 1.1 mrg
170 1.1 mrg xcb_xinerama_get_state_cookie_t
171 1.1 mrg xcb_xinerama_get_state (xcb_connection_t *c /**< */,
172 1.1 mrg xcb_window_t window /**< */)
173 1.1 mrg {
174 1.1 mrg static const xcb_protocol_request_t xcb_req = {
175 1.1 mrg /* count */ 2,
176 1.1 mrg /* ext */ &xcb_xinerama_id,
177 1.1 mrg /* opcode */ XCB_XINERAMA_GET_STATE,
178 1.1 mrg /* isvoid */ 0
179 1.1 mrg };
180 1.1 mrg
181 1.1 mrg struct iovec xcb_parts[4];
182 1.1 mrg xcb_xinerama_get_state_cookie_t xcb_ret;
183 1.1 mrg xcb_xinerama_get_state_request_t xcb_out;
184 1.1 mrg
185 1.1 mrg xcb_out.window = window;
186 1.1 mrg
187 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
188 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
189 1.1 mrg xcb_parts[3].iov_base = 0;
190 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
191 1.1.6.1 yamt
192 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
193 1.1 mrg return xcb_ret;
194 1.1 mrg }
195 1.1 mrg
196 1.1 mrg
197 1.1 mrg /*****************************************************************************
198 1.1 mrg **
199 1.1 mrg ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state_unchecked
200 1.1 mrg **
201 1.1 mrg ** @param xcb_connection_t *c
202 1.1 mrg ** @param xcb_window_t window
203 1.1 mrg ** @returns xcb_xinerama_get_state_cookie_t
204 1.1 mrg **
205 1.1 mrg *****************************************************************************/
206 1.1 mrg
207 1.1 mrg xcb_xinerama_get_state_cookie_t
208 1.1 mrg xcb_xinerama_get_state_unchecked (xcb_connection_t *c /**< */,
209 1.1 mrg xcb_window_t window /**< */)
210 1.1 mrg {
211 1.1 mrg static const xcb_protocol_request_t xcb_req = {
212 1.1 mrg /* count */ 2,
213 1.1 mrg /* ext */ &xcb_xinerama_id,
214 1.1 mrg /* opcode */ XCB_XINERAMA_GET_STATE,
215 1.1 mrg /* isvoid */ 0
216 1.1 mrg };
217 1.1 mrg
218 1.1 mrg struct iovec xcb_parts[4];
219 1.1 mrg xcb_xinerama_get_state_cookie_t xcb_ret;
220 1.1 mrg xcb_xinerama_get_state_request_t xcb_out;
221 1.1 mrg
222 1.1 mrg xcb_out.window = window;
223 1.1 mrg
224 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
225 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
226 1.1 mrg xcb_parts[3].iov_base = 0;
227 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
228 1.1.6.1 yamt
229 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
230 1.1 mrg return xcb_ret;
231 1.1 mrg }
232 1.1 mrg
233 1.1 mrg
234 1.1 mrg /*****************************************************************************
235 1.1 mrg **
236 1.1 mrg ** xcb_xinerama_get_state_reply_t * xcb_xinerama_get_state_reply
237 1.1 mrg **
238 1.1 mrg ** @param xcb_connection_t *c
239 1.1 mrg ** @param xcb_xinerama_get_state_cookie_t cookie
240 1.1 mrg ** @param xcb_generic_error_t **e
241 1.1 mrg ** @returns xcb_xinerama_get_state_reply_t *
242 1.1 mrg **
243 1.1 mrg *****************************************************************************/
244 1.1 mrg
245 1.1 mrg xcb_xinerama_get_state_reply_t *
246 1.1 mrg xcb_xinerama_get_state_reply (xcb_connection_t *c /**< */,
247 1.1 mrg xcb_xinerama_get_state_cookie_t cookie /**< */,
248 1.1 mrg xcb_generic_error_t **e /**< */)
249 1.1 mrg {
250 1.1 mrg return (xcb_xinerama_get_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
251 1.1 mrg }
252 1.1 mrg
253 1.1 mrg
254 1.1 mrg /*****************************************************************************
255 1.1 mrg **
256 1.1 mrg ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count
257 1.1 mrg **
258 1.1 mrg ** @param xcb_connection_t *c
259 1.1 mrg ** @param xcb_window_t window
260 1.1 mrg ** @returns xcb_xinerama_get_screen_count_cookie_t
261 1.1 mrg **
262 1.1 mrg *****************************************************************************/
263 1.1 mrg
264 1.1 mrg xcb_xinerama_get_screen_count_cookie_t
265 1.1 mrg xcb_xinerama_get_screen_count (xcb_connection_t *c /**< */,
266 1.1 mrg xcb_window_t window /**< */)
267 1.1 mrg {
268 1.1 mrg static const xcb_protocol_request_t xcb_req = {
269 1.1 mrg /* count */ 2,
270 1.1 mrg /* ext */ &xcb_xinerama_id,
271 1.1 mrg /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT,
272 1.1 mrg /* isvoid */ 0
273 1.1 mrg };
274 1.1 mrg
275 1.1 mrg struct iovec xcb_parts[4];
276 1.1 mrg xcb_xinerama_get_screen_count_cookie_t xcb_ret;
277 1.1 mrg xcb_xinerama_get_screen_count_request_t xcb_out;
278 1.1 mrg
279 1.1 mrg xcb_out.window = window;
280 1.1 mrg
281 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
282 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
283 1.1 mrg xcb_parts[3].iov_base = 0;
284 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
285 1.1.6.1 yamt
286 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
287 1.1 mrg return xcb_ret;
288 1.1 mrg }
289 1.1 mrg
290 1.1 mrg
291 1.1 mrg /*****************************************************************************
292 1.1 mrg **
293 1.1 mrg ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count_unchecked
294 1.1 mrg **
295 1.1 mrg ** @param xcb_connection_t *c
296 1.1 mrg ** @param xcb_window_t window
297 1.1 mrg ** @returns xcb_xinerama_get_screen_count_cookie_t
298 1.1 mrg **
299 1.1 mrg *****************************************************************************/
300 1.1 mrg
301 1.1 mrg xcb_xinerama_get_screen_count_cookie_t
302 1.1 mrg xcb_xinerama_get_screen_count_unchecked (xcb_connection_t *c /**< */,
303 1.1 mrg xcb_window_t window /**< */)
304 1.1 mrg {
305 1.1 mrg static const xcb_protocol_request_t xcb_req = {
306 1.1 mrg /* count */ 2,
307 1.1 mrg /* ext */ &xcb_xinerama_id,
308 1.1 mrg /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT,
309 1.1 mrg /* isvoid */ 0
310 1.1 mrg };
311 1.1 mrg
312 1.1 mrg struct iovec xcb_parts[4];
313 1.1 mrg xcb_xinerama_get_screen_count_cookie_t xcb_ret;
314 1.1 mrg xcb_xinerama_get_screen_count_request_t xcb_out;
315 1.1 mrg
316 1.1 mrg xcb_out.window = window;
317 1.1 mrg
318 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
319 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
320 1.1 mrg xcb_parts[3].iov_base = 0;
321 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
322 1.1.6.1 yamt
323 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
324 1.1 mrg return xcb_ret;
325 1.1 mrg }
326 1.1 mrg
327 1.1 mrg
328 1.1 mrg /*****************************************************************************
329 1.1 mrg **
330 1.1 mrg ** xcb_xinerama_get_screen_count_reply_t * xcb_xinerama_get_screen_count_reply
331 1.1 mrg **
332 1.1 mrg ** @param xcb_connection_t *c
333 1.1 mrg ** @param xcb_xinerama_get_screen_count_cookie_t cookie
334 1.1 mrg ** @param xcb_generic_error_t **e
335 1.1 mrg ** @returns xcb_xinerama_get_screen_count_reply_t *
336 1.1 mrg **
337 1.1 mrg *****************************************************************************/
338 1.1 mrg
339 1.1 mrg xcb_xinerama_get_screen_count_reply_t *
340 1.1 mrg xcb_xinerama_get_screen_count_reply (xcb_connection_t *c /**< */,
341 1.1 mrg xcb_xinerama_get_screen_count_cookie_t cookie /**< */,
342 1.1 mrg xcb_generic_error_t **e /**< */)
343 1.1 mrg {
344 1.1 mrg return (xcb_xinerama_get_screen_count_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
345 1.1 mrg }
346 1.1 mrg
347 1.1 mrg
348 1.1 mrg /*****************************************************************************
349 1.1 mrg **
350 1.1 mrg ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size
351 1.1 mrg **
352 1.1 mrg ** @param xcb_connection_t *c
353 1.1 mrg ** @param xcb_window_t window
354 1.1 mrg ** @param uint32_t screen
355 1.1 mrg ** @returns xcb_xinerama_get_screen_size_cookie_t
356 1.1 mrg **
357 1.1 mrg *****************************************************************************/
358 1.1 mrg
359 1.1 mrg xcb_xinerama_get_screen_size_cookie_t
360 1.1 mrg xcb_xinerama_get_screen_size (xcb_connection_t *c /**< */,
361 1.1 mrg xcb_window_t window /**< */,
362 1.1 mrg uint32_t screen /**< */)
363 1.1 mrg {
364 1.1 mrg static const xcb_protocol_request_t xcb_req = {
365 1.1 mrg /* count */ 2,
366 1.1 mrg /* ext */ &xcb_xinerama_id,
367 1.1 mrg /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE,
368 1.1 mrg /* isvoid */ 0
369 1.1 mrg };
370 1.1 mrg
371 1.1 mrg struct iovec xcb_parts[4];
372 1.1 mrg xcb_xinerama_get_screen_size_cookie_t xcb_ret;
373 1.1 mrg xcb_xinerama_get_screen_size_request_t xcb_out;
374 1.1 mrg
375 1.1 mrg xcb_out.window = window;
376 1.1 mrg xcb_out.screen = screen;
377 1.1 mrg
378 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
379 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
380 1.1 mrg xcb_parts[3].iov_base = 0;
381 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
382 1.1.6.1 yamt
383 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
384 1.1 mrg return xcb_ret;
385 1.1 mrg }
386 1.1 mrg
387 1.1 mrg
388 1.1 mrg /*****************************************************************************
389 1.1 mrg **
390 1.1 mrg ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size_unchecked
391 1.1 mrg **
392 1.1 mrg ** @param xcb_connection_t *c
393 1.1 mrg ** @param xcb_window_t window
394 1.1 mrg ** @param uint32_t screen
395 1.1 mrg ** @returns xcb_xinerama_get_screen_size_cookie_t
396 1.1 mrg **
397 1.1 mrg *****************************************************************************/
398 1.1 mrg
399 1.1 mrg xcb_xinerama_get_screen_size_cookie_t
400 1.1 mrg xcb_xinerama_get_screen_size_unchecked (xcb_connection_t *c /**< */,
401 1.1 mrg xcb_window_t window /**< */,
402 1.1 mrg uint32_t screen /**< */)
403 1.1 mrg {
404 1.1 mrg static const xcb_protocol_request_t xcb_req = {
405 1.1 mrg /* count */ 2,
406 1.1 mrg /* ext */ &xcb_xinerama_id,
407 1.1 mrg /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE,
408 1.1 mrg /* isvoid */ 0
409 1.1 mrg };
410 1.1 mrg
411 1.1 mrg struct iovec xcb_parts[4];
412 1.1 mrg xcb_xinerama_get_screen_size_cookie_t xcb_ret;
413 1.1 mrg xcb_xinerama_get_screen_size_request_t xcb_out;
414 1.1 mrg
415 1.1 mrg xcb_out.window = window;
416 1.1 mrg xcb_out.screen = screen;
417 1.1 mrg
418 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
419 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
420 1.1 mrg xcb_parts[3].iov_base = 0;
421 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
422 1.1.6.1 yamt
423 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
424 1.1 mrg return xcb_ret;
425 1.1 mrg }
426 1.1 mrg
427 1.1 mrg
428 1.1 mrg /*****************************************************************************
429 1.1 mrg **
430 1.1 mrg ** xcb_xinerama_get_screen_size_reply_t * xcb_xinerama_get_screen_size_reply
431 1.1 mrg **
432 1.1 mrg ** @param xcb_connection_t *c
433 1.1 mrg ** @param xcb_xinerama_get_screen_size_cookie_t cookie
434 1.1 mrg ** @param xcb_generic_error_t **e
435 1.1 mrg ** @returns xcb_xinerama_get_screen_size_reply_t *
436 1.1 mrg **
437 1.1 mrg *****************************************************************************/
438 1.1 mrg
439 1.1 mrg xcb_xinerama_get_screen_size_reply_t *
440 1.1 mrg xcb_xinerama_get_screen_size_reply (xcb_connection_t *c /**< */,
441 1.1 mrg xcb_xinerama_get_screen_size_cookie_t cookie /**< */,
442 1.1 mrg xcb_generic_error_t **e /**< */)
443 1.1 mrg {
444 1.1 mrg return (xcb_xinerama_get_screen_size_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
445 1.1 mrg }
446 1.1 mrg
447 1.1 mrg
448 1.1 mrg /*****************************************************************************
449 1.1 mrg **
450 1.1 mrg ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active
451 1.1 mrg **
452 1.1 mrg ** @param xcb_connection_t *c
453 1.1 mrg ** @returns xcb_xinerama_is_active_cookie_t
454 1.1 mrg **
455 1.1 mrg *****************************************************************************/
456 1.1 mrg
457 1.1 mrg xcb_xinerama_is_active_cookie_t
458 1.1 mrg xcb_xinerama_is_active (xcb_connection_t *c /**< */)
459 1.1 mrg {
460 1.1 mrg static const xcb_protocol_request_t xcb_req = {
461 1.1 mrg /* count */ 2,
462 1.1 mrg /* ext */ &xcb_xinerama_id,
463 1.1 mrg /* opcode */ XCB_XINERAMA_IS_ACTIVE,
464 1.1 mrg /* isvoid */ 0
465 1.1 mrg };
466 1.1 mrg
467 1.1 mrg struct iovec xcb_parts[4];
468 1.1 mrg xcb_xinerama_is_active_cookie_t xcb_ret;
469 1.1 mrg xcb_xinerama_is_active_request_t xcb_out;
470 1.1 mrg
471 1.1 mrg
472 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
473 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
474 1.1 mrg xcb_parts[3].iov_base = 0;
475 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
476 1.1.6.1 yamt
477 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
478 1.1 mrg return xcb_ret;
479 1.1 mrg }
480 1.1 mrg
481 1.1 mrg
482 1.1 mrg /*****************************************************************************
483 1.1 mrg **
484 1.1 mrg ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active_unchecked
485 1.1 mrg **
486 1.1 mrg ** @param xcb_connection_t *c
487 1.1 mrg ** @returns xcb_xinerama_is_active_cookie_t
488 1.1 mrg **
489 1.1 mrg *****************************************************************************/
490 1.1 mrg
491 1.1 mrg xcb_xinerama_is_active_cookie_t
492 1.1 mrg xcb_xinerama_is_active_unchecked (xcb_connection_t *c /**< */)
493 1.1 mrg {
494 1.1 mrg static const xcb_protocol_request_t xcb_req = {
495 1.1 mrg /* count */ 2,
496 1.1 mrg /* ext */ &xcb_xinerama_id,
497 1.1 mrg /* opcode */ XCB_XINERAMA_IS_ACTIVE,
498 1.1 mrg /* isvoid */ 0
499 1.1 mrg };
500 1.1 mrg
501 1.1 mrg struct iovec xcb_parts[4];
502 1.1 mrg xcb_xinerama_is_active_cookie_t xcb_ret;
503 1.1 mrg xcb_xinerama_is_active_request_t xcb_out;
504 1.1 mrg
505 1.1 mrg
506 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
507 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
508 1.1 mrg xcb_parts[3].iov_base = 0;
509 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
510 1.1.6.1 yamt
511 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
512 1.1 mrg return xcb_ret;
513 1.1 mrg }
514 1.1 mrg
515 1.1 mrg
516 1.1 mrg /*****************************************************************************
517 1.1 mrg **
518 1.1 mrg ** xcb_xinerama_is_active_reply_t * xcb_xinerama_is_active_reply
519 1.1 mrg **
520 1.1 mrg ** @param xcb_connection_t *c
521 1.1 mrg ** @param xcb_xinerama_is_active_cookie_t cookie
522 1.1 mrg ** @param xcb_generic_error_t **e
523 1.1 mrg ** @returns xcb_xinerama_is_active_reply_t *
524 1.1 mrg **
525 1.1 mrg *****************************************************************************/
526 1.1 mrg
527 1.1 mrg xcb_xinerama_is_active_reply_t *
528 1.1 mrg xcb_xinerama_is_active_reply (xcb_connection_t *c /**< */,
529 1.1 mrg xcb_xinerama_is_active_cookie_t cookie /**< */,
530 1.1 mrg xcb_generic_error_t **e /**< */)
531 1.1 mrg {
532 1.1 mrg return (xcb_xinerama_is_active_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
533 1.1 mrg }
534 1.1 mrg
535 1.1.6.1 yamt int
536 1.1.6.1 yamt xcb_xinerama_query_screens_sizeof (const void *_buffer /**< */)
537 1.1.6.1 yamt {
538 1.1.6.1 yamt char *xcb_tmp = (char *)_buffer;
539 1.1.6.1 yamt const xcb_xinerama_query_screens_reply_t *_aux = (xcb_xinerama_query_screens_reply_t *)_buffer;
540 1.1.6.1 yamt unsigned int xcb_buffer_len = 0;
541 1.1.6.1 yamt unsigned int xcb_block_len = 0;
542 1.1.6.1 yamt unsigned int xcb_pad = 0;
543 1.1.6.1 yamt unsigned int xcb_align_to = 0;
544 1.1.6.1 yamt
545 1.1.6.1 yamt
546 1.1.6.1 yamt xcb_block_len += sizeof(xcb_xinerama_query_screens_reply_t);
547 1.1.6.1 yamt xcb_tmp += xcb_block_len;
548 1.1.6.1 yamt xcb_buffer_len += xcb_block_len;
549 1.1.6.1 yamt xcb_block_len = 0;
550 1.1.6.1 yamt /* screen_info */
551 1.1.6.1 yamt xcb_block_len += _aux->number * sizeof(xcb_xinerama_screen_info_t);
552 1.1.6.1 yamt xcb_tmp += xcb_block_len;
553 1.1.6.1 yamt xcb_align_to = ALIGNOF(xcb_xinerama_screen_info_t);
554 1.1.6.1 yamt /* insert padding */
555 1.1.6.1 yamt xcb_pad = -xcb_block_len & (xcb_align_to - 1);
556 1.1.6.1 yamt xcb_buffer_len += xcb_block_len + xcb_pad;
557 1.1.6.1 yamt if (0 != xcb_pad) {
558 1.1.6.1 yamt xcb_tmp += xcb_pad;
559 1.1.6.1 yamt xcb_pad = 0;
560 1.1.6.1 yamt }
561 1.1.6.1 yamt xcb_block_len = 0;
562 1.1.6.1 yamt
563 1.1.6.1 yamt return xcb_buffer_len;
564 1.1.6.1 yamt }
565 1.1.6.1 yamt
566 1.1 mrg
567 1.1 mrg /*****************************************************************************
568 1.1 mrg **
569 1.1 mrg ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens
570 1.1 mrg **
571 1.1 mrg ** @param xcb_connection_t *c
572 1.1 mrg ** @returns xcb_xinerama_query_screens_cookie_t
573 1.1 mrg **
574 1.1 mrg *****************************************************************************/
575 1.1 mrg
576 1.1 mrg xcb_xinerama_query_screens_cookie_t
577 1.1 mrg xcb_xinerama_query_screens (xcb_connection_t *c /**< */)
578 1.1 mrg {
579 1.1 mrg static const xcb_protocol_request_t xcb_req = {
580 1.1 mrg /* count */ 2,
581 1.1 mrg /* ext */ &xcb_xinerama_id,
582 1.1 mrg /* opcode */ XCB_XINERAMA_QUERY_SCREENS,
583 1.1 mrg /* isvoid */ 0
584 1.1 mrg };
585 1.1 mrg
586 1.1 mrg struct iovec xcb_parts[4];
587 1.1 mrg xcb_xinerama_query_screens_cookie_t xcb_ret;
588 1.1 mrg xcb_xinerama_query_screens_request_t xcb_out;
589 1.1 mrg
590 1.1 mrg
591 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
592 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
593 1.1 mrg xcb_parts[3].iov_base = 0;
594 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
595 1.1.6.1 yamt
596 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
597 1.1 mrg return xcb_ret;
598 1.1 mrg }
599 1.1 mrg
600 1.1 mrg
601 1.1 mrg /*****************************************************************************
602 1.1 mrg **
603 1.1 mrg ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens_unchecked
604 1.1 mrg **
605 1.1 mrg ** @param xcb_connection_t *c
606 1.1 mrg ** @returns xcb_xinerama_query_screens_cookie_t
607 1.1 mrg **
608 1.1 mrg *****************************************************************************/
609 1.1 mrg
610 1.1 mrg xcb_xinerama_query_screens_cookie_t
611 1.1 mrg xcb_xinerama_query_screens_unchecked (xcb_connection_t *c /**< */)
612 1.1 mrg {
613 1.1 mrg static const xcb_protocol_request_t xcb_req = {
614 1.1 mrg /* count */ 2,
615 1.1 mrg /* ext */ &xcb_xinerama_id,
616 1.1 mrg /* opcode */ XCB_XINERAMA_QUERY_SCREENS,
617 1.1 mrg /* isvoid */ 0
618 1.1 mrg };
619 1.1 mrg
620 1.1 mrg struct iovec xcb_parts[4];
621 1.1 mrg xcb_xinerama_query_screens_cookie_t xcb_ret;
622 1.1 mrg xcb_xinerama_query_screens_request_t xcb_out;
623 1.1 mrg
624 1.1 mrg
625 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
626 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
627 1.1 mrg xcb_parts[3].iov_base = 0;
628 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
629 1.1.6.1 yamt
630 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
631 1.1 mrg return xcb_ret;
632 1.1 mrg }
633 1.1 mrg
634 1.1 mrg
635 1.1 mrg /*****************************************************************************
636 1.1 mrg **
637 1.1 mrg ** xcb_xinerama_screen_info_t * xcb_xinerama_query_screens_screen_info
638 1.1 mrg **
639 1.1 mrg ** @param const xcb_xinerama_query_screens_reply_t *R
640 1.1 mrg ** @returns xcb_xinerama_screen_info_t *
641 1.1 mrg **
642 1.1 mrg *****************************************************************************/
643 1.1 mrg
644 1.1 mrg xcb_xinerama_screen_info_t *
645 1.1 mrg xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R /**< */)
646 1.1 mrg {
647 1.1 mrg return (xcb_xinerama_screen_info_t *) (R + 1);
648 1.1 mrg }
649 1.1 mrg
650 1.1 mrg
651 1.1 mrg /*****************************************************************************
652 1.1 mrg **
653 1.1 mrg ** int xcb_xinerama_query_screens_screen_info_length
654 1.1 mrg **
655 1.1 mrg ** @param const xcb_xinerama_query_screens_reply_t *R
656 1.1 mrg ** @returns int
657 1.1 mrg **
658 1.1 mrg *****************************************************************************/
659 1.1 mrg
660 1.1 mrg int
661 1.1 mrg xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R /**< */)
662 1.1 mrg {
663 1.1 mrg return R->number;
664 1.1 mrg }
665 1.1 mrg
666 1.1 mrg
667 1.1 mrg /*****************************************************************************
668 1.1 mrg **
669 1.1 mrg ** xcb_xinerama_screen_info_iterator_t xcb_xinerama_query_screens_screen_info_iterator
670 1.1 mrg **
671 1.1 mrg ** @param const xcb_xinerama_query_screens_reply_t *R
672 1.1 mrg ** @returns xcb_xinerama_screen_info_iterator_t
673 1.1 mrg **
674 1.1 mrg *****************************************************************************/
675 1.1 mrg
676 1.1 mrg xcb_xinerama_screen_info_iterator_t
677 1.1 mrg xcb_xinerama_query_screens_screen_info_iterator (const xcb_xinerama_query_screens_reply_t *R /**< */)
678 1.1 mrg {
679 1.1 mrg xcb_xinerama_screen_info_iterator_t i;
680 1.1 mrg i.data = (xcb_xinerama_screen_info_t *) (R + 1);
681 1.1 mrg i.rem = R->number;
682 1.1 mrg i.index = (char *) i.data - (char *) R;
683 1.1 mrg return i;
684 1.1 mrg }
685 1.1 mrg
686 1.1 mrg
687 1.1 mrg /*****************************************************************************
688 1.1 mrg **
689 1.1 mrg ** xcb_xinerama_query_screens_reply_t * xcb_xinerama_query_screens_reply
690 1.1 mrg **
691 1.1 mrg ** @param xcb_connection_t *c
692 1.1 mrg ** @param xcb_xinerama_query_screens_cookie_t cookie
693 1.1 mrg ** @param xcb_generic_error_t **e
694 1.1 mrg ** @returns xcb_xinerama_query_screens_reply_t *
695 1.1 mrg **
696 1.1 mrg *****************************************************************************/
697 1.1 mrg
698 1.1 mrg xcb_xinerama_query_screens_reply_t *
699 1.1 mrg xcb_xinerama_query_screens_reply (xcb_connection_t *c /**< */,
700 1.1 mrg xcb_xinerama_query_screens_cookie_t cookie /**< */,
701 1.1 mrg xcb_generic_error_t **e /**< */)
702 1.1 mrg {
703 1.1 mrg return (xcb_xinerama_query_screens_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
704 1.1 mrg }
705 1.1 mrg
706