pub const SPNAV_EVENT_ANY: _bindgen_ty_1 = 0;
pub const SPNAV_EVENT_MOTION: _bindgen_ty_1 = 1;
pub const SPNAV_EVENT_BUTTON: _bindgen_ty_1 = 2;
pub type _bindgen_ty_1 = u32;
#[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)
)
);
}
impl Default for spnav_event_motion {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Debug, Default, 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,
_bindgen_union_align: [u64; 5usize],
}
#[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)
)
);
}
impl Default for spnav_event {
fn default() -> Self {
unsafe { ::std::mem::zeroed() }
}
}
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;
}