summary refs log tree commit diff
path: root/gpu_display/src/generated/xlib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'gpu_display/src/generated/xlib.rs')
-rw-r--r--gpu_display/src/generated/xlib.rs892
1 files changed, 892 insertions, 0 deletions
diff --git a/gpu_display/src/generated/xlib.rs b/gpu_display/src/generated/xlib.rs
new file mode 100644
index 0000000..bbfa6bd
--- /dev/null
+++ b/gpu_display/src/generated/xlib.rs
@@ -0,0 +1,892 @@
+// Copyright 2019 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+//! Generated using ./xlib_generator.sh
+
+#[link(name = "X11")]
+extern "C" {}
+
+#[link(name = "Xext")]
+extern "C" {}
+
+/* automatically generated by rust-bindgen */
+
+pub const ExposureMask: u32 = 32768;
+pub const Expose: u32 = 12;
+pub const ClientMessage: u32 = 33;
+pub const ZPixmap: u32 = 2;
+pub const PMinSize: u32 = 16;
+pub const PMaxSize: u32 = 32;
+pub const VisualScreenMask: u32 = 2;
+pub const VisualDepthMask: u32 = 4;
+pub const VisualRedMaskMask: u32 = 16;
+pub const VisualGreenMaskMask: u32 = 32;
+pub const VisualBlueMaskMask: u32 = 64;
+pub const ShmCompletion: u32 = 0;
+pub type XID = ::std::os::raw::c_ulong;
+pub type Atom = ::std::os::raw::c_ulong;
+pub type VisualID = ::std::os::raw::c_ulong;
+pub type Time = ::std::os::raw::c_ulong;
+pub type Window = XID;
+pub type Drawable = XID;
+pub type Font = XID;
+pub type Pixmap = XID;
+pub type Colormap = XID;
+pub type XPointer = *mut ::std::os::raw::c_char;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct _XExtData {
+    pub number: ::std::os::raw::c_int,
+    pub next: *mut _XExtData,
+    pub free_private: ::std::option::Option<
+        unsafe extern "C" fn(extension: *mut _XExtData) -> ::std::os::raw::c_int,
+    >,
+    pub private_data: XPointer,
+}
+pub type XExtData = _XExtData;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XGCValues {
+    pub function: ::std::os::raw::c_int,
+    pub plane_mask: ::std::os::raw::c_ulong,
+    pub foreground: ::std::os::raw::c_ulong,
+    pub background: ::std::os::raw::c_ulong,
+    pub line_width: ::std::os::raw::c_int,
+    pub line_style: ::std::os::raw::c_int,
+    pub cap_style: ::std::os::raw::c_int,
+    pub join_style: ::std::os::raw::c_int,
+    pub fill_style: ::std::os::raw::c_int,
+    pub fill_rule: ::std::os::raw::c_int,
+    pub arc_mode: ::std::os::raw::c_int,
+    pub tile: Pixmap,
+    pub stipple: Pixmap,
+    pub ts_x_origin: ::std::os::raw::c_int,
+    pub ts_y_origin: ::std::os::raw::c_int,
+    pub font: Font,
+    pub subwindow_mode: ::std::os::raw::c_int,
+    pub graphics_exposures: ::std::os::raw::c_int,
+    pub clip_x_origin: ::std::os::raw::c_int,
+    pub clip_y_origin: ::std::os::raw::c_int,
+    pub clip_mask: Pixmap,
+    pub dash_offset: ::std::os::raw::c_int,
+    pub dashes: ::std::os::raw::c_char,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct _XGC {
+    _unused: [u8; 0],
+}
+pub type GC = *mut _XGC;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct Visual {
+    pub ext_data: *mut XExtData,
+    pub visualid: VisualID,
+    pub class: ::std::os::raw::c_int,
+    pub red_mask: ::std::os::raw::c_ulong,
+    pub green_mask: ::std::os::raw::c_ulong,
+    pub blue_mask: ::std::os::raw::c_ulong,
+    pub bits_per_rgb: ::std::os::raw::c_int,
+    pub map_entries: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct Depth {
+    pub depth: ::std::os::raw::c_int,
+    pub nvisuals: ::std::os::raw::c_int,
+    pub visuals: *mut Visual,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct _XDisplay {
+    _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct Screen {
+    pub ext_data: *mut XExtData,
+    pub display: *mut _XDisplay,
+    pub root: Window,
+    pub width: ::std::os::raw::c_int,
+    pub height: ::std::os::raw::c_int,
+    pub mwidth: ::std::os::raw::c_int,
+    pub mheight: ::std::os::raw::c_int,
+    pub ndepths: ::std::os::raw::c_int,
+    pub depths: *mut Depth,
+    pub root_depth: ::std::os::raw::c_int,
+    pub root_visual: *mut Visual,
+    pub default_gc: GC,
+    pub cmap: Colormap,
+    pub white_pixel: ::std::os::raw::c_ulong,
+    pub black_pixel: ::std::os::raw::c_ulong,
+    pub max_maps: ::std::os::raw::c_int,
+    pub min_maps: ::std::os::raw::c_int,
+    pub backing_store: ::std::os::raw::c_int,
+    pub save_unders: ::std::os::raw::c_int,
+    pub root_input_mask: ::std::os::raw::c_long,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct _XImage {
+    pub width: ::std::os::raw::c_int,
+    pub height: ::std::os::raw::c_int,
+    pub xoffset: ::std::os::raw::c_int,
+    pub format: ::std::os::raw::c_int,
+    pub data: *mut ::std::os::raw::c_char,
+    pub byte_order: ::std::os::raw::c_int,
+    pub bitmap_unit: ::std::os::raw::c_int,
+    pub bitmap_bit_order: ::std::os::raw::c_int,
+    pub bitmap_pad: ::std::os::raw::c_int,
+    pub depth: ::std::os::raw::c_int,
+    pub bytes_per_line: ::std::os::raw::c_int,
+    pub bits_per_pixel: ::std::os::raw::c_int,
+    pub red_mask: ::std::os::raw::c_ulong,
+    pub green_mask: ::std::os::raw::c_ulong,
+    pub blue_mask: ::std::os::raw::c_ulong,
+    pub obdata: XPointer,
+    pub f: _XImage_funcs,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct _XImage_funcs {
+    pub create_image: ::std::option::Option<
+        unsafe extern "C" fn(
+            arg1: *mut _XDisplay,
+            arg2: *mut Visual,
+            arg3: ::std::os::raw::c_uint,
+            arg4: ::std::os::raw::c_int,
+            arg5: ::std::os::raw::c_int,
+            arg6: *mut ::std::os::raw::c_char,
+            arg7: ::std::os::raw::c_uint,
+            arg8: ::std::os::raw::c_uint,
+            arg9: ::std::os::raw::c_int,
+            arg10: ::std::os::raw::c_int,
+        ) -> *mut _XImage,
+    >,
+    pub destroy_image:
+        ::std::option::Option<unsafe extern "C" fn(arg1: *mut _XImage) -> ::std::os::raw::c_int>,
+    pub get_pixel: ::std::option::Option<
+        unsafe extern "C" fn(
+            arg1: *mut _XImage,
+            arg2: ::std::os::raw::c_int,
+            arg3: ::std::os::raw::c_int,
+        ) -> ::std::os::raw::c_ulong,
+    >,
+    pub put_pixel: ::std::option::Option<
+        unsafe extern "C" fn(
+            arg1: *mut _XImage,
+            arg2: ::std::os::raw::c_int,
+            arg3: ::std::os::raw::c_int,
+            arg4: ::std::os::raw::c_ulong,
+        ) -> ::std::os::raw::c_int,
+    >,
+    pub sub_image: ::std::option::Option<
+        unsafe extern "C" fn(
+            arg1: *mut _XImage,
+            arg2: ::std::os::raw::c_int,
+            arg3: ::std::os::raw::c_int,
+            arg4: ::std::os::raw::c_uint,
+            arg5: ::std::os::raw::c_uint,
+        ) -> *mut _XImage,
+    >,
+    pub add_pixel: ::std::option::Option<
+        unsafe extern "C" fn(
+            arg1: *mut _XImage,
+            arg2: ::std::os::raw::c_long,
+        ) -> ::std::os::raw::c_int,
+    >,
+}
+pub type XImage = _XImage;
+pub type Display = _XDisplay;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XKeyEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub root: Window,
+    pub subwindow: Window,
+    pub time: Time,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+    pub x_root: ::std::os::raw::c_int,
+    pub y_root: ::std::os::raw::c_int,
+    pub state: ::std::os::raw::c_uint,
+    pub keycode: ::std::os::raw::c_uint,
+    pub same_screen: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XButtonEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub root: Window,
+    pub subwindow: Window,
+    pub time: Time,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+    pub x_root: ::std::os::raw::c_int,
+    pub y_root: ::std::os::raw::c_int,
+    pub state: ::std::os::raw::c_uint,
+    pub button: ::std::os::raw::c_uint,
+    pub same_screen: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XMotionEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub root: Window,
+    pub subwindow: Window,
+    pub time: Time,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+    pub x_root: ::std::os::raw::c_int,
+    pub y_root: ::std::os::raw::c_int,
+    pub state: ::std::os::raw::c_uint,
+    pub is_hint: ::std::os::raw::c_char,
+    pub same_screen: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XCrossingEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub root: Window,
+    pub subwindow: Window,
+    pub time: Time,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+    pub x_root: ::std::os::raw::c_int,
+    pub y_root: ::std::os::raw::c_int,
+    pub mode: ::std::os::raw::c_int,
+    pub detail: ::std::os::raw::c_int,
+    pub same_screen: ::std::os::raw::c_int,
+    pub focus: ::std::os::raw::c_int,
+    pub state: ::std::os::raw::c_uint,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XFocusChangeEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub mode: ::std::os::raw::c_int,
+    pub detail: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XKeymapEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub key_vector: [::std::os::raw::c_char; 32usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XExposeEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+    pub width: ::std::os::raw::c_int,
+    pub height: ::std::os::raw::c_int,
+    pub count: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XGraphicsExposeEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub drawable: Drawable,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+    pub width: ::std::os::raw::c_int,
+    pub height: ::std::os::raw::c_int,
+    pub count: ::std::os::raw::c_int,
+    pub major_code: ::std::os::raw::c_int,
+    pub minor_code: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XNoExposeEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub drawable: Drawable,
+    pub major_code: ::std::os::raw::c_int,
+    pub minor_code: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XVisibilityEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub state: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XCreateWindowEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub parent: Window,
+    pub window: Window,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+    pub width: ::std::os::raw::c_int,
+    pub height: ::std::os::raw::c_int,
+    pub border_width: ::std::os::raw::c_int,
+    pub override_redirect: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XDestroyWindowEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub event: Window,
+    pub window: Window,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XUnmapEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub event: Window,
+    pub window: Window,
+    pub from_configure: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XMapEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub event: Window,
+    pub window: Window,
+    pub override_redirect: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XMapRequestEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub parent: Window,
+    pub window: Window,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XReparentEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub event: Window,
+    pub window: Window,
+    pub parent: Window,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+    pub override_redirect: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XConfigureEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub event: Window,
+    pub window: Window,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+    pub width: ::std::os::raw::c_int,
+    pub height: ::std::os::raw::c_int,
+    pub border_width: ::std::os::raw::c_int,
+    pub above: Window,
+    pub override_redirect: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XGravityEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub event: Window,
+    pub window: Window,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XResizeRequestEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub width: ::std::os::raw::c_int,
+    pub height: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XConfigureRequestEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub parent: Window,
+    pub window: Window,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+    pub width: ::std::os::raw::c_int,
+    pub height: ::std::os::raw::c_int,
+    pub border_width: ::std::os::raw::c_int,
+    pub above: Window,
+    pub detail: ::std::os::raw::c_int,
+    pub value_mask: ::std::os::raw::c_ulong,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XCirculateEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub event: Window,
+    pub window: Window,
+    pub place: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XCirculateRequestEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub parent: Window,
+    pub window: Window,
+    pub place: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XPropertyEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub atom: Atom,
+    pub time: Time,
+    pub state: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XSelectionClearEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub selection: Atom,
+    pub time: Time,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XSelectionRequestEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub owner: Window,
+    pub requestor: Window,
+    pub selection: Atom,
+    pub target: Atom,
+    pub property: Atom,
+    pub time: Time,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XSelectionEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub requestor: Window,
+    pub selection: Atom,
+    pub target: Atom,
+    pub property: Atom,
+    pub time: Time,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XColormapEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub colormap: Colormap,
+    pub new: ::std::os::raw::c_int,
+    pub state: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XClientMessageEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub message_type: Atom,
+    pub format: ::std::os::raw::c_int,
+    pub data: XClientMessageEvent__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union XClientMessageEvent__bindgen_ty_1 {
+    pub b: [::std::os::raw::c_char; 20usize],
+    pub s: [::std::os::raw::c_short; 10usize],
+    pub l: [::std::os::raw::c_long; 5usize],
+    _bindgen_union_align: [u64; 5usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XMappingEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+    pub request: ::std::os::raw::c_int,
+    pub first_keycode: ::std::os::raw::c_int,
+    pub count: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XErrorEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub resourceid: XID,
+    pub serial: ::std::os::raw::c_ulong,
+    pub error_code: ::std::os::raw::c_uchar,
+    pub request_code: ::std::os::raw::c_uchar,
+    pub minor_code: ::std::os::raw::c_uchar,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XAnyEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub window: Window,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XGenericEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub extension: ::std::os::raw::c_int,
+    pub evtype: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XGenericEventCookie {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub extension: ::std::os::raw::c_int,
+    pub evtype: ::std::os::raw::c_int,
+    pub cookie: ::std::os::raw::c_uint,
+    pub data: *mut ::std::os::raw::c_void,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union _XEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub xany: XAnyEvent,
+    pub xkey: XKeyEvent,
+    pub xbutton: XButtonEvent,
+    pub xmotion: XMotionEvent,
+    pub xcrossing: XCrossingEvent,
+    pub xfocus: XFocusChangeEvent,
+    pub xexpose: XExposeEvent,
+    pub xgraphicsexpose: XGraphicsExposeEvent,
+    pub xnoexpose: XNoExposeEvent,
+    pub xvisibility: XVisibilityEvent,
+    pub xcreatewindow: XCreateWindowEvent,
+    pub xdestroywindow: XDestroyWindowEvent,
+    pub xunmap: XUnmapEvent,
+    pub xmap: XMapEvent,
+    pub xmaprequest: XMapRequestEvent,
+    pub xreparent: XReparentEvent,
+    pub xconfigure: XConfigureEvent,
+    pub xgravity: XGravityEvent,
+    pub xresizerequest: XResizeRequestEvent,
+    pub xconfigurerequest: XConfigureRequestEvent,
+    pub xcirculate: XCirculateEvent,
+    pub xcirculaterequest: XCirculateRequestEvent,
+    pub xproperty: XPropertyEvent,
+    pub xselectionclear: XSelectionClearEvent,
+    pub xselectionrequest: XSelectionRequestEvent,
+    pub xselection: XSelectionEvent,
+    pub xcolormap: XColormapEvent,
+    pub xclient: XClientMessageEvent,
+    pub xmapping: XMappingEvent,
+    pub xerror: XErrorEvent,
+    pub xkeymap: XKeymapEvent,
+    pub xgeneric: XGenericEvent,
+    pub xcookie: XGenericEventCookie,
+    pub pad: [::std::os::raw::c_long; 24usize],
+    _bindgen_union_align: [u64; 24usize],
+}
+pub type XEvent = _XEvent;
+extern "C" {
+    pub fn XOpenDisplay(arg1: *const ::std::os::raw::c_char) -> *mut Display;
+}
+extern "C" {
+    pub fn XInternAtom(
+        arg1: *mut Display,
+        arg2: *const ::std::os::raw::c_char,
+        arg3: ::std::os::raw::c_int,
+    ) -> Atom;
+}
+extern "C" {
+    pub fn XCreateGC(
+        arg1: *mut Display,
+        arg2: Drawable,
+        arg3: ::std::os::raw::c_ulong,
+        arg4: *mut XGCValues,
+    ) -> GC;
+}
+extern "C" {
+    pub fn XCreateSimpleWindow(
+        arg1: *mut Display,
+        arg2: Window,
+        arg3: ::std::os::raw::c_int,
+        arg4: ::std::os::raw::c_int,
+        arg5: ::std::os::raw::c_uint,
+        arg6: ::std::os::raw::c_uint,
+        arg7: ::std::os::raw::c_uint,
+        arg8: ::std::os::raw::c_ulong,
+        arg9: ::std::os::raw::c_ulong,
+    ) -> Window;
+}
+extern "C" {
+    pub fn XRootWindowOfScreen(arg1: *mut Screen) -> Window;
+}
+extern "C" {
+    pub fn XDefaultVisualOfScreen(arg1: *mut Screen) -> *mut Visual;
+}
+extern "C" {
+    pub fn XBlackPixelOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_ulong;
+}
+extern "C" {
+    pub fn XDefaultScreenOfDisplay(arg1: *mut Display) -> *mut Screen;
+}
+extern "C" {
+    pub fn XScreenNumberOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XSetWMProtocols(
+        arg1: *mut Display,
+        arg2: Window,
+        arg3: *mut Atom,
+        arg4: ::std::os::raw::c_int,
+    ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XClearWindow(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XCloseDisplay(arg1: *mut Display) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XConnectionNumber(arg1: *mut Display) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XDefaultDepthOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XDestroyWindow(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XFlush(arg1: *mut Display) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XFree(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XFreeGC(arg1: *mut Display, arg2: GC) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XMapRaised(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XNextEvent(arg1: *mut Display, arg2: *mut XEvent) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XPending(arg1: *mut Display) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XSelectInput(
+        arg1: *mut Display,
+        arg2: Window,
+        arg3: ::std::os::raw::c_long,
+    ) -> ::std::os::raw::c_int;
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XSizeHints {
+    pub flags: ::std::os::raw::c_long,
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+    pub width: ::std::os::raw::c_int,
+    pub height: ::std::os::raw::c_int,
+    pub min_width: ::std::os::raw::c_int,
+    pub min_height: ::std::os::raw::c_int,
+    pub max_width: ::std::os::raw::c_int,
+    pub max_height: ::std::os::raw::c_int,
+    pub width_inc: ::std::os::raw::c_int,
+    pub height_inc: ::std::os::raw::c_int,
+    pub min_aspect: XSizeHints__bindgen_ty_1,
+    pub max_aspect: XSizeHints__bindgen_ty_1,
+    pub base_width: ::std::os::raw::c_int,
+    pub base_height: ::std::os::raw::c_int,
+    pub win_gravity: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XSizeHints__bindgen_ty_1 {
+    pub x: ::std::os::raw::c_int,
+    pub y: ::std::os::raw::c_int,
+}
+extern "C" {
+    pub fn XDestroyImage(ximage: *mut XImage) -> ::std::os::raw::c_int;
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XVisualInfo {
+    pub visual: *mut Visual,
+    pub visualid: VisualID,
+    pub screen: ::std::os::raw::c_int,
+    pub depth: ::std::os::raw::c_int,
+    pub class: ::std::os::raw::c_int,
+    pub red_mask: ::std::os::raw::c_ulong,
+    pub green_mask: ::std::os::raw::c_ulong,
+    pub blue_mask: ::std::os::raw::c_ulong,
+    pub colormap_size: ::std::os::raw::c_int,
+    pub bits_per_rgb: ::std::os::raw::c_int,
+}
+extern "C" {
+    pub fn XAllocSizeHints() -> *mut XSizeHints;
+}
+extern "C" {
+    pub fn XGetVisualInfo(
+        arg1: *mut Display,
+        arg2: ::std::os::raw::c_long,
+        arg3: *mut XVisualInfo,
+        arg4: *mut ::std::os::raw::c_int,
+    ) -> *mut XVisualInfo;
+}
+extern "C" {
+    pub fn XSetWMNormalHints(arg1: *mut Display, arg2: Window, arg3: *mut XSizeHints);
+}
+pub type ShmSeg = ::std::os::raw::c_ulong;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XShmCompletionEvent {
+    pub type_: ::std::os::raw::c_int,
+    pub serial: ::std::os::raw::c_ulong,
+    pub send_event: ::std::os::raw::c_int,
+    pub display: *mut Display,
+    pub drawable: Drawable,
+    pub major_code: ::std::os::raw::c_int,
+    pub minor_code: ::std::os::raw::c_int,
+    pub shmseg: ShmSeg,
+    pub offset: ::std::os::raw::c_ulong,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct XShmSegmentInfo {
+    pub shmseg: ShmSeg,
+    pub shmid: ::std::os::raw::c_int,
+    pub shmaddr: *mut ::std::os::raw::c_char,
+    pub readOnly: ::std::os::raw::c_int,
+}
+extern "C" {
+    pub fn XShmQueryExtension(arg1: *mut Display) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XShmGetEventBase(arg1: *mut Display) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XShmAttach(arg1: *mut Display, arg2: *mut XShmSegmentInfo) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XShmDetach(arg1: *mut Display, arg2: *mut XShmSegmentInfo) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XShmPutImage(
+        arg1: *mut Display,
+        arg2: Drawable,
+        arg3: GC,
+        arg4: *mut XImage,
+        arg5: ::std::os::raw::c_int,
+        arg6: ::std::os::raw::c_int,
+        arg7: ::std::os::raw::c_int,
+        arg8: ::std::os::raw::c_int,
+        arg9: ::std::os::raw::c_uint,
+        arg10: ::std::os::raw::c_uint,
+        arg11: ::std::os::raw::c_int,
+    ) -> ::std::os::raw::c_int;
+}
+extern "C" {
+    pub fn XShmCreateImage(
+        arg1: *mut Display,
+        arg2: *mut Visual,
+        arg3: ::std::os::raw::c_uint,
+        arg4: ::std::os::raw::c_int,
+        arg5: *mut ::std::os::raw::c_char,
+        arg6: *mut XShmSegmentInfo,
+        arg7: ::std::os::raw::c_uint,
+        arg8: ::std::os::raw::c_uint,
+    ) -> *mut XImage;
+}