• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* automatically generated by rust-bindgen 0.54.1
2 
3 See instructions from: https://rust-lang.github.io/rust-bindgen/print.html
4   Download LLVM from: https://releases.llvm.org/download.html
5   ADD LIBCLANG_PATH to environment
6 
7   bindgen.exe `
8    .\include\hax_interface.h `
9    -o platform\crosvm\hypervisor\src\haxm\haxm_sys\bindings.rs `
10    --with-derive-default `
11    -- -DHAX_TESTS=1
12 
13   The HAX_TESTS macro definition prevents the inlude file from including
14   anything that's only needed by the kernel.
15 
16   I also had to remove some align tags for structs that live within packed
17   structs, there's a bindgen bug for this:
18   https://github.com/rust-lang/rust-bindgen/issues/1538
19 
20   I removed the align from:
21     - interruptibility_state_t__bindgen_ty_1
22     - segment_desc_t__bindgen_ty_1__bindgen_ty_1
23 
24     Suppress warnings from unaligned_references and deref_nullptr
25 */
26 #![allow(unaligned_references, deref_nullptr)]
27 
28 #[repr(C)]
29 #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
30 pub struct __BindgenBitfieldUnit<Storage, Align> {
31     storage: Storage,
32     align: [Align; 0],
33 }
34 impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
35     #[inline]
new(storage: Storage) -> Self36     pub const fn new(storage: Storage) -> Self {
37         Self { storage, align: [] }
38     }
39 }
40 impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
41 where
42     Storage: AsRef<[u8]> + AsMut<[u8]>,
43 {
44     #[inline]
get_bit(&self, index: usize) -> bool45     pub fn get_bit(&self, index: usize) -> bool {
46         debug_assert!(index / 8 < self.storage.as_ref().len());
47         let byte_index = index / 8;
48         let byte = self.storage.as_ref()[byte_index];
49         let bit_index = if cfg!(target_endian = "big") {
50             7 - (index % 8)
51         } else {
52             index % 8
53         };
54         let mask = 1 << bit_index;
55         byte & mask == mask
56     }
57     #[inline]
set_bit(&mut self, index: usize, val: bool)58     pub fn set_bit(&mut self, index: usize, val: bool) {
59         debug_assert!(index / 8 < self.storage.as_ref().len());
60         let byte_index = index / 8;
61         let byte = &mut self.storage.as_mut()[byte_index];
62         let bit_index = if cfg!(target_endian = "big") {
63             7 - (index % 8)
64         } else {
65             index % 8
66         };
67         let mask = 1 << bit_index;
68         if val {
69             *byte |= mask;
70         } else {
71             *byte &= !mask;
72         }
73     }
74     #[inline]
get(&self, bit_offset: usize, bit_width: u8) -> u6475     pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
76         debug_assert!(bit_width <= 64);
77         debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
78         debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
79         let mut val = 0;
80         for i in 0..(bit_width as usize) {
81             if self.get_bit(i + bit_offset) {
82                 let index = if cfg!(target_endian = "big") {
83                     bit_width as usize - 1 - i
84                 } else {
85                     i
86                 };
87                 val |= 1 << index;
88             }
89         }
90         val
91     }
92     #[inline]
set(&mut self, bit_offset: usize, bit_width: u8, val: u64)93     pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
94         debug_assert!(bit_width <= 64);
95         debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
96         debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
97         for i in 0..(bit_width as usize) {
98             let mask = 1 << i;
99             let val_bit_is_set = val & mask == mask;
100             let index = if cfg!(target_endian = "big") {
101                 bit_width as usize - 1 - i
102             } else {
103                 i
104             };
105             self.set_bit(index + bit_offset, val_bit_is_set);
106         }
107     }
108 }
109 #[repr(C)]
110 #[derive(Default)]
111 pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
112 impl<T> __IncompleteArrayField<T> {
113     #[inline]
new() -> Self114     pub const fn new() -> Self {
115         __IncompleteArrayField(::std::marker::PhantomData, [])
116     }
117     #[inline]
as_ptr(&self) -> *const T118     pub fn as_ptr(&self) -> *const T {
119         self as *const _ as *const T
120     }
121     #[inline]
as_mut_ptr(&mut self) -> *mut T122     pub fn as_mut_ptr(&mut self) -> *mut T {
123         self as *mut _ as *mut T
124     }
125     #[inline]
as_slice(&self, len: usize) -> &[T]126     pub unsafe fn as_slice(&self, len: usize) -> &[T] {
127         ::std::slice::from_raw_parts(self.as_ptr(), len)
128     }
129     #[inline]
as_mut_slice(&mut self, len: usize) -> &mut [T]130     pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
131         ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
132     }
133 }
134 impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result135     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
136         fmt.write_str("__IncompleteArrayField")
137     }
138 }
139 pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
140 pub const _SAL_VERSION: u32 = 20;
141 pub const __SAL_H_VERSION: u32 = 180000000;
142 pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
143 pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
144 pub const _CRT_PACKING: u32 = 8;
145 pub const _HAS_EXCEPTIONS: u32 = 1;
146 pub const _STL_LANG: u32 = 0;
147 pub const _HAS_CXX17: u32 = 0;
148 pub const _HAS_CXX20: u32 = 0;
149 pub const _HAS_NODISCARD: u32 = 0;
150 pub const WCHAR_MIN: u32 = 0;
151 pub const WCHAR_MAX: u32 = 65535;
152 pub const WINT_MIN: u32 = 0;
153 pub const WINT_MAX: u32 = 65535;
154 pub const HAX_PAGE_SIZE: u32 = 4096;
155 pub const HAX_PAGE_SHIFT: u32 = 12;
156 pub const HAX_PAGE_MASK: u32 = 4095;
157 pub const HAX_MAX_MSR_ARRAY: u32 = 32;
158 pub const HAX_IO_OUT: u32 = 0;
159 pub const HAX_IO_IN: u32 = 1;
160 pub const HAX_PAGEFAULT_ACC_R: u32 = 1;
161 pub const HAX_PAGEFAULT_ACC_W: u32 = 2;
162 pub const HAX_PAGEFAULT_ACC_X: u32 = 4;
163 pub const HAX_PAGEFAULT_PERM_R: u32 = 16;
164 pub const HAX_PAGEFAULT_PERM_W: u32 = 32;
165 pub const HAX_PAGEFAULT_PERM_X: u32 = 64;
166 pub const HAX_CAP_STATUS_WORKING: u32 = 1;
167 pub const HAX_CAP_MEMQUOTA: u32 = 2;
168 pub const HAX_CAP_WORKSTATUS_MASK: u32 = 1;
169 pub const HAX_CAP_FAILREASON_VT: u32 = 1;
170 pub const HAX_CAP_FAILREASON_NX: u32 = 2;
171 pub const HAX_CAP_EPT: u32 = 1;
172 pub const HAX_CAP_FASTMMIO: u32 = 2;
173 pub const HAX_CAP_UG: u32 = 4;
174 pub const HAX_CAP_64BIT_RAMBLOCK: u32 = 8;
175 pub const HAX_CAP_64BIT_SETRAM: u32 = 16;
176 pub const HAX_CAP_TUNNEL_PAGE: u32 = 32;
177 pub const HAX_CAP_RAM_PROTECTION: u32 = 64;
178 pub const HAX_CAP_DEBUG: u32 = 128;
179 pub const HAX_CAP_IMPLICIT_RAMBLOCK: u32 = 256;
180 pub const HAX_CAP_CPUID: u32 = 512;
181 pub const HAX_CAP_VM_LOG: u32 = 1024;
182 pub const HAX_RAM_INFO_ROM: u32 = 1;
183 pub const HAX_RAM_INFO_STANDALONE: u32 = 64;
184 pub const HAX_RAM_INFO_INVALID: u32 = 128;
185 pub const HAX_RAM_PERM_NONE: u32 = 0;
186 pub const HAX_RAM_PERM_RWX: u32 = 7;
187 pub const HAX_RAM_PERM_MASK: u32 = 7;
188 pub const HAX_DEBUG_ENABLE: u32 = 1;
189 pub const HAX_DEBUG_STEP: u32 = 2;
190 pub const HAX_DEBUG_USE_SW_BP: u32 = 4;
191 pub const HAX_DEBUG_USE_HW_BP: u32 = 8;
192 pub const HAX_MAX_CPUID_ENTRIES: u32 = 64;
193 pub type va_list = *mut ::std::os::raw::c_char;
194 extern "C" {
__va_start(arg1: *mut *mut ::std::os::raw::c_char, ...)195     pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
196 }
197 pub type size_t = ::std::os::raw::c_ulonglong;
198 pub type __vcrt_bool = bool;
199 pub type wchar_t = ::std::os::raw::c_ushort;
200 extern "C" {
__security_init_cookie()201     pub fn __security_init_cookie();
202 }
203 extern "C" {
__security_check_cookie(_StackCookie: usize)204     pub fn __security_check_cookie(_StackCookie: usize);
205 }
206 extern "C" {
__report_gsfailure(_StackCookie: usize)207     pub fn __report_gsfailure(_StackCookie: usize);
208 }
209 extern "C" {
210     pub static mut __security_cookie: usize;
211 }
212 pub type int_least8_t = ::std::os::raw::c_schar;
213 pub type int_least16_t = ::std::os::raw::c_short;
214 pub type int_least32_t = ::std::os::raw::c_int;
215 pub type int_least64_t = ::std::os::raw::c_longlong;
216 pub type uint_least8_t = ::std::os::raw::c_uchar;
217 pub type uint_least16_t = ::std::os::raw::c_ushort;
218 pub type uint_least32_t = ::std::os::raw::c_uint;
219 pub type uint_least64_t = ::std::os::raw::c_ulonglong;
220 pub type int_fast8_t = ::std::os::raw::c_schar;
221 pub type int_fast16_t = ::std::os::raw::c_int;
222 pub type int_fast32_t = ::std::os::raw::c_int;
223 pub type int_fast64_t = ::std::os::raw::c_longlong;
224 pub type uint_fast8_t = ::std::os::raw::c_uchar;
225 pub type uint_fast16_t = ::std::os::raw::c_uint;
226 pub type uint_fast32_t = ::std::os::raw::c_uint;
227 pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
228 pub type intmax_t = ::std::os::raw::c_longlong;
229 pub type uintmax_t = ::std::os::raw::c_ulonglong;
230 pub type hax_pa_t = u64;
231 pub type hax_pfn_t = u64;
232 pub type hax_paddr_t = u64;
233 pub type hax_vaddr_t = u64;
234 #[repr(C, packed)]
235 #[derive(Copy, Clone)]
236 pub union interruptibility_state_t {
237     pub raw: u32,
238     pub __bindgen_anon_1: interruptibility_state_t__bindgen_ty_1,
239     pub pad: u64,
240     _bindgen_union_align: [u8; 8usize],
241 }
242 #[repr(C)]
243 #[derive(Debug, Default, Copy, Clone)]
244 pub struct interruptibility_state_t__bindgen_ty_1 {
245     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>,
246 }
247 #[test]
bindgen_test_layout_interruptibility_state_t__bindgen_ty_1()248 fn bindgen_test_layout_interruptibility_state_t__bindgen_ty_1() {
249     assert_eq!(
250         ::std::mem::size_of::<interruptibility_state_t__bindgen_ty_1>(),
251         4usize,
252         concat!(
253             "Size of: ",
254             stringify!(interruptibility_state_t__bindgen_ty_1)
255         )
256     );
257 }
258 impl interruptibility_state_t__bindgen_ty_1 {
259     #[inline]
sti_blocking(&self) -> u32260     pub fn sti_blocking(&self) -> u32 {
261         unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
262     }
263     #[inline]
set_sti_blocking(&mut self, val: u32)264     pub fn set_sti_blocking(&mut self, val: u32) {
265         unsafe {
266             let val: u32 = ::std::mem::transmute(val);
267             self._bitfield_1.set(0usize, 1u8, val as u64)
268         }
269     }
270     #[inline]
movss_blocking(&self) -> u32271     pub fn movss_blocking(&self) -> u32 {
272         unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
273     }
274     #[inline]
set_movss_blocking(&mut self, val: u32)275     pub fn set_movss_blocking(&mut self, val: u32) {
276         unsafe {
277             let val: u32 = ::std::mem::transmute(val);
278             self._bitfield_1.set(1usize, 1u8, val as u64)
279         }
280     }
281     #[inline]
smi_blocking(&self) -> u32282     pub fn smi_blocking(&self) -> u32 {
283         unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
284     }
285     #[inline]
set_smi_blocking(&mut self, val: u32)286     pub fn set_smi_blocking(&mut self, val: u32) {
287         unsafe {
288             let val: u32 = ::std::mem::transmute(val);
289             self._bitfield_1.set(2usize, 1u8, val as u64)
290         }
291     }
292     #[inline]
nmi_blocking(&self) -> u32293     pub fn nmi_blocking(&self) -> u32 {
294         unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
295     }
296     #[inline]
set_nmi_blocking(&mut self, val: u32)297     pub fn set_nmi_blocking(&mut self, val: u32) {
298         unsafe {
299             let val: u32 = ::std::mem::transmute(val);
300             self._bitfield_1.set(3usize, 1u8, val as u64)
301         }
302     }
303     #[inline]
reserved(&self) -> u32304     pub fn reserved(&self) -> u32 {
305         unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) }
306     }
307     #[inline]
set_reserved(&mut self, val: u32)308     pub fn set_reserved(&mut self, val: u32) {
309         unsafe {
310             let val: u32 = ::std::mem::transmute(val);
311             self._bitfield_1.set(4usize, 28u8, val as u64)
312         }
313     }
314     #[inline]
new_bitfield_1( sti_blocking: u32, movss_blocking: u32, smi_blocking: u32, nmi_blocking: u32, reserved: u32, ) -> __BindgenBitfieldUnit<[u8; 4usize], u32>315     pub fn new_bitfield_1(
316         sti_blocking: u32,
317         movss_blocking: u32,
318         smi_blocking: u32,
319         nmi_blocking: u32,
320         reserved: u32,
321     ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> {
322         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> =
323             Default::default();
324         __bindgen_bitfield_unit.set(0usize, 1u8, {
325             let sti_blocking: u32 = unsafe { ::std::mem::transmute(sti_blocking) };
326             sti_blocking as u64
327         });
328         __bindgen_bitfield_unit.set(1usize, 1u8, {
329             let movss_blocking: u32 = unsafe { ::std::mem::transmute(movss_blocking) };
330             movss_blocking as u64
331         });
332         __bindgen_bitfield_unit.set(2usize, 1u8, {
333             let smi_blocking: u32 = unsafe { ::std::mem::transmute(smi_blocking) };
334             smi_blocking as u64
335         });
336         __bindgen_bitfield_unit.set(3usize, 1u8, {
337             let nmi_blocking: u32 = unsafe { ::std::mem::transmute(nmi_blocking) };
338             nmi_blocking as u64
339         });
340         __bindgen_bitfield_unit.set(4usize, 28u8, {
341             let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
342             reserved as u64
343         });
344         __bindgen_bitfield_unit
345     }
346 }
347 #[test]
bindgen_test_layout_interruptibility_state_t()348 fn bindgen_test_layout_interruptibility_state_t() {
349     assert_eq!(
350         ::std::mem::size_of::<interruptibility_state_t>(),
351         8usize,
352         concat!("Size of: ", stringify!(interruptibility_state_t))
353     );
354     assert_eq!(
355         ::std::mem::align_of::<interruptibility_state_t>(),
356         1usize,
357         concat!("Alignment of ", stringify!(interruptibility_state_t))
358     );
359     assert_eq!(
360         unsafe { &(*(::std::ptr::null::<interruptibility_state_t>())).raw as *const _ as usize },
361         0usize,
362         concat!(
363             "Offset of field: ",
364             stringify!(interruptibility_state_t),
365             "::",
366             stringify!(raw)
367         )
368     );
369     assert_eq!(
370         unsafe { &(*(::std::ptr::null::<interruptibility_state_t>())).pad as *const _ as usize },
371         0usize,
372         concat!(
373             "Offset of field: ",
374             stringify!(interruptibility_state_t),
375             "::",
376             stringify!(pad)
377         )
378     );
379 }
380 impl Default for interruptibility_state_t {
default() -> Self381     fn default() -> Self {
382         unsafe { ::std::mem::zeroed() }
383     }
384 }
385 #[repr(C, packed)]
386 #[derive(Copy, Clone)]
387 pub struct segment_desc_t {
388     pub selector: u16,
389     pub _dummy: u16,
390     pub limit: u32,
391     pub base: u64,
392     pub __bindgen_anon_1: segment_desc_t__bindgen_ty_1,
393     pub ipad: u32,
394 }
395 #[repr(C)]
396 #[derive(Copy, Clone)]
397 pub union segment_desc_t__bindgen_ty_1 {
398     pub __bindgen_anon_1: segment_desc_t__bindgen_ty_1__bindgen_ty_1,
399     pub ar: u32,
400     _bindgen_union_align: u32,
401 }
402 #[repr(C)]
403 #[derive(Debug, Default, Copy, Clone)]
404 pub struct segment_desc_t__bindgen_ty_1__bindgen_ty_1 {
405     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>,
406 }
407 #[test]
bindgen_test_layout_segment_desc_t__bindgen_ty_1__bindgen_ty_1()408 fn bindgen_test_layout_segment_desc_t__bindgen_ty_1__bindgen_ty_1() {
409     assert_eq!(
410         ::std::mem::size_of::<segment_desc_t__bindgen_ty_1__bindgen_ty_1>(),
411         4usize,
412         concat!(
413             "Size of: ",
414             stringify!(segment_desc_t__bindgen_ty_1__bindgen_ty_1)
415         )
416     );
417 }
418 impl segment_desc_t__bindgen_ty_1__bindgen_ty_1 {
419     #[inline]
type_(&self) -> u32420     pub fn type_(&self) -> u32 {
421         unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u32) }
422     }
423     #[inline]
set_type(&mut self, val: u32)424     pub fn set_type(&mut self, val: u32) {
425         unsafe {
426             let val: u32 = ::std::mem::transmute(val);
427             self._bitfield_1.set(0usize, 4u8, val as u64)
428         }
429     }
430     #[inline]
desc(&self) -> u32431     pub fn desc(&self) -> u32 {
432         unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
433     }
434     #[inline]
set_desc(&mut self, val: u32)435     pub fn set_desc(&mut self, val: u32) {
436         unsafe {
437             let val: u32 = ::std::mem::transmute(val);
438             self._bitfield_1.set(4usize, 1u8, val as u64)
439         }
440     }
441     #[inline]
dpl(&self) -> u32442     pub fn dpl(&self) -> u32 {
443         unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 2u8) as u32) }
444     }
445     #[inline]
set_dpl(&mut self, val: u32)446     pub fn set_dpl(&mut self, val: u32) {
447         unsafe {
448             let val: u32 = ::std::mem::transmute(val);
449             self._bitfield_1.set(5usize, 2u8, val as u64)
450         }
451     }
452     #[inline]
present(&self) -> u32453     pub fn present(&self) -> u32 {
454         unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
455     }
456     #[inline]
set_present(&mut self, val: u32)457     pub fn set_present(&mut self, val: u32) {
458         unsafe {
459             let val: u32 = ::std::mem::transmute(val);
460             self._bitfield_1.set(7usize, 1u8, val as u64)
461         }
462     }
463     #[inline]
available(&self) -> u32464     pub fn available(&self) -> u32 {
465         unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
466     }
467     #[inline]
set_available(&mut self, val: u32)468     pub fn set_available(&mut self, val: u32) {
469         unsafe {
470             let val: u32 = ::std::mem::transmute(val);
471             self._bitfield_1.set(12usize, 1u8, val as u64)
472         }
473     }
474     #[inline]
long_mode(&self) -> u32475     pub fn long_mode(&self) -> u32 {
476         unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
477     }
478     #[inline]
set_long_mode(&mut self, val: u32)479     pub fn set_long_mode(&mut self, val: u32) {
480         unsafe {
481             let val: u32 = ::std::mem::transmute(val);
482             self._bitfield_1.set(13usize, 1u8, val as u64)
483         }
484     }
485     #[inline]
operand_size(&self) -> u32486     pub fn operand_size(&self) -> u32 {
487         unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
488     }
489     #[inline]
set_operand_size(&mut self, val: u32)490     pub fn set_operand_size(&mut self, val: u32) {
491         unsafe {
492             let val: u32 = ::std::mem::transmute(val);
493             self._bitfield_1.set(14usize, 1u8, val as u64)
494         }
495     }
496     #[inline]
granularity(&self) -> u32497     pub fn granularity(&self) -> u32 {
498         unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
499     }
500     #[inline]
set_granularity(&mut self, val: u32)501     pub fn set_granularity(&mut self, val: u32) {
502         unsafe {
503             let val: u32 = ::std::mem::transmute(val);
504             self._bitfield_1.set(15usize, 1u8, val as u64)
505         }
506     }
507     #[inline]
null(&self) -> u32508     pub fn null(&self) -> u32 {
509         unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
510     }
511     #[inline]
set_null(&mut self, val: u32)512     pub fn set_null(&mut self, val: u32) {
513         unsafe {
514             let val: u32 = ::std::mem::transmute(val);
515             self._bitfield_1.set(16usize, 1u8, val as u64)
516         }
517     }
518     #[inline]
new_bitfield_1( type_: u32, desc: u32, dpl: u32, present: u32, available: u32, long_mode: u32, operand_size: u32, granularity: u32, null: u32, ) -> __BindgenBitfieldUnit<[u8; 4usize], u8>519     pub fn new_bitfield_1(
520         type_: u32,
521         desc: u32,
522         dpl: u32,
523         present: u32,
524         available: u32,
525         long_mode: u32,
526         operand_size: u32,
527         granularity: u32,
528         null: u32,
529     ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> {
530         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> =
531             Default::default();
532         __bindgen_bitfield_unit.set(0usize, 4u8, {
533             let type_: u32 = unsafe { ::std::mem::transmute(type_) };
534             type_ as u64
535         });
536         __bindgen_bitfield_unit.set(4usize, 1u8, {
537             let desc: u32 = unsafe { ::std::mem::transmute(desc) };
538             desc as u64
539         });
540         __bindgen_bitfield_unit.set(5usize, 2u8, {
541             let dpl: u32 = unsafe { ::std::mem::transmute(dpl) };
542             dpl as u64
543         });
544         __bindgen_bitfield_unit.set(7usize, 1u8, {
545             let present: u32 = unsafe { ::std::mem::transmute(present) };
546             present as u64
547         });
548         __bindgen_bitfield_unit.set(12usize, 1u8, {
549             let available: u32 = unsafe { ::std::mem::transmute(available) };
550             available as u64
551         });
552         __bindgen_bitfield_unit.set(13usize, 1u8, {
553             let long_mode: u32 = unsafe { ::std::mem::transmute(long_mode) };
554             long_mode as u64
555         });
556         __bindgen_bitfield_unit.set(14usize, 1u8, {
557             let operand_size: u32 = unsafe { ::std::mem::transmute(operand_size) };
558             operand_size as u64
559         });
560         __bindgen_bitfield_unit.set(15usize, 1u8, {
561             let granularity: u32 = unsafe { ::std::mem::transmute(granularity) };
562             granularity as u64
563         });
564         __bindgen_bitfield_unit.set(16usize, 1u8, {
565             let null: u32 = unsafe { ::std::mem::transmute(null) };
566             null as u64
567         });
568         __bindgen_bitfield_unit
569     }
570 }
571 #[test]
bindgen_test_layout_segment_desc_t__bindgen_ty_1()572 fn bindgen_test_layout_segment_desc_t__bindgen_ty_1() {
573     assert_eq!(
574         ::std::mem::size_of::<segment_desc_t__bindgen_ty_1>(),
575         4usize,
576         concat!("Size of: ", stringify!(segment_desc_t__bindgen_ty_1))
577     );
578     assert_eq!(
579         ::std::mem::align_of::<segment_desc_t__bindgen_ty_1>(),
580         4usize,
581         concat!("Alignment of ", stringify!(segment_desc_t__bindgen_ty_1))
582     );
583     assert_eq!(
584         unsafe { &(*(::std::ptr::null::<segment_desc_t__bindgen_ty_1>())).ar as *const _ as usize },
585         0usize,
586         concat!(
587             "Offset of field: ",
588             stringify!(segment_desc_t__bindgen_ty_1),
589             "::",
590             stringify!(ar)
591         )
592     );
593 }
594 impl Default for segment_desc_t__bindgen_ty_1 {
default() -> Self595     fn default() -> Self {
596         unsafe { ::std::mem::zeroed() }
597     }
598 }
599 #[test]
bindgen_test_layout_segment_desc_t()600 fn bindgen_test_layout_segment_desc_t() {
601     assert_eq!(
602         ::std::mem::size_of::<segment_desc_t>(),
603         24usize,
604         concat!("Size of: ", stringify!(segment_desc_t))
605     );
606     assert_eq!(
607         ::std::mem::align_of::<segment_desc_t>(),
608         1usize,
609         concat!("Alignment of ", stringify!(segment_desc_t))
610     );
611     assert_eq!(
612         unsafe { &(*(::std::ptr::null::<segment_desc_t>())).selector as *const _ as usize },
613         0usize,
614         concat!(
615             "Offset of field: ",
616             stringify!(segment_desc_t),
617             "::",
618             stringify!(selector)
619         )
620     );
621     assert_eq!(
622         unsafe { &(*(::std::ptr::null::<segment_desc_t>()))._dummy as *const _ as usize },
623         2usize,
624         concat!(
625             "Offset of field: ",
626             stringify!(segment_desc_t),
627             "::",
628             stringify!(_dummy)
629         )
630     );
631     assert_eq!(
632         unsafe { &(*(::std::ptr::null::<segment_desc_t>())).limit as *const _ as usize },
633         4usize,
634         concat!(
635             "Offset of field: ",
636             stringify!(segment_desc_t),
637             "::",
638             stringify!(limit)
639         )
640     );
641     assert_eq!(
642         unsafe { &(*(::std::ptr::null::<segment_desc_t>())).base as *const _ as usize },
643         8usize,
644         concat!(
645             "Offset of field: ",
646             stringify!(segment_desc_t),
647             "::",
648             stringify!(base)
649         )
650     );
651     assert_eq!(
652         unsafe { &(*(::std::ptr::null::<segment_desc_t>())).ipad as *const _ as usize },
653         20usize,
654         concat!(
655             "Offset of field: ",
656             stringify!(segment_desc_t),
657             "::",
658             stringify!(ipad)
659         )
660     );
661 }
662 impl Default for segment_desc_t {
default() -> Self663     fn default() -> Self {
664         unsafe { ::std::mem::zeroed() }
665     }
666 }
667 #[repr(C, packed)]
668 #[derive(Copy, Clone)]
669 pub struct vcpu_state_t {
670     pub __bindgen_anon_1: vcpu_state_t__bindgen_ty_1,
671     pub __bindgen_anon_2: vcpu_state_t__bindgen_ty_2,
672     pub __bindgen_anon_3: vcpu_state_t__bindgen_ty_3,
673     pub _cs: segment_desc_t,
674     pub _ss: segment_desc_t,
675     pub _ds: segment_desc_t,
676     pub _es: segment_desc_t,
677     pub _fs: segment_desc_t,
678     pub _gs: segment_desc_t,
679     pub _ldt: segment_desc_t,
680     pub _tr: segment_desc_t,
681     pub _gdt: segment_desc_t,
682     pub _idt: segment_desc_t,
683     pub _cr0: u64,
684     pub _cr2: u64,
685     pub _cr3: u64,
686     pub _cr4: u64,
687     pub _dr0: u64,
688     pub _dr1: u64,
689     pub _dr2: u64,
690     pub _dr3: u64,
691     pub _dr6: u64,
692     pub _dr7: u64,
693     pub _pde: u64,
694     pub _efer: u32,
695     pub _sysenter_cs: u32,
696     pub _sysenter_eip: u64,
697     pub _sysenter_esp: u64,
698     pub _activity_state: u32,
699     pub pad: u32,
700     pub _interruptibility_state: interruptibility_state_t,
701 }
702 #[repr(C)]
703 #[derive(Copy, Clone)]
704 pub union vcpu_state_t__bindgen_ty_1 {
705     pub _regs: [u64; 16usize],
706     pub __bindgen_anon_1: vcpu_state_t__bindgen_ty_1__bindgen_ty_1,
707     _bindgen_union_align: [u64; 16usize],
708 }
709 #[repr(C)]
710 #[derive(Copy, Clone)]
711 pub struct vcpu_state_t__bindgen_ty_1__bindgen_ty_1 {
712     pub __bindgen_anon_1: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
713     pub __bindgen_anon_2: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2,
714     pub __bindgen_anon_3: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3,
715     pub __bindgen_anon_4: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4,
716     pub __bindgen_anon_5: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5,
717     pub __bindgen_anon_6: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6,
718     pub __bindgen_anon_7: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7,
719     pub __bindgen_anon_8: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8,
720     pub _r8: u64,
721     pub _r9: u64,
722     pub _r10: u64,
723     pub _r11: u64,
724     pub _r12: u64,
725     pub _r13: u64,
726     pub _r14: u64,
727     pub _r15: u64,
728 }
729 #[repr(C)]
730 #[derive(Copy, Clone)]
731 pub union vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
732     pub __bindgen_anon_1: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
733     pub _ax: u16,
734     pub _eax: u32,
735     pub _rax: u64,
736     _bindgen_union_align: u64,
737 }
738 #[repr(C)]
739 #[derive(Debug, Default, Copy, Clone)]
740 pub struct vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
741     pub _al: u8,
742     pub _ah: u8,
743 }
744 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1()745 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
746     assert_eq!(
747         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(
748         ),
749         2usize,
750         concat!(
751             "Size of: ",
752             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
753         )
754     );
755     assert_eq!(
756         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(
757         ),
758         1usize,
759         concat!(
760             "Alignment of ",
761             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
762         )
763     );
764     assert_eq!(
765         unsafe {
766             &(*(::std::ptr::null::<
767                 vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
768             >()))
769             ._al as *const _ as usize
770         },
771         0usize,
772         concat!(
773             "Offset of field: ",
774             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
775             "::",
776             stringify!(_al)
777         )
778     );
779     assert_eq!(
780         unsafe {
781             &(*(::std::ptr::null::<
782                 vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
783             >()))
784             ._ah as *const _ as usize
785         },
786         1usize,
787         concat!(
788             "Offset of field: ",
789             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
790             "::",
791             stringify!(_ah)
792         )
793     );
794 }
795 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1()796 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
797     assert_eq!(
798         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
799         8usize,
800         concat!(
801             "Size of: ",
802             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
803         )
804     );
805     assert_eq!(
806         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
807         8usize,
808         concat!(
809             "Alignment of ",
810             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
811         )
812     );
813     assert_eq!(
814         unsafe {
815             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>()))._ax
816                 as *const _ as usize
817         },
818         0usize,
819         concat!(
820             "Offset of field: ",
821             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
822             "::",
823             stringify!(_ax)
824         )
825     );
826     assert_eq!(
827         unsafe {
828             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>()))._eax
829                 as *const _ as usize
830         },
831         0usize,
832         concat!(
833             "Offset of field: ",
834             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
835             "::",
836             stringify!(_eax)
837         )
838     );
839     assert_eq!(
840         unsafe {
841             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>()))._rax
842                 as *const _ as usize
843         },
844         0usize,
845         concat!(
846             "Offset of field: ",
847             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
848             "::",
849             stringify!(_rax)
850         )
851     );
852 }
853 impl Default for vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
default() -> Self854     fn default() -> Self {
855         unsafe { ::std::mem::zeroed() }
856     }
857 }
858 #[repr(C)]
859 #[derive(Copy, Clone)]
860 pub union vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 {
861     pub __bindgen_anon_1: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
862     pub _cx: u16,
863     pub _ecx: u32,
864     pub _rcx: u64,
865     _bindgen_union_align: u64,
866 }
867 #[repr(C)]
868 #[derive(Debug, Default, Copy, Clone)]
869 pub struct vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {
870     pub _cl: u8,
871     pub _ch: u8,
872 }
873 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1()874 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1() {
875     assert_eq!(
876         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(
877         ),
878         2usize,
879         concat!(
880             "Size of: ",
881             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1)
882         )
883     );
884     assert_eq!(
885         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(
886         ),
887         1usize,
888         concat!(
889             "Alignment of ",
890             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1)
891         )
892     );
893     assert_eq!(
894         unsafe {
895             &(*(::std::ptr::null::<
896                 vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
897             >()))
898             ._cl as *const _ as usize
899         },
900         0usize,
901         concat!(
902             "Offset of field: ",
903             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1),
904             "::",
905             stringify!(_cl)
906         )
907     );
908     assert_eq!(
909         unsafe {
910             &(*(::std::ptr::null::<
911                 vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
912             >()))
913             ._ch as *const _ as usize
914         },
915         1usize,
916         concat!(
917             "Offset of field: ",
918             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1),
919             "::",
920             stringify!(_ch)
921         )
922     );
923 }
924 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2()925 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2() {
926     assert_eq!(
927         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>(),
928         8usize,
929         concat!(
930             "Size of: ",
931             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2)
932         )
933     );
934     assert_eq!(
935         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>(),
936         8usize,
937         concat!(
938             "Alignment of ",
939             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2)
940         )
941     );
942     assert_eq!(
943         unsafe {
944             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>()))._cx
945                 as *const _ as usize
946         },
947         0usize,
948         concat!(
949             "Offset of field: ",
950             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2),
951             "::",
952             stringify!(_cx)
953         )
954     );
955     assert_eq!(
956         unsafe {
957             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>()))._ecx
958                 as *const _ as usize
959         },
960         0usize,
961         concat!(
962             "Offset of field: ",
963             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2),
964             "::",
965             stringify!(_ecx)
966         )
967     );
968     assert_eq!(
969         unsafe {
970             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>()))._rcx
971                 as *const _ as usize
972         },
973         0usize,
974         concat!(
975             "Offset of field: ",
976             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2),
977             "::",
978             stringify!(_rcx)
979         )
980     );
981 }
982 impl Default for vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 {
default() -> Self983     fn default() -> Self {
984         unsafe { ::std::mem::zeroed() }
985     }
986 }
987 #[repr(C)]
988 #[derive(Copy, Clone)]
989 pub union vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3 {
990     pub __bindgen_anon_1: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1,
991     pub _dx: u16,
992     pub _edx: u32,
993     pub _rdx: u64,
994     _bindgen_union_align: u64,
995 }
996 #[repr(C)]
997 #[derive(Debug, Default, Copy, Clone)]
998 pub struct vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1 {
999     pub _dl: u8,
1000     pub _dh: u8,
1001 }
1002 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1()1003 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1() {
1004     assert_eq!(
1005         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1>(
1006         ),
1007         2usize,
1008         concat!(
1009             "Size of: ",
1010             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1)
1011         )
1012     );
1013     assert_eq!(
1014         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1>(
1015         ),
1016         1usize,
1017         concat!(
1018             "Alignment of ",
1019             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1)
1020         )
1021     );
1022     assert_eq!(
1023         unsafe {
1024             &(*(::std::ptr::null::<
1025                 vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1,
1026             >()))
1027             ._dl as *const _ as usize
1028         },
1029         0usize,
1030         concat!(
1031             "Offset of field: ",
1032             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1),
1033             "::",
1034             stringify!(_dl)
1035         )
1036     );
1037     assert_eq!(
1038         unsafe {
1039             &(*(::std::ptr::null::<
1040                 vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1,
1041             >()))
1042             ._dh as *const _ as usize
1043         },
1044         1usize,
1045         concat!(
1046             "Offset of field: ",
1047             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1),
1048             "::",
1049             stringify!(_dh)
1050         )
1051     );
1052 }
1053 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3()1054 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3() {
1055     assert_eq!(
1056         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3>(),
1057         8usize,
1058         concat!(
1059             "Size of: ",
1060             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3)
1061         )
1062     );
1063     assert_eq!(
1064         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3>(),
1065         8usize,
1066         concat!(
1067             "Alignment of ",
1068             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3)
1069         )
1070     );
1071     assert_eq!(
1072         unsafe {
1073             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3>()))._dx
1074                 as *const _ as usize
1075         },
1076         0usize,
1077         concat!(
1078             "Offset of field: ",
1079             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3),
1080             "::",
1081             stringify!(_dx)
1082         )
1083     );
1084     assert_eq!(
1085         unsafe {
1086             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3>()))._edx
1087                 as *const _ as usize
1088         },
1089         0usize,
1090         concat!(
1091             "Offset of field: ",
1092             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3),
1093             "::",
1094             stringify!(_edx)
1095         )
1096     );
1097     assert_eq!(
1098         unsafe {
1099             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3>()))._rdx
1100                 as *const _ as usize
1101         },
1102         0usize,
1103         concat!(
1104             "Offset of field: ",
1105             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3),
1106             "::",
1107             stringify!(_rdx)
1108         )
1109     );
1110 }
1111 impl Default for vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3 {
default() -> Self1112     fn default() -> Self {
1113         unsafe { ::std::mem::zeroed() }
1114     }
1115 }
1116 #[repr(C)]
1117 #[derive(Copy, Clone)]
1118 pub union vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4 {
1119     pub __bindgen_anon_1: vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
1120     pub _bx: u16,
1121     pub _ebx: u32,
1122     pub _rbx: u64,
1123     _bindgen_union_align: u64,
1124 }
1125 #[repr(C)]
1126 #[derive(Debug, Default, Copy, Clone)]
1127 pub struct vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1 {
1128     pub _bl: u8,
1129     pub _bh: u8,
1130 }
1131 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1()1132 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1() {
1133     assert_eq!(
1134         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1>(
1135         ),
1136         2usize,
1137         concat!(
1138             "Size of: ",
1139             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1)
1140         )
1141     );
1142     assert_eq!(
1143         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1>(
1144         ),
1145         1usize,
1146         concat!(
1147             "Alignment of ",
1148             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1)
1149         )
1150     );
1151     assert_eq!(
1152         unsafe {
1153             &(*(::std::ptr::null::<
1154                 vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
1155             >()))
1156             ._bl as *const _ as usize
1157         },
1158         0usize,
1159         concat!(
1160             "Offset of field: ",
1161             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1),
1162             "::",
1163             stringify!(_bl)
1164         )
1165     );
1166     assert_eq!(
1167         unsafe {
1168             &(*(::std::ptr::null::<
1169                 vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
1170             >()))
1171             ._bh as *const _ as usize
1172         },
1173         1usize,
1174         concat!(
1175             "Offset of field: ",
1176             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1),
1177             "::",
1178             stringify!(_bh)
1179         )
1180     );
1181 }
1182 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4()1183 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4() {
1184     assert_eq!(
1185         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4>(),
1186         8usize,
1187         concat!(
1188             "Size of: ",
1189             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4)
1190         )
1191     );
1192     assert_eq!(
1193         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4>(),
1194         8usize,
1195         concat!(
1196             "Alignment of ",
1197             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4)
1198         )
1199     );
1200     assert_eq!(
1201         unsafe {
1202             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4>()))._bx
1203                 as *const _ as usize
1204         },
1205         0usize,
1206         concat!(
1207             "Offset of field: ",
1208             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4),
1209             "::",
1210             stringify!(_bx)
1211         )
1212     );
1213     assert_eq!(
1214         unsafe {
1215             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4>()))._ebx
1216                 as *const _ as usize
1217         },
1218         0usize,
1219         concat!(
1220             "Offset of field: ",
1221             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4),
1222             "::",
1223             stringify!(_ebx)
1224         )
1225     );
1226     assert_eq!(
1227         unsafe {
1228             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4>()))._rbx
1229                 as *const _ as usize
1230         },
1231         0usize,
1232         concat!(
1233             "Offset of field: ",
1234             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4),
1235             "::",
1236             stringify!(_rbx)
1237         )
1238     );
1239 }
1240 impl Default for vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4 {
default() -> Self1241     fn default() -> Self {
1242         unsafe { ::std::mem::zeroed() }
1243     }
1244 }
1245 #[repr(C)]
1246 #[derive(Copy, Clone)]
1247 pub union vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5 {
1248     pub _sp: u16,
1249     pub _esp: u32,
1250     pub _rsp: u64,
1251     _bindgen_union_align: u64,
1252 }
1253 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5()1254 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5() {
1255     assert_eq!(
1256         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5>(),
1257         8usize,
1258         concat!(
1259             "Size of: ",
1260             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5)
1261         )
1262     );
1263     assert_eq!(
1264         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5>(),
1265         8usize,
1266         concat!(
1267             "Alignment of ",
1268             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5)
1269         )
1270     );
1271     assert_eq!(
1272         unsafe {
1273             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5>()))._sp
1274                 as *const _ as usize
1275         },
1276         0usize,
1277         concat!(
1278             "Offset of field: ",
1279             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5),
1280             "::",
1281             stringify!(_sp)
1282         )
1283     );
1284     assert_eq!(
1285         unsafe {
1286             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5>()))._esp
1287                 as *const _ as usize
1288         },
1289         0usize,
1290         concat!(
1291             "Offset of field: ",
1292             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5),
1293             "::",
1294             stringify!(_esp)
1295         )
1296     );
1297     assert_eq!(
1298         unsafe {
1299             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5>()))._rsp
1300                 as *const _ as usize
1301         },
1302         0usize,
1303         concat!(
1304             "Offset of field: ",
1305             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5),
1306             "::",
1307             stringify!(_rsp)
1308         )
1309     );
1310 }
1311 impl Default for vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5 {
default() -> Self1312     fn default() -> Self {
1313         unsafe { ::std::mem::zeroed() }
1314     }
1315 }
1316 #[repr(C)]
1317 #[derive(Copy, Clone)]
1318 pub union vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6 {
1319     pub _bp: u16,
1320     pub _ebp: u32,
1321     pub _rbp: u64,
1322     _bindgen_union_align: u64,
1323 }
1324 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6()1325 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6() {
1326     assert_eq!(
1327         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6>(),
1328         8usize,
1329         concat!(
1330             "Size of: ",
1331             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6)
1332         )
1333     );
1334     assert_eq!(
1335         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6>(),
1336         8usize,
1337         concat!(
1338             "Alignment of ",
1339             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6)
1340         )
1341     );
1342     assert_eq!(
1343         unsafe {
1344             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6>()))._bp
1345                 as *const _ as usize
1346         },
1347         0usize,
1348         concat!(
1349             "Offset of field: ",
1350             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6),
1351             "::",
1352             stringify!(_bp)
1353         )
1354     );
1355     assert_eq!(
1356         unsafe {
1357             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6>()))._ebp
1358                 as *const _ as usize
1359         },
1360         0usize,
1361         concat!(
1362             "Offset of field: ",
1363             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6),
1364             "::",
1365             stringify!(_ebp)
1366         )
1367     );
1368     assert_eq!(
1369         unsafe {
1370             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6>()))._rbp
1371                 as *const _ as usize
1372         },
1373         0usize,
1374         concat!(
1375             "Offset of field: ",
1376             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6),
1377             "::",
1378             stringify!(_rbp)
1379         )
1380     );
1381 }
1382 impl Default for vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6 {
default() -> Self1383     fn default() -> Self {
1384         unsafe { ::std::mem::zeroed() }
1385     }
1386 }
1387 #[repr(C)]
1388 #[derive(Copy, Clone)]
1389 pub union vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7 {
1390     pub _si: u16,
1391     pub _esi: u32,
1392     pub _rsi: u64,
1393     _bindgen_union_align: u64,
1394 }
1395 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7()1396 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7() {
1397     assert_eq!(
1398         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7>(),
1399         8usize,
1400         concat!(
1401             "Size of: ",
1402             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7)
1403         )
1404     );
1405     assert_eq!(
1406         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7>(),
1407         8usize,
1408         concat!(
1409             "Alignment of ",
1410             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7)
1411         )
1412     );
1413     assert_eq!(
1414         unsafe {
1415             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7>()))._si
1416                 as *const _ as usize
1417         },
1418         0usize,
1419         concat!(
1420             "Offset of field: ",
1421             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7),
1422             "::",
1423             stringify!(_si)
1424         )
1425     );
1426     assert_eq!(
1427         unsafe {
1428             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7>()))._esi
1429                 as *const _ as usize
1430         },
1431         0usize,
1432         concat!(
1433             "Offset of field: ",
1434             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7),
1435             "::",
1436             stringify!(_esi)
1437         )
1438     );
1439     assert_eq!(
1440         unsafe {
1441             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7>()))._rsi
1442                 as *const _ as usize
1443         },
1444         0usize,
1445         concat!(
1446             "Offset of field: ",
1447             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7),
1448             "::",
1449             stringify!(_rsi)
1450         )
1451     );
1452 }
1453 impl Default for vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_7 {
default() -> Self1454     fn default() -> Self {
1455         unsafe { ::std::mem::zeroed() }
1456     }
1457 }
1458 #[repr(C)]
1459 #[derive(Copy, Clone)]
1460 pub union vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8 {
1461     pub _di: u16,
1462     pub _edi: u32,
1463     pub _rdi: u64,
1464     _bindgen_union_align: u64,
1465 }
1466 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8()1467 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8() {
1468     assert_eq!(
1469         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8>(),
1470         8usize,
1471         concat!(
1472             "Size of: ",
1473             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8)
1474         )
1475     );
1476     assert_eq!(
1477         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8>(),
1478         8usize,
1479         concat!(
1480             "Alignment of ",
1481             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8)
1482         )
1483     );
1484     assert_eq!(
1485         unsafe {
1486             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8>()))._di
1487                 as *const _ as usize
1488         },
1489         0usize,
1490         concat!(
1491             "Offset of field: ",
1492             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8),
1493             "::",
1494             stringify!(_di)
1495         )
1496     );
1497     assert_eq!(
1498         unsafe {
1499             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8>()))._edi
1500                 as *const _ as usize
1501         },
1502         0usize,
1503         concat!(
1504             "Offset of field: ",
1505             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8),
1506             "::",
1507             stringify!(_edi)
1508         )
1509     );
1510     assert_eq!(
1511         unsafe {
1512             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8>()))._rdi
1513                 as *const _ as usize
1514         },
1515         0usize,
1516         concat!(
1517             "Offset of field: ",
1518             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8),
1519             "::",
1520             stringify!(_rdi)
1521         )
1522     );
1523 }
1524 impl Default for vcpu_state_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_8 {
default() -> Self1525     fn default() -> Self {
1526         unsafe { ::std::mem::zeroed() }
1527     }
1528 }
1529 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1()1530 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1__bindgen_ty_1() {
1531     assert_eq!(
1532         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1>(),
1533         128usize,
1534         concat!(
1535             "Size of: ",
1536             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1)
1537         )
1538     );
1539     assert_eq!(
1540         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1>(),
1541         8usize,
1542         concat!(
1543             "Alignment of ",
1544             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1)
1545         )
1546     );
1547     assert_eq!(
1548         unsafe {
1549             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1>()))._r8 as *const _
1550                 as usize
1551         },
1552         64usize,
1553         concat!(
1554             "Offset of field: ",
1555             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1),
1556             "::",
1557             stringify!(_r8)
1558         )
1559     );
1560     assert_eq!(
1561         unsafe {
1562             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1>()))._r9 as *const _
1563                 as usize
1564         },
1565         72usize,
1566         concat!(
1567             "Offset of field: ",
1568             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1),
1569             "::",
1570             stringify!(_r9)
1571         )
1572     );
1573     assert_eq!(
1574         unsafe {
1575             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1>()))._r10 as *const _
1576                 as usize
1577         },
1578         80usize,
1579         concat!(
1580             "Offset of field: ",
1581             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1),
1582             "::",
1583             stringify!(_r10)
1584         )
1585     );
1586     assert_eq!(
1587         unsafe {
1588             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1>()))._r11 as *const _
1589                 as usize
1590         },
1591         88usize,
1592         concat!(
1593             "Offset of field: ",
1594             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1),
1595             "::",
1596             stringify!(_r11)
1597         )
1598     );
1599     assert_eq!(
1600         unsafe {
1601             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1>()))._r12 as *const _
1602                 as usize
1603         },
1604         96usize,
1605         concat!(
1606             "Offset of field: ",
1607             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1),
1608             "::",
1609             stringify!(_r12)
1610         )
1611     );
1612     assert_eq!(
1613         unsafe {
1614             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1>()))._r13 as *const _
1615                 as usize
1616         },
1617         104usize,
1618         concat!(
1619             "Offset of field: ",
1620             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1),
1621             "::",
1622             stringify!(_r13)
1623         )
1624     );
1625     assert_eq!(
1626         unsafe {
1627             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1>()))._r14 as *const _
1628                 as usize
1629         },
1630         112usize,
1631         concat!(
1632             "Offset of field: ",
1633             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1),
1634             "::",
1635             stringify!(_r14)
1636         )
1637     );
1638     assert_eq!(
1639         unsafe {
1640             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1__bindgen_ty_1>()))._r15 as *const _
1641                 as usize
1642         },
1643         120usize,
1644         concat!(
1645             "Offset of field: ",
1646             stringify!(vcpu_state_t__bindgen_ty_1__bindgen_ty_1),
1647             "::",
1648             stringify!(_r15)
1649         )
1650     );
1651 }
1652 impl Default for vcpu_state_t__bindgen_ty_1__bindgen_ty_1 {
default() -> Self1653     fn default() -> Self {
1654         unsafe { ::std::mem::zeroed() }
1655     }
1656 }
1657 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_1()1658 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_1() {
1659     assert_eq!(
1660         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_1>(),
1661         128usize,
1662         concat!("Size of: ", stringify!(vcpu_state_t__bindgen_ty_1))
1663     );
1664     assert_eq!(
1665         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_1>(),
1666         8usize,
1667         concat!("Alignment of ", stringify!(vcpu_state_t__bindgen_ty_1))
1668     );
1669     assert_eq!(
1670         unsafe {
1671             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_1>()))._regs as *const _ as usize
1672         },
1673         0usize,
1674         concat!(
1675             "Offset of field: ",
1676             stringify!(vcpu_state_t__bindgen_ty_1),
1677             "::",
1678             stringify!(_regs)
1679         )
1680     );
1681 }
1682 impl Default for vcpu_state_t__bindgen_ty_1 {
default() -> Self1683     fn default() -> Self {
1684         unsafe { ::std::mem::zeroed() }
1685     }
1686 }
1687 #[repr(C)]
1688 #[derive(Copy, Clone)]
1689 pub union vcpu_state_t__bindgen_ty_2 {
1690     pub _eip: u32,
1691     pub _rip: u64,
1692     _bindgen_union_align: u64,
1693 }
1694 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_2()1695 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_2() {
1696     assert_eq!(
1697         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_2>(),
1698         8usize,
1699         concat!("Size of: ", stringify!(vcpu_state_t__bindgen_ty_2))
1700     );
1701     assert_eq!(
1702         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_2>(),
1703         8usize,
1704         concat!("Alignment of ", stringify!(vcpu_state_t__bindgen_ty_2))
1705     );
1706     assert_eq!(
1707         unsafe { &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_2>()))._eip as *const _ as usize },
1708         0usize,
1709         concat!(
1710             "Offset of field: ",
1711             stringify!(vcpu_state_t__bindgen_ty_2),
1712             "::",
1713             stringify!(_eip)
1714         )
1715     );
1716     assert_eq!(
1717         unsafe { &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_2>()))._rip as *const _ as usize },
1718         0usize,
1719         concat!(
1720             "Offset of field: ",
1721             stringify!(vcpu_state_t__bindgen_ty_2),
1722             "::",
1723             stringify!(_rip)
1724         )
1725     );
1726 }
1727 impl Default for vcpu_state_t__bindgen_ty_2 {
default() -> Self1728     fn default() -> Self {
1729         unsafe { ::std::mem::zeroed() }
1730     }
1731 }
1732 #[repr(C)]
1733 #[derive(Copy, Clone)]
1734 pub union vcpu_state_t__bindgen_ty_3 {
1735     pub _eflags: u32,
1736     pub _rflags: u64,
1737     _bindgen_union_align: u64,
1738 }
1739 #[test]
bindgen_test_layout_vcpu_state_t__bindgen_ty_3()1740 fn bindgen_test_layout_vcpu_state_t__bindgen_ty_3() {
1741     assert_eq!(
1742         ::std::mem::size_of::<vcpu_state_t__bindgen_ty_3>(),
1743         8usize,
1744         concat!("Size of: ", stringify!(vcpu_state_t__bindgen_ty_3))
1745     );
1746     assert_eq!(
1747         ::std::mem::align_of::<vcpu_state_t__bindgen_ty_3>(),
1748         8usize,
1749         concat!("Alignment of ", stringify!(vcpu_state_t__bindgen_ty_3))
1750     );
1751     assert_eq!(
1752         unsafe {
1753             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_3>()))._eflags as *const _ as usize
1754         },
1755         0usize,
1756         concat!(
1757             "Offset of field: ",
1758             stringify!(vcpu_state_t__bindgen_ty_3),
1759             "::",
1760             stringify!(_eflags)
1761         )
1762     );
1763     assert_eq!(
1764         unsafe {
1765             &(*(::std::ptr::null::<vcpu_state_t__bindgen_ty_3>()))._rflags as *const _ as usize
1766         },
1767         0usize,
1768         concat!(
1769             "Offset of field: ",
1770             stringify!(vcpu_state_t__bindgen_ty_3),
1771             "::",
1772             stringify!(_rflags)
1773         )
1774     );
1775 }
1776 impl Default for vcpu_state_t__bindgen_ty_3 {
default() -> Self1777     fn default() -> Self {
1778         unsafe { ::std::mem::zeroed() }
1779     }
1780 }
1781 #[test]
bindgen_test_layout_vcpu_state_t()1782 fn bindgen_test_layout_vcpu_state_t() {
1783     assert_eq!(
1784         ::std::mem::size_of::<vcpu_state_t>(),
1785         512usize,
1786         concat!("Size of: ", stringify!(vcpu_state_t))
1787     );
1788     assert_eq!(
1789         ::std::mem::align_of::<vcpu_state_t>(),
1790         1usize,
1791         concat!("Alignment of ", stringify!(vcpu_state_t))
1792     );
1793     assert_eq!(
1794         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._cs as *const _ as usize },
1795         144usize,
1796         concat!(
1797             "Offset of field: ",
1798             stringify!(vcpu_state_t),
1799             "::",
1800             stringify!(_cs)
1801         )
1802     );
1803     assert_eq!(
1804         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._ss as *const _ as usize },
1805         168usize,
1806         concat!(
1807             "Offset of field: ",
1808             stringify!(vcpu_state_t),
1809             "::",
1810             stringify!(_ss)
1811         )
1812     );
1813     assert_eq!(
1814         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._ds as *const _ as usize },
1815         192usize,
1816         concat!(
1817             "Offset of field: ",
1818             stringify!(vcpu_state_t),
1819             "::",
1820             stringify!(_ds)
1821         )
1822     );
1823     assert_eq!(
1824         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._es as *const _ as usize },
1825         216usize,
1826         concat!(
1827             "Offset of field: ",
1828             stringify!(vcpu_state_t),
1829             "::",
1830             stringify!(_es)
1831         )
1832     );
1833     assert_eq!(
1834         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._fs as *const _ as usize },
1835         240usize,
1836         concat!(
1837             "Offset of field: ",
1838             stringify!(vcpu_state_t),
1839             "::",
1840             stringify!(_fs)
1841         )
1842     );
1843     assert_eq!(
1844         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._gs as *const _ as usize },
1845         264usize,
1846         concat!(
1847             "Offset of field: ",
1848             stringify!(vcpu_state_t),
1849             "::",
1850             stringify!(_gs)
1851         )
1852     );
1853     assert_eq!(
1854         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._ldt as *const _ as usize },
1855         288usize,
1856         concat!(
1857             "Offset of field: ",
1858             stringify!(vcpu_state_t),
1859             "::",
1860             stringify!(_ldt)
1861         )
1862     );
1863     assert_eq!(
1864         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._tr as *const _ as usize },
1865         312usize,
1866         concat!(
1867             "Offset of field: ",
1868             stringify!(vcpu_state_t),
1869             "::",
1870             stringify!(_tr)
1871         )
1872     );
1873     assert_eq!(
1874         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._gdt as *const _ as usize },
1875         336usize,
1876         concat!(
1877             "Offset of field: ",
1878             stringify!(vcpu_state_t),
1879             "::",
1880             stringify!(_gdt)
1881         )
1882     );
1883     assert_eq!(
1884         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._idt as *const _ as usize },
1885         360usize,
1886         concat!(
1887             "Offset of field: ",
1888             stringify!(vcpu_state_t),
1889             "::",
1890             stringify!(_idt)
1891         )
1892     );
1893     assert_eq!(
1894         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._cr0 as *const _ as usize },
1895         384usize,
1896         concat!(
1897             "Offset of field: ",
1898             stringify!(vcpu_state_t),
1899             "::",
1900             stringify!(_cr0)
1901         )
1902     );
1903     assert_eq!(
1904         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._cr2 as *const _ as usize },
1905         392usize,
1906         concat!(
1907             "Offset of field: ",
1908             stringify!(vcpu_state_t),
1909             "::",
1910             stringify!(_cr2)
1911         )
1912     );
1913     assert_eq!(
1914         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._cr3 as *const _ as usize },
1915         400usize,
1916         concat!(
1917             "Offset of field: ",
1918             stringify!(vcpu_state_t),
1919             "::",
1920             stringify!(_cr3)
1921         )
1922     );
1923     assert_eq!(
1924         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._cr4 as *const _ as usize },
1925         408usize,
1926         concat!(
1927             "Offset of field: ",
1928             stringify!(vcpu_state_t),
1929             "::",
1930             stringify!(_cr4)
1931         )
1932     );
1933     assert_eq!(
1934         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._dr0 as *const _ as usize },
1935         416usize,
1936         concat!(
1937             "Offset of field: ",
1938             stringify!(vcpu_state_t),
1939             "::",
1940             stringify!(_dr0)
1941         )
1942     );
1943     assert_eq!(
1944         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._dr1 as *const _ as usize },
1945         424usize,
1946         concat!(
1947             "Offset of field: ",
1948             stringify!(vcpu_state_t),
1949             "::",
1950             stringify!(_dr1)
1951         )
1952     );
1953     assert_eq!(
1954         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._dr2 as *const _ as usize },
1955         432usize,
1956         concat!(
1957             "Offset of field: ",
1958             stringify!(vcpu_state_t),
1959             "::",
1960             stringify!(_dr2)
1961         )
1962     );
1963     assert_eq!(
1964         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._dr3 as *const _ as usize },
1965         440usize,
1966         concat!(
1967             "Offset of field: ",
1968             stringify!(vcpu_state_t),
1969             "::",
1970             stringify!(_dr3)
1971         )
1972     );
1973     assert_eq!(
1974         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._dr6 as *const _ as usize },
1975         448usize,
1976         concat!(
1977             "Offset of field: ",
1978             stringify!(vcpu_state_t),
1979             "::",
1980             stringify!(_dr6)
1981         )
1982     );
1983     assert_eq!(
1984         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._dr7 as *const _ as usize },
1985         456usize,
1986         concat!(
1987             "Offset of field: ",
1988             stringify!(vcpu_state_t),
1989             "::",
1990             stringify!(_dr7)
1991         )
1992     );
1993     assert_eq!(
1994         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._pde as *const _ as usize },
1995         464usize,
1996         concat!(
1997             "Offset of field: ",
1998             stringify!(vcpu_state_t),
1999             "::",
2000             stringify!(_pde)
2001         )
2002     );
2003     assert_eq!(
2004         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._efer as *const _ as usize },
2005         472usize,
2006         concat!(
2007             "Offset of field: ",
2008             stringify!(vcpu_state_t),
2009             "::",
2010             stringify!(_efer)
2011         )
2012     );
2013     assert_eq!(
2014         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._sysenter_cs as *const _ as usize },
2015         476usize,
2016         concat!(
2017             "Offset of field: ",
2018             stringify!(vcpu_state_t),
2019             "::",
2020             stringify!(_sysenter_cs)
2021         )
2022     );
2023     assert_eq!(
2024         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._sysenter_eip as *const _ as usize },
2025         480usize,
2026         concat!(
2027             "Offset of field: ",
2028             stringify!(vcpu_state_t),
2029             "::",
2030             stringify!(_sysenter_eip)
2031         )
2032     );
2033     assert_eq!(
2034         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._sysenter_esp as *const _ as usize },
2035         488usize,
2036         concat!(
2037             "Offset of field: ",
2038             stringify!(vcpu_state_t),
2039             "::",
2040             stringify!(_sysenter_esp)
2041         )
2042     );
2043     assert_eq!(
2044         unsafe { &(*(::std::ptr::null::<vcpu_state_t>()))._activity_state as *const _ as usize },
2045         496usize,
2046         concat!(
2047             "Offset of field: ",
2048             stringify!(vcpu_state_t),
2049             "::",
2050             stringify!(_activity_state)
2051         )
2052     );
2053     assert_eq!(
2054         unsafe { &(*(::std::ptr::null::<vcpu_state_t>())).pad as *const _ as usize },
2055         500usize,
2056         concat!(
2057             "Offset of field: ",
2058             stringify!(vcpu_state_t),
2059             "::",
2060             stringify!(pad)
2061         )
2062     );
2063     assert_eq!(
2064         unsafe {
2065             &(*(::std::ptr::null::<vcpu_state_t>()))._interruptibility_state as *const _ as usize
2066         },
2067         504usize,
2068         concat!(
2069             "Offset of field: ",
2070             stringify!(vcpu_state_t),
2071             "::",
2072             stringify!(_interruptibility_state)
2073         )
2074     );
2075 }
2076 impl Default for vcpu_state_t {
default() -> Self2077     fn default() -> Self {
2078         unsafe { ::std::mem::zeroed() }
2079     }
2080 }
2081 extern "C" {
dump()2082     pub fn dump();
2083 }
2084 #[repr(C, packed)]
2085 #[derive(Debug, Default, Copy, Clone)]
2086 pub struct vmx_msr {
2087     pub entry: u64,
2088     pub value: u64,
2089 }
2090 #[test]
bindgen_test_layout_vmx_msr()2091 fn bindgen_test_layout_vmx_msr() {
2092     assert_eq!(
2093         ::std::mem::size_of::<vmx_msr>(),
2094         16usize,
2095         concat!("Size of: ", stringify!(vmx_msr))
2096     );
2097     assert_eq!(
2098         ::std::mem::align_of::<vmx_msr>(),
2099         1usize,
2100         concat!("Alignment of ", stringify!(vmx_msr))
2101     );
2102     assert_eq!(
2103         unsafe { &(*(::std::ptr::null::<vmx_msr>())).entry as *const _ as usize },
2104         0usize,
2105         concat!(
2106             "Offset of field: ",
2107             stringify!(vmx_msr),
2108             "::",
2109             stringify!(entry)
2110         )
2111     );
2112     assert_eq!(
2113         unsafe { &(*(::std::ptr::null::<vmx_msr>())).value as *const _ as usize },
2114         8usize,
2115         concat!(
2116             "Offset of field: ",
2117             stringify!(vmx_msr),
2118             "::",
2119             stringify!(value)
2120         )
2121     );
2122 }
2123 #[repr(C)]
2124 #[repr(align(16))]
2125 #[derive(Copy, Clone)]
2126 pub struct fx_layout {
2127     pub fcw: u16,
2128     pub fsw: u16,
2129     pub ftw: u8,
2130     pub res1: u8,
2131     pub fop: u16,
2132     pub __bindgen_anon_1: fx_layout__bindgen_ty_1,
2133     pub __bindgen_anon_2: fx_layout__bindgen_ty_2,
2134     pub mxcsr: u32,
2135     pub mxcsr_mask: u32,
2136     pub st_mm: [[u8; 16usize]; 8usize],
2137     pub mmx_1: [[u8; 16usize]; 8usize],
2138     pub mmx_2: [[u8; 16usize]; 8usize],
2139     pub pad: [u8; 96usize],
2140 }
2141 #[repr(C)]
2142 #[derive(Copy, Clone)]
2143 pub union fx_layout__bindgen_ty_1 {
2144     pub __bindgen_anon_1: fx_layout__bindgen_ty_1__bindgen_ty_1,
2145     pub fpu_ip: u64,
2146     _bindgen_union_align: u64,
2147 }
2148 #[repr(C)]
2149 #[derive(Debug, Default, Copy, Clone)]
2150 pub struct fx_layout__bindgen_ty_1__bindgen_ty_1 {
2151     pub fip: u32,
2152     pub fcs: u16,
2153     pub res2: u16,
2154 }
2155 #[test]
bindgen_test_layout_fx_layout__bindgen_ty_1__bindgen_ty_1()2156 fn bindgen_test_layout_fx_layout__bindgen_ty_1__bindgen_ty_1() {
2157     assert_eq!(
2158         ::std::mem::size_of::<fx_layout__bindgen_ty_1__bindgen_ty_1>(),
2159         8usize,
2160         concat!(
2161             "Size of: ",
2162             stringify!(fx_layout__bindgen_ty_1__bindgen_ty_1)
2163         )
2164     );
2165     assert_eq!(
2166         ::std::mem::align_of::<fx_layout__bindgen_ty_1__bindgen_ty_1>(),
2167         4usize,
2168         concat!(
2169             "Alignment of ",
2170             stringify!(fx_layout__bindgen_ty_1__bindgen_ty_1)
2171         )
2172     );
2173     assert_eq!(
2174         unsafe {
2175             &(*(::std::ptr::null::<fx_layout__bindgen_ty_1__bindgen_ty_1>())).fip as *const _
2176                 as usize
2177         },
2178         0usize,
2179         concat!(
2180             "Offset of field: ",
2181             stringify!(fx_layout__bindgen_ty_1__bindgen_ty_1),
2182             "::",
2183             stringify!(fip)
2184         )
2185     );
2186     assert_eq!(
2187         unsafe {
2188             &(*(::std::ptr::null::<fx_layout__bindgen_ty_1__bindgen_ty_1>())).fcs as *const _
2189                 as usize
2190         },
2191         4usize,
2192         concat!(
2193             "Offset of field: ",
2194             stringify!(fx_layout__bindgen_ty_1__bindgen_ty_1),
2195             "::",
2196             stringify!(fcs)
2197         )
2198     );
2199     assert_eq!(
2200         unsafe {
2201             &(*(::std::ptr::null::<fx_layout__bindgen_ty_1__bindgen_ty_1>())).res2 as *const _
2202                 as usize
2203         },
2204         6usize,
2205         concat!(
2206             "Offset of field: ",
2207             stringify!(fx_layout__bindgen_ty_1__bindgen_ty_1),
2208             "::",
2209             stringify!(res2)
2210         )
2211     );
2212 }
2213 #[test]
bindgen_test_layout_fx_layout__bindgen_ty_1()2214 fn bindgen_test_layout_fx_layout__bindgen_ty_1() {
2215     assert_eq!(
2216         ::std::mem::size_of::<fx_layout__bindgen_ty_1>(),
2217         8usize,
2218         concat!("Size of: ", stringify!(fx_layout__bindgen_ty_1))
2219     );
2220     assert_eq!(
2221         ::std::mem::align_of::<fx_layout__bindgen_ty_1>(),
2222         8usize,
2223         concat!("Alignment of ", stringify!(fx_layout__bindgen_ty_1))
2224     );
2225     assert_eq!(
2226         unsafe { &(*(::std::ptr::null::<fx_layout__bindgen_ty_1>())).fpu_ip as *const _ as usize },
2227         0usize,
2228         concat!(
2229             "Offset of field: ",
2230             stringify!(fx_layout__bindgen_ty_1),
2231             "::",
2232             stringify!(fpu_ip)
2233         )
2234     );
2235 }
2236 impl Default for fx_layout__bindgen_ty_1 {
default() -> Self2237     fn default() -> Self {
2238         unsafe { ::std::mem::zeroed() }
2239     }
2240 }
2241 #[repr(C)]
2242 #[derive(Copy, Clone)]
2243 pub union fx_layout__bindgen_ty_2 {
2244     pub __bindgen_anon_1: fx_layout__bindgen_ty_2__bindgen_ty_1,
2245     pub fpu_dp: u64,
2246     _bindgen_union_align: u64,
2247 }
2248 #[repr(C)]
2249 #[derive(Debug, Default, Copy, Clone)]
2250 pub struct fx_layout__bindgen_ty_2__bindgen_ty_1 {
2251     pub fdp: u32,
2252     pub fds: u16,
2253     pub res3: u16,
2254 }
2255 #[test]
bindgen_test_layout_fx_layout__bindgen_ty_2__bindgen_ty_1()2256 fn bindgen_test_layout_fx_layout__bindgen_ty_2__bindgen_ty_1() {
2257     assert_eq!(
2258         ::std::mem::size_of::<fx_layout__bindgen_ty_2__bindgen_ty_1>(),
2259         8usize,
2260         concat!(
2261             "Size of: ",
2262             stringify!(fx_layout__bindgen_ty_2__bindgen_ty_1)
2263         )
2264     );
2265     assert_eq!(
2266         ::std::mem::align_of::<fx_layout__bindgen_ty_2__bindgen_ty_1>(),
2267         4usize,
2268         concat!(
2269             "Alignment of ",
2270             stringify!(fx_layout__bindgen_ty_2__bindgen_ty_1)
2271         )
2272     );
2273     assert_eq!(
2274         unsafe {
2275             &(*(::std::ptr::null::<fx_layout__bindgen_ty_2__bindgen_ty_1>())).fdp as *const _
2276                 as usize
2277         },
2278         0usize,
2279         concat!(
2280             "Offset of field: ",
2281             stringify!(fx_layout__bindgen_ty_2__bindgen_ty_1),
2282             "::",
2283             stringify!(fdp)
2284         )
2285     );
2286     assert_eq!(
2287         unsafe {
2288             &(*(::std::ptr::null::<fx_layout__bindgen_ty_2__bindgen_ty_1>())).fds as *const _
2289                 as usize
2290         },
2291         4usize,
2292         concat!(
2293             "Offset of field: ",
2294             stringify!(fx_layout__bindgen_ty_2__bindgen_ty_1),
2295             "::",
2296             stringify!(fds)
2297         )
2298     );
2299     assert_eq!(
2300         unsafe {
2301             &(*(::std::ptr::null::<fx_layout__bindgen_ty_2__bindgen_ty_1>())).res3 as *const _
2302                 as usize
2303         },
2304         6usize,
2305         concat!(
2306             "Offset of field: ",
2307             stringify!(fx_layout__bindgen_ty_2__bindgen_ty_1),
2308             "::",
2309             stringify!(res3)
2310         )
2311     );
2312 }
2313 #[test]
bindgen_test_layout_fx_layout__bindgen_ty_2()2314 fn bindgen_test_layout_fx_layout__bindgen_ty_2() {
2315     assert_eq!(
2316         ::std::mem::size_of::<fx_layout__bindgen_ty_2>(),
2317         8usize,
2318         concat!("Size of: ", stringify!(fx_layout__bindgen_ty_2))
2319     );
2320     assert_eq!(
2321         ::std::mem::align_of::<fx_layout__bindgen_ty_2>(),
2322         8usize,
2323         concat!("Alignment of ", stringify!(fx_layout__bindgen_ty_2))
2324     );
2325     assert_eq!(
2326         unsafe { &(*(::std::ptr::null::<fx_layout__bindgen_ty_2>())).fpu_dp as *const _ as usize },
2327         0usize,
2328         concat!(
2329             "Offset of field: ",
2330             stringify!(fx_layout__bindgen_ty_2),
2331             "::",
2332             stringify!(fpu_dp)
2333         )
2334     );
2335 }
2336 impl Default for fx_layout__bindgen_ty_2 {
default() -> Self2337     fn default() -> Self {
2338         unsafe { ::std::mem::zeroed() }
2339     }
2340 }
2341 #[test]
bindgen_test_layout_fx_layout()2342 fn bindgen_test_layout_fx_layout() {
2343     assert_eq!(
2344         ::std::mem::size_of::<fx_layout>(),
2345         512usize,
2346         concat!("Size of: ", stringify!(fx_layout))
2347     );
2348     assert_eq!(
2349         ::std::mem::align_of::<fx_layout>(),
2350         16usize,
2351         concat!("Alignment of ", stringify!(fx_layout))
2352     );
2353     assert_eq!(
2354         unsafe { &(*(::std::ptr::null::<fx_layout>())).fcw as *const _ as usize },
2355         0usize,
2356         concat!(
2357             "Offset of field: ",
2358             stringify!(fx_layout),
2359             "::",
2360             stringify!(fcw)
2361         )
2362     );
2363     assert_eq!(
2364         unsafe { &(*(::std::ptr::null::<fx_layout>())).fsw as *const _ as usize },
2365         2usize,
2366         concat!(
2367             "Offset of field: ",
2368             stringify!(fx_layout),
2369             "::",
2370             stringify!(fsw)
2371         )
2372     );
2373     assert_eq!(
2374         unsafe { &(*(::std::ptr::null::<fx_layout>())).ftw as *const _ as usize },
2375         4usize,
2376         concat!(
2377             "Offset of field: ",
2378             stringify!(fx_layout),
2379             "::",
2380             stringify!(ftw)
2381         )
2382     );
2383     assert_eq!(
2384         unsafe { &(*(::std::ptr::null::<fx_layout>())).res1 as *const _ as usize },
2385         5usize,
2386         concat!(
2387             "Offset of field: ",
2388             stringify!(fx_layout),
2389             "::",
2390             stringify!(res1)
2391         )
2392     );
2393     assert_eq!(
2394         unsafe { &(*(::std::ptr::null::<fx_layout>())).fop as *const _ as usize },
2395         6usize,
2396         concat!(
2397             "Offset of field: ",
2398             stringify!(fx_layout),
2399             "::",
2400             stringify!(fop)
2401         )
2402     );
2403     assert_eq!(
2404         unsafe { &(*(::std::ptr::null::<fx_layout>())).mxcsr as *const _ as usize },
2405         24usize,
2406         concat!(
2407             "Offset of field: ",
2408             stringify!(fx_layout),
2409             "::",
2410             stringify!(mxcsr)
2411         )
2412     );
2413     assert_eq!(
2414         unsafe { &(*(::std::ptr::null::<fx_layout>())).mxcsr_mask as *const _ as usize },
2415         28usize,
2416         concat!(
2417             "Offset of field: ",
2418             stringify!(fx_layout),
2419             "::",
2420             stringify!(mxcsr_mask)
2421         )
2422     );
2423     assert_eq!(
2424         unsafe { &(*(::std::ptr::null::<fx_layout>())).st_mm as *const _ as usize },
2425         32usize,
2426         concat!(
2427             "Offset of field: ",
2428             stringify!(fx_layout),
2429             "::",
2430             stringify!(st_mm)
2431         )
2432     );
2433     assert_eq!(
2434         unsafe { &(*(::std::ptr::null::<fx_layout>())).mmx_1 as *const _ as usize },
2435         160usize,
2436         concat!(
2437             "Offset of field: ",
2438             stringify!(fx_layout),
2439             "::",
2440             stringify!(mmx_1)
2441         )
2442     );
2443     assert_eq!(
2444         unsafe { &(*(::std::ptr::null::<fx_layout>())).mmx_2 as *const _ as usize },
2445         288usize,
2446         concat!(
2447             "Offset of field: ",
2448             stringify!(fx_layout),
2449             "::",
2450             stringify!(mmx_2)
2451         )
2452     );
2453     assert_eq!(
2454         unsafe { &(*(::std::ptr::null::<fx_layout>())).pad as *const _ as usize },
2455         416usize,
2456         concat!(
2457             "Offset of field: ",
2458             stringify!(fx_layout),
2459             "::",
2460             stringify!(pad)
2461         )
2462     );
2463 }
2464 impl Default for fx_layout {
default() -> Self2465     fn default() -> Self {
2466         unsafe { ::std::mem::zeroed() }
2467     }
2468 }
2469 #[repr(C, packed)]
2470 #[derive(Debug, Default, Copy, Clone)]
2471 pub struct hax_msr_data {
2472     pub nr_msr: u16,
2473     pub done: u16,
2474     pub pad: [u16; 2usize],
2475     pub entries: [vmx_msr; 32usize],
2476 }
2477 #[test]
bindgen_test_layout_hax_msr_data()2478 fn bindgen_test_layout_hax_msr_data() {
2479     assert_eq!(
2480         ::std::mem::size_of::<hax_msr_data>(),
2481         520usize,
2482         concat!("Size of: ", stringify!(hax_msr_data))
2483     );
2484     assert_eq!(
2485         ::std::mem::align_of::<hax_msr_data>(),
2486         1usize,
2487         concat!("Alignment of ", stringify!(hax_msr_data))
2488     );
2489     assert_eq!(
2490         unsafe { &(*(::std::ptr::null::<hax_msr_data>())).nr_msr as *const _ as usize },
2491         0usize,
2492         concat!(
2493             "Offset of field: ",
2494             stringify!(hax_msr_data),
2495             "::",
2496             stringify!(nr_msr)
2497         )
2498     );
2499     assert_eq!(
2500         unsafe { &(*(::std::ptr::null::<hax_msr_data>())).done as *const _ as usize },
2501         2usize,
2502         concat!(
2503             "Offset of field: ",
2504             stringify!(hax_msr_data),
2505             "::",
2506             stringify!(done)
2507         )
2508     );
2509     assert_eq!(
2510         unsafe { &(*(::std::ptr::null::<hax_msr_data>())).pad as *const _ as usize },
2511         4usize,
2512         concat!(
2513             "Offset of field: ",
2514             stringify!(hax_msr_data),
2515             "::",
2516             stringify!(pad)
2517         )
2518     );
2519     assert_eq!(
2520         unsafe { &(*(::std::ptr::null::<hax_msr_data>())).entries as *const _ as usize },
2521         8usize,
2522         concat!(
2523             "Offset of field: ",
2524             stringify!(hax_msr_data),
2525             "::",
2526             stringify!(entries)
2527         )
2528     );
2529 }
2530 #[repr(C, packed)]
2531 #[derive(Copy, Clone)]
2532 pub struct hax_tunnel {
2533     pub _exit_reason: u32,
2534     pub pad0: u32,
2535     pub _exit_status: u32,
2536     pub user_event_pending: u32,
2537     pub ready_for_interrupt_injection: ::std::os::raw::c_int,
2538     pub request_interrupt_window: ::std::os::raw::c_int,
2539     pub __bindgen_anon_1: hax_tunnel__bindgen_ty_1,
2540     pub apic_base: u64,
2541 }
2542 #[repr(C)]
2543 #[derive(Copy, Clone)]
2544 pub union hax_tunnel__bindgen_ty_1 {
2545     pub io: hax_tunnel__bindgen_ty_1__bindgen_ty_1,
2546     pub mmio: hax_tunnel__bindgen_ty_1__bindgen_ty_2,
2547     pub pagefault: hax_tunnel__bindgen_ty_1__bindgen_ty_3,
2548     pub state: hax_tunnel__bindgen_ty_1__bindgen_ty_4,
2549     pub debug: hax_tunnel__bindgen_ty_1__bindgen_ty_5,
2550     _bindgen_union_align: [u64; 3usize],
2551 }
2552 #[repr(C)]
2553 #[derive(Debug, Default, Copy, Clone)]
2554 pub struct hax_tunnel__bindgen_ty_1__bindgen_ty_1 {
2555     pub _direction: u8,
2556     pub _df: u8,
2557     pub _size: u16,
2558     pub _port: u16,
2559     pub _count: u16,
2560     pub _flags: u8,
2561     pub _pad0: u8,
2562     pub _pad1: u16,
2563     pub _pad2: u32,
2564     pub _vaddr: hax_vaddr_t,
2565 }
2566 #[test]
bindgen_test_layout_hax_tunnel__bindgen_ty_1__bindgen_ty_1()2567 fn bindgen_test_layout_hax_tunnel__bindgen_ty_1__bindgen_ty_1() {
2568     assert_eq!(
2569         ::std::mem::size_of::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>(),
2570         24usize,
2571         concat!(
2572             "Size of: ",
2573             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1)
2574         )
2575     );
2576     assert_eq!(
2577         ::std::mem::align_of::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>(),
2578         8usize,
2579         concat!(
2580             "Alignment of ",
2581             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1)
2582         )
2583     );
2584     assert_eq!(
2585         unsafe {
2586             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>()))._direction
2587                 as *const _ as usize
2588         },
2589         0usize,
2590         concat!(
2591             "Offset of field: ",
2592             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1),
2593             "::",
2594             stringify!(_direction)
2595         )
2596     );
2597     assert_eq!(
2598         unsafe {
2599             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>()))._df as *const _
2600                 as usize
2601         },
2602         1usize,
2603         concat!(
2604             "Offset of field: ",
2605             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1),
2606             "::",
2607             stringify!(_df)
2608         )
2609     );
2610     assert_eq!(
2611         unsafe {
2612             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>()))._size as *const _
2613                 as usize
2614         },
2615         2usize,
2616         concat!(
2617             "Offset of field: ",
2618             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1),
2619             "::",
2620             stringify!(_size)
2621         )
2622     );
2623     assert_eq!(
2624         unsafe {
2625             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>()))._port as *const _
2626                 as usize
2627         },
2628         4usize,
2629         concat!(
2630             "Offset of field: ",
2631             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1),
2632             "::",
2633             stringify!(_port)
2634         )
2635     );
2636     assert_eq!(
2637         unsafe {
2638             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>()))._count as *const _
2639                 as usize
2640         },
2641         6usize,
2642         concat!(
2643             "Offset of field: ",
2644             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1),
2645             "::",
2646             stringify!(_count)
2647         )
2648     );
2649     assert_eq!(
2650         unsafe {
2651             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>()))._flags as *const _
2652                 as usize
2653         },
2654         8usize,
2655         concat!(
2656             "Offset of field: ",
2657             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1),
2658             "::",
2659             stringify!(_flags)
2660         )
2661     );
2662     assert_eq!(
2663         unsafe {
2664             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>()))._pad0 as *const _
2665                 as usize
2666         },
2667         9usize,
2668         concat!(
2669             "Offset of field: ",
2670             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1),
2671             "::",
2672             stringify!(_pad0)
2673         )
2674     );
2675     assert_eq!(
2676         unsafe {
2677             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>()))._pad1 as *const _
2678                 as usize
2679         },
2680         10usize,
2681         concat!(
2682             "Offset of field: ",
2683             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1),
2684             "::",
2685             stringify!(_pad1)
2686         )
2687     );
2688     assert_eq!(
2689         unsafe {
2690             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>()))._pad2 as *const _
2691                 as usize
2692         },
2693         12usize,
2694         concat!(
2695             "Offset of field: ",
2696             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1),
2697             "::",
2698             stringify!(_pad2)
2699         )
2700     );
2701     assert_eq!(
2702         unsafe {
2703             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_1>()))._vaddr as *const _
2704                 as usize
2705         },
2706         16usize,
2707         concat!(
2708             "Offset of field: ",
2709             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_1),
2710             "::",
2711             stringify!(_vaddr)
2712         )
2713     );
2714 }
2715 #[repr(C)]
2716 #[derive(Debug, Default, Copy, Clone)]
2717 pub struct hax_tunnel__bindgen_ty_1__bindgen_ty_2 {
2718     pub gla: hax_paddr_t,
2719 }
2720 #[test]
bindgen_test_layout_hax_tunnel__bindgen_ty_1__bindgen_ty_2()2721 fn bindgen_test_layout_hax_tunnel__bindgen_ty_1__bindgen_ty_2() {
2722     assert_eq!(
2723         ::std::mem::size_of::<hax_tunnel__bindgen_ty_1__bindgen_ty_2>(),
2724         8usize,
2725         concat!(
2726             "Size of: ",
2727             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_2)
2728         )
2729     );
2730     assert_eq!(
2731         ::std::mem::align_of::<hax_tunnel__bindgen_ty_1__bindgen_ty_2>(),
2732         8usize,
2733         concat!(
2734             "Alignment of ",
2735             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_2)
2736         )
2737     );
2738     assert_eq!(
2739         unsafe {
2740             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_2>())).gla as *const _
2741                 as usize
2742         },
2743         0usize,
2744         concat!(
2745             "Offset of field: ",
2746             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_2),
2747             "::",
2748             stringify!(gla)
2749         )
2750     );
2751 }
2752 #[repr(C)]
2753 #[derive(Debug, Default, Copy, Clone)]
2754 pub struct hax_tunnel__bindgen_ty_1__bindgen_ty_3 {
2755     pub gpa: hax_paddr_t,
2756     pub flags: u32,
2757     pub reserved1: u32,
2758     pub reserved2: u64,
2759 }
2760 #[test]
bindgen_test_layout_hax_tunnel__bindgen_ty_1__bindgen_ty_3()2761 fn bindgen_test_layout_hax_tunnel__bindgen_ty_1__bindgen_ty_3() {
2762     assert_eq!(
2763         ::std::mem::size_of::<hax_tunnel__bindgen_ty_1__bindgen_ty_3>(),
2764         24usize,
2765         concat!(
2766             "Size of: ",
2767             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_3)
2768         )
2769     );
2770     assert_eq!(
2771         ::std::mem::align_of::<hax_tunnel__bindgen_ty_1__bindgen_ty_3>(),
2772         8usize,
2773         concat!(
2774             "Alignment of ",
2775             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_3)
2776         )
2777     );
2778     assert_eq!(
2779         unsafe {
2780             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_3>())).gpa as *const _
2781                 as usize
2782         },
2783         0usize,
2784         concat!(
2785             "Offset of field: ",
2786             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_3),
2787             "::",
2788             stringify!(gpa)
2789         )
2790     );
2791     assert_eq!(
2792         unsafe {
2793             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_3>())).flags as *const _
2794                 as usize
2795         },
2796         8usize,
2797         concat!(
2798             "Offset of field: ",
2799             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_3),
2800             "::",
2801             stringify!(flags)
2802         )
2803     );
2804     assert_eq!(
2805         unsafe {
2806             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_3>())).reserved1 as *const _
2807                 as usize
2808         },
2809         12usize,
2810         concat!(
2811             "Offset of field: ",
2812             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_3),
2813             "::",
2814             stringify!(reserved1)
2815         )
2816     );
2817     assert_eq!(
2818         unsafe {
2819             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_3>())).reserved2 as *const _
2820                 as usize
2821         },
2822         16usize,
2823         concat!(
2824             "Offset of field: ",
2825             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_3),
2826             "::",
2827             stringify!(reserved2)
2828         )
2829     );
2830 }
2831 #[repr(C)]
2832 #[derive(Debug, Default, Copy, Clone)]
2833 pub struct hax_tunnel__bindgen_ty_1__bindgen_ty_4 {
2834     pub dummy: hax_paddr_t,
2835 }
2836 #[test]
bindgen_test_layout_hax_tunnel__bindgen_ty_1__bindgen_ty_4()2837 fn bindgen_test_layout_hax_tunnel__bindgen_ty_1__bindgen_ty_4() {
2838     assert_eq!(
2839         ::std::mem::size_of::<hax_tunnel__bindgen_ty_1__bindgen_ty_4>(),
2840         8usize,
2841         concat!(
2842             "Size of: ",
2843             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_4)
2844         )
2845     );
2846     assert_eq!(
2847         ::std::mem::align_of::<hax_tunnel__bindgen_ty_1__bindgen_ty_4>(),
2848         8usize,
2849         concat!(
2850             "Alignment of ",
2851             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_4)
2852         )
2853     );
2854     assert_eq!(
2855         unsafe {
2856             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_4>())).dummy as *const _
2857                 as usize
2858         },
2859         0usize,
2860         concat!(
2861             "Offset of field: ",
2862             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_4),
2863             "::",
2864             stringify!(dummy)
2865         )
2866     );
2867 }
2868 #[repr(C)]
2869 #[derive(Debug, Default, Copy, Clone)]
2870 pub struct hax_tunnel__bindgen_ty_1__bindgen_ty_5 {
2871     pub rip: u64,
2872     pub dr6: u64,
2873     pub dr7: u64,
2874 }
2875 #[test]
bindgen_test_layout_hax_tunnel__bindgen_ty_1__bindgen_ty_5()2876 fn bindgen_test_layout_hax_tunnel__bindgen_ty_1__bindgen_ty_5() {
2877     assert_eq!(
2878         ::std::mem::size_of::<hax_tunnel__bindgen_ty_1__bindgen_ty_5>(),
2879         24usize,
2880         concat!(
2881             "Size of: ",
2882             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_5)
2883         )
2884     );
2885     assert_eq!(
2886         ::std::mem::align_of::<hax_tunnel__bindgen_ty_1__bindgen_ty_5>(),
2887         8usize,
2888         concat!(
2889             "Alignment of ",
2890             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_5)
2891         )
2892     );
2893     assert_eq!(
2894         unsafe {
2895             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_5>())).rip as *const _
2896                 as usize
2897         },
2898         0usize,
2899         concat!(
2900             "Offset of field: ",
2901             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_5),
2902             "::",
2903             stringify!(rip)
2904         )
2905     );
2906     assert_eq!(
2907         unsafe {
2908             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_5>())).dr6 as *const _
2909                 as usize
2910         },
2911         8usize,
2912         concat!(
2913             "Offset of field: ",
2914             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_5),
2915             "::",
2916             stringify!(dr6)
2917         )
2918     );
2919     assert_eq!(
2920         unsafe {
2921             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1__bindgen_ty_5>())).dr7 as *const _
2922                 as usize
2923         },
2924         16usize,
2925         concat!(
2926             "Offset of field: ",
2927             stringify!(hax_tunnel__bindgen_ty_1__bindgen_ty_5),
2928             "::",
2929             stringify!(dr7)
2930         )
2931     );
2932 }
2933 #[test]
bindgen_test_layout_hax_tunnel__bindgen_ty_1()2934 fn bindgen_test_layout_hax_tunnel__bindgen_ty_1() {
2935     assert_eq!(
2936         ::std::mem::size_of::<hax_tunnel__bindgen_ty_1>(),
2937         24usize,
2938         concat!("Size of: ", stringify!(hax_tunnel__bindgen_ty_1))
2939     );
2940     assert_eq!(
2941         ::std::mem::align_of::<hax_tunnel__bindgen_ty_1>(),
2942         8usize,
2943         concat!("Alignment of ", stringify!(hax_tunnel__bindgen_ty_1))
2944     );
2945     assert_eq!(
2946         unsafe { &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1>())).io as *const _ as usize },
2947         0usize,
2948         concat!(
2949             "Offset of field: ",
2950             stringify!(hax_tunnel__bindgen_ty_1),
2951             "::",
2952             stringify!(io)
2953         )
2954     );
2955     assert_eq!(
2956         unsafe { &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1>())).mmio as *const _ as usize },
2957         0usize,
2958         concat!(
2959             "Offset of field: ",
2960             stringify!(hax_tunnel__bindgen_ty_1),
2961             "::",
2962             stringify!(mmio)
2963         )
2964     );
2965     assert_eq!(
2966         unsafe {
2967             &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1>())).pagefault as *const _ as usize
2968         },
2969         0usize,
2970         concat!(
2971             "Offset of field: ",
2972             stringify!(hax_tunnel__bindgen_ty_1),
2973             "::",
2974             stringify!(pagefault)
2975         )
2976     );
2977     assert_eq!(
2978         unsafe { &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1>())).state as *const _ as usize },
2979         0usize,
2980         concat!(
2981             "Offset of field: ",
2982             stringify!(hax_tunnel__bindgen_ty_1),
2983             "::",
2984             stringify!(state)
2985         )
2986     );
2987     assert_eq!(
2988         unsafe { &(*(::std::ptr::null::<hax_tunnel__bindgen_ty_1>())).debug as *const _ as usize },
2989         0usize,
2990         concat!(
2991             "Offset of field: ",
2992             stringify!(hax_tunnel__bindgen_ty_1),
2993             "::",
2994             stringify!(debug)
2995         )
2996     );
2997 }
2998 impl Default for hax_tunnel__bindgen_ty_1 {
default() -> Self2999     fn default() -> Self {
3000         unsafe { ::std::mem::zeroed() }
3001     }
3002 }
3003 #[test]
bindgen_test_layout_hax_tunnel()3004 fn bindgen_test_layout_hax_tunnel() {
3005     assert_eq!(
3006         ::std::mem::size_of::<hax_tunnel>(),
3007         56usize,
3008         concat!("Size of: ", stringify!(hax_tunnel))
3009     );
3010     assert_eq!(
3011         ::std::mem::align_of::<hax_tunnel>(),
3012         1usize,
3013         concat!("Alignment of ", stringify!(hax_tunnel))
3014     );
3015     assert_eq!(
3016         unsafe { &(*(::std::ptr::null::<hax_tunnel>()))._exit_reason as *const _ as usize },
3017         0usize,
3018         concat!(
3019             "Offset of field: ",
3020             stringify!(hax_tunnel),
3021             "::",
3022             stringify!(_exit_reason)
3023         )
3024     );
3025     assert_eq!(
3026         unsafe { &(*(::std::ptr::null::<hax_tunnel>())).pad0 as *const _ as usize },
3027         4usize,
3028         concat!(
3029             "Offset of field: ",
3030             stringify!(hax_tunnel),
3031             "::",
3032             stringify!(pad0)
3033         )
3034     );
3035     assert_eq!(
3036         unsafe { &(*(::std::ptr::null::<hax_tunnel>()))._exit_status as *const _ as usize },
3037         8usize,
3038         concat!(
3039             "Offset of field: ",
3040             stringify!(hax_tunnel),
3041             "::",
3042             stringify!(_exit_status)
3043         )
3044     );
3045     assert_eq!(
3046         unsafe { &(*(::std::ptr::null::<hax_tunnel>())).user_event_pending as *const _ as usize },
3047         12usize,
3048         concat!(
3049             "Offset of field: ",
3050             stringify!(hax_tunnel),
3051             "::",
3052             stringify!(user_event_pending)
3053         )
3054     );
3055     assert_eq!(
3056         unsafe {
3057             &(*(::std::ptr::null::<hax_tunnel>())).ready_for_interrupt_injection as *const _
3058                 as usize
3059         },
3060         16usize,
3061         concat!(
3062             "Offset of field: ",
3063             stringify!(hax_tunnel),
3064             "::",
3065             stringify!(ready_for_interrupt_injection)
3066         )
3067     );
3068     assert_eq!(
3069         unsafe {
3070             &(*(::std::ptr::null::<hax_tunnel>())).request_interrupt_window as *const _ as usize
3071         },
3072         20usize,
3073         concat!(
3074             "Offset of field: ",
3075             stringify!(hax_tunnel),
3076             "::",
3077             stringify!(request_interrupt_window)
3078         )
3079     );
3080     assert_eq!(
3081         unsafe { &(*(::std::ptr::null::<hax_tunnel>())).apic_base as *const _ as usize },
3082         48usize,
3083         concat!(
3084             "Offset of field: ",
3085             stringify!(hax_tunnel),
3086             "::",
3087             stringify!(apic_base)
3088         )
3089     );
3090 }
3091 impl Default for hax_tunnel {
default() -> Self3092     fn default() -> Self {
3093         unsafe { ::std::mem::zeroed() }
3094     }
3095 }
3096 #[repr(C, packed)]
3097 #[derive(Copy, Clone)]
3098 pub struct hax_fastmmio {
3099     pub gpa: hax_paddr_t,
3100     pub __bindgen_anon_1: hax_fastmmio__bindgen_ty_1,
3101     pub size: u8,
3102     pub direction: u8,
3103     pub reg_index: u16,
3104     pub pad0: u32,
3105     pub _cr0: u64,
3106     pub _cr2: u64,
3107     pub _cr3: u64,
3108     pub _cr4: u64,
3109 }
3110 #[repr(C)]
3111 #[derive(Copy, Clone)]
3112 pub union hax_fastmmio__bindgen_ty_1 {
3113     pub value: u64,
3114     pub gpa2: hax_paddr_t,
3115     _bindgen_union_align: u64,
3116 }
3117 #[test]
bindgen_test_layout_hax_fastmmio__bindgen_ty_1()3118 fn bindgen_test_layout_hax_fastmmio__bindgen_ty_1() {
3119     assert_eq!(
3120         ::std::mem::size_of::<hax_fastmmio__bindgen_ty_1>(),
3121         8usize,
3122         concat!("Size of: ", stringify!(hax_fastmmio__bindgen_ty_1))
3123     );
3124     assert_eq!(
3125         ::std::mem::align_of::<hax_fastmmio__bindgen_ty_1>(),
3126         8usize,
3127         concat!("Alignment of ", stringify!(hax_fastmmio__bindgen_ty_1))
3128     );
3129     assert_eq!(
3130         unsafe {
3131             &(*(::std::ptr::null::<hax_fastmmio__bindgen_ty_1>())).value as *const _ as usize
3132         },
3133         0usize,
3134         concat!(
3135             "Offset of field: ",
3136             stringify!(hax_fastmmio__bindgen_ty_1),
3137             "::",
3138             stringify!(value)
3139         )
3140     );
3141     assert_eq!(
3142         unsafe { &(*(::std::ptr::null::<hax_fastmmio__bindgen_ty_1>())).gpa2 as *const _ as usize },
3143         0usize,
3144         concat!(
3145             "Offset of field: ",
3146             stringify!(hax_fastmmio__bindgen_ty_1),
3147             "::",
3148             stringify!(gpa2)
3149         )
3150     );
3151 }
3152 impl Default for hax_fastmmio__bindgen_ty_1 {
default() -> Self3153     fn default() -> Self {
3154         unsafe { ::std::mem::zeroed() }
3155     }
3156 }
3157 #[test]
bindgen_test_layout_hax_fastmmio()3158 fn bindgen_test_layout_hax_fastmmio() {
3159     assert_eq!(
3160         ::std::mem::size_of::<hax_fastmmio>(),
3161         56usize,
3162         concat!("Size of: ", stringify!(hax_fastmmio))
3163     );
3164     assert_eq!(
3165         ::std::mem::align_of::<hax_fastmmio>(),
3166         1usize,
3167         concat!("Alignment of ", stringify!(hax_fastmmio))
3168     );
3169     assert_eq!(
3170         unsafe { &(*(::std::ptr::null::<hax_fastmmio>())).gpa as *const _ as usize },
3171         0usize,
3172         concat!(
3173             "Offset of field: ",
3174             stringify!(hax_fastmmio),
3175             "::",
3176             stringify!(gpa)
3177         )
3178     );
3179     assert_eq!(
3180         unsafe { &(*(::std::ptr::null::<hax_fastmmio>())).size as *const _ as usize },
3181         16usize,
3182         concat!(
3183             "Offset of field: ",
3184             stringify!(hax_fastmmio),
3185             "::",
3186             stringify!(size)
3187         )
3188     );
3189     assert_eq!(
3190         unsafe { &(*(::std::ptr::null::<hax_fastmmio>())).direction as *const _ as usize },
3191         17usize,
3192         concat!(
3193             "Offset of field: ",
3194             stringify!(hax_fastmmio),
3195             "::",
3196             stringify!(direction)
3197         )
3198     );
3199     assert_eq!(
3200         unsafe { &(*(::std::ptr::null::<hax_fastmmio>())).reg_index as *const _ as usize },
3201         18usize,
3202         concat!(
3203             "Offset of field: ",
3204             stringify!(hax_fastmmio),
3205             "::",
3206             stringify!(reg_index)
3207         )
3208     );
3209     assert_eq!(
3210         unsafe { &(*(::std::ptr::null::<hax_fastmmio>())).pad0 as *const _ as usize },
3211         20usize,
3212         concat!(
3213             "Offset of field: ",
3214             stringify!(hax_fastmmio),
3215             "::",
3216             stringify!(pad0)
3217         )
3218     );
3219     assert_eq!(
3220         unsafe { &(*(::std::ptr::null::<hax_fastmmio>()))._cr0 as *const _ as usize },
3221         24usize,
3222         concat!(
3223             "Offset of field: ",
3224             stringify!(hax_fastmmio),
3225             "::",
3226             stringify!(_cr0)
3227         )
3228     );
3229     assert_eq!(
3230         unsafe { &(*(::std::ptr::null::<hax_fastmmio>()))._cr2 as *const _ as usize },
3231         32usize,
3232         concat!(
3233             "Offset of field: ",
3234             stringify!(hax_fastmmio),
3235             "::",
3236             stringify!(_cr2)
3237         )
3238     );
3239     assert_eq!(
3240         unsafe { &(*(::std::ptr::null::<hax_fastmmio>()))._cr3 as *const _ as usize },
3241         40usize,
3242         concat!(
3243             "Offset of field: ",
3244             stringify!(hax_fastmmio),
3245             "::",
3246             stringify!(_cr3)
3247         )
3248     );
3249     assert_eq!(
3250         unsafe { &(*(::std::ptr::null::<hax_fastmmio>()))._cr4 as *const _ as usize },
3251         48usize,
3252         concat!(
3253             "Offset of field: ",
3254             stringify!(hax_fastmmio),
3255             "::",
3256             stringify!(_cr4)
3257         )
3258     );
3259 }
3260 impl Default for hax_fastmmio {
default() -> Self3261     fn default() -> Self {
3262         unsafe { ::std::mem::zeroed() }
3263     }
3264 }
3265 #[repr(C, packed)]
3266 #[derive(Debug, Default, Copy, Clone)]
3267 pub struct hax_module_version {
3268     pub compat_version: u32,
3269     pub cur_version: u32,
3270 }
3271 #[test]
bindgen_test_layout_hax_module_version()3272 fn bindgen_test_layout_hax_module_version() {
3273     assert_eq!(
3274         ::std::mem::size_of::<hax_module_version>(),
3275         8usize,
3276         concat!("Size of: ", stringify!(hax_module_version))
3277     );
3278     assert_eq!(
3279         ::std::mem::align_of::<hax_module_version>(),
3280         1usize,
3281         concat!("Alignment of ", stringify!(hax_module_version))
3282     );
3283     assert_eq!(
3284         unsafe {
3285             &(*(::std::ptr::null::<hax_module_version>())).compat_version as *const _ as usize
3286         },
3287         0usize,
3288         concat!(
3289             "Offset of field: ",
3290             stringify!(hax_module_version),
3291             "::",
3292             stringify!(compat_version)
3293         )
3294     );
3295     assert_eq!(
3296         unsafe { &(*(::std::ptr::null::<hax_module_version>())).cur_version as *const _ as usize },
3297         4usize,
3298         concat!(
3299             "Offset of field: ",
3300             stringify!(hax_module_version),
3301             "::",
3302             stringify!(cur_version)
3303         )
3304     );
3305 }
3306 #[repr(C, packed)]
3307 #[derive(Debug, Default, Copy, Clone)]
3308 pub struct hax_capabilityinfo {
3309     pub wstatus: u16,
3310     pub winfo: u16,
3311     pub win_refcount: u32,
3312     pub mem_quota: u64,
3313 }
3314 #[test]
bindgen_test_layout_hax_capabilityinfo()3315 fn bindgen_test_layout_hax_capabilityinfo() {
3316     assert_eq!(
3317         ::std::mem::size_of::<hax_capabilityinfo>(),
3318         16usize,
3319         concat!("Size of: ", stringify!(hax_capabilityinfo))
3320     );
3321     assert_eq!(
3322         ::std::mem::align_of::<hax_capabilityinfo>(),
3323         1usize,
3324         concat!("Alignment of ", stringify!(hax_capabilityinfo))
3325     );
3326     assert_eq!(
3327         unsafe { &(*(::std::ptr::null::<hax_capabilityinfo>())).wstatus as *const _ as usize },
3328         0usize,
3329         concat!(
3330             "Offset of field: ",
3331             stringify!(hax_capabilityinfo),
3332             "::",
3333             stringify!(wstatus)
3334         )
3335     );
3336     assert_eq!(
3337         unsafe { &(*(::std::ptr::null::<hax_capabilityinfo>())).winfo as *const _ as usize },
3338         2usize,
3339         concat!(
3340             "Offset of field: ",
3341             stringify!(hax_capabilityinfo),
3342             "::",
3343             stringify!(winfo)
3344         )
3345     );
3346     assert_eq!(
3347         unsafe { &(*(::std::ptr::null::<hax_capabilityinfo>())).win_refcount as *const _ as usize },
3348         4usize,
3349         concat!(
3350             "Offset of field: ",
3351             stringify!(hax_capabilityinfo),
3352             "::",
3353             stringify!(win_refcount)
3354         )
3355     );
3356     assert_eq!(
3357         unsafe { &(*(::std::ptr::null::<hax_capabilityinfo>())).mem_quota as *const _ as usize },
3358         8usize,
3359         concat!(
3360             "Offset of field: ",
3361             stringify!(hax_capabilityinfo),
3362             "::",
3363             stringify!(mem_quota)
3364         )
3365     );
3366 }
3367 #[repr(C, packed)]
3368 #[derive(Debug, Default, Copy, Clone)]
3369 pub struct hax_tunnel_info {
3370     pub va: u64,
3371     pub io_va: u64,
3372     pub size: u16,
3373     pub pad: [u16; 3usize],
3374 }
3375 #[test]
bindgen_test_layout_hax_tunnel_info()3376 fn bindgen_test_layout_hax_tunnel_info() {
3377     assert_eq!(
3378         ::std::mem::size_of::<hax_tunnel_info>(),
3379         24usize,
3380         concat!("Size of: ", stringify!(hax_tunnel_info))
3381     );
3382     assert_eq!(
3383         ::std::mem::align_of::<hax_tunnel_info>(),
3384         1usize,
3385         concat!("Alignment of ", stringify!(hax_tunnel_info))
3386     );
3387     assert_eq!(
3388         unsafe { &(*(::std::ptr::null::<hax_tunnel_info>())).va as *const _ as usize },
3389         0usize,
3390         concat!(
3391             "Offset of field: ",
3392             stringify!(hax_tunnel_info),
3393             "::",
3394             stringify!(va)
3395         )
3396     );
3397     assert_eq!(
3398         unsafe { &(*(::std::ptr::null::<hax_tunnel_info>())).io_va as *const _ as usize },
3399         8usize,
3400         concat!(
3401             "Offset of field: ",
3402             stringify!(hax_tunnel_info),
3403             "::",
3404             stringify!(io_va)
3405         )
3406     );
3407     assert_eq!(
3408         unsafe { &(*(::std::ptr::null::<hax_tunnel_info>())).size as *const _ as usize },
3409         16usize,
3410         concat!(
3411             "Offset of field: ",
3412             stringify!(hax_tunnel_info),
3413             "::",
3414             stringify!(size)
3415         )
3416     );
3417     assert_eq!(
3418         unsafe { &(*(::std::ptr::null::<hax_tunnel_info>())).pad as *const _ as usize },
3419         18usize,
3420         concat!(
3421             "Offset of field: ",
3422             stringify!(hax_tunnel_info),
3423             "::",
3424             stringify!(pad)
3425         )
3426     );
3427 }
3428 #[repr(C, packed)]
3429 #[derive(Debug, Default, Copy, Clone)]
3430 pub struct hax_set_memlimit {
3431     pub enable_memlimit: u8,
3432     pub pad: [u8; 7usize],
3433     pub memory_limit: u64,
3434 }
3435 #[test]
bindgen_test_layout_hax_set_memlimit()3436 fn bindgen_test_layout_hax_set_memlimit() {
3437     assert_eq!(
3438         ::std::mem::size_of::<hax_set_memlimit>(),
3439         16usize,
3440         concat!("Size of: ", stringify!(hax_set_memlimit))
3441     );
3442     assert_eq!(
3443         ::std::mem::align_of::<hax_set_memlimit>(),
3444         1usize,
3445         concat!("Alignment of ", stringify!(hax_set_memlimit))
3446     );
3447     assert_eq!(
3448         unsafe {
3449             &(*(::std::ptr::null::<hax_set_memlimit>())).enable_memlimit as *const _ as usize
3450         },
3451         0usize,
3452         concat!(
3453             "Offset of field: ",
3454             stringify!(hax_set_memlimit),
3455             "::",
3456             stringify!(enable_memlimit)
3457         )
3458     );
3459     assert_eq!(
3460         unsafe { &(*(::std::ptr::null::<hax_set_memlimit>())).pad as *const _ as usize },
3461         1usize,
3462         concat!(
3463             "Offset of field: ",
3464             stringify!(hax_set_memlimit),
3465             "::",
3466             stringify!(pad)
3467         )
3468     );
3469     assert_eq!(
3470         unsafe { &(*(::std::ptr::null::<hax_set_memlimit>())).memory_limit as *const _ as usize },
3471         8usize,
3472         concat!(
3473             "Offset of field: ",
3474             stringify!(hax_set_memlimit),
3475             "::",
3476             stringify!(memory_limit)
3477         )
3478     );
3479 }
3480 #[repr(C, packed)]
3481 #[derive(Debug, Default, Copy, Clone)]
3482 pub struct hax_alloc_ram_info {
3483     pub size: u32,
3484     pub pad: u32,
3485     pub va: u64,
3486 }
3487 #[test]
bindgen_test_layout_hax_alloc_ram_info()3488 fn bindgen_test_layout_hax_alloc_ram_info() {
3489     assert_eq!(
3490         ::std::mem::size_of::<hax_alloc_ram_info>(),
3491         16usize,
3492         concat!("Size of: ", stringify!(hax_alloc_ram_info))
3493     );
3494     assert_eq!(
3495         ::std::mem::align_of::<hax_alloc_ram_info>(),
3496         1usize,
3497         concat!("Alignment of ", stringify!(hax_alloc_ram_info))
3498     );
3499     assert_eq!(
3500         unsafe { &(*(::std::ptr::null::<hax_alloc_ram_info>())).size as *const _ as usize },
3501         0usize,
3502         concat!(
3503             "Offset of field: ",
3504             stringify!(hax_alloc_ram_info),
3505             "::",
3506             stringify!(size)
3507         )
3508     );
3509     assert_eq!(
3510         unsafe { &(*(::std::ptr::null::<hax_alloc_ram_info>())).pad as *const _ as usize },
3511         4usize,
3512         concat!(
3513             "Offset of field: ",
3514             stringify!(hax_alloc_ram_info),
3515             "::",
3516             stringify!(pad)
3517         )
3518     );
3519     assert_eq!(
3520         unsafe { &(*(::std::ptr::null::<hax_alloc_ram_info>())).va as *const _ as usize },
3521         8usize,
3522         concat!(
3523             "Offset of field: ",
3524             stringify!(hax_alloc_ram_info),
3525             "::",
3526             stringify!(va)
3527         )
3528     );
3529 }
3530 #[repr(C, packed)]
3531 #[derive(Debug, Default, Copy, Clone)]
3532 pub struct hax_ramblock_info {
3533     pub start_va: u64,
3534     pub size: u64,
3535     pub reserved: u64,
3536 }
3537 #[test]
bindgen_test_layout_hax_ramblock_info()3538 fn bindgen_test_layout_hax_ramblock_info() {
3539     assert_eq!(
3540         ::std::mem::size_of::<hax_ramblock_info>(),
3541         24usize,
3542         concat!("Size of: ", stringify!(hax_ramblock_info))
3543     );
3544     assert_eq!(
3545         ::std::mem::align_of::<hax_ramblock_info>(),
3546         1usize,
3547         concat!("Alignment of ", stringify!(hax_ramblock_info))
3548     );
3549     assert_eq!(
3550         unsafe { &(*(::std::ptr::null::<hax_ramblock_info>())).start_va as *const _ as usize },
3551         0usize,
3552         concat!(
3553             "Offset of field: ",
3554             stringify!(hax_ramblock_info),
3555             "::",
3556             stringify!(start_va)
3557         )
3558     );
3559     assert_eq!(
3560         unsafe { &(*(::std::ptr::null::<hax_ramblock_info>())).size as *const _ as usize },
3561         8usize,
3562         concat!(
3563             "Offset of field: ",
3564             stringify!(hax_ramblock_info),
3565             "::",
3566             stringify!(size)
3567         )
3568     );
3569     assert_eq!(
3570         unsafe { &(*(::std::ptr::null::<hax_ramblock_info>())).reserved as *const _ as usize },
3571         16usize,
3572         concat!(
3573             "Offset of field: ",
3574             stringify!(hax_ramblock_info),
3575             "::",
3576             stringify!(reserved)
3577         )
3578     );
3579 }
3580 #[repr(C, packed)]
3581 #[derive(Debug, Default, Copy, Clone)]
3582 pub struct hax_set_ram_info {
3583     pub pa_start: u64,
3584     pub size: u32,
3585     pub flags: u8,
3586     pub pad: [u8; 3usize],
3587     pub va: u64,
3588 }
3589 #[test]
bindgen_test_layout_hax_set_ram_info()3590 fn bindgen_test_layout_hax_set_ram_info() {
3591     assert_eq!(
3592         ::std::mem::size_of::<hax_set_ram_info>(),
3593         24usize,
3594         concat!("Size of: ", stringify!(hax_set_ram_info))
3595     );
3596     assert_eq!(
3597         ::std::mem::align_of::<hax_set_ram_info>(),
3598         1usize,
3599         concat!("Alignment of ", stringify!(hax_set_ram_info))
3600     );
3601     assert_eq!(
3602         unsafe { &(*(::std::ptr::null::<hax_set_ram_info>())).pa_start as *const _ as usize },
3603         0usize,
3604         concat!(
3605             "Offset of field: ",
3606             stringify!(hax_set_ram_info),
3607             "::",
3608             stringify!(pa_start)
3609         )
3610     );
3611     assert_eq!(
3612         unsafe { &(*(::std::ptr::null::<hax_set_ram_info>())).size as *const _ as usize },
3613         8usize,
3614         concat!(
3615             "Offset of field: ",
3616             stringify!(hax_set_ram_info),
3617             "::",
3618             stringify!(size)
3619         )
3620     );
3621     assert_eq!(
3622         unsafe { &(*(::std::ptr::null::<hax_set_ram_info>())).flags as *const _ as usize },
3623         12usize,
3624         concat!(
3625             "Offset of field: ",
3626             stringify!(hax_set_ram_info),
3627             "::",
3628             stringify!(flags)
3629         )
3630     );
3631     assert_eq!(
3632         unsafe { &(*(::std::ptr::null::<hax_set_ram_info>())).pad as *const _ as usize },
3633         13usize,
3634         concat!(
3635             "Offset of field: ",
3636             stringify!(hax_set_ram_info),
3637             "::",
3638             stringify!(pad)
3639         )
3640     );
3641     assert_eq!(
3642         unsafe { &(*(::std::ptr::null::<hax_set_ram_info>())).va as *const _ as usize },
3643         16usize,
3644         concat!(
3645             "Offset of field: ",
3646             stringify!(hax_set_ram_info),
3647             "::",
3648             stringify!(va)
3649         )
3650     );
3651 }
3652 #[repr(C, packed)]
3653 #[derive(Debug, Default, Copy, Clone)]
3654 pub struct hax_set_ram_info2 {
3655     pub pa_start: u64,
3656     pub size: u64,
3657     pub va: u64,
3658     pub flags: u32,
3659     pub reserved1: u32,
3660     pub reserved2: u64,
3661 }
3662 #[test]
bindgen_test_layout_hax_set_ram_info2()3663 fn bindgen_test_layout_hax_set_ram_info2() {
3664     assert_eq!(
3665         ::std::mem::size_of::<hax_set_ram_info2>(),
3666         40usize,
3667         concat!("Size of: ", stringify!(hax_set_ram_info2))
3668     );
3669     assert_eq!(
3670         ::std::mem::align_of::<hax_set_ram_info2>(),
3671         1usize,
3672         concat!("Alignment of ", stringify!(hax_set_ram_info2))
3673     );
3674     assert_eq!(
3675         unsafe { &(*(::std::ptr::null::<hax_set_ram_info2>())).pa_start as *const _ as usize },
3676         0usize,
3677         concat!(
3678             "Offset of field: ",
3679             stringify!(hax_set_ram_info2),
3680             "::",
3681             stringify!(pa_start)
3682         )
3683     );
3684     assert_eq!(
3685         unsafe { &(*(::std::ptr::null::<hax_set_ram_info2>())).size as *const _ as usize },
3686         8usize,
3687         concat!(
3688             "Offset of field: ",
3689             stringify!(hax_set_ram_info2),
3690             "::",
3691             stringify!(size)
3692         )
3693     );
3694     assert_eq!(
3695         unsafe { &(*(::std::ptr::null::<hax_set_ram_info2>())).va as *const _ as usize },
3696         16usize,
3697         concat!(
3698             "Offset of field: ",
3699             stringify!(hax_set_ram_info2),
3700             "::",
3701             stringify!(va)
3702         )
3703     );
3704     assert_eq!(
3705         unsafe { &(*(::std::ptr::null::<hax_set_ram_info2>())).flags as *const _ as usize },
3706         24usize,
3707         concat!(
3708             "Offset of field: ",
3709             stringify!(hax_set_ram_info2),
3710             "::",
3711             stringify!(flags)
3712         )
3713     );
3714     assert_eq!(
3715         unsafe { &(*(::std::ptr::null::<hax_set_ram_info2>())).reserved1 as *const _ as usize },
3716         28usize,
3717         concat!(
3718             "Offset of field: ",
3719             stringify!(hax_set_ram_info2),
3720             "::",
3721             stringify!(reserved1)
3722         )
3723     );
3724     assert_eq!(
3725         unsafe { &(*(::std::ptr::null::<hax_set_ram_info2>())).reserved2 as *const _ as usize },
3726         32usize,
3727         concat!(
3728             "Offset of field: ",
3729             stringify!(hax_set_ram_info2),
3730             "::",
3731             stringify!(reserved2)
3732         )
3733     );
3734 }
3735 #[repr(C, packed)]
3736 #[derive(Debug, Default, Copy, Clone)]
3737 pub struct hax_protect_ram_info {
3738     pub pa_start: u64,
3739     pub size: u64,
3740     pub flags: u32,
3741     pub reserved: u32,
3742 }
3743 #[test]
bindgen_test_layout_hax_protect_ram_info()3744 fn bindgen_test_layout_hax_protect_ram_info() {
3745     assert_eq!(
3746         ::std::mem::size_of::<hax_protect_ram_info>(),
3747         24usize,
3748         concat!("Size of: ", stringify!(hax_protect_ram_info))
3749     );
3750     assert_eq!(
3751         ::std::mem::align_of::<hax_protect_ram_info>(),
3752         1usize,
3753         concat!("Alignment of ", stringify!(hax_protect_ram_info))
3754     );
3755     assert_eq!(
3756         unsafe { &(*(::std::ptr::null::<hax_protect_ram_info>())).pa_start as *const _ as usize },
3757         0usize,
3758         concat!(
3759             "Offset of field: ",
3760             stringify!(hax_protect_ram_info),
3761             "::",
3762             stringify!(pa_start)
3763         )
3764     );
3765     assert_eq!(
3766         unsafe { &(*(::std::ptr::null::<hax_protect_ram_info>())).size as *const _ as usize },
3767         8usize,
3768         concat!(
3769             "Offset of field: ",
3770             stringify!(hax_protect_ram_info),
3771             "::",
3772             stringify!(size)
3773         )
3774     );
3775     assert_eq!(
3776         unsafe { &(*(::std::ptr::null::<hax_protect_ram_info>())).flags as *const _ as usize },
3777         16usize,
3778         concat!(
3779             "Offset of field: ",
3780             stringify!(hax_protect_ram_info),
3781             "::",
3782             stringify!(flags)
3783         )
3784     );
3785     assert_eq!(
3786         unsafe { &(*(::std::ptr::null::<hax_protect_ram_info>())).reserved as *const _ as usize },
3787         20usize,
3788         concat!(
3789             "Offset of field: ",
3790             stringify!(hax_protect_ram_info),
3791             "::",
3792             stringify!(reserved)
3793         )
3794     );
3795 }
3796 #[repr(C, packed)]
3797 #[derive(Debug, Default, Copy, Clone)]
3798 pub struct hax_qemu_version {
3799     pub cur_version: u32,
3800     pub least_version: u32,
3801 }
3802 #[test]
bindgen_test_layout_hax_qemu_version()3803 fn bindgen_test_layout_hax_qemu_version() {
3804     assert_eq!(
3805         ::std::mem::size_of::<hax_qemu_version>(),
3806         8usize,
3807         concat!("Size of: ", stringify!(hax_qemu_version))
3808     );
3809     assert_eq!(
3810         ::std::mem::align_of::<hax_qemu_version>(),
3811         1usize,
3812         concat!("Alignment of ", stringify!(hax_qemu_version))
3813     );
3814     assert_eq!(
3815         unsafe { &(*(::std::ptr::null::<hax_qemu_version>())).cur_version as *const _ as usize },
3816         0usize,
3817         concat!(
3818             "Offset of field: ",
3819             stringify!(hax_qemu_version),
3820             "::",
3821             stringify!(cur_version)
3822         )
3823     );
3824     assert_eq!(
3825         unsafe { &(*(::std::ptr::null::<hax_qemu_version>())).least_version as *const _ as usize },
3826         4usize,
3827         concat!(
3828             "Offset of field: ",
3829             stringify!(hax_qemu_version),
3830             "::",
3831             stringify!(least_version)
3832         )
3833     );
3834 }
3835 #[repr(C, packed)]
3836 #[derive(Debug, Default, Copy, Clone)]
3837 pub struct hax_debug_t {
3838     pub control: u32,
3839     pub reserved: u32,
3840     pub dr: [u64; 8usize],
3841 }
3842 #[test]
bindgen_test_layout_hax_debug_t()3843 fn bindgen_test_layout_hax_debug_t() {
3844     assert_eq!(
3845         ::std::mem::size_of::<hax_debug_t>(),
3846         72usize,
3847         concat!("Size of: ", stringify!(hax_debug_t))
3848     );
3849     assert_eq!(
3850         ::std::mem::align_of::<hax_debug_t>(),
3851         1usize,
3852         concat!("Alignment of ", stringify!(hax_debug_t))
3853     );
3854     assert_eq!(
3855         unsafe { &(*(::std::ptr::null::<hax_debug_t>())).control as *const _ as usize },
3856         0usize,
3857         concat!(
3858             "Offset of field: ",
3859             stringify!(hax_debug_t),
3860             "::",
3861             stringify!(control)
3862         )
3863     );
3864     assert_eq!(
3865         unsafe { &(*(::std::ptr::null::<hax_debug_t>())).reserved as *const _ as usize },
3866         4usize,
3867         concat!(
3868             "Offset of field: ",
3869             stringify!(hax_debug_t),
3870             "::",
3871             stringify!(reserved)
3872         )
3873     );
3874     assert_eq!(
3875         unsafe { &(*(::std::ptr::null::<hax_debug_t>())).dr as *const _ as usize },
3876         8usize,
3877         concat!(
3878             "Offset of field: ",
3879             stringify!(hax_debug_t),
3880             "::",
3881             stringify!(dr)
3882         )
3883     );
3884 }
3885 #[repr(C)]
3886 #[derive(Debug, Default, Copy, Clone)]
3887 pub struct hax_cpuid_entry {
3888     pub function: u32,
3889     pub index: u32,
3890     pub flags: u32,
3891     pub eax: u32,
3892     pub ebx: u32,
3893     pub ecx: u32,
3894     pub edx: u32,
3895     pub pad: [u32; 3usize],
3896 }
3897 #[test]
bindgen_test_layout_hax_cpuid_entry()3898 fn bindgen_test_layout_hax_cpuid_entry() {
3899     assert_eq!(
3900         ::std::mem::size_of::<hax_cpuid_entry>(),
3901         40usize,
3902         concat!("Size of: ", stringify!(hax_cpuid_entry))
3903     );
3904     assert_eq!(
3905         ::std::mem::align_of::<hax_cpuid_entry>(),
3906         4usize,
3907         concat!("Alignment of ", stringify!(hax_cpuid_entry))
3908     );
3909     assert_eq!(
3910         unsafe { &(*(::std::ptr::null::<hax_cpuid_entry>())).function as *const _ as usize },
3911         0usize,
3912         concat!(
3913             "Offset of field: ",
3914             stringify!(hax_cpuid_entry),
3915             "::",
3916             stringify!(function)
3917         )
3918     );
3919     assert_eq!(
3920         unsafe { &(*(::std::ptr::null::<hax_cpuid_entry>())).index as *const _ as usize },
3921         4usize,
3922         concat!(
3923             "Offset of field: ",
3924             stringify!(hax_cpuid_entry),
3925             "::",
3926             stringify!(index)
3927         )
3928     );
3929     assert_eq!(
3930         unsafe { &(*(::std::ptr::null::<hax_cpuid_entry>())).flags as *const _ as usize },
3931         8usize,
3932         concat!(
3933             "Offset of field: ",
3934             stringify!(hax_cpuid_entry),
3935             "::",
3936             stringify!(flags)
3937         )
3938     );
3939     assert_eq!(
3940         unsafe { &(*(::std::ptr::null::<hax_cpuid_entry>())).eax as *const _ as usize },
3941         12usize,
3942         concat!(
3943             "Offset of field: ",
3944             stringify!(hax_cpuid_entry),
3945             "::",
3946             stringify!(eax)
3947         )
3948     );
3949     assert_eq!(
3950         unsafe { &(*(::std::ptr::null::<hax_cpuid_entry>())).ebx as *const _ as usize },
3951         16usize,
3952         concat!(
3953             "Offset of field: ",
3954             stringify!(hax_cpuid_entry),
3955             "::",
3956             stringify!(ebx)
3957         )
3958     );
3959     assert_eq!(
3960         unsafe { &(*(::std::ptr::null::<hax_cpuid_entry>())).ecx as *const _ as usize },
3961         20usize,
3962         concat!(
3963             "Offset of field: ",
3964             stringify!(hax_cpuid_entry),
3965             "::",
3966             stringify!(ecx)
3967         )
3968     );
3969     assert_eq!(
3970         unsafe { &(*(::std::ptr::null::<hax_cpuid_entry>())).edx as *const _ as usize },
3971         24usize,
3972         concat!(
3973             "Offset of field: ",
3974             stringify!(hax_cpuid_entry),
3975             "::",
3976             stringify!(edx)
3977         )
3978     );
3979     assert_eq!(
3980         unsafe { &(*(::std::ptr::null::<hax_cpuid_entry>())).pad as *const _ as usize },
3981         28usize,
3982         concat!(
3983             "Offset of field: ",
3984             stringify!(hax_cpuid_entry),
3985             "::",
3986             stringify!(pad)
3987         )
3988     );
3989 }
3990 #[repr(C)]
3991 #[derive(Debug, Default)]
3992 pub struct hax_cpuid {
3993     pub total: u32,
3994     pub pad: u32,
3995     pub entries: __IncompleteArrayField<hax_cpuid_entry>,
3996 }
3997 #[test]
bindgen_test_layout_hax_cpuid()3998 fn bindgen_test_layout_hax_cpuid() {
3999     assert_eq!(
4000         ::std::mem::size_of::<hax_cpuid>(),
4001         8usize,
4002         concat!("Size of: ", stringify!(hax_cpuid))
4003     );
4004     assert_eq!(
4005         ::std::mem::align_of::<hax_cpuid>(),
4006         4usize,
4007         concat!("Alignment of ", stringify!(hax_cpuid))
4008     );
4009     assert_eq!(
4010         unsafe { &(*(::std::ptr::null::<hax_cpuid>())).total as *const _ as usize },
4011         0usize,
4012         concat!(
4013             "Offset of field: ",
4014             stringify!(hax_cpuid),
4015             "::",
4016             stringify!(total)
4017         )
4018     );
4019     assert_eq!(
4020         unsafe { &(*(::std::ptr::null::<hax_cpuid>())).pad as *const _ as usize },
4021         4usize,
4022         concat!(
4023             "Offset of field: ",
4024             stringify!(hax_cpuid),
4025             "::",
4026             stringify!(pad)
4027         )
4028     );
4029     assert_eq!(
4030         unsafe { &(*(::std::ptr::null::<hax_cpuid>())).entries as *const _ as usize },
4031         8usize,
4032         concat!(
4033             "Offset of field: ",
4034             stringify!(hax_cpuid),
4035             "::",
4036             stringify!(entries)
4037         )
4038     );
4039 }
4040 #[repr(C)]
4041 #[derive(Copy, Clone)]
4042 pub struct hax_log_file {
4043     pub path: [wchar_t; 2048usize],
4044 }
4045 #[test]
bindgen_test_layout_hax_log_file()4046 fn bindgen_test_layout_hax_log_file() {
4047     assert_eq!(
4048         ::std::mem::size_of::<hax_log_file>(),
4049         4096usize,
4050         concat!("Size of: ", stringify!(hax_log_file))
4051     );
4052     assert_eq!(
4053         ::std::mem::align_of::<hax_log_file>(),
4054         2usize,
4055         concat!("Alignment of ", stringify!(hax_log_file))
4056     );
4057     assert_eq!(
4058         unsafe { &(*(::std::ptr::null::<hax_log_file>())).path as *const _ as usize },
4059         0usize,
4060         concat!(
4061             "Offset of field: ",
4062             stringify!(hax_log_file),
4063             "::",
4064             stringify!(path)
4065         )
4066     );
4067 }
4068 impl Default for hax_log_file {
default() -> Self4069     fn default() -> Self {
4070         unsafe { ::std::mem::zeroed() }
4071     }
4072 }
4073