#define BPF_PSEUDO_CALL                1
 
 /* flags for BPF_MAP_UPDATE_ELEM command */
-#define BPF_ANY                0 /* create new element or update existing */
-#define BPF_NOEXIST    1 /* create new element if it didn't exist */
-#define BPF_EXIST      2 /* update existing element */
-#define BPF_F_LOCK     4 /* spin_lock-ed map_lookup/map_update */
+enum {
+       BPF_ANY         = 0, /* create new element or update existing */
+       BPF_NOEXIST     = 1, /* create new element if it didn't exist */
+       BPF_EXIST       = 2, /* update existing element */
+       BPF_F_LOCK      = 4, /* spin_lock-ed map_lookup/map_update */
+};
 
 /* flags for BPF_MAP_CREATE command */
-#define BPF_F_NO_PREALLOC      (1U << 0)
+enum {
+       BPF_F_NO_PREALLOC       = (1U << 0),
 /* Instead of having one common LRU list in the
  * BPF_MAP_TYPE_LRU_[PERCPU_]HASH map, use a percpu LRU list
  * which can scale and perform better.
  * Note, the LRU nodes (including free nodes) cannot be moved
  * across different LRU lists.
  */
-#define BPF_F_NO_COMMON_LRU    (1U << 1)
+       BPF_F_NO_COMMON_LRU     = (1U << 1),
 /* Specify numa node during map creation */
-#define BPF_F_NUMA_NODE                (1U << 2)
-
-#define BPF_OBJ_NAME_LEN 16U
+       BPF_F_NUMA_NODE         = (1U << 2),
 
 /* Flags for accessing BPF object from syscall side. */
-#define BPF_F_RDONLY           (1U << 3)
-#define BPF_F_WRONLY           (1U << 4)
+       BPF_F_RDONLY            = (1U << 3),
+       BPF_F_WRONLY            = (1U << 4),
 
 /* Flag for stack_map, store build_id+offset instead of pointer */
-#define BPF_F_STACK_BUILD_ID   (1U << 5)
+       BPF_F_STACK_BUILD_ID    = (1U << 5),
 
 /* Zero-initialize hash function seed. This should only be used for testing. */
-#define BPF_F_ZERO_SEED                (1U << 6)
+       BPF_F_ZERO_SEED         = (1U << 6),
 
 /* Flags for accessing BPF object from program side. */
-#define BPF_F_RDONLY_PROG      (1U << 7)
-#define BPF_F_WRONLY_PROG      (1U << 8)
+       BPF_F_RDONLY_PROG       = (1U << 7),
+       BPF_F_WRONLY_PROG       = (1U << 8),
 
 /* Clone map from listener for newly accepted socket */
-#define BPF_F_CLONE            (1U << 9)
+       BPF_F_CLONE             = (1U << 9),
 
 /* Enable memory-mapping BPF map */
-#define BPF_F_MMAPABLE         (1U << 10)
+       BPF_F_MMAPABLE          = (1U << 10),
+};
 
 /* Flags for BPF_PROG_QUERY. */
 
        };
 };
 
