summaryrefslogtreecommitdiff
path: root/lib/libxcb/src/shm.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libxcb/src/shm.h')
-rw-r--r--lib/libxcb/src/shm.h176
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