xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/res.h (revision a5847cc334d9a7029f6352b847e9e8d71a0f9e0c)
1 /*
2  * This file generated automatically from res.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB_Res_API XCB Res API
8  * @brief Res XCB Protocol Implementation.
9  * @{
10  **/
11 
12 #ifndef __RES_H
13 #define __RES_H
14 
15 #include "xcb.h"
16 #include "xproto.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #define XCB_RES_MAJOR_VERSION 1
23 #define XCB_RES_MINOR_VERSION 0
24 
25 extern xcb_extension_t xcb_res_id;
26 
27 /**
28  * @brief xcb_res_client_t
29  **/
30 typedef struct xcb_res_client_t {
31     uint32_t resource_base; /**<  */
32     uint32_t resource_mask; /**<  */
33 } xcb_res_client_t;
34 
35 /**
36  * @brief xcb_res_client_iterator_t
37  **/
38 typedef struct xcb_res_client_iterator_t {
39     xcb_res_client_t *data; /**<  */
40     int               rem; /**<  */
41     int               index; /**<  */
42 } xcb_res_client_iterator_t;
43 
44 /**
45  * @brief xcb_res_type_t
46  **/
47 typedef struct xcb_res_type_t {
48     xcb_atom_t resource_type; /**<  */
49     uint32_t   count; /**<  */
50 } xcb_res_type_t;
51 
52 /**
53  * @brief xcb_res_type_iterator_t
54  **/
55 typedef struct xcb_res_type_iterator_t {
56     xcb_res_type_t *data; /**<  */
57     int             rem; /**<  */
58     int             index; /**<  */
59 } xcb_res_type_iterator_t;
60 
61 /**
62  * @brief xcb_res_query_version_cookie_t
63  **/
64 typedef struct xcb_res_query_version_cookie_t {
65     unsigned int sequence; /**<  */
66 } xcb_res_query_version_cookie_t;
67 
68 /** Opcode for xcb_res_query_version. */
69 #define XCB_RES_QUERY_VERSION 0
70 
71 /**
72  * @brief xcb_res_query_version_request_t
73  **/
74 typedef struct xcb_res_query_version_request_t {
75     uint8_t  major_opcode; /**<  */
76     uint8_t  minor_opcode; /**<  */
77     uint16_t length; /**<  */
78     uint8_t  client_major; /**<  */
79     uint8_t  client_minor; /**<  */
80 } xcb_res_query_version_request_t;
81 
82 /**
83  * @brief xcb_res_query_version_reply_t
84  **/
85 typedef struct xcb_res_query_version_reply_t {
86     uint8_t  response_type; /**<  */
87     uint8_t  pad0; /**<  */
88     uint16_t sequence; /**<  */
89     uint32_t length; /**<  */
90     uint16_t server_major; /**<  */
91     uint16_t server_minor; /**<  */
92 } xcb_res_query_version_reply_t;
93 
94 /**
95  * @brief xcb_res_query_clients_cookie_t
96  **/
97 typedef struct xcb_res_query_clients_cookie_t {
98     unsigned int sequence; /**<  */
99 } xcb_res_query_clients_cookie_t;
100 
101 /** Opcode for xcb_res_query_clients. */
102 #define XCB_RES_QUERY_CLIENTS 1
103 
104 /**
105  * @brief xcb_res_query_clients_request_t
106  **/
107 typedef struct xcb_res_query_clients_request_t {
108     uint8_t  major_opcode; /**<  */
109     uint8_t  minor_opcode; /**<  */
110     uint16_t length; /**<  */
111 } xcb_res_query_clients_request_t;
112 
113 /**
114  * @brief xcb_res_query_clients_reply_t
115  **/
116 typedef struct xcb_res_query_clients_reply_t {
117     uint8_t  response_type; /**<  */
118     uint8_t  pad0; /**<  */
119     uint16_t sequence; /**<  */
120     uint32_t length; /**<  */
121     uint32_t num_clients; /**<  */
122     uint8_t  pad1[20]; /**<  */
123 } xcb_res_query_clients_reply_t;
124 
125 /**
126  * @brief xcb_res_query_client_resources_cookie_t
127  **/
128 typedef struct xcb_res_query_client_resources_cookie_t {
129     unsigned int sequence; /**<  */
130 } xcb_res_query_client_resources_cookie_t;
131 
132 /** Opcode for xcb_res_query_client_resources. */
133 #define XCB_RES_QUERY_CLIENT_RESOURCES 2
134 
135 /**
136  * @brief xcb_res_query_client_resources_request_t
137  **/
138 typedef struct xcb_res_query_client_resources_request_t {
139     uint8_t  major_opcode; /**<  */
140     uint8_t  minor_opcode; /**<  */
141     uint16_t length; /**<  */
142     uint32_t xid; /**<  */
143 } xcb_res_query_client_resources_request_t;
144 
145 /**
146  * @brief xcb_res_query_client_resources_reply_t
147  **/
148 typedef struct xcb_res_query_client_resources_reply_t {
149     uint8_t  response_type; /**<  */
150     uint8_t  pad0; /**<  */
151     uint16_t sequence; /**<  */
152     uint32_t length; /**<  */
153     uint32_t num_types; /**<  */
154     uint8_t  pad1[20]; /**<  */
155 } xcb_res_query_client_resources_reply_t;
156 
157 /**
158  * @brief xcb_res_query_client_pixmap_bytes_cookie_t
159  **/
160 typedef struct xcb_res_query_client_pixmap_bytes_cookie_t {
161     unsigned int sequence; /**<  */
162 } xcb_res_query_client_pixmap_bytes_cookie_t;
163 
164 /** Opcode for xcb_res_query_client_pixmap_bytes. */
165 #define XCB_RES_QUERY_CLIENT_PIXMAP_BYTES 3
166 
167 /**
168  * @brief xcb_res_query_client_pixmap_bytes_request_t
169  **/
170 typedef struct xcb_res_query_client_pixmap_bytes_request_t {
171     uint8_t  major_opcode; /**<  */
172     uint8_t  minor_opcode; /**<  */
173     uint16_t length; /**<  */
174     uint32_t xid; /**<  */
175 } xcb_res_query_client_pixmap_bytes_request_t;
176 
177 /**
178  * @brief xcb_res_query_client_pixmap_bytes_reply_t
179  **/
180 typedef struct xcb_res_query_client_pixmap_bytes_reply_t {
181     uint8_t  response_type; /**<  */
182     uint8_t  pad0; /**<  */
183     uint16_t sequence; /**<  */
184     uint32_t length; /**<  */
185     uint32_t bytes; /**<  */
186     uint32_t bytes_overflow; /**<  */
187 } xcb_res_query_client_pixmap_bytes_reply_t;
188 
189 /**
190  * Get the next element of the iterator
191  * @param i Pointer to a xcb_res_client_iterator_t
192  *
193  * Get the next element in the iterator. The member rem is
194  * decreased by one. The member data points to the next
195  * element. The member index is increased by sizeof(xcb_res_client_t)
196  */
197 
198 /*****************************************************************************
199  **
200  ** void xcb_res_client_next
201  **
202  ** @param xcb_res_client_iterator_t *i
203  ** @returns void
204  **
205  *****************************************************************************/
206 
207 void
208 xcb_res_client_next (xcb_res_client_iterator_t *i  /**< */);
209 
210 /**
211  * Return the iterator pointing to the last element
212  * @param i An xcb_res_client_iterator_t
213  * @return  The iterator pointing to the last element
214  *
215  * Set the current element in the iterator to the last element.
216  * The member rem is set to 0. The member data points to the
217  * last element.
218  */
219 
220 /*****************************************************************************
221  **
222  ** xcb_generic_iterator_t xcb_res_client_end
223  **
224  ** @param xcb_res_client_iterator_t i
225  ** @returns xcb_generic_iterator_t
226  **
227  *****************************************************************************/
228 
229 xcb_generic_iterator_t
230 xcb_res_client_end (xcb_res_client_iterator_t i  /**< */);
231 
232 /**
233  * Get the next element of the iterator
234  * @param i Pointer to a xcb_res_type_iterator_t
235  *
236  * Get the next element in the iterator. The member rem is
237  * decreased by one. The member data points to the next
238  * element. The member index is increased by sizeof(xcb_res_type_t)
239  */
240 
241 /*****************************************************************************
242  **
243  ** void xcb_res_type_next
244  **
245  ** @param xcb_res_type_iterator_t *i
246  ** @returns void
247  **
248  *****************************************************************************/
249 
250 void
251 xcb_res_type_next (xcb_res_type_iterator_t *i  /**< */);
252 
253 /**
254  * Return the iterator pointing to the last element
255  * @param i An xcb_res_type_iterator_t
256  * @return  The iterator pointing to the last element
257  *
258  * Set the current element in the iterator to the last element.
259  * The member rem is set to 0. The member data points to the
260  * last element.
261  */
262 
263 /*****************************************************************************
264  **
265  ** xcb_generic_iterator_t xcb_res_type_end
266  **
267  ** @param xcb_res_type_iterator_t i
268  ** @returns xcb_generic_iterator_t
269  **
270  *****************************************************************************/
271 
272 xcb_generic_iterator_t
273 xcb_res_type_end (xcb_res_type_iterator_t i  /**< */);
274 
275 /**
276  * Delivers a request to the X server
277  * @param c The connection
278  * @return A cookie
279  *
280  * Delivers a request to the X server.
281  *
282  */
283 
284 /*****************************************************************************
285  **
286  ** xcb_res_query_version_cookie_t xcb_res_query_version
287  **
288  ** @param xcb_connection_t *c
289  ** @param uint8_t           client_major
290  ** @param uint8_t           client_minor
291  ** @returns xcb_res_query_version_cookie_t
292  **
293  *****************************************************************************/
294 
295 xcb_res_query_version_cookie_t
296 xcb_res_query_version (xcb_connection_t *c  /**< */,
297                        uint8_t           client_major  /**< */,
298                        uint8_t           client_minor  /**< */);
299 
300 /**
301  * Delivers a request to the X server
302  * @param c The connection
303  * @return A cookie
304  *
305  * Delivers a request to the X server.
306  *
307  * This form can be used only if the request will cause
308  * a reply to be generated. Any returned error will be
309  * placed in the event queue.
310  */
311 
312 /*****************************************************************************
313  **
314  ** xcb_res_query_version_cookie_t xcb_res_query_version_unchecked
315  **
316  ** @param xcb_connection_t *c
317  ** @param uint8_t           client_major
318  ** @param uint8_t           client_minor
319  ** @returns xcb_res_query_version_cookie_t
320  **
321  *****************************************************************************/
322 
323 xcb_res_query_version_cookie_t
324 xcb_res_query_version_unchecked (xcb_connection_t *c  /**< */,
325                                  uint8_t           client_major  /**< */,
326                                  uint8_t           client_minor  /**< */);
327 
328 /**
329  * Return the reply
330  * @param c      The connection
331  * @param cookie The cookie
332  * @param e      The xcb_generic_error_t supplied
333  *
334  * Returns the reply of the request asked by
335  *
336  * The parameter @p e supplied to this function must be NULL if
337  * xcb_res_query_version_unchecked(). is used.
338  * Otherwise, it stores the error if any.
339  *
340  * The returned value must be freed by the caller using free().
341  */
342 
343 /*****************************************************************************
344  **
345  ** xcb_res_query_version_reply_t * xcb_res_query_version_reply
346  **
347  ** @param xcb_connection_t                *c
348  ** @param xcb_res_query_version_cookie_t   cookie
349  ** @param xcb_generic_error_t            **e
350  ** @returns xcb_res_query_version_reply_t *
351  **
352  *****************************************************************************/
353 
354 xcb_res_query_version_reply_t *
355 xcb_res_query_version_reply (xcb_connection_t                *c  /**< */,
356                              xcb_res_query_version_cookie_t   cookie  /**< */,
357                              xcb_generic_error_t            **e  /**< */);
358 
359 /**
360  * Delivers a request to the X server
361  * @param c The connection
362  * @return A cookie
363  *
364  * Delivers a request to the X server.
365  *
366  */
367 
368 /*****************************************************************************
369  **
370  ** xcb_res_query_clients_cookie_t xcb_res_query_clients
371  **
372  ** @param xcb_connection_t *c
373  ** @returns xcb_res_query_clients_cookie_t
374  **
375  *****************************************************************************/
376 
377 xcb_res_query_clients_cookie_t
378 xcb_res_query_clients (xcb_connection_t *c  /**< */);
379 
380 /**
381  * Delivers a request to the X server
382  * @param c The connection
383  * @return A cookie
384  *
385  * Delivers a request to the X server.
386  *
387  * This form can be used only if the request will cause
388  * a reply to be generated. Any returned error will be
389  * placed in the event queue.
390  */
391 
392 /*****************************************************************************
393  **
394  ** xcb_res_query_clients_cookie_t xcb_res_query_clients_unchecked
395  **
396  ** @param xcb_connection_t *c
397  ** @returns xcb_res_query_clients_cookie_t
398  **
399  *****************************************************************************/
400 
401 xcb_res_query_clients_cookie_t
402 xcb_res_query_clients_unchecked (xcb_connection_t *c  /**< */);
403 
404 
405 /*****************************************************************************
406  **
407  ** xcb_res_client_t * xcb_res_query_clients_clients
408  **
409  ** @param const xcb_res_query_clients_reply_t *R
410  ** @returns xcb_res_client_t *
411  **
412  *****************************************************************************/
413 
414 xcb_res_client_t *
415 xcb_res_query_clients_clients (const xcb_res_query_clients_reply_t *R  /**< */);
416 
417 
418 /*****************************************************************************
419  **
420  ** int xcb_res_query_clients_clients_length
421  **
422  ** @param const xcb_res_query_clients_reply_t *R
423  ** @returns int
424  **
425  *****************************************************************************/
426 
427 int
428 xcb_res_query_clients_clients_length (const xcb_res_query_clients_reply_t *R  /**< */);
429 
430 
431 /*****************************************************************************
432  **
433  ** xcb_res_client_iterator_t xcb_res_query_clients_clients_iterator
434  **
435  ** @param const xcb_res_query_clients_reply_t *R
436  ** @returns xcb_res_client_iterator_t
437  **
438  *****************************************************************************/
439 
440 xcb_res_client_iterator_t
441 xcb_res_query_clients_clients_iterator (const xcb_res_query_clients_reply_t *R  /**< */);
442 
443 /**
444  * Return the reply
445  * @param c      The connection
446  * @param cookie The cookie
447  * @param e      The xcb_generic_error_t supplied
448  *
449  * Returns the reply of the request asked by
450  *
451  * The parameter @p e supplied to this function must be NULL if
452  * xcb_res_query_clients_unchecked(). is used.
453  * Otherwise, it stores the error if any.
454  *
455  * The returned value must be freed by the caller using free().
456  */
457 
458 /*****************************************************************************
459  **
460  ** xcb_res_query_clients_reply_t * xcb_res_query_clients_reply
461  **
462  ** @param xcb_connection_t                *c
463  ** @param xcb_res_query_clients_cookie_t   cookie
464  ** @param xcb_generic_error_t            **e
465  ** @returns xcb_res_query_clients_reply_t *
466  **
467  *****************************************************************************/
468 
469 xcb_res_query_clients_reply_t *
470 xcb_res_query_clients_reply (xcb_connection_t                *c  /**< */,
471                              xcb_res_query_clients_cookie_t   cookie  /**< */,
472                              xcb_generic_error_t            **e  /**< */);
473 
474 /**
475  * Delivers a request to the X server
476  * @param c The connection
477  * @return A cookie
478  *
479  * Delivers a request to the X server.
480  *
481  */
482 
483 /*****************************************************************************
484  **
485  ** xcb_res_query_client_resources_cookie_t xcb_res_query_client_resources
486  **
487  ** @param xcb_connection_t *c
488  ** @param uint32_t          xid
489  ** @returns xcb_res_query_client_resources_cookie_t
490  **
491  *****************************************************************************/
492 
493 xcb_res_query_client_resources_cookie_t
494 xcb_res_query_client_resources (xcb_connection_t *c  /**< */,
495                                 uint32_t          xid  /**< */);
496 
497 /**
498  * Delivers a request to the X server
499  * @param c The connection
500  * @return A cookie
501  *
502  * Delivers a request to the X server.
503  *
504  * This form can be used only if the request will cause
505  * a reply to be generated. Any returned error will be
506  * placed in the event queue.
507  */
508 
509 /*****************************************************************************
510  **
511  ** xcb_res_query_client_resources_cookie_t xcb_res_query_client_resources_unchecked
512  **
513  ** @param xcb_connection_t *c
514  ** @param uint32_t          xid
515  ** @returns xcb_res_query_client_resources_cookie_t
516  **
517  *****************************************************************************/
518 
519 xcb_res_query_client_resources_cookie_t
520 xcb_res_query_client_resources_unchecked (xcb_connection_t *c  /**< */,
521                                           uint32_t          xid  /**< */);
522 
523 
524 /*****************************************************************************
525  **
526  ** xcb_res_type_t * xcb_res_query_client_resources_types
527  **
528  ** @param const xcb_res_query_client_resources_reply_t *R
529  ** @returns xcb_res_type_t *
530  **
531  *****************************************************************************/
532 
533 xcb_res_type_t *
534 xcb_res_query_client_resources_types (const xcb_res_query_client_resources_reply_t *R  /**< */);
535 
536 
537 /*****************************************************************************
538  **
539  ** int xcb_res_query_client_resources_types_length
540  **
541  ** @param const xcb_res_query_client_resources_reply_t *R
542  ** @returns int
543  **
544  *****************************************************************************/
545 
546 int
547 xcb_res_query_client_resources_types_length (const xcb_res_query_client_resources_reply_t *R  /**< */);
548 
549 
550 /*****************************************************************************
551  **
552  ** xcb_res_type_iterator_t xcb_res_query_client_resources_types_iterator
553  **
554  ** @param const xcb_res_query_client_resources_reply_t *R
555  ** @returns xcb_res_type_iterator_t
556  **
557  *****************************************************************************/
558 
559 xcb_res_type_iterator_t
560 xcb_res_query_client_resources_types_iterator (const xcb_res_query_client_resources_reply_t *R  /**< */);
561 
562 /**
563  * Return the reply
564  * @param c      The connection
565  * @param cookie The cookie
566  * @param e      The xcb_generic_error_t supplied
567  *
568  * Returns the reply of the request asked by
569  *
570  * The parameter @p e supplied to this function must be NULL if
571  * xcb_res_query_client_resources_unchecked(). is used.
572  * Otherwise, it stores the error if any.
573  *
574  * The returned value must be freed by the caller using free().
575  */
576 
577 /*****************************************************************************
578  **
579  ** xcb_res_query_client_resources_reply_t * xcb_res_query_client_resources_reply
580  **
581  ** @param xcb_connection_t                         *c
582  ** @param xcb_res_query_client_resources_cookie_t   cookie
583  ** @param xcb_generic_error_t                     **e
584  ** @returns xcb_res_query_client_resources_reply_t *
585  **
586  *****************************************************************************/
587 
588 xcb_res_query_client_resources_reply_t *
589 xcb_res_query_client_resources_reply (xcb_connection_t                         *c  /**< */,
590                                       xcb_res_query_client_resources_cookie_t   cookie  /**< */,
591                                       xcb_generic_error_t                     **e  /**< */);
592 
593 /**
594  * Delivers a request to the X server
595  * @param c The connection
596  * @return A cookie
597  *
598  * Delivers a request to the X server.
599  *
600  */
601 
602 /*****************************************************************************
603  **
604  ** xcb_res_query_client_pixmap_bytes_cookie_t xcb_res_query_client_pixmap_bytes
605  **
606  ** @param xcb_connection_t *c
607  ** @param uint32_t          xid
608  ** @returns xcb_res_query_client_pixmap_bytes_cookie_t
609  **
610  *****************************************************************************/
611 
612 xcb_res_query_client_pixmap_bytes_cookie_t
613 xcb_res_query_client_pixmap_bytes (xcb_connection_t *c  /**< */,
614                                    uint32_t          xid  /**< */);
615 
616 /**
617  * Delivers a request to the X server
618  * @param c The connection
619  * @return A cookie
620  *
621  * Delivers a request to the X server.
622  *
623  * This form can be used only if the request will cause
624  * a reply to be generated. Any returned error will be
625  * placed in the event queue.
626  */
627 
628 /*****************************************************************************
629  **
630  ** xcb_res_query_client_pixmap_bytes_cookie_t xcb_res_query_client_pixmap_bytes_unchecked
631  **
632  ** @param xcb_connection_t *c
633  ** @param uint32_t          xid
634  ** @returns xcb_res_query_client_pixmap_bytes_cookie_t
635  **
636  *****************************************************************************/
637 
638 xcb_res_query_client_pixmap_bytes_cookie_t
639 xcb_res_query_client_pixmap_bytes_unchecked (xcb_connection_t *c  /**< */,
640                                              uint32_t          xid  /**< */);
641 
642 /**
643  * Return the reply
644  * @param c      The connection
645  * @param cookie The cookie
646  * @param e      The xcb_generic_error_t supplied
647  *
648  * Returns the reply of the request asked by
649  *
650  * The parameter @p e supplied to this function must be NULL if
651  * xcb_res_query_client_pixmap_bytes_unchecked(). is used.
652  * Otherwise, it stores the error if any.
653  *
654  * The returned value must be freed by the caller using free().
655  */
656 
657 /*****************************************************************************
658  **
659  ** xcb_res_query_client_pixmap_bytes_reply_t * xcb_res_query_client_pixmap_bytes_reply
660  **
661  ** @param xcb_connection_t                            *c
662  ** @param xcb_res_query_client_pixmap_bytes_cookie_t   cookie
663  ** @param xcb_generic_error_t                        **e
664  ** @returns xcb_res_query_client_pixmap_bytes_reply_t *
665  **
666  *****************************************************************************/
667 
668 xcb_res_query_client_pixmap_bytes_reply_t *
669 xcb_res_query_client_pixmap_bytes_reply (xcb_connection_t                            *c  /**< */,
670                                          xcb_res_query_client_pixmap_bytes_cookie_t   cookie  /**< */,
671                                          xcb_generic_error_t                        **e  /**< */);
672 
673 
674 #ifdef __cplusplus
675 }
676 #endif
677 
678 #endif
679 
680 /**
681  * @}
682  */
683