#![allow(improper_ctypes)]
use ffi::base::*;
use libc::{c_char, c_int, c_uint, c_void};
use std;
#[repr(C)]
pub struct xcb_char2b_t {
    pub byte1: u8,
    pub byte2: u8,
}
impl Copy for xcb_char2b_t {}
impl Clone for xcb_char2b_t {
    fn clone(&self) -> xcb_char2b_t { *self }
}
#[repr(C)]
pub struct xcb_char2b_iterator_t {
    pub data:  *mut xcb_char2b_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_window_t = u32;
#[repr(C)]
pub struct xcb_window_iterator_t {
    pub data:  *mut xcb_window_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_pixmap_t = u32;
#[repr(C)]
pub struct xcb_pixmap_iterator_t {
    pub data:  *mut xcb_pixmap_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_cursor_t = u32;
#[repr(C)]
pub struct xcb_cursor_iterator_t {
    pub data:  *mut xcb_cursor_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_font_t = u32;
#[repr(C)]
pub struct xcb_font_iterator_t {
    pub data:  *mut xcb_font_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_gcontext_t = u32;
#[repr(C)]
pub struct xcb_gcontext_iterator_t {
    pub data:  *mut xcb_gcontext_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_colormap_t = u32;
#[repr(C)]
pub struct xcb_colormap_iterator_t {
    pub data:  *mut xcb_colormap_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_atom_t = u32;
#[repr(C)]
pub struct xcb_atom_iterator_t {
    pub data:  *mut xcb_atom_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_drawable_t = u32;
#[repr(C)]
pub struct xcb_drawable_iterator_t {
    pub data:  *mut xcb_drawable_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_fontable_t = u32;
#[repr(C)]
pub struct xcb_fontable_iterator_t {
    pub data:  *mut xcb_fontable_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_visualid_t = u32;
#[repr(C)]
pub struct xcb_visualid_iterator_t {
    pub data:  *mut xcb_visualid_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_timestamp_t = u32;
#[repr(C)]
pub struct xcb_timestamp_iterator_t {
    pub data:  *mut xcb_timestamp_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_keysym_t = u32;
#[repr(C)]
pub struct xcb_keysym_iterator_t {
    pub data:  *mut xcb_keysym_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_keycode_t = u8;
#[repr(C)]
pub struct xcb_keycode_iterator_t {
    pub data:  *mut xcb_keycode_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_button_t = u8;
#[repr(C)]
pub struct xcb_button_iterator_t {
    pub data:  *mut xcb_button_t,
    pub rem:   c_int,
    pub index: c_int,
}
#[repr(C)]
pub struct xcb_point_t {
    pub x: i16,
    pub y: i16,
}
impl Copy for xcb_point_t {}
impl Clone for xcb_point_t {
    fn clone(&self) -> xcb_point_t { *self }
}
#[repr(C)]
pub struct xcb_point_iterator_t {
    pub data:  *mut xcb_point_t,
    pub rem:   c_int,
    pub index: c_int,
}
#[repr(C)]
pub struct xcb_rectangle_t {
    pub x:      i16,
    pub y:      i16,
    pub width:  u16,
    pub height: u16,
}
impl Copy for xcb_rectangle_t {}
impl Clone for xcb_rectangle_t {
    fn clone(&self) -> xcb_rectangle_t { *self }
}
#[repr(C)]
pub struct xcb_rectangle_iterator_t {
    pub data:  *mut xcb_rectangle_t,
    pub rem:   c_int,
    pub index: c_int,
}
#[repr(C)]
pub struct xcb_arc_t {
    pub x:      i16,
    pub y:      i16,
    pub width:  u16,
    pub height: u16,
    pub angle1: i16,
    pub angle2: i16,
}
impl Copy for xcb_arc_t {}
impl Clone for xcb_arc_t {
    fn clone(&self) -> xcb_arc_t { *self }
}
#[repr(C)]
pub struct xcb_arc_iterator_t {
    pub data:  *mut xcb_arc_t,
    pub rem:   c_int,
    pub index: c_int,
}
#[repr(C)]
pub struct xcb_format_t {
    pub depth:          u8,
    pub bits_per_pixel: u8,
    pub scanline_pad:   u8,
    pub pad0:           [u8; 5],
}
impl Copy for xcb_format_t {}
impl Clone for xcb_format_t {
    fn clone(&self) -> xcb_format_t { *self }
}
#[repr(C)]
pub struct xcb_format_iterator_t {
    pub data:  *mut xcb_format_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub type xcb_visual_class_t = u32;
pub const XCB_VISUAL_CLASS_STATIC_GRAY : xcb_visual_class_t = 0x00;
pub const XCB_VISUAL_CLASS_GRAY_SCALE  : xcb_visual_class_t = 0x01;
pub const XCB_VISUAL_CLASS_STATIC_COLOR: xcb_visual_class_t = 0x02;
pub const XCB_VISUAL_CLASS_PSEUDO_COLOR: xcb_visual_class_t = 0x03;
pub const XCB_VISUAL_CLASS_TRUE_COLOR  : xcb_visual_class_t = 0x04;
pub const XCB_VISUAL_CLASS_DIRECT_COLOR: xcb_visual_class_t = 0x05;
#[repr(C)]
pub struct xcb_visualtype_t {
    pub visual_id:          xcb_visualid_t,
    pub class:              u8,
    pub bits_per_rgb_value: u8,
    pub colormap_entries:   u16,
    pub red_mask:           u32,
    pub green_mask:         u32,
    pub blue_mask:          u32,
    pub pad0:               [u8; 4],
}
impl Copy for xcb_visualtype_t {}
impl Clone for xcb_visualtype_t {
    fn clone(&self) -> xcb_visualtype_t { *self }
}
#[repr(C)]
pub struct xcb_visualtype_iterator_t {
    pub data:  *mut xcb_visualtype_t,
    pub rem:   c_int,
    pub index: c_int,
}
#[repr(C)]
pub struct xcb_depth_t {
    pub depth:       u8,
    pub pad0:        u8,
    pub visuals_len: u16,
    pub pad1:        [u8; 4],
}
#[repr(C)]
pub struct xcb_depth_iterator_t<'a> {
    pub data:  *mut xcb_depth_t,
    pub rem:   c_int,
    pub index: c_int,
    _phantom:  std::marker::PhantomData<&'a xcb_depth_t>,
}
pub type xcb_event_mask_t = u32;
pub const XCB_EVENT_MASK_NO_EVENT             : xcb_event_mask_t =      0x00;
pub const XCB_EVENT_MASK_KEY_PRESS            : xcb_event_mask_t =      0x01;
pub const XCB_EVENT_MASK_KEY_RELEASE          : xcb_event_mask_t =      0x02;
pub const XCB_EVENT_MASK_BUTTON_PRESS         : xcb_event_mask_t =      0x04;
pub const XCB_EVENT_MASK_BUTTON_RELEASE       : xcb_event_mask_t =      0x08;
pub const XCB_EVENT_MASK_ENTER_WINDOW         : xcb_event_mask_t =      0x10;
pub const XCB_EVENT_MASK_LEAVE_WINDOW         : xcb_event_mask_t =      0x20;
pub const XCB_EVENT_MASK_POINTER_MOTION       : xcb_event_mask_t =      0x40;
pub const XCB_EVENT_MASK_POINTER_MOTION_HINT  : xcb_event_mask_t =      0x80;
pub const XCB_EVENT_MASK_BUTTON_1_MOTION      : xcb_event_mask_t =     0x100;
pub const XCB_EVENT_MASK_BUTTON_2_MOTION      : xcb_event_mask_t =     0x200;
pub const XCB_EVENT_MASK_BUTTON_3_MOTION      : xcb_event_mask_t =     0x400;
pub const XCB_EVENT_MASK_BUTTON_4_MOTION      : xcb_event_mask_t =     0x800;
pub const XCB_EVENT_MASK_BUTTON_5_MOTION      : xcb_event_mask_t =    0x1000;
pub const XCB_EVENT_MASK_BUTTON_MOTION        : xcb_event_mask_t =    0x2000;
pub const XCB_EVENT_MASK_KEYMAP_STATE         : xcb_event_mask_t =    0x4000;
pub const XCB_EVENT_MASK_EXPOSURE             : xcb_event_mask_t =    0x8000;
pub const XCB_EVENT_MASK_VISIBILITY_CHANGE    : xcb_event_mask_t =   0x10000;
pub const XCB_EVENT_MASK_STRUCTURE_NOTIFY     : xcb_event_mask_t =   0x20000;
pub const XCB_EVENT_MASK_RESIZE_REDIRECT      : xcb_event_mask_t =   0x40000;
pub const XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY  : xcb_event_mask_t =   0x80000;
pub const XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT: xcb_event_mask_t =  0x100000;
pub const XCB_EVENT_MASK_FOCUS_CHANGE         : xcb_event_mask_t =  0x200000;
pub const XCB_EVENT_MASK_PROPERTY_CHANGE      : xcb_event_mask_t =  0x400000;
pub const XCB_EVENT_MASK_COLOR_MAP_CHANGE     : xcb_event_mask_t =  0x800000;
pub const XCB_EVENT_MASK_OWNER_GRAB_BUTTON    : xcb_event_mask_t = 0x1000000;
pub type xcb_backing_store_t = u32;
pub const XCB_BACKING_STORE_NOT_USEFUL : xcb_backing_store_t = 0x00;
pub const XCB_BACKING_STORE_WHEN_MAPPED: xcb_backing_store_t = 0x01;
pub const XCB_BACKING_STORE_ALWAYS     : xcb_backing_store_t = 0x02;
#[repr(C)]
pub struct xcb_screen_t {
    pub root:                  xcb_window_t,
    pub default_colormap:      xcb_colormap_t,
    pub white_pixel:           u32,
    pub black_pixel:           u32,
    pub current_input_masks:   u32,
    pub width_in_pixels:       u16,
    pub height_in_pixels:      u16,
    pub width_in_millimeters:  u16,
    pub height_in_millimeters: u16,
    pub min_installed_maps:    u16,
    pub max_installed_maps:    u16,
    pub root_visual:           xcb_visualid_t,
    pub backing_stores:        u8,
    pub save_unders:           u8,
    pub root_depth:            u8,
    pub allowed_depths_len:    u8,
}
#[repr(C)]
pub struct xcb_screen_iterator_t<'a> {
    pub data:  *mut xcb_screen_t,
    pub rem:   c_int,
    pub index: c_int,
    _phantom:  std::marker::PhantomData<&'a xcb_screen_t>,
}
#[repr(C)]
pub struct xcb_setup_request_t {
    pub byte_order:                      u8,
    pub pad0:                            u8,
    pub protocol_major_version:          u16,
    pub protocol_minor_version:          u16,
    pub authorization_protocol_name_len: u16,
    pub authorization_protocol_data_len: u16,
    pub pad1:                            [u8; 2],
}
#[repr(C)]
pub struct xcb_setup_request_iterator_t<'a> {
    pub data:  *mut xcb_setup_request_t,
    pub rem:   c_int,
    pub index: c_int,
    _phantom:  std::marker::PhantomData<&'a xcb_setup_request_t>,
}
#[repr(C)]
pub struct xcb_setup_failed_t {
    pub status:                 u8,
    pub reason_len:             u8,
    pub protocol_major_version: u16,
    pub protocol_minor_version: u16,
    pub length:                 u16,
}
#[repr(C)]
pub struct xcb_setup_failed_iterator_t<'a> {
    pub data:  *mut xcb_setup_failed_t,
    pub rem:   c_int,
    pub index: c_int,
    _phantom:  std::marker::PhantomData<&'a xcb_setup_failed_t>,
}
#[repr(C)]
pub struct xcb_setup_authenticate_t {
    pub status: u8,
    pub pad0:   [u8; 5],
    pub length: u16,
}
#[repr(C)]
pub struct xcb_setup_authenticate_iterator_t<'a> {
    pub data:  *mut xcb_setup_authenticate_t,
    pub rem:   c_int,
    pub index: c_int,
    _phantom:  std::marker::PhantomData<&'a xcb_setup_authenticate_t>,
}
pub type xcb_image_order_t = u32;
pub const XCB_IMAGE_ORDER_LSB_FIRST: xcb_image_order_t = 0x00;
pub const XCB_IMAGE_ORDER_MSB_FIRST: xcb_image_order_t = 0x01;
#[repr(C)]
pub struct xcb_setup_t {
    pub status:                      u8,
    pub pad0:                        u8,
    pub protocol_major_version:      u16,
    pub protocol_minor_version:      u16,
    pub length:                      u16,
    pub release_number:              u32,
    pub resource_id_base:            u32,
    pub resource_id_mask:            u32,
    pub motion_buffer_size:          u32,
    pub vendor_len:                  u16,
    pub maximum_request_length:      u16,
    pub roots_len:                   u8,
    pub pixmap_formats_len:          u8,
    pub image_byte_order:            u8,
    pub bitmap_format_bit_order:     u8,
    pub bitmap_format_scanline_unit: u8,
    pub bitmap_format_scanline_pad:  u8,
    pub min_keycode:                 xcb_keycode_t,
    pub max_keycode:                 xcb_keycode_t,
    pub pad1:                        [u8; 4],
}
#[repr(C)]
pub struct xcb_setup_iterator_t<'a> {
    pub data:  *mut xcb_setup_t,
    pub rem:   c_int,
    pub index: c_int,
    _phantom:  std::marker::PhantomData<&'a xcb_setup_t>,
}
pub type xcb_mod_mask_t = u32;
pub const XCB_MOD_MASK_SHIFT  : xcb_mod_mask_t =   0x01;
pub const XCB_MOD_MASK_LOCK   : xcb_mod_mask_t =   0x02;
pub const XCB_MOD_MASK_CONTROL: xcb_mod_mask_t =   0x04;
pub const XCB_MOD_MASK_1      : xcb_mod_mask_t =   0x08;
pub const XCB_MOD_MASK_2      : xcb_mod_mask_t =   0x10;
pub const XCB_MOD_MASK_3      : xcb_mod_mask_t =   0x20;
pub const XCB_MOD_MASK_4      : xcb_mod_mask_t =   0x40;
pub const XCB_MOD_MASK_5      : xcb_mod_mask_t =   0x80;
pub const XCB_MOD_MASK_ANY    : xcb_mod_mask_t = 0x8000;
pub type xcb_key_but_mask_t = u32;
pub const XCB_KEY_BUT_MASK_SHIFT   : xcb_key_but_mask_t =   0x01;
pub const XCB_KEY_BUT_MASK_LOCK    : xcb_key_but_mask_t =   0x02;
pub const XCB_KEY_BUT_MASK_CONTROL : xcb_key_but_mask_t =   0x04;
pub const XCB_KEY_BUT_MASK_MOD_1   : xcb_key_but_mask_t =   0x08;
pub const XCB_KEY_BUT_MASK_MOD_2   : xcb_key_but_mask_t =   0x10;
pub const XCB_KEY_BUT_MASK_MOD_3   : xcb_key_but_mask_t =   0x20;
pub const XCB_KEY_BUT_MASK_MOD_4   : xcb_key_but_mask_t =   0x40;
pub const XCB_KEY_BUT_MASK_MOD_5   : xcb_key_but_mask_t =   0x80;
pub const XCB_KEY_BUT_MASK_BUTTON_1: xcb_key_but_mask_t =  0x100;
pub const XCB_KEY_BUT_MASK_BUTTON_2: xcb_key_but_mask_t =  0x200;
pub const XCB_KEY_BUT_MASK_BUTTON_3: xcb_key_but_mask_t =  0x400;
pub const XCB_KEY_BUT_MASK_BUTTON_4: xcb_key_but_mask_t =  0x800;
pub const XCB_KEY_BUT_MASK_BUTTON_5: xcb_key_but_mask_t = 0x1000;
pub type xcb_window_enum_t = u32;
pub const XCB_WINDOW_NONE: xcb_window_enum_t = 0x00;
pub const XCB_KEY_PRESS: u8 = 2;
#[repr(C)]
pub struct xcb_key_press_event_t {
    pub response_type: u8,
    
    
    pub detail:        xcb_keycode_t,
    pub sequence:      u16,
    
    pub time:          xcb_timestamp_t,
    
    pub root:          xcb_window_t,
    pub event:         xcb_window_t,
    pub child:         xcb_window_t,
    
    
    pub root_x:        i16,
    
    
    pub root_y:        i16,
    
    
    pub event_x:       i16,
    
    
    pub event_y:       i16,
    
    
    pub state:         u16,
    
    pub same_screen:   u8,
    pub pad0:          u8,
}
impl Copy for xcb_key_press_event_t {}
impl Clone for xcb_key_press_event_t {
    fn clone(&self) -> xcb_key_press_event_t { *self }
}
pub const XCB_KEY_RELEASE: u8 = 3;
pub type xcb_key_release_event_t = xcb_key_press_event_t;
pub type xcb_button_mask_t = u32;
pub const XCB_BUTTON_MASK_1  : xcb_button_mask_t =  0x100;
pub const XCB_BUTTON_MASK_2  : xcb_button_mask_t =  0x200;
pub const XCB_BUTTON_MASK_3  : xcb_button_mask_t =  0x400;
pub const XCB_BUTTON_MASK_4  : xcb_button_mask_t =  0x800;
pub const XCB_BUTTON_MASK_5  : xcb_button_mask_t = 0x1000;
pub const XCB_BUTTON_MASK_ANY: xcb_button_mask_t = 0x8000;
pub const XCB_BUTTON_PRESS: u8 = 4;
#[repr(C)]
pub struct xcb_button_press_event_t {
    pub response_type: u8,
    
    
    pub detail:        xcb_button_t,
    pub sequence:      u16,
    
    pub time:          xcb_timestamp_t,
    
    pub root:          xcb_window_t,
    pub event:         xcb_window_t,
    pub child:         xcb_window_t,
    
    
    pub root_x:        i16,
    
    
    pub root_y:        i16,
    
    
    pub event_x:       i16,
    
    
    pub event_y:       i16,
    
    
    pub state:         u16,
    
    pub same_screen:   u8,
    pub pad0:          u8,
}
impl Copy for xcb_button_press_event_t {}
impl Clone for xcb_button_press_event_t {
    fn clone(&self) -> xcb_button_press_event_t { *self }
}
pub const XCB_BUTTON_RELEASE: u8 = 5;
pub type xcb_button_release_event_t = xcb_button_press_event_t;
pub type xcb_motion_t = u32;
pub const XCB_MOTION_NORMAL: xcb_motion_t = 0x00;
pub const XCB_MOTION_HINT  : xcb_motion_t = 0x01;
pub const XCB_MOTION_NOTIFY: u8 = 6;
#[repr(C)]
pub struct xcb_motion_notify_event_t {
    pub response_type: u8,
    
    
    pub detail:        u8,
    pub sequence:      u16,
    
    pub time:          xcb_timestamp_t,
    
    pub root:          xcb_window_t,
    pub event:         xcb_window_t,
    pub child:         xcb_window_t,
    
    
    pub root_x:        i16,
    
    
    pub root_y:        i16,
    
    
    pub event_x:       i16,
    
    
    pub event_y:       i16,
    
    
    pub state:         u16,
    
    pub same_screen:   u8,
    pub pad0:          u8,
}
impl Copy for xcb_motion_notify_event_t {}
impl Clone for xcb_motion_notify_event_t {
    fn clone(&self) -> xcb_motion_notify_event_t { *self }
}
pub type xcb_notify_detail_t = u32;
pub const XCB_NOTIFY_DETAIL_ANCESTOR         : xcb_notify_detail_t = 0x00;
pub const XCB_NOTIFY_DETAIL_VIRTUAL          : xcb_notify_detail_t = 0x01;
pub const XCB_NOTIFY_DETAIL_INFERIOR         : xcb_notify_detail_t = 0x02;
pub const XCB_NOTIFY_DETAIL_NONLINEAR        : xcb_notify_detail_t = 0x03;
pub const XCB_NOTIFY_DETAIL_NONLINEAR_VIRTUAL: xcb_notify_detail_t = 0x04;
pub const XCB_NOTIFY_DETAIL_POINTER          : xcb_notify_detail_t = 0x05;
pub const XCB_NOTIFY_DETAIL_POINTER_ROOT     : xcb_notify_detail_t = 0x06;
pub const XCB_NOTIFY_DETAIL_NONE             : xcb_notify_detail_t = 0x07;
pub type xcb_notify_mode_t = u32;
pub const XCB_NOTIFY_MODE_NORMAL       : xcb_notify_mode_t = 0x00;
pub const XCB_NOTIFY_MODE_GRAB         : xcb_notify_mode_t = 0x01;
pub const XCB_NOTIFY_MODE_UNGRAB       : xcb_notify_mode_t = 0x02;
pub const XCB_NOTIFY_MODE_WHILE_GRABBED: xcb_notify_mode_t = 0x03;
pub const XCB_ENTER_NOTIFY: u8 = 7;
#[repr(C)]
pub struct xcb_enter_notify_event_t {
    pub response_type:     u8,
    pub detail:            u8,
    pub sequence:          u16,
    pub time:              xcb_timestamp_t,
    
    pub root:              xcb_window_t,
    
    pub event:             xcb_window_t,
    
    
    pub child:             xcb_window_t,
    
    pub root_x:            i16,
    
    pub root_y:            i16,
    
    
    pub event_x:           i16,
    
    
    pub event_y:           i16,
    pub state:             u16,
    
    pub mode:              u8,
    pub same_screen_focus: u8,
}
impl Copy for xcb_enter_notify_event_t {}
impl Clone for xcb_enter_notify_event_t {
    fn clone(&self) -> xcb_enter_notify_event_t { *self }
}
pub const XCB_LEAVE_NOTIFY: u8 = 8;
pub type xcb_leave_notify_event_t = xcb_enter_notify_event_t;
pub const XCB_FOCUS_IN: u8 = 9;
#[repr(C)]
pub struct xcb_focus_in_event_t {
    pub response_type: u8,
    
    pub detail:        u8,
    pub sequence:      u16,
    
    
    pub event:         xcb_window_t,
    
    pub mode:          u8,
    pub pad0:          [u8; 3],
}
impl Copy for xcb_focus_in_event_t {}
impl Clone for xcb_focus_in_event_t {
    fn clone(&self) -> xcb_focus_in_event_t { *self }
}
pub const XCB_FOCUS_OUT: u8 = 10;
pub type xcb_focus_out_event_t = xcb_focus_in_event_t;
pub const XCB_KEYMAP_NOTIFY: u8 = 11;
#[repr(C)]
pub struct xcb_keymap_notify_event_t {
    pub response_type: u8,
    pub keys:          [u8; 31],
}
impl Copy for xcb_keymap_notify_event_t {}
impl Clone for xcb_keymap_notify_event_t {
    fn clone(&self) -> xcb_keymap_notify_event_t { *self }
}
pub const XCB_EXPOSE: u8 = 12;
#[repr(C)]
pub struct xcb_expose_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    
    pub window:        xcb_window_t,
    
    
    pub x:             u16,
    
    
    pub y:             u16,
    
    pub width:         u16,
    
    pub height:        u16,
    
    
    
    
    pub count:         u16,
    pub pad1:          [u8; 2],
}
impl Copy for xcb_expose_event_t {}
impl Clone for xcb_expose_event_t {
    fn clone(&self) -> xcb_expose_event_t { *self }
}
pub const XCB_GRAPHICS_EXPOSURE: u8 = 13;
#[repr(C)]
pub struct xcb_graphics_exposure_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub drawable:      xcb_drawable_t,
    pub x:             u16,
    pub y:             u16,
    pub width:         u16,
    pub height:        u16,
    pub minor_opcode:  u16,
    pub count:         u16,
    pub major_opcode:  u8,
    pub pad1:          [u8; 3],
}
impl Copy for xcb_graphics_exposure_event_t {}
impl Clone for xcb_graphics_exposure_event_t {
    fn clone(&self) -> xcb_graphics_exposure_event_t { *self }
}
pub const XCB_NO_EXPOSURE: u8 = 14;
#[repr(C)]
pub struct xcb_no_exposure_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub drawable:      xcb_drawable_t,
    pub minor_opcode:  u16,
    pub major_opcode:  u8,
    pub pad1:          u8,
}
impl Copy for xcb_no_exposure_event_t {}
impl Clone for xcb_no_exposure_event_t {
    fn clone(&self) -> xcb_no_exposure_event_t { *self }
}
pub type xcb_visibility_t = u32;
pub const XCB_VISIBILITY_UNOBSCURED        : xcb_visibility_t = 0x00;
pub const XCB_VISIBILITY_PARTIALLY_OBSCURED: xcb_visibility_t = 0x01;
pub const XCB_VISIBILITY_FULLY_OBSCURED    : xcb_visibility_t = 0x02;
pub const XCB_VISIBILITY_NOTIFY: u8 = 15;
#[repr(C)]
pub struct xcb_visibility_notify_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub window:        xcb_window_t,
    pub state:         u8,
    pub pad1:          [u8; 3],
}
impl Copy for xcb_visibility_notify_event_t {}
impl Clone for xcb_visibility_notify_event_t {
    fn clone(&self) -> xcb_visibility_notify_event_t { *self }
}
pub const XCB_CREATE_NOTIFY: u8 = 16;
#[repr(C)]
pub struct xcb_create_notify_event_t {
    pub response_type:     u8,
    pub pad0:              u8,
    pub sequence:          u16,
    pub parent:            xcb_window_t,
    pub window:            xcb_window_t,
    pub x:                 i16,
    pub y:                 i16,
    pub width:             u16,
    pub height:            u16,
    pub border_width:      u16,
    pub override_redirect: u8,
    pub pad1:              u8,
}
impl Copy for xcb_create_notify_event_t {}
impl Clone for xcb_create_notify_event_t {
    fn clone(&self) -> xcb_create_notify_event_t { *self }
}
pub const XCB_DESTROY_NOTIFY: u8 = 17;
#[repr(C)]
pub struct xcb_destroy_notify_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    
    
    pub event:         xcb_window_t,
    
    pub window:        xcb_window_t,
}
impl Copy for xcb_destroy_notify_event_t {}
impl Clone for xcb_destroy_notify_event_t {
    fn clone(&self) -> xcb_destroy_notify_event_t { *self }
}
pub const XCB_UNMAP_NOTIFY: u8 = 18;
#[repr(C)]
pub struct xcb_unmap_notify_event_t {
    pub response_type:  u8,
    pub pad0:           u8,
    pub sequence:       u16,
    
    
    pub event:          xcb_window_t,
    
