1#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6 storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9 #[inline]
10 pub const fn new(storage: Storage) -> Self {
11 Self { storage }
12 }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16 Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18 #[inline]
19 pub fn get_bit(&self, index: usize) -> bool {
20 debug_assert!(index / 8 < self.storage.as_ref().len());
21 let byte_index = index / 8;
22 let byte = self.storage.as_ref()[byte_index];
23 let bit_index = if cfg!(target_endian = "big") {
24 7 - (index % 8)
25 } else {
26 index % 8
27 };
28 let mask = 1 << bit_index;
29 byte & mask == mask
30 }
31 #[inline]
32 pub fn set_bit(&mut self, index: usize, val: bool) {
33 debug_assert!(index / 8 < self.storage.as_ref().len());
34 let byte_index = index / 8;
35 let byte = &mut self.storage.as_mut()[byte_index];
36 let bit_index = if cfg!(target_endian = "big") {
37 7 - (index % 8)
38 } else {
39 index % 8
40 };
41 let mask = 1 << bit_index;
42 if val {
43 *byte |= mask;
44 } else {
45 *byte &= !mask;
46 }
47 }
48 #[inline]
49 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
50 debug_assert!(bit_width <= 64);
51 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
52 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
53 let mut val = 0;
54 for i in 0..(bit_width as usize) {
55 if self.get_bit(i + bit_offset) {
56 let index = if cfg!(target_endian = "big") {
57 bit_width as usize - 1 - i
58 } else {
59 i
60 };
61 val |= 1 << index;
62 }
63 }
64 val
65 }
66 #[inline]
67 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
68 debug_assert!(bit_width <= 64);
69 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
70 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
71 for i in 0..(bit_width as usize) {
72 let mask = 1 << i;
73 let val_bit_is_set = val & mask == mask;
74 let index = if cfg!(target_endian = "big") {
75 bit_width as usize - 1 - i
76 } else {
77 i
78 };
79 self.set_bit(index + bit_offset, val_bit_is_set);
80 }
81 }
82}
83#[repr(C)]
84#[derive(Default)]
85pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
86impl<T> __IncompleteArrayField<T> {
87 #[inline]
88 pub const fn new() -> Self {
89 __IncompleteArrayField(::std::marker::PhantomData, [])
90 }
91 #[inline]
92 pub fn as_ptr(&self) -> *const T {
93 self as *const _ as *const T
94 }
95 #[inline]
96 pub fn as_mut_ptr(&mut self) -> *mut T {
97 self as *mut _ as *mut T
98 }
99 #[inline]
100 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
101 ::std::slice::from_raw_parts(self.as_ptr(), len)
102 }
103 #[inline]
104 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
105 ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
106 }
107}
108impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
109 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
110 fmt.write_str("__IncompleteArrayField")
111 }
112}
113pub const RTE_ARCH_X86: u32 = 1;
114pub const RTE_ARCH_X86_64: u32 = 1;
115pub const RTE_CACHE_LINE_SIZE: u32 = 64;
116pub const RTE_DRIVER_MEMPOOL_BUCKET_SIZE_KB: u32 = 64;
117pub const RTE_EAL_NUMA_AWARE_HUGEPAGES: u32 = 1;
118pub const RTE_EAL_PMD_PATH: &'static [u8; 47usize] =
119 b"/usr/local/lib/x86_64-linux-gnu/dpdk/pmds-20.0\0";
120pub const RTE_EXEC_ENV_LINUX: u32 = 1;
121pub const RTE_HAS_LIBNUMA: u32 = 1;
122pub const RTE_IXGBE_INC_VECTOR: u32 = 1;
123pub const RTE_LIBRTE_ACL: u32 = 1;
124pub const RTE_LIBRTE_AF_PACKET_PMD: u32 = 1;
125pub const RTE_LIBRTE_ARK_PMD: u32 = 1;
126pub const RTE_LIBRTE_ATLANTIC_PMD: u32 = 1;
127pub const RTE_LIBRTE_AVP_PMD: u32 = 1;
128pub const RTE_LIBRTE_AXGBE_PMD: u32 = 1;
129pub const RTE_LIBRTE_BBDEV: u32 = 1;
130pub const RTE_LIBRTE_BITRATESTATS: u32 = 1;
131pub const RTE_LIBRTE_BNXT_PMD: u32 = 1;
132pub const RTE_LIBRTE_BOND_PMD: u32 = 1;
133pub const RTE_LIBRTE_BPF: u32 = 1;
134pub const RTE_LIBRTE_BUCKET_MEMPOOL: u32 = 1;
135pub const RTE_LIBRTE_CAAM_JR_PMD: u32 = 1;
136pub const RTE_LIBRTE_CFGFILE: u32 = 1;
137pub const RTE_LIBRTE_CMDLINE: u32 = 1;
138pub const RTE_LIBRTE_COMPRESSDEV: u32 = 1;
139pub const RTE_LIBRTE_CPT_COMMON: u32 = 1;
140pub const RTE_LIBRTE_CRYPTODEV: u32 = 1;
141pub const RTE_LIBRTE_CRYPTO_SCHEDULER_PMD: u32 = 1;
142pub const RTE_LIBRTE_CXGBE_PMD: u32 = 1;
143pub const RTE_LIBRTE_DISTRIBUTOR: u32 = 1;
144pub const RTE_LIBRTE_DPAA2_EVENTDEV_PMD: u32 = 1;
145pub const RTE_LIBRTE_DPAA2_MEMPOOL: u32 = 1;
146pub const RTE_LIBRTE_DPAA2_PMD: u32 = 1;
147pub const RTE_LIBRTE_DPAA2_SEC_PMD: u32 = 1;
148pub const RTE_LIBRTE_DPAAX_COMMON: u32 = 1;
149pub const RTE_LIBRTE_DPAA_BUS: u32 = 1;
150pub const RTE_LIBRTE_DPAA_EVENTDEV_PMD: u32 = 1;
151pub const RTE_LIBRTE_DPAA_MEMPOOL: u32 = 1;
152pub const RTE_LIBRTE_DPAA_PMD: u32 = 1;
153pub const RTE_LIBRTE_DPAA_SEC_PMD: u32 = 1;
154pub const RTE_LIBRTE_DSW_EVENTDEV_PMD: u32 = 1;
155pub const RTE_LIBRTE_E1000_PMD: u32 = 1;
156pub const RTE_LIBRTE_EAL: u32 = 1;
157pub const RTE_LIBRTE_EFD: u32 = 1;
158pub const RTE_LIBRTE_ENA_PMD: u32 = 1;
159pub const RTE_LIBRTE_ENETC_PMD: u32 = 1;
160pub const RTE_LIBRTE_ENIC_PMD: u32 = 1;
161pub const RTE_LIBRTE_ETHDEV: u32 = 1;
162pub const RTE_LIBRTE_EVENTDEV: u32 = 1;
163pub const RTE_LIBRTE_FAILSAFE_PMD: u32 = 1;
164pub const RTE_LIBRTE_FIB: u32 = 1;
165pub const RTE_LIBRTE_FLOW_CLASSIFY: u32 = 1;
166pub const RTE_LIBRTE_FM10K_INC_VECTOR: u32 = 1;
167pub const RTE_LIBRTE_FM10K_PMD: u32 = 1;
168pub const RTE_LIBRTE_FSLMC_BUS: u32 = 1;
169pub const RTE_LIBRTE_GRO: u32 = 1;
170pub const RTE_LIBRTE_GSO: u32 = 1;
171pub const RTE_LIBRTE_HASH: u32 = 1;
172pub const RTE_LIBRTE_HINIC_PMD: u32 = 1;
173pub const RTE_LIBRTE_HNS3_PMD: u32 = 1;
174pub const RTE_LIBRTE_I40E_INC_VECTOR: u32 = 1;
175pub const RTE_LIBRTE_I40E_PMD: u32 = 1;
176pub const RTE_LIBRTE_IAVF_PMD: u32 = 1;
177pub const RTE_LIBRTE_ICE_PMD: u32 = 1;
178pub const RTE_LIBRTE_IFC_PMD: u32 = 1;
179pub const RTE_LIBRTE_IFPGA_BUS: u32 = 1;
180pub const RTE_LIBRTE_IPSEC: u32 = 1;
181pub const RTE_LIBRTE_IP_FRAG: u32 = 1;
182pub const RTE_LIBRTE_IXGBE_PMD: u32 = 1;
183pub const RTE_LIBRTE_JOBSTATS: u32 = 1;
184pub const RTE_LIBRTE_KNI: u32 = 1;
185pub const RTE_LIBRTE_KNI_PMD: u32 = 1;
186pub const RTE_LIBRTE_KVARGS: u32 = 1;
187pub const RTE_LIBRTE_LATENCYSTATS: u32 = 1;
188pub const RTE_LIBRTE_LIQUIDIO_PMD: u32 = 1;
189pub const RTE_LIBRTE_LPM: u32 = 1;
190pub const RTE_LIBRTE_MBUF: u32 = 1;
191pub const RTE_LIBRTE_MEMBER: u32 = 1;
192pub const RTE_LIBRTE_MEMIF_PMD: u32 = 1;
193pub const RTE_LIBRTE_MEMPOOL: u32 = 1;
194pub const RTE_LIBRTE_METER: u32 = 1;
195pub const RTE_LIBRTE_METRICS: u32 = 1;
196pub const RTE_LIBRTE_NET: u32 = 1;
197pub const RTE_LIBRTE_NETVSC_PMD: u32 = 1;
198pub const RTE_LIBRTE_NFP_PMD: u32 = 1;
199pub const RTE_LIBRTE_NITROX_PMD: u32 = 1;
200pub const RTE_LIBRTE_NULL_CRYPTO_PMD: u32 = 1;
201pub const RTE_LIBRTE_NULL_PMD: u32 = 1;
202pub const RTE_LIBRTE_OCTEONTX2_COMMON: u32 = 1;
203pub const RTE_LIBRTE_OCTEONTX2_CRYPTO_PMD: u32 = 1;
204pub const RTE_LIBRTE_OCTEONTX2_EVENTDEV_PMD: u32 = 1;
205pub const RTE_LIBRTE_OCTEONTX2_MEMPOOL: u32 = 1;
206pub const RTE_LIBRTE_OCTEONTX2_PMD: u32 = 1;
207pub const RTE_LIBRTE_OCTEONTX_COMMON: u32 = 1;
208pub const RTE_LIBRTE_OCTEONTX_COMPRESS_PMD: u32 = 1;
209pub const RTE_LIBRTE_OCTEONTX_CRYPTO_PMD: u32 = 1;
210pub const RTE_LIBRTE_OCTEONTX_EVENTDEV_PMD: u32 = 1;
211pub const RTE_LIBRTE_OCTEONTX_MEMPOOL: u32 = 1;
212pub const RTE_LIBRTE_OCTEONTX_PMD: u32 = 1;
213pub const RTE_LIBRTE_OPDL_EVENTDEV_PMD: u32 = 1;
214pub const RTE_LIBRTE_PCAP_PMD: u32 = 1;
215pub const RTE_LIBRTE_PCI: u32 = 1;
216pub const RTE_LIBRTE_PCI_BUS: u32 = 1;
217pub const RTE_LIBRTE_PDUMP: u32 = 1;
218pub const RTE_LIBRTE_PFE_PMD: u32 = 1;
219pub const RTE_LIBRTE_PIPELINE: u32 = 1;
220pub const RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC: u32 = 1;
221pub const RTE_LIBRTE_PMD_BBDEV_NULL: u32 = 1;
222pub const RTE_LIBRTE_PMD_BBDEV_TURBO_SW: u32 = 1;
223pub const RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV: u32 = 1;
224pub const RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV: u32 = 1;
225pub const RTE_LIBRTE_PMD_IOAT_RAWDEV: u32 = 1;
226pub const RTE_LIBRTE_PMD_NTB_RAWDEV: u32 = 1;
227pub const RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV: u32 = 1;
228pub const RTE_LIBRTE_PMD_SKELETON_RAWDEV: u32 = 1;
229pub const RTE_LIBRTE_PORT: u32 = 1;
230pub const RTE_LIBRTE_POWER: u32 = 1;
231pub const RTE_LIBRTE_QAT_PMD: u32 = 1;
232pub const RTE_LIBRTE_QEDE_PMD: u32 = 1;
233pub const RTE_LIBRTE_RAWDEV: u32 = 1;
234pub const RTE_LIBRTE_RCU: u32 = 1;
235pub const RTE_LIBRTE_REORDER: u32 = 1;
236pub const RTE_LIBRTE_RIB: u32 = 1;
237pub const RTE_LIBRTE_RING: u32 = 1;
238pub const RTE_LIBRTE_RING_MEMPOOL: u32 = 1;
239pub const RTE_LIBRTE_RING_PMD: u32 = 1;
240pub const RTE_LIBRTE_SCHED: u32 = 1;
241pub const RTE_LIBRTE_SECURITY: u32 = 1;
242pub const RTE_LIBRTE_SFC_PMD: u32 = 1;
243pub const RTE_LIBRTE_SKELETON_EVENTDEV_PMD: u32 = 1;
244pub const RTE_LIBRTE_SOFTNIC_PMD: u32 = 1;
245pub const RTE_LIBRTE_STACK: u32 = 1;
246pub const RTE_LIBRTE_STACK_MEMPOOL: u32 = 1;
247pub const RTE_LIBRTE_SW_EVENTDEV_PMD: u32 = 1;
248pub const RTE_LIBRTE_TABLE: u32 = 1;
249pub const RTE_LIBRTE_TAP_PMD: u32 = 1;
250pub const RTE_LIBRTE_THUNDERX_PMD: u32 = 1;
251pub const RTE_LIBRTE_TIMER: u32 = 1;
252pub const RTE_LIBRTE_VDEV_BUS: u32 = 1;
253pub const RTE_LIBRTE_VDEV_NETVSC_PMD: u32 = 1;
254pub const RTE_LIBRTE_VHOST: u32 = 1;
255pub const RTE_LIBRTE_VHOST_NUMA: u32 = 1;
256pub const RTE_LIBRTE_VHOST_PMD: u32 = 1;
257pub const RTE_LIBRTE_VIRTIO_CRYPTO_PMD: u32 = 1;
258pub const RTE_LIBRTE_VIRTIO_PMD: u32 = 1;
259pub const RTE_LIBRTE_VMBUS_BUS: u32 = 1;
260pub const RTE_LIBRTE_VMXNET3_PMD: u32 = 1;
261pub const RTE_MACHINE_CPUFLAG_SSE: u32 = 1;
262pub const RTE_MACHINE_CPUFLAG_SSE2: u32 = 1;
263pub const RTE_MACHINE_CPUFLAG_SSE3: u32 = 1;
264pub const RTE_MACHINE_CPUFLAG_SSE4_1: u32 = 1;
265pub const RTE_MACHINE_CPUFLAG_SSE4_2: u32 = 1;
266pub const RTE_MACHINE_CPUFLAG_SSSE3: u32 = 1;
267pub const RTE_MAX_ETHPORTS: u32 = 32;
268pub const RTE_MAX_LCORE: u32 = 128;
269pub const RTE_MAX_MEM_MB: u32 = 524288;
270pub const RTE_MAX_NUMA_NODES: u32 = 4;
271pub const RTE_MAX_VFIO_GROUPS: u32 = 64;
272pub const RTE_PORT_PCAP: u32 = 1;
273pub const RTE_TOOLCHAIN: &'static [u8; 4usize] = b"gcc\0";
274pub const RTE_TOOLCHAIN_GCC: u32 = 1;
275pub const RTE_VER_MINOR: u32 = 6;
276pub const RTE_VER_MONTH: u32 = 11;
277pub const RTE_VER_RELEASE: u32 = 99;
278pub const RTE_VER_SUFFIX: &'static [u8; 1usize] = b"\0";
279pub const RTE_VER_YEAR: u32 = 19;
280pub const RTE_VIRTIO_USER: u32 = 1;
281pub const RTE_EXEC_ENV_LINUXAPP: u32 = 1;
282pub const RTE_VER_PREFIX: &'static [u8; 5usize] = b"DPDK\0";
283pub const RTE_MAX_HEAPS: u32 = 32;
284pub const RTE_MAX_MEMSEG_LISTS: u32 = 128;
285pub const RTE_MAX_MEMSEG_PER_LIST: u32 = 8192;
286pub const RTE_MAX_MEM_MB_PER_LIST: u32 = 32768;
287pub const RTE_MAX_MEMSEG_PER_TYPE: u32 = 32768;
288pub const RTE_MAX_MEM_MB_PER_TYPE: u32 = 65536;
289pub const RTE_MAX_MEMZONE: u32 = 2560;
290pub const RTE_MAX_TAILQ: u32 = 32;
291pub const RTE_BACKTRACE: u32 = 1;
292pub const RTE_MAX_VFIO_CONTAINERS: u32 = 64;
293pub const RTE_CONTIGMEM_MAX_NUM_BUFS: u32 = 64;
294pub const RTE_CONTIGMEM_DEFAULT_NUM_BUFS: u32 = 1;
295pub const RTE_CONTIGMEM_DEFAULT_BUF_SIZE: u32 = 536870912;
296pub const RTE_MEMPOOL_CACHE_MAX_SIZE: u32 = 512;
297pub const RTE_MBUF_DEFAULT_MEMPOOL_OPS: &'static [u8; 11usize] = b"ring_mp_mc\0";
298pub const RTE_MBUF_REFCNT_ATOMIC: u32 = 1;
299pub const RTE_PKTMBUF_HEADROOM: u32 = 128;
300pub const RTE_MAX_QUEUES_PER_PORT: u32 = 1024;
301pub const RTE_ETHDEV_QUEUE_STAT_CNTRS: u32 = 16;
302pub const RTE_ETHDEV_RXTX_CALLBACKS: u32 = 1;
303pub const RTE_CRYPTO_MAX_DEVS: u32 = 64;
304pub const RTE_CRYPTODEV_NAME_LEN: u32 = 64;
305pub const RTE_COMPRESS_MAX_DEVS: u32 = 64;
306pub const RTE_EVENT_MAX_DEVS: u32 = 16;
307pub const RTE_EVENT_MAX_QUEUES_PER_DEV: u32 = 64;
308pub const RTE_EVENT_TIMER_ADAPTER_NUM_MAX: u32 = 32;
309pub const RTE_EVENT_ETH_INTR_RING_SIZE: u32 = 1024;
310pub const RTE_EVENT_CRYPTO_ADAPTER_MAX_INSTANCE: u32 = 32;
311pub const RTE_EVENT_ETH_TX_ADAPTER_MAX_INSTANCE: u32 = 32;
312pub const RTE_RAWDEV_MAX_DEVS: u32 = 64;
313pub const RTE_LIBRTE_IP_FRAG_MAX_FRAG: u32 = 4;
314pub const RTE_MAX_LCORE_FREQS: u32 = 64;
315pub const RTE_SCHED_PORT_N_GRINDERS: u32 = 8;
316pub const RTE_KNI_PREEMPT_DEFAULT: u32 = 1;
317pub const RTE_PMD_PACKET_PREFETCH: u32 = 1;
318pub const RTE_PMD_QAT_MAX_PCI_DEVICES: u32 = 48;
319pub const RTE_PMD_QAT_COMP_SGL_MAX_SEGMENTS: u32 = 16;
320pub const RTE_PMD_QAT_COMP_IM_BUFFER_SIZE: u32 = 65536;
321pub const RTE_MAX_VIRTIO_CRYPTO: u32 = 32;
322pub const RTE_LIBRTE_DPAA_MAX_CRYPTODEV: u32 = 4;
323pub const RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE: u32 = 1;
324pub const RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC: u32 = 1;
325pub const RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF: u32 = 64;
326pub const RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF: u32 = 4;
327pub const RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM: u32 = 4;
328pub const RTE_PMD_RING_MAX_RX_RINGS: u32 = 16;
329pub const RTE_PMD_RING_MAX_TX_RINGS: u32 = 16;
330pub const RTE_LIBRTE_QEDE_FW: &'static [u8; 1usize] = b"\0";
331pub const RTE_PRIORITY_LOG: u32 = 101;
332pub const RTE_PRIORITY_BUS: u32 = 110;
333pub const RTE_PRIORITY_CLASS: u32 = 120;
334pub const RTE_PRIORITY_LAST: u32 = 65535;
335pub const RTE_CACHE_LINE_MASK: u32 = 63;
336pub const RTE_CACHE_LINE_SIZE_LOG2: u32 = 6;
337pub const RTE_CACHE_LINE_MIN_SIZE: u32 = 64;
338pub const RTE_LOGTYPE_EAL: u32 = 0;
339pub const RTE_LOGTYPE_MALLOC: u32 = 1;
340pub const RTE_LOGTYPE_RING: u32 = 2;
341pub const RTE_LOGTYPE_MEMPOOL: u32 = 3;
342pub const RTE_LOGTYPE_TIMER: u32 = 4;
343pub const RTE_LOGTYPE_PMD: u32 = 5;
344pub const RTE_LOGTYPE_HASH: u32 = 6;
345pub const RTE_LOGTYPE_LPM: u32 = 7;
346pub const RTE_LOGTYPE_KNI: u32 = 8;
347pub const RTE_LOGTYPE_ACL: u32 = 9;
348pub const RTE_LOGTYPE_POWER: u32 = 10;
349pub const RTE_LOGTYPE_METER: u32 = 11;
350pub const RTE_LOGTYPE_SCHED: u32 = 12;
351pub const RTE_LOGTYPE_PORT: u32 = 13;
352pub const RTE_LOGTYPE_TABLE: u32 = 14;
353pub const RTE_LOGTYPE_PIPELINE: u32 = 15;
354pub const RTE_LOGTYPE_MBUF: u32 = 16;
355pub const RTE_LOGTYPE_CRYPTODEV: u32 = 17;
356pub const RTE_LOGTYPE_EFD: u32 = 18;
357pub const RTE_LOGTYPE_EVENTDEV: u32 = 19;
358pub const RTE_LOGTYPE_GSO: u32 = 20;
359pub const RTE_LOGTYPE_USER1: u32 = 24;
360pub const RTE_LOGTYPE_USER2: u32 = 25;
361pub const RTE_LOGTYPE_USER3: u32 = 26;
362pub const RTE_LOGTYPE_USER4: u32 = 27;
363pub const RTE_LOGTYPE_USER5: u32 = 28;
364pub const RTE_LOGTYPE_USER6: u32 = 29;
365pub const RTE_LOGTYPE_USER7: u32 = 30;
366pub const RTE_LOGTYPE_USER8: u32 = 31;
367pub const RTE_LOGTYPE_FIRST_EXT_ID: u32 = 32;
368pub const RTE_LOG_EMERG: u32 = 1;
369pub const RTE_LOG_ALERT: u32 = 2;
370pub const RTE_LOG_CRIT: u32 = 3;
371pub const RTE_LOG_ERR: u32 = 4;
372pub const RTE_LOG_WARNING: u32 = 5;
373pub const RTE_LOG_NOTICE: u32 = 6;
374pub const RTE_LOG_INFO: u32 = 7;
375pub const RTE_LOG_DEBUG: u32 = 8;
376pub const RTE_DEV_NAME_MAX_LEN: u32 = 64;
377pub const RTE_MAGIC: u32 = 19820526;
378pub const RTE_MAX_THREAD_NAME_LEN: u32 = 16;
379pub const RTE_MP_MAX_FD_NUM: u32 = 8;
380pub const RTE_MP_MAX_NAME_LEN: u32 = 64;
381pub const RTE_MP_MAX_PARAM_LEN: u32 = 256;
382pub const RTE_MAX_RXTX_INTR_VEC_ID: u32 = 512;
383pub const RTE_INTR_VEC_ZERO_OFFSET: u32 = 0;
384pub const RTE_INTR_VEC_RXTX_OFFSET: u32 = 1;
385pub const RTE_INTR_EVENT_ADD: u32 = 1;
386pub const RTE_INTR_EVENT_DEL: u32 = 2;
387pub const RTE_EPOLL_PER_THREAD: i32 = -1;
388pub const RTE_XBEGIN_STARTED: i32 = -1;
389pub const RTE_XABORT_EXPLICIT: u32 = 1;
390pub const RTE_XABORT_RETRY: u32 = 2;
391pub const RTE_XABORT_CONFLICT: u32 = 4;
392pub const RTE_XABORT_CAPACITY: u32 = 8;
393pub const RTE_XABORT_DEBUG: u32 = 16;
394pub const RTE_XABORT_NESTED: u32 = 32;
395pub const RTE_RTM_MAX_RETRIES: u32 = 20;
396pub const RTE_XABORT_LOCK_BUSY: u32 = 255;
397pub const RTE_FBARRAY_NAME_LEN: u32 = 64;
398pub const RTE_MEMSEG_FLAG_DO_NOT_FREE: u32 = 1;
399pub const RTE_MEM_EVENT_CALLBACK_NAME_LEN: u32 = 64;
400pub const RTE_MEM_ALLOC_VALIDATOR_NAME_LEN: u32 = 64;
401pub const RTE_MEMZONE_2MB: u32 = 1;
402pub const RTE_MEMZONE_1GB: u32 = 2;
403pub const RTE_MEMZONE_16MB: u32 = 256;
404pub const RTE_MEMZONE_16GB: u32 = 512;
405pub const RTE_MEMZONE_256KB: u32 = 65536;
406pub const RTE_MEMZONE_256MB: u32 = 131072;
407pub const RTE_MEMZONE_512MB: u32 = 262144;
408pub const RTE_MEMZONE_4GB: u32 = 524288;
409pub const RTE_MEMZONE_SIZE_HINT_ONLY: u32 = 4;
410pub const RTE_MEMZONE_IOVA_CONTIG: u32 = 1048576;
411pub const RTE_MEMZONE_NAMESIZE: u32 = 32;
412pub const RTE_TAILQ_RING_NAME: &'static [u8; 9usize] = b"RTE_RING\0";
413pub const RTE_RING_MZ_PREFIX: &'static [u8; 4usize] = b"RG_\0";
414pub const RTE_RING_SZ_MASK: u32 = 2147483647;
415pub const RTE_MEMPOOL_HEADER_COOKIE1: i64 = -4982197544707871147;
416pub const RTE_MEMPOOL_HEADER_COOKIE2: i64 = -941548164385788331;
417pub const RTE_MEMPOOL_TRAILER_COOKIE: i64 = -5921418378119291987;
418pub const RTE_MEMPOOL_MZ_PREFIX: &'static [u8; 4usize] = b"MP_\0";
419pub const RTE_MEMPOOL_MZ_FORMAT: &'static [u8; 6usize] = b"MP_%s\0";
420pub const MEMPOOL_PG_NUM_DEFAULT: u32 = 1;
421pub const RTE_MEMPOOL_ALIGN: u32 = 64;
422pub const RTE_MEMPOOL_ALIGN_MASK: u32 = 63;
423pub const MEMPOOL_F_NO_SPREAD: u32 = 1;
424pub const MEMPOOL_F_NO_CACHE_ALIGN: u32 = 2;
425pub const MEMPOOL_F_SP_PUT: u32 = 4;
426pub const MEMPOOL_F_SC_GET: u32 = 8;
427pub const MEMPOOL_F_POOL_CREATED: u32 = 16;
428pub const MEMPOOL_F_NO_IOVA_CONTIG: u32 = 32;
429pub const MEMPOOL_F_NO_PHYS_CONTIG: u32 = 32;
430pub const RTE_MEMPOOL_OPS_NAMESIZE: u32 = 32;
431pub const RTE_MEMPOOL_POPULATE_F_ALIGN_OBJ: u32 = 1;
432pub const RTE_MEMPOOL_MAX_OPS_IDX: u32 = 16;
433pub const RTE_BIG_ENDIAN: u32 = 1;
434pub const RTE_LITTLE_ENDIAN: u32 = 2;
435pub const RTE_BYTE_ORDER: u32 = 2;
436pub const RTE_PTYPE_UNKNOWN: u32 = 0;
437pub const RTE_PTYPE_L2_ETHER: u32 = 1;
438pub const RTE_PTYPE_L2_ETHER_TIMESYNC: u32 = 2;
439pub const RTE_PTYPE_L2_ETHER_ARP: u32 = 3;
440pub const RTE_PTYPE_L2_ETHER_LLDP: u32 = 4;
441pub const RTE_PTYPE_L2_ETHER_NSH: u32 = 5;
442pub const RTE_PTYPE_L2_ETHER_VLAN: u32 = 6;
443pub const RTE_PTYPE_L2_ETHER_QINQ: u32 = 7;
444pub const RTE_PTYPE_L2_ETHER_PPPOE: u32 = 8;
445pub const RTE_PTYPE_L2_ETHER_FCOE: u32 = 9;
446pub const RTE_PTYPE_L2_ETHER_MPLS: u32 = 10;
447pub const RTE_PTYPE_L2_MASK: u32 = 15;
448pub const RTE_PTYPE_L3_IPV4: u32 = 16;
449pub const RTE_PTYPE_L3_IPV4_EXT: u32 = 48;
450pub const RTE_PTYPE_L3_IPV6: u32 = 64;
451pub const RTE_PTYPE_L3_IPV4_EXT_UNKNOWN: u32 = 144;
452pub const RTE_PTYPE_L3_IPV6_EXT: u32 = 192;
453pub const RTE_PTYPE_L3_IPV6_EXT_UNKNOWN: u32 = 224;
454pub const RTE_PTYPE_L3_MASK: u32 = 240;
455pub const RTE_PTYPE_L4_TCP: u32 = 256;
456pub const RTE_PTYPE_L4_UDP: u32 = 512;
457pub const RTE_PTYPE_L4_FRAG: u32 = 768;
458pub const RTE_PTYPE_L4_SCTP: u32 = 1024;
459pub const RTE_PTYPE_L4_ICMP: u32 = 1280;
460pub const RTE_PTYPE_L4_NONFRAG: u32 = 1536;
461pub const RTE_PTYPE_L4_IGMP: u32 = 1792;
462pub const RTE_PTYPE_L4_MASK: u32 = 3840;
463pub const RTE_PTYPE_TUNNEL_IP: u32 = 4096;
464pub const RTE_PTYPE_TUNNEL_GRE: u32 = 8192;
465pub const RTE_PTYPE_TUNNEL_VXLAN: u32 = 12288;
466pub const RTE_PTYPE_TUNNEL_NVGRE: u32 = 16384;
467pub const RTE_PTYPE_TUNNEL_GENEVE: u32 = 20480;
468pub const RTE_PTYPE_TUNNEL_GRENAT: u32 = 24576;
469pub const RTE_PTYPE_TUNNEL_GTPC: u32 = 28672;
470pub const RTE_PTYPE_TUNNEL_GTPU: u32 = 32768;
471pub const RTE_PTYPE_TUNNEL_ESP: u32 = 36864;
472pub const RTE_PTYPE_TUNNEL_L2TP: u32 = 40960;
473pub const RTE_PTYPE_TUNNEL_VXLAN_GPE: u32 = 45056;
474pub const RTE_PTYPE_TUNNEL_MPLS_IN_GRE: u32 = 49152;
475pub const RTE_PTYPE_TUNNEL_MPLS_IN_UDP: u32 = 53248;
476pub const RTE_PTYPE_TUNNEL_MASK: u32 = 61440;
477pub const RTE_PTYPE_INNER_L2_ETHER: u32 = 65536;
478pub const RTE_PTYPE_INNER_L2_ETHER_VLAN: u32 = 131072;
479pub const RTE_PTYPE_INNER_L2_ETHER_QINQ: u32 = 196608;
480pub const RTE_PTYPE_INNER_L2_MASK: u32 = 983040;
481pub const RTE_PTYPE_INNER_L3_IPV4: u32 = 1048576;
482pub const RTE_PTYPE_INNER_L3_IPV4_EXT: u32 = 2097152;
483pub const RTE_PTYPE_INNER_L3_IPV6: u32 = 3145728;
484pub const RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN: u32 = 4194304;
485pub const RTE_PTYPE_INNER_L3_IPV6_EXT: u32 = 5242880;
486pub const RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN: u32 = 6291456;
487pub const RTE_PTYPE_INNER_L3_MASK: u32 = 15728640;
488pub const RTE_PTYPE_INNER_L4_TCP: u32 = 16777216;
489pub const RTE_PTYPE_INNER_L4_UDP: u32 = 33554432;
490pub const RTE_PTYPE_INNER_L4_FRAG: u32 = 50331648;
491pub const RTE_PTYPE_INNER_L4_SCTP: u32 = 67108864;
492pub const RTE_PTYPE_INNER_L4_ICMP: u32 = 83886080;
493pub const RTE_PTYPE_INNER_L4_NONFRAG: u32 = 100663296;
494pub const RTE_PTYPE_INNER_L4_MASK: u32 = 251658240;
495pub const RTE_PTYPE_ALL_MASK: u32 = 268435455;
496pub const PKT_RX_VLAN: u32 = 1;
497pub const PKT_RX_RSS_HASH: u32 = 2;
498pub const PKT_RX_FDIR: u32 = 4;
499pub const PKT_RX_L4_CKSUM_BAD: u32 = 8;
500pub const PKT_RX_IP_CKSUM_BAD: u32 = 16;
501pub const PKT_RX_EIP_CKSUM_BAD: u32 = 32;
502pub const PKT_RX_VLAN_STRIPPED: u32 = 64;
503pub const PKT_RX_IP_CKSUM_MASK: u32 = 144;
504pub const PKT_RX_IP_CKSUM_UNKNOWN: u32 = 0;
505pub const PKT_RX_IP_CKSUM_GOOD: u32 = 128;
506pub const PKT_RX_IP_CKSUM_NONE: u32 = 144;
507pub const PKT_RX_L4_CKSUM_MASK: u32 = 264;
508pub const PKT_RX_L4_CKSUM_UNKNOWN: u32 = 0;
509pub const PKT_RX_L4_CKSUM_GOOD: u32 = 256;
510pub const PKT_RX_L4_CKSUM_NONE: u32 = 264;
511pub const PKT_RX_IEEE1588_PTP: u32 = 512;
512pub const PKT_RX_IEEE1588_TMST: u32 = 1024;
513pub const PKT_RX_FDIR_ID: u32 = 8192;
514pub const PKT_RX_FDIR_FLX: u32 = 16384;
515pub const PKT_RX_QINQ_STRIPPED: u32 = 32768;
516pub const PKT_RX_LRO: u32 = 65536;
517pub const PKT_RX_TIMESTAMP: u32 = 131072;
518pub const PKT_RX_SEC_OFFLOAD: u32 = 262144;
519pub const PKT_RX_SEC_OFFLOAD_FAILED: u32 = 524288;
520pub const PKT_RX_QINQ: u32 = 1048576;
521pub const PKT_RX_OUTER_L4_CKSUM_MASK: u32 = 6291456;
522pub const PKT_RX_OUTER_L4_CKSUM_UNKNOWN: u32 = 0;
523pub const PKT_RX_OUTER_L4_CKSUM_BAD: u32 = 2097152;
524pub const PKT_RX_OUTER_L4_CKSUM_GOOD: u32 = 4194304;
525pub const PKT_RX_OUTER_L4_CKSUM_INVALID: u32 = 6291456;
526pub const PKT_FIRST_FREE: u32 = 8388608;
527pub const PKT_LAST_FREE: u64 = 1099511627776;
528pub const PKT_TX_OUTER_UDP_CKSUM: u64 = 2199023255552;
529pub const PKT_TX_UDP_SEG: u64 = 4398046511104;
530pub const PKT_TX_SEC_OFFLOAD: u64 = 8796093022208;
531pub const PKT_TX_MACSEC: u64 = 17592186044416;
532pub const PKT_TX_TUNNEL_VXLAN: u64 = 35184372088832;
533pub const PKT_TX_TUNNEL_GRE: u64 = 70368744177664;
534pub const PKT_TX_TUNNEL_IPIP: u64 = 105553116266496;
535pub const PKT_TX_TUNNEL_GENEVE: u64 = 140737488355328;
536pub const PKT_TX_TUNNEL_MPLSINUDP: u64 = 175921860444160;
537pub const PKT_TX_TUNNEL_VXLAN_GPE: u64 = 211106232532992;
538pub const PKT_TX_TUNNEL_GTP: u64 = 246290604621824;
539pub const PKT_TX_TUNNEL_IP: u64 = 457396837154816;
540pub const PKT_TX_TUNNEL_UDP: u64 = 492581209243648;
541pub const PKT_TX_TUNNEL_MASK: u64 = 527765581332480;
542pub const PKT_TX_QINQ: u64 = 562949953421312;
543pub const PKT_TX_QINQ_PKT: u64 = 562949953421312;
544pub const PKT_TX_TCP_SEG: u64 = 1125899906842624;
545pub const PKT_TX_IEEE1588_TMST: u64 = 2251799813685248;
546pub const PKT_TX_L4_NO_CKSUM: u32 = 0;
547pub const PKT_TX_TCP_CKSUM: u64 = 4503599627370496;
548pub const PKT_TX_SCTP_CKSUM: u64 = 9007199254740992;
549pub const PKT_TX_UDP_CKSUM: u64 = 13510798882111488;
550pub const PKT_TX_L4_MASK: u64 = 13510798882111488;
551pub const PKT_TX_IP_CKSUM: u64 = 18014398509481984;
552pub const PKT_TX_IPV4: u64 = 36028797018963968;
553pub const PKT_TX_IPV6: u64 = 72057594037927936;
554pub const PKT_TX_VLAN: u64 = 144115188075855872;
555pub const PKT_TX_VLAN_PKT: u64 = 144115188075855872;
556pub const PKT_TX_OUTER_IP_CKSUM: u64 = 288230376151711744;
557pub const PKT_TX_OUTER_IPV4: u64 = 576460752303423488;
558pub const PKT_TX_OUTER_IPV6: u64 = 1152921504606846976;
559pub const PKT_TX_OFFLOAD_MASK: u64 = 2305840810190438400;
560pub const RTE_MBUF_PRIV_ALIGN: u32 = 8;
561pub const RTE_MBUF_DEFAULT_DATAROOM: u32 = 2048;
562pub const RTE_MBUF_DEFAULT_BUF_SIZE: u32 = 2176;
563pub const RTE_MBUF_MAX_NB_SEGS: u32 = 65535;
564pub const RTE_ETHER_ADDR_LEN: u32 = 6;
565pub const RTE_ETHER_TYPE_LEN: u32 = 2;
566pub const RTE_ETHER_CRC_LEN: u32 = 4;
567pub const RTE_ETHER_HDR_LEN: u32 = 14;
568pub const RTE_ETHER_MIN_LEN: u32 = 64;
569pub const RTE_ETHER_MAX_LEN: u32 = 1518;
570pub const RTE_ETHER_MTU: u32 = 1500;
571pub const RTE_ETHER_MAX_VLAN_FRAME_LEN: u32 = 1522;
572pub const RTE_ETHER_MAX_JUMBO_FRAME_LEN: u32 = 16128;
573pub const RTE_ETHER_MAX_VLAN_ID: u32 = 4095;
574pub const RTE_ETHER_MIN_MTU: u32 = 68;
575pub const RTE_ETHER_LOCAL_ADMIN_ADDR: u32 = 2;
576pub const RTE_ETHER_GROUP_ADDR: u32 = 1;
577pub const RTE_ETHER_ADDR_FMT_SIZE: u32 = 18;
578pub const RTE_ETHER_TYPE_IPV4: u32 = 2048;
579pub const RTE_ETHER_TYPE_IPV6: u32 = 34525;
580pub const RTE_ETHER_TYPE_ARP: u32 = 2054;
581pub const RTE_ETHER_TYPE_RARP: u32 = 32821;
582pub const RTE_ETHER_TYPE_VLAN: u32 = 33024;
583pub const RTE_ETHER_TYPE_QINQ: u32 = 34984;
584pub const RTE_ETHER_TYPE_PPPOE_DISCOVERY: u32 = 34915;
585pub const RTE_ETHER_TYPE_PPPOE_SESSION: u32 = 34916;
586pub const RTE_ETHER_TYPE_ETAG: u32 = 35135;
587pub const RTE_ETHER_TYPE_1588: u32 = 35063;
588pub const RTE_ETHER_TYPE_SLOW: u32 = 34825;
589pub const RTE_ETHER_TYPE_TEB: u32 = 25944;
590pub const RTE_ETHER_TYPE_LLDP: u32 = 35020;
591pub const RTE_ETHER_TYPE_MPLS: u32 = 34887;
592pub const RTE_ETHER_TYPE_MPLSM: u32 = 34888;
593pub const RTE_ETH_MODULE_SFF_8079: u32 = 1;
594pub const RTE_ETH_MODULE_SFF_8079_LEN: u32 = 256;
595pub const RTE_ETH_MODULE_SFF_8472: u32 = 2;
596pub const RTE_ETH_MODULE_SFF_8472_LEN: u32 = 512;
597pub const RTE_ETH_MODULE_SFF_8636: u32 = 3;
598pub const RTE_ETH_MODULE_SFF_8636_LEN: u32 = 256;
599pub const RTE_ETH_MODULE_SFF_8636_MAX_LEN: u32 = 640;
600pub const RTE_ETH_MODULE_SFF_8436: u32 = 4;
601pub const RTE_ETH_MODULE_SFF_8436_LEN: u32 = 256;
602pub const RTE_ETH_MODULE_SFF_8436_MAX_LEN: u32 = 640;
603pub const ETH_LINK_SPEED_AUTONEG: u32 = 0;
604pub const ETH_LINK_SPEED_FIXED: u32 = 1;
605pub const ETH_LINK_SPEED_10M_HD: u32 = 2;
606pub const ETH_LINK_SPEED_10M: u32 = 4;
607pub const ETH_LINK_SPEED_100M_HD: u32 = 8;
608pub const ETH_LINK_SPEED_100M: u32 = 16;
609pub const ETH_LINK_SPEED_1G: u32 = 32;
610pub const ETH_LINK_SPEED_2_5G: u32 = 64;
611pub const ETH_LINK_SPEED_5G: u32 = 128;
612pub const ETH_LINK_SPEED_10G: u32 = 256;
613pub const ETH_LINK_SPEED_20G: u32 = 512;
614pub const ETH_LINK_SPEED_25G: u32 = 1024;
615pub const ETH_LINK_SPEED_40G: u32 = 2048;
616pub const ETH_LINK_SPEED_50G: u32 = 4096;
617pub const ETH_LINK_SPEED_56G: u32 = 8192;
618pub const ETH_LINK_SPEED_100G: u32 = 16384;
619pub const ETH_SPEED_NUM_NONE: u32 = 0;
620pub const ETH_SPEED_NUM_10M: u32 = 10;
621pub const ETH_SPEED_NUM_100M: u32 = 100;
622pub const ETH_SPEED_NUM_1G: u32 = 1000;
623pub const ETH_SPEED_NUM_2_5G: u32 = 2500;
624pub const ETH_SPEED_NUM_5G: u32 = 5000;
625pub const ETH_SPEED_NUM_10G: u32 = 10000;
626pub const ETH_SPEED_NUM_20G: u32 = 20000;
627pub const ETH_SPEED_NUM_25G: u32 = 25000;
628pub const ETH_SPEED_NUM_40G: u32 = 40000;
629pub const ETH_SPEED_NUM_50G: u32 = 50000;
630pub const ETH_SPEED_NUM_56G: u32 = 56000;
631pub const ETH_SPEED_NUM_100G: u32 = 100000;
632pub const ETH_LINK_HALF_DUPLEX: u32 = 0;
633pub const ETH_LINK_FULL_DUPLEX: u32 = 1;
634pub const ETH_LINK_DOWN: u32 = 0;
635pub const ETH_LINK_UP: u32 = 1;
636pub const ETH_LINK_FIXED: u32 = 0;
637pub const ETH_LINK_AUTONEG: u32 = 1;
638pub const ETH_MQ_RX_RSS_FLAG: u32 = 1;
639pub const ETH_MQ_RX_DCB_FLAG: u32 = 2;
640pub const ETH_MQ_RX_VMDQ_FLAG: u32 = 4;
641pub const RTE_ETH_FLOW_UNKNOWN: u32 = 0;
642pub const RTE_ETH_FLOW_RAW: u32 = 1;
643pub const RTE_ETH_FLOW_IPV4: u32 = 2;
644pub const RTE_ETH_FLOW_FRAG_IPV4: u32 = 3;
645pub const RTE_ETH_FLOW_NONFRAG_IPV4_TCP: u32 = 4;
646pub const RTE_ETH_FLOW_NONFRAG_IPV4_UDP: u32 = 5;
647pub const RTE_ETH_FLOW_NONFRAG_IPV4_SCTP: u32 = 6;
648pub const RTE_ETH_FLOW_NONFRAG_IPV4_OTHER: u32 = 7;
649pub const RTE_ETH_FLOW_IPV6: u32 = 8;
650pub const RTE_ETH_FLOW_FRAG_IPV6: u32 = 9;
651pub const RTE_ETH_FLOW_NONFRAG_IPV6_TCP: u32 = 10;
652pub const RTE_ETH_FLOW_NONFRAG_IPV6_UDP: u32 = 11;
653pub const RTE_ETH_FLOW_NONFRAG_IPV6_SCTP: u32 = 12;
654pub const RTE_ETH_FLOW_NONFRAG_IPV6_OTHER: u32 = 13;
655pub const RTE_ETH_FLOW_L2_PAYLOAD: u32 = 14;
656pub const RTE_ETH_FLOW_IPV6_EX: u32 = 15;
657pub const RTE_ETH_FLOW_IPV6_TCP_EX: u32 = 16;
658pub const RTE_ETH_FLOW_IPV6_UDP_EX: u32 = 17;
659pub const RTE_ETH_FLOW_PORT: u32 = 18;
660pub const RTE_ETH_FLOW_VXLAN: u32 = 19;
661pub const RTE_ETH_FLOW_GENEVE: u32 = 20;
662pub const RTE_ETH_FLOW_NVGRE: u32 = 21;
663pub const RTE_ETH_FLOW_VXLAN_GPE: u32 = 22;
664pub const RTE_ETH_FLOW_GTPU: u32 = 23;
665pub const RTE_ETH_FLOW_MAX: u32 = 24;
666pub const ETH_RSS_IPV4: u32 = 4;
667pub const ETH_RSS_FRAG_IPV4: u32 = 8;
668pub const ETH_RSS_NONFRAG_IPV4_TCP: u32 = 16;
669pub const ETH_RSS_NONFRAG_IPV4_UDP: u32 = 32;
670pub const ETH_RSS_NONFRAG_IPV4_SCTP: u32 = 64;
671pub const ETH_RSS_NONFRAG_IPV4_OTHER: u32 = 128;
672pub const ETH_RSS_IPV6: u32 = 256;
673pub const ETH_RSS_FRAG_IPV6: u32 = 512;
674pub const ETH_RSS_NONFRAG_IPV6_TCP: u32 = 1024;
675pub const ETH_RSS_NONFRAG_IPV6_UDP: u32 = 2048;
676pub const ETH_RSS_NONFRAG_IPV6_SCTP: u32 = 4096;
677pub const ETH_RSS_NONFRAG_IPV6_OTHER: u32 = 8192;
678pub const ETH_RSS_L2_PAYLOAD: u32 = 16384;
679pub const ETH_RSS_IPV6_EX: u32 = 32768;
680pub const ETH_RSS_IPV6_TCP_EX: u32 = 65536;
681pub const ETH_RSS_IPV6_UDP_EX: u32 = 131072;
682pub const ETH_RSS_PORT: u32 = 262144;
683pub const ETH_RSS_VXLAN: u32 = 524288;
684pub const ETH_RSS_GENEVE: u32 = 1048576;
685pub const ETH_RSS_NVGRE: u32 = 2097152;
686pub const ETH_RSS_GTPU: u32 = 8388608;
687pub const ETH_RSS_L3_SRC_ONLY: i64 = -9223372036854775808;
688pub const ETH_RSS_L3_DST_ONLY: u64 = 4611686018427387904;
689pub const ETH_RSS_L4_SRC_ONLY: u64 = 2305843009213693952;
690pub const ETH_RSS_L4_DST_ONLY: u64 = 1152921504606846976;
691pub const ETH_RSS_IP: u32 = 41868;
692pub const ETH_RSS_UDP: u32 = 133152;
693pub const ETH_RSS_TCP: u32 = 66576;
694pub const ETH_RSS_SCTP: u32 = 4160;
695pub const ETH_RSS_TUNNEL: u32 = 3670016;
696pub const ETH_RSS_PROTO_MASK: u32 = 4194300;
697pub const ETH_RSS_RETA_SIZE_64: u32 = 64;
698pub const ETH_RSS_RETA_SIZE_128: u32 = 128;
699pub const ETH_RSS_RETA_SIZE_256: u32 = 256;
700pub const ETH_RSS_RETA_SIZE_512: u32 = 512;
701pub const RTE_RETA_GROUP_SIZE: u32 = 64;
702pub const ETH_VMDQ_MAX_VLAN_FILTERS: u32 = 64;
703pub const ETH_DCB_NUM_USER_PRIORITIES: u32 = 8;
704pub const ETH_VMDQ_DCB_NUM_QUEUES: u32 = 128;
705pub const ETH_DCB_NUM_QUEUES: u32 = 128;
706pub const ETH_DCB_PG_SUPPORT: u32 = 1;
707pub const ETH_DCB_PFC_SUPPORT: u32 = 2;
708pub const ETH_VLAN_STRIP_OFFLOAD: u32 = 1;
709pub const ETH_VLAN_FILTER_OFFLOAD: u32 = 2;
710pub const ETH_VLAN_EXTEND_OFFLOAD: u32 = 4;
711pub const ETH_QINQ_STRIP_OFFLOAD: u32 = 8;
712pub const ETH_VLAN_STRIP_MASK: u32 = 1;
713pub const ETH_VLAN_FILTER_MASK: u32 = 2;
714pub const ETH_VLAN_EXTEND_MASK: u32 = 4;
715pub const ETH_QINQ_STRIP_MASK: u32 = 8;
716pub const ETH_VLAN_ID_MAX: u32 = 4095;
717pub const ETH_NUM_RECEIVE_MAC_ADDR: u32 = 128;
718pub const ETH_VMDQ_NUM_UC_HASH_ARRAY: u32 = 128;
719pub const ETH_VMDQ_ACCEPT_UNTAG: u32 = 1;
720pub const ETH_VMDQ_ACCEPT_HASH_MC: u32 = 2;
721pub const ETH_VMDQ_ACCEPT_HASH_UC: u32 = 4;
722pub const ETH_VMDQ_ACCEPT_BROADCAST: u32 = 8;
723pub const ETH_VMDQ_ACCEPT_MULTICAST: u32 = 16;
724pub const ETH_MIRROR_MAX_VLANS: u32 = 64;
725pub const ETH_MIRROR_VIRTUAL_POOL_UP: u32 = 1;
726pub const ETH_MIRROR_UPLINK_PORT: u32 = 2;
727pub const ETH_MIRROR_DOWNLINK_PORT: u32 = 4;
728pub const ETH_MIRROR_VLAN: u32 = 8;
729pub const ETH_MIRROR_VIRTUAL_POOL_DOWN: u32 = 16;
730pub const RTE_ETH_MAX_HAIRPIN_PEERS: u32 = 32;
731pub const RTE_ARP_HRD_ETHER: u32 = 1;
732pub const RTE_ARP_OP_REQUEST: u32 = 1;
733pub const RTE_ARP_OP_REPLY: u32 = 2;
734pub const RTE_ARP_OP_REVREQUEST: u32 = 3;
735pub const RTE_ARP_OP_REVREPLY: u32 = 4;
736pub const RTE_ARP_OP_INVREQUEST: u32 = 8;
737pub const RTE_ARP_OP_INVREPLY: u32 = 9;
738pub const RTE_IP_ICMP_ECHO_REPLY: u32 = 0;
739pub const RTE_IP_ICMP_ECHO_REQUEST: u32 = 8;
740pub const RTE_IPV4_MAX_PKT_LEN: u32 = 65535;
741pub const RTE_IPV4_HDR_IHL_MASK: u32 = 15;
742pub const RTE_IPV4_IHL_MULTIPLIER: u32 = 4;
743pub const RTE_IPV4_HDR_DSCP_MASK: u32 = 252;
744pub const RTE_IPV4_HDR_ECN_MASK: u32 = 3;
745pub const RTE_IPV4_HDR_ECN_CE: u32 = 3;
746pub const RTE_IPV4_HDR_DF_SHIFT: u32 = 14;
747pub const RTE_IPV4_HDR_MF_SHIFT: u32 = 13;
748pub const RTE_IPV4_HDR_FO_SHIFT: u32 = 3;
749pub const RTE_IPV4_HDR_DF_FLAG: u32 = 16384;
750pub const RTE_IPV4_HDR_MF_FLAG: u32 = 8192;
751pub const RTE_IPV4_HDR_OFFSET_MASK: u32 = 8191;
752pub const RTE_IPV4_HDR_OFFSET_UNITS: u32 = 8;
753pub const RTE_IPV4_MIN_IHL: u32 = 5;
754pub const RTE_IPV4_VHL_DEF: u32 = 69;
755pub const RTE_IPV6_HDR_FL_SHIFT: u32 = 0;
756pub const RTE_IPV6_HDR_TC_SHIFT: u32 = 20;
757pub const RTE_IPV6_HDR_FL_MASK: u32 = 1048575;
758pub const RTE_IPV6_HDR_TC_MASK: u32 = 267386880;
759pub const RTE_IPV6_HDR_DSCP_MASK: u32 = 264241152;
760pub const RTE_IPV6_HDR_ECN_MASK: u32 = 3145728;
761pub const RTE_IPV6_HDR_ECN_CE: u32 = 3145728;
762pub const RTE_IPV6_FRAG_HDR_SIZE: u32 = 8;
763pub const RTE_TCP_CWR_FLAG: u32 = 128;
764pub const RTE_TCP_ECE_FLAG: u32 = 64;
765pub const RTE_TCP_URG_FLAG: u32 = 32;
766pub const RTE_TCP_ACK_FLAG: u32 = 16;
767pub const RTE_TCP_PSH_FLAG: u32 = 8;
768pub const RTE_TCP_RST_FLAG: u32 = 4;
769pub const RTE_TCP_SYN_FLAG: u32 = 2;
770pub const RTE_TCP_FIN_FLAG: u32 = 1;
771pub const RTE_MBUF_DYN_NAMESIZE: u32 = 64;
772pub const RTE_MBUF_DYNFIELD_METADATA_NAME: &'static [u8; 27usize] = b"rte_flow_dynfield_metadata\0";
773pub const RTE_MBUF_DYNFLAG_METADATA_NAME: &'static [u8; 26usize] = b"rte_flow_dynflag_metadata\0";
774pub const RTE_ETHTYPE_FLAGS_MAC: u32 = 1;
775pub const RTE_ETHTYPE_FLAGS_DROP: u32 = 2;
776pub const RTE_FLEX_FILTER_MAXLEN: u32 = 128;
777pub const RTE_NTUPLE_FLAGS_DST_IP: u32 = 1;
778pub const RTE_NTUPLE_FLAGS_SRC_IP: u32 = 2;
779pub const RTE_NTUPLE_FLAGS_DST_PORT: u32 = 4;
780pub const RTE_NTUPLE_FLAGS_SRC_PORT: u32 = 8;
781pub const RTE_NTUPLE_FLAGS_PROTO: u32 = 16;
782pub const RTE_NTUPLE_FLAGS_TCP_FLAG: u32 = 32;
783pub const RTE_5TUPLE_FLAGS: u32 = 31;
784pub const RTE_2TUPLE_FLAGS: u32 = 20;
785pub const RTE_NTUPLE_TCP_FLAGS_MASK: u32 = 63;
786pub const ETH_TUNNEL_FILTER_OMAC: u32 = 1;
787pub const ETH_TUNNEL_FILTER_OIP: u32 = 2;
788pub const ETH_TUNNEL_FILTER_TENID: u32 = 4;
789pub const ETH_TUNNEL_FILTER_IMAC: u32 = 8;
790pub const ETH_TUNNEL_FILTER_IVLAN: u32 = 16;
791pub const ETH_TUNNEL_FILTER_IIP: u32 = 32;
792pub const RTE_TUNNEL_FILTER_IMAC_IVLAN: u32 = 24;
793pub const RTE_TUNNEL_FILTER_IMAC_IVLAN_TENID: u32 = 28;
794pub const RTE_TUNNEL_FILTER_IMAC_TENID: u32 = 12;
795pub const RTE_TUNNEL_FILTER_OMAC_TENID_IMAC: u32 = 13;
796pub const RTE_ETH_FDIR_MAX_FLEXLEN: u32 = 16;
797pub const RTE_ETH_INSET_SIZE_MAX: u32 = 128;
798pub const DEV_RX_OFFLOAD_VLAN_STRIP: u32 = 1;
799pub const DEV_RX_OFFLOAD_IPV4_CKSUM: u32 = 2;
800pub const DEV_RX_OFFLOAD_UDP_CKSUM: u32 = 4;
801pub const DEV_RX_OFFLOAD_TCP_CKSUM: u32 = 8;
802pub const DEV_RX_OFFLOAD_TCP_LRO: u32 = 16;
803pub const DEV_RX_OFFLOAD_QINQ_STRIP: u32 = 32;
804pub const DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM: u32 = 64;
805pub const DEV_RX_OFFLOAD_MACSEC_STRIP: u32 = 128;
806pub const DEV_RX_OFFLOAD_HEADER_SPLIT: u32 = 256;
807pub const DEV_RX_OFFLOAD_VLAN_FILTER: u32 = 512;
808pub const DEV_RX_OFFLOAD_VLAN_EXTEND: u32 = 1024;
809pub const DEV_RX_OFFLOAD_JUMBO_FRAME: u32 = 2048;
810pub const DEV_RX_OFFLOAD_SCATTER: u32 = 8192;
811pub const DEV_RX_OFFLOAD_TIMESTAMP: u32 = 16384;
812pub const DEV_RX_OFFLOAD_SECURITY: u32 = 32768;
813pub const DEV_RX_OFFLOAD_KEEP_CRC: u32 = 65536;
814pub const DEV_RX_OFFLOAD_SCTP_CKSUM: u32 = 131072;
815pub const DEV_RX_OFFLOAD_OUTER_UDP_CKSUM: u32 = 262144;
816pub const DEV_RX_OFFLOAD_RSS_HASH: u32 = 524288;
817pub const DEV_RX_OFFLOAD_CHECKSUM: u32 = 14;
818pub const DEV_RX_OFFLOAD_VLAN: u32 = 1569;
819pub const DEV_TX_OFFLOAD_VLAN_INSERT: u32 = 1;
820pub const DEV_TX_OFFLOAD_IPV4_CKSUM: u32 = 2;
821pub const DEV_TX_OFFLOAD_UDP_CKSUM: u32 = 4;
822pub const DEV_TX_OFFLOAD_TCP_CKSUM: u32 = 8;
823pub const DEV_TX_OFFLOAD_SCTP_CKSUM: u32 = 16;
824pub const DEV_TX_OFFLOAD_TCP_TSO: u32 = 32;
825pub const DEV_TX_OFFLOAD_UDP_TSO: u32 = 64;
826pub const DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM: u32 = 128;
827pub const DEV_TX_OFFLOAD_QINQ_INSERT: u32 = 256;
828pub const DEV_TX_OFFLOAD_VXLAN_TNL_TSO: u32 = 512;
829pub const DEV_TX_OFFLOAD_GRE_TNL_TSO: u32 = 1024;
830pub const DEV_TX_OFFLOAD_IPIP_TNL_TSO: u32 = 2048;
831pub const DEV_TX_OFFLOAD_GENEVE_TNL_TSO: u32 = 4096;
832pub const DEV_TX_OFFLOAD_MACSEC_INSERT: u32 = 8192;
833pub const DEV_TX_OFFLOAD_MT_LOCKFREE: u32 = 16384;
834pub const DEV_TX_OFFLOAD_MULTI_SEGS: u32 = 32768;
835pub const DEV_TX_OFFLOAD_MBUF_FAST_FREE: u32 = 65536;
836pub const DEV_TX_OFFLOAD_SECURITY: u32 = 131072;
837pub const DEV_TX_OFFLOAD_UDP_TNL_TSO: u32 = 262144;
838pub const DEV_TX_OFFLOAD_IP_TNL_TSO: u32 = 524288;
839pub const DEV_TX_OFFLOAD_OUTER_UDP_CKSUM: u32 = 1048576;
840pub const RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP: u32 = 1;
841pub const RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP: u32 = 2;
842pub const RTE_ETH_DEV_FALLBACK_RX_RINGSIZE: u32 = 512;
843pub const RTE_ETH_DEV_FALLBACK_TX_RINGSIZE: u32 = 512;
844pub const RTE_ETH_DEV_FALLBACK_RX_NBQUEUES: u32 = 1;
845pub const RTE_ETH_DEV_FALLBACK_TX_NBQUEUES: u32 = 1;
846pub const RTE_ETH_DEV_SWITCH_DOMAIN_ID_INVALID: u32 = 65535;
847pub const RTE_ETH_BURST_FLAG_PER_QUEUE: u32 = 1;
848pub const RTE_ETH_BURST_MODE_INFO_SIZE: u32 = 1024;
849pub const RTE_ETH_XSTATS_NAME_SIZE: u32 = 64;
850pub const ETH_DCB_NUM_TCS: u32 = 8;
851pub const ETH_MAX_VMDQ_POOL: u32 = 64;
852pub const RTE_ETH_ALL: u32 = 32;
853pub const ETH_L2_TUNNEL_ENABLE_MASK: u32 = 1;
854pub const ETH_L2_TUNNEL_INSERTION_MASK: u32 = 2;
855pub const ETH_L2_TUNNEL_STRIPPING_MASK: u32 = 4;
856pub const ETH_L2_TUNNEL_FORWARDING_MASK: u32 = 8;
857pub const RTE_ETH_NAME_MAX_LEN: u32 = 64;
858pub const RTE_ETH_DEV_NO_OWNER: u32 = 0;
859pub const RTE_ETH_MAX_OWNER_NAME_LEN: u32 = 64;
860pub const RTE_ETH_DEV_CLOSE_REMOVE: u32 = 1;
861pub const RTE_ETH_DEV_INTR_LSC: u32 = 2;
862pub const RTE_ETH_DEV_BONDED_SLAVE: u32 = 4;
863pub const RTE_ETH_DEV_INTR_RMV: u32 = 8;
864pub const RTE_ETH_DEV_REPRESENTOR: u32 = 16;
865pub const RTE_ETH_DEV_NOLIVE_MAC_ADDR: u32 = 32;
866pub const RTE_ETH_RX_DESC_AVAIL: u32 = 0;
867pub const RTE_ETH_RX_DESC_DONE: u32 = 1;
868pub const RTE_ETH_RX_DESC_UNAVAIL: u32 = 2;
869pub const RTE_ETH_TX_DESC_FULL: u32 = 0;
870pub const RTE_ETH_TX_DESC_DONE: u32 = 1;
871pub const RTE_ETH_TX_DESC_UNAVAIL: u32 = 2;
872pub const RTE_CLASS_ANY_ID: u32 = 16777215;
873pub const RTE_KNI_NAMESIZE: u32 = 16;
874pub type __u_char = ::std::os::raw::c_uchar;
875pub type __u_short = ::std::os::raw::c_ushort;
876pub type __u_int = ::std::os::raw::c_uint;
877pub type __int8_t = ::std::os::raw::c_schar;
878pub type __uint8_t = ::std::os::raw::c_uchar;
879pub type __int16_t = ::std::os::raw::c_short;
880pub type __uint16_t = ::std::os::raw::c_ushort;
881pub type __int32_t = ::std::os::raw::c_int;
882pub type __uint32_t = ::std::os::raw::c_uint;
883pub type __int64_t = ::std::os::raw::c_long;
884pub type __uint64_t = ::std::os::raw::c_ulong;
885pub type __off_t = ::std::os::raw::c_long;
886pub type __off64_t = ::std::os::raw::c_long;
887pub type __pid_t = ::std::os::raw::c_int;
888pub type __time_t = ::std::os::raw::c_long;
889pub type __suseconds_t = ::std::os::raw::c_long;
890pub type __ssize_t = ::std::os::raw::c_long;
891pub type __syscall_slong_t = ::std::os::raw::c_long;
892pub type size_t = ::std::os::raw::c_ulong;
893#[repr(C)]
894#[derive(Debug, Default, Copy, Clone, PartialEq)]
895pub struct timespec {
896 pub tv_sec: __time_t,
897 pub tv_nsec: __syscall_slong_t,
898}
899#[test]
900fn bindgen_test_layout_timespec() {
901 assert_eq!(
902 ::std::mem::size_of::<timespec>(),
903 16usize,
904 concat!("Size of: ", stringify!(timespec))
905 );
906 assert_eq!(
907 ::std::mem::align_of::<timespec>(),
908 8usize,
909 concat!("Alignment of ", stringify!(timespec))
910 );
911 assert_eq!(
912 unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
913 0usize,
914 concat!(
915 "Offset of field: ",
916 stringify!(timespec),
917 "::",
918 stringify!(tv_sec)
919 )
920 );
921 assert_eq!(
922 unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
923 8usize,
924 concat!(
925 "Offset of field: ",
926 stringify!(timespec),
927 "::",
928 stringify!(tv_nsec)
929 )
930 );
931}
932pub type pid_t = __pid_t;
933pub type __cpu_mask = ::std::os::raw::c_ulong;
934#[repr(C)]
935#[derive(Debug, Default, Copy, Clone, PartialEq)]
936pub struct cpu_set_t {
937 pub __bits: [__cpu_mask; 16usize],
938}
939#[test]
940fn bindgen_test_layout_cpu_set_t() {
941 assert_eq!(
942 ::std::mem::size_of::<cpu_set_t>(),
943 128usize,
944 concat!("Size of: ", stringify!(cpu_set_t))
945 );
946 assert_eq!(
947 ::std::mem::align_of::<cpu_set_t>(),
948 8usize,
949 concat!("Alignment of ", stringify!(cpu_set_t))
950 );
951 assert_eq!(
952 unsafe { &(*(::std::ptr::null::<cpu_set_t>())).__bits as *const _ as usize },
953 0usize,
954 concat!(
955 "Offset of field: ",
956 stringify!(cpu_set_t),
957 "::",
958 stringify!(__bits)
959 )
960 );
961}
962pub type pthread_t = ::std::os::raw::c_ulong;
963#[repr(C)]
964#[derive(Copy, Clone)]
965pub union pthread_attr_t {
966 pub __size: [::std::os::raw::c_char; 56usize],
967 pub __align: ::std::os::raw::c_long,
968 _bindgen_union_align: [u64; 7usize],
969}
970#[test]
971fn bindgen_test_layout_pthread_attr_t() {
972 assert_eq!(
973 ::std::mem::size_of::<pthread_attr_t>(),
974 56usize,
975 concat!("Size of: ", stringify!(pthread_attr_t))
976 );
977 assert_eq!(
978 ::std::mem::align_of::<pthread_attr_t>(),
979 8usize,
980 concat!("Alignment of ", stringify!(pthread_attr_t))
981 );
982 assert_eq!(
983 unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__size as *const _ as usize },
984 0usize,
985 concat!(
986 "Offset of field: ",
987 stringify!(pthread_attr_t),
988 "::",
989 stringify!(__size)
990 )
991 );
992 assert_eq!(
993 unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__align as *const _ as usize },
994 0usize,
995 concat!(
996 "Offset of field: ",
997 stringify!(pthread_attr_t),
998 "::",
999 stringify!(__align)
1000 )
1001 );
1002}
1003impl Default for pthread_attr_t {
1004 fn default() -> Self {
1005 unsafe { ::std::mem::zeroed() }
1006 }
1007}
1008pub type va_list = __builtin_va_list;
1009pub type FILE = _IO_FILE;
1010#[repr(C)]
1011#[derive(Debug, Copy, Clone)]
1012pub struct _IO_marker {
1013 _unused: [u8; 0],
1014}
1015#[repr(C)]
1016#[derive(Debug, Copy, Clone)]
1017pub struct _IO_codecvt {
1018 _unused: [u8; 0],
1019}
1020#[repr(C)]
1021#[derive(Debug, Copy, Clone)]
1022pub struct _IO_wide_data {
1023 _unused: [u8; 0],
1024}
1025pub type _IO_lock_t = ::std::os::raw::c_void;
1026#[repr(C)]
1027#[derive(Debug, Copy, Clone, PartialEq)]
1028pub struct _IO_FILE {
1029 pub _flags: ::std::os::raw::c_int,
1030 pub _IO_read_ptr: *mut ::std::os::raw::c_char,
1031 pub _IO_read_end: *mut ::std::os::raw::c_char,
1032 pub _IO_read_base: *mut ::std::os::raw::c_char,
1033 pub _IO_write_base: *mut ::std::os::raw::c_char,
1034 pub _IO_write_ptr: *mut ::std::os::raw::c_char,
1035 pub _IO_write_end: *mut ::std::os::raw::c_char,
1036 pub _IO_buf_base: *mut ::std::os::raw::c_char,
1037 pub _IO_buf_end: *mut ::std::os::raw::c_char,
1038 pub _IO_save_base: *mut ::std::os::raw::c_char,
1039 pub _IO_backup_base: *mut ::std::os::raw::c_char,
1040 pub _IO_save_end: *mut ::std::os::raw::c_char,
1041 pub _markers: *mut _IO_marker,
1042 pub _chain: *mut _IO_FILE,
1043 pub _fileno: ::std::os::raw::c_int,
1044 pub _flags2: ::std::os::raw::c_int,
1045 pub _old_offset: __off_t,
1046 pub _cur_column: ::std::os::raw::c_ushort,
1047 pub _vtable_offset: ::std::os::raw::c_schar,
1048 pub _shortbuf: [::std::os::raw::c_char; 1usize],
1049 pub _lock: *mut _IO_lock_t,
1050 pub _offset: __off64_t,
1051 pub _codecvt: *mut _IO_codecvt,
1052 pub _wide_data: *mut _IO_wide_data,
1053 pub _freeres_list: *mut _IO_FILE,
1054 pub _freeres_buf: *mut ::std::os::raw::c_void,
1055 pub __pad5: size_t,
1056 pub _mode: ::std::os::raw::c_int,
1057 pub _unused2: [::std::os::raw::c_char; 20usize],
1058}
1059#[test]
1060fn bindgen_test_layout__IO_FILE() {
1061 assert_eq!(
1062 ::std::mem::size_of::<_IO_FILE>(),
1063 216usize,
1064 concat!("Size of: ", stringify!(_IO_FILE))
1065 );
1066 assert_eq!(
1067 ::std::mem::align_of::<_IO_FILE>(),
1068 8usize,
1069 concat!("Alignment of ", stringify!(_IO_FILE))
1070 );
1071 assert_eq!(
1072 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags as *const _ as usize },
1073 0usize,
1074 concat!(
1075 "Offset of field: ",
1076 stringify!(_IO_FILE),
1077 "::",
1078 stringify!(_flags)
1079 )
1080 );
1081 assert_eq!(
1082 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize },
1083 8usize,
1084 concat!(
1085 "Offset of field: ",
1086 stringify!(_IO_FILE),
1087 "::",
1088 stringify!(_IO_read_ptr)
1089 )
1090 );
1091 assert_eq!(
1092 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize },
1093 16usize,
1094 concat!(
1095 "Offset of field: ",
1096 stringify!(_IO_FILE),
1097 "::",
1098 stringify!(_IO_read_end)
1099 )
1100 );
1101 assert_eq!(
1102 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize },
1103 24usize,
1104 concat!(
1105 "Offset of field: ",
1106 stringify!(_IO_FILE),
1107 "::",
1108 stringify!(_IO_read_base)
1109 )
1110 );
1111 assert_eq!(
1112 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize },
1113 32usize,
1114 concat!(
1115 "Offset of field: ",
1116 stringify!(_IO_FILE),
1117 "::",
1118 stringify!(_IO_write_base)
1119 )
1120 );
1121 assert_eq!(
1122 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize },
1123 40usize,
1124 concat!(
1125 "Offset of field: ",
1126 stringify!(_IO_FILE),
1127 "::",
1128 stringify!(_IO_write_ptr)
1129 )
1130 );
1131 assert_eq!(
1132 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize },
1133 48usize,
1134 concat!(
1135 "Offset of field: ",
1136 stringify!(_IO_FILE),
1137 "::",
1138 stringify!(_IO_write_end)
1139 )
1140 );
1141 assert_eq!(
1142 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize },
1143 56usize,
1144 concat!(
1145 "Offset of field: ",
1146 stringify!(_IO_FILE),
1147 "::",
1148 stringify!(_IO_buf_base)
1149 )
1150 );
1151 assert_eq!(
1152 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize },
1153 64usize,
1154 concat!(
1155 "Offset of field: ",
1156 stringify!(_IO_FILE),
1157 "::",
1158 stringify!(_IO_buf_end)
1159 )
1160 );
1161 assert_eq!(
1162 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize },
1163 72usize,
1164 concat!(
1165 "Offset of field: ",
1166 stringify!(_IO_FILE),
1167 "::",
1168 stringify!(_IO_save_base)
1169 )
1170 );
1171 assert_eq!(
1172 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize },
1173 80usize,
1174 concat!(
1175 "Offset of field: ",
1176 stringify!(_IO_FILE),
1177 "::",
1178 stringify!(_IO_backup_base)
1179 )
1180 );
1181 assert_eq!(
1182 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize },
1183 88usize,
1184 concat!(
1185 "Offset of field: ",
1186 stringify!(_IO_FILE),
1187 "::",
1188 stringify!(_IO_save_end)
1189 )
1190 );
1191 assert_eq!(
1192 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._markers as *const _ as usize },
1193 96usize,
1194 concat!(
1195 "Offset of field: ",
1196 stringify!(_IO_FILE),
1197 "::",
1198 stringify!(_markers)
1199 )
1200 );
1201 assert_eq!(
1202 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._chain as *const _ as usize },
1203 104usize,
1204 concat!(
1205 "Offset of field: ",
1206 stringify!(_IO_FILE),
1207 "::",
1208 stringify!(_chain)
1209 )
1210 );
1211 assert_eq!(
1212 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize },
1213 112usize,
1214 concat!(
1215 "Offset of field: ",
1216 stringify!(_IO_FILE),
1217 "::",
1218 stringify!(_fileno)
1219 )
1220 );
1221 assert_eq!(
1222 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize },
1223 116usize,
1224 concat!(
1225 "Offset of field: ",
1226 stringify!(_IO_FILE),
1227 "::",
1228 stringify!(_flags2)
1229 )
1230 );
1231 assert_eq!(
1232 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize },
1233 120usize,
1234 concat!(
1235 "Offset of field: ",
1236 stringify!(_IO_FILE),
1237 "::",
1238 stringify!(_old_offset)
1239 )
1240 );
1241 assert_eq!(
1242 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize },
1243 128usize,
1244 concat!(
1245 "Offset of field: ",
1246 stringify!(_IO_FILE),
1247 "::",
1248 stringify!(_cur_column)
1249 )
1250 );
1251 assert_eq!(
1252 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize },
1253 130usize,
1254 concat!(
1255 "Offset of field: ",
1256 stringify!(_IO_FILE),
1257 "::",
1258 stringify!(_vtable_offset)
1259 )
1260 );
1261 assert_eq!(
1262 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize },
1263 131usize,
1264 concat!(
1265 "Offset of field: ",
1266 stringify!(_IO_FILE),
1267 "::",
1268 stringify!(_shortbuf)
1269 )
1270 );
1271 assert_eq!(
1272 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._lock as *const _ as usize },
1273 136usize,
1274 concat!(
1275 "Offset of field: ",
1276 stringify!(_IO_FILE),
1277 "::",
1278 stringify!(_lock)
1279 )
1280 );
1281 assert_eq!(
1282 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._offset as *const _ as usize },
1283 144usize,
1284 concat!(
1285 "Offset of field: ",
1286 stringify!(_IO_FILE),
1287 "::",
1288 stringify!(_offset)
1289 )
1290 );
1291 assert_eq!(
1292 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._codecvt as *const _ as usize },
1293 152usize,
1294 concat!(
1295 "Offset of field: ",
1296 stringify!(_IO_FILE),
1297 "::",
1298 stringify!(_codecvt)
1299 )
1300 );
1301 assert_eq!(
1302 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._wide_data as *const _ as usize },
1303 160usize,
1304 concat!(
1305 "Offset of field: ",
1306 stringify!(_IO_FILE),
1307 "::",
1308 stringify!(_wide_data)
1309 )
1310 );
1311 assert_eq!(
1312 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_list as *const _ as usize },
1313 168usize,
1314 concat!(
1315 "Offset of field: ",
1316 stringify!(_IO_FILE),
1317 "::",
1318 stringify!(_freeres_list)
1319 )
1320 );
1321 assert_eq!(
1322 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._freeres_buf as *const _ as usize },
1323 176usize,
1324 concat!(
1325 "Offset of field: ",
1326 stringify!(_IO_FILE),
1327 "::",
1328 stringify!(_freeres_buf)
1329 )
1330 );
1331 assert_eq!(
1332 unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize },
1333 184usize,
1334 concat!(
1335 "Offset of field: ",
1336 stringify!(_IO_FILE),
1337 "::",
1338 stringify!(__pad5)
1339 )
1340 );
1341 assert_eq!(
1342 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._mode as *const _ as usize },
1343 192usize,
1344 concat!(
1345 "Offset of field: ",
1346 stringify!(_IO_FILE),
1347 "::",
1348 stringify!(_mode)
1349 )
1350 );
1351 assert_eq!(
1352 unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize },
1353 196usize,
1354 concat!(
1355 "Offset of field: ",
1356 stringify!(_IO_FILE),
1357 "::",
1358 stringify!(_unused2)
1359 )
1360 );
1361}
1362impl Default for _IO_FILE {
1363 fn default() -> Self {
1364 unsafe { ::std::mem::zeroed() }
1365 }
1366}
1367pub type ssize_t = __ssize_t;
1368pub type u_char = __u_char;
1369pub type u_short = __u_short;
1370pub type u_int = __u_int;
1371#[repr(C)]
1372#[derive(Debug, Default, Copy, Clone, PartialEq)]
1373pub struct timeval {
1374 pub tv_sec: __time_t,
1375 pub tv_usec: __suseconds_t,
1376}
1377#[test]
1378fn bindgen_test_layout_timeval() {
1379 assert_eq!(
1380 ::std::mem::size_of::<timeval>(),
1381 16usize,
1382 concat!("Size of: ", stringify!(timeval))
1383 );
1384 assert_eq!(
1385 ::std::mem::align_of::<timeval>(),
1386 8usize,
1387 concat!("Alignment of ", stringify!(timeval))
1388 );
1389 assert_eq!(
1390 unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
1391 0usize,
1392 concat!(
1393 "Offset of field: ",
1394 stringify!(timeval),
1395 "::",
1396 stringify!(tv_sec)
1397 )
1398 );
1399 assert_eq!(
1400 unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
1401 8usize,
1402 concat!(
1403 "Offset of field: ",
1404 stringify!(timeval),
1405 "::",
1406 stringify!(tv_usec)
1407 )
1408 );
1409}
1410pub type rte_cpuset_t = cpu_set_t;
1411pub type phys_addr_t = u64;
1412pub type rte_iova_t = u64;
1413extern "C" {
1414 pub fn rte_exit(exit_code: ::std::os::raw::c_int, format: *const ::std::os::raw::c_char, ...);
1415}
1416#[repr(C)]
1417#[derive(Debug, Copy, Clone)]
1418pub struct rte_log_dynamic_type {
1419 _unused: [u8; 0],
1420}
1421#[repr(C)]
1422#[derive(Debug, Copy, Clone, PartialEq)]
1423pub struct rte_logs {
1424 pub type_: u32,
1425 pub level: u32,
1426 pub file: *mut FILE,
1427 pub dynamic_types_len: size_t,
1428 pub dynamic_types: *mut rte_log_dynamic_type,
1429}
1430#[test]
1431fn bindgen_test_layout_rte_logs() {
1432 assert_eq!(
1433 ::std::mem::size_of::<rte_logs>(),
1434 32usize,
1435 concat!("Size of: ", stringify!(rte_logs))
1436 );
1437 assert_eq!(
1438 ::std::mem::align_of::<rte_logs>(),
1439 8usize,
1440 concat!("Alignment of ", stringify!(rte_logs))
1441 );
1442 assert_eq!(
1443 unsafe { &(*(::std::ptr::null::<rte_logs>())).type_ as *const _ as usize },
1444 0usize,
1445 concat!(
1446 "Offset of field: ",
1447 stringify!(rte_logs),
1448 "::",
1449 stringify!(type_)
1450 )
1451 );
1452 assert_eq!(
1453 unsafe { &(*(::std::ptr::null::<rte_logs>())).level as *const _ as usize },
1454 4usize,
1455 concat!(
1456 "Offset of field: ",
1457 stringify!(rte_logs),
1458 "::",
1459 stringify!(level)
1460 )
1461 );
1462 assert_eq!(
1463 unsafe { &(*(::std::ptr::null::<rte_logs>())).file as *const _ as usize },
1464 8usize,
1465 concat!(
1466 "Offset of field: ",
1467 stringify!(rte_logs),
1468 "::",
1469 stringify!(file)
1470 )
1471 );
1472 assert_eq!(
1473 unsafe { &(*(::std::ptr::null::<rte_logs>())).dynamic_types_len as *const _ as usize },
1474 16usize,
1475 concat!(
1476 "Offset of field: ",
1477 stringify!(rte_logs),
1478 "::",
1479 stringify!(dynamic_types_len)
1480 )
1481 );
1482 assert_eq!(
1483 unsafe { &(*(::std::ptr::null::<rte_logs>())).dynamic_types as *const _ as usize },
1484 24usize,
1485 concat!(
1486 "Offset of field: ",
1487 stringify!(rte_logs),
1488 "::",
1489 stringify!(dynamic_types)
1490 )
1491 );
1492}
1493impl Default for rte_logs {
1494 fn default() -> Self {
1495 unsafe { ::std::mem::zeroed() }
1496 }
1497}
1498extern "C" {
1499 pub static mut rte_logs: rte_logs;
1500}
1501extern "C" {
1502 pub fn rte_openlog_stream(f: *mut FILE) -> ::std::os::raw::c_int;
1503}
1504extern "C" {
1505 pub fn rte_log_get_stream() -> *mut FILE;
1506}
1507extern "C" {
1508 pub fn rte_log_set_global_level(level: u32);
1509}
1510extern "C" {
1511 pub fn rte_log_get_global_level() -> u32;
1512}
1513extern "C" {
1514 pub fn rte_log_get_level(logtype: u32) -> ::std::os::raw::c_int;
1515}
1516extern "C" {
1517 pub fn rte_log_set_level_pattern(
1518 pattern: *const ::std::os::raw::c_char,
1519 level: u32,
1520 ) -> ::std::os::raw::c_int;
1521}
1522extern "C" {
1523 pub fn rte_log_set_level_regexp(
1524 regex: *const ::std::os::raw::c_char,
1525 level: u32,
1526 ) -> ::std::os::raw::c_int;
1527}
1528extern "C" {
1529 pub fn rte_log_set_level(logtype: u32, level: u32) -> ::std::os::raw::c_int;
1530}
1531extern "C" {
1532 pub fn rte_log_cur_msg_loglevel() -> ::std::os::raw::c_int;
1533}
1534extern "C" {
1535 pub fn rte_log_cur_msg_logtype() -> ::std::os::raw::c_int;
1536}
1537extern "C" {
1538 pub fn rte_log_register(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1539}
1540extern "C" {
1541 pub fn rte_log_register_type_and_pick_level(
1542 name: *const ::std::os::raw::c_char,
1543 level_def: u32,
1544 ) -> ::std::os::raw::c_int;
1545}
1546extern "C" {
1547 pub fn rte_log_dump(f: *mut FILE);
1548}
1549extern "C" {
1550 pub fn rte_log(
1551 level: u32,
1552 logtype: u32,
1553 format: *const ::std::os::raw::c_char,
1554 ...
1555 ) -> ::std::os::raw::c_int;
1556}
1557extern "C" {
1558 pub fn rte_vlog(
1559 level: u32,
1560 logtype: u32,
1561 format: *const ::std::os::raw::c_char,
1562 ap: *mut __va_list_tag,
1563 ) -> ::std::os::raw::c_int;
1564}
1565pub mod rte_dev_event_type {
1566 pub type Type = ::std::os::raw::c_uint;
1567 pub const RTE_DEV_EVENT_ADD: Type = 0;
1568 pub const RTE_DEV_EVENT_REMOVE: Type = 1;
1569 pub const RTE_DEV_EVENT_MAX: Type = 2;
1570}
1571#[repr(C)]
1572#[derive(Debug, Copy, Clone, PartialEq)]
1573pub struct rte_dev_event {
1574 pub type_: rte_dev_event_type::Type,
1575 pub subsystem: ::std::os::raw::c_int,
1576 pub devname: *mut ::std::os::raw::c_char,
1577}
1578#[test]
1579fn bindgen_test_layout_rte_dev_event() {
1580 assert_eq!(
1581 ::std::mem::size_of::<rte_dev_event>(),
1582 16usize,
1583 concat!("Size of: ", stringify!(rte_dev_event))
1584 );
1585 assert_eq!(
1586 ::std::mem::align_of::<rte_dev_event>(),
1587 8usize,
1588 concat!("Alignment of ", stringify!(rte_dev_event))
1589 );
1590 assert_eq!(
1591 unsafe { &(*(::std::ptr::null::<rte_dev_event>())).type_ as *const _ as usize },
1592 0usize,
1593 concat!(
1594 "Offset of field: ",
1595 stringify!(rte_dev_event),
1596 "::",
1597 stringify!(type_)
1598 )
1599 );
1600 assert_eq!(
1601 unsafe { &(*(::std::ptr::null::<rte_dev_event>())).subsystem as *const _ as usize },
1602 4usize,
1603 concat!(
1604 "Offset of field: ",
1605 stringify!(rte_dev_event),
1606 "::",
1607 stringify!(subsystem)
1608 )
1609 );
1610 assert_eq!(
1611 unsafe { &(*(::std::ptr::null::<rte_dev_event>())).devname as *const _ as usize },
1612 8usize,
1613 concat!(
1614 "Offset of field: ",
1615 stringify!(rte_dev_event),
1616 "::",
1617 stringify!(devname)
1618 )
1619 );
1620}
1621impl Default for rte_dev_event {
1622 fn default() -> Self {
1623 unsafe { ::std::mem::zeroed() }
1624 }
1625}
1626pub type rte_dev_event_cb_fn = ::std::option::Option<
1627 unsafe extern "C" fn(
1628 device_name: *const ::std::os::raw::c_char,
1629 event: rte_dev_event_type::Type,
1630 cb_arg: *mut ::std::os::raw::c_void,
1631 ),
1632>;
1633pub mod rte_kernel_driver {
1634 pub type Type = ::std::os::raw::c_uint;
1635 pub const RTE_KDRV_UNKNOWN: Type = 0;
1636 pub const RTE_KDRV_IGB_UIO: Type = 1;
1637 pub const RTE_KDRV_VFIO: Type = 2;
1638 pub const RTE_KDRV_UIO_GENERIC: Type = 3;
1639 pub const RTE_KDRV_NIC_UIO: Type = 4;
1640 pub const RTE_KDRV_NONE: Type = 5;
1641}
1642pub mod rte_dev_policy {
1643 pub type Type = ::std::os::raw::c_uint;
1644 pub const RTE_DEV_WHITELISTED: Type = 0;
1645 pub const RTE_DEV_BLACKLISTED: Type = 1;
1646}
1647#[repr(C)]
1648#[derive(Debug, Copy, Clone, PartialEq)]
1649pub struct rte_mem_resource {
1650 pub phys_addr: u64,
1651 pub len: u64,
1652 pub addr: *mut ::std::os::raw::c_void,
1653}
1654#[test]
1655fn bindgen_test_layout_rte_mem_resource() {
1656 assert_eq!(
1657 ::std::mem::size_of::<rte_mem_resource>(),
1658 24usize,
1659 concat!("Size of: ", stringify!(rte_mem_resource))
1660 );
1661 assert_eq!(
1662 ::std::mem::align_of::<rte_mem_resource>(),
1663 8usize,
1664 concat!("Alignment of ", stringify!(rte_mem_resource))
1665 );
1666 assert_eq!(
1667 unsafe { &(*(::std::ptr::null::<rte_mem_resource>())).phys_addr as *const _ as usize },
1668 0usize,
1669 concat!(
1670 "Offset of field: ",
1671 stringify!(rte_mem_resource),
1672 "::",
1673 stringify!(phys_addr)
1674 )
1675 );
1676 assert_eq!(
1677 unsafe { &(*(::std::ptr::null::<rte_mem_resource>())).len as *const _ as usize },
1678 8usize,
1679 concat!(
1680 "Offset of field: ",
1681 stringify!(rte_mem_resource),
1682 "::",
1683 stringify!(len)
1684 )
1685 );
1686 assert_eq!(
1687 unsafe { &(*(::std::ptr::null::<rte_mem_resource>())).addr as *const _ as usize },
1688 16usize,
1689 concat!(
1690 "Offset of field: ",
1691 stringify!(rte_mem_resource),
1692 "::",
1693 stringify!(addr)
1694 )
1695 );
1696}
1697impl Default for rte_mem_resource {
1698 fn default() -> Self {
1699 unsafe { ::std::mem::zeroed() }
1700 }
1701}
1702#[repr(C)]
1703#[derive(Debug, Copy, Clone, PartialEq)]
1704pub struct rte_driver {
1705 pub next: rte_driver__bindgen_ty_1,
1706 pub name: *const ::std::os::raw::c_char,
1707 pub alias: *const ::std::os::raw::c_char,
1708}
1709#[repr(C)]
1710#[derive(Debug, Copy, Clone, PartialEq)]
1711pub struct rte_driver__bindgen_ty_1 {
1712 pub tqe_next: *mut rte_driver,
1713 pub tqe_prev: *mut *mut rte_driver,
1714}
1715#[test]
1716fn bindgen_test_layout_rte_driver__bindgen_ty_1() {
1717 assert_eq!(
1718 ::std::mem::size_of::<rte_driver__bindgen_ty_1>(),
1719 16usize,
1720 concat!("Size of: ", stringify!(rte_driver__bindgen_ty_1))
1721 );
1722 assert_eq!(
1723 ::std::mem::align_of::<rte_driver__bindgen_ty_1>(),
1724 8usize,
1725 concat!("Alignment of ", stringify!(rte_driver__bindgen_ty_1))
1726 );
1727 assert_eq!(
1728 unsafe {
1729 &(*(::std::ptr::null::<rte_driver__bindgen_ty_1>())).tqe_next as *const _ as usize
1730 },
1731 0usize,
1732 concat!(
1733 "Offset of field: ",
1734 stringify!(rte_driver__bindgen_ty_1),
1735 "::",
1736 stringify!(tqe_next)
1737 )
1738 );
1739 assert_eq!(
1740 unsafe {
1741 &(*(::std::ptr::null::<rte_driver__bindgen_ty_1>())).tqe_prev as *const _ as usize
1742 },
1743 8usize,
1744 concat!(
1745 "Offset of field: ",
1746 stringify!(rte_driver__bindgen_ty_1),
1747 "::",
1748 stringify!(tqe_prev)
1749 )
1750 );
1751}
1752impl Default for rte_driver__bindgen_ty_1 {
1753 fn default() -> Self {
1754 unsafe { ::std::mem::zeroed() }
1755 }
1756}
1757#[test]
1758fn bindgen_test_layout_rte_driver() {
1759 assert_eq!(
1760 ::std::mem::size_of::<rte_driver>(),
1761 32usize,
1762 concat!("Size of: ", stringify!(rte_driver))
1763 );
1764 assert_eq!(
1765 ::std::mem::align_of::<rte_driver>(),
1766 8usize,
1767 concat!("Alignment of ", stringify!(rte_driver))
1768 );
1769 assert_eq!(
1770 unsafe { &(*(::std::ptr::null::<rte_driver>())).next as *const _ as usize },
1771 0usize,
1772 concat!(
1773 "Offset of field: ",
1774 stringify!(rte_driver),
1775 "::",
1776 stringify!(next)
1777 )
1778 );
1779 assert_eq!(
1780 unsafe { &(*(::std::ptr::null::<rte_driver>())).name as *const _ as usize },
1781 16usize,
1782 concat!(
1783 "Offset of field: ",
1784 stringify!(rte_driver),
1785 "::",
1786 stringify!(name)
1787 )
1788 );
1789 assert_eq!(
1790 unsafe { &(*(::std::ptr::null::<rte_driver>())).alias as *const _ as usize },
1791 24usize,
1792 concat!(
1793 "Offset of field: ",
1794 stringify!(rte_driver),
1795 "::",
1796 stringify!(alias)
1797 )
1798 );
1799}
1800impl Default for rte_driver {
1801 fn default() -> Self {
1802 unsafe { ::std::mem::zeroed() }
1803 }
1804}
1805#[repr(C)]
1806#[derive(Debug, Copy, Clone, PartialEq)]
1807pub struct rte_device {
1808 pub next: rte_device__bindgen_ty_1,
1809 pub name: *const ::std::os::raw::c_char,
1810 pub driver: *const rte_driver,
1811 pub bus: *const rte_bus,
1812 pub numa_node: ::std::os::raw::c_int,
1813 pub devargs: *mut rte_devargs,
1814}
1815#[repr(C)]
1816#[derive(Debug, Copy, Clone, PartialEq)]
1817pub struct rte_device__bindgen_ty_1 {
1818 pub tqe_next: *mut rte_device,
1819 pub tqe_prev: *mut *mut rte_device,
1820}
1821#[test]
1822fn bindgen_test_layout_rte_device__bindgen_ty_1() {
1823 assert_eq!(
1824 ::std::mem::size_of::<rte_device__bindgen_ty_1>(),
1825 16usize,
1826 concat!("Size of: ", stringify!(rte_device__bindgen_ty_1))
1827 );
1828 assert_eq!(
1829 ::std::mem::align_of::<rte_device__bindgen_ty_1>(),
1830 8usize,
1831 concat!("Alignment of ", stringify!(rte_device__bindgen_ty_1))
1832 );
1833 assert_eq!(
1834 unsafe {
1835 &(*(::std::ptr::null::<rte_device__bindgen_ty_1>())).tqe_next as *const _ as usize
1836 },
1837 0usize,
1838 concat!(
1839 "Offset of field: ",
1840 stringify!(rte_device__bindgen_ty_1),
1841 "::",
1842 stringify!(tqe_next)
1843 )
1844 );
1845 assert_eq!(
1846 unsafe {
1847 &(*(::std::ptr::null::<rte_device__bindgen_ty_1>())).tqe_prev as *const _ as usize
1848 },
1849 8usize,
1850 concat!(
1851 "Offset of field: ",
1852 stringify!(rte_device__bindgen_ty_1),
1853 "::",
1854 stringify!(tqe_prev)
1855 )
1856 );
1857}
1858impl Default for rte_device__bindgen_ty_1 {
1859 fn default() -> Self {
1860 unsafe { ::std::mem::zeroed() }
1861 }
1862}
1863#[test]
1864fn bindgen_test_layout_rte_device() {
1865 assert_eq!(
1866 ::std::mem::size_of::<rte_device>(),
1867 56usize,
1868 concat!("Size of: ", stringify!(rte_device))
1869 );
1870 assert_eq!(
1871 ::std::mem::align_of::<rte_device>(),
1872 8usize,
1873 concat!("Alignment of ", stringify!(rte_device))
1874 );
1875 assert_eq!(
1876 unsafe { &(*(::std::ptr::null::<rte_device>())).next as *const _ as usize },
1877 0usize,
1878 concat!(
1879 "Offset of field: ",
1880 stringify!(rte_device),
1881 "::",
1882 stringify!(next)
1883 )
1884 );
1885 assert_eq!(
1886 unsafe { &(*(::std::ptr::null::<rte_device>())).name as *const _ as usize },
1887 16usize,
1888 concat!(
1889 "Offset of field: ",
1890 stringify!(rte_device),
1891 "::",
1892 stringify!(name)
1893 )
1894 );
1895 assert_eq!(
1896 unsafe { &(*(::std::ptr::null::<rte_device>())).driver as *const _ as usize },
1897 24usize,
1898 concat!(
1899 "Offset of field: ",
1900 stringify!(rte_device),
1901 "::",
1902 stringify!(driver)
1903 )
1904 );
1905 assert_eq!(
1906 unsafe { &(*(::std::ptr::null::<rte_device>())).bus as *const _ as usize },
1907 32usize,
1908 concat!(
1909 "Offset of field: ",
1910 stringify!(rte_device),
1911 "::",
1912 stringify!(bus)
1913 )
1914 );
1915 assert_eq!(
1916 unsafe { &(*(::std::ptr::null::<rte_device>())).numa_node as *const _ as usize },
1917 40usize,
1918 concat!(
1919 "Offset of field: ",
1920 stringify!(rte_device),
1921 "::",
1922 stringify!(numa_node)
1923 )
1924 );
1925 assert_eq!(
1926 unsafe { &(*(::std::ptr::null::<rte_device>())).devargs as *const _ as usize },
1927 48usize,
1928 concat!(
1929 "Offset of field: ",
1930 stringify!(rte_device),
1931 "::",
1932 stringify!(devargs)
1933 )
1934 );
1935}
1936impl Default for rte_device {
1937 fn default() -> Self {
1938 unsafe { ::std::mem::zeroed() }
1939 }
1940}
1941extern "C" {
1942 pub fn rte_dev_is_probed(dev: *const rte_device) -> ::std::os::raw::c_int;
1943}
1944extern "C" {
1945 pub fn rte_eal_hotplug_add(
1946 busname: *const ::std::os::raw::c_char,
1947 devname: *const ::std::os::raw::c_char,
1948 drvargs: *const ::std::os::raw::c_char,
1949 ) -> ::std::os::raw::c_int;
1950}
1951extern "C" {
1952 pub fn rte_dev_probe(devargs: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1953}
1954extern "C" {
1955 pub fn rte_eal_hotplug_remove(
1956 busname: *const ::std::os::raw::c_char,
1957 devname: *const ::std::os::raw::c_char,
1958 ) -> ::std::os::raw::c_int;
1959}
1960extern "C" {
1961 pub fn rte_dev_remove(dev: *mut rte_device) -> ::std::os::raw::c_int;
1962}
1963pub type rte_dev_cmp_t = ::std::option::Option<
1964 unsafe extern "C" fn(
1965 dev: *const rte_device,
1966 data: *const ::std::os::raw::c_void,
1967 ) -> ::std::os::raw::c_int,
1968>;
1969#[repr(C)]
1970#[derive(Debug, Copy, Clone, PartialEq)]
1971pub struct rte_dev_iterator {
1972 pub dev_str: *const ::std::os::raw::c_char,
1973 pub bus_str: *const ::std::os::raw::c_char,
1974 pub cls_str: *const ::std::os::raw::c_char,
1975 pub bus: *mut rte_bus,
1976 pub cls: *mut rte_class,
1977 pub device: *mut rte_device,
1978 pub class_device: *mut ::std::os::raw::c_void,
1979}
1980#[test]
1981fn bindgen_test_layout_rte_dev_iterator() {
1982 assert_eq!(
1983 ::std::mem::size_of::<rte_dev_iterator>(),
1984 56usize,
1985 concat!("Size of: ", stringify!(rte_dev_iterator))
1986 );
1987 assert_eq!(
1988 ::std::mem::align_of::<rte_dev_iterator>(),
1989 8usize,
1990 concat!("Alignment of ", stringify!(rte_dev_iterator))
1991 );
1992 assert_eq!(
1993 unsafe { &(*(::std::ptr::null::<rte_dev_iterator>())).dev_str as *const _ as usize },
1994 0usize,
1995 concat!(
1996 "Offset of field: ",
1997 stringify!(rte_dev_iterator),
1998 "::",
1999 stringify!(dev_str)
2000 )
2001 );
2002 assert_eq!(
2003 unsafe { &(*(::std::ptr::null::<rte_dev_iterator>())).bus_str as *const _ as usize },
2004 8usize,
2005 concat!(
2006 "Offset of field: ",
2007 stringify!(rte_dev_iterator),
2008 "::",
2009 stringify!(bus_str)
2010 )
2011 );
2012 assert_eq!(
2013 unsafe { &(*(::std::ptr::null::<rte_dev_iterator>())).cls_str as *const _ as usize },
2014 16usize,
2015 concat!(
2016 "Offset of field: ",
2017 stringify!(rte_dev_iterator),
2018 "::",
2019 stringify!(cls_str)
2020 )
2021 );
2022 assert_eq!(
2023 unsafe { &(*(::std::ptr::null::<rte_dev_iterator>())).bus as *const _ as usize },
2024 24usize,
2025 concat!(
2026 "Offset of field: ",
2027 stringify!(rte_dev_iterator),
2028 "::",
2029 stringify!(bus)
2030 )
2031 );
2032 assert_eq!(
2033 unsafe { &(*(::std::ptr::null::<rte_dev_iterator>())).cls as *const _ as usize },
2034 32usize,
2035 concat!(
2036 "Offset of field: ",
2037 stringify!(rte_dev_iterator),
2038 "::",
2039 stringify!(cls)
2040 )
2041 );
2042 assert_eq!(
2043 unsafe { &(*(::std::ptr::null::<rte_dev_iterator>())).device as *const _ as usize },
2044 40usize,
2045 concat!(
2046 "Offset of field: ",
2047 stringify!(rte_dev_iterator),
2048 "::",
2049 stringify!(device)
2050 )
2051 );
2052 assert_eq!(
2053 unsafe { &(*(::std::ptr::null::<rte_dev_iterator>())).class_device as *const _ as usize },
2054 48usize,
2055 concat!(
2056 "Offset of field: ",
2057 stringify!(rte_dev_iterator),
2058 "::",
2059 stringify!(class_device)
2060 )
2061 );
2062}
2063impl Default for rte_dev_iterator {
2064 fn default() -> Self {
2065 unsafe { ::std::mem::zeroed() }
2066 }
2067}
2068pub type rte_dev_iterate_t = ::std::option::Option<
2069 unsafe extern "C" fn(
2070 start: *const ::std::os::raw::c_void,
2071 devstr: *const ::std::os::raw::c_char,
2072 it: *const rte_dev_iterator,
2073 ) -> *mut ::std::os::raw::c_void,
2074>;
2075extern "C" {
2076 pub fn rte_dev_iterator_init(
2077 it: *mut rte_dev_iterator,
2078 str_: *const ::std::os::raw::c_char,
2079 ) -> ::std::os::raw::c_int;
2080}
2081extern "C" {
2082 pub fn rte_dev_iterator_next(it: *mut rte_dev_iterator) -> *mut rte_device;
2083}
2084extern "C" {
2085 pub fn rte_dev_event_callback_register(
2086 device_name: *const ::std::os::raw::c_char,
2087 cb_fn: rte_dev_event_cb_fn,
2088 cb_arg: *mut ::std::os::raw::c_void,
2089 ) -> ::std::os::raw::c_int;
2090}
2091extern "C" {
2092 pub fn rte_dev_event_callback_unregister(
2093 device_name: *const ::std::os::raw::c_char,
2094 cb_fn: rte_dev_event_cb_fn,
2095 cb_arg: *mut ::std::os::raw::c_void,
2096 ) -> ::std::os::raw::c_int;
2097}
2098extern "C" {
2099 pub fn rte_dev_event_callback_process(
2100 device_name: *const ::std::os::raw::c_char,
2101 event: rte_dev_event_type::Type,
2102 );
2103}
2104extern "C" {
2105 pub fn rte_dev_event_monitor_start() -> ::std::os::raw::c_int;
2106}
2107extern "C" {
2108 pub fn rte_dev_event_monitor_stop() -> ::std::os::raw::c_int;
2109}
2110extern "C" {
2111 pub fn rte_dev_hotplug_handle_enable() -> ::std::os::raw::c_int;
2112}
2113extern "C" {
2114 pub fn rte_dev_hotplug_handle_disable() -> ::std::os::raw::c_int;
2115}
2116extern "C" {
2117 pub fn rte_dev_dma_map(
2118 dev: *mut rte_device,
2119 addr: *mut ::std::os::raw::c_void,
2120 iova: u64,
2121 len: size_t,
2122 ) -> ::std::os::raw::c_int;
2123}
2124extern "C" {
2125 pub fn rte_dev_dma_unmap(
2126 dev: *mut rte_device,
2127 addr: *mut ::std::os::raw::c_void,
2128 iova: u64,
2129 len: size_t,
2130 ) -> ::std::os::raw::c_int;
2131}
2132#[repr(C)]
2133#[derive(Debug, Copy, Clone, PartialEq)]
2134pub struct rte_bus_list {
2135 pub tqh_first: *mut rte_bus,
2136 pub tqh_last: *mut *mut rte_bus,
2137}
2138#[test]
2139fn bindgen_test_layout_rte_bus_list() {
2140 assert_eq!(
2141 ::std::mem::size_of::<rte_bus_list>(),
2142 16usize,
2143 concat!("Size of: ", stringify!(rte_bus_list))
2144 );
2145 assert_eq!(
2146 ::std::mem::align_of::<rte_bus_list>(),
2147 8usize,
2148 concat!("Alignment of ", stringify!(rte_bus_list))
2149 );
2150 assert_eq!(
2151 unsafe { &(*(::std::ptr::null::<rte_bus_list>())).tqh_first as *const _ as usize },
2152 0usize,
2153 concat!(
2154 "Offset of field: ",
2155 stringify!(rte_bus_list),
2156 "::",
2157 stringify!(tqh_first)
2158 )
2159 );
2160 assert_eq!(
2161 unsafe { &(*(::std::ptr::null::<rte_bus_list>())).tqh_last as *const _ as usize },
2162 8usize,
2163 concat!(
2164 "Offset of field: ",
2165 stringify!(rte_bus_list),
2166 "::",
2167 stringify!(tqh_last)
2168 )
2169 );
2170}
2171impl Default for rte_bus_list {
2172 fn default() -> Self {
2173 unsafe { ::std::mem::zeroed() }
2174 }
2175}
2176pub mod rte_iova_mode {
2177 pub type Type = ::std::os::raw::c_uint;
2178 pub const RTE_IOVA_DC: Type = 0;
2179 pub const RTE_IOVA_PA: Type = 1;
2180 pub const RTE_IOVA_VA: Type = 2;
2181}
2182pub type rte_bus_scan_t = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
2183pub type rte_bus_probe_t = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
2184pub type rte_bus_find_device_t = ::std::option::Option<
2185 unsafe extern "C" fn(
2186 start: *const rte_device,
2187 cmp: rte_dev_cmp_t,
2188 data: *const ::std::os::raw::c_void,
2189 ) -> *mut rte_device,
2190>;
2191pub type rte_bus_plug_t =
2192 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_device) -> ::std::os::raw::c_int>;
2193pub type rte_bus_unplug_t =
2194 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_device) -> ::std::os::raw::c_int>;
2195pub type rte_bus_parse_t = ::std::option::Option<
2196 unsafe extern "C" fn(
2197 name: *const ::std::os::raw::c_char,
2198 addr: *mut ::std::os::raw::c_void,
2199 ) -> ::std::os::raw::c_int,
2200>;
2201pub type rte_dev_dma_map_t = ::std::option::Option<
2202 unsafe extern "C" fn(
2203 dev: *mut rte_device,
2204 addr: *mut ::std::os::raw::c_void,
2205 iova: u64,
2206 len: size_t,
2207 ) -> ::std::os::raw::c_int,
2208>;
2209pub type rte_dev_dma_unmap_t = ::std::option::Option<
2210 unsafe extern "C" fn(
2211 dev: *mut rte_device,
2212 addr: *mut ::std::os::raw::c_void,
2213 iova: u64,
2214 len: size_t,
2215 ) -> ::std::os::raw::c_int,
2216>;
2217pub type rte_bus_hot_unplug_handler_t =
2218 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_device) -> ::std::os::raw::c_int>;
2219pub type rte_bus_sigbus_handler_t = ::std::option::Option<
2220 unsafe extern "C" fn(failure_addr: *const ::std::os::raw::c_void) -> ::std::os::raw::c_int,
2221>;
2222pub mod rte_bus_scan_mode {
2223 pub type Type = ::std::os::raw::c_uint;
2224 pub const RTE_BUS_SCAN_UNDEFINED: Type = 0;
2225 pub const RTE_BUS_SCAN_WHITELIST: Type = 1;
2226 pub const RTE_BUS_SCAN_BLACKLIST: Type = 2;
2227}
2228#[repr(C)]
2229#[derive(Debug, Copy, Clone, PartialEq)]
2230pub struct rte_bus_conf {
2231 pub scan_mode: rte_bus_scan_mode::Type,
2232}
2233#[test]
2234fn bindgen_test_layout_rte_bus_conf() {
2235 assert_eq!(
2236 ::std::mem::size_of::<rte_bus_conf>(),
2237 4usize,
2238 concat!("Size of: ", stringify!(rte_bus_conf))
2239 );
2240 assert_eq!(
2241 ::std::mem::align_of::<rte_bus_conf>(),
2242 4usize,
2243 concat!("Alignment of ", stringify!(rte_bus_conf))
2244 );
2245 assert_eq!(
2246 unsafe { &(*(::std::ptr::null::<rte_bus_conf>())).scan_mode as *const _ as usize },
2247 0usize,
2248 concat!(
2249 "Offset of field: ",
2250 stringify!(rte_bus_conf),
2251 "::",
2252 stringify!(scan_mode)
2253 )
2254 );
2255}
2256impl Default for rte_bus_conf {
2257 fn default() -> Self {
2258 unsafe { ::std::mem::zeroed() }
2259 }
2260}
2261pub type rte_bus_get_iommu_class_t =
2262 ::std::option::Option<unsafe extern "C" fn() -> rte_iova_mode::Type>;
2263#[repr(C)]
2264#[derive(Debug, Copy, Clone, PartialEq)]
2265pub struct rte_bus {
2266 pub next: rte_bus__bindgen_ty_1,
2267 pub name: *const ::std::os::raw::c_char,
2268 pub scan: rte_bus_scan_t,
2269 pub probe: rte_bus_probe_t,
2270 pub find_device: rte_bus_find_device_t,
2271 pub plug: rte_bus_plug_t,
2272 pub unplug: rte_bus_unplug_t,
2273 pub parse: rte_bus_parse_t,
2274 pub dma_map: rte_dev_dma_map_t,
2275 pub dma_unmap: rte_dev_dma_unmap_t,
2276 pub conf: rte_bus_conf,
2277 pub get_iommu_class: rte_bus_get_iommu_class_t,
2278 pub dev_iterate: rte_dev_iterate_t,
2279 pub hot_unplug_handler: rte_bus_hot_unplug_handler_t,
2280 pub sigbus_handler: rte_bus_sigbus_handler_t,
2281}
2282#[repr(C)]
2283#[derive(Debug, Copy, Clone, PartialEq)]
2284pub struct rte_bus__bindgen_ty_1 {
2285 pub tqe_next: *mut rte_bus,
2286 pub tqe_prev: *mut *mut rte_bus,
2287}
2288#[test]
2289fn bindgen_test_layout_rte_bus__bindgen_ty_1() {
2290 assert_eq!(
2291 ::std::mem::size_of::<rte_bus__bindgen_ty_1>(),
2292 16usize,
2293 concat!("Size of: ", stringify!(rte_bus__bindgen_ty_1))
2294 );
2295 assert_eq!(
2296 ::std::mem::align_of::<rte_bus__bindgen_ty_1>(),
2297 8usize,
2298 concat!("Alignment of ", stringify!(rte_bus__bindgen_ty_1))
2299 );
2300 assert_eq!(
2301 unsafe { &(*(::std::ptr::null::<rte_bus__bindgen_ty_1>())).tqe_next as *const _ as usize },
2302 0usize,
2303 concat!(
2304 "Offset of field: ",
2305 stringify!(rte_bus__bindgen_ty_1),
2306 "::",
2307 stringify!(tqe_next)
2308 )
2309 );
2310 assert_eq!(
2311 unsafe { &(*(::std::ptr::null::<rte_bus__bindgen_ty_1>())).tqe_prev as *const _ as usize },
2312 8usize,
2313 concat!(
2314 "Offset of field: ",
2315 stringify!(rte_bus__bindgen_ty_1),
2316 "::",
2317 stringify!(tqe_prev)
2318 )
2319 );
2320}
2321impl Default for rte_bus__bindgen_ty_1 {
2322 fn default() -> Self {
2323 unsafe { ::std::mem::zeroed() }
2324 }
2325}
2326#[test]
2327fn bindgen_test_layout_rte_bus() {
2328 assert_eq!(
2329 ::std::mem::size_of::<rte_bus>(),
2330 128usize,
2331 concat!("Size of: ", stringify!(rte_bus))
2332 );
2333 assert_eq!(
2334 ::std::mem::align_of::<rte_bus>(),
2335 8usize,
2336 concat!("Alignment of ", stringify!(rte_bus))
2337 );
2338 assert_eq!(
2339 unsafe { &(*(::std::ptr::null::<rte_bus>())).next as *const _ as usize },
2340 0usize,
2341 concat!(
2342 "Offset of field: ",
2343 stringify!(rte_bus),
2344 "::",
2345 stringify!(next)
2346 )
2347 );
2348 assert_eq!(
2349 unsafe { &(*(::std::ptr::null::<rte_bus>())).name as *const _ as usize },
2350 16usize,
2351 concat!(
2352 "Offset of field: ",
2353 stringify!(rte_bus),
2354 "::",
2355 stringify!(name)
2356 )
2357 );
2358 assert_eq!(
2359 unsafe { &(*(::std::ptr::null::<rte_bus>())).scan as *const _ as usize },
2360 24usize,
2361 concat!(
2362 "Offset of field: ",
2363 stringify!(rte_bus),
2364 "::",
2365 stringify!(scan)
2366 )
2367 );
2368 assert_eq!(
2369 unsafe { &(*(::std::ptr::null::<rte_bus>())).probe as *const _ as usize },
2370 32usize,
2371 concat!(
2372 "Offset of field: ",
2373 stringify!(rte_bus),
2374 "::",
2375 stringify!(probe)
2376 )
2377 );
2378 assert_eq!(
2379 unsafe { &(*(::std::ptr::null::<rte_bus>())).find_device as *const _ as usize },
2380 40usize,
2381 concat!(
2382 "Offset of field: ",
2383 stringify!(rte_bus),
2384 "::",
2385 stringify!(find_device)
2386 )
2387 );
2388 assert_eq!(
2389 unsafe { &(*(::std::ptr::null::<rte_bus>())).plug as *const _ as usize },
2390 48usize,
2391 concat!(
2392 "Offset of field: ",
2393 stringify!(rte_bus),
2394 "::",
2395 stringify!(plug)
2396 )
2397 );
2398 assert_eq!(
2399 unsafe { &(*(::std::ptr::null::<rte_bus>())).unplug as *const _ as usize },
2400 56usize,
2401 concat!(
2402 "Offset of field: ",
2403 stringify!(rte_bus),
2404 "::",
2405 stringify!(unplug)
2406 )
2407 );
2408 assert_eq!(
2409 unsafe { &(*(::std::ptr::null::<rte_bus>())).parse as *const _ as usize },
2410 64usize,
2411 concat!(
2412 "Offset of field: ",
2413 stringify!(rte_bus),
2414 "::",
2415 stringify!(parse)
2416 )
2417 );
2418 assert_eq!(
2419 unsafe { &(*(::std::ptr::null::<rte_bus>())).dma_map as *const _ as usize },
2420 72usize,
2421 concat!(
2422 "Offset of field: ",
2423 stringify!(rte_bus),
2424 "::",
2425 stringify!(dma_map)
2426 )
2427 );
2428 assert_eq!(
2429 unsafe { &(*(::std::ptr::null::<rte_bus>())).dma_unmap as *const _ as usize },
2430 80usize,
2431 concat!(
2432 "Offset of field: ",
2433 stringify!(rte_bus),
2434 "::",
2435 stringify!(dma_unmap)
2436 )
2437 );
2438 assert_eq!(
2439 unsafe { &(*(::std::ptr::null::<rte_bus>())).conf as *const _ as usize },
2440 88usize,
2441 concat!(
2442 "Offset of field: ",
2443 stringify!(rte_bus),
2444 "::",
2445 stringify!(conf)
2446 )
2447 );
2448 assert_eq!(
2449 unsafe { &(*(::std::ptr::null::<rte_bus>())).get_iommu_class as *const _ as usize },
2450 96usize,
2451 concat!(
2452 "Offset of field: ",
2453 stringify!(rte_bus),
2454 "::",
2455 stringify!(get_iommu_class)
2456 )
2457 );
2458 assert_eq!(
2459 unsafe { &(*(::std::ptr::null::<rte_bus>())).dev_iterate as *const _ as usize },
2460 104usize,
2461 concat!(
2462 "Offset of field: ",
2463 stringify!(rte_bus),
2464 "::",
2465 stringify!(dev_iterate)
2466 )
2467 );
2468 assert_eq!(
2469 unsafe { &(*(::std::ptr::null::<rte_bus>())).hot_unplug_handler as *const _ as usize },
2470 112usize,
2471 concat!(
2472 "Offset of field: ",
2473 stringify!(rte_bus),
2474 "::",
2475 stringify!(hot_unplug_handler)
2476 )
2477 );
2478 assert_eq!(
2479 unsafe { &(*(::std::ptr::null::<rte_bus>())).sigbus_handler as *const _ as usize },
2480 120usize,
2481 concat!(
2482 "Offset of field: ",
2483 stringify!(rte_bus),
2484 "::",
2485 stringify!(sigbus_handler)
2486 )
2487 );
2488}
2489impl Default for rte_bus {
2490 fn default() -> Self {
2491 unsafe { ::std::mem::zeroed() }
2492 }
2493}
2494extern "C" {
2495 pub fn rte_bus_register(bus: *mut rte_bus);
2496}
2497extern "C" {
2498 pub fn rte_bus_unregister(bus: *mut rte_bus);
2499}
2500extern "C" {
2501 pub fn rte_bus_scan() -> ::std::os::raw::c_int;
2502}
2503extern "C" {
2504 pub fn rte_bus_probe() -> ::std::os::raw::c_int;
2505}
2506extern "C" {
2507 pub fn rte_bus_dump(f: *mut FILE);
2508}
2509pub type rte_bus_cmp_t = ::std::option::Option<
2510 unsafe extern "C" fn(
2511 bus: *const rte_bus,
2512 data: *const ::std::os::raw::c_void,
2513 ) -> ::std::os::raw::c_int,
2514>;
2515extern "C" {
2516 pub fn rte_bus_find(
2517 start: *const rte_bus,
2518 cmp: rte_bus_cmp_t,
2519 data: *const ::std::os::raw::c_void,
2520 ) -> *mut rte_bus;
2521}
2522extern "C" {
2523 pub fn rte_bus_find_by_device(dev: *const rte_device) -> *mut rte_bus;
2524}
2525extern "C" {
2526 pub fn rte_bus_find_by_name(busname: *const ::std::os::raw::c_char) -> *mut rte_bus;
2527}
2528extern "C" {
2529 pub fn rte_bus_get_iommu_class() -> rte_iova_mode::Type;
2530}
2531pub mod rte_intr_mode {
2532 pub type Type = ::std::os::raw::c_uint;
2533 pub const RTE_INTR_MODE_NONE: Type = 0;
2534 pub const RTE_INTR_MODE_LEGACY: Type = 1;
2535 pub const RTE_INTR_MODE_MSI: Type = 2;
2536 pub const RTE_INTR_MODE_MSIX: Type = 3;
2537}
2538pub mod rte_lcore_role_t {
2539 pub type Type = ::std::os::raw::c_uint;
2540 pub const ROLE_RTE: Type = 0;
2541 pub const ROLE_OFF: Type = 1;
2542 pub const ROLE_SERVICE: Type = 2;
2543}
2544pub mod rte_proc_type_t {
2545 pub type Type = ::std::os::raw::c_int;
2546 pub const RTE_PROC_AUTO: Type = -1;
2547 pub const RTE_PROC_PRIMARY: Type = 0;
2548 pub const RTE_PROC_SECONDARY: Type = 1;
2549 pub const RTE_PROC_INVALID: Type = 2;
2550}
2551extern "C" {
2552 pub fn rte_eal_process_type() -> rte_proc_type_t::Type;
2553}
2554extern "C" {
2555 pub fn rte_eal_iopl_init() -> ::std::os::raw::c_int;
2556}
2557extern "C" {
2558 pub fn rte_eal_init(
2559 argc: ::std::os::raw::c_int,
2560 argv: *mut *mut ::std::os::raw::c_char,
2561 ) -> ::std::os::raw::c_int;
2562}
2563extern "C" {
2564 pub fn rte_eal_cleanup() -> ::std::os::raw::c_int;
2565}
2566extern "C" {
2567 pub fn rte_eal_primary_proc_alive(
2568 config_file_path: *const ::std::os::raw::c_char,
2569 ) -> ::std::os::raw::c_int;
2570}
2571#[repr(C)]
2572#[derive(Copy, Clone)]
2573pub struct rte_mp_msg {
2574 pub name: [::std::os::raw::c_char; 64usize],
2575 pub len_param: ::std::os::raw::c_int,
2576 pub num_fds: ::std::os::raw::c_int,
2577 pub param: [u8; 256usize],
2578 pub fds: [::std::os::raw::c_int; 8usize],
2579}
2580#[test]
2581fn bindgen_test_layout_rte_mp_msg() {
2582 assert_eq!(
2583 ::std::mem::size_of::<rte_mp_msg>(),
2584 360usize,
2585 concat!("Size of: ", stringify!(rte_mp_msg))
2586 );
2587 assert_eq!(
2588 ::std::mem::align_of::<rte_mp_msg>(),
2589 4usize,
2590 concat!("Alignment of ", stringify!(rte_mp_msg))
2591 );
2592 assert_eq!(
2593 unsafe { &(*(::std::ptr::null::<rte_mp_msg>())).name as *const _ as usize },
2594 0usize,
2595 concat!(
2596 "Offset of field: ",
2597 stringify!(rte_mp_msg),
2598 "::",
2599 stringify!(name)
2600 )
2601 );
2602 assert_eq!(
2603 unsafe { &(*(::std::ptr::null::<rte_mp_msg>())).len_param as *const _ as usize },
2604 64usize,
2605 concat!(
2606 "Offset of field: ",
2607 stringify!(rte_mp_msg),
2608 "::",
2609 stringify!(len_param)
2610 )
2611 );
2612 assert_eq!(
2613 unsafe { &(*(::std::ptr::null::<rte_mp_msg>())).num_fds as *const _ as usize },
2614 68usize,
2615 concat!(
2616 "Offset of field: ",
2617 stringify!(rte_mp_msg),
2618 "::",
2619 stringify!(num_fds)
2620 )
2621 );
2622 assert_eq!(
2623 unsafe { &(*(::std::ptr::null::<rte_mp_msg>())).param as *const _ as usize },
2624 72usize,
2625 concat!(
2626 "Offset of field: ",
2627 stringify!(rte_mp_msg),
2628 "::",
2629 stringify!(param)
2630 )
2631 );
2632 assert_eq!(
2633 unsafe { &(*(::std::ptr::null::<rte_mp_msg>())).fds as *const _ as usize },
2634 328usize,
2635 concat!(
2636 "Offset of field: ",
2637 stringify!(rte_mp_msg),
2638 "::",
2639 stringify!(fds)
2640 )
2641 );
2642}
2643impl Default for rte_mp_msg {
2644 fn default() -> Self {
2645 unsafe { ::std::mem::zeroed() }
2646 }
2647}
2648#[repr(C)]
2649#[derive(Debug, Copy, Clone, PartialEq)]
2650pub struct rte_mp_reply {
2651 pub nb_sent: ::std::os::raw::c_int,
2652 pub nb_received: ::std::os::raw::c_int,
2653 pub msgs: *mut rte_mp_msg,
2654}
2655#[test]
2656fn bindgen_test_layout_rte_mp_reply() {
2657 assert_eq!(
2658 ::std::mem::size_of::<rte_mp_reply>(),
2659 16usize,
2660 concat!("Size of: ", stringify!(rte_mp_reply))
2661 );
2662 assert_eq!(
2663 ::std::mem::align_of::<rte_mp_reply>(),
2664 8usize,
2665 concat!("Alignment of ", stringify!(rte_mp_reply))
2666 );
2667 assert_eq!(
2668 unsafe { &(*(::std::ptr::null::<rte_mp_reply>())).nb_sent as *const _ as usize },
2669 0usize,
2670 concat!(
2671 "Offset of field: ",
2672 stringify!(rte_mp_reply),
2673 "::",
2674 stringify!(nb_sent)
2675 )
2676 );
2677 assert_eq!(
2678 unsafe { &(*(::std::ptr::null::<rte_mp_reply>())).nb_received as *const _ as usize },
2679 4usize,
2680 concat!(
2681 "Offset of field: ",
2682 stringify!(rte_mp_reply),
2683 "::",
2684 stringify!(nb_received)
2685 )
2686 );
2687 assert_eq!(
2688 unsafe { &(*(::std::ptr::null::<rte_mp_reply>())).msgs as *const _ as usize },
2689 8usize,
2690 concat!(
2691 "Offset of field: ",
2692 stringify!(rte_mp_reply),
2693 "::",
2694 stringify!(msgs)
2695 )
2696 );
2697}
2698impl Default for rte_mp_reply {
2699 fn default() -> Self {
2700 unsafe { ::std::mem::zeroed() }
2701 }
2702}
2703pub type rte_mp_t = ::std::option::Option<
2704 unsafe extern "C" fn(
2705 msg: *const rte_mp_msg,
2706 peer: *const ::std::os::raw::c_void,
2707 ) -> ::std::os::raw::c_int,
2708>;
2709pub type rte_mp_async_reply_t = ::std::option::Option<
2710 unsafe extern "C" fn(
2711 request: *const rte_mp_msg,
2712 reply: *const rte_mp_reply,
2713 ) -> ::std::os::raw::c_int,
2714>;
2715extern "C" {
2716 pub fn rte_mp_action_register(
2717 name: *const ::std::os::raw::c_char,
2718 action: rte_mp_t,
2719 ) -> ::std::os::raw::c_int;
2720}
2721extern "C" {
2722 pub fn rte_mp_action_unregister(name: *const ::std::os::raw::c_char);
2723}
2724extern "C" {
2725 pub fn rte_mp_sendmsg(msg: *mut rte_mp_msg) -> ::std::os::raw::c_int;
2726}
2727extern "C" {
2728 pub fn rte_mp_request_sync(
2729 req: *mut rte_mp_msg,
2730 reply: *mut rte_mp_reply,
2731 ts: *const timespec,
2732 ) -> ::std::os::raw::c_int;
2733}
2734extern "C" {
2735 pub fn rte_mp_request_async(
2736 req: *mut rte_mp_msg,
2737 ts: *const timespec,
2738 clb: rte_mp_async_reply_t,
2739 ) -> ::std::os::raw::c_int;
2740}
2741extern "C" {
2742 pub fn rte_mp_reply(
2743 msg: *mut rte_mp_msg,
2744 peer: *const ::std::os::raw::c_char,
2745 ) -> ::std::os::raw::c_int;
2746}
2747pub type rte_usage_hook_t =
2748 ::std::option::Option<unsafe extern "C" fn(prgname: *const ::std::os::raw::c_char)>;
2749extern "C" {
2750 pub fn rte_set_application_usage_hook(usage_func: rte_usage_hook_t) -> rte_usage_hook_t;
2751}
2752extern "C" {
2753 pub fn rte_eal_has_hugepages() -> ::std::os::raw::c_int;
2754}
2755extern "C" {
2756 pub fn rte_eal_has_pci() -> ::std::os::raw::c_int;
2757}
2758extern "C" {
2759 pub fn rte_eal_create_uio_dev() -> ::std::os::raw::c_int;
2760}
2761extern "C" {
2762 pub fn rte_eal_vfio_intr_mode() -> rte_intr_mode::Type;
2763}
2764extern "C" {
2765 pub fn rte_sys_gettid() -> ::std::os::raw::c_int;
2766}
2767extern "C" {
2768 pub fn rte_eal_iova_mode() -> rte_iova_mode::Type;
2769}
2770extern "C" {
2771 pub fn rte_eal_mbuf_user_pool_ops() -> *const ::std::os::raw::c_char;
2772}
2773extern "C" {
2774 pub fn rte_eal_get_runtime_dir() -> *const ::std::os::raw::c_char;
2775}
2776extern "C" {
2777 pub fn rte_strerror(errnum: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
2778}
2779pub mod _bindgen_ty_12 {
2780 pub type Type = ::std::os::raw::c_uint;
2781 pub const RTE_MIN_ERRNO: Type = 1000;
2782 pub const E_RTE_SECONDARY: Type = 1001;
2783 pub const E_RTE_NO_CONFIG: Type = 1002;
2784 pub const RTE_MAX_ERRNO: Type = 1003;
2785}
2786pub type rte_intr_callback_fn =
2787 ::std::option::Option<unsafe extern "C" fn(cb_arg: *mut ::std::os::raw::c_void)>;
2788pub type rte_intr_unregister_callback_fn = ::std::option::Option<
2789 unsafe extern "C" fn(intr_handle: *mut rte_intr_handle, cb_arg: *mut ::std::os::raw::c_void),
2790>;
2791pub mod rte_intr_handle_type {
2792 pub type Type = ::std::os::raw::c_uint;
2793 pub const RTE_INTR_HANDLE_UNKNOWN: Type = 0;
2794 pub const RTE_INTR_HANDLE_UIO: Type = 1;
2795 pub const RTE_INTR_HANDLE_UIO_INTX: Type = 2;
2796 pub const RTE_INTR_HANDLE_VFIO_LEGACY: Type = 3;
2797 pub const RTE_INTR_HANDLE_VFIO_MSI: Type = 4;
2798 pub const RTE_INTR_HANDLE_VFIO_MSIX: Type = 5;
2799 pub const RTE_INTR_HANDLE_ALARM: Type = 6;
2800 pub const RTE_INTR_HANDLE_EXT: Type = 7;
2801 pub const RTE_INTR_HANDLE_VDEV: Type = 8;
2802 pub const RTE_INTR_HANDLE_DEV_EVENT: Type = 9;
2803 pub const RTE_INTR_HANDLE_VFIO_REQ: Type = 10;
2804 pub const RTE_INTR_HANDLE_MAX: Type = 11;
2805}
2806pub type rte_intr_event_cb_t = ::std::option::Option<
2807 unsafe extern "C" fn(fd: ::std::os::raw::c_int, arg: *mut ::std::os::raw::c_void),
2808>;
2809#[repr(C)]
2810#[derive(Debug, Copy, Clone, PartialEq)]
2811pub struct rte_epoll_data {
2812 pub event: u32,
2813 pub data: *mut ::std::os::raw::c_void,
2814 pub cb_fun: rte_intr_event_cb_t,
2815 pub cb_arg: *mut ::std::os::raw::c_void,
2816}
2817#[test]
2818fn bindgen_test_layout_rte_epoll_data() {
2819 assert_eq!(
2820 ::std::mem::size_of::<rte_epoll_data>(),
2821 32usize,
2822 concat!("Size of: ", stringify!(rte_epoll_data))
2823 );
2824 assert_eq!(
2825 ::std::mem::align_of::<rte_epoll_data>(),
2826 8usize,
2827 concat!("Alignment of ", stringify!(rte_epoll_data))
2828 );
2829 assert_eq!(
2830 unsafe { &(*(::std::ptr::null::<rte_epoll_data>())).event as *const _ as usize },
2831 0usize,
2832 concat!(
2833 "Offset of field: ",
2834 stringify!(rte_epoll_data),
2835 "::",
2836 stringify!(event)
2837 )
2838 );
2839 assert_eq!(
2840 unsafe { &(*(::std::ptr::null::<rte_epoll_data>())).data as *const _ as usize },
2841 8usize,
2842 concat!(
2843 "Offset of field: ",
2844 stringify!(rte_epoll_data),
2845 "::",
2846 stringify!(data)
2847 )
2848 );
2849 assert_eq!(
2850 unsafe { &(*(::std::ptr::null::<rte_epoll_data>())).cb_fun as *const _ as usize },
2851 16usize,
2852 concat!(
2853 "Offset of field: ",
2854 stringify!(rte_epoll_data),
2855 "::",
2856 stringify!(cb_fun)
2857 )
2858 );
2859 assert_eq!(
2860 unsafe { &(*(::std::ptr::null::<rte_epoll_data>())).cb_arg as *const _ as usize },
2861 24usize,
2862 concat!(
2863 "Offset of field: ",
2864 stringify!(rte_epoll_data),
2865 "::",
2866 stringify!(cb_arg)
2867 )
2868 );
2869}
2870impl Default for rte_epoll_data {
2871 fn default() -> Self {
2872 unsafe { ::std::mem::zeroed() }
2873 }
2874}
2875pub mod _bindgen_ty_13 {
2876 pub type Type = ::std::os::raw::c_uint;
2877 pub const RTE_EPOLL_INVALID: Type = 0;
2878 pub const RTE_EPOLL_VALID: Type = 1;
2879 pub const RTE_EPOLL_EXEC: Type = 2;
2880}
2881#[repr(C)]
2882#[derive(Debug, Copy, Clone, PartialEq)]
2883pub struct rte_epoll_event {
2884 pub status: u32,
2885 pub fd: ::std::os::raw::c_int,
2886 pub epfd: ::std::os::raw::c_int,
2887 pub epdata: rte_epoll_data,
2888}
2889#[test]
2890fn bindgen_test_layout_rte_epoll_event() {
2891 assert_eq!(
2892 ::std::mem::size_of::<rte_epoll_event>(),
2893 48usize,
2894 concat!("Size of: ", stringify!(rte_epoll_event))
2895 );
2896 assert_eq!(
2897 ::std::mem::align_of::<rte_epoll_event>(),
2898 8usize,
2899 concat!("Alignment of ", stringify!(rte_epoll_event))
2900 );
2901 assert_eq!(
2902 unsafe { &(*(::std::ptr::null::<rte_epoll_event>())).status as *const _ as usize },
2903 0usize,
2904 concat!(
2905 "Offset of field: ",
2906 stringify!(rte_epoll_event),
2907 "::",
2908 stringify!(status)
2909 )
2910 );
2911 assert_eq!(
2912 unsafe { &(*(::std::ptr::null::<rte_epoll_event>())).fd as *const _ as usize },
2913 4usize,
2914 concat!(
2915 "Offset of field: ",
2916 stringify!(rte_epoll_event),
2917 "::",
2918 stringify!(fd)
2919 )
2920 );
2921 assert_eq!(
2922 unsafe { &(*(::std::ptr::null::<rte_epoll_event>())).epfd as *const _ as usize },
2923 8usize,
2924 concat!(
2925 "Offset of field: ",
2926 stringify!(rte_epoll_event),
2927 "::",
2928 stringify!(epfd)
2929 )
2930 );
2931 assert_eq!(
2932 unsafe { &(*(::std::ptr::null::<rte_epoll_event>())).epdata as *const _ as usize },
2933 16usize,
2934 concat!(
2935 "Offset of field: ",
2936 stringify!(rte_epoll_event),
2937 "::",
2938 stringify!(epdata)
2939 )
2940 );
2941}
2942impl Default for rte_epoll_event {
2943 fn default() -> Self {
2944 unsafe { ::std::mem::zeroed() }
2945 }
2946}
2947#[repr(C)]
2948#[derive(Copy, Clone)]
2949pub struct rte_intr_handle {
2950 pub __bindgen_anon_1: rte_intr_handle__bindgen_ty_1,
2951 pub fd: ::std::os::raw::c_int,
2952 pub type_: rte_intr_handle_type::Type,
2953 pub max_intr: u32,
2954 pub nb_efd: u32,
2955 pub efd_counter_size: u8,
2956 pub efds: [::std::os::raw::c_int; 512usize],
2957 pub elist: [rte_epoll_event; 512usize],
2958 pub intr_vec: *mut ::std::os::raw::c_int,
2959}
2960#[repr(C)]
2961#[derive(Copy, Clone)]
2962pub union rte_intr_handle__bindgen_ty_1 {
2963 pub vfio_dev_fd: ::std::os::raw::c_int,
2964 pub uio_cfg_fd: ::std::os::raw::c_int,
2965 _bindgen_union_align: u32,
2966}
2967#[test]
2968fn bindgen_test_layout_rte_intr_handle__bindgen_ty_1() {
2969 assert_eq!(
2970 ::std::mem::size_of::<rte_intr_handle__bindgen_ty_1>(),
2971 4usize,
2972 concat!("Size of: ", stringify!(rte_intr_handle__bindgen_ty_1))
2973 );
2974 assert_eq!(
2975 ::std::mem::align_of::<rte_intr_handle__bindgen_ty_1>(),
2976 4usize,
2977 concat!("Alignment of ", stringify!(rte_intr_handle__bindgen_ty_1))
2978 );
2979 assert_eq!(
2980 unsafe {
2981 &(*(::std::ptr::null::<rte_intr_handle__bindgen_ty_1>())).vfio_dev_fd as *const _
2982 as usize
2983 },
2984 0usize,
2985 concat!(
2986 "Offset of field: ",
2987 stringify!(rte_intr_handle__bindgen_ty_1),
2988 "::",
2989 stringify!(vfio_dev_fd)
2990 )
2991 );
2992 assert_eq!(
2993 unsafe {
2994 &(*(::std::ptr::null::<rte_intr_handle__bindgen_ty_1>())).uio_cfg_fd as *const _
2995 as usize
2996 },
2997 0usize,
2998 concat!(
2999 "Offset of field: ",
3000 stringify!(rte_intr_handle__bindgen_ty_1),
3001 "::",
3002 stringify!(uio_cfg_fd)
3003 )
3004 );
3005}
3006impl Default for rte_intr_handle__bindgen_ty_1 {
3007 fn default() -> Self {
3008 unsafe { ::std::mem::zeroed() }
3009 }
3010}
3011#[test]
3012fn bindgen_test_layout_rte_intr_handle() {
3013 assert_eq!(
3014 ::std::mem::size_of::<rte_intr_handle>(),
3015 26656usize,
3016 concat!("Size of: ", stringify!(rte_intr_handle))
3017 );
3018 assert_eq!(
3019 ::std::mem::align_of::<rte_intr_handle>(),
3020 8usize,
3021 concat!("Alignment of ", stringify!(rte_intr_handle))
3022 );
3023 assert_eq!(
3024 unsafe { &(*(::std::ptr::null::<rte_intr_handle>())).fd as *const _ as usize },
3025 4usize,
3026 concat!(
3027 "Offset of field: ",
3028 stringify!(rte_intr_handle),
3029 "::",
3030 stringify!(fd)
3031 )
3032 );
3033 assert_eq!(
3034 unsafe { &(*(::std::ptr::null::<rte_intr_handle>())).type_ as *const _ as usize },
3035 8usize,
3036 concat!(
3037 "Offset of field: ",
3038 stringify!(rte_intr_handle),
3039 "::",
3040 stringify!(type_)
3041 )
3042 );
3043 assert_eq!(
3044 unsafe { &(*(::std::ptr::null::<rte_intr_handle>())).max_intr as *const _ as usize },
3045 12usize,
3046 concat!(
3047 "Offset of field: ",
3048 stringify!(rte_intr_handle),
3049 "::",
3050 stringify!(max_intr)
3051 )
3052 );
3053 assert_eq!(
3054 unsafe { &(*(::std::ptr::null::<rte_intr_handle>())).nb_efd as *const _ as usize },
3055 16usize,
3056 concat!(
3057 "Offset of field: ",
3058 stringify!(rte_intr_handle),
3059 "::",
3060 stringify!(nb_efd)
3061 )
3062 );
3063 assert_eq!(
3064 unsafe {
3065 &(*(::std::ptr::null::<rte_intr_handle>())).efd_counter_size as *const _ as usize
3066 },
3067 20usize,
3068 concat!(
3069 "Offset of field: ",
3070 stringify!(rte_intr_handle),
3071 "::",
3072 stringify!(efd_counter_size)
3073 )
3074 );
3075 assert_eq!(
3076 unsafe { &(*(::std::ptr::null::<rte_intr_handle>())).efds as *const _ as usize },
3077 24usize,
3078 concat!(
3079 "Offset of field: ",
3080 stringify!(rte_intr_handle),
3081 "::",
3082 stringify!(efds)
3083 )
3084 );
3085 assert_eq!(
3086 unsafe { &(*(::std::ptr::null::<rte_intr_handle>())).elist as *const _ as usize },
3087 2072usize,
3088 concat!(
3089 "Offset of field: ",
3090 stringify!(rte_intr_handle),
3091 "::",
3092 stringify!(elist)
3093 )
3094 );
3095 assert_eq!(
3096 unsafe { &(*(::std::ptr::null::<rte_intr_handle>())).intr_vec as *const _ as usize },
3097 26648usize,
3098 concat!(
3099 "Offset of field: ",
3100 stringify!(rte_intr_handle),
3101 "::",
3102 stringify!(intr_vec)
3103 )
3104 );
3105}
3106impl Default for rte_intr_handle {
3107 fn default() -> Self {
3108 unsafe { ::std::mem::zeroed() }
3109 }
3110}
3111extern "C" {
3112 pub fn rte_epoll_wait(
3113 epfd: ::std::os::raw::c_int,
3114 events: *mut rte_epoll_event,
3115 maxevents: ::std::os::raw::c_int,
3116 timeout: ::std::os::raw::c_int,
3117 ) -> ::std::os::raw::c_int;
3118}
3119extern "C" {
3120 pub fn rte_epoll_ctl(
3121 epfd: ::std::os::raw::c_int,
3122 op: ::std::os::raw::c_int,
3123 fd: ::std::os::raw::c_int,
3124 event: *mut rte_epoll_event,
3125 ) -> ::std::os::raw::c_int;
3126}
3127extern "C" {
3128 pub fn rte_intr_tls_epfd() -> ::std::os::raw::c_int;
3129}
3130extern "C" {
3131 pub fn rte_intr_rx_ctl(
3132 intr_handle: *mut rte_intr_handle,
3133 epfd: ::std::os::raw::c_int,
3134 op: ::std::os::raw::c_int,
3135 vec: ::std::os::raw::c_uint,
3136 data: *mut ::std::os::raw::c_void,
3137 ) -> ::std::os::raw::c_int;
3138}
3139extern "C" {
3140 pub fn rte_intr_free_epoll_fd(intr_handle: *mut rte_intr_handle);
3141}
3142extern "C" {
3143 pub fn rte_intr_efd_enable(
3144 intr_handle: *mut rte_intr_handle,
3145 nb_efd: u32,
3146 ) -> ::std::os::raw::c_int;
3147}
3148extern "C" {
3149 pub fn rte_intr_efd_disable(intr_handle: *mut rte_intr_handle);
3150}
3151extern "C" {
3152 pub fn rte_intr_dp_is_en(intr_handle: *mut rte_intr_handle) -> ::std::os::raw::c_int;
3153}
3154extern "C" {
3155 pub fn rte_intr_allow_others(intr_handle: *mut rte_intr_handle) -> ::std::os::raw::c_int;
3156}
3157extern "C" {
3158 pub fn rte_intr_cap_multiple(intr_handle: *mut rte_intr_handle) -> ::std::os::raw::c_int;
3159}
3160extern "C" {
3161 pub fn rte_intr_callback_register(
3162 intr_handle: *const rte_intr_handle,
3163 cb: rte_intr_callback_fn,
3164 cb_arg: *mut ::std::os::raw::c_void,
3165 ) -> ::std::os::raw::c_int;
3166}
3167extern "C" {
3168 pub fn rte_intr_callback_unregister(
3169 intr_handle: *const rte_intr_handle,
3170 cb: rte_intr_callback_fn,
3171 cb_arg: *mut ::std::os::raw::c_void,
3172 ) -> ::std::os::raw::c_int;
3173}
3174extern "C" {
3175 pub fn rte_intr_callback_unregister_pending(
3176 intr_handle: *const rte_intr_handle,
3177 cb_fn: rte_intr_callback_fn,
3178 cb_arg: *mut ::std::os::raw::c_void,
3179 ucb_fn: rte_intr_unregister_callback_fn,
3180 ) -> ::std::os::raw::c_int;
3181}
3182extern "C" {
3183 pub fn rte_intr_enable(intr_handle: *const rte_intr_handle) -> ::std::os::raw::c_int;
3184}
3185extern "C" {
3186 pub fn rte_intr_disable(intr_handle: *const rte_intr_handle) -> ::std::os::raw::c_int;
3187}
3188extern "C" {
3189 pub fn rte_intr_ack(intr_handle: *const rte_intr_handle) -> ::std::os::raw::c_int;
3190}
3191pub mod rte_devtype {
3192 pub type Type = ::std::os::raw::c_uint;
3193 pub const RTE_DEVTYPE_WHITELISTED_PCI: Type = 0;
3194 pub const RTE_DEVTYPE_BLACKLISTED_PCI: Type = 1;
3195 pub const RTE_DEVTYPE_VIRTUAL: Type = 2;
3196}
3197#[repr(C)]
3198#[derive(Copy, Clone)]
3199pub struct rte_devargs {
3200 pub next: rte_devargs__bindgen_ty_1,
3201 pub type_: rte_devtype::Type,
3202 pub policy: rte_dev_policy::Type,
3203 pub name: [::std::os::raw::c_char; 64usize],
3204 pub __bindgen_anon_1: rte_devargs__bindgen_ty_2,
3205 pub bus: *mut rte_bus,
3206 pub cls: *mut rte_class,
3207 pub bus_str: *const ::std::os::raw::c_char,
3208 pub cls_str: *const ::std::os::raw::c_char,
3209 pub data: *const ::std::os::raw::c_char,
3210}
3211#[repr(C)]
3212#[derive(Debug, Copy, Clone, PartialEq)]
3213pub struct rte_devargs__bindgen_ty_1 {
3214 pub tqe_next: *mut rte_devargs,
3215 pub tqe_prev: *mut *mut rte_devargs,
3216}
3217#[test]
3218fn bindgen_test_layout_rte_devargs__bindgen_ty_1() {
3219 assert_eq!(
3220 ::std::mem::size_of::<rte_devargs__bindgen_ty_1>(),
3221 16usize,
3222 concat!("Size of: ", stringify!(rte_devargs__bindgen_ty_1))
3223 );
3224 assert_eq!(
3225 ::std::mem::align_of::<rte_devargs__bindgen_ty_1>(),
3226 8usize,
3227 concat!("Alignment of ", stringify!(rte_devargs__bindgen_ty_1))
3228 );
3229 assert_eq!(
3230 unsafe {
3231 &(*(::std::ptr::null::<rte_devargs__bindgen_ty_1>())).tqe_next as *const _ as usize
3232 },
3233 0usize,
3234 concat!(
3235 "Offset of field: ",
3236 stringify!(rte_devargs__bindgen_ty_1),
3237 "::",
3238 stringify!(tqe_next)
3239 )
3240 );
3241 assert_eq!(
3242 unsafe {
3243 &(*(::std::ptr::null::<rte_devargs__bindgen_ty_1>())).tqe_prev as *const _ as usize
3244 },
3245 8usize,
3246 concat!(
3247 "Offset of field: ",
3248 stringify!(rte_devargs__bindgen_ty_1),
3249 "::",
3250 stringify!(tqe_prev)
3251 )
3252 );
3253}
3254impl Default for rte_devargs__bindgen_ty_1 {
3255 fn default() -> Self {
3256 unsafe { ::std::mem::zeroed() }
3257 }
3258}
3259#[repr(C)]
3260#[derive(Copy, Clone)]
3261pub union rte_devargs__bindgen_ty_2 {
3262 pub args: *mut ::std::os::raw::c_char,
3263 pub drv_str: *const ::std::os::raw::c_char,
3264 _bindgen_union_align: u64,
3265}
3266#[test]
3267fn bindgen_test_layout_rte_devargs__bindgen_ty_2() {
3268 assert_eq!(
3269 ::std::mem::size_of::<rte_devargs__bindgen_ty_2>(),
3270 8usize,
3271 concat!("Size of: ", stringify!(rte_devargs__bindgen_ty_2))
3272 );
3273 assert_eq!(
3274 ::std::mem::align_of::<rte_devargs__bindgen_ty_2>(),
3275 8usize,
3276 concat!("Alignment of ", stringify!(rte_devargs__bindgen_ty_2))
3277 );
3278 assert_eq!(
3279 unsafe { &(*(::std::ptr::null::<rte_devargs__bindgen_ty_2>())).args as *const _ as usize },
3280 0usize,
3281 concat!(
3282 "Offset of field: ",
3283 stringify!(rte_devargs__bindgen_ty_2),
3284 "::",
3285 stringify!(args)
3286 )
3287 );
3288 assert_eq!(
3289 unsafe {
3290 &(*(::std::ptr::null::<rte_devargs__bindgen_ty_2>())).drv_str as *const _ as usize
3291 },
3292 0usize,
3293 concat!(
3294 "Offset of field: ",
3295 stringify!(rte_devargs__bindgen_ty_2),
3296 "::",
3297 stringify!(drv_str)
3298 )
3299 );
3300}
3301impl Default for rte_devargs__bindgen_ty_2 {
3302 fn default() -> Self {
3303 unsafe { ::std::mem::zeroed() }
3304 }
3305}
3306#[test]
3307fn bindgen_test_layout_rte_devargs() {
3308 assert_eq!(
3309 ::std::mem::size_of::<rte_devargs>(),
3310 136usize,
3311 concat!("Size of: ", stringify!(rte_devargs))
3312 );
3313 assert_eq!(
3314 ::std::mem::align_of::<rte_devargs>(),
3315 8usize,
3316 concat!("Alignment of ", stringify!(rte_devargs))
3317 );
3318 assert_eq!(
3319 unsafe { &(*(::std::ptr::null::<rte_devargs>())).next as *const _ as usize },
3320 0usize,
3321 concat!(
3322 "Offset of field: ",
3323 stringify!(rte_devargs),
3324 "::",
3325 stringify!(next)
3326 )
3327 );
3328 assert_eq!(
3329 unsafe { &(*(::std::ptr::null::<rte_devargs>())).type_ as *const _ as usize },
3330 16usize,
3331 concat!(
3332 "Offset of field: ",
3333 stringify!(rte_devargs),
3334 "::",
3335 stringify!(type_)
3336 )
3337 );
3338 assert_eq!(
3339 unsafe { &(*(::std::ptr::null::<rte_devargs>())).policy as *const _ as usize },
3340 20usize,
3341 concat!(
3342 "Offset of field: ",
3343 stringify!(rte_devargs),
3344 "::",
3345 stringify!(policy)
3346 )
3347 );
3348 assert_eq!(
3349 unsafe { &(*(::std::ptr::null::<rte_devargs>())).name as *const _ as usize },
3350 24usize,
3351 concat!(
3352 "Offset of field: ",
3353 stringify!(rte_devargs),
3354 "::",
3355 stringify!(name)
3356 )
3357 );
3358 assert_eq!(
3359 unsafe { &(*(::std::ptr::null::<rte_devargs>())).bus as *const _ as usize },
3360 96usize,
3361 concat!(
3362 "Offset of field: ",
3363 stringify!(rte_devargs),
3364 "::",
3365 stringify!(bus)
3366 )
3367 );
3368 assert_eq!(
3369 unsafe { &(*(::std::ptr::null::<rte_devargs>())).cls as *const _ as usize },
3370 104usize,
3371 concat!(
3372 "Offset of field: ",
3373 stringify!(rte_devargs),
3374 "::",
3375 stringify!(cls)
3376 )
3377 );
3378 assert_eq!(
3379 unsafe { &(*(::std::ptr::null::<rte_devargs>())).bus_str as *const _ as usize },
3380 112usize,
3381 concat!(
3382 "Offset of field: ",
3383 stringify!(rte_devargs),
3384 "::",
3385 stringify!(bus_str)
3386 )
3387 );
3388 assert_eq!(
3389 unsafe { &(*(::std::ptr::null::<rte_devargs>())).cls_str as *const _ as usize },
3390 120usize,
3391 concat!(
3392 "Offset of field: ",
3393 stringify!(rte_devargs),
3394 "::",
3395 stringify!(cls_str)
3396 )
3397 );
3398 assert_eq!(
3399 unsafe { &(*(::std::ptr::null::<rte_devargs>())).data as *const _ as usize },
3400 128usize,
3401 concat!(
3402 "Offset of field: ",
3403 stringify!(rte_devargs),
3404 "::",
3405 stringify!(data)
3406 )
3407 );
3408}
3409impl Default for rte_devargs {
3410 fn default() -> Self {
3411 unsafe { ::std::mem::zeroed() }
3412 }
3413}
3414extern "C" {
3415 pub fn rte_devargs_parse(
3416 da: *mut rte_devargs,
3417 dev: *const ::std::os::raw::c_char,
3418 ) -> ::std::os::raw::c_int;
3419}
3420extern "C" {
3421 pub fn rte_devargs_parsef(
3422 da: *mut rte_devargs,
3423 format: *const ::std::os::raw::c_char,
3424 ...
3425 ) -> ::std::os::raw::c_int;
3426}
3427extern "C" {
3428 pub fn rte_devargs_insert(da: *mut *mut rte_devargs) -> ::std::os::raw::c_int;
3429}
3430extern "C" {
3431 pub fn rte_devargs_add(
3432 devtype: rte_devtype::Type,
3433 devargs_str: *const ::std::os::raw::c_char,
3434 ) -> ::std::os::raw::c_int;
3435}
3436extern "C" {
3437 pub fn rte_devargs_remove(devargs: *mut rte_devargs) -> ::std::os::raw::c_int;
3438}
3439extern "C" {
3440 pub fn rte_devargs_type_count(devtype: rte_devtype::Type) -> ::std::os::raw::c_uint;
3441}
3442extern "C" {
3443 pub fn rte_devargs_dump(f: *mut FILE);
3444}
3445extern "C" {
3446 pub fn rte_devargs_next(
3447 busname: *const ::std::os::raw::c_char,
3448 start: *const rte_devargs,
3449 ) -> *mut rte_devargs;
3450}
3451pub type rte_v64u8_t = [u8; 8usize];
3452pub type rte_v64u16_t = [u16; 4usize];
3453pub type rte_v64u32_t = [u32; 2usize];
3454pub type rte_v128u8_t = [u8; 16usize];
3455pub type rte_v128u16_t = [u16; 8usize];
3456pub type rte_v128u32_t = [u32; 4usize];
3457pub type rte_v128u64_t = [u64; 2usize];
3458pub type rte_v256u8_t = [u8; 32usize];
3459pub type rte_v256u16_t = [u16; 16usize];
3460pub type rte_v256u32_t = [u32; 8usize];
3461pub type rte_v256u64_t = [u64; 4usize];
3462pub type rte_v64s8_t = [i8; 8usize];
3463pub type rte_v64s16_t = [i16; 4usize];
3464pub type rte_v64s32_t = [i32; 2usize];
3465pub type rte_v128s8_t = [i8; 16usize];
3466pub type rte_v128s16_t = [i16; 8usize];
3467pub type rte_v128s32_t = [i32; 4usize];
3468pub type rte_v128s64_t = [i64; 2usize];
3469pub type rte_v256s8_t = [i8; 32usize];
3470pub type rte_v256s16_t = [i16; 16usize];
3471pub type rte_v256s32_t = [i32; 8usize];
3472pub type rte_v256s64_t = [i64; 4usize];
3473pub type __m128i = [::std::os::raw::c_longlong; 2usize];
3474pub type __m256i = [::std::os::raw::c_longlong; 4usize];
3475pub type xmm_t = __m128i;
3476#[repr(C)]
3477#[repr(align(16))]
3478#[derive(Copy, Clone)]
3479pub union rte_xmm {
3480 pub x: xmm_t,
3481 pub u8_: [u8; 16usize],
3482 pub u16_: [u16; 8usize],
3483 pub u32_: [u32; 4usize],
3484 pub u64_: [u64; 2usize],
3485 pub pd: [f64; 2usize],
3486 _bindgen_union_align: u128,
3487}
3488#[test]
3489fn bindgen_test_layout_rte_xmm() {
3490 assert_eq!(
3491 ::std::mem::size_of::<rte_xmm>(),
3492 16usize,
3493 concat!("Size of: ", stringify!(rte_xmm))
3494 );
3495 assert_eq!(
3496 ::std::mem::align_of::<rte_xmm>(),
3497 16usize,
3498 concat!("Alignment of ", stringify!(rte_xmm))
3499 );
3500 assert_eq!(
3501 unsafe { &(*(::std::ptr::null::<rte_xmm>())).x as *const _ as usize },
3502 0usize,
3503 concat!(
3504 "Offset of field: ",
3505 stringify!(rte_xmm),
3506 "::",
3507 stringify!(x)
3508 )
3509 );
3510 assert_eq!(
3511 unsafe { &(*(::std::ptr::null::<rte_xmm>())).u8_ as *const _ as usize },
3512 0usize,
3513 concat!(
3514 "Offset of field: ",
3515 stringify!(rte_xmm),
3516 "::",
3517 stringify!(u8_)
3518 )
3519 );
3520 assert_eq!(
3521 unsafe { &(*(::std::ptr::null::<rte_xmm>())).u16_ as *const _ as usize },
3522 0usize,
3523 concat!(
3524 "Offset of field: ",
3525 stringify!(rte_xmm),
3526 "::",
3527 stringify!(u16_)
3528 )
3529 );
3530 assert_eq!(
3531 unsafe { &(*(::std::ptr::null::<rte_xmm>())).u32_ as *const _ as usize },
3532 0usize,
3533 concat!(
3534 "Offset of field: ",
3535 stringify!(rte_xmm),
3536 "::",
3537 stringify!(u32_)
3538 )
3539 );
3540 assert_eq!(
3541 unsafe { &(*(::std::ptr::null::<rte_xmm>())).u64_ as *const _ as usize },
3542 0usize,
3543 concat!(
3544 "Offset of field: ",
3545 stringify!(rte_xmm),
3546 "::",
3547 stringify!(u64_)
3548 )
3549 );
3550 assert_eq!(
3551 unsafe { &(*(::std::ptr::null::<rte_xmm>())).pd as *const _ as usize },
3552 0usize,
3553 concat!(
3554 "Offset of field: ",
3555 stringify!(rte_xmm),
3556 "::",
3557 stringify!(pd)
3558 )
3559 );
3560}
3561impl Default for rte_xmm {
3562 fn default() -> Self {
3563 unsafe { ::std::mem::zeroed() }
3564 }
3565}
3566pub type rte_xmm_t = rte_xmm;
3567pub type ymm_t = __m256i;
3568#[repr(C)]
3569#[repr(align(32))]
3570#[derive(Copy, Clone)]
3571pub union rte_ymm {
3572 pub y: ymm_t,
3573 pub x: [xmm_t; 2usize],
3574 pub u8_: [u8; 32usize],
3575 pub u16_: [u16; 16usize],
3576 pub u32_: [u32; 8usize],
3577 pub u64_: [u64; 4usize],
3578 pub pd: [f64; 4usize],
3579 _bindgen_union_align: [u8; 32usize],
3580}
3581#[test]
3582fn bindgen_test_layout_rte_ymm() {
3583 assert_eq!(
3584 ::std::mem::size_of::<rte_ymm>(),
3585 32usize,
3586 concat!("Size of: ", stringify!(rte_ymm))
3587 );
3588 assert_eq!(
3589 ::std::mem::align_of::<rte_ymm>(),
3590 32usize,
3591 concat!("Alignment of ", stringify!(rte_ymm))
3592 );
3593 assert_eq!(
3594 unsafe { &(*(::std::ptr::null::<rte_ymm>())).y as *const _ as usize },
3595 0usize,
3596 concat!(
3597 "Offset of field: ",
3598 stringify!(rte_ymm),
3599 "::",
3600 stringify!(y)
3601 )
3602 );
3603 assert_eq!(
3604 unsafe { &(*(::std::ptr::null::<rte_ymm>())).x as *const _ as usize },
3605 0usize,
3606 concat!(
3607 "Offset of field: ",
3608 stringify!(rte_ymm),
3609 "::",
3610 stringify!(x)
3611 )
3612 );
3613 assert_eq!(
3614 unsafe { &(*(::std::ptr::null::<rte_ymm>())).u8_ as *const _ as usize },
3615 0usize,
3616 concat!(
3617 "Offset of field: ",
3618 stringify!(rte_ymm),
3619 "::",
3620 stringify!(u8_)
3621 )
3622 );
3623 assert_eq!(
3624 unsafe { &(*(::std::ptr::null::<rte_ymm>())).u16_ as *const _ as usize },
3625 0usize,
3626 concat!(
3627 "Offset of field: ",
3628 stringify!(rte_ymm),
3629 "::",
3630 stringify!(u16_)
3631 )
3632 );
3633 assert_eq!(
3634 unsafe { &(*(::std::ptr::null::<rte_ymm>())).u32_ as *const _ as usize },
3635 0usize,
3636 concat!(
3637 "Offset of field: ",
3638 stringify!(rte_ymm),
3639 "::",
3640 stringify!(u32_)
3641 )
3642 );
3643 assert_eq!(
3644 unsafe { &(*(::std::ptr::null::<rte_ymm>())).u64_ as *const _ as usize },
3645 0usize,
3646 concat!(
3647 "Offset of field: ",
3648 stringify!(rte_ymm),
3649 "::",
3650 stringify!(u64_)
3651 )
3652 );
3653 assert_eq!(
3654 unsafe { &(*(::std::ptr::null::<rte_ymm>())).pd as *const _ as usize },
3655 0usize,
3656 concat!(
3657 "Offset of field: ",
3658 stringify!(rte_ymm),
3659 "::",
3660 stringify!(pd)
3661 )
3662 );
3663}
3664impl Default for rte_ymm {
3665 fn default() -> Self {
3666 unsafe { ::std::mem::zeroed() }
3667 }
3668}
3669pub type rte_ymm_t = rte_ymm;
3670extern "C" {
3671 pub fn rte_srand(seedval: u64);
3672}
3673extern "C" {
3674 pub fn rte_rand() -> u64;
3675}
3676extern "C" {
3677 pub fn rte_rand_max(upper_bound: u64) -> u64;
3678}
3679pub mod rte_lcore_state_t {
3680 pub type Type = ::std::os::raw::c_uint;
3681 pub const WAIT: Type = 0;
3682 pub const RUNNING: Type = 1;
3683 pub const FINISHED: Type = 2;
3684}
3685pub type lcore_function_t = ::std::option::Option<
3686 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
3687>;
3688extern "C" {
3689 pub fn rte_eal_remote_launch(
3690 f: lcore_function_t,
3691 arg: *mut ::std::os::raw::c_void,
3692 slave_id: ::std::os::raw::c_uint,
3693 ) -> ::std::os::raw::c_int;
3694}
3695pub mod rte_rmt_call_master_t {
3696 pub type Type = ::std::os::raw::c_uint;
3697 pub const SKIP_MASTER: Type = 0;
3698 pub const CALL_MASTER: Type = 1;
3699}
3700extern "C" {
3701 pub fn rte_eal_mp_remote_launch(
3702 f: lcore_function_t,
3703 arg: *mut ::std::os::raw::c_void,
3704 call_master: rte_rmt_call_master_t::Type,
3705 ) -> ::std::os::raw::c_int;
3706}
3707extern "C" {
3708 pub fn rte_eal_get_lcore_state(slave_id: ::std::os::raw::c_uint) -> rte_lcore_state_t::Type;
3709}
3710extern "C" {
3711 pub fn rte_eal_wait_lcore(slave_id: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3712}
3713extern "C" {
3714 pub fn rte_eal_mp_wait_lcore();
3715}
3716extern "C" {
3717 pub fn rte_eal_lcore_role(lcore_id: ::std::os::raw::c_uint) -> rte_lcore_role_t::Type;
3718}
3719extern "C" {
3720 pub fn rte_get_master_lcore() -> ::std::os::raw::c_uint;
3721}
3722extern "C" {
3723 pub fn rte_lcore_count() -> ::std::os::raw::c_uint;
3724}
3725extern "C" {
3726 pub fn rte_lcore_index(lcore_id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3727}
3728extern "C" {
3729 pub fn rte_socket_id() -> ::std::os::raw::c_uint;
3730}
3731extern "C" {
3732 pub fn rte_socket_count() -> ::std::os::raw::c_uint;
3733}
3734extern "C" {
3735 pub fn rte_socket_id_by_idx(idx: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3736}
3737extern "C" {
3738 pub fn rte_lcore_to_socket_id(lcore_id: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
3739}
3740extern "C" {
3741 pub fn rte_lcore_to_cpu_id(lcore_id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3742}
3743extern "C" {
3744 pub fn rte_lcore_cpuset(lcore_id: ::std::os::raw::c_uint) -> rte_cpuset_t;
3745}
3746extern "C" {
3747 pub fn rte_lcore_is_enabled(lcore_id: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3748}
3749extern "C" {
3750 pub fn rte_get_next_lcore(
3751 i: ::std::os::raw::c_uint,
3752 skip_master: ::std::os::raw::c_int,
3753 wrap: ::std::os::raw::c_int,
3754 ) -> ::std::os::raw::c_uint;
3755}
3756extern "C" {
3757 pub fn rte_thread_set_affinity(cpusetp: *mut rte_cpuset_t) -> ::std::os::raw::c_int;
3758}
3759extern "C" {
3760 pub fn rte_thread_get_affinity(cpusetp: *mut rte_cpuset_t);
3761}
3762extern "C" {
3763 pub fn rte_thread_setname(
3764 id: pthread_t,
3765 name: *const ::std::os::raw::c_char,
3766 ) -> ::std::os::raw::c_int;
3767}
3768extern "C" {
3769 pub fn rte_ctrl_thread_create(
3770 thread: *mut pthread_t,
3771 name: *const ::std::os::raw::c_char,
3772 attr: *const pthread_attr_t,
3773 start_routine: ::std::option::Option<
3774 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
3775 >,
3776 arg: *mut ::std::os::raw::c_void,
3777 ) -> ::std::os::raw::c_int;
3778}
3779extern "C" {
3780 pub fn rte_lcore_has_role(
3781 lcore_id: ::std::os::raw::c_uint,
3782 role: rte_lcore_role_t::Type,
3783 ) -> ::std::os::raw::c_int;
3784}
3785#[repr(C)]
3786#[derive(Debug, Default, Copy, Clone, PartialEq)]
3787pub struct rte_spinlock_t {
3788 pub locked: ::std::os::raw::c_int,
3789}
3790#[test]
3791fn bindgen_test_layout_rte_spinlock_t() {
3792 assert_eq!(
3793 ::std::mem::size_of::<rte_spinlock_t>(),
3794 4usize,
3795 concat!("Size of: ", stringify!(rte_spinlock_t))
3796 );
3797 assert_eq!(
3798 ::std::mem::align_of::<rte_spinlock_t>(),
3799 4usize,
3800 concat!("Alignment of ", stringify!(rte_spinlock_t))
3801 );
3802 assert_eq!(
3803 unsafe { &(*(::std::ptr::null::<rte_spinlock_t>())).locked as *const _ as usize },
3804 0usize,
3805 concat!(
3806 "Offset of field: ",
3807 stringify!(rte_spinlock_t),
3808 "::",
3809 stringify!(locked)
3810 )
3811 );
3812}
3813#[repr(C)]
3814#[derive(Debug, Default, Copy, Clone, PartialEq)]
3815pub struct rte_spinlock_recursive_t {
3816 pub sl: rte_spinlock_t,
3817 pub user: ::std::os::raw::c_int,
3818 pub count: ::std::os::raw::c_int,
3819}
3820#[test]
3821fn bindgen_test_layout_rte_spinlock_recursive_t() {
3822 assert_eq!(
3823 ::std::mem::size_of::<rte_spinlock_recursive_t>(),
3824 12usize,
3825 concat!("Size of: ", stringify!(rte_spinlock_recursive_t))
3826 );
3827 assert_eq!(
3828 ::std::mem::align_of::<rte_spinlock_recursive_t>(),
3829 4usize,
3830 concat!("Alignment of ", stringify!(rte_spinlock_recursive_t))
3831 );
3832 assert_eq!(
3833 unsafe { &(*(::std::ptr::null::<rte_spinlock_recursive_t>())).sl as *const _ as usize },
3834 0usize,
3835 concat!(
3836 "Offset of field: ",
3837 stringify!(rte_spinlock_recursive_t),
3838 "::",
3839 stringify!(sl)
3840 )
3841 );
3842 assert_eq!(
3843 unsafe { &(*(::std::ptr::null::<rte_spinlock_recursive_t>())).user as *const _ as usize },
3844 4usize,
3845 concat!(
3846 "Offset of field: ",
3847 stringify!(rte_spinlock_recursive_t),
3848 "::",
3849 stringify!(user)
3850 )
3851 );
3852 assert_eq!(
3853 unsafe { &(*(::std::ptr::null::<rte_spinlock_recursive_t>())).count as *const _ as usize },
3854 8usize,
3855 concat!(
3856 "Offset of field: ",
3857 stringify!(rte_spinlock_recursive_t),
3858 "::",
3859 stringify!(count)
3860 )
3861 );
3862}
3863pub mod rte_cpu_flag_t {
3864 pub type Type = ::std::os::raw::c_uint;
3865 pub const RTE_CPUFLAG_SSE3: Type = 0;
3866 pub const RTE_CPUFLAG_PCLMULQDQ: Type = 1;
3867 pub const RTE_CPUFLAG_DTES64: Type = 2;
3868 pub const RTE_CPUFLAG_MONITOR: Type = 3;
3869 pub const RTE_CPUFLAG_DS_CPL: Type = 4;
3870 pub const RTE_CPUFLAG_VMX: Type = 5;
3871 pub const RTE_CPUFLAG_SMX: Type = 6;
3872 pub const RTE_CPUFLAG_EIST: Type = 7;
3873 pub const RTE_CPUFLAG_TM2: Type = 8;
3874 pub const RTE_CPUFLAG_SSSE3: Type = 9;
3875 pub const RTE_CPUFLAG_CNXT_ID: Type = 10;
3876 pub const RTE_CPUFLAG_FMA: Type = 11;
3877 pub const RTE_CPUFLAG_CMPXCHG16B: Type = 12;
3878 pub const RTE_CPUFLAG_XTPR: Type = 13;
3879 pub const RTE_CPUFLAG_PDCM: Type = 14;
3880 pub const RTE_CPUFLAG_PCID: Type = 15;
3881 pub const RTE_CPUFLAG_DCA: Type = 16;
3882 pub const RTE_CPUFLAG_SSE4_1: Type = 17;
3883 pub const RTE_CPUFLAG_SSE4_2: Type = 18;
3884 pub const RTE_CPUFLAG_X2APIC: Type = 19;
3885 pub const RTE_CPUFLAG_MOVBE: Type = 20;
3886 pub const RTE_CPUFLAG_POPCNT: Type = 21;
3887 pub const RTE_CPUFLAG_TSC_DEADLINE: Type = 22;
3888 pub const RTE_CPUFLAG_AES: Type = 23;
3889 pub const RTE_CPUFLAG_XSAVE: Type = 24;
3890 pub const RTE_CPUFLAG_OSXSAVE: Type = 25;
3891 pub const RTE_CPUFLAG_AVX: Type = 26;
3892 pub const RTE_CPUFLAG_F16C: Type = 27;
3893 pub const RTE_CPUFLAG_RDRAND: Type = 28;
3894 pub const RTE_CPUFLAG_HYPERVISOR: Type = 29;
3895 pub const RTE_CPUFLAG_FPU: Type = 30;
3896 pub const RTE_CPUFLAG_VME: Type = 31;
3897 pub const RTE_CPUFLAG_DE: Type = 32;
3898 pub const RTE_CPUFLAG_PSE: Type = 33;
3899 pub const RTE_CPUFLAG_TSC: Type = 34;
3900 pub const RTE_CPUFLAG_MSR: Type = 35;
3901 pub const RTE_CPUFLAG_PAE: Type = 36;
3902 pub const RTE_CPUFLAG_MCE: Type = 37;
3903 pub const RTE_CPUFLAG_CX8: Type = 38;
3904 pub const RTE_CPUFLAG_APIC: Type = 39;
3905 pub const RTE_CPUFLAG_SEP: Type = 40;
3906 pub const RTE_CPUFLAG_MTRR: Type = 41;
3907 pub const RTE_CPUFLAG_PGE: Type = 42;
3908 pub const RTE_CPUFLAG_MCA: Type = 43;
3909 pub const RTE_CPUFLAG_CMOV: Type = 44;
3910 pub const RTE_CPUFLAG_PAT: Type = 45;
3911 pub const RTE_CPUFLAG_PSE36: Type = 46;
3912 pub const RTE_CPUFLAG_PSN: Type = 47;
3913 pub const RTE_CPUFLAG_CLFSH: Type = 48;
3914 pub const RTE_CPUFLAG_DS: Type = 49;
3915 pub const RTE_CPUFLAG_ACPI: Type = 50;
3916 pub const RTE_CPUFLAG_MMX: Type = 51;
3917 pub const RTE_CPUFLAG_FXSR: Type = 52;
3918 pub const RTE_CPUFLAG_SSE: Type = 53;
3919 pub const RTE_CPUFLAG_SSE2: Type = 54;
3920 pub const RTE_CPUFLAG_SS: Type = 55;
3921 pub const RTE_CPUFLAG_HTT: Type = 56;
3922 pub const RTE_CPUFLAG_TM: Type = 57;
3923 pub const RTE_CPUFLAG_PBE: Type = 58;
3924 pub const RTE_CPUFLAG_DIGTEMP: Type = 59;
3925 pub const RTE_CPUFLAG_TRBOBST: Type = 60;
3926 pub const RTE_CPUFLAG_ARAT: Type = 61;
3927 pub const RTE_CPUFLAG_PLN: Type = 62;
3928 pub const RTE_CPUFLAG_ECMD: Type = 63;
3929 pub const RTE_CPUFLAG_PTM: Type = 64;
3930 pub const RTE_CPUFLAG_MPERF_APERF_MSR: Type = 65;
3931 pub const RTE_CPUFLAG_ACNT2: Type = 66;
3932 pub const RTE_CPUFLAG_ENERGY_EFF: Type = 67;
3933 pub const RTE_CPUFLAG_FSGSBASE: Type = 68;
3934 pub const RTE_CPUFLAG_BMI1: Type = 69;
3935 pub const RTE_CPUFLAG_HLE: Type = 70;
3936 pub const RTE_CPUFLAG_AVX2: Type = 71;
3937 pub const RTE_CPUFLAG_SMEP: Type = 72;
3938 pub const RTE_CPUFLAG_BMI2: Type = 73;
3939 pub const RTE_CPUFLAG_ERMS: Type = 74;
3940 pub const RTE_CPUFLAG_INVPCID: Type = 75;
3941 pub const RTE_CPUFLAG_RTM: Type = 76;
3942 pub const RTE_CPUFLAG_AVX512F: Type = 77;
3943 pub const RTE_CPUFLAG_RDSEED: Type = 78;
3944 pub const RTE_CPUFLAG_LAHF_SAHF: Type = 79;
3945 pub const RTE_CPUFLAG_LZCNT: Type = 80;
3946 pub const RTE_CPUFLAG_SYSCALL: Type = 81;
3947 pub const RTE_CPUFLAG_XD: Type = 82;
3948 pub const RTE_CPUFLAG_1GB_PG: Type = 83;
3949 pub const RTE_CPUFLAG_RDTSCP: Type = 84;
3950 pub const RTE_CPUFLAG_EM64T: Type = 85;
3951 pub const RTE_CPUFLAG_INVTSC: Type = 86;
3952 pub const RTE_CPUFLAG_NUMFLAGS: Type = 87;
3953}
3954extern "C" {
3955 pub fn rte_cpu_get_flag_name(feature: rte_cpu_flag_t::Type) -> *const ::std::os::raw::c_char;
3956}
3957extern "C" {
3958 pub fn rte_cpu_get_flag_enabled(feature: rte_cpu_flag_t::Type) -> ::std::os::raw::c_int;
3959}
3960extern "C" {
3961 pub fn rte_cpu_is_supported() -> ::std::os::raw::c_int;
3962}
3963extern "C" {
3964 pub fn rte_cpu_getauxval(type_: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulong;
3965}
3966extern "C" {
3967 pub fn rte_cpu_strcmp_auxval(
3968 type_: ::std::os::raw::c_ulong,
3969 str_: *const ::std::os::raw::c_char,
3970 ) -> ::std::os::raw::c_int;
3971}
3972extern "C" {
3973 pub fn rte_dump_stack();
3974}
3975extern "C" {
3976 pub fn rte_dump_registers();
3977}
3978#[repr(C)]
3979#[derive(Debug, Default, Copy, Clone, PartialEq)]
3980pub struct rte_atomic16_t {
3981 pub cnt: i16,
3982}
3983#[test]
3984fn bindgen_test_layout_rte_atomic16_t() {
3985 assert_eq!(
3986 ::std::mem::size_of::<rte_atomic16_t>(),
3987 2usize,
3988 concat!("Size of: ", stringify!(rte_atomic16_t))
3989 );
3990 assert_eq!(
3991 ::std::mem::align_of::<rte_atomic16_t>(),
3992 2usize,
3993 concat!("Alignment of ", stringify!(rte_atomic16_t))
3994 );
3995 assert_eq!(
3996 unsafe { &(*(::std::ptr::null::<rte_atomic16_t>())).cnt as *const _ as usize },
3997 0usize,
3998 concat!(
3999 "Offset of field: ",
4000 stringify!(rte_atomic16_t),
4001 "::",
4002 stringify!(cnt)
4003 )
4004 );
4005}
4006#[repr(C)]
4007#[derive(Debug, Default, Copy, Clone, PartialEq)]
4008pub struct rte_atomic32_t {
4009 pub cnt: i32,
4010}
4011#[test]
4012fn bindgen_test_layout_rte_atomic32_t() {
4013 assert_eq!(
4014 ::std::mem::size_of::<rte_atomic32_t>(),
4015 4usize,
4016 concat!("Size of: ", stringify!(rte_atomic32_t))
4017 );
4018 assert_eq!(
4019 ::std::mem::align_of::<rte_atomic32_t>(),
4020 4usize,
4021 concat!("Alignment of ", stringify!(rte_atomic32_t))
4022 );
4023 assert_eq!(
4024 unsafe { &(*(::std::ptr::null::<rte_atomic32_t>())).cnt as *const _ as usize },
4025 0usize,
4026 concat!(
4027 "Offset of field: ",
4028 stringify!(rte_atomic32_t),
4029 "::",
4030 stringify!(cnt)
4031 )
4032 );
4033}
4034#[repr(C)]
4035#[derive(Debug, Default, Copy, Clone, PartialEq)]
4036pub struct rte_atomic64_t {
4037 pub cnt: i64,
4038}
4039#[test]
4040fn bindgen_test_layout_rte_atomic64_t() {
4041 assert_eq!(
4042 ::std::mem::size_of::<rte_atomic64_t>(),
4043 8usize,
4044 concat!("Size of: ", stringify!(rte_atomic64_t))
4045 );
4046 assert_eq!(
4047 ::std::mem::align_of::<rte_atomic64_t>(),
4048 8usize,
4049 concat!("Alignment of ", stringify!(rte_atomic64_t))
4050 );
4051 assert_eq!(
4052 unsafe { &(*(::std::ptr::null::<rte_atomic64_t>())).cnt as *const _ as usize },
4053 0usize,
4054 concat!(
4055 "Offset of field: ",
4056 stringify!(rte_atomic64_t),
4057 "::",
4058 stringify!(cnt)
4059 )
4060 );
4061}
4062#[repr(C)]
4063#[repr(align(16))]
4064#[derive(Copy, Clone)]
4065pub struct rte_int128_t {
4066 pub __bindgen_anon_1: rte_int128_t__bindgen_ty_1,
4067}
4068#[repr(C)]
4069#[repr(align(16))]
4070#[derive(Copy, Clone)]
4071pub union rte_int128_t__bindgen_ty_1 {
4072 pub val: [u64; 2usize],
4073 pub int128: i128,
4074 _bindgen_union_align: u128,
4075}
4076#[test]
4077fn bindgen_test_layout_rte_int128_t__bindgen_ty_1() {
4078 assert_eq!(
4079 ::std::mem::size_of::<rte_int128_t__bindgen_ty_1>(),
4080 16usize,
4081 concat!("Size of: ", stringify!(rte_int128_t__bindgen_ty_1))
4082 );
4083 assert_eq!(
4084 ::std::mem::align_of::<rte_int128_t__bindgen_ty_1>(),
4085 16usize,
4086 concat!("Alignment of ", stringify!(rte_int128_t__bindgen_ty_1))
4087 );
4088 assert_eq!(
4089 unsafe { &(*(::std::ptr::null::<rte_int128_t__bindgen_ty_1>())).val as *const _ as usize },
4090 0usize,
4091 concat!(
4092 "Offset of field: ",
4093 stringify!(rte_int128_t__bindgen_ty_1),
4094 "::",
4095 stringify!(val)
4096 )
4097 );
4098 assert_eq!(
4099 unsafe {
4100 &(*(::std::ptr::null::<rte_int128_t__bindgen_ty_1>())).int128 as *const _ as usize
4101 },
4102 0usize,
4103 concat!(
4104 "Offset of field: ",
4105 stringify!(rte_int128_t__bindgen_ty_1),
4106 "::",
4107 stringify!(int128)
4108 )
4109 );
4110}
4111impl Default for rte_int128_t__bindgen_ty_1 {
4112 fn default() -> Self {
4113 unsafe { ::std::mem::zeroed() }
4114 }
4115}
4116#[test]
4117fn bindgen_test_layout_rte_int128_t() {
4118 assert_eq!(
4119 ::std::mem::size_of::<rte_int128_t>(),
4120 16usize,
4121 concat!("Size of: ", stringify!(rte_int128_t))
4122 );
4123 assert_eq!(
4124 ::std::mem::align_of::<rte_int128_t>(),
4125 16usize,
4126 concat!("Alignment of ", stringify!(rte_int128_t))
4127 );
4128}
4129impl Default for rte_int128_t {
4130 fn default() -> Self {
4131 unsafe { ::std::mem::zeroed() }
4132 }
4133}
4134extern "C" {
4135 pub fn rte_get_tsc_hz() -> u64;
4136}
4137extern "C" {
4138 pub static mut rte_delay_us:
4139 ::std::option::Option<unsafe extern "C" fn(us: ::std::os::raw::c_uint)>;
4140}
4141extern "C" {
4142 pub fn rte_delay_us_block(us: ::std::os::raw::c_uint);
4143}
4144extern "C" {
4145 pub fn rte_delay_us_sleep(us: ::std::os::raw::c_uint);
4146}
4147extern "C" {
4148 pub fn rte_delay_us_callback_register(
4149 userfunc: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_uint)>,
4150 );
4151}
4152extern "C" {
4153 pub static mut rte_rtm_supported: u8;
4154}
4155#[repr(C)]
4156#[derive(Debug, Default, Copy, Clone, PartialEq)]
4157pub struct rte_rwlock_t {
4158 pub cnt: i32,
4159}
4160#[test]
4161fn bindgen_test_layout_rte_rwlock_t() {
4162 assert_eq!(
4163 ::std::mem::size_of::<rte_rwlock_t>(),
4164 4usize,
4165 concat!("Size of: ", stringify!(rte_rwlock_t))
4166 );
4167 assert_eq!(
4168 ::std::mem::align_of::<rte_rwlock_t>(),
4169 4usize,
4170 concat!("Alignment of ", stringify!(rte_rwlock_t))
4171 );
4172 assert_eq!(
4173 unsafe { &(*(::std::ptr::null::<rte_rwlock_t>())).cnt as *const _ as usize },
4174 0usize,
4175 concat!(
4176 "Offset of field: ",
4177 stringify!(rte_rwlock_t),
4178 "::",
4179 stringify!(cnt)
4180 )
4181 );
4182}
4183#[repr(C)]
4184#[derive(Copy, Clone)]
4185pub struct rte_fbarray {
4186 pub name: [::std::os::raw::c_char; 64usize],
4187 pub count: ::std::os::raw::c_uint,
4188 pub len: ::std::os::raw::c_uint,
4189 pub elt_sz: ::std::os::raw::c_uint,
4190 pub data: *mut ::std::os::raw::c_void,
4191 pub rwlock: rte_rwlock_t,
4192}
4193#[test]
4194fn bindgen_test_layout_rte_fbarray() {
4195 assert_eq!(
4196 ::std::mem::size_of::<rte_fbarray>(),
4197 96usize,
4198 concat!("Size of: ", stringify!(rte_fbarray))
4199 );
4200 assert_eq!(
4201 ::std::mem::align_of::<rte_fbarray>(),
4202 8usize,
4203 concat!("Alignment of ", stringify!(rte_fbarray))
4204 );
4205 assert_eq!(
4206 unsafe { &(*(::std::ptr::null::<rte_fbarray>())).name as *const _ as usize },
4207 0usize,
4208 concat!(
4209 "Offset of field: ",
4210 stringify!(rte_fbarray),
4211 "::",
4212 stringify!(name)
4213 )
4214 );
4215 assert_eq!(
4216 unsafe { &(*(::std::ptr::null::<rte_fbarray>())).count as *const _ as usize },
4217 64usize,
4218 concat!(
4219 "Offset of field: ",
4220 stringify!(rte_fbarray),
4221 "::",
4222 stringify!(count)
4223 )
4224 );
4225 assert_eq!(
4226 unsafe { &(*(::std::ptr::null::<rte_fbarray>())).len as *const _ as usize },
4227 68usize,
4228 concat!(
4229 "Offset of field: ",
4230 stringify!(rte_fbarray),
4231 "::",
4232 stringify!(len)
4233 )
4234 );
4235 assert_eq!(
4236 unsafe { &(*(::std::ptr::null::<rte_fbarray>())).elt_sz as *const _ as usize },
4237 72usize,
4238 concat!(
4239 "Offset of field: ",
4240 stringify!(rte_fbarray),
4241 "::",
4242 stringify!(elt_sz)
4243 )
4244 );
4245 assert_eq!(
4246 unsafe { &(*(::std::ptr::null::<rte_fbarray>())).data as *const _ as usize },
4247 80usize,
4248 concat!(
4249 "Offset of field: ",
4250 stringify!(rte_fbarray),
4251 "::",
4252 stringify!(data)
4253 )
4254 );
4255 assert_eq!(
4256 unsafe { &(*(::std::ptr::null::<rte_fbarray>())).rwlock as *const _ as usize },
4257 88usize,
4258 concat!(
4259 "Offset of field: ",
4260 stringify!(rte_fbarray),
4261 "::",
4262 stringify!(rwlock)
4263 )
4264 );
4265}
4266impl Default for rte_fbarray {
4267 fn default() -> Self {
4268 unsafe { ::std::mem::zeroed() }
4269 }
4270}
4271extern "C" {
4272 pub fn rte_fbarray_init(
4273 arr: *mut rte_fbarray,
4274 name: *const ::std::os::raw::c_char,
4275 len: ::std::os::raw::c_uint,
4276 elt_sz: ::std::os::raw::c_uint,
4277 ) -> ::std::os::raw::c_int;
4278}
4279extern "C" {
4280 pub fn rte_fbarray_attach(arr: *mut rte_fbarray) -> ::std::os::raw::c_int;
4281}
4282extern "C" {
4283 pub fn rte_fbarray_destroy(arr: *mut rte_fbarray) -> ::std::os::raw::c_int;
4284}
4285extern "C" {
4286 pub fn rte_fbarray_detach(arr: *mut rte_fbarray) -> ::std::os::raw::c_int;
4287}
4288extern "C" {
4289 pub fn rte_fbarray_get(
4290 arr: *const rte_fbarray,
4291 idx: ::std::os::raw::c_uint,
4292 ) -> *mut ::std::os::raw::c_void;
4293}
4294extern "C" {
4295 pub fn rte_fbarray_find_idx(
4296 arr: *const rte_fbarray,
4297 elt: *const ::std::os::raw::c_void,
4298 ) -> ::std::os::raw::c_int;
4299}
4300extern "C" {
4301 pub fn rte_fbarray_set_used(
4302 arr: *mut rte_fbarray,
4303 idx: ::std::os::raw::c_uint,
4304 ) -> ::std::os::raw::c_int;
4305}
4306extern "C" {
4307 pub fn rte_fbarray_set_free(
4308 arr: *mut rte_fbarray,
4309 idx: ::std::os::raw::c_uint,
4310 ) -> ::std::os::raw::c_int;
4311}
4312extern "C" {
4313 pub fn rte_fbarray_is_used(
4314 arr: *mut rte_fbarray,
4315 idx: ::std::os::raw::c_uint,
4316 ) -> ::std::os::raw::c_int;
4317}
4318extern "C" {
4319 pub fn rte_fbarray_find_next_free(
4320 arr: *mut rte_fbarray,
4321 start: ::std::os::raw::c_uint,
4322 ) -> ::std::os::raw::c_int;
4323}
4324extern "C" {
4325 pub fn rte_fbarray_find_next_used(
4326 arr: *mut rte_fbarray,
4327 start: ::std::os::raw::c_uint,
4328 ) -> ::std::os::raw::c_int;
4329}
4330extern "C" {
4331 pub fn rte_fbarray_find_next_n_free(
4332 arr: *mut rte_fbarray,
4333 start: ::std::os::raw::c_uint,
4334 n: ::std::os::raw::c_uint,
4335 ) -> ::std::os::raw::c_int;
4336}
4337extern "C" {
4338 pub fn rte_fbarray_find_next_n_used(
4339 arr: *mut rte_fbarray,
4340 start: ::std::os::raw::c_uint,
4341 n: ::std::os::raw::c_uint,
4342 ) -> ::std::os::raw::c_int;
4343}
4344extern "C" {
4345 pub fn rte_fbarray_find_contig_free(
4346 arr: *mut rte_fbarray,
4347 start: ::std::os::raw::c_uint,
4348 ) -> ::std::os::raw::c_int;
4349}
4350extern "C" {
4351 pub fn rte_fbarray_find_contig_used(
4352 arr: *mut rte_fbarray,
4353 start: ::std::os::raw::c_uint,
4354 ) -> ::std::os::raw::c_int;
4355}
4356extern "C" {
4357 pub fn rte_fbarray_find_prev_free(
4358 arr: *mut rte_fbarray,
4359 start: ::std::os::raw::c_uint,
4360 ) -> ::std::os::raw::c_int;
4361}
4362extern "C" {
4363 pub fn rte_fbarray_find_prev_used(
4364 arr: *mut rte_fbarray,
4365 start: ::std::os::raw::c_uint,
4366 ) -> ::std::os::raw::c_int;
4367}
4368extern "C" {
4369 pub fn rte_fbarray_find_prev_n_free(
4370 arr: *mut rte_fbarray,
4371 start: ::std::os::raw::c_uint,
4372 n: ::std::os::raw::c_uint,
4373 ) -> ::std::os::raw::c_int;
4374}
4375extern "C" {
4376 pub fn rte_fbarray_find_prev_n_used(
4377 arr: *mut rte_fbarray,
4378 start: ::std::os::raw::c_uint,
4379 n: ::std::os::raw::c_uint,
4380 ) -> ::std::os::raw::c_int;
4381}
4382extern "C" {
4383 pub fn rte_fbarray_find_rev_contig_free(
4384 arr: *mut rte_fbarray,
4385 start: ::std::os::raw::c_uint,
4386 ) -> ::std::os::raw::c_int;
4387}
4388extern "C" {
4389 pub fn rte_fbarray_find_rev_contig_used(
4390 arr: *mut rte_fbarray,
4391 start: ::std::os::raw::c_uint,
4392 ) -> ::std::os::raw::c_int;
4393}
4394extern "C" {
4395 pub fn rte_fbarray_find_biggest_free(
4396 arr: *mut rte_fbarray,
4397 start: ::std::os::raw::c_uint,
4398 ) -> ::std::os::raw::c_int;
4399}
4400extern "C" {
4401 pub fn rte_fbarray_find_biggest_used(
4402 arr: *mut rte_fbarray,
4403 start: ::std::os::raw::c_uint,
4404 ) -> ::std::os::raw::c_int;
4405}
4406extern "C" {
4407 pub fn rte_fbarray_find_rev_biggest_free(
4408 arr: *mut rte_fbarray,
4409 start: ::std::os::raw::c_uint,
4410 ) -> ::std::os::raw::c_int;
4411}
4412extern "C" {
4413 pub fn rte_fbarray_find_rev_biggest_used(
4414 arr: *mut rte_fbarray,
4415 start: ::std::os::raw::c_uint,
4416 ) -> ::std::os::raw::c_int;
4417}
4418extern "C" {
4419 pub fn rte_fbarray_dump_metadata(arr: *mut rte_fbarray, f: *mut FILE);
4420}
4421pub mod rte_page_sizes {
4422 pub type Type = ::std::os::raw::c_ulong;
4423 pub const RTE_PGSIZE_4K: Type = 4096;
4424 pub const RTE_PGSIZE_64K: Type = 65536;
4425 pub const RTE_PGSIZE_256K: Type = 262144;
4426 pub const RTE_PGSIZE_2M: Type = 2097152;
4427 pub const RTE_PGSIZE_16M: Type = 16777216;
4428 pub const RTE_PGSIZE_256M: Type = 268435456;
4429 pub const RTE_PGSIZE_512M: Type = 536870912;
4430 pub const RTE_PGSIZE_1G: Type = 1073741824;
4431 pub const RTE_PGSIZE_4G: Type = 4294967296;
4432 pub const RTE_PGSIZE_16G: Type = 17179869184;
4433}
4434#[repr(C, packed)]
4435#[derive(Copy, Clone)]
4436pub struct rte_memseg {
4437 pub __bindgen_anon_1: rte_memseg__bindgen_ty_1,
4438 pub __bindgen_anon_2: rte_memseg__bindgen_ty_2,
4439 pub len: size_t,
4440 pub hugepage_sz: u64,
4441 pub socket_id: i32,
4442 pub nchannel: u32,
4443 pub nrank: u32,
4444 pub flags: u32,
4445}
4446#[repr(C)]
4447#[derive(Copy, Clone)]
4448pub union rte_memseg__bindgen_ty_1 {
4449 pub phys_addr: phys_addr_t,
4450 pub iova: rte_iova_t,
4451 _bindgen_union_align: u64,
4452}
4453#[test]
4454fn bindgen_test_layout_rte_memseg__bindgen_ty_1() {
4455 assert_eq!(
4456 ::std::mem::size_of::<rte_memseg__bindgen_ty_1>(),
4457 8usize,
4458 concat!("Size of: ", stringify!(rte_memseg__bindgen_ty_1))
4459 );
4460 assert_eq!(
4461 ::std::mem::align_of::<rte_memseg__bindgen_ty_1>(),
4462 8usize,
4463 concat!("Alignment of ", stringify!(rte_memseg__bindgen_ty_1))
4464 );
4465 assert_eq!(
4466 unsafe {
4467 &(*(::std::ptr::null::<rte_memseg__bindgen_ty_1>())).phys_addr as *const _ as usize
4468 },
4469 0usize,
4470 concat!(
4471 "Offset of field: ",
4472 stringify!(rte_memseg__bindgen_ty_1),
4473 "::",
4474 stringify!(phys_addr)
4475 )
4476 );
4477 assert_eq!(
4478 unsafe { &(*(::std::ptr::null::<rte_memseg__bindgen_ty_1>())).iova as *const _ as usize },
4479 0usize,
4480 concat!(
4481 "Offset of field: ",
4482 stringify!(rte_memseg__bindgen_ty_1),
4483 "::",
4484 stringify!(iova)
4485 )
4486 );
4487}
4488impl Default for rte_memseg__bindgen_ty_1 {
4489 fn default() -> Self {
4490 unsafe { ::std::mem::zeroed() }
4491 }
4492}
4493#[repr(C)]
4494#[derive(Copy, Clone)]
4495pub union rte_memseg__bindgen_ty_2 {
4496 pub addr: *mut ::std::os::raw::c_void,
4497 pub addr_64: u64,
4498 _bindgen_union_align: u64,
4499}
4500#[test]
4501fn bindgen_test_layout_rte_memseg__bindgen_ty_2() {
4502 assert_eq!(
4503 ::std::mem::size_of::<rte_memseg__bindgen_ty_2>(),
4504 8usize,
4505 concat!("Size of: ", stringify!(rte_memseg__bindgen_ty_2))
4506 );
4507 assert_eq!(
4508 ::std::mem::align_of::<rte_memseg__bindgen_ty_2>(),
4509 8usize,
4510 concat!("Alignment of ", stringify!(rte_memseg__bindgen_ty_2))
4511 );
4512 assert_eq!(
4513 unsafe { &(*(::std::ptr::null::<rte_memseg__bindgen_ty_2>())).addr as *const _ as usize },
4514 0usize,
4515 concat!(
4516 "Offset of field: ",
4517 stringify!(rte_memseg__bindgen_ty_2),
4518 "::",
4519 stringify!(addr)
4520 )
4521 );
4522 assert_eq!(
4523 unsafe {
4524 &(*(::std::ptr::null::<rte_memseg__bindgen_ty_2>())).addr_64 as *const _ as usize
4525 },
4526 0usize,
4527 concat!(
4528 "Offset of field: ",
4529 stringify!(rte_memseg__bindgen_ty_2),
4530 "::",
4531 stringify!(addr_64)
4532 )
4533 );
4534}
4535impl Default for rte_memseg__bindgen_ty_2 {
4536 fn default() -> Self {
4537 unsafe { ::std::mem::zeroed() }
4538 }
4539}
4540#[test]
4541fn bindgen_test_layout_rte_memseg() {
4542 assert_eq!(
4543 ::std::mem::size_of::<rte_memseg>(),
4544 48usize,
4545 concat!("Size of: ", stringify!(rte_memseg))
4546 );
4547 assert_eq!(
4548 ::std::mem::align_of::<rte_memseg>(),
4549 1usize,
4550 concat!("Alignment of ", stringify!(rte_memseg))
4551 );
4552 assert_eq!(
4553 unsafe { &(*(::std::ptr::null::<rte_memseg>())).len as *const _ as usize },
4554 16usize,
4555 concat!(
4556 "Offset of field: ",
4557 stringify!(rte_memseg),
4558 "::",
4559 stringify!(len)
4560 )
4561 );
4562 assert_eq!(
4563 unsafe { &(*(::std::ptr::null::<rte_memseg>())).hugepage_sz as *const _ as usize },
4564 24usize,
4565 concat!(
4566 "Offset of field: ",
4567 stringify!(rte_memseg),
4568 "::",
4569 stringify!(hugepage_sz)
4570 )
4571 );
4572 assert_eq!(
4573 unsafe { &(*(::std::ptr::null::<rte_memseg>())).socket_id as *const _ as usize },
4574 32usize,
4575 concat!(
4576 "Offset of field: ",
4577 stringify!(rte_memseg),
4578 "::",
4579 stringify!(socket_id)
4580 )
4581 );
4582 assert_eq!(
4583 unsafe { &(*(::std::ptr::null::<rte_memseg>())).nchannel as *const _ as usize },
4584 36usize,
4585 concat!(
4586 "Offset of field: ",
4587 stringify!(rte_memseg),
4588 "::",
4589 stringify!(nchannel)
4590 )
4591 );
4592 assert_eq!(
4593 unsafe { &(*(::std::ptr::null::<rte_memseg>())).nrank as *const _ as usize },
4594 40usize,
4595 concat!(
4596 "Offset of field: ",
4597 stringify!(rte_memseg),
4598 "::",
4599 stringify!(nrank)
4600 )
4601 );
4602 assert_eq!(
4603 unsafe { &(*(::std::ptr::null::<rte_memseg>())).flags as *const _ as usize },
4604 44usize,
4605 concat!(
4606 "Offset of field: ",
4607 stringify!(rte_memseg),
4608 "::",
4609 stringify!(flags)
4610 )
4611 );
4612}
4613impl Default for rte_memseg {
4614 fn default() -> Self {
4615 unsafe { ::std::mem::zeroed() }
4616 }
4617}
4618#[repr(C)]
4619#[derive(Copy, Clone)]
4620pub struct rte_memseg_list {
4621 pub __bindgen_anon_1: rte_memseg_list__bindgen_ty_1,
4622 pub page_sz: u64,
4623 pub socket_id: ::std::os::raw::c_int,
4624 pub version: u32,
4625 pub len: size_t,
4626 pub external: ::std::os::raw::c_uint,
4627 pub heap: ::std::os::raw::c_uint,
4628 pub memseg_arr: rte_fbarray,
4629}
4630#[repr(C)]
4631#[derive(Copy, Clone)]
4632pub union rte_memseg_list__bindgen_ty_1 {
4633 pub base_va: *mut ::std::os::raw::c_void,
4634 pub addr_64: u64,
4635 _bindgen_union_align: u64,
4636}
4637#[test]
4638fn bindgen_test_layout_rte_memseg_list__bindgen_ty_1() {
4639 assert_eq!(
4640 ::std::mem::size_of::<rte_memseg_list__bindgen_ty_1>(),
4641 8usize,
4642 concat!("Size of: ", stringify!(rte_memseg_list__bindgen_ty_1))
4643 );
4644 assert_eq!(
4645 ::std::mem::align_of::<rte_memseg_list__bindgen_ty_1>(),
4646 8usize,
4647 concat!("Alignment of ", stringify!(rte_memseg_list__bindgen_ty_1))
4648 );
4649 assert_eq!(
4650 unsafe {
4651 &(*(::std::ptr::null::<rte_memseg_list__bindgen_ty_1>())).base_va as *const _ as usize
4652 },
4653 0usize,
4654 concat!(
4655 "Offset of field: ",
4656 stringify!(rte_memseg_list__bindgen_ty_1),
4657 "::",
4658 stringify!(base_va)
4659 )
4660 );
4661 assert_eq!(
4662 unsafe {
4663 &(*(::std::ptr::null::<rte_memseg_list__bindgen_ty_1>())).addr_64 as *const _ as usize
4664 },
4665 0usize,
4666 concat!(
4667 "Offset of field: ",
4668 stringify!(rte_memseg_list__bindgen_ty_1),
4669 "::",
4670 stringify!(addr_64)
4671 )
4672 );
4673}
4674impl Default for rte_memseg_list__bindgen_ty_1 {
4675 fn default() -> Self {
4676 unsafe { ::std::mem::zeroed() }
4677 }
4678}
4679#[test]
4680fn bindgen_test_layout_rte_memseg_list() {
4681 assert_eq!(
4682 ::std::mem::size_of::<rte_memseg_list>(),
4683 136usize,
4684 concat!("Size of: ", stringify!(rte_memseg_list))
4685 );
4686 assert_eq!(
4687 ::std::mem::align_of::<rte_memseg_list>(),
4688 8usize,
4689 concat!("Alignment of ", stringify!(rte_memseg_list))
4690 );
4691 assert_eq!(
4692 unsafe { &(*(::std::ptr::null::<rte_memseg_list>())).page_sz as *const _ as usize },
4693 8usize,
4694 concat!(
4695 "Offset of field: ",
4696 stringify!(rte_memseg_list),
4697 "::",
4698 stringify!(page_sz)
4699 )
4700 );
4701 assert_eq!(
4702 unsafe { &(*(::std::ptr::null::<rte_memseg_list>())).socket_id as *const _ as usize },
4703 16usize,
4704 concat!(
4705 "Offset of field: ",
4706 stringify!(rte_memseg_list),
4707 "::",
4708 stringify!(socket_id)
4709 )
4710 );
4711 assert_eq!(
4712 unsafe { &(*(::std::ptr::null::<rte_memseg_list>())).version as *const _ as usize },
4713 20usize,
4714 concat!(
4715 "Offset of field: ",
4716 stringify!(rte_memseg_list),
4717 "::",
4718 stringify!(version)
4719 )
4720 );
4721 assert_eq!(
4722 unsafe { &(*(::std::ptr::null::<rte_memseg_list>())).len as *const _ as usize },
4723 24usize,
4724 concat!(
4725 "Offset of field: ",
4726 stringify!(rte_memseg_list),
4727 "::",
4728 stringify!(len)
4729 )
4730 );
4731 assert_eq!(
4732 unsafe { &(*(::std::ptr::null::<rte_memseg_list>())).external as *const _ as usize },
4733 32usize,
4734 concat!(
4735 "Offset of field: ",
4736 stringify!(rte_memseg_list),
4737 "::",
4738 stringify!(external)
4739 )
4740 );
4741 assert_eq!(
4742 unsafe { &(*(::std::ptr::null::<rte_memseg_list>())).heap as *const _ as usize },
4743 36usize,
4744 concat!(
4745 "Offset of field: ",
4746 stringify!(rte_memseg_list),
4747 "::",
4748 stringify!(heap)
4749 )
4750 );
4751 assert_eq!(
4752 unsafe { &(*(::std::ptr::null::<rte_memseg_list>())).memseg_arr as *const _ as usize },
4753 40usize,
4754 concat!(
4755 "Offset of field: ",
4756 stringify!(rte_memseg_list),
4757 "::",
4758 stringify!(memseg_arr)
4759 )
4760 );
4761}
4762impl Default for rte_memseg_list {
4763 fn default() -> Self {
4764 unsafe { ::std::mem::zeroed() }
4765 }
4766}
4767extern "C" {
4768 pub fn rte_mem_lock_page(virt: *const ::std::os::raw::c_void) -> ::std::os::raw::c_int;
4769}
4770extern "C" {
4771 pub fn rte_mem_virt2phy(virt: *const ::std::os::raw::c_void) -> phys_addr_t;
4772}
4773extern "C" {
4774 pub fn rte_mem_virt2iova(virt: *const ::std::os::raw::c_void) -> rte_iova_t;
4775}
4776extern "C" {
4777 pub fn rte_mem_iova2virt(iova: rte_iova_t) -> *mut ::std::os::raw::c_void;
4778}
4779extern "C" {
4780 pub fn rte_mem_virt2memseg(
4781 virt: *const ::std::os::raw::c_void,
4782 msl: *const rte_memseg_list,
4783 ) -> *mut rte_memseg;
4784}
4785extern "C" {
4786 pub fn rte_mem_virt2memseg_list(virt: *const ::std::os::raw::c_void) -> *mut rte_memseg_list;
4787}
4788pub type rte_memseg_walk_t = ::std::option::Option<
4789 unsafe extern "C" fn(
4790 msl: *const rte_memseg_list,
4791 ms: *const rte_memseg,
4792 arg: *mut ::std::os::raw::c_void,
4793 ) -> ::std::os::raw::c_int,
4794>;
4795pub type rte_memseg_contig_walk_t = ::std::option::Option<
4796 unsafe extern "C" fn(
4797 msl: *const rte_memseg_list,
4798 ms: *const rte_memseg,
4799 len: size_t,
4800 arg: *mut ::std::os::raw::c_void,
4801 ) -> ::std::os::raw::c_int,
4802>;
4803pub type rte_memseg_list_walk_t = ::std::option::Option<
4804 unsafe extern "C" fn(
4805 msl: *const rte_memseg_list,
4806 arg: *mut ::std::os::raw::c_void,
4807 ) -> ::std::os::raw::c_int,
4808>;
4809extern "C" {
4810 pub fn rte_memseg_walk(
4811 func: rte_memseg_walk_t,
4812 arg: *mut ::std::os::raw::c_void,
4813 ) -> ::std::os::raw::c_int;
4814}
4815extern "C" {
4816 pub fn rte_memseg_contig_walk(
4817 func: rte_memseg_contig_walk_t,
4818 arg: *mut ::std::os::raw::c_void,
4819 ) -> ::std::os::raw::c_int;
4820}
4821extern "C" {
4822 pub fn rte_memseg_list_walk(
4823 func: rte_memseg_list_walk_t,
4824 arg: *mut ::std::os::raw::c_void,
4825 ) -> ::std::os::raw::c_int;
4826}
4827extern "C" {
4828 pub fn rte_memseg_walk_thread_unsafe(
4829 func: rte_memseg_walk_t,
4830 arg: *mut ::std::os::raw::c_void,
4831 ) -> ::std::os::raw::c_int;
4832}
4833extern "C" {
4834 pub fn rte_memseg_contig_walk_thread_unsafe(
4835 func: rte_memseg_contig_walk_t,
4836 arg: *mut ::std::os::raw::c_void,
4837 ) -> ::std::os::raw::c_int;
4838}
4839extern "C" {
4840 pub fn rte_memseg_list_walk_thread_unsafe(
4841 func: rte_memseg_list_walk_t,
4842 arg: *mut ::std::os::raw::c_void,
4843 ) -> ::std::os::raw::c_int;
4844}
4845extern "C" {
4846 pub fn rte_memseg_get_fd(ms: *const rte_memseg) -> ::std::os::raw::c_int;
4847}
4848extern "C" {
4849 pub fn rte_memseg_get_fd_thread_unsafe(ms: *const rte_memseg) -> ::std::os::raw::c_int;
4850}
4851extern "C" {
4852 pub fn rte_memseg_get_fd_offset(
4853 ms: *const rte_memseg,
4854 offset: *mut size_t,
4855 ) -> ::std::os::raw::c_int;
4856}
4857extern "C" {
4858 pub fn rte_memseg_get_fd_offset_thread_unsafe(
4859 ms: *const rte_memseg,
4860 offset: *mut size_t,
4861 ) -> ::std::os::raw::c_int;
4862}
4863extern "C" {
4864 pub fn rte_extmem_register(
4865 va_addr: *mut ::std::os::raw::c_void,
4866 len: size_t,
4867 iova_addrs: *mut rte_iova_t,
4868 n_pages: ::std::os::raw::c_uint,
4869 page_sz: size_t,
4870 ) -> ::std::os::raw::c_int;
4871}
4872extern "C" {
4873 pub fn rte_extmem_unregister(
4874 va_addr: *mut ::std::os::raw::c_void,
4875 len: size_t,
4876 ) -> ::std::os::raw::c_int;
4877}
4878extern "C" {
4879 pub fn rte_extmem_attach(
4880 va_addr: *mut ::std::os::raw::c_void,
4881 len: size_t,
4882 ) -> ::std::os::raw::c_int;
4883}
4884extern "C" {
4885 pub fn rte_extmem_detach(
4886 va_addr: *mut ::std::os::raw::c_void,
4887 len: size_t,
4888 ) -> ::std::os::raw::c_int;
4889}
4890extern "C" {
4891 pub fn rte_dump_physmem_layout(f: *mut FILE);
4892}
4893extern "C" {
4894 pub fn rte_eal_get_physmem_size() -> u64;
4895}
4896extern "C" {
4897 pub fn rte_memory_get_nchannel() -> ::std::os::raw::c_uint;
4898}
4899extern "C" {
4900 pub fn rte_memory_get_nrank() -> ::std::os::raw::c_uint;
4901}
4902extern "C" {
4903 pub fn rte_mem_check_dma_mask(maskbits: u8) -> ::std::os::raw::c_int;
4904}
4905extern "C" {
4906 pub fn rte_mem_check_dma_mask_thread_unsafe(maskbits: u8) -> ::std::os::raw::c_int;
4907}
4908extern "C" {
4909 pub fn rte_mem_set_dma_mask(maskbits: u8);
4910}
4911extern "C" {
4912 pub fn rte_eal_using_phys_addrs() -> ::std::os::raw::c_int;
4913}
4914pub mod rte_mem_event {
4915 pub type Type = ::std::os::raw::c_uint;
4916 pub const RTE_MEM_EVENT_ALLOC: Type = 0;
4917 pub const RTE_MEM_EVENT_FREE: Type = 1;
4918}
4919pub type rte_mem_event_callback_t = ::std::option::Option<
4920 unsafe extern "C" fn(
4921 event_type: rte_mem_event::Type,
4922 addr: *const ::std::os::raw::c_void,
4923 len: size_t,
4924 arg: *mut ::std::os::raw::c_void,
4925 ),
4926>;
4927extern "C" {
4928 pub fn rte_mem_event_callback_register(
4929 name: *const ::std::os::raw::c_char,
4930 clb: rte_mem_event_callback_t,
4931 arg: *mut ::std::os::raw::c_void,
4932 ) -> ::std::os::raw::c_int;
4933}
4934extern "C" {
4935 pub fn rte_mem_event_callback_unregister(
4936 name: *const ::std::os::raw::c_char,
4937 arg: *mut ::std::os::raw::c_void,
4938 ) -> ::std::os::raw::c_int;
4939}
4940pub type rte_mem_alloc_validator_t = ::std::option::Option<
4941 unsafe extern "C" fn(
4942 socket_id: ::std::os::raw::c_int,
4943 cur_limit: size_t,
4944 new_len: size_t,
4945 ) -> ::std::os::raw::c_int,
4946>;
4947extern "C" {
4948 pub fn rte_mem_alloc_validator_register(
4949 name: *const ::std::os::raw::c_char,
4950 clb: rte_mem_alloc_validator_t,
4951 socket_id: ::std::os::raw::c_int,
4952 limit: size_t,
4953 ) -> ::std::os::raw::c_int;
4954}
4955extern "C" {
4956 pub fn rte_mem_alloc_validator_unregister(
4957 name: *const ::std::os::raw::c_char,
4958 socket_id: ::std::os::raw::c_int,
4959 ) -> ::std::os::raw::c_int;
4960}
4961#[repr(C, packed)]
4962#[derive(Copy, Clone)]
4963pub struct rte_memzone {
4964 pub name: [::std::os::raw::c_char; 32usize],
4965 pub __bindgen_anon_1: rte_memzone__bindgen_ty_1,
4966 pub __bindgen_anon_2: rte_memzone__bindgen_ty_2,
4967 pub len: size_t,
4968 pub hugepage_sz: u64,
4969 pub socket_id: i32,
4970 pub flags: u32,
4971}
4972#[repr(C)]
4973#[derive(Copy, Clone)]
4974pub union rte_memzone__bindgen_ty_1 {
4975 pub phys_addr: phys_addr_t,
4976 pub iova: rte_iova_t,
4977 _bindgen_union_align: u64,
4978}
4979#[test]
4980fn bindgen_test_layout_rte_memzone__bindgen_ty_1() {
4981 assert_eq!(
4982 ::std::mem::size_of::<rte_memzone__bindgen_ty_1>(),
4983 8usize,
4984 concat!("Size of: ", stringify!(rte_memzone__bindgen_ty_1))
4985 );
4986 assert_eq!(
4987 ::std::mem::align_of::<rte_memzone__bindgen_ty_1>(),
4988 8usize,
4989 concat!("Alignment of ", stringify!(rte_memzone__bindgen_ty_1))
4990 );
4991 assert_eq!(
4992 unsafe {
4993 &(*(::std::ptr::null::<rte_memzone__bindgen_ty_1>())).phys_addr as *const _ as usize
4994 },
4995 0usize,
4996 concat!(
4997 "Offset of field: ",
4998 stringify!(rte_memzone__bindgen_ty_1),
4999 "::",
5000 stringify!(phys_addr)
5001 )
5002 );
5003 assert_eq!(
5004 unsafe { &(*(::std::ptr::null::<rte_memzone__bindgen_ty_1>())).iova as *const _ as usize },
5005 0usize,
5006 concat!(
5007 "Offset of field: ",
5008 stringify!(rte_memzone__bindgen_ty_1),
5009 "::",
5010 stringify!(iova)
5011 )
5012 );
5013}
5014impl Default for rte_memzone__bindgen_ty_1 {
5015 fn default() -> Self {
5016 unsafe { ::std::mem::zeroed() }
5017 }
5018}
5019#[repr(C)]
5020#[derive(Copy, Clone)]
5021pub union rte_memzone__bindgen_ty_2 {
5022 pub addr: *mut ::std::os::raw::c_void,
5023 pub addr_64: u64,
5024 _bindgen_union_align: u64,
5025}
5026#[test]
5027fn bindgen_test_layout_rte_memzone__bindgen_ty_2() {
5028 assert_eq!(
5029 ::std::mem::size_of::<rte_memzone__bindgen_ty_2>(),
5030 8usize,
5031 concat!("Size of: ", stringify!(rte_memzone__bindgen_ty_2))
5032 );
5033 assert_eq!(
5034 ::std::mem::align_of::<rte_memzone__bindgen_ty_2>(),
5035 8usize,
5036 concat!("Alignment of ", stringify!(rte_memzone__bindgen_ty_2))
5037 );
5038 assert_eq!(
5039 unsafe { &(*(::std::ptr::null::<rte_memzone__bindgen_ty_2>())).addr as *const _ as usize },
5040 0usize,
5041 concat!(
5042 "Offset of field: ",
5043 stringify!(rte_memzone__bindgen_ty_2),
5044 "::",
5045 stringify!(addr)
5046 )
5047 );
5048 assert_eq!(
5049 unsafe {
5050 &(*(::std::ptr::null::<rte_memzone__bindgen_ty_2>())).addr_64 as *const _ as usize
5051 },
5052 0usize,
5053 concat!(
5054 "Offset of field: ",
5055 stringify!(rte_memzone__bindgen_ty_2),
5056 "::",
5057 stringify!(addr_64)
5058 )
5059 );
5060}
5061impl Default for rte_memzone__bindgen_ty_2 {
5062 fn default() -> Self {
5063 unsafe { ::std::mem::zeroed() }
5064 }
5065}
5066#[test]
5067fn bindgen_test_layout_rte_memzone() {
5068 assert_eq!(
5069 ::std::mem::size_of::<rte_memzone>(),
5070 72usize,
5071 concat!("Size of: ", stringify!(rte_memzone))
5072 );
5073 assert_eq!(
5074 ::std::mem::align_of::<rte_memzone>(),
5075 1usize,
5076 concat!("Alignment of ", stringify!(rte_memzone))
5077 );
5078 assert_eq!(
5079 unsafe { &(*(::std::ptr::null::<rte_memzone>())).name as *const _ as usize },
5080 0usize,
5081 concat!(
5082 "Offset of field: ",
5083 stringify!(rte_memzone),
5084 "::",
5085 stringify!(name)
5086 )
5087 );
5088 assert_eq!(
5089 unsafe { &(*(::std::ptr::null::<rte_memzone>())).len as *const _ as usize },
5090 48usize,
5091 concat!(
5092 "Offset of field: ",
5093 stringify!(rte_memzone),
5094 "::",
5095 stringify!(len)
5096 )
5097 );
5098 assert_eq!(
5099 unsafe { &(*(::std::ptr::null::<rte_memzone>())).hugepage_sz as *const _ as usize },
5100 56usize,
5101 concat!(
5102 "Offset of field: ",
5103 stringify!(rte_memzone),
5104 "::",
5105 stringify!(hugepage_sz)
5106 )
5107 );
5108 assert_eq!(
5109 unsafe { &(*(::std::ptr::null::<rte_memzone>())).socket_id as *const _ as usize },
5110 64usize,
5111 concat!(
5112 "Offset of field: ",
5113 stringify!(rte_memzone),
5114 "::",
5115 stringify!(socket_id)
5116 )
5117 );
5118 assert_eq!(
5119 unsafe { &(*(::std::ptr::null::<rte_memzone>())).flags as *const _ as usize },
5120 68usize,
5121 concat!(
5122 "Offset of field: ",
5123 stringify!(rte_memzone),
5124 "::",
5125 stringify!(flags)
5126 )
5127 );
5128}
5129impl Default for rte_memzone {
5130 fn default() -> Self {
5131 unsafe { ::std::mem::zeroed() }
5132 }
5133}
5134extern "C" {
5135 pub fn rte_memzone_reserve(
5136 name: *const ::std::os::raw::c_char,
5137 len: size_t,
5138 socket_id: ::std::os::raw::c_int,
5139 flags: ::std::os::raw::c_uint,
5140 ) -> *const rte_memzone;
5141}
5142extern "C" {
5143 pub fn rte_memzone_reserve_aligned(
5144 name: *const ::std::os::raw::c_char,
5145 len: size_t,
5146 socket_id: ::std::os::raw::c_int,
5147 flags: ::std::os::raw::c_uint,
5148 align: ::std::os::raw::c_uint,
5149 ) -> *const rte_memzone;
5150}
5151extern "C" {
5152 pub fn rte_memzone_reserve_bounded(
5153 name: *const ::std::os::raw::c_char,
5154 len: size_t,
5155 socket_id: ::std::os::raw::c_int,
5156 flags: ::std::os::raw::c_uint,
5157 align: ::std::os::raw::c_uint,
5158 bound: ::std::os::raw::c_uint,
5159 ) -> *const rte_memzone;
5160}
5161extern "C" {
5162 pub fn rte_memzone_free(mz: *const rte_memzone) -> ::std::os::raw::c_int;
5163}
5164extern "C" {
5165 pub fn rte_memzone_lookup(name: *const ::std::os::raw::c_char) -> *const rte_memzone;
5166}
5167extern "C" {
5168 pub fn rte_memzone_dump(f: *mut FILE);
5169}
5170extern "C" {
5171 pub fn rte_memzone_walk(
5172 func: ::std::option::Option<
5173 unsafe extern "C" fn(arg1: *const rte_memzone, arg: *mut ::std::os::raw::c_void),
5174 >,
5175 arg: *mut ::std::os::raw::c_void,
5176 );
5177}
5178pub mod rte_ring_queue_behavior {
5179 pub type Type = ::std::os::raw::c_uint;
5180 pub const RTE_RING_QUEUE_FIXED: Type = 0;
5181 pub const RTE_RING_QUEUE_VARIABLE: Type = 1;
5182}
5183#[repr(C)]
5184#[derive(Debug, Default, Copy, Clone, PartialEq)]
5185pub struct rte_ring_headtail {
5186 pub head: u32,
5187 pub tail: u32,
5188 pub single: u32,
5189}
5190#[test]
5191fn bindgen_test_layout_rte_ring_headtail() {
5192 assert_eq!(
5193 ::std::mem::size_of::<rte_ring_headtail>(),
5194 12usize,
5195 concat!("Size of: ", stringify!(rte_ring_headtail))
5196 );
5197 assert_eq!(
5198 ::std::mem::align_of::<rte_ring_headtail>(),
5199 4usize,
5200 concat!("Alignment of ", stringify!(rte_ring_headtail))
5201 );
5202 assert_eq!(
5203 unsafe { &(*(::std::ptr::null::<rte_ring_headtail>())).head as *const _ as usize },
5204 0usize,
5205 concat!(
5206 "Offset of field: ",
5207 stringify!(rte_ring_headtail),
5208 "::",
5209 stringify!(head)
5210 )
5211 );
5212 assert_eq!(
5213 unsafe { &(*(::std::ptr::null::<rte_ring_headtail>())).tail as *const _ as usize },
5214 4usize,
5215 concat!(
5216 "Offset of field: ",
5217 stringify!(rte_ring_headtail),
5218 "::",
5219 stringify!(tail)
5220 )
5221 );
5222 assert_eq!(
5223 unsafe { &(*(::std::ptr::null::<rte_ring_headtail>())).single as *const _ as usize },
5224 8usize,
5225 concat!(
5226 "Offset of field: ",
5227 stringify!(rte_ring_headtail),
5228 "::",
5229 stringify!(single)
5230 )
5231 );
5232}
5233#[repr(C)]
5234#[repr(align(64))]
5235#[derive(Copy, Clone)]
5236pub struct rte_ring {
5237 pub name: [::std::os::raw::c_char; 32usize],
5238 pub flags: ::std::os::raw::c_int,
5239 pub memzone: *const rte_memzone,
5240 pub size: u32,
5241 pub mask: u32,
5242 pub capacity: u32,
5243 pub __bindgen_padding_0: [u8; 4usize],
5244 pub pad0: ::std::os::raw::c_char,
5245 pub __bindgen_padding_1: [u32; 15usize],
5246 pub prod: rte_ring_headtail,
5247 pub __bindgen_padding_2: [u8; 52usize],
5248 pub pad1: ::std::os::raw::c_char,
5249 pub __bindgen_padding_3: [u32; 15usize],
5250 pub cons: rte_ring_headtail,
5251 pub __bindgen_padding_4: [u8; 52usize],
5252 pub pad2: ::std::os::raw::c_char,
5253}
5254#[test]
5255fn bindgen_test_layout_rte_ring() {
5256 assert_eq!(
5257 ::std::mem::size_of::<rte_ring>(),
5258 384usize,
5259 concat!("Size of: ", stringify!(rte_ring))
5260 );
5261 assert_eq!(
5262 ::std::mem::align_of::<rte_ring>(),
5263 64usize,
5264 concat!("Alignment of ", stringify!(rte_ring))
5265 );
5266 assert_eq!(
5267 unsafe { &(*(::std::ptr::null::<rte_ring>())).name as *const _ as usize },
5268 0usize,
5269 concat!(
5270 "Offset of field: ",
5271 stringify!(rte_ring),
5272 "::",
5273 stringify!(name)
5274 )
5275 );
5276 assert_eq!(
5277 unsafe { &(*(::std::ptr::null::<rte_ring>())).flags as *const _ as usize },
5278 32usize,
5279 concat!(
5280 "Offset of field: ",
5281 stringify!(rte_ring),
5282 "::",
5283 stringify!(flags)
5284 )
5285 );
5286 assert_eq!(
5287 unsafe { &(*(::std::ptr::null::<rte_ring>())).memzone as *const _ as usize },
5288 40usize,
5289 concat!(
5290 "Offset of field: ",
5291 stringify!(rte_ring),
5292 "::",
5293 stringify!(memzone)
5294 )
5295 );
5296 assert_eq!(
5297 unsafe { &(*(::std::ptr::null::<rte_ring>())).size as *const _ as usize },
5298 48usize,
5299 concat!(
5300 "Offset of field: ",
5301 stringify!(rte_ring),
5302 "::",
5303 stringify!(size)
5304 )
5305 );
5306 assert_eq!(
5307 unsafe { &(*(::std::ptr::null::<rte_ring>())).mask as *const _ as usize },
5308 52usize,
5309 concat!(
5310 "Offset of field: ",
5311 stringify!(rte_ring),
5312 "::",
5313 stringify!(mask)
5314 )
5315 );
5316 assert_eq!(
5317 unsafe { &(*(::std::ptr::null::<rte_ring>())).capacity as *const _ as usize },
5318 56usize,
5319 concat!(
5320 "Offset of field: ",
5321 stringify!(rte_ring),
5322 "::",
5323 stringify!(capacity)
5324 )
5325 );
5326 assert_eq!(
5327 unsafe { &(*(::std::ptr::null::<rte_ring>())).pad0 as *const _ as usize },
5328 64usize,
5329 concat!(
5330 "Offset of field: ",
5331 stringify!(rte_ring),
5332 "::",
5333 stringify!(pad0)
5334 )
5335 );
5336 assert_eq!(
5337 unsafe { &(*(::std::ptr::null::<rte_ring>())).prod as *const _ as usize },
5338 128usize,
5339 concat!(
5340 "Offset of field: ",
5341 stringify!(rte_ring),
5342 "::",
5343 stringify!(prod)
5344 )
5345 );
5346 assert_eq!(
5347 unsafe { &(*(::std::ptr::null::<rte_ring>())).pad1 as *const _ as usize },
5348 192usize,
5349 concat!(
5350 "Offset of field: ",
5351 stringify!(rte_ring),
5352 "::",
5353 stringify!(pad1)
5354 )
5355 );
5356 assert_eq!(
5357 unsafe { &(*(::std::ptr::null::<rte_ring>())).cons as *const _ as usize },
5358 256usize,
5359 concat!(
5360 "Offset of field: ",
5361 stringify!(rte_ring),
5362 "::",
5363 stringify!(cons)
5364 )
5365 );
5366 assert_eq!(
5367 unsafe { &(*(::std::ptr::null::<rte_ring>())).pad2 as *const _ as usize },
5368 320usize,
5369 concat!(
5370 "Offset of field: ",
5371 stringify!(rte_ring),
5372 "::",
5373 stringify!(pad2)
5374 )
5375 );
5376}
5377impl Default for rte_ring {
5378 fn default() -> Self {
5379 unsafe { ::std::mem::zeroed() }
5380 }
5381}
5382extern "C" {
5383 pub fn rte_ring_get_memsize(count: ::std::os::raw::c_uint) -> ssize_t;
5384}
5385extern "C" {
5386 pub fn rte_ring_init(
5387 r: *mut rte_ring,
5388 name: *const ::std::os::raw::c_char,
5389 count: ::std::os::raw::c_uint,
5390 flags: ::std::os::raw::c_uint,
5391 ) -> ::std::os::raw::c_int;
5392}
5393extern "C" {
5394 pub fn rte_ring_create(
5395 name: *const ::std::os::raw::c_char,
5396 count: ::std::os::raw::c_uint,
5397 socket_id: ::std::os::raw::c_int,
5398 flags: ::std::os::raw::c_uint,
5399 ) -> *mut rte_ring;
5400}
5401extern "C" {
5402 pub fn rte_ring_free(r: *mut rte_ring);
5403}
5404extern "C" {
5405 pub fn rte_ring_dump(f: *mut FILE, r: *const rte_ring);
5406}
5407extern "C" {
5408 pub fn rte_ring_reset(r: *mut rte_ring);
5409}
5410extern "C" {
5411 pub fn rte_ring_list_dump(f: *mut FILE);
5412}
5413extern "C" {
5414 pub fn rte_ring_lookup(name: *const ::std::os::raw::c_char) -> *mut rte_ring;
5415}
5416#[repr(C)]
5417#[repr(align(64))]
5418#[derive(Copy, Clone)]
5419pub struct rte_mempool_cache {
5420 pub size: u32,
5421 pub flushthresh: u32,
5422 pub len: u32,
5423 pub objs: [*mut ::std::os::raw::c_void; 1536usize],
5424}
5425#[test]
5426fn bindgen_test_layout_rte_mempool_cache() {
5427 assert_eq!(
5428 ::std::mem::size_of::<rte_mempool_cache>(),
5429 12352usize,
5430 concat!("Size of: ", stringify!(rte_mempool_cache))
5431 );
5432 assert_eq!(
5433 ::std::mem::align_of::<rte_mempool_cache>(),
5434 64usize,
5435 concat!("Alignment of ", stringify!(rte_mempool_cache))
5436 );
5437 assert_eq!(
5438 unsafe { &(*(::std::ptr::null::<rte_mempool_cache>())).size as *const _ as usize },
5439 0usize,
5440 concat!(
5441 "Offset of field: ",
5442 stringify!(rte_mempool_cache),
5443 "::",
5444 stringify!(size)
5445 )
5446 );
5447 assert_eq!(
5448 unsafe { &(*(::std::ptr::null::<rte_mempool_cache>())).flushthresh as *const _ as usize },
5449 4usize,
5450 concat!(
5451 "Offset of field: ",
5452 stringify!(rte_mempool_cache),
5453 "::",
5454 stringify!(flushthresh)
5455 )
5456 );
5457 assert_eq!(
5458 unsafe { &(*(::std::ptr::null::<rte_mempool_cache>())).len as *const _ as usize },
5459 8usize,
5460 concat!(
5461 "Offset of field: ",
5462 stringify!(rte_mempool_cache),
5463 "::",
5464 stringify!(len)
5465 )
5466 );
5467 assert_eq!(
5468 unsafe { &(*(::std::ptr::null::<rte_mempool_cache>())).objs as *const _ as usize },
5469 16usize,
5470 concat!(
5471 "Offset of field: ",
5472 stringify!(rte_mempool_cache),
5473 "::",
5474 stringify!(objs)
5475 )
5476 );
5477}
5478impl Default for rte_mempool_cache {
5479 fn default() -> Self {
5480 unsafe { ::std::mem::zeroed() }
5481 }
5482}
5483#[repr(C)]
5484#[derive(Debug, Default, Copy, Clone, PartialEq)]
5485pub struct rte_mempool_objsz {
5486 pub elt_size: u32,
5487 pub header_size: u32,
5488 pub trailer_size: u32,
5489 pub total_size: u32,
5490}
5491#[test]
5492fn bindgen_test_layout_rte_mempool_objsz() {
5493 assert_eq!(
5494 ::std::mem::size_of::<rte_mempool_objsz>(),
5495 16usize,
5496 concat!("Size of: ", stringify!(rte_mempool_objsz))
5497 );
5498 assert_eq!(
5499 ::std::mem::align_of::<rte_mempool_objsz>(),
5500 4usize,
5501 concat!("Alignment of ", stringify!(rte_mempool_objsz))
5502 );
5503 assert_eq!(
5504 unsafe { &(*(::std::ptr::null::<rte_mempool_objsz>())).elt_size as *const _ as usize },
5505 0usize,
5506 concat!(
5507 "Offset of field: ",
5508 stringify!(rte_mempool_objsz),
5509 "::",
5510 stringify!(elt_size)
5511 )
5512 );
5513 assert_eq!(
5514 unsafe { &(*(::std::ptr::null::<rte_mempool_objsz>())).header_size as *const _ as usize },
5515 4usize,
5516 concat!(
5517 "Offset of field: ",
5518 stringify!(rte_mempool_objsz),
5519 "::",
5520 stringify!(header_size)
5521 )
5522 );
5523 assert_eq!(
5524 unsafe { &(*(::std::ptr::null::<rte_mempool_objsz>())).trailer_size as *const _ as usize },
5525 8usize,
5526 concat!(
5527 "Offset of field: ",
5528 stringify!(rte_mempool_objsz),
5529 "::",
5530 stringify!(trailer_size)
5531 )
5532 );
5533 assert_eq!(
5534 unsafe { &(*(::std::ptr::null::<rte_mempool_objsz>())).total_size as *const _ as usize },
5535 12usize,
5536 concat!(
5537 "Offset of field: ",
5538 stringify!(rte_mempool_objsz),
5539 "::",
5540 stringify!(total_size)
5541 )
5542 );
5543}
5544#[repr(C)]
5545#[derive(Copy, Clone)]
5546pub struct rte_mempool_objhdr {
5547 pub next: rte_mempool_objhdr__bindgen_ty_1,
5548 pub mp: *mut rte_mempool,
5549 pub __bindgen_anon_1: rte_mempool_objhdr__bindgen_ty_2,
5550}
5551#[repr(C)]
5552#[derive(Debug, Copy, Clone, PartialEq)]
5553pub struct rte_mempool_objhdr__bindgen_ty_1 {
5554 pub stqe_next: *mut rte_mempool_objhdr,
5555}
5556#[test]
5557fn bindgen_test_layout_rte_mempool_objhdr__bindgen_ty_1() {
5558 assert_eq!(
5559 ::std::mem::size_of::<rte_mempool_objhdr__bindgen_ty_1>(),
5560 8usize,
5561 concat!("Size of: ", stringify!(rte_mempool_objhdr__bindgen_ty_1))
5562 );
5563 assert_eq!(
5564 ::std::mem::align_of::<rte_mempool_objhdr__bindgen_ty_1>(),
5565 8usize,
5566 concat!(
5567 "Alignment of ",
5568 stringify!(rte_mempool_objhdr__bindgen_ty_1)
5569 )
5570 );
5571 assert_eq!(
5572 unsafe {
5573 &(*(::std::ptr::null::<rte_mempool_objhdr__bindgen_ty_1>())).stqe_next as *const _
5574 as usize
5575 },
5576 0usize,
5577 concat!(
5578 "Offset of field: ",
5579 stringify!(rte_mempool_objhdr__bindgen_ty_1),
5580 "::",
5581 stringify!(stqe_next)
5582 )
5583 );
5584}
5585impl Default for rte_mempool_objhdr__bindgen_ty_1 {
5586 fn default() -> Self {
5587 unsafe { ::std::mem::zeroed() }
5588 }
5589}
5590#[repr(C)]
5591#[derive(Copy, Clone)]
5592pub union rte_mempool_objhdr__bindgen_ty_2 {
5593 pub iova: rte_iova_t,
5594 pub physaddr: phys_addr_t,
5595 _bindgen_union_align: u64,
5596}
5597#[test]
5598fn bindgen_test_layout_rte_mempool_objhdr__bindgen_ty_2() {
5599 assert_eq!(
5600 ::std::mem::size_of::<rte_mempool_objhdr__bindgen_ty_2>(),
5601 8usize,
5602 concat!("Size of: ", stringify!(rte_mempool_objhdr__bindgen_ty_2))
5603 );
5604 assert_eq!(
5605 ::std::mem::align_of::<rte_mempool_objhdr__bindgen_ty_2>(),
5606 8usize,
5607 concat!(
5608 "Alignment of ",
5609 stringify!(rte_mempool_objhdr__bindgen_ty_2)
5610 )
5611 );
5612 assert_eq!(
5613 unsafe {
5614 &(*(::std::ptr::null::<rte_mempool_objhdr__bindgen_ty_2>())).iova as *const _ as usize
5615 },
5616 0usize,
5617 concat!(
5618 "Offset of field: ",
5619 stringify!(rte_mempool_objhdr__bindgen_ty_2),
5620 "::",
5621 stringify!(iova)
5622 )
5623 );
5624 assert_eq!(
5625 unsafe {
5626 &(*(::std::ptr::null::<rte_mempool_objhdr__bindgen_ty_2>())).physaddr as *const _
5627 as usize
5628 },
5629 0usize,
5630 concat!(
5631 "Offset of field: ",
5632 stringify!(rte_mempool_objhdr__bindgen_ty_2),
5633 "::",
5634 stringify!(physaddr)
5635 )
5636 );
5637}
5638impl Default for rte_mempool_objhdr__bindgen_ty_2 {
5639 fn default() -> Self {
5640 unsafe { ::std::mem::zeroed() }
5641 }
5642}
5643#[test]
5644fn bindgen_test_layout_rte_mempool_objhdr() {
5645 assert_eq!(
5646 ::std::mem::size_of::<rte_mempool_objhdr>(),
5647 24usize,
5648 concat!("Size of: ", stringify!(rte_mempool_objhdr))
5649 );
5650 assert_eq!(
5651 ::std::mem::align_of::<rte_mempool_objhdr>(),
5652 8usize,
5653 concat!("Alignment of ", stringify!(rte_mempool_objhdr))
5654 );
5655 assert_eq!(
5656 unsafe { &(*(::std::ptr::null::<rte_mempool_objhdr>())).next as *const _ as usize },
5657 0usize,
5658 concat!(
5659 "Offset of field: ",
5660 stringify!(rte_mempool_objhdr),
5661 "::",
5662 stringify!(next)
5663 )
5664 );
5665 assert_eq!(
5666 unsafe { &(*(::std::ptr::null::<rte_mempool_objhdr>())).mp as *const _ as usize },
5667 8usize,
5668 concat!(
5669 "Offset of field: ",
5670 stringify!(rte_mempool_objhdr),
5671 "::",
5672 stringify!(mp)
5673 )
5674 );
5675}
5676impl Default for rte_mempool_objhdr {
5677 fn default() -> Self {
5678 unsafe { ::std::mem::zeroed() }
5679 }
5680}
5681#[repr(C)]
5682#[derive(Debug, Copy, Clone, PartialEq)]
5683pub struct rte_mempool_objhdr_list {
5684 pub stqh_first: *mut rte_mempool_objhdr,
5685 pub stqh_last: *mut *mut rte_mempool_objhdr,
5686}
5687#[test]
5688fn bindgen_test_layout_rte_mempool_objhdr_list() {
5689 assert_eq!(
5690 ::std::mem::size_of::<rte_mempool_objhdr_list>(),
5691 16usize,
5692 concat!("Size of: ", stringify!(rte_mempool_objhdr_list))
5693 );
5694 assert_eq!(
5695 ::std::mem::align_of::<rte_mempool_objhdr_list>(),
5696 8usize,
5697 concat!("Alignment of ", stringify!(rte_mempool_objhdr_list))
5698 );
5699 assert_eq!(
5700 unsafe {
5701 &(*(::std::ptr::null::<rte_mempool_objhdr_list>())).stqh_first as *const _ as usize
5702 },
5703 0usize,
5704 concat!(
5705 "Offset of field: ",
5706 stringify!(rte_mempool_objhdr_list),
5707 "::",
5708 stringify!(stqh_first)
5709 )
5710 );
5711 assert_eq!(
5712 unsafe {
5713 &(*(::std::ptr::null::<rte_mempool_objhdr_list>())).stqh_last as *const _ as usize
5714 },
5715 8usize,
5716 concat!(
5717 "Offset of field: ",
5718 stringify!(rte_mempool_objhdr_list),
5719 "::",
5720 stringify!(stqh_last)
5721 )
5722 );
5723}
5724impl Default for rte_mempool_objhdr_list {
5725 fn default() -> Self {
5726 unsafe { ::std::mem::zeroed() }
5727 }
5728}
5729#[repr(C)]
5730#[derive(Debug, Copy, Clone, PartialEq)]
5731pub struct rte_mempool_memhdr_list {
5732 pub stqh_first: *mut rte_mempool_memhdr,
5733 pub stqh_last: *mut *mut rte_mempool_memhdr,
5734}
5735#[test]
5736fn bindgen_test_layout_rte_mempool_memhdr_list() {
5737 assert_eq!(
5738 ::std::mem::size_of::<rte_mempool_memhdr_list>(),
5739 16usize,
5740 concat!("Size of: ", stringify!(rte_mempool_memhdr_list))
5741 );
5742 assert_eq!(
5743 ::std::mem::align_of::<rte_mempool_memhdr_list>(),
5744 8usize,
5745 concat!("Alignment of ", stringify!(rte_mempool_memhdr_list))
5746 );
5747 assert_eq!(
5748 unsafe {
5749 &(*(::std::ptr::null::<rte_mempool_memhdr_list>())).stqh_first as *const _ as usize
5750 },
5751 0usize,
5752 concat!(
5753 "Offset of field: ",
5754 stringify!(rte_mempool_memhdr_list),
5755 "::",
5756 stringify!(stqh_first)
5757 )
5758 );
5759 assert_eq!(
5760 unsafe {
5761 &(*(::std::ptr::null::<rte_mempool_memhdr_list>())).stqh_last as *const _ as usize
5762 },
5763 8usize,
5764 concat!(
5765 "Offset of field: ",
5766 stringify!(rte_mempool_memhdr_list),
5767 "::",
5768 stringify!(stqh_last)
5769 )
5770 );
5771}
5772impl Default for rte_mempool_memhdr_list {
5773 fn default() -> Self {
5774 unsafe { ::std::mem::zeroed() }
5775 }
5776}
5777pub type rte_mempool_memchunk_free_cb_t = ::std::option::Option<
5778 unsafe extern "C" fn(memhdr: *mut rte_mempool_memhdr, opaque: *mut ::std::os::raw::c_void),
5779>;
5780#[repr(C)]
5781#[derive(Copy, Clone)]
5782pub struct rte_mempool_memhdr {
5783 pub next: rte_mempool_memhdr__bindgen_ty_1,
5784 pub mp: *mut rte_mempool,
5785 pub addr: *mut ::std::os::raw::c_void,
5786 pub __bindgen_anon_1: rte_mempool_memhdr__bindgen_ty_2,
5787 pub len: size_t,
5788 pub free_cb: rte_mempool_memchunk_free_cb_t,
5789 pub opaque: *mut ::std::os::raw::c_void,
5790}
5791#[repr(C)]
5792#[derive(Debug, Copy, Clone, PartialEq)]
5793pub struct rte_mempool_memhdr__bindgen_ty_1 {
5794 pub stqe_next: *mut rte_mempool_memhdr,
5795}
5796#[test]
5797fn bindgen_test_layout_rte_mempool_memhdr__bindgen_ty_1() {
5798 assert_eq!(
5799 ::std::mem::size_of::<rte_mempool_memhdr__bindgen_ty_1>(),
5800 8usize,
5801 concat!("Size of: ", stringify!(rte_mempool_memhdr__bindgen_ty_1))
5802 );
5803 assert_eq!(
5804 ::std::mem::align_of::<rte_mempool_memhdr__bindgen_ty_1>(),
5805 8usize,
5806 concat!(
5807 "Alignment of ",
5808 stringify!(rte_mempool_memhdr__bindgen_ty_1)
5809 )
5810 );
5811 assert_eq!(
5812 unsafe {
5813 &(*(::std::ptr::null::<rte_mempool_memhdr__bindgen_ty_1>())).stqe_next as *const _
5814 as usize
5815 },
5816 0usize,
5817 concat!(
5818 "Offset of field: ",
5819 stringify!(rte_mempool_memhdr__bindgen_ty_1),
5820 "::",
5821 stringify!(stqe_next)
5822 )
5823 );
5824}
5825impl Default for rte_mempool_memhdr__bindgen_ty_1 {
5826 fn default() -> Self {
5827 unsafe { ::std::mem::zeroed() }
5828 }
5829}
5830#[repr(C)]
5831#[derive(Copy, Clone)]
5832pub union rte_mempool_memhdr__bindgen_ty_2 {
5833 pub iova: rte_iova_t,
5834 pub phys_addr: phys_addr_t,
5835 _bindgen_union_align: u64,
5836}
5837#[test]
5838fn bindgen_test_layout_rte_mempool_memhdr__bindgen_ty_2() {
5839 assert_eq!(
5840 ::std::mem::size_of::<rte_mempool_memhdr__bindgen_ty_2>(),
5841 8usize,
5842 concat!("Size of: ", stringify!(rte_mempool_memhdr__bindgen_ty_2))
5843 );
5844 assert_eq!(
5845 ::std::mem::align_of::<rte_mempool_memhdr__bindgen_ty_2>(),
5846 8usize,
5847 concat!(
5848 "Alignment of ",
5849 stringify!(rte_mempool_memhdr__bindgen_ty_2)
5850 )
5851 );
5852 assert_eq!(
5853 unsafe {
5854 &(*(::std::ptr::null::<rte_mempool_memhdr__bindgen_ty_2>())).iova as *const _ as usize
5855 },
5856 0usize,
5857 concat!(
5858 "Offset of field: ",
5859 stringify!(rte_mempool_memhdr__bindgen_ty_2),
5860 "::",
5861 stringify!(iova)
5862 )
5863 );
5864 assert_eq!(
5865 unsafe {
5866 &(*(::std::ptr::null::<rte_mempool_memhdr__bindgen_ty_2>())).phys_addr as *const _
5867 as usize
5868 },
5869 0usize,
5870 concat!(
5871 "Offset of field: ",
5872 stringify!(rte_mempool_memhdr__bindgen_ty_2),
5873 "::",
5874 stringify!(phys_addr)
5875 )
5876 );
5877}
5878impl Default for rte_mempool_memhdr__bindgen_ty_2 {
5879 fn default() -> Self {
5880 unsafe { ::std::mem::zeroed() }
5881 }
5882}
5883#[test]
5884fn bindgen_test_layout_rte_mempool_memhdr() {
5885 assert_eq!(
5886 ::std::mem::size_of::<rte_mempool_memhdr>(),
5887 56usize,
5888 concat!("Size of: ", stringify!(rte_mempool_memhdr))
5889 );
5890 assert_eq!(
5891 ::std::mem::align_of::<rte_mempool_memhdr>(),
5892 8usize,
5893 concat!("Alignment of ", stringify!(rte_mempool_memhdr))
5894 );
5895 assert_eq!(
5896 unsafe { &(*(::std::ptr::null::<rte_mempool_memhdr>())).next as *const _ as usize },
5897 0usize,
5898 concat!(
5899 "Offset of field: ",
5900 stringify!(rte_mempool_memhdr),
5901 "::",
5902 stringify!(next)
5903 )
5904 );
5905 assert_eq!(
5906 unsafe { &(*(::std::ptr::null::<rte_mempool_memhdr>())).mp as *const _ as usize },
5907 8usize,
5908 concat!(
5909 "Offset of field: ",
5910 stringify!(rte_mempool_memhdr),
5911 "::",
5912 stringify!(mp)
5913 )
5914 );
5915 assert_eq!(
5916 unsafe { &(*(::std::ptr::null::<rte_mempool_memhdr>())).addr as *const _ as usize },
5917 16usize,
5918 concat!(
5919 "Offset of field: ",
5920 stringify!(rte_mempool_memhdr),
5921 "::",
5922 stringify!(addr)
5923 )
5924 );
5925 assert_eq!(
5926 unsafe { &(*(::std::ptr::null::<rte_mempool_memhdr>())).len as *const _ as usize },
5927 32usize,
5928 concat!(
5929 "Offset of field: ",
5930 stringify!(rte_mempool_memhdr),
5931 "::",
5932 stringify!(len)
5933 )
5934 );
5935 assert_eq!(
5936 unsafe { &(*(::std::ptr::null::<rte_mempool_memhdr>())).free_cb as *const _ as usize },
5937 40usize,
5938 concat!(
5939 "Offset of field: ",
5940 stringify!(rte_mempool_memhdr),
5941 "::",
5942 stringify!(free_cb)
5943 )
5944 );
5945 assert_eq!(
5946 unsafe { &(*(::std::ptr::null::<rte_mempool_memhdr>())).opaque as *const _ as usize },
5947 48usize,
5948 concat!(
5949 "Offset of field: ",
5950 stringify!(rte_mempool_memhdr),
5951 "::",
5952 stringify!(opaque)
5953 )
5954 );
5955}
5956impl Default for rte_mempool_memhdr {
5957 fn default() -> Self {
5958 unsafe { ::std::mem::zeroed() }
5959 }
5960}
5961#[repr(C)]
5962#[repr(align(64))]
5963#[derive(Copy, Clone)]
5964pub struct rte_mempool_info {
5965 pub contig_block_size: ::std::os::raw::c_uint,
5966}
5967#[test]
5968fn bindgen_test_layout_rte_mempool_info() {
5969 assert_eq!(
5970 ::std::mem::size_of::<rte_mempool_info>(),
5971 64usize,
5972 concat!("Size of: ", stringify!(rte_mempool_info))
5973 );
5974 assert_eq!(
5975 ::std::mem::align_of::<rte_mempool_info>(),
5976 64usize,
5977 concat!("Alignment of ", stringify!(rte_mempool_info))
5978 );
5979 assert_eq!(
5980 unsafe {
5981 &(*(::std::ptr::null::<rte_mempool_info>())).contig_block_size as *const _ as usize
5982 },
5983 0usize,
5984 concat!(
5985 "Offset of field: ",
5986 stringify!(rte_mempool_info),
5987 "::",
5988 stringify!(contig_block_size)
5989 )
5990 );
5991}
5992impl Default for rte_mempool_info {
5993 fn default() -> Self {
5994 unsafe { ::std::mem::zeroed() }
5995 }
5996}
5997#[repr(C)]
5998#[repr(align(64))]
5999#[derive(Copy, Clone)]
6000pub struct rte_mempool {
6001 pub name: [::std::os::raw::c_char; 32usize],
6002 pub __bindgen_anon_1: rte_mempool__bindgen_ty_1,
6003 pub pool_config: *mut ::std::os::raw::c_void,
6004 pub mz: *const rte_memzone,
6005 pub flags: ::std::os::raw::c_uint,
6006 pub socket_id: ::std::os::raw::c_int,
6007 pub size: u32,
6008 pub cache_size: u32,
6009 pub elt_size: u32,
6010 pub header_size: u32,
6011 pub trailer_size: u32,
6012 pub private_data_size: ::std::os::raw::c_uint,
6013 pub ops_index: i32,
6014 pub local_cache: *mut rte_mempool_cache,
6015 pub populated_size: u32,
6016 pub elt_list: rte_mempool_objhdr_list,
6017 pub nb_mem_chunks: u32,
6018 pub mem_list: rte_mempool_memhdr_list,
6019}
6020#[repr(C)]
6021#[derive(Copy, Clone)]
6022pub union rte_mempool__bindgen_ty_1 {
6023 pub pool_data: *mut ::std::os::raw::c_void,
6024 pub pool_id: u64,
6025 _bindgen_union_align: u64,
6026}
6027#[test]
6028fn bindgen_test_layout_rte_mempool__bindgen_ty_1() {
6029 assert_eq!(
6030 ::std::mem::size_of::<rte_mempool__bindgen_ty_1>(),
6031 8usize,
6032 concat!("Size of: ", stringify!(rte_mempool__bindgen_ty_1))
6033 );
6034 assert_eq!(
6035 ::std::mem::align_of::<rte_mempool__bindgen_ty_1>(),
6036 8usize,
6037 concat!("Alignment of ", stringify!(rte_mempool__bindgen_ty_1))
6038 );
6039 assert_eq!(
6040 unsafe {
6041 &(*(::std::ptr::null::<rte_mempool__bindgen_ty_1>())).pool_data as *const _ as usize
6042 },
6043 0usize,
6044 concat!(
6045 "Offset of field: ",
6046 stringify!(rte_mempool__bindgen_ty_1),
6047 "::",
6048 stringify!(pool_data)
6049 )
6050 );
6051 assert_eq!(
6052 unsafe {
6053 &(*(::std::ptr::null::<rte_mempool__bindgen_ty_1>())).pool_id as *const _ as usize
6054 },
6055 0usize,
6056 concat!(
6057 "Offset of field: ",
6058 stringify!(rte_mempool__bindgen_ty_1),
6059 "::",
6060 stringify!(pool_id)
6061 )
6062 );
6063}
6064impl Default for rte_mempool__bindgen_ty_1 {
6065 fn default() -> Self {
6066 unsafe { ::std::mem::zeroed() }
6067 }
6068}
6069#[test]
6070fn bindgen_test_layout_rte_mempool() {
6071 assert_eq!(
6072 ::std::mem::size_of::<rte_mempool>(),
6073 192usize,
6074 concat!("Size of: ", stringify!(rte_mempool))
6075 );
6076 assert_eq!(
6077 ::std::mem::align_of::<rte_mempool>(),
6078 64usize,
6079 concat!("Alignment of ", stringify!(rte_mempool))
6080 );
6081 assert_eq!(
6082 unsafe { &(*(::std::ptr::null::<rte_mempool>())).name as *const _ as usize },
6083 0usize,
6084 concat!(
6085 "Offset of field: ",
6086 stringify!(rte_mempool),
6087 "::",
6088 stringify!(name)
6089 )
6090 );
6091 assert_eq!(
6092 unsafe { &(*(::std::ptr::null::<rte_mempool>())).pool_config as *const _ as usize },
6093 40usize,
6094 concat!(
6095 "Offset of field: ",
6096 stringify!(rte_mempool),
6097 "::",
6098 stringify!(pool_config)
6099 )
6100 );
6101 assert_eq!(
6102 unsafe { &(*(::std::ptr::null::<rte_mempool>())).mz as *const _ as usize },
6103 48usize,
6104 concat!(
6105 "Offset of field: ",
6106 stringify!(rte_mempool),
6107 "::",
6108 stringify!(mz)
6109 )
6110 );
6111 assert_eq!(
6112 unsafe { &(*(::std::ptr::null::<rte_mempool>())).flags as *const _ as usize },
6113 56usize,
6114 concat!(
6115 "Offset of field: ",
6116 stringify!(rte_mempool),
6117 "::",
6118 stringify!(flags)
6119 )
6120 );
6121 assert_eq!(
6122 unsafe { &(*(::std::ptr::null::<rte_mempool>())).socket_id as *const _ as usize },
6123 60usize,
6124 concat!(
6125 "Offset of field: ",
6126 stringify!(rte_mempool),
6127 "::",
6128 stringify!(socket_id)
6129 )
6130 );
6131 assert_eq!(
6132 unsafe { &(*(::std::ptr::null::<rte_mempool>())).size as *const _ as usize },
6133 64usize,
6134 concat!(
6135 "Offset of field: ",
6136 stringify!(rte_mempool),
6137 "::",
6138 stringify!(size)
6139 )
6140 );
6141 assert_eq!(
6142 unsafe { &(*(::std::ptr::null::<rte_mempool>())).cache_size as *const _ as usize },
6143 68usize,
6144 concat!(
6145 "Offset of field: ",
6146 stringify!(rte_mempool),
6147 "::",
6148 stringify!(cache_size)
6149 )
6150 );
6151 assert_eq!(
6152 unsafe { &(*(::std::ptr::null::<rte_mempool>())).elt_size as *const _ as usize },
6153 72usize,
6154 concat!(
6155 "Offset of field: ",
6156 stringify!(rte_mempool),
6157 "::",
6158 stringify!(elt_size)
6159 )
6160 );
6161 assert_eq!(
6162 unsafe { &(*(::std::ptr::null::<rte_mempool>())).header_size as *const _ as usize },
6163 76usize,
6164 concat!(
6165 "Offset of field: ",
6166 stringify!(rte_mempool),
6167 "::",
6168 stringify!(header_size)
6169 )
6170 );
6171 assert_eq!(
6172 unsafe { &(*(::std::ptr::null::<rte_mempool>())).trailer_size as *const _ as usize },
6173 80usize,
6174 concat!(
6175 "Offset of field: ",
6176 stringify!(rte_mempool),
6177 "::",
6178 stringify!(trailer_size)
6179 )
6180 );
6181 assert_eq!(
6182 unsafe { &(*(::std::ptr::null::<rte_mempool>())).private_data_size as *const _ as usize },
6183 84usize,
6184 concat!(
6185 "Offset of field: ",
6186 stringify!(rte_mempool),
6187 "::",
6188 stringify!(private_data_size)
6189 )
6190 );
6191 assert_eq!(
6192 unsafe { &(*(::std::ptr::null::<rte_mempool>())).ops_index as *const _ as usize },
6193 88usize,
6194 concat!(
6195 "Offset of field: ",
6196 stringify!(rte_mempool),
6197 "::",
6198 stringify!(ops_index)
6199 )
6200 );
6201 assert_eq!(
6202 unsafe { &(*(::std::ptr::null::<rte_mempool>())).local_cache as *const _ as usize },
6203 96usize,
6204 concat!(
6205 "Offset of field: ",
6206 stringify!(rte_mempool),
6207 "::",
6208 stringify!(local_cache)
6209 )
6210 );
6211 assert_eq!(
6212 unsafe { &(*(::std::ptr::null::<rte_mempool>())).populated_size as *const _ as usize },
6213 104usize,
6214 concat!(
6215 "Offset of field: ",
6216 stringify!(rte_mempool),
6217 "::",
6218 stringify!(populated_size)
6219 )
6220 );
6221 assert_eq!(
6222 unsafe { &(*(::std::ptr::null::<rte_mempool>())).elt_list as *const _ as usize },
6223 112usize,
6224 concat!(
6225 "Offset of field: ",
6226 stringify!(rte_mempool),
6227 "::",
6228 stringify!(elt_list)
6229 )
6230 );
6231 assert_eq!(
6232 unsafe { &(*(::std::ptr::null::<rte_mempool>())).nb_mem_chunks as *const _ as usize },
6233 128usize,
6234 concat!(
6235 "Offset of field: ",
6236 stringify!(rte_mempool),
6237 "::",
6238 stringify!(nb_mem_chunks)
6239 )
6240 );
6241 assert_eq!(
6242 unsafe { &(*(::std::ptr::null::<rte_mempool>())).mem_list as *const _ as usize },
6243 136usize,
6244 concat!(
6245 "Offset of field: ",
6246 stringify!(rte_mempool),
6247 "::",
6248 stringify!(mem_list)
6249 )
6250 );
6251}
6252impl Default for rte_mempool {
6253 fn default() -> Self {
6254 unsafe { ::std::mem::zeroed() }
6255 }
6256}
6257#[repr(C)]
6258#[derive(Debug, Copy, Clone)]
6259pub struct rte_mempool_objtlr {
6260 _unused: [u8; 0],
6261}
6262extern "C" {
6263 pub fn rte_mempool_check_cookies(
6264 mp: *const rte_mempool,
6265 obj_table_const: *const *mut ::std::os::raw::c_void,
6266 n: ::std::os::raw::c_uint,
6267 free: ::std::os::raw::c_int,
6268 );
6269}
6270extern "C" {
6271 pub fn rte_mempool_contig_blocks_check_cookies(
6272 mp: *const rte_mempool,
6273 first_obj_table_const: *const *mut ::std::os::raw::c_void,
6274 n: ::std::os::raw::c_uint,
6275 free: ::std::os::raw::c_int,
6276 );
6277}
6278pub type rte_mempool_alloc_t =
6279 ::std::option::Option<unsafe extern "C" fn(mp: *mut rte_mempool) -> ::std::os::raw::c_int>;
6280pub type rte_mempool_free_t = ::std::option::Option<unsafe extern "C" fn(mp: *mut rte_mempool)>;
6281pub type rte_mempool_enqueue_t = ::std::option::Option<
6282 unsafe extern "C" fn(
6283 mp: *mut rte_mempool,
6284 obj_table: *const *mut ::std::os::raw::c_void,
6285 n: ::std::os::raw::c_uint,
6286 ) -> ::std::os::raw::c_int,
6287>;
6288pub type rte_mempool_dequeue_t = ::std::option::Option<
6289 unsafe extern "C" fn(
6290 mp: *mut rte_mempool,
6291 obj_table: *mut *mut ::std::os::raw::c_void,
6292 n: ::std::os::raw::c_uint,
6293 ) -> ::std::os::raw::c_int,
6294>;
6295pub type rte_mempool_dequeue_contig_blocks_t = ::std::option::Option<
6296 unsafe extern "C" fn(
6297 mp: *mut rte_mempool,
6298 first_obj_table: *mut *mut ::std::os::raw::c_void,
6299 n: ::std::os::raw::c_uint,
6300 ) -> ::std::os::raw::c_int,
6301>;
6302pub type rte_mempool_get_count =
6303 ::std::option::Option<unsafe extern "C" fn(mp: *const rte_mempool) -> ::std::os::raw::c_uint>;
6304pub type rte_mempool_calc_mem_size_t = ::std::option::Option<
6305 unsafe extern "C" fn(
6306 mp: *const rte_mempool,
6307 obj_num: u32,
6308 pg_shift: u32,
6309 min_chunk_size: *mut size_t,
6310 align: *mut size_t,
6311 ) -> ssize_t,
6312>;
6313extern "C" {
6314 pub fn rte_mempool_op_calc_mem_size_helper(
6315 mp: *const rte_mempool,
6316 obj_num: u32,
6317 pg_shift: u32,
6318 chunk_reserve: size_t,
6319 min_chunk_size: *mut size_t,
6320 align: *mut size_t,
6321 ) -> ssize_t;
6322}
6323extern "C" {
6324 pub fn rte_mempool_op_calc_mem_size_default(
6325 mp: *const rte_mempool,
6326 obj_num: u32,
6327 pg_shift: u32,
6328 min_chunk_size: *mut size_t,
6329 align: *mut size_t,
6330 ) -> ssize_t;
6331}
6332pub type rte_mempool_populate_obj_cb_t = ::std::option::Option<
6333 unsafe extern "C" fn(
6334 mp: *mut rte_mempool,
6335 opaque: *mut ::std::os::raw::c_void,
6336 vaddr: *mut ::std::os::raw::c_void,
6337 iova: rte_iova_t,
6338 ),
6339>;
6340pub type rte_mempool_populate_t = ::std::option::Option<
6341 unsafe extern "C" fn(
6342 mp: *mut rte_mempool,
6343 max_objs: ::std::os::raw::c_uint,
6344 vaddr: *mut ::std::os::raw::c_void,
6345 iova: rte_iova_t,
6346 len: size_t,
6347 obj_cb: rte_mempool_populate_obj_cb_t,
6348 obj_cb_arg: *mut ::std::os::raw::c_void,
6349 ) -> ::std::os::raw::c_int,
6350>;
6351extern "C" {
6352 pub fn rte_mempool_op_populate_helper(
6353 mp: *mut rte_mempool,
6354 flags: ::std::os::raw::c_uint,
6355 max_objs: ::std::os::raw::c_uint,
6356 vaddr: *mut ::std::os::raw::c_void,
6357 iova: rte_iova_t,
6358 len: size_t,
6359 obj_cb: rte_mempool_populate_obj_cb_t,
6360 obj_cb_arg: *mut ::std::os::raw::c_void,
6361 ) -> ::std::os::raw::c_int;
6362}
6363extern "C" {
6364 pub fn rte_mempool_op_populate_default(
6365 mp: *mut rte_mempool,
6366 max_objs: ::std::os::raw::c_uint,
6367 vaddr: *mut ::std::os::raw::c_void,
6368 iova: rte_iova_t,
6369 len: size_t,
6370 obj_cb: rte_mempool_populate_obj_cb_t,
6371 obj_cb_arg: *mut ::std::os::raw::c_void,
6372 ) -> ::std::os::raw::c_int;
6373}
6374pub type rte_mempool_get_info_t = ::std::option::Option<
6375 unsafe extern "C" fn(
6376 mp: *const rte_mempool,
6377 info: *mut rte_mempool_info,
6378 ) -> ::std::os::raw::c_int,
6379>;
6380#[repr(C)]
6381#[repr(align(64))]
6382#[derive(Copy, Clone)]
6383pub struct rte_mempool_ops {
6384 pub name: [::std::os::raw::c_char; 32usize],
6385 pub alloc: rte_mempool_alloc_t,
6386 pub free: rte_mempool_free_t,
6387 pub enqueue: rte_mempool_enqueue_t,
6388 pub dequeue: rte_mempool_dequeue_t,
6389 pub get_count: rte_mempool_get_count,
6390 pub calc_mem_size: rte_mempool_calc_mem_size_t,
6391 pub populate: rte_mempool_populate_t,
6392 pub get_info: rte_mempool_get_info_t,
6393 pub dequeue_contig_blocks: rte_mempool_dequeue_contig_blocks_t,
6394}
6395#[test]
6396fn bindgen_test_layout_rte_mempool_ops() {
6397 assert_eq!(
6398 ::std::mem::size_of::<rte_mempool_ops>(),
6399 128usize,
6400 concat!("Size of: ", stringify!(rte_mempool_ops))
6401 );
6402 assert_eq!(
6403 ::std::mem::align_of::<rte_mempool_ops>(),
6404 64usize,
6405 concat!("Alignment of ", stringify!(rte_mempool_ops))
6406 );
6407 assert_eq!(
6408 unsafe { &(*(::std::ptr::null::<rte_mempool_ops>())).name as *const _ as usize },
6409 0usize,
6410 concat!(
6411 "Offset of field: ",
6412 stringify!(rte_mempool_ops),
6413 "::",
6414 stringify!(name)
6415 )
6416 );
6417 assert_eq!(
6418 unsafe { &(*(::std::ptr::null::<rte_mempool_ops>())).alloc as *const _ as usize },
6419 32usize,
6420 concat!(
6421 "Offset of field: ",
6422 stringify!(rte_mempool_ops),
6423 "::",
6424 stringify!(alloc)
6425 )
6426 );
6427 assert_eq!(
6428 unsafe { &(*(::std::ptr::null::<rte_mempool_ops>())).free as *const _ as usize },
6429 40usize,
6430 concat!(
6431 "Offset of field: ",
6432 stringify!(rte_mempool_ops),
6433 "::",
6434 stringify!(free)
6435 )
6436 );
6437 assert_eq!(
6438 unsafe { &(*(::std::ptr::null::<rte_mempool_ops>())).enqueue as *const _ as usize },
6439 48usize,
6440 concat!(
6441 "Offset of field: ",
6442 stringify!(rte_mempool_ops),
6443 "::",
6444 stringify!(enqueue)
6445 )
6446 );
6447 assert_eq!(
6448 unsafe { &(*(::std::ptr::null::<rte_mempool_ops>())).dequeue as *const _ as usize },
6449 56usize,
6450 concat!(
6451 "Offset of field: ",
6452 stringify!(rte_mempool_ops),
6453 "::",
6454 stringify!(dequeue)
6455 )
6456 );
6457 assert_eq!(
6458 unsafe { &(*(::std::ptr::null::<rte_mempool_ops>())).get_count as *const _ as usize },
6459 64usize,
6460 concat!(
6461 "Offset of field: ",
6462 stringify!(rte_mempool_ops),
6463 "::",
6464 stringify!(get_count)
6465 )
6466 );
6467 assert_eq!(
6468 unsafe { &(*(::std::ptr::null::<rte_mempool_ops>())).calc_mem_size as *const _ as usize },
6469 72usize,
6470 concat!(
6471 "Offset of field: ",
6472 stringify!(rte_mempool_ops),
6473 "::",
6474 stringify!(calc_mem_size)
6475 )
6476 );
6477 assert_eq!(
6478 unsafe { &(*(::std::ptr::null::<rte_mempool_ops>())).populate as *const _ as usize },
6479 80usize,
6480 concat!(
6481 "Offset of field: ",
6482 stringify!(rte_mempool_ops),
6483 "::",
6484 stringify!(populate)
6485 )
6486 );
6487 assert_eq!(
6488 unsafe { &(*(::std::ptr::null::<rte_mempool_ops>())).get_info as *const _ as usize },
6489 88usize,
6490 concat!(
6491 "Offset of field: ",
6492 stringify!(rte_mempool_ops),
6493 "::",
6494 stringify!(get_info)
6495 )
6496 );
6497 assert_eq!(
6498 unsafe {
6499 &(*(::std::ptr::null::<rte_mempool_ops>())).dequeue_contig_blocks as *const _ as usize
6500 },
6501 96usize,
6502 concat!(
6503 "Offset of field: ",
6504 stringify!(rte_mempool_ops),
6505 "::",
6506 stringify!(dequeue_contig_blocks)
6507 )
6508 );
6509}
6510impl Default for rte_mempool_ops {
6511 fn default() -> Self {
6512 unsafe { ::std::mem::zeroed() }
6513 }
6514}
6515#[repr(C)]
6516#[repr(align(64))]
6517#[derive(Copy, Clone)]
6518pub struct rte_mempool_ops_table {
6519 pub sl: rte_spinlock_t,
6520 pub num_ops: u32,
6521 pub __bindgen_padding_0: [u64; 7usize],
6522 pub ops: [rte_mempool_ops; 16usize],
6523}
6524#[test]
6525fn bindgen_test_layout_rte_mempool_ops_table() {
6526 assert_eq!(
6527 ::std::mem::size_of::<rte_mempool_ops_table>(),
6528 2112usize,
6529 concat!("Size of: ", stringify!(rte_mempool_ops_table))
6530 );
6531 assert_eq!(
6532 ::std::mem::align_of::<rte_mempool_ops_table>(),
6533 64usize,
6534 concat!("Alignment of ", stringify!(rte_mempool_ops_table))
6535 );
6536 assert_eq!(
6537 unsafe { &(*(::std::ptr::null::<rte_mempool_ops_table>())).sl as *const _ as usize },
6538 0usize,
6539 concat!(
6540 "Offset of field: ",
6541 stringify!(rte_mempool_ops_table),
6542 "::",
6543 stringify!(sl)
6544 )
6545 );
6546 assert_eq!(
6547 unsafe { &(*(::std::ptr::null::<rte_mempool_ops_table>())).num_ops as *const _ as usize },
6548 4usize,
6549 concat!(
6550 "Offset of field: ",
6551 stringify!(rte_mempool_ops_table),
6552 "::",
6553 stringify!(num_ops)
6554 )
6555 );
6556 assert_eq!(
6557 unsafe { &(*(::std::ptr::null::<rte_mempool_ops_table>())).ops as *const _ as usize },
6558 64usize,
6559 concat!(
6560 "Offset of field: ",
6561 stringify!(rte_mempool_ops_table),
6562 "::",
6563 stringify!(ops)
6564 )
6565 );
6566}
6567impl Default for rte_mempool_ops_table {
6568 fn default() -> Self {
6569 unsafe { ::std::mem::zeroed() }
6570 }
6571}
6572extern "C" {
6573 pub static mut rte_mempool_ops_table: rte_mempool_ops_table;
6574}
6575extern "C" {
6576 pub fn rte_mempool_ops_alloc(mp: *mut rte_mempool) -> ::std::os::raw::c_int;
6577}
6578extern "C" {
6579 pub fn rte_mempool_ops_get_count(mp: *const rte_mempool) -> ::std::os::raw::c_uint;
6580}
6581extern "C" {
6582 pub fn rte_mempool_ops_calc_mem_size(
6583 mp: *const rte_mempool,
6584 obj_num: u32,
6585 pg_shift: u32,
6586 min_chunk_size: *mut size_t,
6587 align: *mut size_t,
6588 ) -> ssize_t;
6589}
6590extern "C" {
6591 pub fn rte_mempool_ops_populate(
6592 mp: *mut rte_mempool,
6593 max_objs: ::std::os::raw::c_uint,
6594 vaddr: *mut ::std::os::raw::c_void,
6595 iova: rte_iova_t,
6596 len: size_t,
6597 obj_cb: rte_mempool_populate_obj_cb_t,
6598 obj_cb_arg: *mut ::std::os::raw::c_void,
6599 ) -> ::std::os::raw::c_int;
6600}
6601extern "C" {
6602 pub fn rte_mempool_ops_get_info(
6603 mp: *const rte_mempool,
6604 info: *mut rte_mempool_info,
6605 ) -> ::std::os::raw::c_int;
6606}
6607extern "C" {
6608 pub fn rte_mempool_ops_free(mp: *mut rte_mempool);
6609}
6610extern "C" {
6611 pub fn rte_mempool_set_ops_byname(
6612 mp: *mut rte_mempool,
6613 name: *const ::std::os::raw::c_char,
6614 pool_config: *mut ::std::os::raw::c_void,
6615 ) -> ::std::os::raw::c_int;
6616}
6617extern "C" {
6618 pub fn rte_mempool_register_ops(ops: *const rte_mempool_ops) -> ::std::os::raw::c_int;
6619}
6620pub type rte_mempool_obj_cb_t = ::std::option::Option<
6621 unsafe extern "C" fn(
6622 mp: *mut rte_mempool,
6623 opaque: *mut ::std::os::raw::c_void,
6624 obj: *mut ::std::os::raw::c_void,
6625 obj_idx: ::std::os::raw::c_uint,
6626 ),
6627>;
6628pub type rte_mempool_obj_ctor_t = rte_mempool_obj_cb_t;
6629pub type rte_mempool_mem_cb_t = ::std::option::Option<
6630 unsafe extern "C" fn(
6631 mp: *mut rte_mempool,
6632 opaque: *mut ::std::os::raw::c_void,
6633 memhdr: *mut rte_mempool_memhdr,
6634 mem_idx: ::std::os::raw::c_uint,
6635 ),
6636>;
6637pub type rte_mempool_ctor_t = ::std::option::Option<
6638 unsafe extern "C" fn(arg1: *mut rte_mempool, arg2: *mut ::std::os::raw::c_void),
6639>;
6640extern "C" {
6641 pub fn rte_mempool_create(
6642 name: *const ::std::os::raw::c_char,
6643 n: ::std::os::raw::c_uint,
6644 elt_size: ::std::os::raw::c_uint,
6645 cache_size: ::std::os::raw::c_uint,
6646 private_data_size: ::std::os::raw::c_uint,
6647 mp_init: rte_mempool_ctor_t,
6648 mp_init_arg: *mut ::std::os::raw::c_void,
6649 obj_init: rte_mempool_obj_cb_t,
6650 obj_init_arg: *mut ::std::os::raw::c_void,
6651 socket_id: ::std::os::raw::c_int,
6652 flags: ::std::os::raw::c_uint,
6653 ) -> *mut rte_mempool;
6654}
6655extern "C" {
6656 pub fn rte_mempool_create_empty(
6657 name: *const ::std::os::raw::c_char,
6658 n: ::std::os::raw::c_uint,
6659 elt_size: ::std::os::raw::c_uint,
6660 cache_size: ::std::os::raw::c_uint,
6661 private_data_size: ::std::os::raw::c_uint,
6662 socket_id: ::std::os::raw::c_int,
6663 flags: ::std::os::raw::c_uint,
6664 ) -> *mut rte_mempool;
6665}
6666extern "C" {
6667 pub fn rte_mempool_free(mp: *mut rte_mempool);
6668}
6669extern "C" {
6670 pub fn rte_mempool_populate_iova(
6671 mp: *mut rte_mempool,
6672 vaddr: *mut ::std::os::raw::c_char,
6673 iova: rte_iova_t,
6674 len: size_t,
6675 free_cb: rte_mempool_memchunk_free_cb_t,
6676 opaque: *mut ::std::os::raw::c_void,
6677 ) -> ::std::os::raw::c_int;
6678}
6679extern "C" {
6680 pub fn rte_mempool_populate_virt(
6681 mp: *mut rte_mempool,
6682 addr: *mut ::std::os::raw::c_char,
6683 len: size_t,
6684 pg_sz: size_t,
6685 free_cb: rte_mempool_memchunk_free_cb_t,
6686 opaque: *mut ::std::os::raw::c_void,
6687 ) -> ::std::os::raw::c_int;
6688}
6689extern "C" {
6690 pub fn rte_mempool_populate_default(mp: *mut rte_mempool) -> ::std::os::raw::c_int;
6691}
6692extern "C" {
6693 pub fn rte_mempool_populate_anon(mp: *mut rte_mempool) -> ::std::os::raw::c_int;
6694}
6695extern "C" {
6696 pub fn rte_mempool_obj_iter(
6697 mp: *mut rte_mempool,
6698 obj_cb: rte_mempool_obj_cb_t,
6699 obj_cb_arg: *mut ::std::os::raw::c_void,
6700 ) -> u32;
6701}
6702extern "C" {
6703 pub fn rte_mempool_mem_iter(
6704 mp: *mut rte_mempool,
6705 mem_cb: rte_mempool_mem_cb_t,
6706 mem_cb_arg: *mut ::std::os::raw::c_void,
6707 ) -> u32;
6708}
6709extern "C" {
6710 pub fn rte_mempool_dump(f: *mut FILE, mp: *mut rte_mempool);
6711}
6712extern "C" {
6713 pub fn rte_mempool_cache_create(
6714 size: u32,
6715 socket_id: ::std::os::raw::c_int,
6716 ) -> *mut rte_mempool_cache;
6717}
6718extern "C" {
6719 pub fn rte_mempool_cache_free(cache: *mut rte_mempool_cache);
6720}
6721extern "C" {
6722 pub fn rte_mempool_avail_count(mp: *const rte_mempool) -> ::std::os::raw::c_uint;
6723}
6724extern "C" {
6725 pub fn rte_mempool_in_use_count(mp: *const rte_mempool) -> ::std::os::raw::c_uint;
6726}
6727extern "C" {
6728 pub fn rte_mempool_audit(mp: *mut rte_mempool);
6729}
6730extern "C" {
6731 pub fn rte_mempool_list_dump(f: *mut FILE);
6732}
6733extern "C" {
6734 pub fn rte_mempool_lookup(name: *const ::std::os::raw::c_char) -> *mut rte_mempool;
6735}
6736extern "C" {
6737 pub fn rte_mempool_calc_obj_size(elt_size: u32, flags: u32, sz: *mut rte_mempool_objsz) -> u32;
6738}
6739extern "C" {
6740 pub fn rte_mempool_walk(
6741 func: ::std::option::Option<
6742 unsafe extern "C" fn(arg1: *mut rte_mempool, arg: *mut ::std::os::raw::c_void),
6743 >,
6744 arg: *mut ::std::os::raw::c_void,
6745 );
6746}
6747extern "C" {
6748 pub fn rte_mempool_get_page_size(
6749 mp: *mut rte_mempool,
6750 pg_sz: *mut size_t,
6751 ) -> ::std::os::raw::c_int;
6752}
6753pub type rte_be16_t = u16;
6754pub type rte_be32_t = u32;
6755pub type rte_be64_t = u64;
6756pub type rte_le16_t = u16;
6757pub type rte_le32_t = u32;
6758pub type rte_le64_t = u64;
6759extern "C" {
6760 pub fn rte_get_ptype_l2_name(ptype: u32) -> *const ::std::os::raw::c_char;
6761}
6762extern "C" {
6763 pub fn rte_get_ptype_l3_name(ptype: u32) -> *const ::std::os::raw::c_char;
6764}
6765extern "C" {
6766 pub fn rte_get_ptype_l4_name(ptype: u32) -> *const ::std::os::raw::c_char;
6767}
6768extern "C" {
6769 pub fn rte_get_ptype_tunnel_name(ptype: u32) -> *const ::std::os::raw::c_char;
6770}
6771extern "C" {
6772 pub fn rte_get_ptype_inner_l2_name(ptype: u32) -> *const ::std::os::raw::c_char;
6773}
6774extern "C" {
6775 pub fn rte_get_ptype_inner_l3_name(ptype: u32) -> *const ::std::os::raw::c_char;
6776}
6777extern "C" {
6778 pub fn rte_get_ptype_inner_l4_name(ptype: u32) -> *const ::std::os::raw::c_char;
6779}
6780extern "C" {
6781 pub fn rte_get_ptype_name(
6782 ptype: u32,
6783 buf: *mut ::std::os::raw::c_char,
6784 buflen: size_t,
6785 ) -> ::std::os::raw::c_int;
6786}
6787pub type MARKER = [*mut ::std::os::raw::c_void; 0usize];
6788pub type MARKER64 = [u64; 0usize];
6789#[repr(C)]
6790#[derive(Debug, Default, Copy, Clone, PartialEq)]
6791pub struct rte_mbuf_sched {
6792 pub queue_id: u32,
6793 pub traffic_class: u8,
6794 pub color: u8,
6795 pub reserved: u16,
6796}
6797#[test]
6798fn bindgen_test_layout_rte_mbuf_sched() {
6799 assert_eq!(
6800 ::std::mem::size_of::<rte_mbuf_sched>(),
6801 8usize,
6802 concat!("Size of: ", stringify!(rte_mbuf_sched))
6803 );
6804 assert_eq!(
6805 ::std::mem::align_of::<rte_mbuf_sched>(),
6806 4usize,
6807 concat!("Alignment of ", stringify!(rte_mbuf_sched))
6808 );
6809 assert_eq!(
6810 unsafe { &(*(::std::ptr::null::<rte_mbuf_sched>())).queue_id as *const _ as usize },
6811 0usize,
6812 concat!(
6813 "Offset of field: ",
6814 stringify!(rte_mbuf_sched),
6815 "::",
6816 stringify!(queue_id)
6817 )
6818 );
6819 assert_eq!(
6820 unsafe { &(*(::std::ptr::null::<rte_mbuf_sched>())).traffic_class as *const _ as usize },
6821 4usize,
6822 concat!(
6823 "Offset of field: ",
6824 stringify!(rte_mbuf_sched),
6825 "::",
6826 stringify!(traffic_class)
6827 )
6828 );
6829 assert_eq!(
6830 unsafe { &(*(::std::ptr::null::<rte_mbuf_sched>())).color as *const _ as usize },
6831 5usize,
6832 concat!(
6833 "Offset of field: ",
6834 stringify!(rte_mbuf_sched),
6835 "::",
6836 stringify!(color)
6837 )
6838 );
6839 assert_eq!(
6840 unsafe { &(*(::std::ptr::null::<rte_mbuf_sched>())).reserved as *const _ as usize },
6841 6usize,
6842 concat!(
6843 "Offset of field: ",
6844 stringify!(rte_mbuf_sched),
6845 "::",
6846 stringify!(reserved)
6847 )
6848 );
6849}
6850pub mod _bindgen_ty_14 {
6851 pub type Type = ::std::os::raw::c_uint;
6852 pub const RTE_MBUF_L2_LEN_BITS: Type = 7;
6853 pub const RTE_MBUF_L3_LEN_BITS: Type = 9;
6854 pub const RTE_MBUF_L4_LEN_BITS: Type = 8;
6855 pub const RTE_MBUF_TSO_SEGSZ_BITS: Type = 16;
6856 pub const RTE_MBUF_OUTL3_LEN_BITS: Type = 9;
6857 pub const RTE_MBUF_OUTL2_LEN_BITS: Type = 7;
6858 pub const RTE_MBUF_TXOFLD_UNUSED_BITS: Type = 8;
6859 pub const RTE_MBUF_L2_LEN_OFS: Type = 0;
6860 pub const RTE_MBUF_L3_LEN_OFS: Type = 7;
6861 pub const RTE_MBUF_L4_LEN_OFS: Type = 16;
6862 pub const RTE_MBUF_TSO_SEGSZ_OFS: Type = 24;
6863 pub const RTE_MBUF_OUTL3_LEN_OFS: Type = 40;
6864 pub const RTE_MBUF_OUTL2_LEN_OFS: Type = 49;
6865 pub const RTE_MBUF_TXOFLD_UNUSED_OFS: Type = 56;
6866}
6867#[repr(C)]
6868#[repr(align(64))]
6869pub struct rte_mbuf {
6870 pub cacheline0: MARKER,
6871 pub buf_addr: *mut ::std::os::raw::c_void,
6872 pub __bindgen_anon_1: rte_mbuf__bindgen_ty_1,
6873 pub rearm_data: MARKER64,
6874 pub data_off: u16,
6875 pub __bindgen_anon_2: rte_mbuf__bindgen_ty_2,
6876 pub nb_segs: u16,
6877 pub port: u16,
6878 pub ol_flags: u64,
6879 pub rx_descriptor_fields1: MARKER,
6880 pub __bindgen_anon_3: rte_mbuf__bindgen_ty_3,
6881 pub pkt_len: u32,
6882 pub data_len: u16,
6883 pub vlan_tci: u16,
6884 pub __bindgen_anon_4: rte_mbuf__bindgen_ty_4,
6885 pub vlan_tci_outer: u16,
6886 pub buf_len: u16,
6887 pub timestamp: u64,
6888 pub cacheline1: MARKER,
6889 pub __bindgen_anon_5: rte_mbuf__bindgen_ty_5,
6890 pub pool: *mut rte_mempool,
6891 pub next: *mut rte_mbuf,
6892 pub __bindgen_anon_6: rte_mbuf__bindgen_ty_6,
6893 pub priv_size: u16,
6894 pub timesync: u16,
6895 pub seqn: u32,
6896 pub shinfo: *mut rte_mbuf_ext_shared_info,
6897 pub dynfield1: [u64; 2usize],
6898}
6899#[repr(C)]
6900#[derive(Copy, Clone)]
6901pub union rte_mbuf__bindgen_ty_1 {
6902 pub buf_iova: rte_iova_t,
6903 pub buf_physaddr: rte_iova_t,
6904 _bindgen_union_align: u64,
6905}
6906#[test]
6907fn bindgen_test_layout_rte_mbuf__bindgen_ty_1() {
6908 assert_eq!(
6909 ::std::mem::size_of::<rte_mbuf__bindgen_ty_1>(),
6910 8usize,
6911 concat!("Size of: ", stringify!(rte_mbuf__bindgen_ty_1))
6912 );
6913 assert_eq!(
6914 ::std::mem::align_of::<rte_mbuf__bindgen_ty_1>(),
6915 8usize,
6916 concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_1))
6917 );
6918 assert_eq!(
6919 unsafe { &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_1>())).buf_iova as *const _ as usize },
6920 0usize,
6921 concat!(
6922 "Offset of field: ",
6923 stringify!(rte_mbuf__bindgen_ty_1),
6924 "::",
6925 stringify!(buf_iova)
6926 )
6927 );
6928 assert_eq!(
6929 unsafe {
6930 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_1>())).buf_physaddr as *const _ as usize
6931 },
6932 0usize,
6933 concat!(
6934 "Offset of field: ",
6935 stringify!(rte_mbuf__bindgen_ty_1),
6936 "::",
6937 stringify!(buf_physaddr)
6938 )
6939 );
6940}
6941impl Default for rte_mbuf__bindgen_ty_1 {
6942 fn default() -> Self {
6943 unsafe { ::std::mem::zeroed() }
6944 }
6945}
6946#[repr(C)]
6947#[derive(Copy, Clone)]
6948pub union rte_mbuf__bindgen_ty_2 {
6949 pub refcnt_atomic: rte_atomic16_t,
6950 pub refcnt: u16,
6951 _bindgen_union_align: u16,
6952}
6953#[test]
6954fn bindgen_test_layout_rte_mbuf__bindgen_ty_2() {
6955 assert_eq!(
6956 ::std::mem::size_of::<rte_mbuf__bindgen_ty_2>(),
6957 2usize,
6958 concat!("Size of: ", stringify!(rte_mbuf__bindgen_ty_2))
6959 );
6960 assert_eq!(
6961 ::std::mem::align_of::<rte_mbuf__bindgen_ty_2>(),
6962 2usize,
6963 concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_2))
6964 );
6965 assert_eq!(
6966 unsafe {
6967 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_2>())).refcnt_atomic as *const _ as usize
6968 },
6969 0usize,
6970 concat!(
6971 "Offset of field: ",
6972 stringify!(rte_mbuf__bindgen_ty_2),
6973 "::",
6974 stringify!(refcnt_atomic)
6975 )
6976 );
6977 assert_eq!(
6978 unsafe { &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_2>())).refcnt as *const _ as usize },
6979 0usize,
6980 concat!(
6981 "Offset of field: ",
6982 stringify!(rte_mbuf__bindgen_ty_2),
6983 "::",
6984 stringify!(refcnt)
6985 )
6986 );
6987}
6988impl Default for rte_mbuf__bindgen_ty_2 {
6989 fn default() -> Self {
6990 unsafe { ::std::mem::zeroed() }
6991 }
6992}
6993#[repr(C)]
6994#[derive(Copy, Clone)]
6995pub union rte_mbuf__bindgen_ty_3 {
6996 pub packet_type: u32,
6997 pub __bindgen_anon_1: rte_mbuf__bindgen_ty_3__bindgen_ty_1,
6998 _bindgen_union_align: u32,
6999}
7000#[repr(C)]
7001#[repr(align(4))]
7002#[derive(Copy, Clone)]
7003pub struct rte_mbuf__bindgen_ty_3__bindgen_ty_1 {
7004 pub _bitfield_align_1: [u8; 0],
7005 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
7006 pub __bindgen_anon_1: rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1,
7007 pub _bitfield_align_2: [u8; 0],
7008 pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>,
7009}
7010#[repr(C)]
7011#[derive(Copy, Clone)]
7012pub union rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 {
7013 pub inner_esp_next_proto: u8,
7014 pub __bindgen_anon_1: rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
7015 _bindgen_union_align: u8,
7016}
7017#[repr(C, packed)]
7018#[derive(Debug, Default, Copy, Clone, PartialEq)]
7019pub struct rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
7020 pub _bitfield_align_1: [u8; 0],
7021 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7022}
7023#[test]
7024fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
7025 assert_eq!(
7026 ::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
7027 1usize,
7028 concat!(
7029 "Size of: ",
7030 stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
7031 )
7032 );
7033 assert_eq!(
7034 ::std::mem::align_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
7035 1usize,
7036 concat!(
7037 "Alignment of ",
7038 stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
7039 )
7040 );
7041}
7042impl rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
7043 #[inline]
7044 pub fn inner_l2_type(&self) -> u8 {
7045 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
7046 }
7047 #[inline]
7048 pub fn set_inner_l2_type(&mut self, val: u8) {
7049 unsafe {
7050 let val: u8 = ::std::mem::transmute(val);
7051 self._bitfield_1.set(0usize, 4u8, val as u64)
7052 }
7053 }
7054 #[inline]
7055 pub fn inner_l3_type(&self) -> u8 {
7056 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
7057 }
7058 #[inline]
7059 pub fn set_inner_l3_type(&mut self, val: u8) {
7060 unsafe {
7061 let val: u8 = ::std::mem::transmute(val);
7062 self._bitfield_1.set(4usize, 4u8, val as u64)
7063 }
7064 }
7065 #[inline]
7066 pub fn new_bitfield_1(
7067 inner_l2_type: u8,
7068 inner_l3_type: u8,
7069 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7070 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7071 __bindgen_bitfield_unit.set(0usize, 4u8, {
7072 let inner_l2_type: u8 = unsafe { ::std::mem::transmute(inner_l2_type) };
7073 inner_l2_type as u64
7074 });
7075 __bindgen_bitfield_unit.set(4usize, 4u8, {
7076 let inner_l3_type: u8 = unsafe { ::std::mem::transmute(inner_l3_type) };
7077 inner_l3_type as u64
7078 });
7079 __bindgen_bitfield_unit
7080 }
7081}
7082#[test]
7083fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1() {
7084 assert_eq!(
7085 ::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1>(),
7086 1usize,
7087 concat!(
7088 "Size of: ",
7089 stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1)
7090 )
7091 );
7092 assert_eq!(
7093 ::std::mem::align_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1>(),
7094 1usize,
7095 concat!(
7096 "Alignment of ",
7097 stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1)
7098 )
7099 );
7100 assert_eq!(
7101 unsafe {
7102 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1>()))
7103 .inner_esp_next_proto as *const _ as usize
7104 },
7105 0usize,
7106 concat!(
7107 "Offset of field: ",
7108 stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1),
7109 "::",
7110 stringify!(inner_esp_next_proto)
7111 )
7112 );
7113}
7114impl Default for rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 {
7115 fn default() -> Self {
7116 unsafe { ::std::mem::zeroed() }
7117 }
7118}
7119#[test]
7120fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1() {
7121 assert_eq!(
7122 ::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1>(),
7123 4usize,
7124 concat!(
7125 "Size of: ",
7126 stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1)
7127 )
7128 );
7129 assert_eq!(
7130 ::std::mem::align_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1>(),
7131 4usize,
7132 concat!(
7133 "Alignment of ",
7134 stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1)
7135 )
7136 );
7137}
7138impl Default for rte_mbuf__bindgen_ty_3__bindgen_ty_1 {
7139 fn default() -> Self {
7140 unsafe { ::std::mem::zeroed() }
7141 }
7142}
7143impl rte_mbuf__bindgen_ty_3__bindgen_ty_1 {
7144 #[inline]
7145 pub fn l2_type(&self) -> u32 {
7146 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u32) }
7147 }
7148 #[inline]
7149 pub fn set_l2_type(&mut self, val: u32) {
7150 unsafe {
7151 let val: u32 = ::std::mem::transmute(val);
7152 self._bitfield_1.set(0usize, 4u8, val as u64)
7153 }
7154 }
7155 #[inline]
7156 pub fn l3_type(&self) -> u32 {
7157 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u32) }
7158 }
7159 #[inline]
7160 pub fn set_l3_type(&mut self, val: u32) {
7161 unsafe {
7162 let val: u32 = ::std::mem::transmute(val);
7163 self._bitfield_1.set(4usize, 4u8, val as u64)
7164 }
7165 }
7166 #[inline]
7167 pub fn l4_type(&self) -> u32 {
7168 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u32) }
7169 }
7170 #[inline]
7171 pub fn set_l4_type(&mut self, val: u32) {
7172 unsafe {
7173 let val: u32 = ::std::mem::transmute(val);
7174 self._bitfield_1.set(8usize, 4u8, val as u64)
7175 }
7176 }
7177 #[inline]
7178 pub fn tun_type(&self) -> u32 {
7179 unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u32) }
7180 }
7181 #[inline]
7182 pub fn set_tun_type(&mut self, val: u32) {
7183 unsafe {
7184 let val: u32 = ::std::mem::transmute(val);
7185 self._bitfield_1.set(12usize, 4u8, val as u64)
7186 }
7187 }
7188 #[inline]
7189 pub fn new_bitfield_1(
7190 l2_type: u32,
7191 l3_type: u32,
7192 l4_type: u32,
7193 tun_type: u32,
7194 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
7195 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
7196 __bindgen_bitfield_unit.set(0usize, 4u8, {
7197 let l2_type: u32 = unsafe { ::std::mem::transmute(l2_type) };
7198 l2_type as u64
7199 });
7200 __bindgen_bitfield_unit.set(4usize, 4u8, {
7201 let l3_type: u32 = unsafe { ::std::mem::transmute(l3_type) };
7202 l3_type as u64
7203 });
7204 __bindgen_bitfield_unit.set(8usize, 4u8, {
7205 let l4_type: u32 = unsafe { ::std::mem::transmute(l4_type) };
7206 l4_type as u64
7207 });
7208 __bindgen_bitfield_unit.set(12usize, 4u8, {
7209 let tun_type: u32 = unsafe { ::std::mem::transmute(tun_type) };
7210 tun_type as u64
7211 });
7212 __bindgen_bitfield_unit
7213 }
7214 #[inline]
7215 pub fn inner_l4_type(&self) -> u32 {
7216 unsafe { ::std::mem::transmute(self._bitfield_2.get(0usize, 4u8) as u32) }
7217 }
7218 #[inline]
7219 pub fn set_inner_l4_type(&mut self, val: u32) {
7220 unsafe {
7221 let val: u32 = ::std::mem::transmute(val);
7222 self._bitfield_2.set(0usize, 4u8, val as u64)
7223 }
7224 }
7225 #[inline]
7226 pub fn new_bitfield_2(inner_l4_type: u32) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7227 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7228 __bindgen_bitfield_unit.set(0usize, 4u8, {
7229 let inner_l4_type: u32 = unsafe { ::std::mem::transmute(inner_l4_type) };
7230 inner_l4_type as u64
7231 });
7232 __bindgen_bitfield_unit
7233 }
7234}
7235#[test]
7236fn bindgen_test_layout_rte_mbuf__bindgen_ty_3() {
7237 assert_eq!(
7238 ::std::mem::size_of::<rte_mbuf__bindgen_ty_3>(),
7239 4usize,
7240 concat!("Size of: ", stringify!(rte_mbuf__bindgen_ty_3))
7241 );
7242 assert_eq!(
7243 ::std::mem::align_of::<rte_mbuf__bindgen_ty_3>(),
7244 4usize,
7245 concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_3))
7246 );
7247 assert_eq!(
7248 unsafe {
7249 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_3>())).packet_type as *const _ as usize
7250 },
7251 0usize,
7252 concat!(
7253 "Offset of field: ",
7254 stringify!(rte_mbuf__bindgen_ty_3),
7255 "::",
7256 stringify!(packet_type)
7257 )
7258 );
7259}
7260impl Default for rte_mbuf__bindgen_ty_3 {
7261 fn default() -> Self {
7262 unsafe { ::std::mem::zeroed() }
7263 }
7264}
7265#[repr(C)]
7266#[derive(Copy, Clone)]
7267pub union rte_mbuf__bindgen_ty_4 {
7268 pub hash: rte_mbuf__bindgen_ty_4__bindgen_ty_1,
7269 _bindgen_union_align: [u32; 2usize],
7270}
7271#[repr(C)]
7272#[derive(Copy, Clone)]
7273pub union rte_mbuf__bindgen_ty_4__bindgen_ty_1 {
7274 pub rss: u32,
7275 pub fdir: rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1,
7276 pub sched: rte_mbuf_sched,
7277 pub txadapter: rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2,
7278 pub usr: u32,
7279 _bindgen_union_align: [u32; 2usize],
7280}
7281#[repr(C)]
7282#[derive(Copy, Clone)]
7283pub struct rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
7284 pub __bindgen_anon_1: rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
7285 pub hi: u32,
7286}
7287#[repr(C)]
7288#[derive(Copy, Clone)]
7289pub union rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
7290 pub __bindgen_anon_1:
7291 rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
7292 pub lo: u32,
7293 _bindgen_union_align: u32,
7294}
7295#[repr(C)]
7296#[derive(Debug, Default, Copy, Clone, PartialEq)]
7297pub struct rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
7298 pub hash: u16,
7299 pub id: u16,
7300}
7301#[test]
7302fn bindgen_test_layout_rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1(
7303) {
7304 assert_eq!(
7305 ::std::mem::size_of::<
7306 rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
7307 >(),
7308 4usize,
7309 concat!(
7310 "Size of: ",
7311 stringify!(
7312 rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
7313 )
7314 )
7315 );
7316 assert_eq!(
7317 ::std::mem::align_of::<
7318 rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
7319 >(),
7320 2usize,
7321 concat!(
7322 "Alignment of ",
7323 stringify!(
7324 rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
7325 )
7326 )
7327 );
7328 assert_eq!(
7329 unsafe {
7330 &(*(::std::ptr::null::<
7331 rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
7332 >()))
7333 .hash as *const _ as usize
7334 },
7335 0usize,
7336 concat!(
7337 "Offset of field: ",
7338 stringify!(
7339 rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
7340 ),
7341 "::",
7342 stringify!(hash)
7343 )
7344 );
7345 assert_eq!(
7346 unsafe {
7347 &(*(::std::ptr::null::<
7348 rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
7349 >()))
7350 .id as *const _ as usize
7351 },
7352 2usize,
7353 concat!(
7354 "Offset of field: ",
7355 stringify!(
7356 rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
7357 ),
7358 "::",
7359 stringify!(id)
7360 )
7361 );
7362}
7363#[test]
7364fn bindgen_test_layout_rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
7365 assert_eq!(
7366 ::std::mem::size_of::<rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
7367 4usize,
7368 concat!(
7369 "Size of: ",
7370 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
7371 )
7372 );
7373 assert_eq!(
7374 ::std::mem::align_of::<rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
7375 4usize,
7376 concat!(
7377 "Alignment of ",
7378 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
7379 )
7380 );
7381 assert_eq!(
7382 unsafe {
7383 & (* (:: std :: ptr :: null :: < rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 > ())) . lo as * const _ as usize
7384 },
7385 0usize,
7386 concat!(
7387 "Offset of field: ",
7388 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
7389 "::",
7390 stringify!(lo)
7391 )
7392 );
7393}
7394impl Default for rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
7395 fn default() -> Self {
7396 unsafe { ::std::mem::zeroed() }
7397 }
7398}
7399#[test]
7400fn bindgen_test_layout_rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1() {
7401 assert_eq!(
7402 ::std::mem::size_of::<rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1>(),
7403 8usize,
7404 concat!(
7405 "Size of: ",
7406 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1)
7407 )
7408 );
7409 assert_eq!(
7410 ::std::mem::align_of::<rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1>(),
7411 4usize,
7412 concat!(
7413 "Alignment of ",
7414 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1)
7415 )
7416 );
7417 assert_eq!(
7418 unsafe {
7419 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1>())).hi
7420 as *const _ as usize
7421 },
7422 4usize,
7423 concat!(
7424 "Offset of field: ",
7425 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1),
7426 "::",
7427 stringify!(hi)
7428 )
7429 );
7430}
7431impl Default for rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
7432 fn default() -> Self {
7433 unsafe { ::std::mem::zeroed() }
7434 }
7435}
7436#[repr(C)]
7437#[derive(Debug, Default, Copy, Clone, PartialEq)]
7438pub struct rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2 {
7439 pub reserved1: u32,
7440 pub reserved2: u16,
7441 pub txq: u16,
7442}
7443#[test]
7444fn bindgen_test_layout_rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2() {
7445 assert_eq!(
7446 ::std::mem::size_of::<rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2>(),
7447 8usize,
7448 concat!(
7449 "Size of: ",
7450 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2)
7451 )
7452 );
7453 assert_eq!(
7454 ::std::mem::align_of::<rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2>(),
7455 4usize,
7456 concat!(
7457 "Alignment of ",
7458 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2)
7459 )
7460 );
7461 assert_eq!(
7462 unsafe {
7463 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2>())).reserved1
7464 as *const _ as usize
7465 },
7466 0usize,
7467 concat!(
7468 "Offset of field: ",
7469 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2),
7470 "::",
7471 stringify!(reserved1)
7472 )
7473 );
7474 assert_eq!(
7475 unsafe {
7476 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2>())).reserved2
7477 as *const _ as usize
7478 },
7479 4usize,
7480 concat!(
7481 "Offset of field: ",
7482 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2),
7483 "::",
7484 stringify!(reserved2)
7485 )
7486 );
7487 assert_eq!(
7488 unsafe {
7489 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2>())).txq
7490 as *const _ as usize
7491 },
7492 6usize,
7493 concat!(
7494 "Offset of field: ",
7495 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1__bindgen_ty_2),
7496 "::",
7497 stringify!(txq)
7498 )
7499 );
7500}
7501#[test]
7502fn bindgen_test_layout_rte_mbuf__bindgen_ty_4__bindgen_ty_1() {
7503 assert_eq!(
7504 ::std::mem::size_of::<rte_mbuf__bindgen_ty_4__bindgen_ty_1>(),
7505 8usize,
7506 concat!(
7507 "Size of: ",
7508 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1)
7509 )
7510 );
7511 assert_eq!(
7512 ::std::mem::align_of::<rte_mbuf__bindgen_ty_4__bindgen_ty_1>(),
7513 4usize,
7514 concat!(
7515 "Alignment of ",
7516 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1)
7517 )
7518 );
7519 assert_eq!(
7520 unsafe {
7521 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_4__bindgen_ty_1>())).rss as *const _
7522 as usize
7523 },
7524 0usize,
7525 concat!(
7526 "Offset of field: ",
7527 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1),
7528 "::",
7529 stringify!(rss)
7530 )
7531 );
7532 assert_eq!(
7533 unsafe {
7534 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_4__bindgen_ty_1>())).fdir as *const _
7535 as usize
7536 },
7537 0usize,
7538 concat!(
7539 "Offset of field: ",
7540 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1),
7541 "::",
7542 stringify!(fdir)
7543 )
7544 );
7545 assert_eq!(
7546 unsafe {
7547 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_4__bindgen_ty_1>())).sched as *const _
7548 as usize
7549 },
7550 0usize,
7551 concat!(
7552 "Offset of field: ",
7553 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1),
7554 "::",
7555 stringify!(sched)
7556 )
7557 );
7558 assert_eq!(
7559 unsafe {
7560 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_4__bindgen_ty_1>())).txadapter as *const _
7561 as usize
7562 },
7563 0usize,
7564 concat!(
7565 "Offset of field: ",
7566 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1),
7567 "::",
7568 stringify!(txadapter)
7569 )
7570 );
7571 assert_eq!(
7572 unsafe {
7573 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_4__bindgen_ty_1>())).usr as *const _
7574 as usize
7575 },
7576 0usize,
7577 concat!(
7578 "Offset of field: ",
7579 stringify!(rte_mbuf__bindgen_ty_4__bindgen_ty_1),
7580 "::",
7581 stringify!(usr)
7582 )
7583 );
7584}
7585impl Default for rte_mbuf__bindgen_ty_4__bindgen_ty_1 {
7586 fn default() -> Self {
7587 unsafe { ::std::mem::zeroed() }
7588 }
7589}
7590#[test]
7591fn bindgen_test_layout_rte_mbuf__bindgen_ty_4() {
7592 assert_eq!(
7593 ::std::mem::size_of::<rte_mbuf__bindgen_ty_4>(),
7594 8usize,
7595 concat!("Size of: ", stringify!(rte_mbuf__bindgen_ty_4))
7596 );
7597 assert_eq!(
7598 ::std::mem::align_of::<rte_mbuf__bindgen_ty_4>(),
7599 4usize,
7600 concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_4))
7601 );
7602 assert_eq!(
7603 unsafe { &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_4>())).hash as *const _ as usize },
7604 0usize,
7605 concat!(
7606 "Offset of field: ",
7607 stringify!(rte_mbuf__bindgen_ty_4),
7608 "::",
7609 stringify!(hash)
7610 )
7611 );
7612}
7613impl Default for rte_mbuf__bindgen_ty_4 {
7614 fn default() -> Self {
7615 unsafe { ::std::mem::zeroed() }
7616 }
7617}
7618#[repr(C)]
7619#[derive(Copy, Clone)]
7620pub union rte_mbuf__bindgen_ty_5 {
7621 pub userdata: *mut ::std::os::raw::c_void,
7622 pub udata64: u64,
7623 _bindgen_union_align: u64,
7624}
7625#[test]
7626fn bindgen_test_layout_rte_mbuf__bindgen_ty_5() {
7627 assert_eq!(
7628 ::std::mem::size_of::<rte_mbuf__bindgen_ty_5>(),
7629 8usize,
7630 concat!("Size of: ", stringify!(rte_mbuf__bindgen_ty_5))
7631 );
7632 assert_eq!(
7633 ::std::mem::align_of::<rte_mbuf__bindgen_ty_5>(),
7634 8usize,
7635 concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_5))
7636 );
7637 assert_eq!(
7638 unsafe { &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_5>())).userdata as *const _ as usize },
7639 0usize,
7640 concat!(
7641 "Offset of field: ",
7642 stringify!(rte_mbuf__bindgen_ty_5),
7643 "::",
7644 stringify!(userdata)
7645 )
7646 );
7647 assert_eq!(
7648 unsafe { &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_5>())).udata64 as *const _ as usize },
7649 0usize,
7650 concat!(
7651 "Offset of field: ",
7652 stringify!(rte_mbuf__bindgen_ty_5),
7653 "::",
7654 stringify!(udata64)
7655 )
7656 );
7657}
7658impl Default for rte_mbuf__bindgen_ty_5 {
7659 fn default() -> Self {
7660 unsafe { ::std::mem::zeroed() }
7661 }
7662}
7663#[repr(C)]
7664#[derive(Copy, Clone)]
7665pub union rte_mbuf__bindgen_ty_6 {
7666 pub tx_offload: u64,
7667 pub __bindgen_anon_1: rte_mbuf__bindgen_ty_6__bindgen_ty_1,
7668 _bindgen_union_align: u64,
7669}
7670#[repr(C)]
7671#[repr(align(8))]
7672#[derive(Debug, Default, Copy, Clone, PartialEq)]
7673pub struct rte_mbuf__bindgen_ty_6__bindgen_ty_1 {
7674 pub _bitfield_align_1: [u16; 0],
7675 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 7usize]>,
7676}
7677#[test]
7678fn bindgen_test_layout_rte_mbuf__bindgen_ty_6__bindgen_ty_1() {
7679 assert_eq!(
7680 ::std::mem::size_of::<rte_mbuf__bindgen_ty_6__bindgen_ty_1>(),
7681 8usize,
7682 concat!(
7683 "Size of: ",
7684 stringify!(rte_mbuf__bindgen_ty_6__bindgen_ty_1)
7685 )
7686 );
7687 assert_eq!(
7688 ::std::mem::align_of::<rte_mbuf__bindgen_ty_6__bindgen_ty_1>(),
7689 8usize,
7690 concat!(
7691 "Alignment of ",
7692 stringify!(rte_mbuf__bindgen_ty_6__bindgen_ty_1)
7693 )
7694 );
7695}
7696impl rte_mbuf__bindgen_ty_6__bindgen_ty_1 {
7697 #[inline]
7698 pub fn l2_len(&self) -> u64 {
7699 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 7u8) as u64) }
7700 }
7701 #[inline]
7702 pub fn set_l2_len(&mut self, val: u64) {
7703 unsafe {
7704 let val: u64 = ::std::mem::transmute(val);
7705 self._bitfield_1.set(0usize, 7u8, val as u64)
7706 }
7707 }
7708 #[inline]
7709 pub fn l3_len(&self) -> u64 {
7710 unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 9u8) as u64) }
7711 }
7712 #[inline]
7713 pub fn set_l3_len(&mut self, val: u64) {
7714 unsafe {
7715 let val: u64 = ::std::mem::transmute(val);
7716 self._bitfield_1.set(7usize, 9u8, val as u64)
7717 }
7718 }
7719 #[inline]
7720 pub fn l4_len(&self) -> u64 {
7721 unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 8u8) as u64) }
7722 }
7723 #[inline]
7724 pub fn set_l4_len(&mut self, val: u64) {
7725 unsafe {
7726 let val: u64 = ::std::mem::transmute(val);
7727 self._bitfield_1.set(16usize, 8u8, val as u64)
7728 }
7729 }
7730 #[inline]
7731 pub fn tso_segsz(&self) -> u64 {
7732 unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 16u8) as u64) }
7733 }
7734 #[inline]
7735 pub fn set_tso_segsz(&mut self, val: u64) {
7736 unsafe {
7737 let val: u64 = ::std::mem::transmute(val);
7738 self._bitfield_1.set(24usize, 16u8, val as u64)
7739 }
7740 }
7741 #[inline]
7742 pub fn outer_l3_len(&self) -> u64 {
7743 unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 9u8) as u64) }
7744 }
7745 #[inline]
7746 pub fn set_outer_l3_len(&mut self, val: u64) {
7747 unsafe {
7748 let val: u64 = ::std::mem::transmute(val);
7749 self._bitfield_1.set(40usize, 9u8, val as u64)
7750 }
7751 }
7752 #[inline]
7753 pub fn outer_l2_len(&self) -> u64 {
7754 unsafe { ::std::mem::transmute(self._bitfield_1.get(49usize, 7u8) as u64) }
7755 }
7756 #[inline]
7757 pub fn set_outer_l2_len(&mut self, val: u64) {
7758 unsafe {
7759 let val: u64 = ::std::mem::transmute(val);
7760 self._bitfield_1.set(49usize, 7u8, val as u64)
7761 }
7762 }
7763 #[inline]
7764 pub fn new_bitfield_1(
7765 l2_len: u64,
7766 l3_len: u64,
7767 l4_len: u64,
7768 tso_segsz: u64,
7769 outer_l3_len: u64,
7770 outer_l2_len: u64,
7771 ) -> __BindgenBitfieldUnit<[u8; 7usize]> {
7772 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 7usize]> = Default::default();
7773 __bindgen_bitfield_unit.set(0usize, 7u8, {
7774 let l2_len: u64 = unsafe { ::std::mem::transmute(l2_len) };
7775 l2_len as u64
7776 });
7777 __bindgen_bitfield_unit.set(7usize, 9u8, {
7778 let l3_len: u64 = unsafe { ::std::mem::transmute(l3_len) };
7779 l3_len as u64
7780 });
7781 __bindgen_bitfield_unit.set(16usize, 8u8, {
7782 let l4_len: u64 = unsafe { ::std::mem::transmute(l4_len) };
7783 l4_len as u64
7784 });
7785 __bindgen_bitfield_unit.set(24usize, 16u8, {
7786 let tso_segsz: u64 = unsafe { ::std::mem::transmute(tso_segsz) };
7787 tso_segsz as u64
7788 });
7789 __bindgen_bitfield_unit.set(40usize, 9u8, {
7790 let outer_l3_len: u64 = unsafe { ::std::mem::transmute(outer_l3_len) };
7791 outer_l3_len as u64
7792 });
7793 __bindgen_bitfield_unit.set(49usize, 7u8, {
7794 let outer_l2_len: u64 = unsafe { ::std::mem::transmute(outer_l2_len) };
7795 outer_l2_len as u64
7796 });
7797 __bindgen_bitfield_unit
7798 }
7799}
7800#[test]
7801fn bindgen_test_layout_rte_mbuf__bindgen_ty_6() {
7802 assert_eq!(
7803 ::std::mem::size_of::<rte_mbuf__bindgen_ty_6>(),
7804 8usize,
7805 concat!("Size of: ", stringify!(rte_mbuf__bindgen_ty_6))
7806 );
7807 assert_eq!(
7808 ::std::mem::align_of::<rte_mbuf__bindgen_ty_6>(),
7809 8usize,
7810 concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_6))
7811 );
7812 assert_eq!(
7813 unsafe {
7814 &(*(::std::ptr::null::<rte_mbuf__bindgen_ty_6>())).tx_offload as *const _ as usize
7815 },
7816 0usize,
7817 concat!(
7818 "Offset of field: ",
7819 stringify!(rte_mbuf__bindgen_ty_6),
7820 "::",
7821 stringify!(tx_offload)
7822 )
7823 );
7824}
7825impl Default for rte_mbuf__bindgen_ty_6 {
7826 fn default() -> Self {
7827 unsafe { ::std::mem::zeroed() }
7828 }
7829}
7830#[test]
7831fn bindgen_test_layout_rte_mbuf() {
7832 assert_eq!(
7833 ::std::mem::size_of::<rte_mbuf>(),
7834 128usize,
7835 concat!("Size of: ", stringify!(rte_mbuf))
7836 );
7837 assert_eq!(
7838 ::std::mem::align_of::<rte_mbuf>(),
7839 64usize,
7840 concat!("Alignment of ", stringify!(rte_mbuf))
7841 );
7842 assert_eq!(
7843 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).cacheline0 as *const _ as usize },
7844 0usize,
7845 concat!(
7846 "Offset of field: ",
7847 stringify!(rte_mbuf),
7848 "::",
7849 stringify!(cacheline0)
7850 )
7851 );
7852 assert_eq!(
7853 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).buf_addr as *const _ as usize },
7854 0usize,
7855 concat!(
7856 "Offset of field: ",
7857 stringify!(rte_mbuf),
7858 "::",
7859 stringify!(buf_addr)
7860 )
7861 );
7862 assert_eq!(
7863 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).rearm_data as *const _ as usize },
7864 16usize,
7865 concat!(
7866 "Offset of field: ",
7867 stringify!(rte_mbuf),
7868 "::",
7869 stringify!(rearm_data)
7870 )
7871 );
7872 assert_eq!(
7873 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).data_off as *const _ as usize },
7874 16usize,
7875 concat!(
7876 "Offset of field: ",
7877 stringify!(rte_mbuf),
7878 "::",
7879 stringify!(data_off)
7880 )
7881 );
7882 assert_eq!(
7883 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).nb_segs as *const _ as usize },
7884 20usize,
7885 concat!(
7886 "Offset of field: ",
7887 stringify!(rte_mbuf),
7888 "::",
7889 stringify!(nb_segs)
7890 )
7891 );
7892 assert_eq!(
7893 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).port as *const _ as usize },
7894 22usize,
7895 concat!(
7896 "Offset of field: ",
7897 stringify!(rte_mbuf),
7898 "::",
7899 stringify!(port)
7900 )
7901 );
7902 assert_eq!(
7903 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).ol_flags as *const _ as usize },
7904 24usize,
7905 concat!(
7906 "Offset of field: ",
7907 stringify!(rte_mbuf),
7908 "::",
7909 stringify!(ol_flags)
7910 )
7911 );
7912 assert_eq!(
7913 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).rx_descriptor_fields1 as *const _ as usize },
7914 32usize,
7915 concat!(
7916 "Offset of field: ",
7917 stringify!(rte_mbuf),
7918 "::",
7919 stringify!(rx_descriptor_fields1)
7920 )
7921 );
7922 assert_eq!(
7923 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).pkt_len as *const _ as usize },
7924 36usize,
7925 concat!(
7926 "Offset of field: ",
7927 stringify!(rte_mbuf),
7928 "::",
7929 stringify!(pkt_len)
7930 )
7931 );
7932 assert_eq!(
7933 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).data_len as *const _ as usize },
7934 40usize,
7935 concat!(
7936 "Offset of field: ",
7937 stringify!(rte_mbuf),
7938 "::",
7939 stringify!(data_len)
7940 )
7941 );
7942 assert_eq!(
7943 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).vlan_tci as *const _ as usize },
7944 42usize,
7945 concat!(
7946 "Offset of field: ",
7947 stringify!(rte_mbuf),
7948 "::",
7949 stringify!(vlan_tci)
7950 )
7951 );
7952 assert_eq!(
7953 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).vlan_tci_outer as *const _ as usize },
7954 52usize,
7955 concat!(
7956 "Offset of field: ",
7957 stringify!(rte_mbuf),
7958 "::",
7959 stringify!(vlan_tci_outer)
7960 )
7961 );
7962 assert_eq!(
7963 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).buf_len as *const _ as usize },
7964 54usize,
7965 concat!(
7966 "Offset of field: ",
7967 stringify!(rte_mbuf),
7968 "::",
7969 stringify!(buf_len)
7970 )
7971 );
7972 assert_eq!(
7973 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).timestamp as *const _ as usize },
7974 56usize,
7975 concat!(
7976 "Offset of field: ",
7977 stringify!(rte_mbuf),
7978 "::",
7979 stringify!(timestamp)
7980 )
7981 );
7982 assert_eq!(
7983 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).cacheline1 as *const _ as usize },
7984 64usize,
7985 concat!(
7986 "Offset of field: ",
7987 stringify!(rte_mbuf),
7988 "::",
7989 stringify!(cacheline1)
7990 )
7991 );
7992 assert_eq!(
7993 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).pool as *const _ as usize },
7994 72usize,
7995 concat!(
7996 "Offset of field: ",
7997 stringify!(rte_mbuf),
7998 "::",
7999 stringify!(pool)
8000 )
8001 );
8002 assert_eq!(
8003 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).next as *const _ as usize },
8004 80usize,
8005 concat!(
8006 "Offset of field: ",
8007 stringify!(rte_mbuf),
8008 "::",
8009 stringify!(next)
8010 )
8011 );
8012 assert_eq!(
8013 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).priv_size as *const _ as usize },
8014 96usize,
8015 concat!(
8016 "Offset of field: ",
8017 stringify!(rte_mbuf),
8018 "::",
8019 stringify!(priv_size)
8020 )
8021 );
8022 assert_eq!(
8023 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).timesync as *const _ as usize },
8024 98usize,
8025 concat!(
8026 "Offset of field: ",
8027 stringify!(rte_mbuf),
8028 "::",
8029 stringify!(timesync)
8030 )
8031 );
8032 assert_eq!(
8033 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).seqn as *const _ as usize },
8034 100usize,
8035 concat!(
8036 "Offset of field: ",
8037 stringify!(rte_mbuf),
8038 "::",
8039 stringify!(seqn)
8040 )
8041 );
8042 assert_eq!(
8043 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).shinfo as *const _ as usize },
8044 104usize,
8045 concat!(
8046 "Offset of field: ",
8047 stringify!(rte_mbuf),
8048 "::",
8049 stringify!(shinfo)
8050 )
8051 );
8052 assert_eq!(
8053 unsafe { &(*(::std::ptr::null::<rte_mbuf>())).dynfield1 as *const _ as usize },
8054 112usize,
8055 concat!(
8056 "Offset of field: ",
8057 stringify!(rte_mbuf),
8058 "::",
8059 stringify!(dynfield1)
8060 )
8061 );
8062}
8063impl Default for rte_mbuf {
8064 fn default() -> Self {
8065 unsafe { ::std::mem::zeroed() }
8066 }
8067}
8068pub type rte_mbuf_extbuf_free_callback_t = ::std::option::Option<
8069 unsafe extern "C" fn(addr: *mut ::std::os::raw::c_void, opaque: *mut ::std::os::raw::c_void),
8070>;
8071#[repr(C)]
8072#[derive(Debug, Copy, Clone, PartialEq)]
8073pub struct rte_mbuf_ext_shared_info {
8074 pub free_cb: rte_mbuf_extbuf_free_callback_t,
8075 pub fcb_opaque: *mut ::std::os::raw::c_void,
8076 pub refcnt_atomic: rte_atomic16_t,
8077}
8078#[test]
8079fn bindgen_test_layout_rte_mbuf_ext_shared_info() {
8080 assert_eq!(
8081 ::std::mem::size_of::<rte_mbuf_ext_shared_info>(),
8082 24usize,
8083 concat!("Size of: ", stringify!(rte_mbuf_ext_shared_info))
8084 );
8085 assert_eq!(
8086 ::std::mem::align_of::<rte_mbuf_ext_shared_info>(),
8087 8usize,
8088 concat!("Alignment of ", stringify!(rte_mbuf_ext_shared_info))
8089 );
8090 assert_eq!(
8091 unsafe {
8092 &(*(::std::ptr::null::<rte_mbuf_ext_shared_info>())).free_cb as *const _ as usize
8093 },
8094 0usize,
8095 concat!(
8096 "Offset of field: ",
8097 stringify!(rte_mbuf_ext_shared_info),
8098 "::",
8099 stringify!(free_cb)
8100 )
8101 );
8102 assert_eq!(
8103 unsafe {
8104 &(*(::std::ptr::null::<rte_mbuf_ext_shared_info>())).fcb_opaque as *const _ as usize
8105 },
8106 8usize,
8107 concat!(
8108 "Offset of field: ",
8109 stringify!(rte_mbuf_ext_shared_info),
8110 "::",
8111 stringify!(fcb_opaque)
8112 )
8113 );
8114 assert_eq!(
8115 unsafe {
8116 &(*(::std::ptr::null::<rte_mbuf_ext_shared_info>())).refcnt_atomic as *const _ as usize
8117 },
8118 16usize,
8119 concat!(
8120 "Offset of field: ",
8121 stringify!(rte_mbuf_ext_shared_info),
8122 "::",
8123 stringify!(refcnt_atomic)
8124 )
8125 );
8126}
8127impl Default for rte_mbuf_ext_shared_info {
8128 fn default() -> Self {
8129 unsafe { ::std::mem::zeroed() }
8130 }
8131}
8132extern "C" {
8133 pub fn rte_get_rx_ol_flag_name(mask: u64) -> *const ::std::os::raw::c_char;
8134}
8135extern "C" {
8136 pub fn rte_get_rx_ol_flag_list(
8137 mask: u64,
8138 buf: *mut ::std::os::raw::c_char,
8139 buflen: size_t,
8140 ) -> ::std::os::raw::c_int;
8141}
8142extern "C" {
8143 pub fn rte_get_tx_ol_flag_name(mask: u64) -> *const ::std::os::raw::c_char;
8144}
8145extern "C" {
8146 pub fn rte_get_tx_ol_flag_list(
8147 mask: u64,
8148 buf: *mut ::std::os::raw::c_char,
8149 buflen: size_t,
8150 ) -> ::std::os::raw::c_int;
8151}
8152#[repr(C)]
8153#[derive(Debug, Default, Copy, Clone, PartialEq)]
8154pub struct rte_pktmbuf_pool_private {
8155 pub mbuf_data_room_size: u16,
8156 pub mbuf_priv_size: u16,
8157 pub flags: u32,
8158}
8159#[test]
8160fn bindgen_test_layout_rte_pktmbuf_pool_private() {
8161 assert_eq!(
8162 ::std::mem::size_of::<rte_pktmbuf_pool_private>(),
8163 8usize,
8164 concat!("Size of: ", stringify!(rte_pktmbuf_pool_private))
8165 );
8166 assert_eq!(
8167 ::std::mem::align_of::<rte_pktmbuf_pool_private>(),
8168 4usize,
8169 concat!("Alignment of ", stringify!(rte_pktmbuf_pool_private))
8170 );
8171 assert_eq!(
8172 unsafe {
8173 &(*(::std::ptr::null::<rte_pktmbuf_pool_private>())).mbuf_data_room_size as *const _
8174 as usize
8175 },
8176 0usize,
8177 concat!(
8178 "Offset of field: ",
8179 stringify!(rte_pktmbuf_pool_private),
8180 "::",
8181 stringify!(mbuf_data_room_size)
8182 )
8183 );
8184 assert_eq!(
8185 unsafe {
8186 &(*(::std::ptr::null::<rte_pktmbuf_pool_private>())).mbuf_priv_size as *const _ as usize
8187 },
8188 2usize,
8189 concat!(
8190 "Offset of field: ",
8191 stringify!(rte_pktmbuf_pool_private),
8192 "::",
8193 stringify!(mbuf_priv_size)
8194 )
8195 );
8196 assert_eq!(
8197 unsafe { &(*(::std::ptr::null::<rte_pktmbuf_pool_private>())).flags as *const _ as usize },
8198 4usize,
8199 concat!(
8200 "Offset of field: ",
8201 stringify!(rte_pktmbuf_pool_private),
8202 "::",
8203 stringify!(flags)
8204 )
8205 );
8206}
8207extern "C" {
8208 pub fn rte_mbuf_sanity_check(m: *const rte_mbuf, is_header: ::std::os::raw::c_int);
8209}
8210extern "C" {
8211 pub fn rte_mbuf_check(
8212 m: *const rte_mbuf,
8213 is_header: ::std::os::raw::c_int,
8214 reason: *mut *const ::std::os::raw::c_char,
8215 ) -> ::std::os::raw::c_int;
8216}
8217extern "C" {
8218 pub fn rte_pktmbuf_init(
8219 mp: *mut rte_mempool,
8220 opaque_arg: *mut ::std::os::raw::c_void,
8221 m: *mut ::std::os::raw::c_void,
8222 i: ::std::os::raw::c_uint,
8223 );
8224}
8225extern "C" {
8226 pub fn rte_pktmbuf_pool_init(mp: *mut rte_mempool, opaque_arg: *mut ::std::os::raw::c_void);
8227}
8228extern "C" {
8229 pub fn rte_pktmbuf_pool_create(
8230 name: *const ::std::os::raw::c_char,
8231 n: ::std::os::raw::c_uint,
8232 cache_size: ::std::os::raw::c_uint,
8233 priv_size: u16,
8234 data_room_size: u16,
8235 socket_id: ::std::os::raw::c_int,
8236 ) -> *mut rte_mempool;
8237}
8238extern "C" {
8239 pub fn rte_pktmbuf_pool_create_by_ops(
8240 name: *const ::std::os::raw::c_char,
8241 n: ::std::os::raw::c_uint,
8242 cache_size: ::std::os::raw::c_uint,
8243 priv_size: u16,
8244 data_room_size: u16,
8245 socket_id: ::std::os::raw::c_int,
8246 ops_name: *const ::std::os::raw::c_char,
8247 ) -> *mut rte_mempool;
8248}
8249extern "C" {
8250 pub fn rte_pktmbuf_free_bulk(mbufs: *mut *mut rte_mbuf, count: ::std::os::raw::c_uint);
8251}
8252extern "C" {
8253 pub fn rte_pktmbuf_clone(md: *mut rte_mbuf, mp: *mut rte_mempool) -> *mut rte_mbuf;
8254}
8255extern "C" {
8256 pub fn rte_pktmbuf_copy(
8257 m: *const rte_mbuf,
8258 mp: *mut rte_mempool,
8259 offset: u32,
8260 length: u32,
8261 ) -> *mut rte_mbuf;
8262}
8263extern "C" {
8264 pub fn rte_pktmbuf_dump(f: *mut FILE, m: *const rte_mbuf, dump_len: ::std::os::raw::c_uint);
8265}
8266#[repr(C)]
8267#[repr(align(2))]
8268#[derive(Debug, Default, Copy, Clone, PartialEq)]
8269pub struct rte_ether_addr {
8270 pub addr_bytes: [u8; 6usize],
8271}
8272#[test]
8273fn bindgen_test_layout_rte_ether_addr() {
8274 assert_eq!(
8275 ::std::mem::size_of::<rte_ether_addr>(),
8276 6usize,
8277 concat!("Size of: ", stringify!(rte_ether_addr))
8278 );
8279 assert_eq!(
8280 ::std::mem::align_of::<rte_ether_addr>(),
8281 2usize,
8282 concat!("Alignment of ", stringify!(rte_ether_addr))
8283 );
8284 assert_eq!(
8285 unsafe { &(*(::std::ptr::null::<rte_ether_addr>())).addr_bytes as *const _ as usize },
8286 0usize,
8287 concat!(
8288 "Offset of field: ",
8289 stringify!(rte_ether_addr),
8290 "::",
8291 stringify!(addr_bytes)
8292 )
8293 );
8294}
8295extern "C" {
8296 pub fn rte_eth_random_addr(addr: *mut u8);
8297}
8298extern "C" {
8299 pub fn rte_ether_format_addr(
8300 buf: *mut ::std::os::raw::c_char,
8301 size: u16,
8302 eth_addr: *const rte_ether_addr,
8303 );
8304}
8305extern "C" {
8306 pub fn rte_ether_unformat_addr(
8307 str_: *const ::std::os::raw::c_char,
8308 eth_addr: *mut rte_ether_addr,
8309 ) -> ::std::os::raw::c_int;
8310}
8311#[repr(C)]
8312#[derive(Debug, Default, Copy, Clone, PartialEq)]
8313pub struct rte_ether_hdr {
8314 pub d_addr: rte_ether_addr,
8315 pub s_addr: rte_ether_addr,
8316 pub ether_type: u16,
8317}
8318#[test]
8319fn bindgen_test_layout_rte_ether_hdr() {
8320 assert_eq!(
8321 ::std::mem::size_of::<rte_ether_hdr>(),
8322 14usize,
8323 concat!("Size of: ", stringify!(rte_ether_hdr))
8324 );
8325 assert_eq!(
8326 ::std::mem::align_of::<rte_ether_hdr>(),
8327 2usize,
8328 concat!("Alignment of ", stringify!(rte_ether_hdr))
8329 );
8330 assert_eq!(
8331 unsafe { &(*(::std::ptr::null::<rte_ether_hdr>())).d_addr as *const _ as usize },
8332 0usize,
8333 concat!(
8334 "Offset of field: ",
8335 stringify!(rte_ether_hdr),
8336 "::",
8337 stringify!(d_addr)
8338 )
8339 );
8340 assert_eq!(
8341 unsafe { &(*(::std::ptr::null::<rte_ether_hdr>())).s_addr as *const _ as usize },
8342 6usize,
8343 concat!(
8344 "Offset of field: ",
8345 stringify!(rte_ether_hdr),
8346 "::",
8347 stringify!(s_addr)
8348 )
8349 );
8350 assert_eq!(
8351 unsafe { &(*(::std::ptr::null::<rte_ether_hdr>())).ether_type as *const _ as usize },
8352 12usize,
8353 concat!(
8354 "Offset of field: ",
8355 stringify!(rte_ether_hdr),
8356 "::",
8357 stringify!(ether_type)
8358 )
8359 );
8360}
8361#[repr(C, packed)]
8362#[derive(Debug, Default, Copy, Clone, PartialEq)]
8363pub struct rte_vlan_hdr {
8364 pub vlan_tci: u16,
8365 pub eth_proto: u16,
8366}
8367#[test]
8368fn bindgen_test_layout_rte_vlan_hdr() {
8369 assert_eq!(
8370 ::std::mem::size_of::<rte_vlan_hdr>(),
8371 4usize,
8372 concat!("Size of: ", stringify!(rte_vlan_hdr))
8373 );
8374 assert_eq!(
8375 ::std::mem::align_of::<rte_vlan_hdr>(),
8376 1usize,
8377 concat!("Alignment of ", stringify!(rte_vlan_hdr))
8378 );
8379 assert_eq!(
8380 unsafe { &(*(::std::ptr::null::<rte_vlan_hdr>())).vlan_tci as *const _ as usize },
8381 0usize,
8382 concat!(
8383 "Offset of field: ",
8384 stringify!(rte_vlan_hdr),
8385 "::",
8386 stringify!(vlan_tci)
8387 )
8388 );
8389 assert_eq!(
8390 unsafe { &(*(::std::ptr::null::<rte_vlan_hdr>())).eth_proto as *const _ as usize },
8391 2usize,
8392 concat!(
8393 "Offset of field: ",
8394 stringify!(rte_vlan_hdr),
8395 "::",
8396 stringify!(eth_proto)
8397 )
8398 );
8399}
8400#[repr(C)]
8401#[derive(Debug, Copy, Clone, PartialEq)]
8402pub struct rte_dev_reg_info {
8403 pub data: *mut ::std::os::raw::c_void,
8404 pub offset: u32,
8405 pub length: u32,
8406 pub width: u32,
8407 pub version: u32,
8408}
8409#[test]
8410fn bindgen_test_layout_rte_dev_reg_info() {
8411 assert_eq!(
8412 ::std::mem::size_of::<rte_dev_reg_info>(),
8413 24usize,
8414 concat!("Size of: ", stringify!(rte_dev_reg_info))
8415 );
8416 assert_eq!(
8417 ::std::mem::align_of::<rte_dev_reg_info>(),
8418 8usize,
8419 concat!("Alignment of ", stringify!(rte_dev_reg_info))
8420 );
8421 assert_eq!(
8422 unsafe { &(*(::std::ptr::null::<rte_dev_reg_info>())).data as *const _ as usize },
8423 0usize,
8424 concat!(
8425 "Offset of field: ",
8426 stringify!(rte_dev_reg_info),
8427 "::",
8428 stringify!(data)
8429 )
8430 );
8431 assert_eq!(
8432 unsafe { &(*(::std::ptr::null::<rte_dev_reg_info>())).offset as *const _ as usize },
8433 8usize,
8434 concat!(
8435 "Offset of field: ",
8436 stringify!(rte_dev_reg_info),
8437 "::",
8438 stringify!(offset)
8439 )
8440 );
8441 assert_eq!(
8442 unsafe { &(*(::std::ptr::null::<rte_dev_reg_info>())).length as *const _ as usize },
8443 12usize,
8444 concat!(
8445 "Offset of field: ",
8446 stringify!(rte_dev_reg_info),
8447 "::",
8448 stringify!(length)
8449 )
8450 );
8451 assert_eq!(
8452 unsafe { &(*(::std::ptr::null::<rte_dev_reg_info>())).width as *const _ as usize },
8453 16usize,
8454 concat!(
8455 "Offset of field: ",
8456 stringify!(rte_dev_reg_info),
8457 "::",
8458 stringify!(width)
8459 )
8460 );
8461 assert_eq!(
8462 unsafe { &(*(::std::ptr::null::<rte_dev_reg_info>())).version as *const _ as usize },
8463 20usize,
8464 concat!(
8465 "Offset of field: ",
8466 stringify!(rte_dev_reg_info),
8467 "::",
8468 stringify!(version)
8469 )
8470 );
8471}
8472impl Default for rte_dev_reg_info {
8473 fn default() -> Self {
8474 unsafe { ::std::mem::zeroed() }
8475 }
8476}
8477#[repr(C)]
8478#[derive(Debug, Copy, Clone, PartialEq)]
8479pub struct rte_dev_eeprom_info {
8480 pub data: *mut ::std::os::raw::c_void,
8481 pub offset: u32,
8482 pub length: u32,
8483 pub magic: u32,
8484}
8485#[test]
8486fn bindgen_test_layout_rte_dev_eeprom_info() {
8487 assert_eq!(
8488 ::std::mem::size_of::<rte_dev_eeprom_info>(),
8489 24usize,
8490 concat!("Size of: ", stringify!(rte_dev_eeprom_info))
8491 );
8492 assert_eq!(
8493 ::std::mem::align_of::<rte_dev_eeprom_info>(),
8494 8usize,
8495 concat!("Alignment of ", stringify!(rte_dev_eeprom_info))
8496 );
8497 assert_eq!(
8498 unsafe { &(*(::std::ptr::null::<rte_dev_eeprom_info>())).data as *const _ as usize },
8499 0usize,
8500 concat!(
8501 "Offset of field: ",
8502 stringify!(rte_dev_eeprom_info),
8503 "::",
8504 stringify!(data)
8505 )
8506 );
8507 assert_eq!(
8508 unsafe { &(*(::std::ptr::null::<rte_dev_eeprom_info>())).offset as *const _ as usize },
8509 8usize,
8510 concat!(
8511 "Offset of field: ",
8512 stringify!(rte_dev_eeprom_info),
8513 "::",
8514 stringify!(offset)
8515 )
8516 );
8517 assert_eq!(
8518 unsafe { &(*(::std::ptr::null::<rte_dev_eeprom_info>())).length as *const _ as usize },
8519 12usize,
8520 concat!(
8521 "Offset of field: ",
8522 stringify!(rte_dev_eeprom_info),
8523 "::",
8524 stringify!(length)
8525 )
8526 );
8527 assert_eq!(
8528 unsafe { &(*(::std::ptr::null::<rte_dev_eeprom_info>())).magic as *const _ as usize },
8529 16usize,
8530 concat!(
8531 "Offset of field: ",
8532 stringify!(rte_dev_eeprom_info),
8533 "::",
8534 stringify!(magic)
8535 )
8536 );
8537}
8538impl Default for rte_dev_eeprom_info {
8539 fn default() -> Self {
8540 unsafe { ::std::mem::zeroed() }
8541 }
8542}
8543#[repr(C)]
8544#[derive(Debug, Default, Copy, Clone, PartialEq)]
8545pub struct rte_eth_dev_module_info {
8546 pub type_: u32,
8547 pub eeprom_len: u32,
8548}
8549#[test]
8550fn bindgen_test_layout_rte_eth_dev_module_info() {
8551 assert_eq!(
8552 ::std::mem::size_of::<rte_eth_dev_module_info>(),
8553 8usize,
8554 concat!("Size of: ", stringify!(rte_eth_dev_module_info))
8555 );
8556 assert_eq!(
8557 ::std::mem::align_of::<rte_eth_dev_module_info>(),
8558 4usize,
8559 concat!("Alignment of ", stringify!(rte_eth_dev_module_info))
8560 );
8561 assert_eq!(
8562 unsafe { &(*(::std::ptr::null::<rte_eth_dev_module_info>())).type_ as *const _ as usize },
8563 0usize,
8564 concat!(
8565 "Offset of field: ",
8566 stringify!(rte_eth_dev_module_info),
8567 "::",
8568 stringify!(type_)
8569 )
8570 );
8571 assert_eq!(
8572 unsafe {
8573 &(*(::std::ptr::null::<rte_eth_dev_module_info>())).eeprom_len as *const _ as usize
8574 },
8575 4usize,
8576 concat!(
8577 "Offset of field: ",
8578 stringify!(rte_eth_dev_module_info),
8579 "::",
8580 stringify!(eeprom_len)
8581 )
8582 );
8583}
8584extern "C" {
8585 pub static mut rte_eth_dev_logtype: ::std::os::raw::c_int;
8586}
8587extern "C" {
8588 pub fn rte_eth_iterator_init(
8589 iter: *mut rte_dev_iterator,
8590 devargs: *const ::std::os::raw::c_char,
8591 ) -> ::std::os::raw::c_int;
8592}
8593extern "C" {
8594 pub fn rte_eth_iterator_next(iter: *mut rte_dev_iterator) -> u16;
8595}
8596extern "C" {
8597 pub fn rte_eth_iterator_cleanup(iter: *mut rte_dev_iterator);
8598}
8599#[repr(C)]
8600#[derive(Debug, Default, Copy, Clone, PartialEq)]
8601pub struct rte_eth_stats {
8602 pub ipackets: u64,
8603 pub opackets: u64,
8604 pub ibytes: u64,
8605 pub obytes: u64,
8606 pub imissed: u64,
8607 pub ierrors: u64,
8608 pub oerrors: u64,
8609 pub rx_nombuf: u64,
8610 pub q_ipackets: [u64; 16usize],
8611 pub q_opackets: [u64; 16usize],
8612 pub q_ibytes: [u64; 16usize],
8613 pub q_obytes: [u64; 16usize],
8614 pub q_errors: [u64; 16usize],
8615}
8616#[test]
8617fn bindgen_test_layout_rte_eth_stats() {
8618 assert_eq!(
8619 ::std::mem::size_of::<rte_eth_stats>(),
8620 704usize,
8621 concat!("Size of: ", stringify!(rte_eth_stats))
8622 );
8623 assert_eq!(
8624 ::std::mem::align_of::<rte_eth_stats>(),
8625 8usize,
8626 concat!("Alignment of ", stringify!(rte_eth_stats))
8627 );
8628 assert_eq!(
8629 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).ipackets as *const _ as usize },
8630 0usize,
8631 concat!(
8632 "Offset of field: ",
8633 stringify!(rte_eth_stats),
8634 "::",
8635 stringify!(ipackets)
8636 )
8637 );
8638 assert_eq!(
8639 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).opackets as *const _ as usize },
8640 8usize,
8641 concat!(
8642 "Offset of field: ",
8643 stringify!(rte_eth_stats),
8644 "::",
8645 stringify!(opackets)
8646 )
8647 );
8648 assert_eq!(
8649 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).ibytes as *const _ as usize },
8650 16usize,
8651 concat!(
8652 "Offset of field: ",
8653 stringify!(rte_eth_stats),
8654 "::",
8655 stringify!(ibytes)
8656 )
8657 );
8658 assert_eq!(
8659 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).obytes as *const _ as usize },
8660 24usize,
8661 concat!(
8662 "Offset of field: ",
8663 stringify!(rte_eth_stats),
8664 "::",
8665 stringify!(obytes)
8666 )
8667 );
8668 assert_eq!(
8669 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).imissed as *const _ as usize },
8670 32usize,
8671 concat!(
8672 "Offset of field: ",
8673 stringify!(rte_eth_stats),
8674 "::",
8675 stringify!(imissed)
8676 )
8677 );
8678 assert_eq!(
8679 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).ierrors as *const _ as usize },
8680 40usize,
8681 concat!(
8682 "Offset of field: ",
8683 stringify!(rte_eth_stats),
8684 "::",
8685 stringify!(ierrors)
8686 )
8687 );
8688 assert_eq!(
8689 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).oerrors as *const _ as usize },
8690 48usize,
8691 concat!(
8692 "Offset of field: ",
8693 stringify!(rte_eth_stats),
8694 "::",
8695 stringify!(oerrors)
8696 )
8697 );
8698 assert_eq!(
8699 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).rx_nombuf as *const _ as usize },
8700 56usize,
8701 concat!(
8702 "Offset of field: ",
8703 stringify!(rte_eth_stats),
8704 "::",
8705 stringify!(rx_nombuf)
8706 )
8707 );
8708 assert_eq!(
8709 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).q_ipackets as *const _ as usize },
8710 64usize,
8711 concat!(
8712 "Offset of field: ",
8713 stringify!(rte_eth_stats),
8714 "::",
8715 stringify!(q_ipackets)
8716 )
8717 );
8718 assert_eq!(
8719 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).q_opackets as *const _ as usize },
8720 192usize,
8721 concat!(
8722 "Offset of field: ",
8723 stringify!(rte_eth_stats),
8724 "::",
8725 stringify!(q_opackets)
8726 )
8727 );
8728 assert_eq!(
8729 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).q_ibytes as *const _ as usize },
8730 320usize,
8731 concat!(
8732 "Offset of field: ",
8733 stringify!(rte_eth_stats),
8734 "::",
8735 stringify!(q_ibytes)
8736 )
8737 );
8738 assert_eq!(
8739 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).q_obytes as *const _ as usize },
8740 448usize,
8741 concat!(
8742 "Offset of field: ",
8743 stringify!(rte_eth_stats),
8744 "::",
8745 stringify!(q_obytes)
8746 )
8747 );
8748 assert_eq!(
8749 unsafe { &(*(::std::ptr::null::<rte_eth_stats>())).q_errors as *const _ as usize },
8750 576usize,
8751 concat!(
8752 "Offset of field: ",
8753 stringify!(rte_eth_stats),
8754 "::",
8755 stringify!(q_errors)
8756 )
8757 );
8758}
8759#[repr(C)]
8760#[repr(align(8))]
8761#[derive(Debug, Default, Copy, Clone, PartialEq)]
8762pub struct rte_eth_link {
8763 pub link_speed: u32,
8764 pub _bitfield_align_1: [u8; 0],
8765 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
8766 pub __bindgen_padding_0: [u8; 3usize],
8767}
8768#[test]
8769fn bindgen_test_layout_rte_eth_link() {
8770 assert_eq!(
8771 ::std::mem::size_of::<rte_eth_link>(),
8772 8usize,
8773 concat!("Size of: ", stringify!(rte_eth_link))
8774 );
8775 assert_eq!(
8776 ::std::mem::align_of::<rte_eth_link>(),
8777 8usize,
8778 concat!("Alignment of ", stringify!(rte_eth_link))
8779 );
8780 assert_eq!(
8781 unsafe { &(*(::std::ptr::null::<rte_eth_link>())).link_speed as *const _ as usize },
8782 0usize,
8783 concat!(
8784 "Offset of field: ",
8785 stringify!(rte_eth_link),
8786 "::",
8787 stringify!(link_speed)
8788 )
8789 );
8790}
8791impl rte_eth_link {
8792 #[inline]
8793 pub fn link_duplex(&self) -> u16 {
8794 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u16) }
8795 }
8796 #[inline]
8797 pub fn set_link_duplex(&mut self, val: u16) {
8798 unsafe {
8799 let val: u16 = ::std::mem::transmute(val);
8800 self._bitfield_1.set(0usize, 1u8, val as u64)
8801 }
8802 }
8803 #[inline]
8804 pub fn link_autoneg(&self) -> u16 {
8805 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u16) }
8806 }
8807 #[inline]
8808 pub fn set_link_autoneg(&mut self, val: u16) {
8809 unsafe {
8810 let val: u16 = ::std::mem::transmute(val);
8811 self._bitfield_1.set(1usize, 1u8, val as u64)
8812 }
8813 }
8814 #[inline]
8815 pub fn link_status(&self) -> u16 {
8816 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u16) }
8817 }
8818 #[inline]
8819 pub fn set_link_status(&mut self, val: u16) {
8820 unsafe {
8821 let val: u16 = ::std::mem::transmute(val);
8822 self._bitfield_1.set(2usize, 1u8, val as u64)
8823 }
8824 }
8825 #[inline]
8826 pub fn new_bitfield_1(
8827 link_duplex: u16,
8828 link_autoneg: u16,
8829 link_status: u16,
8830 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
8831 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
8832 __bindgen_bitfield_unit.set(0usize, 1u8, {
8833 let link_duplex: u16 = unsafe { ::std::mem::transmute(link_duplex) };
8834 link_duplex as u64
8835 });
8836 __bindgen_bitfield_unit.set(1usize, 1u8, {
8837 let link_autoneg: u16 = unsafe { ::std::mem::transmute(link_autoneg) };
8838 link_autoneg as u64
8839 });
8840 __bindgen_bitfield_unit.set(2usize, 1u8, {
8841 let link_status: u16 = unsafe { ::std::mem::transmute(link_status) };
8842 link_status as u64
8843 });
8844 __bindgen_bitfield_unit
8845 }
8846}
8847#[repr(C)]
8848#[derive(Debug, Default, Copy, Clone, PartialEq)]
8849pub struct rte_eth_thresh {
8850 pub pthresh: u8,
8851 pub hthresh: u8,
8852 pub wthresh: u8,
8853}
8854#[test]
8855fn bindgen_test_layout_rte_eth_thresh() {
8856 assert_eq!(
8857 ::std::mem::size_of::<rte_eth_thresh>(),
8858 3usize,
8859 concat!("Size of: ", stringify!(rte_eth_thresh))
8860 );
8861 assert_eq!(
8862 ::std::mem::align_of::<rte_eth_thresh>(),
8863 1usize,
8864 concat!("Alignment of ", stringify!(rte_eth_thresh))
8865 );
8866 assert_eq!(
8867 unsafe { &(*(::std::ptr::null::<rte_eth_thresh>())).pthresh as *const _ as usize },
8868 0usize,
8869 concat!(
8870 "Offset of field: ",
8871 stringify!(rte_eth_thresh),
8872 "::",
8873 stringify!(pthresh)
8874 )
8875 );
8876 assert_eq!(
8877 unsafe { &(*(::std::ptr::null::<rte_eth_thresh>())).hthresh as *const _ as usize },
8878 1usize,
8879 concat!(
8880 "Offset of field: ",
8881 stringify!(rte_eth_thresh),
8882 "::",
8883 stringify!(hthresh)
8884 )
8885 );
8886 assert_eq!(
8887 unsafe { &(*(::std::ptr::null::<rte_eth_thresh>())).wthresh as *const _ as usize },
8888 2usize,
8889 concat!(
8890 "Offset of field: ",
8891 stringify!(rte_eth_thresh),
8892 "::",
8893 stringify!(wthresh)
8894 )
8895 );
8896}
8897pub mod rte_eth_rx_mq_mode {
8898 pub type Type = ::std::os::raw::c_uint;
8899 pub const ETH_MQ_RX_NONE: Type = 0;
8900 pub const ETH_MQ_RX_RSS: Type = 1;
8901 pub const ETH_MQ_RX_DCB: Type = 2;
8902 pub const ETH_MQ_RX_DCB_RSS: Type = 3;
8903 pub const ETH_MQ_RX_VMDQ_ONLY: Type = 4;
8904 pub const ETH_MQ_RX_VMDQ_RSS: Type = 5;
8905 pub const ETH_MQ_RX_VMDQ_DCB: Type = 6;
8906 pub const ETH_MQ_RX_VMDQ_DCB_RSS: Type = 7;
8907}
8908pub mod rte_eth_tx_mq_mode {
8909 pub type Type = ::std::os::raw::c_uint;
8910 pub const ETH_MQ_TX_NONE: Type = 0;
8911 pub const ETH_MQ_TX_DCB: Type = 1;
8912 pub const ETH_MQ_TX_VMDQ_DCB: Type = 2;
8913 pub const ETH_MQ_TX_VMDQ_ONLY: Type = 3;
8914}
8915#[repr(C)]
8916#[derive(Debug, Copy, Clone, PartialEq)]
8917pub struct rte_eth_rxmode {
8918 pub mq_mode: rte_eth_rx_mq_mode::Type,
8919 pub max_rx_pkt_len: u32,
8920 pub max_lro_pkt_size: u32,
8921 pub split_hdr_size: u16,
8922 pub offloads: u64,
8923 pub reserved_64s: [u64; 2usize],
8924 pub reserved_ptrs: [*mut ::std::os::raw::c_void; 2usize],
8925}
8926#[test]
8927fn bindgen_test_layout_rte_eth_rxmode() {
8928 assert_eq!(
8929 ::std::mem::size_of::<rte_eth_rxmode>(),
8930 56usize,
8931 concat!("Size of: ", stringify!(rte_eth_rxmode))
8932 );
8933 assert_eq!(
8934 ::std::mem::align_of::<rte_eth_rxmode>(),
8935 8usize,
8936 concat!("Alignment of ", stringify!(rte_eth_rxmode))
8937 );
8938 assert_eq!(
8939 unsafe { &(*(::std::ptr::null::<rte_eth_rxmode>())).mq_mode as *const _ as usize },
8940 0usize,
8941 concat!(
8942 "Offset of field: ",
8943 stringify!(rte_eth_rxmode),
8944 "::",
8945 stringify!(mq_mode)
8946 )
8947 );
8948 assert_eq!(
8949 unsafe { &(*(::std::ptr::null::<rte_eth_rxmode>())).max_rx_pkt_len as *const _ as usize },
8950 4usize,
8951 concat!(
8952 "Offset of field: ",
8953 stringify!(rte_eth_rxmode),
8954 "::",
8955 stringify!(max_rx_pkt_len)
8956 )
8957 );
8958 assert_eq!(
8959 unsafe { &(*(::std::ptr::null::<rte_eth_rxmode>())).max_lro_pkt_size as *const _ as usize },
8960 8usize,
8961 concat!(
8962 "Offset of field: ",
8963 stringify!(rte_eth_rxmode),
8964 "::",
8965 stringify!(max_lro_pkt_size)
8966 )
8967 );
8968 assert_eq!(
8969 unsafe { &(*(::std::ptr::null::<rte_eth_rxmode>())).split_hdr_size as *const _ as usize },
8970 12usize,
8971 concat!(
8972 "Offset of field: ",
8973 stringify!(rte_eth_rxmode),
8974 "::",
8975 stringify!(split_hdr_size)
8976 )
8977 );
8978 assert_eq!(
8979 unsafe { &(*(::std::ptr::null::<rte_eth_rxmode>())).offloads as *const _ as usize },
8980 16usize,
8981 concat!(
8982 "Offset of field: ",
8983 stringify!(rte_eth_rxmode),
8984 "::",
8985 stringify!(offloads)
8986 )
8987 );
8988 assert_eq!(
8989 unsafe { &(*(::std::ptr::null::<rte_eth_rxmode>())).reserved_64s as *const _ as usize },
8990 24usize,
8991 concat!(
8992 "Offset of field: ",
8993 stringify!(rte_eth_rxmode),
8994 "::",
8995 stringify!(reserved_64s)
8996 )
8997 );
8998 assert_eq!(
8999 unsafe { &(*(::std::ptr::null::<rte_eth_rxmode>())).reserved_ptrs as *const _ as usize },
9000 40usize,
9001 concat!(
9002 "Offset of field: ",
9003 stringify!(rte_eth_rxmode),
9004 "::",
9005 stringify!(reserved_ptrs)
9006 )
9007 );
9008}
9009impl Default for rte_eth_rxmode {
9010 fn default() -> Self {
9011 unsafe { ::std::mem::zeroed() }
9012 }
9013}
9014pub mod rte_vlan_type {
9015 pub type Type = ::std::os::raw::c_uint;
9016 pub const ETH_VLAN_TYPE_UNKNOWN: Type = 0;
9017 pub const ETH_VLAN_TYPE_INNER: Type = 1;
9018 pub const ETH_VLAN_TYPE_OUTER: Type = 2;
9019 pub const ETH_VLAN_TYPE_MAX: Type = 3;
9020}
9021#[repr(C)]
9022#[derive(Copy, Clone)]
9023pub struct rte_vlan_filter_conf {
9024 pub ids: [u64; 64usize],
9025}
9026#[test]
9027fn bindgen_test_layout_rte_vlan_filter_conf() {
9028 assert_eq!(
9029 ::std::mem::size_of::<rte_vlan_filter_conf>(),
9030 512usize,
9031 concat!("Size of: ", stringify!(rte_vlan_filter_conf))
9032 );
9033 assert_eq!(
9034 ::std::mem::align_of::<rte_vlan_filter_conf>(),
9035 8usize,
9036 concat!("Alignment of ", stringify!(rte_vlan_filter_conf))
9037 );
9038 assert_eq!(
9039 unsafe { &(*(::std::ptr::null::<rte_vlan_filter_conf>())).ids as *const _ as usize },
9040 0usize,
9041 concat!(
9042 "Offset of field: ",
9043 stringify!(rte_vlan_filter_conf),
9044 "::",
9045 stringify!(ids)
9046 )
9047 );
9048}
9049impl Default for rte_vlan_filter_conf {
9050 fn default() -> Self {
9051 unsafe { ::std::mem::zeroed() }
9052 }
9053}
9054#[repr(C)]
9055#[derive(Debug, Copy, Clone, PartialEq)]
9056pub struct rte_eth_rss_conf {
9057 pub rss_key: *mut u8,
9058 pub rss_key_len: u8,
9059 pub rss_hf: u64,
9060}
9061#[test]
9062fn bindgen_test_layout_rte_eth_rss_conf() {
9063 assert_eq!(
9064 ::std::mem::size_of::<rte_eth_rss_conf>(),
9065 24usize,
9066 concat!("Size of: ", stringify!(rte_eth_rss_conf))
9067 );
9068 assert_eq!(
9069 ::std::mem::align_of::<rte_eth_rss_conf>(),
9070 8usize,
9071 concat!("Alignment of ", stringify!(rte_eth_rss_conf))
9072 );
9073 assert_eq!(
9074 unsafe { &(*(::std::ptr::null::<rte_eth_rss_conf>())).rss_key as *const _ as usize },
9075 0usize,
9076 concat!(
9077 "Offset of field: ",
9078 stringify!(rte_eth_rss_conf),
9079 "::",
9080 stringify!(rss_key)
9081 )
9082 );
9083 assert_eq!(
9084 unsafe { &(*(::std::ptr::null::<rte_eth_rss_conf>())).rss_key_len as *const _ as usize },
9085 8usize,
9086 concat!(
9087 "Offset of field: ",
9088 stringify!(rte_eth_rss_conf),
9089 "::",
9090 stringify!(rss_key_len)
9091 )
9092 );
9093 assert_eq!(
9094 unsafe { &(*(::std::ptr::null::<rte_eth_rss_conf>())).rss_hf as *const _ as usize },
9095 16usize,
9096 concat!(
9097 "Offset of field: ",
9098 stringify!(rte_eth_rss_conf),
9099 "::",
9100 stringify!(rss_hf)
9101 )
9102 );
9103}
9104impl Default for rte_eth_rss_conf {
9105 fn default() -> Self {
9106 unsafe { ::std::mem::zeroed() }
9107 }
9108}
9109#[repr(C)]
9110#[derive(Copy, Clone)]
9111pub struct rte_eth_vlan_mirror {
9112 pub vlan_mask: u64,
9113 pub vlan_id: [u16; 64usize],
9114}
9115#[test]
9116fn bindgen_test_layout_rte_eth_vlan_mirror() {
9117 assert_eq!(
9118 ::std::mem::size_of::<rte_eth_vlan_mirror>(),
9119 136usize,
9120 concat!("Size of: ", stringify!(rte_eth_vlan_mirror))
9121 );
9122 assert_eq!(
9123 ::std::mem::align_of::<rte_eth_vlan_mirror>(),
9124 8usize,
9125 concat!("Alignment of ", stringify!(rte_eth_vlan_mirror))
9126 );
9127 assert_eq!(
9128 unsafe { &(*(::std::ptr::null::<rte_eth_vlan_mirror>())).vlan_mask as *const _ as usize },
9129 0usize,
9130 concat!(
9131 "Offset of field: ",
9132 stringify!(rte_eth_vlan_mirror),
9133 "::",
9134 stringify!(vlan_mask)
9135 )
9136 );
9137 assert_eq!(
9138 unsafe { &(*(::std::ptr::null::<rte_eth_vlan_mirror>())).vlan_id as *const _ as usize },
9139 8usize,
9140 concat!(
9141 "Offset of field: ",
9142 stringify!(rte_eth_vlan_mirror),
9143 "::",
9144 stringify!(vlan_id)
9145 )
9146 );
9147}
9148impl Default for rte_eth_vlan_mirror {
9149 fn default() -> Self {
9150 unsafe { ::std::mem::zeroed() }
9151 }
9152}
9153#[repr(C)]
9154#[derive(Copy, Clone)]
9155pub struct rte_eth_mirror_conf {
9156 pub rule_type: u8,
9157 pub dst_pool: u8,
9158 pub pool_mask: u64,
9159 pub vlan: rte_eth_vlan_mirror,
9160}
9161#[test]
9162fn bindgen_test_layout_rte_eth_mirror_conf() {
9163 assert_eq!(
9164 ::std::mem::size_of::<rte_eth_mirror_conf>(),
9165 152usize,
9166 concat!("Size of: ", stringify!(rte_eth_mirror_conf))
9167 );
9168 assert_eq!(
9169 ::std::mem::align_of::<rte_eth_mirror_conf>(),
9170 8usize,
9171 concat!("Alignment of ", stringify!(rte_eth_mirror_conf))
9172 );
9173 assert_eq!(
9174 unsafe { &(*(::std::ptr::null::<rte_eth_mirror_conf>())).rule_type as *const _ as usize },
9175 0usize,
9176 concat!(
9177 "Offset of field: ",
9178 stringify!(rte_eth_mirror_conf),
9179 "::",
9180 stringify!(rule_type)
9181 )
9182 );
9183 assert_eq!(
9184 unsafe { &(*(::std::ptr::null::<rte_eth_mirror_conf>())).dst_pool as *const _ as usize },
9185 1usize,
9186 concat!(
9187 "Offset of field: ",
9188 stringify!(rte_eth_mirror_conf),
9189 "::",
9190 stringify!(dst_pool)
9191 )
9192 );
9193 assert_eq!(
9194 unsafe { &(*(::std::ptr::null::<rte_eth_mirror_conf>())).pool_mask as *const _ as usize },
9195 8usize,
9196 concat!(
9197 "Offset of field: ",
9198 stringify!(rte_eth_mirror_conf),
9199 "::",
9200 stringify!(pool_mask)
9201 )
9202 );
9203 assert_eq!(
9204 unsafe { &(*(::std::ptr::null::<rte_eth_mirror_conf>())).vlan as *const _ as usize },
9205 16usize,
9206 concat!(
9207 "Offset of field: ",
9208 stringify!(rte_eth_mirror_conf),
9209 "::",
9210 stringify!(vlan)
9211 )
9212 );
9213}
9214impl Default for rte_eth_mirror_conf {
9215 fn default() -> Self {
9216 unsafe { ::std::mem::zeroed() }
9217 }
9218}
9219#[repr(C)]
9220#[derive(Copy, Clone)]
9221pub struct rte_eth_rss_reta_entry64 {
9222 pub mask: u64,
9223 pub reta: [u16; 64usize],
9224}
9225#[test]
9226fn bindgen_test_layout_rte_eth_rss_reta_entry64() {
9227 assert_eq!(
9228 ::std::mem::size_of::<rte_eth_rss_reta_entry64>(),
9229 136usize,
9230 concat!("Size of: ", stringify!(rte_eth_rss_reta_entry64))
9231 );
9232 assert_eq!(
9233 ::std::mem::align_of::<rte_eth_rss_reta_entry64>(),
9234 8usize,
9235 concat!("Alignment of ", stringify!(rte_eth_rss_reta_entry64))
9236 );
9237 assert_eq!(
9238 unsafe { &(*(::std::ptr::null::<rte_eth_rss_reta_entry64>())).mask as *const _ as usize },
9239 0usize,
9240 concat!(
9241 "Offset of field: ",
9242 stringify!(rte_eth_rss_reta_entry64),
9243 "::",
9244 stringify!(mask)
9245 )
9246 );
9247 assert_eq!(
9248 unsafe { &(*(::std::ptr::null::<rte_eth_rss_reta_entry64>())).reta as *const _ as usize },
9249 8usize,
9250 concat!(
9251 "Offset of field: ",
9252 stringify!(rte_eth_rss_reta_entry64),
9253 "::",
9254 stringify!(reta)
9255 )
9256 );
9257}
9258impl Default for rte_eth_rss_reta_entry64 {
9259 fn default() -> Self {
9260 unsafe { ::std::mem::zeroed() }
9261 }
9262}
9263pub mod rte_eth_nb_tcs {
9264 pub type Type = ::std::os::raw::c_uint;
9265 pub const ETH_4_TCS: Type = 4;
9266 pub const ETH_8_TCS: Type = 8;
9267}
9268pub mod rte_eth_nb_pools {
9269 pub type Type = ::std::os::raw::c_uint;
9270 pub const ETH_8_POOLS: Type = 8;
9271 pub const ETH_16_POOLS: Type = 16;
9272 pub const ETH_32_POOLS: Type = 32;
9273 pub const ETH_64_POOLS: Type = 64;
9274}
9275#[repr(C)]
9276#[derive(Debug, Copy, Clone, PartialEq)]
9277pub struct rte_eth_dcb_rx_conf {
9278 pub nb_tcs: rte_eth_nb_tcs::Type,
9279 pub dcb_tc: [u8; 8usize],
9280}
9281#[test]
9282fn bindgen_test_layout_rte_eth_dcb_rx_conf() {
9283 assert_eq!(
9284 ::std::mem::size_of::<rte_eth_dcb_rx_conf>(),
9285 12usize,
9286 concat!("Size of: ", stringify!(rte_eth_dcb_rx_conf))
9287 );
9288 assert_eq!(
9289 ::std::mem::align_of::<rte_eth_dcb_rx_conf>(),
9290 4usize,
9291 concat!("Alignment of ", stringify!(rte_eth_dcb_rx_conf))
9292 );
9293 assert_eq!(
9294 unsafe { &(*(::std::ptr::null::<rte_eth_dcb_rx_conf>())).nb_tcs as *const _ as usize },
9295 0usize,
9296 concat!(
9297 "Offset of field: ",
9298 stringify!(rte_eth_dcb_rx_conf),
9299 "::",
9300 stringify!(nb_tcs)
9301 )
9302 );
9303 assert_eq!(
9304 unsafe { &(*(::std::ptr::null::<rte_eth_dcb_rx_conf>())).dcb_tc as *const _ as usize },
9305 4usize,
9306 concat!(
9307 "Offset of field: ",
9308 stringify!(rte_eth_dcb_rx_conf),
9309 "::",
9310 stringify!(dcb_tc)
9311 )
9312 );
9313}
9314impl Default for rte_eth_dcb_rx_conf {
9315 fn default() -> Self {
9316 unsafe { ::std::mem::zeroed() }
9317 }
9318}
9319#[repr(C)]
9320#[derive(Debug, Copy, Clone, PartialEq)]
9321pub struct rte_eth_vmdq_dcb_tx_conf {
9322 pub nb_queue_pools: rte_eth_nb_pools::Type,
9323 pub dcb_tc: [u8; 8usize],
9324}
9325#[test]
9326fn bindgen_test_layout_rte_eth_vmdq_dcb_tx_conf() {
9327 assert_eq!(
9328 ::std::mem::size_of::<rte_eth_vmdq_dcb_tx_conf>(),
9329 12usize,
9330 concat!("Size of: ", stringify!(rte_eth_vmdq_dcb_tx_conf))
9331 );
9332 assert_eq!(
9333 ::std::mem::align_of::<rte_eth_vmdq_dcb_tx_conf>(),
9334 4usize,
9335 concat!("Alignment of ", stringify!(rte_eth_vmdq_dcb_tx_conf))
9336 );
9337 assert_eq!(
9338 unsafe {
9339 &(*(::std::ptr::null::<rte_eth_vmdq_dcb_tx_conf>())).nb_queue_pools as *const _ as usize
9340 },
9341 0usize,
9342 concat!(
9343 "Offset of field: ",
9344 stringify!(rte_eth_vmdq_dcb_tx_conf),
9345 "::",
9346 stringify!(nb_queue_pools)
9347 )
9348 );
9349 assert_eq!(
9350 unsafe { &(*(::std::ptr::null::<rte_eth_vmdq_dcb_tx_conf>())).dcb_tc as *const _ as usize },
9351 4usize,
9352 concat!(
9353 "Offset of field: ",
9354 stringify!(rte_eth_vmdq_dcb_tx_conf),
9355 "::",
9356 stringify!(dcb_tc)
9357 )
9358 );
9359}
9360impl Default for rte_eth_vmdq_dcb_tx_conf {
9361 fn default() -> Self {
9362 unsafe { ::std::mem::zeroed() }
9363 }
9364}
9365#[repr(C)]
9366#[derive(Debug, Copy, Clone, PartialEq)]
9367pub struct rte_eth_dcb_tx_conf {
9368 pub nb_tcs: rte_eth_nb_tcs::Type,
9369 pub dcb_tc: [u8; 8usize],
9370}
9371#[test]
9372fn bindgen_test_layout_rte_eth_dcb_tx_conf() {
9373 assert_eq!(
9374 ::std::mem::size_of::<rte_eth_dcb_tx_conf>(),
9375 12usize,
9376 concat!("Size of: ", stringify!(rte_eth_dcb_tx_conf))
9377 );
9378 assert_eq!(
9379 ::std::mem::align_of::<rte_eth_dcb_tx_conf>(),
9380 4usize,
9381 concat!("Alignment of ", stringify!(rte_eth_dcb_tx_conf))
9382 );
9383 assert_eq!(
9384 unsafe { &(*(::std::ptr::null::<rte_eth_dcb_tx_conf>())).nb_tcs as *const _ as usize },
9385 0usize,
9386 concat!(
9387 "Offset of field: ",
9388 stringify!(rte_eth_dcb_tx_conf),
9389 "::",
9390 stringify!(nb_tcs)
9391 )
9392 );
9393 assert_eq!(
9394 unsafe { &(*(::std::ptr::null::<rte_eth_dcb_tx_conf>())).dcb_tc as *const _ as usize },
9395 4usize,
9396 concat!(
9397 "Offset of field: ",
9398 stringify!(rte_eth_dcb_tx_conf),
9399 "::",
9400 stringify!(dcb_tc)
9401 )
9402 );
9403}
9404impl Default for rte_eth_dcb_tx_conf {
9405 fn default() -> Self {
9406 unsafe { ::std::mem::zeroed() }
9407 }
9408}
9409#[repr(C)]
9410#[derive(Debug, Copy, Clone, PartialEq)]
9411pub struct rte_eth_vmdq_tx_conf {
9412 pub nb_queue_pools: rte_eth_nb_pools::Type,
9413}
9414#[test]
9415fn bindgen_test_layout_rte_eth_vmdq_tx_conf() {
9416 assert_eq!(
9417 ::std::mem::size_of::<rte_eth_vmdq_tx_conf>(),
9418 4usize,
9419 concat!("Size of: ", stringify!(rte_eth_vmdq_tx_conf))
9420 );
9421 assert_eq!(
9422 ::std::mem::align_of::<rte_eth_vmdq_tx_conf>(),
9423 4usize,
9424 concat!("Alignment of ", stringify!(rte_eth_vmdq_tx_conf))
9425 );
9426 assert_eq!(
9427 unsafe {
9428 &(*(::std::ptr::null::<rte_eth_vmdq_tx_conf>())).nb_queue_pools as *const _ as usize
9429 },
9430 0usize,
9431 concat!(
9432 "Offset of field: ",
9433 stringify!(rte_eth_vmdq_tx_conf),
9434 "::",
9435 stringify!(nb_queue_pools)
9436 )
9437 );
9438}
9439impl Default for rte_eth_vmdq_tx_conf {
9440 fn default() -> Self {
9441 unsafe { ::std::mem::zeroed() }
9442 }
9443}
9444#[repr(C)]
9445#[derive(Copy, Clone)]
9446pub struct rte_eth_vmdq_dcb_conf {
9447 pub nb_queue_pools: rte_eth_nb_pools::Type,
9448 pub enable_default_pool: u8,
9449 pub default_pool: u8,
9450 pub nb_pool_maps: u8,
9451 pub pool_map: [rte_eth_vmdq_dcb_conf__bindgen_ty_1; 64usize],
9452 pub dcb_tc: [u8; 8usize],
9453}
9454#[repr(C)]
9455#[derive(Debug, Default, Copy, Clone, PartialEq)]
9456pub struct rte_eth_vmdq_dcb_conf__bindgen_ty_1 {
9457 pub vlan_id: u16,
9458 pub pools: u64,
9459}
9460#[test]
9461fn bindgen_test_layout_rte_eth_vmdq_dcb_conf__bindgen_ty_1() {
9462 assert_eq!(
9463 ::std::mem::size_of::<rte_eth_vmdq_dcb_conf__bindgen_ty_1>(),
9464 16usize,
9465 concat!("Size of: ", stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1))
9466 );
9467 assert_eq!(
9468 ::std::mem::align_of::<rte_eth_vmdq_dcb_conf__bindgen_ty_1>(),
9469 8usize,
9470 concat!(
9471 "Alignment of ",
9472 stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1)
9473 )
9474 );
9475 assert_eq!(
9476 unsafe {
9477 &(*(::std::ptr::null::<rte_eth_vmdq_dcb_conf__bindgen_ty_1>())).vlan_id as *const _
9478 as usize
9479 },
9480 0usize,
9481 concat!(
9482 "Offset of field: ",
9483 stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1),
9484 "::",
9485 stringify!(vlan_id)
9486 )
9487 );
9488 assert_eq!(
9489 unsafe {
9490 &(*(::std::ptr::null::<rte_eth_vmdq_dcb_conf__bindgen_ty_1>())).pools as *const _
9491 as usize
9492 },
9493 8usize,
9494 concat!(
9495 "Offset of field: ",
9496 stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1),
9497 "::",
9498 stringify!(pools)
9499 )
9500 );
9501}
9502#[test]
9503fn bindgen_test_layout_rte_eth_vmdq_dcb_conf() {
9504 assert_eq!(
9505 ::std::mem::size_of::<rte_eth_vmdq_dcb_conf>(),
9506 1040usize,
9507 concat!("Size of: ", stringify!(rte_eth_vmdq_dcb_conf))
9508 );
9509 assert_eq!(
9510 ::std::mem::align_of::<rte_eth_vmdq_dcb_conf>(),
9511 8usize,
9512 concat!("Alignment of ", stringify!(rte_eth_vmdq_dcb_conf))
9513 );
9514 assert_eq!(
9515 unsafe {
9516 &(*(::std::ptr::null::<rte_eth_vmdq_dcb_conf>())).nb_queue_pools as *const _ as usize
9517 },
9518 0usize,
9519 concat!(
9520 "Offset of field: ",
9521 stringify!(rte_eth_vmdq_dcb_conf),
9522 "::",
9523 stringify!(nb_queue_pools)
9524 )
9525 );
9526 assert_eq!(
9527 unsafe {
9528 &(*(::std::ptr::null::<rte_eth_vmdq_dcb_conf>())).enable_default_pool as *const _
9529 as usize
9530 },
9531 4usize,
9532 concat!(
9533 "Offset of field: ",
9534 stringify!(rte_eth_vmdq_dcb_conf),
9535 "::",
9536 stringify!(enable_default_pool)
9537 )
9538 );
9539 assert_eq!(
9540 unsafe {
9541 &(*(::std::ptr::null::<rte_eth_vmdq_dcb_conf>())).default_pool as *const _ as usize
9542 },
9543 5usize,
9544 concat!(
9545 "Offset of field: ",
9546 stringify!(rte_eth_vmdq_dcb_conf),
9547 "::",
9548 stringify!(default_pool)
9549 )
9550 );
9551 assert_eq!(
9552 unsafe {
9553 &(*(::std::ptr::null::<rte_eth_vmdq_dcb_conf>())).nb_pool_maps as *const _ as usize
9554 },
9555 6usize,
9556 concat!(
9557 "Offset of field: ",
9558 stringify!(rte_eth_vmdq_dcb_conf),
9559 "::",
9560 stringify!(nb_pool_maps)
9561 )
9562 );
9563 assert_eq!(
9564 unsafe { &(*(::std::ptr::null::<rte_eth_vmdq_dcb_conf>())).pool_map as *const _ as usize },
9565 8usize,
9566 concat!(
9567 "Offset of field: ",
9568 stringify!(rte_eth_vmdq_dcb_conf),
9569 "::",
9570 stringify!(pool_map)
9571 )
9572 );
9573 assert_eq!(
9574 unsafe { &(*(::std::ptr::null::<rte_eth_vmdq_dcb_conf>())).dcb_tc as *const _ as usize },
9575 1032usize,
9576 concat!(
9577 "Offset of field: ",
9578 stringify!(rte_eth_vmdq_dcb_conf),
9579 "::",
9580 stringify!(dcb_tc)
9581 )
9582 );
9583}
9584impl Default for rte_eth_vmdq_dcb_conf {
9585 fn default() -> Self {
9586 unsafe { ::std::mem::zeroed() }
9587 }
9588}
9589#[repr(C)]
9590#[derive(Copy, Clone)]
9591pub struct rte_eth_vmdq_rx_conf {
9592 pub nb_queue_pools: rte_eth_nb_pools::Type,
9593 pub enable_default_pool: u8,
9594 pub default_pool: u8,
9595 pub enable_loop_back: u8,
9596 pub nb_pool_maps: u8,
9597 pub rx_mode: u32,
9598 pub pool_map: [rte_eth_vmdq_rx_conf__bindgen_ty_1; 64usize],
9599}
9600#[repr(C)]
9601#[derive(Debug, Default, Copy, Clone, PartialEq)]
9602pub struct rte_eth_vmdq_rx_conf__bindgen_ty_1 {
9603 pub vlan_id: u16,
9604 pub pools: u64,
9605}
9606#[test]
9607fn bindgen_test_layout_rte_eth_vmdq_rx_conf__bindgen_ty_1() {
9608 assert_eq!(
9609 ::std::mem::size_of::<rte_eth_vmdq_rx_conf__bindgen_ty_1>(),
9610 16usize,
9611 concat!("Size of: ", stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1))
9612 );
9613 assert_eq!(
9614 ::std::mem::align_of::<rte_eth_vmdq_rx_conf__bindgen_ty_1>(),
9615 8usize,
9616 concat!(
9617 "Alignment of ",
9618 stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1)
9619 )
9620 );
9621 assert_eq!(
9622 unsafe {
9623 &(*(::std::ptr::null::<rte_eth_vmdq_rx_conf__bindgen_ty_1>())).vlan_id as *const _
9624 as usize
9625 },
9626 0usize,
9627 concat!(
9628 "Offset of field: ",
9629 stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1),
9630 "::",
9631 stringify!(vlan_id)
9632 )
9633 );
9634 assert_eq!(
9635 unsafe {
9636 &(*(::std::ptr::null::<rte_eth_vmdq_rx_conf__bindgen_ty_1>())).pools as *const _
9637 as usize
9638 },
9639 8usize,
9640 concat!(
9641 "Offset of field: ",
9642 stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1),
9643 "::",
9644 stringify!(pools)
9645 )
9646 );
9647}
9648#[test]
9649fn bindgen_test_layout_rte_eth_vmdq_rx_conf() {
9650 assert_eq!(
9651 ::std::mem::size_of::<rte_eth_vmdq_rx_conf>(),
9652 1040usize,
9653 concat!("Size of: ", stringify!(rte_eth_vmdq_rx_conf))
9654 );
9655 assert_eq!(
9656 ::std::mem::align_of::<rte_eth_vmdq_rx_conf>(),
9657 8usize,
9658 concat!("Alignment of ", stringify!(rte_eth_vmdq_rx_conf))
9659 );
9660 assert_eq!(
9661 unsafe {
9662 &(*(::std::ptr::null::<rte_eth_vmdq_rx_conf>())).nb_queue_pools as *const _ as usize
9663 },
9664 0usize,
9665 concat!(
9666 "Offset of field: ",
9667 stringify!(rte_eth_vmdq_rx_conf),
9668 "::",
9669 stringify!(nb_queue_pools)
9670 )
9671 );
9672 assert_eq!(
9673 unsafe {
9674 &(*(::std::ptr::null::<rte_eth_vmdq_rx_conf>())).enable_default_pool as *const _
9675 as usize
9676 },
9677 4usize,
9678 concat!(
9679 "Offset of field: ",
9680 stringify!(rte_eth_vmdq_rx_conf),
9681 "::",
9682 stringify!(enable_default_pool)
9683 )
9684 );
9685 assert_eq!(
9686 unsafe {
9687 &(*(::std::ptr::null::<rte_eth_vmdq_rx_conf>())).default_pool as *const _ as usize
9688 },
9689 5usize,
9690 concat!(
9691 "Offset of field: ",
9692 stringify!(rte_eth_vmdq_rx_conf),
9693 "::",
9694 stringify!(default_pool)
9695 )
9696 );
9697 assert_eq!(
9698 unsafe {
9699 &(*(::std::ptr::null::<rte_eth_vmdq_rx_conf>())).enable_loop_back as *const _ as usize
9700 },
9701 6usize,
9702 concat!(
9703 "Offset of field: ",
9704 stringify!(rte_eth_vmdq_rx_conf),
9705 "::",
9706 stringify!(enable_loop_back)
9707 )
9708 );
9709 assert_eq!(
9710 unsafe {
9711 &(*(::std::ptr::null::<rte_eth_vmdq_rx_conf>())).nb_pool_maps as *const _ as usize
9712 },
9713 7usize,
9714 concat!(
9715 "Offset of field: ",
9716 stringify!(rte_eth_vmdq_rx_conf),
9717 "::",
9718 stringify!(nb_pool_maps)
9719 )
9720 );
9721 assert_eq!(
9722 unsafe { &(*(::std::ptr::null::<rte_eth_vmdq_rx_conf>())).rx_mode as *const _ as usize },
9723 8usize,
9724 concat!(
9725 "Offset of field: ",
9726 stringify!(rte_eth_vmdq_rx_conf),
9727 "::",
9728 stringify!(rx_mode)
9729 )
9730 );
9731 assert_eq!(
9732 unsafe { &(*(::std::ptr::null::<rte_eth_vmdq_rx_conf>())).pool_map as *const _ as usize },
9733 16usize,
9734 concat!(
9735 "Offset of field: ",
9736 stringify!(rte_eth_vmdq_rx_conf),
9737 "::",
9738 stringify!(pool_map)
9739 )
9740 );
9741}
9742impl Default for rte_eth_vmdq_rx_conf {
9743 fn default() -> Self {
9744 unsafe { ::std::mem::zeroed() }
9745 }
9746}
9747#[repr(C)]
9748#[derive(Debug, Copy, Clone, PartialEq)]
9749pub struct rte_eth_txmode {
9750 pub mq_mode: rte_eth_tx_mq_mode::Type,
9751 pub offloads: u64,
9752 pub pvid: u16,
9753 pub _bitfield_align_1: [u8; 0],
9754 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
9755 pub reserved_64s: [u64; 2usize],
9756 pub reserved_ptrs: [*mut ::std::os::raw::c_void; 2usize],
9757}
9758#[test]
9759fn bindgen_test_layout_rte_eth_txmode() {
9760 assert_eq!(
9761 ::std::mem::size_of::<rte_eth_txmode>(),
9762 56usize,
9763 concat!("Size of: ", stringify!(rte_eth_txmode))
9764 );
9765 assert_eq!(
9766 ::std::mem::align_of::<rte_eth_txmode>(),
9767 8usize,
9768 concat!("Alignment of ", stringify!(rte_eth_txmode))
9769 );
9770 assert_eq!(
9771 unsafe { &(*(::std::ptr::null::<rte_eth_txmode>())).mq_mode as *const _ as usize },
9772 0usize,
9773 concat!(
9774 "Offset of field: ",
9775 stringify!(rte_eth_txmode),
9776 "::",
9777 stringify!(mq_mode)
9778 )
9779 );
9780 assert_eq!(
9781 unsafe { &(*(::std::ptr::null::<rte_eth_txmode>())).offloads as *const _ as usize },
9782 8usize,
9783 concat!(
9784 "Offset of field: ",
9785 stringify!(rte_eth_txmode),
9786 "::",
9787 stringify!(offloads)
9788 )
9789 );
9790 assert_eq!(
9791 unsafe { &(*(::std::ptr::null::<rte_eth_txmode>())).pvid as *const _ as usize },
9792 16usize,
9793 concat!(
9794 "Offset of field: ",
9795 stringify!(rte_eth_txmode),
9796 "::",
9797 stringify!(pvid)
9798 )
9799 );
9800 assert_eq!(
9801 unsafe { &(*(::std::ptr::null::<rte_eth_txmode>())).reserved_64s as *const _ as usize },
9802 24usize,
9803 concat!(
9804 "Offset of field: ",
9805 stringify!(rte_eth_txmode),
9806 "::",
9807 stringify!(reserved_64s)
9808 )
9809 );
9810 assert_eq!(
9811 unsafe { &(*(::std::ptr::null::<rte_eth_txmode>())).reserved_ptrs as *const _ as usize },
9812 40usize,
9813 concat!(
9814 "Offset of field: ",
9815 stringify!(rte_eth_txmode),
9816 "::",
9817 stringify!(reserved_ptrs)
9818 )
9819 );
9820}
9821impl Default for rte_eth_txmode {
9822 fn default() -> Self {
9823 unsafe { ::std::mem::zeroed() }
9824 }
9825}
9826impl rte_eth_txmode {
9827 #[inline]
9828 pub fn hw_vlan_reject_tagged(&self) -> u8 {
9829 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
9830 }
9831 #[inline]
9832 pub fn set_hw_vlan_reject_tagged(&mut self, val: u8) {
9833 unsafe {
9834 let val: u8 = ::std::mem::transmute(val);
9835 self._bitfield_1.set(0usize, 1u8, val as u64)
9836 }
9837 }
9838 #[inline]
9839 pub fn hw_vlan_reject_untagged(&self) -> u8 {
9840 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
9841 }
9842 #[inline]
9843 pub fn set_hw_vlan_reject_untagged(&mut self, val: u8) {
9844 unsafe {
9845 let val: u8 = ::std::mem::transmute(val);
9846 self._bitfield_1.set(1usize, 1u8, val as u64)
9847 }
9848 }
9849 #[inline]
9850 pub fn hw_vlan_insert_pvid(&self) -> u8 {
9851 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
9852 }
9853 #[inline]
9854 pub fn set_hw_vlan_insert_pvid(&mut self, val: u8) {
9855 unsafe {
9856 let val: u8 = ::std::mem::transmute(val);
9857 self._bitfield_1.set(2usize, 1u8, val as u64)
9858 }
9859 }
9860 #[inline]
9861 pub fn new_bitfield_1(
9862 hw_vlan_reject_tagged: u8,
9863 hw_vlan_reject_untagged: u8,
9864 hw_vlan_insert_pvid: u8,
9865 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
9866 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
9867 __bindgen_bitfield_unit.set(0usize, 1u8, {
9868 let hw_vlan_reject_tagged: u8 = unsafe { ::std::mem::transmute(hw_vlan_reject_tagged) };
9869 hw_vlan_reject_tagged as u64
9870 });
9871 __bindgen_bitfield_unit.set(1usize, 1u8, {
9872 let hw_vlan_reject_untagged: u8 =
9873 unsafe { ::std::mem::transmute(hw_vlan_reject_untagged) };
9874 hw_vlan_reject_untagged as u64
9875 });
9876 __bindgen_bitfield_unit.set(2usize, 1u8, {
9877 let hw_vlan_insert_pvid: u8 = unsafe { ::std::mem::transmute(hw_vlan_insert_pvid) };
9878 hw_vlan_insert_pvid as u64
9879 });
9880 __bindgen_bitfield_unit
9881 }
9882}
9883#[repr(C)]
9884#[derive(Debug, Copy, Clone, PartialEq)]
9885pub struct rte_eth_rxconf {
9886 pub rx_thresh: rte_eth_thresh,
9887 pub rx_free_thresh: u16,
9888 pub rx_drop_en: u8,
9889 pub rx_deferred_start: u8,
9890 pub offloads: u64,
9891 pub reserved_64s: [u64; 2usize],
9892 pub reserved_ptrs: [*mut ::std::os::raw::c_void; 2usize],
9893}
9894#[test]
9895fn bindgen_test_layout_rte_eth_rxconf() {
9896 assert_eq!(
9897 ::std::mem::size_of::<rte_eth_rxconf>(),
9898 48usize,
9899 concat!("Size of: ", stringify!(rte_eth_rxconf))
9900 );
9901 assert_eq!(
9902 ::std::mem::align_of::<rte_eth_rxconf>(),
9903 8usize,
9904 concat!("Alignment of ", stringify!(rte_eth_rxconf))
9905 );
9906 assert_eq!(
9907 unsafe { &(*(::std::ptr::null::<rte_eth_rxconf>())).rx_thresh as *const _ as usize },
9908 0usize,
9909 concat!(
9910 "Offset of field: ",
9911 stringify!(rte_eth_rxconf),
9912 "::",
9913 stringify!(rx_thresh)
9914 )
9915 );
9916 assert_eq!(
9917 unsafe { &(*(::std::ptr::null::<rte_eth_rxconf>())).rx_free_thresh as *const _ as usize },
9918 4usize,
9919 concat!(
9920 "Offset of field: ",
9921 stringify!(rte_eth_rxconf),
9922 "::",
9923 stringify!(rx_free_thresh)
9924 )
9925 );
9926 assert_eq!(
9927 unsafe { &(*(::std::ptr::null::<rte_eth_rxconf>())).rx_drop_en as *const _ as usize },
9928 6usize,
9929 concat!(
9930 "Offset of field: ",
9931 stringify!(rte_eth_rxconf),
9932 "::",
9933 stringify!(rx_drop_en)
9934 )
9935 );
9936 assert_eq!(
9937 unsafe {
9938 &(*(::std::ptr::null::<rte_eth_rxconf>())).rx_deferred_start as *const _ as usize
9939 },
9940 7usize,
9941 concat!(
9942 "Offset of field: ",
9943 stringify!(rte_eth_rxconf),
9944 "::",
9945 stringify!(rx_deferred_start)
9946 )
9947 );
9948 assert_eq!(
9949 unsafe { &(*(::std::ptr::null::<rte_eth_rxconf>())).offloads as *const _ as usize },
9950 8usize,
9951 concat!(
9952 "Offset of field: ",
9953 stringify!(rte_eth_rxconf),
9954 "::",
9955 stringify!(offloads)
9956 )
9957 );
9958 assert_eq!(
9959 unsafe { &(*(::std::ptr::null::<rte_eth_rxconf>())).reserved_64s as *const _ as usize },
9960 16usize,
9961 concat!(
9962 "Offset of field: ",
9963 stringify!(rte_eth_rxconf),
9964 "::",
9965 stringify!(reserved_64s)
9966 )
9967 );
9968 assert_eq!(
9969 unsafe { &(*(::std::ptr::null::<rte_eth_rxconf>())).reserved_ptrs as *const _ as usize },
9970 32usize,
9971 concat!(
9972 "Offset of field: ",
9973 stringify!(rte_eth_rxconf),
9974 "::",
9975 stringify!(reserved_ptrs)
9976 )
9977 );
9978}
9979impl Default for rte_eth_rxconf {
9980 fn default() -> Self {
9981 unsafe { ::std::mem::zeroed() }
9982 }
9983}
9984#[repr(C)]
9985#[derive(Debug, Copy, Clone, PartialEq)]
9986pub struct rte_eth_txconf {
9987 pub tx_thresh: rte_eth_thresh,
9988 pub tx_rs_thresh: u16,
9989 pub tx_free_thresh: u16,
9990 pub tx_deferred_start: u8,
9991 pub offloads: u64,
9992 pub reserved_64s: [u64; 2usize],
9993 pub reserved_ptrs: [*mut ::std::os::raw::c_void; 2usize],
9994}
9995#[test]
9996fn bindgen_test_layout_rte_eth_txconf() {
9997 assert_eq!(
9998 ::std::mem::size_of::<rte_eth_txconf>(),
9999 56usize,
10000 concat!("Size of: ", stringify!(rte_eth_txconf))
10001 );
10002 assert_eq!(
10003 ::std::mem::align_of::<rte_eth_txconf>(),
10004 8usize,
10005 concat!("Alignment of ", stringify!(rte_eth_txconf))
10006 );
10007 assert_eq!(
10008 unsafe { &(*(::std::ptr::null::<rte_eth_txconf>())).tx_thresh as *const _ as usize },
10009 0usize,
10010 concat!(
10011 "Offset of field: ",
10012 stringify!(rte_eth_txconf),
10013 "::",
10014 stringify!(tx_thresh)
10015 )
10016 );
10017 assert_eq!(
10018 unsafe { &(*(::std::ptr::null::<rte_eth_txconf>())).tx_rs_thresh as *const _ as usize },
10019 4usize,
10020 concat!(
10021 "Offset of field: ",
10022 stringify!(rte_eth_txconf),
10023 "::",
10024 stringify!(tx_rs_thresh)
10025 )
10026 );
10027 assert_eq!(
10028 unsafe { &(*(::std::ptr::null::<rte_eth_txconf>())).tx_free_thresh as *const _ as usize },
10029 6usize,
10030 concat!(
10031 "Offset of field: ",
10032 stringify!(rte_eth_txconf),
10033 "::",
10034 stringify!(tx_free_thresh)
10035 )
10036 );
10037 assert_eq!(
10038 unsafe {
10039 &(*(::std::ptr::null::<rte_eth_txconf>())).tx_deferred_start as *const _ as usize
10040 },
10041 8usize,
10042 concat!(
10043 "Offset of field: ",
10044 stringify!(rte_eth_txconf),
10045 "::",
10046 stringify!(tx_deferred_start)
10047 )
10048 );
10049 assert_eq!(
10050 unsafe { &(*(::std::ptr::null::<rte_eth_txconf>())).offloads as *const _ as usize },
10051 16usize,
10052 concat!(
10053 "Offset of field: ",
10054 stringify!(rte_eth_txconf),
10055 "::",
10056 stringify!(offloads)
10057 )
10058 );
10059 assert_eq!(
10060 unsafe { &(*(::std::ptr::null::<rte_eth_txconf>())).reserved_64s as *const _ as usize },
10061 24usize,
10062 concat!(
10063 "Offset of field: ",
10064 stringify!(rte_eth_txconf),
10065 "::",
10066 stringify!(reserved_64s)
10067 )
10068 );
10069 assert_eq!(
10070 unsafe { &(*(::std::ptr::null::<rte_eth_txconf>())).reserved_ptrs as *const _ as usize },
10071 40usize,
10072 concat!(
10073 "Offset of field: ",
10074 stringify!(rte_eth_txconf),
10075 "::",
10076 stringify!(reserved_ptrs)
10077 )
10078 );
10079}
10080impl Default for rte_eth_txconf {
10081 fn default() -> Self {
10082 unsafe { ::std::mem::zeroed() }
10083 }
10084}
10085#[repr(C)]
10086#[derive(Debug, Default, Copy, Clone, PartialEq)]
10087pub struct rte_eth_hairpin_cap {
10088 pub max_nb_queues: u16,
10089 pub max_rx_2_tx: u16,
10090 pub max_tx_2_rx: u16,
10091 pub max_nb_desc: u16,
10092}
10093#[test]
10094fn bindgen_test_layout_rte_eth_hairpin_cap() {
10095 assert_eq!(
10096 ::std::mem::size_of::<rte_eth_hairpin_cap>(),
10097 8usize,
10098 concat!("Size of: ", stringify!(rte_eth_hairpin_cap))
10099 );
10100 assert_eq!(
10101 ::std::mem::align_of::<rte_eth_hairpin_cap>(),
10102 2usize,
10103 concat!("Alignment of ", stringify!(rte_eth_hairpin_cap))
10104 );
10105 assert_eq!(
10106 unsafe {
10107 &(*(::std::ptr::null::<rte_eth_hairpin_cap>())).max_nb_queues as *const _ as usize
10108 },
10109 0usize,
10110 concat!(
10111 "Offset of field: ",
10112 stringify!(rte_eth_hairpin_cap),
10113 "::",
10114 stringify!(max_nb_queues)
10115 )
10116 );
10117 assert_eq!(
10118 unsafe { &(*(::std::ptr::null::<rte_eth_hairpin_cap>())).max_rx_2_tx as *const _ as usize },
10119 2usize,
10120 concat!(
10121 "Offset of field: ",
10122 stringify!(rte_eth_hairpin_cap),
10123 "::",
10124 stringify!(max_rx_2_tx)
10125 )
10126 );
10127 assert_eq!(
10128 unsafe { &(*(::std::ptr::null::<rte_eth_hairpin_cap>())).max_tx_2_rx as *const _ as usize },
10129 4usize,
10130 concat!(
10131 "Offset of field: ",
10132 stringify!(rte_eth_hairpin_cap),
10133 "::",
10134 stringify!(max_tx_2_rx)
10135 )
10136 );
10137 assert_eq!(
10138 unsafe { &(*(::std::ptr::null::<rte_eth_hairpin_cap>())).max_nb_desc as *const _ as usize },
10139 6usize,
10140 concat!(
10141 "Offset of field: ",
10142 stringify!(rte_eth_hairpin_cap),
10143 "::",
10144 stringify!(max_nb_desc)
10145 )
10146 );
10147}
10148#[repr(C)]
10149#[derive(Debug, Default, Copy, Clone, PartialEq)]
10150pub struct rte_eth_hairpin_peer {
10151 pub port: u16,
10152 pub queue: u16,
10153}
10154#[test]
10155fn bindgen_test_layout_rte_eth_hairpin_peer() {
10156 assert_eq!(
10157 ::std::mem::size_of::<rte_eth_hairpin_peer>(),
10158 4usize,
10159 concat!("Size of: ", stringify!(rte_eth_hairpin_peer))
10160 );
10161 assert_eq!(
10162 ::std::mem::align_of::<rte_eth_hairpin_peer>(),
10163 2usize,
10164 concat!("Alignment of ", stringify!(rte_eth_hairpin_peer))
10165 );
10166 assert_eq!(
10167 unsafe { &(*(::std::ptr::null::<rte_eth_hairpin_peer>())).port as *const _ as usize },
10168 0usize,
10169 concat!(
10170 "Offset of field: ",
10171 stringify!(rte_eth_hairpin_peer),
10172 "::",
10173 stringify!(port)
10174 )
10175 );
10176 assert_eq!(
10177 unsafe { &(*(::std::ptr::null::<rte_eth_hairpin_peer>())).queue as *const _ as usize },
10178 2usize,
10179 concat!(
10180 "Offset of field: ",
10181 stringify!(rte_eth_hairpin_peer),
10182 "::",
10183 stringify!(queue)
10184 )
10185 );
10186}
10187#[repr(C)]
10188#[derive(Debug, Default, Copy, Clone, PartialEq)]
10189pub struct rte_eth_hairpin_conf {
10190 pub peer_count: u16,
10191 pub peers: [rte_eth_hairpin_peer; 32usize],
10192}
10193#[test]
10194fn bindgen_test_layout_rte_eth_hairpin_conf() {
10195 assert_eq!(
10196 ::std::mem::size_of::<rte_eth_hairpin_conf>(),
10197 130usize,
10198 concat!("Size of: ", stringify!(rte_eth_hairpin_conf))
10199 );
10200 assert_eq!(
10201 ::std::mem::align_of::<rte_eth_hairpin_conf>(),
10202 2usize,
10203 concat!("Alignment of ", stringify!(rte_eth_hairpin_conf))
10204 );
10205 assert_eq!(
10206 unsafe { &(*(::std::ptr::null::<rte_eth_hairpin_conf>())).peer_count as *const _ as usize },
10207 0usize,
10208 concat!(
10209 "Offset of field: ",
10210 stringify!(rte_eth_hairpin_conf),
10211 "::",
10212 stringify!(peer_count)
10213 )
10214 );
10215 assert_eq!(
10216 unsafe { &(*(::std::ptr::null::<rte_eth_hairpin_conf>())).peers as *const _ as usize },
10217 2usize,
10218 concat!(
10219 "Offset of field: ",
10220 stringify!(rte_eth_hairpin_conf),
10221 "::",
10222 stringify!(peers)
10223 )
10224 );
10225}
10226#[repr(C)]
10227#[derive(Debug, Default, Copy, Clone, PartialEq)]
10228pub struct rte_eth_desc_lim {
10229 pub nb_max: u16,
10230 pub nb_min: u16,
10231 pub nb_align: u16,
10232 pub nb_seg_max: u16,
10233 pub nb_mtu_seg_max: u16,
10234}
10235#[test]
10236fn bindgen_test_layout_rte_eth_desc_lim() {
10237 assert_eq!(
10238 ::std::mem::size_of::<rte_eth_desc_lim>(),
10239 10usize,
10240 concat!("Size of: ", stringify!(rte_eth_desc_lim))
10241 );
10242 assert_eq!(
10243 ::std::mem::align_of::<rte_eth_desc_lim>(),
10244 2usize,
10245 concat!("Alignment of ", stringify!(rte_eth_desc_lim))
10246 );
10247 assert_eq!(
10248 unsafe { &(*(::std::ptr::null::<rte_eth_desc_lim>())).nb_max as *const _ as usize },
10249 0usize,
10250 concat!(
10251 "Offset of field: ",
10252 stringify!(rte_eth_desc_lim),
10253 "::",
10254 stringify!(nb_max)
10255 )
10256 );
10257 assert_eq!(
10258 unsafe { &(*(::std::ptr::null::<rte_eth_desc_lim>())).nb_min as *const _ as usize },
10259 2usize,
10260 concat!(
10261 "Offset of field: ",
10262 stringify!(rte_eth_desc_lim),
10263 "::",
10264 stringify!(nb_min)
10265 )
10266 );
10267 assert_eq!(
10268 unsafe { &(*(::std::ptr::null::<rte_eth_desc_lim>())).nb_align as *const _ as usize },
10269 4usize,
10270 concat!(
10271 "Offset of field: ",
10272 stringify!(rte_eth_desc_lim),
10273 "::",
10274 stringify!(nb_align)
10275 )
10276 );
10277 assert_eq!(
10278 unsafe { &(*(::std::ptr::null::<rte_eth_desc_lim>())).nb_seg_max as *const _ as usize },
10279 6usize,
10280 concat!(
10281 "Offset of field: ",
10282 stringify!(rte_eth_desc_lim),
10283 "::",
10284 stringify!(nb_seg_max)
10285 )
10286 );
10287 assert_eq!(
10288 unsafe { &(*(::std::ptr::null::<rte_eth_desc_lim>())).nb_mtu_seg_max as *const _ as usize },
10289 8usize,
10290 concat!(
10291 "Offset of field: ",
10292 stringify!(rte_eth_desc_lim),
10293 "::",
10294 stringify!(nb_mtu_seg_max)
10295 )
10296 );
10297}
10298pub mod rte_eth_fc_mode {
10299 pub type Type = ::std::os::raw::c_uint;
10300 pub const RTE_FC_NONE: Type = 0;
10301 pub const RTE_FC_RX_PAUSE: Type = 1;
10302 pub const RTE_FC_TX_PAUSE: Type = 2;
10303 pub const RTE_FC_FULL: Type = 3;
10304}
10305#[repr(C)]
10306#[derive(Debug, Copy, Clone, PartialEq)]
10307pub struct rte_eth_fc_conf {
10308 pub high_water: u32,
10309 pub low_water: u32,
10310 pub pause_time: u16,
10311 pub send_xon: u16,
10312 pub mode: rte_eth_fc_mode::Type,
10313 pub mac_ctrl_frame_fwd: u8,
10314 pub autoneg: u8,
10315}
10316#[test]
10317fn bindgen_test_layout_rte_eth_fc_conf() {
10318 assert_eq!(
10319 ::std::mem::size_of::<rte_eth_fc_conf>(),
10320 20usize,
10321 concat!("Size of: ", stringify!(rte_eth_fc_conf))
10322 );
10323 assert_eq!(
10324 ::std::mem::align_of::<rte_eth_fc_conf>(),
10325 4usize,
10326 concat!("Alignment of ", stringify!(rte_eth_fc_conf))
10327 );
10328 assert_eq!(
10329 unsafe { &(*(::std::ptr::null::<rte_eth_fc_conf>())).high_water as *const _ as usize },
10330 0usize,
10331 concat!(
10332 "Offset of field: ",
10333 stringify!(rte_eth_fc_conf),
10334 "::",
10335 stringify!(high_water)
10336 )
10337 );
10338 assert_eq!(
10339 unsafe { &(*(::std::ptr::null::<rte_eth_fc_conf>())).low_water as *const _ as usize },
10340 4usize,
10341 concat!(
10342 "Offset of field: ",
10343 stringify!(rte_eth_fc_conf),
10344 "::",
10345 stringify!(low_water)
10346 )
10347 );
10348 assert_eq!(
10349 unsafe { &(*(::std::ptr::null::<rte_eth_fc_conf>())).pause_time as *const _ as usize },
10350 8usize,
10351 concat!(
10352 "Offset of field: ",
10353 stringify!(rte_eth_fc_conf),
10354 "::",
10355 stringify!(pause_time)
10356 )
10357 );
10358 assert_eq!(
10359 unsafe { &(*(::std::ptr::null::<rte_eth_fc_conf>())).send_xon as *const _ as usize },
10360 10usize,
10361 concat!(
10362 "Offset of field: ",
10363 stringify!(rte_eth_fc_conf),
10364 "::",
10365 stringify!(send_xon)
10366 )
10367 );
10368 assert_eq!(
10369 unsafe { &(*(::std::ptr::null::<rte_eth_fc_conf>())).mode as *const _ as usize },
10370 12usize,
10371 concat!(
10372 "Offset of field: ",
10373 stringify!(rte_eth_fc_conf),
10374 "::",
10375 stringify!(mode)
10376 )
10377 );
10378 assert_eq!(
10379 unsafe {
10380 &(*(::std::ptr::null::<rte_eth_fc_conf>())).mac_ctrl_frame_fwd as *const _ as usize
10381 },
10382 16usize,
10383 concat!(
10384 "Offset of field: ",
10385 stringify!(rte_eth_fc_conf),
10386 "::",
10387 stringify!(mac_ctrl_frame_fwd)
10388 )
10389 );
10390 assert_eq!(
10391 unsafe { &(*(::std::ptr::null::<rte_eth_fc_conf>())).autoneg as *const _ as usize },
10392 17usize,
10393 concat!(
10394 "Offset of field: ",
10395 stringify!(rte_eth_fc_conf),
10396 "::",
10397 stringify!(autoneg)
10398 )
10399 );
10400}
10401impl Default for rte_eth_fc_conf {
10402 fn default() -> Self {
10403 unsafe { ::std::mem::zeroed() }
10404 }
10405}
10406#[repr(C)]
10407#[derive(Debug, Copy, Clone, PartialEq)]
10408pub struct rte_eth_pfc_conf {
10409 pub fc: rte_eth_fc_conf,
10410 pub priority: u8,
10411}
10412#[test]
10413fn bindgen_test_layout_rte_eth_pfc_conf() {
10414 assert_eq!(
10415 ::std::mem::size_of::<rte_eth_pfc_conf>(),
10416 24usize,
10417 concat!("Size of: ", stringify!(rte_eth_pfc_conf))
10418 );
10419 assert_eq!(
10420 ::std::mem::align_of::<rte_eth_pfc_conf>(),
10421 4usize,
10422 concat!("Alignment of ", stringify!(rte_eth_pfc_conf))
10423 );
10424 assert_eq!(
10425 unsafe { &(*(::std::ptr::null::<rte_eth_pfc_conf>())).fc as *const _ as usize },
10426 0usize,
10427 concat!(
10428 "Offset of field: ",
10429 stringify!(rte_eth_pfc_conf),
10430 "::",
10431 stringify!(fc)
10432 )
10433 );
10434 assert_eq!(
10435 unsafe { &(*(::std::ptr::null::<rte_eth_pfc_conf>())).priority as *const _ as usize },
10436 20usize,
10437 concat!(
10438 "Offset of field: ",
10439 stringify!(rte_eth_pfc_conf),
10440 "::",
10441 stringify!(priority)
10442 )
10443 );
10444}
10445impl Default for rte_eth_pfc_conf {
10446 fn default() -> Self {
10447 unsafe { ::std::mem::zeroed() }
10448 }
10449}
10450pub mod rte_eth_tunnel_type {
10451 pub type Type = ::std::os::raw::c_uint;
10452 pub const RTE_TUNNEL_TYPE_NONE: Type = 0;
10453 pub const RTE_TUNNEL_TYPE_VXLAN: Type = 1;
10454 pub const RTE_TUNNEL_TYPE_GENEVE: Type = 2;
10455 pub const RTE_TUNNEL_TYPE_TEREDO: Type = 3;
10456 pub const RTE_TUNNEL_TYPE_NVGRE: Type = 4;
10457 pub const RTE_TUNNEL_TYPE_IP_IN_GRE: Type = 5;
10458 pub const RTE_L2_TUNNEL_TYPE_E_TAG: Type = 6;
10459 pub const RTE_TUNNEL_TYPE_VXLAN_GPE: Type = 7;
10460 pub const RTE_TUNNEL_TYPE_MAX: Type = 8;
10461}
10462#[repr(C)]
10463#[repr(align(2))]
10464#[derive(Debug, Default, Copy, Clone, PartialEq)]
10465pub struct rte_arp_ipv4 {
10466 pub _bindgen_opaque_blob: [u16; 10usize],
10467}
10468#[test]
10469fn bindgen_test_layout_rte_arp_ipv4() {
10470 assert_eq!(
10471 ::std::mem::size_of::<rte_arp_ipv4>(),
10472 20usize,
10473 concat!("Size of: ", stringify!(rte_arp_ipv4))
10474 );
10475 assert_eq!(
10476 ::std::mem::align_of::<rte_arp_ipv4>(),
10477 2usize,
10478 concat!("Alignment of ", stringify!(rte_arp_ipv4))
10479 );
10480}
10481#[repr(C)]
10482#[repr(align(2))]
10483#[derive(Debug, Default, Copy, Clone, PartialEq)]
10484pub struct rte_arp_hdr {
10485 pub _bindgen_opaque_blob: [u16; 14usize],
10486}
10487#[test]
10488fn bindgen_test_layout_rte_arp_hdr() {
10489 assert_eq!(
10490 ::std::mem::size_of::<rte_arp_hdr>(),
10491 28usize,
10492 concat!("Size of: ", stringify!(rte_arp_hdr))
10493 );
10494 assert_eq!(
10495 ::std::mem::align_of::<rte_arp_hdr>(),
10496 2usize,
10497 concat!("Alignment of ", stringify!(rte_arp_hdr))
10498 );
10499}
10500extern "C" {
10501 pub fn rte_net_make_rarp_packet(
10502 mpool: *mut rte_mempool,
10503 mac: *const rte_ether_addr,
10504 ) -> *mut rte_mbuf;
10505}
10506#[repr(C, packed)]
10507#[derive(Debug, Default, Copy, Clone, PartialEq)]
10508pub struct rte_icmp_hdr {
10509 pub icmp_type: u8,
10510 pub icmp_code: u8,
10511 pub icmp_cksum: rte_be16_t,
10512 pub icmp_ident: rte_be16_t,
10513 pub icmp_seq_nb: rte_be16_t,
10514}
10515#[test]
10516fn bindgen_test_layout_rte_icmp_hdr() {
10517 assert_eq!(
10518 ::std::mem::size_of::<rte_icmp_hdr>(),
10519 8usize,
10520 concat!("Size of: ", stringify!(rte_icmp_hdr))
10521 );
10522 assert_eq!(
10523 ::std::mem::align_of::<rte_icmp_hdr>(),
10524 1usize,
10525 concat!("Alignment of ", stringify!(rte_icmp_hdr))
10526 );
10527 assert_eq!(
10528 unsafe { &(*(::std::ptr::null::<rte_icmp_hdr>())).icmp_type as *const _ as usize },
10529 0usize,
10530 concat!(
10531 "Offset of field: ",
10532 stringify!(rte_icmp_hdr),
10533 "::",
10534 stringify!(icmp_type)
10535 )
10536 );
10537 assert_eq!(
10538 unsafe { &(*(::std::ptr::null::<rte_icmp_hdr>())).icmp_code as *const _ as usize },
10539 1usize,
10540 concat!(
10541 "Offset of field: ",
10542 stringify!(rte_icmp_hdr),
10543 "::",
10544 stringify!(icmp_code)
10545 )
10546 );
10547 assert_eq!(
10548 unsafe { &(*(::std::ptr::null::<rte_icmp_hdr>())).icmp_cksum as *const _ as usize },
10549 2usize,
10550 concat!(
10551 "Offset of field: ",
10552 stringify!(rte_icmp_hdr),
10553 "::",
10554 stringify!(icmp_cksum)
10555 )
10556 );
10557 assert_eq!(
10558 unsafe { &(*(::std::ptr::null::<rte_icmp_hdr>())).icmp_ident as *const _ as usize },
10559 4usize,
10560 concat!(
10561 "Offset of field: ",
10562 stringify!(rte_icmp_hdr),
10563 "::",
10564 stringify!(icmp_ident)
10565 )
10566 );
10567 assert_eq!(
10568 unsafe { &(*(::std::ptr::null::<rte_icmp_hdr>())).icmp_seq_nb as *const _ as usize },
10569 6usize,
10570 concat!(
10571 "Offset of field: ",
10572 stringify!(rte_icmp_hdr),
10573 "::",
10574 stringify!(icmp_seq_nb)
10575 )
10576 );
10577}
10578pub type sa_family_t = ::std::os::raw::c_ushort;
10579#[repr(C)]
10580#[derive(Debug, Default, Copy, Clone, PartialEq)]
10581pub struct sockaddr {
10582 pub sa_family: sa_family_t,
10583 pub sa_data: [::std::os::raw::c_char; 14usize],
10584}
10585#[test]
10586fn bindgen_test_layout_sockaddr() {
10587 assert_eq!(
10588 ::std::mem::size_of::<sockaddr>(),
10589 16usize,
10590 concat!("Size of: ", stringify!(sockaddr))
10591 );
10592 assert_eq!(
10593 ::std::mem::align_of::<sockaddr>(),
10594 2usize,
10595 concat!("Alignment of ", stringify!(sockaddr))
10596 );
10597 assert_eq!(
10598 unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_family as *const _ as usize },
10599 0usize,
10600 concat!(
10601 "Offset of field: ",
10602 stringify!(sockaddr),
10603 "::",
10604 stringify!(sa_family)
10605 )
10606 );
10607 assert_eq!(
10608 unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_data as *const _ as usize },
10609 2usize,
10610 concat!(
10611 "Offset of field: ",
10612 stringify!(sockaddr),
10613 "::",
10614 stringify!(sa_data)
10615 )
10616 );
10617}
10618#[repr(C, packed)]
10619#[derive(Debug, Default, Copy, Clone, PartialEq)]
10620pub struct rte_ipv4_hdr {
10621 pub version_ihl: u8,
10622 pub type_of_service: u8,
10623 pub total_length: rte_be16_t,
10624 pub packet_id: rte_be16_t,
10625 pub fragment_offset: rte_be16_t,
10626 pub time_to_live: u8,
10627 pub next_proto_id: u8,
10628 pub hdr_checksum: rte_be16_t,
10629 pub src_addr: rte_be32_t,
10630 pub dst_addr: rte_be32_t,
10631}
10632#[test]
10633fn bindgen_test_layout_rte_ipv4_hdr() {
10634 assert_eq!(
10635 ::std::mem::size_of::<rte_ipv4_hdr>(),
10636 20usize,
10637 concat!("Size of: ", stringify!(rte_ipv4_hdr))
10638 );
10639 assert_eq!(
10640 ::std::mem::align_of::<rte_ipv4_hdr>(),
10641 1usize,
10642 concat!("Alignment of ", stringify!(rte_ipv4_hdr))
10643 );
10644 assert_eq!(
10645 unsafe { &(*(::std::ptr::null::<rte_ipv4_hdr>())).version_ihl as *const _ as usize },
10646 0usize,
10647 concat!(
10648 "Offset of field: ",
10649 stringify!(rte_ipv4_hdr),
10650 "::",
10651 stringify!(version_ihl)
10652 )
10653 );
10654 assert_eq!(
10655 unsafe { &(*(::std::ptr::null::<rte_ipv4_hdr>())).type_of_service as *const _ as usize },
10656 1usize,
10657 concat!(
10658 "Offset of field: ",
10659 stringify!(rte_ipv4_hdr),
10660 "::",
10661 stringify!(type_of_service)
10662 )
10663 );
10664 assert_eq!(
10665 unsafe { &(*(::std::ptr::null::<rte_ipv4_hdr>())).total_length as *const _ as usize },
10666 2usize,
10667 concat!(
10668 "Offset of field: ",
10669 stringify!(rte_ipv4_hdr),
10670 "::",
10671 stringify!(total_length)
10672 )
10673 );
10674 assert_eq!(
10675 unsafe { &(*(::std::ptr::null::<rte_ipv4_hdr>())).packet_id as *const _ as usize },
10676 4usize,
10677 concat!(
10678 "Offset of field: ",
10679 stringify!(rte_ipv4_hdr),
10680 "::",
10681 stringify!(packet_id)
10682 )
10683 );
10684 assert_eq!(
10685 unsafe { &(*(::std::ptr::null::<rte_ipv4_hdr>())).fragment_offset as *const _ as usize },
10686 6usize,
10687 concat!(
10688 "Offset of field: ",
10689 stringify!(rte_ipv4_hdr),
10690 "::",
10691 stringify!(fragment_offset)
10692 )
10693 );
10694 assert_eq!(
10695 unsafe { &(*(::std::ptr::null::<rte_ipv4_hdr>())).time_to_live as *const _ as usize },
10696 8usize,
10697 concat!(
10698 "Offset of field: ",
10699 stringify!(rte_ipv4_hdr),
10700 "::",
10701 stringify!(time_to_live)
10702 )
10703 );
10704 assert_eq!(
10705 unsafe { &(*(::std::ptr::null::<rte_ipv4_hdr>())).next_proto_id as *const _ as usize },
10706 9usize,
10707 concat!(
10708 "Offset of field: ",
10709 stringify!(rte_ipv4_hdr),
10710 "::",
10711 stringify!(next_proto_id)
10712 )
10713 );
10714 assert_eq!(
10715 unsafe { &(*(::std::ptr::null::<rte_ipv4_hdr>())).hdr_checksum as *const _ as usize },
10716 10usize,
10717 concat!(
10718 "Offset of field: ",
10719 stringify!(rte_ipv4_hdr),
10720 "::",
10721 stringify!(hdr_checksum)
10722 )
10723 );
10724 assert_eq!(
10725 unsafe { &(*(::std::ptr::null::<rte_ipv4_hdr>())).src_addr as *const _ as usize },
10726 12usize,
10727 concat!(
10728 "Offset of field: ",
10729 stringify!(rte_ipv4_hdr),
10730 "::",
10731 stringify!(src_addr)
10732 )
10733 );
10734 assert_eq!(
10735 unsafe { &(*(::std::ptr::null::<rte_ipv4_hdr>())).dst_addr as *const _ as usize },
10736 16usize,
10737 concat!(
10738 "Offset of field: ",
10739 stringify!(rte_ipv4_hdr),
10740 "::",
10741 stringify!(dst_addr)
10742 )
10743 );
10744}
10745#[repr(C, packed)]
10746#[derive(Debug, Default, Copy, Clone, PartialEq)]
10747pub struct rte_ipv6_hdr {
10748 pub vtc_flow: rte_be32_t,
10749 pub payload_len: rte_be16_t,
10750 pub proto: u8,
10751 pub hop_limits: u8,
10752 pub src_addr: [u8; 16usize],
10753 pub dst_addr: [u8; 16usize],
10754}
10755#[test]
10756fn bindgen_test_layout_rte_ipv6_hdr() {
10757 assert_eq!(
10758 ::std::mem::size_of::<rte_ipv6_hdr>(),
10759 40usize,
10760 concat!("Size of: ", stringify!(rte_ipv6_hdr))
10761 );
10762 assert_eq!(
10763 ::std::mem::align_of::<rte_ipv6_hdr>(),
10764 1usize,
10765 concat!("Alignment of ", stringify!(rte_ipv6_hdr))
10766 );
10767 assert_eq!(
10768 unsafe { &(*(::std::ptr::null::<rte_ipv6_hdr>())).vtc_flow as *const _ as usize },
10769 0usize,
10770 concat!(
10771 "Offset of field: ",
10772 stringify!(rte_ipv6_hdr),
10773 "::",
10774 stringify!(vtc_flow)
10775 )
10776 );
10777 assert_eq!(
10778 unsafe { &(*(::std::ptr::null::<rte_ipv6_hdr>())).payload_len as *const _ as usize },
10779 4usize,
10780 concat!(
10781 "Offset of field: ",
10782 stringify!(rte_ipv6_hdr),
10783 "::",
10784 stringify!(payload_len)
10785 )
10786 );
10787 assert_eq!(
10788 unsafe { &(*(::std::ptr::null::<rte_ipv6_hdr>())).proto as *const _ as usize },
10789 6usize,
10790 concat!(
10791 "Offset of field: ",
10792 stringify!(rte_ipv6_hdr),
10793 "::",
10794 stringify!(proto)
10795 )
10796 );
10797 assert_eq!(
10798 unsafe { &(*(::std::ptr::null::<rte_ipv6_hdr>())).hop_limits as *const _ as usize },
10799 7usize,
10800 concat!(
10801 "Offset of field: ",
10802 stringify!(rte_ipv6_hdr),
10803 "::",
10804 stringify!(hop_limits)
10805 )
10806 );
10807 assert_eq!(
10808 unsafe { &(*(::std::ptr::null::<rte_ipv6_hdr>())).src_addr as *const _ as usize },
10809 8usize,
10810 concat!(
10811 "Offset of field: ",
10812 stringify!(rte_ipv6_hdr),
10813 "::",
10814 stringify!(src_addr)
10815 )
10816 );
10817 assert_eq!(
10818 unsafe { &(*(::std::ptr::null::<rte_ipv6_hdr>())).dst_addr as *const _ as usize },
10819 24usize,
10820 concat!(
10821 "Offset of field: ",
10822 stringify!(rte_ipv6_hdr),
10823 "::",
10824 stringify!(dst_addr)
10825 )
10826 );
10827}
10828#[repr(C, packed)]
10829#[derive(Debug, Default, Copy, Clone, PartialEq)]
10830pub struct rte_sctp_hdr {
10831 pub src_port: rte_be16_t,
10832 pub dst_port: rte_be16_t,
10833 pub tag: rte_be32_t,
10834 pub cksum: rte_be32_t,
10835}
10836#[test]
10837fn bindgen_test_layout_rte_sctp_hdr() {
10838 assert_eq!(
10839 ::std::mem::size_of::<rte_sctp_hdr>(),
10840 12usize,
10841 concat!("Size of: ", stringify!(rte_sctp_hdr))
10842 );
10843 assert_eq!(
10844 ::std::mem::align_of::<rte_sctp_hdr>(),
10845 1usize,
10846 concat!("Alignment of ", stringify!(rte_sctp_hdr))
10847 );
10848 assert_eq!(
10849 unsafe { &(*(::std::ptr::null::<rte_sctp_hdr>())).src_port as *const _ as usize },
10850 0usize,
10851 concat!(
10852 "Offset of field: ",
10853 stringify!(rte_sctp_hdr),
10854 "::",
10855 stringify!(src_port)
10856 )
10857 );
10858 assert_eq!(
10859 unsafe { &(*(::std::ptr::null::<rte_sctp_hdr>())).dst_port as *const _ as usize },
10860 2usize,
10861 concat!(
10862 "Offset of field: ",
10863 stringify!(rte_sctp_hdr),
10864 "::",
10865 stringify!(dst_port)
10866 )
10867 );
10868 assert_eq!(
10869 unsafe { &(*(::std::ptr::null::<rte_sctp_hdr>())).tag as *const _ as usize },
10870 4usize,
10871 concat!(
10872 "Offset of field: ",
10873 stringify!(rte_sctp_hdr),
10874 "::",
10875 stringify!(tag)
10876 )
10877 );
10878 assert_eq!(
10879 unsafe { &(*(::std::ptr::null::<rte_sctp_hdr>())).cksum as *const _ as usize },
10880 8usize,
10881 concat!(
10882 "Offset of field: ",
10883 stringify!(rte_sctp_hdr),
10884 "::",
10885 stringify!(cksum)
10886 )
10887 );
10888}
10889#[repr(C, packed)]
10890#[derive(Debug, Default, Copy, Clone, PartialEq)]
10891pub struct rte_tcp_hdr {
10892 pub src_port: rte_be16_t,
10893 pub dst_port: rte_be16_t,
10894 pub sent_seq: rte_be32_t,
10895 pub recv_ack: rte_be32_t,
10896 pub data_off: u8,
10897 pub tcp_flags: u8,
10898 pub rx_win: rte_be16_t,
10899 pub cksum: rte_be16_t,
10900 pub tcp_urp: rte_be16_t,
10901}
10902#[test]
10903fn bindgen_test_layout_rte_tcp_hdr() {
10904 assert_eq!(
10905 ::std::mem::size_of::<rte_tcp_hdr>(),
10906 20usize,
10907 concat!("Size of: ", stringify!(rte_tcp_hdr))
10908 );
10909 assert_eq!(
10910 ::std::mem::align_of::<rte_tcp_hdr>(),
10911 1usize,
10912 concat!("Alignment of ", stringify!(rte_tcp_hdr))
10913 );
10914 assert_eq!(
10915 unsafe { &(*(::std::ptr::null::<rte_tcp_hdr>())).src_port as *const _ as usize },
10916 0usize,
10917 concat!(
10918 "Offset of field: ",
10919 stringify!(rte_tcp_hdr),
10920 "::",
10921 stringify!(src_port)
10922 )
10923 );
10924 assert_eq!(
10925 unsafe { &(*(::std::ptr::null::<rte_tcp_hdr>())).dst_port as *const _ as usize },
10926 2usize,
10927 concat!(
10928 "Offset of field: ",
10929 stringify!(rte_tcp_hdr),
10930 "::",
10931 stringify!(dst_port)
10932 )
10933 );
10934 assert_eq!(
10935 unsafe { &(*(::std::ptr::null::<rte_tcp_hdr>())).sent_seq as *const _ as usize },
10936 4usize,
10937 concat!(
10938 "Offset of field: ",
10939 stringify!(rte_tcp_hdr),
10940 "::",
10941 stringify!(sent_seq)
10942 )
10943 );
10944 assert_eq!(
10945 unsafe { &(*(::std::ptr::null::<rte_tcp_hdr>())).recv_ack as *const _ as usize },
10946 8usize,
10947 concat!(
10948 "Offset of field: ",
10949 stringify!(rte_tcp_hdr),
10950 "::",
10951 stringify!(recv_ack)
10952 )
10953 );
10954 assert_eq!(
10955 unsafe { &(*(::std::ptr::null::<rte_tcp_hdr>())).data_off as *const _ as usize },
10956 12usize,
10957 concat!(
10958 "Offset of field: ",
10959 stringify!(rte_tcp_hdr),
10960 "::",
10961 stringify!(data_off)
10962 )
10963 );
10964 assert_eq!(
10965 unsafe { &(*(::std::ptr::null::<rte_tcp_hdr>())).tcp_flags as *const _ as usize },
10966 13usize,
10967 concat!(
10968 "Offset of field: ",
10969 stringify!(rte_tcp_hdr),
10970 "::",
10971 stringify!(tcp_flags)
10972 )
10973 );
10974 assert_eq!(
10975 unsafe { &(*(::std::ptr::null::<rte_tcp_hdr>())).rx_win as *const _ as usize },
10976 14usize,
10977 concat!(
10978 "Offset of field: ",
10979 stringify!(rte_tcp_hdr),
10980 "::",
10981 stringify!(rx_win)
10982 )
10983 );
10984 assert_eq!(
10985 unsafe { &(*(::std::ptr::null::<rte_tcp_hdr>())).cksum as *const _ as usize },
10986 16usize,
10987 concat!(
10988 "Offset of field: ",
10989 stringify!(rte_tcp_hdr),
10990 "::",
10991 stringify!(cksum)
10992 )
10993 );
10994 assert_eq!(
10995 unsafe { &(*(::std::ptr::null::<rte_tcp_hdr>())).tcp_urp as *const _ as usize },
10996 18usize,
10997 concat!(
10998 "Offset of field: ",
10999 stringify!(rte_tcp_hdr),
11000 "::",
11001 stringify!(tcp_urp)
11002 )
11003 );
11004}
11005#[repr(C, packed)]
11006#[derive(Debug, Default, Copy, Clone, PartialEq)]
11007pub struct rte_udp_hdr {
11008 pub src_port: rte_be16_t,
11009 pub dst_port: rte_be16_t,
11010 pub dgram_len: rte_be16_t,
11011 pub dgram_cksum: rte_be16_t,
11012}
11013#[test]
11014fn bindgen_test_layout_rte_udp_hdr() {
11015 assert_eq!(
11016 ::std::mem::size_of::<rte_udp_hdr>(),
11017 8usize,
11018 concat!("Size of: ", stringify!(rte_udp_hdr))
11019 );
11020 assert_eq!(
11021 ::std::mem::align_of::<rte_udp_hdr>(),
11022 1usize,
11023 concat!("Alignment of ", stringify!(rte_udp_hdr))
11024 );
11025 assert_eq!(
11026 unsafe { &(*(::std::ptr::null::<rte_udp_hdr>())).src_port as *const _ as usize },
11027 0usize,
11028 concat!(
11029 "Offset of field: ",
11030 stringify!(rte_udp_hdr),
11031 "::",
11032 stringify!(src_port)
11033 )
11034 );
11035 assert_eq!(
11036 unsafe { &(*(::std::ptr::null::<rte_udp_hdr>())).dst_port as *const _ as usize },
11037 2usize,
11038 concat!(
11039 "Offset of field: ",
11040 stringify!(rte_udp_hdr),
11041 "::",
11042 stringify!(dst_port)
11043 )
11044 );
11045 assert_eq!(
11046 unsafe { &(*(::std::ptr::null::<rte_udp_hdr>())).dgram_len as *const _ as usize },
11047 4usize,
11048 concat!(
11049 "Offset of field: ",
11050 stringify!(rte_udp_hdr),
11051 "::",
11052 stringify!(dgram_len)
11053 )
11054 );
11055 assert_eq!(
11056 unsafe { &(*(::std::ptr::null::<rte_udp_hdr>())).dgram_cksum as *const _ as usize },
11057 6usize,
11058 concat!(
11059 "Offset of field: ",
11060 stringify!(rte_udp_hdr),
11061 "::",
11062 stringify!(dgram_cksum)
11063 )
11064 );
11065}
11066#[repr(C, packed)]
11067#[derive(Debug, Default, Copy, Clone, PartialEq)]
11068pub struct rte_esp_hdr {
11069 pub spi: rte_be32_t,
11070 pub seq: rte_be32_t,
11071}
11072#[test]
11073fn bindgen_test_layout_rte_esp_hdr() {
11074 assert_eq!(
11075 ::std::mem::size_of::<rte_esp_hdr>(),
11076 8usize,
11077 concat!("Size of: ", stringify!(rte_esp_hdr))
11078 );
11079 assert_eq!(
11080 ::std::mem::align_of::<rte_esp_hdr>(),
11081 1usize,
11082 concat!("Alignment of ", stringify!(rte_esp_hdr))
11083 );
11084 assert_eq!(
11085 unsafe { &(*(::std::ptr::null::<rte_esp_hdr>())).spi as *const _ as usize },
11086 0usize,
11087 concat!(
11088 "Offset of field: ",
11089 stringify!(rte_esp_hdr),
11090 "::",
11091 stringify!(spi)
11092 )
11093 );
11094 assert_eq!(
11095 unsafe { &(*(::std::ptr::null::<rte_esp_hdr>())).seq as *const _ as usize },
11096 4usize,
11097 concat!(
11098 "Offset of field: ",
11099 stringify!(rte_esp_hdr),
11100 "::",
11101 stringify!(seq)
11102 )
11103 );
11104}
11105#[repr(C, packed)]
11106#[derive(Debug, Default, Copy, Clone, PartialEq)]
11107pub struct rte_esp_tail {
11108 pub pad_len: u8,
11109 pub next_proto: u8,
11110}
11111#[test]
11112fn bindgen_test_layout_rte_esp_tail() {
11113 assert_eq!(
11114 ::std::mem::size_of::<rte_esp_tail>(),
11115 2usize,
11116 concat!("Size of: ", stringify!(rte_esp_tail))
11117 );
11118 assert_eq!(
11119 ::std::mem::align_of::<rte_esp_tail>(),
11120 1usize,
11121 concat!("Alignment of ", stringify!(rte_esp_tail))
11122 );
11123 assert_eq!(
11124 unsafe { &(*(::std::ptr::null::<rte_esp_tail>())).pad_len as *const _ as usize },
11125 0usize,
11126 concat!(
11127 "Offset of field: ",
11128 stringify!(rte_esp_tail),
11129 "::",
11130 stringify!(pad_len)
11131 )
11132 );
11133 assert_eq!(
11134 unsafe { &(*(::std::ptr::null::<rte_esp_tail>())).next_proto as *const _ as usize },
11135 1usize,
11136 concat!(
11137 "Offset of field: ",
11138 stringify!(rte_esp_tail),
11139 "::",
11140 stringify!(next_proto)
11141 )
11142 );
11143}
11144#[repr(C)]
11145#[repr(align(4))]
11146#[derive(Debug, Default, Copy, Clone, PartialEq)]
11147pub struct rte_higig2_frc {
11148 pub _bitfield_align_1: [u8; 0],
11149 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
11150}
11151#[test]
11152fn bindgen_test_layout_rte_higig2_frc() {
11153 assert_eq!(
11154 ::std::mem::size_of::<rte_higig2_frc>(),
11155 8usize,
11156 concat!("Size of: ", stringify!(rte_higig2_frc))
11157 );
11158 assert_eq!(
11159 ::std::mem::align_of::<rte_higig2_frc>(),
11160 4usize,
11161 concat!("Alignment of ", stringify!(rte_higig2_frc))
11162 );
11163}
11164impl rte_higig2_frc {
11165 #[inline]
11166 pub fn ksop(&self) -> u32 {
11167 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
11168 }
11169 #[inline]
11170 pub fn set_ksop(&mut self, val: u32) {
11171 unsafe {
11172 let val: u32 = ::std::mem::transmute(val);
11173 self._bitfield_1.set(0usize, 8u8, val as u64)
11174 }
11175 }
11176 #[inline]
11177 pub fn tc(&self) -> u32 {
11178 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u32) }
11179 }
11180 #[inline]
11181 pub fn set_tc(&mut self, val: u32) {
11182 unsafe {
11183 let val: u32 = ::std::mem::transmute(val);
11184 self._bitfield_1.set(8usize, 4u8, val as u64)
11185 }
11186 }
11187 #[inline]
11188 pub fn mcst(&self) -> u32 {
11189 unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
11190 }
11191 #[inline]
11192 pub fn set_mcst(&mut self, val: u32) {
11193 unsafe {
11194 let val: u32 = ::std::mem::transmute(val);
11195 self._bitfield_1.set(12usize, 1u8, val as u64)
11196 }
11197 }
11198 #[inline]
11199 pub fn resv(&self) -> u32 {
11200 unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 3u8) as u32) }
11201 }
11202 #[inline]
11203 pub fn set_resv(&mut self, val: u32) {
11204 unsafe {
11205 let val: u32 = ::std::mem::transmute(val);
11206 self._bitfield_1.set(13usize, 3u8, val as u64)
11207 }
11208 }
11209 #[inline]
11210 pub fn dst_modid(&self) -> u32 {
11211 unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 8u8) as u32) }
11212 }
11213 #[inline]
11214 pub fn set_dst_modid(&mut self, val: u32) {
11215 unsafe {
11216 let val: u32 = ::std::mem::transmute(val);
11217 self._bitfield_1.set(16usize, 8u8, val as u64)
11218 }
11219 }
11220 #[inline]
11221 pub fn dst_pid(&self) -> u32 {
11222 unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) }
11223 }
11224 #[inline]
11225 pub fn set_dst_pid(&mut self, val: u32) {
11226 unsafe {
11227 let val: u32 = ::std::mem::transmute(val);
11228 self._bitfield_1.set(24usize, 8u8, val as u64)
11229 }
11230 }
11231 #[inline]
11232 pub fn src_modid(&self) -> u32 {
11233 unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 8u8) as u32) }
11234 }
11235 #[inline]
11236 pub fn set_src_modid(&mut self, val: u32) {
11237 unsafe {
11238 let val: u32 = ::std::mem::transmute(val);
11239 self._bitfield_1.set(32usize, 8u8, val as u64)
11240 }
11241 }
11242 #[inline]
11243 pub fn src_pid(&self) -> u32 {
11244 unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 8u8) as u32) }
11245 }
11246 #[inline]
11247 pub fn set_src_pid(&mut self, val: u32) {
11248 unsafe {
11249 let val: u32 = ::std::mem::transmute(val);
11250 self._bitfield_1.set(40usize, 8u8, val as u64)
11251 }
11252 }
11253 #[inline]
11254 pub fn lbid(&self) -> u32 {
11255 unsafe { ::std::mem::transmute(self._bitfield_1.get(48usize, 8u8) as u32) }
11256 }
11257 #[inline]
11258 pub fn set_lbid(&mut self, val: u32) {
11259 unsafe {
11260 let val: u32 = ::std::mem::transmute(val);
11261 self._bitfield_1.set(48usize, 8u8, val as u64)
11262 }
11263 }
11264 #[inline]
11265 pub fn ppd_type(&self) -> u32 {
11266 unsafe { ::std::mem::transmute(self._bitfield_1.get(56usize, 3u8) as u32) }
11267 }
11268 #[inline]
11269 pub fn set_ppd_type(&mut self, val: u32) {
11270 unsafe {
11271 let val: u32 = ::std::mem::transmute(val);
11272 self._bitfield_1.set(56usize, 3u8, val as u64)
11273 }
11274 }
11275 #[inline]
11276 pub fn resv1(&self) -> u32 {
11277 unsafe { ::std::mem::transmute(self._bitfield_1.get(59usize, 3u8) as u32) }
11278 }
11279 #[inline]
11280 pub fn set_resv1(&mut self, val: u32) {
11281 unsafe {
11282 let val: u32 = ::std::mem::transmute(val);
11283 self._bitfield_1.set(59usize, 3u8, val as u64)
11284 }
11285 }
11286 #[inline]
11287 pub fn dp(&self) -> u32 {
11288 unsafe { ::std::mem::transmute(self._bitfield_1.get(62usize, 2u8) as u32) }
11289 }
11290 #[inline]
11291 pub fn set_dp(&mut self, val: u32) {
11292 unsafe {
11293 let val: u32 = ::std::mem::transmute(val);
11294 self._bitfield_1.set(62usize, 2u8, val as u64)
11295 }
11296 }
11297 #[inline]
11298 pub fn new_bitfield_1(
11299 ksop: u32,
11300 tc: u32,
11301 mcst: u32,
11302 resv: u32,
11303 dst_modid: u32,
11304 dst_pid: u32,
11305 src_modid: u32,
11306 src_pid: u32,
11307 lbid: u32,
11308 ppd_type: u32,
11309 resv1: u32,
11310 dp: u32,
11311 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
11312 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
11313 __bindgen_bitfield_unit.set(0usize, 8u8, {
11314 let ksop: u32 = unsafe { ::std::mem::transmute(ksop) };
11315 ksop as u64
11316 });
11317 __bindgen_bitfield_unit.set(8usize, 4u8, {
11318 let tc: u32 = unsafe { ::std::mem::transmute(tc) };
11319 tc as u64
11320 });
11321 __bindgen_bitfield_unit.set(12usize, 1u8, {
11322 let mcst: u32 = unsafe { ::std::mem::transmute(mcst) };
11323 mcst as u64
11324 });
11325 __bindgen_bitfield_unit.set(13usize, 3u8, {
11326 let resv: u32 = unsafe { ::std::mem::transmute(resv) };
11327 resv as u64
11328 });
11329 __bindgen_bitfield_unit.set(16usize, 8u8, {
11330 let dst_modid: u32 = unsafe { ::std::mem::transmute(dst_modid) };
11331 dst_modid as u64
11332 });
11333 __bindgen_bitfield_unit.set(24usize, 8u8, {
11334 let dst_pid: u32 = unsafe { ::std::mem::transmute(dst_pid) };
11335 dst_pid as u64
11336 });
11337 __bindgen_bitfield_unit.set(32usize, 8u8, {
11338 let src_modid: u32 = unsafe { ::std::mem::transmute(src_modid) };
11339 src_modid as u64
11340 });
11341 __bindgen_bitfield_unit.set(40usize, 8u8, {
11342 let src_pid: u32 = unsafe { ::std::mem::transmute(src_pid) };
11343 src_pid as u64
11344 });
11345 __bindgen_bitfield_unit.set(48usize, 8u8, {
11346 let lbid: u32 = unsafe { ::std::mem::transmute(lbid) };
11347 lbid as u64
11348 });
11349 __bindgen_bitfield_unit.set(56usize, 3u8, {
11350 let ppd_type: u32 = unsafe { ::std::mem::transmute(ppd_type) };
11351 ppd_type as u64
11352 });
11353 __bindgen_bitfield_unit.set(59usize, 3u8, {
11354 let resv1: u32 = unsafe { ::std::mem::transmute(resv1) };
11355 resv1 as u64
11356 });
11357 __bindgen_bitfield_unit.set(62usize, 2u8, {
11358 let dp: u32 = unsafe { ::std::mem::transmute(dp) };
11359 dp as u64
11360 });
11361 __bindgen_bitfield_unit
11362 }
11363}
11364#[repr(C)]
11365#[repr(align(4))]
11366#[derive(Debug, Default, Copy, Clone, PartialEq)]
11367pub struct rte_higig2_ppt_type0 {
11368 pub _bitfield_align_1: [u8; 0],
11369 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
11370}
11371#[test]
11372fn bindgen_test_layout_rte_higig2_ppt_type0() {
11373 assert_eq!(
11374 ::std::mem::size_of::<rte_higig2_ppt_type0>(),
11375 8usize,
11376 concat!("Size of: ", stringify!(rte_higig2_ppt_type0))
11377 );
11378 assert_eq!(
11379 ::std::mem::align_of::<rte_higig2_ppt_type0>(),
11380 4usize,
11381 concat!("Alignment of ", stringify!(rte_higig2_ppt_type0))
11382 );
11383}
11384impl rte_higig2_ppt_type0 {
11385 #[inline]
11386 pub fn mirror(&self) -> u32 {
11387 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11388 }
11389 #[inline]
11390 pub fn set_mirror(&mut self, val: u32) {
11391 unsafe {
11392 let val: u32 = ::std::mem::transmute(val);
11393 self._bitfield_1.set(0usize, 1u8, val as u64)
11394 }
11395 }
11396 #[inline]
11397 pub fn mirror_done(&self) -> u32 {
11398 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
11399 }
11400 #[inline]
11401 pub fn set_mirror_done(&mut self, val: u32) {
11402 unsafe {
11403 let val: u32 = ::std::mem::transmute(val);
11404 self._bitfield_1.set(1usize, 1u8, val as u64)
11405 }
11406 }
11407 #[inline]
11408 pub fn mirror_only(&self) -> u32 {
11409 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
11410 }
11411 #[inline]
11412 pub fn set_mirror_only(&mut self, val: u32) {
11413 unsafe {
11414 let val: u32 = ::std::mem::transmute(val);
11415 self._bitfield_1.set(2usize, 1u8, val as u64)
11416 }
11417 }
11418 #[inline]
11419 pub fn ingress_tagged(&self) -> u32 {
11420 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
11421 }
11422 #[inline]
11423 pub fn set_ingress_tagged(&mut self, val: u32) {
11424 unsafe {
11425 let val: u32 = ::std::mem::transmute(val);
11426 self._bitfield_1.set(3usize, 1u8, val as u64)
11427 }
11428 }
11429 #[inline]
11430 pub fn dst_tgid(&self) -> u32 {
11431 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 3u8) as u32) }
11432 }
11433 #[inline]
11434 pub fn set_dst_tgid(&mut self, val: u32) {
11435 unsafe {
11436 let val: u32 = ::std::mem::transmute(val);
11437 self._bitfield_1.set(4usize, 3u8, val as u64)
11438 }
11439 }
11440 #[inline]
11441 pub fn dst_t(&self) -> u32 {
11442 unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
11443 }
11444 #[inline]
11445 pub fn set_dst_t(&mut self, val: u32) {
11446 unsafe {
11447 let val: u32 = ::std::mem::transmute(val);
11448 self._bitfield_1.set(7usize, 1u8, val as u64)
11449 }
11450 }
11451 #[inline]
11452 pub fn vc_label2(&self) -> u32 {
11453 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u32) }
11454 }
11455 #[inline]
11456 pub fn set_vc_label2(&mut self, val: u32) {
11457 unsafe {
11458 let val: u32 = ::std::mem::transmute(val);
11459 self._bitfield_1.set(8usize, 4u8, val as u64)
11460 }
11461 }
11462 #[inline]
11463 pub fn label_present(&self) -> u32 {
11464 unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
11465 }
11466 #[inline]
11467 pub fn set_label_present(&mut self, val: u32) {
11468 unsafe {
11469 let val: u32 = ::std::mem::transmute(val);
11470 self._bitfield_1.set(12usize, 1u8, val as u64)
11471 }
11472 }
11473 #[inline]
11474 pub fn l3(&self) -> u32 {
11475 unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
11476 }
11477 #[inline]
11478 pub fn set_l3(&mut self, val: u32) {
11479 unsafe {
11480 let val: u32 = ::std::mem::transmute(val);
11481 self._bitfield_1.set(13usize, 1u8, val as u64)
11482 }
11483 }
11484 #[inline]
11485 pub fn res(&self) -> u32 {
11486 unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 2u8) as u32) }
11487 }
11488 #[inline]
11489 pub fn set_res(&mut self, val: u32) {
11490 unsafe {
11491 let val: u32 = ::std::mem::transmute(val);
11492 self._bitfield_1.set(14usize, 2u8, val as u64)
11493 }
11494 }
11495 #[inline]
11496 pub fn vc_label1(&self) -> u32 {
11497 unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 8u8) as u32) }
11498 }
11499 #[inline]
11500 pub fn set_vc_label1(&mut self, val: u32) {
11501 unsafe {
11502 let val: u32 = ::std::mem::transmute(val);
11503 self._bitfield_1.set(16usize, 8u8, val as u64)
11504 }
11505 }
11506 #[inline]
11507 pub fn vc_label0(&self) -> u32 {
11508 unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) }
11509 }
11510 #[inline]
11511 pub fn set_vc_label0(&mut self, val: u32) {
11512 unsafe {
11513 let val: u32 = ::std::mem::transmute(val);
11514 self._bitfield_1.set(24usize, 8u8, val as u64)
11515 }
11516 }
11517 #[inline]
11518 pub fn vid_high(&self) -> u32 {
11519 unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 8u8) as u32) }
11520 }
11521 #[inline]
11522 pub fn set_vid_high(&mut self, val: u32) {
11523 unsafe {
11524 let val: u32 = ::std::mem::transmute(val);
11525 self._bitfield_1.set(32usize, 8u8, val as u64)
11526 }
11527 }
11528 #[inline]
11529 pub fn vid_low(&self) -> u32 {
11530 unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 8u8) as u32) }
11531 }
11532 #[inline]
11533 pub fn set_vid_low(&mut self, val: u32) {
11534 unsafe {
11535 let val: u32 = ::std::mem::transmute(val);
11536 self._bitfield_1.set(40usize, 8u8, val as u64)
11537 }
11538 }
11539 #[inline]
11540 pub fn opc(&self) -> u32 {
11541 unsafe { ::std::mem::transmute(self._bitfield_1.get(48usize, 3u8) as u32) }
11542 }
11543 #[inline]
11544 pub fn set_opc(&mut self, val: u32) {
11545 unsafe {
11546 let val: u32 = ::std::mem::transmute(val);
11547 self._bitfield_1.set(48usize, 3u8, val as u64)
11548 }
11549 }
11550 #[inline]
11551 pub fn res1(&self) -> u32 {
11552 unsafe { ::std::mem::transmute(self._bitfield_1.get(51usize, 2u8) as u32) }
11553 }
11554 #[inline]
11555 pub fn set_res1(&mut self, val: u32) {
11556 unsafe {
11557 let val: u32 = ::std::mem::transmute(val);
11558 self._bitfield_1.set(51usize, 2u8, val as u64)
11559 }
11560 }
11561 #[inline]
11562 pub fn srce_t(&self) -> u32 {
11563 unsafe { ::std::mem::transmute(self._bitfield_1.get(53usize, 1u8) as u32) }
11564 }
11565 #[inline]
11566 pub fn set_srce_t(&mut self, val: u32) {
11567 unsafe {
11568 let val: u32 = ::std::mem::transmute(val);
11569 self._bitfield_1.set(53usize, 1u8, val as u64)
11570 }
11571 }
11572 #[inline]
11573 pub fn pf(&self) -> u32 {
11574 unsafe { ::std::mem::transmute(self._bitfield_1.get(54usize, 2u8) as u32) }
11575 }
11576 #[inline]
11577 pub fn set_pf(&mut self, val: u32) {
11578 unsafe {
11579 let val: u32 = ::std::mem::transmute(val);
11580 self._bitfield_1.set(54usize, 2u8, val as u64)
11581 }
11582 }
11583 #[inline]
11584 pub fn res2(&self) -> u32 {
11585 unsafe { ::std::mem::transmute(self._bitfield_1.get(56usize, 5u8) as u32) }
11586 }
11587 #[inline]
11588 pub fn set_res2(&mut self, val: u32) {
11589 unsafe {
11590 let val: u32 = ::std::mem::transmute(val);
11591 self._bitfield_1.set(56usize, 5u8, val as u64)
11592 }
11593 }
11594 #[inline]
11595 pub fn hdr_ext_length(&self) -> u32 {
11596 unsafe { ::std::mem::transmute(self._bitfield_1.get(61usize, 3u8) as u32) }
11597 }
11598 #[inline]
11599 pub fn set_hdr_ext_length(&mut self, val: u32) {
11600 unsafe {
11601 let val: u32 = ::std::mem::transmute(val);
11602 self._bitfield_1.set(61usize, 3u8, val as u64)
11603 }
11604 }
11605 #[inline]
11606 pub fn new_bitfield_1(
11607 mirror: u32,
11608 mirror_done: u32,
11609 mirror_only: u32,
11610 ingress_tagged: u32,
11611 dst_tgid: u32,
11612 dst_t: u32,
11613 vc_label2: u32,
11614 label_present: u32,
11615 l3: u32,
11616 res: u32,
11617 vc_label1: u32,
11618 vc_label0: u32,
11619 vid_high: u32,
11620 vid_low: u32,
11621 opc: u32,
11622 res1: u32,
11623 srce_t: u32,
11624 pf: u32,
11625 res2: u32,
11626 hdr_ext_length: u32,
11627 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
11628 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
11629 __bindgen_bitfield_unit.set(0usize, 1u8, {
11630 let mirror: u32 = unsafe { ::std::mem::transmute(mirror) };
11631 mirror as u64
11632 });
11633 __bindgen_bitfield_unit.set(1usize, 1u8, {
11634 let mirror_done: u32 = unsafe { ::std::mem::transmute(mirror_done) };
11635 mirror_done as u64
11636 });
11637 __bindgen_bitfield_unit.set(2usize, 1u8, {
11638 let mirror_only: u32 = unsafe { ::std::mem::transmute(mirror_only) };
11639 mirror_only as u64
11640 });
11641 __bindgen_bitfield_unit.set(3usize, 1u8, {
11642 let ingress_tagged: u32 = unsafe { ::std::mem::transmute(ingress_tagged) };
11643 ingress_tagged as u64
11644 });
11645 __bindgen_bitfield_unit.set(4usize, 3u8, {
11646 let dst_tgid: u32 = unsafe { ::std::mem::transmute(dst_tgid) };
11647 dst_tgid as u64
11648 });
11649 __bindgen_bitfield_unit.set(7usize, 1u8, {
11650 let dst_t: u32 = unsafe { ::std::mem::transmute(dst_t) };
11651 dst_t as u64
11652 });
11653 __bindgen_bitfield_unit.set(8usize, 4u8, {
11654 let vc_label2: u32 = unsafe { ::std::mem::transmute(vc_label2) };
11655 vc_label2 as u64
11656 });
11657 __bindgen_bitfield_unit.set(12usize, 1u8, {
11658 let label_present: u32 = unsafe { ::std::mem::transmute(label_present) };
11659 label_present as u64
11660 });
11661 __bindgen_bitfield_unit.set(13usize, 1u8, {
11662 let l3: u32 = unsafe { ::std::mem::transmute(l3) };
11663 l3 as u64
11664 });
11665 __bindgen_bitfield_unit.set(14usize, 2u8, {
11666 let res: u32 = unsafe { ::std::mem::transmute(res) };
11667 res as u64
11668 });
11669 __bindgen_bitfield_unit.set(16usize, 8u8, {
11670 let vc_label1: u32 = unsafe { ::std::mem::transmute(vc_label1) };
11671 vc_label1 as u64
11672 });
11673 __bindgen_bitfield_unit.set(24usize, 8u8, {
11674 let vc_label0: u32 = unsafe { ::std::mem::transmute(vc_label0) };
11675 vc_label0 as u64
11676 });
11677 __bindgen_bitfield_unit.set(32usize, 8u8, {
11678 let vid_high: u32 = unsafe { ::std::mem::transmute(vid_high) };
11679 vid_high as u64
11680 });
11681 __bindgen_bitfield_unit.set(40usize, 8u8, {
11682 let vid_low: u32 = unsafe { ::std::mem::transmute(vid_low) };
11683 vid_low as u64
11684 });
11685 __bindgen_bitfield_unit.set(48usize, 3u8, {
11686 let opc: u32 = unsafe { ::std::mem::transmute(opc) };
11687 opc as u64
11688 });
11689 __bindgen_bitfield_unit.set(51usize, 2u8, {
11690 let res1: u32 = unsafe { ::std::mem::transmute(res1) };
11691 res1 as u64
11692 });
11693 __bindgen_bitfield_unit.set(53usize, 1u8, {
11694 let srce_t: u32 = unsafe { ::std::mem::transmute(srce_t) };
11695 srce_t as u64
11696 });
11697 __bindgen_bitfield_unit.set(54usize, 2u8, {
11698 let pf: u32 = unsafe { ::std::mem::transmute(pf) };
11699 pf as u64
11700 });
11701 __bindgen_bitfield_unit.set(56usize, 5u8, {
11702 let res2: u32 = unsafe { ::std::mem::transmute(res2) };
11703 res2 as u64
11704 });
11705 __bindgen_bitfield_unit.set(61usize, 3u8, {
11706 let hdr_ext_length: u32 = unsafe { ::std::mem::transmute(hdr_ext_length) };
11707 hdr_ext_length as u64
11708 });
11709 __bindgen_bitfield_unit
11710 }
11711}
11712#[repr(C)]
11713#[derive(Debug, Default, Copy, Clone, PartialEq)]
11714pub struct rte_higig2_ppt_type1 {
11715 pub classification: u16,
11716 pub resv: u16,
11717 pub vid: u16,
11718 pub _bitfield_align_1: [u8; 0],
11719 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
11720}
11721#[test]
11722fn bindgen_test_layout_rte_higig2_ppt_type1() {
11723 assert_eq!(
11724 ::std::mem::size_of::<rte_higig2_ppt_type1>(),
11725 8usize,
11726 concat!("Size of: ", stringify!(rte_higig2_ppt_type1))
11727 );
11728 assert_eq!(
11729 ::std::mem::align_of::<rte_higig2_ppt_type1>(),
11730 2usize,
11731 concat!("Alignment of ", stringify!(rte_higig2_ppt_type1))
11732 );
11733 assert_eq!(
11734 unsafe {
11735 &(*(::std::ptr::null::<rte_higig2_ppt_type1>())).classification as *const _ as usize
11736 },
11737 0usize,
11738 concat!(
11739 "Offset of field: ",
11740 stringify!(rte_higig2_ppt_type1),
11741 "::",
11742 stringify!(classification)
11743 )
11744 );
11745 assert_eq!(
11746 unsafe { &(*(::std::ptr::null::<rte_higig2_ppt_type1>())).resv as *const _ as usize },
11747 2usize,
11748 concat!(
11749 "Offset of field: ",
11750 stringify!(rte_higig2_ppt_type1),
11751 "::",
11752 stringify!(resv)
11753 )
11754 );
11755 assert_eq!(
11756 unsafe { &(*(::std::ptr::null::<rte_higig2_ppt_type1>())).vid as *const _ as usize },
11757 4usize,
11758 concat!(
11759 "Offset of field: ",
11760 stringify!(rte_higig2_ppt_type1),
11761 "::",
11762 stringify!(vid)
11763 )
11764 );
11765}
11766impl rte_higig2_ppt_type1 {
11767 #[inline]
11768 pub fn opcode(&self) -> u16 {
11769 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u16) }
11770 }
11771 #[inline]
11772 pub fn set_opcode(&mut self, val: u16) {
11773 unsafe {
11774 let val: u16 = ::std::mem::transmute(val);
11775 self._bitfield_1.set(0usize, 3u8, val as u64)
11776 }
11777 }
11778 #[inline]
11779 pub fn resv1(&self) -> u16 {
11780 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 2u8) as u16) }
11781 }
11782 #[inline]
11783 pub fn set_resv1(&mut self, val: u16) {
11784 unsafe {
11785 let val: u16 = ::std::mem::transmute(val);
11786 self._bitfield_1.set(3usize, 2u8, val as u64)
11787 }
11788 }
11789 #[inline]
11790 pub fn src_t(&self) -> u16 {
11791 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u16) }
11792 }
11793 #[inline]
11794 pub fn set_src_t(&mut self, val: u16) {
11795 unsafe {
11796 let val: u16 = ::std::mem::transmute(val);
11797 self._bitfield_1.set(5usize, 1u8, val as u64)
11798 }
11799 }
11800 #[inline]
11801 pub fn pfm(&self) -> u16 {
11802 unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 2u8) as u16) }
11803 }
11804 #[inline]
11805 pub fn set_pfm(&mut self, val: u16) {
11806 unsafe {
11807 let val: u16 = ::std::mem::transmute(val);
11808 self._bitfield_1.set(6usize, 2u8, val as u64)
11809 }
11810 }
11811 #[inline]
11812 pub fn resv2(&self) -> u16 {
11813 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 5u8) as u16) }
11814 }
11815 #[inline]
11816 pub fn set_resv2(&mut self, val: u16) {
11817 unsafe {
11818 let val: u16 = ::std::mem::transmute(val);
11819 self._bitfield_1.set(8usize, 5u8, val as u64)
11820 }
11821 }
11822 #[inline]
11823 pub fn hdr_ext_len(&self) -> u16 {
11824 unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 3u8) as u16) }
11825 }
11826 #[inline]
11827 pub fn set_hdr_ext_len(&mut self, val: u16) {
11828 unsafe {
11829 let val: u16 = ::std::mem::transmute(val);
11830 self._bitfield_1.set(13usize, 3u8, val as u64)
11831 }
11832 }
11833 #[inline]
11834 pub fn new_bitfield_1(
11835 opcode: u16,
11836 resv1: u16,
11837 src_t: u16,
11838 pfm: u16,
11839 resv2: u16,
11840 hdr_ext_len: u16,
11841 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
11842 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
11843 __bindgen_bitfield_unit.set(0usize, 3u8, {
11844 let opcode: u16 = unsafe { ::std::mem::transmute(opcode) };
11845 opcode as u64
11846 });
11847 __bindgen_bitfield_unit.set(3usize, 2u8, {
11848 let resv1: u16 = unsafe { ::std::mem::transmute(resv1) };
11849 resv1 as u64
11850 });
11851 __bindgen_bitfield_unit.set(5usize, 1u8, {
11852 let src_t: u16 = unsafe { ::std::mem::transmute(src_t) };
11853 src_t as u64
11854 });
11855 __bindgen_bitfield_unit.set(6usize, 2u8, {
11856 let pfm: u16 = unsafe { ::std::mem::transmute(pfm) };
11857 pfm as u64
11858 });
11859 __bindgen_bitfield_unit.set(8usize, 5u8, {
11860 let resv2: u16 = unsafe { ::std::mem::transmute(resv2) };
11861 resv2 as u64
11862 });
11863 __bindgen_bitfield_unit.set(13usize, 3u8, {
11864 let hdr_ext_len: u16 = unsafe { ::std::mem::transmute(hdr_ext_len) };
11865 hdr_ext_len as u64
11866 });
11867 __bindgen_bitfield_unit
11868 }
11869}
11870#[repr(C)]
11871#[derive(Copy, Clone)]
11872pub struct rte_higig2_hdr {
11873 pub fcr: rte_higig2_frc,
11874 pub __bindgen_anon_1: rte_higig2_hdr__bindgen_ty_1,
11875}
11876#[repr(C)]
11877#[derive(Copy, Clone)]
11878pub union rte_higig2_hdr__bindgen_ty_1 {
11879 pub ppt0: rte_higig2_ppt_type0,
11880 pub ppt1: rte_higig2_ppt_type1,
11881 _bindgen_union_align: [u32; 2usize],
11882}
11883#[test]
11884fn bindgen_test_layout_rte_higig2_hdr__bindgen_ty_1() {
11885 assert_eq!(
11886 ::std::mem::size_of::<rte_higig2_hdr__bindgen_ty_1>(),
11887 8usize,
11888 concat!("Size of: ", stringify!(rte_higig2_hdr__bindgen_ty_1))
11889 );
11890 assert_eq!(
11891 ::std::mem::align_of::<rte_higig2_hdr__bindgen_ty_1>(),
11892 4usize,
11893 concat!("Alignment of ", stringify!(rte_higig2_hdr__bindgen_ty_1))
11894 );
11895 assert_eq!(
11896 unsafe {
11897 &(*(::std::ptr::null::<rte_higig2_hdr__bindgen_ty_1>())).ppt0 as *const _ as usize
11898 },
11899 0usize,
11900 concat!(
11901 "Offset of field: ",
11902 stringify!(rte_higig2_hdr__bindgen_ty_1),
11903 "::",
11904 stringify!(ppt0)
11905 )
11906 );
11907 assert_eq!(
11908 unsafe {
11909 &(*(::std::ptr::null::<rte_higig2_hdr__bindgen_ty_1>())).ppt1 as *const _ as usize
11910 },
11911 0usize,
11912 concat!(
11913 "Offset of field: ",
11914 stringify!(rte_higig2_hdr__bindgen_ty_1),
11915 "::",
11916 stringify!(ppt1)
11917 )
11918 );
11919}
11920impl Default for rte_higig2_hdr__bindgen_ty_1 {
11921 fn default() -> Self {
11922 unsafe { ::std::mem::zeroed() }
11923 }
11924}
11925#[test]
11926fn bindgen_test_layout_rte_higig2_hdr() {
11927 assert_eq!(
11928 ::std::mem::size_of::<rte_higig2_hdr>(),
11929 16usize,
11930 concat!("Size of: ", stringify!(rte_higig2_hdr))
11931 );
11932 assert_eq!(
11933 ::std::mem::align_of::<rte_higig2_hdr>(),
11934 4usize,
11935 concat!("Alignment of ", stringify!(rte_higig2_hdr))
11936 );
11937 assert_eq!(
11938 unsafe { &(*(::std::ptr::null::<rte_higig2_hdr>())).fcr as *const _ as usize },
11939 0usize,
11940 concat!(
11941 "Offset of field: ",
11942 stringify!(rte_higig2_hdr),
11943 "::",
11944 stringify!(fcr)
11945 )
11946 );
11947}
11948impl Default for rte_higig2_hdr {
11949 fn default() -> Self {
11950 unsafe { ::std::mem::zeroed() }
11951 }
11952}
11953#[repr(C)]
11954#[derive(Copy, Clone)]
11955pub struct rte_mbuf_dynfield {
11956 pub name: [::std::os::raw::c_char; 64usize],
11957 pub size: size_t,
11958 pub align: size_t,
11959 pub flags: ::std::os::raw::c_uint,
11960}
11961#[test]
11962fn bindgen_test_layout_rte_mbuf_dynfield() {
11963 assert_eq!(
11964 ::std::mem::size_of::<rte_mbuf_dynfield>(),
11965 88usize,
11966 concat!("Size of: ", stringify!(rte_mbuf_dynfield))
11967 );
11968 assert_eq!(
11969 ::std::mem::align_of::<rte_mbuf_dynfield>(),
11970 8usize,
11971 concat!("Alignment of ", stringify!(rte_mbuf_dynfield))
11972 );
11973 assert_eq!(
11974 unsafe { &(*(::std::ptr::null::<rte_mbuf_dynfield>())).name as *const _ as usize },
11975 0usize,
11976 concat!(
11977 "Offset of field: ",
11978 stringify!(rte_mbuf_dynfield),
11979 "::",
11980 stringify!(name)
11981 )
11982 );
11983 assert_eq!(
11984 unsafe { &(*(::std::ptr::null::<rte_mbuf_dynfield>())).size as *const _ as usize },
11985 64usize,
11986 concat!(
11987 "Offset of field: ",
11988 stringify!(rte_mbuf_dynfield),
11989 "::",
11990 stringify!(size)
11991 )
11992 );
11993 assert_eq!(
11994 unsafe { &(*(::std::ptr::null::<rte_mbuf_dynfield>())).align as *const _ as usize },
11995 72usize,
11996 concat!(
11997 "Offset of field: ",
11998 stringify!(rte_mbuf_dynfield),
11999 "::",
12000 stringify!(align)
12001 )
12002 );
12003 assert_eq!(
12004 unsafe { &(*(::std::ptr::null::<rte_mbuf_dynfield>())).flags as *const _ as usize },
12005 80usize,
12006 concat!(
12007 "Offset of field: ",
12008 stringify!(rte_mbuf_dynfield),
12009 "::",
12010 stringify!(flags)
12011 )
12012 );
12013}
12014impl Default for rte_mbuf_dynfield {
12015 fn default() -> Self {
12016 unsafe { ::std::mem::zeroed() }
12017 }
12018}
12019#[repr(C)]
12020#[derive(Copy, Clone)]
12021pub struct rte_mbuf_dynflag {
12022 pub name: [::std::os::raw::c_char; 64usize],
12023 pub flags: ::std::os::raw::c_uint,
12024}
12025#[test]
12026fn bindgen_test_layout_rte_mbuf_dynflag() {
12027 assert_eq!(
12028 ::std::mem::size_of::<rte_mbuf_dynflag>(),
12029 68usize,
12030 concat!("Size of: ", stringify!(rte_mbuf_dynflag))
12031 );
12032 assert_eq!(
12033 ::std::mem::align_of::<rte_mbuf_dynflag>(),
12034 4usize,
12035 concat!("Alignment of ", stringify!(rte_mbuf_dynflag))
12036 );
12037 assert_eq!(
12038 unsafe { &(*(::std::ptr::null::<rte_mbuf_dynflag>())).name as *const _ as usize },
12039 0usize,
12040 concat!(
12041 "Offset of field: ",
12042 stringify!(rte_mbuf_dynflag),
12043 "::",
12044 stringify!(name)
12045 )
12046 );
12047 assert_eq!(
12048 unsafe { &(*(::std::ptr::null::<rte_mbuf_dynflag>())).flags as *const _ as usize },
12049 64usize,
12050 concat!(
12051 "Offset of field: ",
12052 stringify!(rte_mbuf_dynflag),
12053 "::",
12054 stringify!(flags)
12055 )
12056 );
12057}
12058impl Default for rte_mbuf_dynflag {
12059 fn default() -> Self {
12060 unsafe { ::std::mem::zeroed() }
12061 }
12062}
12063extern "C" {
12064 pub fn rte_mbuf_dynfield_register(params: *const rte_mbuf_dynfield) -> ::std::os::raw::c_int;
12065}
12066extern "C" {
12067 pub fn rte_mbuf_dynfield_register_offset(
12068 params: *const rte_mbuf_dynfield,
12069 offset: size_t,
12070 ) -> ::std::os::raw::c_int;
12071}
12072extern "C" {
12073 pub fn rte_mbuf_dynfield_lookup(
12074 name: *const ::std::os::raw::c_char,
12075 params: *mut rte_mbuf_dynfield,
12076 ) -> ::std::os::raw::c_int;
12077}
12078extern "C" {
12079 pub fn rte_mbuf_dynflag_register(params: *const rte_mbuf_dynflag) -> ::std::os::raw::c_int;
12080}
12081extern "C" {
12082 pub fn rte_mbuf_dynflag_register_bitnum(
12083 params: *const rte_mbuf_dynflag,
12084 bitnum: ::std::os::raw::c_uint,
12085 ) -> ::std::os::raw::c_int;
12086}
12087extern "C" {
12088 pub fn rte_mbuf_dynflag_lookup(
12089 name: *const ::std::os::raw::c_char,
12090 params: *mut rte_mbuf_dynflag,
12091 ) -> ::std::os::raw::c_int;
12092}
12093extern "C" {
12094 pub fn rte_mbuf_dyn_dump(out: *mut FILE);
12095}
12096#[repr(C)]
12097#[derive(Debug, Default, Copy, Clone, PartialEq)]
12098pub struct rte_flow_attr {
12099 pub group: u32,
12100 pub priority: u32,
12101 pub _bitfield_align_1: [u32; 0],
12102 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
12103}
12104#[test]
12105fn bindgen_test_layout_rte_flow_attr() {
12106 assert_eq!(
12107 ::std::mem::size_of::<rte_flow_attr>(),
12108 12usize,
12109 concat!("Size of: ", stringify!(rte_flow_attr))
12110 );
12111 assert_eq!(
12112 ::std::mem::align_of::<rte_flow_attr>(),
12113 4usize,
12114 concat!("Alignment of ", stringify!(rte_flow_attr))
12115 );
12116 assert_eq!(
12117 unsafe { &(*(::std::ptr::null::<rte_flow_attr>())).group as *const _ as usize },
12118 0usize,
12119 concat!(
12120 "Offset of field: ",
12121 stringify!(rte_flow_attr),
12122 "::",
12123 stringify!(group)
12124 )
12125 );
12126 assert_eq!(
12127 unsafe { &(*(::std::ptr::null::<rte_flow_attr>())).priority as *const _ as usize },
12128 4usize,
12129 concat!(
12130 "Offset of field: ",
12131 stringify!(rte_flow_attr),
12132 "::",
12133 stringify!(priority)
12134 )
12135 );
12136}
12137impl rte_flow_attr {
12138 #[inline]
12139 pub fn ingress(&self) -> u32 {
12140 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
12141 }
12142 #[inline]
12143 pub fn set_ingress(&mut self, val: u32) {
12144 unsafe {
12145 let val: u32 = ::std::mem::transmute(val);
12146 self._bitfield_1.set(0usize, 1u8, val as u64)
12147 }
12148 }
12149 #[inline]
12150 pub fn egress(&self) -> u32 {
12151 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
12152 }
12153 #[inline]
12154 pub fn set_egress(&mut self, val: u32) {
12155 unsafe {
12156 let val: u32 = ::std::mem::transmute(val);
12157 self._bitfield_1.set(1usize, 1u8, val as u64)
12158 }
12159 }
12160 #[inline]
12161 pub fn transfer(&self) -> u32 {
12162 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
12163 }
12164 #[inline]
12165 pub fn set_transfer(&mut self, val: u32) {
12166 unsafe {
12167 let val: u32 = ::std::mem::transmute(val);
12168 self._bitfield_1.set(2usize, 1u8, val as u64)
12169 }
12170 }
12171 #[inline]
12172 pub fn reserved(&self) -> u32 {
12173 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) }
12174 }
12175 #[inline]
12176 pub fn set_reserved(&mut self, val: u32) {
12177 unsafe {
12178 let val: u32 = ::std::mem::transmute(val);
12179 self._bitfield_1.set(3usize, 29u8, val as u64)
12180 }
12181 }
12182 #[inline]
12183 pub fn new_bitfield_1(
12184 ingress: u32,
12185 egress: u32,
12186 transfer: u32,
12187 reserved: u32,
12188 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
12189 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
12190 __bindgen_bitfield_unit.set(0usize, 1u8, {
12191 let ingress: u32 = unsafe { ::std::mem::transmute(ingress) };
12192 ingress as u64
12193 });
12194 __bindgen_bitfield_unit.set(1usize, 1u8, {
12195 let egress: u32 = unsafe { ::std::mem::transmute(egress) };
12196 egress as u64
12197 });
12198 __bindgen_bitfield_unit.set(2usize, 1u8, {
12199 let transfer: u32 = unsafe { ::std::mem::transmute(transfer) };
12200 transfer as u64
12201 });
12202 __bindgen_bitfield_unit.set(3usize, 29u8, {
12203 let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
12204 reserved as u64
12205 });
12206 __bindgen_bitfield_unit
12207 }
12208}
12209pub mod rte_flow_item_type {
12210 pub type Type = ::std::os::raw::c_uint;
12211 pub const RTE_FLOW_ITEM_TYPE_END: Type = 0;
12212 pub const RTE_FLOW_ITEM_TYPE_VOID: Type = 1;
12213 pub const RTE_FLOW_ITEM_TYPE_INVERT: Type = 2;
12214 pub const RTE_FLOW_ITEM_TYPE_ANY: Type = 3;
12215 pub const RTE_FLOW_ITEM_TYPE_PF: Type = 4;
12216 pub const RTE_FLOW_ITEM_TYPE_VF: Type = 5;
12217 pub const RTE_FLOW_ITEM_TYPE_PHY_PORT: Type = 6;
12218 pub const RTE_FLOW_ITEM_TYPE_PORT_ID: Type = 7;
12219 pub const RTE_FLOW_ITEM_TYPE_RAW: Type = 8;
12220 pub const RTE_FLOW_ITEM_TYPE_ETH: Type = 9;
12221 pub const RTE_FLOW_ITEM_TYPE_VLAN: Type = 10;
12222 pub const RTE_FLOW_ITEM_TYPE_IPV4: Type = 11;
12223 pub const RTE_FLOW_ITEM_TYPE_IPV6: Type = 12;
12224 pub const RTE_FLOW_ITEM_TYPE_ICMP: Type = 13;
12225 pub const RTE_FLOW_ITEM_TYPE_UDP: Type = 14;
12226 pub const RTE_FLOW_ITEM_TYPE_TCP: Type = 15;
12227 pub const RTE_FLOW_ITEM_TYPE_SCTP: Type = 16;
12228 pub const RTE_FLOW_ITEM_TYPE_VXLAN: Type = 17;
12229 pub const RTE_FLOW_ITEM_TYPE_E_TAG: Type = 18;
12230 pub const RTE_FLOW_ITEM_TYPE_NVGRE: Type = 19;
12231 pub const RTE_FLOW_ITEM_TYPE_MPLS: Type = 20;
12232 pub const RTE_FLOW_ITEM_TYPE_GRE: Type = 21;
12233 pub const RTE_FLOW_ITEM_TYPE_FUZZY: Type = 22;
12234 pub const RTE_FLOW_ITEM_TYPE_GTP: Type = 23;
12235 pub const RTE_FLOW_ITEM_TYPE_GTPC: Type = 24;
12236 pub const RTE_FLOW_ITEM_TYPE_GTPU: Type = 25;
12237 pub const RTE_FLOW_ITEM_TYPE_ESP: Type = 26;
12238 pub const RTE_FLOW_ITEM_TYPE_GENEVE: Type = 27;
12239 pub const RTE_FLOW_ITEM_TYPE_VXLAN_GPE: Type = 28;
12240 pub const RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4: Type = 29;
12241 pub const RTE_FLOW_ITEM_TYPE_IPV6_EXT: Type = 30;
12242 pub const RTE_FLOW_ITEM_TYPE_ICMP6: Type = 31;
12243 pub const RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS: Type = 32;
12244 pub const RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA: Type = 33;
12245 pub const RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT: Type = 34;
12246 pub const RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH: Type = 35;
12247 pub const RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH: Type = 36;
12248 pub const RTE_FLOW_ITEM_TYPE_MARK: Type = 37;
12249 pub const RTE_FLOW_ITEM_TYPE_META: Type = 38;
12250 pub const RTE_FLOW_ITEM_TYPE_GRE_KEY: Type = 39;
12251 pub const RTE_FLOW_ITEM_TYPE_GTP_PSC: Type = 40;
12252 pub const RTE_FLOW_ITEM_TYPE_PPPOES: Type = 41;
12253 pub const RTE_FLOW_ITEM_TYPE_PPPOED: Type = 42;
12254 pub const RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID: Type = 43;
12255 pub const RTE_FLOW_ITEM_TYPE_NSH: Type = 44;
12256 pub const RTE_FLOW_ITEM_TYPE_IGMP: Type = 45;
12257 pub const RTE_FLOW_ITEM_TYPE_AH: Type = 46;
12258 pub const RTE_FLOW_ITEM_TYPE_HIGIG2: Type = 47;
12259 pub const RTE_FLOW_ITEM_TYPE_TAG: Type = 48;
12260}
12261#[repr(C)]
12262#[derive(Copy, Clone)]
12263pub struct rte_flow_item_higig2_hdr {
12264 pub hdr: rte_higig2_hdr,
12265}
12266#[test]
12267fn bindgen_test_layout_rte_flow_item_higig2_hdr() {
12268 assert_eq!(
12269 ::std::mem::size_of::<rte_flow_item_higig2_hdr>(),
12270 16usize,
12271 concat!("Size of: ", stringify!(rte_flow_item_higig2_hdr))
12272 );
12273 assert_eq!(
12274 ::std::mem::align_of::<rte_flow_item_higig2_hdr>(),
12275 4usize,
12276 concat!("Alignment of ", stringify!(rte_flow_item_higig2_hdr))
12277 );
12278 assert_eq!(
12279 unsafe { &(*(::std::ptr::null::<rte_flow_item_higig2_hdr>())).hdr as *const _ as usize },
12280 0usize,
12281 concat!(
12282 "Offset of field: ",
12283 stringify!(rte_flow_item_higig2_hdr),
12284 "::",
12285 stringify!(hdr)
12286 )
12287 );
12288}
12289impl Default for rte_flow_item_higig2_hdr {
12290 fn default() -> Self {
12291 unsafe { ::std::mem::zeroed() }
12292 }
12293}
12294extern "C" {
12295 pub static rte_flow_item_higig2_hdr_mask: rte_flow_item_higig2_hdr;
12296}
12297#[repr(C)]
12298#[derive(Debug, Default, Copy, Clone, PartialEq)]
12299pub struct rte_flow_item_any {
12300 pub num: u32,
12301}
12302#[test]
12303fn bindgen_test_layout_rte_flow_item_any() {
12304 assert_eq!(
12305 ::std::mem::size_of::<rte_flow_item_any>(),
12306 4usize,
12307 concat!("Size of: ", stringify!(rte_flow_item_any))
12308 );
12309 assert_eq!(
12310 ::std::mem::align_of::<rte_flow_item_any>(),
12311 4usize,
12312 concat!("Alignment of ", stringify!(rte_flow_item_any))
12313 );
12314 assert_eq!(
12315 unsafe { &(*(::std::ptr::null::<rte_flow_item_any>())).num as *const _ as usize },
12316 0usize,
12317 concat!(
12318 "Offset of field: ",
12319 stringify!(rte_flow_item_any),
12320 "::",
12321 stringify!(num)
12322 )
12323 );
12324}
12325extern "C" {
12326 pub static rte_flow_item_any_mask: rte_flow_item_any;
12327}
12328#[repr(C)]
12329#[derive(Debug, Default, Copy, Clone, PartialEq)]
12330pub struct rte_flow_item_vf {
12331 pub id: u32,
12332}
12333#[test]
12334fn bindgen_test_layout_rte_flow_item_vf() {
12335 assert_eq!(
12336 ::std::mem::size_of::<rte_flow_item_vf>(),
12337 4usize,
12338 concat!("Size of: ", stringify!(rte_flow_item_vf))
12339 );
12340 assert_eq!(
12341 ::std::mem::align_of::<rte_flow_item_vf>(),
12342 4usize,
12343 concat!("Alignment of ", stringify!(rte_flow_item_vf))
12344 );
12345 assert_eq!(
12346 unsafe { &(*(::std::ptr::null::<rte_flow_item_vf>())).id as *const _ as usize },
12347 0usize,
12348 concat!(
12349 "Offset of field: ",
12350 stringify!(rte_flow_item_vf),
12351 "::",
12352 stringify!(id)
12353 )
12354 );
12355}
12356extern "C" {
12357 pub static rte_flow_item_vf_mask: rte_flow_item_vf;
12358}
12359#[repr(C)]
12360#[derive(Debug, Default, Copy, Clone, PartialEq)]
12361pub struct rte_flow_item_phy_port {
12362 pub index: u32,
12363}
12364#[test]
12365fn bindgen_test_layout_rte_flow_item_phy_port() {
12366 assert_eq!(
12367 ::std::mem::size_of::<rte_flow_item_phy_port>(),
12368 4usize,
12369 concat!("Size of: ", stringify!(rte_flow_item_phy_port))
12370 );
12371 assert_eq!(
12372 ::std::mem::align_of::<rte_flow_item_phy_port>(),
12373 4usize,
12374 concat!("Alignment of ", stringify!(rte_flow_item_phy_port))
12375 );
12376 assert_eq!(
12377 unsafe { &(*(::std::ptr::null::<rte_flow_item_phy_port>())).index as *const _ as usize },
12378 0usize,
12379 concat!(
12380 "Offset of field: ",
12381 stringify!(rte_flow_item_phy_port),
12382 "::",
12383 stringify!(index)
12384 )
12385 );
12386}
12387extern "C" {
12388 pub static rte_flow_item_phy_port_mask: rte_flow_item_phy_port;
12389}
12390#[repr(C)]
12391#[derive(Debug, Default, Copy, Clone, PartialEq)]
12392pub struct rte_flow_item_port_id {
12393 pub id: u32,
12394}
12395#[test]
12396fn bindgen_test_layout_rte_flow_item_port_id() {
12397 assert_eq!(
12398 ::std::mem::size_of::<rte_flow_item_port_id>(),
12399 4usize,
12400 concat!("Size of: ", stringify!(rte_flow_item_port_id))
12401 );
12402 assert_eq!(
12403 ::std::mem::align_of::<rte_flow_item_port_id>(),
12404 4usize,
12405 concat!("Alignment of ", stringify!(rte_flow_item_port_id))
12406 );
12407 assert_eq!(
12408 unsafe { &(*(::std::ptr::null::<rte_flow_item_port_id>())).id as *const _ as usize },
12409 0usize,
12410 concat!(
12411 "Offset of field: ",
12412 stringify!(rte_flow_item_port_id),
12413 "::",
12414 stringify!(id)
12415 )
12416 );
12417}
12418extern "C" {
12419 pub static rte_flow_item_port_id_mask: rte_flow_item_port_id;
12420}
12421#[repr(C)]
12422#[derive(Debug, Copy, Clone, PartialEq)]
12423pub struct rte_flow_item_raw {
12424 pub _bitfield_align_1: [u32; 0],
12425 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
12426 pub offset: i32,
12427 pub limit: u16,
12428 pub length: u16,
12429 pub pattern: *const u8,
12430}
12431#[test]
12432fn bindgen_test_layout_rte_flow_item_raw() {
12433 assert_eq!(
12434 ::std::mem::size_of::<rte_flow_item_raw>(),
12435 24usize,
12436 concat!("Size of: ", stringify!(rte_flow_item_raw))
12437 );
12438 assert_eq!(
12439 ::std::mem::align_of::<rte_flow_item_raw>(),
12440 8usize,
12441 concat!("Alignment of ", stringify!(rte_flow_item_raw))
12442 );
12443 assert_eq!(
12444 unsafe { &(*(::std::ptr::null::<rte_flow_item_raw>())).offset as *const _ as usize },
12445 4usize,
12446 concat!(
12447 "Offset of field: ",
12448 stringify!(rte_flow_item_raw),
12449 "::",
12450 stringify!(offset)
12451 )
12452 );
12453 assert_eq!(
12454 unsafe { &(*(::std::ptr::null::<rte_flow_item_raw>())).limit as *const _ as usize },
12455 8usize,
12456 concat!(
12457 "Offset of field: ",
12458 stringify!(rte_flow_item_raw),
12459 "::",
12460 stringify!(limit)
12461 )
12462 );
12463 assert_eq!(
12464 unsafe { &(*(::std::ptr::null::<rte_flow_item_raw>())).length as *const _ as usize },
12465 10usize,
12466 concat!(
12467 "Offset of field: ",
12468 stringify!(rte_flow_item_raw),
12469 "::",
12470 stringify!(length)
12471 )
12472 );
12473 assert_eq!(
12474 unsafe { &(*(::std::ptr::null::<rte_flow_item_raw>())).pattern as *const _ as usize },
12475 16usize,
12476 concat!(
12477 "Offset of field: ",
12478 stringify!(rte_flow_item_raw),
12479 "::",
12480 stringify!(pattern)
12481 )
12482 );
12483}
12484impl Default for rte_flow_item_raw {
12485 fn default() -> Self {
12486 unsafe { ::std::mem::zeroed() }
12487 }
12488}
12489impl rte_flow_item_raw {
12490 #[inline]
12491 pub fn relative(&self) -> u32 {
12492 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
12493 }
12494 #[inline]
12495 pub fn set_relative(&mut self, val: u32) {
12496 unsafe {
12497 let val: u32 = ::std::mem::transmute(val);
12498 self._bitfield_1.set(0usize, 1u8, val as u64)
12499 }
12500 }
12501 #[inline]
12502 pub fn search(&self) -> u32 {
12503 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
12504 }
12505 #[inline]
12506 pub fn set_search(&mut self, val: u32) {
12507 unsafe {
12508 let val: u32 = ::std::mem::transmute(val);
12509 self._bitfield_1.set(1usize, 1u8, val as u64)
12510 }
12511 }
12512 #[inline]
12513 pub fn reserved(&self) -> u32 {
12514 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
12515 }
12516 #[inline]
12517 pub fn set_reserved(&mut self, val: u32) {
12518 unsafe {
12519 let val: u32 = ::std::mem::transmute(val);
12520 self._bitfield_1.set(2usize, 30u8, val as u64)
12521 }
12522 }
12523 #[inline]
12524 pub fn new_bitfield_1(
12525 relative: u32,
12526 search: u32,
12527 reserved: u32,
12528 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
12529 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
12530 __bindgen_bitfield_unit.set(0usize, 1u8, {
12531 let relative: u32 = unsafe { ::std::mem::transmute(relative) };
12532 relative as u64
12533 });
12534 __bindgen_bitfield_unit.set(1usize, 1u8, {
12535 let search: u32 = unsafe { ::std::mem::transmute(search) };
12536 search as u64
12537 });
12538 __bindgen_bitfield_unit.set(2usize, 30u8, {
12539 let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
12540 reserved as u64
12541 });
12542 __bindgen_bitfield_unit
12543 }
12544}
12545extern "C" {
12546 pub static rte_flow_item_raw_mask: rte_flow_item_raw;
12547}
12548#[repr(C)]
12549#[derive(Debug, Default, Copy, Clone, PartialEq)]
12550pub struct rte_flow_item_eth {
12551 pub dst: rte_ether_addr,
12552 pub src: rte_ether_addr,
12553 pub type_: rte_be16_t,
12554}
12555#[test]
12556fn bindgen_test_layout_rte_flow_item_eth() {
12557 assert_eq!(
12558 ::std::mem::size_of::<rte_flow_item_eth>(),
12559 14usize,
12560 concat!("Size of: ", stringify!(rte_flow_item_eth))
12561 );
12562 assert_eq!(
12563 ::std::mem::align_of::<rte_flow_item_eth>(),
12564 2usize,
12565 concat!("Alignment of ", stringify!(rte_flow_item_eth))
12566 );
12567 assert_eq!(
12568 unsafe { &(*(::std::ptr::null::<rte_flow_item_eth>())).dst as *const _ as usize },
12569 0usize,
12570 concat!(
12571 "Offset of field: ",
12572 stringify!(rte_flow_item_eth),
12573 "::",
12574 stringify!(dst)
12575 )
12576 );
12577 assert_eq!(
12578 unsafe { &(*(::std::ptr::null::<rte_flow_item_eth>())).src as *const _ as usize },
12579 6usize,
12580 concat!(
12581 "Offset of field: ",
12582 stringify!(rte_flow_item_eth),
12583 "::",
12584 stringify!(src)
12585 )
12586 );
12587 assert_eq!(
12588 unsafe { &(*(::std::ptr::null::<rte_flow_item_eth>())).type_ as *const _ as usize },
12589 12usize,
12590 concat!(
12591 "Offset of field: ",
12592 stringify!(rte_flow_item_eth),
12593 "::",
12594 stringify!(type_)
12595 )
12596 );
12597}
12598extern "C" {
12599 pub static rte_flow_item_eth_mask: rte_flow_item_eth;
12600}
12601#[repr(C)]
12602#[derive(Debug, Default, Copy, Clone, PartialEq)]
12603pub struct rte_flow_item_vlan {
12604 pub tci: rte_be16_t,
12605 pub inner_type: rte_be16_t,
12606}
12607#[test]
12608fn bindgen_test_layout_rte_flow_item_vlan() {
12609 assert_eq!(
12610 ::std::mem::size_of::<rte_flow_item_vlan>(),
12611 4usize,
12612 concat!("Size of: ", stringify!(rte_flow_item_vlan))
12613 );
12614 assert_eq!(
12615 ::std::mem::align_of::<rte_flow_item_vlan>(),
12616 2usize,
12617 concat!("Alignment of ", stringify!(rte_flow_item_vlan))
12618 );
12619 assert_eq!(
12620 unsafe { &(*(::std::ptr::null::<rte_flow_item_vlan>())).tci as *const _ as usize },
12621 0usize,
12622 concat!(
12623 "Offset of field: ",
12624 stringify!(rte_flow_item_vlan),
12625 "::",
12626 stringify!(tci)
12627 )
12628 );
12629 assert_eq!(
12630 unsafe { &(*(::std::ptr::null::<rte_flow_item_vlan>())).inner_type as *const _ as usize },
12631 2usize,
12632 concat!(
12633 "Offset of field: ",
12634 stringify!(rte_flow_item_vlan),
12635 "::",
12636 stringify!(inner_type)
12637 )
12638 );
12639}
12640extern "C" {
12641 pub static rte_flow_item_vlan_mask: rte_flow_item_vlan;
12642}
12643#[repr(C)]
12644#[derive(Debug, Default, Copy, Clone, PartialEq)]
12645pub struct rte_flow_item_ipv4 {
12646 pub hdr: rte_ipv4_hdr,
12647}
12648#[test]
12649fn bindgen_test_layout_rte_flow_item_ipv4() {
12650 assert_eq!(
12651 ::std::mem::size_of::<rte_flow_item_ipv4>(),
12652 20usize,
12653 concat!("Size of: ", stringify!(rte_flow_item_ipv4))
12654 );
12655 assert_eq!(
12656 ::std::mem::align_of::<rte_flow_item_ipv4>(),
12657 1usize,
12658 concat!("Alignment of ", stringify!(rte_flow_item_ipv4))
12659 );
12660 assert_eq!(
12661 unsafe { &(*(::std::ptr::null::<rte_flow_item_ipv4>())).hdr as *const _ as usize },
12662 0usize,
12663 concat!(
12664 "Offset of field: ",
12665 stringify!(rte_flow_item_ipv4),
12666 "::",
12667 stringify!(hdr)
12668 )
12669 );
12670}
12671extern "C" {
12672 pub static rte_flow_item_ipv4_mask: rte_flow_item_ipv4;
12673}
12674#[repr(C)]
12675#[derive(Debug, Default, Copy, Clone, PartialEq)]
12676pub struct rte_flow_item_ipv6 {
12677 pub hdr: rte_ipv6_hdr,
12678}
12679#[test]
12680fn bindgen_test_layout_rte_flow_item_ipv6() {
12681 assert_eq!(
12682 ::std::mem::size_of::<rte_flow_item_ipv6>(),
12683 40usize,
12684 concat!("Size of: ", stringify!(rte_flow_item_ipv6))
12685 );
12686 assert_eq!(
12687 ::std::mem::align_of::<rte_flow_item_ipv6>(),
12688 1usize,
12689 concat!("Alignment of ", stringify!(rte_flow_item_ipv6))
12690 );
12691 assert_eq!(
12692 unsafe { &(*(::std::ptr::null::<rte_flow_item_ipv6>())).hdr as *const _ as usize },
12693 0usize,
12694 concat!(
12695 "Offset of field: ",
12696 stringify!(rte_flow_item_ipv6),
12697 "::",
12698 stringify!(hdr)
12699 )
12700 );
12701}
12702extern "C" {
12703 pub static rte_flow_item_ipv6_mask: rte_flow_item_ipv6;
12704}
12705#[repr(C)]
12706#[derive(Debug, Default, Copy, Clone, PartialEq)]
12707pub struct rte_flow_item_icmp {
12708 pub hdr: rte_icmp_hdr,
12709}
12710#[test]
12711fn bindgen_test_layout_rte_flow_item_icmp() {
12712 assert_eq!(
12713 ::std::mem::size_of::<rte_flow_item_icmp>(),
12714 8usize,
12715 concat!("Size of: ", stringify!(rte_flow_item_icmp))
12716 );
12717 assert_eq!(
12718 ::std::mem::align_of::<rte_flow_item_icmp>(),
12719 1usize,
12720 concat!("Alignment of ", stringify!(rte_flow_item_icmp))
12721 );
12722 assert_eq!(
12723 unsafe { &(*(::std::ptr::null::<rte_flow_item_icmp>())).hdr as *const _ as usize },
12724 0usize,
12725 concat!(
12726 "Offset of field: ",
12727 stringify!(rte_flow_item_icmp),
12728 "::",
12729 stringify!(hdr)
12730 )
12731 );
12732}
12733extern "C" {
12734 pub static rte_flow_item_icmp_mask: rte_flow_item_icmp;
12735}
12736#[repr(C)]
12737#[derive(Debug, Default, Copy, Clone, PartialEq)]
12738pub struct rte_flow_item_udp {
12739 pub hdr: rte_udp_hdr,
12740}
12741#[test]
12742fn bindgen_test_layout_rte_flow_item_udp() {
12743 assert_eq!(
12744 ::std::mem::size_of::<rte_flow_item_udp>(),
12745 8usize,
12746 concat!("Size of: ", stringify!(rte_flow_item_udp))
12747 );
12748 assert_eq!(
12749 ::std::mem::align_of::<rte_flow_item_udp>(),
12750 1usize,
12751 concat!("Alignment of ", stringify!(rte_flow_item_udp))
12752 );
12753 assert_eq!(
12754 unsafe { &(*(::std::ptr::null::<rte_flow_item_udp>())).hdr as *const _ as usize },
12755 0usize,
12756 concat!(
12757 "Offset of field: ",
12758 stringify!(rte_flow_item_udp),
12759 "::",
12760 stringify!(hdr)
12761 )
12762 );
12763}
12764extern "C" {
12765 pub static rte_flow_item_udp_mask: rte_flow_item_udp;
12766}
12767#[repr(C)]
12768#[derive(Debug, Default, Copy, Clone, PartialEq)]
12769pub struct rte_flow_item_tcp {
12770 pub hdr: rte_tcp_hdr,
12771}
12772#[test]
12773fn bindgen_test_layout_rte_flow_item_tcp() {
12774 assert_eq!(
12775 ::std::mem::size_of::<rte_flow_item_tcp>(),
12776 20usize,
12777 concat!("Size of: ", stringify!(rte_flow_item_tcp))
12778 );
12779 assert_eq!(
12780 ::std::mem::align_of::<rte_flow_item_tcp>(),
12781 1usize,
12782 concat!("Alignment of ", stringify!(rte_flow_item_tcp))
12783 );
12784 assert_eq!(
12785 unsafe { &(*(::std::ptr::null::<rte_flow_item_tcp>())).hdr as *const _ as usize },
12786 0usize,
12787 concat!(
12788 "Offset of field: ",
12789 stringify!(rte_flow_item_tcp),
12790 "::",
12791 stringify!(hdr)
12792 )
12793 );
12794}
12795extern "C" {
12796 pub static rte_flow_item_tcp_mask: rte_flow_item_tcp;
12797}
12798#[repr(C)]
12799#[derive(Debug, Default, Copy, Clone, PartialEq)]
12800pub struct rte_flow_item_sctp {
12801 pub hdr: rte_sctp_hdr,
12802}
12803#[test]
12804fn bindgen_test_layout_rte_flow_item_sctp() {
12805 assert_eq!(
12806 ::std::mem::size_of::<rte_flow_item_sctp>(),
12807 12usize,
12808 concat!("Size of: ", stringify!(rte_flow_item_sctp))
12809 );
12810 assert_eq!(
12811 ::std::mem::align_of::<rte_flow_item_sctp>(),
12812 1usize,
12813 concat!("Alignment of ", stringify!(rte_flow_item_sctp))
12814 );
12815 assert_eq!(
12816 unsafe { &(*(::std::ptr::null::<rte_flow_item_sctp>())).hdr as *const _ as usize },
12817 0usize,
12818 concat!(
12819 "Offset of field: ",
12820 stringify!(rte_flow_item_sctp),
12821 "::",
12822 stringify!(hdr)
12823 )
12824 );
12825}
12826extern "C" {
12827 pub static rte_flow_item_sctp_mask: rte_flow_item_sctp;
12828}
12829#[repr(C)]
12830#[derive(Debug, Default, Copy, Clone, PartialEq)]
12831pub struct rte_flow_item_vxlan {
12832 pub flags: u8,
12833 pub rsvd0: [u8; 3usize],
12834 pub vni: [u8; 3usize],
12835 pub rsvd1: u8,
12836}
12837#[test]
12838fn bindgen_test_layout_rte_flow_item_vxlan() {
12839 assert_eq!(
12840 ::std::mem::size_of::<rte_flow_item_vxlan>(),
12841 8usize,
12842 concat!("Size of: ", stringify!(rte_flow_item_vxlan))
12843 );
12844 assert_eq!(
12845 ::std::mem::align_of::<rte_flow_item_vxlan>(),
12846 1usize,
12847 concat!("Alignment of ", stringify!(rte_flow_item_vxlan))
12848 );
12849 assert_eq!(
12850 unsafe { &(*(::std::ptr::null::<rte_flow_item_vxlan>())).flags as *const _ as usize },
12851 0usize,
12852 concat!(
12853 "Offset of field: ",
12854 stringify!(rte_flow_item_vxlan),
12855 "::",
12856 stringify!(flags)
12857 )
12858 );
12859 assert_eq!(
12860 unsafe { &(*(::std::ptr::null::<rte_flow_item_vxlan>())).rsvd0 as *const _ as usize },
12861 1usize,
12862 concat!(
12863 "Offset of field: ",
12864 stringify!(rte_flow_item_vxlan),
12865 "::",
12866 stringify!(rsvd0)
12867 )
12868 );
12869 assert_eq!(
12870 unsafe { &(*(::std::ptr::null::<rte_flow_item_vxlan>())).vni as *const _ as usize },
12871 4usize,
12872 concat!(
12873 "Offset of field: ",
12874 stringify!(rte_flow_item_vxlan),
12875 "::",
12876 stringify!(vni)
12877 )
12878 );
12879 assert_eq!(
12880 unsafe { &(*(::std::ptr::null::<rte_flow_item_vxlan>())).rsvd1 as *const _ as usize },
12881 7usize,
12882 concat!(
12883 "Offset of field: ",
12884 stringify!(rte_flow_item_vxlan),
12885 "::",
12886 stringify!(rsvd1)
12887 )
12888 );
12889}
12890extern "C" {
12891 pub static rte_flow_item_vxlan_mask: rte_flow_item_vxlan;
12892}
12893#[repr(C)]
12894#[derive(Debug, Default, Copy, Clone, PartialEq)]
12895pub struct rte_flow_item_e_tag {
12896 pub epcp_edei_in_ecid_b: rte_be16_t,
12897 pub rsvd_grp_ecid_b: rte_be16_t,
12898 pub in_ecid_e: u8,
12899 pub ecid_e: u8,
12900 pub inner_type: rte_be16_t,
12901}
12902#[test]
12903fn bindgen_test_layout_rte_flow_item_e_tag() {
12904 assert_eq!(
12905 ::std::mem::size_of::<rte_flow_item_e_tag>(),
12906 8usize,
12907 concat!("Size of: ", stringify!(rte_flow_item_e_tag))
12908 );
12909 assert_eq!(
12910 ::std::mem::align_of::<rte_flow_item_e_tag>(),
12911 2usize,
12912 concat!("Alignment of ", stringify!(rte_flow_item_e_tag))
12913 );
12914 assert_eq!(
12915 unsafe {
12916 &(*(::std::ptr::null::<rte_flow_item_e_tag>())).epcp_edei_in_ecid_b as *const _ as usize
12917 },
12918 0usize,
12919 concat!(
12920 "Offset of field: ",
12921 stringify!(rte_flow_item_e_tag),
12922 "::",
12923 stringify!(epcp_edei_in_ecid_b)
12924 )
12925 );
12926 assert_eq!(
12927 unsafe {
12928 &(*(::std::ptr::null::<rte_flow_item_e_tag>())).rsvd_grp_ecid_b as *const _ as usize
12929 },
12930 2usize,
12931 concat!(
12932 "Offset of field: ",
12933 stringify!(rte_flow_item_e_tag),
12934 "::",
12935 stringify!(rsvd_grp_ecid_b)
12936 )
12937 );
12938 assert_eq!(
12939 unsafe { &(*(::std::ptr::null::<rte_flow_item_e_tag>())).in_ecid_e as *const _ as usize },
12940 4usize,
12941 concat!(
12942 "Offset of field: ",
12943 stringify!(rte_flow_item_e_tag),
12944 "::",
12945 stringify!(in_ecid_e)
12946 )
12947 );
12948 assert_eq!(
12949 unsafe { &(*(::std::ptr::null::<rte_flow_item_e_tag>())).ecid_e as *const _ as usize },
12950 5usize,
12951 concat!(
12952 "Offset of field: ",
12953 stringify!(rte_flow_item_e_tag),
12954 "::",
12955 stringify!(ecid_e)
12956 )
12957 );
12958 assert_eq!(
12959 unsafe { &(*(::std::ptr::null::<rte_flow_item_e_tag>())).inner_type as *const _ as usize },
12960 6usize,
12961 concat!(
12962 "Offset of field: ",
12963 stringify!(rte_flow_item_e_tag),
12964 "::",
12965 stringify!(inner_type)
12966 )
12967 );
12968}
12969extern "C" {
12970 pub static rte_flow_item_e_tag_mask: rte_flow_item_e_tag;
12971}
12972#[repr(C)]
12973#[derive(Debug, Default, Copy, Clone, PartialEq)]
12974pub struct rte_flow_item_nvgre {
12975 pub c_k_s_rsvd0_ver: rte_be16_t,
12976 pub protocol: rte_be16_t,
12977 pub tni: [u8; 3usize],
12978 pub flow_id: u8,
12979}
12980#[test]
12981fn bindgen_test_layout_rte_flow_item_nvgre() {
12982 assert_eq!(
12983 ::std::mem::size_of::<rte_flow_item_nvgre>(),
12984 8usize,
12985 concat!("Size of: ", stringify!(rte_flow_item_nvgre))
12986 );
12987 assert_eq!(
12988 ::std::mem::align_of::<rte_flow_item_nvgre>(),
12989 2usize,
12990 concat!("Alignment of ", stringify!(rte_flow_item_nvgre))
12991 );
12992 assert_eq!(
12993 unsafe {
12994 &(*(::std::ptr::null::<rte_flow_item_nvgre>())).c_k_s_rsvd0_ver as *const _ as usize
12995 },
12996 0usize,
12997 concat!(
12998 "Offset of field: ",
12999 stringify!(rte_flow_item_nvgre),
13000 "::",
13001 stringify!(c_k_s_rsvd0_ver)
13002 )
13003 );
13004 assert_eq!(
13005 unsafe { &(*(::std::ptr::null::<rte_flow_item_nvgre>())).protocol as *const _ as usize },
13006 2usize,
13007 concat!(
13008 "Offset of field: ",
13009 stringify!(rte_flow_item_nvgre),
13010 "::",
13011 stringify!(protocol)
13012 )
13013 );
13014 assert_eq!(
13015 unsafe { &(*(::std::ptr::null::<rte_flow_item_nvgre>())).tni as *const _ as usize },
13016 4usize,
13017 concat!(
13018 "Offset of field: ",
13019 stringify!(rte_flow_item_nvgre),
13020 "::",
13021 stringify!(tni)
13022 )
13023 );
13024 assert_eq!(
13025 unsafe { &(*(::std::ptr::null::<rte_flow_item_nvgre>())).flow_id as *const _ as usize },
13026 7usize,
13027 concat!(
13028 "Offset of field: ",
13029 stringify!(rte_flow_item_nvgre),
13030 "::",
13031 stringify!(flow_id)
13032 )
13033 );
13034}
13035extern "C" {
13036 pub static rte_flow_item_nvgre_mask: rte_flow_item_nvgre;
13037}
13038#[repr(C)]
13039#[derive(Debug, Default, Copy, Clone, PartialEq)]
13040pub struct rte_flow_item_mpls {
13041 pub label_tc_s: [u8; 3usize],
13042 pub ttl: u8,
13043}
13044#[test]
13045fn bindgen_test_layout_rte_flow_item_mpls() {
13046 assert_eq!(
13047 ::std::mem::size_of::<rte_flow_item_mpls>(),
13048 4usize,
13049 concat!("Size of: ", stringify!(rte_flow_item_mpls))
13050 );
13051 assert_eq!(
13052 ::std::mem::align_of::<rte_flow_item_mpls>(),
13053 1usize,
13054 concat!("Alignment of ", stringify!(rte_flow_item_mpls))
13055 );
13056 assert_eq!(
13057 unsafe { &(*(::std::ptr::null::<rte_flow_item_mpls>())).label_tc_s as *const _ as usize },
13058 0usize,
13059 concat!(
13060 "Offset of field: ",
13061 stringify!(rte_flow_item_mpls),
13062 "::",
13063 stringify!(label_tc_s)
13064 )
13065 );
13066 assert_eq!(
13067 unsafe { &(*(::std::ptr::null::<rte_flow_item_mpls>())).ttl as *const _ as usize },
13068 3usize,
13069 concat!(
13070 "Offset of field: ",
13071 stringify!(rte_flow_item_mpls),
13072 "::",
13073 stringify!(ttl)
13074 )
13075 );
13076}
13077extern "C" {
13078 pub static rte_flow_item_mpls_mask: rte_flow_item_mpls;
13079}
13080#[repr(C)]
13081#[derive(Debug, Default, Copy, Clone, PartialEq)]
13082pub struct rte_flow_item_gre {
13083 pub c_rsvd0_ver: rte_be16_t,
13084 pub protocol: rte_be16_t,
13085}
13086#[test]
13087fn bindgen_test_layout_rte_flow_item_gre() {
13088 assert_eq!(
13089 ::std::mem::size_of::<rte_flow_item_gre>(),
13090 4usize,
13091 concat!("Size of: ", stringify!(rte_flow_item_gre))
13092 );
13093 assert_eq!(
13094 ::std::mem::align_of::<rte_flow_item_gre>(),
13095 2usize,
13096 concat!("Alignment of ", stringify!(rte_flow_item_gre))
13097 );
13098 assert_eq!(
13099 unsafe { &(*(::std::ptr::null::<rte_flow_item_gre>())).c_rsvd0_ver as *const _ as usize },
13100 0usize,
13101 concat!(
13102 "Offset of field: ",
13103 stringify!(rte_flow_item_gre),
13104 "::",
13105 stringify!(c_rsvd0_ver)
13106 )
13107 );
13108 assert_eq!(
13109 unsafe { &(*(::std::ptr::null::<rte_flow_item_gre>())).protocol as *const _ as usize },
13110 2usize,
13111 concat!(
13112 "Offset of field: ",
13113 stringify!(rte_flow_item_gre),
13114 "::",
13115 stringify!(protocol)
13116 )
13117 );
13118}
13119extern "C" {
13120 pub static rte_flow_item_gre_mask: rte_flow_item_gre;
13121}
13122#[repr(C)]
13123#[derive(Debug, Default, Copy, Clone, PartialEq)]
13124pub struct rte_flow_item_fuzzy {
13125 pub thresh: u32,
13126}
13127#[test]
13128fn bindgen_test_layout_rte_flow_item_fuzzy() {
13129 assert_eq!(
13130 ::std::mem::size_of::<rte_flow_item_fuzzy>(),
13131 4usize,
13132 concat!("Size of: ", stringify!(rte_flow_item_fuzzy))
13133 );
13134 assert_eq!(
13135 ::std::mem::align_of::<rte_flow_item_fuzzy>(),
13136 4usize,
13137 concat!("Alignment of ", stringify!(rte_flow_item_fuzzy))
13138 );
13139 assert_eq!(
13140 unsafe { &(*(::std::ptr::null::<rte_flow_item_fuzzy>())).thresh as *const _ as usize },
13141 0usize,
13142 concat!(
13143 "Offset of field: ",
13144 stringify!(rte_flow_item_fuzzy),
13145 "::",
13146 stringify!(thresh)
13147 )
13148 );
13149}
13150extern "C" {
13151 pub static rte_flow_item_fuzzy_mask: rte_flow_item_fuzzy;
13152}
13153#[repr(C)]
13154#[derive(Debug, Default, Copy, Clone, PartialEq)]
13155pub struct rte_flow_item_gtp {
13156 pub v_pt_rsv_flags: u8,
13157 pub msg_type: u8,
13158 pub msg_len: rte_be16_t,
13159 pub teid: rte_be32_t,
13160}
13161#[test]
13162fn bindgen_test_layout_rte_flow_item_gtp() {
13163 assert_eq!(
13164 ::std::mem::size_of::<rte_flow_item_gtp>(),
13165 8usize,
13166 concat!("Size of: ", stringify!(rte_flow_item_gtp))
13167 );
13168 assert_eq!(
13169 ::std::mem::align_of::<rte_flow_item_gtp>(),
13170 4usize,
13171 concat!("Alignment of ", stringify!(rte_flow_item_gtp))
13172 );
13173 assert_eq!(
13174 unsafe {
13175 &(*(::std::ptr::null::<rte_flow_item_gtp>())).v_pt_rsv_flags as *const _ as usize
13176 },
13177 0usize,
13178 concat!(
13179 "Offset of field: ",
13180 stringify!(rte_flow_item_gtp),
13181 "::",
13182 stringify!(v_pt_rsv_flags)
13183 )
13184 );
13185 assert_eq!(
13186 unsafe { &(*(::std::ptr::null::<rte_flow_item_gtp>())).msg_type as *const _ as usize },
13187 1usize,
13188 concat!(
13189 "Offset of field: ",
13190 stringify!(rte_flow_item_gtp),
13191 "::",
13192 stringify!(msg_type)
13193 )
13194 );
13195 assert_eq!(
13196 unsafe { &(*(::std::ptr::null::<rte_flow_item_gtp>())).msg_len as *const _ as usize },
13197 2usize,
13198 concat!(
13199 "Offset of field: ",
13200 stringify!(rte_flow_item_gtp),
13201 "::",
13202 stringify!(msg_len)
13203 )
13204 );
13205 assert_eq!(
13206 unsafe { &(*(::std::ptr::null::<rte_flow_item_gtp>())).teid as *const _ as usize },
13207 4usize,
13208 concat!(
13209 "Offset of field: ",
13210 stringify!(rte_flow_item_gtp),
13211 "::",
13212 stringify!(teid)
13213 )
13214 );
13215}
13216extern "C" {
13217 pub static rte_flow_item_gtp_mask: rte_flow_item_gtp;
13218}
13219#[repr(C)]
13220#[derive(Debug, Default, Copy, Clone, PartialEq)]
13221pub struct rte_flow_item_esp {
13222 pub hdr: rte_esp_hdr,
13223}
13224#[test]
13225fn bindgen_test_layout_rte_flow_item_esp() {
13226 assert_eq!(
13227 ::std::mem::size_of::<rte_flow_item_esp>(),
13228 8usize,
13229 concat!("Size of: ", stringify!(rte_flow_item_esp))
13230 );
13231 assert_eq!(
13232 ::std::mem::align_of::<rte_flow_item_esp>(),
13233 1usize,
13234 concat!("Alignment of ", stringify!(rte_flow_item_esp))
13235 );
13236 assert_eq!(
13237 unsafe { &(*(::std::ptr::null::<rte_flow_item_esp>())).hdr as *const _ as usize },
13238 0usize,
13239 concat!(
13240 "Offset of field: ",
13241 stringify!(rte_flow_item_esp),
13242 "::",
13243 stringify!(hdr)
13244 )
13245 );
13246}
13247extern "C" {
13248 pub static rte_flow_item_esp_mask: rte_flow_item_esp;
13249}
13250#[repr(C)]
13251#[derive(Debug, Default, Copy, Clone, PartialEq)]
13252pub struct rte_flow_item_geneve {
13253 pub ver_opt_len_o_c_rsvd0: rte_be16_t,
13254 pub protocol: rte_be16_t,
13255 pub vni: [u8; 3usize],
13256 pub rsvd1: u8,
13257}
13258#[test]
13259fn bindgen_test_layout_rte_flow_item_geneve() {
13260 assert_eq!(
13261 ::std::mem::size_of::<rte_flow_item_geneve>(),
13262 8usize,
13263 concat!("Size of: ", stringify!(rte_flow_item_geneve))
13264 );
13265 assert_eq!(
13266 ::std::mem::align_of::<rte_flow_item_geneve>(),
13267 2usize,
13268 concat!("Alignment of ", stringify!(rte_flow_item_geneve))
13269 );
13270 assert_eq!(
13271 unsafe {
13272 &(*(::std::ptr::null::<rte_flow_item_geneve>())).ver_opt_len_o_c_rsvd0 as *const _
13273 as usize
13274 },
13275 0usize,
13276 concat!(
13277 "Offset of field: ",
13278 stringify!(rte_flow_item_geneve),
13279 "::",
13280 stringify!(ver_opt_len_o_c_rsvd0)
13281 )
13282 );
13283 assert_eq!(
13284 unsafe { &(*(::std::ptr::null::<rte_flow_item_geneve>())).protocol as *const _ as usize },
13285 2usize,
13286 concat!(
13287 "Offset of field: ",
13288 stringify!(rte_flow_item_geneve),
13289 "::",
13290 stringify!(protocol)
13291 )
13292 );
13293 assert_eq!(
13294 unsafe { &(*(::std::ptr::null::<rte_flow_item_geneve>())).vni as *const _ as usize },
13295 4usize,
13296 concat!(
13297 "Offset of field: ",
13298 stringify!(rte_flow_item_geneve),
13299 "::",
13300 stringify!(vni)
13301 )
13302 );
13303 assert_eq!(
13304 unsafe { &(*(::std::ptr::null::<rte_flow_item_geneve>())).rsvd1 as *const _ as usize },
13305 7usize,
13306 concat!(
13307 "Offset of field: ",
13308 stringify!(rte_flow_item_geneve),
13309 "::",
13310 stringify!(rsvd1)
13311 )
13312 );
13313}
13314extern "C" {
13315 pub static rte_flow_item_geneve_mask: rte_flow_item_geneve;
13316}
13317#[repr(C)]
13318#[derive(Debug, Default, Copy, Clone, PartialEq)]
13319pub struct rte_flow_item_vxlan_gpe {
13320 pub flags: u8,
13321 pub rsvd0: [u8; 2usize],
13322 pub protocol: u8,
13323 pub vni: [u8; 3usize],
13324 pub rsvd1: u8,
13325}
13326#[test]
13327fn bindgen_test_layout_rte_flow_item_vxlan_gpe() {
13328 assert_eq!(
13329 ::std::mem::size_of::<rte_flow_item_vxlan_gpe>(),
13330 8usize,
13331 concat!("Size of: ", stringify!(rte_flow_item_vxlan_gpe))
13332 );
13333 assert_eq!(
13334 ::std::mem::align_of::<rte_flow_item_vxlan_gpe>(),
13335 1usize,
13336 concat!("Alignment of ", stringify!(rte_flow_item_vxlan_gpe))
13337 );
13338 assert_eq!(
13339 unsafe { &(*(::std::ptr::null::<rte_flow_item_vxlan_gpe>())).flags as *const _ as usize },
13340 0usize,
13341 concat!(
13342 "Offset of field: ",
13343 stringify!(rte_flow_item_vxlan_gpe),
13344 "::",
13345 stringify!(flags)
13346 )
13347 );
13348 assert_eq!(
13349 unsafe { &(*(::std::ptr::null::<rte_flow_item_vxlan_gpe>())).rsvd0 as *const _ as usize },
13350 1usize,
13351 concat!(
13352 "Offset of field: ",
13353 stringify!(rte_flow_item_vxlan_gpe),
13354 "::",
13355 stringify!(rsvd0)
13356 )
13357 );
13358 assert_eq!(
13359 unsafe {
13360 &(*(::std::ptr::null::<rte_flow_item_vxlan_gpe>())).protocol as *const _ as usize
13361 },
13362 3usize,
13363 concat!(
13364 "Offset of field: ",
13365 stringify!(rte_flow_item_vxlan_gpe),
13366 "::",
13367 stringify!(protocol)
13368 )
13369 );
13370 assert_eq!(
13371 unsafe { &(*(::std::ptr::null::<rte_flow_item_vxlan_gpe>())).vni as *const _ as usize },
13372 4usize,
13373 concat!(
13374 "Offset of field: ",
13375 stringify!(rte_flow_item_vxlan_gpe),
13376 "::",
13377 stringify!(vni)
13378 )
13379 );
13380 assert_eq!(
13381 unsafe { &(*(::std::ptr::null::<rte_flow_item_vxlan_gpe>())).rsvd1 as *const _ as usize },
13382 7usize,
13383 concat!(
13384 "Offset of field: ",
13385 stringify!(rte_flow_item_vxlan_gpe),
13386 "::",
13387 stringify!(rsvd1)
13388 )
13389 );
13390}
13391extern "C" {
13392 pub static rte_flow_item_vxlan_gpe_mask: rte_flow_item_vxlan_gpe;
13393}
13394#[repr(C)]
13395#[derive(Debug, Default, Copy, Clone, PartialEq)]
13396pub struct rte_flow_item_arp_eth_ipv4 {
13397 pub hrd: rte_be16_t,
13398 pub pro: rte_be16_t,
13399 pub hln: u8,
13400 pub pln: u8,
13401 pub op: rte_be16_t,
13402 pub sha: rte_ether_addr,
13403 pub spa: rte_be32_t,
13404 pub tha: rte_ether_addr,
13405 pub tpa: rte_be32_t,
13406}
13407#[test]
13408fn bindgen_test_layout_rte_flow_item_arp_eth_ipv4() {
13409 assert_eq!(
13410 ::std::mem::size_of::<rte_flow_item_arp_eth_ipv4>(),
13411 32usize,
13412 concat!("Size of: ", stringify!(rte_flow_item_arp_eth_ipv4))
13413 );
13414 assert_eq!(
13415 ::std::mem::align_of::<rte_flow_item_arp_eth_ipv4>(),
13416 4usize,
13417 concat!("Alignment of ", stringify!(rte_flow_item_arp_eth_ipv4))
13418 );
13419 assert_eq!(
13420 unsafe { &(*(::std::ptr::null::<rte_flow_item_arp_eth_ipv4>())).hrd as *const _ as usize },
13421 0usize,
13422 concat!(
13423 "Offset of field: ",
13424 stringify!(rte_flow_item_arp_eth_ipv4),
13425 "::",
13426 stringify!(hrd)
13427 )
13428 );
13429 assert_eq!(
13430 unsafe { &(*(::std::ptr::null::<rte_flow_item_arp_eth_ipv4>())).pro as *const _ as usize },
13431 2usize,
13432 concat!(
13433 "Offset of field: ",
13434 stringify!(rte_flow_item_arp_eth_ipv4),
13435 "::",
13436 stringify!(pro)
13437 )
13438 );
13439 assert_eq!(
13440 unsafe { &(*(::std::ptr::null::<rte_flow_item_arp_eth_ipv4>())).hln as *const _ as usize },
13441 4usize,
13442 concat!(
13443 "Offset of field: ",
13444 stringify!(rte_flow_item_arp_eth_ipv4),
13445 "::",
13446 stringify!(hln)
13447 )
13448 );
13449 assert_eq!(
13450 unsafe { &(*(::std::ptr::null::<rte_flow_item_arp_eth_ipv4>())).pln as *const _ as usize },
13451 5usize,
13452 concat!(
13453 "Offset of field: ",
13454 stringify!(rte_flow_item_arp_eth_ipv4),
13455 "::",
13456 stringify!(pln)
13457 )
13458 );
13459 assert_eq!(
13460 unsafe { &(*(::std::ptr::null::<rte_flow_item_arp_eth_ipv4>())).op as *const _ as usize },
13461 6usize,
13462 concat!(
13463 "Offset of field: ",
13464 stringify!(rte_flow_item_arp_eth_ipv4),
13465 "::",
13466 stringify!(op)
13467 )
13468 );
13469 assert_eq!(
13470 unsafe { &(*(::std::ptr::null::<rte_flow_item_arp_eth_ipv4>())).sha as *const _ as usize },
13471 8usize,
13472 concat!(
13473 "Offset of field: ",
13474 stringify!(rte_flow_item_arp_eth_ipv4),
13475 "::",
13476 stringify!(sha)
13477 )
13478 );
13479 assert_eq!(
13480 unsafe { &(*(::std::ptr::null::<rte_flow_item_arp_eth_ipv4>())).spa as *const _ as usize },
13481 16usize,
13482 concat!(
13483 "Offset of field: ",
13484 stringify!(rte_flow_item_arp_eth_ipv4),
13485 "::",
13486 stringify!(spa)
13487 )
13488 );
13489 assert_eq!(
13490 unsafe { &(*(::std::ptr::null::<rte_flow_item_arp_eth_ipv4>())).tha as *const _ as usize },
13491 20usize,
13492 concat!(
13493 "Offset of field: ",
13494 stringify!(rte_flow_item_arp_eth_ipv4),
13495 "::",
13496 stringify!(tha)
13497 )
13498 );
13499 assert_eq!(
13500 unsafe { &(*(::std::ptr::null::<rte_flow_item_arp_eth_ipv4>())).tpa as *const _ as usize },
13501 28usize,
13502 concat!(
13503 "Offset of field: ",
13504 stringify!(rte_flow_item_arp_eth_ipv4),
13505 "::",
13506 stringify!(tpa)
13507 )
13508 );
13509}
13510extern "C" {
13511 pub static rte_flow_item_arp_eth_ipv4_mask: rte_flow_item_arp_eth_ipv4;
13512}
13513#[repr(C)]
13514#[derive(Debug, Default, Copy, Clone, PartialEq)]
13515pub struct rte_flow_item_ipv6_ext {
13516 pub next_hdr: u8,
13517}
13518#[test]
13519fn bindgen_test_layout_rte_flow_item_ipv6_ext() {
13520 assert_eq!(
13521 ::std::mem::size_of::<rte_flow_item_ipv6_ext>(),
13522 1usize,
13523 concat!("Size of: ", stringify!(rte_flow_item_ipv6_ext))
13524 );
13525 assert_eq!(
13526 ::std::mem::align_of::<rte_flow_item_ipv6_ext>(),
13527 1usize,
13528 concat!("Alignment of ", stringify!(rte_flow_item_ipv6_ext))
13529 );
13530 assert_eq!(
13531 unsafe { &(*(::std::ptr::null::<rte_flow_item_ipv6_ext>())).next_hdr as *const _ as usize },
13532 0usize,
13533 concat!(
13534 "Offset of field: ",
13535 stringify!(rte_flow_item_ipv6_ext),
13536 "::",
13537 stringify!(next_hdr)
13538 )
13539 );
13540}
13541extern "C" {
13542 pub static rte_flow_item_ipv6_ext_mask: rte_flow_item_ipv6_ext;
13543}
13544#[repr(C)]
13545#[derive(Debug, Default, Copy, Clone, PartialEq)]
13546pub struct rte_flow_item_icmp6 {
13547 pub type_: u8,
13548 pub code: u8,
13549 pub checksum: u16,
13550}
13551#[test]
13552fn bindgen_test_layout_rte_flow_item_icmp6() {
13553 assert_eq!(
13554 ::std::mem::size_of::<rte_flow_item_icmp6>(),
13555 4usize,
13556 concat!("Size of: ", stringify!(rte_flow_item_icmp6))
13557 );
13558 assert_eq!(
13559 ::std::mem::align_of::<rte_flow_item_icmp6>(),
13560 2usize,
13561 concat!("Alignment of ", stringify!(rte_flow_item_icmp6))
13562 );
13563 assert_eq!(
13564 unsafe { &(*(::std::ptr::null::<rte_flow_item_icmp6>())).type_ as *const _ as usize },
13565 0usize,
13566 concat!(
13567 "Offset of field: ",
13568 stringify!(rte_flow_item_icmp6),
13569 "::",
13570 stringify!(type_)
13571 )
13572 );
13573 assert_eq!(
13574 unsafe { &(*(::std::ptr::null::<rte_flow_item_icmp6>())).code as *const _ as usize },
13575 1usize,
13576 concat!(
13577 "Offset of field: ",
13578 stringify!(rte_flow_item_icmp6),
13579 "::",
13580 stringify!(code)
13581 )
13582 );
13583 assert_eq!(
13584 unsafe { &(*(::std::ptr::null::<rte_flow_item_icmp6>())).checksum as *const _ as usize },
13585 2usize,
13586 concat!(
13587 "Offset of field: ",
13588 stringify!(rte_flow_item_icmp6),
13589 "::",
13590 stringify!(checksum)
13591 )
13592 );
13593}
13594extern "C" {
13595 pub static rte_flow_item_icmp6_mask: rte_flow_item_icmp6;
13596}
13597#[repr(C)]
13598#[derive(Debug, Default, Copy, Clone, PartialEq)]
13599pub struct rte_flow_item_icmp6_nd_ns {
13600 pub type_: u8,
13601 pub code: u8,
13602 pub checksum: rte_be16_t,
13603 pub reserved: rte_be32_t,
13604 pub target_addr: [u8; 16usize],
13605}
13606#[test]
13607fn bindgen_test_layout_rte_flow_item_icmp6_nd_ns() {
13608 assert_eq!(
13609 ::std::mem::size_of::<rte_flow_item_icmp6_nd_ns>(),
13610 24usize,
13611 concat!("Size of: ", stringify!(rte_flow_item_icmp6_nd_ns))
13612 );
13613 assert_eq!(
13614 ::std::mem::align_of::<rte_flow_item_icmp6_nd_ns>(),
13615 4usize,
13616 concat!("Alignment of ", stringify!(rte_flow_item_icmp6_nd_ns))
13617 );
13618 assert_eq!(
13619 unsafe { &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_ns>())).type_ as *const _ as usize },
13620 0usize,
13621 concat!(
13622 "Offset of field: ",
13623 stringify!(rte_flow_item_icmp6_nd_ns),
13624 "::",
13625 stringify!(type_)
13626 )
13627 );
13628 assert_eq!(
13629 unsafe { &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_ns>())).code as *const _ as usize },
13630 1usize,
13631 concat!(
13632 "Offset of field: ",
13633 stringify!(rte_flow_item_icmp6_nd_ns),
13634 "::",
13635 stringify!(code)
13636 )
13637 );
13638 assert_eq!(
13639 unsafe {
13640 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_ns>())).checksum as *const _ as usize
13641 },
13642 2usize,
13643 concat!(
13644 "Offset of field: ",
13645 stringify!(rte_flow_item_icmp6_nd_ns),
13646 "::",
13647 stringify!(checksum)
13648 )
13649 );
13650 assert_eq!(
13651 unsafe {
13652 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_ns>())).reserved as *const _ as usize
13653 },
13654 4usize,
13655 concat!(
13656 "Offset of field: ",
13657 stringify!(rte_flow_item_icmp6_nd_ns),
13658 "::",
13659 stringify!(reserved)
13660 )
13661 );
13662 assert_eq!(
13663 unsafe {
13664 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_ns>())).target_addr as *const _ as usize
13665 },
13666 8usize,
13667 concat!(
13668 "Offset of field: ",
13669 stringify!(rte_flow_item_icmp6_nd_ns),
13670 "::",
13671 stringify!(target_addr)
13672 )
13673 );
13674}
13675extern "C" {
13676 pub static rte_flow_item_icmp6_nd_ns_mask: rte_flow_item_icmp6_nd_ns;
13677}
13678#[repr(C)]
13679#[derive(Debug, Default, Copy, Clone, PartialEq)]
13680pub struct rte_flow_item_icmp6_nd_na {
13681 pub type_: u8,
13682 pub code: u8,
13683 pub checksum: rte_be16_t,
13684 pub rso_reserved: rte_be32_t,
13685 pub target_addr: [u8; 16usize],
13686}
13687#[test]
13688fn bindgen_test_layout_rte_flow_item_icmp6_nd_na() {
13689 assert_eq!(
13690 ::std::mem::size_of::<rte_flow_item_icmp6_nd_na>(),
13691 24usize,
13692 concat!("Size of: ", stringify!(rte_flow_item_icmp6_nd_na))
13693 );
13694 assert_eq!(
13695 ::std::mem::align_of::<rte_flow_item_icmp6_nd_na>(),
13696 4usize,
13697 concat!("Alignment of ", stringify!(rte_flow_item_icmp6_nd_na))
13698 );
13699 assert_eq!(
13700 unsafe { &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_na>())).type_ as *const _ as usize },
13701 0usize,
13702 concat!(
13703 "Offset of field: ",
13704 stringify!(rte_flow_item_icmp6_nd_na),
13705 "::",
13706 stringify!(type_)
13707 )
13708 );
13709 assert_eq!(
13710 unsafe { &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_na>())).code as *const _ as usize },
13711 1usize,
13712 concat!(
13713 "Offset of field: ",
13714 stringify!(rte_flow_item_icmp6_nd_na),
13715 "::",
13716 stringify!(code)
13717 )
13718 );
13719 assert_eq!(
13720 unsafe {
13721 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_na>())).checksum as *const _ as usize
13722 },
13723 2usize,
13724 concat!(
13725 "Offset of field: ",
13726 stringify!(rte_flow_item_icmp6_nd_na),
13727 "::",
13728 stringify!(checksum)
13729 )
13730 );
13731 assert_eq!(
13732 unsafe {
13733 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_na>())).rso_reserved as *const _ as usize
13734 },
13735 4usize,
13736 concat!(
13737 "Offset of field: ",
13738 stringify!(rte_flow_item_icmp6_nd_na),
13739 "::",
13740 stringify!(rso_reserved)
13741 )
13742 );
13743 assert_eq!(
13744 unsafe {
13745 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_na>())).target_addr as *const _ as usize
13746 },
13747 8usize,
13748 concat!(
13749 "Offset of field: ",
13750 stringify!(rte_flow_item_icmp6_nd_na),
13751 "::",
13752 stringify!(target_addr)
13753 )
13754 );
13755}
13756extern "C" {
13757 pub static rte_flow_item_icmp6_nd_na_mask: rte_flow_item_icmp6_nd_na;
13758}
13759#[repr(C)]
13760#[derive(Debug, Default, Copy, Clone, PartialEq)]
13761pub struct rte_flow_item_icmp6_nd_opt {
13762 pub type_: u8,
13763 pub length: u8,
13764}
13765#[test]
13766fn bindgen_test_layout_rte_flow_item_icmp6_nd_opt() {
13767 assert_eq!(
13768 ::std::mem::size_of::<rte_flow_item_icmp6_nd_opt>(),
13769 2usize,
13770 concat!("Size of: ", stringify!(rte_flow_item_icmp6_nd_opt))
13771 );
13772 assert_eq!(
13773 ::std::mem::align_of::<rte_flow_item_icmp6_nd_opt>(),
13774 1usize,
13775 concat!("Alignment of ", stringify!(rte_flow_item_icmp6_nd_opt))
13776 );
13777 assert_eq!(
13778 unsafe {
13779 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_opt>())).type_ as *const _ as usize
13780 },
13781 0usize,
13782 concat!(
13783 "Offset of field: ",
13784 stringify!(rte_flow_item_icmp6_nd_opt),
13785 "::",
13786 stringify!(type_)
13787 )
13788 );
13789 assert_eq!(
13790 unsafe {
13791 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_opt>())).length as *const _ as usize
13792 },
13793 1usize,
13794 concat!(
13795 "Offset of field: ",
13796 stringify!(rte_flow_item_icmp6_nd_opt),
13797 "::",
13798 stringify!(length)
13799 )
13800 );
13801}
13802extern "C" {
13803 pub static rte_flow_item_icmp6_nd_opt_mask: rte_flow_item_icmp6_nd_opt;
13804}
13805#[repr(C)]
13806#[derive(Debug, Default, Copy, Clone, PartialEq)]
13807pub struct rte_flow_item_icmp6_nd_opt_sla_eth {
13808 pub type_: u8,
13809 pub length: u8,
13810 pub sla: rte_ether_addr,
13811}
13812#[test]
13813fn bindgen_test_layout_rte_flow_item_icmp6_nd_opt_sla_eth() {
13814 assert_eq!(
13815 ::std::mem::size_of::<rte_flow_item_icmp6_nd_opt_sla_eth>(),
13816 8usize,
13817 concat!("Size of: ", stringify!(rte_flow_item_icmp6_nd_opt_sla_eth))
13818 );
13819 assert_eq!(
13820 ::std::mem::align_of::<rte_flow_item_icmp6_nd_opt_sla_eth>(),
13821 2usize,
13822 concat!(
13823 "Alignment of ",
13824 stringify!(rte_flow_item_icmp6_nd_opt_sla_eth)
13825 )
13826 );
13827 assert_eq!(
13828 unsafe {
13829 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_opt_sla_eth>())).type_ as *const _
13830 as usize
13831 },
13832 0usize,
13833 concat!(
13834 "Offset of field: ",
13835 stringify!(rte_flow_item_icmp6_nd_opt_sla_eth),
13836 "::",
13837 stringify!(type_)
13838 )
13839 );
13840 assert_eq!(
13841 unsafe {
13842 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_opt_sla_eth>())).length as *const _
13843 as usize
13844 },
13845 1usize,
13846 concat!(
13847 "Offset of field: ",
13848 stringify!(rte_flow_item_icmp6_nd_opt_sla_eth),
13849 "::",
13850 stringify!(length)
13851 )
13852 );
13853 assert_eq!(
13854 unsafe {
13855 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_opt_sla_eth>())).sla as *const _ as usize
13856 },
13857 2usize,
13858 concat!(
13859 "Offset of field: ",
13860 stringify!(rte_flow_item_icmp6_nd_opt_sla_eth),
13861 "::",
13862 stringify!(sla)
13863 )
13864 );
13865}
13866extern "C" {
13867 pub static rte_flow_item_icmp6_nd_opt_sla_eth_mask: rte_flow_item_icmp6_nd_opt_sla_eth;
13868}
13869#[repr(C)]
13870#[derive(Debug, Default, Copy, Clone, PartialEq)]
13871pub struct rte_flow_item_icmp6_nd_opt_tla_eth {
13872 pub type_: u8,
13873 pub length: u8,
13874 pub tla: rte_ether_addr,
13875}
13876#[test]
13877fn bindgen_test_layout_rte_flow_item_icmp6_nd_opt_tla_eth() {
13878 assert_eq!(
13879 ::std::mem::size_of::<rte_flow_item_icmp6_nd_opt_tla_eth>(),
13880 8usize,
13881 concat!("Size of: ", stringify!(rte_flow_item_icmp6_nd_opt_tla_eth))
13882 );
13883 assert_eq!(
13884 ::std::mem::align_of::<rte_flow_item_icmp6_nd_opt_tla_eth>(),
13885 2usize,
13886 concat!(
13887 "Alignment of ",
13888 stringify!(rte_flow_item_icmp6_nd_opt_tla_eth)
13889 )
13890 );
13891 assert_eq!(
13892 unsafe {
13893 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_opt_tla_eth>())).type_ as *const _
13894 as usize
13895 },
13896 0usize,
13897 concat!(
13898 "Offset of field: ",
13899 stringify!(rte_flow_item_icmp6_nd_opt_tla_eth),
13900 "::",
13901 stringify!(type_)
13902 )
13903 );
13904 assert_eq!(
13905 unsafe {
13906 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_opt_tla_eth>())).length as *const _
13907 as usize
13908 },
13909 1usize,
13910 concat!(
13911 "Offset of field: ",
13912 stringify!(rte_flow_item_icmp6_nd_opt_tla_eth),
13913 "::",
13914 stringify!(length)
13915 )
13916 );
13917 assert_eq!(
13918 unsafe {
13919 &(*(::std::ptr::null::<rte_flow_item_icmp6_nd_opt_tla_eth>())).tla as *const _ as usize
13920 },
13921 2usize,
13922 concat!(
13923 "Offset of field: ",
13924 stringify!(rte_flow_item_icmp6_nd_opt_tla_eth),
13925 "::",
13926 stringify!(tla)
13927 )
13928 );
13929}
13930extern "C" {
13931 pub static rte_flow_item_icmp6_nd_opt_tla_eth_mask: rte_flow_item_icmp6_nd_opt_tla_eth;
13932}
13933#[repr(C)]
13934#[derive(Debug, Default, Copy, Clone, PartialEq)]
13935pub struct rte_flow_item_meta {
13936 pub data: u32,
13937}
13938#[test]
13939fn bindgen_test_layout_rte_flow_item_meta() {
13940 assert_eq!(
13941 ::std::mem::size_of::<rte_flow_item_meta>(),
13942 4usize,
13943 concat!("Size of: ", stringify!(rte_flow_item_meta))
13944 );
13945 assert_eq!(
13946 ::std::mem::align_of::<rte_flow_item_meta>(),
13947 4usize,
13948 concat!("Alignment of ", stringify!(rte_flow_item_meta))
13949 );
13950 assert_eq!(
13951 unsafe { &(*(::std::ptr::null::<rte_flow_item_meta>())).data as *const _ as usize },
13952 0usize,
13953 concat!(
13954 "Offset of field: ",
13955 stringify!(rte_flow_item_meta),
13956 "::",
13957 stringify!(data)
13958 )
13959 );
13960}
13961extern "C" {
13962 pub static rte_flow_item_meta_mask: rte_flow_item_meta;
13963}
13964#[repr(C)]
13965#[derive(Debug, Default, Copy, Clone, PartialEq)]
13966pub struct rte_flow_item_gtp_psc {
13967 pub pdu_type: u8,
13968 pub qfi: u8,
13969}
13970#[test]
13971fn bindgen_test_layout_rte_flow_item_gtp_psc() {
13972 assert_eq!(
13973 ::std::mem::size_of::<rte_flow_item_gtp_psc>(),
13974 2usize,
13975 concat!("Size of: ", stringify!(rte_flow_item_gtp_psc))
13976 );
13977 assert_eq!(
13978 ::std::mem::align_of::<rte_flow_item_gtp_psc>(),
13979 1usize,
13980 concat!("Alignment of ", stringify!(rte_flow_item_gtp_psc))
13981 );
13982 assert_eq!(
13983 unsafe { &(*(::std::ptr::null::<rte_flow_item_gtp_psc>())).pdu_type as *const _ as usize },
13984 0usize,
13985 concat!(
13986 "Offset of field: ",
13987 stringify!(rte_flow_item_gtp_psc),
13988 "::",
13989 stringify!(pdu_type)
13990 )
13991 );
13992 assert_eq!(
13993 unsafe { &(*(::std::ptr::null::<rte_flow_item_gtp_psc>())).qfi as *const _ as usize },
13994 1usize,
13995 concat!(
13996 "Offset of field: ",
13997 stringify!(rte_flow_item_gtp_psc),
13998 "::",
13999 stringify!(qfi)
14000 )
14001 );
14002}
14003extern "C" {
14004 pub static rte_flow_item_gtp_psc_mask: rte_flow_item_gtp_psc;
14005}
14006#[repr(C)]
14007#[derive(Debug, Default, Copy, Clone, PartialEq)]
14008pub struct rte_flow_item_pppoe {
14009 pub version_type: u8,
14010 pub code: u8,
14011 pub session_id: rte_be16_t,
14012 pub length: rte_be16_t,
14013}
14014#[test]
14015fn bindgen_test_layout_rte_flow_item_pppoe() {
14016 assert_eq!(
14017 ::std::mem::size_of::<rte_flow_item_pppoe>(),
14018 6usize,
14019 concat!("Size of: ", stringify!(rte_flow_item_pppoe))
14020 );
14021 assert_eq!(
14022 ::std::mem::align_of::<rte_flow_item_pppoe>(),
14023 2usize,
14024 concat!("Alignment of ", stringify!(rte_flow_item_pppoe))
14025 );
14026 assert_eq!(
14027 unsafe {
14028 &(*(::std::ptr::null::<rte_flow_item_pppoe>())).version_type as *const _ as usize
14029 },
14030 0usize,
14031 concat!(
14032 "Offset of field: ",
14033 stringify!(rte_flow_item_pppoe),
14034 "::",
14035 stringify!(version_type)
14036 )
14037 );
14038 assert_eq!(
14039 unsafe { &(*(::std::ptr::null::<rte_flow_item_pppoe>())).code as *const _ as usize },
14040 1usize,
14041 concat!(
14042 "Offset of field: ",
14043 stringify!(rte_flow_item_pppoe),
14044 "::",
14045 stringify!(code)
14046 )
14047 );
14048 assert_eq!(
14049 unsafe { &(*(::std::ptr::null::<rte_flow_item_pppoe>())).session_id as *const _ as usize },
14050 2usize,
14051 concat!(
14052 "Offset of field: ",
14053 stringify!(rte_flow_item_pppoe),
14054 "::",
14055 stringify!(session_id)
14056 )
14057 );
14058 assert_eq!(
14059 unsafe { &(*(::std::ptr::null::<rte_flow_item_pppoe>())).length as *const _ as usize },
14060 4usize,
14061 concat!(
14062 "Offset of field: ",
14063 stringify!(rte_flow_item_pppoe),
14064 "::",
14065 stringify!(length)
14066 )
14067 );
14068}
14069#[repr(C)]
14070#[derive(Debug, Default, Copy, Clone, PartialEq)]
14071pub struct rte_flow_item_pppoe_proto_id {
14072 pub proto_id: rte_be16_t,
14073}
14074#[test]
14075fn bindgen_test_layout_rte_flow_item_pppoe_proto_id() {
14076 assert_eq!(
14077 ::std::mem::size_of::<rte_flow_item_pppoe_proto_id>(),
14078 2usize,
14079 concat!("Size of: ", stringify!(rte_flow_item_pppoe_proto_id))
14080 );
14081 assert_eq!(
14082 ::std::mem::align_of::<rte_flow_item_pppoe_proto_id>(),
14083 2usize,
14084 concat!("Alignment of ", stringify!(rte_flow_item_pppoe_proto_id))
14085 );
14086 assert_eq!(
14087 unsafe {
14088 &(*(::std::ptr::null::<rte_flow_item_pppoe_proto_id>())).proto_id as *const _ as usize
14089 },
14090 0usize,
14091 concat!(
14092 "Offset of field: ",
14093 stringify!(rte_flow_item_pppoe_proto_id),
14094 "::",
14095 stringify!(proto_id)
14096 )
14097 );
14098}
14099extern "C" {
14100 pub static rte_flow_item_pppoe_proto_id_mask: rte_flow_item_pppoe_proto_id;
14101}
14102#[repr(C)]
14103#[derive(Debug, Default, Copy, Clone, PartialEq)]
14104pub struct rte_flow_item_tag {
14105 pub data: u32,
14106 pub index: u8,
14107}
14108#[test]
14109fn bindgen_test_layout_rte_flow_item_tag() {
14110 assert_eq!(
14111 ::std::mem::size_of::<rte_flow_item_tag>(),
14112 8usize,
14113 concat!("Size of: ", stringify!(rte_flow_item_tag))
14114 );
14115 assert_eq!(
14116 ::std::mem::align_of::<rte_flow_item_tag>(),
14117 4usize,
14118 concat!("Alignment of ", stringify!(rte_flow_item_tag))
14119 );
14120 assert_eq!(
14121 unsafe { &(*(::std::ptr::null::<rte_flow_item_tag>())).data as *const _ as usize },
14122 0usize,
14123 concat!(
14124 "Offset of field: ",
14125 stringify!(rte_flow_item_tag),
14126 "::",
14127 stringify!(data)
14128 )
14129 );
14130 assert_eq!(
14131 unsafe { &(*(::std::ptr::null::<rte_flow_item_tag>())).index as *const _ as usize },
14132 4usize,
14133 concat!(
14134 "Offset of field: ",
14135 stringify!(rte_flow_item_tag),
14136 "::",
14137 stringify!(index)
14138 )
14139 );
14140}
14141extern "C" {
14142 pub static rte_flow_item_tag_mask: rte_flow_item_tag;
14143}
14144#[repr(C)]
14145#[derive(Debug, Default, Copy, Clone, PartialEq)]
14146pub struct rte_flow_item_mark {
14147 pub id: u32,
14148}
14149#[test]
14150fn bindgen_test_layout_rte_flow_item_mark() {
14151 assert_eq!(
14152 ::std::mem::size_of::<rte_flow_item_mark>(),
14153 4usize,
14154 concat!("Size of: ", stringify!(rte_flow_item_mark))
14155 );
14156 assert_eq!(
14157 ::std::mem::align_of::<rte_flow_item_mark>(),
14158 4usize,
14159 concat!("Alignment of ", stringify!(rte_flow_item_mark))
14160 );
14161 assert_eq!(
14162 unsafe { &(*(::std::ptr::null::<rte_flow_item_mark>())).id as *const _ as usize },
14163 0usize,
14164 concat!(
14165 "Offset of field: ",
14166 stringify!(rte_flow_item_mark),
14167 "::",
14168 stringify!(id)
14169 )
14170 );
14171}
14172extern "C" {
14173 pub static rte_flow_item_mark_mask: rte_flow_item_mark;
14174}
14175#[repr(C)]
14176#[repr(align(4))]
14177#[derive(Debug, Default, Copy, Clone, PartialEq)]
14178pub struct rte_flow_item_nsh {
14179 pub _bitfield_align_1: [u32; 0],
14180 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
14181}
14182#[test]
14183fn bindgen_test_layout_rte_flow_item_nsh() {
14184 assert_eq!(
14185 ::std::mem::size_of::<rte_flow_item_nsh>(),
14186 8usize,
14187 concat!("Size of: ", stringify!(rte_flow_item_nsh))
14188 );
14189 assert_eq!(
14190 ::std::mem::align_of::<rte_flow_item_nsh>(),
14191 4usize,
14192 concat!("Alignment of ", stringify!(rte_flow_item_nsh))
14193 );
14194}
14195impl rte_flow_item_nsh {
14196 #[inline]
14197 pub fn version(&self) -> u32 {
14198 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) }
14199 }
14200 #[inline]
14201 pub fn set_version(&mut self, val: u32) {
14202 unsafe {
14203 let val: u32 = ::std::mem::transmute(val);
14204 self._bitfield_1.set(0usize, 2u8, val as u64)
14205 }
14206 }
14207 #[inline]
14208 pub fn oam_pkt(&self) -> u32 {
14209 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
14210 }
14211 #[inline]
14212 pub fn set_oam_pkt(&mut self, val: u32) {
14213 unsafe {
14214 let val: u32 = ::std::mem::transmute(val);
14215 self._bitfield_1.set(2usize, 1u8, val as u64)
14216 }
14217 }
14218 #[inline]
14219 pub fn reserved(&self) -> u32 {
14220 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
14221 }
14222 #[inline]
14223 pub fn set_reserved(&mut self, val: u32) {
14224 unsafe {
14225 let val: u32 = ::std::mem::transmute(val);
14226 self._bitfield_1.set(3usize, 1u8, val as u64)
14227 }
14228 }
14229 #[inline]
14230 pub fn ttl(&self) -> u32 {
14231 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 6u8) as u32) }
14232 }
14233 #[inline]
14234 pub fn set_ttl(&mut self, val: u32) {
14235 unsafe {
14236 let val: u32 = ::std::mem::transmute(val);
14237 self._bitfield_1.set(4usize, 6u8, val as u64)
14238 }
14239 }
14240 #[inline]
14241 pub fn length(&self) -> u32 {
14242 unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 6u8) as u32) }
14243 }
14244 #[inline]
14245 pub fn set_length(&mut self, val: u32) {
14246 unsafe {
14247 let val: u32 = ::std::mem::transmute(val);
14248 self._bitfield_1.set(10usize, 6u8, val as u64)
14249 }
14250 }
14251 #[inline]
14252 pub fn reserved1(&self) -> u32 {
14253 unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u32) }
14254 }
14255 #[inline]
14256 pub fn set_reserved1(&mut self, val: u32) {
14257 unsafe {
14258 let val: u32 = ::std::mem::transmute(val);
14259 self._bitfield_1.set(16usize, 4u8, val as u64)
14260 }
14261 }
14262 #[inline]
14263 pub fn mdtype(&self) -> u32 {
14264 unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u32) }
14265 }
14266 #[inline]
14267 pub fn set_mdtype(&mut self, val: u32) {
14268 unsafe {
14269 let val: u32 = ::std::mem::transmute(val);
14270 self._bitfield_1.set(20usize, 4u8, val as u64)
14271 }
14272 }
14273 #[inline]
14274 pub fn next_proto(&self) -> u32 {
14275 unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) }
14276 }
14277 #[inline]
14278 pub fn set_next_proto(&mut self, val: u32) {
14279 unsafe {
14280 let val: u32 = ::std::mem::transmute(val);
14281 self._bitfield_1.set(24usize, 8u8, val as u64)
14282 }
14283 }
14284 #[inline]
14285 pub fn spi(&self) -> u32 {
14286 unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 24u8) as u32) }
14287 }
14288 #[inline]
14289 pub fn set_spi(&mut self, val: u32) {
14290 unsafe {
14291 let val: u32 = ::std::mem::transmute(val);
14292 self._bitfield_1.set(32usize, 24u8, val as u64)
14293 }
14294 }
14295 #[inline]
14296 pub fn sindex(&self) -> u32 {
14297 unsafe { ::std::mem::transmute(self._bitfield_1.get(56usize, 8u8) as u32) }
14298 }
14299 #[inline]
14300 pub fn set_sindex(&mut self, val: u32) {
14301 unsafe {
14302 let val: u32 = ::std::mem::transmute(val);
14303 self._bitfield_1.set(56usize, 8u8, val as u64)
14304 }
14305 }
14306 #[inline]
14307 pub fn new_bitfield_1(
14308 version: u32,
14309 oam_pkt: u32,
14310 reserved: u32,
14311 ttl: u32,
14312 length: u32,
14313 reserved1: u32,
14314 mdtype: u32,
14315 next_proto: u32,
14316 spi: u32,
14317 sindex: u32,
14318 ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
14319 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
14320 __bindgen_bitfield_unit.set(0usize, 2u8, {
14321 let version: u32 = unsafe { ::std::mem::transmute(version) };
14322 version as u64
14323 });
14324 __bindgen_bitfield_unit.set(2usize, 1u8, {
14325 let oam_pkt: u32 = unsafe { ::std::mem::transmute(oam_pkt) };
14326 oam_pkt as u64
14327 });
14328 __bindgen_bitfield_unit.set(3usize, 1u8, {
14329 let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
14330 reserved as u64
14331 });
14332 __bindgen_bitfield_unit.set(4usize, 6u8, {
14333 let ttl: u32 = unsafe { ::std::mem::transmute(ttl) };
14334 ttl as u64
14335 });
14336 __bindgen_bitfield_unit.set(10usize, 6u8, {
14337 let length: u32 = unsafe { ::std::mem::transmute(length) };
14338 length as u64
14339 });
14340 __bindgen_bitfield_unit.set(16usize, 4u8, {
14341 let reserved1: u32 = unsafe { ::std::mem::transmute(reserved1) };
14342 reserved1 as u64
14343 });
14344 __bindgen_bitfield_unit.set(20usize, 4u8, {
14345 let mdtype: u32 = unsafe { ::std::mem::transmute(mdtype) };
14346 mdtype as u64
14347 });
14348 __bindgen_bitfield_unit.set(24usize, 8u8, {
14349 let next_proto: u32 = unsafe { ::std::mem::transmute(next_proto) };
14350 next_proto as u64
14351 });
14352 __bindgen_bitfield_unit.set(32usize, 24u8, {
14353 let spi: u32 = unsafe { ::std::mem::transmute(spi) };
14354 spi as u64
14355 });
14356 __bindgen_bitfield_unit.set(56usize, 8u8, {
14357 let sindex: u32 = unsafe { ::std::mem::transmute(sindex) };
14358 sindex as u64
14359 });
14360 __bindgen_bitfield_unit
14361 }
14362}
14363extern "C" {
14364 pub static rte_flow_item_nsh_mask: rte_flow_item_nsh;
14365}
14366#[repr(C)]
14367#[derive(Debug, Default, Copy, Clone, PartialEq)]
14368pub struct rte_flow_item_igmp {
14369 pub _bitfield_align_1: [u16; 0],
14370 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
14371 pub group_addr: u32,
14372}
14373#[test]
14374fn bindgen_test_layout_rte_flow_item_igmp() {
14375 assert_eq!(
14376 ::std::mem::size_of::<rte_flow_item_igmp>(),
14377 8usize,
14378 concat!("Size of: ", stringify!(rte_flow_item_igmp))
14379 );
14380 assert_eq!(
14381 ::std::mem::align_of::<rte_flow_item_igmp>(),
14382 4usize,
14383 concat!("Alignment of ", stringify!(rte_flow_item_igmp))
14384 );
14385 assert_eq!(
14386 unsafe { &(*(::std::ptr::null::<rte_flow_item_igmp>())).group_addr as *const _ as usize },
14387 4usize,
14388 concat!(
14389 "Offset of field: ",
14390 stringify!(rte_flow_item_igmp),
14391 "::",
14392 stringify!(group_addr)
14393 )
14394 );
14395}
14396impl rte_flow_item_igmp {
14397 #[inline]
14398 pub fn type_(&self) -> u32 {
14399 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
14400 }
14401 #[inline]
14402 pub fn set_type(&mut self, val: u32) {
14403 unsafe {
14404 let val: u32 = ::std::mem::transmute(val);
14405 self._bitfield_1.set(0usize, 8u8, val as u64)
14406 }
14407 }
14408 #[inline]
14409 pub fn max_resp_time(&self) -> u32 {
14410 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) }
14411 }
14412 #[inline]
14413 pub fn set_max_resp_time(&mut self, val: u32) {
14414 unsafe {
14415 let val: u32 = ::std::mem::transmute(val);
14416 self._bitfield_1.set(8usize, 8u8, val as u64)
14417 }
14418 }
14419 #[inline]
14420 pub fn checksum(&self) -> u32 {
14421 unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) }
14422 }
14423 #[inline]
14424 pub fn set_checksum(&mut self, val: u32) {
14425 unsafe {
14426 let val: u32 = ::std::mem::transmute(val);
14427 self._bitfield_1.set(16usize, 16u8, val as u64)
14428 }
14429 }
14430 #[inline]
14431 pub fn new_bitfield_1(
14432 type_: u32,
14433 max_resp_time: u32,
14434 checksum: u32,
14435 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
14436 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
14437 __bindgen_bitfield_unit.set(0usize, 8u8, {
14438 let type_: u32 = unsafe { ::std::mem::transmute(type_) };
14439 type_ as u64
14440 });
14441 __bindgen_bitfield_unit.set(8usize, 8u8, {
14442 let max_resp_time: u32 = unsafe { ::std::mem::transmute(max_resp_time) };
14443 max_resp_time as u64
14444 });
14445 __bindgen_bitfield_unit.set(16usize, 16u8, {
14446 let checksum: u32 = unsafe { ::std::mem::transmute(checksum) };
14447 checksum as u64
14448 });
14449 __bindgen_bitfield_unit
14450 }
14451}
14452extern "C" {
14453 pub static rte_flow_item_igmp_mask: rte_flow_item_igmp;
14454}
14455#[repr(C)]
14456#[derive(Debug, Default, Copy, Clone, PartialEq)]
14457pub struct rte_flow_item_ah {
14458 pub _bitfield_align_1: [u16; 0],
14459 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
14460 pub spi: u32,
14461 pub seq_num: u32,
14462}
14463#[test]
14464fn bindgen_test_layout_rte_flow_item_ah() {
14465 assert_eq!(
14466 ::std::mem::size_of::<rte_flow_item_ah>(),
14467 12usize,
14468 concat!("Size of: ", stringify!(rte_flow_item_ah))
14469 );
14470 assert_eq!(
14471 ::std::mem::align_of::<rte_flow_item_ah>(),
14472 4usize,
14473 concat!("Alignment of ", stringify!(rte_flow_item_ah))
14474 );
14475 assert_eq!(
14476 unsafe { &(*(::std::ptr::null::<rte_flow_item_ah>())).spi as *const _ as usize },
14477 4usize,
14478 concat!(
14479 "Offset of field: ",
14480 stringify!(rte_flow_item_ah),
14481 "::",
14482 stringify!(spi)
14483 )
14484 );
14485 assert_eq!(
14486 unsafe { &(*(::std::ptr::null::<rte_flow_item_ah>())).seq_num as *const _ as usize },
14487 8usize,
14488 concat!(
14489 "Offset of field: ",
14490 stringify!(rte_flow_item_ah),
14491 "::",
14492 stringify!(seq_num)
14493 )
14494 );
14495}
14496impl rte_flow_item_ah {
14497 #[inline]
14498 pub fn next_hdr(&self) -> u32 {
14499 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
14500 }
14501 #[inline]
14502 pub fn set_next_hdr(&mut self, val: u32) {
14503 unsafe {
14504 let val: u32 = ::std::mem::transmute(val);
14505 self._bitfield_1.set(0usize, 8u8, val as u64)
14506 }
14507 }
14508 #[inline]
14509 pub fn payload_len(&self) -> u32 {
14510 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) }
14511 }
14512 #[inline]
14513 pub fn set_payload_len(&mut self, val: u32) {
14514 unsafe {
14515 let val: u32 = ::std::mem::transmute(val);
14516 self._bitfield_1.set(8usize, 8u8, val as u64)
14517 }
14518 }
14519 #[inline]
14520 pub fn reserved(&self) -> u32 {
14521 unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) }
14522 }
14523 #[inline]
14524 pub fn set_reserved(&mut self, val: u32) {
14525 unsafe {
14526 let val: u32 = ::std::mem::transmute(val);
14527 self._bitfield_1.set(16usize, 16u8, val as u64)
14528 }
14529 }
14530 #[inline]
14531 pub fn new_bitfield_1(
14532 next_hdr: u32,
14533 payload_len: u32,
14534 reserved: u32,
14535 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
14536 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
14537 __bindgen_bitfield_unit.set(0usize, 8u8, {
14538 let next_hdr: u32 = unsafe { ::std::mem::transmute(next_hdr) };
14539 next_hdr as u64
14540 });
14541 __bindgen_bitfield_unit.set(8usize, 8u8, {
14542 let payload_len: u32 = unsafe { ::std::mem::transmute(payload_len) };
14543 payload_len as u64
14544 });
14545 __bindgen_bitfield_unit.set(16usize, 16u8, {
14546 let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
14547 reserved as u64
14548 });
14549 __bindgen_bitfield_unit
14550 }
14551}
14552extern "C" {
14553 pub static rte_flow_item_ah_mask: rte_flow_item_ah;
14554}
14555#[repr(C)]
14556#[derive(Debug, Copy, Clone, PartialEq)]
14557pub struct rte_flow_item {
14558 pub type_: rte_flow_item_type::Type,
14559 pub spec: *const ::std::os::raw::c_void,
14560 pub last: *const ::std::os::raw::c_void,
14561 pub mask: *const ::std::os::raw::c_void,
14562}
14563#[test]
14564fn bindgen_test_layout_rte_flow_item() {
14565 assert_eq!(
14566 ::std::mem::size_of::<rte_flow_item>(),
14567 32usize,
14568 concat!("Size of: ", stringify!(rte_flow_item))
14569 );
14570 assert_eq!(
14571 ::std::mem::align_of::<rte_flow_item>(),
14572 8usize,
14573 concat!("Alignment of ", stringify!(rte_flow_item))
14574 );
14575 assert_eq!(
14576 unsafe { &(*(::std::ptr::null::<rte_flow_item>())).type_ as *const _ as usize },
14577 0usize,
14578 concat!(
14579 "Offset of field: ",
14580 stringify!(rte_flow_item),
14581 "::",
14582 stringify!(type_)
14583 )
14584 );
14585 assert_eq!(
14586 unsafe { &(*(::std::ptr::null::<rte_flow_item>())).spec as *const _ as usize },
14587 8usize,
14588 concat!(
14589 "Offset of field: ",
14590 stringify!(rte_flow_item),
14591 "::",
14592 stringify!(spec)
14593 )
14594 );
14595 assert_eq!(
14596 unsafe { &(*(::std::ptr::null::<rte_flow_item>())).last as *const _ as usize },
14597 16usize,
14598 concat!(
14599 "Offset of field: ",
14600 stringify!(rte_flow_item),
14601 "::",
14602 stringify!(last)
14603 )
14604 );
14605 assert_eq!(
14606 unsafe { &(*(::std::ptr::null::<rte_flow_item>())).mask as *const _ as usize },
14607 24usize,
14608 concat!(
14609 "Offset of field: ",
14610 stringify!(rte_flow_item),
14611 "::",
14612 stringify!(mask)
14613 )
14614 );
14615}
14616impl Default for rte_flow_item {
14617 fn default() -> Self {
14618 unsafe { ::std::mem::zeroed() }
14619 }
14620}
14621pub mod rte_flow_action_type {
14622 pub type Type = ::std::os::raw::c_uint;
14623 pub const RTE_FLOW_ACTION_TYPE_END: Type = 0;
14624 pub const RTE_FLOW_ACTION_TYPE_VOID: Type = 1;
14625 pub const RTE_FLOW_ACTION_TYPE_PASSTHRU: Type = 2;
14626 pub const RTE_FLOW_ACTION_TYPE_JUMP: Type = 3;
14627 pub const RTE_FLOW_ACTION_TYPE_MARK: Type = 4;
14628 pub const RTE_FLOW_ACTION_TYPE_FLAG: Type = 5;
14629 pub const RTE_FLOW_ACTION_TYPE_QUEUE: Type = 6;
14630 pub const RTE_FLOW_ACTION_TYPE_DROP: Type = 7;
14631 pub const RTE_FLOW_ACTION_TYPE_COUNT: Type = 8;
14632 pub const RTE_FLOW_ACTION_TYPE_RSS: Type = 9;
14633 pub const RTE_FLOW_ACTION_TYPE_PF: Type = 10;
14634 pub const RTE_FLOW_ACTION_TYPE_VF: Type = 11;
14635 pub const RTE_FLOW_ACTION_TYPE_PHY_PORT: Type = 12;
14636 pub const RTE_FLOW_ACTION_TYPE_PORT_ID: Type = 13;
14637 pub const RTE_FLOW_ACTION_TYPE_METER: Type = 14;
14638 pub const RTE_FLOW_ACTION_TYPE_SECURITY: Type = 15;
14639 pub const RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL: Type = 16;
14640 pub const RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL: Type = 17;
14641 pub const RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL: Type = 18;
14642 pub const RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL: Type = 19;
14643 pub const RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT: Type = 20;
14644 pub const RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN: Type = 21;
14645 pub const RTE_FLOW_ACTION_TYPE_OF_POP_VLAN: Type = 22;
14646 pub const RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN: Type = 23;
14647 pub const RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID: Type = 24;
14648 pub const RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP: Type = 25;
14649 pub const RTE_FLOW_ACTION_TYPE_OF_POP_MPLS: Type = 26;
14650 pub const RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS: Type = 27;
14651 pub const RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP: Type = 28;
14652 pub const RTE_FLOW_ACTION_TYPE_VXLAN_DECAP: Type = 29;
14653 pub const RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP: Type = 30;
14654 pub const RTE_FLOW_ACTION_TYPE_NVGRE_DECAP: Type = 31;
14655 pub const RTE_FLOW_ACTION_TYPE_RAW_ENCAP: Type = 32;
14656 pub const RTE_FLOW_ACTION_TYPE_RAW_DECAP: Type = 33;
14657 pub const RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC: Type = 34;
14658 pub const RTE_FLOW_ACTION_TYPE_SET_IPV4_DST: Type = 35;
14659 pub const RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC: Type = 36;
14660 pub const RTE_FLOW_ACTION_TYPE_SET_IPV6_DST: Type = 37;
14661 pub const RTE_FLOW_ACTION_TYPE_SET_TP_SRC: Type = 38;
14662 pub const RTE_FLOW_ACTION_TYPE_SET_TP_DST: Type = 39;
14663 pub const RTE_FLOW_ACTION_TYPE_MAC_SWAP: Type = 40;
14664 pub const RTE_FLOW_ACTION_TYPE_DEC_TTL: Type = 41;
14665 pub const RTE_FLOW_ACTION_TYPE_SET_TTL: Type = 42;
14666 pub const RTE_FLOW_ACTION_TYPE_SET_MAC_SRC: Type = 43;
14667 pub const RTE_FLOW_ACTION_TYPE_SET_MAC_DST: Type = 44;
14668 pub const RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ: Type = 45;
14669 pub const RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ: Type = 46;
14670 pub const RTE_FLOW_ACTION_TYPE_INC_TCP_ACK: Type = 47;
14671 pub const RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK: Type = 48;
14672 pub const RTE_FLOW_ACTION_TYPE_SET_TAG: Type = 49;
14673 pub const RTE_FLOW_ACTION_TYPE_SET_META: Type = 50;
14674}
14675#[repr(C)]
14676#[derive(Debug, Default, Copy, Clone, PartialEq)]
14677pub struct rte_flow_action_mark {
14678 pub id: u32,
14679}
14680#[test]
14681fn bindgen_test_layout_rte_flow_action_mark() {
14682 assert_eq!(
14683 ::std::mem::size_of::<rte_flow_action_mark>(),
14684 4usize,
14685 concat!("Size of: ", stringify!(rte_flow_action_mark))
14686 );
14687 assert_eq!(
14688 ::std::mem::align_of::<rte_flow_action_mark>(),
14689 4usize,
14690 concat!("Alignment of ", stringify!(rte_flow_action_mark))
14691 );
14692 assert_eq!(
14693 unsafe { &(*(::std::ptr::null::<rte_flow_action_mark>())).id as *const _ as usize },
14694 0usize,
14695 concat!(
14696 "Offset of field: ",
14697 stringify!(rte_flow_action_mark),
14698 "::",
14699 stringify!(id)
14700 )
14701 );
14702}
14703#[repr(C)]
14704#[derive(Debug, Default, Copy, Clone, PartialEq)]
14705pub struct rte_flow_action_jump {
14706 pub group: u32,
14707}
14708#[test]
14709fn bindgen_test_layout_rte_flow_action_jump() {
14710 assert_eq!(
14711 ::std::mem::size_of::<rte_flow_action_jump>(),
14712 4usize,
14713 concat!("Size of: ", stringify!(rte_flow_action_jump))
14714 );
14715 assert_eq!(
14716 ::std::mem::align_of::<rte_flow_action_jump>(),
14717 4usize,
14718 concat!("Alignment of ", stringify!(rte_flow_action_jump))
14719 );
14720 assert_eq!(
14721 unsafe { &(*(::std::ptr::null::<rte_flow_action_jump>())).group as *const _ as usize },
14722 0usize,
14723 concat!(
14724 "Offset of field: ",
14725 stringify!(rte_flow_action_jump),
14726 "::",
14727 stringify!(group)
14728 )
14729 );
14730}
14731#[repr(C)]
14732#[derive(Debug, Default, Copy, Clone, PartialEq)]
14733pub struct rte_flow_action_queue {
14734 pub index: u16,
14735}
14736#[test]
14737fn bindgen_test_layout_rte_flow_action_queue() {
14738 assert_eq!(
14739 ::std::mem::size_of::<rte_flow_action_queue>(),
14740 2usize,
14741 concat!("Size of: ", stringify!(rte_flow_action_queue))
14742 );
14743 assert_eq!(
14744 ::std::mem::align_of::<rte_flow_action_queue>(),
14745 2usize,
14746 concat!("Alignment of ", stringify!(rte_flow_action_queue))
14747 );
14748 assert_eq!(
14749 unsafe { &(*(::std::ptr::null::<rte_flow_action_queue>())).index as *const _ as usize },
14750 0usize,
14751 concat!(
14752 "Offset of field: ",
14753 stringify!(rte_flow_action_queue),
14754 "::",
14755 stringify!(index)
14756 )
14757 );
14758}
14759#[repr(C)]
14760#[derive(Debug, Default, Copy, Clone, PartialEq)]
14761pub struct rte_flow_action_count {
14762 pub _bitfield_align_1: [u32; 0],
14763 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
14764 pub id: u32,
14765}
14766#[test]
14767fn bindgen_test_layout_rte_flow_action_count() {
14768 assert_eq!(
14769 ::std::mem::size_of::<rte_flow_action_count>(),
14770 8usize,
14771 concat!("Size of: ", stringify!(rte_flow_action_count))
14772 );
14773 assert_eq!(
14774 ::std::mem::align_of::<rte_flow_action_count>(),
14775 4usize,
14776 concat!("Alignment of ", stringify!(rte_flow_action_count))
14777 );
14778 assert_eq!(
14779 unsafe { &(*(::std::ptr::null::<rte_flow_action_count>())).id as *const _ as usize },
14780 4usize,
14781 concat!(
14782 "Offset of field: ",
14783 stringify!(rte_flow_action_count),
14784 "::",
14785 stringify!(id)
14786 )
14787 );
14788}
14789impl rte_flow_action_count {
14790 #[inline]
14791 pub fn shared(&self) -> u32 {
14792 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
14793 }
14794 #[inline]
14795 pub fn set_shared(&mut self, val: u32) {
14796 unsafe {
14797 let val: u32 = ::std::mem::transmute(val);
14798 self._bitfield_1.set(0usize, 1u8, val as u64)
14799 }
14800 }
14801 #[inline]
14802 pub fn reserved(&self) -> u32 {
14803 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
14804 }
14805 #[inline]
14806 pub fn set_reserved(&mut self, val: u32) {
14807 unsafe {
14808 let val: u32 = ::std::mem::transmute(val);
14809 self._bitfield_1.set(1usize, 31u8, val as u64)
14810 }
14811 }
14812 #[inline]
14813 pub fn new_bitfield_1(shared: u32, reserved: u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
14814 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
14815 __bindgen_bitfield_unit.set(0usize, 1u8, {
14816 let shared: u32 = unsafe { ::std::mem::transmute(shared) };
14817 shared as u64
14818 });
14819 __bindgen_bitfield_unit.set(1usize, 31u8, {
14820 let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
14821 reserved as u64
14822 });
14823 __bindgen_bitfield_unit
14824 }
14825}
14826#[repr(C)]
14827#[derive(Debug, Default, Copy, Clone, PartialEq)]
14828pub struct rte_flow_query_count {
14829 pub _bitfield_align_1: [u32; 0],
14830 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
14831 pub hits: u64,
14832 pub bytes: u64,
14833}
14834#[test]
14835fn bindgen_test_layout_rte_flow_query_count() {
14836 assert_eq!(
14837 ::std::mem::size_of::<rte_flow_query_count>(),
14838 24usize,
14839 concat!("Size of: ", stringify!(rte_flow_query_count))
14840 );
14841 assert_eq!(
14842 ::std::mem::align_of::<rte_flow_query_count>(),
14843 8usize,
14844 concat!("Alignment of ", stringify!(rte_flow_query_count))
14845 );
14846 assert_eq!(
14847 unsafe { &(*(::std::ptr::null::<rte_flow_query_count>())).hits as *const _ as usize },
14848 8usize,
14849 concat!(
14850 "Offset of field: ",
14851 stringify!(rte_flow_query_count),
14852 "::",
14853 stringify!(hits)
14854 )
14855 );
14856 assert_eq!(
14857 unsafe { &(*(::std::ptr::null::<rte_flow_query_count>())).bytes as *const _ as usize },
14858 16usize,
14859 concat!(
14860 "Offset of field: ",
14861 stringify!(rte_flow_query_count),
14862 "::",
14863 stringify!(bytes)
14864 )
14865 );
14866}
14867impl rte_flow_query_count {
14868 #[inline]
14869 pub fn reset(&self) -> u32 {
14870 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
14871 }
14872 #[inline]
14873 pub fn set_reset(&mut self, val: u32) {
14874 unsafe {
14875 let val: u32 = ::std::mem::transmute(val);
14876 self._bitfield_1.set(0usize, 1u8, val as u64)
14877 }
14878 }
14879 #[inline]
14880 pub fn hits_set(&self) -> u32 {
14881 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
14882 }
14883 #[inline]
14884 pub fn set_hits_set(&mut self, val: u32) {
14885 unsafe {
14886 let val: u32 = ::std::mem::transmute(val);
14887 self._bitfield_1.set(1usize, 1u8, val as u64)
14888 }
14889 }
14890 #[inline]
14891 pub fn bytes_set(&self) -> u32 {
14892 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
14893 }
14894 #[inline]
14895 pub fn set_bytes_set(&mut self, val: u32) {
14896 unsafe {
14897 let val: u32 = ::std::mem::transmute(val);
14898 self._bitfield_1.set(2usize, 1u8, val as u64)
14899 }
14900 }
14901 #[inline]
14902 pub fn reserved(&self) -> u32 {
14903 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) }
14904 }
14905 #[inline]
14906 pub fn set_reserved(&mut self, val: u32) {
14907 unsafe {
14908 let val: u32 = ::std::mem::transmute(val);
14909 self._bitfield_1.set(3usize, 29u8, val as u64)
14910 }
14911 }
14912 #[inline]
14913 pub fn new_bitfield_1(
14914 reset: u32,
14915 hits_set: u32,
14916 bytes_set: u32,
14917 reserved: u32,
14918 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
14919 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
14920 __bindgen_bitfield_unit.set(0usize, 1u8, {
14921 let reset: u32 = unsafe { ::std::mem::transmute(reset) };
14922 reset as u64
14923 });
14924 __bindgen_bitfield_unit.set(1usize, 1u8, {
14925 let hits_set: u32 = unsafe { ::std::mem::transmute(hits_set) };
14926 hits_set as u64
14927 });
14928 __bindgen_bitfield_unit.set(2usize, 1u8, {
14929 let bytes_set: u32 = unsafe { ::std::mem::transmute(bytes_set) };
14930 bytes_set as u64
14931 });
14932 __bindgen_bitfield_unit.set(3usize, 29u8, {
14933 let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
14934 reserved as u64
14935 });
14936 __bindgen_bitfield_unit
14937 }
14938}
14939pub mod rte_eth_hash_function {
14940 pub type Type = ::std::os::raw::c_uint;
14941 pub const RTE_ETH_HASH_FUNCTION_DEFAULT: Type = 0;
14942 pub const RTE_ETH_HASH_FUNCTION_TOEPLITZ: Type = 1;
14943 pub const RTE_ETH_HASH_FUNCTION_SIMPLE_XOR: Type = 2;
14944 pub const RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ: Type = 3;
14945 pub const RTE_ETH_HASH_FUNCTION_MAX: Type = 4;
14946}
14947#[repr(C)]
14948#[derive(Debug, Copy, Clone, PartialEq)]
14949pub struct rte_flow_action_rss {
14950 pub func: rte_eth_hash_function::Type,
14951 pub level: u32,
14952 pub types: u64,
14953 pub key_len: u32,
14954 pub queue_num: u32,
14955 pub key: *const u8,
14956 pub queue: *const u16,
14957}
14958#[test]
14959fn bindgen_test_layout_rte_flow_action_rss() {
14960 assert_eq!(
14961 ::std::mem::size_of::<rte_flow_action_rss>(),
14962 40usize,
14963 concat!("Size of: ", stringify!(rte_flow_action_rss))
14964 );
14965 assert_eq!(
14966 ::std::mem::align_of::<rte_flow_action_rss>(),
14967 8usize,
14968 concat!("Alignment of ", stringify!(rte_flow_action_rss))
14969 );
14970 assert_eq!(
14971 unsafe { &(*(::std::ptr::null::<rte_flow_action_rss>())).func as *const _ as usize },
14972 0usize,
14973 concat!(
14974 "Offset of field: ",
14975 stringify!(rte_flow_action_rss),
14976 "::",
14977 stringify!(func)
14978 )
14979 );
14980 assert_eq!(
14981 unsafe { &(*(::std::ptr::null::<rte_flow_action_rss>())).level as *const _ as usize },
14982 4usize,
14983 concat!(
14984 "Offset of field: ",
14985 stringify!(rte_flow_action_rss),
14986 "::",
14987 stringify!(level)
14988 )
14989 );
14990 assert_eq!(
14991 unsafe { &(*(::std::ptr::null::<rte_flow_action_rss>())).types as *const _ as usize },
14992 8usize,
14993 concat!(
14994 "Offset of field: ",
14995 stringify!(rte_flow_action_rss),
14996 "::",
14997 stringify!(types)
14998 )
14999 );
15000 assert_eq!(
15001 unsafe { &(*(::std::ptr::null::<rte_flow_action_rss>())).key_len as *const _ as usize },
15002 16usize,
15003 concat!(
15004 "Offset of field: ",
15005 stringify!(rte_flow_action_rss),
15006 "::",
15007 stringify!(key_len)
15008 )
15009 );
15010 assert_eq!(
15011 unsafe { &(*(::std::ptr::null::<rte_flow_action_rss>())).queue_num as *const _ as usize },
15012 20usize,
15013 concat!(
15014 "Offset of field: ",
15015 stringify!(rte_flow_action_rss),
15016 "::",
15017 stringify!(queue_num)
15018 )
15019 );
15020 assert_eq!(
15021 unsafe { &(*(::std::ptr::null::<rte_flow_action_rss>())).key as *const _ as usize },
15022 24usize,
15023 concat!(
15024 "Offset of field: ",
15025 stringify!(rte_flow_action_rss),
15026 "::",
15027 stringify!(key)
15028 )
15029 );
15030 assert_eq!(
15031 unsafe { &(*(::std::ptr::null::<rte_flow_action_rss>())).queue as *const _ as usize },
15032 32usize,
15033 concat!(
15034 "Offset of field: ",
15035 stringify!(rte_flow_action_rss),
15036 "::",
15037 stringify!(queue)
15038 )
15039 );
15040}
15041impl Default for rte_flow_action_rss {
15042 fn default() -> Self {
15043 unsafe { ::std::mem::zeroed() }
15044 }
15045}
15046#[repr(C)]
15047#[derive(Debug, Default, Copy, Clone, PartialEq)]
15048pub struct rte_flow_action_vf {
15049 pub _bitfield_align_1: [u32; 0],
15050 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
15051 pub id: u32,
15052}
15053#[test]
15054fn bindgen_test_layout_rte_flow_action_vf() {
15055 assert_eq!(
15056 ::std::mem::size_of::<rte_flow_action_vf>(),
15057 8usize,
15058 concat!("Size of: ", stringify!(rte_flow_action_vf))
15059 );
15060 assert_eq!(
15061 ::std::mem::align_of::<rte_flow_action_vf>(),
15062 4usize,
15063 concat!("Alignment of ", stringify!(rte_flow_action_vf))
15064 );
15065 assert_eq!(
15066 unsafe { &(*(::std::ptr::null::<rte_flow_action_vf>())).id as *const _ as usize },
15067 4usize,
15068 concat!(
15069 "Offset of field: ",
15070 stringify!(rte_flow_action_vf),
15071 "::",
15072 stringify!(id)
15073 )
15074 );
15075}
15076impl rte_flow_action_vf {
15077 #[inline]
15078 pub fn original(&self) -> u32 {
15079 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
15080 }
15081 #[inline]
15082 pub fn set_original(&mut self, val: u32) {
15083 unsafe {
15084 let val: u32 = ::std::mem::transmute(val);
15085 self._bitfield_1.set(0usize, 1u8, val as u64)
15086 }
15087 }
15088 #[inline]
15089 pub fn reserved(&self) -> u32 {
15090 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
15091 }
15092 #[inline]
15093 pub fn set_reserved(&mut self, val: u32) {
15094 unsafe {
15095 let val: u32 = ::std::mem::transmute(val);
15096 self._bitfield_1.set(1usize, 31u8, val as u64)
15097 }
15098 }
15099 #[inline]
15100 pub fn new_bitfield_1(original: u32, reserved: u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
15101 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
15102 __bindgen_bitfield_unit.set(0usize, 1u8, {
15103 let original: u32 = unsafe { ::std::mem::transmute(original) };
15104 original as u64
15105 });
15106 __bindgen_bitfield_unit.set(1usize, 31u8, {
15107 let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
15108 reserved as u64
15109 });
15110 __bindgen_bitfield_unit
15111 }
15112}
15113#[repr(C)]
15114#[derive(Debug, Default, Copy, Clone, PartialEq)]
15115pub struct rte_flow_action_phy_port {
15116 pub _bitfield_align_1: [u32; 0],
15117 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
15118 pub index: u32,
15119}
15120#[test]
15121fn bindgen_test_layout_rte_flow_action_phy_port() {
15122 assert_eq!(
15123 ::std::mem::size_of::<rte_flow_action_phy_port>(),
15124 8usize,
15125 concat!("Size of: ", stringify!(rte_flow_action_phy_port))
15126 );
15127 assert_eq!(
15128 ::std::mem::align_of::<rte_flow_action_phy_port>(),
15129 4usize,
15130 concat!("Alignment of ", stringify!(rte_flow_action_phy_port))
15131 );
15132 assert_eq!(
15133 unsafe { &(*(::std::ptr::null::<rte_flow_action_phy_port>())).index as *const _ as usize },
15134 4usize,
15135 concat!(
15136 "Offset of field: ",
15137 stringify!(rte_flow_action_phy_port),
15138 "::",
15139 stringify!(index)
15140 )
15141 );
15142}
15143impl rte_flow_action_phy_port {
15144 #[inline]
15145 pub fn original(&self) -> u32 {
15146 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
15147 }
15148 #[inline]
15149 pub fn set_original(&mut self, val: u32) {
15150 unsafe {
15151 let val: u32 = ::std::mem::transmute(val);
15152 self._bitfield_1.set(0usize, 1u8, val as u64)
15153 }
15154 }
15155 #[inline]
15156 pub fn reserved(&self) -> u32 {
15157 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
15158 }
15159 #[inline]
15160 pub fn set_reserved(&mut self, val: u32) {
15161 unsafe {
15162 let val: u32 = ::std::mem::transmute(val);
15163 self._bitfield_1.set(1usize, 31u8, val as u64)
15164 }
15165 }
15166 #[inline]
15167 pub fn new_bitfield_1(original: u32, reserved: u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
15168 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
15169 __bindgen_bitfield_unit.set(0usize, 1u8, {
15170 let original: u32 = unsafe { ::std::mem::transmute(original) };
15171 original as u64
15172 });
15173 __bindgen_bitfield_unit.set(1usize, 31u8, {
15174 let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
15175 reserved as u64
15176 });
15177 __bindgen_bitfield_unit
15178 }
15179}
15180#[repr(C)]
15181#[derive(Debug, Default, Copy, Clone, PartialEq)]
15182pub struct rte_flow_action_port_id {
15183 pub _bitfield_align_1: [u32; 0],
15184 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
15185 pub id: u32,
15186}
15187#[test]
15188fn bindgen_test_layout_rte_flow_action_port_id() {
15189 assert_eq!(
15190 ::std::mem::size_of::<rte_flow_action_port_id>(),
15191 8usize,
15192 concat!("Size of: ", stringify!(rte_flow_action_port_id))
15193 );
15194 assert_eq!(
15195 ::std::mem::align_of::<rte_flow_action_port_id>(),
15196 4usize,
15197 concat!("Alignment of ", stringify!(rte_flow_action_port_id))
15198 );
15199 assert_eq!(
15200 unsafe { &(*(::std::ptr::null::<rte_flow_action_port_id>())).id as *const _ as usize },
15201 4usize,
15202 concat!(
15203 "Offset of field: ",
15204 stringify!(rte_flow_action_port_id),
15205 "::",
15206 stringify!(id)
15207 )
15208 );
15209}
15210impl rte_flow_action_port_id {
15211 #[inline]
15212 pub fn original(&self) -> u32 {
15213 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
15214 }
15215 #[inline]
15216 pub fn set_original(&mut self, val: u32) {
15217 unsafe {
15218 let val: u32 = ::std::mem::transmute(val);
15219 self._bitfield_1.set(0usize, 1u8, val as u64)
15220 }
15221 }
15222 #[inline]
15223 pub fn reserved(&self) -> u32 {
15224 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
15225 }
15226 #[inline]
15227 pub fn set_reserved(&mut self, val: u32) {
15228 unsafe {
15229 let val: u32 = ::std::mem::transmute(val);
15230 self._bitfield_1.set(1usize, 31u8, val as u64)
15231 }
15232 }
15233 #[inline]
15234 pub fn new_bitfield_1(original: u32, reserved: u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
15235 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
15236 __bindgen_bitfield_unit.set(0usize, 1u8, {
15237 let original: u32 = unsafe { ::std::mem::transmute(original) };
15238 original as u64
15239 });
15240 __bindgen_bitfield_unit.set(1usize, 31u8, {
15241 let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
15242 reserved as u64
15243 });
15244 __bindgen_bitfield_unit
15245 }
15246}
15247#[repr(C)]
15248#[derive(Debug, Default, Copy, Clone, PartialEq)]
15249pub struct rte_flow_action_meter {
15250 pub mtr_id: u32,
15251}
15252#[test]
15253fn bindgen_test_layout_rte_flow_action_meter() {
15254 assert_eq!(
15255 ::std::mem::size_of::<rte_flow_action_meter>(),
15256 4usize,
15257 concat!("Size of: ", stringify!(rte_flow_action_meter))
15258 );
15259 assert_eq!(
15260 ::std::mem::align_of::<rte_flow_action_meter>(),
15261 4usize,
15262 concat!("Alignment of ", stringify!(rte_flow_action_meter))
15263 );
15264 assert_eq!(
15265 unsafe { &(*(::std::ptr::null::<rte_flow_action_meter>())).mtr_id as *const _ as usize },
15266 0usize,
15267 concat!(
15268 "Offset of field: ",
15269 stringify!(rte_flow_action_meter),
15270 "::",
15271 stringify!(mtr_id)
15272 )
15273 );
15274}
15275#[repr(C)]
15276#[derive(Debug, Copy, Clone, PartialEq)]
15277pub struct rte_flow_action_security {
15278 pub security_session: *mut ::std::os::raw::c_void,
15279}
15280#[test]
15281fn bindgen_test_layout_rte_flow_action_security() {
15282 assert_eq!(
15283 ::std::mem::size_of::<rte_flow_action_security>(),
15284 8usize,
15285 concat!("Size of: ", stringify!(rte_flow_action_security))
15286 );
15287 assert_eq!(
15288 ::std::mem::align_of::<rte_flow_action_security>(),
15289 8usize,
15290 concat!("Alignment of ", stringify!(rte_flow_action_security))
15291 );
15292 assert_eq!(
15293 unsafe {
15294 &(*(::std::ptr::null::<rte_flow_action_security>())).security_session as *const _
15295 as usize
15296 },
15297 0usize,
15298 concat!(
15299 "Offset of field: ",
15300 stringify!(rte_flow_action_security),
15301 "::",
15302 stringify!(security_session)
15303 )
15304 );
15305}
15306impl Default for rte_flow_action_security {
15307 fn default() -> Self {
15308 unsafe { ::std::mem::zeroed() }
15309 }
15310}
15311#[repr(C)]
15312#[derive(Debug, Default, Copy, Clone, PartialEq)]
15313pub struct rte_flow_action_of_set_mpls_ttl {
15314 pub mpls_ttl: u8,
15315}
15316#[test]
15317fn bindgen_test_layout_rte_flow_action_of_set_mpls_ttl() {
15318 assert_eq!(
15319 ::std::mem::size_of::<rte_flow_action_of_set_mpls_ttl>(),
15320 1usize,
15321 concat!("Size of: ", stringify!(rte_flow_action_of_set_mpls_ttl))
15322 );
15323 assert_eq!(
15324 ::std::mem::align_of::<rte_flow_action_of_set_mpls_ttl>(),
15325 1usize,
15326 concat!("Alignment of ", stringify!(rte_flow_action_of_set_mpls_ttl))
15327 );
15328 assert_eq!(
15329 unsafe {
15330 &(*(::std::ptr::null::<rte_flow_action_of_set_mpls_ttl>())).mpls_ttl as *const _
15331 as usize
15332 },
15333 0usize,
15334 concat!(
15335 "Offset of field: ",
15336 stringify!(rte_flow_action_of_set_mpls_ttl),
15337 "::",
15338 stringify!(mpls_ttl)
15339 )
15340 );
15341}
15342#[repr(C)]
15343#[derive(Debug, Default, Copy, Clone, PartialEq)]
15344pub struct rte_flow_action_of_set_nw_ttl {
15345 pub nw_ttl: u8,
15346}
15347#[test]
15348fn bindgen_test_layout_rte_flow_action_of_set_nw_ttl() {
15349 assert_eq!(
15350 ::std::mem::size_of::<rte_flow_action_of_set_nw_ttl>(),
15351 1usize,
15352 concat!("Size of: ", stringify!(rte_flow_action_of_set_nw_ttl))
15353 );
15354 assert_eq!(
15355 ::std::mem::align_of::<rte_flow_action_of_set_nw_ttl>(),
15356 1usize,
15357 concat!("Alignment of ", stringify!(rte_flow_action_of_set_nw_ttl))
15358 );
15359 assert_eq!(
15360 unsafe {
15361 &(*(::std::ptr::null::<rte_flow_action_of_set_nw_ttl>())).nw_ttl as *const _ as usize
15362 },
15363 0usize,
15364 concat!(
15365 "Offset of field: ",
15366 stringify!(rte_flow_action_of_set_nw_ttl),
15367 "::",
15368 stringify!(nw_ttl)
15369 )
15370 );
15371}
15372#[repr(C)]
15373#[derive(Debug, Default, Copy, Clone, PartialEq)]
15374pub struct rte_flow_action_of_push_vlan {
15375 pub ethertype: rte_be16_t,
15376}
15377#[test]
15378fn bindgen_test_layout_rte_flow_action_of_push_vlan() {
15379 assert_eq!(
15380 ::std::mem::size_of::<rte_flow_action_of_push_vlan>(),
15381 2usize,
15382 concat!("Size of: ", stringify!(rte_flow_action_of_push_vlan))
15383 );
15384 assert_eq!(
15385 ::std::mem::align_of::<rte_flow_action_of_push_vlan>(),
15386 2usize,
15387 concat!("Alignment of ", stringify!(rte_flow_action_of_push_vlan))
15388 );
15389 assert_eq!(
15390 unsafe {
15391 &(*(::std::ptr::null::<rte_flow_action_of_push_vlan>())).ethertype as *const _ as usize
15392 },
15393 0usize,
15394 concat!(
15395 "Offset of field: ",
15396 stringify!(rte_flow_action_of_push_vlan),
15397 "::",
15398 stringify!(ethertype)
15399 )
15400 );
15401}
15402#[repr(C)]
15403#[derive(Debug, Default, Copy, Clone, PartialEq)]
15404pub struct rte_flow_action_of_set_vlan_vid {
15405 pub vlan_vid: rte_be16_t,
15406}
15407#[test]
15408fn bindgen_test_layout_rte_flow_action_of_set_vlan_vid() {
15409 assert_eq!(
15410 ::std::mem::size_of::<rte_flow_action_of_set_vlan_vid>(),
15411 2usize,
15412 concat!("Size of: ", stringify!(rte_flow_action_of_set_vlan_vid))
15413 );
15414 assert_eq!(
15415 ::std::mem::align_of::<rte_flow_action_of_set_vlan_vid>(),
15416 2usize,
15417 concat!("Alignment of ", stringify!(rte_flow_action_of_set_vlan_vid))
15418 );
15419 assert_eq!(
15420 unsafe {
15421 &(*(::std::ptr::null::<rte_flow_action_of_set_vlan_vid>())).vlan_vid as *const _
15422 as usize
15423 },
15424 0usize,
15425 concat!(
15426 "Offset of field: ",
15427 stringify!(rte_flow_action_of_set_vlan_vid),
15428 "::",
15429 stringify!(vlan_vid)
15430 )
15431 );
15432}
15433#[repr(C)]
15434#[derive(Debug, Default, Copy, Clone, PartialEq)]
15435pub struct rte_flow_action_of_set_vlan_pcp {
15436 pub vlan_pcp: u8,
15437}
15438#[test]
15439fn bindgen_test_layout_rte_flow_action_of_set_vlan_pcp() {
15440 assert_eq!(
15441 ::std::mem::size_of::<rte_flow_action_of_set_vlan_pcp>(),
15442 1usize,
15443 concat!("Size of: ", stringify!(rte_flow_action_of_set_vlan_pcp))
15444 );
15445 assert_eq!(
15446 ::std::mem::align_of::<rte_flow_action_of_set_vlan_pcp>(),
15447 1usize,
15448 concat!("Alignment of ", stringify!(rte_flow_action_of_set_vlan_pcp))
15449 );
15450 assert_eq!(
15451 unsafe {
15452 &(*(::std::ptr::null::<rte_flow_action_of_set_vlan_pcp>())).vlan_pcp as *const _
15453 as usize
15454 },
15455 0usize,
15456 concat!(
15457 "Offset of field: ",
15458 stringify!(rte_flow_action_of_set_vlan_pcp),
15459 "::",
15460 stringify!(vlan_pcp)
15461 )
15462 );
15463}
15464#[repr(C)]
15465#[derive(Debug, Default, Copy, Clone, PartialEq)]
15466pub struct rte_flow_action_of_pop_mpls {
15467 pub ethertype: rte_be16_t,
15468}
15469#[test]
15470fn bindgen_test_layout_rte_flow_action_of_pop_mpls() {
15471 assert_eq!(
15472 ::std::mem::size_of::<rte_flow_action_of_pop_mpls>(),
15473 2usize,
15474 concat!("Size of: ", stringify!(rte_flow_action_of_pop_mpls))
15475 );
15476 assert_eq!(
15477 ::std::mem::align_of::<rte_flow_action_of_pop_mpls>(),
15478 2usize,
15479 concat!("Alignment of ", stringify!(rte_flow_action_of_pop_mpls))
15480 );
15481 assert_eq!(
15482 unsafe {
15483 &(*(::std::ptr::null::<rte_flow_action_of_pop_mpls>())).ethertype as *const _ as usize
15484 },
15485 0usize,
15486 concat!(
15487 "Offset of field: ",
15488 stringify!(rte_flow_action_of_pop_mpls),
15489 "::",
15490 stringify!(ethertype)
15491 )
15492 );
15493}
15494#[repr(C)]
15495#[derive(Debug, Default, Copy, Clone, PartialEq)]
15496pub struct rte_flow_action_of_push_mpls {
15497 pub ethertype: rte_be16_t,
15498}
15499#[test]
15500fn bindgen_test_layout_rte_flow_action_of_push_mpls() {
15501 assert_eq!(
15502 ::std::mem::size_of::<rte_flow_action_of_push_mpls>(),
15503 2usize,
15504 concat!("Size of: ", stringify!(rte_flow_action_of_push_mpls))
15505 );
15506 assert_eq!(
15507 ::std::mem::align_of::<rte_flow_action_of_push_mpls>(),
15508 2usize,
15509 concat!("Alignment of ", stringify!(rte_flow_action_of_push_mpls))
15510 );
15511 assert_eq!(
15512 unsafe {
15513 &(*(::std::ptr::null::<rte_flow_action_of_push_mpls>())).ethertype as *const _ as usize
15514 },
15515 0usize,
15516 concat!(
15517 "Offset of field: ",
15518 stringify!(rte_flow_action_of_push_mpls),
15519 "::",
15520 stringify!(ethertype)
15521 )
15522 );
15523}
15524#[repr(C)]
15525#[derive(Debug, Copy, Clone, PartialEq)]
15526pub struct rte_flow_action_vxlan_encap {
15527 pub definition: *mut rte_flow_item,
15528}
15529#[test]
15530fn bindgen_test_layout_rte_flow_action_vxlan_encap() {
15531 assert_eq!(
15532 ::std::mem::size_of::<rte_flow_action_vxlan_encap>(),
15533 8usize,
15534 concat!("Size of: ", stringify!(rte_flow_action_vxlan_encap))
15535 );
15536 assert_eq!(
15537 ::std::mem::align_of::<rte_flow_action_vxlan_encap>(),
15538 8usize,
15539 concat!("Alignment of ", stringify!(rte_flow_action_vxlan_encap))
15540 );
15541 assert_eq!(
15542 unsafe {
15543 &(*(::std::ptr::null::<rte_flow_action_vxlan_encap>())).definition as *const _ as usize
15544 },
15545 0usize,
15546 concat!(
15547 "Offset of field: ",
15548 stringify!(rte_flow_action_vxlan_encap),
15549 "::",
15550 stringify!(definition)
15551 )
15552 );
15553}
15554impl Default for rte_flow_action_vxlan_encap {
15555 fn default() -> Self {
15556 unsafe { ::std::mem::zeroed() }
15557 }
15558}
15559#[repr(C)]
15560#[derive(Debug, Copy, Clone, PartialEq)]
15561pub struct rte_flow_action_nvgre_encap {
15562 pub definition: *mut rte_flow_item,
15563}
15564#[test]
15565fn bindgen_test_layout_rte_flow_action_nvgre_encap() {
15566 assert_eq!(
15567 ::std::mem::size_of::<rte_flow_action_nvgre_encap>(),
15568 8usize,
15569 concat!("Size of: ", stringify!(rte_flow_action_nvgre_encap))
15570 );
15571 assert_eq!(
15572 ::std::mem::align_of::<rte_flow_action_nvgre_encap>(),
15573 8usize,
15574 concat!("Alignment of ", stringify!(rte_flow_action_nvgre_encap))
15575 );
15576 assert_eq!(
15577 unsafe {
15578 &(*(::std::ptr::null::<rte_flow_action_nvgre_encap>())).definition as *const _ as usize
15579 },
15580 0usize,
15581 concat!(
15582 "Offset of field: ",
15583 stringify!(rte_flow_action_nvgre_encap),
15584 "::",
15585 stringify!(definition)
15586 )
15587 );
15588}
15589impl Default for rte_flow_action_nvgre_encap {
15590 fn default() -> Self {
15591 unsafe { ::std::mem::zeroed() }
15592 }
15593}
15594#[repr(C)]
15595#[derive(Debug, Copy, Clone, PartialEq)]
15596pub struct rte_flow_action_raw_encap {
15597 pub data: *mut u8,
15598 pub preserve: *mut u8,
15599 pub size: size_t,
15600}
15601#[test]
15602fn bindgen_test_layout_rte_flow_action_raw_encap() {
15603 assert_eq!(
15604 ::std::mem::size_of::<rte_flow_action_raw_encap>(),
15605 24usize,
15606 concat!("Size of: ", stringify!(rte_flow_action_raw_encap))
15607 );
15608 assert_eq!(
15609 ::std::mem::align_of::<rte_flow_action_raw_encap>(),
15610 8usize,
15611 concat!("Alignment of ", stringify!(rte_flow_action_raw_encap))
15612 );
15613 assert_eq!(
15614 unsafe { &(*(::std::ptr::null::<rte_flow_action_raw_encap>())).data as *const _ as usize },
15615 0usize,
15616 concat!(
15617 "Offset of field: ",
15618 stringify!(rte_flow_action_raw_encap),
15619 "::",
15620 stringify!(data)
15621 )
15622 );
15623 assert_eq!(
15624 unsafe {
15625 &(*(::std::ptr::null::<rte_flow_action_raw_encap>())).preserve as *const _ as usize
15626 },
15627 8usize,
15628 concat!(
15629 "Offset of field: ",
15630 stringify!(rte_flow_action_raw_encap),
15631 "::",
15632 stringify!(preserve)
15633 )
15634 );
15635 assert_eq!(
15636 unsafe { &(*(::std::ptr::null::<rte_flow_action_raw_encap>())).size as *const _ as usize },
15637 16usize,
15638 concat!(
15639 "Offset of field: ",
15640 stringify!(rte_flow_action_raw_encap),
15641 "::",
15642 stringify!(size)
15643 )
15644 );
15645}
15646impl Default for rte_flow_action_raw_encap {
15647 fn default() -> Self {
15648 unsafe { ::std::mem::zeroed() }
15649 }
15650}
15651#[repr(C)]
15652#[derive(Debug, Copy, Clone, PartialEq)]
15653pub struct rte_flow_action_raw_decap {
15654 pub data: *mut u8,
15655 pub size: size_t,
15656}
15657#[test]
15658fn bindgen_test_layout_rte_flow_action_raw_decap() {
15659 assert_eq!(
15660 ::std::mem::size_of::<rte_flow_action_raw_decap>(),
15661 16usize,
15662 concat!("Size of: ", stringify!(rte_flow_action_raw_decap))
15663 );
15664 assert_eq!(
15665 ::std::mem::align_of::<rte_flow_action_raw_decap>(),
15666 8usize,
15667 concat!("Alignment of ", stringify!(rte_flow_action_raw_decap))
15668 );
15669 assert_eq!(
15670 unsafe { &(*(::std::ptr::null::<rte_flow_action_raw_decap>())).data as *const _ as usize },
15671 0usize,
15672 concat!(
15673 "Offset of field: ",
15674 stringify!(rte_flow_action_raw_decap),
15675 "::",
15676 stringify!(data)
15677 )
15678 );
15679 assert_eq!(
15680 unsafe { &(*(::std::ptr::null::<rte_flow_action_raw_decap>())).size as *const _ as usize },
15681 8usize,
15682 concat!(
15683 "Offset of field: ",
15684 stringify!(rte_flow_action_raw_decap),
15685 "::",
15686 stringify!(size)
15687 )
15688 );
15689}
15690impl Default for rte_flow_action_raw_decap {
15691 fn default() -> Self {
15692 unsafe { ::std::mem::zeroed() }
15693 }
15694}
15695#[repr(C)]
15696#[derive(Debug, Default, Copy, Clone, PartialEq)]
15697pub struct rte_flow_action_set_ipv4 {
15698 pub ipv4_addr: rte_be32_t,
15699}
15700#[test]
15701fn bindgen_test_layout_rte_flow_action_set_ipv4() {
15702 assert_eq!(
15703 ::std::mem::size_of::<rte_flow_action_set_ipv4>(),
15704 4usize,
15705 concat!("Size of: ", stringify!(rte_flow_action_set_ipv4))
15706 );
15707 assert_eq!(
15708 ::std::mem::align_of::<rte_flow_action_set_ipv4>(),
15709 4usize,
15710 concat!("Alignment of ", stringify!(rte_flow_action_set_ipv4))
15711 );
15712 assert_eq!(
15713 unsafe {
15714 &(*(::std::ptr::null::<rte_flow_action_set_ipv4>())).ipv4_addr as *const _ as usize
15715 },
15716 0usize,
15717 concat!(
15718 "Offset of field: ",
15719 stringify!(rte_flow_action_set_ipv4),
15720 "::",
15721 stringify!(ipv4_addr)
15722 )
15723 );
15724}
15725#[repr(C)]
15726#[derive(Debug, Default, Copy, Clone, PartialEq)]
15727pub struct rte_flow_action_set_ipv6 {
15728 pub ipv6_addr: [u8; 16usize],
15729}
15730#[test]
15731fn bindgen_test_layout_rte_flow_action_set_ipv6() {
15732 assert_eq!(
15733 ::std::mem::size_of::<rte_flow_action_set_ipv6>(),
15734 16usize,
15735 concat!("Size of: ", stringify!(rte_flow_action_set_ipv6))
15736 );
15737 assert_eq!(
15738 ::std::mem::align_of::<rte_flow_action_set_ipv6>(),
15739 1usize,
15740 concat!("Alignment of ", stringify!(rte_flow_action_set_ipv6))
15741 );
15742 assert_eq!(
15743 unsafe {
15744 &(*(::std::ptr::null::<rte_flow_action_set_ipv6>())).ipv6_addr as *const _ as usize
15745 },
15746 0usize,
15747 concat!(
15748 "Offset of field: ",
15749 stringify!(rte_flow_action_set_ipv6),
15750 "::",
15751 stringify!(ipv6_addr)
15752 )
15753 );
15754}
15755#[repr(C)]
15756#[derive(Debug, Default, Copy, Clone, PartialEq)]
15757pub struct rte_flow_action_set_tp {
15758 pub port: rte_be16_t,
15759}
15760#[test]
15761fn bindgen_test_layout_rte_flow_action_set_tp() {
15762 assert_eq!(
15763 ::std::mem::size_of::<rte_flow_action_set_tp>(),
15764 2usize,
15765 concat!("Size of: ", stringify!(rte_flow_action_set_tp))
15766 );
15767 assert_eq!(
15768 ::std::mem::align_of::<rte_flow_action_set_tp>(),
15769 2usize,
15770 concat!("Alignment of ", stringify!(rte_flow_action_set_tp))
15771 );
15772 assert_eq!(
15773 unsafe { &(*(::std::ptr::null::<rte_flow_action_set_tp>())).port as *const _ as usize },
15774 0usize,
15775 concat!(
15776 "Offset of field: ",
15777 stringify!(rte_flow_action_set_tp),
15778 "::",
15779 stringify!(port)
15780 )
15781 );
15782}
15783#[repr(C)]
15784#[derive(Debug, Default, Copy, Clone, PartialEq)]
15785pub struct rte_flow_action_set_ttl {
15786 pub ttl_value: u8,
15787}
15788#[test]
15789fn bindgen_test_layout_rte_flow_action_set_ttl() {
15790 assert_eq!(
15791 ::std::mem::size_of::<rte_flow_action_set_ttl>(),
15792 1usize,
15793 concat!("Size of: ", stringify!(rte_flow_action_set_ttl))
15794 );
15795 assert_eq!(
15796 ::std::mem::align_of::<rte_flow_action_set_ttl>(),
15797 1usize,
15798 concat!("Alignment of ", stringify!(rte_flow_action_set_ttl))
15799 );
15800 assert_eq!(
15801 unsafe {
15802 &(*(::std::ptr::null::<rte_flow_action_set_ttl>())).ttl_value as *const _ as usize
15803 },
15804 0usize,
15805 concat!(
15806 "Offset of field: ",
15807 stringify!(rte_flow_action_set_ttl),
15808 "::",
15809 stringify!(ttl_value)
15810 )
15811 );
15812}
15813#[repr(C)]
15814#[derive(Debug, Default, Copy, Clone, PartialEq)]
15815pub struct rte_flow_action_set_mac {
15816 pub mac_addr: [u8; 6usize],
15817}
15818#[test]
15819fn bindgen_test_layout_rte_flow_action_set_mac() {
15820 assert_eq!(
15821 ::std::mem::size_of::<rte_flow_action_set_mac>(),
15822 6usize,
15823 concat!("Size of: ", stringify!(rte_flow_action_set_mac))
15824 );
15825 assert_eq!(
15826 ::std::mem::align_of::<rte_flow_action_set_mac>(),
15827 1usize,
15828 concat!("Alignment of ", stringify!(rte_flow_action_set_mac))
15829 );
15830 assert_eq!(
15831 unsafe {
15832 &(*(::std::ptr::null::<rte_flow_action_set_mac>())).mac_addr as *const _ as usize
15833 },
15834 0usize,
15835 concat!(
15836 "Offset of field: ",
15837 stringify!(rte_flow_action_set_mac),
15838 "::",
15839 stringify!(mac_addr)
15840 )
15841 );
15842}
15843#[repr(C)]
15844#[derive(Debug, Default, Copy, Clone, PartialEq)]
15845pub struct rte_flow_action_set_tag {
15846 pub data: u32,
15847 pub mask: u32,
15848 pub index: u8,
15849}
15850#[test]
15851fn bindgen_test_layout_rte_flow_action_set_tag() {
15852 assert_eq!(
15853 ::std::mem::size_of::<rte_flow_action_set_tag>(),
15854 12usize,
15855 concat!("Size of: ", stringify!(rte_flow_action_set_tag))
15856 );
15857 assert_eq!(
15858 ::std::mem::align_of::<rte_flow_action_set_tag>(),
15859 4usize,
15860 concat!("Alignment of ", stringify!(rte_flow_action_set_tag))
15861 );
15862 assert_eq!(
15863 unsafe { &(*(::std::ptr::null::<rte_flow_action_set_tag>())).data as *const _ as usize },
15864 0usize,
15865 concat!(
15866 "Offset of field: ",
15867 stringify!(rte_flow_action_set_tag),
15868 "::",
15869 stringify!(data)
15870 )
15871 );
15872 assert_eq!(
15873 unsafe { &(*(::std::ptr::null::<rte_flow_action_set_tag>())).mask as *const _ as usize },
15874 4usize,
15875 concat!(
15876 "Offset of field: ",
15877 stringify!(rte_flow_action_set_tag),
15878 "::",
15879 stringify!(mask)
15880 )
15881 );
15882 assert_eq!(
15883 unsafe { &(*(::std::ptr::null::<rte_flow_action_set_tag>())).index as *const _ as usize },
15884 8usize,
15885 concat!(
15886 "Offset of field: ",
15887 stringify!(rte_flow_action_set_tag),
15888 "::",
15889 stringify!(index)
15890 )
15891 );
15892}
15893#[repr(C)]
15894#[derive(Debug, Default, Copy, Clone, PartialEq)]
15895pub struct rte_flow_action_set_meta {
15896 pub data: u32,
15897 pub mask: u32,
15898}
15899#[test]
15900fn bindgen_test_layout_rte_flow_action_set_meta() {
15901 assert_eq!(
15902 ::std::mem::size_of::<rte_flow_action_set_meta>(),
15903 8usize,
15904 concat!("Size of: ", stringify!(rte_flow_action_set_meta))
15905 );
15906 assert_eq!(
15907 ::std::mem::align_of::<rte_flow_action_set_meta>(),
15908 4usize,
15909 concat!("Alignment of ", stringify!(rte_flow_action_set_meta))
15910 );
15911 assert_eq!(
15912 unsafe { &(*(::std::ptr::null::<rte_flow_action_set_meta>())).data as *const _ as usize },
15913 0usize,
15914 concat!(
15915 "Offset of field: ",
15916 stringify!(rte_flow_action_set_meta),
15917 "::",
15918 stringify!(data)
15919 )
15920 );
15921 assert_eq!(
15922 unsafe { &(*(::std::ptr::null::<rte_flow_action_set_meta>())).mask as *const _ as usize },
15923 4usize,
15924 concat!(
15925 "Offset of field: ",
15926 stringify!(rte_flow_action_set_meta),
15927 "::",
15928 stringify!(mask)
15929 )
15930 );
15931}
15932extern "C" {
15933 pub static mut rte_flow_dynf_metadata_offs: i32;
15934}
15935extern "C" {
15936 pub static mut rte_flow_dynf_metadata_mask: u64;
15937}
15938#[repr(C)]
15939#[derive(Debug, Copy, Clone, PartialEq)]
15940pub struct rte_flow_action {
15941 pub type_: rte_flow_action_type::Type,
15942 pub conf: *const ::std::os::raw::c_void,
15943}
15944#[test]
15945fn bindgen_test_layout_rte_flow_action() {
15946 assert_eq!(
15947 ::std::mem::size_of::<rte_flow_action>(),
15948 16usize,
15949 concat!("Size of: ", stringify!(rte_flow_action))
15950 );
15951 assert_eq!(
15952 ::std::mem::align_of::<rte_flow_action>(),
15953 8usize,
15954 concat!("Alignment of ", stringify!(rte_flow_action))
15955 );
15956 assert_eq!(
15957 unsafe { &(*(::std::ptr::null::<rte_flow_action>())).type_ as *const _ as usize },
15958 0usize,
15959 concat!(
15960 "Offset of field: ",
15961 stringify!(rte_flow_action),
15962 "::",
15963 stringify!(type_)
15964 )
15965 );
15966 assert_eq!(
15967 unsafe { &(*(::std::ptr::null::<rte_flow_action>())).conf as *const _ as usize },
15968 8usize,
15969 concat!(
15970 "Offset of field: ",
15971 stringify!(rte_flow_action),
15972 "::",
15973 stringify!(conf)
15974 )
15975 );
15976}
15977impl Default for rte_flow_action {
15978 fn default() -> Self {
15979 unsafe { ::std::mem::zeroed() }
15980 }
15981}
15982#[repr(C)]
15983#[derive(Debug, Copy, Clone)]
15984pub struct rte_flow {
15985 _unused: [u8; 0],
15986}
15987pub mod rte_flow_error_type {
15988 pub type Type = ::std::os::raw::c_uint;
15989 pub const RTE_FLOW_ERROR_TYPE_NONE: Type = 0;
15990 pub const RTE_FLOW_ERROR_TYPE_UNSPECIFIED: Type = 1;
15991 pub const RTE_FLOW_ERROR_TYPE_HANDLE: Type = 2;
15992 pub const RTE_FLOW_ERROR_TYPE_ATTR_GROUP: Type = 3;
15993 pub const RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY: Type = 4;
15994 pub const RTE_FLOW_ERROR_TYPE_ATTR_INGRESS: Type = 5;
15995 pub const RTE_FLOW_ERROR_TYPE_ATTR_EGRESS: Type = 6;
15996 pub const RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER: Type = 7;
15997 pub const RTE_FLOW_ERROR_TYPE_ATTR: Type = 8;
15998 pub const RTE_FLOW_ERROR_TYPE_ITEM_NUM: Type = 9;
15999 pub const RTE_FLOW_ERROR_TYPE_ITEM_SPEC: Type = 10;
16000 pub const RTE_FLOW_ERROR_TYPE_ITEM_LAST: Type = 11;
16001 pub const RTE_FLOW_ERROR_TYPE_ITEM_MASK: Type = 12;
16002 pub const RTE_FLOW_ERROR_TYPE_ITEM: Type = 13;
16003 pub const RTE_FLOW_ERROR_TYPE_ACTION_NUM: Type = 14;
16004 pub const RTE_FLOW_ERROR_TYPE_ACTION_CONF: Type = 15;
16005 pub const RTE_FLOW_ERROR_TYPE_ACTION: Type = 16;
16006}
16007#[repr(C)]
16008#[derive(Debug, Copy, Clone, PartialEq)]
16009pub struct rte_flow_error {
16010 pub type_: rte_flow_error_type::Type,
16011 pub cause: *const ::std::os::raw::c_void,
16012 pub message: *const ::std::os::raw::c_char,
16013}
16014#[test]
16015fn bindgen_test_layout_rte_flow_error() {
16016 assert_eq!(
16017 ::std::mem::size_of::<rte_flow_error>(),
16018 24usize,
16019 concat!("Size of: ", stringify!(rte_flow_error))
16020 );
16021 assert_eq!(
16022 ::std::mem::align_of::<rte_flow_error>(),
16023 8usize,
16024 concat!("Alignment of ", stringify!(rte_flow_error))
16025 );
16026 assert_eq!(
16027 unsafe { &(*(::std::ptr::null::<rte_flow_error>())).type_ as *const _ as usize },
16028 0usize,
16029 concat!(
16030 "Offset of field: ",
16031 stringify!(rte_flow_error),
16032 "::",
16033 stringify!(type_)
16034 )
16035 );
16036 assert_eq!(
16037 unsafe { &(*(::std::ptr::null::<rte_flow_error>())).cause as *const _ as usize },
16038 8usize,
16039 concat!(
16040 "Offset of field: ",
16041 stringify!(rte_flow_error),
16042 "::",
16043 stringify!(cause)
16044 )
16045 );
16046 assert_eq!(
16047 unsafe { &(*(::std::ptr::null::<rte_flow_error>())).message as *const _ as usize },
16048 16usize,
16049 concat!(
16050 "Offset of field: ",
16051 stringify!(rte_flow_error),
16052 "::",
16053 stringify!(message)
16054 )
16055 );
16056}
16057impl Default for rte_flow_error {
16058 fn default() -> Self {
16059 unsafe { ::std::mem::zeroed() }
16060 }
16061}
16062#[repr(C)]
16063#[derive(Copy, Clone)]
16064pub struct rte_flow_conv_rule {
16065 pub __bindgen_anon_1: rte_flow_conv_rule__bindgen_ty_1,
16066 pub __bindgen_anon_2: rte_flow_conv_rule__bindgen_ty_2,
16067 pub __bindgen_anon_3: rte_flow_conv_rule__bindgen_ty_3,
16068}
16069#[repr(C)]
16070#[derive(Copy, Clone)]
16071pub union rte_flow_conv_rule__bindgen_ty_1 {
16072 pub attr_ro: *const rte_flow_attr,
16073 pub attr: *mut rte_flow_attr,
16074 _bindgen_union_align: u64,
16075}
16076#[test]
16077fn bindgen_test_layout_rte_flow_conv_rule__bindgen_ty_1() {
16078 assert_eq!(
16079 ::std::mem::size_of::<rte_flow_conv_rule__bindgen_ty_1>(),
16080 8usize,
16081 concat!("Size of: ", stringify!(rte_flow_conv_rule__bindgen_ty_1))
16082 );
16083 assert_eq!(
16084 ::std::mem::align_of::<rte_flow_conv_rule__bindgen_ty_1>(),
16085 8usize,
16086 concat!(
16087 "Alignment of ",
16088 stringify!(rte_flow_conv_rule__bindgen_ty_1)
16089 )
16090 );
16091 assert_eq!(
16092 unsafe {
16093 &(*(::std::ptr::null::<rte_flow_conv_rule__bindgen_ty_1>())).attr_ro as *const _
16094 as usize
16095 },
16096 0usize,
16097 concat!(
16098 "Offset of field: ",
16099 stringify!(rte_flow_conv_rule__bindgen_ty_1),
16100 "::",
16101 stringify!(attr_ro)
16102 )
16103 );
16104 assert_eq!(
16105 unsafe {
16106 &(*(::std::ptr::null::<rte_flow_conv_rule__bindgen_ty_1>())).attr as *const _ as usize
16107 },
16108 0usize,
16109 concat!(
16110 "Offset of field: ",
16111 stringify!(rte_flow_conv_rule__bindgen_ty_1),
16112 "::",
16113 stringify!(attr)
16114 )
16115 );
16116}
16117impl Default for rte_flow_conv_rule__bindgen_ty_1 {
16118 fn default() -> Self {
16119 unsafe { ::std::mem::zeroed() }
16120 }
16121}
16122#[repr(C)]
16123#[derive(Copy, Clone)]
16124pub union rte_flow_conv_rule__bindgen_ty_2 {
16125 pub pattern_ro: *const rte_flow_item,
16126 pub pattern: *mut rte_flow_item,
16127 _bindgen_union_align: u64,
16128}
16129#[test]
16130fn bindgen_test_layout_rte_flow_conv_rule__bindgen_ty_2() {
16131 assert_eq!(
16132 ::std::mem::size_of::<rte_flow_conv_rule__bindgen_ty_2>(),
16133 8usize,
16134 concat!("Size of: ", stringify!(rte_flow_conv_rule__bindgen_ty_2))
16135 );
16136 assert_eq!(
16137 ::std::mem::align_of::<rte_flow_conv_rule__bindgen_ty_2>(),
16138 8usize,
16139 concat!(
16140 "Alignment of ",
16141 stringify!(rte_flow_conv_rule__bindgen_ty_2)
16142 )
16143 );
16144 assert_eq!(
16145 unsafe {
16146 &(*(::std::ptr::null::<rte_flow_conv_rule__bindgen_ty_2>())).pattern_ro as *const _
16147 as usize
16148 },
16149 0usize,
16150 concat!(
16151 "Offset of field: ",
16152 stringify!(rte_flow_conv_rule__bindgen_ty_2),
16153 "::",
16154 stringify!(pattern_ro)
16155 )
16156 );
16157 assert_eq!(
16158 unsafe {
16159 &(*(::std::ptr::null::<rte_flow_conv_rule__bindgen_ty_2>())).pattern as *const _
16160 as usize
16161 },
16162 0usize,
16163 concat!(
16164 "Offset of field: ",
16165 stringify!(rte_flow_conv_rule__bindgen_ty_2),
16166 "::",
16167 stringify!(pattern)
16168 )
16169 );
16170}
16171impl Default for rte_flow_conv_rule__bindgen_ty_2 {
16172 fn default() -> Self {
16173 unsafe { ::std::mem::zeroed() }
16174 }
16175}
16176#[repr(C)]
16177#[derive(Copy, Clone)]
16178pub union rte_flow_conv_rule__bindgen_ty_3 {
16179 pub actions_ro: *const rte_flow_action,
16180 pub actions: *mut rte_flow_action,
16181 _bindgen_union_align: u64,
16182}
16183#[test]
16184fn bindgen_test_layout_rte_flow_conv_rule__bindgen_ty_3() {
16185 assert_eq!(
16186 ::std::mem::size_of::<rte_flow_conv_rule__bindgen_ty_3>(),
16187 8usize,
16188 concat!("Size of: ", stringify!(rte_flow_conv_rule__bindgen_ty_3))
16189 );
16190 assert_eq!(
16191 ::std::mem::align_of::<rte_flow_conv_rule__bindgen_ty_3>(),
16192 8usize,
16193 concat!(
16194 "Alignment of ",
16195 stringify!(rte_flow_conv_rule__bindgen_ty_3)
16196 )
16197 );
16198 assert_eq!(
16199 unsafe {
16200 &(*(::std::ptr::null::<rte_flow_conv_rule__bindgen_ty_3>())).actions_ro as *const _
16201 as usize
16202 },
16203 0usize,
16204 concat!(
16205 "Offset of field: ",
16206 stringify!(rte_flow_conv_rule__bindgen_ty_3),
16207 "::",
16208 stringify!(actions_ro)
16209 )
16210 );
16211 assert_eq!(
16212 unsafe {
16213 &(*(::std::ptr::null::<rte_flow_conv_rule__bindgen_ty_3>())).actions as *const _
16214 as usize
16215 },
16216 0usize,
16217 concat!(
16218 "Offset of field: ",
16219 stringify!(rte_flow_conv_rule__bindgen_ty_3),
16220 "::",
16221 stringify!(actions)
16222 )
16223 );
16224}
16225impl Default for rte_flow_conv_rule__bindgen_ty_3 {
16226 fn default() -> Self {
16227 unsafe { ::std::mem::zeroed() }
16228 }
16229}
16230#[test]
16231fn bindgen_test_layout_rte_flow_conv_rule() {
16232 assert_eq!(
16233 ::std::mem::size_of::<rte_flow_conv_rule>(),
16234 24usize,
16235 concat!("Size of: ", stringify!(rte_flow_conv_rule))
16236 );
16237 assert_eq!(
16238 ::std::mem::align_of::<rte_flow_conv_rule>(),
16239 8usize,
16240 concat!("Alignment of ", stringify!(rte_flow_conv_rule))
16241 );
16242}
16243impl Default for rte_flow_conv_rule {
16244 fn default() -> Self {
16245 unsafe { ::std::mem::zeroed() }
16246 }
16247}
16248pub mod rte_flow_conv_op {
16249 pub type Type = ::std::os::raw::c_uint;
16250 pub const RTE_FLOW_CONV_OP_NONE: Type = 0;
16251 pub const RTE_FLOW_CONV_OP_ATTR: Type = 1;
16252 pub const RTE_FLOW_CONV_OP_ITEM: Type = 2;
16253 pub const RTE_FLOW_CONV_OP_ACTION: Type = 3;
16254 pub const RTE_FLOW_CONV_OP_PATTERN: Type = 4;
16255 pub const RTE_FLOW_CONV_OP_ACTIONS: Type = 5;
16256 pub const RTE_FLOW_CONV_OP_RULE: Type = 6;
16257 pub const RTE_FLOW_CONV_OP_ITEM_NAME: Type = 7;
16258 pub const RTE_FLOW_CONV_OP_ACTION_NAME: Type = 8;
16259 pub const RTE_FLOW_CONV_OP_ITEM_NAME_PTR: Type = 9;
16260 pub const RTE_FLOW_CONV_OP_ACTION_NAME_PTR: Type = 10;
16261}
16262extern "C" {
16263 pub fn rte_flow_dynf_metadata_register() -> ::std::os::raw::c_int;
16264}
16265extern "C" {
16266 pub fn rte_flow_validate(
16267 port_id: u16,
16268 attr: *const rte_flow_attr,
16269 pattern: *const rte_flow_item,
16270 actions: *const rte_flow_action,
16271 error: *mut rte_flow_error,
16272 ) -> ::std::os::raw::c_int;
16273}
16274extern "C" {
16275 pub fn rte_flow_create(
16276 port_id: u16,
16277 attr: *const rte_flow_attr,
16278 pattern: *const rte_flow_item,
16279 actions: *const rte_flow_action,
16280 error: *mut rte_flow_error,
16281 ) -> *mut rte_flow;
16282}
16283extern "C" {
16284 pub fn rte_flow_destroy(
16285 port_id: u16,
16286 flow: *mut rte_flow,
16287 error: *mut rte_flow_error,
16288 ) -> ::std::os::raw::c_int;
16289}
16290extern "C" {
16291 pub fn rte_flow_flush(port_id: u16, error: *mut rte_flow_error) -> ::std::os::raw::c_int;
16292}
16293extern "C" {
16294 pub fn rte_flow_query(
16295 port_id: u16,
16296 flow: *mut rte_flow,
16297 action: *const rte_flow_action,
16298 data: *mut ::std::os::raw::c_void,
16299 error: *mut rte_flow_error,
16300 ) -> ::std::os::raw::c_int;
16301}
16302extern "C" {
16303 pub fn rte_flow_isolate(
16304 port_id: u16,
16305 set: ::std::os::raw::c_int,
16306 error: *mut rte_flow_error,
16307 ) -> ::std::os::raw::c_int;
16308}
16309extern "C" {
16310 pub fn rte_flow_error_set(
16311 error: *mut rte_flow_error,
16312 code: ::std::os::raw::c_int,
16313 type_: rte_flow_error_type::Type,
16314 cause: *const ::std::os::raw::c_void,
16315 message: *const ::std::os::raw::c_char,
16316 ) -> ::std::os::raw::c_int;
16317}
16318#[repr(C)]
16319#[derive(Debug)]
16320pub struct rte_flow_desc {
16321 pub size: size_t,
16322 pub attr: rte_flow_attr,
16323 pub items: *mut rte_flow_item,
16324 pub actions: *mut rte_flow_action,
16325 pub data: __IncompleteArrayField<u8>,
16326}
16327#[test]
16328fn bindgen_test_layout_rte_flow_desc() {
16329 assert_eq!(
16330 ::std::mem::size_of::<rte_flow_desc>(),
16331 40usize,
16332 concat!("Size of: ", stringify!(rte_flow_desc))
16333 );
16334 assert_eq!(
16335 ::std::mem::align_of::<rte_flow_desc>(),
16336 8usize,
16337 concat!("Alignment of ", stringify!(rte_flow_desc))
16338 );
16339}
16340impl Default for rte_flow_desc {
16341 fn default() -> Self {
16342 unsafe { ::std::mem::zeroed() }
16343 }
16344}
16345extern "C" {
16346 pub fn rte_flow_copy(
16347 fd: *mut rte_flow_desc,
16348 len: size_t,
16349 attr: *const rte_flow_attr,
16350 items: *const rte_flow_item,
16351 actions: *const rte_flow_action,
16352 ) -> size_t;
16353}
16354extern "C" {
16355 pub fn rte_flow_conv(
16356 op: rte_flow_conv_op::Type,
16357 dst: *mut ::std::os::raw::c_void,
16358 size: size_t,
16359 src: *const ::std::os::raw::c_void,
16360 error: *mut rte_flow_error,
16361 ) -> ::std::os::raw::c_int;
16362}
16363pub mod rte_filter_type {
16364 pub type Type = ::std::os::raw::c_uint;
16365 pub const RTE_ETH_FILTER_NONE: Type = 0;
16366 pub const RTE_ETH_FILTER_MACVLAN: Type = 1;
16367 pub const RTE_ETH_FILTER_ETHERTYPE: Type = 2;
16368 pub const RTE_ETH_FILTER_FLEXIBLE: Type = 3;
16369 pub const RTE_ETH_FILTER_SYN: Type = 4;
16370 pub const RTE_ETH_FILTER_NTUPLE: Type = 5;
16371 pub const RTE_ETH_FILTER_TUNNEL: Type = 6;
16372 pub const RTE_ETH_FILTER_FDIR: Type = 7;
16373 pub const RTE_ETH_FILTER_HASH: Type = 8;
16374 pub const RTE_ETH_FILTER_L2_TUNNEL: Type = 9;
16375 pub const RTE_ETH_FILTER_GENERIC: Type = 10;
16376 pub const RTE_ETH_FILTER_MAX: Type = 11;
16377}
16378pub mod rte_filter_op {
16379 pub type Type = ::std::os::raw::c_uint;
16380 pub const RTE_ETH_FILTER_NOP: Type = 0;
16381 pub const RTE_ETH_FILTER_ADD: Type = 1;
16382 pub const RTE_ETH_FILTER_UPDATE: Type = 2;
16383 pub const RTE_ETH_FILTER_DELETE: Type = 3;
16384 pub const RTE_ETH_FILTER_FLUSH: Type = 4;
16385 pub const RTE_ETH_FILTER_GET: Type = 5;
16386 pub const RTE_ETH_FILTER_SET: Type = 6;
16387 pub const RTE_ETH_FILTER_INFO: Type = 7;
16388 pub const RTE_ETH_FILTER_STATS: Type = 8;
16389 pub const RTE_ETH_FILTER_OP_MAX: Type = 9;
16390}
16391pub mod rte_mac_filter_type {
16392 pub type Type = ::std::os::raw::c_uint;
16393 pub const RTE_MAC_PERFECT_MATCH: Type = 1;
16394 pub const RTE_MACVLAN_PERFECT_MATCH: Type = 2;
16395 pub const RTE_MAC_HASH_MATCH: Type = 3;
16396 pub const RTE_MACVLAN_HASH_MATCH: Type = 4;
16397}
16398#[repr(C)]
16399#[derive(Debug, Copy, Clone, PartialEq)]
16400pub struct rte_eth_mac_filter {
16401 pub is_vf: u8,
16402 pub dst_id: u16,
16403 pub filter_type: rte_mac_filter_type::Type,
16404 pub mac_addr: rte_ether_addr,
16405}
16406#[test]
16407fn bindgen_test_layout_rte_eth_mac_filter() {
16408 assert_eq!(
16409 ::std::mem::size_of::<rte_eth_mac_filter>(),
16410 16usize,
16411 concat!("Size of: ", stringify!(rte_eth_mac_filter))
16412 );
16413 assert_eq!(
16414 ::std::mem::align_of::<rte_eth_mac_filter>(),
16415 4usize,
16416 concat!("Alignment of ", stringify!(rte_eth_mac_filter))
16417 );
16418 assert_eq!(
16419 unsafe { &(*(::std::ptr::null::<rte_eth_mac_filter>())).is_vf as *const _ as usize },
16420 0usize,
16421 concat!(
16422 "Offset of field: ",
16423 stringify!(rte_eth_mac_filter),
16424 "::",
16425 stringify!(is_vf)
16426 )
16427 );
16428 assert_eq!(
16429 unsafe { &(*(::std::ptr::null::<rte_eth_mac_filter>())).dst_id as *const _ as usize },
16430 2usize,
16431 concat!(
16432 "Offset of field: ",
16433 stringify!(rte_eth_mac_filter),
16434 "::",
16435 stringify!(dst_id)
16436 )
16437 );
16438 assert_eq!(
16439 unsafe { &(*(::std::ptr::null::<rte_eth_mac_filter>())).filter_type as *const _ as usize },
16440 4usize,
16441 concat!(
16442 "Offset of field: ",
16443 stringify!(rte_eth_mac_filter),
16444 "::",
16445 stringify!(filter_type)
16446 )
16447 );
16448 assert_eq!(
16449 unsafe { &(*(::std::ptr::null::<rte_eth_mac_filter>())).mac_addr as *const _ as usize },
16450 8usize,
16451 concat!(
16452 "Offset of field: ",
16453 stringify!(rte_eth_mac_filter),
16454 "::",
16455 stringify!(mac_addr)
16456 )
16457 );
16458}
16459impl Default for rte_eth_mac_filter {
16460 fn default() -> Self {
16461 unsafe { ::std::mem::zeroed() }
16462 }
16463}
16464#[repr(C)]
16465#[derive(Debug, Default, Copy, Clone, PartialEq)]
16466pub struct rte_eth_ethertype_filter {
16467 pub mac_addr: rte_ether_addr,
16468 pub ether_type: u16,
16469 pub flags: u16,
16470 pub queue: u16,
16471}
16472#[test]
16473fn bindgen_test_layout_rte_eth_ethertype_filter() {
16474 assert_eq!(
16475 ::std::mem::size_of::<rte_eth_ethertype_filter>(),
16476 12usize,
16477 concat!("Size of: ", stringify!(rte_eth_ethertype_filter))
16478 );
16479 assert_eq!(
16480 ::std::mem::align_of::<rte_eth_ethertype_filter>(),
16481 2usize,
16482 concat!("Alignment of ", stringify!(rte_eth_ethertype_filter))
16483 );
16484 assert_eq!(
16485 unsafe {
16486 &(*(::std::ptr::null::<rte_eth_ethertype_filter>())).mac_addr as *const _ as usize
16487 },
16488 0usize,
16489 concat!(
16490 "Offset of field: ",
16491 stringify!(rte_eth_ethertype_filter),
16492 "::",
16493 stringify!(mac_addr)
16494 )
16495 );
16496 assert_eq!(
16497 unsafe {
16498 &(*(::std::ptr::null::<rte_eth_ethertype_filter>())).ether_type as *const _ as usize
16499 },
16500 6usize,
16501 concat!(
16502 "Offset of field: ",
16503 stringify!(rte_eth_ethertype_filter),
16504 "::",
16505 stringify!(ether_type)
16506 )
16507 );
16508 assert_eq!(
16509 unsafe { &(*(::std::ptr::null::<rte_eth_ethertype_filter>())).flags as *const _ as usize },
16510 8usize,
16511 concat!(
16512 "Offset of field: ",
16513 stringify!(rte_eth_ethertype_filter),
16514 "::",
16515 stringify!(flags)
16516 )
16517 );
16518 assert_eq!(
16519 unsafe { &(*(::std::ptr::null::<rte_eth_ethertype_filter>())).queue as *const _ as usize },
16520 10usize,
16521 concat!(
16522 "Offset of field: ",
16523 stringify!(rte_eth_ethertype_filter),
16524 "::",
16525 stringify!(queue)
16526 )
16527 );
16528}
16529#[repr(C)]
16530#[derive(Copy, Clone)]
16531pub struct rte_eth_flex_filter {
16532 pub len: u16,
16533 pub bytes: [u8; 128usize],
16534 pub mask: [u8; 16usize],
16535 pub priority: u8,
16536 pub queue: u16,
16537}
16538#[test]
16539fn bindgen_test_layout_rte_eth_flex_filter() {
16540 assert_eq!(
16541 ::std::mem::size_of::<rte_eth_flex_filter>(),
16542 150usize,
16543 concat!("Size of: ", stringify!(rte_eth_flex_filter))
16544 );
16545 assert_eq!(
16546 ::std::mem::align_of::<rte_eth_flex_filter>(),
16547 2usize,
16548 concat!("Alignment of ", stringify!(rte_eth_flex_filter))
16549 );
16550 assert_eq!(
16551 unsafe { &(*(::std::ptr::null::<rte_eth_flex_filter>())).len as *const _ as usize },
16552 0usize,
16553 concat!(
16554 "Offset of field: ",
16555 stringify!(rte_eth_flex_filter),
16556 "::",
16557 stringify!(len)
16558 )
16559 );
16560 assert_eq!(
16561 unsafe { &(*(::std::ptr::null::<rte_eth_flex_filter>())).bytes as *const _ as usize },
16562 2usize,
16563 concat!(
16564 "Offset of field: ",
16565 stringify!(rte_eth_flex_filter),
16566 "::",
16567 stringify!(bytes)
16568 )
16569 );
16570 assert_eq!(
16571 unsafe { &(*(::std::ptr::null::<rte_eth_flex_filter>())).mask as *const _ as usize },
16572 130usize,
16573 concat!(
16574 "Offset of field: ",
16575 stringify!(rte_eth_flex_filter),
16576 "::",
16577 stringify!(mask)
16578 )
16579 );
16580 assert_eq!(
16581 unsafe { &(*(::std::ptr::null::<rte_eth_flex_filter>())).priority as *const _ as usize },
16582 146usize,
16583 concat!(
16584 "Offset of field: ",
16585 stringify!(rte_eth_flex_filter),
16586 "::",
16587 stringify!(priority)
16588 )
16589 );
16590 assert_eq!(
16591 unsafe { &(*(::std::ptr::null::<rte_eth_flex_filter>())).queue as *const _ as usize },
16592 148usize,
16593 concat!(
16594 "Offset of field: ",
16595 stringify!(rte_eth_flex_filter),
16596 "::",
16597 stringify!(queue)
16598 )
16599 );
16600}
16601impl Default for rte_eth_flex_filter {
16602 fn default() -> Self {
16603 unsafe { ::std::mem::zeroed() }
16604 }
16605}
16606#[repr(C)]
16607#[derive(Debug, Default, Copy, Clone, PartialEq)]
16608pub struct rte_eth_syn_filter {
16609 pub hig_pri: u8,
16610 pub queue: u16,
16611}
16612#[test]
16613fn bindgen_test_layout_rte_eth_syn_filter() {
16614 assert_eq!(
16615 ::std::mem::size_of::<rte_eth_syn_filter>(),
16616 4usize,
16617 concat!("Size of: ", stringify!(rte_eth_syn_filter))
16618 );
16619 assert_eq!(
16620 ::std::mem::align_of::<rte_eth_syn_filter>(),
16621 2usize,
16622 concat!("Alignment of ", stringify!(rte_eth_syn_filter))
16623 );
16624 assert_eq!(
16625 unsafe { &(*(::std::ptr::null::<rte_eth_syn_filter>())).hig_pri as *const _ as usize },
16626 0usize,
16627 concat!(
16628 "Offset of field: ",
16629 stringify!(rte_eth_syn_filter),
16630 "::",
16631 stringify!(hig_pri)
16632 )
16633 );
16634 assert_eq!(
16635 unsafe { &(*(::std::ptr::null::<rte_eth_syn_filter>())).queue as *const _ as usize },
16636 2usize,
16637 concat!(
16638 "Offset of field: ",
16639 stringify!(rte_eth_syn_filter),
16640 "::",
16641 stringify!(queue)
16642 )
16643 );
16644}
16645#[repr(C)]
16646#[derive(Debug, Default, Copy, Clone, PartialEq)]
16647pub struct rte_eth_ntuple_filter {
16648 pub flags: u16,
16649 pub dst_ip: u32,
16650 pub dst_ip_mask: u32,
16651 pub src_ip: u32,
16652 pub src_ip_mask: u32,
16653 pub dst_port: u16,
16654 pub dst_port_mask: u16,
16655 pub src_port: u16,
16656 pub src_port_mask: u16,
16657 pub proto: u8,
16658 pub proto_mask: u8,
16659 pub tcp_flags: u8,
16660 pub priority: u16,
16661 pub queue: u16,
16662}
16663#[test]
16664fn bindgen_test_layout_rte_eth_ntuple_filter() {
16665 assert_eq!(
16666 ::std::mem::size_of::<rte_eth_ntuple_filter>(),
16667 36usize,
16668 concat!("Size of: ", stringify!(rte_eth_ntuple_filter))
16669 );
16670 assert_eq!(
16671 ::std::mem::align_of::<rte_eth_ntuple_filter>(),
16672 4usize,
16673 concat!("Alignment of ", stringify!(rte_eth_ntuple_filter))
16674 );
16675 assert_eq!(
16676 unsafe { &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).flags as *const _ as usize },
16677 0usize,
16678 concat!(
16679 "Offset of field: ",
16680 stringify!(rte_eth_ntuple_filter),
16681 "::",
16682 stringify!(flags)
16683 )
16684 );
16685 assert_eq!(
16686 unsafe { &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).dst_ip as *const _ as usize },
16687 4usize,
16688 concat!(
16689 "Offset of field: ",
16690 stringify!(rte_eth_ntuple_filter),
16691 "::",
16692 stringify!(dst_ip)
16693 )
16694 );
16695 assert_eq!(
16696 unsafe {
16697 &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).dst_ip_mask as *const _ as usize
16698 },
16699 8usize,
16700 concat!(
16701 "Offset of field: ",
16702 stringify!(rte_eth_ntuple_filter),
16703 "::",
16704 stringify!(dst_ip_mask)
16705 )
16706 );
16707 assert_eq!(
16708 unsafe { &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).src_ip as *const _ as usize },
16709 12usize,
16710 concat!(
16711 "Offset of field: ",
16712 stringify!(rte_eth_ntuple_filter),
16713 "::",
16714 stringify!(src_ip)
16715 )
16716 );
16717 assert_eq!(
16718 unsafe {
16719 &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).src_ip_mask as *const _ as usize
16720 },
16721 16usize,
16722 concat!(
16723 "Offset of field: ",
16724 stringify!(rte_eth_ntuple_filter),
16725 "::",
16726 stringify!(src_ip_mask)
16727 )
16728 );
16729 assert_eq!(
16730 unsafe { &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).dst_port as *const _ as usize },
16731 20usize,
16732 concat!(
16733 "Offset of field: ",
16734 stringify!(rte_eth_ntuple_filter),
16735 "::",
16736 stringify!(dst_port)
16737 )
16738 );
16739 assert_eq!(
16740 unsafe {
16741 &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).dst_port_mask as *const _ as usize
16742 },
16743 22usize,
16744 concat!(
16745 "Offset of field: ",
16746 stringify!(rte_eth_ntuple_filter),
16747 "::",
16748 stringify!(dst_port_mask)
16749 )
16750 );
16751 assert_eq!(
16752 unsafe { &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).src_port as *const _ as usize },
16753 24usize,
16754 concat!(
16755 "Offset of field: ",
16756 stringify!(rte_eth_ntuple_filter),
16757 "::",
16758 stringify!(src_port)
16759 )
16760 );
16761 assert_eq!(
16762 unsafe {
16763 &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).src_port_mask as *const _ as usize
16764 },
16765 26usize,
16766 concat!(
16767 "Offset of field: ",
16768 stringify!(rte_eth_ntuple_filter),
16769 "::",
16770 stringify!(src_port_mask)
16771 )
16772 );
16773 assert_eq!(
16774 unsafe { &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).proto as *const _ as usize },
16775 28usize,
16776 concat!(
16777 "Offset of field: ",
16778 stringify!(rte_eth_ntuple_filter),
16779 "::",
16780 stringify!(proto)
16781 )
16782 );
16783 assert_eq!(
16784 unsafe {
16785 &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).proto_mask as *const _ as usize
16786 },
16787 29usize,
16788 concat!(
16789 "Offset of field: ",
16790 stringify!(rte_eth_ntuple_filter),
16791 "::",
16792 stringify!(proto_mask)
16793 )
16794 );
16795 assert_eq!(
16796 unsafe { &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).tcp_flags as *const _ as usize },
16797 30usize,
16798 concat!(
16799 "Offset of field: ",
16800 stringify!(rte_eth_ntuple_filter),
16801 "::",
16802 stringify!(tcp_flags)
16803 )
16804 );
16805 assert_eq!(
16806 unsafe { &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).priority as *const _ as usize },
16807 32usize,
16808 concat!(
16809 "Offset of field: ",
16810 stringify!(rte_eth_ntuple_filter),
16811 "::",
16812 stringify!(priority)
16813 )
16814 );
16815 assert_eq!(
16816 unsafe { &(*(::std::ptr::null::<rte_eth_ntuple_filter>())).queue as *const _ as usize },
16817 34usize,
16818 concat!(
16819 "Offset of field: ",
16820 stringify!(rte_eth_ntuple_filter),
16821 "::",
16822 stringify!(queue)
16823 )
16824 );
16825}
16826pub mod rte_tunnel_iptype {
16827 pub type Type = ::std::os::raw::c_uint;
16828 pub const RTE_TUNNEL_IPTYPE_IPV4: Type = 0;
16829 pub const RTE_TUNNEL_IPTYPE_IPV6: Type = 1;
16830}
16831#[repr(C)]
16832#[derive(Copy, Clone)]
16833pub struct rte_eth_tunnel_filter_conf {
16834 pub outer_mac: rte_ether_addr,
16835 pub inner_mac: rte_ether_addr,
16836 pub inner_vlan: u16,
16837 pub ip_type: rte_tunnel_iptype::Type,
16838 pub ip_addr: rte_eth_tunnel_filter_conf__bindgen_ty_1,
16839 pub filter_type: u16,
16840 pub tunnel_type: rte_eth_tunnel_type::Type,
16841 pub tenant_id: u32,
16842 pub queue_id: u16,
16843}
16844#[repr(C)]
16845#[derive(Copy, Clone)]
16846pub union rte_eth_tunnel_filter_conf__bindgen_ty_1 {
16847 pub ipv4_addr: u32,
16848 pub ipv6_addr: [u32; 4usize],
16849 _bindgen_union_align: [u32; 4usize],
16850}
16851#[test]
16852fn bindgen_test_layout_rte_eth_tunnel_filter_conf__bindgen_ty_1() {
16853 assert_eq!(
16854 ::std::mem::size_of::<rte_eth_tunnel_filter_conf__bindgen_ty_1>(),
16855 16usize,
16856 concat!(
16857 "Size of: ",
16858 stringify!(rte_eth_tunnel_filter_conf__bindgen_ty_1)
16859 )
16860 );
16861 assert_eq!(
16862 ::std::mem::align_of::<rte_eth_tunnel_filter_conf__bindgen_ty_1>(),
16863 4usize,
16864 concat!(
16865 "Alignment of ",
16866 stringify!(rte_eth_tunnel_filter_conf__bindgen_ty_1)
16867 )
16868 );
16869 assert_eq!(
16870 unsafe {
16871 &(*(::std::ptr::null::<rte_eth_tunnel_filter_conf__bindgen_ty_1>())).ipv4_addr
16872 as *const _ as usize
16873 },
16874 0usize,
16875 concat!(
16876 "Offset of field: ",
16877 stringify!(rte_eth_tunnel_filter_conf__bindgen_ty_1),
16878 "::",
16879 stringify!(ipv4_addr)
16880 )
16881 );
16882 assert_eq!(
16883 unsafe {
16884 &(*(::std::ptr::null::<rte_eth_tunnel_filter_conf__bindgen_ty_1>())).ipv6_addr
16885 as *const _ as usize
16886 },
16887 0usize,
16888 concat!(
16889 "Offset of field: ",
16890 stringify!(rte_eth_tunnel_filter_conf__bindgen_ty_1),
16891 "::",
16892 stringify!(ipv6_addr)
16893 )
16894 );
16895}
16896impl Default for rte_eth_tunnel_filter_conf__bindgen_ty_1 {
16897 fn default() -> Self {
16898 unsafe { ::std::mem::zeroed() }
16899 }
16900}
16901#[test]
16902fn bindgen_test_layout_rte_eth_tunnel_filter_conf() {
16903 assert_eq!(
16904 ::std::mem::size_of::<rte_eth_tunnel_filter_conf>(),
16905 52usize,
16906 concat!("Size of: ", stringify!(rte_eth_tunnel_filter_conf))
16907 );
16908 assert_eq!(
16909 ::std::mem::align_of::<rte_eth_tunnel_filter_conf>(),
16910 4usize,
16911 concat!("Alignment of ", stringify!(rte_eth_tunnel_filter_conf))
16912 );
16913 assert_eq!(
16914 unsafe {
16915 &(*(::std::ptr::null::<rte_eth_tunnel_filter_conf>())).outer_mac as *const _ as usize
16916 },
16917 0usize,
16918 concat!(
16919 "Offset of field: ",
16920 stringify!(rte_eth_tunnel_filter_conf),
16921 "::",
16922 stringify!(outer_mac)
16923 )
16924 );
16925 assert_eq!(
16926 unsafe {
16927 &(*(::std::ptr::null::<rte_eth_tunnel_filter_conf>())).inner_mac as *const _ as usize
16928 },
16929 6usize,
16930 concat!(
16931 "Offset of field: ",
16932 stringify!(rte_eth_tunnel_filter_conf),
16933 "::",
16934 stringify!(inner_mac)
16935 )
16936 );
16937 assert_eq!(
16938 unsafe {
16939 &(*(::std::ptr::null::<rte_eth_tunnel_filter_conf>())).inner_vlan as *const _ as usize
16940 },
16941 12usize,
16942 concat!(
16943 "Offset of field: ",
16944 stringify!(rte_eth_tunnel_filter_conf),
16945 "::",
16946 stringify!(inner_vlan)
16947 )
16948 );
16949 assert_eq!(
16950 unsafe {
16951 &(*(::std::ptr::null::<rte_eth_tunnel_filter_conf>())).ip_type as *const _ as usize
16952 },
16953 16usize,
16954 concat!(
16955 "Offset of field: ",
16956 stringify!(rte_eth_tunnel_filter_conf),
16957 "::",
16958 stringify!(ip_type)
16959 )
16960 );
16961 assert_eq!(
16962 unsafe {
16963 &(*(::std::ptr::null::<rte_eth_tunnel_filter_conf>())).ip_addr as *const _ as usize
16964 },
16965 20usize,
16966 concat!(
16967 "Offset of field: ",
16968 stringify!(rte_eth_tunnel_filter_conf),
16969 "::",
16970 stringify!(ip_addr)
16971 )
16972 );
16973 assert_eq!(
16974 unsafe {
16975 &(*(::std::ptr::null::<rte_eth_tunnel_filter_conf>())).filter_type as *const _ as usize
16976 },
16977 36usize,
16978 concat!(
16979 "Offset of field: ",
16980 stringify!(rte_eth_tunnel_filter_conf),
16981 "::",
16982 stringify!(filter_type)
16983 )
16984 );
16985 assert_eq!(
16986 unsafe {
16987 &(*(::std::ptr::null::<rte_eth_tunnel_filter_conf>())).tunnel_type as *const _ as usize
16988 },
16989 40usize,
16990 concat!(
16991 "Offset of field: ",
16992 stringify!(rte_eth_tunnel_filter_conf),
16993 "::",
16994 stringify!(tunnel_type)
16995 )
16996 );
16997 assert_eq!(
16998 unsafe {
16999 &(*(::std::ptr::null::<rte_eth_tunnel_filter_conf>())).tenant_id as *const _ as usize
17000 },
17001 44usize,
17002 concat!(
17003 "Offset of field: ",
17004 stringify!(rte_eth_tunnel_filter_conf),
17005 "::",
17006 stringify!(tenant_id)
17007 )
17008 );
17009 assert_eq!(
17010 unsafe {
17011 &(*(::std::ptr::null::<rte_eth_tunnel_filter_conf>())).queue_id as *const _ as usize
17012 },
17013 48usize,
17014 concat!(
17015 "Offset of field: ",
17016 stringify!(rte_eth_tunnel_filter_conf),
17017 "::",
17018 stringify!(queue_id)
17019 )
17020 );
17021}
17022impl Default for rte_eth_tunnel_filter_conf {
17023 fn default() -> Self {
17024 unsafe { ::std::mem::zeroed() }
17025 }
17026}
17027pub mod rte_eth_global_cfg_type {
17028 pub type Type = ::std::os::raw::c_uint;
17029 pub const RTE_ETH_GLOBAL_CFG_TYPE_UNKNOWN: Type = 0;
17030 pub const RTE_ETH_GLOBAL_CFG_TYPE_GRE_KEY_LEN: Type = 1;
17031 pub const RTE_ETH_GLOBAL_CFG_TYPE_MAX: Type = 2;
17032}
17033#[repr(C)]
17034#[derive(Copy, Clone)]
17035pub struct rte_eth_global_cfg {
17036 pub cfg_type: rte_eth_global_cfg_type::Type,
17037 pub cfg: rte_eth_global_cfg__bindgen_ty_1,
17038}
17039#[repr(C)]
17040#[derive(Copy, Clone)]
17041pub union rte_eth_global_cfg__bindgen_ty_1 {
17042 pub gre_key_len: u8,
17043 pub reserved: u64,
17044 _bindgen_union_align: u64,
17045}
17046#[test]
17047fn bindgen_test_layout_rte_eth_global_cfg__bindgen_ty_1() {
17048 assert_eq!(
17049 ::std::mem::size_of::<rte_eth_global_cfg__bindgen_ty_1>(),
17050 8usize,
17051 concat!("Size of: ", stringify!(rte_eth_global_cfg__bindgen_ty_1))
17052 );
17053 assert_eq!(
17054 ::std::mem::align_of::<rte_eth_global_cfg__bindgen_ty_1>(),
17055 8usize,
17056 concat!(
17057 "Alignment of ",
17058 stringify!(rte_eth_global_cfg__bindgen_ty_1)
17059 )
17060 );
17061 assert_eq!(
17062 unsafe {
17063 &(*(::std::ptr::null::<rte_eth_global_cfg__bindgen_ty_1>())).gre_key_len as *const _
17064 as usize
17065 },
17066 0usize,
17067 concat!(
17068 "Offset of field: ",
17069 stringify!(rte_eth_global_cfg__bindgen_ty_1),
17070 "::",
17071 stringify!(gre_key_len)
17072 )
17073 );
17074 assert_eq!(
17075 unsafe {
17076 &(*(::std::ptr::null::<rte_eth_global_cfg__bindgen_ty_1>())).reserved as *const _
17077 as usize
17078 },
17079 0usize,
17080 concat!(
17081 "Offset of field: ",
17082 stringify!(rte_eth_global_cfg__bindgen_ty_1),
17083 "::",
17084 stringify!(reserved)
17085 )
17086 );
17087}
17088impl Default for rte_eth_global_cfg__bindgen_ty_1 {
17089 fn default() -> Self {
17090 unsafe { ::std::mem::zeroed() }
17091 }
17092}
17093#[test]
17094fn bindgen_test_layout_rte_eth_global_cfg() {
17095 assert_eq!(
17096 ::std::mem::size_of::<rte_eth_global_cfg>(),
17097 16usize,
17098 concat!("Size of: ", stringify!(rte_eth_global_cfg))
17099 );
17100 assert_eq!(
17101 ::std::mem::align_of::<rte_eth_global_cfg>(),
17102 8usize,
17103 concat!("Alignment of ", stringify!(rte_eth_global_cfg))
17104 );
17105 assert_eq!(
17106 unsafe { &(*(::std::ptr::null::<rte_eth_global_cfg>())).cfg_type as *const _ as usize },
17107 0usize,
17108 concat!(
17109 "Offset of field: ",
17110 stringify!(rte_eth_global_cfg),
17111 "::",
17112 stringify!(cfg_type)
17113 )
17114 );
17115 assert_eq!(
17116 unsafe { &(*(::std::ptr::null::<rte_eth_global_cfg>())).cfg as *const _ as usize },
17117 8usize,
17118 concat!(
17119 "Offset of field: ",
17120 stringify!(rte_eth_global_cfg),
17121 "::",
17122 stringify!(cfg)
17123 )
17124 );
17125}
17126impl Default for rte_eth_global_cfg {
17127 fn default() -> Self {
17128 unsafe { ::std::mem::zeroed() }
17129 }
17130}
17131pub mod rte_eth_input_set_field {
17132 pub type Type = ::std::os::raw::c_uint;
17133 pub const RTE_ETH_INPUT_SET_UNKNOWN: Type = 0;
17134 pub const RTE_ETH_INPUT_SET_L2_SRC_MAC: Type = 1;
17135 pub const RTE_ETH_INPUT_SET_L2_DST_MAC: Type = 2;
17136 pub const RTE_ETH_INPUT_SET_L2_OUTER_VLAN: Type = 3;
17137 pub const RTE_ETH_INPUT_SET_L2_INNER_VLAN: Type = 4;
17138 pub const RTE_ETH_INPUT_SET_L2_ETHERTYPE: Type = 5;
17139 pub const RTE_ETH_INPUT_SET_L3_SRC_IP4: Type = 129;
17140 pub const RTE_ETH_INPUT_SET_L3_DST_IP4: Type = 130;
17141 pub const RTE_ETH_INPUT_SET_L3_SRC_IP6: Type = 131;
17142 pub const RTE_ETH_INPUT_SET_L3_DST_IP6: Type = 132;
17143 pub const RTE_ETH_INPUT_SET_L3_IP4_TOS: Type = 133;
17144 pub const RTE_ETH_INPUT_SET_L3_IP4_PROTO: Type = 134;
17145 pub const RTE_ETH_INPUT_SET_L3_IP6_TC: Type = 135;
17146 pub const RTE_ETH_INPUT_SET_L3_IP6_NEXT_HEADER: Type = 136;
17147 pub const RTE_ETH_INPUT_SET_L3_IP4_TTL: Type = 137;
17148 pub const RTE_ETH_INPUT_SET_L3_IP6_HOP_LIMITS: Type = 138;
17149 pub const RTE_ETH_INPUT_SET_L4_UDP_SRC_PORT: Type = 257;
17150 pub const RTE_ETH_INPUT_SET_L4_UDP_DST_PORT: Type = 258;
17151 pub const RTE_ETH_INPUT_SET_L4_TCP_SRC_PORT: Type = 259;
17152 pub const RTE_ETH_INPUT_SET_L4_TCP_DST_PORT: Type = 260;
17153 pub const RTE_ETH_INPUT_SET_L4_SCTP_SRC_PORT: Type = 261;
17154 pub const RTE_ETH_INPUT_SET_L4_SCTP_DST_PORT: Type = 262;
17155 pub const RTE_ETH_INPUT_SET_L4_SCTP_VERIFICATION_TAG: Type = 263;
17156 pub const RTE_ETH_INPUT_SET_TUNNEL_L2_INNER_DST_MAC: Type = 385;
17157 pub const RTE_ETH_INPUT_SET_TUNNEL_L2_INNER_SRC_MAC: Type = 386;
17158 pub const RTE_ETH_INPUT_SET_TUNNEL_L2_INNER_VLAN: Type = 387;
17159 pub const RTE_ETH_INPUT_SET_TUNNEL_L4_UDP_KEY: Type = 388;
17160 pub const RTE_ETH_INPUT_SET_TUNNEL_GRE_KEY: Type = 389;
17161 pub const RTE_ETH_INPUT_SET_FLEX_PAYLOAD_1ST_WORD: Type = 641;
17162 pub const RTE_ETH_INPUT_SET_FLEX_PAYLOAD_2ND_WORD: Type = 642;
17163 pub const RTE_ETH_INPUT_SET_FLEX_PAYLOAD_3RD_WORD: Type = 643;
17164 pub const RTE_ETH_INPUT_SET_FLEX_PAYLOAD_4TH_WORD: Type = 644;
17165 pub const RTE_ETH_INPUT_SET_FLEX_PAYLOAD_5TH_WORD: Type = 645;
17166 pub const RTE_ETH_INPUT_SET_FLEX_PAYLOAD_6TH_WORD: Type = 646;
17167 pub const RTE_ETH_INPUT_SET_FLEX_PAYLOAD_7TH_WORD: Type = 647;
17168 pub const RTE_ETH_INPUT_SET_FLEX_PAYLOAD_8TH_WORD: Type = 648;
17169 pub const RTE_ETH_INPUT_SET_DEFAULT: Type = 65533;
17170 pub const RTE_ETH_INPUT_SET_NONE: Type = 65534;
17171 pub const RTE_ETH_INPUT_SET_MAX: Type = 65535;
17172}
17173pub mod rte_filter_input_set_op {
17174 pub type Type = ::std::os::raw::c_uint;
17175 pub const RTE_ETH_INPUT_SET_OP_UNKNOWN: Type = 0;
17176 pub const RTE_ETH_INPUT_SET_SELECT: Type = 1;
17177 pub const RTE_ETH_INPUT_SET_ADD: Type = 2;
17178 pub const RTE_ETH_INPUT_SET_OP_MAX: Type = 3;
17179}
17180#[repr(C)]
17181#[derive(Copy, Clone)]
17182pub struct rte_eth_input_set_conf {
17183 pub flow_type: u16,
17184 pub inset_size: u16,
17185 pub field: [rte_eth_input_set_field::Type; 128usize],
17186 pub op: rte_filter_input_set_op::Type,
17187}
17188#[test]
17189fn bindgen_test_layout_rte_eth_input_set_conf() {
17190 assert_eq!(
17191 ::std::mem::size_of::<rte_eth_input_set_conf>(),
17192 520usize,
17193 concat!("Size of: ", stringify!(rte_eth_input_set_conf))
17194 );
17195 assert_eq!(
17196 ::std::mem::align_of::<rte_eth_input_set_conf>(),
17197 4usize,
17198 concat!("Alignment of ", stringify!(rte_eth_input_set_conf))
17199 );
17200 assert_eq!(
17201 unsafe {
17202 &(*(::std::ptr::null::<rte_eth_input_set_conf>())).flow_type as *const _ as usize
17203 },
17204 0usize,
17205 concat!(
17206 "Offset of field: ",
17207 stringify!(rte_eth_input_set_conf),
17208 "::",
17209 stringify!(flow_type)
17210 )
17211 );
17212 assert_eq!(
17213 unsafe {
17214 &(*(::std::ptr::null::<rte_eth_input_set_conf>())).inset_size as *const _ as usize
17215 },
17216 2usize,
17217 concat!(
17218 "Offset of field: ",
17219 stringify!(rte_eth_input_set_conf),
17220 "::",
17221 stringify!(inset_size)
17222 )
17223 );
17224 assert_eq!(
17225 unsafe { &(*(::std::ptr::null::<rte_eth_input_set_conf>())).field as *const _ as usize },
17226 4usize,
17227 concat!(
17228 "Offset of field: ",
17229 stringify!(rte_eth_input_set_conf),
17230 "::",
17231 stringify!(field)
17232 )
17233 );
17234 assert_eq!(
17235 unsafe { &(*(::std::ptr::null::<rte_eth_input_set_conf>())).op as *const _ as usize },
17236 516usize,
17237 concat!(
17238 "Offset of field: ",
17239 stringify!(rte_eth_input_set_conf),
17240 "::",
17241 stringify!(op)
17242 )
17243 );
17244}
17245impl Default for rte_eth_input_set_conf {
17246 fn default() -> Self {
17247 unsafe { ::std::mem::zeroed() }
17248 }
17249}
17250#[repr(C)]
17251#[derive(Debug, Default, Copy, Clone, PartialEq)]
17252pub struct rte_eth_l2_flow {
17253 pub ether_type: u16,
17254}
17255#[test]
17256fn bindgen_test_layout_rte_eth_l2_flow() {
17257 assert_eq!(
17258 ::std::mem::size_of::<rte_eth_l2_flow>(),
17259 2usize,
17260 concat!("Size of: ", stringify!(rte_eth_l2_flow))
17261 );
17262 assert_eq!(
17263 ::std::mem::align_of::<rte_eth_l2_flow>(),
17264 2usize,
17265 concat!("Alignment of ", stringify!(rte_eth_l2_flow))
17266 );
17267 assert_eq!(
17268 unsafe { &(*(::std::ptr::null::<rte_eth_l2_flow>())).ether_type as *const _ as usize },
17269 0usize,
17270 concat!(
17271 "Offset of field: ",
17272 stringify!(rte_eth_l2_flow),
17273 "::",
17274 stringify!(ether_type)
17275 )
17276 );
17277}
17278#[repr(C)]
17279#[derive(Debug, Default, Copy, Clone, PartialEq)]
17280pub struct rte_eth_ipv4_flow {
17281 pub src_ip: u32,
17282 pub dst_ip: u32,
17283 pub tos: u8,
17284 pub ttl: u8,
17285 pub proto: u8,
17286}
17287#[test]
17288fn bindgen_test_layout_rte_eth_ipv4_flow() {
17289 assert_eq!(
17290 ::std::mem::size_of::<rte_eth_ipv4_flow>(),
17291 12usize,
17292 concat!("Size of: ", stringify!(rte_eth_ipv4_flow))
17293 );
17294 assert_eq!(
17295 ::std::mem::align_of::<rte_eth_ipv4_flow>(),
17296 4usize,
17297 concat!("Alignment of ", stringify!(rte_eth_ipv4_flow))
17298 );
17299 assert_eq!(
17300 unsafe { &(*(::std::ptr::null::<rte_eth_ipv4_flow>())).src_ip as *const _ as usize },
17301 0usize,
17302 concat!(
17303 "Offset of field: ",
17304 stringify!(rte_eth_ipv4_flow),
17305 "::",
17306 stringify!(src_ip)
17307 )
17308 );
17309 assert_eq!(
17310 unsafe { &(*(::std::ptr::null::<rte_eth_ipv4_flow>())).dst_ip as *const _ as usize },
17311 4usize,
17312 concat!(
17313 "Offset of field: ",
17314 stringify!(rte_eth_ipv4_flow),
17315 "::",
17316 stringify!(dst_ip)
17317 )
17318 );
17319 assert_eq!(
17320 unsafe { &(*(::std::ptr::null::<rte_eth_ipv4_flow>())).tos as *const _ as usize },
17321 8usize,
17322 concat!(
17323 "Offset of field: ",
17324 stringify!(rte_eth_ipv4_flow),
17325 "::",
17326 stringify!(tos)
17327 )
17328 );
17329 assert_eq!(
17330 unsafe { &(*(::std::ptr::null::<rte_eth_ipv4_flow>())).ttl as *const _ as usize },
17331 9usize,
17332 concat!(
17333 "Offset of field: ",
17334 stringify!(rte_eth_ipv4_flow),
17335 "::",
17336 stringify!(ttl)
17337 )
17338 );
17339 assert_eq!(
17340 unsafe { &(*(::std::ptr::null::<rte_eth_ipv4_flow>())).proto as *const _ as usize },
17341 10usize,
17342 concat!(
17343 "Offset of field: ",
17344 stringify!(rte_eth_ipv4_flow),
17345 "::",
17346 stringify!(proto)
17347 )
17348 );
17349}
17350#[repr(C)]
17351#[derive(Debug, Default, Copy, Clone, PartialEq)]
17352pub struct rte_eth_udpv4_flow {
17353 pub ip: rte_eth_ipv4_flow,
17354 pub src_port: u16,
17355 pub dst_port: u16,
17356}
17357#[test]
17358fn bindgen_test_layout_rte_eth_udpv4_flow() {
17359 assert_eq!(
17360 ::std::mem::size_of::<rte_eth_udpv4_flow>(),
17361 16usize,
17362 concat!("Size of: ", stringify!(rte_eth_udpv4_flow))
17363 );
17364 assert_eq!(
17365 ::std::mem::align_of::<rte_eth_udpv4_flow>(),
17366 4usize,
17367 concat!("Alignment of ", stringify!(rte_eth_udpv4_flow))
17368 );
17369 assert_eq!(
17370 unsafe { &(*(::std::ptr::null::<rte_eth_udpv4_flow>())).ip as *const _ as usize },
17371 0usize,
17372 concat!(
17373 "Offset of field: ",
17374 stringify!(rte_eth_udpv4_flow),
17375 "::",
17376 stringify!(ip)
17377 )
17378 );
17379 assert_eq!(
17380 unsafe { &(*(::std::ptr::null::<rte_eth_udpv4_flow>())).src_port as *const _ as usize },
17381 12usize,
17382 concat!(
17383 "Offset of field: ",
17384 stringify!(rte_eth_udpv4_flow),
17385 "::",
17386 stringify!(src_port)
17387 )
17388 );
17389 assert_eq!(
17390 unsafe { &(*(::std::ptr::null::<rte_eth_udpv4_flow>())).dst_port as *const _ as usize },
17391 14usize,
17392 concat!(
17393 "Offset of field: ",
17394 stringify!(rte_eth_udpv4_flow),
17395 "::",
17396 stringify!(dst_port)
17397 )
17398 );
17399}
17400#[repr(C)]
17401#[derive(Debug, Default, Copy, Clone, PartialEq)]
17402pub struct rte_eth_tcpv4_flow {
17403 pub ip: rte_eth_ipv4_flow,
17404 pub src_port: u16,
17405 pub dst_port: u16,
17406}
17407#[test]
17408fn bindgen_test_layout_rte_eth_tcpv4_flow() {
17409 assert_eq!(
17410 ::std::mem::size_of::<rte_eth_tcpv4_flow>(),
17411 16usize,
17412 concat!("Size of: ", stringify!(rte_eth_tcpv4_flow))
17413 );
17414 assert_eq!(
17415 ::std::mem::align_of::<rte_eth_tcpv4_flow>(),
17416 4usize,
17417 concat!("Alignment of ", stringify!(rte_eth_tcpv4_flow))
17418 );
17419 assert_eq!(
17420 unsafe { &(*(::std::ptr::null::<rte_eth_tcpv4_flow>())).ip as *const _ as usize },
17421 0usize,
17422 concat!(
17423 "Offset of field: ",
17424 stringify!(rte_eth_tcpv4_flow),
17425 "::",
17426 stringify!(ip)
17427 )
17428 );
17429 assert_eq!(
17430 unsafe { &(*(::std::ptr::null::<rte_eth_tcpv4_flow>())).src_port as *const _ as usize },
17431 12usize,
17432 concat!(
17433 "Offset of field: ",
17434 stringify!(rte_eth_tcpv4_flow),
17435 "::",
17436 stringify!(src_port)
17437 )
17438 );
17439 assert_eq!(
17440 unsafe { &(*(::std::ptr::null::<rte_eth_tcpv4_flow>())).dst_port as *const _ as usize },
17441 14usize,
17442 concat!(
17443 "Offset of field: ",
17444 stringify!(rte_eth_tcpv4_flow),
17445 "::",
17446 stringify!(dst_port)
17447 )
17448 );
17449}
17450#[repr(C)]
17451#[derive(Debug, Default, Copy, Clone, PartialEq)]
17452pub struct rte_eth_sctpv4_flow {
17453 pub ip: rte_eth_ipv4_flow,
17454 pub src_port: u16,
17455 pub dst_port: u16,
17456 pub verify_tag: u32,
17457}
17458#[test]
17459fn bindgen_test_layout_rte_eth_sctpv4_flow() {
17460 assert_eq!(
17461 ::std::mem::size_of::<rte_eth_sctpv4_flow>(),
17462 20usize,
17463 concat!("Size of: ", stringify!(rte_eth_sctpv4_flow))
17464 );
17465 assert_eq!(
17466 ::std::mem::align_of::<rte_eth_sctpv4_flow>(),
17467 4usize,
17468 concat!("Alignment of ", stringify!(rte_eth_sctpv4_flow))
17469 );
17470 assert_eq!(
17471 unsafe { &(*(::std::ptr::null::<rte_eth_sctpv4_flow>())).ip as *const _ as usize },
17472 0usize,
17473 concat!(
17474 "Offset of field: ",
17475 stringify!(rte_eth_sctpv4_flow),
17476 "::",
17477 stringify!(ip)
17478 )
17479 );
17480 assert_eq!(
17481 unsafe { &(*(::std::ptr::null::<rte_eth_sctpv4_flow>())).src_port as *const _ as usize },
17482 12usize,
17483 concat!(
17484 "Offset of field: ",
17485 stringify!(rte_eth_sctpv4_flow),
17486 "::",
17487 stringify!(src_port)
17488 )
17489 );
17490 assert_eq!(
17491 unsafe { &(*(::std::ptr::null::<rte_eth_sctpv4_flow>())).dst_port as *const _ as usize },
17492 14usize,
17493 concat!(
17494 "Offset of field: ",
17495 stringify!(rte_eth_sctpv4_flow),
17496 "::",
17497 stringify!(dst_port)
17498 )
17499 );
17500 assert_eq!(
17501 unsafe { &(*(::std::ptr::null::<rte_eth_sctpv4_flow>())).verify_tag as *const _ as usize },
17502 16usize,
17503 concat!(
17504 "Offset of field: ",
17505 stringify!(rte_eth_sctpv4_flow),
17506 "::",
17507 stringify!(verify_tag)
17508 )
17509 );
17510}
17511#[repr(C)]
17512#[derive(Debug, Default, Copy, Clone, PartialEq)]
17513pub struct rte_eth_ipv6_flow {
17514 pub src_ip: [u32; 4usize],
17515 pub dst_ip: [u32; 4usize],
17516 pub tc: u8,
17517 pub proto: u8,
17518 pub hop_limits: u8,
17519}
17520#[test]
17521fn bindgen_test_layout_rte_eth_ipv6_flow() {
17522 assert_eq!(
17523 ::std::mem::size_of::<rte_eth_ipv6_flow>(),
17524 36usize,
17525 concat!("Size of: ", stringify!(rte_eth_ipv6_flow))
17526 );
17527 assert_eq!(
17528 ::std::mem::align_of::<rte_eth_ipv6_flow>(),
17529 4usize,
17530 concat!("Alignment of ", stringify!(rte_eth_ipv6_flow))
17531 );
17532 assert_eq!(
17533 unsafe { &(*(::std::ptr::null::<rte_eth_ipv6_flow>())).src_ip as *const _ as usize },
17534 0usize,
17535 concat!(
17536 "Offset of field: ",
17537 stringify!(rte_eth_ipv6_flow),
17538 "::",
17539 stringify!(src_ip)
17540 )
17541 );
17542 assert_eq!(
17543 unsafe { &(*(::std::ptr::null::<rte_eth_ipv6_flow>())).dst_ip as *const _ as usize },
17544 16usize,
17545 concat!(
17546 "Offset of field: ",
17547 stringify!(rte_eth_ipv6_flow),
17548 "::",
17549 stringify!(dst_ip)
17550 )
17551 );
17552 assert_eq!(
17553 unsafe { &(*(::std::ptr::null::<rte_eth_ipv6_flow>())).tc as *const _ as usize },
17554 32usize,
17555 concat!(
17556 "Offset of field: ",
17557 stringify!(rte_eth_ipv6_flow),
17558 "::",
17559 stringify!(tc)
17560 )
17561 );
17562 assert_eq!(
17563 unsafe { &(*(::std::ptr::null::<rte_eth_ipv6_flow>())).proto as *const _ as usize },
17564 33usize,
17565 concat!(
17566 "Offset of field: ",
17567 stringify!(rte_eth_ipv6_flow),
17568 "::",
17569 stringify!(proto)
17570 )
17571 );
17572 assert_eq!(
17573 unsafe { &(*(::std::ptr::null::<rte_eth_ipv6_flow>())).hop_limits as *const _ as usize },
17574 34usize,
17575 concat!(
17576 "Offset of field: ",
17577 stringify!(rte_eth_ipv6_flow),
17578 "::",
17579 stringify!(hop_limits)
17580 )
17581 );
17582}
17583#[repr(C)]
17584#[derive(Debug, Default, Copy, Clone, PartialEq)]
17585pub struct rte_eth_udpv6_flow {
17586 pub ip: rte_eth_ipv6_flow,
17587 pub src_port: u16,
17588 pub dst_port: u16,
17589}
17590#[test]
17591fn bindgen_test_layout_rte_eth_udpv6_flow() {
17592 assert_eq!(
17593 ::std::mem::size_of::<rte_eth_udpv6_flow>(),
17594 40usize,
17595 concat!("Size of: ", stringify!(rte_eth_udpv6_flow))
17596 );
17597 assert_eq!(
17598 ::std::mem::align_of::<rte_eth_udpv6_flow>(),
17599 4usize,
17600 concat!("Alignment of ", stringify!(rte_eth_udpv6_flow))
17601 );
17602 assert_eq!(
17603 unsafe { &(*(::std::ptr::null::<rte_eth_udpv6_flow>())).ip as *const _ as usize },
17604 0usize,
17605 concat!(
17606 "Offset of field: ",
17607 stringify!(rte_eth_udpv6_flow),
17608 "::",
17609 stringify!(ip)
17610 )
17611 );
17612 assert_eq!(
17613 unsafe { &(*(::std::ptr::null::<rte_eth_udpv6_flow>())).src_port as *const _ as usize },
17614 36usize,
17615 concat!(
17616 "Offset of field: ",
17617 stringify!(rte_eth_udpv6_flow),
17618 "::",
17619 stringify!(src_port)
17620 )
17621 );
17622 assert_eq!(
17623 unsafe { &(*(::std::ptr::null::<rte_eth_udpv6_flow>())).dst_port as *const _ as usize },
17624 38usize,
17625 concat!(
17626 "Offset of field: ",
17627 stringify!(rte_eth_udpv6_flow),
17628 "::",
17629 stringify!(dst_port)
17630 )
17631 );
17632}
17633#[repr(C)]
17634#[derive(Debug, Default, Copy, Clone, PartialEq)]
17635pub struct rte_eth_tcpv6_flow {
17636 pub ip: rte_eth_ipv6_flow,
17637 pub src_port: u16,
17638 pub dst_port: u16,
17639}
17640#[test]
17641fn bindgen_test_layout_rte_eth_tcpv6_flow() {
17642 assert_eq!(
17643 ::std::mem::size_of::<rte_eth_tcpv6_flow>(),
17644 40usize,
17645 concat!("Size of: ", stringify!(rte_eth_tcpv6_flow))
17646 );
17647 assert_eq!(
17648 ::std::mem::align_of::<rte_eth_tcpv6_flow>(),
17649 4usize,
17650 concat!("Alignment of ", stringify!(rte_eth_tcpv6_flow))
17651 );
17652 assert_eq!(
17653 unsafe { &(*(::std::ptr::null::<rte_eth_tcpv6_flow>())).ip as *const _ as usize },
17654 0usize,
17655 concat!(
17656 "Offset of field: ",
17657 stringify!(rte_eth_tcpv6_flow),
17658 "::",
17659 stringify!(ip)
17660 )
17661 );
17662 assert_eq!(
17663 unsafe { &(*(::std::ptr::null::<rte_eth_tcpv6_flow>())).src_port as *const _ as usize },
17664 36usize,
17665 concat!(
17666 "Offset of field: ",
17667 stringify!(rte_eth_tcpv6_flow),
17668 "::",
17669 stringify!(src_port)
17670 )
17671 );
17672 assert_eq!(
17673 unsafe { &(*(::std::ptr::null::<rte_eth_tcpv6_flow>())).dst_port as *const _ as usize },
17674 38usize,
17675 concat!(
17676 "Offset of field: ",
17677 stringify!(rte_eth_tcpv6_flow),
17678 "::",
17679 stringify!(dst_port)
17680 )
17681 );
17682}
17683#[repr(C)]
17684#[derive(Debug, Default, Copy, Clone, PartialEq)]
17685pub struct rte_eth_sctpv6_flow {
17686 pub ip: rte_eth_ipv6_flow,
17687 pub src_port: u16,
17688 pub dst_port: u16,
17689 pub verify_tag: u32,
17690}
17691#[test]
17692fn bindgen_test_layout_rte_eth_sctpv6_flow() {
17693 assert_eq!(
17694 ::std::mem::size_of::<rte_eth_sctpv6_flow>(),
17695 44usize,
17696 concat!("Size of: ", stringify!(rte_eth_sctpv6_flow))
17697 );
17698 assert_eq!(
17699 ::std::mem::align_of::<rte_eth_sctpv6_flow>(),
17700 4usize,
17701 concat!("Alignment of ", stringify!(rte_eth_sctpv6_flow))
17702 );
17703 assert_eq!(
17704 unsafe { &(*(::std::ptr::null::<rte_eth_sctpv6_flow>())).ip as *const _ as usize },
17705 0usize,
17706 concat!(
17707 "Offset of field: ",
17708 stringify!(rte_eth_sctpv6_flow),
17709 "::",
17710 stringify!(ip)
17711 )
17712 );
17713 assert_eq!(
17714 unsafe { &(*(::std::ptr::null::<rte_eth_sctpv6_flow>())).src_port as *const _ as usize },
17715 36usize,
17716 concat!(
17717 "Offset of field: ",
17718 stringify!(rte_eth_sctpv6_flow),
17719 "::",
17720 stringify!(src_port)
17721 )
17722 );
17723 assert_eq!(
17724 unsafe { &(*(::std::ptr::null::<rte_eth_sctpv6_flow>())).dst_port as *const _ as usize },
17725 38usize,
17726 concat!(
17727 "Offset of field: ",
17728 stringify!(rte_eth_sctpv6_flow),
17729 "::",
17730 stringify!(dst_port)
17731 )
17732 );
17733 assert_eq!(
17734 unsafe { &(*(::std::ptr::null::<rte_eth_sctpv6_flow>())).verify_tag as *const _ as usize },
17735 40usize,
17736 concat!(
17737 "Offset of field: ",
17738 stringify!(rte_eth_sctpv6_flow),
17739 "::",
17740 stringify!(verify_tag)
17741 )
17742 );
17743}
17744#[repr(C)]
17745#[derive(Debug, Default, Copy, Clone, PartialEq)]
17746pub struct rte_eth_mac_vlan_flow {
17747 pub mac_addr: rte_ether_addr,
17748}
17749#[test]
17750fn bindgen_test_layout_rte_eth_mac_vlan_flow() {
17751 assert_eq!(
17752 ::std::mem::size_of::<rte_eth_mac_vlan_flow>(),
17753 6usize,
17754 concat!("Size of: ", stringify!(rte_eth_mac_vlan_flow))
17755 );
17756 assert_eq!(
17757 ::std::mem::align_of::<rte_eth_mac_vlan_flow>(),
17758 2usize,
17759 concat!("Alignment of ", stringify!(rte_eth_mac_vlan_flow))
17760 );
17761 assert_eq!(
17762 unsafe { &(*(::std::ptr::null::<rte_eth_mac_vlan_flow>())).mac_addr as *const _ as usize },
17763 0usize,
17764 concat!(
17765 "Offset of field: ",
17766 stringify!(rte_eth_mac_vlan_flow),
17767 "::",
17768 stringify!(mac_addr)
17769 )
17770 );
17771}
17772pub mod rte_eth_fdir_tunnel_type {
17773 pub type Type = ::std::os::raw::c_uint;
17774 pub const RTE_FDIR_TUNNEL_TYPE_UNKNOWN: Type = 0;
17775 pub const RTE_FDIR_TUNNEL_TYPE_NVGRE: Type = 1;
17776 pub const RTE_FDIR_TUNNEL_TYPE_VXLAN: Type = 2;
17777}
17778#[repr(C)]
17779#[derive(Debug, Copy, Clone, PartialEq)]
17780pub struct rte_eth_tunnel_flow {
17781 pub tunnel_type: rte_eth_fdir_tunnel_type::Type,
17782 pub tunnel_id: u32,
17783 pub mac_addr: rte_ether_addr,
17784}
17785#[test]
17786fn bindgen_test_layout_rte_eth_tunnel_flow() {
17787 assert_eq!(
17788 ::std::mem::size_of::<rte_eth_tunnel_flow>(),
17789 16usize,
17790 concat!("Size of: ", stringify!(rte_eth_tunnel_flow))
17791 );
17792 assert_eq!(
17793 ::std::mem::align_of::<rte_eth_tunnel_flow>(),
17794 4usize,
17795 concat!("Alignment of ", stringify!(rte_eth_tunnel_flow))
17796 );
17797 assert_eq!(
17798 unsafe { &(*(::std::ptr::null::<rte_eth_tunnel_flow>())).tunnel_type as *const _ as usize },
17799 0usize,
17800 concat!(
17801 "Offset of field: ",
17802 stringify!(rte_eth_tunnel_flow),
17803 "::",
17804 stringify!(tunnel_type)
17805 )
17806 );
17807 assert_eq!(
17808 unsafe { &(*(::std::ptr::null::<rte_eth_tunnel_flow>())).tunnel_id as *const _ as usize },
17809 4usize,
17810 concat!(
17811 "Offset of field: ",
17812 stringify!(rte_eth_tunnel_flow),
17813 "::",
17814 stringify!(tunnel_id)
17815 )
17816 );
17817 assert_eq!(
17818 unsafe { &(*(::std::ptr::null::<rte_eth_tunnel_flow>())).mac_addr as *const _ as usize },
17819 8usize,
17820 concat!(
17821 "Offset of field: ",
17822 stringify!(rte_eth_tunnel_flow),
17823 "::",
17824 stringify!(mac_addr)
17825 )
17826 );
17827}
17828impl Default for rte_eth_tunnel_flow {
17829 fn default() -> Self {
17830 unsafe { ::std::mem::zeroed() }
17831 }
17832}
17833#[repr(C)]
17834#[derive(Copy, Clone)]
17835pub union rte_eth_fdir_flow {
17836 pub l2_flow: rte_eth_l2_flow,
17837 pub udp4_flow: rte_eth_udpv4_flow,
17838 pub tcp4_flow: rte_eth_tcpv4_flow,
17839 pub sctp4_flow: rte_eth_sctpv4_flow,
17840 pub ip4_flow: rte_eth_ipv4_flow,
17841 pub udp6_flow: rte_eth_udpv6_flow,
17842 pub tcp6_flow: rte_eth_tcpv6_flow,
17843 pub sctp6_flow: rte_eth_sctpv6_flow,
17844 pub ipv6_flow: rte_eth_ipv6_flow,
17845 pub mac_vlan_flow: rte_eth_mac_vlan_flow,
17846 pub tunnel_flow: rte_eth_tunnel_flow,
17847 _bindgen_union_align: [u32; 11usize],
17848}
17849#[test]
17850fn bindgen_test_layout_rte_eth_fdir_flow() {
17851 assert_eq!(
17852 ::std::mem::size_of::<rte_eth_fdir_flow>(),
17853 44usize,
17854 concat!("Size of: ", stringify!(rte_eth_fdir_flow))
17855 );
17856 assert_eq!(
17857 ::std::mem::align_of::<rte_eth_fdir_flow>(),
17858 4usize,
17859 concat!("Alignment of ", stringify!(rte_eth_fdir_flow))
17860 );
17861 assert_eq!(
17862 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow>())).l2_flow as *const _ as usize },
17863 0usize,
17864 concat!(
17865 "Offset of field: ",
17866 stringify!(rte_eth_fdir_flow),
17867 "::",
17868 stringify!(l2_flow)
17869 )
17870 );
17871 assert_eq!(
17872 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow>())).udp4_flow as *const _ as usize },
17873 0usize,
17874 concat!(
17875 "Offset of field: ",
17876 stringify!(rte_eth_fdir_flow),
17877 "::",
17878 stringify!(udp4_flow)
17879 )
17880 );
17881 assert_eq!(
17882 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow>())).tcp4_flow as *const _ as usize },
17883 0usize,
17884 concat!(
17885 "Offset of field: ",
17886 stringify!(rte_eth_fdir_flow),
17887 "::",
17888 stringify!(tcp4_flow)
17889 )
17890 );
17891 assert_eq!(
17892 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow>())).sctp4_flow as *const _ as usize },
17893 0usize,
17894 concat!(
17895 "Offset of field: ",
17896 stringify!(rte_eth_fdir_flow),
17897 "::",
17898 stringify!(sctp4_flow)
17899 )
17900 );
17901 assert_eq!(
17902 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow>())).ip4_flow as *const _ as usize },
17903 0usize,
17904 concat!(
17905 "Offset of field: ",
17906 stringify!(rte_eth_fdir_flow),
17907 "::",
17908 stringify!(ip4_flow)
17909 )
17910 );
17911 assert_eq!(
17912 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow>())).udp6_flow as *const _ as usize },
17913 0usize,
17914 concat!(
17915 "Offset of field: ",
17916 stringify!(rte_eth_fdir_flow),
17917 "::",
17918 stringify!(udp6_flow)
17919 )
17920 );
17921 assert_eq!(
17922 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow>())).tcp6_flow as *const _ as usize },
17923 0usize,
17924 concat!(
17925 "Offset of field: ",
17926 stringify!(rte_eth_fdir_flow),
17927 "::",
17928 stringify!(tcp6_flow)
17929 )
17930 );
17931 assert_eq!(
17932 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow>())).sctp6_flow as *const _ as usize },
17933 0usize,
17934 concat!(
17935 "Offset of field: ",
17936 stringify!(rte_eth_fdir_flow),
17937 "::",
17938 stringify!(sctp6_flow)
17939 )
17940 );
17941 assert_eq!(
17942 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow>())).ipv6_flow as *const _ as usize },
17943 0usize,
17944 concat!(
17945 "Offset of field: ",
17946 stringify!(rte_eth_fdir_flow),
17947 "::",
17948 stringify!(ipv6_flow)
17949 )
17950 );
17951 assert_eq!(
17952 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow>())).mac_vlan_flow as *const _ as usize },
17953 0usize,
17954 concat!(
17955 "Offset of field: ",
17956 stringify!(rte_eth_fdir_flow),
17957 "::",
17958 stringify!(mac_vlan_flow)
17959 )
17960 );
17961 assert_eq!(
17962 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow>())).tunnel_flow as *const _ as usize },
17963 0usize,
17964 concat!(
17965 "Offset of field: ",
17966 stringify!(rte_eth_fdir_flow),
17967 "::",
17968 stringify!(tunnel_flow)
17969 )
17970 );
17971}
17972impl Default for rte_eth_fdir_flow {
17973 fn default() -> Self {
17974 unsafe { ::std::mem::zeroed() }
17975 }
17976}
17977#[repr(C)]
17978#[derive(Debug, Default, Copy, Clone, PartialEq)]
17979pub struct rte_eth_fdir_flow_ext {
17980 pub vlan_tci: u16,
17981 pub flexbytes: [u8; 16usize],
17982 pub is_vf: u8,
17983 pub dst_id: u16,
17984}
17985#[test]
17986fn bindgen_test_layout_rte_eth_fdir_flow_ext() {
17987 assert_eq!(
17988 ::std::mem::size_of::<rte_eth_fdir_flow_ext>(),
17989 22usize,
17990 concat!("Size of: ", stringify!(rte_eth_fdir_flow_ext))
17991 );
17992 assert_eq!(
17993 ::std::mem::align_of::<rte_eth_fdir_flow_ext>(),
17994 2usize,
17995 concat!("Alignment of ", stringify!(rte_eth_fdir_flow_ext))
17996 );
17997 assert_eq!(
17998 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow_ext>())).vlan_tci as *const _ as usize },
17999 0usize,
18000 concat!(
18001 "Offset of field: ",
18002 stringify!(rte_eth_fdir_flow_ext),
18003 "::",
18004 stringify!(vlan_tci)
18005 )
18006 );
18007 assert_eq!(
18008 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow_ext>())).flexbytes as *const _ as usize },
18009 2usize,
18010 concat!(
18011 "Offset of field: ",
18012 stringify!(rte_eth_fdir_flow_ext),
18013 "::",
18014 stringify!(flexbytes)
18015 )
18016 );
18017 assert_eq!(
18018 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow_ext>())).is_vf as *const _ as usize },
18019 18usize,
18020 concat!(
18021 "Offset of field: ",
18022 stringify!(rte_eth_fdir_flow_ext),
18023 "::",
18024 stringify!(is_vf)
18025 )
18026 );
18027 assert_eq!(
18028 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flow_ext>())).dst_id as *const _ as usize },
18029 20usize,
18030 concat!(
18031 "Offset of field: ",
18032 stringify!(rte_eth_fdir_flow_ext),
18033 "::",
18034 stringify!(dst_id)
18035 )
18036 );
18037}
18038#[repr(C)]
18039#[derive(Copy, Clone)]
18040pub struct rte_eth_fdir_input {
18041 pub flow_type: u16,
18042 pub flow: rte_eth_fdir_flow,
18043 pub flow_ext: rte_eth_fdir_flow_ext,
18044}
18045#[test]
18046fn bindgen_test_layout_rte_eth_fdir_input() {
18047 assert_eq!(
18048 ::std::mem::size_of::<rte_eth_fdir_input>(),
18049 72usize,
18050 concat!("Size of: ", stringify!(rte_eth_fdir_input))
18051 );
18052 assert_eq!(
18053 ::std::mem::align_of::<rte_eth_fdir_input>(),
18054 4usize,
18055 concat!("Alignment of ", stringify!(rte_eth_fdir_input))
18056 );
18057 assert_eq!(
18058 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_input>())).flow_type as *const _ as usize },
18059 0usize,
18060 concat!(
18061 "Offset of field: ",
18062 stringify!(rte_eth_fdir_input),
18063 "::",
18064 stringify!(flow_type)
18065 )
18066 );
18067 assert_eq!(
18068 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_input>())).flow as *const _ as usize },
18069 4usize,
18070 concat!(
18071 "Offset of field: ",
18072 stringify!(rte_eth_fdir_input),
18073 "::",
18074 stringify!(flow)
18075 )
18076 );
18077 assert_eq!(
18078 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_input>())).flow_ext as *const _ as usize },
18079 48usize,
18080 concat!(
18081 "Offset of field: ",
18082 stringify!(rte_eth_fdir_input),
18083 "::",
18084 stringify!(flow_ext)
18085 )
18086 );
18087}
18088impl Default for rte_eth_fdir_input {
18089 fn default() -> Self {
18090 unsafe { ::std::mem::zeroed() }
18091 }
18092}
18093pub mod rte_eth_fdir_behavior {
18094 pub type Type = ::std::os::raw::c_uint;
18095 pub const RTE_ETH_FDIR_ACCEPT: Type = 0;
18096 pub const RTE_ETH_FDIR_REJECT: Type = 1;
18097 pub const RTE_ETH_FDIR_PASSTHRU: Type = 2;
18098}
18099pub mod rte_eth_fdir_status {
18100 pub type Type = ::std::os::raw::c_uint;
18101 pub const RTE_ETH_FDIR_NO_REPORT_STATUS: Type = 0;
18102 pub const RTE_ETH_FDIR_REPORT_ID: Type = 1;
18103 pub const RTE_ETH_FDIR_REPORT_ID_FLEX_4: Type = 2;
18104 pub const RTE_ETH_FDIR_REPORT_FLEX_8: Type = 3;
18105}
18106#[repr(C)]
18107#[derive(Debug, Copy, Clone, PartialEq)]
18108pub struct rte_eth_fdir_action {
18109 pub rx_queue: u16,
18110 pub behavior: rte_eth_fdir_behavior::Type,
18111 pub report_status: rte_eth_fdir_status::Type,
18112 pub flex_off: u8,
18113}
18114#[test]
18115fn bindgen_test_layout_rte_eth_fdir_action() {
18116 assert_eq!(
18117 ::std::mem::size_of::<rte_eth_fdir_action>(),
18118 16usize,
18119 concat!("Size of: ", stringify!(rte_eth_fdir_action))
18120 );
18121 assert_eq!(
18122 ::std::mem::align_of::<rte_eth_fdir_action>(),
18123 4usize,
18124 concat!("Alignment of ", stringify!(rte_eth_fdir_action))
18125 );
18126 assert_eq!(
18127 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_action>())).rx_queue as *const _ as usize },
18128 0usize,
18129 concat!(
18130 "Offset of field: ",
18131 stringify!(rte_eth_fdir_action),
18132 "::",
18133 stringify!(rx_queue)
18134 )
18135 );
18136 assert_eq!(
18137 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_action>())).behavior as *const _ as usize },
18138 4usize,
18139 concat!(
18140 "Offset of field: ",
18141 stringify!(rte_eth_fdir_action),
18142 "::",
18143 stringify!(behavior)
18144 )
18145 );
18146 assert_eq!(
18147 unsafe {
18148 &(*(::std::ptr::null::<rte_eth_fdir_action>())).report_status as *const _ as usize
18149 },
18150 8usize,
18151 concat!(
18152 "Offset of field: ",
18153 stringify!(rte_eth_fdir_action),
18154 "::",
18155 stringify!(report_status)
18156 )
18157 );
18158 assert_eq!(
18159 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_action>())).flex_off as *const _ as usize },
18160 12usize,
18161 concat!(
18162 "Offset of field: ",
18163 stringify!(rte_eth_fdir_action),
18164 "::",
18165 stringify!(flex_off)
18166 )
18167 );
18168}
18169impl Default for rte_eth_fdir_action {
18170 fn default() -> Self {
18171 unsafe { ::std::mem::zeroed() }
18172 }
18173}
18174#[repr(C)]
18175#[derive(Copy, Clone)]
18176pub struct rte_eth_fdir_filter {
18177 pub soft_id: u32,
18178 pub input: rte_eth_fdir_input,
18179 pub action: rte_eth_fdir_action,
18180}
18181#[test]
18182fn bindgen_test_layout_rte_eth_fdir_filter() {
18183 assert_eq!(
18184 ::std::mem::size_of::<rte_eth_fdir_filter>(),
18185 92usize,
18186 concat!("Size of: ", stringify!(rte_eth_fdir_filter))
18187 );
18188 assert_eq!(
18189 ::std::mem::align_of::<rte_eth_fdir_filter>(),
18190 4usize,
18191 concat!("Alignment of ", stringify!(rte_eth_fdir_filter))
18192 );
18193 assert_eq!(
18194 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_filter>())).soft_id as *const _ as usize },
18195 0usize,
18196 concat!(
18197 "Offset of field: ",
18198 stringify!(rte_eth_fdir_filter),
18199 "::",
18200 stringify!(soft_id)
18201 )
18202 );
18203 assert_eq!(
18204 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_filter>())).input as *const _ as usize },
18205 4usize,
18206 concat!(
18207 "Offset of field: ",
18208 stringify!(rte_eth_fdir_filter),
18209 "::",
18210 stringify!(input)
18211 )
18212 );
18213 assert_eq!(
18214 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_filter>())).action as *const _ as usize },
18215 76usize,
18216 concat!(
18217 "Offset of field: ",
18218 stringify!(rte_eth_fdir_filter),
18219 "::",
18220 stringify!(action)
18221 )
18222 );
18223}
18224impl Default for rte_eth_fdir_filter {
18225 fn default() -> Self {
18226 unsafe { ::std::mem::zeroed() }
18227 }
18228}
18229#[repr(C)]
18230#[derive(Debug, Default, Copy, Clone, PartialEq)]
18231pub struct rte_eth_fdir_masks {
18232 pub vlan_tci_mask: u16,
18233 pub ipv4_mask: rte_eth_ipv4_flow,
18234 pub ipv6_mask: rte_eth_ipv6_flow,
18235 pub src_port_mask: u16,
18236 pub dst_port_mask: u16,
18237 pub mac_addr_byte_mask: u8,
18238 pub tunnel_id_mask: u32,
18239 pub tunnel_type_mask: u8,
18240}
18241#[test]
18242fn bindgen_test_layout_rte_eth_fdir_masks() {
18243 assert_eq!(
18244 ::std::mem::size_of::<rte_eth_fdir_masks>(),
18245 68usize,
18246 concat!("Size of: ", stringify!(rte_eth_fdir_masks))
18247 );
18248 assert_eq!(
18249 ::std::mem::align_of::<rte_eth_fdir_masks>(),
18250 4usize,
18251 concat!("Alignment of ", stringify!(rte_eth_fdir_masks))
18252 );
18253 assert_eq!(
18254 unsafe {
18255 &(*(::std::ptr::null::<rte_eth_fdir_masks>())).vlan_tci_mask as *const _ as usize
18256 },
18257 0usize,
18258 concat!(
18259 "Offset of field: ",
18260 stringify!(rte_eth_fdir_masks),
18261 "::",
18262 stringify!(vlan_tci_mask)
18263 )
18264 );
18265 assert_eq!(
18266 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_masks>())).ipv4_mask as *const _ as usize },
18267 4usize,
18268 concat!(
18269 "Offset of field: ",
18270 stringify!(rte_eth_fdir_masks),
18271 "::",
18272 stringify!(ipv4_mask)
18273 )
18274 );
18275 assert_eq!(
18276 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_masks>())).ipv6_mask as *const _ as usize },
18277 16usize,
18278 concat!(
18279 "Offset of field: ",
18280 stringify!(rte_eth_fdir_masks),
18281 "::",
18282 stringify!(ipv6_mask)
18283 )
18284 );
18285 assert_eq!(
18286 unsafe {
18287 &(*(::std::ptr::null::<rte_eth_fdir_masks>())).src_port_mask as *const _ as usize
18288 },
18289 52usize,
18290 concat!(
18291 "Offset of field: ",
18292 stringify!(rte_eth_fdir_masks),
18293 "::",
18294 stringify!(src_port_mask)
18295 )
18296 );
18297 assert_eq!(
18298 unsafe {
18299 &(*(::std::ptr::null::<rte_eth_fdir_masks>())).dst_port_mask as *const _ as usize
18300 },
18301 54usize,
18302 concat!(
18303 "Offset of field: ",
18304 stringify!(rte_eth_fdir_masks),
18305 "::",
18306 stringify!(dst_port_mask)
18307 )
18308 );
18309 assert_eq!(
18310 unsafe {
18311 &(*(::std::ptr::null::<rte_eth_fdir_masks>())).mac_addr_byte_mask as *const _ as usize
18312 },
18313 56usize,
18314 concat!(
18315 "Offset of field: ",
18316 stringify!(rte_eth_fdir_masks),
18317 "::",
18318 stringify!(mac_addr_byte_mask)
18319 )
18320 );
18321 assert_eq!(
18322 unsafe {
18323 &(*(::std::ptr::null::<rte_eth_fdir_masks>())).tunnel_id_mask as *const _ as usize
18324 },
18325 60usize,
18326 concat!(
18327 "Offset of field: ",
18328 stringify!(rte_eth_fdir_masks),
18329 "::",
18330 stringify!(tunnel_id_mask)
18331 )
18332 );
18333 assert_eq!(
18334 unsafe {
18335 &(*(::std::ptr::null::<rte_eth_fdir_masks>())).tunnel_type_mask as *const _ as usize
18336 },
18337 64usize,
18338 concat!(
18339 "Offset of field: ",
18340 stringify!(rte_eth_fdir_masks),
18341 "::",
18342 stringify!(tunnel_type_mask)
18343 )
18344 );
18345}
18346pub mod rte_eth_payload_type {
18347 pub type Type = ::std::os::raw::c_uint;
18348 pub const RTE_ETH_PAYLOAD_UNKNOWN: Type = 0;
18349 pub const RTE_ETH_RAW_PAYLOAD: Type = 1;
18350 pub const RTE_ETH_L2_PAYLOAD: Type = 2;
18351 pub const RTE_ETH_L3_PAYLOAD: Type = 3;
18352 pub const RTE_ETH_L4_PAYLOAD: Type = 4;
18353 pub const RTE_ETH_PAYLOAD_MAX: Type = 8;
18354}
18355#[repr(C)]
18356#[derive(Debug, Copy, Clone, PartialEq)]
18357pub struct rte_eth_flex_payload_cfg {
18358 pub type_: rte_eth_payload_type::Type,
18359 pub src_offset: [u16; 16usize],
18360}
18361#[test]
18362fn bindgen_test_layout_rte_eth_flex_payload_cfg() {
18363 assert_eq!(
18364 ::std::mem::size_of::<rte_eth_flex_payload_cfg>(),
18365 36usize,
18366 concat!("Size of: ", stringify!(rte_eth_flex_payload_cfg))
18367 );
18368 assert_eq!(
18369 ::std::mem::align_of::<rte_eth_flex_payload_cfg>(),
18370 4usize,
18371 concat!("Alignment of ", stringify!(rte_eth_flex_payload_cfg))
18372 );
18373 assert_eq!(
18374 unsafe { &(*(::std::ptr::null::<rte_eth_flex_payload_cfg>())).type_ as *const _ as usize },
18375 0usize,
18376 concat!(
18377 "Offset of field: ",
18378 stringify!(rte_eth_flex_payload_cfg),
18379 "::",
18380 stringify!(type_)
18381 )
18382 );
18383 assert_eq!(
18384 unsafe {
18385 &(*(::std::ptr::null::<rte_eth_flex_payload_cfg>())).src_offset as *const _ as usize
18386 },
18387 4usize,
18388 concat!(
18389 "Offset of field: ",
18390 stringify!(rte_eth_flex_payload_cfg),
18391 "::",
18392 stringify!(src_offset)
18393 )
18394 );
18395}
18396impl Default for rte_eth_flex_payload_cfg {
18397 fn default() -> Self {
18398 unsafe { ::std::mem::zeroed() }
18399 }
18400}
18401#[repr(C)]
18402#[derive(Debug, Default, Copy, Clone, PartialEq)]
18403pub struct rte_eth_fdir_flex_mask {
18404 pub flow_type: u16,
18405 pub mask: [u8; 16usize],
18406}
18407#[test]
18408fn bindgen_test_layout_rte_eth_fdir_flex_mask() {
18409 assert_eq!(
18410 ::std::mem::size_of::<rte_eth_fdir_flex_mask>(),
18411 18usize,
18412 concat!("Size of: ", stringify!(rte_eth_fdir_flex_mask))
18413 );
18414 assert_eq!(
18415 ::std::mem::align_of::<rte_eth_fdir_flex_mask>(),
18416 2usize,
18417 concat!("Alignment of ", stringify!(rte_eth_fdir_flex_mask))
18418 );
18419 assert_eq!(
18420 unsafe {
18421 &(*(::std::ptr::null::<rte_eth_fdir_flex_mask>())).flow_type as *const _ as usize
18422 },
18423 0usize,
18424 concat!(
18425 "Offset of field: ",
18426 stringify!(rte_eth_fdir_flex_mask),
18427 "::",
18428 stringify!(flow_type)
18429 )
18430 );
18431 assert_eq!(
18432 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flex_mask>())).mask as *const _ as usize },
18433 2usize,
18434 concat!(
18435 "Offset of field: ",
18436 stringify!(rte_eth_fdir_flex_mask),
18437 "::",
18438 stringify!(mask)
18439 )
18440 );
18441}
18442#[repr(C)]
18443#[derive(Debug, Copy, Clone, PartialEq)]
18444pub struct rte_eth_fdir_flex_conf {
18445 pub nb_payloads: u16,
18446 pub nb_flexmasks: u16,
18447 pub flex_set: [rte_eth_flex_payload_cfg; 8usize],
18448 pub flex_mask: [rte_eth_fdir_flex_mask; 24usize],
18449}
18450#[test]
18451fn bindgen_test_layout_rte_eth_fdir_flex_conf() {
18452 assert_eq!(
18453 ::std::mem::size_of::<rte_eth_fdir_flex_conf>(),
18454 724usize,
18455 concat!("Size of: ", stringify!(rte_eth_fdir_flex_conf))
18456 );
18457 assert_eq!(
18458 ::std::mem::align_of::<rte_eth_fdir_flex_conf>(),
18459 4usize,
18460 concat!("Alignment of ", stringify!(rte_eth_fdir_flex_conf))
18461 );
18462 assert_eq!(
18463 unsafe {
18464 &(*(::std::ptr::null::<rte_eth_fdir_flex_conf>())).nb_payloads as *const _ as usize
18465 },
18466 0usize,
18467 concat!(
18468 "Offset of field: ",
18469 stringify!(rte_eth_fdir_flex_conf),
18470 "::",
18471 stringify!(nb_payloads)
18472 )
18473 );
18474 assert_eq!(
18475 unsafe {
18476 &(*(::std::ptr::null::<rte_eth_fdir_flex_conf>())).nb_flexmasks as *const _ as usize
18477 },
18478 2usize,
18479 concat!(
18480 "Offset of field: ",
18481 stringify!(rte_eth_fdir_flex_conf),
18482 "::",
18483 stringify!(nb_flexmasks)
18484 )
18485 );
18486 assert_eq!(
18487 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_flex_conf>())).flex_set as *const _ as usize },
18488 4usize,
18489 concat!(
18490 "Offset of field: ",
18491 stringify!(rte_eth_fdir_flex_conf),
18492 "::",
18493 stringify!(flex_set)
18494 )
18495 );
18496 assert_eq!(
18497 unsafe {
18498 &(*(::std::ptr::null::<rte_eth_fdir_flex_conf>())).flex_mask as *const _ as usize
18499 },
18500 292usize,
18501 concat!(
18502 "Offset of field: ",
18503 stringify!(rte_eth_fdir_flex_conf),
18504 "::",
18505 stringify!(flex_mask)
18506 )
18507 );
18508}
18509impl Default for rte_eth_fdir_flex_conf {
18510 fn default() -> Self {
18511 unsafe { ::std::mem::zeroed() }
18512 }
18513}
18514pub mod rte_fdir_mode {
18515 pub type Type = ::std::os::raw::c_uint;
18516 pub const RTE_FDIR_MODE_NONE: Type = 0;
18517 pub const RTE_FDIR_MODE_SIGNATURE: Type = 1;
18518 pub const RTE_FDIR_MODE_PERFECT: Type = 2;
18519 pub const RTE_FDIR_MODE_PERFECT_MAC_VLAN: Type = 3;
18520 pub const RTE_FDIR_MODE_PERFECT_TUNNEL: Type = 4;
18521}
18522#[repr(C)]
18523#[derive(Debug, Copy, Clone, PartialEq)]
18524pub struct rte_eth_fdir_info {
18525 pub mode: rte_fdir_mode::Type,
18526 pub mask: rte_eth_fdir_masks,
18527 pub flex_conf: rte_eth_fdir_flex_conf,
18528 pub guarant_spc: u32,
18529 pub best_spc: u32,
18530 pub flow_types_mask: [u64; 1usize],
18531 pub max_flexpayload: u32,
18532 pub flex_payload_unit: u32,
18533 pub max_flex_payload_segment_num: u32,
18534 pub flex_payload_limit: u16,
18535 pub flex_bitmask_unit: u32,
18536 pub max_flex_bitmask_num: u32,
18537}
18538#[test]
18539fn bindgen_test_layout_rte_eth_fdir_info() {
18540 assert_eq!(
18541 ::std::mem::size_of::<rte_eth_fdir_info>(),
18542 840usize,
18543 concat!("Size of: ", stringify!(rte_eth_fdir_info))
18544 );
18545 assert_eq!(
18546 ::std::mem::align_of::<rte_eth_fdir_info>(),
18547 8usize,
18548 concat!("Alignment of ", stringify!(rte_eth_fdir_info))
18549 );
18550 assert_eq!(
18551 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_info>())).mode as *const _ as usize },
18552 0usize,
18553 concat!(
18554 "Offset of field: ",
18555 stringify!(rte_eth_fdir_info),
18556 "::",
18557 stringify!(mode)
18558 )
18559 );
18560 assert_eq!(
18561 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_info>())).mask as *const _ as usize },
18562 4usize,
18563 concat!(
18564 "Offset of field: ",
18565 stringify!(rte_eth_fdir_info),
18566 "::",
18567 stringify!(mask)
18568 )
18569 );
18570 assert_eq!(
18571 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_info>())).flex_conf as *const _ as usize },
18572 72usize,
18573 concat!(
18574 "Offset of field: ",
18575 stringify!(rte_eth_fdir_info),
18576 "::",
18577 stringify!(flex_conf)
18578 )
18579 );
18580 assert_eq!(
18581 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_info>())).guarant_spc as *const _ as usize },
18582 796usize,
18583 concat!(
18584 "Offset of field: ",
18585 stringify!(rte_eth_fdir_info),
18586 "::",
18587 stringify!(guarant_spc)
18588 )
18589 );
18590 assert_eq!(
18591 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_info>())).best_spc as *const _ as usize },
18592 800usize,
18593 concat!(
18594 "Offset of field: ",
18595 stringify!(rte_eth_fdir_info),
18596 "::",
18597 stringify!(best_spc)
18598 )
18599 );
18600 assert_eq!(
18601 unsafe {
18602 &(*(::std::ptr::null::<rte_eth_fdir_info>())).flow_types_mask as *const _ as usize
18603 },
18604 808usize,
18605 concat!(
18606 "Offset of field: ",
18607 stringify!(rte_eth_fdir_info),
18608 "::",
18609 stringify!(flow_types_mask)
18610 )
18611 );
18612 assert_eq!(
18613 unsafe {
18614 &(*(::std::ptr::null::<rte_eth_fdir_info>())).max_flexpayload as *const _ as usize
18615 },
18616 816usize,
18617 concat!(
18618 "Offset of field: ",
18619 stringify!(rte_eth_fdir_info),
18620 "::",
18621 stringify!(max_flexpayload)
18622 )
18623 );
18624 assert_eq!(
18625 unsafe {
18626 &(*(::std::ptr::null::<rte_eth_fdir_info>())).flex_payload_unit as *const _ as usize
18627 },
18628 820usize,
18629 concat!(
18630 "Offset of field: ",
18631 stringify!(rte_eth_fdir_info),
18632 "::",
18633 stringify!(flex_payload_unit)
18634 )
18635 );
18636 assert_eq!(
18637 unsafe {
18638 &(*(::std::ptr::null::<rte_eth_fdir_info>())).max_flex_payload_segment_num as *const _
18639 as usize
18640 },
18641 824usize,
18642 concat!(
18643 "Offset of field: ",
18644 stringify!(rte_eth_fdir_info),
18645 "::",
18646 stringify!(max_flex_payload_segment_num)
18647 )
18648 );
18649 assert_eq!(
18650 unsafe {
18651 &(*(::std::ptr::null::<rte_eth_fdir_info>())).flex_payload_limit as *const _ as usize
18652 },
18653 828usize,
18654 concat!(
18655 "Offset of field: ",
18656 stringify!(rte_eth_fdir_info),
18657 "::",
18658 stringify!(flex_payload_limit)
18659 )
18660 );
18661 assert_eq!(
18662 unsafe {
18663 &(*(::std::ptr::null::<rte_eth_fdir_info>())).flex_bitmask_unit as *const _ as usize
18664 },
18665 832usize,
18666 concat!(
18667 "Offset of field: ",
18668 stringify!(rte_eth_fdir_info),
18669 "::",
18670 stringify!(flex_bitmask_unit)
18671 )
18672 );
18673 assert_eq!(
18674 unsafe {
18675 &(*(::std::ptr::null::<rte_eth_fdir_info>())).max_flex_bitmask_num as *const _ as usize
18676 },
18677 836usize,
18678 concat!(
18679 "Offset of field: ",
18680 stringify!(rte_eth_fdir_info),
18681 "::",
18682 stringify!(max_flex_bitmask_num)
18683 )
18684 );
18685}
18686impl Default for rte_eth_fdir_info {
18687 fn default() -> Self {
18688 unsafe { ::std::mem::zeroed() }
18689 }
18690}
18691#[repr(C)]
18692#[derive(Debug, Default, Copy, Clone, PartialEq)]
18693pub struct rte_eth_fdir_stats {
18694 pub collision: u32,
18695 pub free: u32,
18696 pub maxhash: u32,
18697 pub maxlen: u32,
18698 pub add: u64,
18699 pub remove: u64,
18700 pub f_add: u64,
18701 pub f_remove: u64,
18702 pub guarant_cnt: u32,
18703 pub best_cnt: u32,
18704}
18705#[test]
18706fn bindgen_test_layout_rte_eth_fdir_stats() {
18707 assert_eq!(
18708 ::std::mem::size_of::<rte_eth_fdir_stats>(),
18709 56usize,
18710 concat!("Size of: ", stringify!(rte_eth_fdir_stats))
18711 );
18712 assert_eq!(
18713 ::std::mem::align_of::<rte_eth_fdir_stats>(),
18714 8usize,
18715 concat!("Alignment of ", stringify!(rte_eth_fdir_stats))
18716 );
18717 assert_eq!(
18718 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_stats>())).collision as *const _ as usize },
18719 0usize,
18720 concat!(
18721 "Offset of field: ",
18722 stringify!(rte_eth_fdir_stats),
18723 "::",
18724 stringify!(collision)
18725 )
18726 );
18727 assert_eq!(
18728 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_stats>())).free as *const _ as usize },
18729 4usize,
18730 concat!(
18731 "Offset of field: ",
18732 stringify!(rte_eth_fdir_stats),
18733 "::",
18734 stringify!(free)
18735 )
18736 );
18737 assert_eq!(
18738 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_stats>())).maxhash as *const _ as usize },
18739 8usize,
18740 concat!(
18741 "Offset of field: ",
18742 stringify!(rte_eth_fdir_stats),
18743 "::",
18744 stringify!(maxhash)
18745 )
18746 );
18747 assert_eq!(
18748 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_stats>())).maxlen as *const _ as usize },
18749 12usize,
18750 concat!(
18751 "Offset of field: ",
18752 stringify!(rte_eth_fdir_stats),
18753 "::",
18754 stringify!(maxlen)
18755 )
18756 );
18757 assert_eq!(
18758 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_stats>())).add as *const _ as usize },
18759 16usize,
18760 concat!(
18761 "Offset of field: ",
18762 stringify!(rte_eth_fdir_stats),
18763 "::",
18764 stringify!(add)
18765 )
18766 );
18767 assert_eq!(
18768 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_stats>())).remove as *const _ as usize },
18769 24usize,
18770 concat!(
18771 "Offset of field: ",
18772 stringify!(rte_eth_fdir_stats),
18773 "::",
18774 stringify!(remove)
18775 )
18776 );
18777 assert_eq!(
18778 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_stats>())).f_add as *const _ as usize },
18779 32usize,
18780 concat!(
18781 "Offset of field: ",
18782 stringify!(rte_eth_fdir_stats),
18783 "::",
18784 stringify!(f_add)
18785 )
18786 );
18787 assert_eq!(
18788 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_stats>())).f_remove as *const _ as usize },
18789 40usize,
18790 concat!(
18791 "Offset of field: ",
18792 stringify!(rte_eth_fdir_stats),
18793 "::",
18794 stringify!(f_remove)
18795 )
18796 );
18797 assert_eq!(
18798 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_stats>())).guarant_cnt as *const _ as usize },
18799 48usize,
18800 concat!(
18801 "Offset of field: ",
18802 stringify!(rte_eth_fdir_stats),
18803 "::",
18804 stringify!(guarant_cnt)
18805 )
18806 );
18807 assert_eq!(
18808 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_stats>())).best_cnt as *const _ as usize },
18809 52usize,
18810 concat!(
18811 "Offset of field: ",
18812 stringify!(rte_eth_fdir_stats),
18813 "::",
18814 stringify!(best_cnt)
18815 )
18816 );
18817}
18818pub mod rte_eth_fdir_filter_info_type {
18819 pub type Type = ::std::os::raw::c_uint;
18820 pub const RTE_ETH_FDIR_FILTER_INFO_TYPE_UNKNOWN: Type = 0;
18821 pub const RTE_ETH_FDIR_FILTER_INPUT_SET_SELECT: Type = 1;
18822 pub const RTE_ETH_FDIR_FILTER_INFO_TYPE_MAX: Type = 2;
18823}
18824#[repr(C)]
18825#[derive(Copy, Clone)]
18826pub struct rte_eth_fdir_filter_info {
18827 pub info_type: rte_eth_fdir_filter_info_type::Type,
18828 pub info: rte_eth_fdir_filter_info__bindgen_ty_1,
18829}
18830#[repr(C)]
18831#[derive(Copy, Clone)]
18832pub union rte_eth_fdir_filter_info__bindgen_ty_1 {
18833 pub input_set_conf: rte_eth_input_set_conf,
18834 _bindgen_union_align: [u32; 130usize],
18835}
18836#[test]
18837fn bindgen_test_layout_rte_eth_fdir_filter_info__bindgen_ty_1() {
18838 assert_eq!(
18839 ::std::mem::size_of::<rte_eth_fdir_filter_info__bindgen_ty_1>(),
18840 520usize,
18841 concat!(
18842 "Size of: ",
18843 stringify!(rte_eth_fdir_filter_info__bindgen_ty_1)
18844 )
18845 );
18846 assert_eq!(
18847 ::std::mem::align_of::<rte_eth_fdir_filter_info__bindgen_ty_1>(),
18848 4usize,
18849 concat!(
18850 "Alignment of ",
18851 stringify!(rte_eth_fdir_filter_info__bindgen_ty_1)
18852 )
18853 );
18854 assert_eq!(
18855 unsafe {
18856 &(*(::std::ptr::null::<rte_eth_fdir_filter_info__bindgen_ty_1>())).input_set_conf
18857 as *const _ as usize
18858 },
18859 0usize,
18860 concat!(
18861 "Offset of field: ",
18862 stringify!(rte_eth_fdir_filter_info__bindgen_ty_1),
18863 "::",
18864 stringify!(input_set_conf)
18865 )
18866 );
18867}
18868impl Default for rte_eth_fdir_filter_info__bindgen_ty_1 {
18869 fn default() -> Self {
18870 unsafe { ::std::mem::zeroed() }
18871 }
18872}
18873#[test]
18874fn bindgen_test_layout_rte_eth_fdir_filter_info() {
18875 assert_eq!(
18876 ::std::mem::size_of::<rte_eth_fdir_filter_info>(),
18877 524usize,
18878 concat!("Size of: ", stringify!(rte_eth_fdir_filter_info))
18879 );
18880 assert_eq!(
18881 ::std::mem::align_of::<rte_eth_fdir_filter_info>(),
18882 4usize,
18883 concat!("Alignment of ", stringify!(rte_eth_fdir_filter_info))
18884 );
18885 assert_eq!(
18886 unsafe {
18887 &(*(::std::ptr::null::<rte_eth_fdir_filter_info>())).info_type as *const _ as usize
18888 },
18889 0usize,
18890 concat!(
18891 "Offset of field: ",
18892 stringify!(rte_eth_fdir_filter_info),
18893 "::",
18894 stringify!(info_type)
18895 )
18896 );
18897 assert_eq!(
18898 unsafe { &(*(::std::ptr::null::<rte_eth_fdir_filter_info>())).info as *const _ as usize },
18899 4usize,
18900 concat!(
18901 "Offset of field: ",
18902 stringify!(rte_eth_fdir_filter_info),
18903 "::",
18904 stringify!(info)
18905 )
18906 );
18907}
18908impl Default for rte_eth_fdir_filter_info {
18909 fn default() -> Self {
18910 unsafe { ::std::mem::zeroed() }
18911 }
18912}
18913pub mod rte_eth_hash_filter_info_type {
18914 pub type Type = ::std::os::raw::c_uint;
18915 pub const RTE_ETH_HASH_FILTER_INFO_TYPE_UNKNOWN: Type = 0;
18916 pub const RTE_ETH_HASH_FILTER_SYM_HASH_ENA_PER_PORT: Type = 1;
18917 pub const RTE_ETH_HASH_FILTER_GLOBAL_CONFIG: Type = 2;
18918 pub const RTE_ETH_HASH_FILTER_INPUT_SET_SELECT: Type = 3;
18919 pub const RTE_ETH_HASH_FILTER_INFO_TYPE_MAX: Type = 4;
18920}
18921#[repr(C)]
18922#[derive(Debug, Copy, Clone, PartialEq)]
18923pub struct rte_eth_hash_global_conf {
18924 pub hash_func: rte_eth_hash_function::Type,
18925 pub sym_hash_enable_mask: [u64; 1usize],
18926 pub valid_bit_mask: [u64; 1usize],
18927}
18928#[test]
18929fn bindgen_test_layout_rte_eth_hash_global_conf() {
18930 assert_eq!(
18931 ::std::mem::size_of::<rte_eth_hash_global_conf>(),
18932 24usize,
18933 concat!("Size of: ", stringify!(rte_eth_hash_global_conf))
18934 );
18935 assert_eq!(
18936 ::std::mem::align_of::<rte_eth_hash_global_conf>(),
18937 8usize,
18938 concat!("Alignment of ", stringify!(rte_eth_hash_global_conf))
18939 );
18940 assert_eq!(
18941 unsafe {
18942 &(*(::std::ptr::null::<rte_eth_hash_global_conf>())).hash_func as *const _ as usize
18943 },
18944 0usize,
18945 concat!(
18946 "Offset of field: ",
18947 stringify!(rte_eth_hash_global_conf),
18948 "::",
18949 stringify!(hash_func)
18950 )
18951 );
18952 assert_eq!(
18953 unsafe {
18954 &(*(::std::ptr::null::<rte_eth_hash_global_conf>())).sym_hash_enable_mask as *const _
18955 as usize
18956 },
18957 8usize,
18958 concat!(
18959 "Offset of field: ",
18960 stringify!(rte_eth_hash_global_conf),
18961 "::",
18962 stringify!(sym_hash_enable_mask)
18963 )
18964 );
18965 assert_eq!(
18966 unsafe {
18967 &(*(::std::ptr::null::<rte_eth_hash_global_conf>())).valid_bit_mask as *const _ as usize
18968 },
18969 16usize,
18970 concat!(
18971 "Offset of field: ",
18972 stringify!(rte_eth_hash_global_conf),
18973 "::",
18974 stringify!(valid_bit_mask)
18975 )
18976 );
18977}
18978impl Default for rte_eth_hash_global_conf {
18979 fn default() -> Self {
18980 unsafe { ::std::mem::zeroed() }
18981 }
18982}
18983#[repr(C)]
18984#[derive(Copy, Clone)]
18985pub struct rte_eth_hash_filter_info {
18986 pub info_type: rte_eth_hash_filter_info_type::Type,
18987 pub info: rte_eth_hash_filter_info__bindgen_ty_1,
18988}
18989#[repr(C)]
18990#[derive(Copy, Clone)]
18991pub union rte_eth_hash_filter_info__bindgen_ty_1 {
18992 pub enable: u8,
18993 pub global_conf: rte_eth_hash_global_conf,
18994 pub input_set_conf: rte_eth_input_set_conf,
18995 _bindgen_union_align: [u64; 65usize],
18996}
18997#[test]
18998fn bindgen_test_layout_rte_eth_hash_filter_info__bindgen_ty_1() {
18999 assert_eq!(
19000 ::std::mem::size_of::<rte_eth_hash_filter_info__bindgen_ty_1>(),
19001 520usize,
19002 concat!(
19003 "Size of: ",
19004 stringify!(rte_eth_hash_filter_info__bindgen_ty_1)
19005 )
19006 );
19007 assert_eq!(
19008 ::std::mem::align_of::<rte_eth_hash_filter_info__bindgen_ty_1>(),
19009 8usize,
19010 concat!(
19011 "Alignment of ",
19012 stringify!(rte_eth_hash_filter_info__bindgen_ty_1)
19013 )
19014 );
19015 assert_eq!(
19016 unsafe {
19017 &(*(::std::ptr::null::<rte_eth_hash_filter_info__bindgen_ty_1>())).enable as *const _
19018 as usize
19019 },
19020 0usize,
19021 concat!(
19022 "Offset of field: ",
19023 stringify!(rte_eth_hash_filter_info__bindgen_ty_1),
19024 "::",
19025 stringify!(enable)
19026 )
19027 );
19028 assert_eq!(
19029 unsafe {
19030 &(*(::std::ptr::null::<rte_eth_hash_filter_info__bindgen_ty_1>())).global_conf
19031 as *const _ as usize
19032 },
19033 0usize,
19034 concat!(
19035 "Offset of field: ",
19036 stringify!(rte_eth_hash_filter_info__bindgen_ty_1),
19037 "::",
19038 stringify!(global_conf)
19039 )
19040 );
19041 assert_eq!(
19042 unsafe {
19043 &(*(::std::ptr::null::<rte_eth_hash_filter_info__bindgen_ty_1>())).input_set_conf
19044 as *const _ as usize
19045 },
19046 0usize,
19047 concat!(
19048 "Offset of field: ",
19049 stringify!(rte_eth_hash_filter_info__bindgen_ty_1),
19050 "::",
19051 stringify!(input_set_conf)
19052 )
19053 );
19054}
19055impl Default for rte_eth_hash_filter_info__bindgen_ty_1 {
19056 fn default() -> Self {
19057 unsafe { ::std::mem::zeroed() }
19058 }
19059}
19060#[test]
19061fn bindgen_test_layout_rte_eth_hash_filter_info() {
19062 assert_eq!(
19063 ::std::mem::size_of::<rte_eth_hash_filter_info>(),
19064 528usize,
19065 concat!("Size of: ", stringify!(rte_eth_hash_filter_info))
19066 );
19067 assert_eq!(
19068 ::std::mem::align_of::<rte_eth_hash_filter_info>(),
19069 8usize,
19070 concat!("Alignment of ", stringify!(rte_eth_hash_filter_info))
19071 );
19072 assert_eq!(
19073 unsafe {
19074 &(*(::std::ptr::null::<rte_eth_hash_filter_info>())).info_type as *const _ as usize
19075 },
19076 0usize,
19077 concat!(
19078 "Offset of field: ",
19079 stringify!(rte_eth_hash_filter_info),
19080 "::",
19081 stringify!(info_type)
19082 )
19083 );
19084 assert_eq!(
19085 unsafe { &(*(::std::ptr::null::<rte_eth_hash_filter_info>())).info as *const _ as usize },
19086 8usize,
19087 concat!(
19088 "Offset of field: ",
19089 stringify!(rte_eth_hash_filter_info),
19090 "::",
19091 stringify!(info)
19092 )
19093 );
19094}
19095impl Default for rte_eth_hash_filter_info {
19096 fn default() -> Self {
19097 unsafe { ::std::mem::zeroed() }
19098 }
19099}
19100#[repr(C)]
19101#[derive(Debug, Copy, Clone, PartialEq)]
19102pub struct rte_eth_l2_tunnel_conf {
19103 pub l2_tunnel_type: rte_eth_tunnel_type::Type,
19104 pub ether_type: u16,
19105 pub tunnel_id: u32,
19106 pub vf_id: u16,
19107 pub pool: u32,
19108}
19109#[test]
19110fn bindgen_test_layout_rte_eth_l2_tunnel_conf() {
19111 assert_eq!(
19112 ::std::mem::size_of::<rte_eth_l2_tunnel_conf>(),
19113 20usize,
19114 concat!("Size of: ", stringify!(rte_eth_l2_tunnel_conf))
19115 );
19116 assert_eq!(
19117 ::std::mem::align_of::<rte_eth_l2_tunnel_conf>(),
19118 4usize,
19119 concat!("Alignment of ", stringify!(rte_eth_l2_tunnel_conf))
19120 );
19121 assert_eq!(
19122 unsafe {
19123 &(*(::std::ptr::null::<rte_eth_l2_tunnel_conf>())).l2_tunnel_type as *const _ as usize
19124 },
19125 0usize,
19126 concat!(
19127 "Offset of field: ",
19128 stringify!(rte_eth_l2_tunnel_conf),
19129 "::",
19130 stringify!(l2_tunnel_type)
19131 )
19132 );
19133 assert_eq!(
19134 unsafe {
19135 &(*(::std::ptr::null::<rte_eth_l2_tunnel_conf>())).ether_type as *const _ as usize
19136 },
19137 4usize,
19138 concat!(
19139 "Offset of field: ",
19140 stringify!(rte_eth_l2_tunnel_conf),
19141 "::",
19142 stringify!(ether_type)
19143 )
19144 );
19145 assert_eq!(
19146 unsafe {
19147 &(*(::std::ptr::null::<rte_eth_l2_tunnel_conf>())).tunnel_id as *const _ as usize
19148 },
19149 8usize,
19150 concat!(
19151 "Offset of field: ",
19152 stringify!(rte_eth_l2_tunnel_conf),
19153 "::",
19154 stringify!(tunnel_id)
19155 )
19156 );
19157 assert_eq!(
19158 unsafe { &(*(::std::ptr::null::<rte_eth_l2_tunnel_conf>())).vf_id as *const _ as usize },
19159 12usize,
19160 concat!(
19161 "Offset of field: ",
19162 stringify!(rte_eth_l2_tunnel_conf),
19163 "::",
19164 stringify!(vf_id)
19165 )
19166 );
19167 assert_eq!(
19168 unsafe { &(*(::std::ptr::null::<rte_eth_l2_tunnel_conf>())).pool as *const _ as usize },
19169 16usize,
19170 concat!(
19171 "Offset of field: ",
19172 stringify!(rte_eth_l2_tunnel_conf),
19173 "::",
19174 stringify!(pool)
19175 )
19176 );
19177}
19178impl Default for rte_eth_l2_tunnel_conf {
19179 fn default() -> Self {
19180 unsafe { ::std::mem::zeroed() }
19181 }
19182}
19183pub mod rte_fdir_pballoc_type {
19184 pub type Type = ::std::os::raw::c_uint;
19185 pub const RTE_FDIR_PBALLOC_64K: Type = 0;
19186 pub const RTE_FDIR_PBALLOC_128K: Type = 1;
19187 pub const RTE_FDIR_PBALLOC_256K: Type = 2;
19188}
19189pub mod rte_fdir_status_mode {
19190 pub type Type = ::std::os::raw::c_uint;
19191 pub const RTE_FDIR_NO_REPORT_STATUS: Type = 0;
19192 pub const RTE_FDIR_REPORT_STATUS: Type = 1;
19193 pub const RTE_FDIR_REPORT_STATUS_ALWAYS: Type = 2;
19194}
19195#[repr(C)]
19196#[derive(Debug, Copy, Clone, PartialEq)]
19197pub struct rte_fdir_conf {
19198 pub mode: rte_fdir_mode::Type,
19199 pub pballoc: rte_fdir_pballoc_type::Type,
19200 pub status: rte_fdir_status_mode::Type,
19201 pub drop_queue: u8,
19202 pub mask: rte_eth_fdir_masks,
19203 pub flex_conf: rte_eth_fdir_flex_conf,
19204}
19205#[test]
19206fn bindgen_test_layout_rte_fdir_conf() {
19207 assert_eq!(
19208 ::std::mem::size_of::<rte_fdir_conf>(),
19209 808usize,
19210 concat!("Size of: ", stringify!(rte_fdir_conf))
19211 );
19212 assert_eq!(
19213 ::std::mem::align_of::<rte_fdir_conf>(),
19214 4usize,
19215 concat!("Alignment of ", stringify!(rte_fdir_conf))
19216 );
19217 assert_eq!(
19218 unsafe { &(*(::std::ptr::null::<rte_fdir_conf>())).mode as *const _ as usize },
19219 0usize,
19220 concat!(
19221 "Offset of field: ",
19222 stringify!(rte_fdir_conf),
19223 "::",
19224 stringify!(mode)
19225 )
19226 );
19227 assert_eq!(
19228 unsafe { &(*(::std::ptr::null::<rte_fdir_conf>())).pballoc as *const _ as usize },
19229 4usize,
19230 concat!(
19231 "Offset of field: ",
19232 stringify!(rte_fdir_conf),
19233 "::",
19234 stringify!(pballoc)
19235 )
19236 );
19237 assert_eq!(
19238 unsafe { &(*(::std::ptr::null::<rte_fdir_conf>())).status as *const _ as usize },
19239 8usize,
19240 concat!(
19241 "Offset of field: ",
19242 stringify!(rte_fdir_conf),
19243 "::",
19244 stringify!(status)
19245 )
19246 );
19247 assert_eq!(
19248 unsafe { &(*(::std::ptr::null::<rte_fdir_conf>())).drop_queue as *const _ as usize },
19249 12usize,
19250 concat!(
19251 "Offset of field: ",
19252 stringify!(rte_fdir_conf),
19253 "::",
19254 stringify!(drop_queue)
19255 )
19256 );
19257 assert_eq!(
19258 unsafe { &(*(::std::ptr::null::<rte_fdir_conf>())).mask as *const _ as usize },
19259 16usize,
19260 concat!(
19261 "Offset of field: ",
19262 stringify!(rte_fdir_conf),
19263 "::",
19264 stringify!(mask)
19265 )
19266 );
19267 assert_eq!(
19268 unsafe { &(*(::std::ptr::null::<rte_fdir_conf>())).flex_conf as *const _ as usize },
19269 84usize,
19270 concat!(
19271 "Offset of field: ",
19272 stringify!(rte_fdir_conf),
19273 "::",
19274 stringify!(flex_conf)
19275 )
19276 );
19277}
19278impl Default for rte_fdir_conf {
19279 fn default() -> Self {
19280 unsafe { ::std::mem::zeroed() }
19281 }
19282}
19283#[repr(C)]
19284#[derive(Debug, Default, Copy, Clone, PartialEq)]
19285pub struct rte_eth_udp_tunnel {
19286 pub udp_port: u16,
19287 pub prot_type: u8,
19288}
19289#[test]
19290fn bindgen_test_layout_rte_eth_udp_tunnel() {
19291 assert_eq!(
19292 ::std::mem::size_of::<rte_eth_udp_tunnel>(),
19293 4usize,
19294 concat!("Size of: ", stringify!(rte_eth_udp_tunnel))
19295 );
19296 assert_eq!(
19297 ::std::mem::align_of::<rte_eth_udp_tunnel>(),
19298 2usize,
19299 concat!("Alignment of ", stringify!(rte_eth_udp_tunnel))
19300 );
19301 assert_eq!(
19302 unsafe { &(*(::std::ptr::null::<rte_eth_udp_tunnel>())).udp_port as *const _ as usize },
19303 0usize,
19304 concat!(
19305 "Offset of field: ",
19306 stringify!(rte_eth_udp_tunnel),
19307 "::",
19308 stringify!(udp_port)
19309 )
19310 );
19311 assert_eq!(
19312 unsafe { &(*(::std::ptr::null::<rte_eth_udp_tunnel>())).prot_type as *const _ as usize },
19313 2usize,
19314 concat!(
19315 "Offset of field: ",
19316 stringify!(rte_eth_udp_tunnel),
19317 "::",
19318 stringify!(prot_type)
19319 )
19320 );
19321}
19322#[repr(C)]
19323#[repr(align(4))]
19324#[derive(Debug, Default, Copy, Clone, PartialEq)]
19325pub struct rte_intr_conf {
19326 pub _bitfield_align_1: [u8; 0],
19327 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
19328 pub __bindgen_padding_0: [u8; 3usize],
19329}
19330#[test]
19331fn bindgen_test_layout_rte_intr_conf() {
19332 assert_eq!(
19333 ::std::mem::size_of::<rte_intr_conf>(),
19334 4usize,
19335 concat!("Size of: ", stringify!(rte_intr_conf))
19336 );
19337 assert_eq!(
19338 ::std::mem::align_of::<rte_intr_conf>(),
19339 4usize,
19340 concat!("Alignment of ", stringify!(rte_intr_conf))
19341 );
19342}
19343impl rte_intr_conf {
19344 #[inline]
19345 pub fn lsc(&self) -> u32 {
19346 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
19347 }
19348 #[inline]
19349 pub fn set_lsc(&mut self, val: u32) {
19350 unsafe {
19351 let val: u32 = ::std::mem::transmute(val);
19352 self._bitfield_1.set(0usize, 1u8, val as u64)
19353 }
19354 }
19355 #[inline]
19356 pub fn rxq(&self) -> u32 {
19357 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
19358 }
19359 #[inline]
19360 pub fn set_rxq(&mut self, val: u32) {
19361 unsafe {
19362 let val: u32 = ::std::mem::transmute(val);
19363 self._bitfield_1.set(1usize, 1u8, val as u64)
19364 }
19365 }
19366 #[inline]
19367 pub fn rmv(&self) -> u32 {
19368 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
19369 }
19370 #[inline]
19371 pub fn set_rmv(&mut self, val: u32) {
19372 unsafe {
19373 let val: u32 = ::std::mem::transmute(val);
19374 self._bitfield_1.set(2usize, 1u8, val as u64)
19375 }
19376 }
19377 #[inline]
19378 pub fn new_bitfield_1(lsc: u32, rxq: u32, rmv: u32) -> __BindgenBitfieldUnit<[u8; 1usize]> {
19379 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
19380 __bindgen_bitfield_unit.set(0usize, 1u8, {
19381 let lsc: u32 = unsafe { ::std::mem::transmute(lsc) };
19382 lsc as u64
19383 });
19384 __bindgen_bitfield_unit.set(1usize, 1u8, {
19385 let rxq: u32 = unsafe { ::std::mem::transmute(rxq) };
19386 rxq as u64
19387 });
19388 __bindgen_bitfield_unit.set(2usize, 1u8, {
19389 let rmv: u32 = unsafe { ::std::mem::transmute(rmv) };
19390 rmv as u64
19391 });
19392 __bindgen_bitfield_unit
19393 }
19394}
19395#[repr(C)]
19396#[derive(Copy, Clone)]
19397pub struct rte_eth_conf {
19398 pub link_speeds: u32,
19399 pub rxmode: rte_eth_rxmode,
19400 pub txmode: rte_eth_txmode,
19401 pub lpbk_mode: u32,
19402 pub rx_adv_conf: rte_eth_conf__bindgen_ty_1,
19403 pub tx_adv_conf: rte_eth_conf__bindgen_ty_2,
19404 pub dcb_capability_en: u32,
19405 pub fdir_conf: rte_fdir_conf,
19406 pub intr_conf: rte_intr_conf,
19407}
19408#[repr(C)]
19409#[derive(Copy, Clone)]
19410pub struct rte_eth_conf__bindgen_ty_1 {
19411 pub rss_conf: rte_eth_rss_conf,
19412 pub vmdq_dcb_conf: rte_eth_vmdq_dcb_conf,
19413 pub dcb_rx_conf: rte_eth_dcb_rx_conf,
19414 pub vmdq_rx_conf: rte_eth_vmdq_rx_conf,
19415}
19416#[test]
19417fn bindgen_test_layout_rte_eth_conf__bindgen_ty_1() {
19418 assert_eq!(
19419 ::std::mem::size_of::<rte_eth_conf__bindgen_ty_1>(),
19420 2120usize,
19421 concat!("Size of: ", stringify!(rte_eth_conf__bindgen_ty_1))
19422 );
19423 assert_eq!(
19424 ::std::mem::align_of::<rte_eth_conf__bindgen_ty_1>(),
19425 8usize,
19426 concat!("Alignment of ", stringify!(rte_eth_conf__bindgen_ty_1))
19427 );
19428 assert_eq!(
19429 unsafe {
19430 &(*(::std::ptr::null::<rte_eth_conf__bindgen_ty_1>())).rss_conf as *const _ as usize
19431 },
19432 0usize,
19433 concat!(
19434 "Offset of field: ",
19435 stringify!(rte_eth_conf__bindgen_ty_1),
19436 "::",
19437 stringify!(rss_conf)
19438 )
19439 );
19440 assert_eq!(
19441 unsafe {
19442 &(*(::std::ptr::null::<rte_eth_conf__bindgen_ty_1>())).vmdq_dcb_conf as *const _
19443 as usize
19444 },
19445 24usize,
19446 concat!(
19447 "Offset of field: ",
19448 stringify!(rte_eth_conf__bindgen_ty_1),
19449 "::",
19450 stringify!(vmdq_dcb_conf)
19451 )
19452 );
19453 assert_eq!(
19454 unsafe {
19455 &(*(::std::ptr::null::<rte_eth_conf__bindgen_ty_1>())).dcb_rx_conf as *const _ as usize
19456 },
19457 1064usize,
19458 concat!(
19459 "Offset of field: ",
19460 stringify!(rte_eth_conf__bindgen_ty_1),
19461 "::",
19462 stringify!(dcb_rx_conf)
19463 )
19464 );
19465 assert_eq!(
19466 unsafe {
19467 &(*(::std::ptr::null::<rte_eth_conf__bindgen_ty_1>())).vmdq_rx_conf as *const _ as usize
19468 },
19469 1080usize,
19470 concat!(
19471 "Offset of field: ",
19472 stringify!(rte_eth_conf__bindgen_ty_1),
19473 "::",
19474 stringify!(vmdq_rx_conf)
19475 )
19476 );
19477}
19478impl Default for rte_eth_conf__bindgen_ty_1 {
19479 fn default() -> Self {
19480 unsafe { ::std::mem::zeroed() }
19481 }
19482}
19483#[repr(C)]
19484#[derive(Copy, Clone)]
19485pub union rte_eth_conf__bindgen_ty_2 {
19486 pub vmdq_dcb_tx_conf: rte_eth_vmdq_dcb_tx_conf,
19487 pub dcb_tx_conf: rte_eth_dcb_tx_conf,
19488 pub vmdq_tx_conf: rte_eth_vmdq_tx_conf,
19489 _bindgen_union_align: [u32; 3usize],
19490}
19491#[test]
19492fn bindgen_test_layout_rte_eth_conf__bindgen_ty_2() {
19493 assert_eq!(
19494 ::std::mem::size_of::<rte_eth_conf__bindgen_ty_2>(),
19495 12usize,
19496 concat!("Size of: ", stringify!(rte_eth_conf__bindgen_ty_2))
19497 );
19498 assert_eq!(
19499 ::std::mem::align_of::<rte_eth_conf__bindgen_ty_2>(),
19500 4usize,
19501 concat!("Alignment of ", stringify!(rte_eth_conf__bindgen_ty_2))
19502 );
19503 assert_eq!(
19504 unsafe {
19505 &(*(::std::ptr::null::<rte_eth_conf__bindgen_ty_2>())).vmdq_dcb_tx_conf as *const _
19506 as usize
19507 },
19508 0usize,
19509 concat!(
19510 "Offset of field: ",
19511 stringify!(rte_eth_conf__bindgen_ty_2),
19512 "::",
19513 stringify!(vmdq_dcb_tx_conf)
19514 )
19515 );
19516 assert_eq!(
19517 unsafe {
19518 &(*(::std::ptr::null::<rte_eth_conf__bindgen_ty_2>())).dcb_tx_conf as *const _ as usize
19519 },
19520 0usize,
19521 concat!(
19522 "Offset of field: ",
19523 stringify!(rte_eth_conf__bindgen_ty_2),
19524 "::",
19525 stringify!(dcb_tx_conf)
19526 )
19527 );
19528 assert_eq!(
19529 unsafe {
19530 &(*(::std::ptr::null::<rte_eth_conf__bindgen_ty_2>())).vmdq_tx_conf as *const _ as usize
19531 },
19532 0usize,
19533 concat!(
19534 "Offset of field: ",
19535 stringify!(rte_eth_conf__bindgen_ty_2),
19536 "::",
19537 stringify!(vmdq_tx_conf)
19538 )
19539 );
19540}
19541impl Default for rte_eth_conf__bindgen_ty_2 {
19542 fn default() -> Self {
19543 unsafe { ::std::mem::zeroed() }
19544 }
19545}
19546#[test]
19547fn bindgen_test_layout_rte_eth_conf() {
19548 assert_eq!(
19549 ::std::mem::size_of::<rte_eth_conf>(),
19550 3080usize,
19551 concat!("Size of: ", stringify!(rte_eth_conf))
19552 );
19553 assert_eq!(
19554 ::std::mem::align_of::<rte_eth_conf>(),
19555 8usize,
19556 concat!("Alignment of ", stringify!(rte_eth_conf))
19557 );
19558 assert_eq!(
19559 unsafe { &(*(::std::ptr::null::<rte_eth_conf>())).link_speeds as *const _ as usize },
19560 0usize,
19561 concat!(
19562 "Offset of field: ",
19563 stringify!(rte_eth_conf),
19564 "::",
19565 stringify!(link_speeds)
19566 )
19567 );
19568 assert_eq!(
19569 unsafe { &(*(::std::ptr::null::<rte_eth_conf>())).rxmode as *const _ as usize },
19570 8usize,
19571 concat!(
19572 "Offset of field: ",
19573 stringify!(rte_eth_conf),
19574 "::",
19575 stringify!(rxmode)
19576 )
19577 );
19578 assert_eq!(
19579 unsafe { &(*(::std::ptr::null::<rte_eth_conf>())).txmode as *const _ as usize },
19580 64usize,
19581 concat!(
19582 "Offset of field: ",
19583 stringify!(rte_eth_conf),
19584 "::",
19585 stringify!(txmode)
19586 )
19587 );
19588 assert_eq!(
19589 unsafe { &(*(::std::ptr::null::<rte_eth_conf>())).lpbk_mode as *const _ as usize },
19590 120usize,
19591 concat!(
19592 "Offset of field: ",
19593 stringify!(rte_eth_conf),
19594 "::",
19595 stringify!(lpbk_mode)
19596 )
19597 );
19598 assert_eq!(
19599 unsafe { &(*(::std::ptr::null::<rte_eth_conf>())).rx_adv_conf as *const _ as usize },
19600 128usize,
19601 concat!(
19602 "Offset of field: ",
19603 stringify!(rte_eth_conf),
19604 "::",
19605 stringify!(rx_adv_conf)
19606 )
19607 );
19608 assert_eq!(
19609 unsafe { &(*(::std::ptr::null::<rte_eth_conf>())).tx_adv_conf as *const _ as usize },
19610 2248usize,
19611 concat!(
19612 "Offset of field: ",
19613 stringify!(rte_eth_conf),
19614 "::",
19615 stringify!(tx_adv_conf)
19616 )
19617 );
19618 assert_eq!(
19619 unsafe { &(*(::std::ptr::null::<rte_eth_conf>())).dcb_capability_en as *const _ as usize },
19620 2260usize,
19621 concat!(
19622 "Offset of field: ",
19623 stringify!(rte_eth_conf),
19624 "::",
19625 stringify!(dcb_capability_en)
19626 )
19627 );
19628 assert_eq!(
19629 unsafe { &(*(::std::ptr::null::<rte_eth_conf>())).fdir_conf as *const _ as usize },
19630 2264usize,
19631 concat!(
19632 "Offset of field: ",
19633 stringify!(rte_eth_conf),
19634 "::",
19635 stringify!(fdir_conf)
19636 )
19637 );
19638 assert_eq!(
19639 unsafe { &(*(::std::ptr::null::<rte_eth_conf>())).intr_conf as *const _ as usize },
19640 3072usize,
19641 concat!(
19642 "Offset of field: ",
19643 stringify!(rte_eth_conf),
19644 "::",
19645 stringify!(intr_conf)
19646 )
19647 );
19648}
19649impl Default for rte_eth_conf {
19650 fn default() -> Self {
19651 unsafe { ::std::mem::zeroed() }
19652 }
19653}
19654#[repr(C)]
19655#[derive(Debug, Default, Copy, Clone, PartialEq)]
19656pub struct rte_eth_dev_portconf {
19657 pub burst_size: u16,
19658 pub ring_size: u16,
19659 pub nb_queues: u16,
19660}
19661#[test]
19662fn bindgen_test_layout_rte_eth_dev_portconf() {
19663 assert_eq!(
19664 ::std::mem::size_of::<rte_eth_dev_portconf>(),
19665 6usize,
19666 concat!("Size of: ", stringify!(rte_eth_dev_portconf))
19667 );
19668 assert_eq!(
19669 ::std::mem::align_of::<rte_eth_dev_portconf>(),
19670 2usize,
19671 concat!("Alignment of ", stringify!(rte_eth_dev_portconf))
19672 );
19673 assert_eq!(
19674 unsafe { &(*(::std::ptr::null::<rte_eth_dev_portconf>())).burst_size as *const _ as usize },
19675 0usize,
19676 concat!(
19677 "Offset of field: ",
19678 stringify!(rte_eth_dev_portconf),
19679 "::",
19680 stringify!(burst_size)
19681 )
19682 );
19683 assert_eq!(
19684 unsafe { &(*(::std::ptr::null::<rte_eth_dev_portconf>())).ring_size as *const _ as usize },
19685 2usize,
19686 concat!(
19687 "Offset of field: ",
19688 stringify!(rte_eth_dev_portconf),
19689 "::",
19690 stringify!(ring_size)
19691 )
19692 );
19693 assert_eq!(
19694 unsafe { &(*(::std::ptr::null::<rte_eth_dev_portconf>())).nb_queues as *const _ as usize },
19695 4usize,
19696 concat!(
19697 "Offset of field: ",
19698 stringify!(rte_eth_dev_portconf),
19699 "::",
19700 stringify!(nb_queues)
19701 )
19702 );
19703}
19704#[repr(C)]
19705#[derive(Debug, Copy, Clone, PartialEq)]
19706pub struct rte_eth_switch_info {
19707 pub name: *const ::std::os::raw::c_char,
19708 pub domain_id: u16,
19709 pub port_id: u16,
19710}
19711#[test]
19712fn bindgen_test_layout_rte_eth_switch_info() {
19713 assert_eq!(
19714 ::std::mem::size_of::<rte_eth_switch_info>(),
19715 16usize,
19716 concat!("Size of: ", stringify!(rte_eth_switch_info))
19717 );
19718 assert_eq!(
19719 ::std::mem::align_of::<rte_eth_switch_info>(),
19720 8usize,
19721 concat!("Alignment of ", stringify!(rte_eth_switch_info))
19722 );
19723 assert_eq!(
19724 unsafe { &(*(::std::ptr::null::<rte_eth_switch_info>())).name as *const _ as usize },
19725 0usize,
19726 concat!(
19727 "Offset of field: ",
19728 stringify!(rte_eth_switch_info),
19729 "::",
19730 stringify!(name)
19731 )
19732 );
19733 assert_eq!(
19734 unsafe { &(*(::std::ptr::null::<rte_eth_switch_info>())).domain_id as *const _ as usize },
19735 8usize,
19736 concat!(
19737 "Offset of field: ",
19738 stringify!(rte_eth_switch_info),
19739 "::",
19740 stringify!(domain_id)
19741 )
19742 );
19743 assert_eq!(
19744 unsafe { &(*(::std::ptr::null::<rte_eth_switch_info>())).port_id as *const _ as usize },
19745 10usize,
19746 concat!(
19747 "Offset of field: ",
19748 stringify!(rte_eth_switch_info),
19749 "::",
19750 stringify!(port_id)
19751 )
19752 );
19753}
19754impl Default for rte_eth_switch_info {
19755 fn default() -> Self {
19756 unsafe { ::std::mem::zeroed() }
19757 }
19758}
19759#[repr(C)]
19760#[derive(Debug, Copy, Clone, PartialEq)]
19761pub struct rte_eth_dev_info {
19762 pub device: *mut rte_device,
19763 pub driver_name: *const ::std::os::raw::c_char,
19764 pub if_index: ::std::os::raw::c_uint,
19765 pub min_mtu: u16,
19766 pub max_mtu: u16,
19767 pub dev_flags: *const u32,
19768 pub min_rx_bufsize: u32,
19769 pub max_rx_pktlen: u32,
19770 pub max_lro_pkt_size: u32,
19771 pub max_rx_queues: u16,
19772 pub max_tx_queues: u16,
19773 pub max_mac_addrs: u32,
19774 pub max_hash_mac_addrs: u32,
19775 pub max_vfs: u16,
19776 pub max_vmdq_pools: u16,
19777 pub rx_offload_capa: u64,
19778 pub tx_offload_capa: u64,
19779 pub rx_queue_offload_capa: u64,
19780 pub tx_queue_offload_capa: u64,
19781 pub reta_size: u16,
19782 pub hash_key_size: u8,
19783 pub flow_type_rss_offloads: u64,
19784 pub default_rxconf: rte_eth_rxconf,
19785 pub default_txconf: rte_eth_txconf,
19786 pub vmdq_queue_base: u16,
19787 pub vmdq_queue_num: u16,
19788 pub vmdq_pool_base: u16,
19789 pub rx_desc_lim: rte_eth_desc_lim,
19790 pub tx_desc_lim: rte_eth_desc_lim,
19791 pub speed_capa: u32,
19792 pub nb_rx_queues: u16,
19793 pub nb_tx_queues: u16,
19794 pub default_rxportconf: rte_eth_dev_portconf,
19795 pub default_txportconf: rte_eth_dev_portconf,
19796 pub dev_capa: u64,
19797 pub switch_info: rte_eth_switch_info,
19798 pub reserved_64s: [u64; 2usize],
19799 pub reserved_ptrs: [*mut ::std::os::raw::c_void; 2usize],
19800}
19801#[test]
19802fn bindgen_test_layout_rte_eth_dev_info() {
19803 assert_eq!(
19804 ::std::mem::size_of::<rte_eth_dev_info>(),
19805 320usize,
19806 concat!("Size of: ", stringify!(rte_eth_dev_info))
19807 );
19808 assert_eq!(
19809 ::std::mem::align_of::<rte_eth_dev_info>(),
19810 8usize,
19811 concat!("Alignment of ", stringify!(rte_eth_dev_info))
19812 );
19813 assert_eq!(
19814 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).device as *const _ as usize },
19815 0usize,
19816 concat!(
19817 "Offset of field: ",
19818 stringify!(rte_eth_dev_info),
19819 "::",
19820 stringify!(device)
19821 )
19822 );
19823 assert_eq!(
19824 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).driver_name as *const _ as usize },
19825 8usize,
19826 concat!(
19827 "Offset of field: ",
19828 stringify!(rte_eth_dev_info),
19829 "::",
19830 stringify!(driver_name)
19831 )
19832 );
19833 assert_eq!(
19834 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).if_index as *const _ as usize },
19835 16usize,
19836 concat!(
19837 "Offset of field: ",
19838 stringify!(rte_eth_dev_info),
19839 "::",
19840 stringify!(if_index)
19841 )
19842 );
19843 assert_eq!(
19844 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).min_mtu as *const _ as usize },
19845 20usize,
19846 concat!(
19847 "Offset of field: ",
19848 stringify!(rte_eth_dev_info),
19849 "::",
19850 stringify!(min_mtu)
19851 )
19852 );
19853 assert_eq!(
19854 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).max_mtu as *const _ as usize },
19855 22usize,
19856 concat!(
19857 "Offset of field: ",
19858 stringify!(rte_eth_dev_info),
19859 "::",
19860 stringify!(max_mtu)
19861 )
19862 );
19863 assert_eq!(
19864 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).dev_flags as *const _ as usize },
19865 24usize,
19866 concat!(
19867 "Offset of field: ",
19868 stringify!(rte_eth_dev_info),
19869 "::",
19870 stringify!(dev_flags)
19871 )
19872 );
19873 assert_eq!(
19874 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).min_rx_bufsize as *const _ as usize },
19875 32usize,
19876 concat!(
19877 "Offset of field: ",
19878 stringify!(rte_eth_dev_info),
19879 "::",
19880 stringify!(min_rx_bufsize)
19881 )
19882 );
19883 assert_eq!(
19884 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).max_rx_pktlen as *const _ as usize },
19885 36usize,
19886 concat!(
19887 "Offset of field: ",
19888 stringify!(rte_eth_dev_info),
19889 "::",
19890 stringify!(max_rx_pktlen)
19891 )
19892 );
19893 assert_eq!(
19894 unsafe {
19895 &(*(::std::ptr::null::<rte_eth_dev_info>())).max_lro_pkt_size as *const _ as usize
19896 },
19897 40usize,
19898 concat!(
19899 "Offset of field: ",
19900 stringify!(rte_eth_dev_info),
19901 "::",
19902 stringify!(max_lro_pkt_size)
19903 )
19904 );
19905 assert_eq!(
19906 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).max_rx_queues as *const _ as usize },
19907 44usize,
19908 concat!(
19909 "Offset of field: ",
19910 stringify!(rte_eth_dev_info),
19911 "::",
19912 stringify!(max_rx_queues)
19913 )
19914 );
19915 assert_eq!(
19916 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).max_tx_queues as *const _ as usize },
19917 46usize,
19918 concat!(
19919 "Offset of field: ",
19920 stringify!(rte_eth_dev_info),
19921 "::",
19922 stringify!(max_tx_queues)
19923 )
19924 );
19925 assert_eq!(
19926 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).max_mac_addrs as *const _ as usize },
19927 48usize,
19928 concat!(
19929 "Offset of field: ",
19930 stringify!(rte_eth_dev_info),
19931 "::",
19932 stringify!(max_mac_addrs)
19933 )
19934 );
19935 assert_eq!(
19936 unsafe {
19937 &(*(::std::ptr::null::<rte_eth_dev_info>())).max_hash_mac_addrs as *const _ as usize
19938 },
19939 52usize,
19940 concat!(
19941 "Offset of field: ",
19942 stringify!(rte_eth_dev_info),
19943 "::",
19944 stringify!(max_hash_mac_addrs)
19945 )
19946 );
19947 assert_eq!(
19948 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).max_vfs as *const _ as usize },
19949 56usize,
19950 concat!(
19951 "Offset of field: ",
19952 stringify!(rte_eth_dev_info),
19953 "::",
19954 stringify!(max_vfs)
19955 )
19956 );
19957 assert_eq!(
19958 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).max_vmdq_pools as *const _ as usize },
19959 58usize,
19960 concat!(
19961 "Offset of field: ",
19962 stringify!(rte_eth_dev_info),
19963 "::",
19964 stringify!(max_vmdq_pools)
19965 )
19966 );
19967 assert_eq!(
19968 unsafe {
19969 &(*(::std::ptr::null::<rte_eth_dev_info>())).rx_offload_capa as *const _ as usize
19970 },
19971 64usize,
19972 concat!(
19973 "Offset of field: ",
19974 stringify!(rte_eth_dev_info),
19975 "::",
19976 stringify!(rx_offload_capa)
19977 )
19978 );
19979 assert_eq!(
19980 unsafe {
19981 &(*(::std::ptr::null::<rte_eth_dev_info>())).tx_offload_capa as *const _ as usize
19982 },
19983 72usize,
19984 concat!(
19985 "Offset of field: ",
19986 stringify!(rte_eth_dev_info),
19987 "::",
19988 stringify!(tx_offload_capa)
19989 )
19990 );
19991 assert_eq!(
19992 unsafe {
19993 &(*(::std::ptr::null::<rte_eth_dev_info>())).rx_queue_offload_capa as *const _ as usize
19994 },
19995 80usize,
19996 concat!(
19997 "Offset of field: ",
19998 stringify!(rte_eth_dev_info),
19999 "::",
20000 stringify!(rx_queue_offload_capa)
20001 )
20002 );
20003 assert_eq!(
20004 unsafe {
20005 &(*(::std::ptr::null::<rte_eth_dev_info>())).tx_queue_offload_capa as *const _ as usize
20006 },
20007 88usize,
20008 concat!(
20009 "Offset of field: ",
20010 stringify!(rte_eth_dev_info),
20011 "::",
20012 stringify!(tx_queue_offload_capa)
20013 )
20014 );
20015 assert_eq!(
20016 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).reta_size as *const _ as usize },
20017 96usize,
20018 concat!(
20019 "Offset of field: ",
20020 stringify!(rte_eth_dev_info),
20021 "::",
20022 stringify!(reta_size)
20023 )
20024 );
20025 assert_eq!(
20026 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).hash_key_size as *const _ as usize },
20027 98usize,
20028 concat!(
20029 "Offset of field: ",
20030 stringify!(rte_eth_dev_info),
20031 "::",
20032 stringify!(hash_key_size)
20033 )
20034 );
20035 assert_eq!(
20036 unsafe {
20037 &(*(::std::ptr::null::<rte_eth_dev_info>())).flow_type_rss_offloads as *const _ as usize
20038 },
20039 104usize,
20040 concat!(
20041 "Offset of field: ",
20042 stringify!(rte_eth_dev_info),
20043 "::",
20044 stringify!(flow_type_rss_offloads)
20045 )
20046 );
20047 assert_eq!(
20048 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).default_rxconf as *const _ as usize },
20049 112usize,
20050 concat!(
20051 "Offset of field: ",
20052 stringify!(rte_eth_dev_info),
20053 "::",
20054 stringify!(default_rxconf)
20055 )
20056 );
20057 assert_eq!(
20058 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).default_txconf as *const _ as usize },
20059 160usize,
20060 concat!(
20061 "Offset of field: ",
20062 stringify!(rte_eth_dev_info),
20063 "::",
20064 stringify!(default_txconf)
20065 )
20066 );
20067 assert_eq!(
20068 unsafe {
20069 &(*(::std::ptr::null::<rte_eth_dev_info>())).vmdq_queue_base as *const _ as usize
20070 },
20071 216usize,
20072 concat!(
20073 "Offset of field: ",
20074 stringify!(rte_eth_dev_info),
20075 "::",
20076 stringify!(vmdq_queue_base)
20077 )
20078 );
20079 assert_eq!(
20080 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).vmdq_queue_num as *const _ as usize },
20081 218usize,
20082 concat!(
20083 "Offset of field: ",
20084 stringify!(rte_eth_dev_info),
20085 "::",
20086 stringify!(vmdq_queue_num)
20087 )
20088 );
20089 assert_eq!(
20090 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).vmdq_pool_base as *const _ as usize },
20091 220usize,
20092 concat!(
20093 "Offset of field: ",
20094 stringify!(rte_eth_dev_info),
20095 "::",
20096 stringify!(vmdq_pool_base)
20097 )
20098 );
20099 assert_eq!(
20100 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).rx_desc_lim as *const _ as usize },
20101 222usize,
20102 concat!(
20103 "Offset of field: ",
20104 stringify!(rte_eth_dev_info),
20105 "::",
20106 stringify!(rx_desc_lim)
20107 )
20108 );
20109 assert_eq!(
20110 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).tx_desc_lim as *const _ as usize },
20111 232usize,
20112 concat!(
20113 "Offset of field: ",
20114 stringify!(rte_eth_dev_info),
20115 "::",
20116 stringify!(tx_desc_lim)
20117 )
20118 );
20119 assert_eq!(
20120 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).speed_capa as *const _ as usize },
20121 244usize,
20122 concat!(
20123 "Offset of field: ",
20124 stringify!(rte_eth_dev_info),
20125 "::",
20126 stringify!(speed_capa)
20127 )
20128 );
20129 assert_eq!(
20130 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).nb_rx_queues as *const _ as usize },
20131 248usize,
20132 concat!(
20133 "Offset of field: ",
20134 stringify!(rte_eth_dev_info),
20135 "::",
20136 stringify!(nb_rx_queues)
20137 )
20138 );
20139 assert_eq!(
20140 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).nb_tx_queues as *const _ as usize },
20141 250usize,
20142 concat!(
20143 "Offset of field: ",
20144 stringify!(rte_eth_dev_info),
20145 "::",
20146 stringify!(nb_tx_queues)
20147 )
20148 );
20149 assert_eq!(
20150 unsafe {
20151 &(*(::std::ptr::null::<rte_eth_dev_info>())).default_rxportconf as *const _ as usize
20152 },
20153 252usize,
20154 concat!(
20155 "Offset of field: ",
20156 stringify!(rte_eth_dev_info),
20157 "::",
20158 stringify!(default_rxportconf)
20159 )
20160 );
20161 assert_eq!(
20162 unsafe {
20163 &(*(::std::ptr::null::<rte_eth_dev_info>())).default_txportconf as *const _ as usize
20164 },
20165 258usize,
20166 concat!(
20167 "Offset of field: ",
20168 stringify!(rte_eth_dev_info),
20169 "::",
20170 stringify!(default_txportconf)
20171 )
20172 );
20173 assert_eq!(
20174 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).dev_capa as *const _ as usize },
20175 264usize,
20176 concat!(
20177 "Offset of field: ",
20178 stringify!(rte_eth_dev_info),
20179 "::",
20180 stringify!(dev_capa)
20181 )
20182 );
20183 assert_eq!(
20184 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).switch_info as *const _ as usize },
20185 272usize,
20186 concat!(
20187 "Offset of field: ",
20188 stringify!(rte_eth_dev_info),
20189 "::",
20190 stringify!(switch_info)
20191 )
20192 );
20193 assert_eq!(
20194 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).reserved_64s as *const _ as usize },
20195 288usize,
20196 concat!(
20197 "Offset of field: ",
20198 stringify!(rte_eth_dev_info),
20199 "::",
20200 stringify!(reserved_64s)
20201 )
20202 );
20203 assert_eq!(
20204 unsafe { &(*(::std::ptr::null::<rte_eth_dev_info>())).reserved_ptrs as *const _ as usize },
20205 304usize,
20206 concat!(
20207 "Offset of field: ",
20208 stringify!(rte_eth_dev_info),
20209 "::",
20210 stringify!(reserved_ptrs)
20211 )
20212 );
20213}
20214impl Default for rte_eth_dev_info {
20215 fn default() -> Self {
20216 unsafe { ::std::mem::zeroed() }
20217 }
20218}
20219#[repr(C)]
20220#[repr(align(64))]
20221#[derive(Copy, Clone)]
20222pub struct rte_eth_rxq_info {
20223 pub mp: *mut rte_mempool,
20224 pub conf: rte_eth_rxconf,
20225 pub scattered_rx: u8,
20226 pub nb_desc: u16,
20227}
20228#[test]
20229fn bindgen_test_layout_rte_eth_rxq_info() {
20230 assert_eq!(
20231 ::std::mem::size_of::<rte_eth_rxq_info>(),
20232 64usize,
20233 concat!("Size of: ", stringify!(rte_eth_rxq_info))
20234 );
20235 assert_eq!(
20236 ::std::mem::align_of::<rte_eth_rxq_info>(),
20237 64usize,
20238 concat!("Alignment of ", stringify!(rte_eth_rxq_info))
20239 );
20240 assert_eq!(
20241 unsafe { &(*(::std::ptr::null::<rte_eth_rxq_info>())).mp as *const _ as usize },
20242 0usize,
20243 concat!(
20244 "Offset of field: ",
20245 stringify!(rte_eth_rxq_info),
20246 "::",
20247 stringify!(mp)
20248 )
20249 );
20250 assert_eq!(
20251 unsafe { &(*(::std::ptr::null::<rte_eth_rxq_info>())).conf as *const _ as usize },
20252 8usize,
20253 concat!(
20254 "Offset of field: ",
20255 stringify!(rte_eth_rxq_info),
20256 "::",
20257 stringify!(conf)
20258 )
20259 );
20260 assert_eq!(
20261 unsafe { &(*(::std::ptr::null::<rte_eth_rxq_info>())).scattered_rx as *const _ as usize },
20262 56usize,
20263 concat!(
20264 "Offset of field: ",
20265 stringify!(rte_eth_rxq_info),
20266 "::",
20267 stringify!(scattered_rx)
20268 )
20269 );
20270 assert_eq!(
20271 unsafe { &(*(::std::ptr::null::<rte_eth_rxq_info>())).nb_desc as *const _ as usize },
20272 58usize,
20273 concat!(
20274 "Offset of field: ",
20275 stringify!(rte_eth_rxq_info),
20276 "::",
20277 stringify!(nb_desc)
20278 )
20279 );
20280}
20281impl Default for rte_eth_rxq_info {
20282 fn default() -> Self {
20283 unsafe { ::std::mem::zeroed() }
20284 }
20285}
20286#[repr(C)]
20287#[repr(align(64))]
20288#[derive(Copy, Clone)]
20289pub struct rte_eth_txq_info {
20290 pub conf: rte_eth_txconf,
20291 pub nb_desc: u16,
20292}
20293#[test]
20294fn bindgen_test_layout_rte_eth_txq_info() {
20295 assert_eq!(
20296 ::std::mem::size_of::<rte_eth_txq_info>(),
20297 64usize,
20298 concat!("Size of: ", stringify!(rte_eth_txq_info))
20299 );
20300 assert_eq!(
20301 ::std::mem::align_of::<rte_eth_txq_info>(),
20302 64usize,
20303 concat!("Alignment of ", stringify!(rte_eth_txq_info))
20304 );
20305 assert_eq!(
20306 unsafe { &(*(::std::ptr::null::<rte_eth_txq_info>())).conf as *const _ as usize },
20307 0usize,
20308 concat!(
20309 "Offset of field: ",
20310 stringify!(rte_eth_txq_info),
20311 "::",
20312 stringify!(conf)
20313 )
20314 );
20315 assert_eq!(
20316 unsafe { &(*(::std::ptr::null::<rte_eth_txq_info>())).nb_desc as *const _ as usize },
20317 56usize,
20318 concat!(
20319 "Offset of field: ",
20320 stringify!(rte_eth_txq_info),
20321 "::",
20322 stringify!(nb_desc)
20323 )
20324 );
20325}
20326impl Default for rte_eth_txq_info {
20327 fn default() -> Self {
20328 unsafe { ::std::mem::zeroed() }
20329 }
20330}
20331#[repr(C)]
20332#[derive(Copy, Clone)]
20333pub struct rte_eth_burst_mode {
20334 pub flags: u64,
20335 pub info: [::std::os::raw::c_char; 1024usize],
20336}
20337#[test]
20338fn bindgen_test_layout_rte_eth_burst_mode() {
20339 assert_eq!(
20340 ::std::mem::size_of::<rte_eth_burst_mode>(),
20341 1032usize,
20342 concat!("Size of: ", stringify!(rte_eth_burst_mode))
20343 );
20344 assert_eq!(
20345 ::std::mem::align_of::<rte_eth_burst_mode>(),
20346 8usize,
20347 concat!("Alignment of ", stringify!(rte_eth_burst_mode))
20348 );
20349 assert_eq!(
20350 unsafe { &(*(::std::ptr::null::<rte_eth_burst_mode>())).flags as *const _ as usize },
20351 0usize,
20352 concat!(
20353 "Offset of field: ",
20354 stringify!(rte_eth_burst_mode),
20355 "::",
20356 stringify!(flags)
20357 )
20358 );
20359 assert_eq!(
20360 unsafe { &(*(::std::ptr::null::<rte_eth_burst_mode>())).info as *const _ as usize },
20361 8usize,
20362 concat!(
20363 "Offset of field: ",
20364 stringify!(rte_eth_burst_mode),
20365 "::",
20366 stringify!(info)
20367 )
20368 );
20369}
20370impl Default for rte_eth_burst_mode {
20371 fn default() -> Self {
20372 unsafe { ::std::mem::zeroed() }
20373 }
20374}
20375#[repr(C)]
20376#[derive(Debug, Default, Copy, Clone, PartialEq)]
20377pub struct rte_eth_xstat {
20378 pub id: u64,
20379 pub value: u64,
20380}
20381#[test]
20382fn bindgen_test_layout_rte_eth_xstat() {
20383 assert_eq!(
20384 ::std::mem::size_of::<rte_eth_xstat>(),
20385 16usize,
20386 concat!("Size of: ", stringify!(rte_eth_xstat))
20387 );
20388 assert_eq!(
20389 ::std::mem::align_of::<rte_eth_xstat>(),
20390 8usize,
20391 concat!("Alignment of ", stringify!(rte_eth_xstat))
20392 );
20393 assert_eq!(
20394 unsafe { &(*(::std::ptr::null::<rte_eth_xstat>())).id as *const _ as usize },
20395 0usize,
20396 concat!(
20397 "Offset of field: ",
20398 stringify!(rte_eth_xstat),
20399 "::",
20400 stringify!(id)
20401 )
20402 );
20403 assert_eq!(
20404 unsafe { &(*(::std::ptr::null::<rte_eth_xstat>())).value as *const _ as usize },
20405 8usize,
20406 concat!(
20407 "Offset of field: ",
20408 stringify!(rte_eth_xstat),
20409 "::",
20410 stringify!(value)
20411 )
20412 );
20413}
20414#[repr(C)]
20415#[derive(Copy, Clone)]
20416pub struct rte_eth_xstat_name {
20417 pub name: [::std::os::raw::c_char; 64usize],
20418}
20419#[test]
20420fn bindgen_test_layout_rte_eth_xstat_name() {
20421 assert_eq!(
20422 ::std::mem::size_of::<rte_eth_xstat_name>(),
20423 64usize,
20424 concat!("Size of: ", stringify!(rte_eth_xstat_name))
20425 );
20426 assert_eq!(
20427 ::std::mem::align_of::<rte_eth_xstat_name>(),
20428 1usize,
20429 concat!("Alignment of ", stringify!(rte_eth_xstat_name))
20430 );
20431 assert_eq!(
20432 unsafe { &(*(::std::ptr::null::<rte_eth_xstat_name>())).name as *const _ as usize },
20433 0usize,
20434 concat!(
20435 "Offset of field: ",
20436 stringify!(rte_eth_xstat_name),
20437 "::",
20438 stringify!(name)
20439 )
20440 );
20441}
20442impl Default for rte_eth_xstat_name {
20443 fn default() -> Self {
20444 unsafe { ::std::mem::zeroed() }
20445 }
20446}
20447#[repr(C)]
20448#[derive(Copy, Clone)]
20449pub struct rte_eth_dcb_tc_queue_mapping {
20450 pub tc_rxq: [[rte_eth_dcb_tc_queue_mapping__bindgen_ty_1; 8usize]; 64usize],
20451 pub tc_txq: [[rte_eth_dcb_tc_queue_mapping__bindgen_ty_2; 8usize]; 64usize],
20452}
20453#[repr(C)]
20454#[derive(Debug, Default, Copy, Clone, PartialEq)]
20455pub struct rte_eth_dcb_tc_queue_mapping__bindgen_ty_1 {
20456 pub base: u8,
20457 pub nb_queue: u8,
20458}
20459#[test]
20460fn bindgen_test_layout_rte_eth_dcb_tc_queue_mapping__bindgen_ty_1() {
20461 assert_eq!(
20462 ::std::mem::size_of::<rte_eth_dcb_tc_queue_mapping__bindgen_ty_1>(),
20463 2usize,
20464 concat!(
20465 "Size of: ",
20466 stringify!(rte_eth_dcb_tc_queue_mapping__bindgen_ty_1)
20467 )
20468 );
20469 assert_eq!(
20470 ::std::mem::align_of::<rte_eth_dcb_tc_queue_mapping__bindgen_ty_1>(),
20471 1usize,
20472 concat!(
20473 "Alignment of ",
20474 stringify!(rte_eth_dcb_tc_queue_mapping__bindgen_ty_1)
20475 )
20476 );
20477 assert_eq!(
20478 unsafe {
20479 &(*(::std::ptr::null::<rte_eth_dcb_tc_queue_mapping__bindgen_ty_1>())).base as *const _
20480 as usize
20481 },
20482 0usize,
20483 concat!(
20484 "Offset of field: ",
20485 stringify!(rte_eth_dcb_tc_queue_mapping__bindgen_ty_1),
20486 "::",
20487 stringify!(base)
20488 )
20489 );
20490 assert_eq!(
20491 unsafe {
20492 &(*(::std::ptr::null::<rte_eth_dcb_tc_queue_mapping__bindgen_ty_1>())).nb_queue
20493 as *const _ as usize
20494 },
20495 1usize,
20496 concat!(
20497 "Offset of field: ",
20498 stringify!(rte_eth_dcb_tc_queue_mapping__bindgen_ty_1),
20499 "::",
20500 stringify!(nb_queue)
20501 )
20502 );
20503}
20504#[repr(C)]
20505#[derive(Debug, Default, Copy, Clone, PartialEq)]
20506pub struct rte_eth_dcb_tc_queue_mapping__bindgen_ty_2 {
20507 pub base: u8,
20508 pub nb_queue: u8,
20509}
20510#[test]
20511fn bindgen_test_layout_rte_eth_dcb_tc_queue_mapping__bindgen_ty_2() {
20512 assert_eq!(
20513 ::std::mem::size_of::<rte_eth_dcb_tc_queue_mapping__bindgen_ty_2>(),
20514 2usize,
20515 concat!(
20516 "Size of: ",
20517 stringify!(rte_eth_dcb_tc_queue_mapping__bindgen_ty_2)
20518 )
20519 );
20520 assert_eq!(
20521 ::std::mem::align_of::<rte_eth_dcb_tc_queue_mapping__bindgen_ty_2>(),
20522 1usize,
20523 concat!(
20524 "Alignment of ",
20525 stringify!(rte_eth_dcb_tc_queue_mapping__bindgen_ty_2)
20526 )
20527 );
20528 assert_eq!(
20529 unsafe {
20530 &(*(::std::ptr::null::<rte_eth_dcb_tc_queue_mapping__bindgen_ty_2>())).base as *const _
20531 as usize
20532 },
20533 0usize,
20534 concat!(
20535 "Offset of field: ",
20536 stringify!(rte_eth_dcb_tc_queue_mapping__bindgen_ty_2),
20537 "::",
20538 stringify!(base)
20539 )
20540 );
20541 assert_eq!(
20542 unsafe {
20543 &(*(::std::ptr::null::<rte_eth_dcb_tc_queue_mapping__bindgen_ty_2>())).nb_queue
20544 as *const _ as usize
20545 },
20546 1usize,
20547 concat!(
20548 "Offset of field: ",
20549 stringify!(rte_eth_dcb_tc_queue_mapping__bindgen_ty_2),
20550 "::",
20551 stringify!(nb_queue)
20552 )
20553 );
20554}
20555#[test]
20556fn bindgen_test_layout_rte_eth_dcb_tc_queue_mapping() {
20557 assert_eq!(
20558 ::std::mem::size_of::<rte_eth_dcb_tc_queue_mapping>(),
20559 2048usize,
20560 concat!("Size of: ", stringify!(rte_eth_dcb_tc_queue_mapping))
20561 );
20562 assert_eq!(
20563 ::std::mem::align_of::<rte_eth_dcb_tc_queue_mapping>(),
20564 1usize,
20565 concat!("Alignment of ", stringify!(rte_eth_dcb_tc_queue_mapping))
20566 );
20567 assert_eq!(
20568 unsafe {
20569 &(*(::std::ptr::null::<rte_eth_dcb_tc_queue_mapping>())).tc_rxq as *const _ as usize
20570 },
20571 0usize,
20572 concat!(
20573 "Offset of field: ",
20574 stringify!(rte_eth_dcb_tc_queue_mapping),
20575 "::",
20576 stringify!(tc_rxq)
20577 )
20578 );
20579 assert_eq!(
20580 unsafe {
20581 &(*(::std::ptr::null::<rte_eth_dcb_tc_queue_mapping>())).tc_txq as *const _ as usize
20582 },
20583 1024usize,
20584 concat!(
20585 "Offset of field: ",
20586 stringify!(rte_eth_dcb_tc_queue_mapping),
20587 "::",
20588 stringify!(tc_txq)
20589 )
20590 );
20591}
20592impl Default for rte_eth_dcb_tc_queue_mapping {
20593 fn default() -> Self {
20594 unsafe { ::std::mem::zeroed() }
20595 }
20596}
20597#[repr(C)]
20598#[derive(Copy, Clone)]
20599pub struct rte_eth_dcb_info {
20600 pub nb_tcs: u8,
20601 pub prio_tc: [u8; 8usize],
20602 pub tc_bws: [u8; 8usize],
20603 pub tc_queue: rte_eth_dcb_tc_queue_mapping,
20604}
20605#[test]
20606fn bindgen_test_layout_rte_eth_dcb_info() {
20607 assert_eq!(
20608 ::std::mem::size_of::<rte_eth_dcb_info>(),
20609 2065usize,
20610 concat!("Size of: ", stringify!(rte_eth_dcb_info))
20611 );
20612 assert_eq!(
20613 ::std::mem::align_of::<rte_eth_dcb_info>(),
20614 1usize,
20615 concat!("Alignment of ", stringify!(rte_eth_dcb_info))
20616 );
20617 assert_eq!(
20618 unsafe { &(*(::std::ptr::null::<rte_eth_dcb_info>())).nb_tcs as *const _ as usize },
20619 0usize,
20620 concat!(
20621 "Offset of field: ",
20622 stringify!(rte_eth_dcb_info),
20623 "::",
20624 stringify!(nb_tcs)
20625 )
20626 );
20627 assert_eq!(
20628 unsafe { &(*(::std::ptr::null::<rte_eth_dcb_info>())).prio_tc as *const _ as usize },
20629 1usize,
20630 concat!(
20631 "Offset of field: ",
20632 stringify!(rte_eth_dcb_info),
20633 "::",
20634 stringify!(prio_tc)
20635 )
20636 );
20637 assert_eq!(
20638 unsafe { &(*(::std::ptr::null::<rte_eth_dcb_info>())).tc_bws as *const _ as usize },
20639 9usize,
20640 concat!(
20641 "Offset of field: ",
20642 stringify!(rte_eth_dcb_info),
20643 "::",
20644 stringify!(tc_bws)
20645 )
20646 );
20647 assert_eq!(
20648 unsafe { &(*(::std::ptr::null::<rte_eth_dcb_info>())).tc_queue as *const _ as usize },
20649 17usize,
20650 concat!(
20651 "Offset of field: ",
20652 stringify!(rte_eth_dcb_info),
20653 "::",
20654 stringify!(tc_queue)
20655 )
20656 );
20657}
20658impl Default for rte_eth_dcb_info {
20659 fn default() -> Self {
20660 unsafe { ::std::mem::zeroed() }
20661 }
20662}
20663pub type rte_rx_callback_fn = ::std::option::Option<
20664 unsafe extern "C" fn(
20665 port_id: u16,
20666 queue: u16,
20667 pkts: *mut *mut rte_mbuf,
20668 nb_pkts: u16,
20669 max_pkts: u16,
20670 user_param: *mut ::std::os::raw::c_void,
20671 ) -> u16,
20672>;
20673pub type rte_tx_callback_fn = ::std::option::Option<
20674 unsafe extern "C" fn(
20675 port_id: u16,
20676 queue: u16,
20677 pkts: *mut *mut rte_mbuf,
20678 nb_pkts: u16,
20679 user_param: *mut ::std::os::raw::c_void,
20680 ) -> u16,
20681>;
20682pub mod rte_eth_dev_state {
20683 pub type Type = ::std::os::raw::c_uint;
20684 pub const RTE_ETH_DEV_UNUSED: Type = 0;
20685 pub const RTE_ETH_DEV_ATTACHED: Type = 1;
20686 pub const RTE_ETH_DEV_REMOVED: Type = 2;
20687}
20688#[repr(C)]
20689#[derive(Debug, Default, Copy, Clone, PartialEq)]
20690pub struct rte_eth_dev_sriov {
20691 pub active: u8,
20692 pub nb_q_per_pool: u8,
20693 pub def_vmdq_idx: u16,
20694 pub def_pool_q_idx: u16,
20695}
20696#[test]
20697fn bindgen_test_layout_rte_eth_dev_sriov() {
20698 assert_eq!(
20699 ::std::mem::size_of::<rte_eth_dev_sriov>(),
20700 6usize,
20701 concat!("Size of: ", stringify!(rte_eth_dev_sriov))
20702 );
20703 assert_eq!(
20704 ::std::mem::align_of::<rte_eth_dev_sriov>(),
20705 2usize,
20706 concat!("Alignment of ", stringify!(rte_eth_dev_sriov))
20707 );
20708 assert_eq!(
20709 unsafe { &(*(::std::ptr::null::<rte_eth_dev_sriov>())).active as *const _ as usize },
20710 0usize,
20711 concat!(
20712 "Offset of field: ",
20713 stringify!(rte_eth_dev_sriov),
20714 "::",
20715 stringify!(active)
20716 )
20717 );
20718 assert_eq!(
20719 unsafe { &(*(::std::ptr::null::<rte_eth_dev_sriov>())).nb_q_per_pool as *const _ as usize },
20720 1usize,
20721 concat!(
20722 "Offset of field: ",
20723 stringify!(rte_eth_dev_sriov),
20724 "::",
20725 stringify!(nb_q_per_pool)
20726 )
20727 );
20728 assert_eq!(
20729 unsafe { &(*(::std::ptr::null::<rte_eth_dev_sriov>())).def_vmdq_idx as *const _ as usize },
20730 2usize,
20731 concat!(
20732 "Offset of field: ",
20733 stringify!(rte_eth_dev_sriov),
20734 "::",
20735 stringify!(def_vmdq_idx)
20736 )
20737 );
20738 assert_eq!(
20739 unsafe {
20740 &(*(::std::ptr::null::<rte_eth_dev_sriov>())).def_pool_q_idx as *const _ as usize
20741 },
20742 4usize,
20743 concat!(
20744 "Offset of field: ",
20745 stringify!(rte_eth_dev_sriov),
20746 "::",
20747 stringify!(def_pool_q_idx)
20748 )
20749 );
20750}
20751#[repr(C)]
20752#[derive(Copy, Clone)]
20753pub struct rte_eth_dev_owner {
20754 pub id: u64,
20755 pub name: [::std::os::raw::c_char; 64usize],
20756}
20757#[test]
20758fn bindgen_test_layout_rte_eth_dev_owner() {
20759 assert_eq!(
20760 ::std::mem::size_of::<rte_eth_dev_owner>(),
20761 72usize,
20762 concat!("Size of: ", stringify!(rte_eth_dev_owner))
20763 );
20764 assert_eq!(
20765 ::std::mem::align_of::<rte_eth_dev_owner>(),
20766 8usize,
20767 concat!("Alignment of ", stringify!(rte_eth_dev_owner))
20768 );
20769 assert_eq!(
20770 unsafe { &(*(::std::ptr::null::<rte_eth_dev_owner>())).id as *const _ as usize },
20771 0usize,
20772 concat!(
20773 "Offset of field: ",
20774 stringify!(rte_eth_dev_owner),
20775 "::",
20776 stringify!(id)
20777 )
20778 );
20779 assert_eq!(
20780 unsafe { &(*(::std::ptr::null::<rte_eth_dev_owner>())).name as *const _ as usize },
20781 8usize,
20782 concat!(
20783 "Offset of field: ",
20784 stringify!(rte_eth_dev_owner),
20785 "::",
20786 stringify!(name)
20787 )
20788 );
20789}
20790impl Default for rte_eth_dev_owner {
20791 fn default() -> Self {
20792 unsafe { ::std::mem::zeroed() }
20793 }
20794}
20795extern "C" {
20796 pub fn rte_eth_find_next_owned_by(port_id: u16, owner_id: u64) -> u64;
20797}
20798extern "C" {
20799 pub fn rte_eth_find_next(port_id: u16) -> u16;
20800}
20801extern "C" {
20802 pub fn rte_eth_find_next_of(port_id_start: u16, parent: *const rte_device) -> u16;
20803}
20804extern "C" {
20805 pub fn rte_eth_find_next_sibling(port_id_start: u16, ref_port_id: u16) -> u16;
20806}
20807extern "C" {
20808 pub fn rte_eth_dev_owner_new(owner_id: *mut u64) -> ::std::os::raw::c_int;
20809}
20810extern "C" {
20811 pub fn rte_eth_dev_owner_set(
20812 port_id: u16,
20813 owner: *const rte_eth_dev_owner,
20814 ) -> ::std::os::raw::c_int;
20815}
20816extern "C" {
20817 pub fn rte_eth_dev_owner_unset(port_id: u16, owner_id: u64) -> ::std::os::raw::c_int;
20818}
20819extern "C" {
20820 pub fn rte_eth_dev_owner_delete(owner_id: u64) -> ::std::os::raw::c_int;
20821}
20822extern "C" {
20823 pub fn rte_eth_dev_owner_get(
20824 port_id: u16,
20825 owner: *mut rte_eth_dev_owner,
20826 ) -> ::std::os::raw::c_int;
20827}
20828extern "C" {
20829 pub fn rte_eth_dev_count_avail() -> u16;
20830}
20831extern "C" {
20832 pub fn rte_eth_dev_count_total() -> u16;
20833}
20834extern "C" {
20835 pub fn rte_eth_speed_bitflag(speed: u32, duplex: ::std::os::raw::c_int) -> u32;
20836}
20837extern "C" {
20838 pub fn rte_eth_dev_rx_offload_name(offload: u64) -> *const ::std::os::raw::c_char;
20839}
20840extern "C" {
20841 pub fn rte_eth_dev_tx_offload_name(offload: u64) -> *const ::std::os::raw::c_char;
20842}
20843extern "C" {
20844 pub fn rte_eth_dev_configure(
20845 port_id: u16,
20846 nb_rx_queue: u16,
20847 nb_tx_queue: u16,
20848 eth_conf: *const rte_eth_conf,
20849 ) -> ::std::os::raw::c_int;
20850}
20851extern "C" {
20852 pub fn rte_eth_dev_is_removed(port_id: u16) -> ::std::os::raw::c_int;
20853}
20854extern "C" {
20855 pub fn rte_eth_rx_queue_setup(
20856 port_id: u16,
20857 rx_queue_id: u16,
20858 nb_rx_desc: u16,
20859 socket_id: ::std::os::raw::c_uint,
20860 rx_conf: *const rte_eth_rxconf,
20861 mb_pool: *mut rte_mempool,
20862 ) -> ::std::os::raw::c_int;
20863}
20864extern "C" {
20865 pub fn rte_eth_rx_hairpin_queue_setup(
20866 port_id: u16,
20867 rx_queue_id: u16,
20868 nb_rx_desc: u16,
20869 conf: *const rte_eth_hairpin_conf,
20870 ) -> ::std::os::raw::c_int;
20871}
20872extern "C" {
20873 pub fn rte_eth_tx_queue_setup(
20874 port_id: u16,
20875 tx_queue_id: u16,
20876 nb_tx_desc: u16,
20877 socket_id: ::std::os::raw::c_uint,
20878 tx_conf: *const rte_eth_txconf,
20879 ) -> ::std::os::raw::c_int;
20880}
20881extern "C" {
20882 pub fn rte_eth_tx_hairpin_queue_setup(
20883 port_id: u16,
20884 tx_queue_id: u16,
20885 nb_tx_desc: u16,
20886 conf: *const rte_eth_hairpin_conf,
20887 ) -> ::std::os::raw::c_int;
20888}
20889extern "C" {
20890 pub fn rte_eth_dev_socket_id(port_id: u16) -> ::std::os::raw::c_int;
20891}
20892extern "C" {
20893 pub fn rte_eth_dev_is_valid_port(port_id: u16) -> ::std::os::raw::c_int;
20894}
20895extern "C" {
20896 pub fn rte_eth_dev_rx_queue_start(port_id: u16, rx_queue_id: u16) -> ::std::os::raw::c_int;
20897}
20898extern "C" {
20899 pub fn rte_eth_dev_rx_queue_stop(port_id: u16, rx_queue_id: u16) -> ::std::os::raw::c_int;
20900}
20901extern "C" {
20902 pub fn rte_eth_dev_tx_queue_start(port_id: u16, tx_queue_id: u16) -> ::std::os::raw::c_int;
20903}
20904extern "C" {
20905 pub fn rte_eth_dev_tx_queue_stop(port_id: u16, tx_queue_id: u16) -> ::std::os::raw::c_int;
20906}
20907extern "C" {
20908 pub fn rte_eth_dev_start(port_id: u16) -> ::std::os::raw::c_int;
20909}
20910extern "C" {
20911 pub fn rte_eth_dev_stop(port_id: u16);
20912}
20913extern "C" {
20914 pub fn rte_eth_dev_set_link_up(port_id: u16) -> ::std::os::raw::c_int;
20915}
20916extern "C" {
20917 pub fn rte_eth_dev_set_link_down(port_id: u16) -> ::std::os::raw::c_int;
20918}
20919extern "C" {
20920 pub fn rte_eth_dev_close(port_id: u16);
20921}
20922extern "C" {
20923 pub fn rte_eth_dev_reset(port_id: u16) -> ::std::os::raw::c_int;
20924}
20925extern "C" {
20926 pub fn rte_eth_promiscuous_enable(port_id: u16) -> ::std::os::raw::c_int;
20927}
20928extern "C" {
20929 pub fn rte_eth_promiscuous_disable(port_id: u16) -> ::std::os::raw::c_int;
20930}
20931extern "C" {
20932 pub fn rte_eth_promiscuous_get(port_id: u16) -> ::std::os::raw::c_int;
20933}
20934extern "C" {
20935 pub fn rte_eth_allmulticast_enable(port_id: u16) -> ::std::os::raw::c_int;
20936}
20937extern "C" {
20938 pub fn rte_eth_allmulticast_disable(port_id: u16) -> ::std::os::raw::c_int;
20939}
20940extern "C" {
20941 pub fn rte_eth_allmulticast_get(port_id: u16) -> ::std::os::raw::c_int;
20942}
20943extern "C" {
20944 pub fn rte_eth_link_get(port_id: u16, link: *mut rte_eth_link) -> ::std::os::raw::c_int;
20945}
20946extern "C" {
20947 pub fn rte_eth_link_get_nowait(port_id: u16, link: *mut rte_eth_link) -> ::std::os::raw::c_int;
20948}
20949extern "C" {
20950 pub fn rte_eth_stats_get(port_id: u16, stats: *mut rte_eth_stats) -> ::std::os::raw::c_int;
20951}
20952extern "C" {
20953 pub fn rte_eth_stats_reset(port_id: u16) -> ::std::os::raw::c_int;
20954}
20955extern "C" {
20956 pub fn rte_eth_xstats_get_names(
20957 port_id: u16,
20958 xstats_names: *mut rte_eth_xstat_name,
20959 size: ::std::os::raw::c_uint,
20960 ) -> ::std::os::raw::c_int;
20961}
20962extern "C" {
20963 pub fn rte_eth_xstats_get(
20964 port_id: u16,
20965 xstats: *mut rte_eth_xstat,
20966 n: ::std::os::raw::c_uint,
20967 ) -> ::std::os::raw::c_int;
20968}
20969extern "C" {
20970 pub fn rte_eth_xstats_get_names_by_id(
20971 port_id: u16,
20972 xstats_names: *mut rte_eth_xstat_name,
20973 size: ::std::os::raw::c_uint,
20974 ids: *mut u64,
20975 ) -> ::std::os::raw::c_int;
20976}
20977extern "C" {
20978 pub fn rte_eth_xstats_get_by_id(
20979 port_id: u16,
20980 ids: *const u64,
20981 values: *mut u64,
20982 size: ::std::os::raw::c_uint,
20983 ) -> ::std::os::raw::c_int;
20984}
20985extern "C" {
20986 pub fn rte_eth_xstats_get_id_by_name(
20987 port_id: u16,
20988 xstat_name: *const ::std::os::raw::c_char,
20989 id: *mut u64,
20990 ) -> ::std::os::raw::c_int;
20991}
20992extern "C" {
20993 pub fn rte_eth_xstats_reset(port_id: u16) -> ::std::os::raw::c_int;
20994}
20995extern "C" {
20996 pub fn rte_eth_dev_set_tx_queue_stats_mapping(
20997 port_id: u16,
20998 tx_queue_id: u16,
20999 stat_idx: u8,
21000 ) -> ::std::os::raw::c_int;
21001}
21002extern "C" {
21003 pub fn rte_eth_dev_set_rx_queue_stats_mapping(
21004 port_id: u16,
21005 rx_queue_id: u16,
21006 stat_idx: u8,
21007 ) -> ::std::os::raw::c_int;
21008}
21009extern "C" {
21010 pub fn rte_eth_macaddr_get(
21011 port_id: u16,
21012 mac_addr: *mut rte_ether_addr,
21013 ) -> ::std::os::raw::c_int;
21014}
21015extern "C" {
21016 pub fn rte_eth_dev_info_get(
21017 port_id: u16,
21018 dev_info: *mut rte_eth_dev_info,
21019 ) -> ::std::os::raw::c_int;
21020}
21021extern "C" {
21022 pub fn rte_eth_dev_fw_version_get(
21023 port_id: u16,
21024 fw_version: *mut ::std::os::raw::c_char,
21025 fw_size: size_t,
21026 ) -> ::std::os::raw::c_int;
21027}
21028extern "C" {
21029 pub fn rte_eth_dev_get_supported_ptypes(
21030 port_id: u16,
21031 ptype_mask: u32,
21032 ptypes: *mut u32,
21033 num: ::std::os::raw::c_int,
21034 ) -> ::std::os::raw::c_int;
21035}
21036extern "C" {
21037 pub fn rte_eth_dev_set_ptypes(
21038 port_id: u16,
21039 ptype_mask: u32,
21040 set_ptypes: *mut u32,
21041 num: ::std::os::raw::c_uint,
21042 ) -> ::std::os::raw::c_int;
21043}
21044extern "C" {
21045 pub fn rte_eth_dev_get_mtu(port_id: u16, mtu: *mut u16) -> ::std::os::raw::c_int;
21046}
21047extern "C" {
21048 pub fn rte_eth_dev_set_mtu(port_id: u16, mtu: u16) -> ::std::os::raw::c_int;
21049}
21050extern "C" {
21051 pub fn rte_eth_dev_vlan_filter(
21052 port_id: u16,
21053 vlan_id: u16,
21054 on: ::std::os::raw::c_int,
21055 ) -> ::std::os::raw::c_int;
21056}
21057extern "C" {
21058 pub fn rte_eth_dev_set_vlan_strip_on_queue(
21059 port_id: u16,
21060 rx_queue_id: u16,
21061 on: ::std::os::raw::c_int,
21062 ) -> ::std::os::raw::c_int;
21063}
21064extern "C" {
21065 pub fn rte_eth_dev_set_vlan_ether_type(
21066 port_id: u16,
21067 vlan_type: rte_vlan_type::Type,
21068 tag_type: u16,
21069 ) -> ::std::os::raw::c_int;
21070}
21071extern "C" {
21072 pub fn rte_eth_dev_set_vlan_offload(
21073 port_id: u16,
21074 offload_mask: ::std::os::raw::c_int,
21075 ) -> ::std::os::raw::c_int;
21076}
21077extern "C" {
21078 pub fn rte_eth_dev_get_vlan_offload(port_id: u16) -> ::std::os::raw::c_int;
21079}
21080extern "C" {
21081 pub fn rte_eth_dev_set_vlan_pvid(
21082 port_id: u16,
21083 pvid: u16,
21084 on: ::std::os::raw::c_int,
21085 ) -> ::std::os::raw::c_int;
21086}
21087pub type buffer_tx_error_fn = ::std::option::Option<
21088 unsafe extern "C" fn(
21089 unsent: *mut *mut rte_mbuf,
21090 count: u16,
21091 userdata: *mut ::std::os::raw::c_void,
21092 ),
21093>;
21094#[repr(C)]
21095#[derive(Debug)]
21096pub struct rte_eth_dev_tx_buffer {
21097 pub error_callback: buffer_tx_error_fn,
21098 pub error_userdata: *mut ::std::os::raw::c_void,
21099 pub size: u16,
21100 pub length: u16,
21101 pub pkts: __IncompleteArrayField<*mut rte_mbuf>,
21102}
21103#[test]
21104fn bindgen_test_layout_rte_eth_dev_tx_buffer() {
21105 assert_eq!(
21106 ::std::mem::size_of::<rte_eth_dev_tx_buffer>(),
21107 24usize,
21108 concat!("Size of: ", stringify!(rte_eth_dev_tx_buffer))
21109 );
21110 assert_eq!(
21111 ::std::mem::align_of::<rte_eth_dev_tx_buffer>(),
21112 8usize,
21113 concat!("Alignment of ", stringify!(rte_eth_dev_tx_buffer))
21114 );
21115}
21116impl Default for rte_eth_dev_tx_buffer {
21117 fn default() -> Self {
21118 unsafe { ::std::mem::zeroed() }
21119 }
21120}
21121extern "C" {
21122 pub fn rte_eth_tx_buffer_init(
21123 buffer: *mut rte_eth_dev_tx_buffer,
21124 size: u16,
21125 ) -> ::std::os::raw::c_int;
21126}
21127extern "C" {
21128 pub fn rte_eth_tx_buffer_set_err_callback(
21129 buffer: *mut rte_eth_dev_tx_buffer,
21130 callback: buffer_tx_error_fn,
21131 userdata: *mut ::std::os::raw::c_void,
21132 ) -> ::std::os::raw::c_int;
21133}
21134extern "C" {
21135 pub fn rte_eth_tx_buffer_drop_callback(
21136 pkts: *mut *mut rte_mbuf,
21137 unsent: u16,
21138 userdata: *mut ::std::os::raw::c_void,
21139 );
21140}
21141extern "C" {
21142 pub fn rte_eth_tx_buffer_count_callback(
21143 pkts: *mut *mut rte_mbuf,
21144 unsent: u16,
21145 userdata: *mut ::std::os::raw::c_void,
21146 );
21147}
21148extern "C" {
21149 pub fn rte_eth_tx_done_cleanup(
21150 port_id: u16,
21151 queue_id: u16,
21152 free_cnt: u32,
21153 ) -> ::std::os::raw::c_int;
21154}
21155pub mod rte_eth_event_ipsec_subtype {
21156 pub type Type = ::std::os::raw::c_uint;
21157 pub const RTE_ETH_EVENT_IPSEC_UNKNOWN: Type = 0;
21158 pub const RTE_ETH_EVENT_IPSEC_ESN_OVERFLOW: Type = 1;
21159 pub const RTE_ETH_EVENT_IPSEC_SA_TIME_EXPIRY: Type = 2;
21160 pub const RTE_ETH_EVENT_IPSEC_SA_BYTE_EXPIRY: Type = 3;
21161 pub const RTE_ETH_EVENT_IPSEC_MAX: Type = 4;
21162}
21163#[repr(C)]
21164#[derive(Debug, Copy, Clone, PartialEq)]
21165pub struct rte_eth_event_ipsec_desc {
21166 pub subtype: rte_eth_event_ipsec_subtype::Type,
21167 pub metadata: u64,
21168}
21169#[test]
21170fn bindgen_test_layout_rte_eth_event_ipsec_desc() {
21171 assert_eq!(
21172 ::std::mem::size_of::<rte_eth_event_ipsec_desc>(),
21173 16usize,
21174 concat!("Size of: ", stringify!(rte_eth_event_ipsec_desc))
21175 );
21176 assert_eq!(
21177 ::std::mem::align_of::<rte_eth_event_ipsec_desc>(),
21178 8usize,
21179 concat!("Alignment of ", stringify!(rte_eth_event_ipsec_desc))
21180 );
21181 assert_eq!(
21182 unsafe {
21183 &(*(::std::ptr::null::<rte_eth_event_ipsec_desc>())).subtype as *const _ as usize
21184 },
21185 0usize,
21186 concat!(
21187 "Offset of field: ",
21188 stringify!(rte_eth_event_ipsec_desc),
21189 "::",
21190 stringify!(subtype)
21191 )
21192 );
21193 assert_eq!(
21194 unsafe {
21195 &(*(::std::ptr::null::<rte_eth_event_ipsec_desc>())).metadata as *const _ as usize
21196 },
21197 8usize,
21198 concat!(
21199 "Offset of field: ",
21200 stringify!(rte_eth_event_ipsec_desc),
21201 "::",
21202 stringify!(metadata)
21203 )
21204 );
21205}
21206impl Default for rte_eth_event_ipsec_desc {
21207 fn default() -> Self {
21208 unsafe { ::std::mem::zeroed() }
21209 }
21210}
21211pub mod rte_eth_event_type {
21212 pub type Type = ::std::os::raw::c_uint;
21213 pub const RTE_ETH_EVENT_UNKNOWN: Type = 0;
21214 pub const RTE_ETH_EVENT_INTR_LSC: Type = 1;
21215 pub const RTE_ETH_EVENT_QUEUE_STATE: Type = 2;
21216 pub const RTE_ETH_EVENT_INTR_RESET: Type = 3;
21217 pub const RTE_ETH_EVENT_VF_MBOX: Type = 4;
21218 pub const RTE_ETH_EVENT_MACSEC: Type = 5;
21219 pub const RTE_ETH_EVENT_INTR_RMV: Type = 6;
21220 pub const RTE_ETH_EVENT_NEW: Type = 7;
21221 pub const RTE_ETH_EVENT_DESTROY: Type = 8;
21222 pub const RTE_ETH_EVENT_IPSEC: Type = 9;
21223 pub const RTE_ETH_EVENT_MAX: Type = 10;
21224}
21225pub type rte_eth_dev_cb_fn = ::std::option::Option<
21226 unsafe extern "C" fn(
21227 port_id: u16,
21228 event: rte_eth_event_type::Type,
21229 cb_arg: *mut ::std::os::raw::c_void,
21230 ret_param: *mut ::std::os::raw::c_void,
21231 ) -> ::std::os::raw::c_int,
21232>;
21233extern "C" {
21234 pub fn rte_eth_dev_callback_register(
21235 port_id: u16,
21236 event: rte_eth_event_type::Type,
21237 cb_fn: rte_eth_dev_cb_fn,
21238 cb_arg: *mut ::std::os::raw::c_void,
21239 ) -> ::std::os::raw::c_int;
21240}
21241extern "C" {
21242 pub fn rte_eth_dev_callback_unregister(
21243 port_id: u16,
21244 event: rte_eth_event_type::Type,
21245 cb_fn: rte_eth_dev_cb_fn,
21246 cb_arg: *mut ::std::os::raw::c_void,
21247 ) -> ::std::os::raw::c_int;
21248}
21249extern "C" {
21250 pub fn rte_eth_dev_rx_intr_enable(port_id: u16, queue_id: u16) -> ::std::os::raw::c_int;
21251}
21252extern "C" {
21253 pub fn rte_eth_dev_rx_intr_disable(port_id: u16, queue_id: u16) -> ::std::os::raw::c_int;
21254}
21255extern "C" {
21256 pub fn rte_eth_dev_rx_intr_ctl(
21257 port_id: u16,
21258 epfd: ::std::os::raw::c_int,
21259 op: ::std::os::raw::c_int,
21260 data: *mut ::std::os::raw::c_void,
21261 ) -> ::std::os::raw::c_int;
21262}
21263extern "C" {
21264 pub fn rte_eth_dev_rx_intr_ctl_q(
21265 port_id: u16,
21266 queue_id: u16,
21267 epfd: ::std::os::raw::c_int,
21268 op: ::std::os::raw::c_int,
21269 data: *mut ::std::os::raw::c_void,
21270 ) -> ::std::os::raw::c_int;
21271}
21272extern "C" {
21273 pub fn rte_eth_dev_rx_intr_ctl_q_get_fd(port_id: u16, queue_id: u16) -> ::std::os::raw::c_int;
21274}
21275extern "C" {
21276 pub fn rte_eth_led_on(port_id: u16) -> ::std::os::raw::c_int;
21277}
21278extern "C" {
21279 pub fn rte_eth_led_off(port_id: u16) -> ::std::os::raw::c_int;
21280}
21281extern "C" {
21282 pub fn rte_eth_dev_flow_ctrl_get(
21283 port_id: u16,
21284 fc_conf: *mut rte_eth_fc_conf,
21285 ) -> ::std::os::raw::c_int;
21286}
21287extern "C" {
21288 pub fn rte_eth_dev_flow_ctrl_set(
21289 port_id: u16,
21290 fc_conf: *mut rte_eth_fc_conf,
21291 ) -> ::std::os::raw::c_int;
21292}
21293extern "C" {
21294 pub fn rte_eth_dev_priority_flow_ctrl_set(
21295 port_id: u16,
21296 pfc_conf: *mut rte_eth_pfc_conf,
21297 ) -> ::std::os::raw::c_int;
21298}
21299extern "C" {
21300 pub fn rte_eth_dev_mac_addr_add(
21301 port_id: u16,
21302 mac_addr: *mut rte_ether_addr,
21303 pool: u32,
21304 ) -> ::std::os::raw::c_int;
21305}
21306extern "C" {
21307 pub fn rte_eth_dev_mac_addr_remove(
21308 port_id: u16,
21309 mac_addr: *mut rte_ether_addr,
21310 ) -> ::std::os::raw::c_int;
21311}
21312extern "C" {
21313 pub fn rte_eth_dev_default_mac_addr_set(
21314 port_id: u16,
21315 mac_addr: *mut rte_ether_addr,
21316 ) -> ::std::os::raw::c_int;
21317}
21318extern "C" {
21319 pub fn rte_eth_dev_rss_reta_update(
21320 port_id: u16,
21321 reta_conf: *mut rte_eth_rss_reta_entry64,
21322 reta_size: u16,
21323 ) -> ::std::os::raw::c_int;
21324}
21325extern "C" {
21326 pub fn rte_eth_dev_rss_reta_query(
21327 port_id: u16,
21328 reta_conf: *mut rte_eth_rss_reta_entry64,
21329 reta_size: u16,
21330 ) -> ::std::os::raw::c_int;
21331}
21332extern "C" {
21333 pub fn rte_eth_dev_uc_hash_table_set(
21334 port_id: u16,
21335 addr: *mut rte_ether_addr,
21336 on: u8,
21337 ) -> ::std::os::raw::c_int;
21338}
21339extern "C" {
21340 pub fn rte_eth_dev_uc_all_hash_table_set(port_id: u16, on: u8) -> ::std::os::raw::c_int;
21341}
21342extern "C" {
21343 pub fn rte_eth_mirror_rule_set(
21344 port_id: u16,
21345 mirror_conf: *mut rte_eth_mirror_conf,
21346 rule_id: u8,
21347 on: u8,
21348 ) -> ::std::os::raw::c_int;
21349}
21350extern "C" {
21351 pub fn rte_eth_mirror_rule_reset(port_id: u16, rule_id: u8) -> ::std::os::raw::c_int;
21352}
21353extern "C" {
21354 pub fn rte_eth_set_queue_rate_limit(
21355 port_id: u16,
21356 queue_idx: u16,
21357 tx_rate: u16,
21358 ) -> ::std::os::raw::c_int;
21359}
21360extern "C" {
21361 pub fn rte_eth_dev_rss_hash_update(
21362 port_id: u16,
21363 rss_conf: *mut rte_eth_rss_conf,
21364 ) -> ::std::os::raw::c_int;
21365}
21366extern "C" {
21367 pub fn rte_eth_dev_rss_hash_conf_get(
21368 port_id: u16,
21369 rss_conf: *mut rte_eth_rss_conf,
21370 ) -> ::std::os::raw::c_int;
21371}
21372extern "C" {
21373 pub fn rte_eth_dev_udp_tunnel_port_add(
21374 port_id: u16,
21375 tunnel_udp: *mut rte_eth_udp_tunnel,
21376 ) -> ::std::os::raw::c_int;
21377}
21378extern "C" {
21379 pub fn rte_eth_dev_udp_tunnel_port_delete(
21380 port_id: u16,
21381 tunnel_udp: *mut rte_eth_udp_tunnel,
21382 ) -> ::std::os::raw::c_int;
21383}
21384extern "C" {
21385 pub fn rte_eth_dev_filter_supported(
21386 port_id: u16,
21387 filter_type: rte_filter_type::Type,
21388 ) -> ::std::os::raw::c_int;
21389}
21390extern "C" {
21391 pub fn rte_eth_dev_filter_ctrl(
21392 port_id: u16,
21393 filter_type: rte_filter_type::Type,
21394 filter_op: rte_filter_op::Type,
21395 arg: *mut ::std::os::raw::c_void,
21396 ) -> ::std::os::raw::c_int;
21397}
21398extern "C" {
21399 pub fn rte_eth_dev_get_dcb_info(
21400 port_id: u16,
21401 dcb_info: *mut rte_eth_dcb_info,
21402 ) -> ::std::os::raw::c_int;
21403}
21404extern "C" {
21405 pub fn rte_eth_add_rx_callback(
21406 port_id: u16,
21407 queue_id: u16,
21408 fn_: rte_rx_callback_fn,
21409 user_param: *mut ::std::os::raw::c_void,
21410 ) -> *const rte_eth_rxtx_callback;
21411}
21412extern "C" {
21413 pub fn rte_eth_add_first_rx_callback(
21414 port_id: u16,
21415 queue_id: u16,
21416 fn_: rte_rx_callback_fn,
21417 user_param: *mut ::std::os::raw::c_void,
21418 ) -> *const rte_eth_rxtx_callback;
21419}
21420extern "C" {
21421 pub fn rte_eth_add_tx_callback(
21422 port_id: u16,
21423 queue_id: u16,
21424 fn_: rte_tx_callback_fn,
21425 user_param: *mut ::std::os::raw::c_void,
21426 ) -> *const rte_eth_rxtx_callback;
21427}
21428extern "C" {
21429 pub fn rte_eth_remove_rx_callback(
21430 port_id: u16,
21431 queue_id: u16,
21432 user_cb: *const rte_eth_rxtx_callback,
21433 ) -> ::std::os::raw::c_int;
21434}
21435extern "C" {
21436 pub fn rte_eth_remove_tx_callback(
21437 port_id: u16,
21438 queue_id: u16,
21439 user_cb: *const rte_eth_rxtx_callback,
21440 ) -> ::std::os::raw::c_int;
21441}
21442extern "C" {
21443 pub fn rte_eth_rx_queue_info_get(
21444 port_id: u16,
21445 queue_id: u16,
21446 qinfo: *mut rte_eth_rxq_info,
21447 ) -> ::std::os::raw::c_int;
21448}
21449extern "C" {
21450 pub fn rte_eth_tx_queue_info_get(
21451 port_id: u16,
21452 queue_id: u16,
21453 qinfo: *mut rte_eth_txq_info,
21454 ) -> ::std::os::raw::c_int;
21455}
21456extern "C" {
21457 pub fn rte_eth_rx_burst_mode_get(
21458 port_id: u16,
21459 queue_id: u16,
21460 mode: *mut rte_eth_burst_mode,
21461 ) -> ::std::os::raw::c_int;
21462}
21463extern "C" {
21464 pub fn rte_eth_tx_burst_mode_get(
21465 port_id: u16,
21466 queue_id: u16,
21467 mode: *mut rte_eth_burst_mode,
21468 ) -> ::std::os::raw::c_int;
21469}
21470extern "C" {
21471 pub fn rte_eth_dev_get_reg_info(
21472 port_id: u16,
21473 info: *mut rte_dev_reg_info,
21474 ) -> ::std::os::raw::c_int;
21475}
21476extern "C" {
21477 pub fn rte_eth_dev_get_eeprom_length(port_id: u16) -> ::std::os::raw::c_int;
21478}
21479extern "C" {
21480 pub fn rte_eth_dev_get_eeprom(
21481 port_id: u16,
21482 info: *mut rte_dev_eeprom_info,
21483 ) -> ::std::os::raw::c_int;
21484}
21485extern "C" {
21486 pub fn rte_eth_dev_set_eeprom(
21487 port_id: u16,
21488 info: *mut rte_dev_eeprom_info,
21489 ) -> ::std::os::raw::c_int;
21490}
21491extern "C" {
21492 pub fn rte_eth_dev_get_module_info(
21493 port_id: u16,
21494 modinfo: *mut rte_eth_dev_module_info,
21495 ) -> ::std::os::raw::c_int;
21496}
21497extern "C" {
21498 pub fn rte_eth_dev_get_module_eeprom(
21499 port_id: u16,
21500 info: *mut rte_dev_eeprom_info,
21501 ) -> ::std::os::raw::c_int;
21502}
21503extern "C" {
21504 pub fn rte_eth_dev_set_mc_addr_list(
21505 port_id: u16,
21506 mc_addr_set: *mut rte_ether_addr,
21507 nb_mc_addr: u32,
21508 ) -> ::std::os::raw::c_int;
21509}
21510extern "C" {
21511 pub fn rte_eth_timesync_enable(port_id: u16) -> ::std::os::raw::c_int;
21512}
21513extern "C" {
21514 pub fn rte_eth_timesync_disable(port_id: u16) -> ::std::os::raw::c_int;
21515}
21516extern "C" {
21517 pub fn rte_eth_timesync_read_rx_timestamp(
21518 port_id: u16,
21519 timestamp: *mut timespec,
21520 flags: u32,
21521 ) -> ::std::os::raw::c_int;
21522}
21523extern "C" {
21524 pub fn rte_eth_timesync_read_tx_timestamp(
21525 port_id: u16,
21526 timestamp: *mut timespec,
21527 ) -> ::std::os::raw::c_int;
21528}
21529extern "C" {
21530 pub fn rte_eth_timesync_adjust_time(port_id: u16, delta: i64) -> ::std::os::raw::c_int;
21531}
21532extern "C" {
21533 pub fn rte_eth_timesync_read_time(port_id: u16, time: *mut timespec) -> ::std::os::raw::c_int;
21534}
21535extern "C" {
21536 pub fn rte_eth_timesync_write_time(
21537 port_id: u16,
21538 time: *const timespec,
21539 ) -> ::std::os::raw::c_int;
21540}
21541extern "C" {
21542 pub fn rte_eth_read_clock(port_id: u16, clock: *mut u64) -> ::std::os::raw::c_int;
21543}
21544extern "C" {
21545 pub fn rte_eth_dev_l2_tunnel_eth_type_conf(
21546 port_id: u16,
21547 l2_tunnel: *mut rte_eth_l2_tunnel_conf,
21548 ) -> ::std::os::raw::c_int;
21549}
21550extern "C" {
21551 pub fn rte_eth_dev_l2_tunnel_offload_set(
21552 port_id: u16,
21553 l2_tunnel: *mut rte_eth_l2_tunnel_conf,
21554 mask: u32,
21555 en: u8,
21556 ) -> ::std::os::raw::c_int;
21557}
21558extern "C" {
21559 pub fn rte_eth_dev_get_port_by_name(
21560 name: *const ::std::os::raw::c_char,
21561 port_id: *mut u16,
21562 ) -> ::std::os::raw::c_int;
21563}
21564extern "C" {
21565 pub fn rte_eth_dev_get_name_by_port(
21566 port_id: u16,
21567 name: *mut ::std::os::raw::c_char,
21568 ) -> ::std::os::raw::c_int;
21569}
21570extern "C" {
21571 pub fn rte_eth_dev_adjust_nb_rx_tx_desc(
21572 port_id: u16,
21573 nb_rx_desc: *mut u16,
21574 nb_tx_desc: *mut u16,
21575 ) -> ::std::os::raw::c_int;
21576}
21577extern "C" {
21578 pub fn rte_eth_dev_pool_ops_supported(
21579 port_id: u16,
21580 pool: *const ::std::os::raw::c_char,
21581 ) -> ::std::os::raw::c_int;
21582}
21583extern "C" {
21584 pub fn rte_eth_dev_get_sec_ctx(port_id: u16) -> *mut ::std::os::raw::c_void;
21585}
21586extern "C" {
21587 pub fn rte_eth_dev_hairpin_capability_get(
21588 port_id: u16,
21589 cap: *mut rte_eth_hairpin_cap,
21590 ) -> ::std::os::raw::c_int;
21591}
21592#[repr(C)]
21593#[derive(Debug, Copy, Clone)]
21594pub struct rte_eth_dev_callback {
21595 _unused: [u8; 0],
21596}
21597#[repr(C)]
21598#[derive(Debug, Copy, Clone, PartialEq)]
21599pub struct rte_eth_dev_cb_list {
21600 pub tqh_first: *mut rte_eth_dev_callback,
21601 pub tqh_last: *mut *mut rte_eth_dev_callback,
21602}
21603#[test]
21604fn bindgen_test_layout_rte_eth_dev_cb_list() {
21605 assert_eq!(
21606 ::std::mem::size_of::<rte_eth_dev_cb_list>(),
21607 16usize,
21608 concat!("Size of: ", stringify!(rte_eth_dev_cb_list))
21609 );
21610 assert_eq!(
21611 ::std::mem::align_of::<rte_eth_dev_cb_list>(),
21612 8usize,
21613 concat!("Alignment of ", stringify!(rte_eth_dev_cb_list))
21614 );
21615 assert_eq!(
21616 unsafe { &(*(::std::ptr::null::<rte_eth_dev_cb_list>())).tqh_first as *const _ as usize },
21617 0usize,
21618 concat!(
21619 "Offset of field: ",
21620 stringify!(rte_eth_dev_cb_list),
21621 "::",
21622 stringify!(tqh_first)
21623 )
21624 );
21625 assert_eq!(
21626 unsafe { &(*(::std::ptr::null::<rte_eth_dev_cb_list>())).tqh_last as *const _ as usize },
21627 8usize,
21628 concat!(
21629 "Offset of field: ",
21630 stringify!(rte_eth_dev_cb_list),
21631 "::",
21632 stringify!(tqh_last)
21633 )
21634 );
21635}
21636impl Default for rte_eth_dev_cb_list {
21637 fn default() -> Self {
21638 unsafe { ::std::mem::zeroed() }
21639 }
21640}
21641pub type eth_dev_configure_t =
21642 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21643pub type eth_dev_start_t =
21644 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21645pub type eth_dev_stop_t = ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev)>;
21646pub type eth_dev_set_link_up_t =
21647 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21648pub type eth_dev_set_link_down_t =
21649 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21650pub type eth_dev_close_t = ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev)>;
21651pub type eth_dev_reset_t =
21652 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21653pub type eth_is_removed_t =
21654 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21655pub type eth_promiscuous_enable_t =
21656 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21657pub type eth_promiscuous_disable_t =
21658 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21659pub type eth_allmulticast_enable_t =
21660 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21661pub type eth_allmulticast_disable_t =
21662 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21663pub type eth_link_update_t = ::std::option::Option<
21664 unsafe extern "C" fn(
21665 dev: *mut rte_eth_dev,
21666 wait_to_complete: ::std::os::raw::c_int,
21667 ) -> ::std::os::raw::c_int,
21668>;
21669pub type eth_stats_get_t = ::std::option::Option<
21670 unsafe extern "C" fn(
21671 dev: *mut rte_eth_dev,
21672 igb_stats: *mut rte_eth_stats,
21673 ) -> ::std::os::raw::c_int,
21674>;
21675pub type eth_stats_reset_t =
21676 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21677pub type eth_xstats_get_t = ::std::option::Option<
21678 unsafe extern "C" fn(
21679 dev: *mut rte_eth_dev,
21680 stats: *mut rte_eth_xstat,
21681 n: ::std::os::raw::c_uint,
21682 ) -> ::std::os::raw::c_int,
21683>;
21684pub type eth_xstats_get_by_id_t = ::std::option::Option<
21685 unsafe extern "C" fn(
21686 dev: *mut rte_eth_dev,
21687 ids: *const u64,
21688 values: *mut u64,
21689 n: ::std::os::raw::c_uint,
21690 ) -> ::std::os::raw::c_int,
21691>;
21692pub type eth_xstats_reset_t =
21693 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21694pub type eth_xstats_get_names_t = ::std::option::Option<
21695 unsafe extern "C" fn(
21696 dev: *mut rte_eth_dev,
21697 xstats_names: *mut rte_eth_xstat_name,
21698 size: ::std::os::raw::c_uint,
21699 ) -> ::std::os::raw::c_int,
21700>;
21701pub type eth_xstats_get_names_by_id_t = ::std::option::Option<
21702 unsafe extern "C" fn(
21703 dev: *mut rte_eth_dev,
21704 xstats_names: *mut rte_eth_xstat_name,
21705 ids: *const u64,
21706 size: ::std::os::raw::c_uint,
21707 ) -> ::std::os::raw::c_int,
21708>;
21709pub type eth_queue_stats_mapping_set_t = ::std::option::Option<
21710 unsafe extern "C" fn(
21711 dev: *mut rte_eth_dev,
21712 queue_id: u16,
21713 stat_idx: u8,
21714 is_rx: u8,
21715 ) -> ::std::os::raw::c_int,
21716>;
21717pub type eth_dev_infos_get_t = ::std::option::Option<
21718 unsafe extern "C" fn(
21719 dev: *mut rte_eth_dev,
21720 dev_info: *mut rte_eth_dev_info,
21721 ) -> ::std::os::raw::c_int,
21722>;
21723pub type eth_dev_supported_ptypes_get_t =
21724 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> *const u32>;
21725pub type eth_dev_ptypes_set_t = ::std::option::Option<
21726 unsafe extern "C" fn(dev: *mut rte_eth_dev, ptype_mask: u32) -> ::std::os::raw::c_int,
21727>;
21728pub type eth_queue_start_t = ::std::option::Option<
21729 unsafe extern "C" fn(dev: *mut rte_eth_dev, queue_id: u16) -> ::std::os::raw::c_int,
21730>;
21731pub type eth_queue_stop_t = ::std::option::Option<
21732 unsafe extern "C" fn(dev: *mut rte_eth_dev, queue_id: u16) -> ::std::os::raw::c_int,
21733>;
21734pub type eth_rx_queue_setup_t = ::std::option::Option<
21735 unsafe extern "C" fn(
21736 dev: *mut rte_eth_dev,
21737 rx_queue_id: u16,
21738 nb_rx_desc: u16,
21739 socket_id: ::std::os::raw::c_uint,
21740 rx_conf: *const rte_eth_rxconf,
21741 mb_pool: *mut rte_mempool,
21742 ) -> ::std::os::raw::c_int,
21743>;
21744pub type eth_tx_queue_setup_t = ::std::option::Option<
21745 unsafe extern "C" fn(
21746 dev: *mut rte_eth_dev,
21747 tx_queue_id: u16,
21748 nb_tx_desc: u16,
21749 socket_id: ::std::os::raw::c_uint,
21750 tx_conf: *const rte_eth_txconf,
21751 ) -> ::std::os::raw::c_int,
21752>;
21753pub type eth_rx_enable_intr_t = ::std::option::Option<
21754 unsafe extern "C" fn(dev: *mut rte_eth_dev, rx_queue_id: u16) -> ::std::os::raw::c_int,
21755>;
21756pub type eth_rx_disable_intr_t = ::std::option::Option<
21757 unsafe extern "C" fn(dev: *mut rte_eth_dev, rx_queue_id: u16) -> ::std::os::raw::c_int,
21758>;
21759pub type eth_queue_release_t =
21760 ::std::option::Option<unsafe extern "C" fn(queue: *mut ::std::os::raw::c_void)>;
21761pub type eth_rx_queue_count_t =
21762 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev, rx_queue_id: u16) -> u32>;
21763pub type eth_rx_descriptor_done_t = ::std::option::Option<
21764 unsafe extern "C" fn(rxq: *mut ::std::os::raw::c_void, offset: u16) -> ::std::os::raw::c_int,
21765>;
21766pub type eth_rx_descriptor_status_t = ::std::option::Option<
21767 unsafe extern "C" fn(rxq: *mut ::std::os::raw::c_void, offset: u16) -> ::std::os::raw::c_int,
21768>;
21769pub type eth_tx_descriptor_status_t = ::std::option::Option<
21770 unsafe extern "C" fn(txq: *mut ::std::os::raw::c_void, offset: u16) -> ::std::os::raw::c_int,
21771>;
21772pub type eth_fw_version_get_t = ::std::option::Option<
21773 unsafe extern "C" fn(
21774 dev: *mut rte_eth_dev,
21775 fw_version: *mut ::std::os::raw::c_char,
21776 fw_size: size_t,
21777 ) -> ::std::os::raw::c_int,
21778>;
21779pub type eth_tx_done_cleanup_t = ::std::option::Option<
21780 unsafe extern "C" fn(txq: *mut ::std::os::raw::c_void, free_cnt: u32) -> ::std::os::raw::c_int,
21781>;
21782pub type eth_rxq_info_get_t = ::std::option::Option<
21783 unsafe extern "C" fn(dev: *mut rte_eth_dev, rx_queue_id: u16, qinfo: *mut rte_eth_rxq_info),
21784>;
21785pub type eth_txq_info_get_t = ::std::option::Option<
21786 unsafe extern "C" fn(dev: *mut rte_eth_dev, tx_queue_id: u16, qinfo: *mut rte_eth_txq_info),
21787>;
21788pub type eth_burst_mode_get_t = ::std::option::Option<
21789 unsafe extern "C" fn(
21790 dev: *mut rte_eth_dev,
21791 queue_id: u16,
21792 mode: *mut rte_eth_burst_mode,
21793 ) -> ::std::os::raw::c_int,
21794>;
21795pub type mtu_set_t = ::std::option::Option<
21796 unsafe extern "C" fn(dev: *mut rte_eth_dev, mtu: u16) -> ::std::os::raw::c_int,
21797>;
21798pub type vlan_filter_set_t = ::std::option::Option<
21799 unsafe extern "C" fn(
21800 dev: *mut rte_eth_dev,
21801 vlan_id: u16,
21802 on: ::std::os::raw::c_int,
21803 ) -> ::std::os::raw::c_int,
21804>;
21805pub type vlan_tpid_set_t = ::std::option::Option<
21806 unsafe extern "C" fn(
21807 dev: *mut rte_eth_dev,
21808 type_: rte_vlan_type::Type,
21809 tpid: u16,
21810 ) -> ::std::os::raw::c_int,
21811>;
21812pub type vlan_offload_set_t = ::std::option::Option<
21813 unsafe extern "C" fn(
21814 dev: *mut rte_eth_dev,
21815 mask: ::std::os::raw::c_int,
21816 ) -> ::std::os::raw::c_int,
21817>;
21818pub type vlan_pvid_set_t = ::std::option::Option<
21819 unsafe extern "C" fn(
21820 dev: *mut rte_eth_dev,
21821 vlan_id: u16,
21822 on: ::std::os::raw::c_int,
21823 ) -> ::std::os::raw::c_int,
21824>;
21825pub type vlan_strip_queue_set_t = ::std::option::Option<
21826 unsafe extern "C" fn(dev: *mut rte_eth_dev, rx_queue_id: u16, on: ::std::os::raw::c_int),
21827>;
21828pub type eth_rx_burst_t = ::std::option::Option<
21829 unsafe extern "C" fn(
21830 rxq: *mut ::std::os::raw::c_void,
21831 rx_pkts: *mut *mut rte_mbuf,
21832 nb_pkts: u16,
21833 ) -> u16,
21834>;
21835pub type eth_tx_burst_t = ::std::option::Option<
21836 unsafe extern "C" fn(
21837 txq: *mut ::std::os::raw::c_void,
21838 tx_pkts: *mut *mut rte_mbuf,
21839 nb_pkts: u16,
21840 ) -> u16,
21841>;
21842pub type eth_tx_prep_t = ::std::option::Option<
21843 unsafe extern "C" fn(
21844 txq: *mut ::std::os::raw::c_void,
21845 tx_pkts: *mut *mut rte_mbuf,
21846 nb_pkts: u16,
21847 ) -> u16,
21848>;
21849pub type flow_ctrl_get_t = ::std::option::Option<
21850 unsafe extern "C" fn(
21851 dev: *mut rte_eth_dev,
21852 fc_conf: *mut rte_eth_fc_conf,
21853 ) -> ::std::os::raw::c_int,
21854>;
21855pub type flow_ctrl_set_t = ::std::option::Option<
21856 unsafe extern "C" fn(
21857 dev: *mut rte_eth_dev,
21858 fc_conf: *mut rte_eth_fc_conf,
21859 ) -> ::std::os::raw::c_int,
21860>;
21861pub type priority_flow_ctrl_set_t = ::std::option::Option<
21862 unsafe extern "C" fn(
21863 dev: *mut rte_eth_dev,
21864 pfc_conf: *mut rte_eth_pfc_conf,
21865 ) -> ::std::os::raw::c_int,
21866>;
21867pub type reta_update_t = ::std::option::Option<
21868 unsafe extern "C" fn(
21869 dev: *mut rte_eth_dev,
21870 reta_conf: *mut rte_eth_rss_reta_entry64,
21871 reta_size: u16,
21872 ) -> ::std::os::raw::c_int,
21873>;
21874pub type reta_query_t = ::std::option::Option<
21875 unsafe extern "C" fn(
21876 dev: *mut rte_eth_dev,
21877 reta_conf: *mut rte_eth_rss_reta_entry64,
21878 reta_size: u16,
21879 ) -> ::std::os::raw::c_int,
21880>;
21881pub type rss_hash_update_t = ::std::option::Option<
21882 unsafe extern "C" fn(
21883 dev: *mut rte_eth_dev,
21884 rss_conf: *mut rte_eth_rss_conf,
21885 ) -> ::std::os::raw::c_int,
21886>;
21887pub type rss_hash_conf_get_t = ::std::option::Option<
21888 unsafe extern "C" fn(
21889 dev: *mut rte_eth_dev,
21890 rss_conf: *mut rte_eth_rss_conf,
21891 ) -> ::std::os::raw::c_int,
21892>;
21893pub type eth_dev_led_on_t =
21894 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21895pub type eth_dev_led_off_t =
21896 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21897pub type eth_mac_addr_remove_t =
21898 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev, index: u32)>;
21899pub type eth_mac_addr_add_t = ::std::option::Option<
21900 unsafe extern "C" fn(
21901 dev: *mut rte_eth_dev,
21902 mac_addr: *mut rte_ether_addr,
21903 index: u32,
21904 vmdq: u32,
21905 ) -> ::std::os::raw::c_int,
21906>;
21907pub type eth_mac_addr_set_t = ::std::option::Option<
21908 unsafe extern "C" fn(
21909 dev: *mut rte_eth_dev,
21910 mac_addr: *mut rte_ether_addr,
21911 ) -> ::std::os::raw::c_int,
21912>;
21913pub type eth_uc_hash_table_set_t = ::std::option::Option<
21914 unsafe extern "C" fn(
21915 dev: *mut rte_eth_dev,
21916 mac_addr: *mut rte_ether_addr,
21917 on: u8,
21918 ) -> ::std::os::raw::c_int,
21919>;
21920pub type eth_uc_all_hash_table_set_t = ::std::option::Option<
21921 unsafe extern "C" fn(dev: *mut rte_eth_dev, on: u8) -> ::std::os::raw::c_int,
21922>;
21923pub type eth_set_queue_rate_limit_t = ::std::option::Option<
21924 unsafe extern "C" fn(
21925 dev: *mut rte_eth_dev,
21926 queue_idx: u16,
21927 tx_rate: u16,
21928 ) -> ::std::os::raw::c_int,
21929>;
21930pub type eth_mirror_rule_set_t = ::std::option::Option<
21931 unsafe extern "C" fn(
21932 dev: *mut rte_eth_dev,
21933 mirror_conf: *mut rte_eth_mirror_conf,
21934 rule_id: u8,
21935 on: u8,
21936 ) -> ::std::os::raw::c_int,
21937>;
21938pub type eth_mirror_rule_reset_t = ::std::option::Option<
21939 unsafe extern "C" fn(dev: *mut rte_eth_dev, rule_id: u8) -> ::std::os::raw::c_int,
21940>;
21941pub type eth_udp_tunnel_port_add_t = ::std::option::Option<
21942 unsafe extern "C" fn(
21943 dev: *mut rte_eth_dev,
21944 tunnel_udp: *mut rte_eth_udp_tunnel,
21945 ) -> ::std::os::raw::c_int,
21946>;
21947pub type eth_udp_tunnel_port_del_t = ::std::option::Option<
21948 unsafe extern "C" fn(
21949 dev: *mut rte_eth_dev,
21950 tunnel_udp: *mut rte_eth_udp_tunnel,
21951 ) -> ::std::os::raw::c_int,
21952>;
21953pub type eth_set_mc_addr_list_t = ::std::option::Option<
21954 unsafe extern "C" fn(
21955 dev: *mut rte_eth_dev,
21956 mc_addr_set: *mut rte_ether_addr,
21957 nb_mc_addr: u32,
21958 ) -> ::std::os::raw::c_int,
21959>;
21960pub type eth_timesync_enable_t =
21961 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21962pub type eth_timesync_disable_t =
21963 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21964pub type eth_timesync_read_rx_timestamp_t = ::std::option::Option<
21965 unsafe extern "C" fn(
21966 dev: *mut rte_eth_dev,
21967 timestamp: *mut timespec,
21968 flags: u32,
21969 ) -> ::std::os::raw::c_int,
21970>;
21971pub type eth_timesync_read_tx_timestamp_t = ::std::option::Option<
21972 unsafe extern "C" fn(dev: *mut rte_eth_dev, timestamp: *mut timespec) -> ::std::os::raw::c_int,
21973>;
21974pub type eth_timesync_adjust_time = ::std::option::Option<
21975 unsafe extern "C" fn(dev: *mut rte_eth_dev, arg1: i64) -> ::std::os::raw::c_int,
21976>;
21977pub type eth_timesync_read_time = ::std::option::Option<
21978 unsafe extern "C" fn(dev: *mut rte_eth_dev, timestamp: *mut timespec) -> ::std::os::raw::c_int,
21979>;
21980pub type eth_timesync_write_time = ::std::option::Option<
21981 unsafe extern "C" fn(
21982 dev: *mut rte_eth_dev,
21983 timestamp: *const timespec,
21984 ) -> ::std::os::raw::c_int,
21985>;
21986pub type eth_read_clock = ::std::option::Option<
21987 unsafe extern "C" fn(dev: *mut rte_eth_dev, timestamp: *mut u64) -> ::std::os::raw::c_int,
21988>;
21989pub type eth_get_reg_t = ::std::option::Option<
21990 unsafe extern "C" fn(
21991 dev: *mut rte_eth_dev,
21992 info: *mut rte_dev_reg_info,
21993 ) -> ::std::os::raw::c_int,
21994>;
21995pub type eth_get_eeprom_length_t =
21996 ::std::option::Option<unsafe extern "C" fn(dev: *mut rte_eth_dev) -> ::std::os::raw::c_int>;
21997pub type eth_get_eeprom_t = ::std::option::Option<
21998 unsafe extern "C" fn(
21999 dev: *mut rte_eth_dev,
22000 info: *mut rte_dev_eeprom_info,
22001 ) -> ::std::os::raw::c_int,
22002>;
22003pub type eth_set_eeprom_t = ::std::option::Option<
22004 unsafe extern "C" fn(
22005 dev: *mut rte_eth_dev,
22006 info: *mut rte_dev_eeprom_info,
22007 ) -> ::std::os::raw::c_int,
22008>;
22009pub type eth_get_module_info_t = ::std::option::Option<
22010 unsafe extern "C" fn(
22011 dev: *mut rte_eth_dev,
22012 modinfo: *mut rte_eth_dev_module_info,
22013 ) -> ::std::os::raw::c_int,
22014>;
22015pub type eth_get_module_eeprom_t = ::std::option::Option<
22016 unsafe extern "C" fn(
22017 dev: *mut rte_eth_dev,
22018 info: *mut rte_dev_eeprom_info,
22019 ) -> ::std::os::raw::c_int,
22020>;
22021pub type eth_l2_tunnel_eth_type_conf_t = ::std::option::Option<
22022 unsafe extern "C" fn(
22023 dev: *mut rte_eth_dev,
22024 l2_tunnel: *mut rte_eth_l2_tunnel_conf,
22025 ) -> ::std::os::raw::c_int,
22026>;
22027pub type eth_l2_tunnel_offload_set_t = ::std::option::Option<
22028 unsafe extern "C" fn(
22029 dev: *mut rte_eth_dev,
22030 l2_tunnel: *mut rte_eth_l2_tunnel_conf,
22031 mask: u32,
22032 en: u8,
22033 ) -> ::std::os::raw::c_int,
22034>;
22035pub type eth_filter_ctrl_t = ::std::option::Option<
22036 unsafe extern "C" fn(
22037 dev: *mut rte_eth_dev,
22038 filter_type: rte_filter_type::Type,
22039 filter_op: rte_filter_op::Type,
22040 arg: *mut ::std::os::raw::c_void,
22041 ) -> ::std::os::raw::c_int,
22042>;
22043pub type eth_tm_ops_get_t = ::std::option::Option<
22044 unsafe extern "C" fn(
22045 dev: *mut rte_eth_dev,
22046 ops: *mut ::std::os::raw::c_void,
22047 ) -> ::std::os::raw::c_int,
22048>;
22049pub type eth_mtr_ops_get_t = ::std::option::Option<
22050 unsafe extern "C" fn(
22051 dev: *mut rte_eth_dev,
22052 ops: *mut ::std::os::raw::c_void,
22053 ) -> ::std::os::raw::c_int,
22054>;
22055pub type eth_get_dcb_info = ::std::option::Option<
22056 unsafe extern "C" fn(
22057 dev: *mut rte_eth_dev,
22058 dcb_info: *mut rte_eth_dcb_info,
22059 ) -> ::std::os::raw::c_int,
22060>;
22061pub type eth_pool_ops_supported_t = ::std::option::Option<
22062 unsafe extern "C" fn(
22063 dev: *mut rte_eth_dev,
22064 pool: *const ::std::os::raw::c_char,
22065 ) -> ::std::os::raw::c_int,
22066>;
22067pub type eth_hairpin_cap_get_t = ::std::option::Option<
22068 unsafe extern "C" fn(
22069 dev: *mut rte_eth_dev,
22070 cap: *mut rte_eth_hairpin_cap,
22071 ) -> ::std::os::raw::c_int,
22072>;
22073pub type eth_rx_hairpin_queue_setup_t = ::std::option::Option<
22074 unsafe extern "C" fn(
22075 dev: *mut rte_eth_dev,
22076 rx_queue_id: u16,
22077 nb_rx_desc: u16,
22078 conf: *const rte_eth_hairpin_conf,
22079 ) -> ::std::os::raw::c_int,
22080>;
22081pub type eth_tx_hairpin_queue_setup_t = ::std::option::Option<
22082 unsafe extern "C" fn(
22083 dev: *mut rte_eth_dev,
22084 tx_queue_id: u16,
22085 nb_tx_desc: u16,
22086 hairpin_conf: *const rte_eth_hairpin_conf,
22087 ) -> ::std::os::raw::c_int,
22088>;
22089#[repr(C)]
22090#[derive(Debug, Default, Copy, Clone, PartialEq)]
22091pub struct eth_dev_ops {
22092 pub dev_configure: eth_dev_configure_t,
22093 pub dev_start: eth_dev_start_t,
22094 pub dev_stop: eth_dev_stop_t,
22095 pub dev_set_link_up: eth_dev_set_link_up_t,
22096 pub dev_set_link_down: eth_dev_set_link_down_t,
22097 pub dev_close: eth_dev_close_t,
22098 pub dev_reset: eth_dev_reset_t,
22099 pub link_update: eth_link_update_t,
22100 pub is_removed: eth_is_removed_t,
22101 pub promiscuous_enable: eth_promiscuous_enable_t,
22102 pub promiscuous_disable: eth_promiscuous_disable_t,
22103 pub allmulticast_enable: eth_allmulticast_enable_t,
22104 pub allmulticast_disable: eth_allmulticast_disable_t,
22105 pub mac_addr_remove: eth_mac_addr_remove_t,
22106 pub mac_addr_add: eth_mac_addr_add_t,
22107 pub mac_addr_set: eth_mac_addr_set_t,
22108 pub set_mc_addr_list: eth_set_mc_addr_list_t,
22109 pub mtu_set: mtu_set_t,
22110 pub stats_get: eth_stats_get_t,
22111 pub stats_reset: eth_stats_reset_t,
22112 pub xstats_get: eth_xstats_get_t,
22113 pub xstats_reset: eth_xstats_reset_t,
22114 pub xstats_get_names: eth_xstats_get_names_t,
22115 pub queue_stats_mapping_set: eth_queue_stats_mapping_set_t,
22116 pub dev_infos_get: eth_dev_infos_get_t,
22117 pub rxq_info_get: eth_rxq_info_get_t,
22118 pub txq_info_get: eth_txq_info_get_t,
22119 pub rx_burst_mode_get: eth_burst_mode_get_t,
22120 pub tx_burst_mode_get: eth_burst_mode_get_t,
22121 pub fw_version_get: eth_fw_version_get_t,
22122 pub dev_supported_ptypes_get: eth_dev_supported_ptypes_get_t,
22123 pub dev_ptypes_set: eth_dev_ptypes_set_t,
22124 pub vlan_filter_set: vlan_filter_set_t,
22125 pub vlan_tpid_set: vlan_tpid_set_t,
22126 pub vlan_strip_queue_set: vlan_strip_queue_set_t,
22127 pub vlan_offload_set: vlan_offload_set_t,
22128 pub vlan_pvid_set: vlan_pvid_set_t,
22129 pub rx_queue_start: eth_queue_start_t,
22130 pub rx_queue_stop: eth_queue_stop_t,
22131 pub tx_queue_start: eth_queue_start_t,
22132 pub tx_queue_stop: eth_queue_stop_t,
22133 pub rx_queue_setup: eth_rx_queue_setup_t,
22134 pub rx_queue_release: eth_queue_release_t,
22135 pub rx_queue_count: eth_rx_queue_count_t,
22136 pub rx_descriptor_done: eth_rx_descriptor_done_t,
22137 pub rx_descriptor_status: eth_rx_descriptor_status_t,
22138 pub tx_descriptor_status: eth_tx_descriptor_status_t,
22139 pub rx_queue_intr_enable: eth_rx_enable_intr_t,
22140 pub rx_queue_intr_disable: eth_rx_disable_intr_t,
22141 pub tx_queue_setup: eth_tx_queue_setup_t,
22142 pub tx_queue_release: eth_queue_release_t,
22143 pub tx_done_cleanup: eth_tx_done_cleanup_t,
22144 pub dev_led_on: eth_dev_led_on_t,
22145 pub dev_led_off: eth_dev_led_off_t,
22146 pub flow_ctrl_get: flow_ctrl_get_t,
22147 pub flow_ctrl_set: flow_ctrl_set_t,
22148 pub priority_flow_ctrl_set: priority_flow_ctrl_set_t,
22149 pub uc_hash_table_set: eth_uc_hash_table_set_t,
22150 pub uc_all_hash_table_set: eth_uc_all_hash_table_set_t,
22151 pub mirror_rule_set: eth_mirror_rule_set_t,
22152 pub mirror_rule_reset: eth_mirror_rule_reset_t,
22153 pub udp_tunnel_port_add: eth_udp_tunnel_port_add_t,
22154 pub udp_tunnel_port_del: eth_udp_tunnel_port_del_t,
22155 pub l2_tunnel_eth_type_conf: eth_l2_tunnel_eth_type_conf_t,
22156 pub l2_tunnel_offload_set: eth_l2_tunnel_offload_set_t,
22157 pub set_queue_rate_limit: eth_set_queue_rate_limit_t,
22158 pub rss_hash_update: rss_hash_update_t,
22159 pub rss_hash_conf_get: rss_hash_conf_get_t,
22160 pub reta_update: reta_update_t,
22161 pub reta_query: reta_query_t,
22162 pub get_reg: eth_get_reg_t,
22163 pub get_eeprom_length: eth_get_eeprom_length_t,
22164 pub get_eeprom: eth_get_eeprom_t,
22165 pub set_eeprom: eth_set_eeprom_t,
22166 pub get_module_info: eth_get_module_info_t,
22167 pub get_module_eeprom: eth_get_module_eeprom_t,
22168 pub filter_ctrl: eth_filter_ctrl_t,
22169 pub get_dcb_info: eth_get_dcb_info,
22170 pub timesync_enable: eth_timesync_enable_t,
22171 pub timesync_disable: eth_timesync_disable_t,
22172 pub timesync_read_rx_timestamp: eth_timesync_read_rx_timestamp_t,
22173 pub timesync_read_tx_timestamp: eth_timesync_read_tx_timestamp_t,
22174 pub timesync_adjust_time: eth_timesync_adjust_time,
22175 pub timesync_read_time: eth_timesync_read_time,
22176 pub timesync_write_time: eth_timesync_write_time,
22177 pub read_clock: eth_read_clock,
22178 pub xstats_get_by_id: eth_xstats_get_by_id_t,
22179 pub xstats_get_names_by_id: eth_xstats_get_names_by_id_t,
22180 pub tm_ops_get: eth_tm_ops_get_t,
22181 pub mtr_ops_get: eth_mtr_ops_get_t,
22182 pub pool_ops_supported: eth_pool_ops_supported_t,
22183 pub hairpin_cap_get: eth_hairpin_cap_get_t,
22184 pub rx_hairpin_queue_setup: eth_rx_hairpin_queue_setup_t,
22185 pub tx_hairpin_queue_setup: eth_tx_hairpin_queue_setup_t,
22186}
22187#[test]
22188fn bindgen_test_layout_eth_dev_ops() {
22189 assert_eq!(
22190 ::std::mem::size_of::<eth_dev_ops>(),
22191 752usize,
22192 concat!("Size of: ", stringify!(eth_dev_ops))
22193 );
22194 assert_eq!(
22195 ::std::mem::align_of::<eth_dev_ops>(),
22196 8usize,
22197 concat!("Alignment of ", stringify!(eth_dev_ops))
22198 );
22199 assert_eq!(
22200 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).dev_configure as *const _ as usize },
22201 0usize,
22202 concat!(
22203 "Offset of field: ",
22204 stringify!(eth_dev_ops),
22205 "::",
22206 stringify!(dev_configure)
22207 )
22208 );
22209 assert_eq!(
22210 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).dev_start as *const _ as usize },
22211 8usize,
22212 concat!(
22213 "Offset of field: ",
22214 stringify!(eth_dev_ops),
22215 "::",
22216 stringify!(dev_start)
22217 )
22218 );
22219 assert_eq!(
22220 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).dev_stop as *const _ as usize },
22221 16usize,
22222 concat!(
22223 "Offset of field: ",
22224 stringify!(eth_dev_ops),
22225 "::",
22226 stringify!(dev_stop)
22227 )
22228 );
22229 assert_eq!(
22230 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).dev_set_link_up as *const _ as usize },
22231 24usize,
22232 concat!(
22233 "Offset of field: ",
22234 stringify!(eth_dev_ops),
22235 "::",
22236 stringify!(dev_set_link_up)
22237 )
22238 );
22239 assert_eq!(
22240 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).dev_set_link_down as *const _ as usize },
22241 32usize,
22242 concat!(
22243 "Offset of field: ",
22244 stringify!(eth_dev_ops),
22245 "::",
22246 stringify!(dev_set_link_down)
22247 )
22248 );
22249 assert_eq!(
22250 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).dev_close as *const _ as usize },
22251 40usize,
22252 concat!(
22253 "Offset of field: ",
22254 stringify!(eth_dev_ops),
22255 "::",
22256 stringify!(dev_close)
22257 )
22258 );
22259 assert_eq!(
22260 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).dev_reset as *const _ as usize },
22261 48usize,
22262 concat!(
22263 "Offset of field: ",
22264 stringify!(eth_dev_ops),
22265 "::",
22266 stringify!(dev_reset)
22267 )
22268 );
22269 assert_eq!(
22270 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).link_update as *const _ as usize },
22271 56usize,
22272 concat!(
22273 "Offset of field: ",
22274 stringify!(eth_dev_ops),
22275 "::",
22276 stringify!(link_update)
22277 )
22278 );
22279 assert_eq!(
22280 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).is_removed as *const _ as usize },
22281 64usize,
22282 concat!(
22283 "Offset of field: ",
22284 stringify!(eth_dev_ops),
22285 "::",
22286 stringify!(is_removed)
22287 )
22288 );
22289 assert_eq!(
22290 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).promiscuous_enable as *const _ as usize },
22291 72usize,
22292 concat!(
22293 "Offset of field: ",
22294 stringify!(eth_dev_ops),
22295 "::",
22296 stringify!(promiscuous_enable)
22297 )
22298 );
22299 assert_eq!(
22300 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).promiscuous_disable as *const _ as usize },
22301 80usize,
22302 concat!(
22303 "Offset of field: ",
22304 stringify!(eth_dev_ops),
22305 "::",
22306 stringify!(promiscuous_disable)
22307 )
22308 );
22309 assert_eq!(
22310 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).allmulticast_enable as *const _ as usize },
22311 88usize,
22312 concat!(
22313 "Offset of field: ",
22314 stringify!(eth_dev_ops),
22315 "::",
22316 stringify!(allmulticast_enable)
22317 )
22318 );
22319 assert_eq!(
22320 unsafe {
22321 &(*(::std::ptr::null::<eth_dev_ops>())).allmulticast_disable as *const _ as usize
22322 },
22323 96usize,
22324 concat!(
22325 "Offset of field: ",
22326 stringify!(eth_dev_ops),
22327 "::",
22328 stringify!(allmulticast_disable)
22329 )
22330 );
22331 assert_eq!(
22332 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).mac_addr_remove as *const _ as usize },
22333 104usize,
22334 concat!(
22335 "Offset of field: ",
22336 stringify!(eth_dev_ops),
22337 "::",
22338 stringify!(mac_addr_remove)
22339 )
22340 );
22341 assert_eq!(
22342 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).mac_addr_add as *const _ as usize },
22343 112usize,
22344 concat!(
22345 "Offset of field: ",
22346 stringify!(eth_dev_ops),
22347 "::",
22348 stringify!(mac_addr_add)
22349 )
22350 );
22351 assert_eq!(
22352 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).mac_addr_set as *const _ as usize },
22353 120usize,
22354 concat!(
22355 "Offset of field: ",
22356 stringify!(eth_dev_ops),
22357 "::",
22358 stringify!(mac_addr_set)
22359 )
22360 );
22361 assert_eq!(
22362 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).set_mc_addr_list as *const _ as usize },
22363 128usize,
22364 concat!(
22365 "Offset of field: ",
22366 stringify!(eth_dev_ops),
22367 "::",
22368 stringify!(set_mc_addr_list)
22369 )
22370 );
22371 assert_eq!(
22372 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).mtu_set as *const _ as usize },
22373 136usize,
22374 concat!(
22375 "Offset of field: ",
22376 stringify!(eth_dev_ops),
22377 "::",
22378 stringify!(mtu_set)
22379 )
22380 );
22381 assert_eq!(
22382 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).stats_get as *const _ as usize },
22383 144usize,
22384 concat!(
22385 "Offset of field: ",
22386 stringify!(eth_dev_ops),
22387 "::",
22388 stringify!(stats_get)
22389 )
22390 );
22391 assert_eq!(
22392 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).stats_reset as *const _ as usize },
22393 152usize,
22394 concat!(
22395 "Offset of field: ",
22396 stringify!(eth_dev_ops),
22397 "::",
22398 stringify!(stats_reset)
22399 )
22400 );
22401 assert_eq!(
22402 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).xstats_get as *const _ as usize },
22403 160usize,
22404 concat!(
22405 "Offset of field: ",
22406 stringify!(eth_dev_ops),
22407 "::",
22408 stringify!(xstats_get)
22409 )
22410 );
22411 assert_eq!(
22412 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).xstats_reset as *const _ as usize },
22413 168usize,
22414 concat!(
22415 "Offset of field: ",
22416 stringify!(eth_dev_ops),
22417 "::",
22418 stringify!(xstats_reset)
22419 )
22420 );
22421 assert_eq!(
22422 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).xstats_get_names as *const _ as usize },
22423 176usize,
22424 concat!(
22425 "Offset of field: ",
22426 stringify!(eth_dev_ops),
22427 "::",
22428 stringify!(xstats_get_names)
22429 )
22430 );
22431 assert_eq!(
22432 unsafe {
22433 &(*(::std::ptr::null::<eth_dev_ops>())).queue_stats_mapping_set as *const _ as usize
22434 },
22435 184usize,
22436 concat!(
22437 "Offset of field: ",
22438 stringify!(eth_dev_ops),
22439 "::",
22440 stringify!(queue_stats_mapping_set)
22441 )
22442 );
22443 assert_eq!(
22444 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).dev_infos_get as *const _ as usize },
22445 192usize,
22446 concat!(
22447 "Offset of field: ",
22448 stringify!(eth_dev_ops),
22449 "::",
22450 stringify!(dev_infos_get)
22451 )
22452 );
22453 assert_eq!(
22454 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).rxq_info_get as *const _ as usize },
22455 200usize,
22456 concat!(
22457 "Offset of field: ",
22458 stringify!(eth_dev_ops),
22459 "::",
22460 stringify!(rxq_info_get)
22461 )
22462 );
22463 assert_eq!(
22464 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).txq_info_get as *const _ as usize },
22465 208usize,
22466 concat!(
22467 "Offset of field: ",
22468 stringify!(eth_dev_ops),
22469 "::",
22470 stringify!(txq_info_get)
22471 )
22472 );
22473 assert_eq!(
22474 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).rx_burst_mode_get as *const _ as usize },
22475 216usize,
22476 concat!(
22477 "Offset of field: ",
22478 stringify!(eth_dev_ops),
22479 "::",
22480 stringify!(rx_burst_mode_get)
22481 )
22482 );
22483 assert_eq!(
22484 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).tx_burst_mode_get as *const _ as usize },
22485 224usize,
22486 concat!(
22487 "Offset of field: ",
22488 stringify!(eth_dev_ops),
22489 "::",
22490 stringify!(tx_burst_mode_get)
22491 )
22492 );
22493 assert_eq!(
22494 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).fw_version_get as *const _ as usize },
22495 232usize,
22496 concat!(
22497 "Offset of field: ",
22498 stringify!(eth_dev_ops),
22499 "::",
22500 stringify!(fw_version_get)
22501 )
22502 );
22503 assert_eq!(
22504 unsafe {
22505 &(*(::std::ptr::null::<eth_dev_ops>())).dev_supported_ptypes_get as *const _ as usize
22506 },
22507 240usize,
22508 concat!(
22509 "Offset of field: ",
22510 stringify!(eth_dev_ops),
22511 "::",
22512 stringify!(dev_supported_ptypes_get)
22513 )
22514 );
22515 assert_eq!(
22516 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).dev_ptypes_set as *const _ as usize },
22517 248usize,
22518 concat!(
22519 "Offset of field: ",
22520 stringify!(eth_dev_ops),
22521 "::",
22522 stringify!(dev_ptypes_set)
22523 )
22524 );
22525 assert_eq!(
22526 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).vlan_filter_set as *const _ as usize },
22527 256usize,
22528 concat!(
22529 "Offset of field: ",
22530 stringify!(eth_dev_ops),
22531 "::",
22532 stringify!(vlan_filter_set)
22533 )
22534 );
22535 assert_eq!(
22536 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).vlan_tpid_set as *const _ as usize },
22537 264usize,
22538 concat!(
22539 "Offset of field: ",
22540 stringify!(eth_dev_ops),
22541 "::",
22542 stringify!(vlan_tpid_set)
22543 )
22544 );
22545 assert_eq!(
22546 unsafe {
22547 &(*(::std::ptr::null::<eth_dev_ops>())).vlan_strip_queue_set as *const _ as usize
22548 },
22549 272usize,
22550 concat!(
22551 "Offset of field: ",
22552 stringify!(eth_dev_ops),
22553 "::",
22554 stringify!(vlan_strip_queue_set)
22555 )
22556 );
22557 assert_eq!(
22558 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).vlan_offload_set as *const _ as usize },
22559 280usize,
22560 concat!(
22561 "Offset of field: ",
22562 stringify!(eth_dev_ops),
22563 "::",
22564 stringify!(vlan_offload_set)
22565 )
22566 );
22567 assert_eq!(
22568 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).vlan_pvid_set as *const _ as usize },
22569 288usize,
22570 concat!(
22571 "Offset of field: ",
22572 stringify!(eth_dev_ops),
22573 "::",
22574 stringify!(vlan_pvid_set)
22575 )
22576 );
22577 assert_eq!(
22578 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).rx_queue_start as *const _ as usize },
22579 296usize,
22580 concat!(
22581 "Offset of field: ",
22582 stringify!(eth_dev_ops),
22583 "::",
22584 stringify!(rx_queue_start)
22585 )
22586 );
22587 assert_eq!(
22588 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).rx_queue_stop as *const _ as usize },
22589 304usize,
22590 concat!(
22591 "Offset of field: ",
22592 stringify!(eth_dev_ops),
22593 "::",
22594 stringify!(rx_queue_stop)
22595 )
22596 );
22597 assert_eq!(
22598 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).tx_queue_start as *const _ as usize },
22599 312usize,
22600 concat!(
22601 "Offset of field: ",
22602 stringify!(eth_dev_ops),
22603 "::",
22604 stringify!(tx_queue_start)
22605 )
22606 );
22607 assert_eq!(
22608 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).tx_queue_stop as *const _ as usize },
22609 320usize,
22610 concat!(
22611 "Offset of field: ",
22612 stringify!(eth_dev_ops),
22613 "::",
22614 stringify!(tx_queue_stop)
22615 )
22616 );
22617 assert_eq!(
22618 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).rx_queue_setup as *const _ as usize },
22619 328usize,
22620 concat!(
22621 "Offset of field: ",
22622 stringify!(eth_dev_ops),
22623 "::",
22624 stringify!(rx_queue_setup)
22625 )
22626 );
22627 assert_eq!(
22628 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).rx_queue_release as *const _ as usize },
22629 336usize,
22630 concat!(
22631 "Offset of field: ",
22632 stringify!(eth_dev_ops),
22633 "::",
22634 stringify!(rx_queue_release)
22635 )
22636 );
22637 assert_eq!(
22638 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).rx_queue_count as *const _ as usize },
22639 344usize,
22640 concat!(
22641 "Offset of field: ",
22642 stringify!(eth_dev_ops),
22643 "::",
22644 stringify!(rx_queue_count)
22645 )
22646 );
22647 assert_eq!(
22648 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).rx_descriptor_done as *const _ as usize },
22649 352usize,
22650 concat!(
22651 "Offset of field: ",
22652 stringify!(eth_dev_ops),
22653 "::",
22654 stringify!(rx_descriptor_done)
22655 )
22656 );
22657 assert_eq!(
22658 unsafe {
22659 &(*(::std::ptr::null::<eth_dev_ops>())).rx_descriptor_status as *const _ as usize
22660 },
22661 360usize,
22662 concat!(
22663 "Offset of field: ",
22664 stringify!(eth_dev_ops),
22665 "::",
22666 stringify!(rx_descriptor_status)
22667 )
22668 );
22669 assert_eq!(
22670 unsafe {
22671 &(*(::std::ptr::null::<eth_dev_ops>())).tx_descriptor_status as *const _ as usize
22672 },
22673 368usize,
22674 concat!(
22675 "Offset of field: ",
22676 stringify!(eth_dev_ops),
22677 "::",
22678 stringify!(tx_descriptor_status)
22679 )
22680 );
22681 assert_eq!(
22682 unsafe {
22683 &(*(::std::ptr::null::<eth_dev_ops>())).rx_queue_intr_enable as *const _ as usize
22684 },
22685 376usize,
22686 concat!(
22687 "Offset of field: ",
22688 stringify!(eth_dev_ops),
22689 "::",
22690 stringify!(rx_queue_intr_enable)
22691 )
22692 );
22693 assert_eq!(
22694 unsafe {
22695 &(*(::std::ptr::null::<eth_dev_ops>())).rx_queue_intr_disable as *const _ as usize
22696 },
22697 384usize,
22698 concat!(
22699 "Offset of field: ",
22700 stringify!(eth_dev_ops),
22701 "::",
22702 stringify!(rx_queue_intr_disable)
22703 )
22704 );
22705 assert_eq!(
22706 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).tx_queue_setup as *const _ as usize },
22707 392usize,
22708 concat!(
22709 "Offset of field: ",
22710 stringify!(eth_dev_ops),
22711 "::",
22712 stringify!(tx_queue_setup)
22713 )
22714 );
22715 assert_eq!(
22716 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).tx_queue_release as *const _ as usize },
22717 400usize,
22718 concat!(
22719 "Offset of field: ",
22720 stringify!(eth_dev_ops),
22721 "::",
22722 stringify!(tx_queue_release)
22723 )
22724 );
22725 assert_eq!(
22726 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).tx_done_cleanup as *const _ as usize },
22727 408usize,
22728 concat!(
22729 "Offset of field: ",
22730 stringify!(eth_dev_ops),
22731 "::",
22732 stringify!(tx_done_cleanup)
22733 )
22734 );
22735 assert_eq!(
22736 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).dev_led_on as *const _ as usize },
22737 416usize,
22738 concat!(
22739 "Offset of field: ",
22740 stringify!(eth_dev_ops),
22741 "::",
22742 stringify!(dev_led_on)
22743 )
22744 );
22745 assert_eq!(
22746 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).dev_led_off as *const _ as usize },
22747 424usize,
22748 concat!(
22749 "Offset of field: ",
22750 stringify!(eth_dev_ops),
22751 "::",
22752 stringify!(dev_led_off)
22753 )
22754 );
22755 assert_eq!(
22756 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).flow_ctrl_get as *const _ as usize },
22757 432usize,
22758 concat!(
22759 "Offset of field: ",
22760 stringify!(eth_dev_ops),
22761 "::",
22762 stringify!(flow_ctrl_get)
22763 )
22764 );
22765 assert_eq!(
22766 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).flow_ctrl_set as *const _ as usize },
22767 440usize,
22768 concat!(
22769 "Offset of field: ",
22770 stringify!(eth_dev_ops),
22771 "::",
22772 stringify!(flow_ctrl_set)
22773 )
22774 );
22775 assert_eq!(
22776 unsafe {
22777 &(*(::std::ptr::null::<eth_dev_ops>())).priority_flow_ctrl_set as *const _ as usize
22778 },
22779 448usize,
22780 concat!(
22781 "Offset of field: ",
22782 stringify!(eth_dev_ops),
22783 "::",
22784 stringify!(priority_flow_ctrl_set)
22785 )
22786 );
22787 assert_eq!(
22788 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).uc_hash_table_set as *const _ as usize },
22789 456usize,
22790 concat!(
22791 "Offset of field: ",
22792 stringify!(eth_dev_ops),
22793 "::",
22794 stringify!(uc_hash_table_set)
22795 )
22796 );
22797 assert_eq!(
22798 unsafe {
22799 &(*(::std::ptr::null::<eth_dev_ops>())).uc_all_hash_table_set as *const _ as usize
22800 },
22801 464usize,
22802 concat!(
22803 "Offset of field: ",
22804 stringify!(eth_dev_ops),
22805 "::",
22806 stringify!(uc_all_hash_table_set)
22807 )
22808 );
22809 assert_eq!(
22810 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).mirror_rule_set as *const _ as usize },
22811 472usize,
22812 concat!(
22813 "Offset of field: ",
22814 stringify!(eth_dev_ops),
22815 "::",
22816 stringify!(mirror_rule_set)
22817 )
22818 );
22819 assert_eq!(
22820 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).mirror_rule_reset as *const _ as usize },
22821 480usize,
22822 concat!(
22823 "Offset of field: ",
22824 stringify!(eth_dev_ops),
22825 "::",
22826 stringify!(mirror_rule_reset)
22827 )
22828 );
22829 assert_eq!(
22830 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).udp_tunnel_port_add as *const _ as usize },
22831 488usize,
22832 concat!(
22833 "Offset of field: ",
22834 stringify!(eth_dev_ops),
22835 "::",
22836 stringify!(udp_tunnel_port_add)
22837 )
22838 );
22839 assert_eq!(
22840 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).udp_tunnel_port_del as *const _ as usize },
22841 496usize,
22842 concat!(
22843 "Offset of field: ",
22844 stringify!(eth_dev_ops),
22845 "::",
22846 stringify!(udp_tunnel_port_del)
22847 )
22848 );
22849 assert_eq!(
22850 unsafe {
22851 &(*(::std::ptr::null::<eth_dev_ops>())).l2_tunnel_eth_type_conf as *const _ as usize
22852 },
22853 504usize,
22854 concat!(
22855 "Offset of field: ",
22856 stringify!(eth_dev_ops),
22857 "::",
22858 stringify!(l2_tunnel_eth_type_conf)
22859 )
22860 );
22861 assert_eq!(
22862 unsafe {
22863 &(*(::std::ptr::null::<eth_dev_ops>())).l2_tunnel_offload_set as *const _ as usize
22864 },
22865 512usize,
22866 concat!(
22867 "Offset of field: ",
22868 stringify!(eth_dev_ops),
22869 "::",
22870 stringify!(l2_tunnel_offload_set)
22871 )
22872 );
22873 assert_eq!(
22874 unsafe {
22875 &(*(::std::ptr::null::<eth_dev_ops>())).set_queue_rate_limit as *const _ as usize
22876 },
22877 520usize,
22878 concat!(
22879 "Offset of field: ",
22880 stringify!(eth_dev_ops),
22881 "::",
22882 stringify!(set_queue_rate_limit)
22883 )
22884 );
22885 assert_eq!(
22886 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).rss_hash_update as *const _ as usize },
22887 528usize,
22888 concat!(
22889 "Offset of field: ",
22890 stringify!(eth_dev_ops),
22891 "::",
22892 stringify!(rss_hash_update)
22893 )
22894 );
22895 assert_eq!(
22896 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).rss_hash_conf_get as *const _ as usize },
22897 536usize,
22898 concat!(
22899 "Offset of field: ",
22900 stringify!(eth_dev_ops),
22901 "::",
22902 stringify!(rss_hash_conf_get)
22903 )
22904 );
22905 assert_eq!(
22906 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).reta_update as *const _ as usize },
22907 544usize,
22908 concat!(
22909 "Offset of field: ",
22910 stringify!(eth_dev_ops),
22911 "::",
22912 stringify!(reta_update)
22913 )
22914 );
22915 assert_eq!(
22916 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).reta_query as *const _ as usize },
22917 552usize,
22918 concat!(
22919 "Offset of field: ",
22920 stringify!(eth_dev_ops),
22921 "::",
22922 stringify!(reta_query)
22923 )
22924 );
22925 assert_eq!(
22926 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).get_reg as *const _ as usize },
22927 560usize,
22928 concat!(
22929 "Offset of field: ",
22930 stringify!(eth_dev_ops),
22931 "::",
22932 stringify!(get_reg)
22933 )
22934 );
22935 assert_eq!(
22936 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).get_eeprom_length as *const _ as usize },
22937 568usize,
22938 concat!(
22939 "Offset of field: ",
22940 stringify!(eth_dev_ops),
22941 "::",
22942 stringify!(get_eeprom_length)
22943 )
22944 );
22945 assert_eq!(
22946 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).get_eeprom as *const _ as usize },
22947 576usize,
22948 concat!(
22949 "Offset of field: ",
22950 stringify!(eth_dev_ops),
22951 "::",
22952 stringify!(get_eeprom)
22953 )
22954 );
22955 assert_eq!(
22956 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).set_eeprom as *const _ as usize },
22957 584usize,
22958 concat!(
22959 "Offset of field: ",
22960 stringify!(eth_dev_ops),
22961 "::",
22962 stringify!(set_eeprom)
22963 )
22964 );
22965 assert_eq!(
22966 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).get_module_info as *const _ as usize },
22967 592usize,
22968 concat!(
22969 "Offset of field: ",
22970 stringify!(eth_dev_ops),
22971 "::",
22972 stringify!(get_module_info)
22973 )
22974 );
22975 assert_eq!(
22976 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).get_module_eeprom as *const _ as usize },
22977 600usize,
22978 concat!(
22979 "Offset of field: ",
22980 stringify!(eth_dev_ops),
22981 "::",
22982 stringify!(get_module_eeprom)
22983 )
22984 );
22985 assert_eq!(
22986 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).filter_ctrl as *const _ as usize },
22987 608usize,
22988 concat!(
22989 "Offset of field: ",
22990 stringify!(eth_dev_ops),
22991 "::",
22992 stringify!(filter_ctrl)
22993 )
22994 );
22995 assert_eq!(
22996 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).get_dcb_info as *const _ as usize },
22997 616usize,
22998 concat!(
22999 "Offset of field: ",
23000 stringify!(eth_dev_ops),
23001 "::",
23002 stringify!(get_dcb_info)
23003 )
23004 );
23005 assert_eq!(
23006 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).timesync_enable as *const _ as usize },
23007 624usize,
23008 concat!(
23009 "Offset of field: ",
23010 stringify!(eth_dev_ops),
23011 "::",
23012 stringify!(timesync_enable)
23013 )
23014 );
23015 assert_eq!(
23016 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).timesync_disable as *const _ as usize },
23017 632usize,
23018 concat!(
23019 "Offset of field: ",
23020 stringify!(eth_dev_ops),
23021 "::",
23022 stringify!(timesync_disable)
23023 )
23024 );
23025 assert_eq!(
23026 unsafe {
23027 &(*(::std::ptr::null::<eth_dev_ops>())).timesync_read_rx_timestamp as *const _ as usize
23028 },
23029 640usize,
23030 concat!(
23031 "Offset of field: ",
23032 stringify!(eth_dev_ops),
23033 "::",
23034 stringify!(timesync_read_rx_timestamp)
23035 )
23036 );
23037 assert_eq!(
23038 unsafe {
23039 &(*(::std::ptr::null::<eth_dev_ops>())).timesync_read_tx_timestamp as *const _ as usize
23040 },
23041 648usize,
23042 concat!(
23043 "Offset of field: ",
23044 stringify!(eth_dev_ops),
23045 "::",
23046 stringify!(timesync_read_tx_timestamp)
23047 )
23048 );
23049 assert_eq!(
23050 unsafe {
23051 &(*(::std::ptr::null::<eth_dev_ops>())).timesync_adjust_time as *const _ as usize
23052 },
23053 656usize,
23054 concat!(
23055 "Offset of field: ",
23056 stringify!(eth_dev_ops),
23057 "::",
23058 stringify!(timesync_adjust_time)
23059 )
23060 );
23061 assert_eq!(
23062 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).timesync_read_time as *const _ as usize },
23063 664usize,
23064 concat!(
23065 "Offset of field: ",
23066 stringify!(eth_dev_ops),
23067 "::",
23068 stringify!(timesync_read_time)
23069 )
23070 );
23071 assert_eq!(
23072 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).timesync_write_time as *const _ as usize },
23073 672usize,
23074 concat!(
23075 "Offset of field: ",
23076 stringify!(eth_dev_ops),
23077 "::",
23078 stringify!(timesync_write_time)
23079 )
23080 );
23081 assert_eq!(
23082 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).read_clock as *const _ as usize },
23083 680usize,
23084 concat!(
23085 "Offset of field: ",
23086 stringify!(eth_dev_ops),
23087 "::",
23088 stringify!(read_clock)
23089 )
23090 );
23091 assert_eq!(
23092 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).xstats_get_by_id as *const _ as usize },
23093 688usize,
23094 concat!(
23095 "Offset of field: ",
23096 stringify!(eth_dev_ops),
23097 "::",
23098 stringify!(xstats_get_by_id)
23099 )
23100 );
23101 assert_eq!(
23102 unsafe {
23103 &(*(::std::ptr::null::<eth_dev_ops>())).xstats_get_names_by_id as *const _ as usize
23104 },
23105 696usize,
23106 concat!(
23107 "Offset of field: ",
23108 stringify!(eth_dev_ops),
23109 "::",
23110 stringify!(xstats_get_names_by_id)
23111 )
23112 );
23113 assert_eq!(
23114 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).tm_ops_get as *const _ as usize },
23115 704usize,
23116 concat!(
23117 "Offset of field: ",
23118 stringify!(eth_dev_ops),
23119 "::",
23120 stringify!(tm_ops_get)
23121 )
23122 );
23123 assert_eq!(
23124 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).mtr_ops_get as *const _ as usize },
23125 712usize,
23126 concat!(
23127 "Offset of field: ",
23128 stringify!(eth_dev_ops),
23129 "::",
23130 stringify!(mtr_ops_get)
23131 )
23132 );
23133 assert_eq!(
23134 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).pool_ops_supported as *const _ as usize },
23135 720usize,
23136 concat!(
23137 "Offset of field: ",
23138 stringify!(eth_dev_ops),
23139 "::",
23140 stringify!(pool_ops_supported)
23141 )
23142 );
23143 assert_eq!(
23144 unsafe { &(*(::std::ptr::null::<eth_dev_ops>())).hairpin_cap_get as *const _ as usize },
23145 728usize,
23146 concat!(
23147 "Offset of field: ",
23148 stringify!(eth_dev_ops),
23149 "::",
23150 stringify!(hairpin_cap_get)
23151 )
23152 );
23153 assert_eq!(
23154 unsafe {
23155 &(*(::std::ptr::null::<eth_dev_ops>())).rx_hairpin_queue_setup as *const _ as usize
23156 },
23157 736usize,
23158 concat!(
23159 "Offset of field: ",
23160 stringify!(eth_dev_ops),
23161 "::",
23162 stringify!(rx_hairpin_queue_setup)
23163 )
23164 );
23165 assert_eq!(
23166 unsafe {
23167 &(*(::std::ptr::null::<eth_dev_ops>())).tx_hairpin_queue_setup as *const _ as usize
23168 },
23169 744usize,
23170 concat!(
23171 "Offset of field: ",
23172 stringify!(eth_dev_ops),
23173 "::",
23174 stringify!(tx_hairpin_queue_setup)
23175 )
23176 );
23177}
23178#[repr(C)]
23179#[derive(Copy, Clone)]
23180pub struct rte_eth_rxtx_callback {
23181 pub next: *mut rte_eth_rxtx_callback,
23182 pub fn_: rte_eth_rxtx_callback__bindgen_ty_1,
23183 pub param: *mut ::std::os::raw::c_void,
23184}
23185#[repr(C)]
23186#[derive(Copy, Clone)]
23187pub union rte_eth_rxtx_callback__bindgen_ty_1 {
23188 pub rx: rte_rx_callback_fn,
23189 pub tx: rte_tx_callback_fn,
23190 _bindgen_union_align: u64,
23191}
23192#[test]
23193fn bindgen_test_layout_rte_eth_rxtx_callback__bindgen_ty_1() {
23194 assert_eq!(
23195 ::std::mem::size_of::<rte_eth_rxtx_callback__bindgen_ty_1>(),
23196 8usize,
23197 concat!("Size of: ", stringify!(rte_eth_rxtx_callback__bindgen_ty_1))
23198 );
23199 assert_eq!(
23200 ::std::mem::align_of::<rte_eth_rxtx_callback__bindgen_ty_1>(),
23201 8usize,
23202 concat!(
23203 "Alignment of ",
23204 stringify!(rte_eth_rxtx_callback__bindgen_ty_1)
23205 )
23206 );
23207 assert_eq!(
23208 unsafe {
23209 &(*(::std::ptr::null::<rte_eth_rxtx_callback__bindgen_ty_1>())).rx as *const _ as usize
23210 },
23211 0usize,
23212 concat!(
23213 "Offset of field: ",
23214 stringify!(rte_eth_rxtx_callback__bindgen_ty_1),
23215 "::",
23216 stringify!(rx)
23217 )
23218 );
23219 assert_eq!(
23220 unsafe {
23221 &(*(::std::ptr::null::<rte_eth_rxtx_callback__bindgen_ty_1>())).tx as *const _ as usize
23222 },
23223 0usize,
23224 concat!(
23225 "Offset of field: ",
23226 stringify!(rte_eth_rxtx_callback__bindgen_ty_1),
23227 "::",
23228 stringify!(tx)
23229 )
23230 );
23231}
23232impl Default for rte_eth_rxtx_callback__bindgen_ty_1 {
23233 fn default() -> Self {
23234 unsafe { ::std::mem::zeroed() }
23235 }
23236}
23237#[test]
23238fn bindgen_test_layout_rte_eth_rxtx_callback() {
23239 assert_eq!(
23240 ::std::mem::size_of::<rte_eth_rxtx_callback>(),
23241 24usize,
23242 concat!("Size of: ", stringify!(rte_eth_rxtx_callback))
23243 );
23244 assert_eq!(
23245 ::std::mem::align_of::<rte_eth_rxtx_callback>(),
23246 8usize,
23247 concat!("Alignment of ", stringify!(rte_eth_rxtx_callback))
23248 );
23249 assert_eq!(
23250 unsafe { &(*(::std::ptr::null::<rte_eth_rxtx_callback>())).next as *const _ as usize },
23251 0usize,
23252 concat!(
23253 "Offset of field: ",
23254 stringify!(rte_eth_rxtx_callback),
23255 "::",
23256 stringify!(next)
23257 )
23258 );
23259 assert_eq!(
23260 unsafe { &(*(::std::ptr::null::<rte_eth_rxtx_callback>())).fn_ as *const _ as usize },
23261 8usize,
23262 concat!(
23263 "Offset of field: ",
23264 stringify!(rte_eth_rxtx_callback),
23265 "::",
23266 stringify!(fn_)
23267 )
23268 );
23269 assert_eq!(
23270 unsafe { &(*(::std::ptr::null::<rte_eth_rxtx_callback>())).param as *const _ as usize },
23271 16usize,
23272 concat!(
23273 "Offset of field: ",
23274 stringify!(rte_eth_rxtx_callback),
23275 "::",
23276 stringify!(param)
23277 )
23278 );
23279}
23280impl Default for rte_eth_rxtx_callback {
23281 fn default() -> Self {
23282 unsafe { ::std::mem::zeroed() }
23283 }
23284}
23285#[repr(C)]
23286#[repr(align(64))]
23287#[derive(Copy, Clone)]
23288pub struct rte_eth_dev {
23289 pub rx_pkt_burst: eth_rx_burst_t,
23290 pub tx_pkt_burst: eth_tx_burst_t,
23291 pub tx_pkt_prepare: eth_tx_prep_t,
23292 pub data: *mut rte_eth_dev_data,
23293 pub process_private: *mut ::std::os::raw::c_void,
23294 pub dev_ops: *const eth_dev_ops,
23295 pub device: *mut rte_device,
23296 pub intr_handle: *mut rte_intr_handle,
23297 pub link_intr_cbs: rte_eth_dev_cb_list,
23298 pub post_rx_burst_cbs: [*mut rte_eth_rxtx_callback; 1024usize],
23299 pub pre_tx_burst_cbs: [*mut rte_eth_rxtx_callback; 1024usize],
23300 pub state: rte_eth_dev_state::Type,
23301 pub security_ctx: *mut ::std::os::raw::c_void,
23302 pub reserved_64s: [u64; 4usize],
23303 pub reserved_ptrs: [*mut ::std::os::raw::c_void; 4usize],
23304}
23305#[test]
23306fn bindgen_test_layout_rte_eth_dev() {
23307 assert_eq!(
23308 ::std::mem::size_of::<rte_eth_dev>(),
23309 16576usize,
23310 concat!("Size of: ", stringify!(rte_eth_dev))
23311 );
23312 assert_eq!(
23313 ::std::mem::align_of::<rte_eth_dev>(),
23314 64usize,
23315 concat!("Alignment of ", stringify!(rte_eth_dev))
23316 );
23317 assert_eq!(
23318 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).rx_pkt_burst as *const _ as usize },
23319 0usize,
23320 concat!(
23321 "Offset of field: ",
23322 stringify!(rte_eth_dev),
23323 "::",
23324 stringify!(rx_pkt_burst)
23325 )
23326 );
23327 assert_eq!(
23328 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).tx_pkt_burst as *const _ as usize },
23329 8usize,
23330 concat!(
23331 "Offset of field: ",
23332 stringify!(rte_eth_dev),
23333 "::",
23334 stringify!(tx_pkt_burst)
23335 )
23336 );
23337 assert_eq!(
23338 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).tx_pkt_prepare as *const _ as usize },
23339 16usize,
23340 concat!(
23341 "Offset of field: ",
23342 stringify!(rte_eth_dev),
23343 "::",
23344 stringify!(tx_pkt_prepare)
23345 )
23346 );
23347 assert_eq!(
23348 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).data as *const _ as usize },
23349 24usize,
23350 concat!(
23351 "Offset of field: ",
23352 stringify!(rte_eth_dev),
23353 "::",
23354 stringify!(data)
23355 )
23356 );
23357 assert_eq!(
23358 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).process_private as *const _ as usize },
23359 32usize,
23360 concat!(
23361 "Offset of field: ",
23362 stringify!(rte_eth_dev),
23363 "::",
23364 stringify!(process_private)
23365 )
23366 );
23367 assert_eq!(
23368 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).dev_ops as *const _ as usize },
23369 40usize,
23370 concat!(
23371 "Offset of field: ",
23372 stringify!(rte_eth_dev),
23373 "::",
23374 stringify!(dev_ops)
23375 )
23376 );
23377 assert_eq!(
23378 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).device as *const _ as usize },
23379 48usize,
23380 concat!(
23381 "Offset of field: ",
23382 stringify!(rte_eth_dev),
23383 "::",
23384 stringify!(device)
23385 )
23386 );
23387 assert_eq!(
23388 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).intr_handle as *const _ as usize },
23389 56usize,
23390 concat!(
23391 "Offset of field: ",
23392 stringify!(rte_eth_dev),
23393 "::",
23394 stringify!(intr_handle)
23395 )
23396 );
23397 assert_eq!(
23398 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).link_intr_cbs as *const _ as usize },
23399 64usize,
23400 concat!(
23401 "Offset of field: ",
23402 stringify!(rte_eth_dev),
23403 "::",
23404 stringify!(link_intr_cbs)
23405 )
23406 );
23407 assert_eq!(
23408 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).post_rx_burst_cbs as *const _ as usize },
23409 80usize,
23410 concat!(
23411 "Offset of field: ",
23412 stringify!(rte_eth_dev),
23413 "::",
23414 stringify!(post_rx_burst_cbs)
23415 )
23416 );
23417 assert_eq!(
23418 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).pre_tx_burst_cbs as *const _ as usize },
23419 8272usize,
23420 concat!(
23421 "Offset of field: ",
23422 stringify!(rte_eth_dev),
23423 "::",
23424 stringify!(pre_tx_burst_cbs)
23425 )
23426 );
23427 assert_eq!(
23428 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).state as *const _ as usize },
23429 16464usize,
23430 concat!(
23431 "Offset of field: ",
23432 stringify!(rte_eth_dev),
23433 "::",
23434 stringify!(state)
23435 )
23436 );
23437 assert_eq!(
23438 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).security_ctx as *const _ as usize },
23439 16472usize,
23440 concat!(
23441 "Offset of field: ",
23442 stringify!(rte_eth_dev),
23443 "::",
23444 stringify!(security_ctx)
23445 )
23446 );
23447 assert_eq!(
23448 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).reserved_64s as *const _ as usize },
23449 16480usize,
23450 concat!(
23451 "Offset of field: ",
23452 stringify!(rte_eth_dev),
23453 "::",
23454 stringify!(reserved_64s)
23455 )
23456 );
23457 assert_eq!(
23458 unsafe { &(*(::std::ptr::null::<rte_eth_dev>())).reserved_ptrs as *const _ as usize },
23459 16512usize,
23460 concat!(
23461 "Offset of field: ",
23462 stringify!(rte_eth_dev),
23463 "::",
23464 stringify!(reserved_ptrs)
23465 )
23466 );
23467}
23468impl Default for rte_eth_dev {
23469 fn default() -> Self {
23470 unsafe { ::std::mem::zeroed() }
23471 }
23472}
23473#[repr(C)]
23474#[repr(align(64))]
23475#[derive(Copy, Clone)]
23476pub struct rte_eth_dev_data {
23477 pub name: [::std::os::raw::c_char; 64usize],
23478 pub rx_queues: *mut *mut ::std::os::raw::c_void,
23479 pub tx_queues: *mut *mut ::std::os::raw::c_void,
23480 pub nb_rx_queues: u16,
23481 pub nb_tx_queues: u16,
23482 pub sriov: rte_eth_dev_sriov,
23483 pub dev_private: *mut ::std::os::raw::c_void,
23484 pub dev_link: rte_eth_link,
23485 pub dev_conf: rte_eth_conf,
23486 pub mtu: u16,
23487 pub min_rx_buf_size: u32,
23488 pub rx_mbuf_alloc_failed: u64,
23489 pub mac_addrs: *mut rte_ether_addr,
23490 pub mac_pool_sel: [u64; 128usize],
23491 pub hash_mac_addrs: *mut rte_ether_addr,
23492 pub port_id: u16,
23493 pub _bitfield_align_1: [u8; 0],
23494 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
23495 pub rx_queue_state: [u8; 1024usize],
23496 pub tx_queue_state: [u8; 1024usize],
23497 pub dev_flags: u32,
23498 pub kdrv: rte_kernel_driver::Type,
23499 pub numa_node: ::std::os::raw::c_int,
23500 pub vlan_filter_conf: rte_vlan_filter_conf,
23501 pub owner: rte_eth_dev_owner,
23502 pub representor_id: u16,
23503 pub reserved_64s: [u64; 4usize],
23504 pub reserved_ptrs: [*mut ::std::os::raw::c_void; 4usize],
23505}
23506#[test]
23507fn bindgen_test_layout_rte_eth_dev_data() {
23508 assert_eq!(
23509 ::std::mem::size_of::<rte_eth_dev_data>(),
23510 6976usize,
23511 concat!("Size of: ", stringify!(rte_eth_dev_data))
23512 );
23513 assert_eq!(
23514 ::std::mem::align_of::<rte_eth_dev_data>(),
23515 64usize,
23516 concat!("Alignment of ", stringify!(rte_eth_dev_data))
23517 );
23518 assert_eq!(
23519 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).name as *const _ as usize },
23520 0usize,
23521 concat!(
23522 "Offset of field: ",
23523 stringify!(rte_eth_dev_data),
23524 "::",
23525 stringify!(name)
23526 )
23527 );
23528 assert_eq!(
23529 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).rx_queues as *const _ as usize },
23530 64usize,
23531 concat!(
23532 "Offset of field: ",
23533 stringify!(rte_eth_dev_data),
23534 "::",
23535 stringify!(rx_queues)
23536 )
23537 );
23538 assert_eq!(
23539 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).tx_queues as *const _ as usize },
23540 72usize,
23541 concat!(
23542 "Offset of field: ",
23543 stringify!(rte_eth_dev_data),
23544 "::",
23545 stringify!(tx_queues)
23546 )
23547 );
23548 assert_eq!(
23549 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).nb_rx_queues as *const _ as usize },
23550 80usize,
23551 concat!(
23552 "Offset of field: ",
23553 stringify!(rte_eth_dev_data),
23554 "::",
23555 stringify!(nb_rx_queues)
23556 )
23557 );
23558 assert_eq!(
23559 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).nb_tx_queues as *const _ as usize },
23560 82usize,
23561 concat!(
23562 "Offset of field: ",
23563 stringify!(rte_eth_dev_data),
23564 "::",
23565 stringify!(nb_tx_queues)
23566 )
23567 );
23568 assert_eq!(
23569 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).sriov as *const _ as usize },
23570 84usize,
23571 concat!(
23572 "Offset of field: ",
23573 stringify!(rte_eth_dev_data),
23574 "::",
23575 stringify!(sriov)
23576 )
23577 );
23578 assert_eq!(
23579 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).dev_private as *const _ as usize },
23580 96usize,
23581 concat!(
23582 "Offset of field: ",
23583 stringify!(rte_eth_dev_data),
23584 "::",
23585 stringify!(dev_private)
23586 )
23587 );
23588 assert_eq!(
23589 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).dev_link as *const _ as usize },
23590 104usize,
23591 concat!(
23592 "Offset of field: ",
23593 stringify!(rte_eth_dev_data),
23594 "::",
23595 stringify!(dev_link)
23596 )
23597 );
23598 assert_eq!(
23599 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).dev_conf as *const _ as usize },
23600 112usize,
23601 concat!(
23602 "Offset of field: ",
23603 stringify!(rte_eth_dev_data),
23604 "::",
23605 stringify!(dev_conf)
23606 )
23607 );
23608 assert_eq!(
23609 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).mtu as *const _ as usize },
23610 3192usize,
23611 concat!(
23612 "Offset of field: ",
23613 stringify!(rte_eth_dev_data),
23614 "::",
23615 stringify!(mtu)
23616 )
23617 );
23618 assert_eq!(
23619 unsafe {
23620 &(*(::std::ptr::null::<rte_eth_dev_data>())).min_rx_buf_size as *const _ as usize
23621 },
23622 3196usize,
23623 concat!(
23624 "Offset of field: ",
23625 stringify!(rte_eth_dev_data),
23626 "::",
23627 stringify!(min_rx_buf_size)
23628 )
23629 );
23630 assert_eq!(
23631 unsafe {
23632 &(*(::std::ptr::null::<rte_eth_dev_data>())).rx_mbuf_alloc_failed as *const _ as usize
23633 },
23634 3200usize,
23635 concat!(
23636 "Offset of field: ",
23637 stringify!(rte_eth_dev_data),
23638 "::",
23639 stringify!(rx_mbuf_alloc_failed)
23640 )
23641 );
23642 assert_eq!(
23643 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).mac_addrs as *const _ as usize },
23644 3208usize,
23645 concat!(
23646 "Offset of field: ",
23647 stringify!(rte_eth_dev_data),
23648 "::",
23649 stringify!(mac_addrs)
23650 )
23651 );
23652 assert_eq!(
23653 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).mac_pool_sel as *const _ as usize },
23654 3216usize,
23655 concat!(
23656 "Offset of field: ",
23657 stringify!(rte_eth_dev_data),
23658 "::",
23659 stringify!(mac_pool_sel)
23660 )
23661 );
23662 assert_eq!(
23663 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).hash_mac_addrs as *const _ as usize },
23664 4240usize,
23665 concat!(
23666 "Offset of field: ",
23667 stringify!(rte_eth_dev_data),
23668 "::",
23669 stringify!(hash_mac_addrs)
23670 )
23671 );
23672 assert_eq!(
23673 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).port_id as *const _ as usize },
23674 4248usize,
23675 concat!(
23676 "Offset of field: ",
23677 stringify!(rte_eth_dev_data),
23678 "::",
23679 stringify!(port_id)
23680 )
23681 );
23682 assert_eq!(
23683 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).rx_queue_state as *const _ as usize },
23684 4251usize,
23685 concat!(
23686 "Offset of field: ",
23687 stringify!(rte_eth_dev_data),
23688 "::",
23689 stringify!(rx_queue_state)
23690 )
23691 );
23692 assert_eq!(
23693 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).tx_queue_state as *const _ as usize },
23694 5275usize,
23695 concat!(
23696 "Offset of field: ",
23697 stringify!(rte_eth_dev_data),
23698 "::",
23699 stringify!(tx_queue_state)
23700 )
23701 );
23702 assert_eq!(
23703 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).dev_flags as *const _ as usize },
23704 6300usize,
23705 concat!(
23706 "Offset of field: ",
23707 stringify!(rte_eth_dev_data),
23708 "::",
23709 stringify!(dev_flags)
23710 )
23711 );
23712 assert_eq!(
23713 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).kdrv as *const _ as usize },
23714 6304usize,
23715 concat!(
23716 "Offset of field: ",
23717 stringify!(rte_eth_dev_data),
23718 "::",
23719 stringify!(kdrv)
23720 )
23721 );
23722 assert_eq!(
23723 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).numa_node as *const _ as usize },
23724 6308usize,
23725 concat!(
23726 "Offset of field: ",
23727 stringify!(rte_eth_dev_data),
23728 "::",
23729 stringify!(numa_node)
23730 )
23731 );
23732 assert_eq!(
23733 unsafe {
23734 &(*(::std::ptr::null::<rte_eth_dev_data>())).vlan_filter_conf as *const _ as usize
23735 },
23736 6312usize,
23737 concat!(
23738 "Offset of field: ",
23739 stringify!(rte_eth_dev_data),
23740 "::",
23741 stringify!(vlan_filter_conf)
23742 )
23743 );
23744 assert_eq!(
23745 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).owner as *const _ as usize },
23746 6824usize,
23747 concat!(
23748 "Offset of field: ",
23749 stringify!(rte_eth_dev_data),
23750 "::",
23751 stringify!(owner)
23752 )
23753 );
23754 assert_eq!(
23755 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).representor_id as *const _ as usize },
23756 6896usize,
23757 concat!(
23758 "Offset of field: ",
23759 stringify!(rte_eth_dev_data),
23760 "::",
23761 stringify!(representor_id)
23762 )
23763 );
23764 assert_eq!(
23765 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).reserved_64s as *const _ as usize },
23766 6904usize,
23767 concat!(
23768 "Offset of field: ",
23769 stringify!(rte_eth_dev_data),
23770 "::",
23771 stringify!(reserved_64s)
23772 )
23773 );
23774 assert_eq!(
23775 unsafe { &(*(::std::ptr::null::<rte_eth_dev_data>())).reserved_ptrs as *const _ as usize },
23776 6936usize,
23777 concat!(
23778 "Offset of field: ",
23779 stringify!(rte_eth_dev_data),
23780 "::",
23781 stringify!(reserved_ptrs)
23782 )
23783 );
23784}
23785impl Default for rte_eth_dev_data {
23786 fn default() -> Self {
23787 unsafe { ::std::mem::zeroed() }
23788 }
23789}
23790impl rte_eth_dev_data {
23791 #[inline]
23792 pub fn promiscuous(&self) -> u8 {
23793 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
23794 }
23795 #[inline]
23796 pub fn set_promiscuous(&mut self, val: u8) {
23797 unsafe {
23798 let val: u8 = ::std::mem::transmute(val);
23799 self._bitfield_1.set(0usize, 1u8, val as u64)
23800 }
23801 }
23802 #[inline]
23803 pub fn scattered_rx(&self) -> u8 {
23804 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
23805 }
23806 #[inline]
23807 pub fn set_scattered_rx(&mut self, val: u8) {
23808 unsafe {
23809 let val: u8 = ::std::mem::transmute(val);
23810 self._bitfield_1.set(1usize, 1u8, val as u64)
23811 }
23812 }
23813 #[inline]
23814 pub fn all_multicast(&self) -> u8 {
23815 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
23816 }
23817 #[inline]
23818 pub fn set_all_multicast(&mut self, val: u8) {
23819 unsafe {
23820 let val: u8 = ::std::mem::transmute(val);
23821 self._bitfield_1.set(2usize, 1u8, val as u64)
23822 }
23823 }
23824 #[inline]
23825 pub fn dev_started(&self) -> u8 {
23826 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
23827 }
23828 #[inline]
23829 pub fn set_dev_started(&mut self, val: u8) {
23830 unsafe {
23831 let val: u8 = ::std::mem::transmute(val);
23832 self._bitfield_1.set(3usize, 1u8, val as u64)
23833 }
23834 }
23835 #[inline]
23836 pub fn lro(&self) -> u8 {
23837 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
23838 }
23839 #[inline]
23840 pub fn set_lro(&mut self, val: u8) {
23841 unsafe {
23842 let val: u8 = ::std::mem::transmute(val);
23843 self._bitfield_1.set(4usize, 1u8, val as u64)
23844 }
23845 }
23846 #[inline]
23847 pub fn new_bitfield_1(
23848 promiscuous: u8,
23849 scattered_rx: u8,
23850 all_multicast: u8,
23851 dev_started: u8,
23852 lro: u8,
23853 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
23854 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
23855 __bindgen_bitfield_unit.set(0usize, 1u8, {
23856 let promiscuous: u8 = unsafe { ::std::mem::transmute(promiscuous) };
23857 promiscuous as u64
23858 });
23859 __bindgen_bitfield_unit.set(1usize, 1u8, {
23860 let scattered_rx: u8 = unsafe { ::std::mem::transmute(scattered_rx) };
23861 scattered_rx as u64
23862 });
23863 __bindgen_bitfield_unit.set(2usize, 1u8, {
23864 let all_multicast: u8 = unsafe { ::std::mem::transmute(all_multicast) };
23865 all_multicast as u64
23866 });
23867 __bindgen_bitfield_unit.set(3usize, 1u8, {
23868 let dev_started: u8 = unsafe { ::std::mem::transmute(dev_started) };
23869 dev_started as u64
23870 });
23871 __bindgen_bitfield_unit.set(4usize, 1u8, {
23872 let lro: u8 = unsafe { ::std::mem::transmute(lro) };
23873 lro as u64
23874 });
23875 __bindgen_bitfield_unit
23876 }
23877}
23878extern "C" {
23879 pub static mut rte_eth_devices: [rte_eth_dev; 0usize];
23880}
23881#[repr(C)]
23882#[derive(Debug, Default, Copy, Clone, PartialEq)]
23883pub struct rte_pci_id {
23884 pub class_id: u32,
23885 pub vendor_id: u16,
23886 pub device_id: u16,
23887 pub subsystem_vendor_id: u16,
23888 pub subsystem_device_id: u16,
23889}
23890#[test]
23891fn bindgen_test_layout_rte_pci_id() {
23892 assert_eq!(
23893 ::std::mem::size_of::<rte_pci_id>(),
23894 12usize,
23895 concat!("Size of: ", stringify!(rte_pci_id))
23896 );
23897 assert_eq!(
23898 ::std::mem::align_of::<rte_pci_id>(),
23899 4usize,
23900 concat!("Alignment of ", stringify!(rte_pci_id))
23901 );
23902 assert_eq!(
23903 unsafe { &(*(::std::ptr::null::<rte_pci_id>())).class_id as *const _ as usize },
23904 0usize,
23905 concat!(
23906 "Offset of field: ",
23907 stringify!(rte_pci_id),
23908 "::",
23909 stringify!(class_id)
23910 )
23911 );
23912 assert_eq!(
23913 unsafe { &(*(::std::ptr::null::<rte_pci_id>())).vendor_id as *const _ as usize },
23914 4usize,
23915 concat!(
23916 "Offset of field: ",
23917 stringify!(rte_pci_id),
23918 "::",
23919 stringify!(vendor_id)
23920 )
23921 );
23922 assert_eq!(
23923 unsafe { &(*(::std::ptr::null::<rte_pci_id>())).device_id as *const _ as usize },
23924 6usize,
23925 concat!(
23926 "Offset of field: ",
23927 stringify!(rte_pci_id),
23928 "::",
23929 stringify!(device_id)
23930 )
23931 );
23932 assert_eq!(
23933 unsafe { &(*(::std::ptr::null::<rte_pci_id>())).subsystem_vendor_id as *const _ as usize },
23934 8usize,
23935 concat!(
23936 "Offset of field: ",
23937 stringify!(rte_pci_id),
23938 "::",
23939 stringify!(subsystem_vendor_id)
23940 )
23941 );
23942 assert_eq!(
23943 unsafe { &(*(::std::ptr::null::<rte_pci_id>())).subsystem_device_id as *const _ as usize },
23944 10usize,
23945 concat!(
23946 "Offset of field: ",
23947 stringify!(rte_pci_id),
23948 "::",
23949 stringify!(subsystem_device_id)
23950 )
23951 );
23952}
23953#[repr(C)]
23954#[derive(Debug, Default, Copy, Clone, PartialEq)]
23955pub struct rte_pci_addr {
23956 pub domain: u32,
23957 pub bus: u8,
23958 pub devid: u8,
23959 pub function: u8,
23960}
23961#[test]
23962fn bindgen_test_layout_rte_pci_addr() {
23963 assert_eq!(
23964 ::std::mem::size_of::<rte_pci_addr>(),
23965 8usize,
23966 concat!("Size of: ", stringify!(rte_pci_addr))
23967 );
23968 assert_eq!(
23969 ::std::mem::align_of::<rte_pci_addr>(),
23970 4usize,
23971 concat!("Alignment of ", stringify!(rte_pci_addr))
23972 );
23973 assert_eq!(
23974 unsafe { &(*(::std::ptr::null::<rte_pci_addr>())).domain as *const _ as usize },
23975 0usize,
23976 concat!(
23977 "Offset of field: ",
23978 stringify!(rte_pci_addr),
23979 "::",
23980 stringify!(domain)
23981 )
23982 );
23983 assert_eq!(
23984 unsafe { &(*(::std::ptr::null::<rte_pci_addr>())).bus as *const _ as usize },
23985 4usize,
23986 concat!(
23987 "Offset of field: ",
23988 stringify!(rte_pci_addr),
23989 "::",
23990 stringify!(bus)
23991 )
23992 );
23993 assert_eq!(
23994 unsafe { &(*(::std::ptr::null::<rte_pci_addr>())).devid as *const _ as usize },
23995 5usize,
23996 concat!(
23997 "Offset of field: ",
23998 stringify!(rte_pci_addr),
23999 "::",
24000 stringify!(devid)
24001 )
24002 );
24003 assert_eq!(
24004 unsafe { &(*(::std::ptr::null::<rte_pci_addr>())).function as *const _ as usize },
24005 6usize,
24006 concat!(
24007 "Offset of field: ",
24008 stringify!(rte_pci_addr),
24009 "::",
24010 stringify!(function)
24011 )
24012 );
24013}
24014extern "C" {
24015 pub fn rte_pci_device_name(
24016 addr: *const rte_pci_addr,
24017 output: *mut ::std::os::raw::c_char,
24018 size: size_t,
24019 );
24020}
24021extern "C" {
24022 pub fn rte_pci_addr_cmp(
24023 addr: *const rte_pci_addr,
24024 addr2: *const rte_pci_addr,
24025 ) -> ::std::os::raw::c_int;
24026}
24027extern "C" {
24028 pub fn rte_pci_addr_parse(
24029 str_: *const ::std::os::raw::c_char,
24030 addr: *mut rte_pci_addr,
24031 ) -> ::std::os::raw::c_int;
24032}
24033pub mod rte_kni_req_id {
24034 pub type Type = ::std::os::raw::c_uint;
24035 pub const RTE_KNI_REQ_UNKNOWN: Type = 0;
24036 pub const RTE_KNI_REQ_CHANGE_MTU: Type = 1;
24037 pub const RTE_KNI_REQ_CFG_NETWORK_IF: Type = 2;
24038 pub const RTE_KNI_REQ_CHANGE_MAC_ADDR: Type = 3;
24039 pub const RTE_KNI_REQ_CHANGE_PROMISC: Type = 4;
24040 pub const RTE_KNI_REQ_CHANGE_ALLMULTI: Type = 5;
24041 pub const RTE_KNI_REQ_MAX: Type = 6;
24042}
24043#[repr(C, packed)]
24044#[derive(Copy, Clone)]
24045pub struct rte_kni_request {
24046 pub req_id: u32,
24047 pub __bindgen_anon_1: rte_kni_request__bindgen_ty_1,
24048 pub result: i32,
24049}
24050#[repr(C)]
24051#[derive(Copy, Clone)]
24052pub union rte_kni_request__bindgen_ty_1 {
24053 pub new_mtu: u32,
24054 pub if_up: u8,
24055 pub mac_addr: [u8; 6usize],
24056 pub promiscusity: u8,
24057 pub allmulti: u8,
24058 _bindgen_union_align: [u32; 2usize],
24059}
24060#[test]
24061fn bindgen_test_layout_rte_kni_request__bindgen_ty_1() {
24062 assert_eq!(
24063 ::std::mem::size_of::<rte_kni_request__bindgen_ty_1>(),
24064 8usize,
24065 concat!("Size of: ", stringify!(rte_kni_request__bindgen_ty_1))
24066 );
24067 assert_eq!(
24068 ::std::mem::align_of::<rte_kni_request__bindgen_ty_1>(),
24069 4usize,
24070 concat!("Alignment of ", stringify!(rte_kni_request__bindgen_ty_1))
24071 );
24072 assert_eq!(
24073 unsafe {
24074 &(*(::std::ptr::null::<rte_kni_request__bindgen_ty_1>())).new_mtu as *const _ as usize
24075 },
24076 0usize,
24077 concat!(
24078 "Offset of field: ",
24079 stringify!(rte_kni_request__bindgen_ty_1),
24080 "::",
24081 stringify!(new_mtu)
24082 )
24083 );
24084 assert_eq!(
24085 unsafe {
24086 &(*(::std::ptr::null::<rte_kni_request__bindgen_ty_1>())).if_up as *const _ as usize
24087 },
24088 0usize,
24089 concat!(
24090 "Offset of field: ",
24091 stringify!(rte_kni_request__bindgen_ty_1),
24092 "::",
24093 stringify!(if_up)
24094 )
24095 );
24096 assert_eq!(
24097 unsafe {
24098 &(*(::std::ptr::null::<rte_kni_request__bindgen_ty_1>())).mac_addr as *const _ as usize
24099 },
24100 0usize,
24101 concat!(
24102 "Offset of field: ",
24103 stringify!(rte_kni_request__bindgen_ty_1),
24104 "::",
24105 stringify!(mac_addr)
24106 )
24107 );
24108 assert_eq!(
24109 unsafe {
24110 &(*(::std::ptr::null::<rte_kni_request__bindgen_ty_1>())).promiscusity as *const _
24111 as usize
24112 },
24113 0usize,
24114 concat!(
24115 "Offset of field: ",
24116 stringify!(rte_kni_request__bindgen_ty_1),
24117 "::",
24118 stringify!(promiscusity)
24119 )
24120 );
24121 assert_eq!(
24122 unsafe {
24123 &(*(::std::ptr::null::<rte_kni_request__bindgen_ty_1>())).allmulti as *const _ as usize
24124 },
24125 0usize,
24126 concat!(
24127 "Offset of field: ",
24128 stringify!(rte_kni_request__bindgen_ty_1),
24129 "::",
24130 stringify!(allmulti)
24131 )
24132 );
24133}
24134impl Default for rte_kni_request__bindgen_ty_1 {
24135 fn default() -> Self {
24136 unsafe { ::std::mem::zeroed() }
24137 }
24138}
24139#[test]
24140fn bindgen_test_layout_rte_kni_request() {
24141 assert_eq!(
24142 ::std::mem::size_of::<rte_kni_request>(),
24143 16usize,
24144 concat!("Size of: ", stringify!(rte_kni_request))
24145 );
24146 assert_eq!(
24147 ::std::mem::align_of::<rte_kni_request>(),
24148 1usize,
24149 concat!("Alignment of ", stringify!(rte_kni_request))
24150 );
24151 assert_eq!(
24152 unsafe { &(*(::std::ptr::null::<rte_kni_request>())).req_id as *const _ as usize },
24153 0usize,
24154 concat!(
24155 "Offset of field: ",
24156 stringify!(rte_kni_request),
24157 "::",
24158 stringify!(req_id)
24159 )
24160 );
24161 assert_eq!(
24162 unsafe { &(*(::std::ptr::null::<rte_kni_request>())).result as *const _ as usize },
24163 12usize,
24164 concat!(
24165 "Offset of field: ",
24166 stringify!(rte_kni_request),
24167 "::",
24168 stringify!(result)
24169 )
24170 );
24171}
24172impl Default for rte_kni_request {
24173 fn default() -> Self {
24174 unsafe { ::std::mem::zeroed() }
24175 }
24176}
24177#[repr(C)]
24178#[derive(Debug)]
24179pub struct rte_kni_fifo {
24180 pub write: ::std::os::raw::c_uint,
24181 pub read: ::std::os::raw::c_uint,
24182 pub len: ::std::os::raw::c_uint,
24183 pub elem_size: ::std::os::raw::c_uint,
24184 pub buffer: __IncompleteArrayField<*mut ::std::os::raw::c_void>,
24185}
24186#[test]
24187fn bindgen_test_layout_rte_kni_fifo() {
24188 assert_eq!(
24189 ::std::mem::size_of::<rte_kni_fifo>(),
24190 16usize,
24191 concat!("Size of: ", stringify!(rte_kni_fifo))
24192 );
24193 assert_eq!(
24194 ::std::mem::align_of::<rte_kni_fifo>(),
24195 8usize,
24196 concat!("Alignment of ", stringify!(rte_kni_fifo))
24197 );
24198}
24199impl Default for rte_kni_fifo {
24200 fn default() -> Self {
24201 unsafe { ::std::mem::zeroed() }
24202 }
24203}
24204#[repr(C)]
24205#[repr(align(64))]
24206#[derive(Copy, Clone)]
24207pub struct rte_kni_mbuf {
24208 pub buf_addr: *mut ::std::os::raw::c_void,
24209 pub buf_physaddr: u64,
24210 pub data_off: u16,
24211 pub pad1: [::std::os::raw::c_char; 2usize],
24212 pub nb_segs: u16,
24213 pub pad4: [::std::os::raw::c_char; 2usize],
24214 pub ol_flags: u64,
24215 pub pad2: [::std::os::raw::c_char; 4usize],
24216 pub pkt_len: u32,
24217 pub data_len: u16,
24218 pub __bindgen_padding_0: [u8; 22usize],
24219 pub pad3: [::std::os::raw::c_char; 8usize],
24220 pub pool: *mut ::std::os::raw::c_void,
24221 pub next: *mut ::std::os::raw::c_void,
24222}
24223#[test]
24224fn bindgen_test_layout_rte_kni_mbuf() {
24225 assert_eq!(
24226 ::std::mem::size_of::<rte_kni_mbuf>(),
24227 128usize,
24228 concat!("Size of: ", stringify!(rte_kni_mbuf))
24229 );
24230 assert_eq!(
24231 ::std::mem::align_of::<rte_kni_mbuf>(),
24232 64usize,
24233 concat!("Alignment of ", stringify!(rte_kni_mbuf))
24234 );
24235 assert_eq!(
24236 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).buf_addr as *const _ as usize },
24237 0usize,
24238 concat!(
24239 "Offset of field: ",
24240 stringify!(rte_kni_mbuf),
24241 "::",
24242 stringify!(buf_addr)
24243 )
24244 );
24245 assert_eq!(
24246 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).buf_physaddr as *const _ as usize },
24247 8usize,
24248 concat!(
24249 "Offset of field: ",
24250 stringify!(rte_kni_mbuf),
24251 "::",
24252 stringify!(buf_physaddr)
24253 )
24254 );
24255 assert_eq!(
24256 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).data_off as *const _ as usize },
24257 16usize,
24258 concat!(
24259 "Offset of field: ",
24260 stringify!(rte_kni_mbuf),
24261 "::",
24262 stringify!(data_off)
24263 )
24264 );
24265 assert_eq!(
24266 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).pad1 as *const _ as usize },
24267 18usize,
24268 concat!(
24269 "Offset of field: ",
24270 stringify!(rte_kni_mbuf),
24271 "::",
24272 stringify!(pad1)
24273 )
24274 );
24275 assert_eq!(
24276 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).nb_segs as *const _ as usize },
24277 20usize,
24278 concat!(
24279 "Offset of field: ",
24280 stringify!(rte_kni_mbuf),
24281 "::",
24282 stringify!(nb_segs)
24283 )
24284 );
24285 assert_eq!(
24286 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).pad4 as *const _ as usize },
24287 22usize,
24288 concat!(
24289 "Offset of field: ",
24290 stringify!(rte_kni_mbuf),
24291 "::",
24292 stringify!(pad4)
24293 )
24294 );
24295 assert_eq!(
24296 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).ol_flags as *const _ as usize },
24297 24usize,
24298 concat!(
24299 "Offset of field: ",
24300 stringify!(rte_kni_mbuf),
24301 "::",
24302 stringify!(ol_flags)
24303 )
24304 );
24305 assert_eq!(
24306 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).pad2 as *const _ as usize },
24307 32usize,
24308 concat!(
24309 "Offset of field: ",
24310 stringify!(rte_kni_mbuf),
24311 "::",
24312 stringify!(pad2)
24313 )
24314 );
24315 assert_eq!(
24316 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).pkt_len as *const _ as usize },
24317 36usize,
24318 concat!(
24319 "Offset of field: ",
24320 stringify!(rte_kni_mbuf),
24321 "::",
24322 stringify!(pkt_len)
24323 )
24324 );
24325 assert_eq!(
24326 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).data_len as *const _ as usize },
24327 40usize,
24328 concat!(
24329 "Offset of field: ",
24330 stringify!(rte_kni_mbuf),
24331 "::",
24332 stringify!(data_len)
24333 )
24334 );
24335 assert_eq!(
24336 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).pad3 as *const _ as usize },
24337 64usize,
24338 concat!(
24339 "Offset of field: ",
24340 stringify!(rte_kni_mbuf),
24341 "::",
24342 stringify!(pad3)
24343 )
24344 );
24345 assert_eq!(
24346 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).pool as *const _ as usize },
24347 72usize,
24348 concat!(
24349 "Offset of field: ",
24350 stringify!(rte_kni_mbuf),
24351 "::",
24352 stringify!(pool)
24353 )
24354 );
24355 assert_eq!(
24356 unsafe { &(*(::std::ptr::null::<rte_kni_mbuf>())).next as *const _ as usize },
24357 80usize,
24358 concat!(
24359 "Offset of field: ",
24360 stringify!(rte_kni_mbuf),
24361 "::",
24362 stringify!(next)
24363 )
24364 );
24365}
24366impl Default for rte_kni_mbuf {
24367 fn default() -> Self {
24368 unsafe { ::std::mem::zeroed() }
24369 }
24370}
24371#[repr(C)]
24372#[derive(Debug, Copy, Clone, PartialEq)]
24373pub struct rte_kni_device_info {
24374 pub name: [::std::os::raw::c_char; 16usize],
24375 pub tx_phys: phys_addr_t,
24376 pub rx_phys: phys_addr_t,
24377 pub alloc_phys: phys_addr_t,
24378 pub free_phys: phys_addr_t,
24379 pub req_phys: phys_addr_t,
24380 pub resp_phys: phys_addr_t,
24381 pub sync_phys: phys_addr_t,
24382 pub sync_va: *mut ::std::os::raw::c_void,
24383 pub mbuf_va: *mut ::std::os::raw::c_void,
24384 pub mbuf_phys: phys_addr_t,
24385 pub group_id: u16,
24386 pub core_id: u32,
24387 pub _bitfield_align_1: [u8; 0],
24388 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
24389 pub mbuf_size: ::std::os::raw::c_uint,
24390 pub mtu: ::std::os::raw::c_uint,
24391 pub min_mtu: ::std::os::raw::c_uint,
24392 pub max_mtu: ::std::os::raw::c_uint,
24393 pub mac_addr: [u8; 6usize],
24394 pub iova_mode: u8,
24395}
24396#[test]
24397fn bindgen_test_layout_rte_kni_device_info() {
24398 assert_eq!(
24399 ::std::mem::size_of::<rte_kni_device_info>(),
24400 136usize,
24401 concat!("Size of: ", stringify!(rte_kni_device_info))
24402 );
24403 assert_eq!(
24404 ::std::mem::align_of::<rte_kni_device_info>(),
24405 8usize,
24406 concat!("Alignment of ", stringify!(rte_kni_device_info))
24407 );
24408 assert_eq!(
24409 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).name as *const _ as usize },
24410 0usize,
24411 concat!(
24412 "Offset of field: ",
24413 stringify!(rte_kni_device_info),
24414 "::",
24415 stringify!(name)
24416 )
24417 );
24418 assert_eq!(
24419 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).tx_phys as *const _ as usize },
24420 16usize,
24421 concat!(
24422 "Offset of field: ",
24423 stringify!(rte_kni_device_info),
24424 "::",
24425 stringify!(tx_phys)
24426 )
24427 );
24428 assert_eq!(
24429 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).rx_phys as *const _ as usize },
24430 24usize,
24431 concat!(
24432 "Offset of field: ",
24433 stringify!(rte_kni_device_info),
24434 "::",
24435 stringify!(rx_phys)
24436 )
24437 );
24438 assert_eq!(
24439 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).alloc_phys as *const _ as usize },
24440 32usize,
24441 concat!(
24442 "Offset of field: ",
24443 stringify!(rte_kni_device_info),
24444 "::",
24445 stringify!(alloc_phys)
24446 )
24447 );
24448 assert_eq!(
24449 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).free_phys as *const _ as usize },
24450 40usize,
24451 concat!(
24452 "Offset of field: ",
24453 stringify!(rte_kni_device_info),
24454 "::",
24455 stringify!(free_phys)
24456 )
24457 );
24458 assert_eq!(
24459 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).req_phys as *const _ as usize },
24460 48usize,
24461 concat!(
24462 "Offset of field: ",
24463 stringify!(rte_kni_device_info),
24464 "::",
24465 stringify!(req_phys)
24466 )
24467 );
24468 assert_eq!(
24469 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).resp_phys as *const _ as usize },
24470 56usize,
24471 concat!(
24472 "Offset of field: ",
24473 stringify!(rte_kni_device_info),
24474 "::",
24475 stringify!(resp_phys)
24476 )
24477 );
24478 assert_eq!(
24479 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).sync_phys as *const _ as usize },
24480 64usize,
24481 concat!(
24482 "Offset of field: ",
24483 stringify!(rte_kni_device_info),
24484 "::",
24485 stringify!(sync_phys)
24486 )
24487 );
24488 assert_eq!(
24489 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).sync_va as *const _ as usize },
24490 72usize,
24491 concat!(
24492 "Offset of field: ",
24493 stringify!(rte_kni_device_info),
24494 "::",
24495 stringify!(sync_va)
24496 )
24497 );
24498 assert_eq!(
24499 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).mbuf_va as *const _ as usize },
24500 80usize,
24501 concat!(
24502 "Offset of field: ",
24503 stringify!(rte_kni_device_info),
24504 "::",
24505 stringify!(mbuf_va)
24506 )
24507 );
24508 assert_eq!(
24509 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).mbuf_phys as *const _ as usize },
24510 88usize,
24511 concat!(
24512 "Offset of field: ",
24513 stringify!(rte_kni_device_info),
24514 "::",
24515 stringify!(mbuf_phys)
24516 )
24517 );
24518 assert_eq!(
24519 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).group_id as *const _ as usize },
24520 96usize,
24521 concat!(
24522 "Offset of field: ",
24523 stringify!(rte_kni_device_info),
24524 "::",
24525 stringify!(group_id)
24526 )
24527 );
24528 assert_eq!(
24529 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).core_id as *const _ as usize },
24530 100usize,
24531 concat!(
24532 "Offset of field: ",
24533 stringify!(rte_kni_device_info),
24534 "::",
24535 stringify!(core_id)
24536 )
24537 );
24538 assert_eq!(
24539 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).mbuf_size as *const _ as usize },
24540 108usize,
24541 concat!(
24542 "Offset of field: ",
24543 stringify!(rte_kni_device_info),
24544 "::",
24545 stringify!(mbuf_size)
24546 )
24547 );
24548 assert_eq!(
24549 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).mtu as *const _ as usize },
24550 112usize,
24551 concat!(
24552 "Offset of field: ",
24553 stringify!(rte_kni_device_info),
24554 "::",
24555 stringify!(mtu)
24556 )
24557 );
24558 assert_eq!(
24559 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).min_mtu as *const _ as usize },
24560 116usize,
24561 concat!(
24562 "Offset of field: ",
24563 stringify!(rte_kni_device_info),
24564 "::",
24565 stringify!(min_mtu)
24566 )
24567 );
24568 assert_eq!(
24569 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).max_mtu as *const _ as usize },
24570 120usize,
24571 concat!(
24572 "Offset of field: ",
24573 stringify!(rte_kni_device_info),
24574 "::",
24575 stringify!(max_mtu)
24576 )
24577 );
24578 assert_eq!(
24579 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).mac_addr as *const _ as usize },
24580 124usize,
24581 concat!(
24582 "Offset of field: ",
24583 stringify!(rte_kni_device_info),
24584 "::",
24585 stringify!(mac_addr)
24586 )
24587 );
24588 assert_eq!(
24589 unsafe { &(*(::std::ptr::null::<rte_kni_device_info>())).iova_mode as *const _ as usize },
24590 130usize,
24591 concat!(
24592 "Offset of field: ",
24593 stringify!(rte_kni_device_info),
24594 "::",
24595 stringify!(iova_mode)
24596 )
24597 );
24598}
24599impl Default for rte_kni_device_info {
24600 fn default() -> Self {
24601 unsafe { ::std::mem::zeroed() }
24602 }
24603}
24604impl rte_kni_device_info {
24605 #[inline]
24606 pub fn force_bind(&self) -> u8 {
24607 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
24608 }
24609 #[inline]
24610 pub fn set_force_bind(&mut self, val: u8) {
24611 unsafe {
24612 let val: u8 = ::std::mem::transmute(val);
24613 self._bitfield_1.set(0usize, 1u8, val as u64)
24614 }
24615 }
24616 #[inline]
24617 pub fn new_bitfield_1(force_bind: u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
24618 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
24619 __bindgen_bitfield_unit.set(0usize, 1u8, {
24620 let force_bind: u8 = unsafe { ::std::mem::transmute(force_bind) };
24621 force_bind as u64
24622 });
24623 __bindgen_bitfield_unit
24624 }
24625}
24626#[repr(C)]
24627#[derive(Debug, Copy, Clone)]
24628pub struct rte_kni {
24629 _unused: [u8; 0],
24630}
24631#[repr(C)]
24632#[derive(Debug, Default, Copy, Clone, PartialEq)]
24633pub struct rte_kni_ops {
24634 pub port_id: u16,
24635 pub change_mtu: ::std::option::Option<
24636 unsafe extern "C" fn(
24637 port_id: u16,
24638 new_mtu: ::std::os::raw::c_uint,
24639 ) -> ::std::os::raw::c_int,
24640 >,
24641 pub config_network_if: ::std::option::Option<
24642 unsafe extern "C" fn(port_id: u16, if_up: u8) -> ::std::os::raw::c_int,
24643 >,
24644 pub config_mac_address: ::std::option::Option<
24645 unsafe extern "C" fn(port_id: u16, mac_addr: *mut u8) -> ::std::os::raw::c_int,
24646 >,
24647 pub config_promiscusity: ::std::option::Option<
24648 unsafe extern "C" fn(port_id: u16, to_on: u8) -> ::std::os::raw::c_int,
24649 >,
24650 pub config_allmulticast: ::std::option::Option<
24651 unsafe extern "C" fn(port_id: u16, to_on: u8) -> ::std::os::raw::c_int,
24652 >,
24653}
24654#[test]
24655fn bindgen_test_layout_rte_kni_ops() {
24656 assert_eq!(
24657 ::std::mem::size_of::<rte_kni_ops>(),
24658 48usize,
24659 concat!("Size of: ", stringify!(rte_kni_ops))
24660 );
24661 assert_eq!(
24662 ::std::mem::align_of::<rte_kni_ops>(),
24663 8usize,
24664 concat!("Alignment of ", stringify!(rte_kni_ops))
24665 );
24666 assert_eq!(
24667 unsafe { &(*(::std::ptr::null::<rte_kni_ops>())).port_id as *const _ as usize },
24668 0usize,
24669 concat!(
24670 "Offset of field: ",
24671 stringify!(rte_kni_ops),
24672 "::",
24673 stringify!(port_id)
24674 )
24675 );
24676 assert_eq!(
24677 unsafe { &(*(::std::ptr::null::<rte_kni_ops>())).change_mtu as *const _ as usize },
24678 8usize,
24679 concat!(
24680 "Offset of field: ",
24681 stringify!(rte_kni_ops),
24682 "::",
24683 stringify!(change_mtu)
24684 )
24685 );
24686 assert_eq!(
24687 unsafe { &(*(::std::ptr::null::<rte_kni_ops>())).config_network_if as *const _ as usize },
24688 16usize,
24689 concat!(
24690 "Offset of field: ",
24691 stringify!(rte_kni_ops),
24692 "::",
24693 stringify!(config_network_if)
24694 )
24695 );
24696 assert_eq!(
24697 unsafe { &(*(::std::ptr::null::<rte_kni_ops>())).config_mac_address as *const _ as usize },
24698 24usize,
24699 concat!(
24700 "Offset of field: ",
24701 stringify!(rte_kni_ops),
24702 "::",
24703 stringify!(config_mac_address)
24704 )
24705 );
24706 assert_eq!(
24707 unsafe { &(*(::std::ptr::null::<rte_kni_ops>())).config_promiscusity as *const _ as usize },
24708 32usize,
24709 concat!(
24710 "Offset of field: ",
24711 stringify!(rte_kni_ops),
24712 "::",
24713 stringify!(config_promiscusity)
24714 )
24715 );
24716 assert_eq!(
24717 unsafe { &(*(::std::ptr::null::<rte_kni_ops>())).config_allmulticast as *const _ as usize },
24718 40usize,
24719 concat!(
24720 "Offset of field: ",
24721 stringify!(rte_kni_ops),
24722 "::",
24723 stringify!(config_allmulticast)
24724 )
24725 );
24726}
24727#[repr(C)]
24728#[derive(Debug, Default, Copy, Clone, PartialEq)]
24729pub struct rte_kni_conf {
24730 pub name: [::std::os::raw::c_char; 16usize],
24731 pub core_id: u32,
24732 pub group_id: u16,
24733 pub mbuf_size: ::std::os::raw::c_uint,
24734 pub addr: rte_pci_addr,
24735 pub id: rte_pci_id,
24736 pub _bitfield_align_1: [u8; 0],
24737 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
24738 pub mac_addr: [u8; 6usize],
24739 pub mtu: u16,
24740 pub min_mtu: u16,
24741 pub max_mtu: u16,
24742}
24743#[test]
24744fn bindgen_test_layout_rte_kni_conf() {
24745 assert_eq!(
24746 ::std::mem::size_of::<rte_kni_conf>(),
24747 64usize,
24748 concat!("Size of: ", stringify!(rte_kni_conf))
24749 );
24750 assert_eq!(
24751 ::std::mem::align_of::<rte_kni_conf>(),
24752 4usize,
24753 concat!("Alignment of ", stringify!(rte_kni_conf))
24754 );
24755 assert_eq!(
24756 unsafe { &(*(::std::ptr::null::<rte_kni_conf>())).name as *const _ as usize },
24757 0usize,
24758 concat!(
24759 "Offset of field: ",
24760 stringify!(rte_kni_conf),
24761 "::",
24762 stringify!(name)
24763 )
24764 );
24765 assert_eq!(
24766 unsafe { &(*(::std::ptr::null::<rte_kni_conf>())).core_id as *const _ as usize },
24767 16usize,
24768 concat!(
24769 "Offset of field: ",
24770 stringify!(rte_kni_conf),
24771 "::",
24772 stringify!(core_id)
24773 )
24774 );
24775 assert_eq!(
24776 unsafe { &(*(::std::ptr::null::<rte_kni_conf>())).group_id as *const _ as usize },
24777 20usize,
24778 concat!(
24779 "Offset of field: ",
24780 stringify!(rte_kni_conf),
24781 "::",
24782 stringify!(group_id)
24783 )
24784 );
24785 assert_eq!(
24786 unsafe { &(*(::std::ptr::null::<rte_kni_conf>())).mbuf_size as *const _ as usize },
24787 24usize,
24788 concat!(
24789 "Offset of field: ",
24790 stringify!(rte_kni_conf),
24791 "::",
24792 stringify!(mbuf_size)
24793 )
24794 );
24795 assert_eq!(
24796 unsafe { &(*(::std::ptr::null::<rte_kni_conf>())).addr as *const _ as usize },
24797 28usize,
24798 concat!(
24799 "Offset of field: ",
24800 stringify!(rte_kni_conf),
24801 "::",
24802 stringify!(addr)
24803 )
24804 );
24805 assert_eq!(
24806 unsafe { &(*(::std::ptr::null::<rte_kni_conf>())).id as *const _ as usize },
24807 36usize,
24808 concat!(
24809 "Offset of field: ",
24810 stringify!(rte_kni_conf),
24811 "::",
24812 stringify!(id)
24813 )
24814 );
24815 assert_eq!(
24816 unsafe { &(*(::std::ptr::null::<rte_kni_conf>())).mac_addr as *const _ as usize },
24817 49usize,
24818 concat!(
24819 "Offset of field: ",
24820 stringify!(rte_kni_conf),
24821 "::",
24822 stringify!(mac_addr)
24823 )
24824 );
24825 assert_eq!(
24826 unsafe { &(*(::std::ptr::null::<rte_kni_conf>())).mtu as *const _ as usize },
24827 56usize,
24828 concat!(
24829 "Offset of field: ",
24830 stringify!(rte_kni_conf),
24831 "::",
24832 stringify!(mtu)
24833 )
24834 );
24835 assert_eq!(
24836 unsafe { &(*(::std::ptr::null::<rte_kni_conf>())).min_mtu as *const _ as usize },
24837 58usize,
24838 concat!(
24839 "Offset of field: ",
24840 stringify!(rte_kni_conf),
24841 "::",
24842 stringify!(min_mtu)
24843 )
24844 );
24845 assert_eq!(
24846 unsafe { &(*(::std::ptr::null::<rte_kni_conf>())).max_mtu as *const _ as usize },
24847 60usize,
24848 concat!(
24849 "Offset of field: ",
24850 stringify!(rte_kni_conf),
24851 "::",
24852 stringify!(max_mtu)
24853 )
24854 );
24855}
24856impl rte_kni_conf {
24857 #[inline]
24858 pub fn force_bind(&self) -> u8 {
24859 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
24860 }
24861 #[inline]
24862 pub fn set_force_bind(&mut self, val: u8) {
24863 unsafe {
24864 let val: u8 = ::std::mem::transmute(val);
24865 self._bitfield_1.set(0usize, 1u8, val as u64)
24866 }
24867 }
24868 #[inline]
24869 pub fn new_bitfield_1(force_bind: u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
24870 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
24871 __bindgen_bitfield_unit.set(0usize, 1u8, {
24872 let force_bind: u8 = unsafe { ::std::mem::transmute(force_bind) };
24873 force_bind as u64
24874 });
24875 __bindgen_bitfield_unit
24876 }
24877}
24878extern "C" {
24879 pub fn rte_kni_init(max_kni_ifaces: ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
24880}
24881extern "C" {
24882 pub fn rte_kni_alloc(
24883 pktmbuf_pool: *mut rte_mempool,
24884 conf: *const rte_kni_conf,
24885 ops: *mut rte_kni_ops,
24886 ) -> *mut rte_kni;
24887}
24888extern "C" {
24889 pub fn rte_kni_release(kni: *mut rte_kni) -> ::std::os::raw::c_int;
24890}
24891extern "C" {
24892 pub fn rte_kni_handle_request(kni: *mut rte_kni) -> ::std::os::raw::c_int;
24893}
24894extern "C" {
24895 pub fn rte_kni_rx_burst(
24896 kni: *mut rte_kni,
24897 mbufs: *mut *mut rte_mbuf,
24898 num: ::std::os::raw::c_uint,
24899 ) -> ::std::os::raw::c_uint;
24900}
24901extern "C" {
24902 pub fn rte_kni_tx_burst(
24903 kni: *mut rte_kni,
24904 mbufs: *mut *mut rte_mbuf,
24905 num: ::std::os::raw::c_uint,
24906 ) -> ::std::os::raw::c_uint;
24907}
24908extern "C" {
24909 pub fn rte_kni_get(name: *const ::std::os::raw::c_char) -> *mut rte_kni;
24910}
24911extern "C" {
24912 pub fn rte_kni_get_name(kni: *const rte_kni) -> *const ::std::os::raw::c_char;
24913}
24914extern "C" {
24915 pub fn rte_kni_register_handlers(
24916 kni: *mut rte_kni,
24917 ops: *mut rte_kni_ops,
24918 ) -> ::std::os::raw::c_int;
24919}
24920extern "C" {
24921 pub fn rte_kni_unregister_handlers(kni: *mut rte_kni) -> ::std::os::raw::c_int;
24922}
24923extern "C" {
24924 pub fn rte_kni_update_link(
24925 kni: *mut rte_kni,
24926 linkup: ::std::os::raw::c_uint,
24927 ) -> ::std::os::raw::c_int;
24928}
24929extern "C" {
24930 pub fn rte_kni_close();
24931}
24932#[repr(C)]
24933#[derive(Debug, Default, Copy, Clone, PartialEq)]
24934pub struct nodemask_t {
24935 pub n: [::std::os::raw::c_ulong; 2usize],
24936}
24937#[test]
24938fn bindgen_test_layout_nodemask_t() {
24939 assert_eq!(
24940 ::std::mem::size_of::<nodemask_t>(),
24941 16usize,
24942 concat!("Size of: ", stringify!(nodemask_t))
24943 );
24944 assert_eq!(
24945 ::std::mem::align_of::<nodemask_t>(),
24946 8usize,
24947 concat!("Alignment of ", stringify!(nodemask_t))
24948 );
24949 assert_eq!(
24950 unsafe { &(*(::std::ptr::null::<nodemask_t>())).n as *const _ as usize },
24951 0usize,
24952 concat!(
24953 "Offset of field: ",
24954 stringify!(nodemask_t),
24955 "::",
24956 stringify!(n)
24957 )
24958 );
24959}
24960#[repr(C)]
24961#[derive(Debug, Copy, Clone, PartialEq)]
24962pub struct bitmask {
24963 pub size: ::std::os::raw::c_ulong,
24964 pub maskp: *mut ::std::os::raw::c_ulong,
24965}
24966#[test]
24967fn bindgen_test_layout_bitmask() {
24968 assert_eq!(
24969 ::std::mem::size_of::<bitmask>(),
24970 16usize,
24971 concat!("Size of: ", stringify!(bitmask))
24972 );
24973 assert_eq!(
24974 ::std::mem::align_of::<bitmask>(),
24975 8usize,
24976 concat!("Alignment of ", stringify!(bitmask))
24977 );
24978 assert_eq!(
24979 unsafe { &(*(::std::ptr::null::<bitmask>())).size as *const _ as usize },
24980 0usize,
24981 concat!(
24982 "Offset of field: ",
24983 stringify!(bitmask),
24984 "::",
24985 stringify!(size)
24986 )
24987 );
24988 assert_eq!(
24989 unsafe { &(*(::std::ptr::null::<bitmask>())).maskp as *const _ as usize },
24990 8usize,
24991 concat!(
24992 "Offset of field: ",
24993 stringify!(bitmask),
24994 "::",
24995 stringify!(maskp)
24996 )
24997 );
24998}
24999impl Default for bitmask {
25000 fn default() -> Self {
25001 unsafe { ::std::mem::zeroed() }
25002 }
25003}
25004extern "C" {
25005 pub fn numa_bitmask_isbitset(
25006 arg1: *const bitmask,
25007 arg2: ::std::os::raw::c_uint,
25008 ) -> ::std::os::raw::c_int;
25009}
25010extern "C" {
25011 pub fn numa_bitmask_setall(arg1: *mut bitmask) -> *mut bitmask;
25012}
25013extern "C" {
25014 pub fn numa_bitmask_clearall(arg1: *mut bitmask) -> *mut bitmask;
25015}
25016extern "C" {
25017 pub fn numa_bitmask_setbit(arg1: *mut bitmask, arg2: ::std::os::raw::c_uint) -> *mut bitmask;
25018}
25019extern "C" {
25020 pub fn numa_bitmask_clearbit(arg1: *mut bitmask, arg2: ::std::os::raw::c_uint) -> *mut bitmask;
25021}
25022extern "C" {
25023 pub fn numa_bitmask_nbytes(arg1: *mut bitmask) -> ::std::os::raw::c_uint;
25024}
25025extern "C" {
25026 pub fn numa_bitmask_weight(arg1: *const bitmask) -> ::std::os::raw::c_uint;
25027}
25028extern "C" {
25029 pub fn numa_bitmask_alloc(arg1: ::std::os::raw::c_uint) -> *mut bitmask;
25030}
25031extern "C" {
25032 pub fn numa_bitmask_free(arg1: *mut bitmask);
25033}
25034extern "C" {
25035 pub fn numa_bitmask_equal(arg1: *const bitmask, arg2: *const bitmask) -> ::std::os::raw::c_int;
25036}
25037extern "C" {
25038 pub fn numa_available() -> ::std::os::raw::c_int;
25039}
25040extern "C" {
25041 pub fn numa_max_node() -> ::std::os::raw::c_int;
25042}
25043extern "C" {
25044 pub fn numa_max_possible_node() -> ::std::os::raw::c_int;
25045}
25046extern "C" {
25047 pub fn numa_preferred() -> ::std::os::raw::c_int;
25048}
25049extern "C" {
25050 pub fn numa_node_size64(
25051 node: ::std::os::raw::c_int,
25052 freep: *mut ::std::os::raw::c_longlong,
25053 ) -> ::std::os::raw::c_longlong;
25054}
25055extern "C" {
25056 pub fn numa_node_size(
25057 node: ::std::os::raw::c_int,
25058 freep: *mut ::std::os::raw::c_long,
25059 ) -> ::std::os::raw::c_long;
25060}
25061extern "C" {
25062 pub fn numa_pagesize() -> ::std::os::raw::c_int;
25063}
25064extern "C" {
25065 pub fn numa_bind(nodes: *mut bitmask);
25066}
25067extern "C" {
25068 pub fn numa_set_interleave_mask(nodemask: *mut bitmask);
25069}
25070extern "C" {
25071 pub fn numa_get_interleave_mask() -> *mut bitmask;
25072}
25073extern "C" {
25074 pub fn numa_allocate_nodemask() -> *mut bitmask;
25075}
25076extern "C" {
25077 pub fn numa_set_preferred(node: ::std::os::raw::c_int);
25078}
25079extern "C" {
25080 pub fn numa_set_localalloc();
25081}
25082extern "C" {
25083 pub fn numa_set_membind(nodemask: *mut bitmask);
25084}
25085extern "C" {
25086 pub fn numa_get_membind() -> *mut bitmask;
25087}
25088extern "C" {
25089 pub fn numa_get_mems_allowed() -> *mut bitmask;
25090}
25091extern "C" {
25092 pub fn numa_get_interleave_node() -> ::std::os::raw::c_int;
25093}
25094extern "C" {
25095 pub fn numa_alloc_interleaved_subset(
25096 size: size_t,
25097 nodemask: *mut bitmask,
25098 ) -> *mut ::std::os::raw::c_void;
25099}
25100extern "C" {
25101 pub fn numa_alloc_interleaved(size: size_t) -> *mut ::std::os::raw::c_void;
25102}
25103extern "C" {
25104 pub fn numa_alloc_onnode(
25105 size: size_t,
25106 node: ::std::os::raw::c_int,
25107 ) -> *mut ::std::os::raw::c_void;
25108}
25109extern "C" {
25110 pub fn numa_alloc_local(size: size_t) -> *mut ::std::os::raw::c_void;
25111}
25112extern "C" {
25113 pub fn numa_alloc(size: size_t) -> *mut ::std::os::raw::c_void;
25114}
25115extern "C" {
25116 pub fn numa_realloc(
25117 old_addr: *mut ::std::os::raw::c_void,
25118 old_size: size_t,
25119 new_size: size_t,
25120 ) -> *mut ::std::os::raw::c_void;
25121}
25122extern "C" {
25123 pub fn numa_free(mem: *mut ::std::os::raw::c_void, size: size_t);
25124}
25125extern "C" {
25126 pub fn numa_interleave_memory(
25127 mem: *mut ::std::os::raw::c_void,
25128 size: size_t,
25129 mask: *mut bitmask,
25130 );
25131}
25132extern "C" {
25133 pub fn numa_tonode_memory(
25134 start: *mut ::std::os::raw::c_void,
25135 size: size_t,
25136 node: ::std::os::raw::c_int,
25137 );
25138}
25139extern "C" {
25140 pub fn numa_tonodemask_memory(
25141 mem: *mut ::std::os::raw::c_void,
25142 size: size_t,
25143 mask: *mut bitmask,
25144 );
25145}
25146extern "C" {
25147 pub fn numa_setlocal_memory(start: *mut ::std::os::raw::c_void, size: size_t);
25148}
25149extern "C" {
25150 pub fn numa_police_memory(start: *mut ::std::os::raw::c_void, size: size_t);
25151}
25152extern "C" {
25153 pub fn numa_run_on_node_mask(mask: *mut bitmask) -> ::std::os::raw::c_int;
25154}
25155extern "C" {
25156 pub fn numa_run_on_node_mask_all(mask: *mut bitmask) -> ::std::os::raw::c_int;
25157}
25158extern "C" {
25159 pub fn numa_run_on_node(node: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
25160}
25161extern "C" {
25162 pub fn numa_get_run_node_mask() -> *mut bitmask;
25163}
25164extern "C" {
25165 pub fn numa_set_bind_policy(strict: ::std::os::raw::c_int);
25166}
25167extern "C" {
25168 pub fn numa_set_strict(flag: ::std::os::raw::c_int);
25169}
25170extern "C" {
25171 pub fn numa_num_possible_nodes() -> ::std::os::raw::c_int;
25172}
25173extern "C" {
25174 pub fn numa_num_possible_cpus() -> ::std::os::raw::c_int;
25175}
25176extern "C" {
25177 pub fn numa_num_configured_nodes() -> ::std::os::raw::c_int;
25178}
25179extern "C" {
25180 pub fn numa_num_configured_cpus() -> ::std::os::raw::c_int;
25181}
25182extern "C" {
25183 pub fn numa_num_task_cpus() -> ::std::os::raw::c_int;
25184}
25185extern "C" {
25186 pub fn numa_num_thread_cpus() -> ::std::os::raw::c_int;
25187}
25188extern "C" {
25189 pub fn numa_num_task_nodes() -> ::std::os::raw::c_int;
25190}
25191extern "C" {
25192 pub fn numa_num_thread_nodes() -> ::std::os::raw::c_int;
25193}
25194extern "C" {
25195 pub fn numa_allocate_cpumask() -> *mut bitmask;
25196}
25197extern "C" {
25198 pub fn numa_node_to_cpus(
25199 arg1: ::std::os::raw::c_int,
25200 arg2: *mut bitmask,
25201 ) -> ::std::os::raw::c_int;
25202}
25203extern "C" {
25204 pub fn numa_node_of_cpu(cpu: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
25205}
25206extern "C" {
25207 pub fn numa_distance(
25208 node1: ::std::os::raw::c_int,
25209 node2: ::std::os::raw::c_int,
25210 ) -> ::std::os::raw::c_int;
25211}
25212extern "C" {
25213 pub fn numa_error(where_: *mut ::std::os::raw::c_char);
25214}
25215extern "C" {
25216 pub fn numa_warn(num: ::std::os::raw::c_int, fmt: *mut ::std::os::raw::c_char, ...);
25217}
25218extern "C" {
25219 pub fn numa_migrate_pages(
25220 pid: ::std::os::raw::c_int,
25221 from: *mut bitmask,
25222 to: *mut bitmask,
25223 ) -> ::std::os::raw::c_int;
25224}
25225extern "C" {
25226 pub fn numa_move_pages(
25227 pid: ::std::os::raw::c_int,
25228 count: ::std::os::raw::c_ulong,
25229 pages: *mut *mut ::std::os::raw::c_void,
25230 nodes: *const ::std::os::raw::c_int,
25231 status: *mut ::std::os::raw::c_int,
25232 flags: ::std::os::raw::c_int,
25233 ) -> ::std::os::raw::c_int;
25234}
25235extern "C" {
25236 pub fn numa_sched_getaffinity(arg1: pid_t, arg2: *mut bitmask) -> ::std::os::raw::c_int;
25237}
25238extern "C" {
25239 pub fn numa_sched_setaffinity(arg1: pid_t, arg2: *mut bitmask) -> ::std::os::raw::c_int;
25240}
25241extern "C" {
25242 pub fn numa_parse_nodestring(arg1: *const ::std::os::raw::c_char) -> *mut bitmask;
25243}
25244extern "C" {
25245 pub fn numa_parse_nodestring_all(arg1: *const ::std::os::raw::c_char) -> *mut bitmask;
25246}
25247extern "C" {
25248 pub fn numa_parse_cpustring(arg1: *const ::std::os::raw::c_char) -> *mut bitmask;
25249}
25250extern "C" {
25251 pub fn numa_parse_cpustring_all(arg1: *const ::std::os::raw::c_char) -> *mut bitmask;
25252}
25253pub type bpf_int32 = ::std::os::raw::c_int;
25254pub type bpf_u_int32 = u_int;
25255#[repr(C)]
25256#[derive(Debug, Copy, Clone, PartialEq)]
25257pub struct bpf_program {
25258 pub bf_len: u_int,
25259 pub bf_insns: *mut bpf_insn,
25260}
25261#[test]
25262fn bindgen_test_layout_bpf_program() {
25263 assert_eq!(
25264 ::std::mem::size_of::<bpf_program>(),
25265 16usize,
25266 concat!("Size of: ", stringify!(bpf_program))
25267 );
25268 assert_eq!(
25269 ::std::mem::align_of::<bpf_program>(),
25270 8usize,
25271 concat!("Alignment of ", stringify!(bpf_program))
25272 );
25273 assert_eq!(
25274 unsafe { &(*(::std::ptr::null::<bpf_program>())).bf_len as *const _ as usize },
25275 0usize,
25276 concat!(
25277 "Offset of field: ",
25278 stringify!(bpf_program),
25279 "::",
25280 stringify!(bf_len)
25281 )
25282 );
25283 assert_eq!(
25284 unsafe { &(*(::std::ptr::null::<bpf_program>())).bf_insns as *const _ as usize },
25285 8usize,
25286 concat!(
25287 "Offset of field: ",
25288 stringify!(bpf_program),
25289 "::",
25290 stringify!(bf_insns)
25291 )
25292 );
25293}
25294impl Default for bpf_program {
25295 fn default() -> Self {
25296 unsafe { ::std::mem::zeroed() }
25297 }
25298}
25299#[repr(C)]
25300#[derive(Debug, Default, Copy, Clone, PartialEq)]
25301pub struct bpf_insn {
25302 pub code: u_short,
25303 pub jt: u_char,
25304 pub jf: u_char,
25305 pub k: bpf_u_int32,
25306}
25307#[test]
25308fn bindgen_test_layout_bpf_insn() {
25309 assert_eq!(
25310 ::std::mem::size_of::<bpf_insn>(),
25311 8usize,
25312 concat!("Size of: ", stringify!(bpf_insn))
25313 );
25314 assert_eq!(
25315 ::std::mem::align_of::<bpf_insn>(),
25316 4usize,
25317 concat!("Alignment of ", stringify!(bpf_insn))
25318 );
25319 assert_eq!(
25320 unsafe { &(*(::std::ptr::null::<bpf_insn>())).code as *const _ as usize },
25321 0usize,
25322 concat!(
25323 "Offset of field: ",
25324 stringify!(bpf_insn),
25325 "::",
25326 stringify!(code)
25327 )
25328 );
25329 assert_eq!(
25330 unsafe { &(*(::std::ptr::null::<bpf_insn>())).jt as *const _ as usize },
25331 2usize,
25332 concat!(
25333 "Offset of field: ",
25334 stringify!(bpf_insn),
25335 "::",
25336 stringify!(jt)
25337 )
25338 );
25339 assert_eq!(
25340 unsafe { &(*(::std::ptr::null::<bpf_insn>())).jf as *const _ as usize },
25341 3usize,
25342 concat!(
25343 "Offset of field: ",
25344 stringify!(bpf_insn),
25345 "::",
25346 stringify!(jf)
25347 )
25348 );
25349 assert_eq!(
25350 unsafe { &(*(::std::ptr::null::<bpf_insn>())).k as *const _ as usize },
25351 4usize,
25352 concat!(
25353 "Offset of field: ",
25354 stringify!(bpf_insn),
25355 "::",
25356 stringify!(k)
25357 )
25358 );
25359}
25360#[repr(C)]
25361#[derive(Debug, Copy, Clone)]
25362pub struct pcap {
25363 _unused: [u8; 0],
25364}
25365pub type pcap_t = pcap;
25366#[repr(C)]
25367#[derive(Debug, Copy, Clone)]
25368pub struct pcap_dumper {
25369 _unused: [u8; 0],
25370}
25371pub type pcap_dumper_t = pcap_dumper;
25372pub type pcap_if_t = pcap_if;
25373pub type pcap_addr_t = pcap_addr;
25374#[repr(C)]
25375#[derive(Debug, Default, Copy, Clone, PartialEq)]
25376pub struct pcap_file_header {
25377 pub magic: bpf_u_int32,
25378 pub version_major: u_short,
25379 pub version_minor: u_short,
25380 pub thiszone: bpf_int32,
25381 pub sigfigs: bpf_u_int32,
25382 pub snaplen: bpf_u_int32,
25383 pub linktype: bpf_u_int32,
25384}
25385#[test]
25386fn bindgen_test_layout_pcap_file_header() {
25387 assert_eq!(
25388 ::std::mem::size_of::<pcap_file_header>(),
25389 24usize,
25390 concat!("Size of: ", stringify!(pcap_file_header))
25391 );
25392 assert_eq!(
25393 ::std::mem::align_of::<pcap_file_header>(),
25394 4usize,
25395 concat!("Alignment of ", stringify!(pcap_file_header))
25396 );
25397 assert_eq!(
25398 unsafe { &(*(::std::ptr::null::<pcap_file_header>())).magic as *const _ as usize },
25399 0usize,
25400 concat!(
25401 "Offset of field: ",
25402 stringify!(pcap_file_header),
25403 "::",
25404 stringify!(magic)
25405 )
25406 );
25407 assert_eq!(
25408 unsafe { &(*(::std::ptr::null::<pcap_file_header>())).version_major as *const _ as usize },
25409 4usize,
25410 concat!(
25411 "Offset of field: ",
25412 stringify!(pcap_file_header),
25413 "::",
25414 stringify!(version_major)
25415 )
25416 );
25417 assert_eq!(
25418 unsafe { &(*(::std::ptr::null::<pcap_file_header>())).version_minor as *const _ as usize },
25419 6usize,
25420 concat!(
25421 "Offset of field: ",
25422 stringify!(pcap_file_header),
25423 "::",
25424 stringify!(version_minor)
25425 )
25426 );
25427 assert_eq!(
25428 unsafe { &(*(::std::ptr::null::<pcap_file_header>())).thiszone as *const _ as usize },
25429 8usize,
25430 concat!(
25431 "Offset of field: ",
25432 stringify!(pcap_file_header),
25433 "::",
25434 stringify!(thiszone)
25435 )
25436 );
25437 assert_eq!(
25438 unsafe { &(*(::std::ptr::null::<pcap_file_header>())).sigfigs as *const _ as usize },
25439 12usize,
25440 concat!(
25441 "Offset of field: ",
25442 stringify!(pcap_file_header),
25443 "::",
25444 stringify!(sigfigs)
25445 )
25446 );
25447 assert_eq!(
25448 unsafe { &(*(::std::ptr::null::<pcap_file_header>())).snaplen as *const _ as usize },
25449 16usize,
25450 concat!(
25451 "Offset of field: ",
25452 stringify!(pcap_file_header),
25453 "::",
25454 stringify!(snaplen)
25455 )
25456 );
25457 assert_eq!(
25458 unsafe { &(*(::std::ptr::null::<pcap_file_header>())).linktype as *const _ as usize },
25459 20usize,
25460 concat!(
25461 "Offset of field: ",
25462 stringify!(pcap_file_header),
25463 "::",
25464 stringify!(linktype)
25465 )
25466 );
25467}
25468pub mod pcap_direction_t {
25469 pub type Type = ::std::os::raw::c_uint;
25470 pub const PCAP_D_INOUT: Type = 0;
25471 pub const PCAP_D_IN: Type = 1;
25472 pub const PCAP_D_OUT: Type = 2;
25473}
25474#[repr(C)]
25475#[derive(Debug, Default, Copy, Clone, PartialEq)]
25476pub struct pcap_pkthdr {
25477 pub ts: timeval,
25478 pub caplen: bpf_u_int32,
25479 pub len: bpf_u_int32,
25480}
25481#[test]
25482fn bindgen_test_layout_pcap_pkthdr() {
25483 assert_eq!(
25484 ::std::mem::size_of::<pcap_pkthdr>(),
25485 24usize,
25486 concat!("Size of: ", stringify!(pcap_pkthdr))
25487 );
25488 assert_eq!(
25489 ::std::mem::align_of::<pcap_pkthdr>(),
25490 8usize,
25491 concat!("Alignment of ", stringify!(pcap_pkthdr))
25492 );
25493 assert_eq!(
25494 unsafe { &(*(::std::ptr::null::<pcap_pkthdr>())).ts as *const _ as usize },
25495 0usize,
25496 concat!(
25497 "Offset of field: ",
25498 stringify!(pcap_pkthdr),
25499 "::",
25500 stringify!(ts)
25501 )
25502 );
25503 assert_eq!(
25504 unsafe { &(*(::std::ptr::null::<pcap_pkthdr>())).caplen as *const _ as usize },
25505 16usize,
25506 concat!(
25507 "Offset of field: ",
25508 stringify!(pcap_pkthdr),
25509 "::",
25510 stringify!(caplen)
25511 )
25512 );
25513 assert_eq!(
25514 unsafe { &(*(::std::ptr::null::<pcap_pkthdr>())).len as *const _ as usize },
25515 20usize,
25516 concat!(
25517 "Offset of field: ",
25518 stringify!(pcap_pkthdr),
25519 "::",
25520 stringify!(len)
25521 )
25522 );
25523}
25524#[repr(C)]
25525#[derive(Debug, Default, Copy, Clone, PartialEq)]
25526pub struct pcap_stat {
25527 pub ps_recv: u_int,
25528 pub ps_drop: u_int,
25529 pub ps_ifdrop: u_int,
25530}
25531#[test]
25532fn bindgen_test_layout_pcap_stat() {
25533 assert_eq!(
25534 ::std::mem::size_of::<pcap_stat>(),
25535 12usize,
25536 concat!("Size of: ", stringify!(pcap_stat))
25537 );
25538 assert_eq!(
25539 ::std::mem::align_of::<pcap_stat>(),
25540 4usize,
25541 concat!("Alignment of ", stringify!(pcap_stat))
25542 );
25543 assert_eq!(
25544 unsafe { &(*(::std::ptr::null::<pcap_stat>())).ps_recv as *const _ as usize },
25545 0usize,
25546 concat!(
25547 "Offset of field: ",
25548 stringify!(pcap_stat),
25549 "::",
25550 stringify!(ps_recv)
25551 )
25552 );
25553 assert_eq!(
25554 unsafe { &(*(::std::ptr::null::<pcap_stat>())).ps_drop as *const _ as usize },
25555 4usize,
25556 concat!(
25557 "Offset of field: ",
25558 stringify!(pcap_stat),
25559 "::",
25560 stringify!(ps_drop)
25561 )
25562 );
25563 assert_eq!(
25564 unsafe { &(*(::std::ptr::null::<pcap_stat>())).ps_ifdrop as *const _ as usize },
25565 8usize,
25566 concat!(
25567 "Offset of field: ",
25568 stringify!(pcap_stat),
25569 "::",
25570 stringify!(ps_ifdrop)
25571 )
25572 );
25573}
25574#[repr(C)]
25575#[derive(Debug, Copy, Clone, PartialEq)]
25576pub struct pcap_if {
25577 pub next: *mut pcap_if,
25578 pub name: *mut ::std::os::raw::c_char,
25579 pub description: *mut ::std::os::raw::c_char,
25580 pub addresses: *mut pcap_addr,
25581 pub flags: bpf_u_int32,
25582}
25583#[test]
25584fn bindgen_test_layout_pcap_if() {
25585 assert_eq!(
25586 ::std::mem::size_of::<pcap_if>(),
25587 40usize,
25588 concat!("Size of: ", stringify!(pcap_if))
25589 );
25590 assert_eq!(
25591 ::std::mem::align_of::<pcap_if>(),
25592 8usize,
25593 concat!("Alignment of ", stringify!(pcap_if))
25594 );
25595 assert_eq!(
25596 unsafe { &(*(::std::ptr::null::<pcap_if>())).next as *const _ as usize },
25597 0usize,
25598 concat!(
25599 "Offset of field: ",
25600 stringify!(pcap_if),
25601 "::",
25602 stringify!(next)
25603 )
25604 );
25605 assert_eq!(
25606 unsafe { &(*(::std::ptr::null::<pcap_if>())).name as *const _ as usize },
25607 8usize,
25608 concat!(
25609 "Offset of field: ",
25610 stringify!(pcap_if),
25611 "::",
25612 stringify!(name)
25613 )
25614 );
25615 assert_eq!(
25616 unsafe { &(*(::std::ptr::null::<pcap_if>())).description as *const _ as usize },
25617 16usize,
25618 concat!(
25619 "Offset of field: ",
25620 stringify!(pcap_if),
25621 "::",
25622 stringify!(description)
25623 )
25624 );
25625 assert_eq!(
25626 unsafe { &(*(::std::ptr::null::<pcap_if>())).addresses as *const _ as usize },
25627 24usize,
25628 concat!(
25629 "Offset of field: ",
25630 stringify!(pcap_if),
25631 "::",
25632 stringify!(addresses)
25633 )
25634 );
25635 assert_eq!(
25636 unsafe { &(*(::std::ptr::null::<pcap_if>())).flags as *const _ as usize },
25637 32usize,
25638 concat!(
25639 "Offset of field: ",
25640 stringify!(pcap_if),
25641 "::",
25642 stringify!(flags)
25643 )
25644 );
25645}
25646impl Default for pcap_if {
25647 fn default() -> Self {
25648 unsafe { ::std::mem::zeroed() }
25649 }
25650}
25651#[repr(C)]
25652#[derive(Debug, Copy, Clone, PartialEq)]
25653pub struct pcap_addr {
25654 pub next: *mut pcap_addr,
25655 pub addr: *mut sockaddr,
25656 pub netmask: *mut sockaddr,
25657 pub broadaddr: *mut sockaddr,
25658 pub dstaddr: *mut sockaddr,
25659}
25660#[test]
25661fn bindgen_test_layout_pcap_addr() {
25662 assert_eq!(
25663 ::std::mem::size_of::<pcap_addr>(),
25664 40usize,
25665 concat!("Size of: ", stringify!(pcap_addr))
25666 );
25667 assert_eq!(
25668 ::std::mem::align_of::<pcap_addr>(),
25669 8usize,
25670 concat!("Alignment of ", stringify!(pcap_addr))
25671 );
25672 assert_eq!(
25673 unsafe { &(*(::std::ptr::null::<pcap_addr>())).next as *const _ as usize },
25674 0usize,
25675 concat!(
25676 "Offset of field: ",
25677 stringify!(pcap_addr),
25678 "::",
25679 stringify!(next)
25680 )
25681 );
25682 assert_eq!(
25683 unsafe { &(*(::std::ptr::null::<pcap_addr>())).addr as *const _ as usize },
25684 8usize,
25685 concat!(
25686 "Offset of field: ",
25687 stringify!(pcap_addr),
25688 "::",
25689 stringify!(addr)
25690 )
25691 );
25692 assert_eq!(
25693 unsafe { &(*(::std::ptr::null::<pcap_addr>())).netmask as *const _ as usize },
25694 16usize,
25695 concat!(
25696 "Offset of field: ",
25697 stringify!(pcap_addr),
25698 "::",
25699 stringify!(netmask)
25700 )
25701 );
25702 assert_eq!(
25703 unsafe { &(*(::std::ptr::null::<pcap_addr>())).broadaddr as *const _ as usize },
25704 24usize,
25705 concat!(
25706 "Offset of field: ",
25707 stringify!(pcap_addr),
25708 "::",
25709 stringify!(broadaddr)
25710 )
25711 );
25712 assert_eq!(
25713 unsafe { &(*(::std::ptr::null::<pcap_addr>())).dstaddr as *const _ as usize },
25714 32usize,
25715 concat!(
25716 "Offset of field: ",
25717 stringify!(pcap_addr),
25718 "::",
25719 stringify!(dstaddr)
25720 )
25721 );
25722}
25723impl Default for pcap_addr {
25724 fn default() -> Self {
25725 unsafe { ::std::mem::zeroed() }
25726 }
25727}
25728pub type pcap_handler = ::std::option::Option<
25729 unsafe extern "C" fn(arg1: *mut u_char, arg2: *const pcap_pkthdr, arg3: *const u_char),
25730>;
25731extern "C" {
25732 pub fn pcap_lookupdev(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
25733}
25734extern "C" {
25735 pub fn pcap_lookupnet(
25736 arg1: *const ::std::os::raw::c_char,
25737 arg2: *mut bpf_u_int32,
25738 arg3: *mut bpf_u_int32,
25739 arg4: *mut ::std::os::raw::c_char,
25740 ) -> ::std::os::raw::c_int;
25741}
25742extern "C" {
25743 pub fn pcap_create(
25744 arg1: *const ::std::os::raw::c_char,
25745 arg2: *mut ::std::os::raw::c_char,
25746 ) -> *mut pcap_t;
25747}
25748extern "C" {
25749 pub fn pcap_set_snaplen(
25750 arg1: *mut pcap_t,
25751 arg2: ::std::os::raw::c_int,
25752 ) -> ::std::os::raw::c_int;
25753}
25754extern "C" {
25755 pub fn pcap_set_promisc(
25756 arg1: *mut pcap_t,
25757 arg2: ::std::os::raw::c_int,
25758 ) -> ::std::os::raw::c_int;
25759}
25760extern "C" {
25761 pub fn pcap_can_set_rfmon(arg1: *mut pcap_t) -> ::std::os::raw::c_int;
25762}
25763extern "C" {
25764 pub fn pcap_set_rfmon(arg1: *mut pcap_t, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
25765}
25766extern "C" {
25767 pub fn pcap_set_timeout(
25768 arg1: *mut pcap_t,
25769 arg2: ::std::os::raw::c_int,
25770 ) -> ::std::os::raw::c_int;
25771}
25772extern "C" {
25773 pub fn pcap_set_tstamp_type(
25774 arg1: *mut pcap_t,
25775 arg2: ::std::os::raw::c_int,
25776 ) -> ::std::os::raw::c_int;
25777}
25778extern "C" {
25779 pub fn pcap_set_immediate_mode(
25780 arg1: *mut pcap_t,
25781 arg2: ::std::os::raw::c_int,
25782 ) -> ::std::os::raw::c_int;
25783}
25784extern "C" {
25785 pub fn pcap_set_buffer_size(
25786 arg1: *mut pcap_t,
25787 arg2: ::std::os::raw::c_int,
25788 ) -> ::std::os::raw::c_int;
25789}
25790extern "C" {
25791 pub fn pcap_set_tstamp_precision(
25792 arg1: *mut pcap_t,
25793 arg2: ::std::os::raw::c_int,
25794 ) -> ::std::os::raw::c_int;
25795}
25796extern "C" {
25797 pub fn pcap_get_tstamp_precision(arg1: *mut pcap_t) -> ::std::os::raw::c_int;
25798}
25799extern "C" {
25800 pub fn pcap_activate(arg1: *mut pcap_t) -> ::std::os::raw::c_int;
25801}
25802extern "C" {
25803 pub fn pcap_list_tstamp_types(
25804 arg1: *mut pcap_t,
25805 arg2: *mut *mut ::std::os::raw::c_int,
25806 ) -> ::std::os::raw::c_int;
25807}
25808extern "C" {
25809 pub fn pcap_free_tstamp_types(arg1: *mut ::std::os::raw::c_int);
25810}
25811extern "C" {
25812 pub fn pcap_tstamp_type_name_to_val(
25813 arg1: *const ::std::os::raw::c_char,
25814 ) -> ::std::os::raw::c_int;
25815}
25816extern "C" {
25817 pub fn pcap_tstamp_type_val_to_name(
25818 arg1: ::std::os::raw::c_int,
25819 ) -> *const ::std::os::raw::c_char;
25820}
25821extern "C" {
25822 pub fn pcap_tstamp_type_val_to_description(
25823 arg1: ::std::os::raw::c_int,
25824 ) -> *const ::std::os::raw::c_char;
25825}
25826extern "C" {
25827 pub fn pcap_open_live(
25828 arg1: *const ::std::os::raw::c_char,
25829 arg2: ::std::os::raw::c_int,
25830 arg3: ::std::os::raw::c_int,
25831 arg4: ::std::os::raw::c_int,
25832 arg5: *mut ::std::os::raw::c_char,
25833 ) -> *mut pcap_t;
25834}
25835extern "C" {
25836 pub fn pcap_open_dead(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> *mut pcap_t;
25837}
25838extern "C" {
25839 pub fn pcap_open_dead_with_tstamp_precision(
25840 arg1: ::std::os::raw::c_int,
25841 arg2: ::std::os::raw::c_int,
25842 arg3: u_int,
25843 ) -> *mut pcap_t;
25844}
25845extern "C" {
25846 pub fn pcap_open_offline_with_tstamp_precision(
25847 arg1: *const ::std::os::raw::c_char,
25848 arg2: u_int,
25849 arg3: *mut ::std::os::raw::c_char,
25850 ) -> *mut pcap_t;
25851}
25852extern "C" {
25853 pub fn pcap_open_offline(
25854 arg1: *const ::std::os::raw::c_char,
25855 arg2: *mut ::std::os::raw::c_char,
25856 ) -> *mut pcap_t;
25857}
25858extern "C" {
25859 pub fn pcap_fopen_offline_with_tstamp_precision(
25860 arg1: *mut FILE,
25861 arg2: u_int,
25862 arg3: *mut ::std::os::raw::c_char,
25863 ) -> *mut pcap_t;
25864}
25865extern "C" {
25866 pub fn pcap_fopen_offline(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char) -> *mut pcap_t;
25867}
25868extern "C" {
25869 pub fn pcap_close(arg1: *mut pcap_t);
25870}
25871extern "C" {
25872 pub fn pcap_loop(
25873 arg1: *mut pcap_t,
25874 arg2: ::std::os::raw::c_int,
25875 arg3: pcap_handler,
25876 arg4: *mut u_char,
25877 ) -> ::std::os::raw::c_int;
25878}
25879extern "C" {
25880 pub fn pcap_dispatch(
25881 arg1: *mut pcap_t,
25882 arg2: ::std::os::raw::c_int,
25883 arg3: pcap_handler,
25884 arg4: *mut u_char,
25885 ) -> ::std::os::raw::c_int;
25886}
25887extern "C" {
25888 pub fn pcap_next(arg1: *mut pcap_t, arg2: *mut pcap_pkthdr) -> *const u_char;
25889}
25890extern "C" {
25891 pub fn pcap_next_ex(
25892 arg1: *mut pcap_t,
25893 arg2: *mut *mut pcap_pkthdr,
25894 arg3: *mut *const u_char,
25895 ) -> ::std::os::raw::c_int;
25896}
25897extern "C" {
25898 pub fn pcap_breakloop(arg1: *mut pcap_t);
25899}
25900extern "C" {
25901 pub fn pcap_stats(arg1: *mut pcap_t, arg2: *mut pcap_stat) -> ::std::os::raw::c_int;
25902}
25903extern "C" {
25904 pub fn pcap_setfilter(arg1: *mut pcap_t, arg2: *mut bpf_program) -> ::std::os::raw::c_int;
25905}
25906extern "C" {
25907 pub fn pcap_setdirection(
25908 arg1: *mut pcap_t,
25909 arg2: pcap_direction_t::Type,
25910 ) -> ::std::os::raw::c_int;
25911}
25912extern "C" {
25913 pub fn pcap_getnonblock(
25914 arg1: *mut pcap_t,
25915 arg2: *mut ::std::os::raw::c_char,
25916 ) -> ::std::os::raw::c_int;
25917}
25918extern "C" {
25919 pub fn pcap_setnonblock(
25920 arg1: *mut pcap_t,
25921 arg2: ::std::os::raw::c_int,
25922 arg3: *mut ::std::os::raw::c_char,
25923 ) -> ::std::os::raw::c_int;
25924}
25925extern "C" {
25926 pub fn pcap_inject(
25927 arg1: *mut pcap_t,
25928 arg2: *const ::std::os::raw::c_void,
25929 arg3: size_t,
25930 ) -> ::std::os::raw::c_int;
25931}
25932extern "C" {
25933 pub fn pcap_sendpacket(
25934 arg1: *mut pcap_t,
25935 arg2: *const u_char,
25936 arg3: ::std::os::raw::c_int,
25937 ) -> ::std::os::raw::c_int;
25938}
25939extern "C" {
25940 pub fn pcap_statustostr(arg1: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
25941}
25942extern "C" {
25943 pub fn pcap_strerror(arg1: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
25944}
25945extern "C" {
25946 pub fn pcap_geterr(arg1: *mut pcap_t) -> *mut ::std::os::raw::c_char;
25947}
25948extern "C" {
25949 pub fn pcap_perror(arg1: *mut pcap_t, arg2: *const ::std::os::raw::c_char);
25950}
25951extern "C" {
25952 pub fn pcap_compile(
25953 arg1: *mut pcap_t,
25954 arg2: *mut bpf_program,
25955 arg3: *const ::std::os::raw::c_char,
25956 arg4: ::std::os::raw::c_int,
25957 arg5: bpf_u_int32,
25958 ) -> ::std::os::raw::c_int;
25959}
25960extern "C" {
25961 pub fn pcap_compile_nopcap(
25962 arg1: ::std::os::raw::c_int,
25963 arg2: ::std::os::raw::c_int,
25964 arg3: *mut bpf_program,
25965 arg4: *const ::std::os::raw::c_char,
25966 arg5: ::std::os::raw::c_int,
25967 arg6: bpf_u_int32,
25968 ) -> ::std::os::raw::c_int;
25969}
25970extern "C" {
25971 pub fn pcap_freecode(arg1: *mut bpf_program);
25972}
25973extern "C" {
25974 pub fn pcap_offline_filter(
25975 arg1: *const bpf_program,
25976 arg2: *const pcap_pkthdr,
25977 arg3: *const u_char,
25978 ) -> ::std::os::raw::c_int;
25979}
25980extern "C" {
25981 pub fn pcap_datalink(arg1: *mut pcap_t) -> ::std::os::raw::c_int;
25982}
25983extern "C" {
25984 pub fn pcap_datalink_ext(arg1: *mut pcap_t) -> ::std::os::raw::c_int;
25985}
25986extern "C" {
25987 pub fn pcap_list_datalinks(
25988 arg1: *mut pcap_t,
25989 arg2: *mut *mut ::std::os::raw::c_int,
25990 ) -> ::std::os::raw::c_int;
25991}
25992extern "C" {
25993 pub fn pcap_set_datalink(
25994 arg1: *mut pcap_t,
25995 arg2: ::std::os::raw::c_int,
25996 ) -> ::std::os::raw::c_int;
25997}
25998extern "C" {
25999 pub fn pcap_free_datalinks(arg1: *mut ::std::os::raw::c_int);
26000}
26001extern "C" {
26002 pub fn pcap_datalink_name_to_val(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
26003}
26004extern "C" {
26005 pub fn pcap_datalink_val_to_name(arg1: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
26006}
26007extern "C" {
26008 pub fn pcap_datalink_val_to_description(
26009 arg1: ::std::os::raw::c_int,
26010 ) -> *const ::std::os::raw::c_char;
26011}
26012extern "C" {
26013 pub fn pcap_snapshot(arg1: *mut pcap_t) -> ::std::os::raw::c_int;
26014}
26015extern "C" {
26016 pub fn pcap_is_swapped(arg1: *mut pcap_t) -> ::std::os::raw::c_int;
26017}
26018extern "C" {
26019 pub fn pcap_major_version(arg1: *mut pcap_t) -> ::std::os::raw::c_int;
26020}
26021extern "C" {
26022 pub fn pcap_minor_version(arg1: *mut pcap_t) -> ::std::os::raw::c_int;
26023}
26024extern "C" {
26025 pub fn pcap_file(arg1: *mut pcap_t) -> *mut FILE;
26026}
26027extern "C" {
26028 pub fn pcap_fileno(arg1: *mut pcap_t) -> ::std::os::raw::c_int;
26029}
26030extern "C" {
26031 pub fn pcap_dump_open(
26032 arg1: *mut pcap_t,
26033 arg2: *const ::std::os::raw::c_char,
26034 ) -> *mut pcap_dumper_t;
26035}
26036extern "C" {
26037 pub fn pcap_dump_fopen(arg1: *mut pcap_t, fp: *mut FILE) -> *mut pcap_dumper_t;
26038}
26039extern "C" {
26040 pub fn pcap_dump_open_append(
26041 arg1: *mut pcap_t,
26042 arg2: *const ::std::os::raw::c_char,
26043 ) -> *mut pcap_dumper_t;
26044}
26045extern "C" {
26046 pub fn pcap_dump_file(arg1: *mut pcap_dumper_t) -> *mut FILE;
26047}
26048extern "C" {
26049 pub fn pcap_dump_ftell(arg1: *mut pcap_dumper_t) -> ::std::os::raw::c_long;
26050}
26051extern "C" {
26052 pub fn pcap_dump_flush(arg1: *mut pcap_dumper_t) -> ::std::os::raw::c_int;
26053}
26054extern "C" {
26055 pub fn pcap_dump_close(arg1: *mut pcap_dumper_t);
26056}
26057extern "C" {
26058 pub fn pcap_dump(arg1: *mut u_char, arg2: *const pcap_pkthdr, arg3: *const u_char);
26059}
26060extern "C" {
26061 pub fn pcap_findalldevs(
26062 arg1: *mut *mut pcap_if_t,
26063 arg2: *mut ::std::os::raw::c_char,
26064 ) -> ::std::os::raw::c_int;
26065}
26066extern "C" {
26067 pub fn pcap_freealldevs(arg1: *mut pcap_if_t);
26068}
26069extern "C" {
26070 pub fn pcap_lib_version() -> *const ::std::os::raw::c_char;
26071}
26072extern "C" {
26073 pub fn pcap_get_selectable_fd(arg1: *mut pcap_t) -> ::std::os::raw::c_int;
26074}
26075extern "C" {
26076 #[doc = " Error number value, stored per-thread, which can be queried after"]
26077 #[doc = " calls to certain functions to determine why those functions failed."]
26078 pub fn _rte_errno() -> ::std::os::raw::c_int;
26079}
26080extern "C" {
26081 #[doc = " Allocate a new mbuf from a mempool."]
26082 pub fn _rte_pktmbuf_alloc(mp: *mut rte_mempool) -> *mut rte_mbuf;
26083}
26084extern "C" {
26085 #[doc = " Free a packet mbuf back into its original mempool."]
26086 pub fn _rte_pktmbuf_free(m: *mut rte_mbuf);
26087}
26088extern "C" {
26089 #[doc = " Allocate a bulk of mbufs, initialize refcnt and reset the fields to"]
26090 #[doc = " default values."]
26091 pub fn _rte_pktmbuf_alloc_bulk(
26092 pool: *mut rte_mempool,
26093 mbufs: *mut *mut rte_mbuf,
26094 count: ::std::os::raw::c_uint,
26095 ) -> ::std::os::raw::c_int;
26096}
26097extern "C" {
26098 #[doc = " Put several objects back in the mempool."]
26099 pub fn _rte_mempool_put_bulk(
26100 mp: *mut rte_mempool,
26101 obj_table: *const *mut ::std::os::raw::c_void,
26102 n: ::std::os::raw::c_uint,
26103 );
26104}
26105extern "C" {
26106 #[doc = " Retrieve a burst of input packets from a receive queue of an Ethernet"]
26107 #[doc = " device. The retrieved packets are stored in *rte_mbuf* structures whose"]
26108 #[doc = " pointers are supplied in the *rx_pkts* array."]
26109 pub fn _rte_eth_rx_burst(
26110 port_id: u16,
26111 queue_id: u16,
26112 rx_pkts: *mut *mut rte_mbuf,
26113 nb_pkts: u16,
26114 ) -> u16;
26115}
26116extern "C" {
26117 #[doc = " Send a burst of output packets on a transmit queue of an Ethernet device."]
26118 pub fn _rte_eth_tx_burst(
26119 port_id: u16,
26120 queue_id: u16,
26121 tx_pkts: *mut *mut rte_mbuf,
26122 nb_pkts: u16,
26123 ) -> u16;
26124}
26125pub type __builtin_va_list = [__va_list_tag; 1usize];
26126#[repr(C)]
26127#[derive(Debug, Copy, Clone, PartialEq)]
26128pub struct __va_list_tag {
26129 pub gp_offset: ::std::os::raw::c_uint,
26130 pub fp_offset: ::std::os::raw::c_uint,
26131 pub overflow_arg_area: *mut ::std::os::raw::c_void,
26132 pub reg_save_area: *mut ::std::os::raw::c_void,
26133}
26134#[test]
26135fn bindgen_test_layout___va_list_tag() {
26136 assert_eq!(
26137 ::std::mem::size_of::<__va_list_tag>(),
26138 24usize,
26139 concat!("Size of: ", stringify!(__va_list_tag))
26140 );
26141 assert_eq!(
26142 ::std::mem::align_of::<__va_list_tag>(),
26143 8usize,
26144 concat!("Alignment of ", stringify!(__va_list_tag))
26145 );
26146 assert_eq!(
26147 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
26148 0usize,
26149 concat!(
26150 "Offset of field: ",
26151 stringify!(__va_list_tag),
26152 "::",
26153 stringify!(gp_offset)
26154 )
26155 );
26156 assert_eq!(
26157 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
26158 4usize,
26159 concat!(
26160 "Offset of field: ",
26161 stringify!(__va_list_tag),
26162 "::",
26163 stringify!(fp_offset)
26164 )
26165 );
26166 assert_eq!(
26167 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
26168 8usize,
26169 concat!(
26170 "Offset of field: ",
26171 stringify!(__va_list_tag),
26172 "::",
26173 stringify!(overflow_arg_area)
26174 )
26175 );
26176 assert_eq!(
26177 unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
26178 16usize,
26179 concat!(
26180 "Offset of field: ",
26181 stringify!(__va_list_tag),
26182 "::",
26183 stringify!(reg_save_area)
26184 )
26185 );
26186}
26187impl Default for __va_list_tag {
26188 fn default() -> Self {
26189 unsafe { ::std::mem::zeroed() }
26190 }
26191}
26192#[repr(C)]
26193#[derive(Debug, Default, Copy, Clone, PartialEq)]
26194pub struct rte_class {
26195 pub _address: u8,
26196}