enum_signed_64_checked_variants_reloc.bpf.c 1002 B

123456789101112131415161718192021222324252627282930313233
  1. #include "reloc.h"
  2. enum relocated_enum_signed_64_checked_variants {
  3. #ifndef TARGET
  4. S64_VAL_A = -0xAAAAAAABBBBBBB,
  5. #endif
  6. S64_VAL_B = -0xCCCCCCCDDDDDDD,
  7. #ifdef TARGET
  8. S64_VAL_C = -0xEEEEEEEFFFFFFF
  9. #endif
  10. };
  11. __noinline int enum_signed_64_checked_variants_global() {
  12. #ifndef TARGET
  13. if (bpf_core_enum_value_exists(enum relocated_enum_signed_64_checked_variants,
  14. S64_VAL_A)) {
  15. return set_output(bpf_core_enum_value(
  16. enum relocated_enum_signed_64_checked_variants, S64_VAL_A));
  17. #else
  18. if (bpf_core_enum_value_exists(enum relocated_enum_signed_64_checked_variants,
  19. S64_VAL_C)) {
  20. return set_output(bpf_core_enum_value(
  21. enum relocated_enum_signed_64_checked_variants, S64_VAL_C));
  22. #endif
  23. } else {
  24. return set_output(bpf_core_enum_value(
  25. enum relocated_enum_signed_64_checked_variants, S64_VAL_B));
  26. }
  27. }
  28. SEC("uprobe") int program(void *ctx) {
  29. return enum_signed_64_checked_variants_global();
  30. }