XCB 1.17.0
XCB Shm API

Shm XCB Protocol Implementation. More...

Data Structures

struct  xcb_shm_seg_iterator_t
 xcb_shm_seg_iterator_t More...
struct  xcb_shm_completion_event_t
 xcb_shm_completion_event_t More...
struct  xcb_shm_query_version_cookie_t
 xcb_shm_query_version_cookie_t More...
struct  xcb_shm_query_version_request_t
 xcb_shm_query_version_request_t More...
struct  xcb_shm_query_version_reply_t
 xcb_shm_query_version_reply_t More...
struct  xcb_shm_attach_request_t
 xcb_shm_attach_request_t More...
struct  xcb_shm_detach_request_t
 xcb_shm_detach_request_t More...
struct  xcb_shm_put_image_request_t
 xcb_shm_put_image_request_t More...
struct  xcb_shm_get_image_cookie_t
 xcb_shm_get_image_cookie_t More...
struct  xcb_shm_get_image_request_t
 xcb_shm_get_image_request_t More...
struct  xcb_shm_get_image_reply_t
 xcb_shm_get_image_reply_t More...
struct  xcb_shm_create_pixmap_request_t
 xcb_shm_create_pixmap_request_t More...
struct  xcb_shm_attach_fd_request_t
 xcb_shm_attach_fd_request_t More...
struct  xcb_shm_create_segment_cookie_t
 xcb_shm_create_segment_cookie_t More...
struct  xcb_shm_create_segment_request_t
 xcb_shm_create_segment_request_t More...
struct  xcb_shm_create_segment_reply_t
 xcb_shm_create_segment_reply_t More...

Macros

#define XCB_SHM_MAJOR_VERSION   1
#define XCB_SHM_MINOR_VERSION   2
#define XCB_SHM_COMPLETION   0
#define XCB_SHM_BAD_SEG   0
#define XCB_SHM_QUERY_VERSION   0
#define XCB_SHM_ATTACH   1
#define XCB_SHM_DETACH   2
#define XCB_SHM_PUT_IMAGE   3
#define XCB_SHM_GET_IMAGE   4
#define XCB_SHM_CREATE_PIXMAP   5
#define XCB_SHM_ATTACH_FD   6
#define XCB_SHM_CREATE_SEGMENT   7

Typedefs

typedef uint32_t xcb_shm_seg_t
typedef struct xcb_shm_seg_iterator_t xcb_shm_seg_iterator_t
 xcb_shm_seg_iterator_t
typedef struct xcb_shm_completion_event_t xcb_shm_completion_event_t
 xcb_shm_completion_event_t
typedef xcb_value_error_t xcb_shm_bad_seg_error_t
typedef struct xcb_shm_query_version_cookie_t xcb_shm_query_version_cookie_t
 xcb_shm_query_version_cookie_t
typedef struct xcb_shm_query_version_request_t xcb_shm_query_version_request_t
 xcb_shm_query_version_request_t
typedef struct xcb_shm_query_version_reply_t xcb_shm_query_version_reply_t
 xcb_shm_query_version_reply_t
typedef struct xcb_shm_attach_request_t xcb_shm_attach_request_t
 xcb_shm_attach_request_t
typedef struct xcb_shm_detach_request_t xcb_shm_detach_request_t
 xcb_shm_detach_request_t
typedef struct xcb_shm_put_image_request_t xcb_shm_put_image_request_t
 xcb_shm_put_image_request_t
typedef struct xcb_shm_get_image_cookie_t xcb_shm_get_image_cookie_t
 xcb_shm_get_image_cookie_t
typedef struct xcb_shm_get_image_request_t xcb_shm_get_image_request_t
 xcb_shm_get_image_request_t
typedef struct xcb_shm_get_image_reply_t xcb_shm_get_image_reply_t
 xcb_shm_get_image_reply_t
typedef struct xcb_shm_create_pixmap_request_t xcb_shm_create_pixmap_request_t
 xcb_shm_create_pixmap_request_t
typedef struct xcb_shm_attach_fd_request_t xcb_shm_attach_fd_request_t
 xcb_shm_attach_fd_request_t
