lib.rs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #![expect(
  2. clippy::all,
  3. non_camel_case_types,
  4. non_snake_case,
  5. non_upper_case_globals,
  6. unsafe_op_in_unsafe_fn
  7. )]
  8. #![no_std]
  9. #[cfg(bpf_target_arch = "aarch64")]
  10. mod aarch64 {
  11. pub mod bindings;
  12. pub mod helpers;
  13. }
  14. #[cfg(bpf_target_arch = "arm")]
  15. mod armv7 {
  16. pub mod bindings;
  17. pub mod helpers;
  18. }
  19. #[cfg(bpf_target_arch = "loongarch64")]
  20. mod loongarch64 {
  21. pub mod bindings;
  22. pub mod helpers;
  23. }
  24. #[cfg(bpf_target_arch = "mips")]
  25. mod mips {
  26. pub mod bindings;
  27. pub mod helpers;
  28. }
  29. #[cfg(bpf_target_arch = "powerpc64")]
  30. mod powerpc64 {
  31. pub mod bindings;
  32. pub mod helpers;
  33. }
  34. #[cfg(bpf_target_arch = "riscv64")]
  35. mod riscv64 {
  36. pub mod bindings;
  37. pub mod helpers;
  38. }
  39. #[cfg(bpf_target_arch = "s390x")]
  40. mod s390x {
  41. pub mod bindings;
  42. pub mod helpers;
  43. }
  44. #[cfg(bpf_target_arch = "x86_64")]
  45. mod x86_64 {
  46. pub mod bindings;
  47. pub mod helpers;
  48. }
  49. mod generated {
  50. #[cfg(bpf_target_arch = "aarch64")]
  51. pub use super::aarch64::*;
  52. #[cfg(bpf_target_arch = "arm")]
  53. pub use super::armv7::*;
  54. #[cfg(bpf_target_arch = "loongarch64")]
  55. pub use super::loongarch64::*;
  56. #[cfg(bpf_target_arch = "mips")]
  57. pub use super::mips::*;
  58. #[cfg(bpf_target_arch = "powerpc64")]
  59. pub use super::powerpc64::*;
  60. #[cfg(bpf_target_arch = "riscv64")]
  61. pub use super::riscv64::*;
  62. #[cfg(bpf_target_arch = "s390x")]
  63. pub use super::s390x::*;
  64. #[cfg(bpf_target_arch = "x86_64")]
  65. pub use super::x86_64::*;
  66. }
  67. pub use generated::helpers;
  68. pub mod bindings {
  69. pub use crate::generated::bindings::*;
  70. pub const TC_ACT_OK: i32 = crate::generated::bindings::TC_ACT_OK as i32;
  71. pub const TC_ACT_RECLASSIFY: i32 = crate::generated::bindings::TC_ACT_RECLASSIFY as i32;
  72. pub const TC_ACT_SHOT: i32 = crate::generated::bindings::TC_ACT_SHOT as i32;
  73. pub const TC_ACT_PIPE: i32 = crate::generated::bindings::TC_ACT_PIPE as i32;
  74. pub const TC_ACT_STOLEN: i32 = crate::generated::bindings::TC_ACT_STOLEN as i32;
  75. pub const TC_ACT_QUEUED: i32 = crate::generated::bindings::TC_ACT_QUEUED as i32;
  76. pub const TC_ACT_REPEAT: i32 = crate::generated::bindings::TC_ACT_REPEAT as i32;
  77. pub const TC_ACT_REDIRECT: i32 = crate::generated::bindings::TC_ACT_REDIRECT as i32;
  78. pub const TC_ACT_TRAP: i32 = crate::generated::bindings::TC_ACT_TRAP as i32;
  79. pub const TC_ACT_VALUE_MAX: i32 = crate::generated::bindings::TC_ACT_VALUE_MAX as i32;
  80. pub const TC_ACT_EXT_VAL_MASK: i32 = crate::generated::bindings::TC_ACT_EXT_VAL_MASK as i32;
  81. #[repr(C)]
  82. #[derive(Debug, Copy, Clone)]
  83. pub struct bpf_map_def {
  84. pub type_: ::aya_ebpf_cty::c_uint,
  85. pub key_size: ::aya_ebpf_cty::c_uint,
  86. pub value_size: ::aya_ebpf_cty::c_uint,
  87. pub max_entries: ::aya_ebpf_cty::c_uint,
  88. pub map_flags: ::aya_ebpf_cty::c_uint,
  89. pub id: ::aya_ebpf_cty::c_uint,
  90. pub pinning: ::aya_ebpf_cty::c_uint,
  91. }
  92. }