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