typedef struct xcb_shm_create_segment_cookie_t xcb_shm_create_segment_cookie_t
 xcb_shm_create_segment_cookie_t
typedef struct xcb_shm_create_segment_request_t xcb_shm_create_segment_request_t
 xcb_shm_create_segment_request_t
typedef struct xcb_shm_create_segment_reply_t xcb_shm_create_segment_reply_t
 xcb_shm_create_segment_reply_t

Functions

void xcb_shm_seg_next (xcb_shm_seg_iterator_t *i)
xcb_generic_iterator_t xcb_shm_seg_end (xcb_shm_seg_iterator_t i)
xcb_shm_query_version_cookie_t xcb_shm_query_version (xcb_connection_t *c)
 Query the version of the MIT-SHM extension.
xcb_shm_query_version_cookie_t xcb_shm_query_version_unchecked (xcb_connection_t *c)
 Query the version of the MIT-SHM extension.
xcb_shm_query_version_reply_txcb_shm_query_version_reply (xcb_connection_t *c, xcb_shm_query_version_cookie_t cookie, xcb_generic_error_t **e)
xcb_void_cookie_t xcb_shm_attach_checked (xcb_connection_t *c, xcb_shm_seg_t shmseg, uint32_t shmid, uint8_t read_only)
 Attach a System V shared memory segment.
xcb_void_cookie_t xcb_shm_attach (xcb_connection_t *c, xcb_shm_seg_t shmseg, uint32_t shmid, uint8_t read_only)
 Attach a System V shared memory segment.
xcb_void_cookie_t xcb_shm_detach_checked (xcb_connection_t *c, xcb_shm_seg_t shmseg)
 Destroys the specified shared memory segment.
xcb_void_cookie_t xcb_shm_detach (xcb_connection_t *c, xcb_shm_seg_t shmseg)
 Destroys the specified shared memory segment.
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)
 Copy data from the shared memory to the specified drawable.
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)
 Copy data from the shared memory to the specified drawable.
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)
 Copies data from the specified drawable to the shared memory segment.
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)
 Copies data from the specified drawable to the shared memory segment.
xcb_shm_get_image_reply_txcb_shm_get_image_reply (xcb_connection_t *c, xcb_shm_get_image_cookie_t cookie, xcb_generic_error_t **e)
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)
 Create a pixmap backed by shared memory.
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)
 Create a pixmap backed by shared memory.
xcb_void_cookie_t xcb_shm_attach_fd_checked (xcb_connection_t *c, xcb_shm_seg_t shmseg, int32_t shm_fd, uint8_t read_only)
 Create a shared memory segment.
xcb_void_cookie_t xcb_shm_attach_fd (xcb_connection_t *c, xcb_shm_seg_t shmseg, int32_t shm_fd, uint8_t read_only)
 Create a shared memory segment.
xcb_shm_create_segment_cookie_t xcb_shm_create_segment (xcb_connection_t *c, xcb_shm_seg_t shmseg, uint32_t size, uint8_t read_only)
 Asks the server to allocate a shared memory segment.
xcb_shm_create_segment_cookie_t xcb_shm_create_segment_unchecked (xcb_connection_t *c, xcb_shm_seg_t shmseg, uint32_t size, uint8_t read_only)
 Asks the server to allocate a shared memory segment.
xcb_shm_create_segment_reply_txcb_shm_create_segment_reply (xcb_connection_t *c, xcb_shm_create_segment_cookie_t cookie, xcb_generic_error_t **e)
int * xcb_shm_create_segment_reply_fds (xcb_connection_t *c, xcb_shm_create_segment_reply_t *reply)

Variables

xcb_extension_t xcb_shm_id

Detailed Description

Shm XCB Protocol Implementation.

Macro Definition Documentation

◆ XCB_SHM_ATTACH

#define XCB_SHM_ATTACH   1

Opcode for xcb_shm_attach.

Referenced by xcb_shm_attach(), and xcb_shm_attach_checked().

◆ XCB_SHM_ATTACH_FD

#define XCB_SHM_ATTACH_FD   6

Opcode for xcb_shm_attach_fd.

