blob: 8ad13f11a4ae1d8b4f109b63ce939d39ddec1174 [file] [log] [blame]
/* automatically generated by rust-bindgen */
#![allow(non_snake_case)]
#[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> {
#[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")
}
}
pub const RTE_CACHE_LINE_MIN_SIZE: ::std::os::raw::c_uint = 64;
pub const RTE_CACHE_LINE_SIZE: ::std::os::raw::c_uint = 64;
pub type phys_addr_t = u64;
pub type MARKER = [*mut ::std::os::raw::c_void; 0usize];
pub type MARKER8 = [u8; 0usize];
pub type MARKER64 = [u64; 0usize];
/**
* The atomic counter structure.
*/
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_atomic16_t {
/**< An internal counter value. */
pub cnt: i16,
}
#[test]
fn bindgen_test_layout_rte_atomic16_t() {
assert_eq!(::std::mem::size_of::<rte_atomic16_t>() , 2usize , concat ! (
"Size of: " , stringify ! ( rte_atomic16_t ) ));
assert_eq! (::std::mem::align_of::<rte_atomic16_t>() , 2usize , concat ! (
"Alignment of " , stringify ! ( rte_atomic16_t ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_atomic16_t ) ) . cnt as * const _ as
usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_atomic16_t ) , "::"
, stringify ! ( cnt ) ));
}
impl Clone for rte_atomic16_t {
fn clone(&self) -> Self { *self }
}
/**
* The generic rte_mbuf, containing a packet mbuf.
*/
#[repr(C)]
#[derive(Debug, Copy)]
pub struct rte_mbuf {
pub cacheline0: MARKER,
/**< Virtual address of segment buffer. */
pub buf_addr: *mut ::std::os::raw::c_void,
/**< Physical address of segment buffer. */
pub buf_physaddr: phys_addr_t,
/**< Length of segment buffer. */
pub buf_len: u16,
pub rearm_data: MARKER8,
pub data_off: u16,
pub __bindgen_anon_1: rte_mbuf__bindgen_ty_1,
/**< Number of segments. */
pub nb_segs: u8,
/**< Input port. */
pub port: u8,
/**< Offload features. */
pub ol_flags: u64,
pub rx_descriptor_fields1: MARKER,
pub __bindgen_anon_2: rte_mbuf__bindgen_ty_2,
/**< Total pkt len: sum of all segments. */
pub pkt_len: u32,
/**< Amount of data in segment buffer. */
pub data_len: u16,
/** VLAN TCI (CPU order), valid if PKT_RX_VLAN_STRIPPED is set. */
pub vlan_tci: u16,
/**< hash information */
pub hash: rte_mbuf__bindgen_ty_3,
/**< Sequence number. See also rte_reorder_insert() */
pub seqn: u32,
/** Outer VLAN TCI (CPU order), valid if PKT_RX_QINQ_STRIPPED is set. */
pub vlan_tci_outer: u16,
pub cacheline1: MARKER,
pub __bindgen_anon_3: rte_mbuf__bindgen_ty_4,
/**< Pool from which mbuf was allocated. */
pub pool: *mut rte_mempool,
/**< Next segment of scattered packet. */
pub next: *mut rte_mbuf,
pub __bindgen_anon_4: rte_mbuf__bindgen_ty_5,
/** Size of the application private data. In case of an indirect
* mbuf, it stores the direct mbuf private data size. */
pub priv_size: u16,
/** Timesync flags for use with IEEE1588. */
pub timesync: u16,
pub __bindgen_padding_0: [u32; 7usize],
}
/**
* 16-bit Reference counter.
* It should only be accessed using the following functions:
* rte_mbuf_refcnt_update(), rte_mbuf_refcnt_read(), and
* rte_mbuf_refcnt_set(). The functionality of these functions (atomic,
* or non-atomic) is controlled by the CONFIG_RTE_MBUF_REFCNT_ATOMIC
* config option.
*/
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mbuf__bindgen_ty_1 {
/**< Atomically accessed refcnt */
pub refcnt_atomic: __BindgenUnionField<rte_atomic16_t>,
/**< Non-atomically accessed refcnt */
pub refcnt: __BindgenUnionField<u16>,
pub bindgen_union_field: u16,
}
#[test]
fn bindgen_test_layout_rte_mbuf__bindgen_ty_1() {
assert_eq!(::std::mem::size_of::<rte_mbuf__bindgen_ty_1>() , 2usize ,
concat ! ( "Size of: " , stringify ! ( rte_mbuf__bindgen_ty_1 )
));
assert_eq! (::std::mem::align_of::<rte_mbuf__bindgen_ty_1>() , 2usize ,
concat ! (
"Alignment of " , stringify ! ( rte_mbuf__bindgen_ty_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_1 ) ) .
refcnt_atomic as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf__bindgen_ty_1
) , "::" , stringify ! ( refcnt_atomic ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_1 ) ) . refcnt as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf__bindgen_ty_1
) , "::" , stringify ! ( refcnt ) ));
}
impl Clone for rte_mbuf__bindgen_ty_1 {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mbuf__bindgen_ty_2 {
/**< L2/L3/L4 and tunnel information. */
pub packet_type: __BindgenUnionField<u32>,
pub __bindgen_anon_1: __BindgenUnionField<rte_mbuf__bindgen_ty_2__bindgen_ty_1>,
pub bindgen_union_field: u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mbuf__bindgen_ty_2__bindgen_ty_1 {
pub _bitfield_1: [u8; 4usize],
pub __bindgen_align: [u32; 0usize],
}
#[test]
fn bindgen_test_layout_rte_mbuf__bindgen_ty_2__bindgen_ty_1() {
assert_eq!(::std::mem::size_of::<rte_mbuf__bindgen_ty_2__bindgen_ty_1>() ,
4usize , concat ! (
"Size of: " , stringify ! (
rte_mbuf__bindgen_ty_2__bindgen_ty_1 ) ));
assert_eq! (::std::mem::align_of::<rte_mbuf__bindgen_ty_2__bindgen_ty_1>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
rte_mbuf__bindgen_ty_2__bindgen_ty_1 ) ));
}
impl Clone for rte_mbuf__bindgen_ty_2__bindgen_ty_1 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_rte_mbuf__bindgen_ty_2() {
assert_eq!(::std::mem::size_of::<rte_mbuf__bindgen_ty_2>() , 4usize ,
concat ! ( "Size of: " , stringify ! ( rte_mbuf__bindgen_ty_2 )
));
assert_eq! (::std::mem::align_of::<rte_mbuf__bindgen_ty_2>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( rte_mbuf__bindgen_ty_2 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_2 ) ) . packet_type
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf__bindgen_ty_2
) , "::" , stringify ! ( packet_type ) ));
}
impl Clone for rte_mbuf__bindgen_ty_2 {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mbuf__bindgen_ty_3 {
/**< RSS hash result if RSS enabled */
pub rss: __BindgenUnionField<u32>,
/**< Filter identifier if FDIR enabled */
pub fdir: __BindgenUnionField<rte_mbuf__bindgen_ty_3__bindgen_ty_1>,
/**< Hierarchical scheduler */
pub sched: __BindgenUnionField<rte_mbuf__bindgen_ty_3__bindgen_ty_2>,
/**< User defined tags. See rte_distributor_process() */
pub usr: __BindgenUnionField<u32>,
pub bindgen_union_field: [u32; 2usize],
}
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mbuf__bindgen_ty_3__bindgen_ty_1 {
pub __bindgen_anon_1: rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1,
pub hi: u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 {
pub __bindgen_anon_1: __BindgenUnionField<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>,
pub lo: __BindgenUnionField<u32>,
pub bindgen_union_field: u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
pub hash: u16,
pub id: u16,
}
#[test]
fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
assert_eq!(::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>()
, 4usize , concat ! (
"Size of: " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
) ));
assert_eq! (::std::mem::align_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>()
, 2usize , concat ! (
"Alignment of " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
) ));
assert_eq! (unsafe {
& (
* (
0 as * const
rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
) ) . hash as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
) , "::" , stringify ! ( hash ) ));
assert_eq! (unsafe {
& (
* (
0 as * const
rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
) ) . id as * const _ as usize } , 2usize , concat ! (
"Alignment of field: " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
) , "::" , stringify ! ( id ) ));
}
impl Clone for
rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1() {
assert_eq!(::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1>()
, 4usize , concat ! (
"Size of: " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 ) ));
assert_eq! (::std::mem::align_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 ) ));
assert_eq! (unsafe {
& (
* (
0 as * const
rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 ) ) . lo as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 ) , "::" ,
stringify ! ( lo ) ));
}
impl Clone for rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1() {
assert_eq!(::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1>() ,
8usize , concat ! (
"Size of: " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_1 ) ));
assert_eq! (::std::mem::align_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_3__bindgen_ty_1 ) )
. hi as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_1 ) , "::" , stringify ! (
hi ) ));
}
impl Clone for rte_mbuf__bindgen_ty_3__bindgen_ty_1 {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mbuf__bindgen_ty_3__bindgen_ty_2 {
pub lo: u32,
pub hi: u32,
}
#[test]
fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_2() {
assert_eq!(::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_2>() ,
8usize , concat ! (
"Size of: " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_2 ) ));
assert_eq! (::std::mem::align_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_2>()
, 4usize , concat ! (
"Alignment of " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_2 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_3__bindgen_ty_2 ) )
. lo as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_2 ) , "::" , stringify ! (
lo ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_3__bindgen_ty_2 ) )
. hi as * const _ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! (
rte_mbuf__bindgen_ty_3__bindgen_ty_2 ) , "::" , stringify ! (
hi ) ));
}
impl Clone for rte_mbuf__bindgen_ty_3__bindgen_ty_2 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_rte_mbuf__bindgen_ty_3() {
assert_eq!(::std::mem::size_of::<rte_mbuf__bindgen_ty_3>() , 8usize ,
concat ! ( "Size of: " , stringify ! ( rte_mbuf__bindgen_ty_3 )
));
assert_eq! (::std::mem::align_of::<rte_mbuf__bindgen_ty_3>() , 4usize ,
concat ! (
"Alignment of " , stringify ! ( rte_mbuf__bindgen_ty_3 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_3 ) ) . rss as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf__bindgen_ty_3
) , "::" , stringify ! ( rss ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_3 ) ) . fdir as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf__bindgen_ty_3
) , "::" , stringify ! ( fdir ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_3 ) ) . sched as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf__bindgen_ty_3
) , "::" , stringify ! ( sched ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_3 ) ) . usr as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf__bindgen_ty_3
) , "::" , stringify ! ( usr ) ));
}
impl Clone for rte_mbuf__bindgen_ty_3 {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mbuf__bindgen_ty_4 {
/**< Can be used for external metadata */
pub userdata: __BindgenUnionField<*mut ::std::os::raw::c_void>,
/**< Allow 8-byte userdata on 32-bit */
pub udata64: __BindgenUnionField<u64>,
pub bindgen_union_field: u64,
}
#[test]
fn bindgen_test_layout_rte_mbuf__bindgen_ty_4() {
assert_eq!(::std::mem::size_of::<rte_mbuf__bindgen_ty_4>() , 8usize ,
concat ! ( "Size of: " , stringify ! ( rte_mbuf__bindgen_ty_4 )
));
assert_eq! (::std::mem::align_of::<rte_mbuf__bindgen_ty_4>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( rte_mbuf__bindgen_ty_4 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_4 ) ) . userdata as
* const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf__bindgen_ty_4
) , "::" , stringify ! ( userdata ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_4 ) ) . udata64 as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf__bindgen_ty_4
) , "::" , stringify ! ( udata64 ) ));
}
impl Clone for rte_mbuf__bindgen_ty_4 {
fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mbuf__bindgen_ty_5 {
/**< combined for easy fetch */
pub tx_offload: __BindgenUnionField<u64>,
pub __bindgen_anon_1: __BindgenUnionField<rte_mbuf__bindgen_ty_5__bindgen_ty_1>,
pub bindgen_union_field: u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mbuf__bindgen_ty_5__bindgen_ty_1 {
pub _bitfield_1: [u16; 4usize],
pub __bindgen_align: [u64; 0usize],
}
#[test]
fn bindgen_test_layout_rte_mbuf__bindgen_ty_5__bindgen_ty_1() {
assert_eq!(::std::mem::size_of::<rte_mbuf__bindgen_ty_5__bindgen_ty_1>() ,
8usize , concat ! (
"Size of: " , stringify ! (
rte_mbuf__bindgen_ty_5__bindgen_ty_1 ) ));
assert_eq! (::std::mem::align_of::<rte_mbuf__bindgen_ty_5__bindgen_ty_1>()
, 8usize , concat ! (
"Alignment of " , stringify ! (
rte_mbuf__bindgen_ty_5__bindgen_ty_1 ) ));
}
impl Clone for rte_mbuf__bindgen_ty_5__bindgen_ty_1 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_rte_mbuf__bindgen_ty_5() {
assert_eq!(::std::mem::size_of::<rte_mbuf__bindgen_ty_5>() , 8usize ,
concat ! ( "Size of: " , stringify ! ( rte_mbuf__bindgen_ty_5 )
));
assert_eq! (::std::mem::align_of::<rte_mbuf__bindgen_ty_5>() , 8usize ,
concat ! (
"Alignment of " , stringify ! ( rte_mbuf__bindgen_ty_5 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf__bindgen_ty_5 ) ) . tx_offload
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf__bindgen_ty_5
) , "::" , stringify ! ( tx_offload ) ));
}
impl Clone for rte_mbuf__bindgen_ty_5 {
fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_rte_mbuf() {
assert_eq!(::std::mem::size_of::<rte_mbuf>() , 128usize , concat ! (
"Size of: " , stringify ! ( rte_mbuf ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . cacheline0 as * const _ as
usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( cacheline0 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . buf_addr as * const _ as
usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( buf_addr ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . buf_physaddr as * const _
as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( buf_physaddr ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . buf_len as * const _ as
usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( buf_len ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . rearm_data as * const _ as
usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( rearm_data ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . data_off as * const _ as
usize } , 18usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( data_off ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . nb_segs as * const _ as
usize } , 22usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( nb_segs ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . port as * const _ as usize
} , 23usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( port ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . ol_flags as * const _ as
usize } , 24usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( ol_flags ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . rx_descriptor_fields1 as *
const _ as usize } , 32usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( rx_descriptor_fields1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . pkt_len as * const _ as
usize } , 36usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( pkt_len ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . data_len as * const _ as
usize } , 40usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( data_len ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . vlan_tci as * const _ as
usize } , 42usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( vlan_tci ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . hash as * const _ as usize
} , 44usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( hash ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . seqn as * const _ as usize
} , 52usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( seqn ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . vlan_tci_outer as * const
_ as usize } , 56usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( vlan_tci_outer ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . cacheline1 as * const _ as
usize } , 64usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( cacheline1 ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . pool as * const _ as usize
} , 72usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( pool ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . next as * const _ as usize
} , 80usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( next ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . priv_size as * const _ as
usize } , 96usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( priv_size ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const rte_mbuf ) ) . timesync as * const _ as
usize } , 98usize , concat ! (
"Alignment of field: " , stringify ! ( rte_mbuf ) , "::" ,
stringify ! ( timesync ) ));
}
impl Clone for rte_mbuf {
fn clone(&self) -> Self { *self }
}
impl Default for rte_mbuf {
fn default() -> Self { unsafe { ::std::mem::zeroed() } }
}
/**< Pool from which mbuf was allocated. */
#[repr(C)]
#[derive(Debug, Default, Copy)]
pub struct rte_mempool {
pub _address: u8,
}
impl Clone for rte_mempool {
fn clone(&self) -> Self { *self }
}