Skip to main content

aya_friday_ebpf_bindings/
lib.rs

1#![expect(
2    clippy::all,
3    clippy::as_pointer_underscore,
4    clippy::cast_lossless,
5    clippy::decimal_literal_representation,
6    clippy::missing_const_for_fn,
7    clippy::ptr_as_ptr,
8    clippy::pub_underscore_fields,
9    clippy::ref_as_ptr,
10    clippy::renamed_function_params,
11    clippy::semicolon_inside_block,
12    clippy::use_self,
13    clippy::used_underscore_binding,
14    missing_docs,
15    non_camel_case_types,
16    non_upper_case_globals,
17    non_snake_case,
18    trivial_casts,
19    unreachable_pub,
20    unsafe_op_in_unsafe_fn,
21    unused_qualifications,
22    reason = "generated code"
23)]
24#![allow(
25    clippy::wildcard_imports,
26    reason = "generated code on some architectures"
27)]
28#![no_std]
29
30#[cfg(bpf_target_arch = "aarch64")]
31mod aarch64 {
32    pub mod bindings;
33    pub mod helpers;
34}
35#[cfg(bpf_target_arch = "arm")]
36mod armv7 {
37    pub mod bindings;
38    pub mod helpers;
39}
40#[cfg(bpf_target_arch = "loongarch64")]
41mod loongarch64 {
42    pub mod bindings;
43    pub mod helpers;
44}
45#[cfg(bpf_target_arch = "mips")]
46mod mips {
47    pub mod bindings;
48    pub mod helpers;
49}
50#[cfg(bpf_target_arch = "mips64")]
51mod mips64 {
52    pub mod bindings;
53    pub mod helpers;
54}
55#[cfg(bpf_target_arch = "powerpc64")]
56mod powerpc64 {
57    pub mod bindings;
58    pub mod helpers;
59}
60#[cfg(bpf_target_arch = "riscv64")]
61mod riscv64 {
62    pub mod bindings;
63    pub mod helpers;
64}
65#[cfg(bpf_target_arch = "s390x")]
66mod s390x {
67    pub mod bindings;
68    pub mod helpers;
69}
70#[cfg(bpf_target_arch = "x86_64")]
71mod x86_64 {
72    pub mod bindings;
73    pub mod helpers;
74}
75
76mod generated {
77    #[cfg(bpf_target_arch = "aarch64")]
78    pub use super::aarch64::*;
79    #[cfg(bpf_target_arch = "arm")]
80    pub use super::armv7::*;
81    #[cfg(bpf_target_arch = "loongarch64")]
82    pub use super::loongarch64::*;
83    #[cfg(bpf_target_arch = "mips")]
84    pub use super::mips::*;
85    #[cfg(bpf_target_arch = "mips64")]
86    pub use super::mips64::*;
87    #[cfg(bpf_target_arch = "powerpc64")]
88    pub use super::powerpc64::*;
89    #[cfg(bpf_target_arch = "riscv64")]
90    pub use super::riscv64::*;
91    #[cfg(bpf_target_arch = "s390x")]
92    pub use super::s390x::*;
93    #[cfg(bpf_target_arch = "x86_64")]
94    pub use super::x86_64::*;
95}
96
97pub use generated::helpers;
98
99pub mod bindings {
100    pub use crate::generated::bindings::*;
101
102    pub const TC_ACT_OK: i32 = crate::generated::bindings::TC_ACT_OK as i32;
103    pub const TC_ACT_RECLASSIFY: i32 = crate::generated::bindings::TC_ACT_RECLASSIFY as i32;
104    pub const TC_ACT_SHOT: i32 = crate::generated::bindings::TC_ACT_SHOT as i32;
105    pub const TC_ACT_PIPE: i32 = crate::generated::bindings::TC_ACT_PIPE as i32;
106    pub const TC_ACT_STOLEN: i32 = crate::generated::bindings::TC_ACT_STOLEN as i32;
107    pub const TC_ACT_QUEUED: i32 = crate::generated::bindings::TC_ACT_QUEUED as i32;
108    pub const TC_ACT_REPEAT: i32 = crate::generated::bindings::TC_ACT_REPEAT as i32;
109    pub const TC_ACT_REDIRECT: i32 = crate::generated::bindings::TC_ACT_REDIRECT as i32;
110    pub const TC_ACT_TRAP: i32 = crate::generated::bindings::TC_ACT_TRAP as i32;
111    pub const TC_ACT_VALUE_MAX: i32 = crate::generated::bindings::TC_ACT_VALUE_MAX as i32;
112    pub const TC_ACT_EXT_VAL_MASK: i32 = crate::generated::bindings::TC_ACT_EXT_VAL_MASK as i32;
113
114    #[repr(C)]
115    pub struct bpf_map_def {
116        pub type_: ::aya_ebpf_cty::c_uint,
117        pub key_size: ::aya_ebpf_cty::c_uint,
118        pub value_size: ::aya_ebpf_cty::c_uint,
119        pub max_entries: ::aya_ebpf_cty::c_uint,
120        pub map_flags: ::aya_ebpf_cty::c_uint,
121        pub id: ::aya_ebpf_cty::c_uint,
122        pub pinning: ::aya_ebpf_cty::c_uint,
123    }
124}