318 lines
13 KiB
Rust
318 lines
13 KiB
Rust
#![ allow( dead_code, unused_imports, non_upper_case_globals, non_snake_case, deref_nullptr ) ]
|
|
|
|
/* automatically generated by rust-bindgen 0.54.1 */
|
|
|
|
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;
|
|
}
|