evdi_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.57.0 */
2
3pub const _STDINT_H: u32 = 1;
4pub const _FEATURES_H: u32 = 1;
5pub const _DEFAULT_SOURCE: u32 = 1;
6pub const __GLIBC_USE_ISOC2X: u32 = 0;
7pub const __USE_ISOC11: u32 = 1;
8pub const __USE_ISOC99: u32 = 1;
9pub const __USE_ISOC95: u32 = 1;
10pub const __USE_POSIX_IMPLICITLY: u32 = 1;
11pub const _POSIX_SOURCE: u32 = 1;
12pub const _POSIX_C_SOURCE: u32 = 200809;
13pub const __USE_POSIX: u32 = 1;
14pub const __USE_POSIX2: u32 = 1;
15pub const __USE_POSIX199309: u32 = 1;
16pub const __USE_POSIX199506: u32 = 1;
17pub const __USE_XOPEN2K: u32 = 1;
18pub const __USE_XOPEN2K8: u32 = 1;
19pub const _ATFILE_SOURCE: u32 = 1;
20pub const __USE_MISC: u32 = 1;
21pub const __USE_ATFILE: u32 = 1;
22pub const __USE_FORTIFY_LEVEL: u32 = 0;
23pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
24pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
25pub const _STDC_PREDEF_H: u32 = 1;
26pub const __STDC_IEC_559__: u32 = 1;
27pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
28pub const __STDC_ISO_10646__: u32 = 201706;
29pub const __GNU_LIBRARY__: u32 = 6;
30pub const __GLIBC__: u32 = 2;
31pub const __GLIBC_MINOR__: u32 = 32;
32pub const _SYS_CDEFS_H: u32 = 1;
33pub const __glibc_c99_flexarr_available: u32 = 1;
34pub const __WORDSIZE: u32 = 64;
35pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
36pub const __SYSCALL_WORDSIZE: u32 = 64;
37pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
38pub const __HAVE_GENERIC_SELECTION: u32 = 1;
39pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
40pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
41pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
42pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
43pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
44pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
45pub const _BITS_TYPES_H: u32 = 1;
46pub const __TIMESIZE: u32 = 64;
47pub const _BITS_TYPESIZES_H: u32 = 1;
48pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
49pub const __INO_T_MATCHES_INO64_T: u32 = 1;
50pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
51pub const __STATFS_MATCHES_STATFS64: u32 = 1;
52pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
53pub const __FD_SETSIZE: u32 = 1024;
54pub const _BITS_TIME64_H: u32 = 1;
55pub const _BITS_WCHAR_H: u32 = 1;
56pub const _BITS_STDINT_INTN_H: u32 = 1;
57pub const _BITS_STDINT_UINTN_H: u32 = 1;
58pub const INT8_MIN: i32 = -128;
59pub const INT16_MIN: i32 = -32768;
60pub const INT32_MIN: i32 = -2147483648;
61pub const INT8_MAX: u32 = 127;
62pub const INT16_MAX: u32 = 32767;
63pub const INT32_MAX: u32 = 2147483647;
64pub const UINT8_MAX: u32 = 255;
65pub const UINT16_MAX: u32 = 65535;
66pub const UINT32_MAX: u32 = 4294967295;
67pub const INT_LEAST8_MIN: i32 = -128;
68pub const INT_LEAST16_MIN: i32 = -32768;
69pub const INT_LEAST32_MIN: i32 = -2147483648;
70pub const INT_LEAST8_MAX: u32 = 127;
71pub const INT_LEAST16_MAX: u32 = 32767;
72pub const INT_LEAST32_MAX: u32 = 2147483647;
73pub const UINT_LEAST8_MAX: u32 = 255;
74pub const UINT_LEAST16_MAX: u32 = 65535;
75pub const UINT_LEAST32_MAX: u32 = 4294967295;
76pub const INT_FAST8_MIN: i32 = -128;
77pub const INT_FAST16_MIN: i64 = -9223372036854775808;
78pub const INT_FAST32_MIN: i64 = -9223372036854775808;
79pub const INT_FAST8_MAX: u32 = 127;
80pub const INT_FAST16_MAX: u64 = 9223372036854775807;
81pub const INT_FAST32_MAX: u64 = 9223372036854775807;
82pub const UINT_FAST8_MAX: u32 = 255;
83pub const UINT_FAST16_MAX: i32 = -1;
84pub const UINT_FAST32_MAX: i32 = -1;
85pub const INTPTR_MIN: i64 = -9223372036854775808;
86pub const INTPTR_MAX: u64 = 9223372036854775807;
87pub const UINTPTR_MAX: i32 = -1;
88pub const PTRDIFF_MIN: i64 = -9223372036854775808;
89pub const PTRDIFF_MAX: u64 = 9223372036854775807;
90pub const SIG_ATOMIC_MIN: i32 = -2147483648;
91pub const SIG_ATOMIC_MAX: u32 = 2147483647;
92pub const SIZE_MAX: i32 = -1;
93pub const WINT_MIN: u32 = 0;
94pub const WINT_MAX: u32 = 4294967295;
95pub const true_: u32 = 1;
96pub const false_: u32 = 0;
97pub const __bool_true_false_are_defined: u32 = 1;
98pub const LIBEVDI_VERSION_MAJOR: u32 = 1;
99pub const LIBEVDI_VERSION_MINOR: u32 = 9;
100pub const LIBEVDI_VERSION_PATCH: u32 = 1;
101pub type __u_char = ::std::os::raw::c_uchar;
102pub type __u_short = ::std::os::raw::c_ushort;
103pub type __u_int = ::std::os::raw::c_uint;
104pub type __u_long = ::std::os::raw::c_ulong;
105pub type __int8_t = ::std::os::raw::c_schar;
106pub type __uint8_t = ::std::os::raw::c_uchar;
107pub type __int16_t = ::std::os::raw::c_short;
108pub type __uint16_t = ::std::os::raw::c_ushort;
109pub type __int32_t = ::std::os::raw::c_int;
110pub type __uint32_t = ::std::os::raw::c_uint;
111pub type __int64_t = ::std::os::raw::c_long;
112pub type __uint64_t = ::std::os::raw::c_ulong;
113pub type __int_least8_t = __int8_t;
114pub type __uint_least8_t = __uint8_t;
115pub type __int_least16_t = __int16_t;
116pub type __uint_least16_t = __uint16_t;
117pub type __int_least32_t = __int32_t;
118pub type __uint_least32_t = __uint32_t;
119pub type __int_least64_t = __int64_t;
120pub type __uint_least64_t = __uint64_t;
121pub type __quad_t = ::std::os::raw::c_long;
122pub type __u_quad_t = ::std::os::raw::c_ulong;
123pub type __intmax_t = ::std::os::raw::c_long;
124pub type __uintmax_t = ::std::os::raw::c_ulong;
125pub type __dev_t = ::std::os::raw::c_ulong;
126pub type __uid_t = ::std::os::raw::c_uint;
127pub type __gid_t = ::std::os::raw::c_uint;
128pub type __ino_t = ::std::os::raw::c_ulong;
129pub type __ino64_t = ::std::os::raw::c_ulong;
130pub type __mode_t = ::std::os::raw::c_uint;
131pub type __nlink_t = ::std::os::raw::c_ulong;
132pub type __off_t = ::std::os::raw::c_long;
133pub type __off64_t = ::std::os::raw::c_long;
134pub type __pid_t = ::std::os::raw::c_int;
135#[repr(C)]
136#[derive(Debug, Copy, Clone)]
137pub struct __fsid_t {
138    pub __val: [::std::os::raw::c_int; 2usize],
139}
140#[test]
141fn bindgen_test_layout___fsid_t() {
142    assert_eq!(
143        ::std::mem::size_of::<__fsid_t>(),
144        8usize,
145        concat!("Size of: ", stringify!(__fsid_t))
146    );
147    assert_eq!(
148        ::std::mem::align_of::<__fsid_t>(),
149        4usize,
150        concat!("Alignment of ", stringify!(__fsid_t))
151    );
152    assert_eq!(
153        unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize },
154        0usize,
155        concat!(
156            "Offset of field: ",
157            stringify!(__fsid_t),
158            "::",
159            stringify!(__val)
160        )
161    );
162}
163pub type __clock_t = ::std::os::raw::c_long;
164pub type __rlim_t = ::std::os::raw::c_ulong;
165pub type __rlim64_t = ::std::os::raw::c_ulong;
166pub type __id_t = ::std::os::raw::c_uint;
167pub type __time_t = ::std::os::raw::c_long;
168pub type __useconds_t = ::std::os::raw::c_uint;
169pub type __suseconds_t = ::std::os::raw::c_long;
170pub type __suseconds64_t = ::std::os::raw::c_long;
171pub type __daddr_t = ::std::os::raw::c_int;
172pub type __key_t = ::std::os::raw::c_int;
173pub type __clockid_t = ::std::os::raw::c_int;
174pub type __timer_t = *mut ::std::os::raw::c_void;
175pub type __blksize_t = ::std::os::raw::c_long;
176pub type __blkcnt_t = ::std::os::raw::c_long;
177pub type __blkcnt64_t = ::std::os::raw::c_long;
178pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
179pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
180pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
181pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
182pub type __fsword_t = ::std::os::raw::c_long;
183pub type __ssize_t = ::std::os::raw::c_long;
184pub type __syscall_slong_t = ::std::os::raw::c_long;
185pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
186pub type __loff_t = __off64_t;
187pub type __caddr_t = *mut ::std::os::raw::c_char;
188pub type __intptr_t = ::std::os::raw::c_long;
189pub type __socklen_t = ::std::os::raw::c_uint;
190pub type __sig_atomic_t = ::std::os::raw::c_int;
191pub type int_least8_t = __int_least8_t;
192pub type int_least16_t = __int_least16_t;
193pub type int_least32_t = __int_least32_t;
194pub type int_least64_t = __int_least64_t;
195pub type uint_least8_t = __uint_least8_t;
196pub type uint_least16_t = __uint_least16_t;
197pub type uint_least32_t = __uint_least32_t;
198pub type uint_least64_t = __uint_least64_t;
199pub type int_fast8_t = ::std::os::raw::c_schar;
200pub type int_fast16_t = ::std::os::raw::c_long;
201pub type int_fast32_t = ::std::os::raw::c_long;
202pub type int_fast64_t = ::std::os::raw::c_long;
203pub type uint_fast8_t = ::std::os::raw::c_uchar;
204pub type uint_fast16_t = ::std::os::raw::c_ulong;
205pub type uint_fast32_t = ::std::os::raw::c_ulong;
206pub type uint_fast64_t = ::std::os::raw::c_ulong;
207pub type intmax_t = __intmax_t;
208pub type uintmax_t = __uintmax_t;
209#[repr(C)]
210#[derive(Debug, Copy, Clone)]
211pub struct evdi_lib_version {
212    pub version_major: ::std::os::raw::c_int,
213    pub version_minor: ::std::os::raw::c_int,
214    pub version_patchlevel: ::std::os::raw::c_int,
215}
216#[test]
217fn bindgen_test_layout_evdi_lib_version() {
218    assert_eq!(
219        ::std::mem::size_of::<evdi_lib_version>(),
220        12usize,
221        concat!("Size of: ", stringify!(evdi_lib_version))
222    );
223    assert_eq!(
224        ::std::mem::align_of::<evdi_lib_version>(),
225        4usize,
226        concat!("Alignment of ", stringify!(evdi_lib_version))
227    );
228    assert_eq!(
229        unsafe { &(*(::std::ptr::null::<evdi_lib_version>())).version_major as *const _ as usize },
230        0usize,
231        concat!(
232            "Offset of field: ",
233            stringify!(evdi_lib_version),
234            "::",
235            stringify!(version_major)
236        )
237    );
238    assert_eq!(
239        unsafe { &(*(::std::ptr::null::<evdi_lib_version>())).version_minor as *const _ as usize },
240        4usize,
241        concat!(
242            "Offset of field: ",
243            stringify!(evdi_lib_version),
244            "::",
245            stringify!(version_minor)
246        )
247    );
248    assert_eq!(
249        unsafe {
250            &(*(::std::ptr::null::<evdi_lib_version>())).version_patchlevel as *const _ as usize
251        },
252        8usize,
253        concat!(
254            "Offset of field: ",
255            stringify!(evdi_lib_version),
256            "::",
257            stringify!(version_patchlevel)
258        )
259    );
260}
261#[repr(C)]
262#[derive(Debug, Copy, Clone)]
263pub struct evdi_device_context {
264    _unused: [u8; 0],
265}
266pub type evdi_handle = *mut evdi_device_context;
267pub type evdi_selectable = ::std::os::raw::c_int;
268pub const evdi_device_status_AVAILABLE: evdi_device_status = 0;
269pub const evdi_device_status_UNRECOGNIZED: evdi_device_status = 1;
270pub const evdi_device_status_NOT_PRESENT: evdi_device_status = 2;
271pub type evdi_device_status = ::std::os::raw::c_uint;
272#[repr(C)]
273#[derive(Debug, Copy, Clone)]
274pub struct evdi_rect {
275    pub x1: ::std::os::raw::c_int,
276    pub y1: ::std::os::raw::c_int,
277    pub x2: ::std::os::raw::c_int,
278    pub y2: ::std::os::raw::c_int,
279}
280#[test]
281fn bindgen_test_layout_evdi_rect() {
282    assert_eq!(
283        ::std::mem::size_of::<evdi_rect>(),
284        16usize,
285        concat!("Size of: ", stringify!(evdi_rect))
286    );
287    assert_eq!(
288        ::std::mem::align_of::<evdi_rect>(),
289        4usize,
290        concat!("Alignment of ", stringify!(evdi_rect))
291    );
292    assert_eq!(
293        unsafe { &(*(::std::ptr::null::<evdi_rect>())).x1 as *const _ as usize },
294        0usize,
295        concat!(
296            "Offset of field: ",
297            stringify!(evdi_rect),
298            "::",
299            stringify!(x1)
300        )
301    );
302    assert_eq!(
303        unsafe { &(*(::std::ptr::null::<evdi_rect>())).y1 as *const _ as usize },
304        4usize,
305        concat!(
306            "Offset of field: ",
307            stringify!(evdi_rect),
308            "::",
309            stringify!(y1)
310        )
311    );
312    assert_eq!(
313        unsafe { &(*(::std::ptr::null::<evdi_rect>())).x2 as *const _ as usize },
314        8usize,
315        concat!(
316            "Offset of field: ",
317            stringify!(evdi_rect),
318            "::",
319            stringify!(x2)
320        )
321    );
322    assert_eq!(
323        unsafe { &(*(::std::ptr::null::<evdi_rect>())).y2 as *const _ as usize },
324        12usize,
325        concat!(
326            "Offset of field: ",
327            stringify!(evdi_rect),
328            "::",
329            stringify!(y2)
330        )
331    );
332}
333#[repr(C)]
334#[derive(Debug, Copy, Clone)]
335pub struct evdi_mode {
336    pub width: ::std::os::raw::c_int,
337    pub height: ::std::os::raw::c_int,
338    pub refresh_rate: ::std::os::raw::c_int,
339    pub bits_per_pixel: ::std::os::raw::c_int,
340    pub pixel_format: ::std::os::raw::c_uint,
341}
342#[test]
343fn bindgen_test_layout_evdi_mode() {
344    assert_eq!(
345        ::std::mem::size_of::<evdi_mode>(),
346        20usize,
347        concat!("Size of: ", stringify!(evdi_mode))
348    );
349    assert_eq!(
350        ::std::mem::align_of::<evdi_mode>(),
351        4usize,
352        concat!("Alignment of ", stringify!(evdi_mode))
353    );
354    assert_eq!(
355        unsafe { &(*(::std::ptr::null::<evdi_mode>())).width as *const _ as usize },
356        0usize,
357        concat!(
358            "Offset of field: ",
359            stringify!(evdi_mode),
360            "::",
361            stringify!(width)
362        )
363    );
364    assert_eq!(
365        unsafe { &(*(::std::ptr::null::<evdi_mode>())).height as *const _ as usize },
366        4usize,
367        concat!(
368            "Offset of field: ",
369            stringify!(evdi_mode),
370            "::",
371            stringify!(height)
372        )
373    );
374    assert_eq!(
375        unsafe { &(*(::std::ptr::null::<evdi_mode>())).refresh_rate as *const _ as usize },
376        8usize,
377        concat!(
378            "Offset of field: ",
379            stringify!(evdi_mode),
380            "::",
381            stringify!(refresh_rate)
382        )
383    );
384    assert_eq!(
385        unsafe { &(*(::std::ptr::null::<evdi_mode>())).bits_per_pixel as *const _ as usize },
386        12usize,
387        concat!(
388            "Offset of field: ",
389            stringify!(evdi_mode),
390            "::",
391            stringify!(bits_per_pixel)
392        )
393    );
394    assert_eq!(
395        unsafe { &(*(::std::ptr::null::<evdi_mode>())).pixel_format as *const _ as usize },
396        16usize,
397        concat!(
398            "Offset of field: ",
399            stringify!(evdi_mode),
400            "::",
401            stringify!(pixel_format)
402        )
403    );
404}
405#[repr(C)]
406#[derive(Debug, Copy, Clone)]
407pub struct evdi_buffer {
408    pub id: ::std::os::raw::c_int,
409    pub buffer: *mut ::std::os::raw::c_void,
410    pub width: ::std::os::raw::c_int,
411    pub height: ::std::os::raw::c_int,
412    pub stride: ::std::os::raw::c_int,
413    pub rects: *mut evdi_rect,
414    pub rect_count: ::std::os::raw::c_int,
415}
416#[test]
417fn bindgen_test_layout_evdi_buffer() {
418    assert_eq!(
419        ::std::mem::size_of::<evdi_buffer>(),
420        48usize,
421        concat!("Size of: ", stringify!(evdi_buffer))
422    );
423    assert_eq!(
424        ::std::mem::align_of::<evdi_buffer>(),
425        8usize,
426        concat!("Alignment of ", stringify!(evdi_buffer))
427    );
428    assert_eq!(
429        unsafe { &(*(::std::ptr::null::<evdi_buffer>())).id as *const _ as usize },
430        0usize,
431        concat!(
432            "Offset of field: ",
433            stringify!(evdi_buffer),
434            "::",
435            stringify!(id)
436        )
437    );
438    assert_eq!(
439        unsafe { &(*(::std::ptr::null::<evdi_buffer>())).buffer as *const _ as usize },
440        8usize,
441        concat!(
442            "Offset of field: ",
443            stringify!(evdi_buffer),
444            "::",
445            stringify!(buffer)
446        )
447    );
448    assert_eq!(
449        unsafe { &(*(::std::ptr::null::<evdi_buffer>())).width as *const _ as usize },
450        16usize,
451        concat!(
452            "Offset of field: ",
453            stringify!(evdi_buffer),
454            "::",
455            stringify!(width)
456        )
457    );
458    assert_eq!(
459        unsafe { &(*(::std::ptr::null::<evdi_buffer>())).height as *const _ as usize },
460        20usize,
461        concat!(
462            "Offset of field: ",
463            stringify!(evdi_buffer),
464            "::",
465            stringify!(height)
466        )
467    );
468    assert_eq!(
469        unsafe { &(*(::std::ptr::null::<evdi_buffer>())).stride as *const _ as usize },
470        24usize,
471        concat!(
472            "Offset of field: ",
473            stringify!(evdi_buffer),
474            "::",
475            stringify!(stride)
476        )
477    );
478    assert_eq!(
479        unsafe { &(*(::std::ptr::null::<evdi_buffer>())).rects as *const _ as usize },
480        32usize,
481        concat!(
482            "Offset of field: ",
483            stringify!(evdi_buffer),
484            "::",
485            stringify!(rects)
486        )
487    );
488    assert_eq!(
489        unsafe { &(*(::std::ptr::null::<evdi_buffer>())).rect_count as *const _ as usize },
490        40usize,
491        concat!(
492            "Offset of field: ",
493            stringify!(evdi_buffer),
494            "::",
495            stringify!(rect_count)
496        )
497    );
498}
499#[repr(C)]
500#[derive(Debug, Copy, Clone)]
501pub struct evdi_cursor_set {
502    pub hot_x: i32,
503    pub hot_y: i32,
504    pub width: u32,
505    pub height: u32,
506    pub enabled: u8,
507    pub buffer_length: u32,
508    pub buffer: *mut u32,
509    pub pixel_format: u32,
510    pub stride: u32,
511}
512#[test]
513fn bindgen_test_layout_evdi_cursor_set() {
514    assert_eq!(
515        ::std::mem::size_of::<evdi_cursor_set>(),
516        40usize,
517        concat!("Size of: ", stringify!(evdi_cursor_set))
518    );
519    assert_eq!(
520        ::std::mem::align_of::<evdi_cursor_set>(),
521        8usize,
522        concat!("Alignment of ", stringify!(evdi_cursor_set))
523    );
524    assert_eq!(
525        unsafe { &(*(::std::ptr::null::<evdi_cursor_set>())).hot_x as *const _ as usize },
526        0usize,
527        concat!(
528            "Offset of field: ",
529            stringify!(evdi_cursor_set),
530            "::",
531            stringify!(hot_x)
532        )
533    );
534    assert_eq!(
535        unsafe { &(*(::std::ptr::null::<evdi_cursor_set>())).hot_y as *const _ as usize },
536        4usize,
537        concat!(
538            "Offset of field: ",
539            stringify!(evdi_cursor_set),
540            "::",
541            stringify!(hot_y)
542        )
543    );
544    assert_eq!(
545        unsafe { &(*(::std::ptr::null::<evdi_cursor_set>())).width as *const _ as usize },
546        8usize,
547        concat!(
548            "Offset of field: ",
549            stringify!(evdi_cursor_set),
550            "::",
551            stringify!(width)
552        )
553    );
554    assert_eq!(
555        unsafe { &(*(::std::ptr::null::<evdi_cursor_set>())).height as *const _ as usize },
556        12usize,
557        concat!(
558            "Offset of field: ",
559            stringify!(evdi_cursor_set),
560            "::",
561            stringify!(height)
562        )
563    );
564    assert_eq!(
565        unsafe { &(*(::std::ptr::null::<evdi_cursor_set>())).enabled as *const _ as usize },
566        16usize,
567        concat!(
568            "Offset of field: ",
569            stringify!(evdi_cursor_set),
570            "::",
571            stringify!(enabled)
572        )
573    );
574    assert_eq!(
575        unsafe { &(*(::std::ptr::null::<evdi_cursor_set>())).buffer_length as *const _ as usize },
576        20usize,
577        concat!(
578            "Offset of field: ",
579            stringify!(evdi_cursor_set),
580            "::",
581            stringify!(buffer_length)
582        )
583    );
584    assert_eq!(
585        unsafe { &(*(::std::ptr::null::<evdi_cursor_set>())).buffer as *const _ as usize },
586        24usize,
587        concat!(
588            "Offset of field: ",
589            stringify!(evdi_cursor_set),
590            "::",
591            stringify!(buffer)
592        )
593    );
594    assert_eq!(
595        unsafe { &(*(::std::ptr::null::<evdi_cursor_set>())).pixel_format as *const _ as usize },
596        32usize,
597        concat!(
598            "Offset of field: ",
599            stringify!(evdi_cursor_set),
600            "::",
601            stringify!(pixel_format)
602        )
603    );
604    assert_eq!(
605        unsafe { &(*(::std::ptr::null::<evdi_cursor_set>())).stride as *const _ as usize },
606        36usize,
607        concat!(
608            "Offset of field: ",
609            stringify!(evdi_cursor_set),
610            "::",
611            stringify!(stride)
612        )
613    );
614}
615#[repr(C)]
616#[derive(Debug, Copy, Clone)]
617pub struct evdi_cursor_move {
618    pub x: i32,
619    pub y: i32,
620}
621#[test]
622fn bindgen_test_layout_evdi_cursor_move() {
623    assert_eq!(
624        ::std::mem::size_of::<evdi_cursor_move>(),
625        8usize,
626        concat!("Size of: ", stringify!(evdi_cursor_move))
627    );
628    assert_eq!(
629        ::std::mem::align_of::<evdi_cursor_move>(),
630        4usize,
631        concat!("Alignment of ", stringify!(evdi_cursor_move))
632    );
633    assert_eq!(
634        unsafe { &(*(::std::ptr::null::<evdi_cursor_move>())).x as *const _ as usize },
635        0usize,
636        concat!(
637            "Offset of field: ",
638            stringify!(evdi_cursor_move),
639            "::",
640            stringify!(x)
641        )
642    );
643    assert_eq!(
644        unsafe { &(*(::std::ptr::null::<evdi_cursor_move>())).y as *const _ as usize },
645        4usize,
646        concat!(
647            "Offset of field: ",
648            stringify!(evdi_cursor_move),
649            "::",
650            stringify!(y)
651        )
652    );
653}
654#[repr(C)]
655#[derive(Debug, Copy, Clone)]
656pub struct evdi_ddcci_data {
657    pub address: u16,
658    pub flags: u16,
659    pub buffer_length: u32,
660    pub buffer: *mut u8,
661}
662#[test]
663fn bindgen_test_layout_evdi_ddcci_data() {
664    assert_eq!(
665        ::std::mem::size_of::<evdi_ddcci_data>(),
666        16usize,
667        concat!("Size of: ", stringify!(evdi_ddcci_data))
668    );
669    assert_eq!(
670        ::std::mem::align_of::<evdi_ddcci_data>(),
671        8usize,
672        concat!("Alignment of ", stringify!(evdi_ddcci_data))
673    );
674    assert_eq!(
675        unsafe { &(*(::std::ptr::null::<evdi_ddcci_data>())).address as *const _ as usize },
676        0usize,
677        concat!(
678            "Offset of field: ",
679            stringify!(evdi_ddcci_data),
680            "::",
681            stringify!(address)
682        )
683    );
684    assert_eq!(
685        unsafe { &(*(::std::ptr::null::<evdi_ddcci_data>())).flags as *const _ as usize },
686        2usize,
687        concat!(
688            "Offset of field: ",
689            stringify!(evdi_ddcci_data),
690            "::",
691            stringify!(flags)
692        )
693    );
694    assert_eq!(
695        unsafe { &(*(::std::ptr::null::<evdi_ddcci_data>())).buffer_length as *const _ as usize },
696        4usize,
697        concat!(
698            "Offset of field: ",
699            stringify!(evdi_ddcci_data),
700            "::",
701            stringify!(buffer_length)
702        )
703    );
704    assert_eq!(
705        unsafe { &(*(::std::ptr::null::<evdi_ddcci_data>())).buffer as *const _ as usize },
706        8usize,
707        concat!(
708            "Offset of field: ",
709            stringify!(evdi_ddcci_data),
710            "::",
711            stringify!(buffer)
712        )
713    );
714}
715#[repr(C)]
716#[derive(Debug, Copy, Clone)]
717pub struct evdi_event_context {
718    pub dpms_handler: ::std::option::Option<
719        unsafe extern "C" fn(
720            dpms_mode: ::std::os::raw::c_int,
721            user_data: *mut ::std::os::raw::c_void,
722        ),
723    >,
724    pub mode_changed_handler: ::std::option::Option<
725        unsafe extern "C" fn(mode: evdi_mode, user_data: *mut ::std::os::raw::c_void),
726    >,
727    pub update_ready_handler: ::std::option::Option<
728        unsafe extern "C" fn(
729            buffer_to_be_updated: ::std::os::raw::c_int,
730            user_data: *mut ::std::os::raw::c_void,
731        ),
732    >,
733    pub crtc_state_handler: ::std::option::Option<
734        unsafe extern "C" fn(state: ::std::os::raw::c_int, user_data: *mut ::std::os::raw::c_void),
735    >,
736    pub cursor_set_handler: ::std::option::Option<
737        unsafe extern "C" fn(cursor_set: evdi_cursor_set, user_data: *mut ::std::os::raw::c_void),
738    >,
739    pub cursor_move_handler: ::std::option::Option<
740        unsafe extern "C" fn(cursor_move: evdi_cursor_move, user_data: *mut ::std::os::raw::c_void),
741    >,
742    pub ddcci_data_handler: ::std::option::Option<
743        unsafe extern "C" fn(ddcci_data: evdi_ddcci_data, user_data: *mut ::std::os::raw::c_void),
744    >,
745    pub user_data: *mut ::std::os::raw::c_void,
746}
747#[test]
748fn bindgen_test_layout_evdi_event_context() {
749    assert_eq!(
750        ::std::mem::size_of::<evdi_event_context>(),
751        64usize,
752        concat!("Size of: ", stringify!(evdi_event_context))
753    );
754    assert_eq!(
755        ::std::mem::align_of::<evdi_event_context>(),
756        8usize,
757        concat!("Alignment of ", stringify!(evdi_event_context))
758    );
759    assert_eq!(
760        unsafe { &(*(::std::ptr::null::<evdi_event_context>())).dpms_handler as *const _ as usize },
761        0usize,
762        concat!(
763            "Offset of field: ",
764            stringify!(evdi_event_context),
765            "::",
766            stringify!(dpms_handler)
767        )
768    );
769    assert_eq!(
770        unsafe {
771            &(*(::std::ptr::null::<evdi_event_context>())).mode_changed_handler as *const _ as usize
772        },
773        8usize,
774        concat!(
775            "Offset of field: ",
776            stringify!(evdi_event_context),
777            "::",
778            stringify!(mode_changed_handler)
779        )
780    );
781    assert_eq!(
782        unsafe {
783            &(*(::std::ptr::null::<evdi_event_context>())).update_ready_handler as *const _ as usize
784        },
785        16usize,
786        concat!(
787            "Offset of field: ",
788            stringify!(evdi_event_context),
789            "::",
790            stringify!(update_ready_handler)
791        )
792    );
793    assert_eq!(
794        unsafe {
795            &(*(::std::ptr::null::<evdi_event_context>())).crtc_state_handler as *const _ as usize
796        },
797        24usize,
798        concat!(
799            "Offset of field: ",
800            stringify!(evdi_event_context),
801            "::",
802            stringify!(crtc_state_handler)
803        )
804    );
805    assert_eq!(
806        unsafe {
807            &(*(::std::ptr::null::<evdi_event_context>())).cursor_set_handler as *const _ as usize
808        },
809        32usize,
810        concat!(
811            "Offset of field: ",
812            stringify!(evdi_event_context),
813            "::",
814            stringify!(cursor_set_handler)
815        )
816    );
817    assert_eq!(
818        unsafe {
819            &(*(::std::ptr::null::<evdi_event_context>())).cursor_move_handler as *const _ as usize
820        },
821        40usize,
822        concat!(
823            "Offset of field: ",
824            stringify!(evdi_event_context),
825            "::",
826            stringify!(cursor_move_handler)
827        )
828    );
829    assert_eq!(
830        unsafe {
831            &(*(::std::ptr::null::<evdi_event_context>())).ddcci_data_handler as *const _ as usize
832        },
833        48usize,
834        concat!(
835            "Offset of field: ",
836            stringify!(evdi_event_context),
837            "::",
838            stringify!(ddcci_data_handler)
839        )
840    );
841    assert_eq!(
842        unsafe { &(*(::std::ptr::null::<evdi_event_context>())).user_data as *const _ as usize },
843        56usize,
844        concat!(
845            "Offset of field: ",
846            stringify!(evdi_event_context),
847            "::",
848            stringify!(user_data)
849        )
850    );
851}
852#[repr(C)]
853#[derive(Debug, Copy, Clone)]
854pub struct evdi_logging {
855    pub function: ::std::option::Option<
856        unsafe extern "C" fn(
857            user_data: *mut ::std::os::raw::c_void,
858            fmt: *const ::std::os::raw::c_char,
859            ...
860        ),
861    >,
862    pub user_data: *mut ::std::os::raw::c_void,
863}
864#[test]
865fn bindgen_test_layout_evdi_logging() {
866    assert_eq!(
867        ::std::mem::size_of::<evdi_logging>(),
868        16usize,
869        concat!("Size of: ", stringify!(evdi_logging))
870    );
871    assert_eq!(
872        ::std::mem::align_of::<evdi_logging>(),
873        8usize,
874        concat!("Alignment of ", stringify!(evdi_logging))
875    );
876    assert_eq!(
877        unsafe { &(*(::std::ptr::null::<evdi_logging>())).function as *const _ as usize },
878        0usize,
879        concat!(
880            "Offset of field: ",
881            stringify!(evdi_logging),
882            "::",
883            stringify!(function)
884        )
885    );
886    assert_eq!(
887        unsafe { &(*(::std::ptr::null::<evdi_logging>())).user_data as *const _ as usize },
888        8usize,
889        concat!(
890            "Offset of field: ",
891            stringify!(evdi_logging),
892            "::",
893            stringify!(user_data)
894        )
895    );
896}
897extern "C" {
898    pub fn evdi_check_device(device: ::std::os::raw::c_int) -> evdi_device_status;
899}
900extern "C" {
901    pub fn evdi_open(device: ::std::os::raw::c_int) -> evdi_handle;
902}
903extern "C" {
904    pub fn evdi_add_device() -> ::std::os::raw::c_int;
905}
906extern "C" {
907    pub fn evdi_open_attached_to(sysfs_parent_device: *const ::std::os::raw::c_char)
908        -> evdi_handle;
909}
910extern "C" {
911    pub fn evdi_close(handle: evdi_handle);
912}
913extern "C" {
914    pub fn evdi_connect(
915        handle: evdi_handle,
916        edid: *const ::std::os::raw::c_uchar,
917        edid_length: ::std::os::raw::c_uint,
918        sku_area_limit: u32,
919    );
920}
921extern "C" {
922    pub fn evdi_disconnect(handle: evdi_handle);
923}
924extern "C" {
925    pub fn evdi_enable_cursor_events(handle: evdi_handle, enable: bool);
926}
927extern "C" {
928    pub fn evdi_grab_pixels(
929        handle: evdi_handle,
930        rects: *mut evdi_rect,
931        num_rects: *mut ::std::os::raw::c_int,
932    );
933}
934extern "C" {
935    pub fn evdi_register_buffer(handle: evdi_handle, buffer: evdi_buffer);
936}
937extern "C" {
938    pub fn evdi_unregister_buffer(handle: evdi_handle, bufferId: ::std::os::raw::c_int);
939}
940extern "C" {
941    pub fn evdi_request_update(handle: evdi_handle, bufferId: ::std::os::raw::c_int) -> bool;
942}
943extern "C" {
944    pub fn evdi_ddcci_response(
945        handle: evdi_handle,
946        buffer: *const ::std::os::raw::c_uchar,
947        buffer_length: u32,
948        result: bool,
949    );
950}
951extern "C" {
952    pub fn evdi_handle_events(handle: evdi_handle, evtctx: *mut evdi_event_context);
953}
954extern "C" {
955    pub fn evdi_get_event_ready(handle: evdi_handle) -> evdi_selectable;
956}
957extern "C" {
958    pub fn evdi_get_lib_version(version: *mut evdi_lib_version);
959}
960extern "C" {
961    pub fn evdi_set_logging(evdi_logging: evdi_logging);
962}