+#define BPF_OBJ_NAME_LEN 16U
+
 union bpf_attr {
        struct { /* anonymous struct used by BPF_MAP_CREATE command */
                __u32   map_type;       /* one of enum bpf_map_type */
 /* All flags used by eBPF helper functions, placed here. */
 
 /* BPF_FUNC_skb_store_bytes flags. */
-#define BPF_F_RECOMPUTE_CSUM           (1ULL << 0)
-#define BPF_F_INVALIDATE_HASH          (1ULL << 1)
+enum {
+       BPF_F_RECOMPUTE_CSUM            = (1ULL << 0),
+       BPF_F_INVALIDATE_HASH           = (1ULL << 1),
+};
 
 /* BPF_FUNC_l3_csum_replace and BPF_FUNC_l4_csum_replace flags.
  * First 4 bits are for passing the header field size.
  */
-#define BPF_F_HDR_FIELD_MASK           0xfULL
+enum {
+       BPF_F_HDR_FIELD_MASK            = 0xfULL,
+};
 
 /* BPF_FUNC_l4_csum_replace flags. */
-#define BPF_F_PSEUDO_HDR               (1ULL << 4)
-#define BPF_F_MARK_MANGLED_0           (1ULL << 5)
-#define BPF_F_MARK_ENFORCE             (1ULL << 6)
+enum {
+       BPF_F_PSEUDO_HDR                = (1ULL << 4),
+       BPF_F_MARK_MANGLED_0            = (1ULL << 5),
+       BPF_F_MARK_ENFORCE              = (1ULL << 6),
+};
 
 /* BPF_FUNC_clone_redirect and BPF_FUNC_redirect flags. */
-#define BPF_F_INGRESS                  (1ULL << 0)
+enum {
+       BPF_F_INGRESS                   = (1ULL << 0),
+};
 
 /* BPF_FUNC_skb_set_tunnel_key and BPF_FUNC_skb_get_tunnel_key flags. */
-#define BPF_F_TUNINFO_IPV6             (1ULL << 0)
+enum {
+       BPF_F_TUNINFO_IPV6              = (1ULL << 0),
+};
 
 /* flags for both BPF_FUNC_get_stackid and BPF_FUNC_get_stack. */
-#define BPF_F_SKIP_FIELD_MASK          0xffULL
-#define BPF_F_USER_STACK               (1ULL << 8)
+enum {
+       BPF_F_SKIP_FIELD_MASK           = 0xffULL,
+       BPF_F_USER_STACK                = (1ULL << 8),
 /* flags used by BPF_FUNC_get_stackid only. */
-#define BPF_F_FAST_STACK_CMP           (1ULL << 9)
-#define BPF_F_REUSE_STACKID            (1ULL << 10)
+       BPF_F_FAST_STACK_CMP            = (1ULL << 9),
+       BPF_F_REUSE_STACKID             = (1ULL << 10),
 /* flags used by BPF_FUNC_get_stack only. */
-#define BPF_F_USER_BUILD_ID            (1ULL << 11)
+       BPF_F_USER_BUILD_ID             = (1ULL << 11),
+};
 
 /* BPF_FUNC_skb_set_tunnel_key flags. */
-#define BPF_F_ZERO_CSUM_TX             (1ULL << 1)
-#define BPF_F_DONT_FRAGMENT            (1ULL << 2)
-#define BPF_F_SEQ_NUMBER               (1ULL << 3)
+enum {
+       BPF_F_ZERO_CSUM_TX              = (1ULL << 1),
+       BPF_F_DONT_FRAGMENT             = (1ULL << 2),
+       BPF_F_SEQ_NUMBER                = (1ULL << 3),
+};
 
 /* BPF_FUNC_perf_event_output, BPF_FUNC_perf_event_read and
  * BPF_FUNC_perf_event_read_value flags.
  */
-#define BPF_F_INDEX_MASK               0xffffffffULL
-#define BPF_F_CURRENT_CPU              BPF_F_INDEX_MASK
+enum {
+       BPF_F_INDEX_MASK                = 0xffffffffULL,
+       BPF_F_CURRENT_CPU               = BPF_F_INDEX_MASK,
 /* BPF_FUNC_perf_event_output for sk_buff input context. */
-#define BPF_F_CTXLEN_MASK              (0xfffffULL << 32)
+       BPF_F_CTXLEN_MASK               = (0xfffffULL << 32),
+};
 
 /* Current network namespace */
-#define BPF_F_CURRENT_NETNS            (-1L)
+enum {
+       BPF_F_CURRENT_NETNS             = (-1L),
+};
 
 /* BPF_FUNC_skb_adjust_room flags. */
-#define BPF_F_ADJ_ROOM_FIXED_GSO       (1ULL << 0)
+enum {
+       BPF_F_ADJ_ROOM_FIXED_GSO        = (1ULL << 0),
+       BPF_F_ADJ_ROOM_ENCAP_L3_IPV4    = (1ULL << 1),
+       BPF_F_ADJ_ROOM_ENCAP_L3_IPV6    = (1ULL << 2),
+       BPF_F_ADJ_ROOM_ENCAP_L4_GRE     = (1ULL << 3),
+       BPF_F_ADJ_ROOM_ENCAP_L4_UDP     = (1ULL << 4),
+};
 
-#define BPF_ADJ_ROOM_ENCAP_L2_MASK     0xff
-#define BPF_ADJ_ROOM_ENCAP_L2_SHIFT    56
+enum {
+       BPF_ADJ_ROOM_ENCAP_L2_MASK      = 0xff,
+       BPF_ADJ_ROOM_ENCAP_L2_SHIFT     = 56,
+};
 
-#define BPF_F_ADJ_ROOM_ENCAP_L3_IPV4   (1ULL << 1)
-#define BPF_F_ADJ_ROOM_ENCAP_L3_IPV6   (1ULL << 2)
-#define BPF_F_ADJ_ROOM_ENCAP_L4_GRE    (1ULL << 3)
-#define BPF_F_ADJ_ROOM_ENCAP_L4_UDP    (1ULL << 4)
 #define BPF_F_ADJ_ROOM_ENCAP_L2(len)   (((__u64)len & \
                                          BPF_ADJ_ROOM_ENCAP_L2_MASK) \
                                         << BPF_ADJ_ROOM_ENCAP_L2_SHIFT)
 
 /* BPF_FUNC_sysctl_get_name flags. */
