diff options
Diffstat (limited to 'libxcb/src/shm.h')
-rw-r--r-- | libxcb/src/shm.h | 724 |
1 files changed, 724 insertions, 0 deletions
diff --git a/libxcb/src/shm.h b/libxcb/src/shm.h new file mode 100644 index 000000000..97c24c71a --- /dev/null +++ b/libxcb/src/shm.h @@ -0,0 +1,724 @@ +/* + * This file generated automatically from shm.xml by c-client.xsl using XSLT. + * Edit at your peril. + */ + +/** + * @defgroup XCB_Shm_API XCB Shm API + * @brief Shm XCB Protocol Implementation. + * @{ + **/ + +#ifndef __SHM_H +#define __SHM_H + +#include "xcb.h" +#include "xproto.h" + +#define XCB_SHM_MAJOR_VERSION 1 +#define XCB_SHM_MINOR_VERSION 1 + +extern xcb_extension_t xcb_shm_id; + +typedef uint32_t xcb_shm_seg_t; + +/** + * @brief xcb_shm_seg_iterator_t + **/ +typedef struct xcb_shm_seg_iterator_t { + xcb_shm_seg_t *data; /**< */ + int rem; /**< */ + int index; /**< */ +} xcb_shm_seg_iterator_t; + +/** Opcode for xcb_shm_completion. */ +#define XCB_SHM_COMPLETION 0 + +/** + * @brief xcb_shm_completion_event_t + **/ +typedef struct xcb_shm_completion_event_t { + uint8_t response_type; /**< */ + uint8_t pad0; /**< */ + uint16_t sequence; /**< */ + xcb_drawable_t drawable; /**< */ + xcb_shm_seg_t shmseg; /**< */ + uint16_t minor_event; /**< */ + uint8_t major_event; /**< */ + uint8_t pad1; /**< */ + uint32_t offset; /**< */ +} xcb_shm_completion_event_t; + +/** Opcode for xcb_shm_bad_seg. */ +#define XCB_SHM_BAD_SEG 0 + +typedef xcb_value_error_t xcb_shm_bad_seg_error_t; + +/** + * @brief xcb_shm_query_version_cookie_t + **/ +typedef struct xcb_shm_query_version_cookie_t { + unsigned int sequence; /**< */ +} xcb_shm_query_version_cookie_t; + +/** Opcode for xcb_shm_query_version. */ +#define XCB_SHM_QUERY_VERSION 0 + +/** + * @brief xcb_shm_query_version_request_t + **/ +typedef struct xcb_shm_query_version_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ +} xcb_shm_query_version_request_t; + +/** + * @brief xcb_shm_query_version_reply_t + **/ +typedef struct xcb_shm_query_version_reply_t { + uint8_t response_type; /**< */ + uint8_t shared_pixmaps; /**< */ + uint16_t sequence; /**< */ + uint32_t length; /**< */ + uint16_t major_version; /**< */ + uint16_t minor_version; /**< */ + uint16_t uid; /**< */ + uint16_t gid; /**< */ + uint8_t pixmap_format; /**< */ +} xcb_shm_query_version_reply_t; + +/** Opcode for xcb_shm_attach. */ +#define XCB_SHM_ATTACH 1 + +/** + * @brief xcb_shm_attach_request_t + **/ +typedef struct xcb_shm_attach_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ + xcb_shm_seg_t shmseg; /**< */ + uint32_t shmid; /**< */ + uint8_t read_only; /**< */ +} xcb_shm_attach_request_t; + +/** Opcode for xcb_shm_detach. */ +#define XCB_SHM_DETACH 2 + +/** + * @brief xcb_shm_detach_request_t + **/ +typedef struct xcb_shm_detach_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ + xcb_shm_seg_t shmseg; /**< */ +} xcb_shm_detach_request_t; + +/** Opcode for xcb_shm_put_image. */ +#define XCB_SHM_PUT_IMAGE 3 + +/** + * @brief xcb_shm_put_image_request_t + **/ +typedef struct xcb_shm_put_image_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ + xcb_drawable_t drawable; /**< */ + xcb_gcontext_t gc; /**< */ + uint16_t total_width; /**< */ + uint16_t total_height; /**< */ + uint16_t src_x; /**< */ + uint16_t src_y; /**< */ + uint16_t src_width; /**< */ + uint16_t src_height; /**< */ + int16_t dst_x; /**< */ + int16_t dst_y; /**< */ + uint8_t depth; /**< */ + uint8_t format; /**< */ + uint8_t send_event; /**< */ + uint8_t pad0; /**< */ + xcb_shm_seg_t shmseg; /**< */ + uint32_t offset; /**< */ +} xcb_shm_put_image_request_t; + +/** + * @brief xcb_shm_get_image_cookie_t + **/ +typedef struct xcb_shm_get_image_cookie_t { + unsigned int sequence; /**< */ +} xcb_shm_get_image_cookie_t; + +/** Opcode for xcb_shm_get_image. */ +#define XCB_SHM_GET_IMAGE 4 + +/** + * @brief xcb_shm_get_image_request_t + **/ +typedef struct xcb_shm_get_image_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ + xcb_drawable_t drawable; /**< */ + int16_t x; /**< */ + int16_t y; /**< */ + uint16_t width; /**< */ + uint16_t height; /**< */ + uint32_t plane_mask; /**< */ + uint8_t format; /**< */ + uint8_t pad0[3]; /**< */ + xcb_shm_seg_t shmseg; /**< */ + uint32_t offset; /**< */ +} xcb_shm_get_image_request_t; + +/** + * @brief xcb_shm_get_image_reply_t + **/ +typedef struct xcb_shm_get_image_reply_t { + uint8_t response_type; /**< */ + uint8_t depth; /**< */ + uint16_t sequence; /**< */ + uint32_t length; /**< */ + xcb_visualid_t visual; /**< */ + uint32_t size; /**< */ +} xcb_shm_get_image_reply_t; + +/** Opcode for xcb_shm_create_pixmap. */ +#define XCB_SHM_CREATE_PIXMAP 5 + +/** + * @brief xcb_shm_create_pixmap_request_t + **/ +typedef struct xcb_shm_create_pixmap_request_t { + uint8_t major_opcode; /**< */ + uint8_t minor_opcode; /**< */ + uint16_t length; /**< */ + xcb_pixmap_t pid; /**< */ + xcb_drawable_t drawable; /**< */ + uint16_t width; /**< */ + uint16_t height; /**< */ + uint8_t depth; /**< */ + uint8_t pad0[3]; /**< */ + xcb_shm_seg_t shmseg; /**< */ + uint32_t offset; /**< */ +} xcb_shm_create_pixmap_request_t; + +/** + * Get the next element of the iterator + * @param i Pointer to a xcb_shm_seg_iterator_t + * + * Get the next element in the iterator. The member rem is + * decreased by one. The member data points to the next + * element. The member index is increased by sizeof(xcb_shm_seg_t) + */ + +/***************************************************************************** + ** + ** void xcb_shm_seg_next + ** + ** @param xcb_shm_seg_iterator_t *i + ** @returns void + ** + *****************************************************************************/ + +void +xcb_shm_seg_next (xcb_shm_seg_iterator_t *i /**< */); + +/** + * Return the iterator pointing to the last element + * @param i An xcb_shm_seg_iterator_t + * @return The iterator pointing to the last element + * + * Set the current element in the iterator to the last element. + * The member rem is set to 0. The member data points to the + * last element. + */ + +/***************************************************************************** + ** + ** xcb_generic_iterator_t xcb_shm_seg_end + ** + ** @param xcb_shm_seg_iterator_t i + ** @returns xcb_generic_iterator_t + ** + *****************************************************************************/ + +xcb_generic_iterator_t +xcb_shm_seg_end (xcb_shm_seg_iterator_t i /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_shm_query_version_cookie_t xcb_shm_query_version + ** + ** @param xcb_connection_t *c + ** @returns xcb_shm_query_version_cookie_t + ** + *****************************************************************************/ + +xcb_shm_query_version_cookie_t +xcb_shm_query_version (xcb_connection_t *c /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + * This form can be used only if the request will cause + * a reply to be generated. Any returned error will be + * placed in the event queue. + */ + +/***************************************************************************** + ** + ** xcb_shm_query_version_cookie_t xcb_shm_query_version_unchecked + ** + ** @param xcb_connection_t *c + ** @returns xcb_shm_query_version_cookie_t + ** + *****************************************************************************/ + +xcb_shm_query_version_cookie_t +xcb_shm_query_version_unchecked (xcb_connection_t *c /**< */); + +/** + * Return the reply + * @param c The connection + * @param cookie The cookie + * @param e The xcb_generic_error_t supplied + * + * Returns the reply of the request asked by + * + * The parameter @p e supplied to this function must be NULL if + * xcb_shm_query_version_unchecked(). is used. + * Otherwise, it stores the error if any. + */ + +/***************************************************************************** + ** + ** xcb_shm_query_version_reply_t * xcb_shm_query_version_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_shm_query_version_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_shm_query_version_reply_t * + ** + *****************************************************************************/ + +xcb_shm_query_version_reply_t * +xcb_shm_query_version_reply (xcb_connection_t *c /**< */, + xcb_shm_query_version_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + * This form can be used only if the request will not cause + * a reply to be generated. Any returned error will be + * saved for handling by xcb_request_check(). + */ + +/***************************************************************************** + ** + ** xcb_void_cookie_t xcb_shm_attach_checked + ** + ** @param xcb_connection_t *c + ** @param xcb_shm_seg_t shmseg + ** @param uint32_t shmid + ** @param uint8_t read_only + ** @returns xcb_void_cookie_t + ** + *****************************************************************************/ + +xcb_void_cookie_t +xcb_shm_attach_checked (xcb_connection_t *c /**< */, + xcb_shm_seg_t shmseg /**< */, + uint32_t shmid /**< */, + uint8_t read_only /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_void_cookie_t xcb_shm_attach + ** + ** @param xcb_connection_t *c + ** @param xcb_shm_seg_t shmseg + ** @param uint32_t shmid + ** @param uint8_t read_only + ** @returns xcb_void_cookie_t + ** + *****************************************************************************/ + +xcb_void_cookie_t +xcb_shm_attach (xcb_connection_t *c /**< */, + xcb_shm_seg_t shmseg /**< */, + uint32_t shmid /**< */, + uint8_t read_only /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + * This form can be used only if the request will not cause + * a reply to be generated. Any returned error will be + * saved for handling by xcb_request_check(). + */ + +/***************************************************************************** + ** + ** xcb_void_cookie_t xcb_shm_detach_checked + ** + ** @param xcb_connection_t *c + ** @param xcb_shm_seg_t shmseg + ** @returns xcb_void_cookie_t + ** + *****************************************************************************/ + +xcb_void_cookie_t +xcb_shm_detach_checked (xcb_connection_t *c /**< */, + xcb_shm_seg_t shmseg /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_void_cookie_t xcb_shm_detach + ** + ** @param xcb_connection_t *c + ** @param xcb_shm_seg_t shmseg + ** @returns xcb_void_cookie_t + ** + *****************************************************************************/ + +xcb_void_cookie_t +xcb_shm_detach (xcb_connection_t *c /**< */, + xcb_shm_seg_t shmseg /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + * This form can be used only if the request will not cause + * a reply to be generated. Any returned error will be + * saved for handling by xcb_request_check(). + */ + +/***************************************************************************** + ** + ** xcb_void_cookie_t xcb_shm_put_image_checked + ** + ** @param xcb_connection_t *c + ** @param xcb_drawable_t drawable + ** @param xcb_gcontext_t gc + ** @param uint16_t total_width + ** @param uint16_t total_height + ** @param uint16_t src_x + ** @param uint16_t src_y + ** @param uint16_t src_width + ** @param uint16_t src_height + ** @param int16_t dst_x + ** @param int16_t dst_y + ** @param uint8_t depth + ** @param uint8_t format + ** @param uint8_t send_event + ** @param xcb_shm_seg_t shmseg + ** @param uint32_t offset + ** @returns xcb_void_cookie_t + ** + *****************************************************************************/ + +xcb_void_cookie_t +xcb_shm_put_image_checked (xcb_connection_t *c /**< */, + xcb_drawable_t drawable /**< */, + xcb_gcontext_t gc /**< */, + uint16_t total_width /**< */, + uint16_t total_height /**< */, + uint16_t src_x /**< */, + uint16_t src_y /**< */, + uint16_t src_width /**< */, + uint16_t src_height /**< */, + int16_t dst_x /**< */, + int16_t dst_y /**< */, + uint8_t depth /**< */, + uint8_t format /**< */, + uint8_t send_event /**< */, + xcb_shm_seg_t shmseg /**< */, + uint32_t offset /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_void_cookie_t xcb_shm_put_image + ** + ** @param xcb_connection_t *c + ** @param xcb_drawable_t drawable + ** @param xcb_gcontext_t gc + ** @param uint16_t total_width + ** @param uint16_t total_height + ** @param uint16_t src_x + ** @param uint16_t src_y + ** @param uint16_t src_width + ** @param uint16_t src_height + ** @param int16_t dst_x + ** @param int16_t dst_y + ** @param uint8_t depth + ** @param uint8_t format + ** @param uint8_t send_event + ** @param xcb_shm_seg_t shmseg + ** @param uint32_t offset + ** @returns xcb_void_cookie_t + ** + *****************************************************************************/ + +xcb_void_cookie_t +xcb_shm_put_image (xcb_connection_t *c /**< */, + xcb_drawable_t drawable /**< */, + xcb_gcontext_t gc /**< */, + uint16_t total_width /**< */, + uint16_t total_height /**< */, + uint16_t src_x /**< */, + uint16_t src_y /**< */, + uint16_t src_width /**< */, + uint16_t src_height /**< */, + int16_t dst_x /**< */, + int16_t dst_y /**< */, + uint8_t depth /**< */, + uint8_t format /**< */, + uint8_t send_event /**< */, + xcb_shm_seg_t shmseg /**< */, + uint32_t offset /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_shm_get_image_cookie_t xcb_shm_get_image + ** + ** @param xcb_connection_t *c + ** @param xcb_drawable_t drawable + ** @param int16_t x + ** @param int16_t y + ** @param uint16_t width + ** @param uint16_t height + ** @param uint32_t plane_mask + ** @param uint8_t format + ** @param xcb_shm_seg_t shmseg + ** @param uint32_t offset + ** @returns xcb_shm_get_image_cookie_t + ** + *****************************************************************************/ + +xcb_shm_get_image_cookie_t +xcb_shm_get_image (xcb_connection_t *c /**< */, + xcb_drawable_t drawable /**< */, + int16_t x /**< */, + int16_t y /**< */, + uint16_t width /**< */, + uint16_t height /**< */, + uint32_t plane_mask /**< */, + uint8_t format /**< */, + xcb_shm_seg_t shmseg /**< */, + uint32_t offset /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + * This form can be used only if the request will cause + * a reply to be generated. Any returned error will be + * placed in the event queue. + */ + +/***************************************************************************** + ** + ** xcb_shm_get_image_cookie_t xcb_shm_get_image_unchecked + ** + ** @param xcb_connection_t *c + ** @param xcb_drawable_t drawable + ** @param int16_t x + ** @param int16_t y + ** @param uint16_t width + ** @param uint16_t height + ** @param uint32_t plane_mask + ** @param uint8_t format + ** @param xcb_shm_seg_t shmseg + ** @param uint32_t offset + ** @returns xcb_shm_get_image_cookie_t + ** + *****************************************************************************/ + +xcb_shm_get_image_cookie_t +xcb_shm_get_image_unchecked (xcb_connection_t *c /**< */, + xcb_drawable_t drawable /**< */, + int16_t x /**< */, + int16_t y /**< */, + uint16_t width /**< */, + uint16_t height /**< */, + uint32_t plane_mask /**< */, + uint8_t format /**< */, + xcb_shm_seg_t shmseg /**< */, + uint32_t offset /**< */); + +/** + * Return the reply + * @param c The connection + * @param cookie The cookie + * @param e The xcb_generic_error_t supplied + * + * Returns the reply of the request asked by + * + * The parameter @p e supplied to this function must be NULL if + * xcb_shm_get_image_unchecked(). is used. + * Otherwise, it stores the error if any. + */ + +/***************************************************************************** + ** + ** xcb_shm_get_image_reply_t * xcb_shm_get_image_reply + ** + ** @param xcb_connection_t *c + ** @param xcb_shm_get_image_cookie_t cookie + ** @param xcb_generic_error_t **e + ** @returns xcb_shm_get_image_reply_t * + ** + *****************************************************************************/ + +xcb_shm_get_image_reply_t * +xcb_shm_get_image_reply (xcb_connection_t *c /**< */, + xcb_shm_get_image_cookie_t cookie /**< */, + xcb_generic_error_t **e /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + * This form can be used only if the request will not cause + * a reply to be generated. Any returned error will be + * saved for handling by xcb_request_check(). + */ + +/***************************************************************************** + ** + ** xcb_void_cookie_t xcb_shm_create_pixmap_checked + ** + ** @param xcb_connection_t *c + ** @param xcb_pixmap_t pid + ** @param xcb_drawable_t drawable + ** @param uint16_t width + ** @param uint16_t height + ** @param uint8_t depth + ** @param xcb_shm_seg_t shmseg + ** @param uint32_t offset + ** @returns xcb_void_cookie_t + ** + *****************************************************************************/ + +xcb_void_cookie_t +xcb_shm_create_pixmap_checked (xcb_connection_t *c /**< */, + xcb_pixmap_t pid /**< */, + xcb_drawable_t drawable /**< */, + uint16_t width /**< */, + uint16_t height /**< */, + uint8_t depth /**< */, + xcb_shm_seg_t shmseg /**< */, + uint32_t offset /**< */); + +/** + * Delivers a request to the X server + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ + +/***************************************************************************** + ** + ** xcb_void_cookie_t xcb_shm_create_pixmap + ** + ** @param xcb_connection_t *c + ** @param xcb_pixmap_t pid + ** @param xcb_drawable_t drawable + ** @param uint16_t width + ** @param uint16_t height + ** @param uint8_t depth + ** @param xcb_shm_seg_t shmseg + ** @param uint32_t offset + ** @returns xcb_void_cookie_t + ** + *****************************************************************************/ + +xcb_void_cookie_t +xcb_shm_create_pixmap (xcb_connection_t *c /**< */, + xcb_pixmap_t pid /**< */, + xcb_drawable_t drawable /**< */, + uint16_t width /**< */, + uint16_t height /**< */, + uint8_t depth /**< */, + xcb_shm_seg_t shmseg /**< */, + uint32_t offset /**< */); + + +#endif + +/** + * @} + */ |