xref: /minix3/external/mit/xorg/lib/libxcb/files/shm.h (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1971bb1a5SLionel Sambuc /*
2971bb1a5SLionel Sambuc  * This file generated automatically from shm.xml by c_client.py.
3971bb1a5SLionel Sambuc  * Edit at your peril.
4971bb1a5SLionel Sambuc  */
5971bb1a5SLionel Sambuc 
6971bb1a5SLionel Sambuc /**
7971bb1a5SLionel Sambuc  * @defgroup XCB_Shm_API XCB Shm API
8971bb1a5SLionel Sambuc  * @brief Shm XCB Protocol Implementation.
9971bb1a5SLionel Sambuc  * @{
10971bb1a5SLionel Sambuc  **/
11971bb1a5SLionel Sambuc 
12971bb1a5SLionel Sambuc #ifndef __SHM_H
13971bb1a5SLionel Sambuc #define __SHM_H
14971bb1a5SLionel Sambuc 
15971bb1a5SLionel Sambuc #include "xcb.h"
16971bb1a5SLionel Sambuc #include "xproto.h"
17971bb1a5SLionel Sambuc 
18971bb1a5SLionel Sambuc #ifdef __cplusplus
19971bb1a5SLionel Sambuc extern "C" {
20971bb1a5SLionel Sambuc #endif
21971bb1a5SLionel Sambuc 
22971bb1a5SLionel Sambuc #define XCB_SHM_MAJOR_VERSION 1
23*0a6a1f1dSLionel Sambuc #define XCB_SHM_MINOR_VERSION 2
24971bb1a5SLionel Sambuc 
25971bb1a5SLionel Sambuc extern xcb_extension_t xcb_shm_id;
26971bb1a5SLionel Sambuc 
27971bb1a5SLionel Sambuc typedef uint32_t xcb_shm_seg_t;
28971bb1a5SLionel Sambuc 
29971bb1a5SLionel Sambuc /**
30971bb1a5SLionel Sambuc  * @brief xcb_shm_seg_iterator_t
31971bb1a5SLionel Sambuc  **/
32971bb1a5SLionel Sambuc typedef struct xcb_shm_seg_iterator_t {
33971bb1a5SLionel Sambuc     xcb_shm_seg_t *data; /**<  */
34971bb1a5SLionel Sambuc     int            rem; /**<  */
35971bb1a5SLionel Sambuc     int            index; /**<  */
36971bb1a5SLionel Sambuc } xcb_shm_seg_iterator_t;
37971bb1a5SLionel Sambuc 
38971bb1a5SLionel Sambuc /** Opcode for xcb_shm_completion. */
39971bb1a5SLionel Sambuc #define XCB_SHM_COMPLETION 0
40971bb1a5SLionel Sambuc 
41971bb1a5SLionel Sambuc /**
42971bb1a5SLionel Sambuc  * @brief xcb_shm_completion_event_t
43971bb1a5SLionel Sambuc  **/
44971bb1a5SLionel Sambuc typedef struct xcb_shm_completion_event_t {
45971bb1a5SLionel Sambuc     uint8_t        response_type; /**<  */
46971bb1a5SLionel Sambuc     uint8_t        pad0; /**<  */
47971bb1a5SLionel Sambuc     uint16_t       sequence; /**<  */
48971bb1a5SLionel Sambuc     xcb_drawable_t drawable; /**<  */
49971bb1a5SLionel Sambuc     uint16_t       minor_event; /**<  */
50971bb1a5SLionel Sambuc     uint8_t        major_event; /**<  */
51971bb1a5SLionel Sambuc     uint8_t        pad1; /**<  */
52971bb1a5SLionel Sambuc     xcb_shm_seg_t  shmseg; /**<  */
53971bb1a5SLionel Sambuc     uint32_t       offset; /**<  */
54971bb1a5SLionel Sambuc } xcb_shm_completion_event_t;
55971bb1a5SLionel Sambuc 
56971bb1a5SLionel Sambuc /** Opcode for xcb_shm_bad_seg. */
57971bb1a5SLionel Sambuc #define XCB_SHM_BAD_SEG 0
58971bb1a5SLionel Sambuc 
59971bb1a5SLionel Sambuc typedef xcb_value_error_t xcb_shm_bad_seg_error_t;
60971bb1a5SLionel Sambuc 
61971bb1a5SLionel Sambuc /**
62971bb1a5SLionel Sambuc  * @brief xcb_shm_query_version_cookie_t
63971bb1a5SLionel Sambuc  **/
64971bb1a5SLionel Sambuc typedef struct xcb_shm_query_version_cookie_t {
65971bb1a5SLionel Sambuc     unsigned int sequence; /**<  */
66971bb1a5SLionel Sambuc } xcb_shm_query_version_cookie_t;
67971bb1a5SLionel Sambuc 
68971bb1a5SLionel Sambuc /** Opcode for xcb_shm_query_version. */
69971bb1a5SLionel Sambuc #define XCB_SHM_QUERY_VERSION 0
70971bb1a5SLionel Sambuc 
71971bb1a5SLionel Sambuc /**
72971bb1a5SLionel Sambuc  * @brief xcb_shm_query_version_request_t
73971bb1a5SLionel Sambuc  **/
74971bb1a5SLionel Sambuc typedef struct xcb_shm_query_version_request_t {
75971bb1a5SLionel Sambuc     uint8_t  major_opcode; /**<  */
76971bb1a5SLionel Sambuc     uint8_t  minor_opcode; /**<  */
77971bb1a5SLionel Sambuc     uint16_t length; /**<  */
78971bb1a5SLionel Sambuc } xcb_shm_query_version_request_t;
79971bb1a5SLionel Sambuc 
80971bb1a5SLionel Sambuc /**
81971bb1a5SLionel Sambuc  * @brief xcb_shm_query_version_reply_t
82971bb1a5SLionel Sambuc  **/
83971bb1a5SLionel Sambuc typedef struct xcb_shm_query_version_reply_t {
84971bb1a5SLionel Sambuc     uint8_t  response_type; /**<  */
85971bb1a5SLionel Sambuc     uint8_t  shared_pixmaps; /**<  */
86971bb1a5SLionel Sambuc     uint16_t sequence; /**<  */
87971bb1a5SLionel Sambuc     uint32_t length; /**<  */
88971bb1a5SLionel Sambuc     uint16_t major_version; /**<  */
89971bb1a5SLionel Sambuc     uint16_t minor_version; /**<  */
90971bb1a5SLionel Sambuc     uint16_t uid; /**<  */
91971bb1a5SLionel Sambuc     uint16_t gid; /**<  */
92971bb1a5SLionel Sambuc     uint8_t  pixmap_format; /**<  */
93971bb1a5SLionel Sambuc     uint8_t  pad0[15]; /**<  */
94971bb1a5SLionel Sambuc } xcb_shm_query_version_reply_t;
95971bb1a5SLionel Sambuc 
96971bb1a5SLionel Sambuc /** Opcode for xcb_shm_attach. */
97971bb1a5SLionel Sambuc #define XCB_SHM_ATTACH 1
98971bb1a5SLionel Sambuc 
99971bb1a5SLionel Sambuc /**
100971bb1a5SLionel Sambuc  * @brief xcb_shm_attach_request_t
101971bb1a5SLionel Sambuc  **/
102971bb1a5SLionel Sambuc typedef struct xcb_shm_attach_request_t {
103971bb1a5SLionel Sambuc     uint8_t       major_opcode; /**<  */
104971bb1a5SLionel Sambuc     uint8_t       minor_opcode; /**<  */
105971bb1a5SLionel Sambuc     uint16_t      length; /**<  */
106971bb1a5SLionel Sambuc     xcb_shm_seg_t shmseg; /**<  */
107971bb1a5SLionel Sambuc     uint32_t      shmid; /**<  */
108971bb1a5SLionel Sambuc     uint8_t       read_only; /**<  */
109971bb1a5SLionel Sambuc     uint8_t       pad0[3]; /**<  */
110971bb1a5SLionel Sambuc } xcb_shm_attach_request_t;
111971bb1a5SLionel Sambuc 
112971bb1a5SLionel Sambuc /** Opcode for xcb_shm_detach. */
113971bb1a5SLionel Sambuc #define XCB_SHM_DETACH 2
114971bb1a5SLionel Sambuc 
115971bb1a5SLionel Sambuc /**
116971bb1a5SLionel Sambuc  * @brief xcb_shm_detach_request_t
117971bb1a5SLionel Sambuc  **/
118971bb1a5SLionel Sambuc typedef struct xcb_shm_detach_request_t {
119971bb1a5SLionel Sambuc     uint8_t       major_opcode; /**<  */
120971bb1a5SLionel Sambuc     uint8_t       minor_opcode; /**<  */
121971bb1a5SLionel Sambuc     uint16_t      length; /**<  */
122971bb1a5SLionel Sambuc     xcb_shm_seg_t shmseg; /**<  */
123971bb1a5SLionel Sambuc } xcb_shm_detach_request_t;
124971bb1a5SLionel Sambuc 
125971bb1a5SLionel Sambuc /** Opcode for xcb_shm_put_image. */
126971bb1a5SLionel Sambuc #define XCB_SHM_PUT_IMAGE 3
127971bb1a5SLionel Sambuc 
128971bb1a5SLionel Sambuc /**
129971bb1a5SLionel Sambuc  * @brief xcb_shm_put_image_request_t
130971bb1a5SLionel Sambuc  **/
131971bb1a5SLionel Sambuc typedef struct xcb_shm_put_image_request_t {
132971bb1a5SLionel Sambuc     uint8_t        major_opcode; /**<  */
133971bb1a5SLionel Sambuc     uint8_t        minor_opcode; /**<  */
134971bb1a5SLionel Sambuc     uint16_t       length; /**<  */
135971bb1a5SLionel Sambuc     xcb_drawable_t drawable; /**<  */
136971bb1a5SLionel Sambuc     xcb_gcontext_t gc; /**<  */
137971bb1a5SLionel Sambuc     uint16_t       total_width; /**<  */
138971bb1a5SLionel Sambuc     uint16_t       total_height; /**<  */
139971bb1a5SLionel Sambuc     uint16_t       src_x; /**<  */
140971bb1a5SLionel Sambuc     uint16_t       src_y; /**<  */
141971bb1a5SLionel Sambuc     uint16_t       src_width; /**<  */
142971bb1a5SLionel Sambuc     uint16_t       src_height; /**<  */
143971bb1a5SLionel Sambuc     int16_t        dst_x; /**<  */
144971bb1a5SLionel Sambuc     int16_t        dst_y; /**<  */
145971bb1a5SLionel Sambuc     uint8_t        depth; /**<  */
146971bb1a5SLionel Sambuc     uint8_t        format; /**<  */
147971bb1a5SLionel Sambuc     uint8_t        send_event; /**<  */
148971bb1a5SLionel Sambuc     uint8_t        pad0; /**<  */
149971bb1a5SLionel Sambuc     xcb_shm_seg_t  shmseg; /**<  */
150971bb1a5SLionel Sambuc     uint32_t       offset; /**<  */
151971bb1a5SLionel Sambuc } xcb_shm_put_image_request_t;
152971bb1a5SLionel Sambuc 
153971bb1a5SLionel Sambuc /**
154971bb1a5SLionel Sambuc  * @brief xcb_shm_get_image_cookie_t
155971bb1a5SLionel Sambuc  **/
156971bb1a5SLionel Sambuc typedef struct xcb_shm_get_image_cookie_t {
157971bb1a5SLionel Sambuc     unsigned int sequence; /**<  */
158971bb1a5SLionel Sambuc } xcb_shm_get_image_cookie_t;
159971bb1a5SLionel Sambuc 
160971bb1a5SLionel Sambuc /** Opcode for xcb_shm_get_image. */
161971bb1a5SLionel Sambuc #define XCB_SHM_GET_IMAGE 4
162971bb1a5SLionel Sambuc 
163971bb1a5SLionel Sambuc /**
164971bb1a5SLionel Sambuc  * @brief xcb_shm_get_image_request_t
165971bb1a5SLionel Sambuc  **/
166971bb1a5SLionel Sambuc typedef struct xcb_shm_get_image_request_t {
167971bb1a5SLionel Sambuc     uint8_t        major_opcode; /**<  */
168971bb1a5SLionel Sambuc     uint8_t        minor_opcode; /**<  */
169971bb1a5SLionel Sambuc     uint16_t       length; /**<  */
170971bb1a5SLionel Sambuc     xcb_drawable_t drawable; /**<  */
171971bb1a5SLionel Sambuc     int16_t        x; /**<  */
172971bb1a5SLionel Sambuc     int16_t        y; /**<  */
173971bb1a5SLionel Sambuc     uint16_t       width; /**<  */
174971bb1a5SLionel Sambuc     uint16_t       height; /**<  */
175971bb1a5SLionel Sambuc     uint32_t       plane_mask; /**<  */
176971bb1a5SLionel Sambuc     uint8_t        format; /**<  */
177971bb1a5SLionel Sambuc     uint8_t        pad0[3]; /**<  */
178971bb1a5SLionel Sambuc     xcb_shm_seg_t  shmseg; /**<  */
179971bb1a5SLionel Sambuc     uint32_t       offset; /**<  */
180971bb1a5SLionel Sambuc } xcb_shm_get_image_request_t;
181971bb1a5SLionel Sambuc 
182971bb1a5SLionel Sambuc /**
183971bb1a5SLionel Sambuc  * @brief xcb_shm_get_image_reply_t
184971bb1a5SLionel Sambuc  **/
185971bb1a5SLionel Sambuc typedef struct xcb_shm_get_image_reply_t {
186971bb1a5SLionel Sambuc     uint8_t        response_type; /**<  */
187971bb1a5SLionel Sambuc     uint8_t        depth; /**<  */
188971bb1a5SLionel Sambuc     uint16_t       sequence; /**<  */
189971bb1a5SLionel Sambuc     uint32_t       length; /**<  */
190971bb1a5SLionel Sambuc     xcb_visualid_t visual; /**<  */
191971bb1a5SLionel Sambuc     uint32_t       size; /**<  */
192971bb1a5SLionel Sambuc } xcb_shm_get_image_reply_t;
193971bb1a5SLionel Sambuc 
194971bb1a5SLionel Sambuc /** Opcode for xcb_shm_create_pixmap. */
195971bb1a5SLionel Sambuc #define XCB_SHM_CREATE_PIXMAP 5
196971bb1a5SLionel Sambuc 
197971bb1a5SLionel Sambuc /**
198971bb1a5SLionel Sambuc  * @brief xcb_shm_create_pixmap_request_t
199971bb1a5SLionel Sambuc  **/
200971bb1a5SLionel Sambuc typedef struct xcb_shm_create_pixmap_request_t {
201971bb1a5SLionel Sambuc     uint8_t        major_opcode; /**<  */
202971bb1a5SLionel Sambuc     uint8_t        minor_opcode; /**<  */
203971bb1a5SLionel Sambuc     uint16_t       length; /**<  */
204971bb1a5SLionel Sambuc     xcb_pixmap_t   pid; /**<  */
205971bb1a5SLionel Sambuc     xcb_drawable_t drawable; /**<  */
206971bb1a5SLionel Sambuc     uint16_t       width; /**<  */
207971bb1a5SLionel Sambuc     uint16_t       height; /**<  */
208971bb1a5SLionel Sambuc     uint8_t        depth; /**<  */
209971bb1a5SLionel Sambuc     uint8_t        pad0[3]; /**<  */
210971bb1a5SLionel Sambuc     xcb_shm_seg_t  shmseg; /**<  */
211971bb1a5SLionel Sambuc     uint32_t       offset; /**<  */
212971bb1a5SLionel Sambuc } xcb_shm_create_pixmap_request_t;
213971bb1a5SLionel Sambuc 
214*0a6a1f1dSLionel Sambuc /** Opcode for xcb_shm_attach_fd. */
215*0a6a1f1dSLionel Sambuc #define XCB_SHM_ATTACH_FD 6
216*0a6a1f1dSLionel Sambuc 
217*0a6a1f1dSLionel Sambuc /**
218*0a6a1f1dSLionel Sambuc  * @brief xcb_shm_attach_fd_request_t
219*0a6a1f1dSLionel Sambuc  **/
220*0a6a1f1dSLionel Sambuc typedef struct xcb_shm_attach_fd_request_t {
221*0a6a1f1dSLionel Sambuc     uint8_t       major_opcode; /**<  */
222*0a6a1f1dSLionel Sambuc     uint8_t       minor_opcode; /**<  */
223*0a6a1f1dSLionel Sambuc     uint16_t      length; /**<  */
224*0a6a1f1dSLionel Sambuc     xcb_shm_seg_t shmseg; /**<  */
225*0a6a1f1dSLionel Sambuc     uint8_t       read_only; /**<  */
226*0a6a1f1dSLionel Sambuc     uint8_t       pad0[3]; /**<  */
227*0a6a1f1dSLionel Sambuc } xcb_shm_attach_fd_request_t;
228*0a6a1f1dSLionel Sambuc 
229*0a6a1f1dSLionel Sambuc /**
230*0a6a1f1dSLionel Sambuc  * @brief xcb_shm_create_segment_cookie_t
231*0a6a1f1dSLionel Sambuc  **/
232*0a6a1f1dSLionel Sambuc typedef struct xcb_shm_create_segment_cookie_t {
233*0a6a1f1dSLionel Sambuc     unsigned int sequence; /**<  */
234*0a6a1f1dSLionel Sambuc } xcb_shm_create_segment_cookie_t;
235*0a6a1f1dSLionel Sambuc 
236*0a6a1f1dSLionel Sambuc /** Opcode for xcb_shm_create_segment. */
237*0a6a1f1dSLionel Sambuc #define XCB_SHM_CREATE_SEGMENT 7
238*0a6a1f1dSLionel Sambuc 
239*0a6a1f1dSLionel Sambuc /**
240*0a6a1f1dSLionel Sambuc  * @brief xcb_shm_create_segment_request_t
241*0a6a1f1dSLionel Sambuc  **/
242*0a6a1f1dSLionel Sambuc typedef struct xcb_shm_create_segment_request_t {
243*0a6a1f1dSLionel Sambuc     uint8_t       major_opcode; /**<  */
244*0a6a1f1dSLionel Sambuc     uint8_t       minor_opcode; /**<  */
245*0a6a1f1dSLionel Sambuc     uint16_t      length; /**<  */
246*0a6a1f1dSLionel Sambuc     xcb_shm_seg_t shmseg; /**<  */
247*0a6a1f1dSLionel Sambuc     uint32_t      size; /**<  */
248*0a6a1f1dSLionel Sambuc     uint8_t       read_only; /**<  */
249*0a6a1f1dSLionel Sambuc     uint8_t       pad0[3]; /**<  */
250*0a6a1f1dSLionel Sambuc } xcb_shm_create_segment_request_t;
251*0a6a1f1dSLionel Sambuc 
252*0a6a1f1dSLionel Sambuc /**
253*0a6a1f1dSLionel Sambuc  * @brief xcb_shm_create_segment_reply_t
254*0a6a1f1dSLionel Sambuc  **/
255*0a6a1f1dSLionel Sambuc typedef struct xcb_shm_create_segment_reply_t {
256*0a6a1f1dSLionel Sambuc     uint8_t  response_type; /**<  */
257*0a6a1f1dSLionel Sambuc     uint8_t  nfd; /**<  */
258*0a6a1f1dSLionel Sambuc     uint16_t sequence; /**<  */
259*0a6a1f1dSLionel Sambuc     uint32_t length; /**<  */
260*0a6a1f1dSLionel Sambuc     uint8_t  pad0[24]; /**<  */
261*0a6a1f1dSLionel Sambuc } xcb_shm_create_segment_reply_t;
262*0a6a1f1dSLionel Sambuc 
263971bb1a5SLionel Sambuc /**
264971bb1a5SLionel Sambuc  * Get the next element of the iterator
265971bb1a5SLionel Sambuc  * @param i Pointer to a xcb_shm_seg_iterator_t
266971bb1a5SLionel Sambuc  *
267971bb1a5SLionel Sambuc  * Get the next element in the iterator. The member rem is
268971bb1a5SLionel Sambuc  * decreased by one. The member data points to the next
269971bb1a5SLionel Sambuc  * element. The member index is increased by sizeof(xcb_shm_seg_t)
270971bb1a5SLionel Sambuc  */
271971bb1a5SLionel Sambuc void
272971bb1a5SLionel Sambuc xcb_shm_seg_next (xcb_shm_seg_iterator_t *i  /**< */);
273971bb1a5SLionel Sambuc 
274971bb1a5SLionel Sambuc /**
275971bb1a5SLionel Sambuc  * Return the iterator pointing to the last element
276971bb1a5SLionel Sambuc  * @param i An xcb_shm_seg_iterator_t
277971bb1a5SLionel Sambuc  * @return  The iterator pointing to the last element
278971bb1a5SLionel Sambuc  *
279971bb1a5SLionel Sambuc  * Set the current element in the iterator to the last element.
280971bb1a5SLionel Sambuc  * The member rem is set to 0. The member data points to the
281971bb1a5SLionel Sambuc  * last element.
282971bb1a5SLionel Sambuc  */
283971bb1a5SLionel Sambuc xcb_generic_iterator_t
284971bb1a5SLionel Sambuc xcb_shm_seg_end (xcb_shm_seg_iterator_t i  /**< */);
285971bb1a5SLionel Sambuc 
286971bb1a5SLionel Sambuc /**
287971bb1a5SLionel Sambuc  *
288971bb1a5SLionel Sambuc  * @param c The connection
289971bb1a5SLionel Sambuc  * @return A cookie
290971bb1a5SLionel Sambuc  *
291971bb1a5SLionel Sambuc  * Delivers a request to the X server.
292971bb1a5SLionel Sambuc  *
293971bb1a5SLionel Sambuc  */
294971bb1a5SLionel Sambuc xcb_shm_query_version_cookie_t
295971bb1a5SLionel Sambuc xcb_shm_query_version (xcb_connection_t *c  /**< */);
296971bb1a5SLionel Sambuc 
297971bb1a5SLionel Sambuc /**
298971bb1a5SLionel Sambuc  *
299971bb1a5SLionel Sambuc  * @param c The connection
300971bb1a5SLionel Sambuc  * @return A cookie
301971bb1a5SLionel Sambuc  *
302971bb1a5SLionel Sambuc  * Delivers a request to the X server.
303971bb1a5SLionel Sambuc  *
304971bb1a5SLionel Sambuc  * This form can be used only if the request will cause
305971bb1a5SLionel Sambuc  * a reply to be generated. Any returned error will be
306971bb1a5SLionel Sambuc  * placed in the event queue.
307971bb1a5SLionel Sambuc  */
308971bb1a5SLionel Sambuc xcb_shm_query_version_cookie_t
309971bb1a5SLionel Sambuc xcb_shm_query_version_unchecked (xcb_connection_t *c  /**< */);
310971bb1a5SLionel Sambuc 
311971bb1a5SLionel Sambuc /**
312971bb1a5SLionel Sambuc  * Return the reply
313971bb1a5SLionel Sambuc  * @param c      The connection
314971bb1a5SLionel Sambuc  * @param cookie The cookie
315971bb1a5SLionel Sambuc  * @param e      The xcb_generic_error_t supplied
316971bb1a5SLionel Sambuc  *
317971bb1a5SLionel Sambuc  * Returns the reply of the request asked by
318971bb1a5SLionel Sambuc  *
319971bb1a5SLionel Sambuc  * The parameter @p e supplied to this function must be NULL if
320971bb1a5SLionel Sambuc  * xcb_shm_query_version_unchecked(). is used.
321971bb1a5SLionel Sambuc  * Otherwise, it stores the error if any.
322971bb1a5SLionel Sambuc  *
323971bb1a5SLionel Sambuc  * The returned value must be freed by the caller using free().
324971bb1a5SLionel Sambuc  */
325971bb1a5SLionel Sambuc xcb_shm_query_version_reply_t *
326971bb1a5SLionel Sambuc xcb_shm_query_version_reply (xcb_connection_t                *c  /**< */,
327971bb1a5SLionel Sambuc                              xcb_shm_query_version_cookie_t   cookie  /**< */,
328971bb1a5SLionel Sambuc                              xcb_generic_error_t            **e  /**< */);
329971bb1a5SLionel Sambuc 
330971bb1a5SLionel Sambuc /**
331971bb1a5SLionel Sambuc  *
332971bb1a5SLionel Sambuc  * @param c The connection
333971bb1a5SLionel Sambuc  * @return A cookie
334971bb1a5SLionel Sambuc  *
335971bb1a5SLionel Sambuc  * Delivers a request to the X server.
336971bb1a5SLionel Sambuc  *
337971bb1a5SLionel Sambuc  * This form can be used only if the request will not cause
338971bb1a5SLionel Sambuc  * a reply to be generated. Any returned error will be
339971bb1a5SLionel Sambuc  * saved for handling by xcb_request_check().
340971bb1a5SLionel Sambuc  */
341971bb1a5SLionel Sambuc xcb_void_cookie_t
342971bb1a5SLionel Sambuc xcb_shm_attach_checked (xcb_connection_t *c  /**< */,
343971bb1a5SLionel Sambuc                         xcb_shm_seg_t     shmseg  /**< */,
344971bb1a5SLionel Sambuc                         uint32_t          shmid  /**< */,
345971bb1a5SLionel Sambuc                         uint8_t           read_only  /**< */);
346971bb1a5SLionel Sambuc 
347971bb1a5SLionel Sambuc /**
348971bb1a5SLionel Sambuc  *
349971bb1a5SLionel Sambuc  * @param c The connection
350971bb1a5SLionel Sambuc  * @return A cookie
351971bb1a5SLionel Sambuc  *
352971bb1a5SLionel Sambuc  * Delivers a request to the X server.
353971bb1a5SLionel Sambuc  *
354971bb1a5SLionel Sambuc  */
355971bb1a5SLionel Sambuc xcb_void_cookie_t
356971bb1a5SLionel Sambuc xcb_shm_attach (xcb_connection_t *c  /**< */,
357971bb1a5SLionel Sambuc                 xcb_shm_seg_t     shmseg  /**< */,
358971bb1a5SLionel Sambuc                 uint32_t          shmid  /**< */,
359971bb1a5SLionel Sambuc                 uint8_t           read_only  /**< */);
360971bb1a5SLionel Sambuc 
361971bb1a5SLionel Sambuc /**
362971bb1a5SLionel Sambuc  *
363971bb1a5SLionel Sambuc  * @param c The connection
364971bb1a5SLionel Sambuc  * @return A cookie
365971bb1a5SLionel Sambuc  *
366971bb1a5SLionel Sambuc  * Delivers a request to the X server.
367971bb1a5SLionel Sambuc  *
368971bb1a5SLionel Sambuc  * This form can be used only if the request will not cause
369971bb1a5SLionel Sambuc  * a reply to be generated. Any returned error will be
370971bb1a5SLionel Sambuc  * saved for handling by xcb_request_check().
371971bb1a5SLionel Sambuc  */
372971bb1a5SLionel Sambuc xcb_void_cookie_t
373971bb1a5SLionel Sambuc xcb_shm_detach_checked (xcb_connection_t *c  /**< */,
374971bb1a5SLionel Sambuc                         xcb_shm_seg_t     shmseg  /**< */);
375971bb1a5SLionel Sambuc 
376971bb1a5SLionel Sambuc /**
377971bb1a5SLionel Sambuc  *
378971bb1a5SLionel Sambuc  * @param c The connection
379971bb1a5SLionel Sambuc  * @return A cookie
380971bb1a5SLionel Sambuc  *
381971bb1a5SLionel Sambuc  * Delivers a request to the X server.
382971bb1a5SLionel Sambuc  *
383971bb1a5SLionel Sambuc  */
384971bb1a5SLionel Sambuc xcb_void_cookie_t
385971bb1a5SLionel Sambuc xcb_shm_detach (xcb_connection_t *c  /**< */,
386971bb1a5SLionel Sambuc                 xcb_shm_seg_t     shmseg  /**< */);
387971bb1a5SLionel Sambuc 
388971bb1a5SLionel Sambuc /**
389971bb1a5SLionel Sambuc  *
390971bb1a5SLionel Sambuc  * @param c The connection
391971bb1a5SLionel Sambuc  * @return A cookie
392971bb1a5SLionel Sambuc  *
393971bb1a5SLionel Sambuc  * Delivers a request to the X server.
394971bb1a5SLionel Sambuc  *
395971bb1a5SLionel Sambuc  * This form can be used only if the request will not cause
396971bb1a5SLionel Sambuc  * a reply to be generated. Any returned error will be
397971bb1a5SLionel Sambuc  * saved for handling by xcb_request_check().
398971bb1a5SLionel Sambuc  */
399971bb1a5SLionel Sambuc xcb_void_cookie_t
400971bb1a5SLionel Sambuc xcb_shm_put_image_checked (xcb_connection_t *c  /**< */,
401971bb1a5SLionel Sambuc                            xcb_drawable_t    drawable  /**< */,
402971bb1a5SLionel Sambuc                            xcb_gcontext_t    gc  /**< */,
403971bb1a5SLionel Sambuc                            uint16_t          total_width  /**< */,
404971bb1a5SLionel Sambuc                            uint16_t          total_height  /**< */,
405971bb1a5SLionel Sambuc                            uint16_t          src_x  /**< */,
406971bb1a5SLionel Sambuc                            uint16_t          src_y  /**< */,
407971bb1a5SLionel Sambuc                            uint16_t          src_width  /**< */,
408971bb1a5SLionel Sambuc                            uint16_t          src_height  /**< */,
409971bb1a5SLionel Sambuc                            int16_t           dst_x  /**< */,
410971bb1a5SLionel Sambuc                            int16_t           dst_y  /**< */,
411971bb1a5SLionel Sambuc                            uint8_t           depth  /**< */,
412971bb1a5SLionel Sambuc                            uint8_t           format  /**< */,
413971bb1a5SLionel Sambuc                            uint8_t           send_event  /**< */,
414971bb1a5SLionel Sambuc                            xcb_shm_seg_t     shmseg  /**< */,
415971bb1a5SLionel Sambuc                            uint32_t          offset  /**< */);
416971bb1a5SLionel Sambuc 
417971bb1a5SLionel Sambuc /**
418971bb1a5SLionel Sambuc  *
419971bb1a5SLionel Sambuc  * @param c The connection
420971bb1a5SLionel Sambuc  * @return A cookie
421971bb1a5SLionel Sambuc  *
422971bb1a5SLionel Sambuc  * Delivers a request to the X server.
423971bb1a5SLionel Sambuc  *
424971bb1a5SLionel Sambuc  */
425971bb1a5SLionel Sambuc xcb_void_cookie_t
426971bb1a5SLionel Sambuc xcb_shm_put_image (xcb_connection_t *c  /**< */,
427971bb1a5SLionel Sambuc                    xcb_drawable_t    drawable  /**< */,
428971bb1a5SLionel Sambuc                    xcb_gcontext_t    gc  /**< */,
429971bb1a5SLionel Sambuc                    uint16_t          total_width  /**< */,
430971bb1a5SLionel Sambuc                    uint16_t          total_height  /**< */,
431971bb1a5SLionel Sambuc                    uint16_t          src_x  /**< */,
432971bb1a5SLionel Sambuc                    uint16_t          src_y  /**< */,
433971bb1a5SLionel Sambuc                    uint16_t          src_width  /**< */,
434971bb1a5SLionel Sambuc                    uint16_t          src_height  /**< */,
435971bb1a5SLionel Sambuc                    int16_t           dst_x  /**< */,
436971bb1a5SLionel Sambuc                    int16_t           dst_y  /**< */,
437971bb1a5SLionel Sambuc                    uint8_t           depth  /**< */,
438971bb1a5SLionel Sambuc                    uint8_t           format  /**< */,
439971bb1a5SLionel Sambuc                    uint8_t           send_event  /**< */,
440971bb1a5SLionel Sambuc                    xcb_shm_seg_t     shmseg  /**< */,
441971bb1a5SLionel Sambuc                    uint32_t          offset  /**< */);
442971bb1a5SLionel Sambuc 
443971bb1a5SLionel Sambuc /**
444971bb1a5SLionel Sambuc  *
445971bb1a5SLionel Sambuc  * @param c The connection
446971bb1a5SLionel Sambuc  * @return A cookie
447971bb1a5SLionel Sambuc  *
448971bb1a5SLionel Sambuc  * Delivers a request to the X server.
449971bb1a5SLionel Sambuc  *
450971bb1a5SLionel Sambuc  */
451971bb1a5SLionel Sambuc xcb_shm_get_image_cookie_t
452971bb1a5SLionel Sambuc xcb_shm_get_image (xcb_connection_t *c  /**< */,
453971bb1a5SLionel Sambuc                    xcb_drawable_t    drawable  /**< */,
454971bb1a5SLionel Sambuc                    int16_t           x  /**< */,
455971bb1a5SLionel Sambuc                    int16_t           y  /**< */,
456971bb1a5SLionel Sambuc                    uint16_t          width  /**< */,
457971bb1a5SLionel Sambuc                    uint16_t          height  /**< */,
458971bb1a5SLionel Sambuc                    uint32_t          plane_mask  /**< */,
459971bb1a5SLionel Sambuc                    uint8_t           format  /**< */,
460971bb1a5SLionel Sambuc                    xcb_shm_seg_t     shmseg  /**< */,
461971bb1a5SLionel Sambuc                    uint32_t          offset  /**< */);
462971bb1a5SLionel Sambuc 
463971bb1a5SLionel Sambuc /**
464971bb1a5SLionel Sambuc  *
465971bb1a5SLionel Sambuc  * @param c The connection
466971bb1a5SLionel Sambuc  * @return A cookie
467971bb1a5SLionel Sambuc  *
468971bb1a5SLionel Sambuc  * Delivers a request to the X server.
469971bb1a5SLionel Sambuc  *
470971bb1a5SLionel Sambuc  * This form can be used only if the request will cause
471971bb1a5SLionel Sambuc  * a reply to be generated. Any returned error will be
472971bb1a5SLionel Sambuc  * placed in the event queue.
473971bb1a5SLionel Sambuc  */
474971bb1a5SLionel Sambuc xcb_shm_get_image_cookie_t
475971bb1a5SLionel Sambuc xcb_shm_get_image_unchecked (xcb_connection_t *c  /**< */,
476971bb1a5SLionel Sambuc                              xcb_drawable_t    drawable  /**< */,
477971bb1a5SLionel Sambuc                              int16_t           x  /**< */,
478971bb1a5SLionel Sambuc                              int16_t           y  /**< */,
479971bb1a5SLionel Sambuc                              uint16_t          width  /**< */,
480971bb1a5SLionel Sambuc                              uint16_t          height  /**< */,
481971bb1a5SLionel Sambuc                              uint32_t          plane_mask  /**< */,
482971bb1a5SLionel Sambuc                              uint8_t           format  /**< */,
483971bb1a5SLionel Sambuc                              xcb_shm_seg_t     shmseg  /**< */,
484971bb1a5SLionel Sambuc                              uint32_t          offset  /**< */);
485971bb1a5SLionel Sambuc 
486971bb1a5SLionel Sambuc /**
487971bb1a5SLionel Sambuc  * Return the reply
488971bb1a5SLionel Sambuc  * @param c      The connection
489971bb1a5SLionel Sambuc  * @param cookie The cookie
490971bb1a5SLionel Sambuc  * @param e      The xcb_generic_error_t supplied
491971bb1a5SLionel Sambuc  *
492971bb1a5SLionel Sambuc  * Returns the reply of the request asked by
493971bb1a5SLionel Sambuc  *
494971bb1a5SLionel Sambuc  * The parameter @p e supplied to this function must be NULL if
495971bb1a5SLionel Sambuc  * xcb_shm_get_image_unchecked(). is used.
496971bb1a5SLionel Sambuc  * Otherwise, it stores the error if any.
497971bb1a5SLionel Sambuc  *
498971bb1a5SLionel Sambuc  * The returned value must be freed by the caller using free().
499971bb1a5SLionel Sambuc  */
500971bb1a5SLionel Sambuc xcb_shm_get_image_reply_t *
501971bb1a5SLionel Sambuc xcb_shm_get_image_reply (xcb_connection_t            *c  /**< */,
502971bb1a5SLionel Sambuc                          xcb_shm_get_image_cookie_t   cookie  /**< */,
503971bb1a5SLionel Sambuc                          xcb_generic_error_t        **e  /**< */);
504971bb1a5SLionel Sambuc 
505971bb1a5SLionel Sambuc /**
506971bb1a5SLionel Sambuc  *
507971bb1a5SLionel Sambuc  * @param c The connection
508971bb1a5SLionel Sambuc  * @return A cookie
509971bb1a5SLionel Sambuc  *
510971bb1a5SLionel Sambuc  * Delivers a request to the X server.
511971bb1a5SLionel Sambuc  *
512971bb1a5SLionel Sambuc  * This form can be used only if the request will not cause
513971bb1a5SLionel Sambuc  * a reply to be generated. Any returned error will be
514971bb1a5SLionel Sambuc  * saved for handling by xcb_request_check().
515971bb1a5SLionel Sambuc  */
516971bb1a5SLionel Sambuc xcb_void_cookie_t
517971bb1a5SLionel Sambuc xcb_shm_create_pixmap_checked (xcb_connection_t *c  /**< */,
518971bb1a5SLionel Sambuc                                xcb_pixmap_t      pid  /**< */,
519971bb1a5SLionel Sambuc                                xcb_drawable_t    drawable  /**< */,
520971bb1a5SLionel Sambuc                                uint16_t          width  /**< */,
521971bb1a5SLionel Sambuc                                uint16_t          height  /**< */,
522971bb1a5SLionel Sambuc                                uint8_t           depth  /**< */,
523971bb1a5SLionel Sambuc                                xcb_shm_seg_t     shmseg  /**< */,
524971bb1a5SLionel Sambuc                                uint32_t          offset  /**< */);
525971bb1a5SLionel Sambuc 
526971bb1a5SLionel Sambuc /**
527971bb1a5SLionel Sambuc  *
528971bb1a5SLionel Sambuc  * @param c The connection
529971bb1a5SLionel Sambuc  * @return A cookie
530971bb1a5SLionel Sambuc  *
531971bb1a5SLionel Sambuc  * Delivers a request to the X server.
532971bb1a5SLionel Sambuc  *
533971bb1a5SLionel Sambuc  */
534971bb1a5SLionel Sambuc xcb_void_cookie_t
535971bb1a5SLionel Sambuc xcb_shm_create_pixmap (xcb_connection_t *c  /**< */,
536971bb1a5SLionel Sambuc                        xcb_pixmap_t      pid  /**< */,
537971bb1a5SLionel Sambuc                        xcb_drawable_t    drawable  /**< */,
538971bb1a5SLionel Sambuc                        uint16_t          width  /**< */,
539971bb1a5SLionel Sambuc                        uint16_t          height  /**< */,
540971bb1a5SLionel Sambuc                        uint8_t           depth  /**< */,
541971bb1a5SLionel Sambuc                        xcb_shm_seg_t     shmseg  /**< */,
542971bb1a5SLionel Sambuc                        uint32_t          offset  /**< */);
543971bb1a5SLionel Sambuc 
544*0a6a1f1dSLionel Sambuc /**
545*0a6a1f1dSLionel Sambuc  *
546*0a6a1f1dSLionel Sambuc  * @param c The connection
547*0a6a1f1dSLionel Sambuc  * @return A cookie
548*0a6a1f1dSLionel Sambuc  *
549*0a6a1f1dSLionel Sambuc  * Delivers a request to the X server.
550*0a6a1f1dSLionel Sambuc  *
551*0a6a1f1dSLionel Sambuc  * This form can be used only if the request will not cause
552*0a6a1f1dSLionel Sambuc  * a reply to be generated. Any returned error will be
553*0a6a1f1dSLionel Sambuc  * saved for handling by xcb_request_check().
554*0a6a1f1dSLionel Sambuc  */
555*0a6a1f1dSLionel Sambuc xcb_void_cookie_t
556*0a6a1f1dSLionel Sambuc xcb_shm_attach_fd_checked (xcb_connection_t *c  /**< */,
557*0a6a1f1dSLionel Sambuc                            xcb_shm_seg_t     shmseg  /**< */,
558*0a6a1f1dSLionel Sambuc                            int32_t           shm_fd  /**< */,
559*0a6a1f1dSLionel Sambuc                            uint8_t           read_only  /**< */);
560*0a6a1f1dSLionel Sambuc 
561*0a6a1f1dSLionel Sambuc /**
562*0a6a1f1dSLionel Sambuc  *
563*0a6a1f1dSLionel Sambuc  * @param c The connection
564*0a6a1f1dSLionel Sambuc  * @return A cookie
565*0a6a1f1dSLionel Sambuc  *
566*0a6a1f1dSLionel Sambuc  * Delivers a request to the X server.
567*0a6a1f1dSLionel Sambuc  *
568*0a6a1f1dSLionel Sambuc  */
569*0a6a1f1dSLionel Sambuc xcb_void_cookie_t
570*0a6a1f1dSLionel Sambuc xcb_shm_attach_fd (xcb_connection_t *c  /**< */,
571*0a6a1f1dSLionel Sambuc                    xcb_shm_seg_t     shmseg  /**< */,
572*0a6a1f1dSLionel Sambuc                    int32_t           shm_fd  /**< */,
573*0a6a1f1dSLionel Sambuc                    uint8_t           read_only  /**< */);
574*0a6a1f1dSLionel Sambuc 
575*0a6a1f1dSLionel Sambuc /**
576*0a6a1f1dSLionel Sambuc  *
577*0a6a1f1dSLionel Sambuc  * @param c The connection
578*0a6a1f1dSLionel Sambuc  * @return A cookie
579*0a6a1f1dSLionel Sambuc  *
580*0a6a1f1dSLionel Sambuc  * Delivers a request to the X server.
581*0a6a1f1dSLionel Sambuc  *
582*0a6a1f1dSLionel Sambuc  */
583*0a6a1f1dSLionel Sambuc xcb_shm_create_segment_cookie_t
584*0a6a1f1dSLionel Sambuc xcb_shm_create_segment (xcb_connection_t *c  /**< */,
585*0a6a1f1dSLionel Sambuc                         xcb_shm_seg_t     shmseg  /**< */,
586*0a6a1f1dSLionel Sambuc                         uint32_t          size  /**< */,
587*0a6a1f1dSLionel Sambuc                         uint8_t           read_only  /**< */);
588*0a6a1f1dSLionel Sambuc 
589*0a6a1f1dSLionel Sambuc /**
590*0a6a1f1dSLionel Sambuc  *
591*0a6a1f1dSLionel Sambuc  * @param c The connection
592*0a6a1f1dSLionel Sambuc  * @return A cookie
593*0a6a1f1dSLionel Sambuc  *
594*0a6a1f1dSLionel Sambuc  * Delivers a request to the X server.
595*0a6a1f1dSLionel Sambuc  *
596*0a6a1f1dSLionel Sambuc  * This form can be used only if the request will cause
597*0a6a1f1dSLionel Sambuc  * a reply to be generated. Any returned error will be
598*0a6a1f1dSLionel Sambuc  * placed in the event queue.
599*0a6a1f1dSLionel Sambuc  */
600*0a6a1f1dSLionel Sambuc xcb_shm_create_segment_cookie_t
601*0a6a1f1dSLionel Sambuc xcb_shm_create_segment_unchecked (xcb_connection_t *c  /**< */,
602*0a6a1f1dSLionel Sambuc                                   xcb_shm_seg_t     shmseg  /**< */,
603*0a6a1f1dSLionel Sambuc                                   uint32_t          size  /**< */,
604*0a6a1f1dSLionel Sambuc                                   uint8_t           read_only  /**< */);
605*0a6a1f1dSLionel Sambuc 
606*0a6a1f1dSLionel Sambuc /**
607*0a6a1f1dSLionel Sambuc  * Return the reply
608*0a6a1f1dSLionel Sambuc  * @param c      The connection
609*0a6a1f1dSLionel Sambuc  * @param cookie The cookie
610*0a6a1f1dSLionel Sambuc  * @param e      The xcb_generic_error_t supplied
611*0a6a1f1dSLionel Sambuc  *
612*0a6a1f1dSLionel Sambuc  * Returns the reply of the request asked by
613*0a6a1f1dSLionel Sambuc  *
614*0a6a1f1dSLionel Sambuc  * The parameter @p e supplied to this function must be NULL if
615*0a6a1f1dSLionel Sambuc  * xcb_shm_create_segment_unchecked(). is used.
616*0a6a1f1dSLionel Sambuc  * Otherwise, it stores the error if any.
617*0a6a1f1dSLionel Sambuc  *
618*0a6a1f1dSLionel Sambuc  * The returned value must be freed by the caller using free().
619*0a6a1f1dSLionel Sambuc  */
620*0a6a1f1dSLionel Sambuc xcb_shm_create_segment_reply_t *
621*0a6a1f1dSLionel Sambuc xcb_shm_create_segment_reply (xcb_connection_t                 *c  /**< */,
622*0a6a1f1dSLionel Sambuc                               xcb_shm_create_segment_cookie_t   cookie  /**< */,
623*0a6a1f1dSLionel Sambuc                               xcb_generic_error_t             **e  /**< */);
624*0a6a1f1dSLionel Sambuc 
625*0a6a1f1dSLionel Sambuc /**
626*0a6a1f1dSLionel Sambuc  * Return the reply fds
627*0a6a1f1dSLionel Sambuc  * @param c      The connection
628*0a6a1f1dSLionel Sambuc  * @param reply  The reply
629*0a6a1f1dSLionel Sambuc  *
630*0a6a1f1dSLionel Sambuc  * Returns the array of reply fds of the request asked by
631*0a6a1f1dSLionel Sambuc  *
632*0a6a1f1dSLionel Sambuc  * The returned value must be freed by the caller using free().
633*0a6a1f1dSLionel Sambuc  */
634*0a6a1f1dSLionel Sambuc int *
635*0a6a1f1dSLionel Sambuc xcb_shm_create_segment_reply_fds (xcb_connection_t                *c  /**< */,
636*0a6a1f1dSLionel Sambuc                                   xcb_shm_create_segment_reply_t  *reply  /**< */);
637*0a6a1f1dSLionel Sambuc 
638971bb1a5SLionel Sambuc 
639971bb1a5SLionel Sambuc #ifdef __cplusplus
640971bb1a5SLionel Sambuc }
641971bb1a5SLionel Sambuc #endif
642971bb1a5SLionel Sambuc 
643971bb1a5SLionel Sambuc #endif
644971bb1a5SLionel Sambuc 
645971bb1a5SLionel Sambuc /**
646971bb1a5SLionel Sambuc  * @}
647971bb1a5SLionel Sambuc  */
648