libspnav-bindings 0.1.0

Unsafe libspnav FFI bindings for Rust
Documentation
/* automatically generated by rust-bindgen 0.59.1 */

pub const SPNAV_EVENT_ANY: ::std::os::raw::c_uint = 0;
pub const SPNAV_EVENT_MOTION: ::std::os::raw::c_uint = 1;
pub const SPNAV_EVENT_BUTTON: ::std::os::raw::c_uint = 2;
pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct spnav_event_motion {
    pub type_: ::std::os::raw::c_int,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub z: ::std::os::raw::c_int,
    pub rx: ::std::os::raw::c_int,
    pub ry: ::std::os::raw::c_int,
    pub rz: ::std::os::raw::c_int,
    pub period: ::std::os::raw::c_uint,
    pub data: *mut ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_spnav_event_motion() {
    assert_eq!(
        ::std::mem::size_of::<spnav_event_motion>(),
        40usize,
        concat!("Size of: ", stringify!(spnav_event_motion))
    );
    assert_eq!(
        ::std::mem::align_of::<spnav_event_motion>(),
        8usize,
        concat!("Alignment of ", stringify!(spnav_event_motion))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_motion>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_motion),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_motion>())).x as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_motion),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_motion>())).y as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_motion),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_motion>())).z as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_motion),
            "::",
            stringify!(z)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_motion>())).rx as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_motion),
            "::",
            stringify!(rx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_motion>())).ry as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_motion),
            "::",
            stringify!(ry)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_motion>())).rz as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_motion),
            "::",
            stringify!(rz)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_motion>())).period as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_motion),
            "::",
            stringify!(period)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_motion>())).data as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_motion),
            "::",
            stringify!(data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct spnav_event_button {
    pub type_: ::std::os::raw::c_int,
    pub press: ::std::os::raw::c_int,
    pub bnum: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_spnav_event_button() {
    assert_eq!(
        ::std::mem::size_of::<spnav_event_button>(),
        12usize,
        concat!("Size of: ", stringify!(spnav_event_button))
    );
    assert_eq!(
        ::std::mem::align_of::<spnav_event_button>(),
        4usize,
        concat!("Alignment of ", stringify!(spnav_event_button))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_button>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_button),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_button>())).press as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_button),
            "::",
            stringify!(press)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event_button>())).bnum as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event_button),
            "::",
            stringify!(bnum)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union spnav_event {
    pub type_: ::std::os::raw::c_int,
    pub motion: spnav_event_motion,
    pub button: spnav_event_button,
}
#[test]
fn bindgen_test_layout_spnav_event() {
    assert_eq!(
        ::std::mem::size_of::<spnav_event>(),
        40usize,
        concat!("Size of: ", stringify!(spnav_event))
    );
    assert_eq!(
        ::std::mem::align_of::<spnav_event>(),
        8usize,
        concat!("Alignment of ", stringify!(spnav_event))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event>())).motion as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event),
            "::",
            stringify!(motion)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<spnav_event>())).button as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(spnav_event),
            "::",
            stringify!(button)
        )
    );
}
extern "C" {
    pub fn spnav_open() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn spnav_close() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn spnav_fd() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn spnav_sensitivity(sens: f64) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn spnav_wait_event(event: *mut spnav_event) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn spnav_poll_event(event: *mut spnav_event) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn spnav_remove_events(type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn spnav_x11_open(
        dpy: *mut ::std::os::raw::c_void,
        win: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn spnav_x11_window(win: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn spnav_x11_event(
        xev: *const ::std::os::raw::c_void,
        event: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}