Referenced by xcb_shm_attach_fd(), and xcb_shm_attach_fd_checked().

◆ XCB_SHM_BAD_SEG

#define XCB_SHM_BAD_SEG   0

Opcode for xcb_shm_bad_seg.

◆ XCB_SHM_COMPLETION

#define XCB_SHM_COMPLETION   0

Opcode for xcb_shm_completion.

◆ XCB_SHM_CREATE_PIXMAP

#define XCB_SHM_CREATE_PIXMAP   5

Opcode for xcb_shm_create_pixmap.

Referenced by xcb_shm_create_pixmap(), and xcb_shm_create_pixmap_checked().

◆ XCB_SHM_CREATE_SEGMENT

#define XCB_SHM_CREATE_SEGMENT   7

Opcode for xcb_shm_create_segment.

Referenced by xcb_shm_create_segment(), and xcb_shm_create_segment_unchecked().

◆ XCB_SHM_DETACH

#define XCB_SHM_DETACH   2

Opcode for xcb_shm_detach.

Referenced by xcb_shm_detach(), and xcb_shm_detach_checked().

◆ XCB_SHM_GET_IMAGE

#define XCB_SHM_GET_IMAGE   4

Opcode for xcb_shm_get_image.

Referenced by xcb_shm_get_image(), and xcb_shm_get_image_unchecked().

◆ XCB_SHM_PUT_IMAGE

#define XCB_SHM_PUT_IMAGE   3

Opcode for xcb_shm_put_image.

Referenced by xcb_shm_put_image(), and xcb_shm_put_image_checked().

◆ XCB_SHM_QUERY_VERSION

#define XCB_SHM_QUERY_VERSION   0

Opcode for xcb_shm_query_version.

Referenced by xcb_shm_query_version(), and xcb_shm_query_version_unchecked().

Function Documentation

◆ xcb_shm_attach()

xcb_void_cookie_t xcb_shm_attach ( xcb_connection_t * c,
xcb_shm_seg_t shmseg,
uint32_t shmid,
uint8_t read_only )

Attach a System V shared memory segment.

Parameters
cThe connection
shmsegA shared memory segment ID created with xcb_generate_id().
shmidThe System V shared memory segment the server should map.
read_onlyTrue if the segment shall be mapped read only by the X11 server, otherwise false.
Returns
A cookie

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.

References XCB_SHM_ATTACH.

◆ xcb_shm_attach_checked()

xcb_void_cookie_t xcb_shm_attach_checked ( xcb_connection_t * c,
xcb_shm_seg_t shmseg,
uint32_t shmid,
uint8_t read_only )

Attach a System V shared memory segment.

Parameters
cThe connection
shmsegA shared memory segment ID created with xcb_generate_id().
shmidThe System V shared memory segment the server should map.
read_onlyTrue if the segment shall be mapped read only by the X11 server, otherwise false.
Returns
A cookie

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 saved for handling by xcb_request_check().

References XCB_SHM_ATTACH.

◆ xcb_shm_attach_fd()

xcb_void_cookie_t xcb_shm_attach_fd ( xcb_connection_t * c,
xcb_shm_seg_t shmseg,
int32_t shm_fd,
uint8_t read_only )

Create a shared memory segment.

Parameters
cThe connection
shmsegA shared memory segment ID created with xcb_generate_id().
shm_fdThe file descriptor the server should mmap().
read_onlyTrue if the segment shall be mapped read only by the X11 server, otherwise false.
Returns
A cookie

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.

References XCB_SHM_ATTACH_FD.

◆ xcb_shm_attach_fd_checked()

xcb_void_cookie_t xcb_shm_attach_fd_checked ( xcb_connection_t * c,
xcb_shm_seg_t shmseg,
int32_t shm_fd,
uint8_t read_only )

Create a shared memory segment.

Parameters
cThe connection
shmsegA shared memory segment ID created with xcb_generate_id().
shm_fdThe file descriptor the server should mmap().
read_onlyTrue if the segment shall be mapped read only by the X11 server, otherwise false.
Returns
A cookie

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 saved for handling by xcb_request_check().

References XCB_SHM_ATTACH_FD.

