diff options
Diffstat (limited to 'kvm_sys/src/x86/bindings.rs')
-rw-r--r-- | kvm_sys/src/x86/bindings.rs | 11408 |
1 files changed, 7444 insertions, 3964 deletions
diff --git a/kvm_sys/src/x86/bindings.rs b/kvm_sys/src/x86/bindings.rs index 6c3b336..fa21578 100644 --- a/kvm_sys/src/x86/bindings.rs +++ b/kvm_sys/src/x86/bindings.rs @@ -1,15 +1,96 @@ /* automatically generated by rust-bindgen */ #[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit<Storage, Align> +where + Storage: AsRef<[u8]> + AsMut<[u8]>, +{ + storage: Storage, + align: [Align; 0], +} + +impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> +where + Storage: AsRef<[u8]> + AsMut<[u8]>, +{ + #[inline] + pub fn new(storage: Storage) -> Self { + Self { storage, align: [] } + } + + #[inline] + pub fn get_bit(&self, index: usize) -> bool { + debug_assert!(index / 8 < self.storage.as_ref().len()); + + let byte_index = index / 8; + let byte = self.storage.as_ref()[byte_index]; + + let bit_index = index % 8; + let mask = 1 << bit_index; + + byte & mask == mask + } + + #[inline] + pub fn set_bit(&mut self, index: usize, val: bool) { + debug_assert!(index / 8 < self.storage.as_ref().len()); + + let byte_index = index / 8; + let byte = &mut self.storage.as_mut()[byte_index]; + + let bit_index = index % 8; + let mask = 1 << bit_index; + + if val { + *byte |= mask; + } else { + *byte &= !mask; + } + } + + #[inline] + pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); + + let mut val = 0; + + for i in 0..(bit_width as usize) { + if self.get_bit(i + bit_offset) { + val |= 1 << i; + } + } + + val + } + + #[inline] + pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); + + for i in 0..(bit_width as usize) { + let mask = 1 << i; + let val_bit_is_set = val & mask == mask; + self.set_bit(i + bit_offset, val_bit_is_set); + } + } +} +#[repr(C)] #[derive(Default)] pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>); -impl <T> __IncompleteArrayField<T> { +impl<T> __IncompleteArrayField<T> { #[inline] pub fn new() -> Self { __IncompleteArrayField(::std::marker::PhantomData) } #[inline] - pub unsafe fn as_ptr(&self) -> *const T { ::std::mem::transmute(self) } + pub unsafe fn as_ptr(&self) -> *const T { + ::std::mem::transmute(self) + } #[inline] pub unsafe fn as_mut_ptr(&mut self) -> *mut T { ::std::mem::transmute(self) @@ -23,40 +104,18 @@ impl <T> __IncompleteArrayField<T> { ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } } -impl <T> ::std::fmt::Debug for __IncompleteArrayField<T> { +impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> { fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { fmt.write_str("__IncompleteArrayField") } } -impl <T> ::std::clone::Clone for __IncompleteArrayField<T> { - #[inline] - fn clone(&self) -> Self { Self::new() } -} -impl <T> ::std::marker::Copy for __IncompleteArrayField<T> { } -#[repr(C)] -pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>); -impl <T> __BindgenUnionField<T> { - #[inline] - pub fn new() -> Self { __BindgenUnionField(::std::marker::PhantomData) } - #[inline] - pub unsafe fn as_ref(&self) -> &T { ::std::mem::transmute(self) } - #[inline] - pub unsafe fn as_mut(&mut self) -> &mut T { ::std::mem::transmute(self) } -} -impl <T> ::std::default::Default for __BindgenUnionField<T> { - #[inline] - fn default() -> Self { Self::new() } -} -impl <T> ::std::clone::Clone for __BindgenUnionField<T> { +impl<T> ::std::clone::Clone for __IncompleteArrayField<T> { #[inline] - fn clone(&self) -> Self { Self::new() } -} -impl <T> ::std::marker::Copy for __BindgenUnionField<T> { } -impl <T> ::std::fmt::Debug for __BindgenUnionField<T> { - fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { - fmt.write_str("__BindgenUnionField") + fn clone(&self) -> Self { + Self::new() } } +impl<T> ::std::marker::Copy for __IncompleteArrayField<T> {} pub const __BITS_PER_LONG: ::std::os::raw::c_uint = 64; pub const __FD_SETSIZE: ::std::os::raw::c_uint = 1024; pub const _IOC_NRBITS: ::std::os::raw::c_uint = 8; @@ -103,6 +162,7 @@ pub const KVM_IRQCHIP_PIC_MASTER: ::std::os::raw::c_uint = 0; pub const KVM_IRQCHIP_PIC_SLAVE: ::std::os::raw::c_uint = 1; pub const KVM_IRQCHIP_IOAPIC: ::std::os::raw::c_uint = 2; pub const KVM_NR_IRQCHIPS: ::std::os::raw::c_uint = 3; +pub const KVM_RUN_X86_SMM: ::std::os::raw::c_uint = 1; pub const KVM_APIC_REG_SIZE: ::std::os::raw::c_uint = 1024; pub const KVM_GUESTDBG_USE_SW_BP: ::std::os::raw::c_uint = 65536; pub const KVM_GUESTDBG_USE_HW_BP: ::std::os::raw::c_uint = 131072; @@ -112,9 +172,12 @@ pub const KVM_PIT_FLAGS_HPET_LEGACY: ::std::os::raw::c_uint = 1; pub const KVM_VCPUEVENT_VALID_NMI_PENDING: ::std::os::raw::c_uint = 1; pub const KVM_VCPUEVENT_VALID_SIPI_VECTOR: ::std::os::raw::c_uint = 2; pub const KVM_VCPUEVENT_VALID_SHADOW: ::std::os::raw::c_uint = 4; +pub const KVM_VCPUEVENT_VALID_SMM: ::std::os::raw::c_uint = 8; pub const KVM_X86_SHADOW_INT_MOV_SS: ::std::os::raw::c_uint = 1; pub const KVM_X86_SHADOW_INT_STI: ::std::os::raw::c_uint = 2; pub const KVM_MAX_XCRS: ::std::os::raw::c_uint = 16; +pub const KVM_X86_QUIRK_LINT0_REENABLED: ::std::os::raw::c_uint = 1; +pub const KVM_X86_QUIRK_CD_NW_CLEARED: ::std::os::raw::c_uint = 2; pub const KVM_API_VERSION: ::std::os::raw::c_uint = 12; pub const KVM_TRC_SHIFT: ::std::os::raw::c_uint = 16; pub const KVM_TRC_ENTRYEXIT: ::std::os::raw::c_uint = 65536; @@ -152,6 +215,8 @@ pub const KVM_TRC_PPC_INSTR: ::std::os::raw::c_uint = 131097; pub const KVM_MEM_LOG_DIRTY_PAGES: ::std::os::raw::c_uint = 1; pub const KVM_MEM_READONLY: ::std::os::raw::c_uint = 2; pub const KVM_PIT_SPEAKER_DUMMY: ::std::os::raw::c_uint = 1; +pub const KVM_S390_GET_SKEYS_NONE: ::std::os::raw::c_uint = 1; +pub const KVM_S390_SKEYS_MAX: ::std::os::raw::c_uint = 1048576; pub const KVM_EXIT_UNKNOWN: ::std::os::raw::c_uint = 0; pub const KVM_EXIT_EXCEPTION: ::std::os::raw::c_uint = 1; pub const KVM_EXIT_IO: ::std::os::raw::c_uint = 2; @@ -177,15 +242,25 @@ pub const KVM_EXIT_WATCHDOG: ::std::os::raw::c_uint = 21; pub const KVM_EXIT_S390_TSCH: ::std::os::raw::c_uint = 22; pub const KVM_EXIT_EPR: ::std::os::raw::c_uint = 23; pub const KVM_EXIT_SYSTEM_EVENT: ::std::os::raw::c_uint = 24; +pub const KVM_EXIT_S390_STSI: ::std::os::raw::c_uint = 25; +pub const KVM_EXIT_IOAPIC_EOI: ::std::os::raw::c_uint = 26; pub const KVM_INTERNAL_ERROR_EMULATION: ::std::os::raw::c_uint = 1; pub const KVM_INTERNAL_ERROR_SIMUL_EX: ::std::os::raw::c_uint = 2; pub const KVM_INTERNAL_ERROR_DELIVERY_EV: ::std::os::raw::c_uint = 3; pub const KVM_EXIT_IO_IN: ::std::os::raw::c_uint = 0; +pub const KVM_EXIT_IO_OUT: ::std::os::raw::c_uint = 1; pub const KVM_S390_RESET_POR: ::std::os::raw::c_uint = 1; pub const KVM_S390_RESET_CLEAR: ::std::os::raw::c_uint = 2; pub const KVM_S390_RESET_SUBSYSTEM: ::std::os::raw::c_uint = 4; pub const KVM_S390_RESET_CPU_INIT: ::std::os::raw::c_uint = 8; +pub const KVM_S390_RESET_IPL: ::std::os::raw::c_uint = 16; pub const KVM_SYSTEM_EVENT_SHUTDOWN: ::std::os::raw::c_uint = 1; +pub const KVM_SYSTEM_EVENT_RESET: ::std::os::raw::c_uint = 2; +pub const KVM_SYSTEM_EVENT_CRASH: ::std::os::raw::c_uint = 3; +pub const KVM_S390_MEMOP_LOGICAL_READ: ::std::os::raw::c_uint = 0; +pub const KVM_S390_MEMOP_LOGICAL_WRITE: ::std::os::raw::c_uint = 1; +pub const KVM_S390_MEMOP_F_CHECK_ONLY: ::std::os::raw::c_uint = 1; +pub const KVM_S390_MEMOP_F_INJECT_EXCEPTION: ::std::os::raw::c_uint = 2; pub const KVM_MP_STATE_RUNNABLE: ::std::os::raw::c_uint = 0; pub const KVM_MP_STATE_UNINITIALIZED: ::std::os::raw::c_uint = 1; pub const KVM_MP_STATE_INIT_RECEIVED: ::std::os::raw::c_uint = 2; @@ -210,6 +285,7 @@ pub const KVM_S390_INT_EMERGENCY: ::std::os::raw::c_uint = 4294906369; pub const KVM_S390_INT_EXTERNAL_CALL: ::std::os::raw::c_uint = 4294906370; pub const KVM_S390_INT_IO_MIN: ::std::os::raw::c_uint = 0; pub const KVM_S390_INT_IO_MAX: ::std::os::raw::c_uint = 4294836223; +pub const KVM_S390_INT_IO_AI_MASK: ::std::os::raw::c_uint = 67108864; pub const KVM_S390_STOP_FLAG_STORE_STATUS: ::std::os::raw::c_uint = 1; pub const KVM_GUESTDBG_ENABLE: ::std::os::raw::c_uint = 1; pub const KVM_GUESTDBG_SINGLESTEP: ::std::os::raw::c_uint = 2; @@ -323,6 +399,22 @@ pub const KVM_CAP_PPC_FIXUP_HCALL: ::std::os::raw::c_uint = 103; pub const KVM_CAP_PPC_ENABLE_HCALL: ::std::os::raw::c_uint = 104; pub const KVM_CAP_CHECK_EXTENSION_VM: ::std::os::raw::c_uint = 105; pub const KVM_CAP_S390_USER_SIGP: ::std::os::raw::c_uint = 106; +pub const KVM_CAP_S390_VECTOR_REGISTERS: ::std::os::raw::c_uint = 107; +pub const KVM_CAP_S390_MEM_OP: ::std::os::raw::c_uint = 108; +pub const KVM_CAP_S390_USER_STSI: ::std::os::raw::c_uint = 109; +pub const KVM_CAP_S390_SKEYS: ::std::os::raw::c_uint = 110; +pub const KVM_CAP_MIPS_FPU: ::std::os::raw::c_uint = 111; +pub const KVM_CAP_MIPS_MSA: ::std::os::raw::c_uint = 112; +pub const KVM_CAP_S390_INJECT_IRQ: ::std::os::raw::c_uint = 113; +pub const KVM_CAP_S390_IRQ_STATE: ::std::os::raw::c_uint = 114; +pub const KVM_CAP_PPC_HWRNG: ::std::os::raw::c_uint = 115; +pub const KVM_CAP_DISABLE_QUIRKS: ::std::os::raw::c_uint = 116; +pub const KVM_CAP_X86_SMM: ::std::os::raw::c_uint = 117; +pub const KVM_CAP_MULTI_ADDRESS_SPACE: ::std::os::raw::c_uint = 118; +pub const KVM_CAP_GUEST_DEBUG_HW_BPS: ::std::os::raw::c_uint = 119; +pub const KVM_CAP_GUEST_DEBUG_HW_WPS: ::std::os::raw::c_uint = 120; +pub const KVM_CAP_SPLIT_IRQCHIP: ::std::os::raw::c_uint = 121; +pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: ::std::os::raw::c_uint = 122; pub const KVM_IRQ_ROUTING_IRQCHIP: ::std::os::raw::c_uint = 1; pub const KVM_IRQ_ROUTING_MSI: ::std::os::raw::c_uint = 2; pub const KVM_IRQ_ROUTING_S390_ADAPTER: ::std::os::raw::c_uint = 3; @@ -376,24 +468,32 @@ pub type __u32 = ::std::os::raw::c_uint; pub type __s64 = ::std::os::raw::c_longlong; pub type __u64 = ::std::os::raw::c_ulonglong; #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct __kernel_fd_set { pub fds_bits: [::std::os::raw::c_ulong; 16usize], } #[test] fn bindgen_test_layout___kernel_fd_set() { - assert_eq!(::std::mem::size_of::<__kernel_fd_set>() , 128usize , concat ! - ( "Size of: " , stringify ! ( __kernel_fd_set ) )); - assert_eq! (::std::mem::align_of::<__kernel_fd_set>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( __kernel_fd_set ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const __kernel_fd_set ) ) . fds_bits as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( __kernel_fd_set ) , - "::" , stringify ! ( fds_bits ) )); -} -impl Clone for __kernel_fd_set { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<__kernel_fd_set>(), + 128usize, + concat!("Size of: ", stringify!(__kernel_fd_set)) + ); + assert_eq!( + ::std::mem::align_of::<__kernel_fd_set>(), + 8usize, + concat!("Alignment of ", stringify!(__kernel_fd_set)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__kernel_fd_set), + "::", + stringify!(fds_bits) + ) + ); } pub type __kernel_sighandler_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>; @@ -418,24 +518,32 @@ pub type __kernel_size_t = __kernel_ulong_t; pub type __kernel_ssize_t = __kernel_long_t; pub type __kernel_ptrdiff_t = __kernel_long_t; #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct __kernel_fsid_t { pub val: [::std::os::raw::c_int; 2usize], } #[test] fn bindgen_test_layout___kernel_fsid_t() { - assert_eq!(::std::mem::size_of::<__kernel_fsid_t>() , 8usize , concat ! ( - "Size of: " , stringify ! ( __kernel_fsid_t ) )); - assert_eq! (::std::mem::align_of::<__kernel_fsid_t>() , 4usize , concat ! - ( "Alignment of " , stringify ! ( __kernel_fsid_t ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const __kernel_fsid_t ) ) . val as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( __kernel_fsid_t ) , - "::" , stringify ! ( val ) )); -} -impl Clone for __kernel_fsid_t { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<__kernel_fsid_t>(), + 8usize, + concat!("Size of: ", stringify!(__kernel_fsid_t)) + ); + assert_eq!( + ::std::mem::align_of::<__kernel_fsid_t>(), + 4usize, + concat!("Alignment of ", stringify!(__kernel_fsid_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__kernel_fsid_t), + "::", + stringify!(val) + ) + ); } pub type __kernel_off_t = __kernel_long_t; pub type __kernel_loff_t = ::std::os::raw::c_longlong; @@ -455,7 +563,7 @@ pub type __be64 = __u64; pub type __sum16 = __u16; pub type __wsum = __u32; #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_memory_alias { pub slot: __u32, pub flags: __u32, @@ -465,41 +573,69 @@ pub struct kvm_memory_alias { } #[test] fn bindgen_test_layout_kvm_memory_alias() { - assert_eq!(::std::mem::size_of::<kvm_memory_alias>() , 32usize , concat ! - ( "Size of: " , stringify ! ( kvm_memory_alias ) )); - assert_eq! (::std::mem::align_of::<kvm_memory_alias>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( kvm_memory_alias ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_memory_alias ) ) . slot as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_memory_alias ) , - "::" , stringify ! ( slot ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_memory_alias ) ) . flags as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_memory_alias ) , - "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_memory_alias ) ) . guest_phys_addr as - * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_memory_alias ) , - "::" , stringify ! ( guest_phys_addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_memory_alias ) ) . memory_size as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_memory_alias ) , - "::" , stringify ! ( memory_size ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_memory_alias ) ) . target_phys_addr - as * const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_memory_alias ) , - "::" , stringify ! ( target_phys_addr ) )); -} -impl Clone for kvm_memory_alias { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_memory_alias>(), + 32usize, + concat!("Size of: ", stringify!(kvm_memory_alias)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_memory_alias>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_memory_alias)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_memory_alias>())).slot as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_memory_alias), + "::", + stringify!(slot) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_memory_alias>())).flags as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_memory_alias), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_memory_alias>())).guest_phys_addr as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_memory_alias), + "::", + stringify!(guest_phys_addr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_memory_alias>())).memory_size as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_memory_alias), + "::", + stringify!(memory_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_memory_alias>())).target_phys_addr as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_memory_alias), + "::", + stringify!(target_phys_addr) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_pic_state { pub last_irr: __u8, pub irr: __u8, @@ -520,97 +656,181 @@ pub struct kvm_pic_state { } #[test] fn bindgen_test_layout_kvm_pic_state() { - assert_eq!(::std::mem::size_of::<kvm_pic_state>() , 16usize , concat ! ( - "Size of: " , stringify ! ( kvm_pic_state ) )); - assert_eq! (::std::mem::align_of::<kvm_pic_state>() , 1usize , concat ! ( - "Alignment of " , stringify ! ( kvm_pic_state ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . last_irr as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( last_irr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . irr as * const _ as - usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( irr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . imr as * const _ as - usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( imr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . isr as * const _ as - usize } , 3usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( isr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . priority_add as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( priority_add ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . irq_base as * const _ - as usize } , 5usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( irq_base ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . read_reg_select as * - const _ as usize } , 6usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( read_reg_select ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . poll as * const _ as - usize } , 7usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( poll ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . special_mask as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( special_mask ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . init_state as * const - _ as usize } , 9usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( init_state ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . auto_eoi as * const _ - as usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( auto_eoi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . rotate_on_auto_eoi as - * const _ as usize } , 11usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( rotate_on_auto_eoi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . - special_fully_nested_mode as * const _ as usize } , 12usize , - concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( special_fully_nested_mode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . init4 as * const _ as - usize } , 13usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( init4 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . elcr as * const _ as - usize } , 14usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( elcr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pic_state ) ) . elcr_mask as * const - _ as usize } , 15usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pic_state ) , "::" - , stringify ! ( elcr_mask ) )); -} -impl Clone for kvm_pic_state { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_pic_state>(), + 16usize, + concat!("Size of: ", stringify!(kvm_pic_state)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_pic_state>(), + 1usize, + concat!("Alignment of ", stringify!(kvm_pic_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).last_irr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(last_irr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).irr as *const _ as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(irr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).imr as *const _ as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(imr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).isr as *const _ as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(isr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).priority_add as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(priority_add) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).irq_base as *const _ as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(irq_base) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).read_reg_select as *const _ as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(read_reg_select) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).poll as *const _ as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(poll) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).special_mask as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(special_mask) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).init_state as *const _ as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(init_state) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).auto_eoi as *const _ as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(auto_eoi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).rotate_on_auto_eoi as *const _ as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(rotate_on_auto_eoi) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_pic_state>())).special_fully_nested_mode as *const _ as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(special_fully_nested_mode) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).init4 as *const _ as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(init4) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).elcr as *const _ as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(elcr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pic_state>())).elcr_mask as *const _ as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(kvm_pic_state), + "::", + stringify!(elcr_mask) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_ioapic_state { pub base_address: __u64, pub ioregsel: __u32, @@ -620,270 +840,335 @@ pub struct kvm_ioapic_state { pub redirtbl: [kvm_ioapic_state__bindgen_ty_1; 24usize], } #[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct kvm_ioapic_state__bindgen_ty_1 { - pub bits: __BindgenUnionField<__u64>, - pub fields: __BindgenUnionField<kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1>, - pub bindgen_union_field: u64, +#[derive(Copy, Clone)] +pub union kvm_ioapic_state__bindgen_ty_1 { + pub bits: __u64, + pub fields: kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1, + _bindgen_union_align: u64, } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 { pub vector: __u8, - pub _bitfield_1: u8, - pub _bitfield_2: u8, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u8>, pub reserved: [__u8; 4usize], pub dest_id: __u8, } #[test] fn bindgen_test_layout_kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1>() - , 8usize , concat ! ( - "Size of: " , stringify ! ( - kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 ) )); - assert_eq! (::std::mem::align_of::<kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1>() - , 1usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 ) )); - assert_eq! (unsafe { - & ( - * ( 0 as * const kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 - ) ) . vector as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 ) , "::" , - stringify ! ( vector ) )); - assert_eq! (unsafe { - & ( - * ( 0 as * const kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 - ) ) . reserved as * const _ as usize } , 3usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 ) , "::" , - stringify ! ( reserved ) )); - assert_eq! (unsafe { - & ( - * ( 0 as * const kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 - ) ) . dest_id as * const _ as usize } , 7usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 ) , "::" , - stringify ! ( dest_id ) )); -} -impl Clone for kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1>())).vector as + *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(vector) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1>())) + .reserved as *const _ as usize + }, + 3usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1>())).dest_id as + *const _ as usize + }, + 7usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dest_id) + ) + ); } impl kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 { #[inline] pub fn delivery_mode(&self) -> __u8 { - let mask = 7usize as u8; - let field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; - unsafe { ::std::mem::transmute(val as u8) } + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u8) } } #[inline] pub fn set_delivery_mode(&mut self, val: __u8) { - let mask = 7usize as u8; - let val = val as u8 as u8; - let mut field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 3u8, val as u64) + } } #[inline] pub fn dest_mode(&self) -> __u8 { - let mask = 8usize as u8; - let field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; - unsafe { ::std::mem::transmute(val as u8) } + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } } #[inline] pub fn set_dest_mode(&mut self, val: __u8) { - let mask = 8usize as u8; - let val = val as u8 as u8; - let mut field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } } #[inline] pub fn delivery_status(&self) -> __u8 { - let mask = 16usize as u8; - let field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; - unsafe { ::std::mem::transmute(val as u8) } + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } } #[inline] pub fn set_delivery_status(&mut self, val: __u8) { - let mask = 16usize as u8; - let val = val as u8 as u8; - let mut field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } } #[inline] pub fn polarity(&self) -> __u8 { - let mask = 32usize as u8; - let field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 5usize; - unsafe { ::std::mem::transmute(val as u8) } + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } } #[inline] pub fn set_polarity(&mut self, val: __u8) { - let mask = 32usize as u8; - let val = val as u8 as u8; - let mut field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } } #[inline] pub fn remote_irr(&self) -> __u8 { - let mask = 64usize as u8; - let field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 6usize; - unsafe { ::std::mem::transmute(val as u8) } + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } } #[inline] pub fn set_remote_irr(&mut self, val: __u8) { - let mask = 64usize as u8; - let val = val as u8 as u8; - let mut field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } } #[inline] pub fn trig_mode(&self) -> __u8 { - let mask = 128usize as u8; - let field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 7usize; - unsafe { ::std::mem::transmute(val as u8) } + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } } #[inline] pub fn set_trig_mode(&mut self, val: __u8) { - let mask = 128usize as u8; - let val = val as u8 as u8; - let mut field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } } #[inline] pub fn mask(&self) -> __u8 { - let mask = 1usize as u8; - let field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 0usize; - unsafe { ::std::mem::transmute(val as u8) } + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) } } #[inline] pub fn set_mask(&mut self, val: __u8) { - let mask = 1usize as u8; - let val = val as u8 as u8; - let mut field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } } #[inline] pub fn reserve(&self) -> __u8 { - let mask = 127usize as u8; - let field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 0usize; - unsafe { ::std::mem::transmute(val as u8) } + unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 7u8) as u8) } } #[inline] pub fn set_reserve(&mut self, val: __u8) { - let mask = 127usize as u8; - let val = val as u8 as u8; - let mut field_val: u8 = - unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(9usize, 7u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + delivery_mode: __u8, + dest_mode: __u8, + delivery_status: __u8, + polarity: __u8, + remote_irr: __u8, + trig_mode: __u8, + mask: __u8, + reserve: __u8, + ) -> __BindgenBitfieldUnit<[u8; 2usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 3u8, { + let delivery_mode: u8 = unsafe { ::std::mem::transmute(delivery_mode) }; + delivery_mode as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let dest_mode: u8 = unsafe { ::std::mem::transmute(dest_mode) }; + dest_mode as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let delivery_status: u8 = unsafe { ::std::mem::transmute(delivery_status) }; + delivery_status as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let polarity: u8 = unsafe { ::std::mem::transmute(polarity) }; + polarity as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let remote_irr: u8 = unsafe { ::std::mem::transmute(remote_irr) }; + remote_irr as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let trig_mode: u8 = unsafe { ::std::mem::transmute(trig_mode) }; + trig_mode as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let mask: u8 = unsafe { ::std::mem::transmute(mask) }; + mask as u64 + }); + __bindgen_bitfield_unit.set(9usize, 7u8, { + let reserve: u8 = unsafe { ::std::mem::transmute(reserve) }; + reserve as u64 + }); + __bindgen_bitfield_unit } } #[test] fn bindgen_test_layout_kvm_ioapic_state__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_ioapic_state__bindgen_ty_1>() , - 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_ioapic_state__bindgen_ty_1 ) - )); - assert_eq! (::std::mem::align_of::<kvm_ioapic_state__bindgen_ty_1>() , - 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_ioapic_state__bindgen_ty_1 - ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioapic_state__bindgen_ty_1 ) ) . bits - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_ioapic_state__bindgen_ty_1 ) , "::" , stringify ! ( bits ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioapic_state__bindgen_ty_1 ) ) . - fields as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_ioapic_state__bindgen_ty_1 ) , "::" , stringify ! ( fields - ) )); -} -impl Clone for kvm_ioapic_state__bindgen_ty_1 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_ioapic_state__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(kvm_ioapic_state__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_ioapic_state__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_ioapic_state__bindgen_ty_1)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioapic_state__bindgen_ty_1>())).bits as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioapic_state__bindgen_ty_1), + "::", + stringify!(bits) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_ioapic_state__bindgen_ty_1>())).fields as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioapic_state__bindgen_ty_1), + "::", + stringify!(fields) + ) + ); +} +impl Default for kvm_ioapic_state__bindgen_ty_1 { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[test] fn bindgen_test_layout_kvm_ioapic_state() { - assert_eq!(::std::mem::size_of::<kvm_ioapic_state>() , 216usize , concat ! - ( "Size of: " , stringify ! ( kvm_ioapic_state ) )); - assert_eq! (::std::mem::align_of::<kvm_ioapic_state>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( kvm_ioapic_state ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioapic_state ) ) . base_address as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioapic_state ) , - "::" , stringify ! ( base_address ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioapic_state ) ) . ioregsel as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioapic_state ) , - "::" , stringify ! ( ioregsel ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioapic_state ) ) . id as * const _ as - usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioapic_state ) , - "::" , stringify ! ( id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioapic_state ) ) . irr as * const _ - as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioapic_state ) , - "::" , stringify ! ( irr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioapic_state ) ) . pad as * const _ - as usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioapic_state ) , - "::" , stringify ! ( pad ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioapic_state ) ) . redirtbl as * - const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioapic_state ) , - "::" , stringify ! ( redirtbl ) )); -} -impl Clone for kvm_ioapic_state { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_ioapic_state>(), + 216usize, + concat!("Size of: ", stringify!(kvm_ioapic_state)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_ioapic_state>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_ioapic_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioapic_state>())).base_address as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioapic_state), + "::", + stringify!(base_address) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioapic_state>())).ioregsel as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioapic_state), + "::", + stringify!(ioregsel) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioapic_state>())).id as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioapic_state), + "::", + stringify!(id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioapic_state>())).irr as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioapic_state), + "::", + stringify!(irr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioapic_state>())).pad as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioapic_state), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioapic_state>())).redirtbl as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioapic_state), + "::", + stringify!(redirtbl) + ) + ); +} +impl Default for kvm_ioapic_state { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_regs { pub rax: __u64, pub rbx: __u64, @@ -906,125 +1191,232 @@ pub struct kvm_regs { } #[test] fn bindgen_test_layout_kvm_regs() { - assert_eq!(::std::mem::size_of::<kvm_regs>() , 144usize , concat ! ( - "Size of: " , stringify ! ( kvm_regs ) )); - assert_eq! (::std::mem::align_of::<kvm_regs>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_regs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . rax as * const _ as usize - } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( rax ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . rbx as * const _ as usize - } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( rbx ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . rcx as * const _ as usize - } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( rcx ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . rdx as * const _ as usize - } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( rdx ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . rsi as * const _ as usize - } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( rsi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . rdi as * const _ as usize - } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( rdi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . rsp as * const _ as usize - } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( rsp ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . rbp as * const _ as usize - } , 56usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( rbp ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . r8 as * const _ as usize } - , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( r8 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . r9 as * const _ as usize } - , 72usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( r9 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . r10 as * const _ as usize - } , 80usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( r10 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . r11 as * const _ as usize - } , 88usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( r11 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . r12 as * const _ as usize - } , 96usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( r12 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . r13 as * const _ as usize - } , 104usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( r13 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . r14 as * const _ as usize - } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( r14 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . r15 as * const _ as usize - } , 120usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( r15 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . rip as * const _ as usize - } , 128usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( rip ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_regs ) ) . rflags as * const _ as - usize } , 136usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_regs ) , "::" , - stringify ! ( rflags ) )); -} -impl Clone for kvm_regs { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_regs>(), + 144usize, + concat!("Size of: ", stringify!(kvm_regs)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_regs>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_regs)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).rax as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(rax) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).rbx as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(rbx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).rcx as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(rcx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).rdx as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(rdx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).rsi as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(rsi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).rdi as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(rdi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).rsp as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(rsp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).rbp as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(rbp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).r8 as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(r8) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).r9 as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(r9) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).r10 as *const _ as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(r10) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).r11 as *const _ as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(r11) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).r12 as *const _ as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(r12) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).r13 as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(r13) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).r14 as *const _ as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(r14) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).r15 as *const _ as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(r15) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).rip as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(rip) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_regs>())).rflags as *const _ as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(kvm_regs), + "::", + stringify!(rflags) + ) + ); } #[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_lapic_state { pub regs: [::std::os::raw::c_char; 1024usize], } #[test] fn bindgen_test_layout_kvm_lapic_state() { - assert_eq!(::std::mem::size_of::<kvm_lapic_state>() , 1024usize , concat ! - ( "Size of: " , stringify ! ( kvm_lapic_state ) )); - assert_eq! (::std::mem::align_of::<kvm_lapic_state>() , 1usize , concat ! - ( "Alignment of " , stringify ! ( kvm_lapic_state ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_lapic_state ) ) . regs as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_lapic_state ) , - "::" , stringify ! ( regs ) )); + assert_eq!( + ::std::mem::size_of::<kvm_lapic_state>(), + 1024usize, + concat!("Size of: ", stringify!(kvm_lapic_state)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_lapic_state>(), + 1usize, + concat!("Alignment of ", stringify!(kvm_lapic_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_lapic_state>())).regs as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_lapic_state), + "::", + stringify!(regs) + ) + ); } impl Default for kvm_lapic_state { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_segment { pub base: __u64, pub limit: __u32, @@ -1042,81 +1434,149 @@ pub struct kvm_segment { } #[test] fn bindgen_test_layout_kvm_segment() { - assert_eq!(::std::mem::size_of::<kvm_segment>() , 24usize , concat ! ( - "Size of: " , stringify ! ( kvm_segment ) )); - assert_eq! (::std::mem::align_of::<kvm_segment>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_segment ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . base as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( base ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . limit as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( limit ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . selector as * const _ - as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( selector ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . type_ as * const _ as - usize } , 14usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( type_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . present as * const _ as - usize } , 15usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( present ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . dpl as * const _ as - usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( dpl ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . db as * const _ as - usize } , 17usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( db ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . s as * const _ as usize - } , 18usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( s ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . l as * const _ as usize - } , 19usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( l ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . g as * const _ as usize - } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( g ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . avl as * const _ as - usize } , 21usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( avl ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . unusable as * const _ - as usize } , 22usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( unusable ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_segment ) ) . padding as * const _ as - usize } , 23usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_segment ) , "::" , - stringify ! ( padding ) )); -} -impl Clone for kvm_segment { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_segment>(), + 24usize, + concat!("Size of: ", stringify!(kvm_segment)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_segment>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_segment)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).base as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(base) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).limit as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(limit) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).selector as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(selector) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).type_ as *const _ as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).present as *const _ as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(present) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).dpl as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(dpl) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).db as *const _ as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(db) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).s as *const _ as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(s) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).l as *const _ as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(l) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).g as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(g) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).avl as *const _ as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(avl) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).unusable as *const _ as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(unusable) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_segment>())).padding as *const _ as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(kvm_segment), + "::", + stringify!(padding) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_dtable { pub base: __u64, pub limit: __u16, @@ -1124,31 +1584,49 @@ pub struct kvm_dtable { } #[test] fn bindgen_test_layout_kvm_dtable() { - assert_eq!(::std::mem::size_of::<kvm_dtable>() , 16usize , concat ! ( - "Size of: " , stringify ! ( kvm_dtable ) )); - assert_eq! (::std::mem::align_of::<kvm_dtable>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_dtable ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_dtable ) ) . base as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_dtable ) , "::" , - stringify ! ( base ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_dtable ) ) . limit as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_dtable ) , "::" , - stringify ! ( limit ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_dtable ) ) . padding as * const _ as - usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_dtable ) , "::" , - stringify ! ( padding ) )); -} -impl Clone for kvm_dtable { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_dtable>(), + 16usize, + concat!("Size of: ", stringify!(kvm_dtable)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_dtable>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_dtable)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_dtable>())).base as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_dtable), + "::", + stringify!(base) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_dtable>())).limit as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_dtable), + "::", + stringify!(limit) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_dtable>())).padding as *const _ as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(kvm_dtable), + "::", + stringify!(padding) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_sregs { pub cs: kvm_segment, pub ds: kvm_segment, @@ -1171,106 +1649,199 @@ pub struct kvm_sregs { } #[test] fn bindgen_test_layout_kvm_sregs() { - assert_eq!(::std::mem::size_of::<kvm_sregs>() , 312usize , concat ! ( - "Size of: " , stringify ! ( kvm_sregs ) )); - assert_eq! (::std::mem::align_of::<kvm_sregs>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_sregs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . cs as * const _ as usize - } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( cs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . ds as * const _ as usize - } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( ds ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . es as * const _ as usize - } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( es ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . fs as * const _ as usize - } , 72usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( fs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . gs as * const _ as usize - } , 96usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( gs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . ss as * const _ as usize - } , 120usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( ss ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . tr as * const _ as usize - } , 144usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( tr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . ldt as * const _ as usize - } , 168usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( ldt ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . gdt as * const _ as usize - } , 192usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( gdt ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . idt as * const _ as usize - } , 208usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( idt ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . cr0 as * const _ as usize - } , 224usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( cr0 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . cr2 as * const _ as usize - } , 232usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( cr2 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . cr3 as * const _ as usize - } , 240usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( cr3 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . cr4 as * const _ as usize - } , 248usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( cr4 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . cr8 as * const _ as usize - } , 256usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( cr8 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . efer as * const _ as - usize } , 264usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( efer ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . apic_base as * const _ as - usize } , 272usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( apic_base ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_sregs ) ) . interrupt_bitmap as * - const _ as usize } , 280usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_sregs ) , "::" , - stringify ! ( interrupt_bitmap ) )); -} -impl Clone for kvm_sregs { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_sregs>(), + 312usize, + concat!("Size of: ", stringify!(kvm_sregs)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_sregs>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_sregs)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).cs as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(cs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).ds as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(ds) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).es as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(es) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).fs as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(fs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).gs as *const _ as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(gs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).ss as *const _ as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(ss) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).tr as *const _ as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(tr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).ldt as *const _ as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(ldt) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).gdt as *const _ as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(gdt) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).idt as *const _ as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(idt) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).cr0 as *const _ as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(cr0) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).cr2 as *const _ as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(cr2) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).cr3 as *const _ as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(cr3) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).cr4 as *const _ as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(cr4) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).cr8 as *const _ as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(cr8) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).efer as *const _ as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(efer) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).apic_base as *const _ as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(apic_base) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_sregs>())).interrupt_bitmap as *const _ as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(kvm_sregs), + "::", + stringify!(interrupt_bitmap) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_fpu { pub fpr: [[__u8; 16usize]; 8usize], pub fcw: __u16, @@ -1286,71 +1857,129 @@ pub struct kvm_fpu { } #[test] fn bindgen_test_layout_kvm_fpu() { - assert_eq!(::std::mem::size_of::<kvm_fpu>() , 416usize , concat ! ( - "Size of: " , stringify ! ( kvm_fpu ) )); - assert_eq! (::std::mem::align_of::<kvm_fpu>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_fpu ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_fpu ) ) . fpr as * const _ as usize } - , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_fpu ) , "::" , - stringify ! ( fpr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_fpu ) ) . fcw as * const _ as usize } - , 128usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_fpu ) , "::" , - stringify ! ( fcw ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_fpu ) ) . fsw as * const _ as usize } - , 130usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_fpu ) , "::" , - stringify ! ( fsw ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_fpu ) ) . ftwx as * const _ as usize - } , 132usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_fpu ) , "::" , - stringify ! ( ftwx ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_fpu ) ) . pad1 as * const _ as usize - } , 133usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_fpu ) , "::" , - stringify ! ( pad1 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_fpu ) ) . last_opcode as * const _ as - usize } , 134usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_fpu ) , "::" , - stringify ! ( last_opcode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_fpu ) ) . last_ip as * const _ as - usize } , 136usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_fpu ) , "::" , - stringify ! ( last_ip ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_fpu ) ) . last_dp as * const _ as - usize } , 144usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_fpu ) , "::" , - stringify ! ( last_dp ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_fpu ) ) . xmm as * const _ as usize } - , 152usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_fpu ) , "::" , - stringify ! ( xmm ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_fpu ) ) . mxcsr as * const _ as usize - } , 408usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_fpu ) , "::" , - stringify ! ( mxcsr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_fpu ) ) . pad2 as * const _ as usize - } , 412usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_fpu ) , "::" , - stringify ! ( pad2 ) )); -} -impl Clone for kvm_fpu { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_fpu>(), + 416usize, + concat!("Size of: ", stringify!(kvm_fpu)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_fpu>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_fpu)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_fpu>())).fpr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_fpu), + "::", + stringify!(fpr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_fpu>())).fcw as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(kvm_fpu), + "::", + stringify!(fcw) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_fpu>())).fsw as *const _ as usize }, + 130usize, + concat!( + "Offset of field: ", + stringify!(kvm_fpu), + "::", + stringify!(fsw) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_fpu>())).ftwx as *const _ as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(kvm_fpu), + "::", + stringify!(ftwx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_fpu>())).pad1 as *const _ as usize }, + 133usize, + concat!( + "Offset of field: ", + stringify!(kvm_fpu), + "::", + stringify!(pad1) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_fpu>())).last_opcode as *const _ as usize }, + 134usize, + concat!( + "Offset of field: ", + stringify!(kvm_fpu), + "::", + stringify!(last_opcode) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_fpu>())).last_ip as *const _ as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(kvm_fpu), + "::", + stringify!(last_ip) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_fpu>())).last_dp as *const _ as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(kvm_fpu), + "::", + stringify!(last_dp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_fpu>())).xmm as *const _ as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(kvm_fpu), + "::", + stringify!(xmm) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_fpu>())).mxcsr as *const _ as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(kvm_fpu), + "::", + stringify!(mxcsr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_fpu>())).pad2 as *const _ as usize }, + 412usize, + concat!( + "Offset of field: ", + stringify!(kvm_fpu), + "::", + stringify!(pad2) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_msr_entry { pub index: __u32, pub reserved: __u32, @@ -1358,90 +1987,140 @@ pub struct kvm_msr_entry { } #[test] fn bindgen_test_layout_kvm_msr_entry() { - assert_eq!(::std::mem::size_of::<kvm_msr_entry>() , 16usize , concat ! ( - "Size of: " , stringify ! ( kvm_msr_entry ) )); - assert_eq! (::std::mem::align_of::<kvm_msr_entry>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_msr_entry ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msr_entry ) ) . index as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msr_entry ) , "::" - , stringify ! ( index ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msr_entry ) ) . reserved as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msr_entry ) , "::" - , stringify ! ( reserved ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msr_entry ) ) . data as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msr_entry ) , "::" - , stringify ! ( data ) )); -} -impl Clone for kvm_msr_entry { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_msr_entry>(), + 16usize, + concat!("Size of: ", stringify!(kvm_msr_entry)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_msr_entry>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_msr_entry)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msr_entry>())).index as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_msr_entry), + "::", + stringify!(index) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msr_entry>())).reserved as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_msr_entry), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msr_entry>())).data as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_msr_entry), + "::", + stringify!(data) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default)] pub struct kvm_msrs { pub nmsrs: __u32, pub pad: __u32, pub entries: __IncompleteArrayField<kvm_msr_entry>, - pub __force_alignment: [u64; 0], + // Manually added to work around rust bindgen issue 684 + __force_alignment: [u64; 0], } #[test] fn bindgen_test_layout_kvm_msrs() { - assert_eq!(::std::mem::size_of::<kvm_msrs>() , 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_msrs ) )); - assert_eq! (::std::mem::align_of::<kvm_msrs>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_msrs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msrs ) ) . nmsrs as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msrs ) , "::" , - stringify ! ( nmsrs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msrs ) ) . pad as * const _ as usize - } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msrs ) , "::" , - stringify ! ( pad ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msrs ) ) . entries as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msrs ) , "::" , - stringify ! ( entries ) )); -} -impl Clone for kvm_msrs { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_msrs>(), + 8usize, + concat!("Size of: ", stringify!(kvm_msrs)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_msrs>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_msrs)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msrs>())).nmsrs as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_msrs), + "::", + stringify!(nmsrs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msrs>())).pad as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_msrs), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msrs>())).entries as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_msrs), + "::", + stringify!(entries) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default)] pub struct kvm_msr_list { pub nmsrs: __u32, pub indices: __IncompleteArrayField<__u32>, } #[test] fn bindgen_test_layout_kvm_msr_list() { - assert_eq!(::std::mem::size_of::<kvm_msr_list>() , 4usize , concat ! ( - "Size of: " , stringify ! ( kvm_msr_list ) )); - assert_eq! (::std::mem::align_of::<kvm_msr_list>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_msr_list ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msr_list ) ) . nmsrs as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msr_list ) , "::" , - stringify ! ( nmsrs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msr_list ) ) . indices as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msr_list ) , "::" , - stringify ! ( indices ) )); -} -impl Clone for kvm_msr_list { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_msr_list>(), + 4usize, + concat!("Size of: ", stringify!(kvm_msr_list)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_msr_list>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_msr_list)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msr_list>())).nmsrs as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_msr_list), + "::", + stringify!(nmsrs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msr_list>())).indices as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_msr_list), + "::", + stringify!(indices) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_cpuid_entry { pub function: __u32, pub eax: __u32, @@ -1452,46 +2131,79 @@ pub struct kvm_cpuid_entry { } #[test] fn bindgen_test_layout_kvm_cpuid_entry() { - assert_eq!(::std::mem::size_of::<kvm_cpuid_entry>() , 24usize , concat ! ( - "Size of: " , stringify ! ( kvm_cpuid_entry ) )); - assert_eq! (::std::mem::align_of::<kvm_cpuid_entry>() , 4usize , concat ! - ( "Alignment of " , stringify ! ( kvm_cpuid_entry ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry ) ) . function as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry ) , - "::" , stringify ! ( function ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry ) ) . eax as * const _ as - usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry ) , - "::" , stringify ! ( eax ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry ) ) . ebx as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry ) , - "::" , stringify ! ( ebx ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry ) ) . ecx as * const _ as - usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry ) , - "::" , stringify ! ( ecx ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry ) ) . edx as * const _ as - usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry ) , - "::" , stringify ! ( edx ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry ) ) . padding as * const - _ as usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry ) , - "::" , stringify ! ( padding ) )); -} -impl Clone for kvm_cpuid_entry { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_cpuid_entry>(), + 24usize, + concat!("Size of: ", stringify!(kvm_cpuid_entry)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_cpuid_entry>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_cpuid_entry)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry>())).function as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry), + "::", + stringify!(function) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry>())).eax as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry), + "::", + stringify!(eax) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry>())).ebx as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry), + "::", + stringify!(ebx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry>())).ecx as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry), + "::", + stringify!(ecx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry>())).edx as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry), + "::", + stringify!(edx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry>())).padding as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry), + "::", + stringify!(padding) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default)] pub struct kvm_cpuid { pub nent: __u32, pub padding: __u32, @@ -1499,31 +2211,49 @@ pub struct kvm_cpuid { } #[test] fn bindgen_test_layout_kvm_cpuid() { - assert_eq!(::std::mem::size_of::<kvm_cpuid>() , 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_cpuid ) )); - assert_eq! (::std::mem::align_of::<kvm_cpuid>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_cpuid ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid ) ) . nent as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid ) , "::" , - stringify ! ( nent ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid ) ) . padding as * const _ as - usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid ) , "::" , - stringify ! ( padding ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid ) ) . entries as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid ) , "::" , - stringify ! ( entries ) )); -} -impl Clone for kvm_cpuid { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_cpuid>(), + 8usize, + concat!("Size of: ", stringify!(kvm_cpuid)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_cpuid>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_cpuid)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid>())).nent as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid), + "::", + stringify!(nent) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid>())).padding as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid), + "::", + stringify!(padding) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid>())).entries as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid), + "::", + stringify!(entries) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_cpuid_entry2 { pub function: __u32, pub index: __u32, @@ -1536,56 +2266,99 @@ pub struct kvm_cpuid_entry2 { } #[test] fn bindgen_test_layout_kvm_cpuid_entry2() { - assert_eq!(::std::mem::size_of::<kvm_cpuid_entry2>() , 40usize , concat ! - ( "Size of: " , stringify ! ( kvm_cpuid_entry2 ) )); - assert_eq! (::std::mem::align_of::<kvm_cpuid_entry2>() , 4usize , concat ! - ( "Alignment of " , stringify ! ( kvm_cpuid_entry2 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry2 ) ) . function as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry2 ) , - "::" , stringify ! ( function ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry2 ) ) . index as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry2 ) , - "::" , stringify ! ( index ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry2 ) ) . flags as * const _ - as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry2 ) , - "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry2 ) ) . eax as * const _ - as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry2 ) , - "::" , stringify ! ( eax ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry2 ) ) . ebx as * const _ - as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry2 ) , - "::" , stringify ! ( ebx ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry2 ) ) . ecx as * const _ - as usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry2 ) , - "::" , stringify ! ( ecx ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry2 ) ) . edx as * const _ - as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry2 ) , - "::" , stringify ! ( edx ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid_entry2 ) ) . padding as * const - _ as usize } , 28usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid_entry2 ) , - "::" , stringify ! ( padding ) )); -} -impl Clone for kvm_cpuid_entry2 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_cpuid_entry2>(), + 40usize, + concat!("Size of: ", stringify!(kvm_cpuid_entry2)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_cpuid_entry2>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_cpuid_entry2)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry2>())).function as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry2), + "::", + stringify!(function) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry2>())).index as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry2), + "::", + stringify!(index) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry2>())).flags as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry2), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry2>())).eax as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry2), + "::", + stringify!(eax) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry2>())).ebx as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry2), + "::", + stringify!(ebx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry2>())).ecx as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry2), + "::", + stringify!(ecx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry2>())).edx as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry2), + "::", + stringify!(edx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid_entry2>())).padding as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid_entry2), + "::", + stringify!(padding) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default)] pub struct kvm_cpuid2 { pub nent: __u32, pub padding: __u32, @@ -1593,31 +2366,49 @@ pub struct kvm_cpuid2 { } #[test] fn bindgen_test_layout_kvm_cpuid2() { - assert_eq!(::std::mem::size_of::<kvm_cpuid2>() , 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_cpuid2 ) )); - assert_eq! (::std::mem::align_of::<kvm_cpuid2>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_cpuid2 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid2 ) ) . nent as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid2 ) , "::" , - stringify ! ( nent ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid2 ) ) . padding as * const _ as - usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid2 ) , "::" , - stringify ! ( padding ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_cpuid2 ) ) . entries as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_cpuid2 ) , "::" , - stringify ! ( entries ) )); -} -impl Clone for kvm_cpuid2 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_cpuid2>(), + 8usize, + concat!("Size of: ", stringify!(kvm_cpuid2)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_cpuid2>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_cpuid2)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid2>())).nent as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid2), + "::", + stringify!(nent) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid2>())).padding as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid2), + "::", + stringify!(padding) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_cpuid2>())).entries as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_cpuid2), + "::", + stringify!(entries) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_pit_channel_state { pub count: __u32, pub latched_count: __u16, @@ -1635,83 +2426,153 @@ pub struct kvm_pit_channel_state { } #[test] fn bindgen_test_layout_kvm_pit_channel_state() { - assert_eq!(::std::mem::size_of::<kvm_pit_channel_state>() , 24usize , - concat ! ( "Size of: " , stringify ! ( kvm_pit_channel_state ) - )); - assert_eq! (::std::mem::align_of::<kvm_pit_channel_state>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_pit_channel_state ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . count as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( count ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . latched_count - as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( latched_count ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . count_latched - as * const _ as usize } , 6usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( count_latched ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . - status_latched as * const _ as usize } , 7usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( status_latched ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . status as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( status ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . read_state as - * const _ as usize } , 9usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( read_state ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . write_state - as * const _ as usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( write_state ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . write_latch - as * const _ as usize } , 11usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( write_latch ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . rw_mode as * - const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( rw_mode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . mode as * - const _ as usize } , 13usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( mode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . bcd as * - const _ as usize } , 14usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( bcd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . gate as * - const _ as usize } , 15usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( gate ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_channel_state ) ) . - count_load_time as * const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_channel_state ) - , "::" , stringify ! ( count_load_time ) )); -} -impl Clone for kvm_pit_channel_state { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_pit_channel_state>(), + 24usize, + concat!("Size of: ", stringify!(kvm_pit_channel_state)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_pit_channel_state>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_pit_channel_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_channel_state>())).count as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_channel_state>())).latched_count as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(latched_count) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_channel_state>())).count_latched as *const _ as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(count_latched) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_pit_channel_state>())).status_latched as *const _ as usize + }, + 7usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(status_latched) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_channel_state>())).status as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(status) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_channel_state>())).read_state as *const _ as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(read_state) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_channel_state>())).write_state as *const _ as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(write_state) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_channel_state>())).write_latch as *const _ as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(write_latch) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_channel_state>())).rw_mode as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(rw_mode) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_channel_state>())).mode as *const _ as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(mode) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_channel_state>())).bcd as *const _ as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(bcd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_channel_state>())).gate as *const _ as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(gate) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_pit_channel_state>())).count_load_time as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_channel_state), + "::", + stringify!(count_load_time) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_debug_exit_arch { pub exception: __u32, pub pad: __u32, @@ -1721,84 +2582,125 @@ pub struct kvm_debug_exit_arch { } #[test] fn bindgen_test_layout_kvm_debug_exit_arch() { - assert_eq!(::std::mem::size_of::<kvm_debug_exit_arch>() , 32usize , concat - ! ( "Size of: " , stringify ! ( kvm_debug_exit_arch ) )); - assert_eq! (::std::mem::align_of::<kvm_debug_exit_arch>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_debug_exit_arch ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debug_exit_arch ) ) . exception as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debug_exit_arch ) , - "::" , stringify ! ( exception ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debug_exit_arch ) ) . pad as * const - _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debug_exit_arch ) , - "::" , stringify ! ( pad ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debug_exit_arch ) ) . pc as * const _ - as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debug_exit_arch ) , - "::" , stringify ! ( pc ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debug_exit_arch ) ) . dr6 as * const - _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debug_exit_arch ) , - "::" , stringify ! ( dr6 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debug_exit_arch ) ) . dr7 as * const - _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debug_exit_arch ) , - "::" , stringify ! ( dr7 ) )); -} -impl Clone for kvm_debug_exit_arch { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_debug_exit_arch>(), + 32usize, + concat!("Size of: ", stringify!(kvm_debug_exit_arch)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_debug_exit_arch>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_debug_exit_arch)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debug_exit_arch>())).exception as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_debug_exit_arch), + "::", + stringify!(exception) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debug_exit_arch>())).pad as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_debug_exit_arch), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debug_exit_arch>())).pc as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_debug_exit_arch), + "::", + stringify!(pc) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debug_exit_arch>())).dr6 as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_debug_exit_arch), + "::", + stringify!(dr6) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debug_exit_arch>())).dr7 as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_debug_exit_arch), + "::", + stringify!(dr7) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_guest_debug_arch { pub debugreg: [__u64; 8usize], } #[test] fn bindgen_test_layout_kvm_guest_debug_arch() { - assert_eq!(::std::mem::size_of::<kvm_guest_debug_arch>() , 64usize , - concat ! ( "Size of: " , stringify ! ( kvm_guest_debug_arch ) - )); - assert_eq! (::std::mem::align_of::<kvm_guest_debug_arch>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_guest_debug_arch ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_guest_debug_arch ) ) . debugreg as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_guest_debug_arch ) - , "::" , stringify ! ( debugreg ) )); -} -impl Clone for kvm_guest_debug_arch { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_guest_debug_arch>(), + 64usize, + concat!("Size of: ", stringify!(kvm_guest_debug_arch)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_guest_debug_arch>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_guest_debug_arch)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_guest_debug_arch>())).debugreg as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_guest_debug_arch), + "::", + stringify!(debugreg) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_pit_state { pub channels: [kvm_pit_channel_state; 3usize], } #[test] fn bindgen_test_layout_kvm_pit_state() { - assert_eq!(::std::mem::size_of::<kvm_pit_state>() , 72usize , concat ! ( - "Size of: " , stringify ! ( kvm_pit_state ) )); - assert_eq! (::std::mem::align_of::<kvm_pit_state>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_pit_state ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_state ) ) . channels as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_state ) , "::" - , stringify ! ( channels ) )); -} -impl Clone for kvm_pit_state { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_pit_state>(), + 72usize, + concat!("Size of: ", stringify!(kvm_pit_state)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_pit_state>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_pit_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_state>())).channels as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_state), + "::", + stringify!(channels) + ) + ); } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_pit_state2 { pub channels: [kvm_pit_channel_state; 3usize], pub flags: __u32, @@ -1806,69 +2708,99 @@ pub struct kvm_pit_state2 { } #[test] fn bindgen_test_layout_kvm_pit_state2() { - assert_eq!(::std::mem::size_of::<kvm_pit_state2>() , 112usize , concat ! ( - "Size of: " , stringify ! ( kvm_pit_state2 ) )); - assert_eq! (::std::mem::align_of::<kvm_pit_state2>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_pit_state2 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_state2 ) ) . channels as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_state2 ) , "::" - , stringify ! ( channels ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_state2 ) ) . flags as * const _ - as usize } , 72usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_state2 ) , "::" - , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_state2 ) ) . reserved as * const - _ as usize } , 76usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_state2 ) , "::" - , stringify ! ( reserved ) )); -} -impl Clone for kvm_pit_state2 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_pit_state2>(), + 112usize, + concat!("Size of: ", stringify!(kvm_pit_state2)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_pit_state2>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_pit_state2)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_state2>())).channels as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_state2), + "::", + stringify!(channels) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_state2>())).flags as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_state2), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_state2>())).reserved as *const _ as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_state2), + "::", + stringify!(reserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_reinject_control { pub pit_reinject: __u8, pub reserved: [__u8; 31usize], } #[test] fn bindgen_test_layout_kvm_reinject_control() { - assert_eq!(::std::mem::size_of::<kvm_reinject_control>() , 32usize , - concat ! ( "Size of: " , stringify ! ( kvm_reinject_control ) - )); - assert_eq! (::std::mem::align_of::<kvm_reinject_control>() , 1usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_reinject_control ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_reinject_control ) ) . pit_reinject - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_reinject_control ) - , "::" , stringify ! ( pit_reinject ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_reinject_control ) ) . reserved as * - const _ as usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_reinject_control ) - , "::" , stringify ! ( reserved ) )); -} -impl Clone for kvm_reinject_control { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_reinject_control>(), + 32usize, + concat!("Size of: ", stringify!(kvm_reinject_control)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_reinject_control>(), + 1usize, + concat!("Alignment of ", stringify!(kvm_reinject_control)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_reinject_control>())).pit_reinject as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_reinject_control), + "::", + stringify!(pit_reinject) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_reinject_control>())).reserved as *const _ as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(kvm_reinject_control), + "::", + stringify!(reserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_vcpu_events { pub exception: kvm_vcpu_events__bindgen_ty_1, pub interrupt: kvm_vcpu_events__bindgen_ty_2, pub nmi: kvm_vcpu_events__bindgen_ty_3, pub sipi_vector: __u32, pub flags: __u32, - pub reserved: [__u32; 10usize], + pub smi: kvm_vcpu_events__bindgen_ty_4, + pub reserved: [__u32; 9usize], } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_vcpu_events__bindgen_ty_1 { pub injected: __u8, pub nr: __u8, @@ -1878,49 +2810,77 @@ pub struct kvm_vcpu_events__bindgen_ty_1 { } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_1>() , 8usize - , concat ! ( - "Size of: " , stringify ! ( kvm_vcpu_events__bindgen_ty_1 ) )); - assert_eq! (::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_1>() , - 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_vcpu_events__bindgen_ty_1 - ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_1 ) ) . - injected as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_1 ) , "::" , stringify ! ( - injected ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_1 ) ) . nr as - * const _ as usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_1 ) , "::" , stringify ! ( nr ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_1 ) ) . - has_error_code as * const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_1 ) , "::" , stringify ! ( - has_error_code ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_1 ) ) . pad - as * const _ as usize } , 3usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_1 ) , "::" , stringify ! ( pad ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_1 ) ) . - error_code as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_1 ) , "::" , stringify ! ( - error_code ) )); -} -impl Clone for kvm_vcpu_events__bindgen_ty_1 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_1)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_1>())).injected as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_1), + "::", + stringify!(injected) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_1>())).nr as *const _ as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_1), + "::", + stringify!(nr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_1>())).has_error_code as *const _ as + usize + }, + 2usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_1), + "::", + stringify!(has_error_code) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_1>())).pad as *const _ as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_1), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_1>())).error_code as *const _ as + usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_1), + "::", + stringify!(error_code) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_vcpu_events__bindgen_ty_2 { pub injected: __u8, pub nr: __u8, @@ -1929,43 +2889,63 @@ pub struct kvm_vcpu_events__bindgen_ty_2 { } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_2() { - assert_eq!(::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_2>() , 4usize - , concat ! ( - "Size of: " , stringify ! ( kvm_vcpu_events__bindgen_ty_2 ) )); - assert_eq! (::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_2>() , - 1usize , concat ! ( - "Alignment of " , stringify ! ( kvm_vcpu_events__bindgen_ty_2 - ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_2 ) ) . - injected as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_2 ) , "::" , stringify ! ( - injected ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_2 ) ) . nr as - * const _ as usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_2 ) , "::" , stringify ! ( nr ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_2 ) ) . soft - as * const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_2 ) , "::" , stringify ! ( soft ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_2 ) ) . - shadow as * const _ as usize } , 3usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_2 ) , "::" , stringify ! ( shadow - ) )); -} -impl Clone for kvm_vcpu_events__bindgen_ty_2 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_2>(), + 4usize, + concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_2>(), + 1usize, + concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_2)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_2>())).injected as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_2), + "::", + stringify!(injected) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_2>())).nr as *const _ as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_2), + "::", + stringify!(nr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_2>())).soft as *const _ as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_2), + "::", + stringify!(soft) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_2>())).shadow as *const _ as usize + }, + 3usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_2), + "::", + stringify!(shadow) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_vcpu_events__bindgen_ty_3 { pub injected: __u8, pub pending: __u8, @@ -1974,83 +2954,217 @@ pub struct kvm_vcpu_events__bindgen_ty_3 { } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_3() { - assert_eq!(::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_3>() , 4usize - , concat ! ( - "Size of: " , stringify ! ( kvm_vcpu_events__bindgen_ty_3 ) )); - assert_eq! (::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_3>() , - 1usize , concat ! ( - "Alignment of " , stringify ! ( kvm_vcpu_events__bindgen_ty_3 - ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_3 ) ) . - injected as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_3 ) , "::" , stringify ! ( - injected ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_3 ) ) . - pending as * const _ as usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_3 ) , "::" , stringify ! ( pending - ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_3 ) ) . - masked as * const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_3 ) , "::" , stringify ! ( masked - ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events__bindgen_ty_3 ) ) . pad - as * const _ as usize } , 3usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_vcpu_events__bindgen_ty_3 ) , "::" , stringify ! ( pad ) - )); -} -impl Clone for kvm_vcpu_events__bindgen_ty_3 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_3>(), + 4usize, + concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_3>(), + 1usize, + concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_3)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_3>())).injected as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_3), + "::", + stringify!(injected) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_3>())).pending as *const _ as usize + }, + 1usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_3), + "::", + stringify!(pending) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_3>())).masked as *const _ as usize + }, + 2usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_3), + "::", + stringify!(masked) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_3>())).pad as *const _ as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_3), + "::", + stringify!(pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct kvm_vcpu_events__bindgen_ty_4 { + pub smm: __u8, + pub pending: __u8, + pub smm_inside_nmi: __u8, + pub latched_init: __u8, +} +#[test] +fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_4() { + assert_eq!( + ::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_4>(), + 4usize, + concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_4>(), + 1usize, + concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_4)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_4>())).smm as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_4), + "::", + stringify!(smm) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_4>())).pending as *const _ as usize + }, + 1usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_4), + "::", + stringify!(pending) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_4>())).smm_inside_nmi as *const _ as + usize + }, + 2usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_4), + "::", + stringify!(smm_inside_nmi) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_vcpu_events__bindgen_ty_4>())).latched_init as *const _ as + usize + }, + 3usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events__bindgen_ty_4), + "::", + stringify!(latched_init) + ) + ); } #[test] fn bindgen_test_layout_kvm_vcpu_events() { - assert_eq!(::std::mem::size_of::<kvm_vcpu_events>() , 64usize , concat ! ( - "Size of: " , stringify ! ( kvm_vcpu_events ) )); - assert_eq! (::std::mem::align_of::<kvm_vcpu_events>() , 4usize , concat ! - ( "Alignment of " , stringify ! ( kvm_vcpu_events ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events ) ) . exception as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_vcpu_events ) , - "::" , stringify ! ( exception ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events ) ) . interrupt as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_vcpu_events ) , - "::" , stringify ! ( interrupt ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events ) ) . nmi as * const _ as - usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_vcpu_events ) , - "::" , stringify ! ( nmi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events ) ) . sipi_vector as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_vcpu_events ) , - "::" , stringify ! ( sipi_vector ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events ) ) . flags as * const _ - as usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_vcpu_events ) , - "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vcpu_events ) ) . reserved as * const - _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_vcpu_events ) , - "::" , stringify ! ( reserved ) )); -} -impl Clone for kvm_vcpu_events { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_vcpu_events>(), + 64usize, + concat!("Size of: ", stringify!(kvm_vcpu_events)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_vcpu_events>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_vcpu_events)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events>())).exception as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events), + "::", + stringify!(exception) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events>())).interrupt as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events), + "::", + stringify!(interrupt) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events>())).nmi as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events), + "::", + stringify!(nmi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events>())).sipi_vector as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events), + "::", + stringify!(sipi_vector) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events>())).flags as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events>())).smi as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events), + "::", + stringify!(smi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vcpu_events>())).reserved as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(kvm_vcpu_events), + "::", + stringify!(reserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_debugregs { pub db: [__u64; 4usize], pub dr6: __u64, @@ -2060,60 +3174,102 @@ pub struct kvm_debugregs { } #[test] fn bindgen_test_layout_kvm_debugregs() { - assert_eq!(::std::mem::size_of::<kvm_debugregs>() , 128usize , concat ! ( - "Size of: " , stringify ! ( kvm_debugregs ) )); - assert_eq! (::std::mem::align_of::<kvm_debugregs>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_debugregs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debugregs ) ) . db as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debugregs ) , "::" - , stringify ! ( db ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debugregs ) ) . dr6 as * const _ as - usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debugregs ) , "::" - , stringify ! ( dr6 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debugregs ) ) . dr7 as * const _ as - usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debugregs ) , "::" - , stringify ! ( dr7 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debugregs ) ) . flags as * const _ as - usize } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debugregs ) , "::" - , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debugregs ) ) . reserved as * const _ - as usize } , 56usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debugregs ) , "::" - , stringify ! ( reserved ) )); -} -impl Clone for kvm_debugregs { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_debugregs>(), + 128usize, + concat!("Size of: ", stringify!(kvm_debugregs)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_debugregs>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_debugregs)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debugregs>())).db as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_debugregs), + "::", + stringify!(db) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debugregs>())).dr6 as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(kvm_debugregs), + "::", + stringify!(dr6) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debugregs>())).dr7 as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(kvm_debugregs), + "::", + stringify!(dr7) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debugregs>())).flags as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(kvm_debugregs), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debugregs>())).reserved as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(kvm_debugregs), + "::", + stringify!(reserved) + ) + ); } #[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_xsave { pub region: [__u32; 1024usize], } #[test] fn bindgen_test_layout_kvm_xsave() { - assert_eq!(::std::mem::size_of::<kvm_xsave>() , 4096usize , concat ! ( - "Size of: " , stringify ! ( kvm_xsave ) )); - assert_eq! (::std::mem::align_of::<kvm_xsave>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_xsave ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xsave ) ) . region as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xsave ) , "::" , - stringify ! ( region ) )); + assert_eq!( + ::std::mem::size_of::<kvm_xsave>(), + 4096usize, + concat!("Size of: ", stringify!(kvm_xsave)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_xsave>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_xsave)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xsave>())).region as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_xsave), + "::", + stringify!(region) + ) + ); } impl Default for kvm_xsave { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_xcr { pub xcr: __u32, pub reserved: __u32, @@ -2121,31 +3277,49 @@ pub struct kvm_xcr { } #[test] fn bindgen_test_layout_kvm_xcr() { - assert_eq!(::std::mem::size_of::<kvm_xcr>() , 16usize , concat ! ( - "Size of: " , stringify ! ( kvm_xcr ) )); - assert_eq! (::std::mem::align_of::<kvm_xcr>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_xcr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xcr ) ) . xcr as * const _ as usize } - , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xcr ) , "::" , - stringify ! ( xcr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xcr ) ) . reserved as * const _ as - usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xcr ) , "::" , - stringify ! ( reserved ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xcr ) ) . value as * const _ as usize - } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xcr ) , "::" , - stringify ! ( value ) )); -} -impl Clone for kvm_xcr { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_xcr>(), + 16usize, + concat!("Size of: ", stringify!(kvm_xcr)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_xcr>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_xcr)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xcr>())).xcr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_xcr), + "::", + stringify!(xcr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xcr>())).reserved as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_xcr), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xcr>())).value as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_xcr), + "::", + stringify!(value) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_xcrs { pub nr_xcrs: __u32, pub flags: __u32, @@ -2154,77 +3328,114 @@ pub struct kvm_xcrs { } #[test] fn bindgen_test_layout_kvm_xcrs() { - assert_eq!(::std::mem::size_of::<kvm_xcrs>() , 392usize , concat ! ( - "Size of: " , stringify ! ( kvm_xcrs ) )); - assert_eq! (::std::mem::align_of::<kvm_xcrs>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_xcrs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xcrs ) ) . nr_xcrs as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xcrs ) , "::" , - stringify ! ( nr_xcrs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xcrs ) ) . flags as * const _ as - usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xcrs ) , "::" , - stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xcrs ) ) . xcrs as * const _ as usize - } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xcrs ) , "::" , - stringify ! ( xcrs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xcrs ) ) . padding as * const _ as - usize } , 264usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xcrs ) , "::" , - stringify ! ( padding ) )); -} -impl Clone for kvm_xcrs { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct kvm_sync_regs { + assert_eq!( + ::std::mem::size_of::<kvm_xcrs>(), + 392usize, + concat!("Size of: ", stringify!(kvm_xcrs)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_xcrs>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_xcrs)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xcrs>())).nr_xcrs as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_xcrs), + "::", + stringify!(nr_xcrs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xcrs>())).flags as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_xcrs), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xcrs>())).xcrs as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_xcrs), + "::", + stringify!(xcrs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xcrs>())).padding as *const _ as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(kvm_xcrs), + "::", + stringify!(padding) + ) + ); } +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct kvm_sync_regs {} #[test] fn bindgen_test_layout_kvm_sync_regs() { - assert_eq!(::std::mem::size_of::<kvm_sync_regs>() , 0usize , concat ! ( - "Size of: " , stringify ! ( kvm_sync_regs ) )); - assert_eq! (::std::mem::align_of::<kvm_sync_regs>() , 1usize , concat ! ( - "Alignment of " , stringify ! ( kvm_sync_regs ) )); -} -impl Clone for kvm_sync_regs { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_sync_regs>(), + 0usize, + concat!("Size of: ", stringify!(kvm_sync_regs)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_sync_regs>(), + 1usize, + concat!("Alignment of ", stringify!(kvm_sync_regs)) + ); } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_user_trace_setup { pub buf_size: __u32, pub buf_nr: __u32, } #[test] fn bindgen_test_layout_kvm_user_trace_setup() { - assert_eq!(::std::mem::size_of::<kvm_user_trace_setup>() , 8usize , concat - ! ( "Size of: " , stringify ! ( kvm_user_trace_setup ) )); - assert_eq! (::std::mem::align_of::<kvm_user_trace_setup>() , 4usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_user_trace_setup ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_user_trace_setup ) ) . buf_size as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_user_trace_setup ) - , "::" , stringify ! ( buf_size ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_user_trace_setup ) ) . buf_nr as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_user_trace_setup ) - , "::" , stringify ! ( buf_nr ) )); -} -impl Clone for kvm_user_trace_setup { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_user_trace_setup>(), + 8usize, + concat!("Size of: ", stringify!(kvm_user_trace_setup)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_user_trace_setup>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_user_trace_setup)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_user_trace_setup>())).buf_size as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_user_trace_setup), + "::", + stringify!(buf_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_user_trace_setup>())).buf_nr as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_user_trace_setup), + "::", + stringify!(buf_nr) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_breakpoint { pub enabled: __u32, pub padding: __u32, @@ -2232,31 +3443,49 @@ pub struct kvm_breakpoint { } #[test] fn bindgen_test_layout_kvm_breakpoint() { - assert_eq!(::std::mem::size_of::<kvm_breakpoint>() , 16usize , concat ! ( - "Size of: " , stringify ! ( kvm_breakpoint ) )); - assert_eq! (::std::mem::align_of::<kvm_breakpoint>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_breakpoint ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_breakpoint ) ) . enabled as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_breakpoint ) , "::" - , stringify ! ( enabled ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_breakpoint ) ) . padding as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_breakpoint ) , "::" - , stringify ! ( padding ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_breakpoint ) ) . address as * const _ - as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_breakpoint ) , "::" - , stringify ! ( address ) )); -} -impl Clone for kvm_breakpoint { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_breakpoint>(), + 16usize, + concat!("Size of: ", stringify!(kvm_breakpoint)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_breakpoint>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_breakpoint)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_breakpoint>())).enabled as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_breakpoint), + "::", + stringify!(enabled) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_breakpoint>())).padding as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_breakpoint), + "::", + stringify!(padding) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_breakpoint>())).address as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_breakpoint), + "::", + stringify!(address) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_debug_guest { pub enabled: __u32, pub pad: __u32, @@ -2265,36 +3494,59 @@ pub struct kvm_debug_guest { } #[test] fn bindgen_test_layout_kvm_debug_guest() { - assert_eq!(::std::mem::size_of::<kvm_debug_guest>() , 80usize , concat ! ( - "Size of: " , stringify ! ( kvm_debug_guest ) )); - assert_eq! (::std::mem::align_of::<kvm_debug_guest>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( kvm_debug_guest ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debug_guest ) ) . enabled as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debug_guest ) , - "::" , stringify ! ( enabled ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debug_guest ) ) . pad as * const _ as - usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debug_guest ) , - "::" , stringify ! ( pad ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debug_guest ) ) . breakpoints as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debug_guest ) , - "::" , stringify ! ( breakpoints ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_debug_guest ) ) . singlestep as * - const _ as usize } , 72usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_debug_guest ) , - "::" , stringify ! ( singlestep ) )); -} -impl Clone for kvm_debug_guest { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_debug_guest>(), + 80usize, + concat!("Size of: ", stringify!(kvm_debug_guest)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_debug_guest>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_debug_guest)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debug_guest>())).enabled as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_debug_guest), + "::", + stringify!(enabled) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debug_guest>())).pad as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_debug_guest), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debug_guest>())).breakpoints as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_debug_guest), + "::", + stringify!(breakpoints) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_debug_guest>())).singlestep as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(kvm_debug_guest), + "::", + stringify!(singlestep) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_memory_region { pub slot: __u32, pub flags: __u32, @@ -2303,36 +3555,59 @@ pub struct kvm_memory_region { } #[test] fn bindgen_test_layout_kvm_memory_region() { - assert_eq!(::std::mem::size_of::<kvm_memory_region>() , 24usize , concat ! - ( "Size of: " , stringify ! ( kvm_memory_region ) )); - assert_eq! (::std::mem::align_of::<kvm_memory_region>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( kvm_memory_region ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_memory_region ) ) . slot as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_memory_region ) , - "::" , stringify ! ( slot ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_memory_region ) ) . flags as * const - _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_memory_region ) , - "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_memory_region ) ) . guest_phys_addr - as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_memory_region ) , - "::" , stringify ! ( guest_phys_addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_memory_region ) ) . memory_size as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_memory_region ) , - "::" , stringify ! ( memory_size ) )); -} -impl Clone for kvm_memory_region { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_memory_region>(), + 24usize, + concat!("Size of: ", stringify!(kvm_memory_region)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_memory_region>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_memory_region)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_memory_region>())).slot as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_memory_region), + "::", + stringify!(slot) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_memory_region>())).flags as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_memory_region), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_memory_region>())).guest_phys_addr as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_memory_region), + "::", + stringify!(guest_phys_addr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_memory_region>())).memory_size as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_memory_region), + "::", + stringify!(memory_size) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_userspace_memory_region { pub slot: __u32, pub flags: __u32, @@ -2342,209 +3617,385 @@ pub struct kvm_userspace_memory_region { } #[test] fn bindgen_test_layout_kvm_userspace_memory_region() { - assert_eq!(::std::mem::size_of::<kvm_userspace_memory_region>() , 32usize - , concat ! ( - "Size of: " , stringify ! ( kvm_userspace_memory_region ) )); - assert_eq! (::std::mem::align_of::<kvm_userspace_memory_region>() , 8usize - , concat ! ( - "Alignment of " , stringify ! ( kvm_userspace_memory_region ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_userspace_memory_region ) ) . slot as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_userspace_memory_region ) , "::" , stringify ! ( slot ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_userspace_memory_region ) ) . flags - as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_userspace_memory_region ) , "::" , stringify ! ( flags ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_userspace_memory_region ) ) . - guest_phys_addr as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_userspace_memory_region ) , "::" , stringify ! ( - guest_phys_addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_userspace_memory_region ) ) . - memory_size as * const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_userspace_memory_region ) , "::" , stringify ! ( - memory_size ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_userspace_memory_region ) ) . - userspace_addr as * const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_userspace_memory_region ) , "::" , stringify ! ( - userspace_addr ) )); -} -impl Clone for kvm_userspace_memory_region { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_userspace_memory_region>(), + 32usize, + concat!("Size of: ", stringify!(kvm_userspace_memory_region)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_userspace_memory_region>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_userspace_memory_region)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_userspace_memory_region>())).slot as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_userspace_memory_region), + "::", + stringify!(slot) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_userspace_memory_region>())).flags as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_userspace_memory_region), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_userspace_memory_region>())).guest_phys_addr as *const _ as + usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_userspace_memory_region), + "::", + stringify!(guest_phys_addr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_userspace_memory_region>())).memory_size as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_userspace_memory_region), + "::", + stringify!(memory_size) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_userspace_memory_region>())).userspace_addr as *const _ as + usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_userspace_memory_region), + "::", + stringify!(userspace_addr) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_irq_level { pub __bindgen_anon_1: kvm_irq_level__bindgen_ty_1, pub level: __u32, } #[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct kvm_irq_level__bindgen_ty_1 { - pub irq: __BindgenUnionField<__u32>, - pub status: __BindgenUnionField<__s32>, - pub bindgen_union_field: u32, +#[derive(Copy, Clone)] +pub union kvm_irq_level__bindgen_ty_1 { + pub irq: __u32, + pub status: __s32, + _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_level__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_irq_level__bindgen_ty_1>() , 4usize , - concat ! ( - "Size of: " , stringify ! ( kvm_irq_level__bindgen_ty_1 ) )); - assert_eq! (::std::mem::align_of::<kvm_irq_level__bindgen_ty_1>() , 4usize - , concat ! ( - "Alignment of " , stringify ! ( kvm_irq_level__bindgen_ty_1 ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_level__bindgen_ty_1 ) ) . irq as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irq_level__bindgen_ty_1 ) , "::" , stringify ! ( irq ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_level__bindgen_ty_1 ) ) . status - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irq_level__bindgen_ty_1 ) , "::" , stringify ! ( status ) - )); -} -impl Clone for kvm_irq_level__bindgen_ty_1 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_irq_level__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(kvm_irq_level__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_irq_level__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_irq_level__bindgen_ty_1)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_level__bindgen_ty_1>())).irq as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_level__bindgen_ty_1), + "::", + stringify!(irq) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_level__bindgen_ty_1>())).status as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_level__bindgen_ty_1), + "::", + stringify!(status) + ) + ); +} +impl Default for kvm_irq_level__bindgen_ty_1 { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[test] fn bindgen_test_layout_kvm_irq_level() { - assert_eq!(::std::mem::size_of::<kvm_irq_level>() , 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_irq_level ) )); - assert_eq! (::std::mem::align_of::<kvm_irq_level>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_irq_level ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_level ) ) . level as * const _ as - usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_level ) , "::" - , stringify ! ( level ) )); -} -impl Clone for kvm_irq_level { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_irq_level>(), + 8usize, + concat!("Size of: ", stringify!(kvm_irq_level)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_irq_level>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_irq_level)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_level>())).level as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_level), + "::", + stringify!(level) + ) + ); +} +impl Default for kvm_irq_level { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[repr(C)] -#[derive(Copy)] +#[derive(Copy, Clone)] pub struct kvm_irqchip { pub chip_id: __u32, pub pad: __u32, pub chip: kvm_irqchip__bindgen_ty_1, } #[repr(C)] -#[derive(Copy)] -pub struct kvm_irqchip__bindgen_ty_1 { - pub dummy: __BindgenUnionField<[::std::os::raw::c_char; 512usize]>, - pub pic: __BindgenUnionField<kvm_pic_state>, - pub ioapic: __BindgenUnionField<kvm_ioapic_state>, - pub bindgen_union_field: [u64; 64usize], +#[derive(Copy, Clone)] +pub union kvm_irqchip__bindgen_ty_1 { + pub dummy: [::std::os::raw::c_char; 512usize], + pub pic: kvm_pic_state, + pub ioapic: kvm_ioapic_state, + _bindgen_union_align: [u64; 64usize], } #[test] fn bindgen_test_layout_kvm_irqchip__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_irqchip__bindgen_ty_1>() , 512usize , - concat ! ( - "Size of: " , stringify ! ( kvm_irqchip__bindgen_ty_1 ) )); - assert_eq! (::std::mem::align_of::<kvm_irqchip__bindgen_ty_1>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_irqchip__bindgen_ty_1 ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irqchip__bindgen_ty_1 ) ) . dummy as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irqchip__bindgen_ty_1 ) , "::" , stringify ! ( dummy ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irqchip__bindgen_ty_1 ) ) . pic as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irqchip__bindgen_ty_1 ) , "::" , stringify ! ( pic ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irqchip__bindgen_ty_1 ) ) . ioapic as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irqchip__bindgen_ty_1 ) , "::" , stringify ! ( ioapic ) - )); -} -impl Clone for kvm_irqchip__bindgen_ty_1 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_irqchip__bindgen_ty_1>(), + 512usize, + concat!("Size of: ", stringify!(kvm_irqchip__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_irqchip__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_irqchip__bindgen_ty_1)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irqchip__bindgen_ty_1>())).dummy as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irqchip__bindgen_ty_1), + "::", + stringify!(dummy) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irqchip__bindgen_ty_1>())).pic as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irqchip__bindgen_ty_1), + "::", + stringify!(pic) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irqchip__bindgen_ty_1>())).ioapic as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irqchip__bindgen_ty_1), + "::", + stringify!(ioapic) + ) + ); } impl Default for kvm_irqchip__bindgen_ty_1 { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[test] fn bindgen_test_layout_kvm_irqchip() { - assert_eq!(::std::mem::size_of::<kvm_irqchip>() , 520usize , concat ! ( - "Size of: " , stringify ! ( kvm_irqchip ) )); - assert_eq! (::std::mem::align_of::<kvm_irqchip>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_irqchip ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irqchip ) ) . chip_id as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irqchip ) , "::" , - stringify ! ( chip_id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irqchip ) ) . pad as * const _ as - usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irqchip ) , "::" , - stringify ! ( pad ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irqchip ) ) . chip as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irqchip ) , "::" , - stringify ! ( chip ) )); -} -impl Clone for kvm_irqchip { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_irqchip>(), + 520usize, + concat!("Size of: ", stringify!(kvm_irqchip)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_irqchip>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_irqchip)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irqchip>())).chip_id as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irqchip), + "::", + stringify!(chip_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irqchip>())).pad as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_irqchip), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irqchip>())).chip as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_irqchip), + "::", + stringify!(chip) + ) + ); } impl Default for kvm_irqchip { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_pit_config { pub flags: __u32, pub pad: [__u32; 15usize], } #[test] fn bindgen_test_layout_kvm_pit_config() { - assert_eq!(::std::mem::size_of::<kvm_pit_config>() , 64usize , concat ! ( - "Size of: " , stringify ! ( kvm_pit_config ) )); - assert_eq! (::std::mem::align_of::<kvm_pit_config>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_pit_config ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_config ) ) . flags as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_config ) , "::" - , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_pit_config ) ) . pad as * const _ as - usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_pit_config ) , "::" - , stringify ! ( pad ) )); -} -impl Clone for kvm_pit_config { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_pit_config>(), + 64usize, + concat!("Size of: ", stringify!(kvm_pit_config)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_pit_config>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_pit_config)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_config>())).flags as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_config), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_pit_config>())).pad as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_pit_config), + "::", + stringify!(pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct kvm_s390_skeys { + pub start_gfn: __u64, + pub count: __u64, + pub skeydata_addr: __u64, + pub flags: __u32, + pub reserved: [__u32; 9usize], +} +#[test] +fn bindgen_test_layout_kvm_s390_skeys() { + assert_eq!( + ::std::mem::size_of::<kvm_s390_skeys>(), + 64usize, + concat!("Size of: ", stringify!(kvm_s390_skeys)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_skeys>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_s390_skeys)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_skeys>())).start_gfn as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_skeys), + "::", + stringify!(start_gfn) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_skeys>())).count as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_skeys), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_skeys>())).skeydata_addr as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_skeys), + "::", + stringify!(skeydata_addr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_skeys>())).flags as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_skeys), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_skeys>())).reserved as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_skeys), + "::", + stringify!(reserved) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_run { pub request_interrupt_window: __u8, pub padding1: [__u8; 7usize], pub exit_reason: __u32, pub ready_for_interrupt_injection: __u8, pub if_flag: __u8, - pub padding2: [__u8; 2usize], + pub flags: __u16, pub cr8: __u64, pub apic_base: __u64, pub __bindgen_anon_1: kvm_run__bindgen_ty_1, @@ -2553,115 +4004,149 @@ pub struct kvm_run { pub s: kvm_run__bindgen_ty_2, } #[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct kvm_run__bindgen_ty_1 { - pub hw: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_1>, - pub fail_entry: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_2>, - pub ex: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_3>, - pub io: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_4>, - pub debug: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_5>, - pub mmio: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_6>, - pub hypercall: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_7>, - pub tpr_access: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_8>, - pub s390_sieic: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_9>, - pub s390_reset_flags: __BindgenUnionField<__u64>, - pub s390_ucontrol: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_10>, - pub dcr: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_11>, - pub internal: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_12>, - pub osi: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_13>, - pub papr_hcall: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_14>, - pub s390_tsch: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_15>, - pub epr: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_16>, - pub system_event: __BindgenUnionField<kvm_run__bindgen_ty_1__bindgen_ty_17>, - pub padding: __BindgenUnionField<[::std::os::raw::c_char; 256usize]>, - pub bindgen_union_field: [u64; 32usize], -} -#[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_1 { pub hardware_exit_reason: __u64, } +#[repr(C)] +#[derive(Copy, Clone)] +pub union kvm_run__bindgen_ty_1 { + pub hw: kvm_run__bindgen_ty_1__bindgen_ty_1, + pub fail_entry: kvm_run__bindgen_ty_1__bindgen_ty_2, + pub ex: kvm_run__bindgen_ty_1__bindgen_ty_3, + pub io: kvm_run__bindgen_ty_1__bindgen_ty_4, + pub debug: kvm_run__bindgen_ty_1__bindgen_ty_5, + pub mmio: kvm_run__bindgen_ty_1__bindgen_ty_6, + pub hypercall: kvm_run__bindgen_ty_1__bindgen_ty_7, + pub tpr_access: kvm_run__bindgen_ty_1__bindgen_ty_8, + pub s390_sieic: kvm_run__bindgen_ty_1__bindgen_ty_9, + pub s390_reset_flags: __u64, + pub s390_ucontrol: kvm_run__bindgen_ty_1__bindgen_ty_10, + pub dcr: kvm_run__bindgen_ty_1__bindgen_ty_11, + pub internal: kvm_run__bindgen_ty_1__bindgen_ty_12, + pub osi: kvm_run__bindgen_ty_1__bindgen_ty_13, + pub papr_hcall: kvm_run__bindgen_ty_1__bindgen_ty_14, + pub s390_tsch: kvm_run__bindgen_ty_1__bindgen_ty_15, + pub epr: kvm_run__bindgen_ty_1__bindgen_ty_16, + pub system_event: kvm_run__bindgen_ty_1__bindgen_ty_17, + pub s390_stsi: kvm_run__bindgen_ty_1__bindgen_ty_18, + pub eoi: kvm_run__bindgen_ty_1__bindgen_ty_19, + pub padding: [::std::os::raw::c_char; 256usize], + _bindgen_union_align: [u64; 32usize], +} #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_1>() , - 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_run__bindgen_ty_1__bindgen_ty_1 - ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_1>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_1 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_1 ) ) . - hardware_exit_reason as * const _ as usize } , 0usize , concat - ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( - hardware_exit_reason ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_1 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_1>())) + .hardware_exit_reason as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hardware_exit_reason) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_2 { pub hardware_entry_failure_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_2() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_2>() , - 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_run__bindgen_ty_1__bindgen_ty_2 - ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_2>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_2 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_2 ) ) . - hardware_entry_failure_reason as * const _ as usize } , 0usize - , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( - hardware_entry_failure_reason ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_2 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_2>())) + .hardware_entry_failure_reason as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(hardware_entry_failure_reason) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_3 { pub exception: __u32, pub error_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_3() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_3>() , - 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_run__bindgen_ty_1__bindgen_ty_3 - ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_3>() - , 4usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_3 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_3 ) ) . - exception as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( - exception ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_3 ) ) . - error_code as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( - error_code ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_3 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_3>(), + 4usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_3>())).exception as + *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(exception) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_3>())).error_code as + *const _ as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(error_code) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_4 { pub direction: __u8, pub size: __u8, @@ -2671,75 +4156,121 @@ pub struct kvm_run__bindgen_ty_1__bindgen_ty_4 { } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_4() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_4>() , - 16usize , concat ! ( - "Size of: " , stringify ! ( kvm_run__bindgen_ty_1__bindgen_ty_4 - ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_4>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_4 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_4 ) ) . - direction as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_4 ) , "::" , stringify ! ( - direction ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_4 ) ) . - size as * const _ as usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_4 ) , "::" , stringify ! ( - size ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_4 ) ) . - port as * const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_4 ) , "::" , stringify ! ( - port ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_4 ) ) . - count as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_4 ) , "::" , stringify ! ( - count ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_4 ) ) . - data_offset as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_4 ) , "::" , stringify ! ( - data_offset ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_4 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_4>(), + 16usize, + concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_4>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_4>())).direction as + *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(direction) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_4>())).size as *const _ as + usize + }, + 1usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(size) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_4>())).port as *const _ as + usize + }, + 2usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(port) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_4>())).count as *const _ as + usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_4>())).data_offset as + *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(data_offset) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_5 { pub arch: kvm_debug_exit_arch, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_5() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_5>() , - 32usize , concat ! ( - "Size of: " , stringify ! ( kvm_run__bindgen_ty_1__bindgen_ty_5 - ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_5>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_5 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_5 ) ) . - arch as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_5 ) , "::" , stringify ! ( - arch ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_5 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_5>(), + 32usize, + concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_5>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_5>())).arch as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5), + "::", + stringify!(arch) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_6 { pub phys_addr: __u64, pub data: [__u8; 8usize], @@ -2748,44 +4279,73 @@ pub struct kvm_run__bindgen_ty_1__bindgen_ty_6 { } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_6() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_6>() , - 24usize , concat ! ( - "Size of: " , stringify ! ( kvm_run__bindgen_ty_1__bindgen_ty_6 - ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_6>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_6 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_6 ) ) . - phys_addr as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_6 ) , "::" , stringify ! ( - phys_addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_6 ) ) . - data as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_6 ) , "::" , stringify ! ( - data ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_6 ) ) . - len as * const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_6 ) , "::" , stringify ! ( - len ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_6 ) ) . - is_write as * const _ as usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_6 ) , "::" , stringify ! ( - is_write ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_6 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_6>(), + 24usize, + concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_6>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_6>())).phys_addr as + *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(phys_addr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_6>())).data as *const _ as + usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_6>())).len as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(len) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_6>())).is_write as *const _ as + usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(is_write) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_7 { pub nr: __u64, pub args: [__u64; 6usize], @@ -2795,50 +4355,84 @@ pub struct kvm_run__bindgen_ty_1__bindgen_ty_7 { } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_7() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_7>() , - 72usize , concat ! ( - "Size of: " , stringify ! ( kvm_run__bindgen_ty_1__bindgen_ty_7 - ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_7>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_7 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_7 ) ) . - nr as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_7 ) , "::" , stringify ! ( - nr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_7 ) ) . - args as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_7 ) , "::" , stringify ! ( - args ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_7 ) ) . - ret as * const _ as usize } , 56usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_7 ) , "::" , stringify ! ( - ret ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_7 ) ) . - longmode as * const _ as usize } , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_7 ) , "::" , stringify ! ( - longmode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_7 ) ) . - pad as * const _ as usize } , 68usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_7 ) , "::" , stringify ! ( - pad ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_7 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_7>(), + 72usize, + concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_7>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_7>())).nr as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), + "::", + stringify!(nr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_7>())).args as *const _ as + usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), + "::", + stringify!(args) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_7>())).ret as *const _ as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), + "::", + stringify!(ret) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_7>())).longmode as *const _ as + usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), + "::", + stringify!(longmode) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_7>())).pad as *const _ as usize + }, + 68usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), + "::", + stringify!(pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_8 { pub rip: __u64, pub is_write: __u32, @@ -2846,38 +4440,59 @@ pub struct kvm_run__bindgen_ty_1__bindgen_ty_8 { } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_8() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_8>() , - 16usize , concat ! ( - "Size of: " , stringify ! ( kvm_run__bindgen_ty_1__bindgen_ty_8 - ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_8>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_8 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_8 ) ) . - rip as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_8 ) , "::" , stringify ! ( - rip ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_8 ) ) . - is_write as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_8 ) , "::" , stringify ! ( - is_write ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_8 ) ) . - pad as * const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_8 ) , "::" , stringify ! ( - pad ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_8 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_8>(), + 16usize, + concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_8>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_8>())).rip as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), + "::", + stringify!(rip) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_8>())).is_write as *const _ as + usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), + "::", + stringify!(is_write) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_8>())).pad as *const _ as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), + "::", + stringify!(pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_9 { pub icptcode: __u8, pub ipa: __u16, @@ -2885,70 +4500,110 @@ pub struct kvm_run__bindgen_ty_1__bindgen_ty_9 { } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_9() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_9>() , - 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_run__bindgen_ty_1__bindgen_ty_9 - ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_9>() - , 4usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_9 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_9 ) ) . - icptcode as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_9 ) , "::" , stringify ! ( - icptcode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_9 ) ) . - ipa as * const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_9 ) , "::" , stringify ! ( - ipa ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_9 ) ) . - ipb as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_9 ) , "::" , stringify ! ( - ipb ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_9 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_9>(), + 8usize, + concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_9>(), + 4usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_9>())).icptcode as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), + "::", + stringify!(icptcode) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_9>())).ipa as *const _ as usize + }, + 2usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), + "::", + stringify!(ipa) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_9>())).ipb as *const _ as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), + "::", + stringify!(ipb) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_10 { pub trans_exc_code: __u64, pub pgm_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_10() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_10>() , - 16usize , concat ! ( - "Size of: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_10 ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_10>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_10 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_10 ) ) - . trans_exc_code as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_10 ) , "::" , stringify ! ( - trans_exc_code ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_10 ) ) - . pgm_code as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_10 ) , "::" , stringify ! ( - pgm_code ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_10 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_10>(), + 16usize, + concat!( + "Size of: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) + ) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_10>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_10>())).trans_exc_code as + *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), + "::", + stringify!(trans_exc_code) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_10>())).pgm_code as + *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), + "::", + stringify!(pgm_code) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_11 { pub dcrn: __u32, pub data: __u32, @@ -2956,38 +4611,64 @@ pub struct kvm_run__bindgen_ty_1__bindgen_ty_11 { } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_11() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_11>() , - 12usize , concat ! ( - "Size of: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_11 ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_11>() - , 4usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_11 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_11 ) ) - . dcrn as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_11 ) , "::" , stringify ! ( - dcrn ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_11 ) ) - . data as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_11 ) , "::" , stringify ! ( - data ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_11 ) ) - . is_write as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_11 ) , "::" , stringify ! ( - is_write ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_11 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_11>(), + 12usize, + concat!( + "Size of: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) + ) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_11>(), + 4usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_11>())).dcrn as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), + "::", + stringify!(dcrn) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_11>())).data as *const _ as + usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_11>())).is_write as + *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), + "::", + stringify!(is_write) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_12 { pub suberror: __u32, pub ndata: __u32, @@ -2995,63 +4676,101 @@ pub struct kvm_run__bindgen_ty_1__bindgen_ty_12 { } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_12() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_12>() , - 136usize , concat ! ( - "Size of: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_12 ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_12>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_12 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_12 ) ) - . suberror as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_12 ) , "::" , stringify ! ( - suberror ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_12 ) ) - . ndata as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_12 ) , "::" , stringify ! ( - ndata ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_12 ) ) - . data as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_12 ) , "::" , stringify ! ( - data ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_12 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_12>(), + 136usize, + concat!( + "Size of: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) + ) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_12>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_12>())).suberror as + *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), + "::", + stringify!(suberror) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_12>())).ndata as *const _ as + usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), + "::", + stringify!(ndata) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_12>())).data as *const _ as + usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), + "::", + stringify!(data) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_13 { pub gprs: [__u64; 32usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_13() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_13>() , - 256usize , concat ! ( - "Size of: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_13 ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_13>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_13 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_13 ) ) - . gprs as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_13 ) , "::" , stringify ! ( - gprs ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_13 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_13>(), + 256usize, + concat!( + "Size of: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) + ) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_13>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_13>())).gprs as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13), + "::", + stringify!(gprs) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_14 { pub nr: __u64, pub ret: __u64, @@ -3059,38 +4778,63 @@ pub struct kvm_run__bindgen_ty_1__bindgen_ty_14 { } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_14() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_14>() , - 88usize , concat ! ( - "Size of: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_14 ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_14>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_14 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_14 ) ) - . nr as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_14 ) , "::" , stringify ! ( - nr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_14 ) ) - . ret as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_14 ) , "::" , stringify ! ( - ret ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_14 ) ) - . args as * const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_14 ) , "::" , stringify ! ( - args ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_14 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_14>(), + 88usize, + concat!( + "Size of: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) + ) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_14>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_14>())).nr as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), + "::", + stringify!(nr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_14>())).ret as *const _ as + usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), + "::", + stringify!(ret) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_14>())).args as *const _ as + usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), + "::", + stringify!(args) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_15 { pub subchannel_id: __u16, pub subchannel_nr: __u16, @@ -3101,321 +4845,739 @@ pub struct kvm_run__bindgen_ty_1__bindgen_ty_15 { } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_15() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_15>() , - 20usize , concat ! ( - "Size of: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_15 ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_15>() - , 4usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_15 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_15 ) ) - . subchannel_id as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_15 ) , "::" , stringify ! ( - subchannel_id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_15 ) ) - . subchannel_nr as * const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_15 ) , "::" , stringify ! ( - subchannel_nr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_15 ) ) - . io_int_parm as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_15 ) , "::" , stringify ! ( - io_int_parm ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_15 ) ) - . io_int_word as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_15 ) , "::" , stringify ! ( - io_int_word ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_15 ) ) - . ipb as * const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_15 ) , "::" , stringify ! ( - ipb ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_15 ) ) - . dequeued as * const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_15 ) , "::" , stringify ! ( - dequeued ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_15 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_15>(), + 20usize, + concat!( + "Size of: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) + ) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_15>(), + 4usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_15>())).subchannel_id as + *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), + "::", + stringify!(subchannel_id) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_15>())).subchannel_nr as + *const _ as usize + }, + 2usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), + "::", + stringify!(subchannel_nr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_15>())).io_int_parm as + *const _ as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), + "::", + stringify!(io_int_parm) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_15>())).io_int_word as + *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), + "::", + stringify!(io_int_word) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_15>())).ipb as *const _ as + usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), + "::", + stringify!(ipb) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_15>())).dequeued as + *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), + "::", + stringify!(dequeued) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_16 { pub epr: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_16() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_16>() , - 4usize , concat ! ( - "Size of: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_16 ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_16>() - , 4usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_16 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_16 ) ) - . epr as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_16 ) , "::" , stringify ! ( - epr ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_16 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_16>(), + 4usize, + concat!( + "Size of: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) + ) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_16>(), + 4usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_16>())).epr as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16), + "::", + stringify!(epr) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_17 { pub type_: __u32, pub flags: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_17() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_17>() , - 16usize , concat ! ( - "Size of: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_17 ) )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_17>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_17 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_17 ) ) - . type_ as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_17 ) , "::" , stringify ! ( - type_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1__bindgen_ty_17 ) ) - . flags as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_run__bindgen_ty_1__bindgen_ty_17 ) , "::" , stringify ! ( - flags ) )); -} -impl Clone for kvm_run__bindgen_ty_1__bindgen_ty_17 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_17>(), + 16usize, + concat!( + "Size of: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) + ) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_17>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_17>())).type_ as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_17>())).flags as *const _ as + usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), + "::", + stringify!(flags) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct kvm_run__bindgen_ty_1__bindgen_ty_18 { + pub addr: __u64, + pub ar: __u8, + pub reserved: __u8, + pub fc: __u8, + pub sel1: __u8, + pub sel2: __u16, +} +#[test] +fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_18() { + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_18>(), + 16usize, + concat!( + "Size of: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) + ) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_18>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_18>())).addr as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), + "::", + stringify!(addr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_18>())).ar as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), + "::", + stringify!(ar) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_18>())).reserved as + *const _ as usize + }, + 9usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_18>())).fc as *const _ as usize + }, + 10usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), + "::", + stringify!(fc) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_18>())).sel1 as *const _ as + usize + }, + 11usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), + "::", + stringify!(sel1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_18>())).sel2 as *const _ as + usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), + "::", + stringify!(sel2) + ) + ); } +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct kvm_run__bindgen_ty_1__bindgen_ty_19 { + pub vector: __u8, +} +#[test] +fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_19() { + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_19>(), + 1usize, + concat!( + "Size of: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) + ) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_19>(), + 1usize, + concat!( + "Alignment of ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1__bindgen_ty_19>())).vector as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19), + "::", + stringify!(vector) + ) + ); +} + #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_1>() , 256usize , - concat ! ( "Size of: " , stringify ! ( kvm_run__bindgen_ty_1 ) - )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_1>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_run__bindgen_ty_1 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . hw as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( hw ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . fail_entry as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( fail_entry ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . ex as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( ex ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . io as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( io ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . debug as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( debug ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . mmio as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( mmio ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . hypercall as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( hypercall ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . tpr_access as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( tpr_access ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . s390_sieic as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( s390_sieic ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . - s390_reset_flags as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( s390_reset_flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . s390_ucontrol - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( s390_ucontrol ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . dcr as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( dcr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . internal as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( internal ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . osi as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( osi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . papr_hcall as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( papr_hcall ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . s390_tsch as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( s390_tsch ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . epr as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( epr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . system_event - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( system_event ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_1 ) ) . padding as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_1 ) - , "::" , stringify ! ( padding ) )); -} -impl Clone for kvm_run__bindgen_ty_1 { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Copy)] -pub struct kvm_run__bindgen_ty_2 { - pub regs: __BindgenUnionField<kvm_sync_regs>, - pub padding: __BindgenUnionField<[::std::os::raw::c_char; 1024usize]>, - pub bindgen_union_field: [u8; 1024usize], + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_1>(), + 256usize, + concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_1)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).hw as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(hw) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).fail_entry as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(fail_entry) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).ex as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(ex) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).io as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(io) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).debug as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(debug) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).mmio as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(mmio) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).hypercall as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(hypercall) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).tpr_access as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(tpr_access) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).s390_sieic as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(s390_sieic) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).s390_reset_flags as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(s390_reset_flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).s390_ucontrol as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(s390_ucontrol) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).dcr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(dcr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).internal as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(internal) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).osi as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(osi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).papr_hcall as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(papr_hcall) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).s390_tsch as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(s390_tsch) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).epr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(epr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).system_event as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(system_event) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).s390_stsi as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(s390_stsi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).eoi as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(eoi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_1>())).padding as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_1), + "::", + stringify!(padding) + ) + ); +} +impl Default for kvm_run__bindgen_ty_1 { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union kvm_run__bindgen_ty_2 { + pub regs: kvm_sync_regs, + pub padding: [::std::os::raw::c_char; 2048usize], + _bindgen_union_align: [u8; 2048usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_2() { - assert_eq!(::std::mem::size_of::<kvm_run__bindgen_ty_2>() , 1024usize , - concat ! ( "Size of: " , stringify ! ( kvm_run__bindgen_ty_2 ) - )); - assert_eq! (::std::mem::align_of::<kvm_run__bindgen_ty_2>() , 1usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_run__bindgen_ty_2 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_2 ) ) . regs as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_2 ) - , "::" , stringify ! ( regs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run__bindgen_ty_2 ) ) . padding as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run__bindgen_ty_2 ) - , "::" , stringify ! ( padding ) )); -} -impl Clone for kvm_run__bindgen_ty_2 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_run__bindgen_ty_2>(), + 2048usize, + concat!("Size of: ", stringify!(kvm_run__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run__bindgen_ty_2>(), + 1usize, + concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_2)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_2>())).regs as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_2), + "::", + stringify!(regs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run__bindgen_ty_2>())).padding as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run__bindgen_ty_2), + "::", + stringify!(padding) + ) + ); } impl Default for kvm_run__bindgen_ty_2 { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[test] fn bindgen_test_layout_kvm_run() { - assert_eq!(::std::mem::size_of::<kvm_run>() , 1328usize , concat ! ( - "Size of: " , stringify ! ( kvm_run ) )); - assert_eq! (::std::mem::align_of::<kvm_run>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_run ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run ) ) . request_interrupt_window as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run ) , "::" , - stringify ! ( request_interrupt_window ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run ) ) . padding1 as * const _ as - usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run ) , "::" , - stringify ! ( padding1 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run ) ) . exit_reason as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run ) , "::" , - stringify ! ( exit_reason ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run ) ) . - ready_for_interrupt_injection as * const _ as usize } , - 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run ) , "::" , - stringify ! ( ready_for_interrupt_injection ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run ) ) . if_flag as * const _ as - usize } , 13usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run ) , "::" , - stringify ! ( if_flag ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run ) ) . padding2 as * const _ as - usize } , 14usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run ) , "::" , - stringify ! ( padding2 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run ) ) . cr8 as * const _ as usize } - , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run ) , "::" , - stringify ! ( cr8 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run ) ) . apic_base as * const _ as - usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run ) , "::" , - stringify ! ( apic_base ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run ) ) . kvm_valid_regs as * const _ - as usize } , 288usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run ) , "::" , - stringify ! ( kvm_valid_regs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run ) ) . kvm_dirty_regs as * const _ - as usize } , 296usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run ) , "::" , - stringify ! ( kvm_dirty_regs ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_run ) ) . s as * const _ as usize } , - 304usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_run ) , "::" , - stringify ! ( s ) )); -} -impl Clone for kvm_run { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_run>(), + 2352usize, + concat!("Size of: ", stringify!(kvm_run)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_run>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_run)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).request_interrupt_window as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", + stringify!(request_interrupt_window) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).padding1 as *const _ as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", + stringify!(padding1) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).exit_reason as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", + stringify!(exit_reason) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_run>())).ready_for_interrupt_injection as *const _ as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", + stringify!(ready_for_interrupt_injection) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).if_flag as *const _ as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", + stringify!(if_flag) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).flags as *const _ as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).cr8 as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", + stringify!(cr8) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).apic_base as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", + stringify!(apic_base) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).kvm_valid_regs as *const _ as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", + stringify!(kvm_valid_regs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).kvm_dirty_regs as *const _ as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", + stringify!(kvm_dirty_regs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).s as *const _ as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", + stringify!(s) + ) + ); } impl Default for kvm_run { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_coalesced_mmio_zone { pub addr: __u64, pub size: __u32, @@ -3423,33 +5585,49 @@ pub struct kvm_coalesced_mmio_zone { } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_zone() { - assert_eq!(::std::mem::size_of::<kvm_coalesced_mmio_zone>() , 16usize , - concat ! ( - "Size of: " , stringify ! ( kvm_coalesced_mmio_zone ) )); - assert_eq! (::std::mem::align_of::<kvm_coalesced_mmio_zone>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_coalesced_mmio_zone ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_coalesced_mmio_zone ) ) . addr as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_coalesced_mmio_zone - ) , "::" , stringify ! ( addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_coalesced_mmio_zone ) ) . size as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_coalesced_mmio_zone - ) , "::" , stringify ! ( size ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_coalesced_mmio_zone ) ) . pad as * - const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_coalesced_mmio_zone - ) , "::" , stringify ! ( pad ) )); -} -impl Clone for kvm_coalesced_mmio_zone { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_coalesced_mmio_zone>(), + 16usize, + concat!("Size of: ", stringify!(kvm_coalesced_mmio_zone)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_coalesced_mmio_zone>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_coalesced_mmio_zone)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_coalesced_mmio_zone>())).addr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_coalesced_mmio_zone), + "::", + stringify!(addr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_coalesced_mmio_zone>())).size as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_coalesced_mmio_zone), + "::", + stringify!(size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_coalesced_mmio_zone>())).pad as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_coalesced_mmio_zone), + "::", + stringify!(pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_coalesced_mmio { pub phys_addr: __u64, pub len: __u32, @@ -3458,71 +5636,113 @@ pub struct kvm_coalesced_mmio { } #[test] fn bindgen_test_layout_kvm_coalesced_mmio() { - assert_eq!(::std::mem::size_of::<kvm_coalesced_mmio>() , 24usize , concat - ! ( "Size of: " , stringify ! ( kvm_coalesced_mmio ) )); - assert_eq! (::std::mem::align_of::<kvm_coalesced_mmio>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( kvm_coalesced_mmio ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_coalesced_mmio ) ) . phys_addr as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_coalesced_mmio ) , - "::" , stringify ! ( phys_addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_coalesced_mmio ) ) . len as * const _ - as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_coalesced_mmio ) , - "::" , stringify ! ( len ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_coalesced_mmio ) ) . pad as * const _ - as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_coalesced_mmio ) , - "::" , stringify ! ( pad ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_coalesced_mmio ) ) . data as * const - _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_coalesced_mmio ) , - "::" , stringify ! ( data ) )); -} -impl Clone for kvm_coalesced_mmio { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_coalesced_mmio>(), + 24usize, + concat!("Size of: ", stringify!(kvm_coalesced_mmio)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_coalesced_mmio>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_coalesced_mmio)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_coalesced_mmio>())).phys_addr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_coalesced_mmio), + "::", + stringify!(phys_addr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_coalesced_mmio>())).len as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_coalesced_mmio), + "::", + stringify!(len) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_coalesced_mmio>())).pad as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_coalesced_mmio), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_coalesced_mmio>())).data as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_coalesced_mmio), + "::", + stringify!(data) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default)] pub struct kvm_coalesced_mmio_ring { pub first: __u32, pub last: __u32, pub coalesced_mmio: __IncompleteArrayField<kvm_coalesced_mmio>, - pub __force_alignment: [u64; 0], + // Manually added to work around rust bindgen issue 684 + __force_alignment: [u64; 0], } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_ring() { - assert_eq!(::std::mem::size_of::<kvm_coalesced_mmio_ring>() , 8usize , - concat ! ( - "Size of: " , stringify ! ( kvm_coalesced_mmio_ring ) )); - assert_eq! (::std::mem::align_of::<kvm_coalesced_mmio_ring>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_coalesced_mmio_ring ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_coalesced_mmio_ring ) ) . first as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_coalesced_mmio_ring - ) , "::" , stringify ! ( first ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_coalesced_mmio_ring ) ) . last as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_coalesced_mmio_ring - ) , "::" , stringify ! ( last ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_coalesced_mmio_ring ) ) . - coalesced_mmio as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_coalesced_mmio_ring - ) , "::" , stringify ! ( coalesced_mmio ) )); -} -impl Clone for kvm_coalesced_mmio_ring { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_coalesced_mmio_ring>(), + 8usize, + concat!("Size of: ", stringify!(kvm_coalesced_mmio_ring)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_coalesced_mmio_ring>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_coalesced_mmio_ring)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_coalesced_mmio_ring>())).first as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_coalesced_mmio_ring), + "::", + stringify!(first) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_coalesced_mmio_ring>())).last as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_coalesced_mmio_ring), + "::", + stringify!(last) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_coalesced_mmio_ring>())).coalesced_mmio as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_coalesced_mmio_ring), + "::", + stringify!(coalesced_mmio) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_translation { pub linear_address: __u64, pub physical_address: __u64, @@ -3533,151 +5753,335 @@ pub struct kvm_translation { } #[test] fn bindgen_test_layout_kvm_translation() { - assert_eq!(::std::mem::size_of::<kvm_translation>() , 24usize , concat ! ( - "Size of: " , stringify ! ( kvm_translation ) )); - assert_eq! (::std::mem::align_of::<kvm_translation>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( kvm_translation ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_translation ) ) . linear_address as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_translation ) , - "::" , stringify ! ( linear_address ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_translation ) ) . physical_address as - * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_translation ) , - "::" , stringify ! ( physical_address ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_translation ) ) . valid as * const _ - as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_translation ) , - "::" , stringify ! ( valid ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_translation ) ) . writeable as * - const _ as usize } , 17usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_translation ) , - "::" , stringify ! ( writeable ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_translation ) ) . usermode as * const - _ as usize } , 18usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_translation ) , - "::" , stringify ! ( usermode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_translation ) ) . pad as * const _ as - usize } , 19usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_translation ) , - "::" , stringify ! ( pad ) )); -} -impl Clone for kvm_translation { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_translation>(), + 24usize, + concat!("Size of: ", stringify!(kvm_translation)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_translation>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_translation)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_translation>())).linear_address as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_translation), + "::", + stringify!(linear_address) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_translation>())).physical_address as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_translation), + "::", + stringify!(physical_address) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_translation>())).valid as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_translation), + "::", + stringify!(valid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_translation>())).writeable as *const _ as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(kvm_translation), + "::", + stringify!(writeable) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_translation>())).usermode as *const _ as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(kvm_translation), + "::", + stringify!(usermode) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_translation>())).pad as *const _ as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(kvm_translation), + "::", + stringify!(pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct kvm_s390_mem_op { + pub gaddr: __u64, + pub flags: __u64, + pub size: __u32, + pub op: __u32, + pub buf: __u64, + pub ar: __u8, + pub reserved: [__u8; 31usize], +} +#[test] +fn bindgen_test_layout_kvm_s390_mem_op() { + assert_eq!( + ::std::mem::size_of::<kvm_s390_mem_op>(), + 64usize, + concat!("Size of: ", stringify!(kvm_s390_mem_op)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_mem_op>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_s390_mem_op)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mem_op>())).gaddr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mem_op), + "::", + stringify!(gaddr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mem_op>())).flags as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mem_op), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mem_op>())).size as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mem_op), + "::", + stringify!(size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mem_op>())).op as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mem_op), + "::", + stringify!(op) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mem_op>())).buf as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mem_op), + "::", + stringify!(buf) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mem_op>())).ar as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mem_op), + "::", + stringify!(ar) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mem_op>())).reserved as *const _ as usize }, + 33usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mem_op), + "::", + stringify!(reserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_interrupt { pub irq: __u32, } #[test] fn bindgen_test_layout_kvm_interrupt() { - assert_eq!(::std::mem::size_of::<kvm_interrupt>() , 4usize , concat ! ( - "Size of: " , stringify ! ( kvm_interrupt ) )); - assert_eq! (::std::mem::align_of::<kvm_interrupt>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_interrupt ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_interrupt ) ) . irq as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_interrupt ) , "::" - , stringify ! ( irq ) )); -} -impl Clone for kvm_interrupt { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_interrupt>(), + 4usize, + concat!("Size of: ", stringify!(kvm_interrupt)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_interrupt>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_interrupt)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_interrupt>())).irq as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_interrupt), + "::", + stringify!(irq) + ) + ); } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Copy, Clone)] pub struct kvm_dirty_log { pub slot: __u32, pub padding1: __u32, pub __bindgen_anon_1: kvm_dirty_log__bindgen_ty_1, } #[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct kvm_dirty_log__bindgen_ty_1 { - pub dirty_bitmap: __BindgenUnionField<*mut ::std::os::raw::c_void>, - pub padding2: __BindgenUnionField<__u64>, - pub bindgen_union_field: u64, +#[derive(Copy, Clone)] +pub union kvm_dirty_log__bindgen_ty_1 { + pub dirty_bitmap: *mut::std::os::raw::c_void, + pub padding2: __u64, + _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_dirty_log__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_dirty_log__bindgen_ty_1>() , 8usize , - concat ! ( - "Size of: " , stringify ! ( kvm_dirty_log__bindgen_ty_1 ) )); - assert_eq! (::std::mem::align_of::<kvm_dirty_log__bindgen_ty_1>() , 8usize - , concat ! ( - "Alignment of " , stringify ! ( kvm_dirty_log__bindgen_ty_1 ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_dirty_log__bindgen_ty_1 ) ) . - dirty_bitmap as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_dirty_log__bindgen_ty_1 ) , "::" , stringify ! ( - dirty_bitmap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_dirty_log__bindgen_ty_1 ) ) . - padding2 as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_dirty_log__bindgen_ty_1 ) , "::" , stringify ! ( padding2 - ) )); -} -impl Clone for kvm_dirty_log__bindgen_ty_1 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_dirty_log__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(kvm_dirty_log__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_dirty_log__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_dirty_log__bindgen_ty_1)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_dirty_log__bindgen_ty_1>())).dirty_bitmap as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_dirty_log__bindgen_ty_1), + "::", + stringify!(dirty_bitmap) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_dirty_log__bindgen_ty_1>())).padding2 as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_dirty_log__bindgen_ty_1), + "::", + stringify!(padding2) + ) + ); +} +impl Default for kvm_dirty_log__bindgen_ty_1 { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[test] fn bindgen_test_layout_kvm_dirty_log() { - assert_eq!(::std::mem::size_of::<kvm_dirty_log>() , 16usize , concat ! ( - "Size of: " , stringify ! ( kvm_dirty_log ) )); - assert_eq! (::std::mem::align_of::<kvm_dirty_log>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_dirty_log ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_dirty_log ) ) . slot as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_dirty_log ) , "::" - , stringify ! ( slot ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_dirty_log ) ) . padding1 as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_dirty_log ) , "::" - , stringify ! ( padding1 ) )); -} -impl Clone for kvm_dirty_log { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_dirty_log>(), + 16usize, + concat!("Size of: ", stringify!(kvm_dirty_log)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_dirty_log>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_dirty_log)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_dirty_log>())).slot as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_dirty_log), + "::", + stringify!(slot) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_dirty_log>())).padding1 as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_dirty_log), + "::", + stringify!(padding1) + ) + ); +} +impl Default for kvm_dirty_log { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Default)] pub struct kvm_signal_mask { pub len: __u32, pub sigset: __IncompleteArrayField<__u8>, } #[test] fn bindgen_test_layout_kvm_signal_mask() { - assert_eq!(::std::mem::size_of::<kvm_signal_mask>() , 4usize , concat ! ( - "Size of: " , stringify ! ( kvm_signal_mask ) )); - assert_eq! (::std::mem::align_of::<kvm_signal_mask>() , 4usize , concat ! - ( "Alignment of " , stringify ! ( kvm_signal_mask ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_signal_mask ) ) . len as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_signal_mask ) , - "::" , stringify ! ( len ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_signal_mask ) ) . sigset as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_signal_mask ) , - "::" , stringify ! ( sigset ) )); -} -impl Clone for kvm_signal_mask { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_signal_mask>(), + 4usize, + concat!("Size of: ", stringify!(kvm_signal_mask)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_signal_mask>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_signal_mask)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_signal_mask>())).len as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_signal_mask), + "::", + stringify!(len) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_signal_mask>())).sigset as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_signal_mask), + "::", + stringify!(sigset) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_tpr_access_ctl { pub enabled: __u32, pub flags: __u32, @@ -3685,97 +6089,144 @@ pub struct kvm_tpr_access_ctl { } #[test] fn bindgen_test_layout_kvm_tpr_access_ctl() { - assert_eq!(::std::mem::size_of::<kvm_tpr_access_ctl>() , 40usize , concat - ! ( "Size of: " , stringify ! ( kvm_tpr_access_ctl ) )); - assert_eq! (::std::mem::align_of::<kvm_tpr_access_ctl>() , 4usize , concat - ! ( "Alignment of " , stringify ! ( kvm_tpr_access_ctl ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_tpr_access_ctl ) ) . enabled as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_tpr_access_ctl ) , - "::" , stringify ! ( enabled ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_tpr_access_ctl ) ) . flags as * const - _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_tpr_access_ctl ) , - "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_tpr_access_ctl ) ) . reserved as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_tpr_access_ctl ) , - "::" , stringify ! ( reserved ) )); -} -impl Clone for kvm_tpr_access_ctl { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_tpr_access_ctl>(), + 40usize, + concat!("Size of: ", stringify!(kvm_tpr_access_ctl)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_tpr_access_ctl>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_tpr_access_ctl)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_tpr_access_ctl>())).enabled as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_tpr_access_ctl), + "::", + stringify!(enabled) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_tpr_access_ctl>())).flags as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_tpr_access_ctl), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_tpr_access_ctl>())).reserved as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_tpr_access_ctl), + "::", + stringify!(reserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_vapic_addr { pub vapic_addr: __u64, } #[test] fn bindgen_test_layout_kvm_vapic_addr() { - assert_eq!(::std::mem::size_of::<kvm_vapic_addr>() , 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_vapic_addr ) )); - assert_eq! (::std::mem::align_of::<kvm_vapic_addr>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_vapic_addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_vapic_addr ) ) . vapic_addr as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_vapic_addr ) , "::" - , stringify ! ( vapic_addr ) )); -} -impl Clone for kvm_vapic_addr { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_vapic_addr>(), + 8usize, + concat!("Size of: ", stringify!(kvm_vapic_addr)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_vapic_addr>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_vapic_addr)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_vapic_addr>())).vapic_addr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_vapic_addr), + "::", + stringify!(vapic_addr) + ) + ); } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_mp_state { pub mp_state: __u32, } #[test] fn bindgen_test_layout_kvm_mp_state() { - assert_eq!(::std::mem::size_of::<kvm_mp_state>() , 4usize , concat ! ( - "Size of: " , stringify ! ( kvm_mp_state ) )); - assert_eq! (::std::mem::align_of::<kvm_mp_state>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_mp_state ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_mp_state ) ) . mp_state as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_mp_state ) , "::" , - stringify ! ( mp_state ) )); -} -impl Clone for kvm_mp_state { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_mp_state>(), + 4usize, + concat!("Size of: ", stringify!(kvm_mp_state)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_mp_state>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_mp_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_mp_state>())).mp_state as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_mp_state), + "::", + stringify!(mp_state) + ) + ); } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_s390_psw { pub mask: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_s390_psw() { - assert_eq!(::std::mem::size_of::<kvm_s390_psw>() , 16usize , concat ! ( - "Size of: " , stringify ! ( kvm_s390_psw ) )); - assert_eq! (::std::mem::align_of::<kvm_s390_psw>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_s390_psw ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_psw ) ) . mask as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_psw ) , "::" , - stringify ! ( mask ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_psw ) ) . addr as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_psw ) , "::" , - stringify ! ( addr ) )); -} -impl Clone for kvm_s390_psw { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_s390_psw>(), + 16usize, + concat!("Size of: ", stringify!(kvm_s390_psw)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_psw>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_s390_psw)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_psw>())).mask as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_psw), + "::", + stringify!(mask) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_psw>())).addr as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_psw), + "::", + stringify!(addr) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_s390_interrupt { pub type_: __u32, pub parm: __u32, @@ -3783,31 +6234,49 @@ pub struct kvm_s390_interrupt { } #[test] fn bindgen_test_layout_kvm_s390_interrupt() { - assert_eq!(::std::mem::size_of::<kvm_s390_interrupt>() , 16usize , concat - ! ( "Size of: " , stringify ! ( kvm_s390_interrupt ) )); - assert_eq! (::std::mem::align_of::<kvm_s390_interrupt>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( kvm_s390_interrupt ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_interrupt ) ) . type_ as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_interrupt ) , - "::" , stringify ! ( type_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_interrupt ) ) . parm as * const - _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_interrupt ) , - "::" , stringify ! ( parm ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_interrupt ) ) . parm64 as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_interrupt ) , - "::" , stringify ! ( parm64 ) )); -} -impl Clone for kvm_s390_interrupt { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_s390_interrupt>(), + 16usize, + concat!("Size of: ", stringify!(kvm_s390_interrupt)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_interrupt>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_s390_interrupt)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_interrupt>())).type_ as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_interrupt), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_interrupt>())).parm as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_interrupt), + "::", + stringify!(parm) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_interrupt>())).parm64 as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_interrupt), + "::", + stringify!(parm64) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_s390_io_info { pub subchannel_id: __u16, pub subchannel_nr: __u16, @@ -3816,36 +6285,59 @@ pub struct kvm_s390_io_info { } #[test] fn bindgen_test_layout_kvm_s390_io_info() { - assert_eq!(::std::mem::size_of::<kvm_s390_io_info>() , 12usize , concat ! - ( "Size of: " , stringify ! ( kvm_s390_io_info ) )); - assert_eq! (::std::mem::align_of::<kvm_s390_io_info>() , 4usize , concat ! - ( "Alignment of " , stringify ! ( kvm_s390_io_info ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_io_info ) ) . subchannel_id as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_io_info ) , - "::" , stringify ! ( subchannel_id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_io_info ) ) . subchannel_nr as * - const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_io_info ) , - "::" , stringify ! ( subchannel_nr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_io_info ) ) . io_int_parm as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_io_info ) , - "::" , stringify ! ( io_int_parm ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_io_info ) ) . io_int_word as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_io_info ) , - "::" , stringify ! ( io_int_word ) )); -} -impl Clone for kvm_s390_io_info { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_s390_io_info>(), + 12usize, + concat!("Size of: ", stringify!(kvm_s390_io_info)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_io_info>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_s390_io_info)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_io_info>())).subchannel_id as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_io_info), + "::", + stringify!(subchannel_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_io_info>())).subchannel_nr as *const _ as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_io_info), + "::", + stringify!(subchannel_nr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_io_info>())).io_int_parm as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_io_info), + "::", + stringify!(io_int_parm) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_io_info>())).io_int_word as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_io_info), + "::", + stringify!(io_int_word) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_s390_ext_info { pub ext_params: __u32, pub pad: __u32, @@ -3853,31 +6345,49 @@ pub struct kvm_s390_ext_info { } #[test] fn bindgen_test_layout_kvm_s390_ext_info() { - assert_eq!(::std::mem::size_of::<kvm_s390_ext_info>() , 16usize , concat ! - ( "Size of: " , stringify ! ( kvm_s390_ext_info ) )); - assert_eq! (::std::mem::align_of::<kvm_s390_ext_info>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( kvm_s390_ext_info ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_ext_info ) ) . ext_params as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_ext_info ) , - "::" , stringify ! ( ext_params ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_ext_info ) ) . pad as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_ext_info ) , - "::" , stringify ! ( pad ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_ext_info ) ) . ext_params2 as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_ext_info ) , - "::" , stringify ! ( ext_params2 ) )); -} -impl Clone for kvm_s390_ext_info { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_s390_ext_info>(), + 16usize, + concat!("Size of: ", stringify!(kvm_s390_ext_info)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_ext_info>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_s390_ext_info)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_ext_info>())).ext_params as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_ext_info), + "::", + stringify!(ext_params) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_ext_info>())).pad as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_ext_info), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_ext_info>())).ext_params2 as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_ext_info), + "::", + stringify!(ext_params2) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_s390_pgm_info { pub trans_exc_code: __u64, pub mon_code: __u64, @@ -3894,160 +6404,251 @@ pub struct kvm_s390_pgm_info { } #[test] fn bindgen_test_layout_kvm_s390_pgm_info() { - assert_eq!(::std::mem::size_of::<kvm_s390_pgm_info>() , 40usize , concat ! - ( "Size of: " , stringify ! ( kvm_s390_pgm_info ) )); - assert_eq! (::std::mem::align_of::<kvm_s390_pgm_info>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( kvm_s390_pgm_info ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . trans_exc_code as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( trans_exc_code ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . mon_code as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( mon_code ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . per_address as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( per_address ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . data_exc_code as - * const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( data_exc_code ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . code as * const _ - as usize } , 28usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( code ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . mon_class_nr as * - const _ as usize } , 30usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( mon_class_nr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . per_code as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( per_code ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . per_atmid as * - const _ as usize } , 33usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( per_atmid ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . exc_access_id as - * const _ as usize } , 34usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( exc_access_id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . per_access_id as - * const _ as usize } , 35usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( per_access_id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . op_access_id as * - const _ as usize } , 36usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( op_access_id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_pgm_info ) ) . pad as * const _ - as usize } , 37usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_pgm_info ) , - "::" , stringify ! ( pad ) )); -} -impl Clone for kvm_s390_pgm_info { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_s390_pgm_info>(), + 40usize, + concat!("Size of: ", stringify!(kvm_s390_pgm_info)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_pgm_info>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_s390_pgm_info)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).trans_exc_code as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(trans_exc_code) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).mon_code as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(mon_code) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).per_address as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(per_address) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).data_exc_code as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(data_exc_code) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).code as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(code) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).mon_class_nr as *const _ as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(mon_class_nr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).per_code as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(per_code) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).per_atmid as *const _ as usize }, + 33usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(per_atmid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).exc_access_id as *const _ as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(exc_access_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).per_access_id as *const _ as usize }, + 35usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(per_access_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).op_access_id as *const _ as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(op_access_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_pgm_info>())).pad as *const _ as usize }, + 37usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_pgm_info), + "::", + stringify!(pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_s390_prefix_info { pub address: __u32, } #[test] fn bindgen_test_layout_kvm_s390_prefix_info() { - assert_eq!(::std::mem::size_of::<kvm_s390_prefix_info>() , 4usize , concat - ! ( "Size of: " , stringify ! ( kvm_s390_prefix_info ) )); - assert_eq! (::std::mem::align_of::<kvm_s390_prefix_info>() , 4usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_s390_prefix_info ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_prefix_info ) ) . address as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_prefix_info ) - , "::" , stringify ! ( address ) )); -} -impl Clone for kvm_s390_prefix_info { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_s390_prefix_info>(), + 4usize, + concat!("Size of: ", stringify!(kvm_s390_prefix_info)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_prefix_info>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_s390_prefix_info)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_prefix_info>())).address as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_prefix_info), + "::", + stringify!(address) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_s390_extcall_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_extcall_info() { - assert_eq!(::std::mem::size_of::<kvm_s390_extcall_info>() , 2usize , - concat ! ( "Size of: " , stringify ! ( kvm_s390_extcall_info ) - )); - assert_eq! (::std::mem::align_of::<kvm_s390_extcall_info>() , 2usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_s390_extcall_info ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_extcall_info ) ) . code as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_extcall_info ) - , "::" , stringify ! ( code ) )); -} -impl Clone for kvm_s390_extcall_info { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_s390_extcall_info>(), + 2usize, + concat!("Size of: ", stringify!(kvm_s390_extcall_info)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_extcall_info>(), + 2usize, + concat!("Alignment of ", stringify!(kvm_s390_extcall_info)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_extcall_info>())).code as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_extcall_info), + "::", + stringify!(code) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_s390_emerg_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_emerg_info() { - assert_eq!(::std::mem::size_of::<kvm_s390_emerg_info>() , 2usize , concat - ! ( "Size of: " , stringify ! ( kvm_s390_emerg_info ) )); - assert_eq! (::std::mem::align_of::<kvm_s390_emerg_info>() , 2usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_s390_emerg_info ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_emerg_info ) ) . code as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_emerg_info ) , - "::" , stringify ! ( code ) )); -} -impl Clone for kvm_s390_emerg_info { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_s390_emerg_info>(), + 2usize, + concat!("Size of: ", stringify!(kvm_s390_emerg_info)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_emerg_info>(), + 2usize, + concat!("Alignment of ", stringify!(kvm_s390_emerg_info)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_emerg_info>())).code as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_emerg_info), + "::", + stringify!(code) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_s390_stop_info { pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_s390_stop_info() { - assert_eq!(::std::mem::size_of::<kvm_s390_stop_info>() , 4usize , concat ! - ( "Size of: " , stringify ! ( kvm_s390_stop_info ) )); - assert_eq! (::std::mem::align_of::<kvm_s390_stop_info>() , 4usize , concat - ! ( "Alignment of " , stringify ! ( kvm_s390_stop_info ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_stop_info ) ) . flags as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_stop_info ) , - "::" , stringify ! ( flags ) )); -} -impl Clone for kvm_s390_stop_info { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_s390_stop_info>(), + 4usize, + concat!("Size of: ", stringify!(kvm_s390_stop_info)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_stop_info>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_s390_stop_info)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_stop_info>())).flags as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_stop_info), + "::", + stringify!(flags) + ) + ); } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_s390_mchk_info { pub cr14: __u64, pub mcic: __u64, @@ -4058,149 +6659,309 @@ pub struct kvm_s390_mchk_info { } #[test] fn bindgen_test_layout_kvm_s390_mchk_info() { - assert_eq!(::std::mem::size_of::<kvm_s390_mchk_info>() , 48usize , concat - ! ( "Size of: " , stringify ! ( kvm_s390_mchk_info ) )); - assert_eq! (::std::mem::align_of::<kvm_s390_mchk_info>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( kvm_s390_mchk_info ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_mchk_info ) ) . cr14 as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_mchk_info ) , - "::" , stringify ! ( cr14 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_mchk_info ) ) . mcic as * const - _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_mchk_info ) , - "::" , stringify ! ( mcic ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_mchk_info ) ) . - failing_storage_address as * const _ as usize } , 16usize , - concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_mchk_info ) , - "::" , stringify ! ( failing_storage_address ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_mchk_info ) ) . ext_damage_code - as * const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_mchk_info ) , - "::" , stringify ! ( ext_damage_code ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_mchk_info ) ) . pad as * const _ - as usize } , 28usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_mchk_info ) , - "::" , stringify ! ( pad ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_mchk_info ) ) . fixed_logout as - * const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_mchk_info ) , - "::" , stringify ! ( fixed_logout ) )); -} -impl Clone for kvm_s390_mchk_info { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_s390_mchk_info>(), + 48usize, + concat!("Size of: ", stringify!(kvm_s390_mchk_info)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_mchk_info>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_s390_mchk_info)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mchk_info>())).cr14 as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mchk_info), + "::", + stringify!(cr14) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mchk_info>())).mcic as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mchk_info), + "::", + stringify!(mcic) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_s390_mchk_info>())).failing_storage_address as *const _ as + usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mchk_info), + "::", + stringify!(failing_storage_address) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mchk_info>())).ext_damage_code as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mchk_info), + "::", + stringify!(ext_damage_code) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mchk_info>())).pad as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mchk_info), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_mchk_info>())).fixed_logout as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_mchk_info), + "::", + stringify!(fixed_logout) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_s390_irq { pub type_: __u64, pub u: kvm_s390_irq__bindgen_ty_1, } #[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct kvm_s390_irq__bindgen_ty_1 { - pub io: __BindgenUnionField<kvm_s390_io_info>, - pub ext: __BindgenUnionField<kvm_s390_ext_info>, - pub pgm: __BindgenUnionField<kvm_s390_pgm_info>, - pub emerg: __BindgenUnionField<kvm_s390_emerg_info>, - pub extcall: __BindgenUnionField<kvm_s390_extcall_info>, - pub prefix: __BindgenUnionField<kvm_s390_prefix_info>, - pub stop: __BindgenUnionField<kvm_s390_stop_info>, - pub mchk: __BindgenUnionField<kvm_s390_mchk_info>, - pub reserved: __BindgenUnionField<[::std::os::raw::c_char; 64usize]>, - pub bindgen_union_field: [u64; 8usize], +#[derive(Copy, Clone)] +pub union kvm_s390_irq__bindgen_ty_1 { + pub io: kvm_s390_io_info, + pub ext: kvm_s390_ext_info, + pub pgm: kvm_s390_pgm_info, + pub emerg: kvm_s390_emerg_info, + pub extcall: kvm_s390_extcall_info, + pub prefix: kvm_s390_prefix_info, + pub stop: kvm_s390_stop_info, + pub mchk: kvm_s390_mchk_info, + pub reserved: [::std::os::raw::c_char; 64usize], + _bindgen_union_align: [u64; 8usize], } #[test] fn bindgen_test_layout_kvm_s390_irq__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_s390_irq__bindgen_ty_1>() , 64usize , - concat ! ( - "Size of: " , stringify ! ( kvm_s390_irq__bindgen_ty_1 ) )); - assert_eq! (::std::mem::align_of::<kvm_s390_irq__bindgen_ty_1>() , 8usize - , concat ! ( - "Alignment of " , stringify ! ( kvm_s390_irq__bindgen_ty_1 ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_irq__bindgen_ty_1 ) ) . io as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_s390_irq__bindgen_ty_1 ) , "::" , stringify ! ( io ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_irq__bindgen_ty_1 ) ) . ext as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_s390_irq__bindgen_ty_1 ) , "::" , stringify ! ( ext ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_irq__bindgen_ty_1 ) ) . pgm as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_s390_irq__bindgen_ty_1 ) , "::" , stringify ! ( pgm ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_irq__bindgen_ty_1 ) ) . emerg as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_s390_irq__bindgen_ty_1 ) , "::" , stringify ! ( emerg ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_irq__bindgen_ty_1 ) ) . extcall - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_s390_irq__bindgen_ty_1 ) , "::" , stringify ! ( extcall ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_irq__bindgen_ty_1 ) ) . prefix - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_s390_irq__bindgen_ty_1 ) , "::" , stringify ! ( prefix ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_irq__bindgen_ty_1 ) ) . stop as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_s390_irq__bindgen_ty_1 ) , "::" , stringify ! ( stop ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_irq__bindgen_ty_1 ) ) . mchk as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_s390_irq__bindgen_ty_1 ) , "::" , stringify ! ( mchk ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_irq__bindgen_ty_1 ) ) . reserved - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_s390_irq__bindgen_ty_1 ) , "::" , stringify ! ( reserved ) - )); -} -impl Clone for kvm_s390_irq__bindgen_ty_1 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_s390_irq__bindgen_ty_1>(), + 64usize, + concat!("Size of: ", stringify!(kvm_s390_irq__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_irq__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_s390_irq__bindgen_ty_1)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq__bindgen_ty_1>())).io as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq__bindgen_ty_1), + "::", + stringify!(io) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq__bindgen_ty_1>())).ext as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq__bindgen_ty_1), + "::", + stringify!(ext) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq__bindgen_ty_1>())).pgm as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq__bindgen_ty_1), + "::", + stringify!(pgm) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq__bindgen_ty_1>())).emerg as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq__bindgen_ty_1), + "::", + stringify!(emerg) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq__bindgen_ty_1>())).extcall as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq__bindgen_ty_1), + "::", + stringify!(extcall) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq__bindgen_ty_1>())).prefix as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq__bindgen_ty_1), + "::", + stringify!(prefix) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq__bindgen_ty_1>())).stop as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq__bindgen_ty_1), + "::", + stringify!(stop) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq__bindgen_ty_1>())).mchk as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq__bindgen_ty_1), + "::", + stringify!(mchk) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq__bindgen_ty_1>())).reserved as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq__bindgen_ty_1), + "::", + stringify!(reserved) + ) + ); +} +impl Default for kvm_s390_irq__bindgen_ty_1 { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[test] fn bindgen_test_layout_kvm_s390_irq() { - assert_eq!(::std::mem::size_of::<kvm_s390_irq>() , 72usize , concat ! ( - "Size of: " , stringify ! ( kvm_s390_irq ) )); - assert_eq! (::std::mem::align_of::<kvm_s390_irq>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_s390_irq ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_irq ) ) . type_ as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_irq ) , "::" , - stringify ! ( type_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_irq ) ) . u as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_irq ) , "::" , - stringify ! ( u ) )); -} -impl Clone for kvm_s390_irq { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_s390_irq>(), + 72usize, + concat!("Size of: ", stringify!(kvm_s390_irq)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_irq>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_s390_irq)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq>())).type_ as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq>())).u as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq), + "::", + stringify!(u) + ) + ); +} +impl Default for kvm_s390_irq { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct kvm_s390_irq_state { + pub buf: __u64, + pub flags: __u32, + pub len: __u32, + pub reserved: [__u32; 4usize], +} +#[test] +fn bindgen_test_layout_kvm_s390_irq_state() { + assert_eq!( + ::std::mem::size_of::<kvm_s390_irq_state>(), + 32usize, + concat!("Size of: ", stringify!(kvm_s390_irq_state)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_irq_state>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_s390_irq_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq_state>())).buf as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq_state), + "::", + stringify!(buf) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq_state>())).flags as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq_state), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq_state>())).len as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq_state), + "::", + stringify!(len) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_irq_state>())).reserved as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_irq_state), + "::", + stringify!(reserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_guest_debug { pub control: __u32, pub pad: __u32, @@ -4208,28 +6969,46 @@ pub struct kvm_guest_debug { } #[test] fn bindgen_test_layout_kvm_guest_debug() { - assert_eq!(::std::mem::size_of::<kvm_guest_debug>() , 72usize , concat ! ( - "Size of: " , stringify ! ( kvm_guest_debug ) )); - assert_eq! (::std::mem::align_of::<kvm_guest_debug>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( kvm_guest_debug ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_guest_debug ) ) . control as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_guest_debug ) , - "::" , stringify ! ( control ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_guest_debug ) ) . pad as * const _ as - usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_guest_debug ) , - "::" , stringify ! ( pad ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_guest_debug ) ) . arch as * const _ - as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_guest_debug ) , - "::" , stringify ! ( arch ) )); -} -impl Clone for kvm_guest_debug { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_guest_debug>(), + 72usize, + concat!("Size of: ", stringify!(kvm_guest_debug)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_guest_debug>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_guest_debug)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_guest_debug>())).control as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_guest_debug), + "::", + stringify!(control) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_guest_debug>())).pad as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_guest_debug), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_guest_debug>())).arch as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_guest_debug), + "::", + stringify!(arch) + ) + ); } pub const kvm_ioeventfd_flag_nr_datamatch: _bindgen_ty_1 = 0; pub const kvm_ioeventfd_flag_nr_pio: _bindgen_ty_1 = 1; @@ -4239,6 +7018,7 @@ pub const kvm_ioeventfd_flag_nr_fast_mmio: _bindgen_ty_1 = 4; pub const kvm_ioeventfd_flag_nr_max: _bindgen_ty_1 = 5; pub type _bindgen_ty_1 = ::std::os::raw::c_uint; #[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_ioeventfd { pub datamatch: __u64, pub addr: __u64, @@ -4249,45 +7029,84 @@ pub struct kvm_ioeventfd { } #[test] fn bindgen_test_layout_kvm_ioeventfd() { - assert_eq!(::std::mem::size_of::<kvm_ioeventfd>() , 64usize , concat ! ( - "Size of: " , stringify ! ( kvm_ioeventfd ) )); - assert_eq! (::std::mem::align_of::<kvm_ioeventfd>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_ioeventfd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioeventfd ) ) . datamatch as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioeventfd ) , "::" - , stringify ! ( datamatch ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioeventfd ) ) . addr as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioeventfd ) , "::" - , stringify ! ( addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioeventfd ) ) . len as * const _ as - usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioeventfd ) , "::" - , stringify ! ( len ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioeventfd ) ) . fd as * const _ as - usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioeventfd ) , "::" - , stringify ! ( fd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioeventfd ) ) . flags as * const _ as - usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioeventfd ) , "::" - , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ioeventfd ) ) . pad as * const _ as - usize } , 28usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ioeventfd ) , "::" - , stringify ! ( pad ) )); + assert_eq!( + ::std::mem::size_of::<kvm_ioeventfd>(), + 64usize, + concat!("Size of: ", stringify!(kvm_ioeventfd)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_ioeventfd>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_ioeventfd)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioeventfd>())).datamatch as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioeventfd), + "::", + stringify!(datamatch) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioeventfd>())).addr as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioeventfd), + "::", + stringify!(addr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioeventfd>())).len as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioeventfd), + "::", + stringify!(len) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioeventfd>())).fd as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioeventfd), + "::", + stringify!(fd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioeventfd>())).flags as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioeventfd), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ioeventfd>())).pad as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(kvm_ioeventfd), + "::", + stringify!(pad) + ) + ); } impl Default for kvm_ioeventfd { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_enable_cap { pub cap: __u32, pub flags: __u32, @@ -4296,35 +7115,64 @@ pub struct kvm_enable_cap { } #[test] fn bindgen_test_layout_kvm_enable_cap() { - assert_eq!(::std::mem::size_of::<kvm_enable_cap>() , 104usize , concat ! ( - "Size of: " , stringify ! ( kvm_enable_cap ) )); - assert_eq! (::std::mem::align_of::<kvm_enable_cap>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_enable_cap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_enable_cap ) ) . cap as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_enable_cap ) , "::" - , stringify ! ( cap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_enable_cap ) ) . flags as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_enable_cap ) , "::" - , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_enable_cap ) ) . args as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_enable_cap ) , "::" - , stringify ! ( args ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_enable_cap ) ) . pad as * const _ as - usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_enable_cap ) , "::" - , stringify ! ( pad ) )); + assert_eq!( + ::std::mem::size_of::<kvm_enable_cap>(), + 104usize, + concat!("Size of: ", stringify!(kvm_enable_cap)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_enable_cap>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_enable_cap)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_enable_cap>())).cap as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_enable_cap), + "::", + stringify!(cap) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_enable_cap>())).flags as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_enable_cap), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_enable_cap>())).args as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_enable_cap), + "::", + stringify!(args) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_enable_cap>())).pad as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(kvm_enable_cap), + "::", + stringify!(pad) + ) + ); } impl Default for kvm_enable_cap { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_ppc_pvinfo { pub flags: __u32, pub hcall: [__u32; 4usize], @@ -4332,59 +7180,93 @@ pub struct kvm_ppc_pvinfo { } #[test] fn bindgen_test_layout_kvm_ppc_pvinfo() { - assert_eq!(::std::mem::size_of::<kvm_ppc_pvinfo>() , 128usize , concat ! ( - "Size of: " , stringify ! ( kvm_ppc_pvinfo ) )); - assert_eq! (::std::mem::align_of::<kvm_ppc_pvinfo>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_ppc_pvinfo ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_pvinfo ) ) . flags as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ppc_pvinfo ) , "::" - , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_pvinfo ) ) . hcall as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ppc_pvinfo ) , "::" - , stringify ! ( hcall ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_pvinfo ) ) . pad as * const _ as - usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ppc_pvinfo ) , "::" - , stringify ! ( pad ) )); + assert_eq!( + ::std::mem::size_of::<kvm_ppc_pvinfo>(), + 128usize, + concat!("Size of: ", stringify!(kvm_ppc_pvinfo)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_ppc_pvinfo>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_ppc_pvinfo)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ppc_pvinfo>())).flags as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_pvinfo), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ppc_pvinfo>())).hcall as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_pvinfo), + "::", + stringify!(hcall) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ppc_pvinfo>())).pad as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_pvinfo), + "::", + stringify!(pad) + ) + ); } impl Default for kvm_ppc_pvinfo { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_ppc_one_page_size { pub page_shift: __u32, pub pte_enc: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_one_page_size() { - assert_eq!(::std::mem::size_of::<kvm_ppc_one_page_size>() , 8usize , - concat ! ( "Size of: " , stringify ! ( kvm_ppc_one_page_size ) - )); - assert_eq! (::std::mem::align_of::<kvm_ppc_one_page_size>() , 4usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_ppc_one_page_size ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_one_page_size ) ) . page_shift as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ppc_one_page_size ) - , "::" , stringify ! ( page_shift ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_one_page_size ) ) . pte_enc as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ppc_one_page_size ) - , "::" , stringify ! ( pte_enc ) )); -} -impl Clone for kvm_ppc_one_page_size { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_ppc_one_page_size>(), + 8usize, + concat!("Size of: ", stringify!(kvm_ppc_one_page_size)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_ppc_one_page_size>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_ppc_one_page_size)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ppc_one_page_size>())).page_shift as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_one_page_size), + "::", + stringify!(page_shift) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ppc_one_page_size>())).pte_enc as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_one_page_size), + "::", + stringify!(pte_enc) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_ppc_one_seg_page_size { pub page_shift: __u32, pub slb_enc: __u32, @@ -4392,36 +7274,51 @@ pub struct kvm_ppc_one_seg_page_size { } #[test] fn bindgen_test_layout_kvm_ppc_one_seg_page_size() { - assert_eq!(::std::mem::size_of::<kvm_ppc_one_seg_page_size>() , 72usize , - concat ! ( - "Size of: " , stringify ! ( kvm_ppc_one_seg_page_size ) )); - assert_eq! (::std::mem::align_of::<kvm_ppc_one_seg_page_size>() , 4usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_ppc_one_seg_page_size ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_one_seg_page_size ) ) . - page_shift as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_ppc_one_seg_page_size ) , "::" , stringify ! ( page_shift - ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_one_seg_page_size ) ) . slb_enc - as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_ppc_one_seg_page_size ) , "::" , stringify ! ( slb_enc ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_one_seg_page_size ) ) . enc as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_ppc_one_seg_page_size ) , "::" , stringify ! ( enc ) )); -} -impl Clone for kvm_ppc_one_seg_page_size { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_ppc_one_seg_page_size>(), + 72usize, + concat!("Size of: ", stringify!(kvm_ppc_one_seg_page_size)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_ppc_one_seg_page_size>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_ppc_one_seg_page_size)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_ppc_one_seg_page_size>())).page_shift as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_one_seg_page_size), + "::", + stringify!(page_shift) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ppc_one_seg_page_size>())).slb_enc as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_one_seg_page_size), + "::", + stringify!(slb_enc) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ppc_one_seg_page_size>())).enc as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_one_seg_page_size), + "::", + stringify!(enc) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_ppc_smmu_info { pub flags: __u64, pub slb_size: __u32, @@ -4430,64 +7327,98 @@ pub struct kvm_ppc_smmu_info { } #[test] fn bindgen_test_layout_kvm_ppc_smmu_info() { - assert_eq!(::std::mem::size_of::<kvm_ppc_smmu_info>() , 592usize , concat - ! ( "Size of: " , stringify ! ( kvm_ppc_smmu_info ) )); - assert_eq! (::std::mem::align_of::<kvm_ppc_smmu_info>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( kvm_ppc_smmu_info ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_smmu_info ) ) . flags as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ppc_smmu_info ) , - "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_smmu_info ) ) . slb_size as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ppc_smmu_info ) , - "::" , stringify ! ( slb_size ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_smmu_info ) ) . pad as * const _ - as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ppc_smmu_info ) , - "::" , stringify ! ( pad ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_ppc_smmu_info ) ) . sps as * const _ - as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_ppc_smmu_info ) , - "::" , stringify ! ( sps ) )); -} -impl Clone for kvm_ppc_smmu_info { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_ppc_smmu_info>(), + 592usize, + concat!("Size of: ", stringify!(kvm_ppc_smmu_info)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_ppc_smmu_info>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_ppc_smmu_info)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ppc_smmu_info>())).flags as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_smmu_info), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ppc_smmu_info>())).slb_size as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_smmu_info), + "::", + stringify!(slb_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ppc_smmu_info>())).pad as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_smmu_info), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_ppc_smmu_info>())).sps as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_ppc_smmu_info), + "::", + stringify!(sps) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_irq_routing_irqchip { pub irqchip: __u32, pub pin: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_irqchip() { - assert_eq!(::std::mem::size_of::<kvm_irq_routing_irqchip>() , 8usize , - concat ! ( - "Size of: " , stringify ! ( kvm_irq_routing_irqchip ) )); - assert_eq! (::std::mem::align_of::<kvm_irq_routing_irqchip>() , 4usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_irq_routing_irqchip ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_irqchip ) ) . irqchip as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing_irqchip - ) , "::" , stringify ! ( irqchip ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_irqchip ) ) . pin as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing_irqchip - ) , "::" , stringify ! ( pin ) )); -} -impl Clone for kvm_irq_routing_irqchip { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_irq_routing_irqchip>(), + 8usize, + concat!("Size of: ", stringify!(kvm_irq_routing_irqchip)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_irq_routing_irqchip>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_irq_routing_irqchip)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing_irqchip>())).irqchip as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_irqchip), + "::", + stringify!(irqchip) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing_irqchip>())).pin as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_irqchip), + "::", + stringify!(pin) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_irq_routing_msi { pub address_lo: __u32, pub address_hi: __u32, @@ -4496,37 +7427,59 @@ pub struct kvm_irq_routing_msi { } #[test] fn bindgen_test_layout_kvm_irq_routing_msi() { - assert_eq!(::std::mem::size_of::<kvm_irq_routing_msi>() , 16usize , concat - ! ( "Size of: " , stringify ! ( kvm_irq_routing_msi ) )); - assert_eq! (::std::mem::align_of::<kvm_irq_routing_msi>() , 4usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_irq_routing_msi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_msi ) ) . address_lo as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing_msi ) , - "::" , stringify ! ( address_lo ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_msi ) ) . address_hi as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing_msi ) , - "::" , stringify ! ( address_hi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_msi ) ) . data as * const - _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing_msi ) , - "::" , stringify ! ( data ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_msi ) ) . pad as * const - _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing_msi ) , - "::" , stringify ! ( pad ) )); -} -impl Clone for kvm_irq_routing_msi { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_irq_routing_msi>(), + 16usize, + concat!("Size of: ", stringify!(kvm_irq_routing_msi)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_irq_routing_msi>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_irq_routing_msi)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing_msi>())).address_lo as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_msi), + "::", + stringify!(address_lo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing_msi>())).address_hi as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_msi), + "::", + stringify!(address_hi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing_msi>())).data as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_msi), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing_msi>())).pad as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_msi), + "::", + stringify!(pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_irq_routing_s390_adapter { pub ind_addr: __u64, pub summary_addr: __u64, @@ -4536,49 +7489,81 @@ pub struct kvm_irq_routing_s390_adapter { } #[test] fn bindgen_test_layout_kvm_irq_routing_s390_adapter() { - assert_eq!(::std::mem::size_of::<kvm_irq_routing_s390_adapter>() , 32usize - , concat ! ( - "Size of: " , stringify ! ( kvm_irq_routing_s390_adapter ) )); - assert_eq! (::std::mem::align_of::<kvm_irq_routing_s390_adapter>() , - 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_irq_routing_s390_adapter ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_s390_adapter ) ) . - ind_addr as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irq_routing_s390_adapter ) , "::" , stringify ! ( ind_addr - ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_s390_adapter ) ) . - summary_addr as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irq_routing_s390_adapter ) , "::" , stringify ! ( - summary_addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_s390_adapter ) ) . - ind_offset as * const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irq_routing_s390_adapter ) , "::" , stringify ! ( - ind_offset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_s390_adapter ) ) . - summary_offset as * const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irq_routing_s390_adapter ) , "::" , stringify ! ( - summary_offset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_s390_adapter ) ) . - adapter_id as * const _ as usize } , 28usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irq_routing_s390_adapter ) , "::" , stringify ! ( - adapter_id ) )); -} -impl Clone for kvm_irq_routing_s390_adapter { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_irq_routing_s390_adapter>(), + 32usize, + concat!("Size of: ", stringify!(kvm_irq_routing_s390_adapter)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_irq_routing_s390_adapter>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_irq_routing_s390_adapter)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_irq_routing_s390_adapter>())).ind_addr as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_s390_adapter), + "::", + stringify!(ind_addr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_irq_routing_s390_adapter>())).summary_addr as *const _ as + usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_s390_adapter), + "::", + stringify!(summary_addr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_irq_routing_s390_adapter>())).ind_offset as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_s390_adapter), + "::", + stringify!(ind_offset) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_irq_routing_s390_adapter>())).summary_offset as *const _ as + usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_s390_adapter), + "::", + stringify!(summary_offset) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_irq_routing_s390_adapter>())).adapter_id as *const _ as usize + }, + 28usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_s390_adapter), + "::", + stringify!(adapter_id) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_irq_routing_entry { pub gsi: __u32, pub type_: __u32, @@ -4587,124 +7572,211 @@ pub struct kvm_irq_routing_entry { pub u: kvm_irq_routing_entry__bindgen_ty_1, } #[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct kvm_irq_routing_entry__bindgen_ty_1 { - pub irqchip: __BindgenUnionField<kvm_irq_routing_irqchip>, - pub msi: __BindgenUnionField<kvm_irq_routing_msi>, - pub adapter: __BindgenUnionField<kvm_irq_routing_s390_adapter>, - pub pad: __BindgenUnionField<[__u32; 8usize]>, - pub bindgen_union_field: [u64; 4usize], +#[derive(Copy, Clone)] +pub union kvm_irq_routing_entry__bindgen_ty_1 { + pub irqchip: kvm_irq_routing_irqchip, + pub msi: kvm_irq_routing_msi, + pub adapter: kvm_irq_routing_s390_adapter, + pub pad: [__u32; 8usize], + _bindgen_union_align: [u64; 4usize], } #[test] fn bindgen_test_layout_kvm_irq_routing_entry__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_irq_routing_entry__bindgen_ty_1>() , - 32usize , concat ! ( - "Size of: " , stringify ! ( kvm_irq_routing_entry__bindgen_ty_1 - ) )); - assert_eq! (::std::mem::align_of::<kvm_irq_routing_entry__bindgen_ty_1>() - , 8usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_irq_routing_entry__bindgen_ty_1 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_entry__bindgen_ty_1 ) ) . - irqchip as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irq_routing_entry__bindgen_ty_1 ) , "::" , stringify ! ( - irqchip ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_entry__bindgen_ty_1 ) ) . - msi as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irq_routing_entry__bindgen_ty_1 ) , "::" , stringify ! ( - msi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_entry__bindgen_ty_1 ) ) . - adapter as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irq_routing_entry__bindgen_ty_1 ) , "::" , stringify ! ( - adapter ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_entry__bindgen_ty_1 ) ) . - pad as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_irq_routing_entry__bindgen_ty_1 ) , "::" , stringify ! ( - pad ) )); -} -impl Clone for kvm_irq_routing_entry__bindgen_ty_1 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_irq_routing_entry__bindgen_ty_1>(), + 32usize, + concat!("Size of: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_irq_routing_entry__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(kvm_irq_routing_entry__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_irq_routing_entry__bindgen_ty_1>())).irqchip as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_entry__bindgen_ty_1), + "::", + stringify!(irqchip) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_irq_routing_entry__bindgen_ty_1>())).msi as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_entry__bindgen_ty_1), + "::", + stringify!(msi) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_irq_routing_entry__bindgen_ty_1>())).adapter as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_entry__bindgen_ty_1), + "::", + stringify!(adapter) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_irq_routing_entry__bindgen_ty_1>())).pad as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_entry__bindgen_ty_1), + "::", + stringify!(pad) + ) + ); +} +impl Default for kvm_irq_routing_entry__bindgen_ty_1 { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[test] fn bindgen_test_layout_kvm_irq_routing_entry() { - assert_eq!(::std::mem::size_of::<kvm_irq_routing_entry>() , 48usize , - concat ! ( "Size of: " , stringify ! ( kvm_irq_routing_entry ) - )); - assert_eq! (::std::mem::align_of::<kvm_irq_routing_entry>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_irq_routing_entry ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_entry ) ) . gsi as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing_entry ) - , "::" , stringify ! ( gsi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_entry ) ) . type_ as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing_entry ) - , "::" , stringify ! ( type_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_entry ) ) . flags as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing_entry ) - , "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_entry ) ) . pad as * - const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing_entry ) - , "::" , stringify ! ( pad ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing_entry ) ) . u as * const - _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing_entry ) - , "::" , stringify ! ( u ) )); -} -impl Clone for kvm_irq_routing_entry { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_irq_routing_entry>(), + 48usize, + concat!("Size of: ", stringify!(kvm_irq_routing_entry)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_irq_routing_entry>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_irq_routing_entry)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing_entry>())).gsi as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_entry), + "::", + stringify!(gsi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing_entry>())).type_ as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_entry), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing_entry>())).flags as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_entry), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing_entry>())).pad as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_entry), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing_entry>())).u as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing_entry), + "::", + stringify!(u) + ) + ); +} +impl Default for kvm_irq_routing_entry { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } +} +#[repr(C)] pub struct kvm_irq_routing { pub nr: __u32, pub flags: __u32, pub entries: __IncompleteArrayField<kvm_irq_routing_entry>, - pub __force_alignment: [u64; 0], + // Manually added to work around rust bindgen issue 684 + __force_alignment: [u64; 0], } #[test] fn bindgen_test_layout_kvm_irq_routing() { - assert_eq!(::std::mem::size_of::<kvm_irq_routing>() , 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_irq_routing ) )); - assert_eq! (::std::mem::align_of::<kvm_irq_routing>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( kvm_irq_routing ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing ) ) . nr as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing ) , - "::" , stringify ! ( nr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing ) ) . flags as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing ) , - "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irq_routing ) ) . entries as * const - _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irq_routing ) , - "::" , stringify ! ( entries ) )); -} -impl Clone for kvm_irq_routing { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_irq_routing>(), + 8usize, + concat!("Size of: ", stringify!(kvm_irq_routing)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_irq_routing>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_irq_routing)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing>())).nr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing), + "::", + stringify!(nr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing>())).flags as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irq_routing>())).entries as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_irq_routing), + "::", + stringify!(entries) + ) + ); +} +impl Default for kvm_irq_routing { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_x86_mce { pub status: __u64, pub addr: __u64, @@ -4716,51 +7788,89 @@ pub struct kvm_x86_mce { } #[test] fn bindgen_test_layout_kvm_x86_mce() { - assert_eq!(::std::mem::size_of::<kvm_x86_mce>() , 64usize , concat ! ( - "Size of: " , stringify ! ( kvm_x86_mce ) )); - assert_eq! (::std::mem::align_of::<kvm_x86_mce>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_x86_mce ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_x86_mce ) ) . status as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_x86_mce ) , "::" , - stringify ! ( status ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_x86_mce ) ) . addr as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_x86_mce ) , "::" , - stringify ! ( addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_x86_mce ) ) . misc as * const _ as - usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_x86_mce ) , "::" , - stringify ! ( misc ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_x86_mce ) ) . mcg_status as * const _ - as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_x86_mce ) , "::" , - stringify ! ( mcg_status ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_x86_mce ) ) . bank as * const _ as - usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_x86_mce ) , "::" , - stringify ! ( bank ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_x86_mce ) ) . pad1 as * const _ as - usize } , 33usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_x86_mce ) , "::" , - stringify ! ( pad1 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_x86_mce ) ) . pad2 as * const _ as - usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_x86_mce ) , "::" , - stringify ! ( pad2 ) )); -} -impl Clone for kvm_x86_mce { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_x86_mce>(), + 64usize, + concat!("Size of: ", stringify!(kvm_x86_mce)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_x86_mce>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_x86_mce)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_x86_mce>())).status as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_x86_mce), + "::", + stringify!(status) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_x86_mce>())).addr as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_x86_mce), + "::", + stringify!(addr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_x86_mce>())).misc as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_x86_mce), + "::", + stringify!(misc) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_x86_mce>())).mcg_status as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_x86_mce), + "::", + stringify!(mcg_status) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_x86_mce>())).bank as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(kvm_x86_mce), + "::", + stringify!(bank) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_x86_mce>())).pad1 as *const _ as usize }, + 33usize, + concat!( + "Offset of field: ", + stringify!(kvm_x86_mce), + "::", + stringify!(pad1) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_x86_mce>())).pad2 as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(kvm_x86_mce), + "::", + stringify!(pad2) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_xen_hvm_config { pub flags: __u32, pub msr: __u32, @@ -4772,51 +7882,89 @@ pub struct kvm_xen_hvm_config { } #[test] fn bindgen_test_layout_kvm_xen_hvm_config() { - assert_eq!(::std::mem::size_of::<kvm_xen_hvm_config>() , 56usize , concat - ! ( "Size of: " , stringify ! ( kvm_xen_hvm_config ) )); - assert_eq! (::std::mem::align_of::<kvm_xen_hvm_config>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( kvm_xen_hvm_config ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xen_hvm_config ) ) . flags as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xen_hvm_config ) , - "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xen_hvm_config ) ) . msr as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xen_hvm_config ) , - "::" , stringify ! ( msr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xen_hvm_config ) ) . blob_addr_32 as - * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xen_hvm_config ) , - "::" , stringify ! ( blob_addr_32 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xen_hvm_config ) ) . blob_addr_64 as - * const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xen_hvm_config ) , - "::" , stringify ! ( blob_addr_64 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xen_hvm_config ) ) . blob_size_32 as - * const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xen_hvm_config ) , - "::" , stringify ! ( blob_size_32 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xen_hvm_config ) ) . blob_size_64 as - * const _ as usize } , 25usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xen_hvm_config ) , - "::" , stringify ! ( blob_size_64 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_xen_hvm_config ) ) . pad2 as * const - _ as usize } , 26usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_xen_hvm_config ) , - "::" , stringify ! ( pad2 ) )); -} -impl Clone for kvm_xen_hvm_config { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_xen_hvm_config>(), + 56usize, + concat!("Size of: ", stringify!(kvm_xen_hvm_config)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_xen_hvm_config>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_xen_hvm_config)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xen_hvm_config>())).flags as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_xen_hvm_config), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xen_hvm_config>())).msr as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_xen_hvm_config), + "::", + stringify!(msr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xen_hvm_config>())).blob_addr_32 as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_xen_hvm_config), + "::", + stringify!(blob_addr_32) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xen_hvm_config>())).blob_addr_64 as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_xen_hvm_config), + "::", + stringify!(blob_addr_64) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xen_hvm_config>())).blob_size_32 as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(kvm_xen_hvm_config), + "::", + stringify!(blob_size_32) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xen_hvm_config>())).blob_size_64 as *const _ as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(kvm_xen_hvm_config), + "::", + stringify!(blob_size_64) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_xen_hvm_config>())).pad2 as *const _ as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(kvm_xen_hvm_config), + "::", + stringify!(pad2) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_irqfd { pub fd: __u32, pub gsi: __u32, @@ -4826,41 +7974,69 @@ pub struct kvm_irqfd { } #[test] fn bindgen_test_layout_kvm_irqfd() { - assert_eq!(::std::mem::size_of::<kvm_irqfd>() , 32usize , concat ! ( - "Size of: " , stringify ! ( kvm_irqfd ) )); - assert_eq! (::std::mem::align_of::<kvm_irqfd>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_irqfd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irqfd ) ) . fd as * const _ as usize - } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irqfd ) , "::" , - stringify ! ( fd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irqfd ) ) . gsi as * const _ as usize - } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irqfd ) , "::" , - stringify ! ( gsi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irqfd ) ) . flags as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irqfd ) , "::" , - stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irqfd ) ) . resamplefd as * const _ - as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irqfd ) , "::" , - stringify ! ( resamplefd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_irqfd ) ) . pad as * const _ as usize - } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_irqfd ) , "::" , - stringify ! ( pad ) )); -} -impl Clone for kvm_irqfd { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_irqfd>(), + 32usize, + concat!("Size of: ", stringify!(kvm_irqfd)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_irqfd>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_irqfd)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irqfd>())).fd as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_irqfd), + "::", + stringify!(fd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irqfd>())).gsi as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_irqfd), + "::", + stringify!(gsi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irqfd>())).flags as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_irqfd), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irqfd>())).resamplefd as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_irqfd), + "::", + stringify!(resamplefd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_irqfd>())).pad as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_irqfd), + "::", + stringify!(pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_clock_data { pub clock: __u64, pub flags: __u32, @@ -4868,31 +8044,49 @@ pub struct kvm_clock_data { } #[test] fn bindgen_test_layout_kvm_clock_data() { - assert_eq!(::std::mem::size_of::<kvm_clock_data>() , 48usize , concat ! ( - "Size of: " , stringify ! ( kvm_clock_data ) )); - assert_eq! (::std::mem::align_of::<kvm_clock_data>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_clock_data ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_clock_data ) ) . clock as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_clock_data ) , "::" - , stringify ! ( clock ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_clock_data ) ) . flags as * const _ - as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_clock_data ) , "::" - , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_clock_data ) ) . pad as * const _ as - usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_clock_data ) , "::" - , stringify ! ( pad ) )); -} -impl Clone for kvm_clock_data { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_clock_data>(), + 48usize, + concat!("Size of: ", stringify!(kvm_clock_data)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_clock_data>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_clock_data)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_clock_data>())).clock as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_clock_data), + "::", + stringify!(clock) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_clock_data>())).flags as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_clock_data), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_clock_data>())).pad as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_clock_data), + "::", + stringify!(pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_config_tlb { pub params: __u64, pub array: __u64, @@ -4901,114 +8095,176 @@ pub struct kvm_config_tlb { } #[test] fn bindgen_test_layout_kvm_config_tlb() { - assert_eq!(::std::mem::size_of::<kvm_config_tlb>() , 24usize , concat ! ( - "Size of: " , stringify ! ( kvm_config_tlb ) )); - assert_eq! (::std::mem::align_of::<kvm_config_tlb>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_config_tlb ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_config_tlb ) ) . params as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_config_tlb ) , "::" - , stringify ! ( params ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_config_tlb ) ) . array as * const _ - as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_config_tlb ) , "::" - , stringify ! ( array ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_config_tlb ) ) . mmu_type as * const - _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_config_tlb ) , "::" - , stringify ! ( mmu_type ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_config_tlb ) ) . array_len as * const - _ as usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_config_tlb ) , "::" - , stringify ! ( array_len ) )); -} -impl Clone for kvm_config_tlb { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_config_tlb>(), + 24usize, + concat!("Size of: ", stringify!(kvm_config_tlb)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_config_tlb>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_config_tlb)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_config_tlb>())).params as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_config_tlb), + "::", + stringify!(params) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_config_tlb>())).array as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_config_tlb), + "::", + stringify!(array) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_config_tlb>())).mmu_type as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_config_tlb), + "::", + stringify!(mmu_type) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_config_tlb>())).array_len as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(kvm_config_tlb), + "::", + stringify!(array_len) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_dirty_tlb { pub bitmap: __u64, pub num_dirty: __u32, } #[test] fn bindgen_test_layout_kvm_dirty_tlb() { - assert_eq!(::std::mem::size_of::<kvm_dirty_tlb>() , 16usize , concat ! ( - "Size of: " , stringify ! ( kvm_dirty_tlb ) )); - assert_eq! (::std::mem::align_of::<kvm_dirty_tlb>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_dirty_tlb ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_dirty_tlb ) ) . bitmap as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_dirty_tlb ) , "::" - , stringify ! ( bitmap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_dirty_tlb ) ) . num_dirty as * const - _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_dirty_tlb ) , "::" - , stringify ! ( num_dirty ) )); -} -impl Clone for kvm_dirty_tlb { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_dirty_tlb>(), + 16usize, + concat!("Size of: ", stringify!(kvm_dirty_tlb)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_dirty_tlb>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_dirty_tlb)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_dirty_tlb>())).bitmap as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_dirty_tlb), + "::", + stringify!(bitmap) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_dirty_tlb>())).num_dirty as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_dirty_tlb), + "::", + stringify!(num_dirty) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default)] pub struct kvm_reg_list { pub n: __u64, pub reg: __IncompleteArrayField<__u64>, } #[test] fn bindgen_test_layout_kvm_reg_list() { - assert_eq!(::std::mem::size_of::<kvm_reg_list>() , 8usize , concat ! ( - "Size of: " , stringify ! ( kvm_reg_list ) )); - assert_eq! (::std::mem::align_of::<kvm_reg_list>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_reg_list ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_reg_list ) ) . n as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_reg_list ) , "::" , - stringify ! ( n ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_reg_list ) ) . reg as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_reg_list ) , "::" , - stringify ! ( reg ) )); -} -impl Clone for kvm_reg_list { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_reg_list>(), + 8usize, + concat!("Size of: ", stringify!(kvm_reg_list)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_reg_list>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_reg_list)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_reg_list>())).n as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_reg_list), + "::", + stringify!(n) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_reg_list>())).reg as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_reg_list), + "::", + stringify!(reg) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_one_reg { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_one_reg() { - assert_eq!(::std::mem::size_of::<kvm_one_reg>() , 16usize , concat ! ( - "Size of: " , stringify ! ( kvm_one_reg ) )); - assert_eq! (::std::mem::align_of::<kvm_one_reg>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( kvm_one_reg ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_one_reg ) ) . id as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_one_reg ) , "::" , - stringify ! ( id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_one_reg ) ) . addr as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_one_reg ) , "::" , - stringify ! ( addr ) )); -} -impl Clone for kvm_one_reg { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_one_reg>(), + 16usize, + concat!("Size of: ", stringify!(kvm_one_reg)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_one_reg>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_one_reg)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_one_reg>())).id as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_one_reg), + "::", + stringify!(id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_one_reg>())).addr as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_one_reg), + "::", + stringify!(addr) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_msi { pub address_lo: __u32, pub address_hi: __u32, @@ -5018,68 +8274,108 @@ pub struct kvm_msi { } #[test] fn bindgen_test_layout_kvm_msi() { - assert_eq!(::std::mem::size_of::<kvm_msi>() , 32usize , concat ! ( - "Size of: " , stringify ! ( kvm_msi ) )); - assert_eq! (::std::mem::align_of::<kvm_msi>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_msi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msi ) ) . address_lo as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msi ) , "::" , - stringify ! ( address_lo ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msi ) ) . address_hi as * const _ as - usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msi ) , "::" , - stringify ! ( address_hi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msi ) ) . data as * const _ as usize - } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msi ) , "::" , - stringify ! ( data ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msi ) ) . flags as * const _ as usize - } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msi ) , "::" , - stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_msi ) ) . pad as * const _ as usize } - , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_msi ) , "::" , - stringify ! ( pad ) )); -} -impl Clone for kvm_msi { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_msi>(), + 32usize, + concat!("Size of: ", stringify!(kvm_msi)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_msi>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_msi)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msi>())).address_lo as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_msi), + "::", + stringify!(address_lo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msi>())).address_hi as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_msi), + "::", + stringify!(address_hi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msi>())).data as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_msi), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msi>())).flags as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_msi), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_msi>())).pad as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_msi), + "::", + stringify!(pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_arm_device_addr { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_arm_device_addr() { - assert_eq!(::std::mem::size_of::<kvm_arm_device_addr>() , 16usize , concat - ! ( "Size of: " , stringify ! ( kvm_arm_device_addr ) )); - assert_eq! (::std::mem::align_of::<kvm_arm_device_addr>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_arm_device_addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_arm_device_addr ) ) . id as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_arm_device_addr ) , - "::" , stringify ! ( id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_arm_device_addr ) ) . addr as * const - _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_arm_device_addr ) , - "::" , stringify ! ( addr ) )); -} -impl Clone for kvm_arm_device_addr { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_arm_device_addr>(), + 16usize, + concat!("Size of: ", stringify!(kvm_arm_device_addr)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_arm_device_addr>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_arm_device_addr)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_arm_device_addr>())).id as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_arm_device_addr), + "::", + stringify!(id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_arm_device_addr>())).addr as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_arm_device_addr), + "::", + stringify!(addr) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_create_device { pub type_: __u32, pub fd: __u32, @@ -5087,31 +8383,49 @@ pub struct kvm_create_device { } #[test] fn bindgen_test_layout_kvm_create_device() { - assert_eq!(::std::mem::size_of::<kvm_create_device>() , 12usize , concat ! - ( "Size of: " , stringify ! ( kvm_create_device ) )); - assert_eq! (::std::mem::align_of::<kvm_create_device>() , 4usize , concat - ! ( "Alignment of " , stringify ! ( kvm_create_device ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_create_device ) ) . type_ as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_create_device ) , - "::" , stringify ! ( type_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_create_device ) ) . fd as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_create_device ) , - "::" , stringify ! ( fd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_create_device ) ) . flags as * const - _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_create_device ) , - "::" , stringify ! ( flags ) )); -} -impl Clone for kvm_create_device { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_create_device>(), + 12usize, + concat!("Size of: ", stringify!(kvm_create_device)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_create_device>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_create_device)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_create_device>())).type_ as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_create_device), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_create_device>())).fd as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_create_device), + "::", + stringify!(fd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_create_device>())).flags as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_create_device), + "::", + stringify!(flags) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_device_attr { pub flags: __u32, pub group: __u32, @@ -5120,33 +8434,56 @@ pub struct kvm_device_attr { } #[test] fn bindgen_test_layout_kvm_device_attr() { - assert_eq!(::std::mem::size_of::<kvm_device_attr>() , 24usize , concat ! ( - "Size of: " , stringify ! ( kvm_device_attr ) )); - assert_eq! (::std::mem::align_of::<kvm_device_attr>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( kvm_device_attr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_device_attr ) ) . flags as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_device_attr ) , - "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_device_attr ) ) . group as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_device_attr ) , - "::" , stringify ! ( group ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_device_attr ) ) . attr as * const _ - as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_device_attr ) , - "::" , stringify ! ( attr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_device_attr ) ) . addr as * const _ - as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_device_attr ) , - "::" , stringify ! ( addr ) )); -} -impl Clone for kvm_device_attr { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_device_attr>(), + 24usize, + concat!("Size of: ", stringify!(kvm_device_attr)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_device_attr>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_device_attr)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_device_attr>())).flags as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_device_attr), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_device_attr>())).group as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_device_attr), + "::", + stringify!(group) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_device_attr>())).attr as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_device_attr), + "::", + stringify!(attr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_device_attr>())).addr as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_device_attr), + "::", + stringify!(addr) + ) + ); } pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_20: kvm_device_type = 1; pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_42: kvm_device_type = 2; @@ -5158,7 +8495,7 @@ pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V3: kvm_device_type = 7; pub const kvm_device_type_KVM_DEV_TYPE_MAX: kvm_device_type = 8; pub type kvm_device_type = ::std::os::raw::c_uint; #[repr(C)] -#[derive(Debug, Default, Copy)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_s390_ucas_mapping { pub user_addr: __u64, pub vcpu_addr: __u64, @@ -5166,33 +8503,49 @@ pub struct kvm_s390_ucas_mapping { } #[test] fn bindgen_test_layout_kvm_s390_ucas_mapping() { - assert_eq!(::std::mem::size_of::<kvm_s390_ucas_mapping>() , 24usize , - concat ! ( "Size of: " , stringify ! ( kvm_s390_ucas_mapping ) - )); - assert_eq! (::std::mem::align_of::<kvm_s390_ucas_mapping>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_s390_ucas_mapping ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_ucas_mapping ) ) . user_addr as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_ucas_mapping ) - , "::" , stringify ! ( user_addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_ucas_mapping ) ) . vcpu_addr as - * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_ucas_mapping ) - , "::" , stringify ! ( vcpu_addr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_s390_ucas_mapping ) ) . length as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_s390_ucas_mapping ) - , "::" , stringify ! ( length ) )); -} -impl Clone for kvm_s390_ucas_mapping { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_s390_ucas_mapping>(), + 24usize, + concat!("Size of: ", stringify!(kvm_s390_ucas_mapping)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_s390_ucas_mapping>(), + 8usize, + concat!("Alignment of ", stringify!(kvm_s390_ucas_mapping)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_ucas_mapping>())).user_addr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_ucas_mapping), + "::", + stringify!(user_addr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_ucas_mapping>())).vcpu_addr as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_ucas_mapping), + "::", + stringify!(vcpu_addr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_s390_ucas_mapping>())).length as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_s390_ucas_mapping), + "::", + stringify!(length) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_assigned_pci_dev { pub assigned_dev_id: __u32, pub busnr: __u32, @@ -5202,70 +8555,117 @@ pub struct kvm_assigned_pci_dev { pub __bindgen_anon_1: kvm_assigned_pci_dev__bindgen_ty_1, } #[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct kvm_assigned_pci_dev__bindgen_ty_1 { - pub reserved: __BindgenUnionField<[__u32; 11usize]>, - pub bindgen_union_field: [u32; 11usize], +#[derive(Copy, Clone)] +pub union kvm_assigned_pci_dev__bindgen_ty_1 { + pub reserved: [__u32; 11usize], + _bindgen_union_align: [u32; 11usize], } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_assigned_pci_dev__bindgen_ty_1>() , - 44usize , concat ! ( - "Size of: " , stringify ! ( kvm_assigned_pci_dev__bindgen_ty_1 - ) )); - assert_eq! (::std::mem::align_of::<kvm_assigned_pci_dev__bindgen_ty_1>() , - 4usize , concat ! ( - "Alignment of " , stringify ! ( - kvm_assigned_pci_dev__bindgen_ty_1 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_pci_dev__bindgen_ty_1 ) ) . - reserved as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_assigned_pci_dev__bindgen_ty_1 ) , "::" , stringify ! ( - reserved ) )); -} -impl Clone for kvm_assigned_pci_dev__bindgen_ty_1 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_assigned_pci_dev__bindgen_ty_1>(), + 44usize, + concat!("Size of: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_assigned_pci_dev__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(kvm_assigned_pci_dev__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_assigned_pci_dev__bindgen_ty_1>())).reserved as *const _ as + usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_pci_dev__bindgen_ty_1), + "::", + stringify!(reserved) + ) + ); +} +impl Default for kvm_assigned_pci_dev__bindgen_ty_1 { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev() { - assert_eq!(::std::mem::size_of::<kvm_assigned_pci_dev>() , 64usize , - concat ! ( "Size of: " , stringify ! ( kvm_assigned_pci_dev ) - )); - assert_eq! (::std::mem::align_of::<kvm_assigned_pci_dev>() , 4usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_assigned_pci_dev ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_pci_dev ) ) . - assigned_dev_id as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_pci_dev ) - , "::" , stringify ! ( assigned_dev_id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_pci_dev ) ) . busnr as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_pci_dev ) - , "::" , stringify ! ( busnr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_pci_dev ) ) . devfn as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_pci_dev ) - , "::" , stringify ! ( devfn ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_pci_dev ) ) . flags as * - const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_pci_dev ) - , "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_pci_dev ) ) . segnr as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_pci_dev ) - , "::" , stringify ! ( segnr ) )); -} -impl Clone for kvm_assigned_pci_dev { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_assigned_pci_dev>(), + 64usize, + concat!("Size of: ", stringify!(kvm_assigned_pci_dev)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_assigned_pci_dev>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_assigned_pci_dev)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_assigned_pci_dev>())).assigned_dev_id as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_pci_dev), + "::", + stringify!(assigned_dev_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_pci_dev>())).busnr as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_pci_dev), + "::", + stringify!(busnr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_pci_dev>())).devfn as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_pci_dev), + "::", + stringify!(devfn) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_pci_dev>())).flags as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_pci_dev), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_pci_dev>())).segnr as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_pci_dev), + "::", + stringify!(segnr) + ) + ); +} +impl Default for kvm_assigned_pci_dev { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Copy, Clone)] pub struct kvm_assigned_irq { pub assigned_dev_id: __u32, pub host_irq: __u32, @@ -5274,63 +8674,101 @@ pub struct kvm_assigned_irq { pub __bindgen_anon_1: kvm_assigned_irq__bindgen_ty_1, } #[repr(C)] -#[derive(Debug, Default, Copy)] -pub struct kvm_assigned_irq__bindgen_ty_1 { - pub reserved: __BindgenUnionField<[__u32; 12usize]>, - pub bindgen_union_field: [u32; 12usize], +#[derive(Copy, Clone)] +pub union kvm_assigned_irq__bindgen_ty_1 { + pub reserved: [__u32; 12usize], + _bindgen_union_align: [u32; 12usize], } #[test] fn bindgen_test_layout_kvm_assigned_irq__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<kvm_assigned_irq__bindgen_ty_1>() , - 48usize , concat ! ( - "Size of: " , stringify ! ( kvm_assigned_irq__bindgen_ty_1 ) - )); - assert_eq! (::std::mem::align_of::<kvm_assigned_irq__bindgen_ty_1>() , - 4usize , concat ! ( - "Alignment of " , stringify ! ( kvm_assigned_irq__bindgen_ty_1 - ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_irq__bindgen_ty_1 ) ) . - reserved as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - kvm_assigned_irq__bindgen_ty_1 ) , "::" , stringify ! ( - reserved ) )); -} -impl Clone for kvm_assigned_irq__bindgen_ty_1 { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_assigned_irq__bindgen_ty_1>(), + 48usize, + concat!("Size of: ", stringify!(kvm_assigned_irq__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_assigned_irq__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_assigned_irq__bindgen_ty_1)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_assigned_irq__bindgen_ty_1>())).reserved as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_irq__bindgen_ty_1), + "::", + stringify!(reserved) + ) + ); +} +impl Default for kvm_assigned_irq__bindgen_ty_1 { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } } #[test] fn bindgen_test_layout_kvm_assigned_irq() { - assert_eq!(::std::mem::size_of::<kvm_assigned_irq>() , 64usize , concat ! - ( "Size of: " , stringify ! ( kvm_assigned_irq ) )); - assert_eq! (::std::mem::align_of::<kvm_assigned_irq>() , 4usize , concat ! - ( "Alignment of " , stringify ! ( kvm_assigned_irq ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_irq ) ) . assigned_dev_id as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_irq ) , - "::" , stringify ! ( assigned_dev_id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_irq ) ) . host_irq as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_irq ) , - "::" , stringify ! ( host_irq ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_irq ) ) . guest_irq as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_irq ) , - "::" , stringify ! ( guest_irq ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_irq ) ) . flags as * const _ - as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_irq ) , - "::" , stringify ! ( flags ) )); -} -impl Clone for kvm_assigned_irq { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_assigned_irq>(), + 64usize, + concat!("Size of: ", stringify!(kvm_assigned_irq)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_assigned_irq>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_assigned_irq)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_irq>())).assigned_dev_id as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_irq), + "::", + stringify!(assigned_dev_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_irq>())).host_irq as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_irq), + "::", + stringify!(host_irq) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_irq>())).guest_irq as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_irq), + "::", + stringify!(guest_irq) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_irq>())).flags as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_irq), + "::", + stringify!(flags) + ) + ); +} +impl Default for kvm_assigned_irq { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_assigned_msix_nr { pub assigned_dev_id: __u32, pub entry_nr: __u16, @@ -5338,32 +8776,51 @@ pub struct kvm_assigned_msix_nr { } #[test] fn bindgen_test_layout_kvm_assigned_msix_nr() { - assert_eq!(::std::mem::size_of::<kvm_assigned_msix_nr>() , 8usize , concat - ! ( "Size of: " , stringify ! ( kvm_assigned_msix_nr ) )); - assert_eq! (::std::mem::align_of::<kvm_assigned_msix_nr>() , 4usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_assigned_msix_nr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_msix_nr ) ) . - assigned_dev_id as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_msix_nr ) - , "::" , stringify ! ( assigned_dev_id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_msix_nr ) ) . entry_nr as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_msix_nr ) - , "::" , stringify ! ( entry_nr ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_msix_nr ) ) . padding as * - const _ as usize } , 6usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_msix_nr ) - , "::" , stringify ! ( padding ) )); -} -impl Clone for kvm_assigned_msix_nr { - fn clone(&self) -> Self { *self } -} -#[repr(C)] -#[derive(Debug, Default, Copy)] + assert_eq!( + ::std::mem::size_of::<kvm_assigned_msix_nr>(), + 8usize, + concat!("Size of: ", stringify!(kvm_assigned_msix_nr)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_assigned_msix_nr>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_assigned_msix_nr)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_assigned_msix_nr>())).assigned_dev_id as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_msix_nr), + "::", + stringify!(assigned_dev_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_msix_nr>())).entry_nr as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_msix_nr), + "::", + stringify!(entry_nr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_msix_nr>())).padding as *const _ as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_msix_nr), + "::", + stringify!(padding) + ) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] pub struct kvm_assigned_msix_entry { pub assigned_dev_id: __u32, pub gsi: __u32, @@ -5372,33 +8829,56 @@ pub struct kvm_assigned_msix_entry { } #[test] fn bindgen_test_layout_kvm_assigned_msix_entry() { - assert_eq!(::std::mem::size_of::<kvm_assigned_msix_entry>() , 16usize , - concat ! ( - "Size of: " , stringify ! ( kvm_assigned_msix_entry ) )); - assert_eq! (::std::mem::align_of::<kvm_assigned_msix_entry>() , 4usize , - concat ! ( - "Alignment of " , stringify ! ( kvm_assigned_msix_entry ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_msix_entry ) ) . - assigned_dev_id as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_msix_entry - ) , "::" , stringify ! ( assigned_dev_id ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_msix_entry ) ) . gsi as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_msix_entry - ) , "::" , stringify ! ( gsi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_msix_entry ) ) . entry as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_msix_entry - ) , "::" , stringify ! ( entry ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const kvm_assigned_msix_entry ) ) . padding as - * const _ as usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( kvm_assigned_msix_entry - ) , "::" , stringify ! ( padding ) )); -} -impl Clone for kvm_assigned_msix_entry { - fn clone(&self) -> Self { *self } + assert_eq!( + ::std::mem::size_of::<kvm_assigned_msix_entry>(), + 16usize, + concat!("Size of: ", stringify!(kvm_assigned_msix_entry)) + ); + assert_eq!( + ::std::mem::align_of::<kvm_assigned_msix_entry>(), + 4usize, + concat!("Alignment of ", stringify!(kvm_assigned_msix_entry)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<kvm_assigned_msix_entry>())).assigned_dev_id as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_msix_entry), + "::", + stringify!(assigned_dev_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_msix_entry>())).gsi as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_msix_entry), + "::", + stringify!(gsi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_msix_entry>())).entry as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_msix_entry), + "::", + stringify!(entry) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_assigned_msix_entry>())).padding as *const _ as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(kvm_assigned_msix_entry), + "::", + stringify!(padding) + ) + ); } |