0001
0002
0003
0004 #define bpf_iter_meta bpf_iter_meta___not_used
0005 #define bpf_iter__bpf_map bpf_iter__bpf_map___not_used
0006 #define bpf_iter__ipv6_route bpf_iter__ipv6_route___not_used
0007 #define bpf_iter__netlink bpf_iter__netlink___not_used
0008 #define bpf_iter__task bpf_iter__task___not_used
0009 #define bpf_iter__task_file bpf_iter__task_file___not_used
0010 #define bpf_iter__task_vma bpf_iter__task_vma___not_used
0011 #define bpf_iter__tcp bpf_iter__tcp___not_used
0012 #define tcp6_sock tcp6_sock___not_used
0013 #define bpf_iter__udp bpf_iter__udp___not_used
0014 #define udp6_sock udp6_sock___not_used
0015 #define bpf_iter__unix bpf_iter__unix___not_used
0016 #define bpf_iter__bpf_map_elem bpf_iter__bpf_map_elem___not_used
0017 #define bpf_iter__bpf_sk_storage_map bpf_iter__bpf_sk_storage_map___not_used
0018 #define bpf_iter__sockmap bpf_iter__sockmap___not_used
0019 #define bpf_iter__bpf_link bpf_iter__bpf_link___not_used
0020 #define btf_ptr btf_ptr___not_used
0021 #define BTF_F_COMPACT BTF_F_COMPACT___not_used
0022 #define BTF_F_NONAME BTF_F_NONAME___not_used
0023 #define BTF_F_PTR_RAW BTF_F_PTR_RAW___not_used
0024 #define BTF_F_ZERO BTF_F_ZERO___not_used
0025 #define bpf_iter__ksym bpf_iter__ksym___not_used
0026 #include "vmlinux.h"
0027 #undef bpf_iter_meta
0028 #undef bpf_iter__bpf_map
0029 #undef bpf_iter__ipv6_route
0030 #undef bpf_iter__netlink
0031 #undef bpf_iter__task
0032 #undef bpf_iter__task_file
0033 #undef bpf_iter__task_vma
0034 #undef bpf_iter__tcp
0035 #undef tcp6_sock
0036 #undef bpf_iter__udp
0037 #undef udp6_sock
0038 #undef bpf_iter__unix
0039 #undef bpf_iter__bpf_map_elem
0040 #undef bpf_iter__bpf_sk_storage_map
0041 #undef bpf_iter__sockmap
0042 #undef bpf_iter__bpf_link
0043 #undef btf_ptr
0044 #undef BTF_F_COMPACT
0045 #undef BTF_F_NONAME
0046 #undef BTF_F_PTR_RAW
0047 #undef BTF_F_ZERO
0048 #undef bpf_iter__ksym
0049
0050 struct bpf_iter_meta {
0051 struct seq_file *seq;
0052 __u64 session_id;
0053 __u64 seq_num;
0054 } __attribute__((preserve_access_index));
0055
0056 struct bpf_iter__ipv6_route {
0057 struct bpf_iter_meta *meta;
0058 struct fib6_info *rt;
0059 } __attribute__((preserve_access_index));
0060
0061 struct bpf_iter__netlink {
0062 struct bpf_iter_meta *meta;
0063 struct netlink_sock *sk;
0064 } __attribute__((preserve_access_index));
0065
0066 struct bpf_iter__task {
0067 struct bpf_iter_meta *meta;
0068 struct task_struct *task;
0069 } __attribute__((preserve_access_index));
0070
0071 struct bpf_iter__task_file {
0072 struct bpf_iter_meta *meta;
0073 struct task_struct *task;
0074 __u32 fd;
0075 struct file *file;
0076 } __attribute__((preserve_access_index));
0077
0078 struct bpf_iter__task_vma {
0079 struct bpf_iter_meta *meta;
0080 struct task_struct *task;
0081 struct vm_area_struct *vma;
0082 } __attribute__((preserve_access_index));
0083
0084 struct bpf_iter__bpf_map {
0085 struct bpf_iter_meta *meta;
0086 struct bpf_map *map;
0087 } __attribute__((preserve_access_index));
0088
0089 struct bpf_iter__tcp {
0090 struct bpf_iter_meta *meta;
0091 struct sock_common *sk_common;
0092 uid_t uid;
0093 } __attribute__((preserve_access_index));
0094
0095 struct tcp6_sock {
0096 struct tcp_sock tcp;
0097 struct ipv6_pinfo inet6;
0098 } __attribute__((preserve_access_index));
0099
0100 struct bpf_iter__udp {
0101 struct bpf_iter_meta *meta;
0102 struct udp_sock *udp_sk;
0103 uid_t uid __attribute__((aligned(8)));
0104 int bucket __attribute__((aligned(8)));
0105 } __attribute__((preserve_access_index));
0106
0107 struct udp6_sock {
0108 struct udp_sock udp;
0109 struct ipv6_pinfo inet6;
0110 } __attribute__((preserve_access_index));
0111
0112 struct bpf_iter__unix {
0113 struct bpf_iter_meta *meta;
0114 struct unix_sock *unix_sk;
0115 uid_t uid;
0116 } __attribute__((preserve_access_index));
0117
0118 struct bpf_iter__bpf_map_elem {
0119 struct bpf_iter_meta *meta;
0120 struct bpf_map *map;
0121 void *key;
0122 void *value;
0123 };
0124
0125 struct bpf_iter__bpf_sk_storage_map {
0126 struct bpf_iter_meta *meta;
0127 struct bpf_map *map;
0128 struct sock *sk;
0129 void *value;
0130 };
0131
0132 struct bpf_iter__sockmap {
0133 struct bpf_iter_meta *meta;
0134 struct bpf_map *map;
0135 void *key;
0136 struct sock *sk;
0137 };
0138
0139 struct bpf_iter__bpf_link {
0140 struct bpf_iter_meta *meta;
0141 struct bpf_link *link;
0142 };
0143
0144 struct btf_ptr {
0145 void *ptr;
0146 __u32 type_id;
0147 __u32 flags;
0148 };
0149
0150 enum {
0151 BTF_F_COMPACT = (1ULL << 0),
0152 BTF_F_NONAME = (1ULL << 1),
0153 BTF_F_PTR_RAW = (1ULL << 2),
0154 BTF_F_ZERO = (1ULL << 3),
0155 };
0156
0157 struct bpf_iter__ksym {
0158 struct bpf_iter_meta *meta;
0159 struct kallsym_iter *ksym;
0160 };