    pub window:         xcb_window_t,
    
    
    pub from_configure: u8,
    pub pad1:           [u8; 3],
}
impl Copy for xcb_unmap_notify_event_t {}
impl Clone for xcb_unmap_notify_event_t {
    fn clone(&self) -> xcb_unmap_notify_event_t { *self }
}
pub const XCB_MAP_NOTIFY: u8 = 19;
#[repr(C)]
pub struct xcb_map_notify_event_t {
    pub response_type:     u8,
    pub pad0:              u8,
    pub sequence:          u16,
    
    
    pub event:             xcb_window_t,
    
    pub window:            xcb_window_t,
    
    pub override_redirect: u8,
    pub pad1:              [u8; 3],
}
impl Copy for xcb_map_notify_event_t {}
impl Clone for xcb_map_notify_event_t {
    fn clone(&self) -> xcb_map_notify_event_t { *self }
}
pub const XCB_MAP_REQUEST: u8 = 20;
#[repr(C)]
pub struct xcb_map_request_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    
    pub parent:        xcb_window_t,
    
    pub window:        xcb_window_t,
}
impl Copy for xcb_map_request_event_t {}
impl Clone for xcb_map_request_event_t {
    fn clone(&self) -> xcb_map_request_event_t { *self }
}
pub const XCB_REPARENT_NOTIFY: u8 = 21;
#[repr(C)]
pub struct xcb_reparent_notify_event_t {
    pub response_type:     u8,
    pub pad0:              u8,
    pub sequence:          u16,
    pub event:             xcb_window_t,
    pub window:            xcb_window_t,
    pub parent:            xcb_window_t,
    pub x:                 i16,
    pub y:                 i16,
    pub override_redirect: u8,
    pub pad1:              [u8; 3],
}
impl Copy for xcb_reparent_notify_event_t {}
impl Clone for xcb_reparent_notify_event_t {
    fn clone(&self) -> xcb_reparent_notify_event_t { *self }
}
pub const XCB_CONFIGURE_NOTIFY: u8 = 22;
#[repr(C)]
pub struct xcb_configure_notify_event_t {
    pub response_type:     u8,
    pub pad0:              u8,
    pub sequence:          u16,
    
    
    pub event:             xcb_window_t,
    
    pub window:            xcb_window_t,
    
    
    
    pub above_sibling:     xcb_window_t,
    
    
    pub x:                 i16,
    
    
    pub y:                 i16,
    
    pub width:             u16,
    
    pub height:            u16,
    
    pub border_width:      u16,
    
    pub override_redirect: u8,
    pub pad1:              u8,
}
impl Copy for xcb_configure_notify_event_t {}
impl Clone for xcb_configure_notify_event_t {
    fn clone(&self) -> xcb_configure_notify_event_t { *self }
}
pub const XCB_CONFIGURE_REQUEST: u8 = 23;
#[repr(C)]
pub struct xcb_configure_request_event_t {
    pub response_type: u8,
    pub stack_mode:    u8,
    pub sequence:      u16,
    pub parent:        xcb_window_t,
    pub window:        xcb_window_t,
    pub sibling:       xcb_window_t,
    pub x:             i16,
    pub y:             i16,
    pub width:         u16,
    pub height:        u16,
    pub border_width:  u16,
    pub value_mask:    u16,
}
impl Copy for xcb_configure_request_event_t {}
impl Clone for xcb_configure_request_event_t {
    fn clone(&self) -> xcb_configure_request_event_t { *self }
}
pub const XCB_GRAVITY_NOTIFY: u8 = 24;
#[repr(C)]
pub struct xcb_gravity_notify_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub event:         xcb_window_t,
    pub window:        xcb_window_t,
    pub x:             i16,
    pub y:             i16,
}
impl Copy for xcb_gravity_notify_event_t {}
impl Clone for xcb_gravity_notify_event_t {
    fn clone(&self) -> xcb_gravity_notify_event_t { *self }
}
pub const XCB_RESIZE_REQUEST: u8 = 25;
#[repr(C)]
pub struct xcb_resize_request_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub window:        xcb_window_t,
    pub width:         u16,
    pub height:        u16,
}
impl Copy for xcb_resize_request_event_t {}
impl Clone for xcb_resize_request_event_t {
    fn clone(&self) -> xcb_resize_request_event_t { *self }
}
pub type xcb_place_t = u32;
pub const XCB_PLACE_ON_TOP   : xcb_place_t = 0x00;
pub const XCB_PLACE_ON_BOTTOM: xcb_place_t = 0x01;
pub const XCB_CIRCULATE_NOTIFY: u8 = 26;
#[repr(C)]
pub struct xcb_circulate_notify_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    
    
    pub event:         xcb_window_t,
    
    pub window:        xcb_window_t,
    pub pad1:          [u8; 4],
    
    pub place:         u8,
    pub pad2:          [u8; 3],
}
impl Copy for xcb_circulate_notify_event_t {}
impl Clone for xcb_circulate_notify_event_t {
    fn clone(&self) -> xcb_circulate_notify_event_t { *self }
}
pub const XCB_CIRCULATE_REQUEST: u8 = 27;
pub type xcb_circulate_request_event_t = xcb_circulate_notify_event_t;
pub type xcb_property_t = u32;
pub const XCB_PROPERTY_NEW_VALUE: xcb_property_t = 0x00;
pub const XCB_PROPERTY_DELETE   : xcb_property_t = 0x01;
pub const XCB_PROPERTY_NOTIFY: u8 = 28;
#[repr(C)]
pub struct xcb_property_notify_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    
    pub window:        xcb_window_t,
    
    pub atom:          xcb_atom_t,
    
    pub time:          xcb_timestamp_t,
    
    pub state:         u8,
    pub pad1:          [u8; 3],
}
impl Copy for xcb_property_notify_event_t {}
impl Clone for xcb_property_notify_event_t {
    fn clone(&self) -> xcb_property_notify_event_t { *self }
}
pub const XCB_SELECTION_CLEAR: u8 = 29;
#[repr(C)]
pub struct xcb_selection_clear_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub time:          xcb_timestamp_t,
    pub owner:         xcb_window_t,
    pub selection:     xcb_atom_t,
}
impl Copy for xcb_selection_clear_event_t {}
impl Clone for xcb_selection_clear_event_t {
    fn clone(&self) -> xcb_selection_clear_event_t { *self }
}
pub type xcb_time_t = u32;
pub const XCB_TIME_CURRENT_TIME: xcb_time_t = 0x00;
pub type xcb_atom_enum_t = u32;
pub const XCB_ATOM_NONE               : xcb_atom_enum_t = 0x00;
pub const XCB_ATOM_ANY                : xcb_atom_enum_t = 0x00;
pub const XCB_ATOM_PRIMARY            : xcb_atom_enum_t = 0x01;
pub const XCB_ATOM_SECONDARY          : xcb_atom_enum_t = 0x02;
pub const XCB_ATOM_ARC                : xcb_atom_enum_t = 0x03;
pub const XCB_ATOM_ATOM               : xcb_atom_enum_t = 0x04;
pub const XCB_ATOM_BITMAP             : xcb_atom_enum_t = 0x05;
pub const XCB_ATOM_CARDINAL           : xcb_atom_enum_t = 0x06;
pub const XCB_ATOM_COLORMAP           : xcb_atom_enum_t = 0x07;
pub const XCB_ATOM_CURSOR             : xcb_atom_enum_t = 0x08;
pub const XCB_ATOM_CUT_BUFFER0        : xcb_atom_enum_t = 0x09;
pub const XCB_ATOM_CUT_BUFFER1        : xcb_atom_enum_t = 0x0a;
pub const XCB_ATOM_CUT_BUFFER2        : xcb_atom_enum_t = 0x0b;
pub const XCB_ATOM_CUT_BUFFER3        : xcb_atom_enum_t = 0x0c;
pub const XCB_ATOM_CUT_BUFFER4        : xcb_atom_enum_t = 0x0d;
pub const XCB_ATOM_CUT_BUFFER5        : xcb_atom_enum_t = 0x0e;
pub const XCB_ATOM_CUT_BUFFER6        : xcb_atom_enum_t = 0x0f;
pub const XCB_ATOM_CUT_BUFFER7        : xcb_atom_enum_t = 0x10;
pub const XCB_ATOM_DRAWABLE           : xcb_atom_enum_t = 0x11;
pub const XCB_ATOM_FONT               : xcb_atom_enum_t = 0x12;
pub const XCB_ATOM_INTEGER            : xcb_atom_enum_t = 0x13;
pub const XCB_ATOM_PIXMAP             : xcb_atom_enum_t = 0x14;
pub const XCB_ATOM_POINT              : xcb_atom_enum_t = 0x15;
pub const XCB_ATOM_RECTANGLE          : xcb_atom_enum_t = 0x16;
pub const XCB_ATOM_RESOURCE_MANAGER   : xcb_atom_enum_t = 0x17;
pub const XCB_ATOM_RGB_COLOR_MAP      : xcb_atom_enum_t = 0x18;
pub const XCB_ATOM_RGB_BEST_MAP       : xcb_atom_enum_t = 0x19;
pub const XCB_ATOM_RGB_BLUE_MAP       : xcb_atom_enum_t = 0x1a;
pub const XCB_ATOM_RGB_DEFAULT_MAP    : xcb_atom_enum_t = 0x1b;
pub const XCB_ATOM_RGB_GRAY_MAP       : xcb_atom_enum_t = 0x1c;
pub const XCB_ATOM_RGB_GREEN_MAP      : xcb_atom_enum_t = 0x1d;
pub const XCB_ATOM_RGB_RED_MAP        : xcb_atom_enum_t = 0x1e;
pub const XCB_ATOM_STRING             : xcb_atom_enum_t = 0x1f;
pub const XCB_ATOM_VISUALID           : xcb_atom_enum_t = 0x20;
pub const XCB_ATOM_WINDOW             : xcb_atom_enum_t = 0x21;
pub const XCB_ATOM_WM_COMMAND         : xcb_atom_enum_t = 0x22;
pub const XCB_ATOM_WM_HINTS           : xcb_atom_enum_t = 0x23;
pub const XCB_ATOM_WM_CLIENT_MACHINE  : xcb_atom_enum_t = 0x24;
pub const XCB_ATOM_WM_ICON_NAME       : xcb_atom_enum_t = 0x25;
pub const XCB_ATOM_WM_ICON_SIZE       : xcb_atom_enum_t = 0x26;
pub const XCB_ATOM_WM_NAME            : xcb_atom_enum_t = 0x27;
pub const XCB_ATOM_WM_NORMAL_HINTS    : xcb_atom_enum_t = 0x28;
pub const XCB_ATOM_WM_SIZE_HINTS      : xcb_atom_enum_t = 0x29;
pub const XCB_ATOM_WM_ZOOM_HINTS      : xcb_atom_enum_t = 0x2a;
pub const XCB_ATOM_MIN_SPACE          : xcb_atom_enum_t = 0x2b;
pub const XCB_ATOM_NORM_SPACE         : xcb_atom_enum_t = 0x2c;
pub const XCB_ATOM_MAX_SPACE          : xcb_atom_enum_t = 0x2d;
pub const XCB_ATOM_END_SPACE          : xcb_atom_enum_t = 0x2e;
pub const XCB_ATOM_SUPERSCRIPT_X      : xcb_atom_enum_t = 0x2f;
pub const XCB_ATOM_SUPERSCRIPT_Y      : xcb_atom_enum_t = 0x30;
pub const XCB_ATOM_SUBSCRIPT_X        : xcb_atom_enum_t = 0x31;
pub const XCB_ATOM_SUBSCRIPT_Y        : xcb_atom_enum_t = 0x32;
pub const XCB_ATOM_UNDERLINE_POSITION : xcb_atom_enum_t = 0x33;
pub const XCB_ATOM_UNDERLINE_THICKNESS: xcb_atom_enum_t = 0x34;
pub const XCB_ATOM_STRIKEOUT_ASCENT   : xcb_atom_enum_t = 0x35;
pub const XCB_ATOM_STRIKEOUT_DESCENT  : xcb_atom_enum_t = 0x36;
pub const XCB_ATOM_ITALIC_ANGLE       : xcb_atom_enum_t = 0x37;
pub const XCB_ATOM_X_HEIGHT           : xcb_atom_enum_t = 0x38;
pub const XCB_ATOM_QUAD_WIDTH         : xcb_atom_enum_t = 0x39;
pub const XCB_ATOM_WEIGHT             : xcb_atom_enum_t = 0x3a;
pub const XCB_ATOM_POINT_SIZE         : xcb_atom_enum_t = 0x3b;
pub const XCB_ATOM_RESOLUTION         : xcb_atom_enum_t = 0x3c;
pub const XCB_ATOM_COPYRIGHT          : xcb_atom_enum_t = 0x3d;
pub const XCB_ATOM_NOTICE             : xcb_atom_enum_t = 0x3e;
pub const XCB_ATOM_FONT_NAME          : xcb_atom_enum_t = 0x3f;
pub const XCB_ATOM_FAMILY_NAME        : xcb_atom_enum_t = 0x40;
pub const XCB_ATOM_FULL_NAME          : xcb_atom_enum_t = 0x41;
pub const XCB_ATOM_CAP_HEIGHT         : xcb_atom_enum_t = 0x42;
pub const XCB_ATOM_WM_CLASS           : xcb_atom_enum_t = 0x43;
pub const XCB_ATOM_WM_TRANSIENT_FOR   : xcb_atom_enum_t = 0x44;
pub const XCB_SELECTION_REQUEST: u8 = 30;
#[repr(C)]
pub struct xcb_selection_request_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub time:          xcb_timestamp_t,
    pub owner:         xcb_window_t,
    pub requestor:     xcb_window_t,
    pub selection:     xcb_atom_t,
    pub target:        xcb_atom_t,
    pub property:      xcb_atom_t,
}
impl Copy for xcb_selection_request_event_t {}
impl Clone for xcb_selection_request_event_t {
    fn clone(&self) -> xcb_selection_request_event_t { *self }
}
pub const XCB_SELECTION_NOTIFY: u8 = 31;
#[repr(C)]
pub struct xcb_selection_notify_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub time:          xcb_timestamp_t,
    pub requestor:     xcb_window_t,
    pub selection:     xcb_atom_t,
    pub target:        xcb_atom_t,
    pub property:      xcb_atom_t,
}
impl Copy for xcb_selection_notify_event_t {}
impl Clone for xcb_selection_notify_event_t {
    fn clone(&self) -> xcb_selection_notify_event_t { *self }
}
pub type xcb_colormap_state_t = u32;
pub const XCB_COLORMAP_STATE_UNINSTALLED: xcb_colormap_state_t = 0x00;
pub const XCB_COLORMAP_STATE_INSTALLED  : xcb_colormap_state_t = 0x01;
pub type xcb_colormap_enum_t = u32;
pub const XCB_COLORMAP_NONE: xcb_colormap_enum_t = 0x00;
pub const XCB_COLORMAP_NOTIFY: u8 = 32;
#[repr(C)]
pub struct xcb_colormap_notify_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    
    pub window:        xcb_window_t,
    
    
    pub colormap:      xcb_colormap_t,
    pub new_:          u8,
    
    pub state:         u8,
    pub pad1:          [u8; 2],
}
impl Copy for xcb_colormap_notify_event_t {}
impl Clone for xcb_colormap_notify_event_t {
    fn clone(&self) -> xcb_colormap_notify_event_t { *self }
}
#[repr(C)]
pub struct xcb_client_message_data_t {
    pub data: [u8; 20]
}
impl Copy for xcb_client_message_data_t {}
impl Clone for xcb_client_message_data_t {
    fn clone(&self) -> xcb_client_message_data_t { *self }
}
#[repr(C)]
pub struct xcb_client_message_data_iterator_t {
    pub data:  *mut xcb_client_message_data_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub const XCB_CLIENT_MESSAGE: u8 = 33;
#[repr(C)]
pub struct xcb_client_message_event_t {
    pub response_type: u8,
    
    pub format:        u8,
    pub sequence:      u16,
    pub window:        xcb_window_t,
    
    
    pub type_:         xcb_atom_t,
    
    pub data:          xcb_client_message_data_t,
}
impl Copy for xcb_client_message_event_t {}
impl Clone for xcb_client_message_event_t {
    fn clone(&self) -> xcb_client_message_event_t { *self }
}
pub type xcb_mapping_t = u32;
pub const XCB_MAPPING_MODIFIER: xcb_mapping_t = 0x00;
pub const XCB_MAPPING_KEYBOARD: xcb_mapping_t = 0x01;
pub const XCB_MAPPING_POINTER : xcb_mapping_t = 0x02;
pub const XCB_MAPPING_NOTIFY: u8 = 34;
#[repr(C)]
pub struct xcb_mapping_notify_event_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    
    pub request:       u8,
    
    pub first_keycode: xcb_keycode_t,
    
    pub count:         u8,
    pub pad1:          u8,
}
impl Copy for xcb_mapping_notify_event_t {}
impl Clone for xcb_mapping_notify_event_t {
    fn clone(&self) -> xcb_mapping_notify_event_t { *self }
}
pub const XCB_GE_GENERIC: u8 = 35;
#[repr(C)]
pub struct xcb_ge_generic_event_t {
    pub response_type: u8,
    
    pub extension:     u8,
    pub sequence:      u16,
    
    pub length:        u32,
    pub event_type:    u16,
    pub pad0:          [u8; 22],
    pub full_sequence: u32,
}
impl Copy for xcb_ge_generic_event_t {}
impl Clone for xcb_ge_generic_event_t {
    fn clone(&self) -> xcb_ge_generic_event_t { *self }
}
pub const XCB_REQUEST: u8 = 1;
#[repr(C)]
pub struct xcb_request_error_t {
    pub response_type: u8,
    pub error_code:    u8,
    pub sequence:      u16,
    pub bad_value:     u32,
    pub minor_opcode:  u16,
    pub major_opcode:  u8,
    pub pad0:          u8,
}
impl Copy for xcb_request_error_t {}
impl Clone for xcb_request_error_t {
    fn clone(&self) -> xcb_request_error_t { *self }
}
pub const XCB_VALUE: u8 = 2;
#[repr(C)]
pub struct xcb_value_error_t {
    pub response_type: u8,
    pub error_code:    u8,
    pub sequence:      u16,
    pub bad_value:     u32,
    pub minor_opcode:  u16,
    pub major_opcode:  u8,
    pub pad0:          u8,
}
impl Copy for xcb_value_error_t {}
impl Clone for xcb_value_error_t {
    fn clone(&self) -> xcb_value_error_t { *self }
}
pub const XCB_WINDOW: u8 = 3;
pub type xcb_window_error_t = xcb_value_error_t;
pub const XCB_PIXMAP: u8 = 4;
pub type xcb_pixmap_error_t = xcb_value_error_t;
pub const XCB_ATOM: u8 = 5;
pub type xcb_atom_error_t = xcb_value_error_t;
pub const XCB_CURSOR: u8 = 6;
pub type xcb_cursor_error_t = xcb_value_error_t;
pub const XCB_FONT: u8 = 7;
pub type xcb_font_error_t = xcb_value_error_t;
pub const XCB_MATCH: u8 = 8;
pub type xcb_match_error_t = xcb_request_error_t;
pub const XCB_DRAWABLE: u8 = 9;
pub type xcb_drawable_error_t = xcb_value_error_t;
pub const XCB_ACCESS: u8 = 10;
pub type xcb_access_error_t = xcb_request_error_t;
pub const XCB_ALLOC: u8 = 11;
pub type xcb_alloc_error_t = xcb_request_error_t;
pub const XCB_COLORMAP: u8 = 12;
pub type xcb_colormap_error_t = xcb_value_error_t;
pub const XCB_G_CONTEXT: u8 = 13;
pub type xcb_g_context_error_t = xcb_value_error_t;
pub const XCB_ID_CHOICE: u8 = 14;
pub type xcb_id_choice_error_t = xcb_value_error_t;
pub const XCB_NAME: u8 = 15;
pub type xcb_name_error_t = xcb_request_error_t;
pub const XCB_LENGTH: u8 = 16;
pub type xcb_length_error_t = xcb_request_error_t;
pub const XCB_IMPLEMENTATION: u8 = 17;
pub type xcb_implementation_error_t = xcb_request_error_t;
pub type xcb_window_class_t = u32;
pub const XCB_WINDOW_CLASS_COPY_FROM_PARENT: xcb_window_class_t = 0x00;
pub const XCB_WINDOW_CLASS_INPUT_OUTPUT    : xcb_window_class_t = 0x01;
pub const XCB_WINDOW_CLASS_INPUT_ONLY      : xcb_window_class_t = 0x02;
pub type xcb_cw_t = u32;
pub const XCB_CW_BACK_PIXMAP      : xcb_cw_t =   0x01;
pub const XCB_CW_BACK_PIXEL       : xcb_cw_t =   0x02;
pub const XCB_CW_BORDER_PIXMAP    : xcb_cw_t =   0x04;
pub const XCB_CW_BORDER_PIXEL     : xcb_cw_t =   0x08;
pub const XCB_CW_BIT_GRAVITY      : xcb_cw_t =   0x10;
pub const XCB_CW_WIN_GRAVITY      : xcb_cw_t =   0x20;
pub const XCB_CW_BACKING_STORE    : xcb_cw_t =   0x40;
pub const XCB_CW_BACKING_PLANES   : xcb_cw_t =   0x80;
pub const XCB_CW_BACKING_PIXEL    : xcb_cw_t =  0x100;
pub const XCB_CW_OVERRIDE_REDIRECT: xcb_cw_t =  0x200;
pub const XCB_CW_SAVE_UNDER       : xcb_cw_t =  0x400;
pub const XCB_CW_EVENT_MASK       : xcb_cw_t =  0x800;
pub const XCB_CW_DONT_PROPAGATE   : xcb_cw_t = 0x1000;
pub const XCB_CW_COLORMAP         : xcb_cw_t = 0x2000;
pub const XCB_CW_CURSOR           : xcb_cw_t = 0x4000;
pub type xcb_back_pixmap_t = u32;
pub const XCB_BACK_PIXMAP_NONE           : xcb_back_pixmap_t = 0x00;
pub const XCB_BACK_PIXMAP_PARENT_RELATIVE: xcb_back_pixmap_t = 0x01;
pub type xcb_gravity_t = u32;
pub const XCB_GRAVITY_BIT_FORGET: xcb_gravity_t = 0x00;
pub const XCB_GRAVITY_WIN_UNMAP : xcb_gravity_t = 0x00;
pub const XCB_GRAVITY_NORTH_WEST: xcb_gravity_t = 0x01;
pub const XCB_GRAVITY_NORTH     : xcb_gravity_t = 0x02;
pub const XCB_GRAVITY_NORTH_EAST: xcb_gravity_t = 0x03;
pub const XCB_GRAVITY_WEST      : xcb_gravity_t = 0x04;
pub const XCB_GRAVITY_CENTER    : xcb_gravity_t = 0x05;
pub const XCB_GRAVITY_EAST      : xcb_gravity_t = 0x06;
pub const XCB_GRAVITY_SOUTH_WEST: xcb_gravity_t = 0x07;
pub const XCB_GRAVITY_SOUTH     : xcb_gravity_t = 0x08;
pub const XCB_GRAVITY_SOUTH_EAST: xcb_gravity_t = 0x09;
pub const XCB_GRAVITY_STATIC    : xcb_gravity_t = 0x0a;
pub const XCB_CREATE_WINDOW: u8 = 1;
#[repr(C)]
pub struct xcb_create_window_request_t {
    pub major_opcode: u8,
    
    
    
    
    pub depth:        u8,
    pub length:       u16,
    
    
    pub wid:          xcb_window_t,
    
    pub parent:       xcb_window_t,
    
    pub x:            i16,
    
    pub y:            i16,
    
    pub width:        u16,
    
    pub height:       u16,
    
    
    
    pub border_width: u16,
    
    pub class:        u16,
    
    
    
    
    pub visual:       xcb_visualid_t,
    pub value_mask:   u32,
}
pub const XCB_CHANGE_WINDOW_ATTRIBUTES: u8 = 2;
#[repr(C)]
pub struct xcb_change_window_attributes_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
    
    pub value_mask:   u32,
}
pub type xcb_map_state_t = u32;
pub const XCB_MAP_STATE_UNMAPPED  : xcb_map_state_t = 0x00;
pub const XCB_MAP_STATE_UNVIEWABLE: xcb_map_state_t = 0x01;
pub const XCB_MAP_STATE_VIEWABLE  : xcb_map_state_t = 0x02;
pub const XCB_GET_WINDOW_ATTRIBUTES: u8 = 3;
#[repr(C)]
pub struct xcb_get_window_attributes_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
}
impl Copy for xcb_get_window_attributes_request_t {}
impl Clone for xcb_get_window_attributes_request_t {
    fn clone(&self) -> xcb_get_window_attributes_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_window_attributes_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_window_attributes_reply_t {
    pub response_type:         u8,
    
    pub backing_store:         u8,
    pub sequence:              u16,
    pub length:                u32,
    
    pub visual:                xcb_visualid_t,
    
    pub class:                 u16,
    
    pub bit_gravity:           u8,
    
    pub win_gravity:           u8,
    
    pub backing_planes:        u32,
    
    pub backing_pixel:         u32,
    
    pub save_under:            u8,
    pub map_is_installed:      u8,
    
    pub map_state:             u8,
    
    pub override_redirect:     u8,
    
    pub colormap:              xcb_colormap_t,
    
    pub all_event_masks:       u32,
    
    pub your_event_mask:       u32,
    
    pub do_not_propagate_mask: u16,
    pub pad0:                  [u8; 2],
}
impl Copy for xcb_get_window_attributes_reply_t {}
impl Clone for xcb_get_window_attributes_reply_t {
    fn clone(&self) -> xcb_get_window_attributes_reply_t { *self }
}
pub const XCB_DESTROY_WINDOW: u8 = 4;
#[repr(C)]
pub struct xcb_destroy_window_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
}
impl Copy for xcb_destroy_window_request_t {}
impl Clone for xcb_destroy_window_request_t {
    fn clone(&self) -> xcb_destroy_window_request_t { *self }
}
pub const XCB_DESTROY_SUBWINDOWS: u8 = 5;
#[repr(C)]
pub struct xcb_destroy_subwindows_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub window:       xcb_window_t,
}
impl Copy for xcb_destroy_subwindows_request_t {}
impl Clone for xcb_destroy_subwindows_request_t {
    fn clone(&self) -> xcb_destroy_subwindows_request_t { *self }
}
pub type xcb_set_mode_t = u32;
pub const XCB_SET_MODE_INSERT: xcb_set_mode_t = 0x00;
pub const XCB_SET_MODE_DELETE: xcb_set_mode_t = 0x01;
pub const XCB_CHANGE_SAVE_SET: u8 = 6;
#[repr(C)]
pub struct xcb_change_save_set_request_t {
    pub major_opcode: u8,
    
