enum_unsigned_32_checked_variants_reloc.bpf.c 953 B

123456789101112131415161718192021222324252627282930313233
  1. #include "reloc.h"
  2. enum relocated_enum_unsigned_32_checked_variants {
  3. #ifndef TARGET
  4. U32_VAL_A = 0xAAAAAAAA,
  5. #endif
  6. U32_VAL_B = 0xBBBBBBBB,
  7. #ifdef TARGET
  8. U32_VAL_C = 0xCCCCCCCC
  9. #endif
  10. };
  11. __noinline int enum_unsigned_32_checked_variants_global() {
  12. #ifndef TARGET
  13. if (bpf_core_enum_value_exists(
  14. enum relocated_enum_unsigned_32_checked_variants, U32_VAL_A)) {
  15. return set_output(bpf_core_enum_value(
  16. enum relocated_enum_unsigned_32_checked_variants, U32_VAL_A));
  17. #else
  18. if (bpf_core_enum_value_exists(
  19. enum relocated_enum_unsigned_32_checked_variants, U32_VAL_C)) {
  20. return set_output(bpf_core_enum_value(
  21. enum relocated_enum_unsigned_32_checked_variants, U32_VAL_C));
  22. #endif
  23. } else {
  24. return set_output(bpf_core_enum_value(
  25. enum relocated_enum_unsigned_32_checked_variants, U32_VAL_B));
  26. }
  27. }
  28. SEC("uprobe") int program(void *ctx) {
  29. return enum_unsigned_32_checked_variants_global();
  30. }