- Main Page
- Modules
- Data Structures
- Files
- Related Pages

# XCB Record API

Record XCB Protocol Implementation. More...

## Data Structures
struct | xcb_record_context_iterator_t
| xcb_record_context_iterator_t More...
struct | xcb_record_range_8_t
| xcb_record_range_8_t More...
struct | xcb_record_range_8_iterator_t
| xcb_record_range_8_iterator_t More...
struct | xcb_record_range_16_t
| xcb_record_range_16_t More...
struct | xcb_record_range_16_iterator_t
| xcb_record_range_16_iterator_t More...
struct | xcb_record_ext_range_t
| xcb_record_ext_range_t More...
struct | xcb_record_ext_range_iterator_t
| xcb_record_ext_range_iterator_t More...
struct | xcb_record_range_t
| xcb_record_range_t More...
struct | xcb_record_range_iterator_t
| xcb_record_range_iterator_t More...
struct | xcb_record_element_header_iterator_t
| xcb_record_element_header_iterator_t More...
struct | xcb_record_client_spec_iterator_t
| xcb_record_client_spec_iterator_t More...
struct | xcb_record_client_info_t
| xcb_record_client_info_t More...
struct | xcb_record_client_info_iterator_t
| xcb_record_client_info_iterator_t More...
struct | xcb_record_bad_context_error_t
| xcb_record_bad_context_error_t More...
struct | xcb_record_query_version_cookie_t
| xcb_record_query_version_cookie_t More...
struct | xcb_record_query_version_request_t
| xcb_record_query_version_request_t More...
struct | xcb_record_query_version_reply_t
| xcb_record_query_version_reply_t More...
struct | xcb_record_create_context_request_t
| xcb_record_create_context_request_t More...
struct | xcb_record_register_clients_request_t
| xcb_record_register_clients_request_t More...
struct | xcb_record_unregister_clients_request_t
| xcb_record_unregister_clients_request_t More...
struct | xcb_record_get_context_cookie_t
| xcb_record_get_context_cookie_t More...
struct | xcb_record_get_context_request_t
| xcb_record_get_context_request_t More...
struct | xcb_record_get_context_reply_t
| xcb_record_get_context_reply_t More...
struct | xcb_record_enable_context_cookie_t
| xcb_record_enable_context_cookie_t More...
struct | xcb_record_enable_context_request_t
| xcb_record_enable_context_request_t More...
struct | xcb_record_enable_context_reply_t
| xcb_record_enable_context_reply_t More...
struct | xcb_record_disable_context_request_t
| xcb_record_disable_context_request_t More...
struct | xcb_record_free_context_request_t
| xcb_record_free_context_request_t More...
## Defines
#define | XCB_RECORD_MAJOR_VERSION 1
#define | XCB_RECORD_MINOR_VERSION 13
#define | XCB_RECORD_BAD_CONTEXT 0
#define | XCB_RECORD_QUERY_VERSION 0
#define | XCB_RECORD_CREATE_CONTEXT 1
#define | XCB_RECORD_REGISTER_CLIENTS 2
#define | XCB_RECORD_UNREGISTER_CLIENTS 3
#define | XCB_RECORD_GET_CONTEXT 4
#define | XCB_RECORD_ENABLE_CONTEXT 5
#define | XCB_RECORD_DISABLE_CONTEXT 6
#define | XCB_RECORD_FREE_CONTEXT 7
## Typedefs
typedef uint32_t | xcb_record_context_t
typedef uint8_t | xcb_record_element_header_t
typedef uint32_t | xcb_record_client_spec_t
## Enumerations
enum | xcb_record_h_type_t { XCB_RECORD_H_TYPE_FROM_SERVER_TIME = 1, XCB_RECORD_H_TYPE_FROM_CLIENT_TIME = 2, XCB_RECORD_H_TYPE_FROM_CLIENT_SEQUENCE = 4 }
enum | xcb_record_cs_t { XCB_RECORD_CS_CURRENT_CLIENTS = 1, XCB_RECORD_CS_FUTURE_CLIENTS = 2, XCB_RECORD_CS_ALL_CLIENTS = 3 }
## Functions
void | xcb_record_context_next (xcb_record_context_iterator_t *i)
xcb_generic_iterator_t | xcb_record_context_end (xcb_record_context_iterator_t i)
void | xcb_record_range_8_next (xcb_record_range_8_iterator_t *i)
xcb_generic_iterator_t | xcb_record_range_8_end (xcb_record_range_8_iterator_t i)
void | xcb_record_range_16_next (xcb_record_range_16_iterator_t *i)
xcb_generic_iterator_t | xcb_record_range_16_end (xcb_record_range_16_iterator_t i)
void | xcb_record_ext_range_next (xcb_record_ext_range_iterator_t *i)
xcb_generic_iterator_t | xcb_record_ext_range_end (xcb_record_ext_range_iterator_t i)
void | xcb_record_range_next (xcb_record_range_iterator_t *i)
xcb_generic_iterator_t | xcb_record_range_end (xcb_record_range_iterator_t i)
void | xcb_record_element_header_next (xcb_record_element_header_iterator_t *i)
xcb_generic_iterator_t | xcb_record_element_header_end (xcb_record_element_header_iterator_t i)
void | xcb_record_client_spec_next (xcb_record_client_spec_iterator_t *i)
xcb_generic_iterator_t | xcb_record_client_spec_end (xcb_record_client_spec_iterator_t i)
xcb_record_range_t * | xcb_record_client_info_ranges (const xcb_record_client_info_t *R)
int | xcb_record_client_info_ranges_length (const xcb_record_client_info_t *R)
xcb_record_range_iterator_t | xcb_record_client_info_ranges_iterator (const xcb_record_client_info_t *R)
void | xcb_record_client_info_next (xcb_record_client_info_iterator_t *i)
xcb_generic_iterator_t | xcb_record_client_info_end (xcb_record_client_info_iterator_t i)
xcb_record_query_version_cookie_t | xcb_record_query_version (xcb_connection_t *c, uint16_t major_version, uint16_t minor_version)
xcb_record_query_version_cookie_t | xcb_record_query_version_unchecked (xcb_connection_t *c, uint16_t major_version, uint16_t minor_version)
xcb_record_query_version_reply_t * | xcb_record_query_version_reply (xcb_connection_t *c, xcb_record_query_version_cookie_t cookie, xcb_generic_error_t **e)
xcb_void_cookie_t | xcb_record_create_context_checked (xcb_connection_t *c, xcb_record_context_t context, xcb_record_element_header_t element_header, uint32_t num_client_specs, uint32_t num_ranges, const xcb_record_client_spec_t *client_specs, const xcb_record_range_t *ranges)
xcb_void_cookie_t | xcb_record_create_context (xcb_connection_t *c, xcb_record_context_t context, xcb_record_element_header_t element_header, uint32_t num_client_specs, uint32_t num_ranges, const xcb_record_client_spec_t *client_specs, const xcb_record_range_t *ranges)
xcb_void_cookie_t | xcb_record_register_clients_checked (xcb_connection_t *c, xcb_record_context_t context, xcb_record_element_header_t element_header, uint32_t num_client_specs, uint32_t num_ranges, const xcb_record_client_spec_t *client_specs, const xcb_record_range_t *ranges)
xcb_void_cookie_t | xcb_record_register_clients (xcb_connection_t *c, xcb_record_context_t context, xcb_record_element_header_t element_header, uint32_t num_client_specs, uint32_t num_ranges, const xcb_record_client_spec_t *client_specs, const xcb_record_range_t *ranges)
xcb_void_cookie_t | xcb_record_unregister_clients_checked (xcb_connection_t *c, xcb_record_context_t context, uint32_t num_client_specs, const xcb_record_client_spec_t *client_specs)
xcb_void_cookie_t | xcb_record_unregister_clients (xcb_connection_t *c, xcb_record_context_t context, uint32_t num_client_specs, const xcb_record_client_spec_t *client_specs)
xcb_record_get_context_cookie_t | xcb_record_get_context (xcb_connection_t *c, xcb_record_context_t context)
xcb_record_get_context_cookie_t | xcb_record_get_context_unchecked (xcb_connection_t *c, xcb_record_context_t context)
int | xcb_record_get_context_intercepted_clients_length (const xcb_record_get_context_reply_t *R)
xcb_record_client_info_iterator_t | xcb_record_get_context_intercepted_clients_iterator (const xcb_record_get_context_reply_t *R)
xcb_record_get_context_reply_t * | xcb_record_get_context_reply (xcb_connection_t *c, xcb_record_get_context_cookie_t cookie, xcb_generic_error_t **e)
xcb_record_enable_context_cookie_t | xcb_record_enable_context (xcb_connection_t *c, xcb_record_context_t context)
xcb_record_enable_context_cookie_t | xcb_record_enable_context_unchecked (xcb_connection_t *c, xcb_record_context_t context)
uint8_t * | xcb_record_enable_context_data (const xcb_record_enable_context_reply_t *R)
int | xcb_record_enable_context_data_length (const xcb_record_enable_context_reply_t *R)
xcb_generic_iterator_t | xcb_record_enable_context_data_end (const xcb_record_enable_context_reply_t *R)
xcb_record_enable_context_reply_t * | xcb_record_enable_context_reply (xcb_connection_t *c, xcb_record_enable_context_cookie_t cookie, xcb_generic_error_t **e)
xcb_void_cookie_t | xcb_record_disable_context_checked (xcb_connection_t *c, xcb_record_context_t context)
xcb_void_cookie_t | xcb_record_disable_context (xcb_connection_t *c, xcb_record_context_t context)
xcb_void_cookie_t | xcb_record_free_context_checked (xcb_connection_t *c, xcb_record_context_t context)
xcb_void_cookie_t | xcb_record_free_context (xcb_connection_t *c, xcb_record_context_t context)
## Variables
xcb_extension_t | xcb_record_id