◆ xcb_shm_create_pixmap()

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 )

Create a pixmap backed by shared memory.

Parameters
cThe connection
pidA pixmap ID created with xcb_generate_id().
drawableThe drawable to create the pixmap in.
widthThe width of the pixmap to create. Must be nonzero, or a Value error results.
heightThe height of the pixmap to create. Must be nonzero, or a Value error results.
depthThe depth of the pixmap to create. Must be nonzero, or a Value error results.
shmsegThe shared memory segment to use to create the pixmap.
offsetThe offset in the segment to create the pixmap at.
Returns
A cookie

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.

References XCB_SHM_CREATE_PIXMAP.

◆ xcb_shm_create_pixmap_checked()

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 )

Create a pixmap backed by shared memory.

Parameters
cThe connection
pidA pixmap ID created with xcb_generate_id().
drawableThe drawable to create the pixmap in.
widthThe width of the pixmap to create. Must be nonzero, or a Value error results.
heightThe height of the pixmap to create. Must be nonzero, or a Value error results.
depthThe depth of the pixmap to create. Must be nonzero, or a Value error results.
shmsegThe shared memory segment to use to create the pixmap.
offsetThe offset in the segment to create the pixmap at.
Returns
A cookie

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 saved for handling by xcb_request_check().

References XCB_SHM_CREATE_PIXMAP.

◆ xcb_shm_create_segment()

xcb_shm_create_segment_cookie_t xcb_shm_create_segment ( xcb_connection_t * c,
xcb_shm_seg_t shmseg,
uint32_t size,
uint8_t read_only )

Asks the server to allocate a shared memory segment.

Parameters
cThe connection
shmsegA shared memory segment ID created with xcb_generate_id().
sizeThe size of the segment to create.
read_onlyTrue if the server should map the segment read-only; otherwise false.
Returns
A cookie

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().

References XCB_SHM_CREATE_SEGMENT.

◆ xcb_shm_create_segment_reply()

Return the reply

Parameters
cThe connection
cookieThe cookie
eThe xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter e supplied to this function must be NULL if xcb_shm_create_segment_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

◆ xcb_shm_create_segment_reply_fds()

int * xcb_shm_create_segment_reply_fds ( xcb_connection_t * c,
xcb_shm_create_segment_reply_t * reply )

Return the reply fds

Parameters
cThe connection
replyThe reply

Returns a pointer to the array of reply fds of the reply.

The returned value points into the reply and must not be free(). The fds are not managed by xcb. You must close() them before freeing the reply.

◆ xcb_shm_create_segment_unchecked()

xcb_shm_create_segment_cookie_t xcb_shm_create_segment_unchecked ( xcb_connection_t * c,
xcb_shm_seg_t shmseg,
uint32_t size,
uint8_t read_only )

Asks the server to allocate a shared memory segment.

Parameters
cThe connection
shmsegA shared memory segment ID created with xcb_generate_id().
sizeThe size of the segment to create.
read_onlyTrue if the server should map the segment read-only; otherwise false.
Returns
A cookie

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 placed in the event queue.

References XCB_SHM_CREATE_SEGMENT.

◆ xcb_shm_detach()

xcb_void_cookie_t xcb_shm_detach ( xcb_connection_t * c,
xcb_shm_seg_t shmseg )

Destroys the specified shared memory segment.

Parameters
cThe connection
shmsegThe segment to be destroyed.
Returns
A cookie

Destroys the specified shared memory segment. This will never fail unless the segment number is incorrect.

References XCB_SHM_DETACH.

◆ xcb_shm_detach_checked()

xcb_void_cookie_t xcb_shm_detach_checked ( xcb_connection_t * c,
xcb_shm_seg_t shmseg )

Destroys the specified shared memory segment.

Parameters
cThe connection
shmsegThe segment to be destroyed.
Returns
A cookie

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 saved for handling by xcb_request_check().

References XCB_SHM_DETACH.

◆ xcb_shm_get_image()

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 )

Copies data from the specified drawable to the shared memory segment.

