use super::xlib::{Bool, Display, Drawable, Pixmap, Visual, XImage, GC};
use std::os::raw::{c_char, c_int, c_uint, c_ulong};
x11_link! { Xext, xext, ["libXext.so.6", "libXext.so"], 10,
pub fn XShmQueryExtension(_1: *mut Display) -> Bool,
pub fn XShmGetEventBase(_1: *mut Display) -> c_int,
pub fn XShmQueryVersion(_4: *mut Display, _3: *mut c_int, _2: *mut c_int, _1: *mut Bool) -> Bool,
pub fn XShmPixmapFormat(_1: *mut Display) -> c_int,
pub fn XShmAttach(_2: *mut Display, _1: *mut XShmSegmentInfo) -> Bool,
pub fn XShmDetach(_2: *mut Display, _1: *mut XShmSegmentInfo) -> Bool,
pub fn XShmPutImage(_11: *mut Display, _10: Drawable, _9: GC, _8: *mut XImage, _7: c_int, _6: c_int, _5: c_int, _4: c_int, _3: c_uint, _2: c_uint, _1: Bool) -> Bool,
pub fn XShmGetImage(_6: *mut Display, _5: Drawable, _4: *mut XImage, _3: c_int, _2: c_int, _1: c_uint) -> Bool,
pub fn XShmCreateImage(_8: *mut Display, _7: *mut Visual, _6: c_uint, _5: c_int, _4: *mut c_char, _3: *mut XShmSegmentInfo, _2: c_uint, _1: c_uint) -> *mut XImage,
pub fn XShmCreatePixmap(_7: *mut Display, _6: Drawable, _5: *mut c_char, _4: *mut XShmSegmentInfo, _3: c_uint, _2: c_uint, _1: c_uint) -> Pixmap,
variadic:
globals:
}
pub type ShmSeg = c_ulong;
#[derive(Copy, Clone, Debug, PartialEq)]
#[repr(C)]
pub struct XShmCompletionEvent {
pub _type: c_int,
pub serial: c_uint,
pub send_event: Bool,
pub diplay: *mut Display,
pub drawable: *mut Drawable,
pub major_code: c_int,
pub minor_code: c_int,
pub shmseg: ShmSeg,
pub offset: c_ulong,
}
#[derive(Copy, Clone, Debug, PartialEq)]
#[repr(C)]
pub struct XShmSegmentInfo {
pub shmseg: ShmSeg,
pub shmid: c_int,
pub shmaddr: *mut c_char,
pub readOnly: Bool,
}