-#define BPF_F_SYSCTL_BASE_NAME         (1ULL << 0)
+enum {
+       BPF_F_SYSCTL_BASE_NAME          = (1ULL << 0),
+};
 
 /* BPF_FUNC_sk_storage_get flags */
-#define BPF_SK_STORAGE_GET_F_CREATE    (1ULL << 0)
+enum {
+       BPF_SK_STORAGE_GET_F_CREATE     = (1ULL << 0),
+};
 
 /* BPF_FUNC_read_branch_records flags. */
-#define BPF_F_GET_BRANCH_RECORDS_SIZE  (1ULL << 0)
+enum {
+       BPF_F_GET_BRANCH_RECORDS_SIZE   = (1ULL << 0),
+};
 
 /* Mode for BPF_FUNC_skb_adjust_room helper. */
 enum bpf_adj_room_mode {
 };
 
 /* Definitions for bpf_sock_ops_cb_flags */
-#define BPF_SOCK_OPS_RTO_CB_FLAG       (1<<0)
-#define BPF_SOCK_OPS_RETRANS_CB_FLAG   (1<<1)
-#define BPF_SOCK_OPS_STATE_CB_FLAG     (1<<2)
-#define BPF_SOCK_OPS_RTT_CB_FLAG       (1<<3)
-#define BPF_SOCK_OPS_ALL_CB_FLAGS       0xF            /* Mask of all currently
-                                                        * supported cb flags
-                                                        */
+enum {
+       BPF_SOCK_OPS_RTO_CB_FLAG        = (1<<0),
+       BPF_SOCK_OPS_RETRANS_CB_FLAG    = (1<<1),
+       BPF_SOCK_OPS_STATE_CB_FLAG      = (1<<2),
+       BPF_SOCK_OPS_RTT_CB_FLAG        = (1<<3),
+/* Mask of all currently supported cb flags */
+       BPF_SOCK_OPS_ALL_CB_FLAGS       = 0xF,
+};
 
 /* List of known BPF sock_ops operators.
  * New entries can only be added at the end
        BPF_TCP_MAX_STATES      /* Leave at the end! */
 };
 
-#define TCP_BPF_IW             1001    /* Set TCP initial congestion window */
-#define TCP_BPF_SNDCWND_CLAMP  1002    /* Set sndcwnd_clamp */
+enum {
+       TCP_BPF_IW              = 1001, /* Set TCP initial congestion window */
+       TCP_BPF_SNDCWND_CLAMP   = 1002, /* Set sndcwnd_clamp */
+};
 
 struct bpf_perf_event_value {
        __u64 counter;
        __u64 running;
 };
 
