xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/shm.h (revision b7b7574d3bf8eeb51a1fa3977b59142ec6434a55)
1 /*
2  * This file generated automatically from shm.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB_Shm_API XCB Shm API
8  * @brief Shm XCB Protocol Implementation.
9  * @{
10  **/
11 
12 #ifndef __SHM_H
13 #define __SHM_H
14 
15 #include "xcb.h"
16 #include "xproto.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #define XCB_SHM_MAJOR_VERSION 1
23 #define XCB_SHM_MINOR_VERSION 2
24 
25 extern xcb_extension_t xcb_shm_id;
26 
27 typedef uint32_t xcb_shm_seg_t;
28 
29 /**
30  * @brief xcb_shm_seg_iterator_t
31  **/
32 typedef struct xcb_shm_seg_iterator_t {
33     xcb_shm_seg_t *data; /**<  */
34     int            rem; /**<  */
35     int            index; /**<  */
36 } xcb_shm_seg_iterator_t;
37 
38 /** Opcode for xcb_shm_completion. */
39 #define XCB_SHM_COMPLETION 0
40 
41 /**
42  * @brief xcb_shm_completion_event_t
43  **/
44 typedef struct xcb_shm_completion_event_t {
45     uint8_t        response_type; /**<  */
46     uint8_t        pad0; /**<  */
47     uint16_t       sequence; /**<  */
48     xcb_drawable_t drawable; /**<  */
49     uint16_t       minor_event; /**<  */
50     uint8_t        major_event; /**<  */
51     uint8_t        pad1; /**<  */
52     xcb_shm_seg_t  shmseg; /**<  */
53     uint32_t       offset; /**<  */
54 } xcb_shm_completion_event_t;
55 
56 /** Opcode for xcb_shm_bad_seg. */
57 #define XCB_SHM_BAD_SEG 0
58 
59 typedef xcb_value_error_t xcb_shm_bad_seg_error_t;
60 
61 /**
62  * @brief xcb_shm_query_version_cookie_t
63  **/
64 typedef struct xcb_shm_query_version_cookie_t {
65     unsigned int sequence; /**<  */
66 } xcb_shm_query_version_cookie_t;
67 
68 /** Opcode for xcb_shm_query_version. */
69 #define XCB_SHM_QUERY_VERSION 0
70 
71 /**
72  * @brief xcb_shm_query_version_request_t
73  **/
74 typedef struct xcb_shm_query_version_request_t {
75     uint8_t  major_opcode; /**<  */
76     uint8_t  minor_opcode; /**<  */
77     uint16_t length; /**<  */
78 } xcb_shm_query_version_request_t;
79 
80 /**
81  * @brief xcb_shm_query_version_reply_t
82  **/
83 typedef struct xcb_shm_query_version_reply_t {
84     uint8_t  response_type; /**<  */
85     uint8_t  shared_pixmaps; /**<  */
86     uint16_t sequence; /**<  */
87     uint32_t length; /**<  */
88     uint16_t major_version; /**<  */
89     uint16_t minor_version; /**<  */
90     uint16_t uid; /**<  */
91     uint16_t gid; /**<  */
92     uint8_t  pixmap_format; /**<  */
93     uint8_t  pad0[15]; /**<  */
94 } xcb_shm_query_version_reply_t;
95 
96 /** Opcode for xcb_shm_attach. */
97 #define XCB_SHM_ATTACH 1
98 
99 /**
100  * @brief xcb_shm_attach_request_t
101  **/
102 typedef struct xcb_shm_attach_request_t {
103     uint8_t       major_opcode; /**<  */
104     uint8_t       minor_opcode; /**<  */
105     uint16_t      length; /**<  */
106     xcb_shm_seg_t shmseg; /**<  */
107     uint32_t      shmid; /**<  */
108     uint8_t       read_only; /**<  */
109     uint8_t       pad0[3]; /**<  */
110 } xcb_shm_attach_request_t;
111 
112 /** Opcode for xcb_shm_detach. */
113 #define XCB_SHM_DETACH 2
114 
115 /**
116  * @brief xcb_shm_detach_request_t
117  **/
118 typedef struct xcb_shm_detach_request_t {
119     uint8_t       major_opcode; /**<  */
120     uint8_t       minor_opcode; /**<  */
121     uint16_t      length; /**<  */
122     xcb_shm_seg_t shmseg; /**<  */
123 } xcb_shm_detach_request_t;
124 
125 /** Opcode for xcb_shm_put_image. */
126 #define XCB_SHM_PUT_IMAGE 3
127 
128 /**
129  * @brief xcb_shm_put_image_request_t
130  **/
131 typedef struct xcb_shm_put_image_request_t {
132     uint8_t        major_opcode; /**<  */
133     uint8_t        minor_opcode; /**<  */
134     uint16_t       length; /**<  */
135     xcb_drawable_t drawable; /**<  */
136     xcb_gcontext_t gc; /**<  */
137     uint16_t       total_width; /**<  */
138     uint16_t       total_height; /**<  */
139     uint16_t       src_x; /**<  */
140     uint16_t       src_y; /**<  */
141     uint16_t       src_width; /**<  */
142     uint16_t       src_height; /**<  */
143     int16_t        dst_x; /**<  */
144     int16_t        dst_y; /**<  */
145     uint8_t        depth; /**<  */
146     uint8_t        format; /**<  */
147     uint8_t        send_event; /**<  */
148     uint8_t        pad0; /**<  */
149     xcb_shm_seg_t  shmseg; /**<  */
150     uint32_t       offset; /**<  */
151 } xcb_shm_put_image_request_t;
152 
153 /**
154  * @brief xcb_shm_get_image_cookie_t
155  **/
156 typedef struct xcb_shm_get_image_cookie_t {
157     unsigned int sequence; /**<  */
158 } xcb_shm_get_image_cookie_t;
159 
160 /** Opcode for xcb_shm_get_image. */
161 #define XCB_SHM_GET_IMAGE 4
162 
163 /**
164  * @brief xcb_shm_get_image_request_t
165  **/
166 typedef struct xcb_shm_get_image_request_t {
167     uint8_t        major_opcode; /**<  */
168     uint8_t        minor_opcode; /**<  */
169     uint16_t       length; /**<  */
170     xcb_drawable_t drawable; /**<  */
171     int16_t        x; /**<  */
172     int16_t        y; /**<  */
173     uint16_t       width; /**<  */
174     uint16_t       height; /**<  */
175     uint32_t       plane_mask; /**<  */
176     uint8_t        format; /**<  */
177     uint8_t        pad0[3]; /**<  */
178     xcb_shm_seg_t  shmseg; /**<  */
179     uint32_t       offset; /**<  */
180 } xcb_shm_get_image_request_t;
181 
182 /**
183  * @brief xcb_shm_get_image_reply_t
184  **/
185 typedef struct xcb_shm_get_image_reply_t {
186     uint8_t        response_type; /**<  */
187     uint8_t        depth; /**<  */
188     uint16_t       sequence; /**<  */
189     uint32_t       length; /**<  */
190     xcb_visualid_t visual; /**<  */
191     uint32_t       size; /**<  */
192 } xcb_shm_get_image_reply_t;
193 
194 /** Opcode for xcb_shm_create_pixmap. */
195 #define XCB_SHM_CREATE_PIXMAP 5
196 
197 /**
198  * @brief xcb_shm_create_pixmap_request_t
199  **/
200 typedef struct xcb_shm_create_pixmap_request_t {
201     uint8_t        major_opcode; /**<  */
202     uint8_t        minor_opcode; /**<  */
203     uint16_t       length; /**<  */
204     xcb_pixmap_t   pid; /**<  */
205     xcb_drawable_t drawable; /**<  */
206     uint16_t       width; /**<  */
207     uint16_t       height; /**<  */
208     uint8_t        depth; /**<  */
209     uint8_t        pad0[3]; /**<  */
210     xcb_shm_seg_t  shmseg; /**<  */
211     uint32_t       offset; /**<  */
212 } xcb_shm_create_pixmap_request_t;
213 
214 /** Opcode for xcb_shm_attach_fd. */
215 #define XCB_SHM_ATTACH_FD 6
216 
217 /**
218  * @brief xcb_shm_attach_fd_request_t
219  **/
220 typedef struct xcb_shm_attach_fd_request_t {
221     uint8_t       major_opcode; /**<  */
222     uint8_t       minor_opcode; /**<  */
223     uint16_t      length; /**<  */
224     xcb_shm_seg_t shmseg; /**<  */
225     uint8_t       read_only; /**<  */
226     uint8_t       pad0[3]; /**<  */
227 } xcb_shm_attach_fd_request_t;
228 
229 /**
230  * @brief xcb_shm_create_segment_cookie_t
231  **/
232 typedef struct xcb_shm_create_segment_cookie_t {
233     unsigned int sequence; /**<  */
234 } xcb_shm_create_segment_cookie_t;
235 
236 /** Opcode for xcb_shm_create_segment. */
237 #define XCB_SHM_CREATE_SEGMENT 7
238 
239 /**
240  * @brief xcb_shm_create_segment_request_t
241  **/
242 typedef struct xcb_shm_create_segment_request_t {
243     uint8_t       major_opcode; /**<  */
244     uint8_t       minor_opcode; /**<  */
245     uint16_t      length; /**<  */
246     xcb_shm_seg_t shmseg; /**<  */
247     uint32_t      size; /**<  */
248     uint8_t       read_only; /**<  */
249     uint8_t       pad0[3]; /**<  */
250 } xcb_shm_create_segment_request_t;
251 
252 /**
253  * @brief xcb_shm_create_segment_reply_t
254  **/
255 typedef struct xcb_shm_create_segment_reply_t {
256     uint8_t  response_type; /**<  */
257     uint8_t  nfd; /**<  */
258     uint16_t sequence; /**<  */
259     uint32_t length; /**<  */
260     uint8_t  pad0[24]; /**<  */
261 } xcb_shm_create_segment_reply_t;
262 
263 /**
264  * Get the next element of the iterator
265  * @param i Pointer to a xcb_shm_seg_iterator_t
266  *
267  * Get the next element in the iterator. The member rem is
268  * decreased by one. The member data points to the next
269  * element. The member index is increased by sizeof(xcb_shm_seg_t)
270  */
271 
272 /*****************************************************************************
273  **
274  ** void xcb_shm_seg_next
275  **
276  ** @param xcb_shm_seg_iterator_t *i
277  ** @returns void
278  **
279  *****************************************************************************/
280 
281 void
282 xcb_shm_seg_next (xcb_shm_seg_iterator_t *i  /**< */);
283 
284 /**
285  * Return the iterator pointing to the last element
286  * @param i An xcb_shm_seg_iterator_t
287  * @return  The iterator pointing to the last element
288  *
289  * Set the current element in the iterator to the last element.
290  * The member rem is set to 0. The member data points to the
291  * last element.
292  */
293 
294 /*****************************************************************************
295  **
296  ** xcb_generic_iterator_t xcb_shm_seg_end
297  **
298  ** @param xcb_shm_seg_iterator_t i
299  ** @returns xcb_generic_iterator_t
300  **
301  *****************************************************************************/
302 
303 xcb_generic_iterator_t
304 xcb_shm_seg_end (xcb_shm_seg_iterator_t i  /**< */);
305 
306 /**
307  *
308  * @param c The connection
309  * @return A cookie
310  *
311  * Delivers a request to the X server.
312  *
313  */
314 
315 /*****************************************************************************
316  **
317  ** xcb_shm_query_version_cookie_t xcb_shm_query_version
318  **
319  ** @param xcb_connection_t *c
320  ** @returns xcb_shm_query_version_cookie_t
321  **
322  *****************************************************************************/
323 
324 xcb_shm_query_version_cookie_t
325 xcb_shm_query_version (xcb_connection_t *c  /**< */);
326 
327 /**
328  *
329  * @param c The connection
330  * @return A cookie
331  *
332  * Delivers a request to the X server.
333  *
334  * This form can be used only if the request will cause
335  * a reply to be generated. Any returned error will be
336  * placed in the event queue.
337  */
338 
339 /*****************************************************************************
340  **
341  ** xcb_shm_query_version_cookie_t xcb_shm_query_version_unchecked
342  **
343  ** @param xcb_connection_t *c
344  ** @returns xcb_shm_query_version_cookie_t
345  **
346  *****************************************************************************/
347 
348 xcb_shm_query_version_cookie_t
349 xcb_shm_query_version_unchecked (xcb_connection_t *c  /**< */);
350 
351 /**
352  * Return the reply
353  * @param c      The connection
354  * @param cookie The cookie
355  * @param e      The xcb_generic_error_t supplied
356  *
357  * Returns the reply of the request asked by
358  *
359  * The parameter @p e supplied to this function must be NULL if
360  * xcb_shm_query_version_unchecked(). is used.
361  * Otherwise, it stores the error if any.
362  *
363  * The returned value must be freed by the caller using free().
364  */
365 
366 /*****************************************************************************
367  **
368  ** xcb_shm_query_version_reply_t * xcb_shm_query_version_reply
369  **
370  ** @param xcb_connection_t                *c
371  ** @param xcb_shm_query_version_cookie_t   cookie
372  ** @param xcb_generic_error_t            **e
373  ** @returns xcb_shm_query_version_reply_t *
374  **
375  *****************************************************************************/
376 
377 xcb_shm_query_version_reply_t *
378 xcb_shm_query_version_reply (xcb_connection_t                *c  /**< */,
379                              xcb_shm_query_version_cookie_t   cookie  /**< */,
380                              xcb_generic_error_t            **e  /**< */);
381 
382 /**
383  *
384  * @param c The connection
385  * @return A cookie
386  *
387  * Delivers a request to the X server.
388  *
389  * This form can be used only if the request will not cause
390  * a reply to be generated. Any returned error will be
391  * saved for handling by xcb_request_check().
392  */
393 
394 /*****************************************************************************
395  **
396  ** xcb_void_cookie_t xcb_shm_attach_checked
397  **
398  ** @param xcb_connection_t *c
399  ** @param xcb_shm_seg_t     shmseg
400  ** @param uint32_t          shmid
401  ** @param uint8_t           read_only
402  ** @returns xcb_void_cookie_t
403  **
404  *****************************************************************************/
405 
406 xcb_void_cookie_t
407 xcb_shm_attach_checked (xcb_connection_t *c  /**< */,
408                         xcb_shm_seg_t     shmseg  /**< */,
409                         uint32_t          shmid  /**< */,
410                         uint8_t           read_only  /**< */);
411 
412 /**
413  *
414  * @param c The connection
415  * @return A cookie
416  *
417  * Delivers a request to the X server.
418  *
419  */
420 
421 /*****************************************************************************
422  **
423  ** xcb_void_cookie_t xcb_shm_attach
424  **
425  ** @param xcb_connection_t *c
426  ** @param xcb_shm_seg_t     shmseg
427  ** @param uint32_t          shmid
428  ** @param uint8_t           read_only
429  ** @returns xcb_void_cookie_t
430  **
431  *****************************************************************************/
432 
433 xcb_void_cookie_t
434 xcb_shm_attach (xcb_connection_t *c  /**< */,
435                 xcb_shm_seg_t     shmseg  /**< */,
436                 uint32_t          shmid  /**< */,
437                 uint8_t           read_only  /**< */);
438 
439 /**
440  *
441  * @param c The connection
442  * @return A cookie
443  *
444  * Delivers a request to the X server.
445  *
446  * This form can be used only if the request will not cause
447  * a reply to be generated. Any returned error will be
448  * saved for handling by xcb_request_check().
449  */
450 
451 /*****************************************************************************
452  **
453  ** xcb_void_cookie_t xcb_shm_detach_checked
454  **
455  ** @param xcb_connection_t *c
456  ** @param xcb_shm_seg_t     shmseg
457  ** @returns xcb_void_cookie_t
458  **
459  *****************************************************************************/
460 
461 xcb_void_cookie_t
462 xcb_shm_detach_checked (xcb_connection_t *c  /**< */,
463                         xcb_shm_seg_t     shmseg  /**< */);
464 
465 /**
466  *
467  * @param c The connection
468  * @return A cookie
469  *
470  * Delivers a request to the X server.
471  *
472  */
473 
474 /*****************************************************************************
475  **
476  ** xcb_void_cookie_t xcb_shm_detach
477  **
478  ** @param xcb_connection_t *c
479  ** @param xcb_shm_seg_t     shmseg
480  ** @returns xcb_void_cookie_t
481  **
482  *****************************************************************************/
483 
484 xcb_void_cookie_t
485 xcb_shm_detach (xcb_connection_t *c  /**< */,
486                 xcb_shm_seg_t     shmseg  /**< */);
487 
488 /**
489  *
490  * @param c The connection
491  * @return A cookie
492  *
493  * Delivers a request to the X server.
494  *
495  * This form can be used only if the request will not cause
496  * a reply to be generated. Any returned error will be
497  * saved for handling by xcb_request_check().
498  */
499 
500 /*****************************************************************************
501  **
502  ** xcb_void_cookie_t xcb_shm_put_image_checked
503  **
504  ** @param xcb_connection_t *c
505  ** @param xcb_drawable_t    drawable
506  ** @param xcb_gcontext_t    gc
507  ** @param uint16_t          total_width
508  ** @param uint16_t          total_height
509  ** @param uint16_t          src_x
510  ** @param uint16_t          src_y
511  ** @param uint16_t          src_width
512  ** @param uint16_t          src_height
513  ** @param int16_t           dst_x
514  ** @param int16_t           dst_y
515  ** @param uint8_t           depth
516  ** @param uint8_t           format
517  ** @param uint8_t           send_event
518  ** @param xcb_shm_seg_t     shmseg
519  ** @param uint32_t          offset
520  ** @returns xcb_void_cookie_t
521  **
522  *****************************************************************************/
523 
524 xcb_void_cookie_t
525 xcb_shm_put_image_checked (xcb_connection_t *c  /**< */,
526                            xcb_drawable_t    drawable  /**< */,
527                            xcb_gcontext_t    gc  /**< */,
528                            uint16_t          total_width  /**< */,
529                            uint16_t          total_height  /**< */,
530                            uint16_t          src_x  /**< */,
531                            uint16_t          src_y  /**< */,
532                            uint16_t          src_width  /**< */,
533                            uint16_t          src_height  /**< */,
534                            int16_t           dst_x  /**< */,
535                            int16_t           dst_y  /**< */,
536                            uint8_t           depth  /**< */,
537                            uint8_t           format  /**< */,
538                            uint8_t           send_event  /**< */,
539                            xcb_shm_seg_t     shmseg  /**< */,
540                            uint32_t          offset  /**< */);
541 
542 /**
543  *
544  * @param c The connection
545  * @return A cookie
546  *
547  * Delivers a request to the X server.
548  *
549  */
550 
551 /*****************************************************************************
552  **
553  ** xcb_void_cookie_t xcb_shm_put_image
554  **
555  ** @param xcb_connection_t *c
556  ** @param xcb_drawable_t    drawable
557  ** @param xcb_gcontext_t    gc
558  ** @param uint16_t          total_width
559  ** @param uint16_t          total_height
560  ** @param uint16_t          src_x
561  ** @param uint16_t          src_y
562  ** @param uint16_t          src_width
563  ** @param uint16_t          src_height
564  ** @param int16_t           dst_x
565  ** @param int16_t           dst_y
566  ** @param uint8_t           depth
567  ** @param uint8_t           format
568  ** @param uint8_t           send_event
569  ** @param xcb_shm_seg_t     shmseg
570  ** @param uint32_t          offset
571  ** @returns xcb_void_cookie_t
572  **
573  *****************************************************************************/
574 
575 xcb_void_cookie_t
576 xcb_shm_put_image (xcb_connection_t *c  /**< */,
577                    xcb_drawable_t    drawable  /**< */,
578                    xcb_gcontext_t    gc  /**< */,
579                    uint16_t          total_width  /**< */,
580                    uint16_t          total_height  /**< */,
581                    uint16_t          src_x  /**< */,
582                    uint16_t          src_y  /**< */,
583                    uint16_t          src_width  /**< */,
584                    uint16_t          src_height  /**< */,
585                    int16_t           dst_x  /**< */,
586                    int16_t           dst_y  /**< */,
587                    uint8_t           depth  /**< */,
588                    uint8_t           format  /**< */,
589                    uint8_t           send_event  /**< */,
590                    xcb_shm_seg_t     shmseg  /**< */,
591                    uint32_t          offset  /**< */);
592 
593 /**
594  *
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_shm_get_image_cookie_t xcb_shm_get_image
605  **
606  ** @param xcb_connection_t *c
607  ** @param xcb_drawable_t    drawable
608  ** @param int16_t           x
609  ** @param int16_t           y
610  ** @param uint16_t          width
611  ** @param uint16_t          height
612  ** @param uint32_t          plane_mask
613  ** @param uint8_t           format
614  ** @param xcb_shm_seg_t     shmseg
615  ** @param uint32_t          offset
616  ** @returns xcb_shm_get_image_cookie_t
617  **
618  *****************************************************************************/
619 
620 xcb_shm_get_image_cookie_t
621 xcb_shm_get_image (xcb_connection_t *c  /**< */,
622                    xcb_drawable_t    drawable  /**< */,
623                    int16_t           x  /**< */,
624                    int16_t           y  /**< */,
625                    uint16_t          width  /**< */,
626                    uint16_t          height  /**< */,
627                    uint32_t          plane_mask  /**< */,
628                    uint8_t           format  /**< */,
629                    xcb_shm_seg_t     shmseg  /**< */,
630                    uint32_t          offset  /**< */);
631 
632 /**
633  *
634  * @param c The connection
635  * @return A cookie
636  *
637  * Delivers a request to the X server.
638  *
639  * This form can be used only if the request will cause
640  * a reply to be generated. Any returned error will be
641  * placed in the event queue.
642  */
643 
644 /*****************************************************************************
645  **
646  ** xcb_shm_get_image_cookie_t xcb_shm_get_image_unchecked
647  **
648  ** @param xcb_connection_t *c
649  ** @param xcb_drawable_t    drawable
650  ** @param int16_t           x
651  ** @param int16_t           y
652  ** @param uint16_t          width
653  ** @param uint16_t          height
654  ** @param uint32_t          plane_mask
655  ** @param uint8_t           format
656  ** @param xcb_shm_seg_t     shmseg
657  ** @param uint32_t          offset
658  ** @returns xcb_shm_get_image_cookie_t
659  **
660  *****************************************************************************/
661 
662 xcb_shm_get_image_cookie_t
663 xcb_shm_get_image_unchecked (xcb_connection_t *c  /**< */,
664                              xcb_drawable_t    drawable  /**< */,
665                              int16_t           x  /**< */,
666                              int16_t           y  /**< */,
667                              uint16_t          width  /**< */,
668                              uint16_t          height  /**< */,
669                              uint32_t          plane_mask  /**< */,
670                              uint8_t           format  /**< */,
671                              xcb_shm_seg_t     shmseg  /**< */,
672                              uint32_t          offset  /**< */);
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_shm_get_image_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 
689 /*****************************************************************************
690  **
691  ** xcb_shm_get_image_reply_t * xcb_shm_get_image_reply
692  **
693  ** @param xcb_connection_t            *c
694  ** @param xcb_shm_get_image_cookie_t   cookie
695  ** @param xcb_generic_error_t        **e
696  ** @returns xcb_shm_get_image_reply_t *
697  **
698  *****************************************************************************/
699 
700 xcb_shm_get_image_reply_t *
701 xcb_shm_get_image_reply (xcb_connection_t            *c  /**< */,
702                          xcb_shm_get_image_cookie_t   cookie  /**< */,
703                          xcb_generic_error_t        **e  /**< */);
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 not cause
713  * a reply to be generated. Any returned error will be
714  * saved for handling by xcb_request_check().
715  */
716 
717 /*****************************************************************************
718  **
719  ** xcb_void_cookie_t xcb_shm_create_pixmap_checked
720  **
721  ** @param xcb_connection_t *c
722  ** @param xcb_pixmap_t      pid
723  ** @param xcb_drawable_t    drawable
724  ** @param uint16_t          width
725  ** @param uint16_t          height
726  ** @param uint8_t           depth
727  ** @param xcb_shm_seg_t     shmseg
728  ** @param uint32_t          offset
729  ** @returns xcb_void_cookie_t
730  **
731  *****************************************************************************/
732 
733 xcb_void_cookie_t
734 xcb_shm_create_pixmap_checked (xcb_connection_t *c  /**< */,
735                                xcb_pixmap_t      pid  /**< */,
736                                xcb_drawable_t    drawable  /**< */,
737                                uint16_t          width  /**< */,
738                                uint16_t          height  /**< */,
739                                uint8_t           depth  /**< */,
740                                xcb_shm_seg_t     shmseg  /**< */,
741                                uint32_t          offset  /**< */);
742 
743 /**
744  *
745  * @param c The connection
746  * @return A cookie
747  *
748  * Delivers a request to the X server.
749  *
750  */
751 
752 /*****************************************************************************
753  **
754  ** xcb_void_cookie_t xcb_shm_create_pixmap
755  **
756  ** @param xcb_connection_t *c
757  ** @param xcb_pixmap_t      pid
758  ** @param xcb_drawable_t    drawable
759  ** @param uint16_t          width
760  ** @param uint16_t          height
761  ** @param uint8_t           depth
762  ** @param xcb_shm_seg_t     shmseg
763  ** @param uint32_t          offset
764  ** @returns xcb_void_cookie_t
765  **
766  *****************************************************************************/
767 
768 xcb_void_cookie_t
769 xcb_shm_create_pixmap (xcb_connection_t *c  /**< */,
770                        xcb_pixmap_t      pid  /**< */,
771                        xcb_drawable_t    drawable  /**< */,
772                        uint16_t          width  /**< */,
773                        uint16_t          height  /**< */,
774                        uint8_t           depth  /**< */,
775                        xcb_shm_seg_t     shmseg  /**< */,
776                        uint32_t          offset  /**< */);
777 
778 /**
779  *
780  * @param c The connection
781  * @return A cookie
782  *
783  * Delivers a request to the X server.
784  *
785  * This form can be used only if the request will not cause
786  * a reply to be generated. Any returned error will be
787  * saved for handling by xcb_request_check().
788  */
789 
790 /*****************************************************************************
791  **
792  ** xcb_void_cookie_t xcb_shm_attach_fd_checked
793  **
794  ** @param xcb_connection_t *c
795  ** @param xcb_shm_seg_t     shmseg
796  ** @param int32_t           shm_fd
797  ** @param uint8_t           read_only
798  ** @returns xcb_void_cookie_t
799  **
800  *****************************************************************************/
801 
802 xcb_void_cookie_t
803 xcb_shm_attach_fd_checked (xcb_connection_t *c  /**< */,
804                            xcb_shm_seg_t     shmseg  /**< */,
805                            int32_t           shm_fd  /**< */,
806                            uint8_t           read_only  /**< */);
807 
808 /**
809  *
810  * @param c The connection
811  * @return A cookie
812  *
813  * Delivers a request to the X server.
814  *
815  */
816 
817 /*****************************************************************************
818  **
819  ** xcb_void_cookie_t xcb_shm_attach_fd
820  **
821  ** @param xcb_connection_t *c
822  ** @param xcb_shm_seg_t     shmseg
823  ** @param int32_t           shm_fd
824  ** @param uint8_t           read_only
825  ** @returns xcb_void_cookie_t
826  **
827  *****************************************************************************/
828 
829 xcb_void_cookie_t
830 xcb_shm_attach_fd (xcb_connection_t *c  /**< */,
831                    xcb_shm_seg_t     shmseg  /**< */,
832                    int32_t           shm_fd  /**< */,
833                    uint8_t           read_only  /**< */);
834 
835 /**
836  *
837  * @param c The connection
838  * @return A cookie
839  *
840  * Delivers a request to the X server.
841  *
842  */
843 
844 /*****************************************************************************
845  **
846  ** xcb_shm_create_segment_cookie_t xcb_shm_create_segment
847  **
848  ** @param xcb_connection_t *c
849  ** @param xcb_shm_seg_t     shmseg
850  ** @param uint32_t          size
851  ** @param uint8_t           read_only
852  ** @returns xcb_shm_create_segment_cookie_t
853  **
854  *****************************************************************************/
855 
856 xcb_shm_create_segment_cookie_t
857 xcb_shm_create_segment (xcb_connection_t *c  /**< */,
858                         xcb_shm_seg_t     shmseg  /**< */,
859                         uint32_t          size  /**< */,
860                         uint8_t           read_only  /**< */);
861 
862 /**
863  *
864  * @param c The connection
865  * @return A cookie
866  *
867  * Delivers a request to the X server.
868  *
869  * This form can be used only if the request will cause
870  * a reply to be generated. Any returned error will be
871  * placed in the event queue.
872  */
873 
874 /*****************************************************************************
875  **
876  ** xcb_shm_create_segment_cookie_t xcb_shm_create_segment_unchecked
877  **
878  ** @param xcb_connection_t *c
879  ** @param xcb_shm_seg_t     shmseg
880  ** @param uint32_t          size
881  ** @param uint8_t           read_only
882  ** @returns xcb_shm_create_segment_cookie_t
883  **
884  *****************************************************************************/
885 
886 xcb_shm_create_segment_cookie_t
887 xcb_shm_create_segment_unchecked (xcb_connection_t *c  /**< */,
888                                   xcb_shm_seg_t     shmseg  /**< */,
889                                   uint32_t          size  /**< */,
890                                   uint8_t           read_only  /**< */);
891 
892 /**
893  * Return the reply
894  * @param c      The connection
895  * @param cookie The cookie
896  * @param e      The xcb_generic_error_t supplied
897  *
898  * Returns the reply of the request asked by
899  *
900  * The parameter @p e supplied to this function must be NULL if
901  * xcb_shm_create_segment_unchecked(). is used.
902  * Otherwise, it stores the error if any.
903  *
904  * The returned value must be freed by the caller using free().
905  */
906 
907 /*****************************************************************************
908  **
909  ** xcb_shm_create_segment_reply_t * xcb_shm_create_segment_reply
910  **
911  ** @param xcb_connection_t                 *c
912  ** @param xcb_shm_create_segment_cookie_t   cookie
913  ** @param xcb_generic_error_t             **e
914  ** @returns xcb_shm_create_segment_reply_t *
915  **
916  *****************************************************************************/
917 
918 xcb_shm_create_segment_reply_t *
919 xcb_shm_create_segment_reply (xcb_connection_t                 *c  /**< */,
920                               xcb_shm_create_segment_cookie_t   cookie  /**< */,
921                               xcb_generic_error_t             **e  /**< */);
922 
923 /**
924  * Return the reply fds
925  * @param c      The connection
926  * @param reply  The reply
927  *
928  * Returns the array of reply fds of the request asked by
929  *
930  * The returned value must be freed by the caller using free().
931  */
932 
933 /*****************************************************************************
934  **
935  ** int * xcb_shm_create_segment_reply_fds
936  **
937  ** @param xcb_connection_t                *c
938  ** @param xcb_shm_create_segment_reply_t  *reply
939  ** @returns int *
940  **
941  *****************************************************************************/
942 
943 int *
944 xcb_shm_create_segment_reply_fds (xcb_connection_t                *c  /**< */,
945                                   xcb_shm_create_segment_reply_t  *reply  /**< */);
946 
947 
948 #ifdef __cplusplus
949 }
950 #endif
951 
952 #endif
953 
954 /**
955  * @}
956  */
957