lib.rs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #![no_std]
  2. #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
  3. #[cfg(bpf_target_arch = "x86_64")]
  4. mod x86_64;
  5. #[cfg(bpf_target_arch = "arm")]
  6. mod armv7;
  7. #[cfg(bpf_target_arch = "aarch64")]
  8. mod aarch64;
  9. #[cfg(bpf_target_arch = "riscv64")]
  10. mod riscv64;
  11. mod gen {
  12. #[cfg(bpf_target_arch = "aarch64")]
  13. pub use super::aarch64::*;
  14. #[cfg(bpf_target_arch = "arm")]
  15. pub use super::armv7::*;
  16. #[cfg(bpf_target_arch = "riscv64")]
  17. pub use super::riscv64::*;
  18. #[cfg(bpf_target_arch = "x86_64")]
  19. pub use super::x86_64::*;
  20. }
  21. pub use gen::helpers;
  22. pub mod bindings {
  23. pub use crate::gen::bindings::*;
  24. pub const TC_ACT_OK: i32 = crate::gen::bindings::TC_ACT_OK as i32;
  25. pub const TC_ACT_RECLASSIFY: i32 = crate::gen::bindings::TC_ACT_RECLASSIFY as i32;
  26. pub const TC_ACT_SHOT: i32 = crate::gen::bindings::TC_ACT_SHOT as i32;
  27. pub const TC_ACT_PIPE: i32 = crate::gen::bindings::TC_ACT_PIPE as i32;
  28. pub const TC_ACT_STOLEN: i32 = crate::gen::bindings::TC_ACT_STOLEN as i32;
  29. pub const TC_ACT_QUEUED: i32 = crate::gen::bindings::TC_ACT_QUEUED as i32;
  30. pub const TC_ACT_REPEAT: i32 = crate::gen::bindings::TC_ACT_REPEAT as i32;
  31. pub const TC_ACT_REDIRECT: i32 = crate::gen::bindings::TC_ACT_REDIRECT as i32;
  32. pub const TC_ACT_TRAP: i32 = crate::gen::bindings::TC_ACT_TRAP as i32;
  33. pub const TC_ACT_VALUE_MAX: i32 = crate::gen::bindings::TC_ACT_VALUE_MAX as i32;
  34. pub const TC_ACT_EXT_VAL_MASK: i32 = 268435455;
  35. #[repr(C)]
  36. #[derive(Debug, Copy, Clone)]
  37. pub struct bpf_map_def {
  38. pub type_: ::aya_bpf_cty::c_uint,
  39. pub key_size: ::aya_bpf_cty::c_uint,
  40. pub value_size: ::aya_bpf_cty::c_uint,
  41. pub max_entries: ::aya_bpf_cty::c_uint,
  42. pub map_flags: ::aya_bpf_cty::c_uint,
  43. pub id: ::aya_bpf_cty::c_uint,
  44. pub pinning: ::aya_bpf_cty::c_uint,
  45. }
  46. }