• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #![allow(
2     dead_code,
3     non_snake_case,
4     non_camel_case_types,
5     non_upper_case_globals
6 )]
7 
8 pub const RTE_CACHE_LINE_MIN_SIZE: u32 = 64;
9 pub const RTE_CACHE_LINE_SIZE: u32 = 64;
10 #[repr(C)]
11 #[repr(align(64))]
12 #[derive(Copy, Clone)]
13 pub struct rte_kni_mbuf {
14     pub buf_addr: *mut ::std::os::raw::c_void,
15     pub buf_physaddr: u64,
16     pub pad0: [::std::os::raw::c_char; 2usize],
17     ///< Start address of data in segment buffer.
18     pub data_off: u16,
19     pub pad1: [::std::os::raw::c_char; 2usize],
20     ///< Number of segments.
21     pub nb_segs: u8,
22     pub pad4: [::std::os::raw::c_char; 1usize],
23     ///< Offload features.
24     pub ol_flags: u64,
25     pub pad2: [::std::os::raw::c_char; 4usize],
26     ///< Total pkt len: sum of all segment data_len.
27     pub pkt_len: u32,
28     ///< Amount of data in segment buffer.
29     pub data_len: u16,
30     pub __bindgen_padding_0: [u8; 22usize],
31     pub pad3: [::std::os::raw::c_char; 8usize],
32     pub pool: *mut ::std::os::raw::c_void,
33     pub next: *mut ::std::os::raw::c_void,
34 }
35 #[test]
bindgen_test_layout_rte_kni_mbuf()36 fn bindgen_test_layout_rte_kni_mbuf() {
37     const UNINIT: ::std::mem::MaybeUninit<rte_kni_mbuf> =
38         ::std::mem::MaybeUninit::uninit();
39     let ptr = UNINIT.as_ptr();
40     assert_eq!(
41         ::std::mem::size_of::<rte_kni_mbuf>(),
42         128usize,
43         concat!("Size of: ", stringify!(rte_kni_mbuf))
44     );
45     assert_eq!(
46         ::std::mem::align_of::<rte_kni_mbuf>(),
47         64usize,
48         concat!("Alignment of ", stringify!(rte_kni_mbuf))
49     );
50     assert_eq!(
51         unsafe {
52             ::std::ptr::addr_of!((*ptr).buf_addr) as usize - ptr as usize
53         },
54         0usize,
55         concat!(
56             "Offset of field: ",
57             stringify!(rte_kni_mbuf),
58             "::",
59             stringify!(buf_addr)
60         )
61     );
62     assert_eq!(
63         unsafe {
64             ::std::ptr::addr_of!((*ptr).buf_physaddr) as usize - ptr as usize
65         },
66         8usize,
67         concat!(
68             "Offset of field: ",
69             stringify!(rte_kni_mbuf),
70             "::",
71             stringify!(buf_physaddr)
72         )
73     );
74     assert_eq!(
75         unsafe { ::std::ptr::addr_of!((*ptr).pad0) as usize - ptr as usize },
76         16usize,
77         concat!(
78             "Offset of field: ",
79             stringify!(rte_kni_mbuf),
80             "::",
81             stringify!(pad0)
82         )
83     );
84     assert_eq!(
85         unsafe {
86             ::std::ptr::addr_of!((*ptr).data_off) as usize - ptr as usize
87         },
88         18usize,
89         concat!(
90             "Offset of field: ",
91             stringify!(rte_kni_mbuf),
92             "::",
93             stringify!(data_off)
94         )
95     );
96     assert_eq!(
97         unsafe { ::std::ptr::addr_of!((*ptr).pad1) as usize - ptr as usize },
98         20usize,
99         concat!(
100             "Offset of field: ",
101             stringify!(rte_kni_mbuf),
102             "::",
103             stringify!(pad1)
104         )
105     );
106     assert_eq!(
107         unsafe { ::std::ptr::addr_of!((*ptr).nb_segs) as usize - ptr as usize },
108         22usize,
109         concat!(
110             "Offset of field: ",
111             stringify!(rte_kni_mbuf),
112             "::",
113             stringify!(nb_segs)
114         )
115     );
116     assert_eq!(
117         unsafe { ::std::ptr::addr_of!((*ptr).pad4) as usize - ptr as usize },
118         23usize,
119         concat!(
120             "Offset of field: ",
121             stringify!(rte_kni_mbuf),
122             "::",
123             stringify!(pad4)
124         )
125     );
126     assert_eq!(
127         unsafe {
128             ::std::ptr::addr_of!((*ptr).ol_flags) as usize - ptr as usize
129         },
130         24usize,
131         concat!(
132             "Offset of field: ",
133             stringify!(rte_kni_mbuf),
134             "::",
135             stringify!(ol_flags)
136         )
137     );
138     assert_eq!(
139         unsafe { ::std::ptr::addr_of!((*ptr).pad2) as usize - ptr as usize },
140         32usize,
141         concat!(
142             "Offset of field: ",
143             stringify!(rte_kni_mbuf),
144             "::",
145             stringify!(pad2)
146         )
147     );
148     assert_eq!(
149         unsafe { ::std::ptr::addr_of!((*ptr).pkt_len) as usize - ptr as usize },
150         36usize,
151         concat!(
152             "Offset of field: ",
153             stringify!(rte_kni_mbuf),
154             "::",
155             stringify!(pkt_len)
156         )
157     );
158     assert_eq!(
159         unsafe {
160             ::std::ptr::addr_of!((*ptr).data_len) as usize - ptr as usize
161         },
162         40usize,
163         concat!(
164             "Offset of field: ",
165             stringify!(rte_kni_mbuf),
166             "::",
167             stringify!(data_len)
168         )
169     );
170     assert_eq!(
171         unsafe { ::std::ptr::addr_of!((*ptr).pad3) as usize - ptr as usize },
172         64usize,
173         concat!(
174             "Offset of field: ",
175             stringify!(rte_kni_mbuf),
176             "::",
177             stringify!(pad3)
178         )
179     );
180     assert_eq!(
181         unsafe { ::std::ptr::addr_of!((*ptr).pool) as usize - ptr as usize },
182         72usize,
183         concat!(
184             "Offset of field: ",
185             stringify!(rte_kni_mbuf),
186             "::",
187             stringify!(pool)
188         )
189     );
190     assert_eq!(
191         unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
192         80usize,
193         concat!(
194             "Offset of field: ",
195             stringify!(rte_kni_mbuf),
196             "::",
197             stringify!(next)
198         )
199     );
200 }
201 impl Default for rte_kni_mbuf {
default() -> Self202     fn default() -> Self {
203         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
204         unsafe {
205             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
206             s.assume_init()
207         }
208     }
209 }
210