Parameters
cThe connection
drawableThe drawable to copy the image out of.
xThe X coordinate in the drawable to begin copying at.
yThe Y coordinate in the drawable to begin copying at.
widthThe width of the image to copy.
heightThe height of the image to copy.
plane_maskA mask that determines which planes are used.
formatThe format to use for the copy (???).
shmsegThe destination shared memory segment.
offsetThe offset in the shared memory segment to copy data to.
Returns
A cookie

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.

References XCB_SHM_GET_IMAGE.

◆ xcb_shm_get_image_reply()

Return the reply

Parameters
cThe connection
cookieThe cookie
eThe xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter e supplied to this function must be NULL if xcb_shm_get_image_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

◆ xcb_shm_get_image_unchecked()

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 )

Copies data from the specified drawable to the shared memory segment.

Parameters
cThe connection
drawableThe drawable to copy the image out of.
xThe X coordinate in the drawable to begin copying at.
yThe Y coordinate in the drawable to begin copying at.
widthThe width of the image to copy.
heightThe height of the image to copy.
plane_maskA mask that determines which planes are used.
formatThe format to use for the copy (???).
shmsegThe destination shared memory segment.
offsetThe offset in the shared memory segment to copy data to.
Returns
A cookie

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 placed in the event queue.

References XCB_SHM_GET_IMAGE.

◆ xcb_shm_put_image()

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 )

Copy data from the shared memory to the specified drawable.

Parameters
cThe connection
drawableThe drawable to draw to.
gcThe graphics context to use.
total_widthThe total width of the source image.
total_heightThe total height of the source image.
src_xThe source X coordinate of the sub-image to copy.
src_yThe source Y coordinate of the sub-image to copy.
src_widthThe 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.
src_heightThe 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.
dst_xThe X coordinate on the destination drawable to copy to.
dst_yThe Y coordinate on the destination drawable to copy to.
depthThe depth to use.
formatThe 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.
send_eventTrue if the server should send an XCB_SHM_COMPLETION event when the blit completes.
offsetThe offset that the source image starts at.
Returns
A cookie

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.

References XCB_SHM_PUT_IMAGE.

◆ xcb_shm_put_image_checked()

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 )

Copy data from the shared memory to the specified drawable.

Parameters
cThe connection
drawableThe drawable to draw to.
gcThe graphics context to use.
total_widthThe total width of the source image.
total_heightThe total height of the source image.
src_xThe source X coordinate of the sub-image to copy.
src_yThe source Y coordinate of the sub-image to copy.
src_widthThe 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.
src_heightThe 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.
dst_xThe X coordinate on the destination drawable to copy to.
dst_yThe Y coordinate on the destination drawable to copy to.
depthThe depth to use.
formatThe 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.
send_eventTrue if the server should send an XCB_SHM_COMPLETION event when the blit completes.
offsetThe offset that the source image starts at.
Returns
A cookie

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 saved for handling by xcb_request_check().

References XCB_SHM_PUT_IMAGE.

◆ xcb_shm_query_version()

xcb_shm_query_version_cookie_t xcb_shm_query_version ( xcb_connection_t * c)

Query the version of the MIT-SHM extension.

Parameters
cThe connection
Returns
A cookie

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.

References XCB_SHM_QUERY_VERSION.

◆ xcb_shm_query_version_reply()

Return the reply

Parameters
cThe connection
cookieThe cookie
eThe xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter e supplied to this function must be NULL if xcb_shm_query_version_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

◆ xcb_shm_query_version_unchecked()

xcb_shm_query_version_cookie_t xcb_shm_query_version_unchecked ( xcb_connection_t * c)

Query the version of the MIT-SHM extension.

Parameters
cThe connection
Returns
A cookie

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 placed in the event queue.

References XCB_SHM_QUERY_VERSION.

◆ xcb_shm_seg_end()

Return the iterator pointing to the last element

Parameters
iAn xcb_shm_seg_iterator_t
Returns
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.

References xcb_generic_iterator_t::data, xcb_generic_iterator_t::index, and xcb_generic_iterator_t::rem.

◆ xcb_shm_seg_next()

void xcb_shm_seg_next ( xcb_shm_seg_iterator_t * i)

Get the next element of the iterator

Parameters
iPointer 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)