1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//! Raw FFI bindings to DPDK (Data Plane Development Kit)
//!
//! This crate provides low-level bindings to DPDK. It operates in two modes:
//!
//! ## With DPDK installed (bindgen feature)
//!
//! When compiled with the `bindgen` feature and DPDK is installed, this crate
//! generates real FFI bindings using bindgen:
//!
//! ```toml
//! [dependencies]
//! dpdk-sys = { version = "0.1", features = ["bindgen"] }
//! ```
//!
//! ## Without DPDK (default)
//!
//! By default, this crate provides stub implementations that allow development
//! and testing without requiring DPDK to be installed. The stubs provide the
//! same API but don't perform actual packet I/O.
//!
//! ## Environment Variables
//!
//! - `DPDK_PATH`: Path to DPDK installation (e.g., `/usr/local/dpdk`)
//! - `PKG_CONFIG_PATH`: Can be set to help pkg-config find DPDK
// When bindgen generates real bindings, include them
include!;
// Shim: wrappers for static inline functions and macro constants that
// bindgen cannot capture. Only needed with real DPDK.
pub use *;
// When using stubs (default), use our manual definitions
pub use *;
// Re-export libc types commonly used with DPDK
pub use ;
/// Check if real DPDK bindings are being used
pub const
/// Check if stub implementations are being used
pub const