xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/xinerama.h (revision ba6321fe7f085fc81d62ca44a3abf72ff7ab2641)
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
19 extern "C" {
20 #endif
21 
22 #define XCB_XINERAMA_MAJOR_VERSION 1
23 #define XCB_XINERAMA_MINOR_VERSION 1
24 
25 extern xcb_extension_t xcb_xinerama_id;
26 
27 /**
28  * @brief xcb_xinerama_screen_info_t
29  **/
30 typedef 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  **/
40 typedef 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  **/
49 typedef 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  **/
59 typedef 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  **/
70 typedef 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  **/
82 typedef 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  **/
92 typedef 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  **/
102 typedef 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  **/
113 typedef 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  **/
123 typedef 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  **/
133 typedef 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  **/
144 typedef 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  **/
154 typedef 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  **/
165 typedef 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  **/
179 typedef 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  **/
189 typedef 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  **/
198 typedef 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  **/
209 typedef 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  **/
219 typedef 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  **/
228 typedef 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  */
245 void
246 xcb_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  */
257 xcb_generic_iterator_t
258 xcb_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  */
268 xcb_xinerama_query_version_cookie_t
269 xcb_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  */
284 xcb_xinerama_query_version_cookie_t
285 xcb_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  */
303 xcb_xinerama_query_version_reply_t *
304 xcb_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  */
316 xcb_xinerama_get_state_cookie_t
317 xcb_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  */
331 xcb_xinerama_get_state_cookie_t
332 xcb_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  */
349 xcb_xinerama_get_state_reply_t *
350 xcb_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  */
362 xcb_xinerama_get_screen_count_cookie_t
363 xcb_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  */
377 xcb_xinerama_get_screen_count_cookie_t
378 xcb_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  */
395 xcb_xinerama_get_screen_count_reply_t *
396 xcb_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  */
408 xcb_xinerama_get_screen_size_cookie_t
409 xcb_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  */
424 xcb_xinerama_get_screen_size_cookie_t
425 xcb_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  */
443 xcb_xinerama_get_screen_size_reply_t *
444 xcb_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  */
456 xcb_xinerama_is_active_cookie_t
457 xcb_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  */
470 xcb_xinerama_is_active_cookie_t
471 xcb_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  */
487 xcb_xinerama_is_active_reply_t *
488 xcb_xinerama_is_active_reply (xcb_connection_t                 *c,
489                               xcb_xinerama_is_active_cookie_t   cookie  /**< */,
490                               xcb_generic_error_t             **e);
491 
492 int
493 xcb_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  */
503 xcb_xinerama_query_screens_cookie_t
504 xcb_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  */
517 xcb_xinerama_query_screens_cookie_t
518 xcb_xinerama_query_screens_unchecked (xcb_connection_t *c);
519 
520 xcb_xinerama_screen_info_t *
521 xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R);
522 
523 int
524 xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R);
525 
526 xcb_xinerama_screen_info_iterator_t
527 xcb_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  */
543 xcb_xinerama_query_screens_reply_t *
544 xcb_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