57 lines
2.1 KiB
Rust
57 lines
2.1 KiB
Rust
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 {
|
|
/// of event
|
|
pub _type: c_int,
|
|
/// # of last request processed by server
|
|
pub serial: c_uint,
|
|
/// true if this came from a SendEvent request
|
|
pub send_event: Bool,
|
|
/// Display the event was read from
|
|
pub diplay: *mut Display,
|
|
/// drawable of request
|
|
pub drawable: *mut Drawable,
|
|
/// ShmReqCode
|
|
pub major_code: c_int,
|
|
/// X_ShmPutImage
|
|
pub minor_code: c_int,
|
|
/// the ShmSeg used in the request
|
|
pub shmseg: ShmSeg,
|
|
/// the offset into ShmSeg used in the request
|
|
pub offset: c_ulong,
|
|
}
|
|
|
|
#[derive(Copy, Clone, Debug, PartialEq)]
|
|
#[repr(C)]
|
|
pub struct XShmSegmentInfo {
|
|
/// resource id
|
|
pub shmseg: ShmSeg,
|
|
/// kernel id
|
|
pub shmid: c_int,
|
|
/// address in client
|
|
pub shmaddr: *mut c_char,
|
|
/// how the server should attach it
|
|
pub readOnly: Bool,
|
|
}
|