2 * This file generated automatically from shm.xml by c_client.py.
7 * @defgroup XCB_Shm_API XCB Shm API
8 * @brief Shm XCB Protocol Implementation.
22 #define XCB_SHM_MAJOR_VERSION 1
23 #define XCB_SHM_MINOR_VERSION 2
25 extern xcb_extension_t xcb_shm_id
;
27 typedef uint32_t xcb_shm_seg_t
;
30 * @brief xcb_shm_seg_iterator_t
32 typedef struct xcb_shm_seg_iterator_t
{
33 xcb_shm_seg_t
*data
; /**< */
36 } xcb_shm_seg_iterator_t
;
38 /** Opcode for xcb_shm_completion. */
39 #define XCB_SHM_COMPLETION 0
42 * @brief xcb_shm_completion_event_t
44 typedef struct xcb_shm_completion_event_t
{
45 uint8_t response_type
; /**< */
47 uint16_t sequence
; /**< */
48 xcb_drawable_t drawable
; /**< */
49 uint16_t minor_event
; /**< */
50 uint8_t major_event
; /**< */
52 xcb_shm_seg_t shmseg
; /**< */
53 uint32_t offset
; /**< */
54 } xcb_shm_completion_event_t
;
56 /** Opcode for xcb_shm_bad_seg. */
57 #define XCB_SHM_BAD_SEG 0
59 typedef xcb_value_error_t xcb_shm_bad_seg_error_t
;
62 * @brief xcb_shm_query_version_cookie_t
64 typedef struct xcb_shm_query_version_cookie_t
{
65 unsigned int sequence
; /**< */
66 } xcb_shm_query_version_cookie_t
;
68 /** Opcode for xcb_shm_query_version. */
69 #define XCB_SHM_QUERY_VERSION 0
72 * @brief xcb_shm_query_version_request_t
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
;
81 * @brief xcb_shm_query_version_reply_t
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
; /**< */
92 uint8_t pixmap_format
; /**< */
93 uint8_t pad0
[15]; /**< */
94 } xcb_shm_query_version_reply_t
;
96 /** Opcode for xcb_shm_attach. */
97 #define XCB_SHM_ATTACH 1
100 * @brief xcb_shm_attach_request_t
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
;
112 /** Opcode for xcb_shm_detach. */
113 #define XCB_SHM_DETACH 2
116 * @brief xcb_shm_detach_request_t
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
;
125 /** Opcode for xcb_shm_put_image. */
126 #define XCB_SHM_PUT_IMAGE 3
129 * @brief xcb_shm_put_image_request_t
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
;
154 * @brief xcb_shm_get_image_cookie_t
156 typedef struct xcb_shm_get_image_cookie_t
{
157 unsigned int sequence
; /**< */
158 } xcb_shm_get_image_cookie_t
;
160 /** Opcode for xcb_shm_get_image. */
161 #define XCB_SHM_GET_IMAGE 4
164 * @brief xcb_shm_get_image_request_t
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
; /**< */
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
;
183 * @brief xcb_shm_get_image_reply_t
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
;
194 /** Opcode for xcb_shm_create_pixmap. */
195 #define XCB_SHM_CREATE_PIXMAP 5
198 * @brief xcb_shm_create_pixmap_request_t
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
;
214 /** Opcode for xcb_shm_attach_fd. */
215 #define XCB_SHM_ATTACH_FD 6
218 * @brief xcb_shm_attach_fd_request_t
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
;
230 * @brief xcb_shm_create_segment_cookie_t
232 typedef struct xcb_shm_create_segment_cookie_t
{
233 unsigned int sequence
; /**< */
234 } xcb_shm_create_segment_cookie_t
;
236 /** Opcode for xcb_shm_create_segment. */
237 #define XCB_SHM_CREATE_SEGMENT 7
240 * @brief xcb_shm_create_segment_request_t
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
;
253 * @brief xcb_shm_create_segment_reply_t
255 typedef struct xcb_shm_create_segment_reply_t
{
256 uint8_t response_type
; /**< */
258 uint16_t sequence
; /**< */
259 uint32_t length
; /**< */
260 uint8_t pad0
[24]; /**< */
261 } xcb_shm_create_segment_reply_t
;
264 * Get the next element of the iterator
265 * @param i Pointer to a xcb_shm_seg_iterator_t
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)
272 xcb_shm_seg_next (xcb_shm_seg_iterator_t
*i
/**< */);
275 * Return the iterator pointing to the last element
276 * @param i An xcb_shm_seg_iterator_t
277 * @return The iterator pointing to the last element
279 * Set the current element in the iterator to the last element.
280 * The member rem is set to 0. The member data points to the
283 xcb_generic_iterator_t
284 xcb_shm_seg_end (xcb_shm_seg_iterator_t i
/**< */);
288 * @param c The connection
291 * Delivers a request to the X server.
294 xcb_shm_query_version_cookie_t
295 xcb_shm_query_version (xcb_connection_t
*c
/**< */);
299 * @param c The connection
302 * Delivers a request to the X server.
304 * This form can be used only if the request will cause
305 * a reply to be generated. Any returned error will be
306 * placed in the event queue.
308 xcb_shm_query_version_cookie_t
309 xcb_shm_query_version_unchecked (xcb_connection_t
*c
/**< */);
313 * @param c The connection
314 * @param cookie The cookie
315 * @param e The xcb_generic_error_t supplied
317 * Returns the reply of the request asked by
319 * The parameter @p e supplied to this function must be NULL if
320 * xcb_shm_query_version_unchecked(). is used.
321 * Otherwise, it stores the error if any.
323 * The returned value must be freed by the caller using free().
325 xcb_shm_query_version_reply_t
*
326 xcb_shm_query_version_reply (xcb_connection_t
*c
/**< */,
327 xcb_shm_query_version_cookie_t cookie
/**< */,
328 xcb_generic_error_t
**e
/**< */);
332 * @param c The connection
335 * Delivers a request to the X server.
337 * This form can be used only if the request will not cause
338 * a reply to be generated. Any returned error will be
339 * saved for handling by xcb_request_check().
342 xcb_shm_attach_checked (xcb_connection_t
*c
/**< */,
343 xcb_shm_seg_t shmseg
/**< */,
344 uint32_t shmid
/**< */,
345 uint8_t read_only
/**< */);
349 * @param c The connection
352 * Delivers a request to the X server.
356 xcb_shm_attach (xcb_connection_t
*c
/**< */,
357 xcb_shm_seg_t shmseg
/**< */,
358 uint32_t shmid
/**< */,
359 uint8_t read_only
/**< */);
363 * @param c The connection
366 * Delivers a request to the X server.
368 * This form can be used only if the request will not cause
369 * a reply to be generated. Any returned error will be
370 * saved for handling by xcb_request_check().
373 xcb_shm_detach_checked (xcb_connection_t
*c
/**< */,
374 xcb_shm_seg_t shmseg
/**< */);
378 * @param c The connection
381 * Delivers a request to the X server.
385 xcb_shm_detach (xcb_connection_t
*c
/**< */,
386 xcb_shm_seg_t shmseg
/**< */);
390 * @param c The connection
393 * Delivers a request to the X server.
395 * This form can be used only if the request will not cause
396 * a reply to be generated. Any returned error will be
397 * saved for handling by xcb_request_check().
400 xcb_shm_put_image_checked (xcb_connection_t
*c
/**< */,
401 xcb_drawable_t drawable
/**< */,
402 xcb_gcontext_t gc
/**< */,
403 uint16_t total_width
/**< */,
404 uint16_t total_height
/**< */,
405 uint16_t src_x
/**< */,
406 uint16_t src_y
/**< */,
407 uint16_t src_width
/**< */,
408 uint16_t src_height
/**< */,
409 int16_t dst_x
/**< */,
410 int16_t dst_y
/**< */,
411 uint8_t depth
/**< */,
412 uint8_t format
/**< */,
413 uint8_t send_event
/**< */,
414 xcb_shm_seg_t shmseg
/**< */,
415 uint32_t offset
/**< */);
419 * @param c The connection
422 * Delivers a request to the X server.
426 xcb_shm_put_image (xcb_connection_t
*c
/**< */,
427 xcb_drawable_t drawable
/**< */,
428 xcb_gcontext_t gc
/**< */,
429 uint16_t total_width
/**< */,
430 uint16_t total_height
/**< */,
431 uint16_t src_x
/**< */,
432 uint16_t src_y
/**< */,
433 uint16_t src_width
/**< */,
434 uint16_t src_height
/**< */,
435 int16_t dst_x
/**< */,
436 int16_t dst_y
/**< */,
437 uint8_t depth
/**< */,
438 uint8_t format
/**< */,
439 uint8_t send_event
/**< */,
440 xcb_shm_seg_t shmseg
/**< */,
441 uint32_t offset
/**< */);
445 * @param c The connection
448 * Delivers a request to the X server.
451 xcb_shm_get_image_cookie_t
452 xcb_shm_get_image (xcb_connection_t
*c
/**< */,
453 xcb_drawable_t drawable
/**< */,
456 uint16_t width
/**< */,
457 uint16_t height
/**< */,
458 uint32_t plane_mask
/**< */,
459 uint8_t format
/**< */,
460 xcb_shm_seg_t shmseg
/**< */,
461 uint32_t offset
/**< */);
465 * @param c The connection
468 * Delivers a request to the X server.
470 * This form can be used only if the request will cause
471 * a reply to be generated. Any returned error will be
472 * placed in the event queue.
474 xcb_shm_get_image_cookie_t
475 xcb_shm_get_image_unchecked (xcb_connection_t
*c
/**< */,
476 xcb_drawable_t drawable
/**< */,
479 uint16_t width
/**< */,
480 uint16_t height
/**< */,
481 uint32_t plane_mask
/**< */,
482 uint8_t format
/**< */,
483 xcb_shm_seg_t shmseg
/**< */,
484 uint32_t offset
/**< */);
488 * @param c The connection
489 * @param cookie The cookie
490 * @param e The xcb_generic_error_t supplied
492 * Returns the reply of the request asked by
494 * The parameter @p e supplied to this function must be NULL if
495 * xcb_shm_get_image_unchecked(). is used.
496 * Otherwise, it stores the error if any.
498 * The returned value must be freed by the caller using free().
500 xcb_shm_get_image_reply_t
*
501 xcb_shm_get_image_reply (xcb_connection_t
*c
/**< */,
502 xcb_shm_get_image_cookie_t cookie
/**< */,
503 xcb_generic_error_t
**e
/**< */);
507 * @param c The connection
510 * Delivers a request to the X server.
512 * This form can be used only if the request will not cause
513 * a reply to be generated. Any returned error will be
514 * saved for handling by xcb_request_check().
517 xcb_shm_create_pixmap_checked (xcb_connection_t
*c
/**< */,
518 xcb_pixmap_t pid
/**< */,
519 xcb_drawable_t drawable
/**< */,
520 uint16_t width
/**< */,
521 uint16_t height
/**< */,
522 uint8_t depth
/**< */,
523 xcb_shm_seg_t shmseg
/**< */,
524 uint32_t offset
/**< */);
528 * @param c The connection
531 * Delivers a request to the X server.
535 xcb_shm_create_pixmap (xcb_connection_t
*c
/**< */,
536 xcb_pixmap_t pid
/**< */,
537 xcb_drawable_t drawable
/**< */,
538 uint16_t width
/**< */,
539 uint16_t height
/**< */,
540 uint8_t depth
/**< */,
541 xcb_shm_seg_t shmseg
/**< */,
542 uint32_t offset
/**< */);
546 * @param c The connection
549 * Delivers a request to the X server.
551 * This form can be used only if the request will not cause
552 * a reply to be generated. Any returned error will be
553 * saved for handling by xcb_request_check().
556 xcb_shm_attach_fd_checked (xcb_connection_t
*c
/**< */,
557 xcb_shm_seg_t shmseg
/**< */,
558 int32_t shm_fd
/**< */,
559 uint8_t read_only
/**< */);
563 * @param c The connection
566 * Delivers a request to the X server.
570 xcb_shm_attach_fd (xcb_connection_t
*c
/**< */,
571 xcb_shm_seg_t shmseg
/**< */,
572 int32_t shm_fd
/**< */,
573 uint8_t read_only
/**< */);
577 * @param c The connection
580 * Delivers a request to the X server.
583 xcb_shm_create_segment_cookie_t
584 xcb_shm_create_segment (xcb_connection_t
*c
/**< */,
585 xcb_shm_seg_t shmseg
/**< */,
586 uint32_t size
/**< */,
587 uint8_t read_only
/**< */);
591 * @param c The connection
594 * Delivers a request to the X server.
596 * This form can be used only if the request will cause
597 * a reply to be generated. Any returned error will be
598 * placed in the event queue.
600 xcb_shm_create_segment_cookie_t
601 xcb_shm_create_segment_unchecked (xcb_connection_t
*c
/**< */,
602 xcb_shm_seg_t shmseg
/**< */,
603 uint32_t size
/**< */,
604 uint8_t read_only
/**< */);
608 * @param c The connection
609 * @param cookie The cookie
610 * @param e The xcb_generic_error_t supplied
612 * Returns the reply of the request asked by
614 * The parameter @p e supplied to this function must be NULL if
615 * xcb_shm_create_segment_unchecked(). is used.
616 * Otherwise, it stores the error if any.
618 * The returned value must be freed by the caller using free().
620 xcb_shm_create_segment_reply_t
*
621 xcb_shm_create_segment_reply (xcb_connection_t
*c
/**< */,
622 xcb_shm_create_segment_cookie_t cookie
/**< */,
623 xcb_generic_error_t
**e
/**< */);
626 * Return the reply fds
627 * @param c The connection
628 * @param reply The reply
630 * Returns the array of reply fds of the request asked by
632 * The returned value must be freed by the caller using free().
635 xcb_shm_create_segment_reply_fds (xcb_connection_t
*c
/**< */,
636 xcb_shm_create_segment_reply_t
*reply
/**< */);