-#define BPF_DEVCG_ACC_MKNOD    (1ULL << 0)
-#define BPF_DEVCG_ACC_READ     (1ULL << 1)
-#define BPF_DEVCG_ACC_WRITE    (1ULL << 2)
+enum {
+       BPF_DEVCG_ACC_MKNOD     = (1ULL << 0),
+       BPF_DEVCG_ACC_READ      = (1ULL << 1),
+       BPF_DEVCG_ACC_WRITE     = (1ULL << 2),
+};
 
-#define BPF_DEVCG_DEV_BLOCK    (1ULL << 0)
-#define BPF_DEVCG_DEV_CHAR     (1ULL << 1)
+enum {
+       BPF_DEVCG_DEV_BLOCK     = (1ULL << 0),
+       BPF_DEVCG_DEV_CHAR      = (1ULL << 1),
+};
 
 struct bpf_cgroup_dev_ctx {
        /* access_type encoded as (BPF_DEVCG_ACC_* << 16) | BPF_DEVCG_DEV_* */
 /* DIRECT:  Skip the FIB rules and go to FIB table associated with device
  * OUTPUT:  Do lookup from egress perspective; default is ingress
  */
-#define BPF_FIB_LOOKUP_DIRECT  (1U << 0)
-#define BPF_FIB_LOOKUP_OUTPUT  (1U << 1)
+enum {
+       BPF_FIB_LOOKUP_DIRECT  = (1U << 0),
+       BPF_FIB_LOOKUP_OUTPUT  = (1U << 1),
+};
 
 enum {
        BPF_FIB_LKUP_RET_SUCCESS,      /* lookup successful */
        BPF_FD_TYPE_URETPROBE,          /* filename + offset */
 };
 
-#define BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG            (1U << 0)
-#define BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL                (1U << 1)
-#define BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP             (1U << 2)
+enum {
+       BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG             = (1U << 0),
+       BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL         = (1U << 1),
+       BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP              = (1U << 2),
+};
 
 struct bpf_flow_keys {
        __u16   nhoff;
 
 /* Key of an a BPF_MAP_TYPE_LPM_TRIE entry */
 struct bpf_lpm_trie_key {
        __u32   prefixlen;      /* up to 32 for AF_INET, 128 for AF_INET6 */
-       __u8    data[0];        /* Arbitrary size */
+       __u8    data[]; /* Arbitrary size */
 };
 
 struct bpf_cgroup_storage_key {
 #define BPF_PSEUDO_CALL                1
 
 /* flags for BPF_MAP_UPDATE_ELEM command */
-#define BPF_ANY                0 /* create new element or update existing */
-#define BPF_NOEXIST    1 /* create new element if it didn't exist */
-#define BPF_EXIST      2 /* update existing element */
-#define BPF_F_LOCK     4 /* spin_lock-ed map_lookup/map_update */
+enum {
+       BPF_ANY         = 0, /* create new element or update existing */
+       BPF_NOEXIST     = 1, /* create new element if it didn't exist */
+       BPF_EXIST       = 2, /* update existing element */
+       BPF_F_LOCK      = 4, /* spin_lock-ed map_lookup/map_update */
+};
 
 /* flags for BPF_MAP_CREATE command */
-#define BPF_F_NO_PREALLOC      (1U << 0)
+enum {
+       BPF_F_NO_PREALLOC       = (1U << 0),
 /* Instead of having one common LRU list in the
  * BPF_MAP_TYPE_LRU_[PERCPU_]HASH map, use a percpu LRU list
  * which can scale and perform better.
  * Note, the LRU nodes (including free nodes) cannot be moved
  * across different LRU lists.
  */
-#define BPF_F_NO_COMMON_LRU    (1U << 1)
+       BPF_F_NO_COMMON_LRU     = (1U << 1),
 /* Specify numa node during map creation */
-#define BPF_F_NUMA_NODE                (1U << 2)
-
-#define BPF_OBJ_NAME_LEN 16U
+       BPF_F_NUMA_NODE         = (1U << 2),
 
 /* Flags for accessing BPF object from syscall side. */
-#define BPF_F_RDONLY           (1U << 3)
-#define BPF_F_WRONLY           (1U << 4)
+       BPF_F_RDONLY            = (1U << 3),
+       BPF_F_WRONLY            = (1U << 4),
 
 /* Flag for stack_map, store build_id+offset instead of pointer */
-#define BPF_F_STACK_BUILD_ID   (1U << 5)
+       BPF_F_STACK_BUILD_ID    = (1U << 5),
 
 /* Zero-initialize hash function seed. This should only be used for testing. */
-#define BPF_F_ZERO_SEED                (1U << 6)
+       BPF_F_ZERO_SEED         = (1U << 6),
 
 /* Flags for accessing BPF object from program side. */
-#define BPF_F_RDONLY_PROG      (1U << 7)
-#define BPF_F_WRONLY_PROG      (1U << 8)
+       BPF_F_RDONLY_PROG       = (1U << 7),
+       BPF_F_WRONLY_PROG       = (1U << 8),
 
 /* Clone map from listener for newly accepted socket */
-#define BPF_F_CLONE            (1U << 9)
+       BPF_F_CLONE             = (1U << 9),
 
 /* Enable memory-mapping BPF map */
-#define BPF_F_MMAPABLE         (1U << 10)
+       BPF_F_MMAPABLE          = (1U << 10),
+};
 
 /* Flags for BPF_PROG_QUERY. */
 
        };
 };
 
+#define BPF_OBJ_NAME_LEN 16U
+
 union bpf_attr {
        struct { /* anonymous struct used by BPF_MAP_CREATE command */
                __u32   map_type;       /* one of enum bpf_map_type */
 /* All flags used by eBPF helper functions, placed here. */
 
 /* BPF_FUNC_skb_store_bytes flags. */
-#define BPF_F_RECOMPUTE_CSUM           (1ULL << 0)
-#define BPF_F_INVALIDATE_HASH          (1ULL << 1)
+enum {
+       BPF_F_RECOMPUTE_CSUM            = (1ULL << 0),
+       BPF_F_INVALIDATE_HASH           = (1ULL << 1),
+};
 
 /* BPF_FUNC_l3_csum_replace and BPF_FUNC_l4_csum_replace flags.
  * First 4 bits are for passing the header field size.
  */
-#define BPF_F_HDR_FIELD_MASK           0xfULL
+enum {
+       BPF_F_HDR_FIELD_MASK            = 0xfULL,
+};
 
 /* BPF_FUNC_l4_csum_replace flags. */
-#define BPF_F_PSEUDO_HDR               (1ULL << 4)
-#define BPF_F_MARK_MANGLED_0           (1ULL << 5)
-#define BPF_F_MARK_ENFORCE             (1ULL << 6)
+enum {
+       BPF_F_PSEUDO_HDR                = (1ULL << 4),
+       BPF_F_MARK_MANGLED_0            = (1ULL << 5),
+       BPF_F_MARK_ENFORCE              = (1ULL << 6),
+};
 
 /* BPF_FUNC_clone_redirect and BPF_FUNC_redirect flags. */
-#define BPF_F_INGRESS                  (1ULL << 0)
+enum {
+       BPF_F_INGRESS                   = (1ULL << 0),
+};
 
 /* BPF_FUNC_skb_set_tunnel_key and BPF_FUNC_skb_get_tunnel_key flags. */
-#define BPF_F_TUNINFO_IPV6             (1ULL << 0)
+enum {
+       BPF_F_TUNINFO_IPV6              = (1ULL << 0),
+};
 
 /* flags for both BPF_FUNC_get_stackid and BPF_FUNC_get_stack. */
-#define BPF_F_SKIP_FIELD_MASK          0xffULL
-#define BPF_F_USER_STACK               (1ULL << 8)
+enum {
+       BPF_F_SKIP_FIELD_MASK           = 0xffULL,
+       BPF_F_USER_STACK                = (1ULL << 8),
 /* flags used by BPF_FUNC_get_stackid only. */
-#define BPF_F_FAST_STACK_CMP           (1ULL << 9)
-#define BPF_F_REUSE_STACKID            (1ULL << 10)
+       BPF_F_FAST_STACK_CMP            = (1ULL << 9),
+       BPF_F_REUSE_STACKID             = (1ULL << 10),
 /* flags used by BPF_FUNC_get_stack only. */
-#define BPF_F_USER_BUILD_ID            (1ULL << 11)
+       BPF_F_USER_BUILD_ID             = (1ULL << 11),
+};
 
 /* BPF_FUNC_skb_set_tunnel_key flags. */
-#define BPF_F_ZERO_CSUM_TX             (1ULL << 1)
-#define BPF_F_DONT_FRAGMENT            (1ULL << 2)
-#define BPF_F_SEQ_NUMBER               (1ULL << 3)
+enum {
+       BPF_F_ZERO_CSUM_TX              = (1ULL << 1),
+       BPF_F_DONT_FRAGMENT             = (1ULL << 2),
+       BPF_F_SEQ_NUMBER                = (1ULL << 3),
+};
 
 /* BPF_FUNC_perf_event_output, BPF_FUNC_perf_event_read and
  * BPF_FUNC_perf_event_read_value flags.
  */
-#define BPF_F_INDEX_MASK               0xffffffffULL
-#define BPF_F_CURRENT_CPU              BPF_F_INDEX_MASK
+enum {
+       BPF_F_INDEX_MASK                = 0xffffffffULL,
+       BPF_F_CURRENT_CPU               = BPF_F_INDEX_MASK,
 /* BPF_FUNC_perf_event_output for sk_buff input context. */
-#define BPF_F_CTXLEN_MASK              (0xfffffULL << 32)
+       BPF_F_CTXLEN_MASK               = (0xfffffULL << 32),
+};
 
 /* Current network namespace */
-#define BPF_F_CURRENT_NETNS            (-1L)
+enum {
+       BPF_F_CURRENT_NETNS             = (-1L),
+};
 
 /* BPF_FUNC_skb_adjust_room flags. */
-#define BPF_F_ADJ_ROOM_FIXED_GSO       (1ULL << 0)
+enum {
+       BPF_F_ADJ_ROOM_FIXED_GSO        = (1ULL << 0),
+       BPF_F_ADJ_ROOM_ENCAP_L3_IPV4    = (1ULL << 1),
+       BPF_F_ADJ_ROOM_ENCAP_L3_IPV6    = (1ULL << 2),
+       BPF_F_ADJ_ROOM_ENCAP_L4_GRE     = (1ULL << 3),
+       BPF_F_ADJ_ROOM_ENCAP_L4_UDP     = (1ULL << 4),
+};
 
-#define BPF_ADJ_ROOM_ENCAP_L2_MASK     0xff
-#define BPF_ADJ_ROOM_ENCAP_L2_SHIFT    56
+enum {
+       BPF_ADJ_ROOM_ENCAP_L2_MASK      = 0xff,
+       BPF_ADJ_ROOM_ENCAP_L2_SHIFT     = 56,
+};
 
-#define BPF_F_ADJ_ROOM_ENCAP_L3_IPV4   (1ULL << 1)
-#define BPF_F_ADJ_ROOM_ENCAP_L3_IPV6   (1ULL << 2)
-#define BPF_F_ADJ_ROOM_ENCAP_L4_GRE    (1ULL << 3)
-#define BPF_F_ADJ_ROOM_ENCAP_L4_UDP    (1ULL << 4)
 #define BPF_F_ADJ_ROOM_ENCAP_L2(len)   (((__u64)len & \
                                          BPF_ADJ_ROOM_ENCAP_L2_MASK) \
                                         << BPF_ADJ_ROOM_ENCAP_L2_SHIFT)
 
 /* BPF_FUNC_sysctl_get_name flags. */
-#define BPF_F_SYSCTL_BASE_NAME         (1ULL << 0)
+enum {
+       BPF_F_SYSCTL_BASE_NAME          = (1ULL << 0),
+};
 
 /* BPF_FUNC_sk_storage_get flags */
-#define BPF_SK_STORAGE_GET_F_CREATE    (1ULL << 0)
+enum {
+       BPF_SK_STORAGE_GET_F_CREATE     = (1ULL << 0),
+};
 
 /* BPF_FUNC_read_branch_records flags. */
-#define BPF_F_GET_BRANCH_RECORDS_SIZE  (1ULL << 0)
+enum {
+       BPF_F_GET_BRANCH_RECORDS_SIZE   = (1ULL << 0),
+};
 
 /* Mode for BPF_FUNC_skb_adjust_room helper. */
 enum bpf_adj_room_mode {
 };
 
 /* Definitions for bpf_sock_ops_cb_flags */
-#define BPF_SOCK_OPS_RTO_CB_FLAG       (1<<0)
-#define BPF_SOCK_OPS_RETRANS_CB_FLAG   (1<<1)
-#define BPF_SOCK_OPS_STATE_CB_FLAG     (1<<2)
-#define BPF_SOCK_OPS_RTT_CB_FLAG       (1<<3)
-#define BPF_SOCK_OPS_ALL_CB_FLAGS       0xF            /* Mask of all currently
-                                                        * supported cb flags
-                                                        */
+enum {
+       BPF_SOCK_OPS_RTO_CB_FLAG        = (1<<0),
+       BPF_SOCK_OPS_RETRANS_CB_FLAG    = (1<<1),
+       BPF_SOCK_OPS_STATE_CB_FLAG      = (1<<2),
+       BPF_SOCK_OPS_RTT_CB_FLAG        = (1<<3),
+/* Mask of all currently supported cb flags */
+       BPF_SOCK_OPS_ALL_CB_FLAGS       = 0xF,
+};
 
 /* List of known BPF sock_ops operators.
  * New entries can only be added at the end
        BPF_TCP_MAX_STATES      /* Leave at the end! */
 };
 
