lib.rs 2.1 KB

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