    pub mode:         u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
}
impl Copy for xcb_change_save_set_request_t {}
impl Clone for xcb_change_save_set_request_t {
    fn clone(&self) -> xcb_change_save_set_request_t { *self }
}
pub const XCB_REPARENT_WINDOW: u8 = 7;
#[repr(C)]
pub struct xcb_reparent_window_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
    
    pub parent:       xcb_window_t,
    
    pub x:            i16,
    
    pub y:            i16,
}
impl Copy for xcb_reparent_window_request_t {}
impl Clone for xcb_reparent_window_request_t {
    fn clone(&self) -> xcb_reparent_window_request_t { *self }
}
pub const XCB_MAP_WINDOW: u8 = 8;
#[repr(C)]
pub struct xcb_map_window_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
}
impl Copy for xcb_map_window_request_t {}
impl Clone for xcb_map_window_request_t {
    fn clone(&self) -> xcb_map_window_request_t { *self }
}
pub const XCB_MAP_SUBWINDOWS: u8 = 9;
#[repr(C)]
pub struct xcb_map_subwindows_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub window:       xcb_window_t,
}
impl Copy for xcb_map_subwindows_request_t {}
impl Clone for xcb_map_subwindows_request_t {
    fn clone(&self) -> xcb_map_subwindows_request_t { *self }
}
pub const XCB_UNMAP_WINDOW: u8 = 10;
#[repr(C)]
pub struct xcb_unmap_window_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
}
impl Copy for xcb_unmap_window_request_t {}
impl Clone for xcb_unmap_window_request_t {
    fn clone(&self) -> xcb_unmap_window_request_t { *self }
}
pub const XCB_UNMAP_SUBWINDOWS: u8 = 11;
#[repr(C)]
pub struct xcb_unmap_subwindows_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub window:       xcb_window_t,
}
impl Copy for xcb_unmap_subwindows_request_t {}
impl Clone for xcb_unmap_subwindows_request_t {
    fn clone(&self) -> xcb_unmap_subwindows_request_t { *self }
}
pub type xcb_config_window_t = u32;
pub const XCB_CONFIG_WINDOW_X           : xcb_config_window_t = 0x01;
pub const XCB_CONFIG_WINDOW_Y           : xcb_config_window_t = 0x02;
pub const XCB_CONFIG_WINDOW_WIDTH       : xcb_config_window_t = 0x04;
pub const XCB_CONFIG_WINDOW_HEIGHT      : xcb_config_window_t = 0x08;
pub const XCB_CONFIG_WINDOW_BORDER_WIDTH: xcb_config_window_t = 0x10;
pub const XCB_CONFIG_WINDOW_SIBLING     : xcb_config_window_t = 0x20;
pub const XCB_CONFIG_WINDOW_STACK_MODE  : xcb_config_window_t = 0x40;
pub type xcb_stack_mode_t = u32;
pub const XCB_STACK_MODE_ABOVE    : xcb_stack_mode_t = 0x00;
pub const XCB_STACK_MODE_BELOW    : xcb_stack_mode_t = 0x01;
pub const XCB_STACK_MODE_TOP_IF   : xcb_stack_mode_t = 0x02;
pub const XCB_STACK_MODE_BOTTOM_IF: xcb_stack_mode_t = 0x03;
pub const XCB_STACK_MODE_OPPOSITE : xcb_stack_mode_t = 0x04;
pub const XCB_CONFIGURE_WINDOW: u8 = 12;
#[repr(C)]
pub struct xcb_configure_window_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
    
    pub value_mask:   u16,
    pub pad1:         [u8; 2],
}
pub type xcb_circulate_t = u32;
pub const XCB_CIRCULATE_RAISE_LOWEST : xcb_circulate_t = 0x00;
pub const XCB_CIRCULATE_LOWER_HIGHEST: xcb_circulate_t = 0x01;
pub const XCB_CIRCULATE_WINDOW: u8 = 13;
#[repr(C)]
pub struct xcb_circulate_window_request_t {
    pub major_opcode: u8,
    
    pub direction:    u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
}
impl Copy for xcb_circulate_window_request_t {}
impl Clone for xcb_circulate_window_request_t {
    fn clone(&self) -> xcb_circulate_window_request_t { *self }
}
pub const XCB_GET_GEOMETRY: u8 = 14;
#[repr(C)]
pub struct xcb_get_geometry_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub drawable:     xcb_drawable_t,
}
impl Copy for xcb_get_geometry_request_t {}
impl Clone for xcb_get_geometry_request_t {
    fn clone(&self) -> xcb_get_geometry_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_geometry_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_geometry_reply_t {
    pub response_type: u8,
    
    pub depth:         u8,
    pub sequence:      u16,
    pub length:        u32,
    
    pub root:          xcb_window_t,
    
    
    
    pub x:             i16,
    
    
    
    pub y:             i16,
    
    pub width:         u16,
    
    pub height:        u16,
    
    pub border_width:  u16,
    pub pad0:          [u8; 2],
}
impl Copy for xcb_get_geometry_reply_t {}
impl Clone for xcb_get_geometry_reply_t {
    fn clone(&self) -> xcb_get_geometry_reply_t { *self }
}
pub const XCB_QUERY_TREE: u8 = 15;
#[repr(C)]
pub struct xcb_query_tree_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
}
impl Copy for xcb_query_tree_request_t {}
impl Clone for xcb_query_tree_request_t {
    fn clone(&self) -> xcb_query_tree_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_query_tree_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_query_tree_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    
    pub root:          xcb_window_t,
    
    pub parent:        xcb_window_t,
    
    pub children_len:  u16,
    pub pad1:          [u8; 14],
}
pub const XCB_INTERN_ATOM: u8 = 16;
#[repr(C)]
pub struct xcb_intern_atom_request_t {
    pub major_opcode:   u8,
    
    pub only_if_exists: u8,
    pub length:         u16,
    
    pub name_len:       u16,
    pub pad0:           [u8; 2],
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_intern_atom_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_intern_atom_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub atom:          xcb_atom_t,
}
impl Copy for xcb_intern_atom_reply_t {}
impl Clone for xcb_intern_atom_reply_t {
    fn clone(&self) -> xcb_intern_atom_reply_t { *self }
}
pub const XCB_GET_ATOM_NAME: u8 = 17;
#[repr(C)]
pub struct xcb_get_atom_name_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub atom:         xcb_atom_t,
}
impl Copy for xcb_get_atom_name_request_t {}
impl Clone for xcb_get_atom_name_request_t {
    fn clone(&self) -> xcb_get_atom_name_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_atom_name_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_atom_name_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub name_len:      u16,
    pub pad1:          [u8; 22],
}
pub type xcb_prop_mode_t = u32;
pub const XCB_PROP_MODE_REPLACE: xcb_prop_mode_t = 0x00;
pub const XCB_PROP_MODE_PREPEND: xcb_prop_mode_t = 0x01;
pub const XCB_PROP_MODE_APPEND : xcb_prop_mode_t = 0x02;
pub const XCB_CHANGE_PROPERTY: u8 = 18;
#[repr(C)]
pub struct xcb_change_property_request_t {
    pub major_opcode: u8,
    
    pub mode:         u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
    
    pub property:     xcb_atom_t,
    
    pub type_:        xcb_atom_t,
    
    
    
    pub format:       u8,
    pub pad0:         [u8; 3],
    
    pub data_len:     u32,
}
pub const XCB_DELETE_PROPERTY: u8 = 19;
#[repr(C)]
pub struct xcb_delete_property_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub window:       xcb_window_t,
    pub property:     xcb_atom_t,
}
impl Copy for xcb_delete_property_request_t {}
impl Clone for xcb_delete_property_request_t {
    fn clone(&self) -> xcb_delete_property_request_t { *self }
}
pub type xcb_get_property_type_t = u32;
pub const XCB_GET_PROPERTY_TYPE_ANY: xcb_get_property_type_t = 0x00;
pub const XCB_GET_PROPERTY: u8 = 20;
#[repr(C)]
pub struct xcb_get_property_request_t {
    pub major_opcode: u8,
    
    
    pub delete:       u8,
    pub length:       u16,
    
    pub window:       xcb_window_t,
    
    pub property:     xcb_atom_t,
    
    pub type_:        xcb_atom_t,
    
    
    pub long_offset:  u32,
    
    
    pub long_length:  u32,
}
impl Copy for xcb_get_property_request_t {}
impl Clone for xcb_get_property_request_t {
    fn clone(&self) -> xcb_get_property_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_property_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_property_reply_t {
    pub response_type: u8,
    
    
    
    pub format:        u8,
    pub sequence:      u16,
    pub length:        u32,
    
    pub type_:         xcb_atom_t,
    
    
    pub bytes_after:   u32,
    
    
    pub value_len:     u32,
    pub pad0:          [u8; 12],
}
pub const XCB_LIST_PROPERTIES: u8 = 21;
#[repr(C)]
pub struct xcb_list_properties_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub window:       xcb_window_t,
}
impl Copy for xcb_list_properties_request_t {}
impl Clone for xcb_list_properties_request_t {
    fn clone(&self) -> xcb_list_properties_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_list_properties_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_list_properties_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub atoms_len:     u16,
    pub pad1:          [u8; 22],
}
pub const XCB_SET_SELECTION_OWNER: u8 = 22;
#[repr(C)]
pub struct xcb_set_selection_owner_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    
    
    pub owner:        xcb_window_t,
    
    pub selection:    xcb_atom_t,
    
    
    
    
    
    
    
    
    pub time:         xcb_timestamp_t,
}
impl Copy for xcb_set_selection_owner_request_t {}
impl Clone for xcb_set_selection_owner_request_t {
    fn clone(&self) -> xcb_set_selection_owner_request_t { *self }
}
pub const XCB_GET_SELECTION_OWNER: u8 = 23;
#[repr(C)]
pub struct xcb_get_selection_owner_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub selection:    xcb_atom_t,
}
impl Copy for xcb_get_selection_owner_request_t {}
impl Clone for xcb_get_selection_owner_request_t {
    fn clone(&self) -> xcb_get_selection_owner_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_selection_owner_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_selection_owner_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    
    pub owner:         xcb_window_t,
}
impl Copy for xcb_get_selection_owner_reply_t {}
impl Clone for xcb_get_selection_owner_reply_t {
    fn clone(&self) -> xcb_get_selection_owner_reply_t { *self }
}
pub const XCB_CONVERT_SELECTION: u8 = 24;
#[repr(C)]
pub struct xcb_convert_selection_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub requestor:    xcb_window_t,
    pub selection:    xcb_atom_t,
    pub target:       xcb_atom_t,
    pub property:     xcb_atom_t,
    pub time:         xcb_timestamp_t,
}
impl Copy for xcb_convert_selection_request_t {}
impl Clone for xcb_convert_selection_request_t {
    fn clone(&self) -> xcb_convert_selection_request_t { *self }
}
pub type xcb_send_event_dest_t = u32;
pub const XCB_SEND_EVENT_DEST_POINTER_WINDOW: xcb_send_event_dest_t = 0x00;
pub const XCB_SEND_EVENT_DEST_ITEM_FOCUS    : xcb_send_event_dest_t = 0x01;
pub const XCB_SEND_EVENT: u8 = 25;
#[repr(C)]
pub struct xcb_send_event_request_t {
    pub major_opcode: u8,
    
    
    
    
    
    
    
    
    pub propagate:    u8,
    pub length:       u16,
    
    
    
    
    
    
    
    
    pub destination:  xcb_window_t,
    
    
    pub event_mask:   u32,
    
    pub event:        [c_char; 32],
}
impl Copy for xcb_send_event_request_t {}
impl Clone for xcb_send_event_request_t {
    fn clone(&self) -> xcb_send_event_request_t { *self }
}
pub type xcb_grab_mode_t = u32;
pub const XCB_GRAB_MODE_SYNC : xcb_grab_mode_t = 0x00;
pub const XCB_GRAB_MODE_ASYNC: xcb_grab_mode_t = 0x01;
pub type xcb_grab_status_t = u32;
pub const XCB_GRAB_STATUS_SUCCESS        : xcb_grab_status_t = 0x00;
pub const XCB_GRAB_STATUS_ALREADY_GRABBED: xcb_grab_status_t = 0x01;
pub const XCB_GRAB_STATUS_INVALID_TIME   : xcb_grab_status_t = 0x02;
pub const XCB_GRAB_STATUS_NOT_VIEWABLE   : xcb_grab_status_t = 0x03;
pub const XCB_GRAB_STATUS_FROZEN         : xcb_grab_status_t = 0x04;
pub type xcb_cursor_enum_t = u32;
pub const XCB_CURSOR_NONE: xcb_cursor_enum_t = 0x00;
pub const XCB_GRAB_POINTER: u8 = 26;
#[repr(C)]
pub struct xcb_grab_pointer_request_t {
    pub major_opcode:  u8,
    
    
    pub owner_events:  u8,
    pub length:        u16,
    
    pub grab_window:   xcb_window_t,
    
    
    
    pub event_mask:    u16,
    
    pub pointer_mode:  u8,
    
    pub keyboard_mode: u8,
    
    
    
    
    pub confine_to:    xcb_window_t,
    
    
    pub cursor:        xcb_cursor_t,
    
    
    
    
    
    
    
    
    
    
    
    pub time:          xcb_timestamp_t,
}
impl Copy for xcb_grab_pointer_request_t {}
impl Clone for xcb_grab_pointer_request_t {
    fn clone(&self) -> xcb_grab_pointer_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_grab_pointer_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_grab_pointer_reply_t {
    pub response_type: u8,
    pub status:        u8,
    pub sequence:      u16,
    pub length:        u32,
}
impl Copy for xcb_grab_pointer_reply_t {}
impl Clone for xcb_grab_pointer_reply_t {
    fn clone(&self) -> xcb_grab_pointer_reply_t { *self }
}
pub const XCB_UNGRAB_POINTER: u8 = 27;
#[repr(C)]
pub struct xcb_ungrab_pointer_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    
    
    
    pub time:         xcb_timestamp_t,
}
impl Copy for xcb_ungrab_pointer_request_t {}
impl Clone for xcb_ungrab_pointer_request_t {
    fn clone(&self) -> xcb_ungrab_pointer_request_t { *self }
}
pub type xcb_button_index_t = u32;
pub const XCB_BUTTON_INDEX_ANY: xcb_button_index_t = 0x00;
pub const XCB_BUTTON_INDEX_1  : xcb_button_index_t = 0x01;
pub const XCB_BUTTON_INDEX_2  : xcb_button_index_t = 0x02;
pub const XCB_BUTTON_INDEX_3  : xcb_button_index_t = 0x03;
pub const XCB_BUTTON_INDEX_4  : xcb_button_index_t = 0x04;
pub const XCB_BUTTON_INDEX_5  : xcb_button_index_t = 0x05;
pub const XCB_GRAB_BUTTON: u8 = 28;
#[repr(C)]
pub struct xcb_grab_button_request_t {
    pub major_opcode:  u8,
    
    
    pub owner_events:  u8,
    pub length:        u16,
    
    pub grab_window:   xcb_window_t,
    
    
    
    pub event_mask:    u16,
    
    pub pointer_mode:  u8,
    
    pub keyboard_mode: u8,
    
    
    
    
    pub confine_to:    xcb_window_t,
    
    
    pub cursor:        xcb_cursor_t,
    
    pub button:        u8,
    pub pad0:          u8,
    
    
    
    
    pub modifiers:     u16,
}
impl Copy for xcb_grab_button_request_t {}
impl Clone for xcb_grab_button_request_t {
    fn clone(&self) -> xcb_grab_button_request_t { *self }
}
pub const XCB_UNGRAB_BUTTON: u8 = 29;
#[repr(C)]
pub struct xcb_ungrab_button_request_t {
    pub major_opcode: u8,
    pub button:       u8,
    pub length:       u16,
    pub grab_window:  xcb_window_t,
    pub modifiers:    u16,
    pub pad0:         [u8; 2],
}
impl Copy for xcb_ungrab_button_request_t {}
impl Clone for xcb_ungrab_button_request_t {
    fn clone(&self) -> xcb_ungrab_button_request_t { *self }
}
pub const XCB_CHANGE_ACTIVE_POINTER_GRAB: u8 = 30;
#[repr(C)]
pub struct xcb_change_active_pointer_grab_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub cursor:       xcb_cursor_t,
    pub time:         xcb_timestamp_t,
    pub event_mask:   u16,
    pub pad1:         [u8; 2],
}
impl Copy for xcb_change_active_pointer_grab_request_t {}
impl Clone for xcb_change_active_pointer_grab_request_t {
    fn clone(&self) -> xcb_change_active_pointer_grab_request_t { *self }
}
pub const XCB_GRAB_KEYBOARD: u8 = 31;
#[repr(C)]
pub struct xcb_grab_keyboard_request_t {
    pub major_opcode:  u8,
    
    
    pub owner_events:  u8,
    pub length:        u16,
    
    pub grab_window:   xcb_window_t,
    
    
    
    
    pub time:          xcb_timestamp_t,
    
    pub pointer_mode:  u8,
    
    pub keyboard_mode: u8,
    pub pad0:          [u8; 2],
}
impl Copy for xcb_grab_keyboard_request_t {}
impl Clone for xcb_grab_keyboard_request_t {
    fn clone(&self) -> xcb_grab_keyboard_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_grab_keyboard_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_grab_keyboard_reply_t {
    pub response_type: u8,
    pub status:        u8,
    pub sequence:      u16,
    pub length:        u32,
}
impl Copy for xcb_grab_keyboard_reply_t {}
impl Clone for xcb_grab_keyboard_reply_t {
    fn clone(&self) -> xcb_grab_keyboard_reply_t { *self }
}
pub const XCB_UNGRAB_KEYBOARD: u8 = 32;
#[repr(C)]
pub struct xcb_ungrab_keyboard_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub time:         xcb_timestamp_t,
}
impl Copy for xcb_ungrab_keyboard_request_t {}
impl Clone for xcb_ungrab_keyboard_request_t {
    fn clone(&self) -> xcb_ungrab_keyboard_request_t { *self }
}
pub type xcb_grab_t = u32;
pub const XCB_GRAB_ANY: xcb_grab_t = 0x00;
pub const XCB_GRAB_KEY: u8 = 33;
#[repr(C)]
pub struct xcb_grab_key_request_t {
    pub major_opcode:  u8,
    
    
    pub owner_events:  u8,
    pub length:        u16,
    
    pub grab_window:   xcb_window_t,
    
    
    
    
    pub modifiers:     u16,
    
    
    
    pub key:           xcb_keycode_t,
    
    pub pointer_mode:  u8,
    
    pub keyboard_mode: u8,
    pub pad0:          [u8; 3],
}
impl Copy for xcb_grab_key_request_t {}
impl Clone for xcb_grab_key_request_t {
    fn clone(&self) -> xcb_grab_key_request_t { *self }
}
pub const XCB_UNGRAB_KEY: u8 = 34;
#[repr(C)]
pub struct xcb_ungrab_key_request_t {
    pub major_opcode: u8,
    
    
    
    pub key:          xcb_keycode_t,
    pub length:       u16,
    
    pub grab_window:  xcb_window_t,
    
    
    
    
    pub modifiers:    u16,
    pub pad0:         [u8; 2],
}
impl Copy for xcb_ungrab_key_request_t {}
impl Clone for xcb_ungrab_key_request_t {
    fn clone(&self) -> xcb_ungrab_key_request_t { *self }
}
pub type xcb_allow_t = u32;
pub const XCB_ALLOW_ASYNC_POINTER  : xcb_allow_t = 0x00;
pub const XCB_ALLOW_SYNC_POINTER   : xcb_allow_t = 0x01;
pub const XCB_ALLOW_REPLAY_POINTER : xcb_allow_t = 0x02;
pub const XCB_ALLOW_ASYNC_KEYBOARD : xcb_allow_t = 0x03;
pub const XCB_ALLOW_SYNC_KEYBOARD  : xcb_allow_t = 0x04;
pub const XCB_ALLOW_REPLAY_KEYBOARD: xcb_allow_t = 0x05;
pub const XCB_ALLOW_ASYNC_BOTH     : xcb_allow_t = 0x06;
pub const XCB_ALLOW_SYNC_BOTH      : xcb_allow_t = 0x07;
pub const XCB_ALLOW_EVENTS: u8 = 35;
#[repr(C)]
pub struct xcb_allow_events_request_t {
    pub major_opcode: u8,
    
    pub mode:         u8,
    pub length:       u16,
    
    
    
    
    pub time:         xcb_timestamp_t,
}
impl Copy for xcb_allow_events_request_t {}
impl Clone for xcb_allow_events_request_t {
    fn clone(&self) -> xcb_allow_events_request_t { *self }
}
pub const XCB_GRAB_SERVER: u8 = 36;
#[repr(C)]
pub struct xcb_grab_server_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_grab_server_request_t {}
impl Clone for xcb_grab_server_request_t {
    fn clone(&self) -> xcb_grab_server_request_t { *self }
}
pub const XCB_UNGRAB_SERVER: u8 = 37;
#[repr(C)]
pub struct xcb_ungrab_server_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_ungrab_server_request_t {}
impl Clone for xcb_ungrab_server_request_t {
    fn clone(&self) -> xcb_ungrab_server_request_t { *self }
}
pub const XCB_QUERY_POINTER: u8 = 38;
#[repr(C)]
pub struct xcb_query_pointer_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    
    pub window:       xcb_window_t,
}
impl Copy for xcb_query_pointer_request_t {}
impl Clone for xcb_query_pointer_request_t {
    fn clone(&self) -> xcb_query_pointer_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_query_pointer_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_query_pointer_reply_t {
    pub response_type: u8,
    
    
    
    
    
    pub same_screen:   u8,
    pub sequence:      u16,
    pub length:        u32,
    
    pub root:          xcb_window_t,
    
    
    pub child:         xcb_window_t,
    
    pub root_x:        i16,
    
    pub root_y:        i16,
    
    
    pub win_x:         i16,
    
    
    pub win_y:         i16,
    
    
    
    pub mask:          u16,
    pub pad0:          [u8; 2],
}
impl Copy for xcb_query_pointer_reply_t {}
impl Clone for xcb_query_pointer_reply_t {
    fn clone(&self) -> xcb_query_pointer_reply_t { *self }
}
#[repr(C)]
pub struct xcb_timecoord_t {
    pub time: xcb_timestamp_t,
    pub x:    i16,
    pub y:    i16,
}
impl Copy for xcb_timecoord_t {}
impl Clone for xcb_timecoord_t {
    fn clone(&self) -> xcb_timecoord_t { *self }
}
#[repr(C)]
pub struct xcb_timecoord_iterator_t {
    pub data:  *mut xcb_timecoord_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub const XCB_GET_MOTION_EVENTS: u8 = 39;
#[repr(C)]
pub struct xcb_get_motion_events_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub window:       xcb_window_t,
    pub start:        xcb_timestamp_t,
    pub stop:         xcb_timestamp_t,
}
impl Copy for xcb_get_motion_events_request_t {}
impl Clone for xcb_get_motion_events_request_t {
    fn clone(&self) -> xcb_get_motion_events_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_motion_events_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_motion_events_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub events_len:    u32,
    pub pad1:          [u8; 20],
}
pub const XCB_TRANSLATE_COORDINATES: u8 = 40;
#[repr(C)]
pub struct xcb_translate_coordinates_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub src_window:   xcb_window_t,
    pub dst_window:   xcb_window_t,
    pub src_x:        i16,
    pub src_y:        i16,
}
impl Copy for xcb_translate_coordinates_request_t {}
impl Clone for xcb_translate_coordinates_request_t {
    fn clone(&self) -> xcb_translate_coordinates_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_translate_coordinates_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_translate_coordinates_reply_t {
    pub response_type: u8,
    pub same_screen:   u8,
    pub sequence:      u16,
    pub length:        u32,
    pub child:         xcb_window_t,
    pub dst_x:         i16,
    pub dst_y:         i16,
}
impl Copy for xcb_translate_coordinates_reply_t {}
impl Clone for xcb_translate_coordinates_reply_t {
    fn clone(&self) -> xcb_translate_coordinates_reply_t { *self }
}
pub const XCB_WARP_POINTER: u8 = 41;
#[repr(C)]
pub struct xcb_warp_pointer_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    
    
    
    pub src_window:   xcb_window_t,
    
    
    
    
    pub dst_window:   xcb_window_t,
    pub src_x:        i16,
    pub src_y:        i16,
    pub src_width:    u16,
    pub src_height:   u16,
    pub dst_x:        i16,
    pub dst_y:        i16,
}
impl Copy for xcb_warp_pointer_request_t {}
impl Clone for xcb_warp_pointer_request_t {
    fn clone(&self) -> xcb_warp_pointer_request_t { *self }
}
pub type xcb_input_focus_t = u32;
pub const XCB_INPUT_FOCUS_NONE           : xcb_input_focus_t = 0x00;
pub const XCB_INPUT_FOCUS_POINTER_ROOT   : xcb_input_focus_t = 0x01;
pub const XCB_INPUT_FOCUS_PARENT         : xcb_input_focus_t = 0x02;
pub const XCB_INPUT_FOCUS_FOLLOW_KEYBOARD: xcb_input_focus_t = 0x03;
pub const XCB_SET_INPUT_FOCUS: u8 = 42;
#[repr(C)]
pub struct xcb_set_input_focus_request_t {
    pub major_opcode: u8,
    
    
    pub revert_to:    u8,
    pub length:       u16,
    
    
    
    
    
    
    
    
    pub focus:        xcb_window_t,
    
    
    
    
    pub time:         xcb_timestamp_t,
}
impl Copy for xcb_set_input_focus_request_t {}
impl Clone for xcb_set_input_focus_request_t {
    fn clone(&self) -> xcb_set_input_focus_request_t { *self }
}
pub const XCB_GET_INPUT_FOCUS: u8 = 43;
#[repr(C)]
pub struct xcb_get_input_focus_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_get_input_focus_request_t {}
impl Clone for xcb_get_input_focus_request_t {
    fn clone(&self) -> xcb_get_input_focus_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_input_focus_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_input_focus_reply_t {
    pub response_type: u8,
    pub revert_to:     u8,
    pub sequence:      u16,
    pub length:        u32,
    pub focus:         xcb_window_t,
}
impl Copy for xcb_get_input_focus_reply_t {}
impl Clone for xcb_get_input_focus_reply_t {
    fn clone(&self) -> xcb_get_input_focus_reply_t { *self }
}
pub const XCB_QUERY_KEYMAP: u8 = 44;
#[repr(C)]
pub struct xcb_query_keymap_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_query_keymap_request_t {}
impl Clone for xcb_query_keymap_request_t {
    fn clone(&self) -> xcb_query_keymap_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_query_keymap_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_query_keymap_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub keys:          [u8; 32],
}
impl Copy for xcb_query_keymap_reply_t {}
impl Clone for xcb_query_keymap_reply_t {
    fn clone(&self) -> xcb_query_keymap_reply_t { *self }
}
pub const XCB_OPEN_FONT: u8 = 45;
#[repr(C)]
pub struct xcb_open_font_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub fid:          xcb_font_t,
    
