diff options
Diffstat (limited to 'lib/libxcb/src/shm.h')
-rw-r--r-- | lib/libxcb/src/shm.h | 176 |
1 files changed, 160 insertions, 16 deletions
diff --git a/lib/libxcb/src/shm.h b/lib/libxcb/src/shm.h index 248e0f447..1d22d3bdb 100644 --- a/lib/libxcb/src/shm.h +++ b/lib/libxcb/src/shm.h @@ -284,22 +284,28 @@ xcb_generic_iterator_t xcb_shm_seg_end (xcb_shm_seg_iterator_t i); /** + * @brief Query the version of the MIT-SHM extension. * * @param c The connection * @return A cookie * - * Delivers a request to the X server. + * This is used to determine the version of the MIT-SHM extension supported by the + * X server. Clients MUST NOT make other requests in this extension until a reply + * to this requests indicates the X server supports them. * */ xcb_shm_query_version_cookie_t xcb_shm_query_version (xcb_connection_t *c); /** + * @brief Query the version of the MIT-SHM extension. * * @param c The connection * @return A cookie * - * Delivers a request to the X server. + * This is used to determine the version of the MIT-SHM extension supported by the + * X server. Clients MUST NOT make other requests in this extension until a reply + * to this requests indicates the X server supports them. * * This form can be used only if the request will cause * a reply to be generated. Any returned error will be @@ -328,11 +334,18 @@ xcb_shm_query_version_reply (xcb_connection_t *c, xcb_generic_error_t **e); /** + * @brief Attach a System V shared memory segment. * * @param c The connection + * @param shmseg A shared memory segment ID created with xcb_generate_id(). + * @param shmid The System V shared memory segment the server should map. + * @param read_only True if the segment shall be mapped read only by the X11 server, otherwise false. * @return A cookie * - * Delivers a request to the X server. + * Attach a System V shared memory segment to the server. This will fail unless + * the server has permission to map the segment. The client may destroy the segment + * as soon as it receives a XCB_SHM_COMPLETION event with the shmseg value in this + * request and with the appropriate serial number. * * This form can be used only if the request will not cause * a reply to be generated. Any returned error will be @@ -345,11 +358,18 @@ xcb_shm_attach_checked (xcb_connection_t *c, uint8_t read_only); /** + * @brief Attach a System V shared memory segment. * * @param c The connection + * @param shmseg A shared memory segment ID created with xcb_generate_id(). + * @param shmid The System V shared memory segment the server should map. + * @param read_only True if the segment shall be mapped read only by the X11 server, otherwise false. * @return A cookie * - * Delivers a request to the X server. + * Attach a System V shared memory segment to the server. This will fail unless + * the server has permission to map the segment. The client may destroy the segment + * as soon as it receives a XCB_SHM_COMPLETION event with the shmseg value in this + * request and with the appropriate serial number. * */ xcb_void_cookie_t @@ -359,11 +379,14 @@ xcb_shm_attach (xcb_connection_t *c, uint8_t read_only); /** + * @brief Destroys the specified shared memory segment. * * @param c The connection + * @param shmseg The segment to be destroyed. * @return A cookie * - * Delivers a request to the X server. + * Destroys the specified shared memory segment. This will never fail unless the + * segment number is incorrect. * * This form can be used only if the request will not cause * a reply to be generated. Any returned error will be @@ -374,11 +397,14 @@ xcb_shm_detach_checked (xcb_connection_t *c, xcb_shm_seg_t shmseg); /** + * @brief Destroys the specified shared memory segment. * * @param c The connection + * @param shmseg The segment to be destroyed. * @return A cookie * - * Delivers a request to the X server. + * Destroys the specified shared memory segment. This will never fail unless the + * segment number is incorrect. * */ xcb_void_cookie_t @@ -386,11 +412,37 @@ xcb_shm_detach (xcb_connection_t *c, xcb_shm_seg_t shmseg); /** + * @brief Copy data from the shared memory to the specified drawable. * * @param c The connection + * @param drawable The drawable to draw to. + * @param gc The graphics context to use. + * @param total_width The total width of the source image. + * @param total_height The total height of the source image. + * @param src_x The source X coordinate of the sub-image to copy. + * @param src_y The source Y coordinate of the sub-image to copy. + * @param src_width The width, in source image coordinates, of the data to copy from the source. + * The X server will use this to determine the amount of data to copy. The amount + * of the destination image that is overwritten is determined automatically. + * @param src_height The height, in source image coordinates, of the data to copy from the source. + * The X server will use this to determine the amount of data to copy. The amount + * of the destination image that is overwritten is determined automatically. + * @param dst_x The X coordinate on the destination drawable to copy to. + * @param dst_y The Y coordinate on the destination drawable to copy to. + * @param depth The depth to use. + * @param format The format of the image being drawn. If it is XYBitmap, depth must be 1, or a + * "BadMatch" error results. The foreground pixel in the GC determines the source + * for the one bits in the image, and the background pixel determines the source + * for the zero bits. For XYPixmap and ZPixmap, the depth must match the depth of + * the drawable, or a "BadMatch" error results. + * @param send_event True if the server should send an XCB_SHM_COMPLETION event when the blit + * completes. + * @param offset The offset that the source image starts at. * @return A cookie * - * Delivers a request to the X server. + * Copy data from the shared memory to the specified drawable. The amount of bytes + * written to the destination image is always equal to the number of bytes read + * from the shared memory segment. * * This form can be used only if the request will not cause * a reply to be generated. Any returned error will be @@ -415,11 +467,37 @@ xcb_shm_put_image_checked (xcb_connection_t *c, uint32_t offset); /** + * @brief Copy data from the shared memory to the specified drawable. * * @param c The connection + * @param drawable The drawable to draw to. + * @param gc The graphics context to use. + * @param total_width The total width of the source image. + * @param total_height The total height of the source image. + * @param src_x The source X coordinate of the sub-image to copy. + * @param src_y The source Y coordinate of the sub-image to copy. + * @param src_width The width, in source image coordinates, of the data to copy from the source. + * The X server will use this to determine the amount of data to copy. The amount + * of the destination image that is overwritten is determined automatically. + * @param src_height The height, in source image coordinates, of the data to copy from the source. + * The X server will use this to determine the amount of data to copy. The amount + * of the destination image that is overwritten is determined automatically. + * @param dst_x The X coordinate on the destination drawable to copy to. + * @param dst_y The Y coordinate on the destination drawable to copy to. + * @param depth The depth to use. + * @param format The format of the image being drawn. If it is XYBitmap, depth must be 1, or a + * "BadMatch" error results. The foreground pixel in the GC determines the source + * for the one bits in the image, and the background pixel determines the source + * for the zero bits. For XYPixmap and ZPixmap, the depth must match the depth of + * the drawable, or a "BadMatch" error results. + * @param send_event True if the server should send an XCB_SHM_COMPLETION event when the blit + * completes. + * @param offset The offset that the source image starts at. * @return A cookie * - * Delivers a request to the X server. + * Copy data from the shared memory to the specified drawable. The amount of bytes + * written to the destination image is always equal to the number of bytes read + * from the shared memory segment. * */ xcb_void_cookie_t @@ -441,11 +519,23 @@ xcb_shm_put_image (xcb_connection_t *c, uint32_t offset); /** + * @brief Copies data from the specified drawable to the shared memory segment. * * @param c The connection + * @param drawable The drawable to copy the image out of. + * @param x The X coordinate in the drawable to begin copying at. + * @param y The Y coordinate in the drawable to begin copying at. + * @param width The width of the image to copy. + * @param height The height of the image to copy. + * @param plane_mask A mask that determines which planes are used. + * @param format The format to use for the copy (???). + * @param shmseg The destination shared memory segment. + * @param offset The offset in the shared memory segment to copy data to. * @return A cookie * - * Delivers a request to the X server. + * Copy data from the specified drawable to the shared memory segment. The amount + * of bytes written to the destination image is always equal to the number of bytes + * read from the shared memory segment. * */ xcb_shm_get_image_cookie_t @@ -461,11 +551,23 @@ xcb_shm_get_image (xcb_connection_t *c, uint32_t offset); /** + * @brief Copies data from the specified drawable to the shared memory segment. * * @param c The connection + * @param drawable The drawable to copy the image out of. + * @param x The X coordinate in the drawable to begin copying at. + * @param y The Y coordinate in the drawable to begin copying at. + * @param width The width of the image to copy. + * @param height The height of the image to copy. + * @param plane_mask A mask that determines which planes are used. + * @param format The format to use for the copy (???). + * @param shmseg The destination shared memory segment. + * @param offset The offset in the shared memory segment to copy data to. * @return A cookie * - * Delivers a request to the X server. + * Copy data from the specified drawable to the shared memory segment. The amount + * of bytes written to the destination image is always equal to the number of bytes + * read from the shared memory segment. * * This form can be used only if the request will cause * a reply to be generated. Any returned error will be @@ -503,11 +605,21 @@ xcb_shm_get_image_reply (xcb_connection_t *c, xcb_generic_error_t **e); /** + * @brief Create a pixmap backed by shared memory. * * @param c The connection + * @param pid A pixmap ID created with xcb_generate_id(). + * @param drawable The drawable to create the pixmap in. + * @param width The width of the pixmap to create. Must be nonzero, or a Value error results. + * @param height The height of the pixmap to create. Must be nonzero, or a Value error results. + * @param depth The depth of the pixmap to create. Must be nonzero, or a Value error results. + * @param shmseg The shared memory segment to use to create the pixmap. + * @param offset The offset in the segment to create the pixmap at. * @return A cookie * - * Delivers a request to the X server. + * Create a pixmap backed by shared memory. Writes to the shared memory will be + * reflected in the contents of the pixmap, and writes to the pixmap will be + * reflected in the contents of the shared memory. * * This form can be used only if the request will not cause * a reply to be generated. Any returned error will be @@ -524,11 +636,21 @@ xcb_shm_create_pixmap_checked (xcb_connection_t *c, uint32_t offset); /** + * @brief Create a pixmap backed by shared memory. * * @param c The connection + * @param pid A pixmap ID created with xcb_generate_id(). + * @param drawable The drawable to create the pixmap in. + * @param width The width of the pixmap to create. Must be nonzero, or a Value error results. + * @param height The height of the pixmap to create. Must be nonzero, or a Value error results. + * @param depth The depth of the pixmap to create. Must be nonzero, or a Value error results. + * @param shmseg The shared memory segment to use to create the pixmap. + * @param offset The offset in the segment to create the pixmap at. * @return A cookie * - * Delivers a request to the X server. + * Create a pixmap backed by shared memory. Writes to the shared memory will be + * reflected in the contents of the pixmap, and writes to the pixmap will be + * reflected in the contents of the shared memory. * */ xcb_void_cookie_t @@ -542,11 +664,17 @@ xcb_shm_create_pixmap (xcb_connection_t *c, uint32_t offset); /** + * @brief Create a shared memory segment * * @param c The connection + * @param shmseg A shared memory segment ID created with xcb_generate_id(). + * @param shm_fd The file descriptor the server should mmap(). + * @param read_only True if the segment shall be mapped read only by the X11 server, otherwise false. * @return A cookie * - * Delivers a request to the X server. + * Create a shared memory segment. The file descriptor will be mapped at offset + * zero, and the size will be obtained using fstat(). A zero size will result in a + * Value error. * * This form can be used only if the request will not cause * a reply to be generated. Any returned error will be @@ -559,11 +687,17 @@ xcb_shm_attach_fd_checked (xcb_connection_t *c, uint8_t read_only); /** + * @brief Create a shared memory segment * * @param c The connection + * @param shmseg A shared memory segment ID created with xcb_generate_id(). + * @param shm_fd The file descriptor the server should mmap(). + * @param read_only True if the segment shall be mapped read only by the X11 server, otherwise false. * @return A cookie * - * Delivers a request to the X server. + * Create a shared memory segment. The file descriptor will be mapped at offset + * zero, and the size will be obtained using fstat(). A zero size will result in a + * Value error. * */ xcb_void_cookie_t @@ -573,11 +707,16 @@ xcb_shm_attach_fd (xcb_connection_t *c, uint8_t read_only); /** + * @brief Asks the server to allocate a shared memory segment. * * @param c The connection + * @param shmseg A shared memory segment ID created with xcb_generate_id(). + * @param size The size of the segment to create. + * @param read_only True if the server should map the segment read-only; otherwise false. * @return A cookie * - * Delivers a request to the X server. + * Asks the server to allocate a shared memory segment. The server’s reply will + * include a file descriptor for the client to pass to mmap(). * */ xcb_shm_create_segment_cookie_t @@ -587,11 +726,16 @@ xcb_shm_create_segment (xcb_connection_t *c, uint8_t read_only); /** + * @brief Asks the server to allocate a shared memory segment. * * @param c The connection + * @param shmseg A shared memory segment ID created with xcb_generate_id(). + * @param size The size of the segment to create. + * @param read_only True if the server should map the segment read-only; otherwise false. * @return A cookie * - * Delivers a request to the X server. + * Asks the server to allocate a shared memory segment. The server’s reply will + * include a file descriptor for the client to pass to mmap(). * * This form can be used only if the request will cause * a reply to be generated. Any returned error will be |