1/*
2 * This file generated automatically from xinerama.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_Xinerama_API XCB Xinerama API
8 * @brief Xinerama XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __XINERAMA_H
13#define __XINERAMA_H
14
15#include "xcb.h"
16#include "xproto.h"
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22#define XCB_XINERAMA_MAJOR_VERSION 1
23#define XCB_XINERAMA_MINOR_VERSION 1
24
25extern xcb_extension_t xcb_xinerama_id;
26
27/**
28 * @brief xcb_xinerama_screen_info_t
29 **/
30typedef struct xcb_xinerama_screen_info_t {
31 int16_t x_org;
32 int16_t y_org;
33 uint16_t width;
34 uint16_t height;
35} xcb_xinerama_screen_info_t;
36
37/**
38 * @brief xcb_xinerama_screen_info_iterator_t
39 **/
40typedef struct xcb_xinerama_screen_info_iterator_t {
41 xcb_xinerama_screen_info_t *data;
42 int rem;
43 int index;
44} xcb_xinerama_screen_info_iterator_t;
45
46/**
47 * @brief xcb_xinerama_query_version_cookie_t
48 **/
49typedef struct xcb_xinerama_query_version_cookie_t {
50 unsigned int sequence;
51} xcb_xinerama_query_version_cookie_t;
52
53/** Opcode for xcb_xinerama_query_version. */
54#define XCB_XINERAMA_QUERY_VERSION 0
55
56/**
57 * @brief xcb_xinerama_query_version_request_t
58 **/
59typedef struct xcb_xinerama_query_version_request_t {
60 uint8_t major_opcode;
61 uint8_t minor_opcode;
62 uint16_t length;
63 uint8_t major;
64 uint8_t minor;
65} xcb_xinerama_query_version_request_t;
66
67/**
68 * @brief xcb_xinerama_query_version_reply_t
69 **/
70typedef struct xcb_xinerama_query_version_reply_t {
71 uint8_t response_type;
72 uint8_t pad0;
73 uint16_t sequence;
74 uint32_t length;
75 uint16_t major;
76 uint16_t minor;
77} xcb_xinerama_query_version_reply_t;
78
79/**
80 * @brief xcb_xinerama_get_state_cookie_t
81 **/
82typedef struct xcb_xinerama_get_state_cookie_t {
83 unsigned int sequence;
84} xcb_xinerama_get_state_cookie_t;
85
86/** Opcode for xcb_xinerama_get_state. */
87#define XCB_XINERAMA_GET_STATE 1
88
89/**
90 * @brief xcb_xinerama_get_state_request_t
91 **/
92typedef struct xcb_xinerama_get_state_request_t {
93 uint8_t major_opcode;
94 uint8_t minor_opcode;
95 uint16_t length;
96 xcb_window_t window;
97} xcb_xinerama_get_state_request_t;
98
99/**
100 * @brief xcb_xinerama_get_state_reply_t
101 **/
102typedef struct xcb_xinerama_get_state_reply_t {
103 uint8_t response_type;
104 uint8_t state;
105 uint16_t sequence;
106 uint32_t length;
107 xcb_window_t window;
108} xcb_xinerama_get_state_reply_t;
109
110/**
111 * @brief xcb_xinerama_get_screen_count_cookie_t
112 **/
113typedef struct xcb_xinerama_get_screen_count_cookie_t {
114 unsigned int sequence;
115} xcb_xinerama_get_screen_count_cookie_t;
116
117/** Opcode for xcb_xinerama_get_screen_count. */
118#define XCB_XINERAMA_GET_SCREEN_COUNT 2
119
120/**
121 * @brief xcb_xinerama_get_screen_count_request_t
122 **/
123typedef struct xcb_xinerama_get_screen_count_request_t {
124 uint8_t major_opcode;
125 uint8_t minor_opcode;
126 uint16_t length;
127 xcb_window_t window;
128} xcb_xinerama_get_screen_count_request_t;
129
130/**
131 * @brief xcb_xinerama_get_screen_count_reply_t
132 **/
133typedef struct xcb_xinerama_get_screen_count_reply_t {
134 uint8_t response_type;
135 uint8_t screen_count;
136 uint16_t sequence;
137 uint32_t length;
138 xcb_window_t window;
139} xcb_xinerama_get_screen_count_reply_t;
140
141/**
142 * @brief xcb_xinerama_get_screen_size_cookie_t
143 **/
144typedef struct xcb_xinerama_get_screen_size_cookie_t {
145 unsigned int sequence;
146} xcb_xinerama_get_screen_size_cookie_t;
147
148/** Opcode for xcb_xinerama_get_screen_size. */
149#define XCB_XINERAMA_GET_SCREEN_SIZE 3
150
151/**
152 * @brief xcb_xinerama_get_screen_size_request_t
153 **/
154typedef struct xcb_xinerama_get_screen_size_request_t {
155 uint8_t major_opcode;
156 uint8_t minor_opcode;
157 uint16_t length;
158 xcb_window_t window;
159 uint32_t screen;
160} xcb_xinerama_get_screen_size_request_t;
161
162/**
163 * @brief xcb_xinerama_get_screen_size_reply_t
164 **/
165typedef struct xcb_xinerama_get_screen_size_reply_t {
166 uint8_t response_type;
167 uint8_t pad0;
168 uint16_t sequence;
169 uint32_t length;
170 uint32_t width;
171 uint32_t height;
172 xcb_window_t window;
173 uint32_t screen;
174} xcb_xinerama_get_screen_size_reply_t;
175
176/**
177 * @brief xcb_xinerama_is_active_cookie_t
178 **/
179typedef struct xcb_xinerama_is_active_cookie_t {
180 unsigned int sequence;
181} xcb_xinerama_is_active_cookie_t;
182
183/** Opcode for xcb_xinerama_is_active. */
184#define XCB_XINERAMA_IS_ACTIVE 4
185
186/**
187 * @brief xcb_xinerama_is_active_request_t
188 **/
189typedef struct xcb_xinerama_is_active_request_t {
190 uint8_t major_opcode;
191 uint8_t minor_opcode;
192 uint16_t length;
193} xcb_xinerama_is_active_request_t;
194
195/**
196 * @brief xcb_xinerama_is_active_reply_t
197 **/
198typedef struct xcb_xinerama_is_active_reply_t {
199 uint8_t response_type;
200 uint8_t pad0;
201 uint16_t sequence;
202 uint32_t length;
203 uint32_t state;
204} xcb_xinerama_is_active_reply_t;
205
206/**
207 * @brief xcb_xinerama_query_screens_cookie_t
208 **/
209typedef struct xcb_xinerama_query_screens_cookie_t {
210 unsigned int sequence;
211} xcb_xinerama_query_screens_cookie_t;
212
213/** Opcode for xcb_xinerama_query_screens. */
214#define XCB_XINERAMA_QUERY_SCREENS 5
215
216/**
217 * @brief xcb_xinerama_query_screens_request_t
218 **/
219typedef struct xcb_xinerama_query_screens_request_t {
220 uint8_t major_opcode;
221 uint8_t minor_opcode;
222 uint16_t length;
223} xcb_xinerama_query_screens_request_t;
224
225/**
226 * @brief xcb_xinerama_query_screens_reply_t
227 **/
228typedef struct xcb_xinerama_query_screens_reply_t {
229 uint8_t response_type;
230 uint8_t pad0;
231 uint16_t sequence;
232 uint32_t length;
233 uint32_t number;
234 uint8_t pad1[20];
235} xcb_xinerama_query_screens_reply_t;
236
237/**
238 * Get the next element of the iterator
239 * @param i Pointer to a xcb_xinerama_screen_info_iterator_t
240 *
241 * Get the next element in the iterator. The member rem is
242 * decreased by one. The member data points to the next
243 * element. The member index is increased by sizeof(xcb_xinerama_screen_info_t)
244 */
245void
246xcb_xinerama_screen_info_next (xcb_xinerama_screen_info_iterator_t *i);
247
248/**
249 * Return the iterator pointing to the last element
250 * @param i An xcb_xinerama_screen_info_iterator_t
251 * @return The iterator pointing to the last element
252 *
253 * Set the current element in the iterator to the last element.
254 * The member rem is set to 0. The member data points to the
255 * last element.
256 */
257xcb_generic_iterator_t
258xcb_xinerama_screen_info_end (xcb_xinerama_screen_info_iterator_t i);
259
260/**
261 *
262 * @param c The connection
263 * @return A cookie
264 *
265 * Delivers a request to the X server.
266 *
267 */
268xcb_xinerama_query_version_cookie_t
269xcb_xinerama_query_version (xcb_connection_t *c,
270 uint8_t major,
271 uint8_t minor);
272
273/**
274 *
275 * @param c The connection
276 * @return A cookie
277 *
278 * Delivers a request to the X server.
279 *
280 * This form can be used only if the request will cause
281 * a reply to be generated. Any returned error will be
282 * placed in the event queue.
283 */
284xcb_xinerama_query_version_cookie_t
285xcb_xinerama_query_version_unchecked (xcb_connection_t *c,
286 uint8_t major,
287 uint8_t minor);
288
289/**
290 * Return the reply
291 * @param c The connection
292 * @param cookie The cookie
293 * @param e The xcb_generic_error_t supplied
294 *
295 * Returns the reply of the request asked by
296 *
297 * The parameter @p e supplied to this function must be NULL if
298 * xcb_xinerama_query_version_unchecked(). is used.
299 * Otherwise, it stores the error if any.
300 *
301 * The returned value must be freed by the caller using free().
302 */
303xcb_xinerama_query_version_reply_t *
304xcb_xinerama_query_version_reply (xcb_connection_t *c,
305 xcb_xinerama_query_version_cookie_t cookie /**< */,
306 xcb_generic_error_t **e);
307
308/**
309 *
310 * @param c The connection
311 * @return A cookie
312 *
313 * Delivers a request to the X server.
314 *
315 */
316xcb_xinerama_get_state_cookie_t
317xcb_xinerama_get_state (xcb_connection_t *c,
318 xcb_window_t window);
319
320/**
321 *
322 * @param c The connection
323 * @return A cookie
324 *
325 * Delivers a request to the X server.
326 *
327 * This form can be used only if the request will cause
328 * a reply to be generated. Any returned error will be
329 * placed in the event queue.
330 */
331xcb_xinerama_get_state_cookie_t
332xcb_xinerama_get_state_unchecked (xcb_connection_t *c,
333 xcb_window_t window);
334
335/**
336 * Return the reply
337 * @param c The connection
338 * @param cookie The cookie
339 * @param e The xcb_generic_error_t supplied
340 *
341 * Returns the reply of the request asked by
342 *
343 * The parameter @p e supplied to this function must be NULL if
344 * xcb_xinerama_get_state_unchecked(). is used.
345 * Otherwise, it stores the error if any.
346 *
347 * The returned value must be freed by the caller using free().
348 */
349xcb_xinerama_get_state_reply_t *
350xcb_xinerama_get_state_reply (xcb_connection_t *c,
351 xcb_xinerama_get_state_cookie_t cookie /**< */,
352 xcb_generic_error_t **e);
353
354/**
355 *
356 * @param c The connection
357 * @return A cookie
358 *
359 * Delivers a request to the X server.
360 *
361 */
362xcb_xinerama_get_screen_count_cookie_t
363xcb_xinerama_get_screen_count (xcb_connection_t *c,
364 xcb_window_t window);
365
366/**
367 *
368 * @param c The connection
369 * @return A cookie
370 *
371 * Delivers a request to the X server.
372 *
373 * This form can be used only if the request will cause
374 * a reply to be generated. Any returned error will be
375 * placed in the event queue.
376 */
377xcb_xinerama_get_screen_count_cookie_t
378xcb_xinerama_get_screen_count_unchecked (xcb_connection_t *c,
379 xcb_window_t window);
380
381/**
382 * Return the reply
383 * @param c The connection
384 * @param cookie The cookie
385 * @param e The xcb_generic_error_t supplied
386 *
387 * Returns the reply of the request asked by
388 *
389 * The parameter @p e supplied to this function must be NULL if
390 * xcb_xinerama_get_screen_count_unchecked(). is used.
391 * Otherwise, it stores the error if any.
392 *
393 * The returned value must be freed by the caller using free().
394 */
395xcb_xinerama_get_screen_count_reply_t *
396xcb_xinerama_get_screen_count_reply (xcb_connection_t *c,
397 xcb_xinerama_get_screen_count_cookie_t cookie /**< */,
398 xcb_generic_error_t **e);
399
400/**
401 *
402 * @param c The connection
403 * @return A cookie
404 *
405 * Delivers a request to the X server.
406 *
407 */
408xcb_xinerama_get_screen_size_cookie_t
409xcb_xinerama_get_screen_size (xcb_connection_t *c,
410 xcb_window_t window,
411 uint32_t screen);
412
413/**
414 *
415 * @param c The connection
416 * @return A cookie
417 *
418 * Delivers a request to the X server.
419 *
420 * This form can be used only if the request will cause
421 * a reply to be generated. Any returned error will be
422 * placed in the event queue.
423 */
424xcb_xinerama_get_screen_size_cookie_t
425xcb_xinerama_get_screen_size_unchecked (xcb_connection_t *c,
426 xcb_window_t window,
427 uint32_t screen);
428
429/**
430 * Return the reply
431 * @param c The connection
432 * @param cookie The cookie
433 * @param e The xcb_generic_error_t supplied
434 *
435 * Returns the reply of the request asked by
436 *
437 * The parameter @p e supplied to this function must be NULL if
438 * xcb_xinerama_get_screen_size_unchecked(). is used.
439 * Otherwise, it stores the error if any.
440 *
441 * The returned value must be freed by the caller using free().
442 */
443xcb_xinerama_get_screen_size_reply_t *
444xcb_xinerama_get_screen_size_reply (xcb_connection_t *c,
445 xcb_xinerama_get_screen_size_cookie_t cookie /**< */,
446 xcb_generic_error_t **e);
447
448/**
449 *
450 * @param c The connection
451 * @return A cookie
452 *
453 * Delivers a request to the X server.
454 *
455 */
456xcb_xinerama_is_active_cookie_t
457xcb_xinerama_is_active (xcb_connection_t *c);
458
459/**
460 *
461 * @param c The connection
462 * @return A cookie
463 *
464 * Delivers a request to the X server.
465 *
466 * This form can be used only if the request will cause
467 * a reply to be generated. Any returned error will be
468 * placed in the event queue.
469 */
470xcb_xinerama_is_active_cookie_t
471xcb_xinerama_is_active_unchecked (xcb_connection_t *c);
472
473/**
474 * Return the reply
475 * @param c The connection
476 * @param cookie The cookie
477 * @param e The xcb_generic_error_t supplied
478 *
479 * Returns the reply of the request asked by
480 *
481 * The parameter @p e supplied to this function must be NULL if
482 * xcb_xinerama_is_active_unchecked(). is used.
483 * Otherwise, it stores the error if any.
484 *
485 * The returned value must be freed by the caller using free().
486 */
487xcb_xinerama_is_active_reply_t *
488xcb_xinerama_is_active_reply (xcb_connection_t *c,
489 xcb_xinerama_is_active_cookie_t cookie /**< */,
490 xcb_generic_error_t **e);
491
492int
493xcb_xinerama_query_screens_sizeof (const void *_buffer);
494
495/**
496 *
497 * @param c The connection
498 * @return A cookie
499 *
500 * Delivers a request to the X server.
501 *
502 */
503xcb_xinerama_query_screens_cookie_t
504xcb_xinerama_query_screens (xcb_connection_t *c);
505
506/**
507 *
508 * @param c The connection
509 * @return A cookie
510 *
511 * Delivers a request to the X server.
512 *
513 * This form can be used only if the request will cause
514 * a reply to be generated. Any returned error will be
515 * placed in the event queue.
516 */
517xcb_xinerama_query_screens_cookie_t
518xcb_xinerama_query_screens_unchecked (xcb_connection_t *c);
519
520xcb_xinerama_screen_info_t *
521xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R);
522
523int
524xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R);
525
526xcb_xinerama_screen_info_iterator_t
527xcb_xinerama_query_screens_screen_info_iterator (const xcb_xinerama_query_screens_reply_t *R);
528
529/**
530 * Return the reply
531 * @param c The connection
532 * @param cookie The cookie
533 * @param e The xcb_generic_error_t supplied
534 *
535 * Returns the reply of the request asked by
536 *
537 * The parameter @p e supplied to this function must be NULL if
538 * xcb_xinerama_query_screens_unchecked(). is used.
539 * Otherwise, it stores the error if any.
540 *
541 * The returned value must be freed by the caller using free().
542 */
543xcb_xinerama_query_screens_reply_t *
544xcb_xinerama_query_screens_reply (xcb_connection_t *c,
545 xcb_xinerama_query_screens_cookie_t cookie /**< */,
546 xcb_generic_error_t **e);
547
548
549#ifdef __cplusplus
550}
551#endif
552
553#endif
554
555/**
556 * @}
557 */
558