## Detailed Description

Record XCB Protocol Implementation.

## Define Documentation

#define XCB_RECORD_BAD_CONTEXT 0

Opcode for xcb_record_bad_context.

#define XCB_RECORD_CREATE_CONTEXT 1

Opcode for xcb_record_create_context.

#define XCB_RECORD_DISABLE_CONTEXT 6

Opcode for xcb_record_disable_context.

#define XCB_RECORD_ENABLE_CONTEXT 5

Opcode for xcb_record_enable_context.

#define XCB_RECORD_FREE_CONTEXT 7

Opcode for xcb_record_free_context.

#define XCB_RECORD_GET_CONTEXT 4

Opcode for xcb_record_get_context.

#define XCB_RECORD_QUERY_VERSION 0

Opcode for xcb_record_query_version.

#define XCB_RECORD_REGISTER_CLIENTS 2

Opcode for xcb_record_register_clients.

#define XCB_RECORD_UNREGISTER_CLIENTS 3

Opcode for xcb_record_unregister_clients.

## Function Documentation

xcb_generic_iterator_t xcb_record_client_info_end | ( | xcb_record_client_info_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_record_client_info_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.

void xcb_record_client_info_next | ( | xcb_record_client_info_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_record_client_info_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_record_client_info_t)

xcb_generic_iterator_t xcb_record_client_spec_end | ( | xcb_record_client_spec_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_record_client_spec_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.

void xcb_record_client_spec_next | ( | xcb_record_client_spec_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_record_client_spec_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_record_client_spec_t)

xcb_generic_iterator_t xcb_record_context_end | ( | xcb_record_context_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_record_context_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.

void xcb_record_context_next | ( | xcb_record_context_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_record_context_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_record_context_t)

xcb_void_cookie_t xcb_record_create_context | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context,
|  | xcb_record_element_header_t | element_header,
|  | uint32_t | num_client_specs,
|  | uint32_t | num_ranges,
|  | const xcb_record_client_spec_t * | client_specs,
|  | const xcb_record_range_t * | ranges |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_record_create_context_checked | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context,
|  | xcb_record_element_header_t | element_header,
|  | uint32_t | num_client_specs,
|  | uint32_t | num_ranges,
|  | const xcb_record_client_spec_t * | client_specs,
|  | const xcb_record_range_t * | ranges |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  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_record_disable_context | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_record_disable_context_checked | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  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_generic_iterator_t xcb_record_element_header_end | ( | xcb_record_element_header_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_record_element_header_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.

void xcb_record_element_header_next | ( | xcb_record_element_header_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_record_element_header_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_record_element_header_t)

xcb_record_enable_context_cookie_t xcb_record_enable_context | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_record_enable_context_reply_t* xcb_record_enable_context_reply | ( | xcb_connection_t * | c,
|  | xcb_record_enable_context_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The 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_record_enable_context_unchecked(). is used. Otherwise, it stores the error if any.

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

xcb_record_enable_context_cookie_t xcb_record_enable_context_unchecked | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  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_generic_iterator_t xcb_record_ext_range_end | ( | xcb_record_ext_range_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_record_ext_range_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.

void xcb_record_ext_range_next | ( | xcb_record_ext_range_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_record_ext_range_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_record_ext_range_t)

xcb_void_cookie_t xcb_record_free_context | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_record_free_context_checked | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  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_record_get_context_cookie_t xcb_record_get_context | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_record_get_context_reply_t* xcb_record_get_context_reply | ( | xcb_connection_t * | c,
|  | xcb_record_get_context_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The 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_record_get_context_unchecked(). is used. Otherwise, it stores the error if any.

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

xcb_record_get_context_cookie_t xcb_record_get_context_unchecked | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  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_record_query_version_cookie_t xcb_record_query_version | ( | xcb_connection_t * | c,
|  | uint16_t | major_version,
|  | uint16_t | minor_version |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_record_query_version_reply_t* xcb_record_query_version_reply | ( | xcb_connection_t * | c,
|  | xcb_record_query_version_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The 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_record_query_version_unchecked(). is used. Otherwise, it stores the error if any.

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

xcb_record_query_version_cookie_t xcb_record_query_version_unchecked | ( | xcb_connection_t * | c,
|  | uint16_t | major_version,
|  | uint16_t | minor_version |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  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_generic_iterator_t xcb_record_range_16_end | ( | xcb_record_range_16_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_record_range_16_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.

void xcb_record_range_16_next | ( | xcb_record_range_16_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_record_range_16_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_record_range_16_t)

xcb_generic_iterator_t xcb_record_range_8_end | ( | xcb_record_range_8_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_record_range_8_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.

void xcb_record_range_8_next | ( | xcb_record_range_8_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_record_range_8_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_record_range_8_t)

xcb_generic_iterator_t xcb_record_range_end | ( | xcb_record_range_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_record_range_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.

void xcb_record_range_next | ( | xcb_record_range_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_record_range_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_record_range_t)

xcb_void_cookie_t xcb_record_register_clients | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context,
|  | xcb_record_element_header_t | element_header,
|  | uint32_t | num_client_specs,
|  | uint32_t | num_ranges,
|  | const xcb_record_client_spec_t * | client_specs,
|  | const xcb_record_range_t * | ranges |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_record_register_clients_checked | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context,
|  | xcb_record_element_header_t | element_header,
|  | uint32_t | num_client_specs,
|  | uint32_t | num_ranges,
|  | const xcb_record_client_spec_t * | client_specs,
|  | const xcb_record_range_t * | ranges |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  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_record_unregister_clients | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context,
|  | uint32_t | num_client_specs,
|  | const xcb_record_client_spec_t * | client_specs |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_record_unregister_clients_checked | ( | xcb_connection_t * | c,
|  | xcb_record_context_t | context,
|  | uint32_t | num_client_specs,
|  | const xcb_record_client_spec_t * | client_specs |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

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