xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/res.h (revision ba6321fe7f085fc81d62ca44a3abf72ff7ab2641)
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 2
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 typedef enum xcb_res_client_id_mask_t {
62     XCB_RES_CLIENT_ID_MASK_CLIENT_XID = 1,
63     XCB_RES_CLIENT_ID_MASK_LOCAL_CLIENT_PID = 2
64 } xcb_res_client_id_mask_t;
65 
66 /**
67  * @brief xcb_res_client_id_spec_t
68  **/
69 typedef struct xcb_res_client_id_spec_t {
70     uint32_t client;
71     uint32_t mask;
72 } xcb_res_client_id_spec_t;
73 
74 /**
75  * @brief xcb_res_client_id_spec_iterator_t
76  **/
77 typedef struct xcb_res_client_id_spec_iterator_t {
78     xcb_res_client_id_spec_t *data;
79     int                       rem;
80     int                       index;
81 } xcb_res_client_id_spec_iterator_t;
82 
83 /**
84  * @brief xcb_res_client_id_value_t
85  **/
86 typedef struct xcb_res_client_id_value_t {
87     xcb_res_client_id_spec_t spec;
88     uint32_t                 length;
89 } xcb_res_client_id_value_t;
90 
91 /**
92  * @brief xcb_res_client_id_value_iterator_t
93  **/
94 typedef struct xcb_res_client_id_value_iterator_t {
95     xcb_res_client_id_value_t *data;
96     int                        rem;
97     int                        index;
98 } xcb_res_client_id_value_iterator_t;
99 
100 /**
101  * @brief xcb_res_resource_id_spec_t
102  **/
103 typedef struct xcb_res_resource_id_spec_t {
104     uint32_t resource;
105     uint32_t type;
106 } xcb_res_resource_id_spec_t;
107 
108 /**
109  * @brief xcb_res_resource_id_spec_iterator_t
110  **/
111 typedef struct xcb_res_resource_id_spec_iterator_t {
112     xcb_res_resource_id_spec_t *data;
113     int                         rem;
114     int                         index;
115 } xcb_res_resource_id_spec_iterator_t;
116 
117 /**
118  * @brief xcb_res_resource_size_spec_t
119  **/
120 typedef struct xcb_res_resource_size_spec_t {
121     xcb_res_resource_id_spec_t spec;
122     uint32_t                   bytes;
123     uint32_t                   ref_count;
124     uint32_t                   use_count;
125 } xcb_res_resource_size_spec_t;
126 
127 /**
128  * @brief xcb_res_resource_size_spec_iterator_t
129  **/
130 typedef struct xcb_res_resource_size_spec_iterator_t {
131     xcb_res_resource_size_spec_t *data;
132     int                           rem;
133     int                           index;
134 } xcb_res_resource_size_spec_iterator_t;
135 
136 /**
137  * @brief xcb_res_resource_size_value_t
138  **/
139 typedef struct xcb_res_resource_size_value_t {
140     xcb_res_resource_size_spec_t size;
141     uint32_t                     num_cross_references;
142 } xcb_res_resource_size_value_t;
143 
144 /**
145  * @brief xcb_res_resource_size_value_iterator_t
146  **/
147 typedef struct xcb_res_resource_size_value_iterator_t {
148     xcb_res_resource_size_value_t *data;
149     int                            rem;
150     int                            index;
151 } xcb_res_resource_size_value_iterator_t;
152 
153 /**
154  * @brief xcb_res_query_version_cookie_t
155  **/
156 typedef struct xcb_res_query_version_cookie_t {
157     unsigned int sequence;
158 } xcb_res_query_version_cookie_t;
159 
160 /** Opcode for xcb_res_query_version. */
161 #define XCB_RES_QUERY_VERSION 0
162 
163 /**
164  * @brief xcb_res_query_version_request_t
165  **/
166 typedef struct xcb_res_query_version_request_t {
167     uint8_t  major_opcode;
168     uint8_t  minor_opcode;
169     uint16_t length;
170     uint8_t  client_major;
171     uint8_t  client_minor;
172 } xcb_res_query_version_request_t;
173 
174 /**
175  * @brief xcb_res_query_version_reply_t
176  **/
177 typedef struct xcb_res_query_version_reply_t {
178     uint8_t  response_type;
179     uint8_t  pad0;
180     uint16_t sequence;
181     uint32_t length;
182     uint16_t server_major;
183     uint16_t server_minor;
184 } xcb_res_query_version_reply_t;
185 
186 /**
187  * @brief xcb_res_query_clients_cookie_t
188  **/
189 typedef struct xcb_res_query_clients_cookie_t {
190     unsigned int sequence;
191 } xcb_res_query_clients_cookie_t;
192 
193 /** Opcode for xcb_res_query_clients. */
194 #define XCB_RES_QUERY_CLIENTS 1
195 
196 /**
197  * @brief xcb_res_query_clients_request_t
198  **/
199 typedef struct xcb_res_query_clients_request_t {
200     uint8_t  major_opcode;
201     uint8_t  minor_opcode;
202     uint16_t length;
203 } xcb_res_query_clients_request_t;
204 
205 /**
206  * @brief xcb_res_query_clients_reply_t
207  **/
208 typedef struct xcb_res_query_clients_reply_t {
209     uint8_t  response_type;
210     uint8_t  pad0;
211     uint16_t sequence;
212     uint32_t length;
213     uint32_t num_clients;
214     uint8_t  pad1[20];
215 } xcb_res_query_clients_reply_t;
216 
217 /**
218  * @brief xcb_res_query_client_resources_cookie_t
219  **/
220 typedef struct xcb_res_query_client_resources_cookie_t {
221     unsigned int sequence;
222 } xcb_res_query_client_resources_cookie_t;
223 
224 /** Opcode for xcb_res_query_client_resources. */
225 #define XCB_RES_QUERY_CLIENT_RESOURCES 2
226 
227 /**
228  * @brief xcb_res_query_client_resources_request_t
229  **/
230 typedef struct xcb_res_query_client_resources_request_t {
231     uint8_t  major_opcode;
232     uint8_t  minor_opcode;
233     uint16_t length;
234     uint32_t xid;
235 } xcb_res_query_client_resources_request_t;
236 
237 /**
238  * @brief xcb_res_query_client_resources_reply_t
239  **/
240 typedef struct xcb_res_query_client_resources_reply_t {
241     uint8_t  response_type;
242     uint8_t  pad0;
243     uint16_t sequence;
244     uint32_t length;
245     uint32_t num_types;
246     uint8_t  pad1[20];
247 } xcb_res_query_client_resources_reply_t;
248 
249 /**
250  * @brief xcb_res_query_client_pixmap_bytes_cookie_t
251  **/
252 typedef struct xcb_res_query_client_pixmap_bytes_cookie_t {
253     unsigned int sequence;
254 } xcb_res_query_client_pixmap_bytes_cookie_t;
255 
256 /** Opcode for xcb_res_query_client_pixmap_bytes. */
257 #define XCB_RES_QUERY_CLIENT_PIXMAP_BYTES 3
258 
259 /**
260  * @brief xcb_res_query_client_pixmap_bytes_request_t
261  **/
262 typedef struct xcb_res_query_client_pixmap_bytes_request_t {
263     uint8_t  major_opcode;
264     uint8_t  minor_opcode;
265     uint16_t length;
266     uint32_t xid;
267 } xcb_res_query_client_pixmap_bytes_request_t;
268 
269 /**
270  * @brief xcb_res_query_client_pixmap_bytes_reply_t
271  **/
272 typedef struct xcb_res_query_client_pixmap_bytes_reply_t {
273     uint8_t  response_type;
274     uint8_t  pad0;
275     uint16_t sequence;
276     uint32_t length;
277     uint32_t bytes;
278     uint32_t bytes_overflow;
279 } xcb_res_query_client_pixmap_bytes_reply_t;
280 
281 /**
282  * @brief xcb_res_query_client_ids_cookie_t
283  **/
284 typedef struct xcb_res_query_client_ids_cookie_t {
285     unsigned int sequence;
286 } xcb_res_query_client_ids_cookie_t;
287 
288 /** Opcode for xcb_res_query_client_ids. */
289 #define XCB_RES_QUERY_CLIENT_IDS 4
290 
291 /**
292  * @brief xcb_res_query_client_ids_request_t
293  **/
294 typedef struct xcb_res_query_client_ids_request_t {
295     uint8_t  major_opcode;
296     uint8_t  minor_opcode;
297     uint16_t length;
298     uint32_t num_specs;
299 } xcb_res_query_client_ids_request_t;
300 
301 /**
302  * @brief xcb_res_query_client_ids_reply_t
303  **/
304 typedef struct xcb_res_query_client_ids_reply_t {
305     uint8_t  response_type;
306     uint8_t  pad0;
307     uint16_t sequence;
308     uint32_t length;
309     uint32_t num_ids;
310     uint8_t  pad1[20];
311 } xcb_res_query_client_ids_reply_t;
312 
313 /**
314  * @brief xcb_res_query_resource_bytes_cookie_t
315  **/
316 typedef struct xcb_res_query_resource_bytes_cookie_t {
317     unsigned int sequence;
318 } xcb_res_query_resource_bytes_cookie_t;
319 
320 /** Opcode for xcb_res_query_resource_bytes. */
321 #define XCB_RES_QUERY_RESOURCE_BYTES 5
322 
323 /**
324  * @brief xcb_res_query_resource_bytes_request_t
325  **/
326 typedef struct xcb_res_query_resource_bytes_request_t {
327     uint8_t  major_opcode;
328     uint8_t  minor_opcode;
329     uint16_t length;
330     uint32_t client;
331     uint32_t num_specs;
332 } xcb_res_query_resource_bytes_request_t;
333 
334 /**
335  * @brief xcb_res_query_resource_bytes_reply_t
336  **/
337 typedef struct xcb_res_query_resource_bytes_reply_t {
338     uint8_t  response_type;
339     uint8_t  pad0;
340     uint16_t sequence;
341     uint32_t length;
342     uint32_t num_sizes;
343     uint8_t  pad1[20];
344 } xcb_res_query_resource_bytes_reply_t;
345 
346 /**
347  * Get the next element of the iterator
348  * @param i Pointer to a xcb_res_client_iterator_t
349  *
350  * Get the next element in the iterator. The member rem is
351  * decreased by one. The member data points to the next
352  * element. The member index is increased by sizeof(xcb_res_client_t)
353  */
354 void
355 xcb_res_client_next (xcb_res_client_iterator_t *i);
356 
357 /**
358  * Return the iterator pointing to the last element
359  * @param i An xcb_res_client_iterator_t
360  * @return  The iterator pointing to the last element
361  *
362  * Set the current element in the iterator to the last element.
363  * The member rem is set to 0. The member data points to the
364  * last element.
365  */
366 xcb_generic_iterator_t
367 xcb_res_client_end (xcb_res_client_iterator_t i);
368 
369 /**
370  * Get the next element of the iterator
371  * @param i Pointer to a xcb_res_type_iterator_t
372  *
373  * Get the next element in the iterator. The member rem is
374  * decreased by one. The member data points to the next
375  * element. The member index is increased by sizeof(xcb_res_type_t)
376  */
377 void
378 xcb_res_type_next (xcb_res_type_iterator_t *i);
379 
380 /**
381  * Return the iterator pointing to the last element
382  * @param i An xcb_res_type_iterator_t
383  * @return  The iterator pointing to the last element
384  *
385  * Set the current element in the iterator to the last element.
386  * The member rem is set to 0. The member data points to the
387  * last element.
388  */
389 xcb_generic_iterator_t
390 xcb_res_type_end (xcb_res_type_iterator_t i);
391 
392 /**
393  * Get the next element of the iterator
394  * @param i Pointer to a xcb_res_client_id_spec_iterator_t
395  *
396  * Get the next element in the iterator. The member rem is
397  * decreased by one. The member data points to the next
398  * element. The member index is increased by sizeof(xcb_res_client_id_spec_t)
399  */
400 void
401 xcb_res_client_id_spec_next (xcb_res_client_id_spec_iterator_t *i);
402 
403 /**
404  * Return the iterator pointing to the last element
405  * @param i An xcb_res_client_id_spec_iterator_t
406  * @return  The iterator pointing to the last element
407  *
408  * Set the current element in the iterator to the last element.
409  * The member rem is set to 0. The member data points to the
410  * last element.
411  */
412 xcb_generic_iterator_t
413 xcb_res_client_id_spec_end (xcb_res_client_id_spec_iterator_t i);
414 
415 int
416 xcb_res_client_id_value_sizeof (const void  *_buffer);
417 
418 uint32_t *
419 xcb_res_client_id_value_value (const xcb_res_client_id_value_t *R);
420 
421 int
422 xcb_res_client_id_value_value_length (const xcb_res_client_id_value_t *R);
423 
424 xcb_generic_iterator_t
425 xcb_res_client_id_value_value_end (const xcb_res_client_id_value_t *R);
426 
427 /**
428  * Get the next element of the iterator
429  * @param i Pointer to a xcb_res_client_id_value_iterator_t
430  *
431  * Get the next element in the iterator. The member rem is
432  * decreased by one. The member data points to the next
433  * element. The member index is increased by sizeof(xcb_res_client_id_value_t)
434  */
435 void
436 xcb_res_client_id_value_next (xcb_res_client_id_value_iterator_t *i);
437 
438 /**
439  * Return the iterator pointing to the last element
440  * @param i An xcb_res_client_id_value_iterator_t
441  * @return  The iterator pointing to the last element
442  *
443  * Set the current element in the iterator to the last element.
444  * The member rem is set to 0. The member data points to the
445  * last element.
446  */
447 xcb_generic_iterator_t
448 xcb_res_client_id_value_end (xcb_res_client_id_value_iterator_t i);
449 
450 /**
451  * Get the next element of the iterator
452  * @param i Pointer to a xcb_res_resource_id_spec_iterator_t
453  *
454  * Get the next element in the iterator. The member rem is
455  * decreased by one. The member data points to the next
456  * element. The member index is increased by sizeof(xcb_res_resource_id_spec_t)
457  */
458 void
459 xcb_res_resource_id_spec_next (xcb_res_resource_id_spec_iterator_t *i);
460 
461 /**
462  * Return the iterator pointing to the last element
463  * @param i An xcb_res_resource_id_spec_iterator_t
464  * @return  The iterator pointing to the last element
465  *
466  * Set the current element in the iterator to the last element.
467  * The member rem is set to 0. The member data points to the
468  * last element.
469  */
470 xcb_generic_iterator_t
471 xcb_res_resource_id_spec_end (xcb_res_resource_id_spec_iterator_t i);
472 
473 /**
474  * Get the next element of the iterator
475  * @param i Pointer to a xcb_res_resource_size_spec_iterator_t
476  *
477  * Get the next element in the iterator. The member rem is
478  * decreased by one. The member data points to the next
479  * element. The member index is increased by sizeof(xcb_res_resource_size_spec_t)
480  */
481 void
482 xcb_res_resource_size_spec_next (xcb_res_resource_size_spec_iterator_t *i);
483 
484 /**
485  * Return the iterator pointing to the last element
486  * @param i An xcb_res_resource_size_spec_iterator_t
487  * @return  The iterator pointing to the last element
488  *
489  * Set the current element in the iterator to the last element.
490  * The member rem is set to 0. The member data points to the
491  * last element.
492  */
493 xcb_generic_iterator_t
494 xcb_res_resource_size_spec_end (xcb_res_resource_size_spec_iterator_t i);
495 
496 int
497 xcb_res_resource_size_value_sizeof (const void  *_buffer);
498 
499 xcb_res_resource_size_spec_t *
500 xcb_res_resource_size_value_cross_references (const xcb_res_resource_size_value_t *R);
501 
502 int
503 xcb_res_resource_size_value_cross_references_length (const xcb_res_resource_size_value_t *R);
504 
505 xcb_res_resource_size_spec_iterator_t
506 xcb_res_resource_size_value_cross_references_iterator (const xcb_res_resource_size_value_t *R);
507 
508 /**
509  * Get the next element of the iterator
510  * @param i Pointer to a xcb_res_resource_size_value_iterator_t
511  *
512  * Get the next element in the iterator. The member rem is
513  * decreased by one. The member data points to the next
514  * element. The member index is increased by sizeof(xcb_res_resource_size_value_t)
515  */
516 void
517 xcb_res_resource_size_value_next (xcb_res_resource_size_value_iterator_t *i);
518 
519 /**
520  * Return the iterator pointing to the last element
521  * @param i An xcb_res_resource_size_value_iterator_t
522  * @return  The iterator pointing to the last element
523  *
524  * Set the current element in the iterator to the last element.
525  * The member rem is set to 0. The member data points to the
526  * last element.
527  */
528 xcb_generic_iterator_t
529 xcb_res_resource_size_value_end (xcb_res_resource_size_value_iterator_t i);
530 
531 /**
532  *
533  * @param c The connection
534  * @return A cookie
535  *
536  * Delivers a request to the X server.
537  *
538  */
539 xcb_res_query_version_cookie_t
540 xcb_res_query_version (xcb_connection_t *c,
541                        uint8_t           client_major,
542                        uint8_t           client_minor);
543 
544 /**
545  *
546  * @param c The connection
547  * @return A cookie
548  *
549  * Delivers a request to the X server.
550  *
551  * This form can be used only if the request will cause
552  * a reply to be generated. Any returned error will be
553  * placed in the event queue.
554  */
555 xcb_res_query_version_cookie_t
556 xcb_res_query_version_unchecked (xcb_connection_t *c,
557                                  uint8_t           client_major,
558                                  uint8_t           client_minor);
559 
560 /**
561  * Return the reply
562  * @param c      The connection
563  * @param cookie The cookie
564  * @param e      The xcb_generic_error_t supplied
565  *
566  * Returns the reply of the request asked by
567  *
568  * The parameter @p e supplied to this function must be NULL if
569  * xcb_res_query_version_unchecked(). is used.
570  * Otherwise, it stores the error if any.
571  *
572  * The returned value must be freed by the caller using free().
573  */
574 xcb_res_query_version_reply_t *
575 xcb_res_query_version_reply (xcb_connection_t                *c,
576                              xcb_res_query_version_cookie_t   cookie  /**< */,
577                              xcb_generic_error_t            **e);
578 
579 int
580 xcb_res_query_clients_sizeof (const void  *_buffer);
581 
582 /**
583  *
584  * @param c The connection
585  * @return A cookie
586  *
587  * Delivers a request to the X server.
588  *
589  */
590 xcb_res_query_clients_cookie_t
591 xcb_res_query_clients (xcb_connection_t *c);
592 
593 /**
594  *
595  * @param c The connection
596  * @return A cookie
597  *
598  * Delivers a request to the X server.
599  *
600  * This form can be used only if the request will cause
601  * a reply to be generated. Any returned error will be
602  * placed in the event queue.
603  */
604 xcb_res_query_clients_cookie_t
605 xcb_res_query_clients_unchecked (xcb_connection_t *c);
606 
607 xcb_res_client_t *
608 xcb_res_query_clients_clients (const xcb_res_query_clients_reply_t *R);
609 
610 int
611 xcb_res_query_clients_clients_length (const xcb_res_query_clients_reply_t *R);
612 
613 xcb_res_client_iterator_t
614 xcb_res_query_clients_clients_iterator (const xcb_res_query_clients_reply_t *R);
615 
616 /**
617  * Return the reply
618  * @param c      The connection
619  * @param cookie The cookie
620  * @param e      The xcb_generic_error_t supplied
621  *
622  * Returns the reply of the request asked by
623  *
624  * The parameter @p e supplied to this function must be NULL if
625  * xcb_res_query_clients_unchecked(). is used.
626  * Otherwise, it stores the error if any.
627  *
628  * The returned value must be freed by the caller using free().
629  */
630 xcb_res_query_clients_reply_t *
631 xcb_res_query_clients_reply (xcb_connection_t                *c,
632                              xcb_res_query_clients_cookie_t   cookie  /**< */,
633                              xcb_generic_error_t            **e);
634 
635 int
636 xcb_res_query_client_resources_sizeof (const void  *_buffer);
637 
638 /**
639  *
640  * @param c The connection
641  * @return A cookie
642  *
643  * Delivers a request to the X server.
644  *
645  */
646 xcb_res_query_client_resources_cookie_t
647 xcb_res_query_client_resources (xcb_connection_t *c,
648                                 uint32_t          xid);
649 
650 /**
651  *
652  * @param c The connection
653  * @return A cookie
654  *
655  * Delivers a request to the X server.
656  *
657  * This form can be used only if the request will cause
658  * a reply to be generated. Any returned error will be
659  * placed in the event queue.
660  */
661 xcb_res_query_client_resources_cookie_t
662 xcb_res_query_client_resources_unchecked (xcb_connection_t *c,
663                                           uint32_t          xid);
664 
665 xcb_res_type_t *
666 xcb_res_query_client_resources_types (const xcb_res_query_client_resources_reply_t *R);
667 
668 int
669 xcb_res_query_client_resources_types_length (const xcb_res_query_client_resources_reply_t *R);
670 
671 xcb_res_type_iterator_t
672 xcb_res_query_client_resources_types_iterator (const xcb_res_query_client_resources_reply_t *R);
673 
674 /**
675  * Return the reply
676  * @param c      The connection
677  * @param cookie The cookie
678  * @param e      The xcb_generic_error_t supplied
679  *
680  * Returns the reply of the request asked by
681  *
682  * The parameter @p e supplied to this function must be NULL if
683  * xcb_res_query_client_resources_unchecked(). is used.
684  * Otherwise, it stores the error if any.
685  *
686  * The returned value must be freed by the caller using free().
687  */
688 xcb_res_query_client_resources_reply_t *
689 xcb_res_query_client_resources_reply (xcb_connection_t                         *c,
690                                       xcb_res_query_client_resources_cookie_t   cookie  /**< */,
691                                       xcb_generic_error_t                     **e);
692 
693 /**
694  *
695  * @param c The connection
696  * @return A cookie
697  *
698  * Delivers a request to the X server.
699  *
700  */
701 xcb_res_query_client_pixmap_bytes_cookie_t
702 xcb_res_query_client_pixmap_bytes (xcb_connection_t *c,
703                                    uint32_t          xid);
704 
705 /**
706  *
707  * @param c The connection
708  * @return A cookie
709  *
710  * Delivers a request to the X server.
711  *
712  * This form can be used only if the request will cause
713  * a reply to be generated. Any returned error will be
714  * placed in the event queue.
715  */
716 xcb_res_query_client_pixmap_bytes_cookie_t
717 xcb_res_query_client_pixmap_bytes_unchecked (xcb_connection_t *c,
718                                              uint32_t          xid);
719 
720 /**
721  * Return the reply
722  * @param c      The connection
723  * @param cookie The cookie
724  * @param e      The xcb_generic_error_t supplied
725  *
726  * Returns the reply of the request asked by
727  *
728  * The parameter @p e supplied to this function must be NULL if
729  * xcb_res_query_client_pixmap_bytes_unchecked(). is used.
730  * Otherwise, it stores the error if any.
731  *
732  * The returned value must be freed by the caller using free().
733  */
734 xcb_res_query_client_pixmap_bytes_reply_t *
735 xcb_res_query_client_pixmap_bytes_reply (xcb_connection_t                            *c,
736                                          xcb_res_query_client_pixmap_bytes_cookie_t   cookie  /**< */,
737                                          xcb_generic_error_t                        **e);
738 
739 int
740 xcb_res_query_client_ids_sizeof (const void  *_buffer);
741 
742 /**
743  *
744  * @param c The connection
745  * @return A cookie
746  *
747  * Delivers a request to the X server.
748  *
749  */
750 xcb_res_query_client_ids_cookie_t
751 xcb_res_query_client_ids (xcb_connection_t               *c,
752                           uint32_t                        num_specs,
753                           const xcb_res_client_id_spec_t *specs);
754 
755 /**
756  *
757  * @param c The connection
758  * @return A cookie
759  *
760  * Delivers a request to the X server.
761  *
762  * This form can be used only if the request will cause
763  * a reply to be generated. Any returned error will be
764  * placed in the event queue.
765  */
766 xcb_res_query_client_ids_cookie_t
767 xcb_res_query_client_ids_unchecked (xcb_connection_t               *c,
768                                     uint32_t                        num_specs,
769                                     const xcb_res_client_id_spec_t *specs);
770 
771 int
772 xcb_res_query_client_ids_ids_length (const xcb_res_query_client_ids_reply_t *R);
773 
774 xcb_res_client_id_value_iterator_t
775 xcb_res_query_client_ids_ids_iterator (const xcb_res_query_client_ids_reply_t *R);
776 
777 /**
778  * Return the reply
779  * @param c      The connection
780  * @param cookie The cookie
781  * @param e      The xcb_generic_error_t supplied
782  *
783  * Returns the reply of the request asked by
784  *
785  * The parameter @p e supplied to this function must be NULL if
786  * xcb_res_query_client_ids_unchecked(). is used.
787  * Otherwise, it stores the error if any.
788  *
789  * The returned value must be freed by the caller using free().
790  */
791 xcb_res_query_client_ids_reply_t *
792 xcb_res_query_client_ids_reply (xcb_connection_t                   *c,
793                                 xcb_res_query_client_ids_cookie_t   cookie  /**< */,
794                                 xcb_generic_error_t               **e);
795 
796 int
797 xcb_res_query_resource_bytes_sizeof (const void  *_buffer);
798 
799 /**
800  *
801  * @param c The connection
802  * @return A cookie
803  *
804  * Delivers a request to the X server.
805  *
806  */
807 xcb_res_query_resource_bytes_cookie_t
808 xcb_res_query_resource_bytes (xcb_connection_t                 *c,
809                               uint32_t                          client,
810                               uint32_t                          num_specs,
811                               const xcb_res_resource_id_spec_t *specs);
812 
813 /**
814  *
815  * @param c The connection
816  * @return A cookie
817  *
818  * Delivers a request to the X server.
819  *
820  * This form can be used only if the request will cause
821  * a reply to be generated. Any returned error will be
822  * placed in the event queue.
823  */
824 xcb_res_query_resource_bytes_cookie_t
825 xcb_res_query_resource_bytes_unchecked (xcb_connection_t                 *c,
826                                         uint32_t                          client,
827                                         uint32_t                          num_specs,
828                                         const xcb_res_resource_id_spec_t *specs);
829 
830 int
831 xcb_res_query_resource_bytes_sizes_length (const xcb_res_query_resource_bytes_reply_t *R);
832 
833 xcb_res_resource_size_value_iterator_t
834 xcb_res_query_resource_bytes_sizes_iterator (const xcb_res_query_resource_bytes_reply_t *R);
835 
836 /**
837  * Return the reply
838  * @param c      The connection
839  * @param cookie The cookie
840  * @param e      The xcb_generic_error_t supplied
841  *
842  * Returns the reply of the request asked by
843  *
844  * The parameter @p e supplied to this function must be NULL if
845  * xcb_res_query_resource_bytes_unchecked(). is used.
846  * Otherwise, it stores the error if any.
847  *
848  * The returned value must be freed by the caller using free().
849  */
850 xcb_res_query_resource_bytes_reply_t *
851 xcb_res_query_resource_bytes_reply (xcb_connection_t                       *c,
852                                     xcb_res_query_resource_bytes_cookie_t   cookie  /**< */,
853                                     xcb_generic_error_t                   **e);
854 
855 
856 #ifdef __cplusplus
857 }
858 #endif
859 
860 #endif
861 
862 /**
863  * @}
864  */
865