macro: introduce COUNT_ARGS() macro
[linux-2.6-block.git] / include / linux / bpf_types.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
be9370a7
JB
2/* internal file - do not include directly */
3
4#ifdef CONFIG_NET
7de16e3a
JK
5BPF_PROG_TYPE(BPF_PROG_TYPE_SOCKET_FILTER, sk_filter)
6BPF_PROG_TYPE(BPF_PROG_TYPE_SCHED_CLS, tc_cls_act)
7BPF_PROG_TYPE(BPF_PROG_TYPE_SCHED_ACT, tc_cls_act)
8BPF_PROG_TYPE(BPF_PROG_TYPE_XDP, xdp)
9BPF_PROG_TYPE(BPF_PROG_TYPE_CGROUP_SKB, cg_skb)
10BPF_PROG_TYPE(BPF_PROG_TYPE_CGROUP_SOCK, cg_sock)
11BPF_PROG_TYPE(BPF_PROG_TYPE_LWT_IN, lwt_inout)
12BPF_PROG_TYPE(BPF_PROG_TYPE_LWT_OUT, lwt_inout)
13BPF_PROG_TYPE(BPF_PROG_TYPE_LWT_XMIT, lwt_xmit)
14BPF_PROG_TYPE(BPF_PROG_TYPE_SOCK_OPS, sock_ops)
15BPF_PROG_TYPE(BPF_PROG_TYPE_SK_SKB, sk_skb)
4f738adb 16BPF_PROG_TYPE(BPF_PROG_TYPE_SK_MSG, sk_msg)
be9370a7
JB
17#endif
18#ifdef CONFIG_BPF_EVENTS
7de16e3a
JK
19BPF_PROG_TYPE(BPF_PROG_TYPE_KPROBE, kprobe)
20BPF_PROG_TYPE(BPF_PROG_TYPE_TRACEPOINT, tracepoint)
21BPF_PROG_TYPE(BPF_PROG_TYPE_PERF_EVENT, perf_event)
be9370a7 22#endif
ebc614f6
RG
23#ifdef CONFIG_CGROUP_BPF
24BPF_PROG_TYPE(BPF_PROG_TYPE_CGROUP_DEVICE, cg_dev)
25#endif
40077e0c
JB
26
27BPF_MAP_TYPE(BPF_MAP_TYPE_ARRAY, array_map_ops)
28BPF_MAP_TYPE(BPF_MAP_TYPE_PERCPU_ARRAY, percpu_array_map_ops)
29BPF_MAP_TYPE(BPF_MAP_TYPE_PROG_ARRAY, prog_array_map_ops)
30BPF_MAP_TYPE(BPF_MAP_TYPE_PERF_EVENT_ARRAY, perf_event_array_map_ops)
31#ifdef CONFIG_CGROUPS
32BPF_MAP_TYPE(BPF_MAP_TYPE_CGROUP_ARRAY, cgroup_array_map_ops)
33#endif
34BPF_MAP_TYPE(BPF_MAP_TYPE_HASH, htab_map_ops)
35BPF_MAP_TYPE(BPF_MAP_TYPE_PERCPU_HASH, htab_percpu_map_ops)
36BPF_MAP_TYPE(BPF_MAP_TYPE_LRU_HASH, htab_lru_map_ops)
37BPF_MAP_TYPE(BPF_MAP_TYPE_LRU_PERCPU_HASH, htab_lru_percpu_map_ops)
38BPF_MAP_TYPE(BPF_MAP_TYPE_LPM_TRIE, trie_map_ops)
39#ifdef CONFIG_PERF_EVENTS
40BPF_MAP_TYPE(BPF_MAP_TYPE_STACK_TRACE, stack_map_ops)
41#endif
42BPF_MAP_TYPE(BPF_MAP_TYPE_ARRAY_OF_MAPS, array_of_maps_map_ops)
43BPF_MAP_TYPE(BPF_MAP_TYPE_HASH_OF_MAPS, htab_of_maps_map_ops)
546ac1ff
JF
44#ifdef CONFIG_NET
45BPF_MAP_TYPE(BPF_MAP_TYPE_DEVMAP, dev_map_ops)
5f103c5d 46#if defined(CONFIG_STREAM_PARSER) && defined(CONFIG_INET)
174a79ff 47BPF_MAP_TYPE(BPF_MAP_TYPE_SOCKMAP, sock_map_ops)
546ac1ff 48#endif
6710e112 49BPF_MAP_TYPE(BPF_MAP_TYPE_CPUMAP, cpu_map_ops)
6bdc9c4c 50#endif