    pub name_len:     u16,
    pub pad1:         [u8; 2],
}
pub const XCB_CLOSE_FONT: u8 = 46;
#[repr(C)]
pub struct xcb_close_font_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub font:         xcb_font_t,
}
impl Copy for xcb_close_font_request_t {}
impl Clone for xcb_close_font_request_t {
    fn clone(&self) -> xcb_close_font_request_t { *self }
}
pub type xcb_font_draw_t = u32;
pub const XCB_FONT_DRAW_LEFT_TO_RIGHT: xcb_font_draw_t = 0x00;
pub const XCB_FONT_DRAW_RIGHT_TO_LEFT: xcb_font_draw_t = 0x01;
#[repr(C)]
pub struct xcb_fontprop_t {
    pub name:  xcb_atom_t,
    pub value: u32,
}
impl Copy for xcb_fontprop_t {}
impl Clone for xcb_fontprop_t {
    fn clone(&self) -> xcb_fontprop_t { *self }
}
#[repr(C)]
pub struct xcb_fontprop_iterator_t {
    pub data:  *mut xcb_fontprop_t,
    pub rem:   c_int,
    pub index: c_int,
}
#[repr(C)]
pub struct xcb_charinfo_t {
    pub left_side_bearing:  i16,
    pub right_side_bearing: i16,
    pub character_width:    i16,
    pub ascent:             i16,
    pub descent:            i16,
    pub attributes:         u16,
}
impl Copy for xcb_charinfo_t {}
impl Clone for xcb_charinfo_t {
    fn clone(&self) -> xcb_charinfo_t { *self }
}
#[repr(C)]
pub struct xcb_charinfo_iterator_t {
    pub data:  *mut xcb_charinfo_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub const XCB_QUERY_FONT: u8 = 47;
#[repr(C)]
pub struct xcb_query_font_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub font:         xcb_fontable_t,
}
impl Copy for xcb_query_font_request_t {}
impl Clone for xcb_query_font_request_t {
    fn clone(&self) -> xcb_query_font_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_query_font_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_query_font_reply_t {
    pub response_type:     u8,
    pub pad0:              u8,
    pub sequence:          u16,
    pub length:            u32,
    
    pub min_bounds:        xcb_charinfo_t,
    pub pad1:              [u8; 4],
    
    pub max_bounds:        xcb_charinfo_t,
    pub pad2:              [u8; 4],
    
    pub min_char_or_byte2: u16,
    
    pub max_char_or_byte2: u16,
    
    pub default_char:      u16,
    
    pub properties_len:    u16,
    
    pub draw_direction:    u8,
    pub min_byte1:         u8,
    pub max_byte1:         u8,
    
    pub all_chars_exist:   u8,
    
    pub font_ascent:       i16,
    
    pub font_descent:      i16,
    pub char_infos_len:    u32,
}
pub const XCB_QUERY_TEXT_EXTENTS: u8 = 48;
#[repr(C)]
pub struct xcb_query_text_extents_request_t {
    pub major_opcode: u8,
    pub odd_length:   u8,
    pub length:       u16,
    
    pub font:         xcb_fontable_t,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_query_text_extents_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_query_text_extents_reply_t {
    pub response_type:   u8,
    pub draw_direction:  u8,
    pub sequence:        u16,
    pub length:          u32,
    pub font_ascent:     i16,
    pub font_descent:    i16,
    pub overall_ascent:  i16,
    pub overall_descent: i16,
    pub overall_width:   i32,
    pub overall_left:    i32,
    pub overall_right:   i32,
}
impl Copy for xcb_query_text_extents_reply_t {}
impl Clone for xcb_query_text_extents_reply_t {
    fn clone(&self) -> xcb_query_text_extents_reply_t { *self }
}
#[repr(C)]
pub struct xcb_str_t {
    pub name_len: u8,
}
#[repr(C)]
pub struct xcb_str_iterator_t<'a> {
    pub data:  *mut xcb_str_t,
    pub rem:   c_int,
    pub index: c_int,
    _phantom:  std::marker::PhantomData<&'a xcb_str_t>,
}
pub const XCB_LIST_FONTS: u8 = 49;
#[repr(C)]
pub struct xcb_list_fonts_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub max_names:    u16,
    
    pub pattern_len:  u16,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_list_fonts_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_list_fonts_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    
    pub names_len:     u16,
    pub pad1:          [u8; 22],
}
pub const XCB_LIST_FONTS_WITH_INFO: u8 = 50;
#[repr(C)]
pub struct xcb_list_fonts_with_info_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub max_names:    u16,
    
    pub pattern_len:  u16,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_list_fonts_with_info_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_list_fonts_with_info_reply_t {
    pub response_type:     u8,
    
    pub name_len:          u8,
    pub sequence:          u16,
    pub length:            u32,
    
    pub min_bounds:        xcb_charinfo_t,
    pub pad0:              [u8; 4],
    
    pub max_bounds:        xcb_charinfo_t,
    pub pad1:              [u8; 4],
    
    pub min_char_or_byte2: u16,
    
    pub max_char_or_byte2: u16,
    
    pub default_char:      u16,
    
    pub properties_len:    u16,
    
    pub draw_direction:    u8,
    pub min_byte1:         u8,
    pub max_byte1:         u8,
    
    pub all_chars_exist:   u8,
    
    pub font_ascent:       i16,
    
    pub font_descent:      i16,
    
    
    
    pub replies_hint:      u32,
}
pub const XCB_SET_FONT_PATH: u8 = 51;
#[repr(C)]
pub struct xcb_set_font_path_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub font_qty:     u16,
    pub pad1:         [u8; 2],
}
pub const XCB_GET_FONT_PATH: u8 = 52;
#[repr(C)]
pub struct xcb_get_font_path_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_get_font_path_request_t {}
impl Clone for xcb_get_font_path_request_t {
    fn clone(&self) -> xcb_get_font_path_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_font_path_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_font_path_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub path_len:      u16,
    pub pad1:          [u8; 22],
}
pub const XCB_CREATE_PIXMAP: u8 = 53;
#[repr(C)]
pub struct xcb_create_pixmap_request_t {
    pub major_opcode: u8,
    
    pub depth:        u8,
    pub length:       u16,
    
    
    pub pid:          xcb_pixmap_t,
    
    pub drawable:     xcb_drawable_t,
    
    pub width:        u16,
    
    pub height:       u16,
}
impl Copy for xcb_create_pixmap_request_t {}
impl Clone for xcb_create_pixmap_request_t {
    fn clone(&self) -> xcb_create_pixmap_request_t { *self }
}
pub const XCB_FREE_PIXMAP: u8 = 54;
#[repr(C)]
pub struct xcb_free_pixmap_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub pixmap:       xcb_pixmap_t,
}
impl Copy for xcb_free_pixmap_request_t {}
impl Clone for xcb_free_pixmap_request_t {
    fn clone(&self) -> xcb_free_pixmap_request_t { *self }
}
pub type xcb_gc_t = u32;
pub const XCB_GC_FUNCTION             : xcb_gc_t =     0x01;
pub const XCB_GC_PLANE_MASK           : xcb_gc_t =     0x02;
pub const XCB_GC_FOREGROUND           : xcb_gc_t =     0x04;
pub const XCB_GC_BACKGROUND           : xcb_gc_t =     0x08;
pub const XCB_GC_LINE_WIDTH           : xcb_gc_t =     0x10;
pub const XCB_GC_LINE_STYLE           : xcb_gc_t =     0x20;
pub const XCB_GC_CAP_STYLE            : xcb_gc_t =     0x40;
pub const XCB_GC_JOIN_STYLE           : xcb_gc_t =     0x80;
pub const XCB_GC_FILL_STYLE           : xcb_gc_t =    0x100;
pub const XCB_GC_FILL_RULE            : xcb_gc_t =    0x200;
pub const XCB_GC_TILE                 : xcb_gc_t =    0x400;
pub const XCB_GC_STIPPLE              : xcb_gc_t =    0x800;
pub const XCB_GC_TILE_STIPPLE_ORIGIN_X: xcb_gc_t =   0x1000;
pub const XCB_GC_TILE_STIPPLE_ORIGIN_Y: xcb_gc_t =   0x2000;
pub const XCB_GC_FONT                 : xcb_gc_t =   0x4000;
pub const XCB_GC_SUBWINDOW_MODE       : xcb_gc_t =   0x8000;
pub const XCB_GC_GRAPHICS_EXPOSURES   : xcb_gc_t =  0x10000;
pub const XCB_GC_CLIP_ORIGIN_X        : xcb_gc_t =  0x20000;
pub const XCB_GC_CLIP_ORIGIN_Y        : xcb_gc_t =  0x40000;
pub const XCB_GC_CLIP_MASK            : xcb_gc_t =  0x80000;
pub const XCB_GC_DASH_OFFSET          : xcb_gc_t = 0x100000;
pub const XCB_GC_DASH_LIST            : xcb_gc_t = 0x200000;
pub const XCB_GC_ARC_MODE             : xcb_gc_t = 0x400000;
pub type xcb_gx_t = u32;
pub const XCB_GX_CLEAR        : xcb_gx_t = 0x00;
pub const XCB_GX_AND          : xcb_gx_t = 0x01;
pub const XCB_GX_AND_REVERSE  : xcb_gx_t = 0x02;
pub const XCB_GX_COPY         : xcb_gx_t = 0x03;
pub const XCB_GX_AND_INVERTED : xcb_gx_t = 0x04;
pub const XCB_GX_NOOP         : xcb_gx_t = 0x05;
pub const XCB_GX_XOR          : xcb_gx_t = 0x06;
pub const XCB_GX_OR           : xcb_gx_t = 0x07;
pub const XCB_GX_NOR          : xcb_gx_t = 0x08;
pub const XCB_GX_EQUIV        : xcb_gx_t = 0x09;
pub const XCB_GX_INVERT       : xcb_gx_t = 0x0a;
pub const XCB_GX_OR_REVERSE   : xcb_gx_t = 0x0b;
pub const XCB_GX_COPY_INVERTED: xcb_gx_t = 0x0c;
pub const XCB_GX_OR_INVERTED  : xcb_gx_t = 0x0d;
pub const XCB_GX_NAND         : xcb_gx_t = 0x0e;
pub const XCB_GX_SET          : xcb_gx_t = 0x0f;
pub type xcb_line_style_t = u32;
pub const XCB_LINE_STYLE_SOLID      : xcb_line_style_t = 0x00;
pub const XCB_LINE_STYLE_ON_OFF_DASH: xcb_line_style_t = 0x01;
pub const XCB_LINE_STYLE_DOUBLE_DASH: xcb_line_style_t = 0x02;
pub type xcb_cap_style_t = u32;
pub const XCB_CAP_STYLE_NOT_LAST  : xcb_cap_style_t = 0x00;
pub const XCB_CAP_STYLE_BUTT      : xcb_cap_style_t = 0x01;
pub const XCB_CAP_STYLE_ROUND     : xcb_cap_style_t = 0x02;
pub const XCB_CAP_STYLE_PROJECTING: xcb_cap_style_t = 0x03;
pub type xcb_join_style_t = u32;
pub const XCB_JOIN_STYLE_MITER: xcb_join_style_t = 0x00;
pub const XCB_JOIN_STYLE_ROUND: xcb_join_style_t = 0x01;
pub const XCB_JOIN_STYLE_BEVEL: xcb_join_style_t = 0x02;
pub type xcb_fill_style_t = u32;
pub const XCB_FILL_STYLE_SOLID          : xcb_fill_style_t = 0x00;
pub const XCB_FILL_STYLE_TILED          : xcb_fill_style_t = 0x01;
pub const XCB_FILL_STYLE_STIPPLED       : xcb_fill_style_t = 0x02;
pub const XCB_FILL_STYLE_OPAQUE_STIPPLED: xcb_fill_style_t = 0x03;
pub type xcb_fill_rule_t = u32;
pub const XCB_FILL_RULE_EVEN_ODD: xcb_fill_rule_t = 0x00;
pub const XCB_FILL_RULE_WINDING : xcb_fill_rule_t = 0x01;
pub type xcb_subwindow_mode_t = u32;
pub const XCB_SUBWINDOW_MODE_CLIP_BY_CHILDREN : xcb_subwindow_mode_t = 0x00;
pub const XCB_SUBWINDOW_MODE_INCLUDE_INFERIORS: xcb_subwindow_mode_t = 0x01;
pub type xcb_arc_mode_t = u32;
pub const XCB_ARC_MODE_CHORD    : xcb_arc_mode_t = 0x00;
pub const XCB_ARC_MODE_PIE_SLICE: xcb_arc_mode_t = 0x01;
pub const XCB_CREATE_GC: u8 = 55;
#[repr(C)]
pub struct xcb_create_gc_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    
    pub cid:          xcb_gcontext_t,
    
    pub drawable:     xcb_drawable_t,
    pub value_mask:   u32,
}
pub const XCB_CHANGE_GC: u8 = 56;
#[repr(C)]
pub struct xcb_change_gc_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub gc:           xcb_gcontext_t,
    
    pub value_mask:   u32,
}
pub const XCB_COPY_GC: u8 = 57;
#[repr(C)]
pub struct xcb_copy_gc_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub src_gc:       xcb_gcontext_t,
    pub dst_gc:       xcb_gcontext_t,
    pub value_mask:   u32,
}
impl Copy for xcb_copy_gc_request_t {}
impl Clone for xcb_copy_gc_request_t {
    fn clone(&self) -> xcb_copy_gc_request_t { *self }
}
pub const XCB_SET_DASHES: u8 = 58;
#[repr(C)]
pub struct xcb_set_dashes_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub gc:           xcb_gcontext_t,
    pub dash_offset:  u16,
    pub dashes_len:   u16,
}
pub type xcb_clip_ordering_t = u32;
pub const XCB_CLIP_ORDERING_UNSORTED : xcb_clip_ordering_t = 0x00;
pub const XCB_CLIP_ORDERING_Y_SORTED : xcb_clip_ordering_t = 0x01;
pub const XCB_CLIP_ORDERING_YX_SORTED: xcb_clip_ordering_t = 0x02;
pub const XCB_CLIP_ORDERING_YX_BANDED: xcb_clip_ordering_t = 0x03;
pub const XCB_SET_CLIP_RECTANGLES: u8 = 59;
#[repr(C)]
pub struct xcb_set_clip_rectangles_request_t {
    pub major_opcode:   u8,
    pub ordering:       u8,
    pub length:         u16,
    pub gc:             xcb_gcontext_t,
    pub clip_x_origin:  i16,
    pub clip_y_origin:  i16,
}
pub const XCB_FREE_GC: u8 = 60;
#[repr(C)]
pub struct xcb_free_gc_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub gc:           xcb_gcontext_t,
}
impl Copy for xcb_free_gc_request_t {}
impl Clone for xcb_free_gc_request_t {
    fn clone(&self) -> xcb_free_gc_request_t { *self }
}
pub const XCB_CLEAR_AREA: u8 = 61;
#[repr(C)]
pub struct xcb_clear_area_request_t {
    pub major_opcode: u8,
    pub exposures:    u8,
    pub length:       u16,
    pub window:       xcb_window_t,
    pub x:            i16,
    pub y:            i16,
    pub width:        u16,
    pub height:       u16,
}
impl Copy for xcb_clear_area_request_t {}
impl Clone for xcb_clear_area_request_t {
    fn clone(&self) -> xcb_clear_area_request_t { *self }
}
pub const XCB_COPY_AREA: u8 = 62;
#[repr(C)]
pub struct xcb_copy_area_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub src_drawable: xcb_drawable_t,
    
    pub dst_drawable: xcb_drawable_t,
    
    pub gc:           xcb_gcontext_t,
    
    pub src_x:        i16,
    
    pub src_y:        i16,
    
    pub dst_x:        i16,
    
    pub dst_y:        i16,
    
    pub width:        u16,
    
    pub height:       u16,
}
impl Copy for xcb_copy_area_request_t {}
impl Clone for xcb_copy_area_request_t {
    fn clone(&self) -> xcb_copy_area_request_t { *self }
}
pub const XCB_COPY_PLANE: u8 = 63;
#[repr(C)]
pub struct xcb_copy_plane_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub src_drawable: xcb_drawable_t,
    pub dst_drawable: xcb_drawable_t,
    pub gc:           xcb_gcontext_t,
    pub src_x:        i16,
    pub src_y:        i16,
    pub dst_x:        i16,
    pub dst_y:        i16,
    pub width:        u16,
    pub height:       u16,
    pub bit_plane:    u32,
}
impl Copy for xcb_copy_plane_request_t {}
impl Clone for xcb_copy_plane_request_t {
    fn clone(&self) -> xcb_copy_plane_request_t { *self }
}
pub type xcb_coord_mode_t = u32;
pub const XCB_COORD_MODE_ORIGIN  : xcb_coord_mode_t = 0x00;
pub const XCB_COORD_MODE_PREVIOUS: xcb_coord_mode_t = 0x01;
pub const XCB_POLY_POINT: u8 = 64;
#[repr(C)]
pub struct xcb_poly_point_request_t {
    pub major_opcode:    u8,
    pub coordinate_mode: u8,
    pub length:          u16,
    pub drawable:        xcb_drawable_t,
    pub gc:              xcb_gcontext_t,
}
pub const XCB_POLY_LINE: u8 = 65;
#[repr(C)]
pub struct xcb_poly_line_request_t {
    pub major_opcode:    u8,
    
    pub coordinate_mode: u8,
    pub length:          u16,
    
    pub drawable:        xcb_drawable_t,
    
    pub gc:              xcb_gcontext_t,
}
#[repr(C)]
pub struct xcb_segment_t {
    pub x1: i16,
    pub y1: i16,
    pub x2: i16,
    pub y2: i16,
}
impl Copy for xcb_segment_t {}
impl Clone for xcb_segment_t {
    fn clone(&self) -> xcb_segment_t { *self }
}
#[repr(C)]
pub struct xcb_segment_iterator_t {
    pub data:  *mut xcb_segment_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub const XCB_POLY_SEGMENT: u8 = 66;
#[repr(C)]
pub struct xcb_poly_segment_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub drawable:     xcb_drawable_t,
    
    
    
    pub gc:           xcb_gcontext_t,
}
pub const XCB_POLY_RECTANGLE: u8 = 67;
#[repr(C)]
pub struct xcb_poly_rectangle_request_t {
    pub major_opcode:   u8,
    pub pad0:           u8,
    pub length:         u16,
    pub drawable:       xcb_drawable_t,
    pub gc:             xcb_gcontext_t,
}
pub const XCB_POLY_ARC: u8 = 68;
#[repr(C)]
pub struct xcb_poly_arc_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub drawable:     xcb_drawable_t,
    pub gc:           xcb_gcontext_t,
}
pub type xcb_poly_shape_t = u32;
pub const XCB_POLY_SHAPE_COMPLEX  : xcb_poly_shape_t = 0x00;
pub const XCB_POLY_SHAPE_NONCONVEX: xcb_poly_shape_t = 0x01;
pub const XCB_POLY_SHAPE_CONVEX   : xcb_poly_shape_t = 0x02;
pub const XCB_FILL_POLY: u8 = 69;
#[repr(C)]
pub struct xcb_fill_poly_request_t {
    pub major_opcode:    u8,
    pub pad0:            u8,
    pub length:          u16,
    pub drawable:        xcb_drawable_t,
    pub gc:              xcb_gcontext_t,
    pub shape:           u8,
    pub coordinate_mode: u8,
    pub pad1:            [u8; 2],
}
pub const XCB_POLY_FILL_RECTANGLE: u8 = 70;
#[repr(C)]
pub struct xcb_poly_fill_rectangle_request_t {
    pub major_opcode:   u8,
    pub pad0:           u8,
    pub length:         u16,
    
    pub drawable:       xcb_drawable_t,
    
    
    
    
    
    
    
    
    pub gc:             xcb_gcontext_t,
}
pub const XCB_POLY_FILL_ARC: u8 = 71;
#[repr(C)]
pub struct xcb_poly_fill_arc_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub drawable:     xcb_drawable_t,
    pub gc:           xcb_gcontext_t,
}
pub type xcb_image_format_t = u32;
pub const XCB_IMAGE_FORMAT_XY_BITMAP: xcb_image_format_t = 0x00;
pub const XCB_IMAGE_FORMAT_XY_PIXMAP: xcb_image_format_t = 0x01;
pub const XCB_IMAGE_FORMAT_Z_PIXMAP : xcb_image_format_t = 0x02;
pub const XCB_PUT_IMAGE: u8 = 72;
#[repr(C)]
pub struct xcb_put_image_request_t {
    pub major_opcode: u8,
    pub format:       u8,
    pub length:       u16,
    pub drawable:     xcb_drawable_t,
    pub gc:           xcb_gcontext_t,
    pub width:        u16,
    pub height:       u16,
    pub dst_x:        i16,
    pub dst_y:        i16,
    pub left_pad:     u8,
    pub depth:        u8,
    pub pad0:         [u8; 2],
}
pub const XCB_GET_IMAGE: u8 = 73;
#[repr(C)]
pub struct xcb_get_image_request_t {
    pub major_opcode: u8,
    pub format:       u8,
    pub length:       u16,
    pub drawable:     xcb_drawable_t,
    pub x:            i16,
    pub y:            i16,
    pub width:        u16,
    pub height:       u16,
    pub plane_mask:   u32,
}
impl Copy for xcb_get_image_request_t {}
impl Clone for xcb_get_image_request_t {
    fn clone(&self) -> xcb_get_image_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_image_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_image_reply_t {
    pub response_type: u8,
    pub depth:         u8,
    pub sequence:      u16,
    pub length:        u32,
    pub visual:        xcb_visualid_t,
    pub pad0:          [u8; 20],
}
pub const XCB_POLY_TEXT_8: u8 = 74;
#[repr(C)]
pub struct xcb_poly_text_8_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub drawable:     xcb_drawable_t,
    pub gc:           xcb_gcontext_t,
    pub x:            i16,
    pub y:            i16,
}
pub const XCB_POLY_TEXT_16: u8 = 75;
#[repr(C)]
pub struct xcb_poly_text_16_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub drawable:     xcb_drawable_t,
    pub gc:           xcb_gcontext_t,
    pub x:            i16,
    pub y:            i16,
}
pub const XCB_IMAGE_TEXT_8: u8 = 76;
#[repr(C)]
pub struct xcb_image_text_8_request_t {
    pub major_opcode: u8,
    
    
    pub string_len:   u8,
    pub length:       u16,
    
    pub drawable:     xcb_drawable_t,
    
    
    
    
    pub gc:           xcb_gcontext_t,
    
    pub x:            i16,
    
    pub y:            i16,
}
pub const XCB_IMAGE_TEXT_16: u8 = 77;
#[repr(C)]
pub struct xcb_image_text_16_request_t {
    pub major_opcode: u8,
    
    
    pub string_len:   u8,
    pub length:       u16,
    
    pub drawable:     xcb_drawable_t,
    
    
    
    
    pub gc:           xcb_gcontext_t,
    
    pub x:            i16,
    
