Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* automatically generated by rust-bindgen */
- #[repr(C, packed)]
- #[derive(Copy)]
- pub struct header_t {
- pub __bindgen_anon_1: header_t__bindgen_ty_1,
- }
- #[repr(C)]
- #[derive(Copy)]
- pub union header_t__bindgen_ty_1 {
- pub __bindgen_anon_1: header_t__bindgen_ty_1__bindgen_ty_1,
- pub unmap: [::std::os::raw::c_uchar; 6usize],
- _bindgen_union_align: [u8; 6usize],
- }
- #[repr(C, packed)]
- #[derive(Debug, Copy)]
- pub struct header_t__bindgen_ty_1__bindgen_ty_1 {
- pub _bitfield_1: [u16; 2usize],
- pub cmd: ::std::os::raw::c_uchar,
- pub size: ::std::os::raw::c_uchar,
- }
- #[test]
- fn bindgen_test_layout_header_t__bindgen_ty_1__bindgen_ty_1() {
- assert_eq!(::std::mem::size_of::<header_t__bindgen_ty_1__bindgen_ty_1>() ,
- 6usize , concat ! (
- "Size of: " , stringify ! (
- header_t__bindgen_ty_1__bindgen_ty_1 ) ));
- assert_eq! (::std::mem::align_of::<header_t__bindgen_ty_1__bindgen_ty_1>()
- , 1usize , concat ! (
- "Alignment of " , stringify ! (
- header_t__bindgen_ty_1__bindgen_ty_1 ) ));
- assert_eq! (unsafe {
- & ( * ( 0 as * const header_t__bindgen_ty_1__bindgen_ty_1 ) )
- . cmd as * const _ as usize } , 4usize , concat ! (
- "Alignment of field: " , stringify ! (
- header_t__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! (
- cmd ) ));
- assert_eq! (unsafe {
- & ( * ( 0 as * const header_t__bindgen_ty_1__bindgen_ty_1 ) )
- . size as * const _ as usize } , 5usize , concat ! (
- "Alignment of field: " , stringify ! (
- header_t__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! (
- size ) ));
- }
- impl Clone for header_t__bindgen_ty_1__bindgen_ty_1 {
- fn clone(&self) -> Self { *self }
- }
- impl header_t__bindgen_ty_1__bindgen_ty_1 {
- #[inline]
- pub fn protocol(&self) -> ::std::os::raw::c_ushort {
- let mut unit_field_val: u32 = unsafe { ::std::mem::uninitialized() };
- unsafe {
- ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ as
- *const u8,
- &mut unit_field_val as *mut u32 as
- *mut u8,
- ::std::mem::size_of::<u32>())
- };
- let mask = 15u64 as u32;
- let val = (unit_field_val & mask) >> 0usize;
- unsafe { ::std::mem::transmute(val as u16) }
- }
- #[inline]
- pub fn set_protocol(&mut self, val: ::std::os::raw::c_ushort) {
- let mask = 15u64 as u32;
- let val = val as u16 as u32;
- let mut unit_field_val: u32 = unsafe { ::std::mem::uninitialized() };
- unsafe {
- ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ as
- *const u8,
- &mut unit_field_val as *mut u32 as
- *mut u8,
- ::std::mem::size_of::<u32>())
- };
- unit_field_val &= !mask;
- unit_field_val |= (val << 0usize) & mask;
- unsafe {
- ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as
- *const u8,
- &mut self._bitfield_1 as *mut _ as
- *mut u8,
- ::std::mem::size_of::<u32>());
- }
- }
- #[inline]
- pub fn target(&self) -> ::std::os::raw::c_ushort {
- let mut unit_field_val: u32 = unsafe { ::std::mem::uninitialized() };
- unsafe {
- ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ as
- *const u8,
- &mut unit_field_val as *mut u32 as
- *mut u8,
- ::std::mem::size_of::<u32>())
- };
- let mask = 65520u64 as u32;
- let val = (unit_field_val & mask) >> 4usize;
- unsafe { ::std::mem::transmute(val as u16) }
- }
- #[inline]
- pub fn set_target(&mut self, val: ::std::os::raw::c_ushort) {
- let mask = 65520u64 as u32;
- let val = val as u16 as u32;
- let mut unit_field_val: u32 = unsafe { ::std::mem::uninitialized() };
- unsafe {
- ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ as
- *const u8,
- &mut unit_field_val as *mut u32 as
- *mut u8,
- ::std::mem::size_of::<u32>())
- };
- unit_field_val &= !mask;
- unit_field_val |= (val << 4usize) & mask;
- unsafe {
- ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as
- *const u8,
- &mut self._bitfield_1 as *mut _ as
- *mut u8,
- ::std::mem::size_of::<u32>());
- }
- }
- #[inline]
- pub fn target_mode(&self) -> ::std::os::raw::c_ushort {
- let mut unit_field_val: u32 = unsafe { ::std::mem::uninitialized() };
- unsafe {
- ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ as
- *const u8,
- &mut unit_field_val as *mut u32 as
- *mut u8,
- ::std::mem::size_of::<u32>())
- };
- let mask = 983040u64 as u32;
- let val = (unit_field_val & mask) >> 16usize;
- unsafe { ::std::mem::transmute(val as u16) }
- }
- #[inline]
- pub fn set_target_mode(&mut self, val: ::std::os::raw::c_ushort) {
- let mask = 983040u64 as u32;
- let val = val as u16 as u32;
- let mut unit_field_val: u32 = unsafe { ::std::mem::uninitialized() };
- unsafe {
- ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ as
- *const u8,
- &mut unit_field_val as *mut u32 as
- *mut u8,
- ::std::mem::size_of::<u32>())
- };
- unit_field_val &= !mask;
- unit_field_val |= (val << 16usize) & mask;
- unsafe {
- ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as
- *const u8,
- &mut self._bitfield_1 as *mut _ as
- *mut u8,
- ::std::mem::size_of::<u32>());
- }
- }
- #[inline]
- pub fn source(&self) -> ::std::os::raw::c_ushort {
- let mut unit_field_val: u32 = unsafe { ::std::mem::uninitialized() };
- unsafe {
- ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ as
- *const u8,
- &mut unit_field_val as *mut u32 as
- *mut u8,
- ::std::mem::size_of::<u32>())
- };
- let mask = 4293918720u64 as u32;
- let val = (unit_field_val & mask) >> 20usize;
- unsafe { ::std::mem::transmute(val as u16) }
- }
- #[inline]
- pub fn set_source(&mut self, val: ::std::os::raw::c_ushort) {
- let mask = 4293918720u64 as u32;
- let val = val as u16 as u32;
- let mut unit_field_val: u32 = unsafe { ::std::mem::uninitialized() };
- unsafe {
- ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ as
- *const u8,
- &mut unit_field_val as *mut u32 as
- *mut u8,
- ::std::mem::size_of::<u32>())
- };
- unit_field_val &= !mask;
- unit_field_val |= (val << 20usize) & mask;
- unsafe {
- ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as
- *const u8,
- &mut self._bitfield_1 as *mut _ as
- *mut u8,
- ::std::mem::size_of::<u32>());
- }
- }
- #[inline]
- pub fn new_bitfield_1(protocol: ::std::os::raw::c_ushort,
- target: ::std::os::raw::c_ushort,
- target_mode: ::std::os::raw::c_ushort,
- source: ::std::os::raw::c_ushort) -> u32 {
- ({
- ({
- ({
- ({ 0 } |
- ((protocol as u16 as u32) << 0usize) &
- (15u64 as u32))
- } | ((target as u16 as u32) << 4usize) & (65520u64 as u32))
- } |
- ((target_mode as u16 as u32) << 16usize) &
- (983040u64 as u32))
- } | ((source as u16 as u32) << 20usize) & (4293918720u64 as u32))
- }
- }
- #[test]
- fn bindgen_test_layout_header_t__bindgen_ty_1() {
- assert_eq!(::std::mem::size_of::<header_t__bindgen_ty_1>() , 6usize ,
- concat ! ( "Size of: " , stringify ! ( header_t__bindgen_ty_1 )
- ));
- assert_eq! (::std::mem::align_of::<header_t__bindgen_ty_1>() , 1usize ,
- concat ! (
- "Alignment of " , stringify ! ( header_t__bindgen_ty_1 ) ));
- assert_eq! (unsafe {
- & ( * ( 0 as * const header_t__bindgen_ty_1 ) ) . unmap as *
- const _ as usize } , 0usize , concat ! (
- "Alignment of field: " , stringify ! ( header_t__bindgen_ty_1
- ) , "::" , stringify ! ( unmap ) ));
- }
- impl Clone for header_t__bindgen_ty_1 {
- fn clone(&self) -> Self { *self }
- }
- #[test]
- fn bindgen_test_layout_header_t() {
- assert_eq!(::std::mem::size_of::<header_t>() , 6usize , concat ! (
- "Size of: " , stringify ! ( header_t ) ));
- assert_eq! (::std::mem::align_of::<header_t>() , 1usize , concat ! (
- "Alignment of " , stringify ! ( header_t ) ));
- }
- impl Clone for header_t {
- fn clone(&self) -> Self { *self }
- }
Add Comment
Please, Sign In to add comment