-#define TCP_BPF_IW             1001    /* Set TCP initial congestion window */
-#define TCP_BPF_SNDCWND_CLAMP  1002    /* Set sndcwnd_clamp */
+enum {
+       TCP_BPF_IW              = 1001, /* Set TCP initial congestion window */
+       TCP_BPF_SNDCWND_CLAMP   = 1002, /* Set sndcwnd_clamp */
+};
 
 struct bpf_perf_event_value {
        __u64 counter;
        __u64 running;
 };
 
-#define BPF_DEVCG_ACC_MKNOD    (1ULL << 0)
-#define BPF_DEVCG_ACC_READ     (1ULL << 1)
-#define BPF_DEVCG_ACC_WRITE    (1ULL << 2)
+enum {
+       BPF_DEVCG_ACC_MKNOD     = (1ULL << 0),
+       BPF_DEVCG_ACC_READ      = (1ULL << 1),
+       BPF_DEVCG_ACC_WRITE     = (1ULL << 2),
+};
 
-#define BPF_DEVCG_DEV_BLOCK    (1ULL << 0)
-#define BPF_DEVCG_DEV_CHAR     (1ULL << 1)
+enum {
+       BPF_DEVCG_DEV_BLOCK     = (1ULL << 0),
+       BPF_DEVCG_DEV_CHAR      = (1ULL << 1),
+};
 
 struct bpf_cgroup_dev_ctx {
        /* access_type encoded as (BPF_DEVCG_ACC_* << 16) | BPF_DEVCG_DEV_* */
 /* DIRECT:  Skip the FIB rules and go to FIB table associated with device
  * OUTPUT:  Do lookup from egress perspective; default is ingress
  */
-#define BPF_FIB_LOOKUP_DIRECT  (1U << 0)
-#define BPF_FIB_LOOKUP_OUTPUT  (1U << 1)
+enum {
+       BPF_FIB_LOOKUP_DIRECT  = (1U << 0),
+       BPF_FIB_LOOKUP_OUTPUT  = (1U << 1),
+};
 
 enum {
        BPF_FIB_LKUP_RET_SUCCESS,      /* lookup successful */
        BPF_FD_TYPE_URETPROBE,          /* filename + offset */
 };
 
-#define BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG            (1U << 0)
-#define BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL                (1U << 1)
-#define BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP             (1U << 2)
+enum {
+       BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG             = (1U << 0),
+       BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL         = (1U << 1),
+       BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP              = (1U << 2),
+};
 
 struct bpf_flow_keys {
        __u16   nhoff;