    pub y:            i16,
}
pub type xcb_colormap_alloc_t = u32;
pub const XCB_COLORMAP_ALLOC_NONE: xcb_colormap_alloc_t = 0x00;
pub const XCB_COLORMAP_ALLOC_ALL : xcb_colormap_alloc_t = 0x01;
pub const XCB_CREATE_COLORMAP: u8 = 78;
#[repr(C)]
pub struct xcb_create_colormap_request_t {
    pub major_opcode: u8,
    pub alloc:        u8,
    pub length:       u16,
    pub mid:          xcb_colormap_t,
    pub window:       xcb_window_t,
    pub visual:       xcb_visualid_t,
}
impl Copy for xcb_create_colormap_request_t {}
impl Clone for xcb_create_colormap_request_t {
    fn clone(&self) -> xcb_create_colormap_request_t { *self }
}
pub const XCB_FREE_COLORMAP: u8 = 79;
#[repr(C)]
pub struct xcb_free_colormap_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub cmap:         xcb_colormap_t,
}
impl Copy for xcb_free_colormap_request_t {}
impl Clone for xcb_free_colormap_request_t {
    fn clone(&self) -> xcb_free_colormap_request_t { *self }
}
pub const XCB_COPY_COLORMAP_AND_FREE: u8 = 80;
#[repr(C)]
pub struct xcb_copy_colormap_and_free_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub mid:          xcb_colormap_t,
    pub src_cmap:     xcb_colormap_t,
}
impl Copy for xcb_copy_colormap_and_free_request_t {}
impl Clone for xcb_copy_colormap_and_free_request_t {
    fn clone(&self) -> xcb_copy_colormap_and_free_request_t { *self }
}
pub const XCB_INSTALL_COLORMAP: u8 = 81;
#[repr(C)]
pub struct xcb_install_colormap_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub cmap:         xcb_colormap_t,
}
impl Copy for xcb_install_colormap_request_t {}
impl Clone for xcb_install_colormap_request_t {
    fn clone(&self) -> xcb_install_colormap_request_t { *self }
}
pub const XCB_UNINSTALL_COLORMAP: u8 = 82;
#[repr(C)]
pub struct xcb_uninstall_colormap_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub cmap:         xcb_colormap_t,
}
impl Copy for xcb_uninstall_colormap_request_t {}
impl Clone for xcb_uninstall_colormap_request_t {
    fn clone(&self) -> xcb_uninstall_colormap_request_t { *self }
}
pub const XCB_LIST_INSTALLED_COLORMAPS: u8 = 83;
#[repr(C)]
pub struct xcb_list_installed_colormaps_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub window:       xcb_window_t,
}
impl Copy for xcb_list_installed_colormaps_request_t {}
impl Clone for xcb_list_installed_colormaps_request_t {
    fn clone(&self) -> xcb_list_installed_colormaps_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_list_installed_colormaps_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_list_installed_colormaps_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub cmaps_len:     u16,
    pub pad1:          [u8; 22],
}
pub const XCB_ALLOC_COLOR: u8 = 84;
#[repr(C)]
pub struct xcb_alloc_color_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub cmap:         xcb_colormap_t,
    
    pub red:          u16,
    
    pub green:        u16,
    
    pub blue:         u16,
    pub pad1:         [u8; 2],
}
impl Copy for xcb_alloc_color_request_t {}
impl Clone for xcb_alloc_color_request_t {
    fn clone(&self) -> xcb_alloc_color_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_alloc_color_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_alloc_color_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub red:           u16,
    pub green:         u16,
    pub blue:          u16,
    pub pad1:          [u8; 2],
    pub pixel:         u32,
}
impl Copy for xcb_alloc_color_reply_t {}
impl Clone for xcb_alloc_color_reply_t {
    fn clone(&self) -> xcb_alloc_color_reply_t { *self }
}
pub const XCB_ALLOC_NAMED_COLOR: u8 = 85;
#[repr(C)]
pub struct xcb_alloc_named_color_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub cmap:         xcb_colormap_t,
    pub name_len:     u16,
    pub pad1:         [u8; 2],
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_alloc_named_color_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_alloc_named_color_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub pixel:         u32,
    pub exact_red:     u16,
    pub exact_green:   u16,
    pub exact_blue:    u16,
    pub visual_red:    u16,
    pub visual_green:  u16,
    pub visual_blue:   u16,
}
impl Copy for xcb_alloc_named_color_reply_t {}
impl Clone for xcb_alloc_named_color_reply_t {
    fn clone(&self) -> xcb_alloc_named_color_reply_t { *self }
}
pub const XCB_ALLOC_COLOR_CELLS: u8 = 86;
#[repr(C)]
pub struct xcb_alloc_color_cells_request_t {
    pub major_opcode: u8,
    pub contiguous:   u8,
    pub length:       u16,
    pub cmap:         xcb_colormap_t,
    pub colors:       u16,
    pub planes:       u16,
}
impl Copy for xcb_alloc_color_cells_request_t {}
impl Clone for xcb_alloc_color_cells_request_t {
    fn clone(&self) -> xcb_alloc_color_cells_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_alloc_color_cells_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_alloc_color_cells_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub pixels_len:    u16,
    pub masks_len:     u16,
    pub pad1:          [u8; 20],
}
pub const XCB_ALLOC_COLOR_PLANES: u8 = 87;
#[repr(C)]
pub struct xcb_alloc_color_planes_request_t {
    pub major_opcode: u8,
    pub contiguous:   u8,
    pub length:       u16,
    pub cmap:         xcb_colormap_t,
    pub colors:       u16,
    pub reds:         u16,
    pub greens:       u16,
    pub blues:        u16,
}
impl Copy for xcb_alloc_color_planes_request_t {}
impl Clone for xcb_alloc_color_planes_request_t {
    fn clone(&self) -> xcb_alloc_color_planes_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_alloc_color_planes_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_alloc_color_planes_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub pixels_len:    u16,
    pub pad1:          [u8; 2],
    pub red_mask:      u32,
    pub green_mask:    u32,
    pub blue_mask:     u32,
    pub pad2:          [u8; 8],
}
pub const XCB_FREE_COLORS: u8 = 88;
#[repr(C)]
pub struct xcb_free_colors_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub cmap:         xcb_colormap_t,
    pub plane_mask:   u32,
}
pub type xcb_color_flag_t = u32;
pub const XCB_COLOR_FLAG_RED  : xcb_color_flag_t = 0x01;
pub const XCB_COLOR_FLAG_GREEN: xcb_color_flag_t = 0x02;
pub const XCB_COLOR_FLAG_BLUE : xcb_color_flag_t = 0x04;
#[repr(C)]
pub struct xcb_coloritem_t {
    pub pixel: u32,
    pub red:   u16,
    pub green: u16,
    pub blue:  u16,
    pub flags: u8,
    pub pad0:  u8,
}
impl Copy for xcb_coloritem_t {}
impl Clone for xcb_coloritem_t {
    fn clone(&self) -> xcb_coloritem_t { *self }
}
#[repr(C)]
pub struct xcb_coloritem_iterator_t {
    pub data:  *mut xcb_coloritem_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub const XCB_STORE_COLORS: u8 = 89;
#[repr(C)]
pub struct xcb_store_colors_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub cmap:         xcb_colormap_t,
}
pub const XCB_STORE_NAMED_COLOR: u8 = 90;
#[repr(C)]
pub struct xcb_store_named_color_request_t {
    pub major_opcode: u8,
    pub flags:        u8,
    pub length:       u16,
    pub cmap:         xcb_colormap_t,
    pub pixel:        u32,
    pub name_len:     u16,
    pub pad0:         [u8; 2],
}
#[repr(C)]
pub struct xcb_rgb_t {
    pub red:   u16,
    pub green: u16,
    pub blue:  u16,
    pub pad0:  [u8; 2],
}
impl Copy for xcb_rgb_t {}
impl Clone for xcb_rgb_t {
    fn clone(&self) -> xcb_rgb_t { *self }
}
#[repr(C)]
pub struct xcb_rgb_iterator_t {
    pub data:  *mut xcb_rgb_t,
    pub rem:   c_int,
    pub index: c_int,
}
pub const XCB_QUERY_COLORS: u8 = 91;
#[repr(C)]
pub struct xcb_query_colors_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub cmap:         xcb_colormap_t,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_query_colors_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_query_colors_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub colors_len:    u16,
    pub pad1:          [u8; 22],
}
pub const XCB_LOOKUP_COLOR: u8 = 92;
#[repr(C)]
pub struct xcb_lookup_color_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub cmap:         xcb_colormap_t,
    pub name_len:     u16,
    pub pad1:         [u8; 2],
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_lookup_color_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_lookup_color_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub exact_red:     u16,
    pub exact_green:   u16,
    pub exact_blue:    u16,
    pub visual_red:    u16,
    pub visual_green:  u16,
    pub visual_blue:   u16,
}
impl Copy for xcb_lookup_color_reply_t {}
impl Clone for xcb_lookup_color_reply_t {
    fn clone(&self) -> xcb_lookup_color_reply_t { *self }
}
pub type xcb_pixmap_enum_t = u32;
pub const XCB_PIXMAP_NONE: xcb_pixmap_enum_t = 0x00;
pub const XCB_CREATE_CURSOR: u8 = 93;
#[repr(C)]
pub struct xcb_create_cursor_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub cid:          xcb_cursor_t,
    pub source:       xcb_pixmap_t,
    pub mask:         xcb_pixmap_t,
    pub fore_red:     u16,
    pub fore_green:   u16,
    pub fore_blue:    u16,
    pub back_red:     u16,
    pub back_green:   u16,
    pub back_blue:    u16,
    pub x:            u16,
    pub y:            u16,
}
impl Copy for xcb_create_cursor_request_t {}
impl Clone for xcb_create_cursor_request_t {
    fn clone(&self) -> xcb_create_cursor_request_t { *self }
}
pub type xcb_font_enum_t = u32;
pub const XCB_FONT_NONE: xcb_font_enum_t = 0x00;
pub const XCB_CREATE_GLYPH_CURSOR: u8 = 94;
#[repr(C)]
pub struct xcb_create_glyph_cursor_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub cid:          xcb_cursor_t,
    
    pub source_font:  xcb_font_t,
    
    pub mask_font:    xcb_font_t,
    
    pub source_char:  u16,
    
    
    
    pub mask_char:    u16,
    
    pub fore_red:     u16,
    
    pub fore_green:   u16,
    
    pub fore_blue:    u16,
    
    pub back_red:     u16,
    
    pub back_green:   u16,
    
    pub back_blue:    u16,
}
impl Copy for xcb_create_glyph_cursor_request_t {}
impl Clone for xcb_create_glyph_cursor_request_t {
    fn clone(&self) -> xcb_create_glyph_cursor_request_t { *self }
}
pub const XCB_FREE_CURSOR: u8 = 95;
#[repr(C)]
pub struct xcb_free_cursor_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub cursor:       xcb_cursor_t,
}
impl Copy for xcb_free_cursor_request_t {}
impl Clone for xcb_free_cursor_request_t {
    fn clone(&self) -> xcb_free_cursor_request_t { *self }
}
pub const XCB_RECOLOR_CURSOR: u8 = 96;
#[repr(C)]
pub struct xcb_recolor_cursor_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub cursor:       xcb_cursor_t,
    pub fore_red:     u16,
    pub fore_green:   u16,
    pub fore_blue:    u16,
    pub back_red:     u16,
    pub back_green:   u16,
    pub back_blue:    u16,
}
impl Copy for xcb_recolor_cursor_request_t {}
impl Clone for xcb_recolor_cursor_request_t {
    fn clone(&self) -> xcb_recolor_cursor_request_t { *self }
}
pub type xcb_query_shape_of_t = u32;
pub const XCB_QUERY_SHAPE_OF_LARGEST_CURSOR : xcb_query_shape_of_t = 0x00;
pub const XCB_QUERY_SHAPE_OF_FASTEST_TILE   : xcb_query_shape_of_t = 0x01;
pub const XCB_QUERY_SHAPE_OF_FASTEST_STIPPLE: xcb_query_shape_of_t = 0x02;
pub const XCB_QUERY_BEST_SIZE: u8 = 97;
#[repr(C)]
pub struct xcb_query_best_size_request_t {
    pub major_opcode: u8,
    pub class:        u8,
    pub length:       u16,
    pub drawable:     xcb_drawable_t,
    pub width:        u16,
    pub height:       u16,
}
impl Copy for xcb_query_best_size_request_t {}
impl Clone for xcb_query_best_size_request_t {
    fn clone(&self) -> xcb_query_best_size_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_query_best_size_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_query_best_size_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub width:         u16,
    pub height:        u16,
}
impl Copy for xcb_query_best_size_reply_t {}
impl Clone for xcb_query_best_size_reply_t {
    fn clone(&self) -> xcb_query_best_size_reply_t { *self }
}
pub const XCB_QUERY_EXTENSION: u8 = 98;
#[repr(C)]
pub struct xcb_query_extension_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    pub name_len:     u16,
    pub pad1:         [u8; 2],
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_query_extension_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_query_extension_reply_t {
    pub response_type: u8,
    pub pad0:          u8,
    pub sequence:      u16,
    pub length:        u32,
    
    pub present:       u8,
    
    pub major_opcode:  u8,
    
    pub first_event:   u8,
    
    pub first_error:   u8,
}
impl Copy for xcb_query_extension_reply_t {}
impl Clone for xcb_query_extension_reply_t {
    fn clone(&self) -> xcb_query_extension_reply_t { *self }
}
pub const XCB_LIST_EXTENSIONS: u8 = 99;
#[repr(C)]
pub struct xcb_list_extensions_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_list_extensions_request_t {}
impl Clone for xcb_list_extensions_request_t {
    fn clone(&self) -> xcb_list_extensions_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_list_extensions_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_list_extensions_reply_t {
    pub response_type: u8,
    pub names_len:     u8,
    pub sequence:      u16,
    pub length:        u32,
    pub pad0:          [u8; 24],
}
pub const XCB_CHANGE_KEYBOARD_MAPPING: u8 = 100;
#[repr(C)]
pub struct xcb_change_keyboard_mapping_request_t {
    pub major_opcode:        u8,
    pub keycode_count:       u8,
    pub length:              u16,
    pub first_keycode:       xcb_keycode_t,
    pub keysyms_per_keycode: u8,
    pub pad0:                [u8; 2],
}
pub const XCB_GET_KEYBOARD_MAPPING: u8 = 101;
#[repr(C)]
pub struct xcb_get_keyboard_mapping_request_t {
    pub major_opcode:  u8,
    pub pad0:          u8,
    pub length:        u16,
    pub first_keycode: xcb_keycode_t,
    pub count:         u8,
}
impl Copy for xcb_get_keyboard_mapping_request_t {}
impl Clone for xcb_get_keyboard_mapping_request_t {
    fn clone(&self) -> xcb_get_keyboard_mapping_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_keyboard_mapping_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_keyboard_mapping_reply_t {
    pub response_type:       u8,
    pub keysyms_per_keycode: u8,
    pub sequence:            u16,
    pub length:              u32,
    pub pad0:                [u8; 24],
}
pub type xcb_kb_t = u32;
pub const XCB_KB_KEY_CLICK_PERCENT: xcb_kb_t = 0x01;
pub const XCB_KB_BELL_PERCENT     : xcb_kb_t = 0x02;
pub const XCB_KB_BELL_PITCH       : xcb_kb_t = 0x04;
pub const XCB_KB_BELL_DURATION    : xcb_kb_t = 0x08;
pub const XCB_KB_LED              : xcb_kb_t = 0x10;
pub const XCB_KB_LED_MODE         : xcb_kb_t = 0x20;
pub const XCB_KB_KEY              : xcb_kb_t = 0x40;
pub const XCB_KB_AUTO_REPEAT_MODE : xcb_kb_t = 0x80;
pub type xcb_led_mode_t = u32;
pub const XCB_LED_MODE_OFF: xcb_led_mode_t = 0x00;
pub const XCB_LED_MODE_ON : xcb_led_mode_t = 0x01;
pub type xcb_auto_repeat_mode_t = u32;
pub const XCB_AUTO_REPEAT_MODE_OFF    : xcb_auto_repeat_mode_t = 0x00;
pub const XCB_AUTO_REPEAT_MODE_ON     : xcb_auto_repeat_mode_t = 0x01;
pub const XCB_AUTO_REPEAT_MODE_DEFAULT: xcb_auto_repeat_mode_t = 0x02;
pub const XCB_CHANGE_KEYBOARD_CONTROL: u8 = 102;
#[repr(C)]
pub struct xcb_change_keyboard_control_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub value_mask:   u32,
}
pub const XCB_GET_KEYBOARD_CONTROL: u8 = 103;
#[repr(C)]
pub struct xcb_get_keyboard_control_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_get_keyboard_control_request_t {}
impl Clone for xcb_get_keyboard_control_request_t {
    fn clone(&self) -> xcb_get_keyboard_control_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_keyboard_control_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_keyboard_control_reply_t {
    pub response_type:      u8,
    pub global_auto_repeat: u8,
    pub sequence:           u16,
    pub length:             u32,
    pub led_mask:           u32,
    pub key_click_percent:  u8,
    pub bell_percent:       u8,
    pub bell_pitch:         u16,
    pub bell_duration:      u16,
    pub pad0:               [u8; 2],
    pub auto_repeats:       [u8; 32],
}
impl Copy for xcb_get_keyboard_control_reply_t {}
impl Clone for xcb_get_keyboard_control_reply_t {
    fn clone(&self) -> xcb_get_keyboard_control_reply_t { *self }
}
pub const XCB_BELL: u8 = 104;
#[repr(C)]
pub struct xcb_bell_request_t {
    pub major_opcode: u8,
    pub percent:      i8,
    pub length:       u16,
}
impl Copy for xcb_bell_request_t {}
impl Clone for xcb_bell_request_t {
    fn clone(&self) -> xcb_bell_request_t { *self }
}
pub const XCB_CHANGE_POINTER_CONTROL: u8 = 105;
#[repr(C)]
pub struct xcb_change_pointer_control_request_t {
    pub major_opcode:             u8,
    pub pad0:                     u8,
    pub length:                   u16,
    pub acceleration_numerator:   i16,
    pub acceleration_denominator: i16,
    pub threshold:                i16,
    pub do_acceleration:          u8,
    pub do_threshold:             u8,
}
impl Copy for xcb_change_pointer_control_request_t {}
impl Clone for xcb_change_pointer_control_request_t {
    fn clone(&self) -> xcb_change_pointer_control_request_t { *self }
}
pub const XCB_GET_POINTER_CONTROL: u8 = 106;
#[repr(C)]
pub struct xcb_get_pointer_control_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_get_pointer_control_request_t {}
impl Clone for xcb_get_pointer_control_request_t {
    fn clone(&self) -> xcb_get_pointer_control_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_pointer_control_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_pointer_control_reply_t {
    pub response_type:            u8,
    pub pad0:                     u8,
    pub sequence:                 u16,
    pub length:                   u32,
    pub acceleration_numerator:   u16,
    pub acceleration_denominator: u16,
    pub threshold:                u16,
    pub pad1:                     [u8; 18],
}
impl Copy for xcb_get_pointer_control_reply_t {}
impl Clone for xcb_get_pointer_control_reply_t {
    fn clone(&self) -> xcb_get_pointer_control_reply_t { *self }
}
pub type xcb_blanking_t = u32;
pub const XCB_BLANKING_NOT_PREFERRED: xcb_blanking_t = 0x00;
pub const XCB_BLANKING_PREFERRED    : xcb_blanking_t = 0x01;
pub const XCB_BLANKING_DEFAULT      : xcb_blanking_t = 0x02;
pub type xcb_exposures_t = u32;
pub const XCB_EXPOSURES_NOT_ALLOWED: xcb_exposures_t = 0x00;
pub const XCB_EXPOSURES_ALLOWED    : xcb_exposures_t = 0x01;
pub const XCB_EXPOSURES_DEFAULT    : xcb_exposures_t = 0x02;
pub const XCB_SET_SCREEN_SAVER: u8 = 107;
#[repr(C)]
pub struct xcb_set_screen_saver_request_t {
    pub major_opcode:    u8,
    pub pad0:            u8,
    pub length:          u16,
    pub timeout:         i16,
    pub interval:        i16,
    pub prefer_blanking: u8,
    pub allow_exposures: u8,
}
impl Copy for xcb_set_screen_saver_request_t {}
impl Clone for xcb_set_screen_saver_request_t {
    fn clone(&self) -> xcb_set_screen_saver_request_t { *self }
}
pub const XCB_GET_SCREEN_SAVER: u8 = 108;
#[repr(C)]
pub struct xcb_get_screen_saver_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_get_screen_saver_request_t {}
impl Clone for xcb_get_screen_saver_request_t {
    fn clone(&self) -> xcb_get_screen_saver_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_screen_saver_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_screen_saver_reply_t {
    pub response_type:   u8,
    pub pad0:            u8,
    pub sequence:        u16,
    pub length:          u32,
    pub timeout:         u16,
    pub interval:        u16,
    pub prefer_blanking: u8,
    pub allow_exposures: u8,
    pub pad1:            [u8; 18],
}
impl Copy for xcb_get_screen_saver_reply_t {}
impl Clone for xcb_get_screen_saver_reply_t {
    fn clone(&self) -> xcb_get_screen_saver_reply_t { *self }
}
pub type xcb_host_mode_t = u32;
pub const XCB_HOST_MODE_INSERT: xcb_host_mode_t = 0x00;
pub const XCB_HOST_MODE_DELETE: xcb_host_mode_t = 0x01;
pub type xcb_family_t = u32;
pub const XCB_FAMILY_INTERNET          : xcb_family_t = 0x00;
pub const XCB_FAMILY_DE_CNET           : xcb_family_t = 0x01;
pub const XCB_FAMILY_CHAOS             : xcb_family_t = 0x02;
pub const XCB_FAMILY_SERVER_INTERPRETED: xcb_family_t = 0x05;
pub const XCB_FAMILY_INTERNET_6        : xcb_family_t = 0x06;
pub const XCB_CHANGE_HOSTS: u8 = 109;
#[repr(C)]
pub struct xcb_change_hosts_request_t {
    pub major_opcode: u8,
    pub mode:         u8,
    pub length:       u16,
    pub family:       u8,
    pub pad0:         u8,
    pub address_len:  u16,
}
#[repr(C)]
pub struct xcb_host_t {
    pub family:      u8,
    pub pad0:        u8,
    pub address_len: u16,
}
#[repr(C)]
pub struct xcb_host_iterator_t<'a> {
    pub data:  *mut xcb_host_t,
    pub rem:   c_int,
    pub index: c_int,
    _phantom:  std::marker::PhantomData<&'a xcb_host_t>,
}
pub const XCB_LIST_HOSTS: u8 = 110;
#[repr(C)]
pub struct xcb_list_hosts_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_list_hosts_request_t {}
impl Clone for xcb_list_hosts_request_t {
    fn clone(&self) -> xcb_list_hosts_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_list_hosts_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_list_hosts_reply_t {
    pub response_type: u8,
    pub mode:          u8,
    pub sequence:      u16,
    pub length:        u32,
    pub hosts_len:     u16,
    pub pad0:          [u8; 22],
}
pub type xcb_access_control_t = u32;
pub const XCB_ACCESS_CONTROL_DISABLE: xcb_access_control_t = 0x00;
pub const XCB_ACCESS_CONTROL_ENABLE : xcb_access_control_t = 0x01;
pub const XCB_SET_ACCESS_CONTROL: u8 = 111;
#[repr(C)]
pub struct xcb_set_access_control_request_t {
    pub major_opcode: u8,
    pub mode:         u8,
    pub length:       u16,
}
impl Copy for xcb_set_access_control_request_t {}
impl Clone for xcb_set_access_control_request_t {
    fn clone(&self) -> xcb_set_access_control_request_t { *self }
}
pub type xcb_close_down_t = u32;
pub const XCB_CLOSE_DOWN_DESTROY_ALL     : xcb_close_down_t = 0x00;
pub const XCB_CLOSE_DOWN_RETAIN_PERMANENT: xcb_close_down_t = 0x01;
pub const XCB_CLOSE_DOWN_RETAIN_TEMPORARY: xcb_close_down_t = 0x02;
pub const XCB_SET_CLOSE_DOWN_MODE: u8 = 112;
#[repr(C)]
pub struct xcb_set_close_down_mode_request_t {
    pub major_opcode: u8,
    pub mode:         u8,
    pub length:       u16,
}
impl Copy for xcb_set_close_down_mode_request_t {}
impl Clone for xcb_set_close_down_mode_request_t {
    fn clone(&self) -> xcb_set_close_down_mode_request_t { *self }
}
pub type xcb_kill_t = u32;
pub const XCB_KILL_ALL_TEMPORARY: xcb_kill_t = 0x00;
pub const XCB_KILL_CLIENT: u8 = 113;
#[repr(C)]
pub struct xcb_kill_client_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    
    
    
    
    
    pub resource:     u32,
}
impl Copy for xcb_kill_client_request_t {}
impl Clone for xcb_kill_client_request_t {
    fn clone(&self) -> xcb_kill_client_request_t { *self }
}
pub const XCB_ROTATE_PROPERTIES: u8 = 114;
#[repr(C)]
pub struct xcb_rotate_properties_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
    pub window:       xcb_window_t,
    pub atoms_len:    u16,
    pub delta:        i16,
}
pub type xcb_screen_saver_t = u32;
pub const XCB_SCREEN_SAVER_RESET : xcb_screen_saver_t = 0x00;
pub const XCB_SCREEN_SAVER_ACTIVE: xcb_screen_saver_t = 0x01;
pub const XCB_FORCE_SCREEN_SAVER: u8 = 115;
#[repr(C)]
pub struct xcb_force_screen_saver_request_t {
    pub major_opcode: u8,
    pub mode:         u8,
    pub length:       u16,
}
impl Copy for xcb_force_screen_saver_request_t {}
impl Clone for xcb_force_screen_saver_request_t {
    fn clone(&self) -> xcb_force_screen_saver_request_t { *self }
}
pub type xcb_mapping_status_t = u32;
pub const XCB_MAPPING_STATUS_SUCCESS: xcb_mapping_status_t = 0x00;
pub const XCB_MAPPING_STATUS_BUSY   : xcb_mapping_status_t = 0x01;
pub const XCB_MAPPING_STATUS_FAILURE: xcb_mapping_status_t = 0x02;
pub const XCB_SET_POINTER_MAPPING: u8 = 116;
#[repr(C)]
pub struct xcb_set_pointer_mapping_request_t {
    pub major_opcode: u8,
    pub map_len:      u8,
    pub length:       u16,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_set_pointer_mapping_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_set_pointer_mapping_reply_t {
    pub response_type: u8,
    pub status:        u8,
    pub sequence:      u16,
    pub length:        u32,
}
impl Copy for xcb_set_pointer_mapping_reply_t {}
impl Clone for xcb_set_pointer_mapping_reply_t {
    fn clone(&self) -> xcb_set_pointer_mapping_reply_t { *self }
}
pub const XCB_GET_POINTER_MAPPING: u8 = 117;
#[repr(C)]
pub struct xcb_get_pointer_mapping_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_get_pointer_mapping_request_t {}
impl Clone for xcb_get_pointer_mapping_request_t {
    fn clone(&self) -> xcb_get_pointer_mapping_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_pointer_mapping_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_pointer_mapping_reply_t {
    pub response_type: u8,
    pub map_len:       u8,
    pub sequence:      u16,
    pub length:        u32,
    pub pad0:          [u8; 24],
}
pub type xcb_map_index_t = u32;
pub const XCB_MAP_INDEX_SHIFT  : xcb_map_index_t = 0x00;
pub const XCB_MAP_INDEX_LOCK   : xcb_map_index_t = 0x01;
pub const XCB_MAP_INDEX_CONTROL: xcb_map_index_t = 0x02;
pub const XCB_MAP_INDEX_1      : xcb_map_index_t = 0x03;
pub const XCB_MAP_INDEX_2      : xcb_map_index_t = 0x04;
pub const XCB_MAP_INDEX_3      : xcb_map_index_t = 0x05;
pub const XCB_MAP_INDEX_4      : xcb_map_index_t = 0x06;
pub const XCB_MAP_INDEX_5      : xcb_map_index_t = 0x07;
pub const XCB_SET_MODIFIER_MAPPING: u8 = 118;
#[repr(C)]
pub struct xcb_set_modifier_mapping_request_t {
    pub major_opcode:          u8,
    pub keycodes_per_modifier: u8,
    pub length:                u16,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_set_modifier_mapping_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_set_modifier_mapping_reply_t {
    pub response_type: u8,
    pub status:        u8,
    pub sequence:      u16,
    pub length:        u32,
}
impl Copy for xcb_set_modifier_mapping_reply_t {}
impl Clone for xcb_set_modifier_mapping_reply_t {
    fn clone(&self) -> xcb_set_modifier_mapping_reply_t { *self }
}
pub const XCB_GET_MODIFIER_MAPPING: u8 = 119;
#[repr(C)]
pub struct xcb_get_modifier_mapping_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_get_modifier_mapping_request_t {}
impl Clone for xcb_get_modifier_mapping_request_t {
    fn clone(&self) -> xcb_get_modifier_mapping_request_t { *self }
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct xcb_get_modifier_mapping_cookie_t {
    sequence: c_uint
}
#[repr(C)]
pub struct xcb_get_modifier_mapping_reply_t {
    pub response_type:         u8,
    pub keycodes_per_modifier: u8,
    pub sequence:              u16,
    pub length:                u32,
    pub pad0:                  [u8; 24],
}
pub const XCB_NO_OPERATION: u8 = 127;
#[repr(C)]
pub struct xcb_no_operation_request_t {
    pub major_opcode: u8,
    pub pad0:         u8,
    pub length:       u16,
}
impl Copy for xcb_no_operation_request_t {}
impl Clone for xcb_no_operation_request_t {
    fn clone(&self) -> xcb_no_operation_request_t { *self }
}
#[link(name="xcb")]
extern {
    pub fn xcb_char2b_next (i: *mut xcb_char2b_iterator_t);
    pub fn xcb_char2b_end (i: *mut xcb_char2b_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_window_next (i: *mut xcb_window_iterator_t);
    pub fn xcb_window_end (i: *mut xcb_window_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_pixmap_next (i: *mut xcb_pixmap_iterator_t);
    pub fn xcb_pixmap_end (i: *mut xcb_pixmap_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_cursor_next (i: *mut xcb_cursor_iterator_t);
    pub fn xcb_cursor_end (i: *mut xcb_cursor_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_font_next (i: *mut xcb_font_iterator_t);
    pub fn xcb_font_end (i: *mut xcb_font_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_gcontext_next (i: *mut xcb_gcontext_iterator_t);
    pub fn xcb_gcontext_end (i: *mut xcb_gcontext_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_colormap_next (i: *mut xcb_colormap_iterator_t);
    pub fn xcb_colormap_end (i: *mut xcb_colormap_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_atom_next (i: *mut xcb_atom_iterator_t);
    pub fn xcb_atom_end (i: *mut xcb_atom_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_drawable_next (i: *mut xcb_drawable_iterator_t);
    pub fn xcb_drawable_end (i: *mut xcb_drawable_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_fontable_next (i: *mut xcb_fontable_iterator_t);
    pub fn xcb_fontable_end (i: *mut xcb_fontable_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_visualid_next (i: *mut xcb_visualid_iterator_t);
    pub fn xcb_visualid_end (i: *mut xcb_visualid_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_timestamp_next (i: *mut xcb_timestamp_iterator_t);
    pub fn xcb_timestamp_end (i: *mut xcb_timestamp_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_keysym_next (i: *mut xcb_keysym_iterator_t);
    pub fn xcb_keysym_end (i: *mut xcb_keysym_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_keycode_next (i: *mut xcb_keycode_iterator_t);
    pub fn xcb_keycode_end (i: *mut xcb_keycode_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_button_next (i: *mut xcb_button_iterator_t);
    pub fn xcb_button_end (i: *mut xcb_button_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_point_next (i: *mut xcb_point_iterator_t);
    pub fn xcb_point_end (i: *mut xcb_point_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_rectangle_next (i: *mut xcb_rectangle_iterator_t);
    pub fn xcb_rectangle_end (i: *mut xcb_rectangle_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_arc_next (i: *mut xcb_arc_iterator_t);
    pub fn xcb_arc_end (i: *mut xcb_arc_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_format_next (i: *mut xcb_format_iterator_t);
    pub fn xcb_format_end (i: *mut xcb_format_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_visualtype_next (i: *mut xcb_visualtype_iterator_t);
    pub fn xcb_visualtype_end (i: *mut xcb_visualtype_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_depth_visuals (R: *const xcb_depth_t)
            -> *mut xcb_visualtype_t;
    pub fn xcb_depth_visuals_length (R: *const xcb_depth_t)
            -> c_int;
    pub fn xcb_depth_visuals_iterator (R: *const xcb_depth_t)
            -> xcb_visualtype_iterator_t;
    pub fn xcb_depth_next (i: *mut xcb_depth_iterator_t);
    pub fn xcb_depth_end (i: *mut xcb_depth_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_screen_allowed_depths_length (R: *const xcb_screen_t)
            -> c_int;
    pub fn xcb_screen_allowed_depths_iterator<'a> (R: *const xcb_screen_t)
            -> xcb_depth_iterator_t<'a>;
    pub fn xcb_screen_next (i: *mut xcb_screen_iterator_t);
    pub fn xcb_screen_end (i: *mut xcb_screen_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_setup_request_authorization_protocol_name (R: *const xcb_setup_request_t)
            -> *mut c_char;
    pub fn xcb_setup_request_authorization_protocol_name_length (R: *const xcb_setup_request_t)
            -> c_int;
    pub fn xcb_setup_request_authorization_protocol_name_end (R: *const xcb_setup_request_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_setup_request_authorization_protocol_data (R: *const xcb_setup_request_t)
            -> *mut c_char;
    pub fn xcb_setup_request_authorization_protocol_data_length (R: *const xcb_setup_request_t)
            -> c_int;
    pub fn xcb_setup_request_authorization_protocol_data_end (R: *const xcb_setup_request_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_setup_request_next (i: *mut xcb_setup_request_iterator_t);
    pub fn xcb_setup_request_end (i: *mut xcb_setup_request_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_setup_failed_reason (R: *const xcb_setup_failed_t)
            -> *mut c_char;
    pub fn xcb_setup_failed_reason_length (R: *const xcb_setup_failed_t)
            -> c_int;
    pub fn xcb_setup_failed_reason_end (R: *const xcb_setup_failed_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_setup_failed_next (i: *mut xcb_setup_failed_iterator_t);
    pub fn xcb_setup_failed_end (i: *mut xcb_setup_failed_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_setup_authenticate_reason (R: *const xcb_setup_authenticate_t)
            -> *mut c_char;
    pub fn xcb_setup_authenticate_reason_length (R: *const xcb_setup_authenticate_t)
            -> c_int;
    pub fn xcb_setup_authenticate_reason_end (R: *const xcb_setup_authenticate_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_setup_authenticate_next (i: *mut xcb_setup_authenticate_iterator_t);
    pub fn xcb_setup_authenticate_end (i: *mut xcb_setup_authenticate_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_setup_vendor (R: *const xcb_setup_t)
            -> *mut c_char;
    pub fn xcb_setup_vendor_length (R: *const xcb_setup_t)
            -> c_int;
    pub fn xcb_setup_vendor_end (R: *const xcb_setup_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_setup_pixmap_formats (R: *const xcb_setup_t)
            -> *mut xcb_format_t;
    pub fn xcb_setup_pixmap_formats_length (R: *const xcb_setup_t)
            -> c_int;
    pub fn xcb_setup_pixmap_formats_iterator (R: *const xcb_setup_t)
            -> xcb_format_iterator_t;
    pub fn xcb_setup_roots_length (R: *const xcb_setup_t)
            -> c_int;
    pub fn xcb_setup_roots_iterator<'a> (R: *const xcb_setup_t)
            -> xcb_screen_iterator_t<'a>;
    pub fn xcb_setup_next (i: *mut xcb_setup_iterator_t);
    pub fn xcb_setup_end (i: *mut xcb_setup_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_client_message_data_next (i: *mut xcb_client_message_data_iterator_t);
    pub fn xcb_client_message_data_end (i: *mut xcb_client_message_data_iterator_t)
            -> xcb_generic_iterator_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_create_window (c:            *mut xcb_connection_t,
                              depth:        u8,
                              wid:          xcb_window_t,
                              parent:       xcb_window_t,
                              x:            i16,
                              y:            i16,
                              width:        u16,
                              height:       u16,
                              border_width: u16,
                              class:        u16,
                              visual:       xcb_visualid_t,
                              value_mask:   u32,
                              value_list:   *const u32)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_create_window_checked (c:            *mut xcb_connection_t,
                                      depth:        u8,
                                      wid:          xcb_window_t,
                                      parent:       xcb_window_t,
                                      x:            i16,
                                      y:            i16,
                                      width:        u16,
                                      height:       u16,
                                      border_width: u16,
                                      class:        u16,
                                      visual:       xcb_visualid_t,
                                      value_mask:   u32,
                                      value_list:   *const u32)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_change_window_attributes (c:          *mut xcb_connection_t,
                                         window:     xcb_window_t,
                                         value_mask: u32,
                                         value_list: *const u32)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_change_window_attributes_checked (c:          *mut xcb_connection_t,
                                                 window:     xcb_window_t,
                                                 value_mask: u32,
                                                 value_list: *const u32)
            -> xcb_void_cookie_t;
    
    pub fn xcb_get_window_attributes_reply (c:      *mut xcb_connection_t,
                                            cookie: xcb_get_window_attributes_cookie_t,
                                            error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_window_attributes_reply_t;
    
    
    
    pub fn xcb_get_window_attributes (c:      *mut xcb_connection_t,
                                      window: xcb_window_t)
            -> xcb_get_window_attributes_cookie_t;
    
    
    
    pub fn xcb_get_window_attributes_unchecked (c:      *mut xcb_connection_t,
                                                window: xcb_window_t)
            -> xcb_get_window_attributes_cookie_t;
    
    
    
    
    
    
    
    
    pub fn xcb_destroy_window (c:      *mut xcb_connection_t,
                               window: xcb_window_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    pub fn xcb_destroy_window_checked (c:      *mut xcb_connection_t,
                                       window: xcb_window_t)
            -> xcb_void_cookie_t;
    pub fn xcb_destroy_subwindows (c:      *mut xcb_connection_t,
                                   window: xcb_window_t)
            -> xcb_void_cookie_t;
    pub fn xcb_destroy_subwindows_checked (c:      *mut xcb_connection_t,
                                           window: xcb_window_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    pub fn xcb_change_save_set (c:      *mut xcb_connection_t,
                                mode:   u8,
                                window: xcb_window_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    pub fn xcb_change_save_set_checked (c:      *mut xcb_connection_t,
                                        mode:   u8,
                                        window: xcb_window_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    pub fn xcb_reparent_window (c:      *mut xcb_connection_t,
                                window: xcb_window_t,
                                parent: xcb_window_t,
                                x:      i16,
                                y:      i16)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    pub fn xcb_reparent_window_checked (c:      *mut xcb_connection_t,
                                        window: xcb_window_t,
                                        parent: xcb_window_t,
                                        x:      i16,
                                        y:      i16)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_map_window (c:      *mut xcb_connection_t,
                           window: xcb_window_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_map_window_checked (c:      *mut xcb_connection_t,
                                   window: xcb_window_t)
            -> xcb_void_cookie_t;
    pub fn xcb_map_subwindows (c:      *mut xcb_connection_t,
                               window: xcb_window_t)
            -> xcb_void_cookie_t;
    pub fn xcb_map_subwindows_checked (c:      *mut xcb_connection_t,
                                       window: xcb_window_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    pub fn xcb_unmap_window (c:      *mut xcb_connection_t,
                             window: xcb_window_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    pub fn xcb_unmap_window_checked (c:      *mut xcb_connection_t,
                                     window: xcb_window_t)
            -> xcb_void_cookie_t;
    pub fn xcb_unmap_subwindows (c:      *mut xcb_connection_t,
                                 window: xcb_window_t)
            -> xcb_void_cookie_t;
    pub fn xcb_unmap_subwindows_checked (c:      *mut xcb_connection_t,
                                         window: xcb_window_t)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_configure_window (c:          *mut xcb_connection_t,
                                 window:     xcb_window_t,
                                 value_mask: u16,
                                 value_list: *const u32)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_configure_window_checked (c:          *mut xcb_connection_t,
                                         window:     xcb_window_t,
                                         value_mask: u16,
                                         value_list: *const u32)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    pub fn xcb_circulate_window (c:         *mut xcb_connection_t,
                                 direction: u8,
                                 window:    xcb_window_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    pub fn xcb_circulate_window_checked (c:         *mut xcb_connection_t,
                                         direction: u8,
                                         window:    xcb_window_t)
            -> xcb_void_cookie_t;
    
    pub fn xcb_get_geometry_reply (c:      *mut xcb_connection_t,
                                   cookie: xcb_get_geometry_cookie_t,
                                   error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_geometry_reply_t;
    
    
    
    pub fn xcb_get_geometry (c:        *mut xcb_connection_t,
                             drawable: xcb_drawable_t)
            -> xcb_get_geometry_cookie_t;
    
    
    
    pub fn xcb_get_geometry_unchecked (c:        *mut xcb_connection_t,
                                       drawable: xcb_drawable_t)
            -> xcb_get_geometry_cookie_t;
    pub fn xcb_query_tree_children (R: *const xcb_query_tree_reply_t)
            -> *mut xcb_window_t;
    pub fn xcb_query_tree_children_length (R: *const xcb_query_tree_reply_t)
            -> c_int;
    pub fn xcb_query_tree_children_end (R: *const xcb_query_tree_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_query_tree_reply (c:      *mut xcb_connection_t,
                                 cookie: xcb_query_tree_cookie_t,
                                 error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_query_tree_reply_t;
    
    
    
    
    pub fn xcb_query_tree (c:      *mut xcb_connection_t,
                           window: xcb_window_t)
            -> xcb_query_tree_cookie_t;
    
    
    
    
    pub fn xcb_query_tree_unchecked (c:      *mut xcb_connection_t,
                                     window: xcb_window_t)
            -> xcb_query_tree_cookie_t;
    
    pub fn xcb_intern_atom_reply (c:      *mut xcb_connection_t,
                                  cookie: xcb_intern_atom_cookie_t,
                                  error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_intern_atom_reply_t;
    
    
    
    
    
    
    
    
    
    pub fn xcb_intern_atom (c:              *mut xcb_connection_t,
                            only_if_exists: u8,
                            name_len:       u16,
                            name:           *const c_char)
            -> xcb_intern_atom_cookie_t;
    
    
    
    
    
    
    
    
    
    pub fn xcb_intern_atom_unchecked (c:              *mut xcb_connection_t,
                                      only_if_exists: u8,
                                      name_len:       u16,
                                      name:           *const c_char)
            -> xcb_intern_atom_cookie_t;
    pub fn xcb_get_atom_name_name (R: *const xcb_get_atom_name_reply_t)
            -> *mut c_char;
    pub fn xcb_get_atom_name_name_length (R: *const xcb_get_atom_name_reply_t)
            -> c_int;
    pub fn xcb_get_atom_name_name_end (R: *const xcb_get_atom_name_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_get_atom_name_reply (c:      *mut xcb_connection_t,
                                    cookie: xcb_get_atom_name_cookie_t,
                                    error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_atom_name_reply_t;
    pub fn xcb_get_atom_name (c:    *mut xcb_connection_t,
                              atom: xcb_atom_t)
            -> xcb_get_atom_name_cookie_t;
    pub fn xcb_get_atom_name_unchecked (c:    *mut xcb_connection_t,
                                        atom: xcb_atom_t)
            -> xcb_get_atom_name_cookie_t;
    
    
    
    
    
    
    pub fn xcb_change_property (c:        *mut xcb_connection_t,
                                mode:     u8,
                                window:   xcb_window_t,
                                property: xcb_atom_t,
                                type_:    xcb_atom_t,
                                format:   u8,
                                data_len: u32,
                                data:     *const c_void)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    pub fn xcb_change_property_checked (c:        *mut xcb_connection_t,
                                        mode:     u8,
                                        window:   xcb_window_t,
                                        property: xcb_atom_t,
                                        type_:    xcb_atom_t,
                                        format:   u8,
                                        data_len: u32,
                                        data:     *const c_void)
            -> xcb_void_cookie_t;
    pub fn xcb_delete_property (c:        *mut xcb_connection_t,
                                window:   xcb_window_t,
                                property: xcb_atom_t)
            -> xcb_void_cookie_t;
    pub fn xcb_delete_property_checked (c:        *mut xcb_connection_t,
                                        window:   xcb_window_t,
                                        property: xcb_atom_t)
            -> xcb_void_cookie_t;
    pub fn xcb_get_property_value (R: *const xcb_get_property_reply_t)
            -> *mut c_void;
    pub fn xcb_get_property_value_length (R: *const xcb_get_property_reply_t)
            -> c_int;
    pub fn xcb_get_property_value_end (R: *const xcb_get_property_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_get_property_reply (c:      *mut xcb_connection_t,
                                   cookie: xcb_get_property_cookie_t,
                                   error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_property_reply_t;
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_get_property (c:           *mut xcb_connection_t,
                             delete:      u8,
                             window:      xcb_window_t,
                             property:    xcb_atom_t,
                             type_:       xcb_atom_t,
                             long_offset: u32,
                             long_length: u32)
            -> xcb_get_property_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_get_property_unchecked (c:           *mut xcb_connection_t,
                                       delete:      u8,
                                       window:      xcb_window_t,
                                       property:    xcb_atom_t,
                                       type_:       xcb_atom_t,
                                       long_offset: u32,
                                       long_length: u32)
            -> xcb_get_property_cookie_t;
    pub fn xcb_list_properties_atoms (R: *const xcb_list_properties_reply_t)
            -> *mut xcb_atom_t;
    pub fn xcb_list_properties_atoms_length (R: *const xcb_list_properties_reply_t)
            -> c_int;
    pub fn xcb_list_properties_atoms_end (R: *const xcb_list_properties_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_list_properties_reply (c:      *mut xcb_connection_t,
                                      cookie: xcb_list_properties_cookie_t,
                                      error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_list_properties_reply_t;
    pub fn xcb_list_properties (c:      *mut xcb_connection_t,
                                window: xcb_window_t)
            -> xcb_list_properties_cookie_t;
    pub fn xcb_list_properties_unchecked (c:      *mut xcb_connection_t,
                                          window: xcb_window_t)
            -> xcb_list_properties_cookie_t;
    
    
    
    
    
    
    pub fn xcb_set_selection_owner (c:         *mut xcb_connection_t,
                                    owner:     xcb_window_t,
                                    selection: xcb_atom_t,
                                    time:      xcb_timestamp_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    pub fn xcb_set_selection_owner_checked (c:         *mut xcb_connection_t,
                                            owner:     xcb_window_t,
                                            selection: xcb_atom_t,
                                            time:      xcb_timestamp_t)
            -> xcb_void_cookie_t;
    
    pub fn xcb_get_selection_owner_reply (c:      *mut xcb_connection_t,
                                          cookie: xcb_get_selection_owner_cookie_t,
                                          error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_selection_owner_reply_t;
    
    
    
    
    
    pub fn xcb_get_selection_owner (c:         *mut xcb_connection_t,
                                    selection: xcb_atom_t)
            -> xcb_get_selection_owner_cookie_t;
    
    
    
    
    
    pub fn xcb_get_selection_owner_unchecked (c:         *mut xcb_connection_t,
                                              selection: xcb_atom_t)
            -> xcb_get_selection_owner_cookie_t;
    pub fn xcb_convert_selection (c:         *mut xcb_connection_t,
                                  requestor: xcb_window_t,
                                  selection: xcb_atom_t,
                                  target:    xcb_atom_t,
                                  property:  xcb_atom_t,
                                  time:      xcb_timestamp_t)
            -> xcb_void_cookie_t;
    pub fn xcb_convert_selection_checked (c:         *mut xcb_connection_t,
                                          requestor: xcb_window_t,
                                          selection: xcb_atom_t,
                                          target:    xcb_atom_t,
                                          property:  xcb_atom_t,
                                          time:      xcb_timestamp_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    pub fn xcb_send_event (c:           *mut xcb_connection_t,
                           propagate:   u8,
                           destination: xcb_window_t,
                           event_mask:  u32,
                           event:       *const c_char)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    pub fn xcb_send_event_checked (c:           *mut xcb_connection_t,
                                   propagate:   u8,
                                   destination: xcb_window_t,
                                   event_mask:  u32,
                                   event:       *const c_char)
            -> xcb_void_cookie_t;
    
    pub fn xcb_grab_pointer_reply (c:      *mut xcb_connection_t,
                                   cookie: xcb_grab_pointer_cookie_t,
                                   error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_grab_pointer_reply_t;
    
    
    
    pub fn xcb_grab_pointer (c:             *mut xcb_connection_t,
                             owner_events:  u8,
                             grab_window:   xcb_window_t,
                             event_mask:    u16,
                             pointer_mode:  u8,
                             keyboard_mode: u8,
                             confine_to:    xcb_window_t,
                             cursor:        xcb_cursor_t,
                             time:          xcb_timestamp_t)
            -> xcb_grab_pointer_cookie_t;
    
    
    
    pub fn xcb_grab_pointer_unchecked (c:             *mut xcb_connection_t,
                                       owner_events:  u8,
                                       grab_window:   xcb_window_t,
                                       event_mask:    u16,
                                       pointer_mode:  u8,
                                       keyboard_mode: u8,
                                       confine_to:    xcb_window_t,
                                       cursor:        xcb_cursor_t,
                                       time:          xcb_timestamp_t)
            -> xcb_grab_pointer_cookie_t;
    
    
    
    
    
    
    
    pub fn xcb_ungrab_pointer (c:    *mut xcb_connection_t,
                               time: xcb_timestamp_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    pub fn xcb_ungrab_pointer_checked (c:    *mut xcb_connection_t,
                                       time: xcb_timestamp_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_grab_button (c:             *mut xcb_connection_t,
                            owner_events:  u8,
                            grab_window:   xcb_window_t,
                            event_mask:    u16,
                            pointer_mode:  u8,
                            keyboard_mode: u8,
                            confine_to:    xcb_window_t,
                            cursor:        xcb_cursor_t,
                            button:        u8,
                            modifiers:     u16)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_grab_button_checked (c:             *mut xcb_connection_t,
                                    owner_events:  u8,
                                    grab_window:   xcb_window_t,
                                    event_mask:    u16,
                                    pointer_mode:  u8,
                                    keyboard_mode: u8,
                                    confine_to:    xcb_window_t,
                                    cursor:        xcb_cursor_t,
                                    button:        u8,
                                    modifiers:     u16)
            -> xcb_void_cookie_t;
    pub fn xcb_ungrab_button (c:           *mut xcb_connection_t,
                              button:      u8,
                              grab_window: xcb_window_t,
                              modifiers:   u16)
            -> xcb_void_cookie_t;
    pub fn xcb_ungrab_button_checked (c:           *mut xcb_connection_t,
                                      button:      u8,
                                      grab_window: xcb_window_t,
                                      modifiers:   u16)
            -> xcb_void_cookie_t;
    pub fn xcb_change_active_pointer_grab (c:          *mut xcb_connection_t,
                                           cursor:     xcb_cursor_t,
                                           time:       xcb_timestamp_t,
                                           event_mask: u16)
            -> xcb_void_cookie_t;
    pub fn xcb_change_active_pointer_grab_checked (c:          *mut xcb_connection_t,
                                                   cursor:     xcb_cursor_t,
                                                   time:       xcb_timestamp_t,
                                                   event_mask: u16)
            -> xcb_void_cookie_t;
    
    pub fn xcb_grab_keyboard_reply (c:      *mut xcb_connection_t,
                                    cookie: xcb_grab_keyboard_cookie_t,
                                    error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_grab_keyboard_reply_t;
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_grab_keyboard (c:             *mut xcb_connection_t,
                              owner_events:  u8,
                              grab_window:   xcb_window_t,
                              time:          xcb_timestamp_t,
                              pointer_mode:  u8,
                              keyboard_mode: u8)
            -> xcb_grab_keyboard_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_grab_keyboard_unchecked (c:             *mut xcb_connection_t,
                                        owner_events:  u8,
                                        grab_window:   xcb_window_t,
                                        time:          xcb_timestamp_t,
                                        pointer_mode:  u8,
                                        keyboard_mode: u8)
            -> xcb_grab_keyboard_cookie_t;
    pub fn xcb_ungrab_keyboard (c:    *mut xcb_connection_t,
                                time: xcb_timestamp_t)
            -> xcb_void_cookie_t;
    pub fn xcb_ungrab_keyboard_checked (c:    *mut xcb_connection_t,
                                        time: xcb_timestamp_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_grab_key (c:             *mut xcb_connection_t,
                         owner_events:  u8,
                         grab_window:   xcb_window_t,
                         modifiers:     u16,
                         key:           xcb_keycode_t,
                         pointer_mode:  u8,
                         keyboard_mode: u8)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_grab_key_checked (c:             *mut xcb_connection_t,
                                 owner_events:  u8,
                                 grab_window:   xcb_window_t,
                                 modifiers:     u16,
                                 key:           xcb_keycode_t,
                                 pointer_mode:  u8,
                                 keyboard_mode: u8)
            -> xcb_void_cookie_t;
    
    
    
    
    pub fn xcb_ungrab_key (c:           *mut xcb_connection_t,
                           key:         xcb_keycode_t,
                           grab_window: xcb_window_t,
                           modifiers:   u16)
            -> xcb_void_cookie_t;
    
    
    
    
    pub fn xcb_ungrab_key_checked (c:           *mut xcb_connection_t,
                                   key:         xcb_keycode_t,
                                   grab_window: xcb_window_t,
                                   modifiers:   u16)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    pub fn xcb_allow_events (c:    *mut xcb_connection_t,
                             mode: u8,
                             time: xcb_timestamp_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    pub fn xcb_allow_events_checked (c:    *mut xcb_connection_t,
                                     mode: u8,
                                     time: xcb_timestamp_t)
            -> xcb_void_cookie_t;
    pub fn xcb_grab_server (c: *mut xcb_connection_t)
            -> xcb_void_cookie_t;
    pub fn xcb_grab_server_checked (c: *mut xcb_connection_t)
            -> xcb_void_cookie_t;
    pub fn xcb_ungrab_server (c: *mut xcb_connection_t)
            -> xcb_void_cookie_t;
    pub fn xcb_ungrab_server_checked (c: *mut xcb_connection_t)
            -> xcb_void_cookie_t;
    
    pub fn xcb_query_pointer_reply (c:      *mut xcb_connection_t,
                                    cookie: xcb_query_pointer_cookie_t,
                                    error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_query_pointer_reply_t;
    
    
    
    
    pub fn xcb_query_pointer (c:      *mut xcb_connection_t,
                              window: xcb_window_t)
            -> xcb_query_pointer_cookie_t;
    
    
    
    
    pub fn xcb_query_pointer_unchecked (c:      *mut xcb_connection_t,
                                        window: xcb_window_t)
            -> xcb_query_pointer_cookie_t;
    pub fn xcb_timecoord_next (i: *mut xcb_timecoord_iterator_t);
    pub fn xcb_timecoord_end (i: *mut xcb_timecoord_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_get_motion_events_events (R: *const xcb_get_motion_events_reply_t)
            -> *mut xcb_timecoord_t;
    pub fn xcb_get_motion_events_events_length (R: *const xcb_get_motion_events_reply_t)
            -> c_int;
    pub fn xcb_get_motion_events_events_iterator (R: *const xcb_get_motion_events_reply_t)
            -> xcb_timecoord_iterator_t;
    
    pub fn xcb_get_motion_events_reply (c:      *mut xcb_connection_t,
                                        cookie: xcb_get_motion_events_cookie_t,
                                        error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_motion_events_reply_t;
    pub fn xcb_get_motion_events (c:      *mut xcb_connection_t,
                                  window: xcb_window_t,
                                  start:  xcb_timestamp_t,
                                  stop:   xcb_timestamp_t)
            -> xcb_get_motion_events_cookie_t;
    pub fn xcb_get_motion_events_unchecked (c:      *mut xcb_connection_t,
                                            window: xcb_window_t,
                                            start:  xcb_timestamp_t,
                                            stop:   xcb_timestamp_t)
            -> xcb_get_motion_events_cookie_t;
    
    pub fn xcb_translate_coordinates_reply (c:      *mut xcb_connection_t,
                                            cookie: xcb_translate_coordinates_cookie_t,
                                            error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_translate_coordinates_reply_t;
    pub fn xcb_translate_coordinates (c:          *mut xcb_connection_t,
                                      src_window: xcb_window_t,
                                      dst_window: xcb_window_t,
                                      src_x:      i16,
                                      src_y:      i16)
            -> xcb_translate_coordinates_cookie_t;
    pub fn xcb_translate_coordinates_unchecked (c:          *mut xcb_connection_t,
                                                src_window: xcb_window_t,
                                                dst_window: xcb_window_t,
                                                src_x:      i16,
                                                src_y:      i16)
            -> xcb_translate_coordinates_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_warp_pointer (c:          *mut xcb_connection_t,
                             src_window: xcb_window_t,
                             dst_window: xcb_window_t,
                             src_x:      i16,
                             src_y:      i16,
                             src_width:  u16,
                             src_height: u16,
                             dst_x:      i16,
                             dst_y:      i16)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_warp_pointer_checked (c:          *mut xcb_connection_t,
                                     src_window: xcb_window_t,
                                     dst_window: xcb_window_t,
                                     src_x:      i16,
                                     src_y:      i16,
                                     src_width:  u16,
                                     src_height: u16,
                                     dst_x:      i16,
                                     dst_y:      i16)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    pub fn xcb_set_input_focus (c:         *mut xcb_connection_t,
                                revert_to: u8,
                                focus:     xcb_window_t,
                                time:      xcb_timestamp_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    pub fn xcb_set_input_focus_checked (c:         *mut xcb_connection_t,
                                        revert_to: u8,
                                        focus:     xcb_window_t,
                                        time:      xcb_timestamp_t)
            -> xcb_void_cookie_t;
    
    pub fn xcb_get_input_focus_reply (c:      *mut xcb_connection_t,
                                      cookie: xcb_get_input_focus_cookie_t,
                                      error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_input_focus_reply_t;
    pub fn xcb_get_input_focus (c: *mut xcb_connection_t)
            -> xcb_get_input_focus_cookie_t;
    pub fn xcb_get_input_focus_unchecked (c: *mut xcb_connection_t)
            -> xcb_get_input_focus_cookie_t;
    
    pub fn xcb_query_keymap_reply (c:      *mut xcb_connection_t,
                                   cookie: xcb_query_keymap_cookie_t,
                                   error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_query_keymap_reply_t;
    pub fn xcb_query_keymap (c: *mut xcb_connection_t)
            -> xcb_query_keymap_cookie_t;
    pub fn xcb_query_keymap_unchecked (c: *mut xcb_connection_t)
            -> xcb_query_keymap_cookie_t;
    
    
    
    
    
    
    pub fn xcb_open_font (c:        *mut xcb_connection_t,
                          fid:      xcb_font_t,
                          name_len: u16,
                          name:     *const c_char)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    pub fn xcb_open_font_checked (c:        *mut xcb_connection_t,
                                  fid:      xcb_font_t,
                                  name_len: u16,
                                  name:     *const c_char)
            -> xcb_void_cookie_t;
    pub fn xcb_close_font (c:    *mut xcb_connection_t,
                           font: xcb_font_t)
            -> xcb_void_cookie_t;
    pub fn xcb_close_font_checked (c:    *mut xcb_connection_t,
                                   font: xcb_font_t)
            -> xcb_void_cookie_t;
    pub fn xcb_fontprop_next (i: *mut xcb_fontprop_iterator_t);
    pub fn xcb_fontprop_end (i: *mut xcb_fontprop_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_charinfo_next (i: *mut xcb_charinfo_iterator_t);
    pub fn xcb_charinfo_end (i: *mut xcb_charinfo_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_query_font_properties (R: *const xcb_query_font_reply_t)
            -> *mut xcb_fontprop_t;
    pub fn xcb_query_font_properties_length (R: *const xcb_query_font_reply_t)
            -> c_int;
    pub fn xcb_query_font_properties_iterator (R: *const xcb_query_font_reply_t)
            -> xcb_fontprop_iterator_t;
    pub fn xcb_query_font_char_infos (R: *const xcb_query_font_reply_t)
            -> *mut xcb_charinfo_t;
    pub fn xcb_query_font_char_infos_length (R: *const xcb_query_font_reply_t)
            -> c_int;
    pub fn xcb_query_font_char_infos_iterator (R: *const xcb_query_font_reply_t)
            -> xcb_charinfo_iterator_t;
    
    pub fn xcb_query_font_reply (c:      *mut xcb_connection_t,
                                 cookie: xcb_query_font_cookie_t,
                                 error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_query_font_reply_t;
    
    
    
    pub fn xcb_query_font (c:    *mut xcb_connection_t,
                           font: xcb_fontable_t)
            -> xcb_query_font_cookie_t;
    
    
    
    pub fn xcb_query_font_unchecked (c:    *mut xcb_connection_t,
                                     font: xcb_fontable_t)
            -> xcb_query_font_cookie_t;
    
    pub fn xcb_query_text_extents_reply (c:      *mut xcb_connection_t,
                                         cookie: xcb_query_text_extents_cookie_t,
                                         error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_query_text_extents_reply_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_query_text_extents (c:          *mut xcb_connection_t,
                                   font:       xcb_fontable_t,
                                   string_len: u32,
                                   string:     *const xcb_char2b_t)
            -> xcb_query_text_extents_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_query_text_extents_unchecked (c:          *mut xcb_connection_t,
                                             font:       xcb_fontable_t,
                                             string_len: u32,
                                             string:     *const xcb_char2b_t)
            -> xcb_query_text_extents_cookie_t;
    pub fn xcb_str_name (R: *const xcb_str_t)
            -> *mut c_char;
    pub fn xcb_str_name_length (R: *const xcb_str_t)
            -> c_int;
    pub fn xcb_str_name_end (R: *const xcb_str_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_str_next (i: *mut xcb_str_iterator_t);
    pub fn xcb_str_end (i: *mut xcb_str_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_list_fonts_names_length (R: *const xcb_list_fonts_reply_t)
            -> c_int;
    pub fn xcb_list_fonts_names_iterator<'a> (R: *const xcb_list_fonts_reply_t)
            -> xcb_str_iterator_t<'a>;
    
    pub fn xcb_list_fonts_reply (c:      *mut xcb_connection_t,
                                 cookie: xcb_list_fonts_cookie_t,
                                 error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_list_fonts_reply_t;
    
    
    
    pub fn xcb_list_fonts (c:           *mut xcb_connection_t,
                           max_names:   u16,
                           pattern_len: u16,
                           pattern:     *const c_char)
            -> xcb_list_fonts_cookie_t;
    
    
    
    pub fn xcb_list_fonts_unchecked (c:           *mut xcb_connection_t,
                                     max_names:   u16,
                                     pattern_len: u16,
                                     pattern:     *const c_char)
            -> xcb_list_fonts_cookie_t;
    pub fn xcb_list_fonts_with_info_properties (R: *const xcb_list_fonts_with_info_reply_t)
            -> *mut xcb_fontprop_t;
    pub fn xcb_list_fonts_with_info_properties_length (R: *const xcb_list_fonts_with_info_reply_t)
            -> c_int;
    pub fn xcb_list_fonts_with_info_properties_iterator (R: *const xcb_list_fonts_with_info_reply_t)
            -> xcb_fontprop_iterator_t;
    pub fn xcb_list_fonts_with_info_name (R: *const xcb_list_fonts_with_info_reply_t)
            -> *mut c_char;
    pub fn xcb_list_fonts_with_info_name_length (R: *const xcb_list_fonts_with_info_reply_t)
            -> c_int;
    pub fn xcb_list_fonts_with_info_name_end (R: *const xcb_list_fonts_with_info_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_list_fonts_with_info_reply (c:      *mut xcb_connection_t,
                                           cookie: xcb_list_fonts_with_info_cookie_t,
                                           error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_list_fonts_with_info_reply_t;
    
    
    
    pub fn xcb_list_fonts_with_info (c:           *mut xcb_connection_t,
                                     max_names:   u16,
                                     pattern_len: u16,
                                     pattern:     *const c_char)
            -> xcb_list_fonts_with_info_cookie_t;
    
    
    
    pub fn xcb_list_fonts_with_info_unchecked (c:           *mut xcb_connection_t,
                                               max_names:   u16,
                                               pattern_len: u16,
                                               pattern:     *const c_char)
            -> xcb_list_fonts_with_info_cookie_t;
    pub fn xcb_set_font_path (c:        *mut xcb_connection_t,
                              font_qty: u16,
                              font:     *const xcb_str_t)
            -> xcb_void_cookie_t;
    pub fn xcb_set_font_path_checked (c:        *mut xcb_connection_t,
                                      font_qty: u16,
                                      font:     *const xcb_str_t)
            -> xcb_void_cookie_t;
    pub fn xcb_get_font_path_path_length (R: *const xcb_get_font_path_reply_t)
            -> c_int;
    pub fn xcb_get_font_path_path_iterator<'a> (R: *const xcb_get_font_path_reply_t)
            -> xcb_str_iterator_t<'a>;
    
    pub fn xcb_get_font_path_reply (c:      *mut xcb_connection_t,
                                    cookie: xcb_get_font_path_cookie_t,
                                    error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_font_path_reply_t;
    pub fn xcb_get_font_path (c: *mut xcb_connection_t)
            -> xcb_get_font_path_cookie_t;
    pub fn xcb_get_font_path_unchecked (c: *mut xcb_connection_t)
            -> xcb_get_font_path_cookie_t;
    
    
    
    
    pub fn xcb_create_pixmap (c:        *mut xcb_connection_t,
                              depth:    u8,
                              pid:      xcb_pixmap_t,
                              drawable: xcb_drawable_t,
                              width:    u16,
                              height:   u16)
            -> xcb_void_cookie_t;
    
    
    
    
    pub fn xcb_create_pixmap_checked (c:        *mut xcb_connection_t,
                                      depth:    u8,
                                      pid:      xcb_pixmap_t,
                                      drawable: xcb_drawable_t,
                                      width:    u16,
                                      height:   u16)
            -> xcb_void_cookie_t;
    
    
    
    
    pub fn xcb_free_pixmap (c:      *mut xcb_connection_t,
                            pixmap: xcb_pixmap_t)
            -> xcb_void_cookie_t;
    
    
    
    
    pub fn xcb_free_pixmap_checked (c:      *mut xcb_connection_t,
                                    pixmap: xcb_pixmap_t)
            -> xcb_void_cookie_t;
    
    
    
    
    pub fn xcb_create_gc (c:          *mut xcb_connection_t,
                          cid:        xcb_gcontext_t,
                          drawable:   xcb_drawable_t,
                          value_mask: u32,
                          value_list: *const u32)
            -> xcb_void_cookie_t;
    
    
    
    
    pub fn xcb_create_gc_checked (c:          *mut xcb_connection_t,
                                  cid:        xcb_gcontext_t,
                                  drawable:   xcb_drawable_t,
                                  value_mask: u32,
                                  value_list: *const u32)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_change_gc (c:          *mut xcb_connection_t,
                          gc:         xcb_gcontext_t,
                          value_mask: u32,
                          value_list: *const u32)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_change_gc_checked (c:          *mut xcb_connection_t,
                                  gc:         xcb_gcontext_t,
                                  value_mask: u32,
                                  value_list: *const u32)
            -> xcb_void_cookie_t;
    pub fn xcb_copy_gc (c:          *mut xcb_connection_t,
                        src_gc:     xcb_gcontext_t,
                        dst_gc:     xcb_gcontext_t,
                        value_mask: u32)
            -> xcb_void_cookie_t;
    pub fn xcb_copy_gc_checked (c:          *mut xcb_connection_t,
                                src_gc:     xcb_gcontext_t,
                                dst_gc:     xcb_gcontext_t,
                                value_mask: u32)
            -> xcb_void_cookie_t;
    pub fn xcb_set_dashes (c:           *mut xcb_connection_t,
                           gc:          xcb_gcontext_t,
                           dash_offset: u16,
                           dashes_len:  u16,
                           dashes:      *const u8)
            -> xcb_void_cookie_t;
    pub fn xcb_set_dashes_checked (c:           *mut xcb_connection_t,
                                   gc:          xcb_gcontext_t,
                                   dash_offset: u16,
                                   dashes_len:  u16,
                                   dashes:      *const u8)
            -> xcb_void_cookie_t;
    pub fn xcb_set_clip_rectangles (c:              *mut xcb_connection_t,
                                    ordering:       u8,
                                    gc:             xcb_gcontext_t,
                                    clip_x_origin:  i16,
                                    clip_y_origin:  i16,
                                    rectangles_len: u32,
                                    rectangles:     *const xcb_rectangle_t)
            -> xcb_void_cookie_t;
    pub fn xcb_set_clip_rectangles_checked (c:              *mut xcb_connection_t,
                                            ordering:       u8,
                                            gc:             xcb_gcontext_t,
                                            clip_x_origin:  i16,
                                            clip_y_origin:  i16,
                                            rectangles_len: u32,
                                            rectangles:     *const xcb_rectangle_t)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_free_gc (c:  *mut xcb_connection_t,
                        gc: xcb_gcontext_t)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_free_gc_checked (c:  *mut xcb_connection_t,
                                gc: xcb_gcontext_t)
            -> xcb_void_cookie_t;
    pub fn xcb_clear_area (c:         *mut xcb_connection_t,
                           exposures: u8,
                           window:    xcb_window_t,
                           x:         i16,
                           y:         i16,
                           width:     u16,
                           height:    u16)
            -> xcb_void_cookie_t;
    pub fn xcb_clear_area_checked (c:         *mut xcb_connection_t,
                                   exposures: u8,
                                   window:    xcb_window_t,
                                   x:         i16,
                                   y:         i16,
                                   width:     u16,
                                   height:    u16)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_copy_area (c:            *mut xcb_connection_t,
                          src_drawable: xcb_drawable_t,
                          dst_drawable: xcb_drawable_t,
                          gc:           xcb_gcontext_t,
                          src_x:        i16,
                          src_y:        i16,
                          dst_x:        i16,
                          dst_y:        i16,
                          width:        u16,
                          height:       u16)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_copy_area_checked (c:            *mut xcb_connection_t,
                                  src_drawable: xcb_drawable_t,
                                  dst_drawable: xcb_drawable_t,
                                  gc:           xcb_gcontext_t,
                                  src_x:        i16,
                                  src_y:        i16,
                                  dst_x:        i16,
                                  dst_y:        i16,
                                  width:        u16,
                                  height:       u16)
            -> xcb_void_cookie_t;
    pub fn xcb_copy_plane (c:            *mut xcb_connection_t,
                           src_drawable: xcb_drawable_t,
                           dst_drawable: xcb_drawable_t,
                           gc:           xcb_gcontext_t,
                           src_x:        i16,
                           src_y:        i16,
                           dst_x:        i16,
                           dst_y:        i16,
                           width:        u16,
                           height:       u16,
                           bit_plane:    u32)
            -> xcb_void_cookie_t;
    pub fn xcb_copy_plane_checked (c:            *mut xcb_connection_t,
                                   src_drawable: xcb_drawable_t,
                                   dst_drawable: xcb_drawable_t,
                                   gc:           xcb_gcontext_t,
                                   src_x:        i16,
                                   src_y:        i16,
                                   dst_x:        i16,
                                   dst_y:        i16,
                                   width:        u16,
                                   height:       u16,
                                   bit_plane:    u32)
            -> xcb_void_cookie_t;
    pub fn xcb_poly_point (c:               *mut xcb_connection_t,
                           coordinate_mode: u8,
                           drawable:        xcb_drawable_t,
                           gc:              xcb_gcontext_t,
                           points_len:      u32,
                           points:          *const xcb_point_t)
            -> xcb_void_cookie_t;
    pub fn xcb_poly_point_checked (c:               *mut xcb_connection_t,
                                   coordinate_mode: u8,
                                   drawable:        xcb_drawable_t,
                                   gc:              xcb_gcontext_t,
                                   points_len:      u32,
                                   points:          *const xcb_point_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_poly_line (c:               *mut xcb_connection_t,
                          coordinate_mode: u8,
                          drawable:        xcb_drawable_t,
                          gc:              xcb_gcontext_t,
                          points_len:      u32,
                          points:          *const xcb_point_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_poly_line_checked (c:               *mut xcb_connection_t,
                                  coordinate_mode: u8,
                                  drawable:        xcb_drawable_t,
                                  gc:              xcb_gcontext_t,
                                  points_len:      u32,
                                  points:          *const xcb_point_t)
            -> xcb_void_cookie_t;
    pub fn xcb_segment_next (i: *mut xcb_segment_iterator_t);
    pub fn xcb_segment_end (i: *mut xcb_segment_iterator_t)
            -> xcb_generic_iterator_t;
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_poly_segment (c:            *mut xcb_connection_t,
                             drawable:     xcb_drawable_t,
                             gc:           xcb_gcontext_t,
                             segments_len: u32,
                             segments:     *const xcb_segment_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_poly_segment_checked (c:            *mut xcb_connection_t,
                                     drawable:     xcb_drawable_t,
                                     gc:           xcb_gcontext_t,
                                     segments_len: u32,
                                     segments:     *const xcb_segment_t)
            -> xcb_void_cookie_t;
    pub fn xcb_poly_rectangle (c:              *mut xcb_connection_t,
                               drawable:       xcb_drawable_t,
                               gc:             xcb_gcontext_t,
                               rectangles_len: u32,
                               rectangles:     *const xcb_rectangle_t)
            -> xcb_void_cookie_t;
    pub fn xcb_poly_rectangle_checked (c:              *mut xcb_connection_t,
                                       drawable:       xcb_drawable_t,
                                       gc:             xcb_gcontext_t,
                                       rectangles_len: u32,
                                       rectangles:     *const xcb_rectangle_t)
            -> xcb_void_cookie_t;
    pub fn xcb_poly_arc (c:        *mut xcb_connection_t,
                         drawable: xcb_drawable_t,
                         gc:       xcb_gcontext_t,
                         arcs_len: u32,
                         arcs:     *const xcb_arc_t)
            -> xcb_void_cookie_t;
    pub fn xcb_poly_arc_checked (c:        *mut xcb_connection_t,
                                 drawable: xcb_drawable_t,
                                 gc:       xcb_gcontext_t,
                                 arcs_len: u32,
                                 arcs:     *const xcb_arc_t)
            -> xcb_void_cookie_t;
    pub fn xcb_fill_poly (c:               *mut xcb_connection_t,
                          drawable:        xcb_drawable_t,
                          gc:              xcb_gcontext_t,
                          shape:           u8,
                          coordinate_mode: u8,
                          points_len:      u32,
                          points:          *const xcb_point_t)
            -> xcb_void_cookie_t;
    pub fn xcb_fill_poly_checked (c:               *mut xcb_connection_t,
                                  drawable:        xcb_drawable_t,
                                  gc:              xcb_gcontext_t,
                                  shape:           u8,
                                  coordinate_mode: u8,
                                  points_len:      u32,
                                  points:          *const xcb_point_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    pub fn xcb_poly_fill_rectangle (c:              *mut xcb_connection_t,
                                    drawable:       xcb_drawable_t,
                                    gc:             xcb_gcontext_t,
                                    rectangles_len: u32,
                                    rectangles:     *const xcb_rectangle_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    pub fn xcb_poly_fill_rectangle_checked (c:              *mut xcb_connection_t,
                                            drawable:       xcb_drawable_t,
                                            gc:             xcb_gcontext_t,
                                            rectangles_len: u32,
                                            rectangles:     *const xcb_rectangle_t)
            -> xcb_void_cookie_t;
    pub fn xcb_poly_fill_arc (c:        *mut xcb_connection_t,
                              drawable: xcb_drawable_t,
                              gc:       xcb_gcontext_t,
                              arcs_len: u32,
                              arcs:     *const xcb_arc_t)
            -> xcb_void_cookie_t;
    pub fn xcb_poly_fill_arc_checked (c:        *mut xcb_connection_t,
                                      drawable: xcb_drawable_t,
                                      gc:       xcb_gcontext_t,
                                      arcs_len: u32,
                                      arcs:     *const xcb_arc_t)
            -> xcb_void_cookie_t;
    pub fn xcb_put_image (c:        *mut xcb_connection_t,
                          format:   u8,
                          drawable: xcb_drawable_t,
                          gc:       xcb_gcontext_t,
                          width:    u16,
                          height:   u16,
                          dst_x:    i16,
                          dst_y:    i16,
                          left_pad: u8,
                          depth:    u8,
                          data_len: u32,
                          data:     *const u8)
            -> xcb_void_cookie_t;
    pub fn xcb_put_image_checked (c:        *mut xcb_connection_t,
                                  format:   u8,
                                  drawable: xcb_drawable_t,
                                  gc:       xcb_gcontext_t,
                                  width:    u16,
                                  height:   u16,
                                  dst_x:    i16,
                                  dst_y:    i16,
                                  left_pad: u8,
                                  depth:    u8,
                                  data_len: u32,
                                  data:     *const u8)
            -> xcb_void_cookie_t;
    pub fn xcb_get_image_data (R: *const xcb_get_image_reply_t)
            -> *mut u8;
    pub fn xcb_get_image_data_length (R: *const xcb_get_image_reply_t)
            -> c_int;
    pub fn xcb_get_image_data_end (R: *const xcb_get_image_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_get_image_reply (c:      *mut xcb_connection_t,
                                cookie: xcb_get_image_cookie_t,
                                error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_image_reply_t;
    pub fn xcb_get_image (c:          *mut xcb_connection_t,
                          format:     u8,
                          drawable:   xcb_drawable_t,
                          x:          i16,
                          y:          i16,
                          width:      u16,
                          height:     u16,
                          plane_mask: u32)
            -> xcb_get_image_cookie_t;
    pub fn xcb_get_image_unchecked (c:          *mut xcb_connection_t,
                                    format:     u8,
                                    drawable:   xcb_drawable_t,
                                    x:          i16,
                                    y:          i16,
                                    width:      u16,
                                    height:     u16,
                                    plane_mask: u32)
            -> xcb_get_image_cookie_t;
    pub fn xcb_poly_text_8 (c:         *mut xcb_connection_t,
                            drawable:  xcb_drawable_t,
                            gc:        xcb_gcontext_t,
                            x:         i16,
                            y:         i16,
                            items_len: u32,
                            items:     *const u8)
            -> xcb_void_cookie_t;
    pub fn xcb_poly_text_8_checked (c:         *mut xcb_connection_t,
                                    drawable:  xcb_drawable_t,
                                    gc:        xcb_gcontext_t,
                                    x:         i16,
                                    y:         i16,
                                    items_len: u32,
                                    items:     *const u8)
            -> xcb_void_cookie_t;
    pub fn xcb_poly_text_16 (c:         *mut xcb_connection_t,
                             drawable:  xcb_drawable_t,
                             gc:        xcb_gcontext_t,
                             x:         i16,
                             y:         i16,
                             items_len: u32,
                             items:     *const u8)
            -> xcb_void_cookie_t;
    pub fn xcb_poly_text_16_checked (c:         *mut xcb_connection_t,
                                     drawable:  xcb_drawable_t,
                                     gc:        xcb_gcontext_t,
                                     x:         i16,
                                     y:         i16,
                                     items_len: u32,
                                     items:     *const u8)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_image_text_8 (c:          *mut xcb_connection_t,
                             string_len: u8,
                             drawable:   xcb_drawable_t,
                             gc:         xcb_gcontext_t,
                             x:          i16,
                             y:          i16,
                             string:     *const c_char)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_image_text_8_checked (c:          *mut xcb_connection_t,
                                     string_len: u8,
                                     drawable:   xcb_drawable_t,
                                     gc:         xcb_gcontext_t,
                                     x:          i16,
                                     y:          i16,
                                     string:     *const c_char)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_image_text_16 (c:          *mut xcb_connection_t,
                              string_len: u8,
                              drawable:   xcb_drawable_t,
                              gc:         xcb_gcontext_t,
                              x:          i16,
                              y:          i16,
                              string:     *const xcb_char2b_t)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_image_text_16_checked (c:          *mut xcb_connection_t,
                                      string_len: u8,
                                      drawable:   xcb_drawable_t,
                                      gc:         xcb_gcontext_t,
                                      x:          i16,
                                      y:          i16,
                                      string:     *const xcb_char2b_t)
            -> xcb_void_cookie_t;
    pub fn xcb_create_colormap (c:      *mut xcb_connection_t,
                                alloc:  u8,
                                mid:    xcb_colormap_t,
                                window: xcb_window_t,
                                visual: xcb_visualid_t)
            -> xcb_void_cookie_t;
    pub fn xcb_create_colormap_checked (c:      *mut xcb_connection_t,
                                        alloc:  u8,
                                        mid:    xcb_colormap_t,
                                        window: xcb_window_t,
                                        visual: xcb_visualid_t)
            -> xcb_void_cookie_t;
    pub fn xcb_free_colormap (c:    *mut xcb_connection_t,
                              cmap: xcb_colormap_t)
            -> xcb_void_cookie_t;
    pub fn xcb_free_colormap_checked (c:    *mut xcb_connection_t,
                                      cmap: xcb_colormap_t)
            -> xcb_void_cookie_t;
    pub fn xcb_copy_colormap_and_free (c:        *mut xcb_connection_t,
                                       mid:      xcb_colormap_t,
                                       src_cmap: xcb_colormap_t)
            -> xcb_void_cookie_t;
    pub fn xcb_copy_colormap_and_free_checked (c:        *mut xcb_connection_t,
                                               mid:      xcb_colormap_t,
                                               src_cmap: xcb_colormap_t)
            -> xcb_void_cookie_t;
    pub fn xcb_install_colormap (c:    *mut xcb_connection_t,
                                 cmap: xcb_colormap_t)
            -> xcb_void_cookie_t;
    pub fn xcb_install_colormap_checked (c:    *mut xcb_connection_t,
                                         cmap: xcb_colormap_t)
            -> xcb_void_cookie_t;
    pub fn xcb_uninstall_colormap (c:    *mut xcb_connection_t,
                                   cmap: xcb_colormap_t)
            -> xcb_void_cookie_t;
    pub fn xcb_uninstall_colormap_checked (c:    *mut xcb_connection_t,
                                           cmap: xcb_colormap_t)
            -> xcb_void_cookie_t;
    pub fn xcb_list_installed_colormaps_cmaps (R: *const xcb_list_installed_colormaps_reply_t)
            -> *mut xcb_colormap_t;
    pub fn xcb_list_installed_colormaps_cmaps_length (R: *const xcb_list_installed_colormaps_reply_t)
            -> c_int;
    pub fn xcb_list_installed_colormaps_cmaps_end (R: *const xcb_list_installed_colormaps_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_list_installed_colormaps_reply (c:      *mut xcb_connection_t,
                                               cookie: xcb_list_installed_colormaps_cookie_t,
                                               error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_list_installed_colormaps_reply_t;
    pub fn xcb_list_installed_colormaps (c:      *mut xcb_connection_t,
                                         window: xcb_window_t)
            -> xcb_list_installed_colormaps_cookie_t;
    pub fn xcb_list_installed_colormaps_unchecked (c:      *mut xcb_connection_t,
                                                   window: xcb_window_t)
            -> xcb_list_installed_colormaps_cookie_t;
    
    pub fn xcb_alloc_color_reply (c:      *mut xcb_connection_t,
                                  cookie: xcb_alloc_color_cookie_t,
                                  error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_alloc_color_reply_t;
    
    
    
    
    
    
    
    pub fn xcb_alloc_color (c:     *mut xcb_connection_t,
                            cmap:  xcb_colormap_t,
                            red:   u16,
                            green: u16,
                            blue:  u16)
            -> xcb_alloc_color_cookie_t;
    
    
    
    
    
    
    
    pub fn xcb_alloc_color_unchecked (c:     *mut xcb_connection_t,
                                      cmap:  xcb_colormap_t,
                                      red:   u16,
                                      green: u16,
                                      blue:  u16)
            -> xcb_alloc_color_cookie_t;
    
    pub fn xcb_alloc_named_color_reply (c:      *mut xcb_connection_t,
                                        cookie: xcb_alloc_named_color_cookie_t,
                                        error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_alloc_named_color_reply_t;
    pub fn xcb_alloc_named_color (c:        *mut xcb_connection_t,
                                  cmap:     xcb_colormap_t,
                                  name_len: u16,
                                  name:     *const c_char)
            -> xcb_alloc_named_color_cookie_t;
    pub fn xcb_alloc_named_color_unchecked (c:        *mut xcb_connection_t,
                                            cmap:     xcb_colormap_t,
                                            name_len: u16,
                                            name:     *const c_char)
            -> xcb_alloc_named_color_cookie_t;
    pub fn xcb_alloc_color_cells_pixels (R: *const xcb_alloc_color_cells_reply_t)
            -> *mut u32;
    pub fn xcb_alloc_color_cells_pixels_length (R: *const xcb_alloc_color_cells_reply_t)
            -> c_int;
    pub fn xcb_alloc_color_cells_pixels_end (R: *const xcb_alloc_color_cells_reply_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_alloc_color_cells_masks (R: *const xcb_alloc_color_cells_reply_t)
            -> *mut u32;
    pub fn xcb_alloc_color_cells_masks_length (R: *const xcb_alloc_color_cells_reply_t)
            -> c_int;
    pub fn xcb_alloc_color_cells_masks_end (R: *const xcb_alloc_color_cells_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_alloc_color_cells_reply (c:      *mut xcb_connection_t,
                                        cookie: xcb_alloc_color_cells_cookie_t,
                                        error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_alloc_color_cells_reply_t;
    pub fn xcb_alloc_color_cells (c:          *mut xcb_connection_t,
                                  contiguous: u8,
                                  cmap:       xcb_colormap_t,
                                  colors:     u16,
                                  planes:     u16)
            -> xcb_alloc_color_cells_cookie_t;
    pub fn xcb_alloc_color_cells_unchecked (c:          *mut xcb_connection_t,
                                            contiguous: u8,
                                            cmap:       xcb_colormap_t,
                                            colors:     u16,
                                            planes:     u16)
            -> xcb_alloc_color_cells_cookie_t;
    pub fn xcb_alloc_color_planes_pixels (R: *const xcb_alloc_color_planes_reply_t)
            -> *mut u32;
    pub fn xcb_alloc_color_planes_pixels_length (R: *const xcb_alloc_color_planes_reply_t)
            -> c_int;
    pub fn xcb_alloc_color_planes_pixels_end (R: *const xcb_alloc_color_planes_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_alloc_color_planes_reply (c:      *mut xcb_connection_t,
                                         cookie: xcb_alloc_color_planes_cookie_t,
                                         error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_alloc_color_planes_reply_t;
    pub fn xcb_alloc_color_planes (c:          *mut xcb_connection_t,
                                   contiguous: u8,
                                   cmap:       xcb_colormap_t,
                                   colors:     u16,
                                   reds:       u16,
                                   greens:     u16,
                                   blues:      u16)
            -> xcb_alloc_color_planes_cookie_t;
    pub fn xcb_alloc_color_planes_unchecked (c:          *mut xcb_connection_t,
                                             contiguous: u8,
                                             cmap:       xcb_colormap_t,
                                             colors:     u16,
                                             reds:       u16,
                                             greens:     u16,
                                             blues:      u16)
            -> xcb_alloc_color_planes_cookie_t;
    pub fn xcb_free_colors (c:          *mut xcb_connection_t,
                            cmap:       xcb_colormap_t,
                            plane_mask: u32,
                            pixels_len: u32,
                            pixels:     *const u32)
            -> xcb_void_cookie_t;
    pub fn xcb_free_colors_checked (c:          *mut xcb_connection_t,
                                    cmap:       xcb_colormap_t,
                                    plane_mask: u32,
                                    pixels_len: u32,
                                    pixels:     *const u32)
            -> xcb_void_cookie_t;
    pub fn xcb_coloritem_next (i: *mut xcb_coloritem_iterator_t);
    pub fn xcb_coloritem_end (i: *mut xcb_coloritem_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_store_colors (c:         *mut xcb_connection_t,
                             cmap:      xcb_colormap_t,
                             items_len: u32,
                             items:     *const xcb_coloritem_t)
            -> xcb_void_cookie_t;
    pub fn xcb_store_colors_checked (c:         *mut xcb_connection_t,
                                     cmap:      xcb_colormap_t,
                                     items_len: u32,
                                     items:     *const xcb_coloritem_t)
            -> xcb_void_cookie_t;
    pub fn xcb_store_named_color (c:        *mut xcb_connection_t,
                                  flags:    u8,
                                  cmap:     xcb_colormap_t,
                                  pixel:    u32,
                                  name_len: u16,
                                  name:     *const c_char)
            -> xcb_void_cookie_t;
    pub fn xcb_store_named_color_checked (c:        *mut xcb_connection_t,
                                          flags:    u8,
                                          cmap:     xcb_colormap_t,
                                          pixel:    u32,
                                          name_len: u16,
                                          name:     *const c_char)
            -> xcb_void_cookie_t;
    pub fn xcb_rgb_next (i: *mut xcb_rgb_iterator_t);
    pub fn xcb_rgb_end (i: *mut xcb_rgb_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_query_colors_colors (R: *const xcb_query_colors_reply_t)
            -> *mut xcb_rgb_t;
    pub fn xcb_query_colors_colors_length (R: *const xcb_query_colors_reply_t)
            -> c_int;
    pub fn xcb_query_colors_colors_iterator (R: *const xcb_query_colors_reply_t)
            -> xcb_rgb_iterator_t;
    
    pub fn xcb_query_colors_reply (c:      *mut xcb_connection_t,
                                   cookie: xcb_query_colors_cookie_t,
                                   error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_query_colors_reply_t;
    pub fn xcb_query_colors (c:          *mut xcb_connection_t,
                             cmap:       xcb_colormap_t,
                             pixels_len: u32,
                             pixels:     *const u32)
            -> xcb_query_colors_cookie_t;
    pub fn xcb_query_colors_unchecked (c:          *mut xcb_connection_t,
                                       cmap:       xcb_colormap_t,
                                       pixels_len: u32,
                                       pixels:     *const u32)
            -> xcb_query_colors_cookie_t;
    
    pub fn xcb_lookup_color_reply (c:      *mut xcb_connection_t,
                                   cookie: xcb_lookup_color_cookie_t,
                                   error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_lookup_color_reply_t;
    pub fn xcb_lookup_color (c:        *mut xcb_connection_t,
                             cmap:     xcb_colormap_t,
                             name_len: u16,
                             name:     *const c_char)
            -> xcb_lookup_color_cookie_t;
    pub fn xcb_lookup_color_unchecked (c:        *mut xcb_connection_t,
                                       cmap:     xcb_colormap_t,
                                       name_len: u16,
                                       name:     *const c_char)
            -> xcb_lookup_color_cookie_t;
    pub fn xcb_create_cursor (c:          *mut xcb_connection_t,
                              cid:        xcb_cursor_t,
                              source:     xcb_pixmap_t,
                              mask:       xcb_pixmap_t,
                              fore_red:   u16,
                              fore_green: u16,
                              fore_blue:  u16,
                              back_red:   u16,
                              back_green: u16,
                              back_blue:  u16,
                              x:          u16,
                              y:          u16)
            -> xcb_void_cookie_t;
    pub fn xcb_create_cursor_checked (c:          *mut xcb_connection_t,
                                      cid:        xcb_cursor_t,
                                      source:     xcb_pixmap_t,
                                      mask:       xcb_pixmap_t,
                                      fore_red:   u16,
                                      fore_green: u16,
                                      fore_blue:  u16,
                                      back_red:   u16,
                                      back_green: u16,
                                      back_blue:  u16,
                                      x:          u16,
                                      y:          u16)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_create_glyph_cursor (c:           *mut xcb_connection_t,
                                    cid:         xcb_cursor_t,
                                    source_font: xcb_font_t,
                                    mask_font:   xcb_font_t,
                                    source_char: u16,
                                    mask_char:   u16,
                                    fore_red:    u16,
                                    fore_green:  u16,
                                    fore_blue:   u16,
                                    back_red:    u16,
                                    back_green:  u16,
                                    back_blue:   u16)
            -> xcb_void_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_create_glyph_cursor_checked (c:           *mut xcb_connection_t,
                                            cid:         xcb_cursor_t,
                                            source_font: xcb_font_t,
                                            mask_font:   xcb_font_t,
                                            source_char: u16,
                                            mask_char:   u16,
                                            fore_red:    u16,
                                            fore_green:  u16,
                                            fore_blue:   u16,
                                            back_red:    u16,
                                            back_green:  u16,
                                            back_blue:   u16)
            -> xcb_void_cookie_t;
    
    
    
    
    pub fn xcb_free_cursor (c:      *mut xcb_connection_t,
                            cursor: xcb_cursor_t)
            -> xcb_void_cookie_t;
    
    
    
    
    pub fn xcb_free_cursor_checked (c:      *mut xcb_connection_t,
                                    cursor: xcb_cursor_t)
            -> xcb_void_cookie_t;
    pub fn xcb_recolor_cursor (c:          *mut xcb_connection_t,
                               cursor:     xcb_cursor_t,
                               fore_red:   u16,
                               fore_green: u16,
                               fore_blue:  u16,
                               back_red:   u16,
                               back_green: u16,
                               back_blue:  u16)
            -> xcb_void_cookie_t;
    pub fn xcb_recolor_cursor_checked (c:          *mut xcb_connection_t,
                                       cursor:     xcb_cursor_t,
                                       fore_red:   u16,
                                       fore_green: u16,
                                       fore_blue:  u16,
                                       back_red:   u16,
                                       back_green: u16,
                                       back_blue:  u16)
            -> xcb_void_cookie_t;
    
    pub fn xcb_query_best_size_reply (c:      *mut xcb_connection_t,
                                      cookie: xcb_query_best_size_cookie_t,
                                      error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_query_best_size_reply_t;
    pub fn xcb_query_best_size (c:        *mut xcb_connection_t,
                                class:    u8,
                                drawable: xcb_drawable_t,
                                width:    u16,
                                height:   u16)
            -> xcb_query_best_size_cookie_t;
    pub fn xcb_query_best_size_unchecked (c:        *mut xcb_connection_t,
                                          class:    u8,
                                          drawable: xcb_drawable_t,
                                          width:    u16,
                                          height:   u16)
            -> xcb_query_best_size_cookie_t;
    
    pub fn xcb_query_extension_reply (c:      *mut xcb_connection_t,
                                      cookie: xcb_query_extension_cookie_t,
                                      error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_query_extension_reply_t;
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_query_extension (c:        *mut xcb_connection_t,
                                name_len: u16,
                                name:     *const c_char)
            -> xcb_query_extension_cookie_t;
    
    
    
    
    
    
    
    
    
    
    
    pub fn xcb_query_extension_unchecked (c:        *mut xcb_connection_t,
                                          name_len: u16,
                                          name:     *const c_char)
            -> xcb_query_extension_cookie_t;
    pub fn xcb_list_extensions_names_length (R: *const xcb_list_extensions_reply_t)
            -> c_int;
    pub fn xcb_list_extensions_names_iterator<'a> (R: *const xcb_list_extensions_reply_t)
            -> xcb_str_iterator_t<'a>;
    
    pub fn xcb_list_extensions_reply (c:      *mut xcb_connection_t,
                                      cookie: xcb_list_extensions_cookie_t,
                                      error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_list_extensions_reply_t;
    pub fn xcb_list_extensions (c: *mut xcb_connection_t)
            -> xcb_list_extensions_cookie_t;
    pub fn xcb_list_extensions_unchecked (c: *mut xcb_connection_t)
            -> xcb_list_extensions_cookie_t;
    pub fn xcb_change_keyboard_mapping (c:                   *mut xcb_connection_t,
                                        keycode_count:       u8,
                                        first_keycode:       xcb_keycode_t,
                                        keysyms_per_keycode: u8,
                                        keysyms:             *const xcb_keysym_t)
            -> xcb_void_cookie_t;
    pub fn xcb_change_keyboard_mapping_checked (c:                   *mut xcb_connection_t,
                                                keycode_count:       u8,
                                                first_keycode:       xcb_keycode_t,
                                                keysyms_per_keycode: u8,
                                                keysyms:             *const xcb_keysym_t)
            -> xcb_void_cookie_t;
    pub fn xcb_get_keyboard_mapping_keysyms (R: *const xcb_get_keyboard_mapping_reply_t)
            -> *mut xcb_keysym_t;
    pub fn xcb_get_keyboard_mapping_keysyms_length (R: *const xcb_get_keyboard_mapping_reply_t)
            -> c_int;
    pub fn xcb_get_keyboard_mapping_keysyms_end (R: *const xcb_get_keyboard_mapping_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_get_keyboard_mapping_reply (c:      *mut xcb_connection_t,
                                           cookie: xcb_get_keyboard_mapping_cookie_t,
                                           error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_keyboard_mapping_reply_t;
    pub fn xcb_get_keyboard_mapping (c:             *mut xcb_connection_t,
                                     first_keycode: xcb_keycode_t,
                                     count:         u8)
            -> xcb_get_keyboard_mapping_cookie_t;
    pub fn xcb_get_keyboard_mapping_unchecked (c:             *mut xcb_connection_t,
                                               first_keycode: xcb_keycode_t,
                                               count:         u8)
            -> xcb_get_keyboard_mapping_cookie_t;
    pub fn xcb_change_keyboard_control (c:          *mut xcb_connection_t,
                                        value_mask: u32,
                                        value_list: *const u32)
            -> xcb_void_cookie_t;
    pub fn xcb_change_keyboard_control_checked (c:          *mut xcb_connection_t,
                                                value_mask: u32,
                                                value_list: *const u32)
            -> xcb_void_cookie_t;
    
    pub fn xcb_get_keyboard_control_reply (c:      *mut xcb_connection_t,
                                           cookie: xcb_get_keyboard_control_cookie_t,
                                           error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_keyboard_control_reply_t;
    pub fn xcb_get_keyboard_control (c: *mut xcb_connection_t)
            -> xcb_get_keyboard_control_cookie_t;
    pub fn xcb_get_keyboard_control_unchecked (c: *mut xcb_connection_t)
            -> xcb_get_keyboard_control_cookie_t;
    pub fn xcb_bell (c:       *mut xcb_connection_t,
                     percent: i8)
            -> xcb_void_cookie_t;
    pub fn xcb_bell_checked (c:       *mut xcb_connection_t,
                             percent: i8)
            -> xcb_void_cookie_t;
    pub fn xcb_change_pointer_control (c:                        *mut xcb_connection_t,
                                       acceleration_numerator:   i16,
                                       acceleration_denominator: i16,
                                       threshold:                i16,
                                       do_acceleration:          u8,
                                       do_threshold:             u8)
            -> xcb_void_cookie_t;
    pub fn xcb_change_pointer_control_checked (c:                        *mut xcb_connection_t,
                                               acceleration_numerator:   i16,
                                               acceleration_denominator: i16,
                                               threshold:                i16,
                                               do_acceleration:          u8,
                                               do_threshold:             u8)
            -> xcb_void_cookie_t;
    
    pub fn xcb_get_pointer_control_reply (c:      *mut xcb_connection_t,
                                          cookie: xcb_get_pointer_control_cookie_t,
                                          error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_pointer_control_reply_t;
    pub fn xcb_get_pointer_control (c: *mut xcb_connection_t)
            -> xcb_get_pointer_control_cookie_t;
    pub fn xcb_get_pointer_control_unchecked (c: *mut xcb_connection_t)
            -> xcb_get_pointer_control_cookie_t;
    pub fn xcb_set_screen_saver (c:               *mut xcb_connection_t,
                                 timeout:         i16,
                                 interval:        i16,
                                 prefer_blanking: u8,
                                 allow_exposures: u8)
            -> xcb_void_cookie_t;
    pub fn xcb_set_screen_saver_checked (c:               *mut xcb_connection_t,
                                         timeout:         i16,
                                         interval:        i16,
                                         prefer_blanking: u8,
                                         allow_exposures: u8)
            -> xcb_void_cookie_t;
    
    pub fn xcb_get_screen_saver_reply (c:      *mut xcb_connection_t,
                                       cookie: xcb_get_screen_saver_cookie_t,
                                       error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_screen_saver_reply_t;
    pub fn xcb_get_screen_saver (c: *mut xcb_connection_t)
            -> xcb_get_screen_saver_cookie_t;
    pub fn xcb_get_screen_saver_unchecked (c: *mut xcb_connection_t)
            -> xcb_get_screen_saver_cookie_t;
    pub fn xcb_change_hosts (c:           *mut xcb_connection_t,
                             mode:        u8,
                             family:      u8,
                             address_len: u16,
                             address:     *const u8)
            -> xcb_void_cookie_t;
    pub fn xcb_change_hosts_checked (c:           *mut xcb_connection_t,
                                     mode:        u8,
                                     family:      u8,
                                     address_len: u16,
                                     address:     *const u8)
            -> xcb_void_cookie_t;
    pub fn xcb_host_address (R: *const xcb_host_t)
            -> *mut u8;
    pub fn xcb_host_address_length (R: *const xcb_host_t)
            -> c_int;
    pub fn xcb_host_address_end (R: *const xcb_host_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_host_next (i: *mut xcb_host_iterator_t);
    pub fn xcb_host_end (i: *mut xcb_host_iterator_t)
            -> xcb_generic_iterator_t;
    pub fn xcb_list_hosts_hosts_length (R: *const xcb_list_hosts_reply_t)
            -> c_int;
    pub fn xcb_list_hosts_hosts_iterator<'a> (R: *const xcb_list_hosts_reply_t)
            -> xcb_host_iterator_t<'a>;
    
    pub fn xcb_list_hosts_reply (c:      *mut xcb_connection_t,
                                 cookie: xcb_list_hosts_cookie_t,
                                 error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_list_hosts_reply_t;
    pub fn xcb_list_hosts (c: *mut xcb_connection_t)
            -> xcb_list_hosts_cookie_t;
    pub fn xcb_list_hosts_unchecked (c: *mut xcb_connection_t)
            -> xcb_list_hosts_cookie_t;
    pub fn xcb_set_access_control (c:    *mut xcb_connection_t,
                                   mode: u8)
            -> xcb_void_cookie_t;
    pub fn xcb_set_access_control_checked (c:    *mut xcb_connection_t,
                                           mode: u8)
            -> xcb_void_cookie_t;
    pub fn xcb_set_close_down_mode (c:    *mut xcb_connection_t,
                                    mode: u8)
            -> xcb_void_cookie_t;
    pub fn xcb_set_close_down_mode_checked (c:    *mut xcb_connection_t,
                                            mode: u8)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_kill_client (c:        *mut xcb_connection_t,
                            resource: u32)
            -> xcb_void_cookie_t;
    
    
    
    pub fn xcb_kill_client_checked (c:        *mut xcb_connection_t,
                                    resource: u32)
            -> xcb_void_cookie_t;
    pub fn xcb_rotate_properties (c:         *mut xcb_connection_t,
                                  window:    xcb_window_t,
                                  atoms_len: u16,
                                  delta:     i16,
                                  atoms:     *const xcb_atom_t)
            -> xcb_void_cookie_t;
    pub fn xcb_rotate_properties_checked (c:         *mut xcb_connection_t,
                                          window:    xcb_window_t,
                                          atoms_len: u16,
                                          delta:     i16,
                                          atoms:     *const xcb_atom_t)
            -> xcb_void_cookie_t;
    pub fn xcb_force_screen_saver (c:    *mut xcb_connection_t,
                                   mode: u8)
            -> xcb_void_cookie_t;
    pub fn xcb_force_screen_saver_checked (c:    *mut xcb_connection_t,
                                           mode: u8)
            -> xcb_void_cookie_t;
    
    pub fn xcb_set_pointer_mapping_reply (c:      *mut xcb_connection_t,
                                          cookie: xcb_set_pointer_mapping_cookie_t,
                                          error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_set_pointer_mapping_reply_t;
    pub fn xcb_set_pointer_mapping (c:       *mut xcb_connection_t,
                                    map_len: u8,
                                    map:     *const u8)
            -> xcb_set_pointer_mapping_cookie_t;
    pub fn xcb_set_pointer_mapping_unchecked (c:       *mut xcb_connection_t,
                                              map_len: u8,
                                              map:     *const u8)
            -> xcb_set_pointer_mapping_cookie_t;
    pub fn xcb_get_pointer_mapping_map (R: *const xcb_get_pointer_mapping_reply_t)
            -> *mut u8;
    pub fn xcb_get_pointer_mapping_map_length (R: *const xcb_get_pointer_mapping_reply_t)
            -> c_int;
    pub fn xcb_get_pointer_mapping_map_end (R: *const xcb_get_pointer_mapping_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_get_pointer_mapping_reply (c:      *mut xcb_connection_t,
                                          cookie: xcb_get_pointer_mapping_cookie_t,
                                          error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_pointer_mapping_reply_t;
    pub fn xcb_get_pointer_mapping (c: *mut xcb_connection_t)
            -> xcb_get_pointer_mapping_cookie_t;
    pub fn xcb_get_pointer_mapping_unchecked (c: *mut xcb_connection_t)
            -> xcb_get_pointer_mapping_cookie_t;
    
    pub fn xcb_set_modifier_mapping_reply (c:      *mut xcb_connection_t,
                                           cookie: xcb_set_modifier_mapping_cookie_t,
                                           error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_set_modifier_mapping_reply_t;
    pub fn xcb_set_modifier_mapping (c:                     *mut xcb_connection_t,
                                     keycodes_per_modifier: u8,
                                     keycodes:              *const xcb_keycode_t)
            -> xcb_set_modifier_mapping_cookie_t;
    pub fn xcb_set_modifier_mapping_unchecked (c:                     *mut xcb_connection_t,
                                               keycodes_per_modifier: u8,
                                               keycodes:              *const xcb_keycode_t)
            -> xcb_set_modifier_mapping_cookie_t;
    pub fn xcb_get_modifier_mapping_keycodes (R: *const xcb_get_modifier_mapping_reply_t)
            -> *mut xcb_keycode_t;
    pub fn xcb_get_modifier_mapping_keycodes_length (R: *const xcb_get_modifier_mapping_reply_t)
            -> c_int;
    pub fn xcb_get_modifier_mapping_keycodes_end (R: *const xcb_get_modifier_mapping_reply_t)
            -> xcb_generic_iterator_t;
    
    pub fn xcb_get_modifier_mapping_reply (c:      *mut xcb_connection_t,
                                           cookie: xcb_get_modifier_mapping_cookie_t,
                                           error:  *mut *mut xcb_generic_error_t)
            -> *mut xcb_get_modifier_mapping_reply_t;
    pub fn xcb_get_modifier_mapping (c: *mut xcb_connection_t)
            -> xcb_get_modifier_mapping_cookie_t;
    pub fn xcb_get_modifier_mapping_unchecked (c: *mut xcb_connection_t)
            -> xcb_get_modifier_mapping_cookie_t;
    pub fn xcb_no_operation (c: *mut xcb_connection_t)
            -> xcb_void_cookie_t;
    pub fn xcb_no_operation_checked (c: *mut xcb_connection_t)
            -> xcb_void_cookie_t;
}