1 | use super::xlib::{Bool, Display, Drawable, Pixmap, Visual, XImage, GC}; |
2 | use std::os::raw::{c_char, c_int, c_uint, c_ulong}; |
3 | |
4 | x11_link! { Xext, xext, ["libXext.so.6" , "libXext.so" ], 10, |
5 | pub fn XShmQueryExtension(_1: *mut Display) -> Bool, |
6 | pub fn XShmGetEventBase(_1: *mut Display) -> c_int, |
7 | pub fn XShmQueryVersion(_4: *mut Display, _3: *mut c_int, _2: *mut c_int, _1: *mut Bool) -> Bool, |
8 | pub fn XShmPixmapFormat(_1: *mut Display) -> c_int, |
9 | pub fn XShmAttach(_2: *mut Display, _1: *mut XShmSegmentInfo) -> Bool, |
10 | pub fn XShmDetach(_2: *mut Display, _1: *mut XShmSegmentInfo) -> Bool, |
11 | 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, |
12 | pub fn XShmGetImage(_6: *mut Display, _5: Drawable, _4: *mut XImage, _3: c_int, _2: c_int, _1: c_uint) -> Bool, |
13 | 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, |
14 | 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, |
15 | |
16 | variadic: |
17 | globals: |
18 | } |
19 | |
20 | pub type ShmSeg = c_ulong; |
21 | |
22 | #[derive (Copy, Clone, Debug, PartialEq)] |
23 | #[repr (C)] |
24 | pub struct XShmCompletionEvent { |
25 | /// of event |
26 | pub _type: c_int, |
27 | /// # of last request processed by server |
28 | pub serial: c_uint, |
29 | /// true if this came from a SendEvent request |
30 | pub send_event: Bool, |
31 | /// Display the event was read from |
32 | pub diplay: *mut Display, |
33 | /// drawable of request |
34 | pub drawable: *mut Drawable, |
35 | /// ShmReqCode |
36 | pub major_code: c_int, |
37 | /// X_ShmPutImage |
38 | pub minor_code: c_int, |
39 | /// the ShmSeg used in the request |
40 | pub shmseg: ShmSeg, |
41 | /// the offset into ShmSeg used in the request |
42 | pub offset: c_ulong, |
43 | } |
44 | |
45 | #[derive (Copy, Clone, Debug, PartialEq)] |
46 | #[repr (C)] |
47 | pub struct XShmSegmentInfo { |
48 | /// resource id |
49 | pub shmseg: ShmSeg, |
50 | /// kernel id |
51 | pub shmid: c_int, |
52 | /// address in client |
53 | pub shmaddr: *mut c_char, |
54 | /// how the server should attach it |
55 | pub readOnly: Bool, |
56 | } |
57 | |