pub const INTERCEPTION_MAX_KEYBOARD: u32 = 10;
pub const INTERCEPTION_MAX_MOUSE: u32 = 10;
pub const INTERCEPTION_MAX_DEVICE: u32 = 20;
pub type InterceptionContext = *mut ::std::os::raw::c_void;
pub type InterceptionDevice = ::std::os::raw::c_int;
pub type InterceptionPrecedence = ::std::os::raw::c_int;
pub type InterceptionFilter = ::std::os::raw::c_ushort;
pub type InterceptionPredicate = ::std::option::Option<
unsafe extern "C" fn(device: InterceptionDevice) -> ::std::os::raw::c_int,
>;
pub const InterceptionKeyState_INTERCEPTION_KEY_DOWN: InterceptionKeyState = 0;
pub const InterceptionKeyState_INTERCEPTION_KEY_UP: InterceptionKeyState = 1;
pub const InterceptionKeyState_INTERCEPTION_KEY_E0: InterceptionKeyState = 2;
pub const InterceptionKeyState_INTERCEPTION_KEY_E1: InterceptionKeyState = 4;
pub const InterceptionKeyState_INTERCEPTION_KEY_TERMSRV_SET_LED: InterceptionKeyState = 8;
pub const InterceptionKeyState_INTERCEPTION_KEY_TERMSRV_SHADOW: InterceptionKeyState = 16;
pub const InterceptionKeyState_INTERCEPTION_KEY_TERMSRV_VKPACKET: InterceptionKeyState = 32;
pub type InterceptionKeyState = u32;
pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_NONE: InterceptionFilterKeyState = 0;
pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_ALL: InterceptionFilterKeyState =
65535;
pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_DOWN: InterceptionFilterKeyState = 1;
pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_UP: InterceptionFilterKeyState = 2;
pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_E0: InterceptionFilterKeyState = 4;
pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_E1: InterceptionFilterKeyState = 8;
pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_TERMSRV_SET_LED:
InterceptionFilterKeyState = 16;
pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_TERMSRV_SHADOW:
InterceptionFilterKeyState = 32;
pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_TERMSRV_VKPACKET:
InterceptionFilterKeyState = 64;
pub type InterceptionFilterKeyState = u32;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_LEFT_BUTTON_DOWN: InterceptionMouseState = 1;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_LEFT_BUTTON_UP: InterceptionMouseState = 2;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_RIGHT_BUTTON_DOWN: InterceptionMouseState = 4;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_RIGHT_BUTTON_UP: InterceptionMouseState = 8;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_MIDDLE_BUTTON_DOWN: InterceptionMouseState = 16;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_MIDDLE_BUTTON_UP: InterceptionMouseState = 32;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_1_DOWN: InterceptionMouseState = 1;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_1_UP: InterceptionMouseState = 2;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_2_DOWN: InterceptionMouseState = 4;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_2_UP: InterceptionMouseState = 8;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_3_DOWN: InterceptionMouseState = 16;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_3_UP: InterceptionMouseState = 32;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_4_DOWN: InterceptionMouseState = 64;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_4_UP: InterceptionMouseState = 128;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_5_DOWN: InterceptionMouseState = 256;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_5_UP: InterceptionMouseState = 512;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_WHEEL: InterceptionMouseState = 1024;
pub const InterceptionMouseState_INTERCEPTION_MOUSE_HWHEEL: InterceptionMouseState = 2048;
pub type InterceptionMouseState = u32;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_NONE:
InterceptionFilterMouseState = 0;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_ALL: InterceptionFilterMouseState =
65535;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_LEFT_BUTTON_DOWN:
InterceptionFilterMouseState = 1;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_LEFT_BUTTON_UP:
InterceptionFilterMouseState = 2;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_RIGHT_BUTTON_DOWN:
InterceptionFilterMouseState = 4;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_RIGHT_BUTTON_UP:
InterceptionFilterMouseState = 8;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_MIDDLE_BUTTON_DOWN:
InterceptionFilterMouseState = 16;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_MIDDLE_BUTTON_UP:
InterceptionFilterMouseState = 32;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_1_DOWN:
InterceptionFilterMouseState = 1;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_1_UP:
InterceptionFilterMouseState = 2;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_2_DOWN:
InterceptionFilterMouseState = 4;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_2_UP:
InterceptionFilterMouseState = 8;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_3_DOWN:
InterceptionFilterMouseState = 16;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_3_UP:
InterceptionFilterMouseState = 32;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_4_DOWN:
InterceptionFilterMouseState = 64;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_4_UP:
InterceptionFilterMouseState = 128;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_5_DOWN:
InterceptionFilterMouseState = 256;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_5_UP:
InterceptionFilterMouseState = 512;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_WHEEL:
InterceptionFilterMouseState = 1024;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_HWHEEL:
InterceptionFilterMouseState = 2048;
pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_MOVE:
InterceptionFilterMouseState = 4096;
pub type InterceptionFilterMouseState = u32;
pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_MOVE_RELATIVE: InterceptionMouseFlag = 0;
pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_MOVE_ABSOLUTE: InterceptionMouseFlag = 1;
pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_VIRTUAL_DESKTOP: InterceptionMouseFlag = 2;
pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_ATTRIBUTES_CHANGED: InterceptionMouseFlag = 4;
pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_MOVE_NOCOALESCE: InterceptionMouseFlag = 8;
pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_TERMSRV_SRC_SHADOW: InterceptionMouseFlag = 256;
pub type InterceptionMouseFlag = u32;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct InterceptionMouseStroke {
pub state: ::std::os::raw::c_ushort,
pub flags: ::std::os::raw::c_ushort,
pub rolling: ::std::os::raw::c_short,
pub x: ::std::os::raw::c_int,
pub y: ::std::os::raw::c_int,
pub information: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout_InterceptionMouseStroke() {
assert_eq!(
::std::mem::size_of::<InterceptionMouseStroke>(),
20usize,
concat!("Size of: ", stringify!(InterceptionMouseStroke))
);
assert_eq!(
::std::mem::align_of::<InterceptionMouseStroke>(),
4usize,
concat!("Alignment of ", stringify!(InterceptionMouseStroke))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<InterceptionMouseStroke>())).state as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(InterceptionMouseStroke),
"::",
stringify!(state)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<InterceptionMouseStroke>())).flags as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(InterceptionMouseStroke),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<InterceptionMouseStroke>())).rolling as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(InterceptionMouseStroke),
"::",
stringify!(rolling)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<InterceptionMouseStroke>())).x as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(InterceptionMouseStroke),
"::",
stringify!(x)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<InterceptionMouseStroke>())).y as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(InterceptionMouseStroke),
"::",
stringify!(y)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<InterceptionMouseStroke>())).information as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(InterceptionMouseStroke),
"::",
stringify!(information)
)
);
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct InterceptionKeyStroke {
pub code: ::std::os::raw::c_ushort,
pub state: ::std::os::raw::c_ushort,
pub information: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout_InterceptionKeyStroke() {
assert_eq!(
::std::mem::size_of::<InterceptionKeyStroke>(),
8usize,
concat!("Size of: ", stringify!(InterceptionKeyStroke))
);
assert_eq!(
::std::mem::align_of::<InterceptionKeyStroke>(),
4usize,
concat!("Alignment of ", stringify!(InterceptionKeyStroke))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<InterceptionKeyStroke>())).code as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(InterceptionKeyStroke),
"::",
stringify!(code)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<InterceptionKeyStroke>())).state as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(InterceptionKeyStroke),
"::",
stringify!(state)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<InterceptionKeyStroke>())).information as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(InterceptionKeyStroke),
"::",
stringify!(information)
)
);
}
pub type InterceptionStroke = [::std::os::raw::c_char; 20usize];
extern "C" {
pub fn interception_create_context() -> InterceptionContext;
}
extern "C" {
pub fn interception_destroy_context(context: InterceptionContext);
}
extern "C" {
pub fn interception_get_precedence(
context: InterceptionContext,
device: InterceptionDevice,
) -> InterceptionPrecedence;
}
extern "C" {
pub fn interception_set_precedence(
context: InterceptionContext,
device: InterceptionDevice,
precedence: InterceptionPrecedence,
);
}
extern "C" {
pub fn interception_get_filter(
context: InterceptionContext,
device: InterceptionDevice,
) -> InterceptionFilter;
}
extern "C" {
pub fn interception_set_filter(
context: InterceptionContext,
predicate: InterceptionPredicate,
filter: InterceptionFilter,
);
}
extern "C" {
pub fn interception_wait(context: InterceptionContext) -> InterceptionDevice;
}
extern "C" {
pub fn interception_wait_with_timeout(
context: InterceptionContext,
milliseconds: ::std::os::raw::c_ulong,
) -> InterceptionDevice;
}
extern "C" {
pub fn interception_send(
context: InterceptionContext,
device: InterceptionDevice,
stroke: *const InterceptionStroke,
nstroke: ::std::os::raw::c_uint,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn interception_receive(
context: InterceptionContext,
device: InterceptionDevice,
stroke: *mut InterceptionStroke,
nstroke: ::std::os::raw::c_uint,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn interception_get_hardware_id(
context: InterceptionContext,
device: InterceptionDevice,
hardware_id_buffer: *mut ::std::os::raw::c_void,
buffer_size: ::std::os::raw::c_uint,
) -> ::std::os::raw::c_uint;
}
extern "C" {
pub fn interception_is_invalid(device: InterceptionDevice) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn interception_is_keyboard(device: InterceptionDevice) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn interception_is_mouse(device: InterceptionDevice) -> ::std::os::raw::c_int;
}