blob: 4d87b72e5c7f9f1e1c8b602396a7945459dec568 [file] [log] [blame]
/*
* This file generated automatically from xproto.xml by c_client.py.
* Edit at your peril.
*/
/**
* @defgroup XCB__API XCB API
* @brief XCB Protocol Implementation.
* @{
**/
#ifndef __XPROTO_H
#define __XPROTO_H
#include "xcb.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief xcb_char2b_t
**/
typedef struct xcb_char2b_t {
uint8_t byte1;
uint8_t byte2;
} xcb_char2b_t;
/**
* @brief xcb_char2b_iterator_t
**/
typedef struct xcb_char2b_iterator_t {
xcb_char2b_t *data;
int rem;
int index;
} xcb_char2b_iterator_t;
typedef uint32_t xcb_window_t;
/**
* @brief xcb_window_iterator_t
**/
typedef struct xcb_window_iterator_t {
xcb_window_t *data;
int rem;
int index;
} xcb_window_iterator_t;
typedef uint32_t xcb_pixmap_t;
/**
* @brief xcb_pixmap_iterator_t
**/
typedef struct xcb_pixmap_iterator_t {
xcb_pixmap_t *data;
int rem;
int index;
} xcb_pixmap_iterator_t;
typedef uint32_t xcb_cursor_t;
/**
* @brief xcb_cursor_iterator_t
**/
typedef struct xcb_cursor_iterator_t {
xcb_cursor_t *data;
int rem;
int index;
} xcb_cursor_iterator_t;
typedef uint32_t xcb_font_t;
/**
* @brief xcb_font_iterator_t
**/
typedef struct xcb_font_iterator_t {
xcb_font_t *data;
int rem;
int index;
} xcb_font_iterator_t;
typedef uint32_t xcb_gcontext_t;
/**
* @brief xcb_gcontext_iterator_t
**/
typedef struct xcb_gcontext_iterator_t {
xcb_gcontext_t *data;
int rem;
int index;
} xcb_gcontext_iterator_t;
typedef uint32_t xcb_colormap_t;
/**
* @brief xcb_colormap_iterator_t
**/
typedef struct xcb_colormap_iterator_t {
xcb_colormap_t *data;
int rem;
int index;
} xcb_colormap_iterator_t;
typedef uint32_t xcb_atom_t;
/**
* @brief xcb_atom_iterator_t
**/
typedef struct xcb_atom_iterator_t {
xcb_atom_t *data;
int rem;
int index;
} xcb_atom_iterator_t;
typedef uint32_t xcb_drawable_t;
/**
* @brief xcb_drawable_iterator_t
**/
typedef struct xcb_drawable_iterator_t {
xcb_drawable_t *data;
int rem;
int index;
} xcb_drawable_iterator_t;
typedef uint32_t xcb_fontable_t;
/**
* @brief xcb_fontable_iterator_t
**/
typedef struct xcb_fontable_iterator_t {
xcb_fontable_t *data;
int rem;
int index;
} xcb_fontable_iterator_t;
typedef uint32_t xcb_bool32_t;
/**
* @brief xcb_bool32_iterator_t
**/
typedef struct xcb_bool32_iterator_t {
xcb_bool32_t *data;
int rem;
int index;
} xcb_bool32_iterator_t;
typedef uint32_t xcb_visualid_t;
/**
* @brief xcb_visualid_iterator_t
**/
typedef struct xcb_visualid_iterator_t {
xcb_visualid_t *data;
int rem;
int index;
} xcb_visualid_iterator_t;
typedef uint32_t xcb_timestamp_t;
/**
* @brief xcb_timestamp_iterator_t
**/
typedef struct xcb_timestamp_iterator_t {
xcb_timestamp_t *data;
int rem;
int index;
} xcb_timestamp_iterator_t;
typedef uint32_t xcb_keysym_t;
/**
* @brief xcb_keysym_iterator_t
**/
typedef struct xcb_keysym_iterator_t {
xcb_keysym_t *data;
int rem;
int index;
} xcb_keysym_iterator_t;
typedef uint8_t xcb_keycode_t;
/**
* @brief xcb_keycode_iterator_t
**/
typedef struct xcb_keycode_iterator_t {
xcb_keycode_t *data;
int rem;
int index;
} xcb_keycode_iterator_t;
typedef uint32_t xcb_keycode32_t;
/**
* @brief xcb_keycode32_iterator_t
**/
typedef struct xcb_keycode32_iterator_t {
xcb_keycode32_t *data;
int rem;
int index;
} xcb_keycode32_iterator_t;
typedef uint8_t xcb_button_t;
/**
* @brief xcb_button_iterator_t
**/
typedef struct xcb_button_iterator_t {
xcb_button_t *data;
int rem;
int index;
} xcb_button_iterator_t;
/**
* @brief xcb_point_t
**/
typedef struct xcb_point_t {
int16_t x;
int16_t y;
} xcb_point_t;
/**
* @brief xcb_point_iterator_t
**/
typedef struct xcb_point_iterator_t {
xcb_point_t *data;
int rem;
int index;
} xcb_point_iterator_t;
/**
* @brief xcb_rectangle_t
**/
typedef struct xcb_rectangle_t {
int16_t x;
int16_t y;
uint16_t width;
uint16_t height;
} xcb_rectangle_t;
/**
* @brief xcb_rectangle_iterator_t
**/
typedef struct xcb_rectangle_iterator_t {
xcb_rectangle_t *data;
int rem;
int index;
} xcb_rectangle_iterator_t;
/**
* @brief xcb_arc_t
**/
typedef struct xcb_arc_t {
int16_t x;
int16_t y;
uint16_t width;
uint16_t height;
int16_t angle1;
int16_t angle2;
} xcb_arc_t;
/**
* @brief xcb_arc_iterator_t
**/
typedef struct xcb_arc_iterator_t {
xcb_arc_t *data;
int rem;
int index;
} xcb_arc_iterator_t;
/**
* @brief xcb_format_t
**/
typedef struct xcb_format_t {
uint8_t depth;
uint8_t bits_per_pixel;
uint8_t scanline_pad;
uint8_t pad0[5];
} xcb_format_t;
/**
* @brief xcb_format_iterator_t
**/
typedef struct xcb_format_iterator_t {
xcb_format_t *data;
int rem;
int index;
} xcb_format_iterator_t;
typedef enum xcb_visual_class_t {
XCB_VISUAL_CLASS_STATIC_GRAY = 0,
XCB_VISUAL_CLASS_GRAY_SCALE = 1,
XCB_VISUAL_CLASS_STATIC_COLOR = 2,
XCB_VISUAL_CLASS_PSEUDO_COLOR = 3,
XCB_VISUAL_CLASS_TRUE_COLOR = 4,
XCB_VISUAL_CLASS_DIRECT_COLOR = 5
} xcb_visual_class_t;
/**
* @brief xcb_visualtype_t
**/
typedef struct xcb_visualtype_t {
xcb_visualid_t visual_id;
uint8_t _class;
uint8_t bits_per_rgb_value;
uint16_t colormap_entries;
uint32_t red_mask;
uint32_t green_mask;
uint32_t blue_mask;
uint8_t pad0[4];
} xcb_visualtype_t;
/**
* @brief xcb_visualtype_iterator_t
**/
typedef struct xcb_visualtype_iterator_t {
xcb_visualtype_t *data;
int rem;
int index;
} xcb_visualtype_iterator_t;
/**
* @brief xcb_depth_t
**/
typedef struct xcb_depth_t {
uint8_t depth;
uint8_t pad0;
uint16_t visuals_len;
uint8_t pad1[4];
} xcb_depth_t;
/**
* @brief xcb_depth_iterator_t
**/
typedef struct xcb_depth_iterator_t {
xcb_depth_t *data;
int rem;
int index;
} xcb_depth_iterator_t;
typedef enum xcb_event_mask_t {
XCB_EVENT_MASK_NO_EVENT = 0,
XCB_EVENT_MASK_KEY_PRESS = 1,
XCB_EVENT_MASK_KEY_RELEASE = 2,
XCB_EVENT_MASK_BUTTON_PRESS = 4,
XCB_EVENT_MASK_BUTTON_RELEASE = 8,
XCB_EVENT_MASK_ENTER_WINDOW = 16,
XCB_EVENT_MASK_LEAVE_WINDOW = 32,
XCB_EVENT_MASK_POINTER_MOTION = 64,
XCB_EVENT_MASK_POINTER_MOTION_HINT = 128,
XCB_EVENT_MASK_BUTTON_1_MOTION = 256,
XCB_EVENT_MASK_BUTTON_2_MOTION = 512,
XCB_EVENT_MASK_BUTTON_3_MOTION = 1024,
XCB_EVENT_MASK_BUTTON_4_MOTION = 2048,
XCB_EVENT_MASK_BUTTON_5_MOTION = 4096,
XCB_EVENT_MASK_BUTTON_MOTION = 8192,
XCB_EVENT_MASK_KEYMAP_STATE = 16384,
XCB_EVENT_MASK_EXPOSURE = 32768,
XCB_EVENT_MASK_VISIBILITY_CHANGE = 65536,
XCB_EVENT_MASK_STRUCTURE_NOTIFY = 131072,
XCB_EVENT_MASK_RESIZE_REDIRECT = 262144,
XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY = 524288,
XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT = 1048576,
XCB_EVENT_MASK_FOCUS_CHANGE = 2097152,
XCB_EVENT_MASK_PROPERTY_CHANGE = 4194304,
XCB_EVENT_MASK_COLOR_MAP_CHANGE = 8388608,
XCB_EVENT_MASK_OWNER_GRAB_BUTTON = 16777216
} xcb_event_mask_t;
typedef enum xcb_backing_store_t {
XCB_BACKING_STORE_NOT_USEFUL = 0,
XCB_BACKING_STORE_WHEN_MAPPED = 1,
XCB_BACKING_STORE_ALWAYS = 2
} xcb_backing_store_t;
/**
* @brief xcb_screen_t
**/
typedef struct xcb_screen_t {
xcb_window_t root;
xcb_colormap_t default_colormap;
uint32_t white_pixel;
uint32_t black_pixel;
uint32_t current_input_masks;
uint16_t width_in_pixels;
uint16_t height_in_pixels;
uint16_t width_in_millimeters;
uint16_t height_in_millimeters;
uint16_t min_installed_maps;
uint16_t max_installed_maps;
xcb_visualid_t root_visual;
uint8_t backing_stores;
uint8_t save_unders;
uint8_t root_depth;
uint8_t allowed_depths_len;
} xcb_screen_t;
/**
* @brief xcb_screen_iterator_t
**/
typedef struct xcb_screen_iterator_t {
xcb_screen_t *data;
int rem;
int index;
} xcb_screen_iterator_t;
/**
* @brief xcb_setup_request_t
**/
typedef struct xcb_setup_request_t {
uint8_t byte_order;
uint8_t pad0;
uint16_t protocol_major_version;
uint16_t protocol_minor_version;
uint16_t authorization_protocol_name_len;
uint16_t authorization_protocol_data_len;
uint8_t pad1[2];
} xcb_setup_request_t;
/**
* @brief xcb_setup_request_iterator_t
**/
typedef struct xcb_setup_request_iterator_t {
xcb_setup_request_t *data;
int rem;
int index;
} xcb_setup_request_iterator_t;
/**
* @brief xcb_setup_failed_t
**/
typedef struct xcb_setup_failed_t {
uint8_t status;
uint8_t reason_len;
uint16_t protocol_major_version;
uint16_t protocol_minor_version;
uint16_t length;
} xcb_setup_failed_t;
/**
* @brief xcb_setup_failed_iterator_t
**/
typedef struct xcb_setup_failed_iterator_t {
xcb_setup_failed_t *data;
int rem;
int index;
} xcb_setup_failed_iterator_t;
/**
* @brief xcb_setup_authenticate_t
**/
typedef struct xcb_setup_authenticate_t {
uint8_t status;
uint8_t pad0[5];
uint16_t length;
} xcb_setup_authenticate_t;
/**
* @brief xcb_setup_authenticate_iterator_t
**/
typedef struct xcb_setup_authenticate_iterator_t {
xcb_setup_authenticate_t *data;
int rem;
int index;
} xcb_setup_authenticate_iterator_t;
typedef enum xcb_image_order_t {
XCB_IMAGE_ORDER_LSB_FIRST = 0,
XCB_IMAGE_ORDER_MSB_FIRST = 1
} xcb_image_order_t;
/**
* @brief xcb_setup_t
**/
typedef struct xcb_setup_t {
uint8_t status;
uint8_t pad0;
uint16_t protocol_major_version;
uint16_t protocol_minor_version;
uint16_t length;
uint32_t release_number;
uint32_t resource_id_base;
uint32_t resource_id_mask;
uint32_t motion_buffer_size;
uint16_t vendor_len;
uint16_t maximum_request_length;
uint8_t roots_len;
uint8_t pixmap_formats_len;
uint8_t image_byte_order;
uint8_t bitmap_format_bit_order;
uint8_t bitmap_format_scanline_unit;
uint8_t bitmap_format_scanline_pad;
xcb_keycode_t min_keycode;
xcb_keycode_t max_keycode;
uint8_t pad1[4];
} xcb_setup_t;
/**
* @brief xcb_setup_iterator_t
**/
typedef struct xcb_setup_iterator_t {
xcb_setup_t *data;
int rem;
int index;
} xcb_setup_iterator_t;
typedef enum xcb_mod_mask_t {
XCB_MOD_MASK_SHIFT = 1,
XCB_MOD_MASK_LOCK = 2,
XCB_MOD_MASK_CONTROL = 4,
XCB_MOD_MASK_1 = 8,
XCB_MOD_MASK_2 = 16,
XCB_MOD_MASK_3 = 32,
XCB_MOD_MASK_4 = 64,
XCB_MOD_MASK_5 = 128,
XCB_MOD_MASK_ANY = 32768
} xcb_mod_mask_t;
typedef enum xcb_key_but_mask_t {
XCB_KEY_BUT_MASK_SHIFT = 1,
XCB_KEY_BUT_MASK_LOCK = 2,
XCB_KEY_BUT_MASK_CONTROL = 4,
XCB_KEY_BUT_MASK_MOD_1 = 8,
XCB_KEY_BUT_MASK_MOD_2 = 16,
XCB_KEY_BUT_MASK_MOD_3 = 32,
XCB_KEY_BUT_MASK_MOD_4 = 64,
XCB_KEY_BUT_MASK_MOD_5 = 128,
XCB_KEY_BUT_MASK_BUTTON_1 = 256,
XCB_KEY_BUT_MASK_BUTTON_2 = 512,
XCB_KEY_BUT_MASK_BUTTON_3 = 1024,
XCB_KEY_BUT_MASK_BUTTON_4 = 2048,
XCB_KEY_BUT_MASK_BUTTON_5 = 4096
} xcb_key_but_mask_t;
typedef enum xcb_window_enum_t {
XCB_WINDOW_NONE = 0
} xcb_window_enum_t;
/** Opcode for xcb_key_press. */
#define XCB_KEY_PRESS 2
/**
* @brief xcb_key_press_event_t
**/
typedef struct xcb_key_press_event_t {
uint8_t response_type;
xcb_keycode_t detail;
uint16_t sequence;
xcb_timestamp_t time;
xcb_window_t root;
xcb_window_t event;
xcb_window_t child;
int16_t root_x;
int16_t root_y;
int16_t event_x;
int16_t event_y;
uint16_t state;
uint8_t same_screen;
uint8_t pad0;
} xcb_key_press_event_t;
/** Opcode for xcb_key_release. */
#define XCB_KEY_RELEASE 3
typedef xcb_key_press_event_t xcb_key_release_event_t;
typedef enum xcb_button_mask_t {
XCB_BUTTON_MASK_1 = 256,
XCB_BUTTON_MASK_2 = 512,
XCB_BUTTON_MASK_3 = 1024,
XCB_BUTTON_MASK_4 = 2048,
XCB_BUTTON_MASK_5 = 4096,
XCB_BUTTON_MASK_ANY = 32768
} xcb_button_mask_t;
/** Opcode for xcb_button_press. */
#define XCB_BUTTON_PRESS 4
/**
* @brief xcb_button_press_event_t
**/
typedef struct xcb_button_press_event_t {
uint8_t response_type;
xcb_button_t detail;
uint16_t sequence;
xcb_timestamp_t time;
xcb_window_t root;
xcb_window_t event;
xcb_window_t child;
int16_t root_x;
int16_t root_y;
int16_t event_x;
int16_t event_y;
uint16_t state;
uint8_t same_screen;
uint8_t pad0;
} xcb_button_press_event_t;
/** Opcode for xcb_button_release. */
#define XCB_BUTTON_RELEASE 5
typedef xcb_button_press_event_t xcb_button_release_event_t;
typedef enum xcb_motion_t {
XCB_MOTION_NORMAL = 0,
XCB_MOTION_HINT = 1
} xcb_motion_t;
/** Opcode for xcb_motion_notify. */
#define XCB_MOTION_NOTIFY 6
/**
* @brief xcb_motion_notify_event_t
**/
typedef struct xcb_motion_notify_event_t {
uint8_t response_type;
uint8_t detail;
uint16_t sequence;
xcb_timestamp_t time;
xcb_window_t root;
xcb_window_t event;
xcb_window_t child;
int16_t root_x;
int16_t root_y;
int16_t event_x;
int16_t event_y;
uint16_t state;
uint8_t same_screen;
uint8_t pad0;
} xcb_motion_notify_event_t;
typedef enum xcb_notify_detail_t {
XCB_NOTIFY_DETAIL_ANCESTOR = 0,
XCB_NOTIFY_DETAIL_VIRTUAL = 1,
XCB_NOTIFY_DETAIL_INFERIOR = 2,
XCB_NOTIFY_DETAIL_NONLINEAR = 3,
XCB_NOTIFY_DETAIL_NONLINEAR_VIRTUAL = 4,
XCB_NOTIFY_DETAIL_POINTER = 5,
XCB_NOTIFY_DETAIL_POINTER_ROOT = 6,
XCB_NOTIFY_DETAIL_NONE = 7
} xcb_notify_detail_t;
typedef enum xcb_notify_mode_t {
XCB_NOTIFY_MODE_NORMAL = 0,
XCB_NOTIFY_MODE_GRAB = 1,
XCB_NOTIFY_MODE_UNGRAB = 2,
XCB_NOTIFY_MODE_WHILE_GRABBED = 3
} xcb_notify_mode_t;
/** Opcode for xcb_enter_notify. */
#define XCB_ENTER_NOTIFY 7
/**
* @brief xcb_enter_notify_event_t
**/
typedef struct xcb_enter_notify_event_t {
uint8_t response_type;
uint8_t detail;
uint16_t sequence;
xcb_timestamp_t time;
xcb_window_t root;
xcb_window_t event;
xcb_window_t child;
int16_t root_x;
int16_t root_y;
int16_t event_x;
int16_t event_y;
uint16_t state;
uint8_t mode;
uint8_t same_screen_focus;
} xcb_enter_notify_event_t;
/** Opcode for xcb_leave_notify. */
#define XCB_LEAVE_NOTIFY 8
typedef xcb_enter_notify_event_t xcb_leave_notify_event_t;
/** Opcode for xcb_focus_in. */
#define XCB_FOCUS_IN 9
/**
* @brief xcb_focus_in_event_t
**/
typedef struct xcb_focus_in_event_t {
uint8_t response_type;
uint8_t detail;
uint16_t sequence;
xcb_window_t event;
uint8_t mode;
uint8_t pad0[3];
} xcb_focus_in_event_t;
/** Opcode for xcb_focus_out. */
#define XCB_FOCUS_OUT 10
typedef xcb_focus_in_event_t xcb_focus_out_event_t;
/** Opcode for xcb_keymap_notify. */
#define XCB_KEYMAP_NOTIFY 11
/**
* @brief xcb_keymap_notify_event_t
**/
typedef struct xcb_keymap_notify_event_t {
uint8_t response_type;
uint8_t keys[31];
} xcb_keymap_notify_event_t;
/** Opcode for xcb_expose. */
#define XCB_EXPOSE 12
/**
* @brief xcb_expose_event_t
**/
typedef struct xcb_expose_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t window;
uint16_t x;
uint16_t y;
uint16_t width;
uint16_t height;
uint16_t count;
uint8_t pad1[2];
} xcb_expose_event_t;
/** Opcode for xcb_graphics_exposure. */
#define XCB_GRAPHICS_EXPOSURE 13
/**
* @brief xcb_graphics_exposure_event_t
**/
typedef struct xcb_graphics_exposure_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_drawable_t drawable;
uint16_t x;
uint16_t y;
uint16_t width;
uint16_t height;
uint16_t minor_opcode;
uint16_t count;
uint8_t major_opcode;
uint8_t pad1[3];
} xcb_graphics_exposure_event_t;
/** Opcode for xcb_no_exposure. */
#define XCB_NO_EXPOSURE 14
/**
* @brief xcb_no_exposure_event_t
**/
typedef struct xcb_no_exposure_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_drawable_t drawable;
uint16_t minor_opcode;
uint8_t major_opcode;
uint8_t pad1;
} xcb_no_exposure_event_t;
typedef enum xcb_visibility_t {
XCB_VISIBILITY_UNOBSCURED = 0,
XCB_VISIBILITY_PARTIALLY_OBSCURED = 1,
XCB_VISIBILITY_FULLY_OBSCURED = 2
} xcb_visibility_t;
/** Opcode for xcb_visibility_notify. */
#define XCB_VISIBILITY_NOTIFY 15
/**
* @brief xcb_visibility_notify_event_t
**/
typedef struct xcb_visibility_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t window;
uint8_t state;
uint8_t pad1[3];
} xcb_visibility_notify_event_t;
/** Opcode for xcb_create_notify. */
#define XCB_CREATE_NOTIFY 16
/**
* @brief xcb_create_notify_event_t
**/
typedef struct xcb_create_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t parent;
xcb_window_t window;
int16_t x;
int16_t y;
uint16_t width;
uint16_t height;
uint16_t border_width;
uint8_t override_redirect;
uint8_t pad1;
} xcb_create_notify_event_t;
/** Opcode for xcb_destroy_notify. */
#define XCB_DESTROY_NOTIFY 17
/**
* @brief xcb_destroy_notify_event_t
**/
typedef struct xcb_destroy_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t event;
xcb_window_t window;
} xcb_destroy_notify_event_t;
/** Opcode for xcb_unmap_notify. */
#define XCB_UNMAP_NOTIFY 18
/**
* @brief xcb_unmap_notify_event_t
**/
typedef struct xcb_unmap_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t event;
xcb_window_t window;
uint8_t from_configure;
uint8_t pad1[3];
} xcb_unmap_notify_event_t;
/** Opcode for xcb_map_notify. */
#define XCB_MAP_NOTIFY 19
/**
* @brief xcb_map_notify_event_t
**/
typedef struct xcb_map_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t event;
xcb_window_t window;
uint8_t override_redirect;
uint8_t pad1[3];
} xcb_map_notify_event_t;
/** Opcode for xcb_map_request. */
#define XCB_MAP_REQUEST 20
/**
* @brief xcb_map_request_event_t
**/
typedef struct xcb_map_request_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t parent;
xcb_window_t window;
} xcb_map_request_event_t;
/** Opcode for xcb_reparent_notify. */
#define XCB_REPARENT_NOTIFY 21
/**
* @brief xcb_reparent_notify_event_t
**/
typedef struct xcb_reparent_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t event;
xcb_window_t window;
xcb_window_t parent;
int16_t x;
int16_t y;
uint8_t override_redirect;
uint8_t pad1[3];
} xcb_reparent_notify_event_t;
/** Opcode for xcb_configure_notify. */
#define XCB_CONFIGURE_NOTIFY 22
/**
* @brief xcb_configure_notify_event_t
**/
typedef struct xcb_configure_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t event;
xcb_window_t window;
xcb_window_t above_sibling;
int16_t x;
int16_t y;
uint16_t width;
uint16_t height;
uint16_t border_width;
uint8_t override_redirect;
uint8_t pad1;
} xcb_configure_notify_event_t;
/** Opcode for xcb_configure_request. */
#define XCB_CONFIGURE_REQUEST 23
/**
* @brief xcb_configure_request_event_t
**/
typedef struct xcb_configure_request_event_t {
uint8_t response_type;
uint8_t stack_mode;
uint16_t sequence;
xcb_window_t parent;
xcb_window_t window;
xcb_window_t sibling;
int16_t x;
int16_t y;
uint16_t width;
uint16_t height;
uint16_t border_width;
uint16_t value_mask;
} xcb_configure_request_event_t;
/** Opcode for xcb_gravity_notify. */
#define XCB_GRAVITY_NOTIFY 24
/**
* @brief xcb_gravity_notify_event_t
**/
typedef struct xcb_gravity_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t event;
xcb_window_t window;
int16_t x;
int16_t y;
} xcb_gravity_notify_event_t;
/** Opcode for xcb_resize_request. */
#define XCB_RESIZE_REQUEST 25
/**
* @brief xcb_resize_request_event_t
**/
typedef struct xcb_resize_request_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t window;
uint16_t width;
uint16_t height;
} xcb_resize_request_event_t;
typedef enum xcb_place_t {
XCB_PLACE_ON_TOP = 0,
/**< The window is now on top of all siblings. */
XCB_PLACE_ON_BOTTOM = 1
/**< The window is now below all siblings. */
} xcb_place_t;
/** Opcode for xcb_circulate_notify. */
#define XCB_CIRCULATE_NOTIFY 26
/**
* @brief xcb_circulate_notify_event_t
**/
typedef struct xcb_circulate_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t event;
xcb_window_t window;
uint8_t pad1[4];
uint8_t place;
uint8_t pad2[3];
} xcb_circulate_notify_event_t;
/** Opcode for xcb_circulate_request. */
#define XCB_CIRCULATE_REQUEST 27
typedef xcb_circulate_notify_event_t xcb_circulate_request_event_t;
typedef enum xcb_property_t {
XCB_PROPERTY_NEW_VALUE = 0,
XCB_PROPERTY_DELETE = 1
} xcb_property_t;
/** Opcode for xcb_property_notify. */
#define XCB_PROPERTY_NOTIFY 28
/**
* @brief xcb_property_notify_event_t
**/
typedef struct xcb_property_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t window;
xcb_atom_t atom;
xcb_timestamp_t time;
uint8_t state;
uint8_t pad1[3];
} xcb_property_notify_event_t;
/** Opcode for xcb_selection_clear. */
#define XCB_SELECTION_CLEAR 29
/**
* @brief xcb_selection_clear_event_t
**/
typedef struct xcb_selection_clear_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_timestamp_t time;
xcb_window_t owner;
xcb_atom_t selection;
} xcb_selection_clear_event_t;
typedef enum xcb_time_t {
XCB_TIME_CURRENT_TIME = 0
} xcb_time_t;
typedef enum xcb_atom_enum_t {
XCB_ATOM_NONE = 0,
XCB_ATOM_ANY = 0,
XCB_ATOM_PRIMARY = 1,
XCB_ATOM_SECONDARY = 2,
XCB_ATOM_ARC = 3,
XCB_ATOM_ATOM = 4,
XCB_ATOM_BITMAP = 5,
XCB_ATOM_CARDINAL = 6,
XCB_ATOM_COLORMAP = 7,
XCB_ATOM_CURSOR = 8,
XCB_ATOM_CUT_BUFFER0 = 9,
XCB_ATOM_CUT_BUFFER1 = 10,
XCB_ATOM_CUT_BUFFER2 = 11,
XCB_ATOM_CUT_BUFFER3 = 12,
XCB_ATOM_CUT_BUFFER4 = 13,
XCB_ATOM_CUT_BUFFER5 = 14,
XCB_ATOM_CUT_BUFFER6 = 15,
XCB_ATOM_CUT_BUFFER7 = 16,
XCB_ATOM_DRAWABLE = 17,
XCB_ATOM_FONT = 18,
XCB_ATOM_INTEGER = 19,
XCB_ATOM_PIXMAP = 20,
XCB_ATOM_POINT = 21,
XCB_ATOM_RECTANGLE = 22,
XCB_ATOM_RESOURCE_MANAGER = 23,
XCB_ATOM_RGB_COLOR_MAP = 24,
XCB_ATOM_RGB_BEST_MAP = 25,
XCB_ATOM_RGB_BLUE_MAP = 26,
XCB_ATOM_RGB_DEFAULT_MAP = 27,
XCB_ATOM_RGB_GRAY_MAP = 28,
XCB_ATOM_RGB_GREEN_MAP = 29,
XCB_ATOM_RGB_RED_MAP = 30,
XCB_ATOM_STRING = 31,
XCB_ATOM_VISUALID = 32,
XCB_ATOM_WINDOW = 33,
XCB_ATOM_WM_COMMAND = 34,
XCB_ATOM_WM_HINTS = 35,
XCB_ATOM_WM_CLIENT_MACHINE = 36,
XCB_ATOM_WM_ICON_NAME = 37,
XCB_ATOM_WM_ICON_SIZE = 38,
XCB_ATOM_WM_NAME = 39,
XCB_ATOM_WM_NORMAL_HINTS = 40,
XCB_ATOM_WM_SIZE_HINTS = 41,
XCB_ATOM_WM_ZOOM_HINTS = 42,
XCB_ATOM_MIN_SPACE = 43,
XCB_ATOM_NORM_SPACE = 44,
XCB_ATOM_MAX_SPACE = 45,
XCB_ATOM_END_SPACE = 46,
XCB_ATOM_SUPERSCRIPT_X = 47,
XCB_ATOM_SUPERSCRIPT_Y = 48,
XCB_ATOM_SUBSCRIPT_X = 49,
XCB_ATOM_SUBSCRIPT_Y = 50,
XCB_ATOM_UNDERLINE_POSITION = 51,
XCB_ATOM_UNDERLINE_THICKNESS = 52,
XCB_ATOM_STRIKEOUT_ASCENT = 53,
XCB_ATOM_STRIKEOUT_DESCENT = 54,
XCB_ATOM_ITALIC_ANGLE = 55,
XCB_ATOM_X_HEIGHT = 56,
XCB_ATOM_QUAD_WIDTH = 57,
XCB_ATOM_WEIGHT = 58,
XCB_ATOM_POINT_SIZE = 59,
XCB_ATOM_RESOLUTION = 60,
XCB_ATOM_COPYRIGHT = 61,
XCB_ATOM_NOTICE = 62,
XCB_ATOM_FONT_NAME = 63,
XCB_ATOM_FAMILY_NAME = 64,
XCB_ATOM_FULL_NAME = 65,
XCB_ATOM_CAP_HEIGHT = 66,
XCB_ATOM_WM_CLASS = 67,
XCB_ATOM_WM_TRANSIENT_FOR = 68
} xcb_atom_enum_t;
/** Opcode for xcb_selection_request. */
#define XCB_SELECTION_REQUEST 30
/**
* @brief xcb_selection_request_event_t
**/
typedef struct xcb_selection_request_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_timestamp_t time;
xcb_window_t owner;
xcb_window_t requestor;
xcb_atom_t selection;
xcb_atom_t target;
xcb_atom_t property;
} xcb_selection_request_event_t;
/** Opcode for xcb_selection_notify. */
#define XCB_SELECTION_NOTIFY 31
/**
* @brief xcb_selection_notify_event_t
**/
typedef struct xcb_selection_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_timestamp_t time;
xcb_window_t requestor;
xcb_atom_t selection;
xcb_atom_t target;
xcb_atom_t property;
} xcb_selection_notify_event_t;
typedef enum xcb_colormap_state_t {
XCB_COLORMAP_STATE_UNINSTALLED = 0,
/**< The colormap was uninstalled. */
XCB_COLORMAP_STATE_INSTALLED = 1
/**< The colormap was installed. */
} xcb_colormap_state_t;
typedef enum xcb_colormap_enum_t {
XCB_COLORMAP_NONE = 0
} xcb_colormap_enum_t;
/** Opcode for xcb_colormap_notify. */
#define XCB_COLORMAP_NOTIFY 32
/**
* @brief xcb_colormap_notify_event_t
**/
typedef struct xcb_colormap_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
xcb_window_t window;
xcb_colormap_t colormap;
uint8_t _new;
uint8_t state;
uint8_t pad1[2];
} xcb_colormap_notify_event_t;
/**
* @brief xcb_client_message_data_t
**/
typedef union xcb_client_message_data_t {
uint8_t data8[20];
uint16_t data16[10];
uint32_t data32[5];
} xcb_client_message_data_t;
/**
* @brief xcb_client_message_data_iterator_t
**/
typedef struct xcb_client_message_data_iterator_t {
xcb_client_message_data_t *data;
int rem;
int index;
} xcb_client_message_data_iterator_t;
/** Opcode for xcb_client_message. */
#define XCB_CLIENT_MESSAGE 33
/**
* @brief xcb_client_message_event_t
**/
typedef struct xcb_client_message_event_t {
uint8_t response_type;
uint8_t format;
uint16_t sequence;
xcb_window_t window;
xcb_atom_t type;
xcb_client_message_data_t data;
} xcb_client_message_event_t;
typedef enum xcb_mapping_t {
XCB_MAPPING_MODIFIER = 0,
XCB_MAPPING_KEYBOARD = 1,
XCB_MAPPING_POINTER = 2
} xcb_mapping_t;
/** Opcode for xcb_mapping_notify. */
#define XCB_MAPPING_NOTIFY 34
/**
* @brief xcb_mapping_notify_event_t
**/
typedef struct xcb_mapping_notify_event_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint8_t request;
xcb_keycode_t first_keycode;
uint8_t count;
uint8_t pad1;
} xcb_mapping_notify_event_t;
/** Opcode for xcb_ge_generic. */
#define XCB_GE_GENERIC 35
/**
* @brief xcb_ge_generic_event_t
**/
typedef struct xcb_ge_generic_event_t {
uint8_t response_type;
uint8_t extension;
uint16_t sequence;
uint32_t length;
uint16_t event_type;
uint8_t pad0[22];
uint32_t full_sequence;
} xcb_ge_generic_event_t;
/** Opcode for xcb_request. */
#define XCB_REQUEST 1
/**
* @brief xcb_request_error_t
**/
typedef struct xcb_request_error_t {
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
uint32_t bad_value;
uint16_t minor_opcode;
uint8_t major_opcode;
uint8_t pad0;
} xcb_request_error_t;
/** Opcode for xcb_value. */
#define XCB_VALUE 2
/**
* @brief xcb_value_error_t
**/
typedef struct xcb_value_error_t {
uint8_t response_type;
uint8_t error_code;
uint16_t sequence;
uint32_t bad_value;
uint16_t minor_opcode;
uint8_t major_opcode;
uint8_t pad0;
} xcb_value_error_t;
/** Opcode for xcb_window. */
#define XCB_WINDOW 3
typedef xcb_value_error_t xcb_window_error_t;
/** Opcode for xcb_pixmap. */
#define XCB_PIXMAP 4
typedef xcb_value_error_t xcb_pixmap_error_t;
/** Opcode for xcb_atom. */
#define XCB_ATOM 5
typedef xcb_value_error_t xcb_atom_error_t;
/** Opcode for xcb_cursor. */
#define XCB_CURSOR 6
typedef xcb_value_error_t xcb_cursor_error_t;
/** Opcode for xcb_font. */
#define XCB_FONT 7
typedef xcb_value_error_t xcb_font_error_t;
/** Opcode for xcb_match. */
#define XCB_MATCH 8
typedef xcb_request_error_t xcb_match_error_t;
/** Opcode for xcb_drawable. */
#define XCB_DRAWABLE 9
typedef xcb_value_error_t xcb_drawable_error_t;
/** Opcode for xcb_access. */
#define XCB_ACCESS 10
typedef xcb_request_error_t xcb_access_error_t;
/** Opcode for xcb_alloc. */
#define XCB_ALLOC 11
typedef xcb_request_error_t xcb_alloc_error_t;
/** Opcode for xcb_colormap. */
#define XCB_COLORMAP 12
typedef xcb_value_error_t xcb_colormap_error_t;
/** Opcode for xcb_g_context. */
#define XCB_G_CONTEXT 13
typedef xcb_value_error_t xcb_g_context_error_t;
/** Opcode for xcb_id_choice. */
#define XCB_ID_CHOICE 14
typedef xcb_value_error_t xcb_id_choice_error_t;
/** Opcode for xcb_name. */
#define XCB_NAME 15
typedef xcb_request_error_t xcb_name_error_t;
/** Opcode for xcb_length. */
#define XCB_LENGTH 16
typedef xcb_request_error_t xcb_length_error_t;
/** Opcode for xcb_implementation. */
#define XCB_IMPLEMENTATION 17
typedef xcb_request_error_t xcb_implementation_error_t;
typedef enum xcb_window_class_t {
XCB_WINDOW_CLASS_COPY_FROM_PARENT = 0,
XCB_WINDOW_CLASS_INPUT_OUTPUT = 1,
XCB_WINDOW_CLASS_INPUT_ONLY = 2
} xcb_window_class_t;
typedef enum xcb_cw_t {
XCB_CW_BACK_PIXMAP = 1,
/**< Overrides the default background-pixmap. The background pixmap and window must
have the same root and same depth. Any size pixmap can be used, although some
sizes may be faster than others.
If `XCB_BACK_PIXMAP_NONE` is specified, the window has no defined background.
The server may fill the contents with the previous screen contents or with
contents of its own choosing.
If `XCB_BACK_PIXMAP_PARENT_RELATIVE` is specified, the parent's background is
used, but the window must have the same depth as the parent (or a Match error
results). The parent's background is tracked, and the current version is
used each time the window background is required. */
XCB_CW_BACK_PIXEL = 2,
/**< Overrides `BackPixmap`. A pixmap of undefined size filled with the specified
background pixel is used for the background. Range-checking is not performed,
the background pixel is truncated to the appropriate number of bits. */
XCB_CW_BORDER_PIXMAP = 4,
/**< Overrides the default border-pixmap. The border pixmap and window must have the
same root and the same depth. Any size pixmap can be used, although some sizes
may be faster than others.
The special value `XCB_COPY_FROM_PARENT` means the parent's border pixmap is
copied (subsequent changes to the parent's border attribute do not affect the
child), but the window must have the same depth as the parent. */
XCB_CW_BORDER_PIXEL = 8,
/**< Overrides `BorderPixmap`. A pixmap of undefined size filled with the specified
border pixel is used for the border. Range checking is not performed on the
border-pixel value, it is truncated to the appropriate number of bits. */
XCB_CW_BIT_GRAVITY = 16,
/**< Defines which region of the window should be retained if the window is resized. */
XCB_CW_WIN_GRAVITY = 32,
/**< Defines how the window should be repositioned if the parent is resized (see
`ConfigureWindow`). */
XCB_CW_BACKING_STORE = 64,
/**< A backing-store of `WhenMapped` advises the server that maintaining contents of
obscured regions when the window is mapped would be beneficial. A backing-store
of `Always` advises the server that maintaining contents even when the window
is unmapped would be beneficial. In this case, the server may generate an
exposure event when the window is created. A value of `NotUseful` advises the
server that maintaining contents is unnecessary, although a server may still
choose to maintain contents while the window is mapped. Note that if the server
maintains contents, then the server should maintain complete contents not just
the region within the parent boundaries, even if the window is larger than its
parent. While the server maintains contents, exposure events will not normally
be generated, but the server may stop maintaining contents at any time. */
XCB_CW_BACKING_PLANES = 128,
/**< The backing-planes indicates (with bits set to 1) which bit planes of the
window hold dynamic data that must be preserved in backing-stores and during
save-unders. */
XCB_CW_BACKING_PIXEL = 256,
/**< The backing-pixel specifies what value to use in planes not covered by
backing-planes. The server is free to save only the specified bit planes in the
backing-store or save-under and regenerate the remaining planes with the
specified pixel value. Any bits beyond the specified depth of the window in
these values are simply ignored. */
XCB_CW_OVERRIDE_REDIRECT = 512,
/**< The override-redirect specifies whether map and configure requests on this
window should override a SubstructureRedirect on the parent, typically to
inform a window manager not to tamper with the window. */
XCB_CW_SAVE_UNDER = 1024,
/**< If 1, the server is advised that when this window is mapped, saving the
contents of windows it obscures would be beneficial. */
XCB_CW_EVENT_MASK = 2048,
/**< The event-mask defines which events the client is interested in for this window
(or for some event types, inferiors of the window). */
XCB_CW_DONT_PROPAGATE = 4096,
/**< The do-not-propagate-mask defines which events should not be propagated to
ancestor windows when no client has the event type selected in this window. */
XCB_CW_COLORMAP = 8192,
/**< The colormap specifies the colormap that best reflects the true colors of the window. Servers
capable of supporting multiple hardware colormaps may use this information, and window man-
agers may use it for InstallColormap requests. The colormap must have the same visual type
and root as the window (or a Match error results). If CopyFromParent is specified, the parent's
colormap is copied (subsequent changes to the parent's colormap attribute do not affect the child).
However, the window must have the same visual type as the parent (or a Match error results),
and the parent must not have a colormap of None (or a Match error results). For an explanation
of None, see FreeColormap request. The colormap is copied by sharing the colormap object
between the child and the parent, not by making a complete copy of the colormap contents. */
XCB_CW_CURSOR = 16384
/**< If a cursor is specified, it will be used whenever the pointer is in the window. If None is speci-
fied, the parent's cursor will be used when the pointer is in the window, and any change in the
parent's cursor will cause an immediate change in the displayed cursor. */
} xcb_cw_t;
typedef enum xcb_back_pixmap_t {
XCB_BACK_PIXMAP_NONE = 0,
XCB_BACK_PIXMAP_PARENT_RELATIVE = 1
} xcb_back_pixmap_t;
typedef enum xcb_gravity_t {
XCB_GRAVITY_BIT_FORGET = 0,
XCB_GRAVITY_WIN_UNMAP = 0,
XCB_GRAVITY_NORTH_WEST = 1,
XCB_GRAVITY_NORTH = 2,
XCB_GRAVITY_NORTH_EAST = 3,
XCB_GRAVITY_WEST = 4,
XCB_GRAVITY_CENTER = 5,
XCB_GRAVITY_EAST = 6,
XCB_GRAVITY_SOUTH_WEST = 7,
XCB_GRAVITY_SOUTH = 8,
XCB_GRAVITY_SOUTH_EAST = 9,
XCB_GRAVITY_STATIC = 10
} xcb_gravity_t;
/**
* @brief xcb_create_window_value_list_t
**/
typedef struct xcb_create_window_value_list_t {
xcb_pixmap_t background_pixmap;
uint32_t background_pixel;
xcb_pixmap_t border_pixmap;
uint32_t border_pixel;
uint32_t bit_gravity;
uint32_t win_gravity;
uint32_t backing_store;
uint32_t backing_planes;
uint32_t backing_pixel;
xcb_bool32_t override_redirect;
xcb_bool32_t save_under;
uint32_t event_mask;
uint32_t do_not_propogate_mask;
xcb_colormap_t colormap;
xcb_cursor_t cursor;
} xcb_create_window_value_list_t;
/** Opcode for xcb_create_window. */
#define XCB_CREATE_WINDOW 1
/**
* @brief xcb_create_window_request_t
**/
typedef struct xcb_create_window_request_t {
uint8_t major_opcode;
uint8_t depth;
uint16_t length;
xcb_window_t wid;
xcb_window_t parent;
int16_t x;
int16_t y;
uint16_t width;
uint16_t height;
uint16_t border_width;
uint16_t _class;
xcb_visualid_t visual;
uint32_t value_mask;
} xcb_create_window_request_t;
/**
* @brief xcb_change_window_attributes_value_list_t
**/
typedef struct xcb_change_window_attributes_value_list_t {
xcb_pixmap_t background_pixmap;
uint32_t background_pixel;
xcb_pixmap_t border_pixmap;
uint32_t border_pixel;
uint32_t bit_gravity;
uint32_t win_gravity;
uint32_t backing_store;
uint32_t backing_planes;
uint32_t backing_pixel;
xcb_bool32_t override_redirect;
xcb_bool32_t save_under;
uint32_t event_mask;
uint32_t do_not_propogate_mask;
xcb_colormap_t colormap;
xcb_cursor_t cursor;
} xcb_change_window_attributes_value_list_t;
/** Opcode for xcb_change_window_attributes. */
#define XCB_CHANGE_WINDOW_ATTRIBUTES 2
/**
* @brief xcb_change_window_attributes_request_t
**/
typedef struct xcb_change_window_attributes_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
uint32_t value_mask;
} xcb_change_window_attributes_request_t;
typedef enum xcb_map_state_t {
XCB_MAP_STATE_UNMAPPED = 0,
XCB_MAP_STATE_UNVIEWABLE = 1,
XCB_MAP_STATE_VIEWABLE = 2
} xcb_map_state_t;
/**
* @brief xcb_get_window_attributes_cookie_t
**/
typedef struct xcb_get_window_attributes_cookie_t {
unsigned int sequence;
} xcb_get_window_attributes_cookie_t;
/** Opcode for xcb_get_window_attributes. */
#define XCB_GET_WINDOW_ATTRIBUTES 3
/**
* @brief xcb_get_window_attributes_request_t
**/
typedef struct xcb_get_window_attributes_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
} xcb_get_window_attributes_request_t;
/**
* @brief xcb_get_window_attributes_reply_t
**/
typedef struct xcb_get_window_attributes_reply_t {
uint8_t response_type;
uint8_t backing_store;
uint16_t sequence;
uint32_t length;
xcb_visualid_t visual;
uint16_t _class;
uint8_t bit_gravity;
uint8_t win_gravity;
uint32_t backing_planes;
uint32_t backing_pixel;
uint8_t save_under;
uint8_t map_is_installed;
uint8_t map_state;
uint8_t override_redirect;
xcb_colormap_t colormap;
uint32_t all_event_masks;
uint32_t your_event_mask;
uint16_t do_not_propagate_mask;
uint8_t pad0[2];
} xcb_get_window_attributes_reply_t;
/** Opcode for xcb_destroy_window. */
#define XCB_DESTROY_WINDOW 4
/**
* @brief xcb_destroy_window_request_t
**/
typedef struct xcb_destroy_window_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
} xcb_destroy_window_request_t;
/** Opcode for xcb_destroy_subwindows. */
#define XCB_DESTROY_SUBWINDOWS 5
/**
* @brief xcb_destroy_subwindows_request_t
**/
typedef struct xcb_destroy_subwindows_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
} xcb_destroy_subwindows_request_t;
typedef enum xcb_set_mode_t {
XCB_SET_MODE_INSERT = 0,
XCB_SET_MODE_DELETE = 1
} xcb_set_mode_t;
/** Opcode for xcb_change_save_set. */
#define XCB_CHANGE_SAVE_SET 6
/**
* @brief xcb_change_save_set_request_t
**/
typedef struct xcb_change_save_set_request_t {
uint8_t major_opcode;
uint8_t mode;
uint16_t length;
xcb_window_t window;
} xcb_change_save_set_request_t;
/** Opcode for xcb_reparent_window. */
#define XCB_REPARENT_WINDOW 7
/**
* @brief xcb_reparent_window_request_t
**/
typedef struct xcb_reparent_window_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
xcb_window_t parent;
int16_t x;
int16_t y;
} xcb_reparent_window_request_t;
/** Opcode for xcb_map_window. */
#define XCB_MAP_WINDOW 8
/**
* @brief xcb_map_window_request_t
**/
typedef struct xcb_map_window_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
} xcb_map_window_request_t;
/** Opcode for xcb_map_subwindows. */
#define XCB_MAP_SUBWINDOWS 9
/**
* @brief xcb_map_subwindows_request_t
**/
typedef struct xcb_map_subwindows_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
} xcb_map_subwindows_request_t;
/** Opcode for xcb_unmap_window. */
#define XCB_UNMAP_WINDOW 10
/**
* @brief xcb_unmap_window_request_t
**/
typedef struct xcb_unmap_window_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
} xcb_unmap_window_request_t;
/** Opcode for xcb_unmap_subwindows. */
#define XCB_UNMAP_SUBWINDOWS 11
/**
* @brief xcb_unmap_subwindows_request_t
**/
typedef struct xcb_unmap_subwindows_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
} xcb_unmap_subwindows_request_t;
typedef enum xcb_config_window_t {
XCB_CONFIG_WINDOW_X = 1,
XCB_CONFIG_WINDOW_Y = 2,
XCB_CONFIG_WINDOW_WIDTH = 4,
XCB_CONFIG_WINDOW_HEIGHT = 8,
XCB_CONFIG_WINDOW_BORDER_WIDTH = 16,
XCB_CONFIG_WINDOW_SIBLING = 32,
XCB_CONFIG_WINDOW_STACK_MODE = 64
} xcb_config_window_t;
typedef enum xcb_stack_mode_t {
XCB_STACK_MODE_ABOVE = 0,
XCB_STACK_MODE_BELOW = 1,
XCB_STACK_MODE_TOP_IF = 2,
XCB_STACK_MODE_BOTTOM_IF = 3,
XCB_STACK_MODE_OPPOSITE = 4
} xcb_stack_mode_t;
/**
* @brief xcb_configure_window_value_list_t
**/
typedef struct xcb_configure_window_value_list_t {
int32_t x;
int32_t y;
uint32_t width;
uint32_t height;
uint32_t border_width;
xcb_window_t sibling;
uint32_t stack_mode;
} xcb_configure_window_value_list_t;
/** Opcode for xcb_configure_window. */
#define XCB_CONFIGURE_WINDOW 12
/**
* @brief xcb_configure_window_request_t
**/
typedef struct xcb_configure_window_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
uint16_t value_mask;
uint8_t pad1[2];
} xcb_configure_window_request_t;
typedef enum xcb_circulate_t {
XCB_CIRCULATE_RAISE_LOWEST = 0,
XCB_CIRCULATE_LOWER_HIGHEST = 1
} xcb_circulate_t;
/** Opcode for xcb_circulate_window. */
#define XCB_CIRCULATE_WINDOW 13
/**
* @brief xcb_circulate_window_request_t
**/
typedef struct xcb_circulate_window_request_t {
uint8_t major_opcode;
uint8_t direction;
uint16_t length;
xcb_window_t window;
} xcb_circulate_window_request_t;
/**
* @brief xcb_get_geometry_cookie_t
**/
typedef struct xcb_get_geometry_cookie_t {
unsigned int sequence;
} xcb_get_geometry_cookie_t;
/** Opcode for xcb_get_geometry. */
#define XCB_GET_GEOMETRY 14
/**
* @brief xcb_get_geometry_request_t
**/
typedef struct xcb_get_geometry_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_drawable_t drawable;
} xcb_get_geometry_request_t;
/**
* @brief xcb_get_geometry_reply_t
**/
typedef struct xcb_get_geometry_reply_t {
uint8_t response_type;
uint8_t depth;
uint16_t sequence;
uint32_t length;
xcb_window_t root;
int16_t x;
int16_t y;
uint16_t width;
uint16_t height;
uint16_t border_width;
uint8_t pad0[2];
} xcb_get_geometry_reply_t;
/**
* @brief xcb_query_tree_cookie_t
**/
typedef struct xcb_query_tree_cookie_t {
unsigned int sequence;
} xcb_query_tree_cookie_t;
/** Opcode for xcb_query_tree. */
#define XCB_QUERY_TREE 15
/**
* @brief xcb_query_tree_request_t
**/
typedef struct xcb_query_tree_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
} xcb_query_tree_request_t;
/**
* @brief xcb_query_tree_reply_t
**/
typedef struct xcb_query_tree_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
xcb_window_t root;
xcb_window_t parent;
uint16_t children_len;
uint8_t pad1[14];
} xcb_query_tree_reply_t;
/**
* @brief xcb_intern_atom_cookie_t
**/
typedef struct xcb_intern_atom_cookie_t {
unsigned int sequence;
} xcb_intern_atom_cookie_t;
/** Opcode for xcb_intern_atom. */
#define XCB_INTERN_ATOM 16
/**
* @brief xcb_intern_atom_request_t
**/
typedef struct xcb_intern_atom_request_t {
uint8_t major_opcode;
uint8_t only_if_exists;
uint16_t length;
uint16_t name_len;
uint8_t pad0[2];
} xcb_intern_atom_request_t;
/**
* @brief xcb_intern_atom_reply_t
**/
typedef struct xcb_intern_atom_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
xcb_atom_t atom;
} xcb_intern_atom_reply_t;
/**
* @brief xcb_get_atom_name_cookie_t
**/
typedef struct xcb_get_atom_name_cookie_t {
unsigned int sequence;
} xcb_get_atom_name_cookie_t;
/** Opcode for xcb_get_atom_name. */
#define XCB_GET_ATOM_NAME 17
/**
* @brief xcb_get_atom_name_request_t
**/
typedef struct xcb_get_atom_name_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_atom_t atom;
} xcb_get_atom_name_request_t;
/**
* @brief xcb_get_atom_name_reply_t
**/
typedef struct xcb_get_atom_name_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
uint16_t name_len;
uint8_t pad1[22];
} xcb_get_atom_name_reply_t;
typedef enum xcb_prop_mode_t {
XCB_PROP_MODE_REPLACE = 0,
/**< Discard the previous property value and store the new data. */
XCB_PROP_MODE_PREPEND = 1,
/**< Insert the new data before the beginning of existing data. The `format` must
match existing property value. If the property is undefined, it is treated as
defined with the correct type and format with zero-length data. */
XCB_PROP_MODE_APPEND = 2
/**< Insert the new data after the beginning of existing data. The `format` must
match existing property value. If the property is undefined, it is treated as
defined with the correct type and format with zero-length data. */
} xcb_prop_mode_t;
/** Opcode for xcb_change_property. */
#define XCB_CHANGE_PROPERTY 18
/**
* @brief xcb_change_property_request_t
**/
typedef struct xcb_change_property_request_t {
uint8_t major_opcode;
uint8_t mode;
uint16_t length;
xcb_window_t window;
xcb_atom_t property;
xcb_atom_t type;
uint8_t format;
uint8_t pad0[3];
uint32_t data_len;
} xcb_change_property_request_t;
/** Opcode for xcb_delete_property. */
#define XCB_DELETE_PROPERTY 19
/**
* @brief xcb_delete_property_request_t
**/
typedef struct xcb_delete_property_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
xcb_atom_t property;
} xcb_delete_property_request_t;
typedef enum xcb_get_property_type_t {
XCB_GET_PROPERTY_TYPE_ANY = 0
} xcb_get_property_type_t;
/**
* @brief xcb_get_property_cookie_t
**/
typedef struct xcb_get_property_cookie_t {
unsigned int sequence;
} xcb_get_property_cookie_t;
/** Opcode for xcb_get_property. */
#define XCB_GET_PROPERTY 20
/**
* @brief xcb_get_property_request_t
**/
typedef struct xcb_get_property_request_t {
uint8_t major_opcode;
uint8_t _delete;
uint16_t length;
xcb_window_t window;
xcb_atom_t property;
xcb_atom_t type;
uint32_t long_offset;
uint32_t long_length;
} xcb_get_property_request_t;
/**
* @brief xcb_get_property_reply_t
**/
typedef struct xcb_get_property_reply_t {
uint8_t response_type;
uint8_t format;
uint16_t sequence;
uint32_t length;
xcb_atom_t type;
uint32_t bytes_after;
uint32_t value_len;
uint8_t pad0[12];
} xcb_get_property_reply_t;
/**
* @brief xcb_list_properties_cookie_t
**/
typedef struct xcb_list_properties_cookie_t {
unsigned int sequence;
} xcb_list_properties_cookie_t;
/** Opcode for xcb_list_properties. */
#define XCB_LIST_PROPERTIES 21
/**
* @brief xcb_list_properties_request_t
**/
typedef struct xcb_list_properties_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
} xcb_list_properties_request_t;
/**
* @brief xcb_list_properties_reply_t
**/
typedef struct xcb_list_properties_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
uint16_t atoms_len;
uint8_t pad1[22];
} xcb_list_properties_reply_t;
/** Opcode for xcb_set_selection_owner. */
#define XCB_SET_SELECTION_OWNER 22
/**
* @brief xcb_set_selection_owner_request_t
**/
typedef struct xcb_set_selection_owner_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t owner;
xcb_atom_t selection;
xcb_timestamp_t time;
} xcb_set_selection_owner_request_t;
/**
* @brief xcb_get_selection_owner_cookie_t
**/
typedef struct xcb_get_selection_owner_cookie_t {
unsigned int sequence;
} xcb_get_selection_owner_cookie_t;
/** Opcode for xcb_get_selection_owner. */
#define XCB_GET_SELECTION_OWNER 23
/**
* @brief xcb_get_selection_owner_request_t
**/
typedef struct xcb_get_selection_owner_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_atom_t selection;
} xcb_get_selection_owner_request_t;
/**
* @brief xcb_get_selection_owner_reply_t
**/
typedef struct xcb_get_selection_owner_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
xcb_window_t owner;
} xcb_get_selection_owner_reply_t;
/** Opcode for xcb_convert_selection. */
#define XCB_CONVERT_SELECTION 24
/**
* @brief xcb_convert_selection_request_t
**/
typedef struct xcb_convert_selection_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t requestor;
xcb_atom_t selection;
xcb_atom_t target;
xcb_atom_t property;
xcb_timestamp_t time;
} xcb_convert_selection_request_t;
typedef enum xcb_send_event_dest_t {
XCB_SEND_EVENT_DEST_POINTER_WINDOW = 0,
XCB_SEND_EVENT_DEST_ITEM_FOCUS = 1
} xcb_send_event_dest_t;
/** Opcode for xcb_send_event. */
#define XCB_SEND_EVENT 25
/**
* @brief xcb_send_event_request_t
**/
typedef struct xcb_send_event_request_t {
uint8_t major_opcode;
uint8_t propagate;
uint16_t length;
xcb_window_t destination;
uint32_t event_mask;
char event[32];
} xcb_send_event_request_t;
typedef enum xcb_grab_mode_t {
XCB_GRAB_MODE_SYNC = 0,
/**< The state of the keyboard appears to freeze: No further keyboard events are
generated by the server until the grabbing client issues a releasing
`AllowEvents` request or until the keyboard grab is released. */
XCB_GRAB_MODE_ASYNC = 1
/**< Keyboard event processing continues normally. */
} xcb_grab_mode_t;
typedef enum xcb_grab_status_t {
XCB_GRAB_STATUS_SUCCESS = 0,
XCB_GRAB_STATUS_ALREADY_GRABBED = 1,
XCB_GRAB_STATUS_INVALID_TIME = 2,
XCB_GRAB_STATUS_NOT_VIEWABLE = 3,
XCB_GRAB_STATUS_FROZEN = 4
} xcb_grab_status_t;
typedef enum xcb_cursor_enum_t {
XCB_CURSOR_NONE = 0
} xcb_cursor_enum_t;
/**
* @brief xcb_grab_pointer_cookie_t
**/
typedef struct xcb_grab_pointer_cookie_t {
unsigned int sequence;
} xcb_grab_pointer_cookie_t;
/** Opcode for xcb_grab_pointer. */
#define XCB_GRAB_POINTER 26
/**
* @brief xcb_grab_pointer_request_t
**/
typedef struct xcb_grab_pointer_request_t {
uint8_t major_opcode;
uint8_t owner_events;
uint16_t length;
xcb_window_t grab_window;
uint16_t event_mask;
uint8_t pointer_mode;
uint8_t keyboard_mode;
xcb_window_t confine_to;
xcb_cursor_t cursor;
xcb_timestamp_t time;
} xcb_grab_pointer_request_t;
/**
* @brief xcb_grab_pointer_reply_t
**/
typedef struct xcb_grab_pointer_reply_t {
uint8_t response_type;
uint8_t status;
uint16_t sequence;
uint32_t length;
} xcb_grab_pointer_reply_t;
/** Opcode for xcb_ungrab_pointer. */
#define XCB_UNGRAB_POINTER 27
/**
* @brief xcb_ungrab_pointer_request_t
**/
typedef struct xcb_ungrab_pointer_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_timestamp_t time;
} xcb_ungrab_pointer_request_t;
typedef enum xcb_button_index_t {
XCB_BUTTON_INDEX_ANY = 0,
/**< Any of the following (or none): */
XCB_BUTTON_INDEX_1 = 1,
/**< The left mouse button. */
XCB_BUTTON_INDEX_2 = 2,
/**< The right mouse button. */
XCB_BUTTON_INDEX_3 = 3,
/**< The middle mouse button. */
XCB_BUTTON_INDEX_4 = 4,
/**< Scroll wheel. TODO: direction? */
XCB_BUTTON_INDEX_5 = 5
/**< Scroll wheel. TODO: direction? */
} xcb_button_index_t;
/** Opcode for xcb_grab_button. */
#define XCB_GRAB_BUTTON 28
/**
* @brief xcb_grab_button_request_t
**/
typedef struct xcb_grab_button_request_t {
uint8_t major_opcode;
uint8_t owner_events;
uint16_t length;
xcb_window_t grab_window;
uint16_t event_mask;
uint8_t pointer_mode;
uint8_t keyboard_mode;
xcb_window_t confine_to;
xcb_cursor_t cursor;
uint8_t button;
uint8_t pad0;
uint16_t modifiers;
} xcb_grab_button_request_t;
/** Opcode for xcb_ungrab_button. */
#define XCB_UNGRAB_BUTTON 29
/**
* @brief xcb_ungrab_button_request_t
**/
typedef struct xcb_ungrab_button_request_t {
uint8_t major_opcode;
uint8_t button;
uint16_t length;
xcb_window_t grab_window;
uint16_t modifiers;
uint8_t pad0[2];
} xcb_ungrab_button_request_t;
/** Opcode for xcb_change_active_pointer_grab. */
#define XCB_CHANGE_ACTIVE_POINTER_GRAB 30
/**
* @brief xcb_change_active_pointer_grab_request_t
**/
typedef struct xcb_change_active_pointer_grab_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_cursor_t cursor;
xcb_timestamp_t time;
uint16_t event_mask;
uint8_t pad1[2];
} xcb_change_active_pointer_grab_request_t;
/**
* @brief xcb_grab_keyboard_cookie_t
**/
typedef struct xcb_grab_keyboard_cookie_t {
unsigned int sequence;
} xcb_grab_keyboard_cookie_t;
/** Opcode for xcb_grab_keyboard. */
#define XCB_GRAB_KEYBOARD 31
/**
* @brief xcb_grab_keyboard_request_t
**/
typedef struct xcb_grab_keyboard_request_t {
uint8_t major_opcode;
uint8_t owner_events;
uint16_t length;
xcb_window_t grab_window;
xcb_timestamp_t time;
uint8_t pointer_mode;
uint8_t keyboard_mode;
uint8_t pad0[2];
} xcb_grab_keyboard_request_t;
/**
* @brief xcb_grab_keyboard_reply_t
**/
typedef struct xcb_grab_keyboard_reply_t {
uint8_t response_type;
uint8_t status;
uint16_t sequence;
uint32_t length;
} xcb_grab_keyboard_reply_t;
/** Opcode for xcb_ungrab_keyboard. */
#define XCB_UNGRAB_KEYBOARD 32
/**
* @brief xcb_ungrab_keyboard_request_t
**/
typedef struct xcb_ungrab_keyboard_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_timestamp_t time;
} xcb_ungrab_keyboard_request_t;
typedef enum xcb_grab_t {
XCB_GRAB_ANY = 0
} xcb_grab_t;
/** Opcode for xcb_grab_key. */
#define XCB_GRAB_KEY 33
/**
* @brief xcb_grab_key_request_t
**/
typedef struct xcb_grab_key_request_t {
uint8_t major_opcode;
uint8_t owner_events;
uint16_t length;
xcb_window_t grab_window;
uint16_t modifiers;
xcb_keycode_t key;
uint8_t pointer_mode;
uint8_t keyboard_mode;
uint8_t pad0[3];
} xcb_grab_key_request_t;
/** Opcode for xcb_ungrab_key. */
#define XCB_UNGRAB_KEY 34
/**
* @brief xcb_ungrab_key_request_t
**/
typedef struct xcb_ungrab_key_request_t {
uint8_t major_opcode;
xcb_keycode_t key;
uint16_t length;
xcb_window_t grab_window;
uint16_t modifiers;
uint8_t pad0[2];
} xcb_ungrab_key_request_t;
typedef enum xcb_allow_t {
XCB_ALLOW_ASYNC_POINTER = 0,
/**< For AsyncPointer, if the pointer is frozen by the client, pointer event
processing continues normally. If the pointer is frozen twice by the client on
behalf of two separate grabs, AsyncPointer thaws for both. AsyncPointer has no
effect if the pointer is not frozen by the client, but the pointer need not be
grabbed by the client.
TODO: rewrite this in more understandable terms. */
XCB_ALLOW_SYNC_POINTER = 1,
/**< For SyncPointer, if the pointer is frozen and actively grabbed by the client,
pointer event processing continues normally until the next ButtonPress or
ButtonRelease event is reported to the client, at which time the pointer again
appears to freeze. However, if the reported event causes the pointer grab to be
released, then the pointer does not freeze. SyncPointer has no effect if the
pointer is not frozen by the client or if the pointer is not grabbed by the
client. */
XCB_ALLOW_REPLAY_POINTER = 2,
/**< For ReplayPointer, if the pointer is actively grabbed by the client and is
frozen as the result of an event having been sent to the client (either from
the activation of a GrabButton or from a previous AllowEvents with mode
SyncPointer but not from a GrabPointer), then the pointer grab is released and
that event is completely reprocessed, this time ignoring any passive grabs at
or above (towards the root) the grab-window of the grab just released. The
request has no effect if the pointer is not grabbed by the client or if the
pointer is not frozen as the result of an event. */
XCB_ALLOW_ASYNC_KEYBOARD = 3,
/**< For AsyncKeyboard, if the keyboard is frozen by the client, keyboard event
processing continues normally. If the keyboard is frozen twice by the client on
behalf of two separate grabs, AsyncKeyboard thaws for both. AsyncKeyboard has
no effect if the keyboard is not frozen by the client, but the keyboard need
not be grabbed by the client. */
XCB_ALLOW_SYNC_KEYBOARD = 4,
/**< For SyncKeyboard, if the keyboard is frozen and actively grabbed by the client,
keyboard event processing continues normally until the next KeyPress or
KeyRelease event is reported to the client, at which time the keyboard again
appears to freeze. However, if the reported event causes the keyboard grab to
be released, then the keyboard does not freeze. SyncKeyboard has no effect if
the keyboard is not frozen by the client or if the keyboard is not grabbed by
the client. */
XCB_ALLOW_REPLAY_KEYBOARD = 5,
/**< For ReplayKeyboard, if the keyboard is actively grabbed by the client and is
frozen as the result of an event having been sent to the client (either from
the activation of a GrabKey or from a previous AllowEvents with mode
SyncKeyboard but not from a GrabKeyboard), then the keyboard grab is released
and that event is completely reprocessed, this time ignoring any passive grabs
at or above (towards the root) the grab-window of the grab just released. The
request has no effect if the keyboard is not grabbed by the client or if the
keyboard is not frozen as the result of an event. */
XCB_ALLOW_ASYNC_BOTH = 6,
/**< For AsyncBoth, if the pointer and the keyboard are frozen by the client, event
processing for both devices continues normally. If a device is frozen twice by
the client on behalf of two separate grabs, AsyncBoth thaws for both. AsyncBoth
has no effect unless both pointer and keyboard are frozen by the client. */
XCB_ALLOW_SYNC_BOTH = 7
/**< For SyncBoth, if both pointer and keyboard are frozen by the client, event
processing (for both devices) continues normally until the next ButtonPress,
ButtonRelease, KeyPress, or KeyRelease event is reported to the client for a
grabbed device (button event for the pointer, key event for the keyboard), at
which time the devices again appear to freeze. However, if the reported event
causes the grab to be released, then the devices do not freeze (but if the
other device is still grabbed, then a subsequent event for it will still cause
both devices to freeze). SyncBoth has no effect unless both pointer and
keyboard are frozen by the client. If the pointer or keyboard is frozen twice
by the client on behalf of two separate grabs, SyncBoth thaws for both (but a
subsequent freeze for SyncBoth will only freeze each device once). */
} xcb_allow_t;
/** Opcode for xcb_allow_events. */
#define XCB_ALLOW_EVENTS 35
/**
* @brief xcb_allow_events_request_t
**/
typedef struct xcb_allow_events_request_t {
uint8_t major_opcode;
uint8_t mode;
uint16_t length;
xcb_timestamp_t time;
} xcb_allow_events_request_t;
/** Opcode for xcb_grab_server. */
#define XCB_GRAB_SERVER 36
/**
* @brief xcb_grab_server_request_t
**/
typedef struct xcb_grab_server_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
} xcb_grab_server_request_t;
/** Opcode for xcb_ungrab_server. */
#define XCB_UNGRAB_SERVER 37
/**
* @brief xcb_ungrab_server_request_t
**/
typedef struct xcb_ungrab_server_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
} xcb_ungrab_server_request_t;
/**
* @brief xcb_query_pointer_cookie_t
**/
typedef struct xcb_query_pointer_cookie_t {
unsigned int sequence;
} xcb_query_pointer_cookie_t;
/** Opcode for xcb_query_pointer. */
#define XCB_QUERY_POINTER 38
/**
* @brief xcb_query_pointer_request_t
**/
typedef struct xcb_query_pointer_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
} xcb_query_pointer_request_t;
/**
* @brief xcb_query_pointer_reply_t
**/
typedef struct xcb_query_pointer_reply_t {
uint8_t response_type;
uint8_t same_screen;
uint16_t sequence;
uint32_t length;
xcb_window_t root;
xcb_window_t child;
int16_t root_x;
int16_t root_y;
int16_t win_x;
int16_t win_y;
uint16_t mask;
uint8_t pad0[2];
} xcb_query_pointer_reply_t;
/**
* @brief xcb_timecoord_t
**/
typedef struct xcb_timecoord_t {
xcb_timestamp_t time;
int16_t x;
int16_t y;
} xcb_timecoord_t;
/**
* @brief xcb_timecoord_iterator_t
**/
typedef struct xcb_timecoord_iterator_t {
xcb_timecoord_t *data;
int rem;
int index;
} xcb_timecoord_iterator_t;
/**
* @brief xcb_get_motion_events_cookie_t
**/
typedef struct xcb_get_motion_events_cookie_t {
unsigned int sequence;
} xcb_get_motion_events_cookie_t;
/** Opcode for xcb_get_motion_events. */
#define XCB_GET_MOTION_EVENTS 39
/**
* @brief xcb_get_motion_events_request_t
**/
typedef struct xcb_get_motion_events_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t window;
xcb_timestamp_t start;
xcb_timestamp_t stop;
} xcb_get_motion_events_request_t;
/**
* @brief xcb_get_motion_events_reply_t
**/
typedef struct xcb_get_motion_events_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
uint32_t events_len;
uint8_t pad1[20];
} xcb_get_motion_events_reply_t;
/**
* @brief xcb_translate_coordinates_cookie_t
**/
typedef struct xcb_translate_coordinates_cookie_t {
unsigned int sequence;
} xcb_translate_coordinates_cookie_t;
/** Opcode for xcb_translate_coordinates. */
#define XCB_TRANSLATE_COORDINATES 40
/**
* @brief xcb_translate_coordinates_request_t
**/
typedef struct xcb_translate_coordinates_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t src_window;
xcb_window_t dst_window;
int16_t src_x;
int16_t src_y;
} xcb_translate_coordinates_request_t;
/**
* @brief xcb_translate_coordinates_reply_t
**/
typedef struct xcb_translate_coordinates_reply_t {
uint8_t response_type;
uint8_t same_screen;
uint16_t sequence;
uint32_t length;
xcb_window_t child;
int16_t dst_x;
int16_t dst_y;
} xcb_translate_coordinates_reply_t;
/** Opcode for xcb_warp_pointer. */
#define XCB_WARP_POINTER 41
/**
* @brief xcb_warp_pointer_request_t
**/
typedef struct xcb_warp_pointer_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_window_t src_window;
xcb_window_t dst_window;
int16_t src_x;
int16_t src_y;
uint16_t src_width;
uint16_t src_height;
int16_t dst_x;
int16_t dst_y;
} xcb_warp_pointer_request_t;
typedef enum xcb_input_focus_t {
XCB_INPUT_FOCUS_NONE = 0,
/**< The focus reverts to `XCB_NONE`, so no window will have the input focus. */
XCB_INPUT_FOCUS_POINTER_ROOT = 1,
/**< The focus reverts to `XCB_POINTER_ROOT` respectively. When the focus reverts,
FocusIn and FocusOut events are generated, but the last-focus-change time is
not changed. */
XCB_INPUT_FOCUS_PARENT = 2,
/**< The focus reverts to the parent (or closest viewable ancestor) and the new
revert_to value is `XCB_INPUT_FOCUS_NONE`. */
XCB_INPUT_FOCUS_FOLLOW_KEYBOARD = 3
/**< NOT YET DOCUMENTED. Only relevant for the xinput extension. */
} xcb_input_focus_t;
/** Opcode for xcb_set_input_focus. */
#define XCB_SET_INPUT_FOCUS 42
/**
* @brief xcb_set_input_focus_request_t
**/
typedef struct xcb_set_input_focus_request_t {
uint8_t major_opcode;
uint8_t revert_to;
uint16_t length;
xcb_window_t focus;
xcb_timestamp_t time;
} xcb_set_input_focus_request_t;
/**
* @brief xcb_get_input_focus_cookie_t
**/
typedef struct xcb_get_input_focus_cookie_t {
unsigned int sequence;
} xcb_get_input_focus_cookie_t;
/** Opcode for xcb_get_input_focus. */
#define XCB_GET_INPUT_FOCUS 43
/**
* @brief xcb_get_input_focus_request_t
**/
typedef struct xcb_get_input_focus_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
} xcb_get_input_focus_request_t;
/**
* @brief xcb_get_input_focus_reply_t
**/
typedef struct xcb_get_input_focus_reply_t {
uint8_t response_type;
uint8_t revert_to;
uint16_t sequence;
uint32_t length;
xcb_window_t focus;
} xcb_get_input_focus_reply_t;
/**
* @brief xcb_query_keymap_cookie_t
**/
typedef struct xcb_query_keymap_cookie_t {
unsigned int sequence;
} xcb_query_keymap_cookie_t;
/** Opcode for xcb_query_keymap. */
#define XCB_QUERY_KEYMAP 44
/**
* @brief xcb_query_keymap_request_t
**/
typedef struct xcb_query_keymap_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
} xcb_query_keymap_request_t;
/**
* @brief xcb_query_keymap_reply_t
**/
typedef struct xcb_query_keymap_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
uint8_t keys[32];
} xcb_query_keymap_reply_t;
/** Opcode for xcb_open_font. */
#define XCB_OPEN_FONT 45
/**
* @brief xcb_open_font_request_t
**/
typedef struct xcb_open_font_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_font_t fid;
uint16_t name_len;
uint8_t pad1[2];
} xcb_open_font_request_t;
/** Opcode for xcb_close_font. */
#define XCB_CLOSE_FONT 46
/**
* @brief xcb_close_font_request_t
**/
typedef struct xcb_close_font_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_font_t font;
} xcb_close_font_request_t;
typedef enum xcb_font_draw_t {
XCB_FONT_DRAW_LEFT_TO_RIGHT = 0,
XCB_FONT_DRAW_RIGHT_TO_LEFT = 1
} xcb_font_draw_t;
/**
* @brief xcb_fontprop_t
**/
typedef struct xcb_fontprop_t {
xcb_atom_t name;
uint32_t value;
} xcb_fontprop_t;
/**
* @brief xcb_fontprop_iterator_t
**/
typedef struct xcb_fontprop_iterator_t {
xcb_fontprop_t *data;
int rem;
int index;
} xcb_fontprop_iterator_t;
/**
* @brief xcb_charinfo_t
**/
typedef struct xcb_charinfo_t {
int16_t left_side_bearing;
int16_t right_side_bearing;
int16_t character_width;
int16_t ascent;
int16_t descent;
uint16_t attributes;
} xcb_charinfo_t;
/**
* @brief xcb_charinfo_iterator_t
**/
typedef struct xcb_charinfo_iterator_t {
xcb_charinfo_t *data;
int rem;
int index;
} xcb_charinfo_iterator_t;
/**
* @brief xcb_query_font_cookie_t
**/
typedef struct xcb_query_font_cookie_t {
unsigned int sequence;
} xcb_query_font_cookie_t;
/** Opcode for xcb_query_font. */
#define XCB_QUERY_FONT 47
/**
* @brief xcb_query_font_request_t
**/
typedef struct xcb_query_font_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_fontable_t font;
} xcb_query_font_request_t;
/**
* @brief xcb_query_font_reply_t
**/
typedef struct xcb_query_font_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
xcb_charinfo_t min_bounds;
uint8_t pad1[4];
xcb_charinfo_t max_bounds;
uint8_t pad2[4];
uint16_t min_char_or_byte2;
uint16_t max_char_or_byte2;
uint16_t default_char;
uint16_t properties_len;
uint8_t draw_direction;
uint8_t min_byte1;
uint8_t max_byte1;
uint8_t all_chars_exist;
int16_t font_ascent;
int16_t font_descent;
uint32_t char_infos_len;
} xcb_query_font_reply_t;
/**
* @brief xcb_query_text_extents_cookie_t
**/
typedef struct xcb_query_text_extents_cookie_t {
unsigned int sequence;
} xcb_query_text_extents_cookie_t;
/** Opcode for xcb_query_text_extents. */
#define XCB_QUERY_TEXT_EXTENTS 48
/**
* @brief xcb_query_text_extents_request_t
**/
typedef struct xcb_query_text_extents_request_t {
uint8_t major_opcode;
uint8_t odd_length;
uint16_t length;
xcb_fontable_t font;
} xcb_query_text_extents_request_t;
/**
* @brief xcb_query_text_extents_reply_t
**/
typedef struct xcb_query_text_extents_reply_t {
uint8_t response_type;
uint8_t draw_direction;
uint16_t sequence;
uint32_t length;
int16_t font_ascent;
int16_t font_descent;
int16_t overall_ascent;
int16_t overall_descent;
int32_t overall_width;
int32_t overall_left;
int32_t overall_right;
} xcb_query_text_extents_reply_t;
/**
* @brief xcb_str_t
**/
typedef struct xcb_str_t {
uint8_t name_len;
} xcb_str_t;
/**
* @brief xcb_str_iterator_t
**/
typedef struct xcb_str_iterator_t {
xcb_str_t *data;
int rem;
int index;
} xcb_str_iterator_t;
/**
* @brief xcb_list_fonts_cookie_t
**/
typedef struct xcb_list_fonts_cookie_t {
unsigned int sequence;
} xcb_list_fonts_cookie_t;
/** Opcode for xcb_list_fonts. */
#define XCB_LIST_FONTS 49
/**
* @brief xcb_list_fonts_request_t
**/
typedef struct xcb_list_fonts_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
uint16_t max_names;
uint16_t pattern_len;
} xcb_list_fonts_request_t;
/**
* @brief xcb_list_fonts_reply_t
**/
typedef struct xcb_list_fonts_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
uint16_t names_len;
uint8_t pad1[22];
} xcb_list_fonts_reply_t;
/**
* @brief xcb_list_fonts_with_info_cookie_t
**/
typedef struct xcb_list_fonts_with_info_cookie_t {
unsigned int sequence;
} xcb_list_fonts_with_info_cookie_t;
/** Opcode for xcb_list_fonts_with_info. */
#define XCB_LIST_FONTS_WITH_INFO 50
/**
* @brief xcb_list_fonts_with_info_request_t
**/
typedef struct xcb_list_fonts_with_info_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
uint16_t max_names;
uint16_t pattern_len;
} xcb_list_fonts_with_info_request_t;
/**
* @brief xcb_list_fonts_with_info_reply_t
**/
typedef struct xcb_list_fonts_with_info_reply_t {
uint8_t response_type;
uint8_t name_len;
uint16_t sequence;
uint32_t length;
xcb_charinfo_t min_bounds;
uint8_t pad0[4];
xcb_charinfo_t max_bounds;
uint8_t pad1[4];
uint16_t min_char_or_byte2;
uint16_t max_char_or_byte2;
uint16_t default_char;
uint16_t properties_len;
uint8_t draw_direction;
uint8_t min_byte1;
uint8_t max_byte1;
uint8_t all_chars_exist;
int16_t font_ascent;
int16_t font_descent;
uint32_t replies_hint;
} xcb_list_fonts_with_info_reply_t;
/** Opcode for xcb_set_font_path. */
#define XCB_SET_FONT_PATH 51
/**
* @brief xcb_set_font_path_request_t
**/
typedef struct xcb_set_font_path_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
uint16_t font_qty;
uint8_t pad1[2];
} xcb_set_font_path_request_t;
/**
* @brief xcb_get_font_path_cookie_t
**/
typedef struct xcb_get_font_path_cookie_t {
unsigned int sequence;
} xcb_get_font_path_cookie_t;
/** Opcode for xcb_get_font_path. */
#define XCB_GET_FONT_PATH 52
/**
* @brief xcb_get_font_path_request_t
**/
typedef struct xcb_get_font_path_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
} xcb_get_font_path_request_t;
/**
* @brief xcb_get_font_path_reply_t
**/
typedef struct xcb_get_font_path_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
uint16_t path_len;
uint8_t pad1[22];
} xcb_get_font_path_reply_t;
/** Opcode for xcb_create_pixmap. */
#define XCB_CREATE_PIXMAP 53
/**
* @brief xcb_create_pixmap_request_t
**/
typedef struct xcb_create_pixmap_request_t {
uint8_t major_opcode;
uint8_t depth;
uint16_t length;
xcb_pixmap_t pid;
xcb_drawable_t drawable;
uint16_t width;
uint16_t height;
} xcb_create_pixmap_request_t;
/** Opcode for xcb_free_pixmap. */
#define XCB_FREE_PIXMAP 54
/**
* @brief xcb_free_pixmap_request_t
**/
typedef struct xcb_free_pixmap_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_pixmap_t pixmap;
} xcb_free_pixmap_request_t;
typedef enum xcb_gc_t {
XCB_GC_FUNCTION = 1,
/**< TODO: Refer to GX */
XCB_GC_PLANE_MASK = 2,
/**< In graphics operations, given a source and destination pixel, the result is
computed bitwise on corresponding bits of the pixels; that is, a Boolean
operation is performed in each bit plane. The plane-mask restricts the
operation to a subset of planes, so the result is:
((src FUNC dst) AND plane-mask) OR (dst AND (NOT plane-mask)) */
XCB_GC_FOREGROUND = 4,
/**< Foreground colorpixel. */
XCB_GC_BACKGROUND = 8,
/**< Background colorpixel. */
XCB_GC_LINE_WIDTH = 16,
/**< The line-width is measured in pixels and can be greater than or equal to one, a wide line, or the
special value zero, a thin line. */
XCB_GC_LINE_STYLE = 32,
/**< The line-style defines which sections of a line are drawn:
Solid The full path of the line is drawn.
DoubleDash The full path of the line is drawn, but the even dashes are filled differently
than the odd dashes (see fill-style), with Butt cap-style used where even and
odd dashes meet.
OnOffDash Only the even dashes are drawn, and cap-style applies to all internal ends of
the individual dashes (except NotLast is treated as Butt). */
XCB_GC_CAP_STYLE = 64,
/**< The cap-style defines how the endpoints of a path are drawn:
NotLast The result is equivalent to Butt, except that for a line-width of zero the final
endpoint is not drawn.
Butt The result is square at the endpoint (perpendicular to the slope of the line)
with no projection beyond.
Round The result is a circular arc with its diameter equal to the line-width, centered
on the endpoint; it is equivalent to Butt for line-width zero.
Projecting The result is square at the end, but the path continues beyond the endpoint for
a distance equal to half the line-width; it is equivalent to Butt for line-width
zero. */
XCB_GC_JOIN_STYLE = 128,
/**< The join-style defines how corners are drawn for wide lines:
Miter The outer edges of the two lines extend to meet at an angle. However, if the
angle is less than 11 degrees, a Bevel join-style is used instead.
Round The result is a circular arc with a diameter equal to the line-width, centered
on the joinpoint.
Bevel The result is Butt endpoint styles, and then the triangular notch is filled. */
XCB_GC_FILL_STYLE = 256,
/**< The fill-style defines the contents of the source for line, text, and fill requests. For all text and fill
requests (for example, PolyText8, PolyText16, PolyFillRectangle, FillPoly, and PolyFillArc)
as well as for line requests with line-style Solid, (for example, PolyLine, PolySegment,
PolyRectangle, PolyArc) and for the even dashes for line requests with line-style OnOffDash
or DoubleDash:
Solid Foreground
Tiled Tile
OpaqueStippled A tile with the same width and height as stipple but with background
everywhere stipple has a zero and with foreground everywhere stipple
has a one
Stippled Foreground masked by stipple
For the odd dashes for line requests with line-style DoubleDash:
Solid Background
Tiled Same as for even dashes
OpaqueStippled Same as for even dashes
Stippled Background masked by stipple */
XCB_GC_FILL_RULE = 512,
/**< */
XCB_GC_TILE = 1024,
/**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all
dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
origin of whatever destination drawable is specified in a graphics request.
The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
The stipple pixmap must have depth one and must have the same root as the gcontext (or a
Match error results). For fill-style Stippled (but not fill-style
OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
additional clip mask to be ANDed with the clip-mask.
Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
others. */
XCB_GC_STIPPLE = 2048,
/**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all
dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
origin of whatever destination drawable is specified in a graphics request.
The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
The stipple pixmap must have depth one and must have the same root as the gcontext (or a
Match error results). For fill-style Stippled (but not fill-style
OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
additional clip mask to be ANDed with the clip-mask.
Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
others. */
XCB_GC_TILE_STIPPLE_ORIGIN_X = 4096,
/**< TODO */
XCB_GC_TILE_STIPPLE_ORIGIN_Y = 8192,
/**< TODO */
XCB_GC_FONT = 16384,
/**< Which font to use for the `ImageText8` and `ImageText16` requests. */
XCB_GC_SUBWINDOW_MODE = 32768,
/**< For ClipByChildren, both source and destination windows are additionally
clipped by all viewable InputOutput children. For IncludeInferiors, neither
source nor destination window is
clipped by inferiors. This will result in including subwindow contents in the source and drawing
through subwindow boundaries of the destination. The use of IncludeInferiors with a source or
destination window of one depth with mapped inferiors of differing depth is not illegal, but the
semantics is undefined by the core protocol. */
XCB_GC_GRAPHICS_EXPOSURES = 65536,
/**< Whether ExposureEvents should be generated (1) or not (0).
The default is 1. */
XCB_GC_CLIP_ORIGIN_X = 131072,
/**< TODO */
XCB_GC_CLIP_ORIGIN_Y = 262144,
/**< TODO */
XCB_GC_CLIP_MASK = 524288,
/**< The clip-mask restricts writes to the destination drawable. Only pixels where the clip-mask has
bits set to 1 are drawn. Pixels are not drawn outside the area covered by the clip-mask or where
the clip-mask has bits set to 0. The clip-mask affects all graphics requests, but it does not clip
sources. The clip-mask origin is interpreted relative to the origin of whatever destination drawable is specified in a graphics request. If a pixmap is specified as the clip-mask, it must have
depth 1 and have the same root as the gcontext (or a Match error results). If clip-mask is None,
then pixels are always drawn, regardless of the clip origin. The clip-mask can also be set with the
SetClipRectangles request. */
XCB_GC_DASH_OFFSET = 1048576,
/**< TODO */
XCB_GC_DASH_LIST = 2097152,
/**< TODO */
XCB_GC_ARC_MODE = 4194304
/**< TODO */
} xcb_gc_t;
typedef enum xcb_gx_t {
XCB_GX_CLEAR = 0,
XCB_GX_AND = 1,
XCB_GX_AND_REVERSE = 2,
XCB_GX_COPY = 3,
XCB_GX_AND_INVERTED = 4,
XCB_GX_NOOP = 5,
XCB_GX_XOR = 6,
XCB_GX_OR = 7,
XCB_GX_NOR = 8,
XCB_GX_EQUIV = 9,
XCB_GX_INVERT = 10,
XCB_GX_OR_REVERSE = 11,
XCB_GX_COPY_INVERTED = 12,
XCB_GX_OR_INVERTED = 13,
XCB_GX_NAND = 14,
XCB_GX_SET = 15
} xcb_gx_t;
typedef enum xcb_line_style_t {
XCB_LINE_STYLE_SOLID = 0,
XCB_LINE_STYLE_ON_OFF_DASH = 1,
XCB_LINE_STYLE_DOUBLE_DASH = 2
} xcb_line_style_t;
typedef enum xcb_cap_style_t {
XCB_CAP_STYLE_NOT_LAST = 0,
XCB_CAP_STYLE_BUTT = 1,
XCB_CAP_STYLE_ROUND = 2,
XCB_CAP_STYLE_PROJECTING = 3
} xcb_cap_style_t;
typedef enum xcb_join_style_t {
XCB_JOIN_STYLE_MITER = 0,
XCB_JOIN_STYLE_ROUND = 1,
XCB_JOIN_STYLE_BEVEL = 2
} xcb_join_style_t;
typedef enum xcb_fill_style_t {
XCB_FILL_STYLE_SOLID = 0,
XCB_FILL_STYLE_TILED = 1,
XCB_FILL_STYLE_STIPPLED = 2,
XCB_FILL_STYLE_OPAQUE_STIPPLED = 3
} xcb_fill_style_t;
typedef enum xcb_fill_rule_t {
XCB_FILL_RULE_EVEN_ODD = 0,
XCB_FILL_RULE_WINDING = 1
} xcb_fill_rule_t;
typedef enum xcb_subwindow_mode_t {
XCB_SUBWINDOW_MODE_CLIP_BY_CHILDREN = 0,
XCB_SUBWINDOW_MODE_INCLUDE_INFERIORS = 1
} xcb_subwindow_mode_t;
typedef enum xcb_arc_mode_t {
XCB_ARC_MODE_CHORD = 0,
XCB_ARC_MODE_PIE_SLICE = 1
} xcb_arc_mode_t;
/**
* @brief xcb_create_gc_value_list_t
**/
typedef struct xcb_create_gc_value_list_t {
uint32_t function;
uint32_t plane_mask;
uint32_t foreground;
uint32_t background;
uint32_t line_width;
uint32_t line_style;
uint32_t cap_style;
uint32_t join_style;
uint32_t fill_style;
uint32_t fill_rule;
xcb_pixmap_t tile;
xcb_pixmap_t stipple;
int32_t tile_stipple_x_origin;
int32_t tile_stipple_y_origin;
xcb_font_t font;
uint32_t subwindow_mode;
xcb_bool32_t graphics_exposures;
int32_t clip_x_origin;
int32_t clip_y_origin;
xcb_pixmap_t clip_mask;
uint32_t dash_offset;
uint32_t dashes;
uint32_t arc_mode;
} xcb_create_gc_value_list_t;
/** Opcode for xcb_create_gc. */
#define XCB_CREATE_GC 55
/**
* @brief xcb_create_gc_request_t
**/
typedef struct xcb_create_gc_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_gcontext_t cid;
xcb_drawable_t drawable;
uint32_t value_mask;
} xcb_create_gc_request_t;
/**
* @brief xcb_change_gc_value_list_t
**/
typedef struct xcb_change_gc_value_list_t {
uint32_t function;
uint32_t plane_mask;
uint32_t foreground;
uint32_t background;
uint32_t line_width;
uint32_t line_style;
uint32_t cap_style;
uint32_t join_style;
uint32_t fill_style;
uint32_t fill_rule;
xcb_pixmap_t tile;
xcb_pixmap_t stipple;
int32_t tile_stipple_x_origin;
int32_t tile_stipple_y_origin;
xcb_font_t font;
uint32_t subwindow_mode;
xcb_bool32_t graphics_exposures;
int32_t clip_x_origin;
int32_t clip_y_origin;
xcb_pixmap_t clip_mask;
uint32_t dash_offset;
uint32_t dashes;
uint32_t arc_mode;
} xcb_change_gc_value_list_t;
/** Opcode for xcb_change_gc. */
#define XCB_CHANGE_GC 56
/**
* @brief xcb_change_gc_request_t
**/
typedef struct xcb_change_gc_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_gcontext_t gc;
uint32_t value_mask;
} xcb_change_gc_request_t;
/** Opcode for xcb_copy_gc. */
#define XCB_COPY_GC 57
/**
* @brief xcb_copy_gc_request_t
**/
typedef struct xcb_copy_gc_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_gcontext_t src_gc;
xcb_gcontext_t dst_gc;
uint32_t value_mask;
} xcb_copy_gc_request_t;
/** Opcode for xcb_set_dashes. */
#define XCB_SET_DASHES 58
/**
* @brief xcb_set_dashes_request_t
**/
typedef struct xcb_set_dashes_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_gcontext_t gc;
uint16_t dash_offset;
uint16_t dashes_len;
} xcb_set_dashes_request_t;
typedef enum xcb_clip_ordering_t {
XCB_CLIP_ORDERING_UNSORTED = 0,
XCB_CLIP_ORDERING_Y_SORTED = 1,
XCB_CLIP_ORDERING_YX_SORTED = 2,
XCB_CLIP_ORDERING_YX_BANDED = 3
} xcb_clip_ordering_t;
/** Opcode for xcb_set_clip_rectangles. */
#define XCB_SET_CLIP_RECTANGLES 59
/**
* @brief xcb_set_clip_rectangles_request_t
**/
typedef struct xcb_set_clip_rectangles_request_t {
uint8_t major_opcode;
uint8_t ordering;
uint16_t length;
xcb_gcontext_t gc;
int16_t clip_x_origin;
int16_t clip_y_origin;
} xcb_set_clip_rectangles_request_t;
/** Opcode for xcb_free_gc. */
#define XCB_FREE_GC 60
/**
* @brief xcb_free_gc_request_t
**/
typedef struct xcb_free_gc_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_gcontext_t gc;
} xcb_free_gc_request_t;
/** Opcode for xcb_clear_area. */
#define XCB_CLEAR_AREA 61
/**
* @brief xcb_clear_area_request_t
**/
typedef struct xcb_clear_area_request_t {
uint8_t major_opcode;
uint8_t exposures;
uint16_t length;
xcb_window_t window;
int16_t x;
int16_t y;
uint16_t width;
uint16_t height;
} xcb_clear_area_request_t;
/** Opcode for xcb_copy_area. */
#define XCB_COPY_AREA 62
/**
* @brief xcb_copy_area_request_t
**/
typedef struct xcb_copy_area_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_drawable_t src_drawable;
xcb_drawable_t dst_drawable;
xcb_gcontext_t gc;
int16_t src_x;
int16_t src_y;
int16_t dst_x;
int16_t dst_y;
uint16_t width;
uint16_t height;
} xcb_copy_area_request_t;
/** Opcode for xcb_copy_plane. */
#define XCB_COPY_PLANE 63
/**
* @brief xcb_copy_plane_request_t
**/
typedef struct xcb_copy_plane_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_drawable_t src_drawable;
xcb_drawable_t dst_drawable;
xcb_gcontext_t gc;
int16_t src_x;
int16_t src_y;
int16_t dst_x;
int16_t dst_y;
uint16_t width;
uint16_t height;
uint32_t bit_plane;
} xcb_copy_plane_request_t;
typedef enum xcb_coord_mode_t {
XCB_COORD_MODE_ORIGIN = 0,
/**< Treats all coordinates as relative to the origin. */
XCB_COORD_MODE_PREVIOUS = 1
/**< Treats all coordinates after the first as relative to the previous coordinate. */
} xcb_coord_mode_t;
/** Opcode for xcb_poly_point. */
#define XCB_POLY_POINT 64
/**
* @brief xcb_poly_point_request_t
**/
typedef struct xcb_poly_point_request_t {
uint8_t major_opcode;
uint8_t coordinate_mode;
uint16_t length;
xcb_drawable_t drawable;
xcb_gcontext_t gc;
} xcb_poly_point_request_t;
/** Opcode for xcb_poly_line. */
#define XCB_POLY_LINE 65
/**
* @brief xcb_poly_line_request_t
**/
typedef struct xcb_poly_line_request_t {
uint8_t major_opcode;
uint8_t coordinate_mode;
uint16_t length;
xcb_drawable_t drawable;
xcb_gcontext_t gc;
} xcb_poly_line_request_t;
/**
* @brief xcb_segment_t
**/
typedef struct xcb_segment_t {
int16_t x1;
int16_t y1;
int16_t x2;
int16_t y2;
} xcb_segment_t;
/**
* @brief xcb_segment_iterator_t
**/
typedef struct xcb_segment_iterator_t {
xcb_segment_t *data;
int rem;
int index;
} xcb_segment_iterator_t;
/** Opcode for xcb_poly_segment. */
#define XCB_POLY_SEGMENT 66
/**
* @brief xcb_poly_segment_request_t
**/
typedef struct xcb_poly_segment_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_drawable_t drawable;
xcb_gcontext_t gc;
} xcb_poly_segment_request_t;
/** Opcode for xcb_poly_rectangle. */
#define XCB_POLY_RECTANGLE 67
/**
* @brief xcb_poly_rectangle_request_t
**/
typedef struct xcb_poly_rectangle_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_drawable_t drawable;
xcb_gcontext_t gc;
} xcb_poly_rectangle_request_t;
/** Opcode for xcb_poly_arc. */
#define XCB_POLY_ARC 68
/**
* @brief xcb_poly_arc_request_t
**/
typedef struct xcb_poly_arc_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_drawable_t drawable;
xcb_gcontext_t gc;
} xcb_poly_arc_request_t;
typedef enum xcb_poly_shape_t {
XCB_POLY_SHAPE_COMPLEX = 0,
XCB_POLY_SHAPE_NONCONVEX = 1,
XCB_POLY_SHAPE_CONVEX = 2
} xcb_poly_shape_t;
/** Opcode for xcb_fill_poly. */
#define XCB_FILL_POLY 69
/**
* @brief xcb_fill_poly_request_t
**/
typedef struct xcb_fill_poly_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_drawable_t drawable;
xcb_gcontext_t gc;
uint8_t shape;
uint8_t coordinate_mode;
uint8_t pad1[2];
} xcb_fill_poly_request_t;
/** Opcode for xcb_poly_fill_rectangle. */
#define XCB_POLY_FILL_RECTANGLE 70
/**
* @brief xcb_poly_fill_rectangle_request_t
**/
typedef struct xcb_poly_fill_rectangle_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_drawable_t drawable;
xcb_gcontext_t gc;
} xcb_poly_fill_rectangle_request_t;
/** Opcode for xcb_poly_fill_arc. */
#define XCB_POLY_FILL_ARC 71
/**
* @brief xcb_poly_fill_arc_request_t
**/
typedef struct xcb_poly_fill_arc_request_t {
uint8_t major_opcode;
uint8_t pad0;
uint16_t length;
xcb_drawable_t drawable;
xcb_gcontext_t gc;
} xcb_poly_fill_arc_request_t;
typedef enum xcb_image_format_t {
XCB_IMAGE_FORMAT_XY_BITMAP = 0,
XCB_IMAGE_FORMAT_XY_PIXMAP = 1,
XCB_IMAGE_FORMAT_Z_PIXMAP = 2
} xcb_image_format_t;
/** Opcode for xcb_put_image. */
#define XCB_PUT_IMAGE 72
/**
* @brief xcb_put_image_request_t
**/
typedef struct xcb_put_image_request_t {
uint8_t major_opcode;
uint8_t format;
uint16_t length;
xcb_drawable_t drawable;
xcb_gcontext_t gc;
uint16_t width;
uint16_t height;
int16_t dst_x;
int16_t dst_y;
uint8_t left_pad;
uint8_t depth;
uint8_t pad0[2];
} xcb_put_image_request_t;
/**
* @brief xcb_get_image_cookie_t
**/
typedef struct xcb_get_image_cookie_t {
unsigned int sequence;
} xcb_get_image_cookie_t;
/** Opcode for xcb_get_image. */
#define XCB_GET_IMAGE 73
/**
* @brief xcb_get_image_request_t
**/