common.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // This is a compact version of `vmlinux.h` to be used in the examples using C code.
  2. #ifndef __VMLINUX_H__
  3. #define __VMLINUX_H__
  4. typedef unsigned char __u8;
  5. typedef short int __s16;
  6. typedef short unsigned int __u16;
  7. typedef int __s32;
  8. typedef unsigned int __u32;
  9. typedef long long int __s64;
  10. typedef long long unsigned int __u64;
  11. typedef __u8 u8;
  12. typedef __s16 s16;
  13. typedef __u16 u16;
  14. typedef __s32 s32;
  15. typedef __u32 u32;
  16. typedef __s64 s64;
  17. typedef __u64 u64;
  18. typedef __u16 __le16;
  19. typedef __u16 __be16;
  20. typedef __u32 __be32;
  21. typedef __u64 __be64;
  22. typedef __u32 __wsum;
  23. enum bpf_map_type {
  24. BPF_MAP_TYPE_UNSPEC = 0,
  25. BPF_MAP_TYPE_HASH = 1,
  26. BPF_MAP_TYPE_ARRAY = 2,
  27. BPF_MAP_TYPE_PROG_ARRAY = 3,
  28. BPF_MAP_TYPE_PERF_EVENT_ARRAY = 4,
  29. BPF_MAP_TYPE_PERCPU_HASH = 5,
  30. BPF_MAP_TYPE_PERCPU_ARRAY = 6,
  31. BPF_MAP_TYPE_STACK_TRACE = 7,
  32. BPF_MAP_TYPE_CGROUP_ARRAY = 8,
  33. BPF_MAP_TYPE_LRU_HASH = 9,
  34. BPF_MAP_TYPE_LRU_PERCPU_HASH = 10,
  35. BPF_MAP_TYPE_LPM_TRIE = 11,
  36. BPF_MAP_TYPE_ARRAY_OF_MAPS = 12,
  37. BPF_MAP_TYPE_HASH_OF_MAPS = 13,
  38. BPF_MAP_TYPE_DEVMAP = 14,
  39. BPF_MAP_TYPE_SOCKMAP = 15,
  40. BPF_MAP_TYPE_CPUMAP = 16,
  41. BPF_MAP_TYPE_XSKMAP = 17,
  42. BPF_MAP_TYPE_SOCKHASH = 18,
  43. BPF_MAP_TYPE_CGROUP_STORAGE = 19,
  44. BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20,
  45. BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 21,
  46. BPF_MAP_TYPE_QUEUE = 22,
  47. BPF_MAP_TYPE_STACK = 23,
  48. BPF_MAP_TYPE_SK_STORAGE = 24,
  49. BPF_MAP_TYPE_DEVMAP_HASH = 25,
  50. BPF_MAP_TYPE_STRUCT_OPS = 26,
  51. BPF_MAP_TYPE_RINGBUF = 27,
  52. BPF_MAP_TYPE_INODE_STORAGE = 28,
  53. };
  54. enum {
  55. BPF_ANY = 0,
  56. BPF_NOEXIST = 1,
  57. BPF_EXIST = 2,
  58. BPF_F_LOCK = 4,
  59. };
  60. #endif /* __VMLINUX_H__ */