1 /*
2  * This file generated automatically from composite.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB_Composite_API XCB Composite API
8  * @brief Composite XCB Protocol Implementation.
9  * @{
10  **/
11 
12 #ifndef __COMPOSITE_H
13 #define __COMPOSITE_H
14 
15 #include "xcb.h"
16 #include "xproto.h"
17 #include "xfixes.h"
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #define XCB_COMPOSITE_MAJOR_VERSION 0
24 #define XCB_COMPOSITE_MINOR_VERSION 4
25 
26 extern xcb_extension_t xcb_composite_id;
27 
28 typedef enum xcb_composite_redirect_t {
29     XCB_COMPOSITE_REDIRECT_AUTOMATIC = 0,
30     XCB_COMPOSITE_REDIRECT_MANUAL = 1
31 } xcb_composite_redirect_t;
32 
33 /**
34  * @brief xcb_composite_query_version_cookie_t
35  **/
36 typedef struct xcb_composite_query_version_cookie_t {
37     unsigned int sequence; /**<  */
38 } xcb_composite_query_version_cookie_t;
39 
40 /** Opcode for xcb_composite_query_version. */
41 #define XCB_COMPOSITE_QUERY_VERSION 0
42 
43 /**
44  * @brief xcb_composite_query_version_request_t
45  **/
46 typedef struct xcb_composite_query_version_request_t {
47     uint8_t  major_opcode; /**<  */
48     uint8_t  minor_opcode; /**<  */
49     uint16_t length; /**<  */
50     uint32_t client_major_version; /**<  */
51     uint32_t client_minor_version; /**<  */
52 } xcb_composite_query_version_request_t;
53 
54 /**
55  * @brief xcb_composite_query_version_reply_t
56  **/
57 typedef struct xcb_composite_query_version_reply_t {
58     uint8_t  response_type; /**<  */
59     uint8_t  pad0; /**<  */
60     uint16_t sequence; /**<  */
61     uint32_t length; /**<  */
62     uint32_t major_version; /**<  */
63     uint32_t minor_version; /**<  */
64     uint8_t  pad1[16]; /**<  */
65 } xcb_composite_query_version_reply_t;
66 
67 /** Opcode for xcb_composite_redirect_window. */
68 #define XCB_COMPOSITE_REDIRECT_WINDOW 1
69 
70 /**
71  * @brief xcb_composite_redirect_window_request_t
72  **/
73 typedef struct xcb_composite_redirect_window_request_t {
74     uint8_t      major_opcode; /**<  */
75     uint8_t      minor_opcode; /**<  */
76     uint16_t     length; /**<  */
77     xcb_window_t window; /**<  */
78     uint8_t      update; /**<  */
79     uint8_t      pad0[3]; /**<  */
80 } xcb_composite_redirect_window_request_t;
81 
82 /** Opcode for xcb_composite_redirect_subwindows. */
83 #define XCB_COMPOSITE_REDIRECT_SUBWINDOWS 2
84 
85 /**
86  * @brief xcb_composite_redirect_subwindows_request_t
87  **/
88 typedef struct xcb_composite_redirect_subwindows_request_t {
89     uint8_t      major_opcode; /**<  */
90     uint8_t      minor_opcode; /**<  */
91     uint16_t     length; /**<  */
92     xcb_window_t window; /**<  */
93     uint8_t      update; /**<  */
94     uint8_t      pad0[3]; /**<  */
95 } xcb_composite_redirect_subwindows_request_t;
96 
97 /** Opcode for xcb_composite_unredirect_window. */
98 #define XCB_COMPOSITE_UNREDIRECT_WINDOW 3
99 
100 /**
101  * @brief xcb_composite_unredirect_window_request_t
102  **/
103 typedef struct xcb_composite_unredirect_window_request_t {
104     uint8_t      major_opcode; /**<  */
105     uint8_t      minor_opcode; /**<  */
106     uint16_t     length; /**<  */
107     xcb_window_t window; /**<  */
108     uint8_t      update; /**<  */
109     uint8_t      pad0[3]; /**<  */
110 } xcb_composite_unredirect_window_request_t;
111 
112 /** Opcode for xcb_composite_unredirect_subwindows. */
113 #define XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS 4
114 
115 /**
116  * @brief xcb_composite_unredirect_subwindows_request_t
117  **/
118 typedef struct xcb_composite_unredirect_subwindows_request_t {
119     uint8_t      major_opcode; /**<  */
120     uint8_t      minor_opcode; /**<  */
121     uint16_t     length; /**<  */
122     xcb_window_t window; /**<  */
123     uint8_t      update; /**<  */
124     uint8_t      pad0[3]; /**<  */
125 } xcb_composite_unredirect_subwindows_request_t;
126 
127 /** Opcode for xcb_composite_create_region_from_border_clip. */
128 #define XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP 5
129 
130 /**
131  * @brief xcb_composite_create_region_from_border_clip_request_t
132  **/
133 typedef struct xcb_composite_create_region_from_border_clip_request_t {
134     uint8_t             major_opcode; /**<  */
135     uint8_t             minor_opcode; /**<  */
136     uint16_t            length; /**<  */
137     xcb_xfixes_region_t region; /**<  */
138     xcb_window_t        window; /**<  */
139 } xcb_composite_create_region_from_border_clip_request_t;
140 
141 /** Opcode for xcb_composite_name_window_pixmap. */
142 #define XCB_COMPOSITE_NAME_WINDOW_PIXMAP 6
143 
144 /**
145  * @brief xcb_composite_name_window_pixmap_request_t
146  **/
147 typedef struct xcb_composite_name_window_pixmap_request_t {
148     uint8_t      major_opcode; /**<  */
149     uint8_t      minor_opcode; /**<  */
150     uint16_t     length; /**<  */
151     xcb_window_t window; /**<  */
152     xcb_pixmap_t pixmap; /**<  */
153 } xcb_composite_name_window_pixmap_request_t;
154 
155 /**
156  * @brief xcb_composite_get_overlay_window_cookie_t
157  **/
158 typedef struct xcb_composite_get_overlay_window_cookie_t {
159     unsigned int sequence; /**<  */
160 } xcb_composite_get_overlay_window_cookie_t;
161 
162 /** Opcode for xcb_composite_get_overlay_window. */
163 #define XCB_COMPOSITE_GET_OVERLAY_WINDOW 7
164 
165 /**
166  * @brief xcb_composite_get_overlay_window_request_t
167  **/
168 typedef struct xcb_composite_get_overlay_window_request_t {
169     uint8_t      major_opcode; /**<  */
170     uint8_t      minor_opcode; /**<  */
171     uint16_t     length; /**<  */
172     xcb_window_t window; /**<  */
173 } xcb_composite_get_overlay_window_request_t;
174 
175 /**
176  * @brief xcb_composite_get_overlay_window_reply_t
177  **/
178 typedef struct xcb_composite_get_overlay_window_reply_t {
179     uint8_t      response_type; /**<  */
180     uint8_t      pad0; /**<  */
181     uint16_t     sequence; /**<  */
182     uint32_t     length; /**<  */
183     xcb_window_t overlay_win; /**<  */
184     uint8_t      pad1[20]; /**<  */
185 } xcb_composite_get_overlay_window_reply_t;
186 
187 /** Opcode for xcb_composite_release_overlay_window. */
188 #define XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW 8
189 
190 /**
191  * @brief xcb_composite_release_overlay_window_request_t
192  **/
193 typedef struct xcb_composite_release_overlay_window_request_t {
194     uint8_t      major_opcode; /**<  */
195     uint8_t      minor_opcode; /**<  */
196     uint16_t     length; /**<  */
197     xcb_window_t window; /**<  */
198 } xcb_composite_release_overlay_window_request_t;
199 
200 /**
201  *
202  * @param c The connection
203  * @return A cookie
204  *
205  * Delivers a request to the X server.
206  *
207  */
208 xcb_composite_query_version_cookie_t
209 xcb_composite_query_version (xcb_connection_t *c  /**< */,
210                              uint32_t          client_major_version  /**< */,
211                              uint32_t          client_minor_version  /**< */);
212 
213 /**
214  *
215  * @param c The connection
216  * @return A cookie
217  *
218  * Delivers a request to the X server.
219  *
220  * This form can be used only if the request will cause
221  * a reply to be generated. Any returned error will be
222  * placed in the event queue.
223  */
224 xcb_composite_query_version_cookie_t
225 xcb_composite_query_version_unchecked (xcb_connection_t *c  /**< */,
226                                        uint32_t          client_major_version  /**< */,
227                                        uint32_t          client_minor_version  /**< */);
228 
229 /**
230  * Return the reply
231  * @param c      The connection
232  * @param cookie The cookie
233  * @param e      The xcb_generic_error_t supplied
234  *
235  * Returns the reply of the request asked by
236  *
237  * The parameter @p e supplied to this function must be NULL if
238  * xcb_composite_query_version_unchecked(). is used.
239  * Otherwise, it stores the error if any.
240  *
241  * The returned value must be freed by the caller using free().
242  */
243 xcb_composite_query_version_reply_t *
244 xcb_composite_query_version_reply (xcb_connection_t                      *c  /**< */,
245                                    xcb_composite_query_version_cookie_t   cookie  /**< */,
246                                    xcb_generic_error_t                  **e  /**< */);
247 
248 /**
249  *
250  * @param c The connection
251  * @return A cookie
252  *
253  * Delivers a request to the X server.
254  *
255  * This form can be used only if the request will not cause
256  * a reply to be generated. Any returned error will be
257  * saved for handling by xcb_request_check().
258  */
259 xcb_void_cookie_t
260 xcb_composite_redirect_window_checked (xcb_connection_t *c  /**< */,
261                                        xcb_window_t      window  /**< */,
262                                        uint8_t           update  /**< */);
263 
264 /**
265  *
266  * @param c The connection
267  * @return A cookie
268  *
269  * Delivers a request to the X server.
270  *
271  */
272 xcb_void_cookie_t
273 xcb_composite_redirect_window (xcb_connection_t *c  /**< */,
274                                xcb_window_t      window  /**< */,
275                                uint8_t           update  /**< */);
276 
277 /**
278  *
279  * @param c The connection
280  * @return A cookie
281  *
282  * Delivers a request to the X server.
283  *
284  * This form can be used only if the request will not cause
285  * a reply to be generated. Any returned error will be
286  * saved for handling by xcb_request_check().
287  */
288 xcb_void_cookie_t
289 xcb_composite_redirect_subwindows_checked (xcb_connection_t *c  /**< */,
290                                            xcb_window_t      window  /**< */,
291                                            uint8_t           update  /**< */);
292 
293 /**
294  *
295  * @param c The connection
296  * @return A cookie
297  *
298  * Delivers a request to the X server.
299  *
300  */
301 xcb_void_cookie_t
302 xcb_composite_redirect_subwindows (xcb_connection_t *c  /**< */,
303                                    xcb_window_t      window  /**< */,
304                                    uint8_t           update  /**< */);
305 
306 /**
307  *
308  * @param c The connection
309  * @return A cookie
310  *
311  * Delivers a request to the X server.
312  *
313  * This form can be used only if the request will not cause
314  * a reply to be generated. Any returned error will be
315  * saved for handling by xcb_request_check().
316  */
317 xcb_void_cookie_t
318 xcb_composite_unredirect_window_checked (xcb_connection_t *c  /**< */,
319                                          xcb_window_t      window  /**< */,
320                                          uint8_t           update  /**< */);
321 
322 /**
323  *
324  * @param c The connection
325  * @return A cookie
326  *
327  * Delivers a request to the X server.
328  *
329  */
330 xcb_void_cookie_t
331 xcb_composite_unredirect_window (xcb_connection_t *c  /**< */,
332                                  xcb_window_t      window  /**< */,
333                                  uint8_t           update  /**< */);
334 
335 /**
336  *
337  * @param c The connection
338  * @return A cookie
339  *
340  * Delivers a request to the X server.
341  *
342  * This form can be used only if the request will not cause
343  * a reply to be generated. Any returned error will be
344  * saved for handling by xcb_request_check().
345  */
346 xcb_void_cookie_t
347 xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c  /**< */,
348                                              xcb_window_t      window  /**< */,
349                                              uint8_t           update  /**< */);
350 
351 /**
352  *
353  * @param c The connection
354  * @return A cookie
355  *
356  * Delivers a request to the X server.
357  *
358  */
359 xcb_void_cookie_t
360 xcb_composite_unredirect_subwindows (xcb_connection_t *c  /**< */,
361                                      xcb_window_t      window  /**< */,
362                                      uint8_t           update  /**< */);
363 
364 /**
365  *
366  * @param c The connection
367  * @return A cookie
368  *
369  * Delivers a request to the X server.
370  *
371  * This form can be used only if the request will not cause
372  * a reply to be generated. Any returned error will be
373  * saved for handling by xcb_request_check().
374  */
375 xcb_void_cookie_t
376 xcb_composite_create_region_from_border_clip_checked (xcb_connection_t    *c  /**< */,
377                                                       xcb_xfixes_region_t  region  /**< */,
378                                                       xcb_window_t         window  /**< */);
379 
380 /**
381  *
382  * @param c The connection
383  * @return A cookie
384  *
385  * Delivers a request to the X server.
386  *
387  */
388 xcb_void_cookie_t
389 xcb_composite_create_region_from_border_clip (xcb_connection_t    *c  /**< */,
390                                               xcb_xfixes_region_t  region  /**< */,
391                                               xcb_window_t         window  /**< */);
392 
393 /**
394  *
395  * @param c The connection
396  * @return A cookie
397  *
398  * Delivers a request to the X server.
399  *
400  * This form can be used only if the request will not cause
401  * a reply to be generated. Any returned error will be
402  * saved for handling by xcb_request_check().
403  */
404 xcb_void_cookie_t
405 xcb_composite_name_window_pixmap_checked (xcb_connection_t *c  /**< */,
406                                           xcb_window_t      window  /**< */,
407                                           xcb_pixmap_t      pixmap  /**< */);
408 
409 /**
410  *
411  * @param c The connection
412  * @return A cookie
413  *
414  * Delivers a request to the X server.
415  *
416  */
417 xcb_void_cookie_t
418 xcb_composite_name_window_pixmap (xcb_connection_t *c  /**< */,
419                                   xcb_window_t      window  /**< */,
420                                   xcb_pixmap_t      pixmap  /**< */);
421 
422 /**
423  *
424  * @param c The connection
425  * @return A cookie
426  *
427  * Delivers a request to the X server.
428  *
429  */
430 xcb_composite_get_overlay_window_cookie_t
431 xcb_composite_get_overlay_window (xcb_connection_t *c  /**< */,
432                                   xcb_window_t      window  /**< */);
433 
434 /**
435  *
436  * @param c The connection
437  * @return A cookie
438  *
439  * Delivers a request to the X server.
440  *
441  * This form can be used only if the request will cause
442  * a reply to be generated. Any returned error will be
443  * placed in the event queue.
444  */
445 xcb_composite_get_overlay_window_cookie_t
446 xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c  /**< */,
447                                             xcb_window_t      window  /**< */);
448 
449 /**
450  * Return the reply
451  * @param c      The connection
452  * @param cookie The cookie
453  * @param e      The xcb_generic_error_t supplied
454  *
455  * Returns the reply of the request asked by
456  *
457  * The parameter @p e supplied to this function must be NULL if
458  * xcb_composite_get_overlay_window_unchecked(). is used.
459  * Otherwise, it stores the error if any.
460  *
461  * The returned value must be freed by the caller using free().
462  */
463 xcb_composite_get_overlay_window_reply_t *
464 xcb_composite_get_overlay_window_reply (xcb_connection_t                           *c  /**< */,
465                                         xcb_composite_get_overlay_window_cookie_t   cookie  /**< */,
466                                         xcb_generic_error_t                       **e  /**< */);
467 
468 /**
469  *
470  * @param c The connection
471  * @return A cookie
472  *
473  * Delivers a request to the X server.
474  *
475  * This form can be used only if the request will not cause
476  * a reply to be generated. Any returned error will be
477  * saved for handling by xcb_request_check().
478  */
479 xcb_void_cookie_t
480 xcb_composite_release_overlay_window_checked (xcb_connection_t *c  /**< */,
481                                               xcb_window_t      window  /**< */);
482 
483 /**
484  *
485  * @param c The connection
486  * @return A cookie
487  *
488  * Delivers a request to the X server.
489  *
490  */
491 xcb_void_cookie_t
492 xcb_composite_release_overlay_window (xcb_connection_t *c  /**< */,
493                                       xcb_window_t      window  /**< */);
494 
495 
496 #ifdef __cplusplus
497 }
498 #endif
499 
500 #endif
501 
502 /**
503  * @}
504  */
505