interception_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.54.1 */
2
3pub const INTERCEPTION_MAX_KEYBOARD: u32 = 10;
4pub const INTERCEPTION_MAX_MOUSE: u32 = 10;
5pub const INTERCEPTION_MAX_DEVICE: u32 = 20;
6pub type InterceptionContext = *mut ::std::os::raw::c_void;
7pub type InterceptionDevice = ::std::os::raw::c_int;
8pub type InterceptionPrecedence = ::std::os::raw::c_int;
9pub type InterceptionFilter = ::std::os::raw::c_ushort;
10pub type InterceptionPredicate = ::std::option::Option<
11    unsafe extern "C" fn(device: InterceptionDevice) -> ::std::os::raw::c_int,
12>;
13pub const InterceptionKeyState_INTERCEPTION_KEY_DOWN: InterceptionKeyState = 0;
14pub const InterceptionKeyState_INTERCEPTION_KEY_UP: InterceptionKeyState = 1;
15pub const InterceptionKeyState_INTERCEPTION_KEY_E0: InterceptionKeyState = 2;
16pub const InterceptionKeyState_INTERCEPTION_KEY_E1: InterceptionKeyState = 4;
17pub const InterceptionKeyState_INTERCEPTION_KEY_TERMSRV_SET_LED: InterceptionKeyState = 8;
18pub const InterceptionKeyState_INTERCEPTION_KEY_TERMSRV_SHADOW: InterceptionKeyState = 16;
19pub const InterceptionKeyState_INTERCEPTION_KEY_TERMSRV_VKPACKET: InterceptionKeyState = 32;
20pub type InterceptionKeyState = u32;
21pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_NONE: InterceptionFilterKeyState = 0;
22pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_ALL: InterceptionFilterKeyState =
23    65535;
24pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_DOWN: InterceptionFilterKeyState = 1;
25pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_UP: InterceptionFilterKeyState = 2;
26pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_E0: InterceptionFilterKeyState = 4;
27pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_E1: InterceptionFilterKeyState = 8;
28pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_TERMSRV_SET_LED:
29    InterceptionFilterKeyState = 16;
30pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_TERMSRV_SHADOW:
31    InterceptionFilterKeyState = 32;
32pub const InterceptionFilterKeyState_INTERCEPTION_FILTER_KEY_TERMSRV_VKPACKET:
33    InterceptionFilterKeyState = 64;
34pub type InterceptionFilterKeyState = u32;
35pub const InterceptionMouseState_INTERCEPTION_MOUSE_LEFT_BUTTON_DOWN: InterceptionMouseState = 1;
36pub const InterceptionMouseState_INTERCEPTION_MOUSE_LEFT_BUTTON_UP: InterceptionMouseState = 2;
37pub const InterceptionMouseState_INTERCEPTION_MOUSE_RIGHT_BUTTON_DOWN: InterceptionMouseState = 4;
38pub const InterceptionMouseState_INTERCEPTION_MOUSE_RIGHT_BUTTON_UP: InterceptionMouseState = 8;
39pub const InterceptionMouseState_INTERCEPTION_MOUSE_MIDDLE_BUTTON_DOWN: InterceptionMouseState = 16;
40pub const InterceptionMouseState_INTERCEPTION_MOUSE_MIDDLE_BUTTON_UP: InterceptionMouseState = 32;
41pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_1_DOWN: InterceptionMouseState = 1;
42pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_1_UP: InterceptionMouseState = 2;
43pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_2_DOWN: InterceptionMouseState = 4;
44pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_2_UP: InterceptionMouseState = 8;
45pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_3_DOWN: InterceptionMouseState = 16;
46pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_3_UP: InterceptionMouseState = 32;
47pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_4_DOWN: InterceptionMouseState = 64;
48pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_4_UP: InterceptionMouseState = 128;
49pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_5_DOWN: InterceptionMouseState = 256;
50pub const InterceptionMouseState_INTERCEPTION_MOUSE_BUTTON_5_UP: InterceptionMouseState = 512;
51pub const InterceptionMouseState_INTERCEPTION_MOUSE_WHEEL: InterceptionMouseState = 1024;
52pub const InterceptionMouseState_INTERCEPTION_MOUSE_HWHEEL: InterceptionMouseState = 2048;
53pub type InterceptionMouseState = u32;
54pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_NONE:
55    InterceptionFilterMouseState = 0;
56pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_ALL: InterceptionFilterMouseState =
57    65535;
58pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_LEFT_BUTTON_DOWN:
59    InterceptionFilterMouseState = 1;
60pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_LEFT_BUTTON_UP:
61    InterceptionFilterMouseState = 2;
62pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_RIGHT_BUTTON_DOWN:
63    InterceptionFilterMouseState = 4;
64pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_RIGHT_BUTTON_UP:
65    InterceptionFilterMouseState = 8;
66pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_MIDDLE_BUTTON_DOWN:
67    InterceptionFilterMouseState = 16;
68pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_MIDDLE_BUTTON_UP:
69    InterceptionFilterMouseState = 32;
70pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_1_DOWN:
71    InterceptionFilterMouseState = 1;
72pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_1_UP:
73    InterceptionFilterMouseState = 2;
74pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_2_DOWN:
75    InterceptionFilterMouseState = 4;
76pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_2_UP:
77    InterceptionFilterMouseState = 8;
78pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_3_DOWN:
79    InterceptionFilterMouseState = 16;
80pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_3_UP:
81    InterceptionFilterMouseState = 32;
82pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_4_DOWN:
83    InterceptionFilterMouseState = 64;
84pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_4_UP:
85    InterceptionFilterMouseState = 128;
86pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_5_DOWN:
87    InterceptionFilterMouseState = 256;
88pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_BUTTON_5_UP:
89    InterceptionFilterMouseState = 512;
90pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_WHEEL:
91    InterceptionFilterMouseState = 1024;
92pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_HWHEEL:
93    InterceptionFilterMouseState = 2048;
94pub const InterceptionFilterMouseState_INTERCEPTION_FILTER_MOUSE_MOVE:
95    InterceptionFilterMouseState = 4096;
96pub type InterceptionFilterMouseState = u32;
97pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_MOVE_RELATIVE: InterceptionMouseFlag = 0;
98pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_MOVE_ABSOLUTE: InterceptionMouseFlag = 1;
99pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_VIRTUAL_DESKTOP: InterceptionMouseFlag = 2;
100pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_ATTRIBUTES_CHANGED: InterceptionMouseFlag = 4;
101pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_MOVE_NOCOALESCE: InterceptionMouseFlag = 8;
102pub const InterceptionMouseFlag_INTERCEPTION_MOUSE_TERMSRV_SRC_SHADOW: InterceptionMouseFlag = 256;
103pub type InterceptionMouseFlag = u32;
104#[repr(C)]
105#[derive(Debug, Default, Copy, Clone)]
106pub struct InterceptionMouseStroke {
107    pub state: ::std::os::raw::c_ushort,
108    pub flags: ::std::os::raw::c_ushort,
109    pub rolling: ::std::os::raw::c_short,
110    pub x: ::std::os::raw::c_int,
111    pub y: ::std::os::raw::c_int,
112    pub information: ::std::os::raw::c_uint,
113}
114#[test]
115fn bindgen_test_layout_InterceptionMouseStroke() {
116    assert_eq!(
117        ::std::mem::size_of::<InterceptionMouseStroke>(),
118        20usize,
119        concat!("Size of: ", stringify!(InterceptionMouseStroke))
120    );
121    assert_eq!(
122        ::std::mem::align_of::<InterceptionMouseStroke>(),
123        4usize,
124        concat!("Alignment of ", stringify!(InterceptionMouseStroke))
125    );
126    assert_eq!(
127        unsafe { &(*(::std::ptr::null::<InterceptionMouseStroke>())).state as *const _ as usize },
128        0usize,
129        concat!(
130            "Offset of field: ",
131            stringify!(InterceptionMouseStroke),
132            "::",
133            stringify!(state)
134        )
135    );
136    assert_eq!(
137        unsafe { &(*(::std::ptr::null::<InterceptionMouseStroke>())).flags as *const _ as usize },
138        2usize,
139        concat!(
140            "Offset of field: ",
141            stringify!(InterceptionMouseStroke),
142            "::",
143            stringify!(flags)
144        )
145    );
146    assert_eq!(
147        unsafe { &(*(::std::ptr::null::<InterceptionMouseStroke>())).rolling as *const _ as usize },
148        4usize,
149        concat!(
150            "Offset of field: ",
151            stringify!(InterceptionMouseStroke),
152            "::",
153            stringify!(rolling)
154        )
155    );
156    assert_eq!(
157        unsafe { &(*(::std::ptr::null::<InterceptionMouseStroke>())).x as *const _ as usize },
158        8usize,
159        concat!(
160            "Offset of field: ",
161            stringify!(InterceptionMouseStroke),
162            "::",
163            stringify!(x)
164        )
165    );
166    assert_eq!(
167        unsafe { &(*(::std::ptr::null::<InterceptionMouseStroke>())).y as *const _ as usize },
168        12usize,
169        concat!(
170            "Offset of field: ",
171            stringify!(InterceptionMouseStroke),
172            "::",
173            stringify!(y)
174        )
175    );
176    assert_eq!(
177        unsafe {
178            &(*(::std::ptr::null::<InterceptionMouseStroke>())).information as *const _ as usize
179        },
180        16usize,
181        concat!(
182            "Offset of field: ",
183            stringify!(InterceptionMouseStroke),
184            "::",
185            stringify!(information)
186        )
187    );
188}
189#[repr(C)]
190#[derive(Debug, Default, Copy, Clone)]
191pub struct InterceptionKeyStroke {
192    pub code: ::std::os::raw::c_ushort,
193    pub state: ::std::os::raw::c_ushort,
194    pub information: ::std::os::raw::c_uint,
195}
196#[test]
197fn bindgen_test_layout_InterceptionKeyStroke() {
198    assert_eq!(
199        ::std::mem::size_of::<InterceptionKeyStroke>(),
200        8usize,
201        concat!("Size of: ", stringify!(InterceptionKeyStroke))
202    );
203    assert_eq!(
204        ::std::mem::align_of::<InterceptionKeyStroke>(),
205        4usize,
206        concat!("Alignment of ", stringify!(InterceptionKeyStroke))
207    );
208    assert_eq!(
209        unsafe { &(*(::std::ptr::null::<InterceptionKeyStroke>())).code as *const _ as usize },
210        0usize,
211        concat!(
212            "Offset of field: ",
213            stringify!(InterceptionKeyStroke),
214            "::",
215            stringify!(code)
216        )
217    );
218    assert_eq!(
219        unsafe { &(*(::std::ptr::null::<InterceptionKeyStroke>())).state as *const _ as usize },
220        2usize,
221        concat!(
222            "Offset of field: ",
223            stringify!(InterceptionKeyStroke),
224            "::",
225            stringify!(state)
226        )
227    );
228    assert_eq!(
229        unsafe {
230            &(*(::std::ptr::null::<InterceptionKeyStroke>())).information as *const _ as usize
231        },
232        4usize,
233        concat!(
234            "Offset of field: ",
235            stringify!(InterceptionKeyStroke),
236            "::",
237            stringify!(information)
238        )
239    );
240}
241pub type InterceptionStroke = [::std::os::raw::c_char; 20usize];
242extern "C" {
243    pub fn interception_create_context() -> InterceptionContext;
244}
245extern "C" {
246    pub fn interception_destroy_context(context: InterceptionContext);
247}
248extern "C" {
249    pub fn interception_get_precedence(
250        context: InterceptionContext,
251        device: InterceptionDevice,
252    ) -> InterceptionPrecedence;
253}
254extern "C" {
255    pub fn interception_set_precedence(
256        context: InterceptionContext,
257        device: InterceptionDevice,
258        precedence: InterceptionPrecedence,
259    );
260}
261extern "C" {
262    pub fn interception_get_filter(
263        context: InterceptionContext,
264        device: InterceptionDevice,
265    ) -> InterceptionFilter;
266}
267extern "C" {
268    pub fn interception_set_filter(
269        context: InterceptionContext,
270        predicate: InterceptionPredicate,
271        filter: InterceptionFilter,
272    );
273}
274extern "C" {
275    pub fn interception_wait(context: InterceptionContext) -> InterceptionDevice;
276}
277extern "C" {
278    pub fn interception_wait_with_timeout(
279        context: InterceptionContext,
280        milliseconds: ::std::os::raw::c_ulong,
281    ) -> InterceptionDevice;
282}
283extern "C" {
284    pub fn interception_send(
285        context: InterceptionContext,
286        device: InterceptionDevice,
287        stroke: *const InterceptionStroke,
288        nstroke: ::std::os::raw::c_uint,
289    ) -> ::std::os::raw::c_int;
290}
291extern "C" {
292    pub fn interception_receive(
293        context: InterceptionContext,
294        device: InterceptionDevice,
295        stroke: *mut InterceptionStroke,
296        nstroke: ::std::os::raw::c_uint,
297    ) -> ::std::os::raw::c_int;
298}
299extern "C" {
300    pub fn interception_get_hardware_id(
301        context: InterceptionContext,
302        device: InterceptionDevice,
303        hardware_id_buffer: *mut ::std::os::raw::c_void,
304        buffer_size: ::std::os::raw::c_uint,
305    ) -> ::std::os::raw::c_uint;
306}
307extern "C" {
308    pub fn interception_is_invalid(device: InterceptionDevice) -> ::std::os::raw::c_int;
309}
310extern "C" {
311    pub fn interception_is_keyboard(device: InterceptionDevice) -> ::std::os::raw::c_int;
312}
313extern "C" {
314    pub fn interception_is_mouse(device: InterceptionDevice) -> ::std::os::raw::c_int;
315}