1LIBBPF_0.0.1 {
2	global:
3		bpf_btf_get_fd_by_id;
4		bpf_map__btf_key_type_id;
5		bpf_map__btf_value_type_id;
6		bpf_map__fd;
7		bpf_map__name;
8		bpf_map__pin;
9		bpf_map__reuse_fd;
10		bpf_map__set_ifindex;
11		bpf_map__set_inner_map_fd;
12		bpf_map__unpin;
13		bpf_map_delete_elem;
14		bpf_map_get_fd_by_id;
15		bpf_map_get_next_id;
16		bpf_map_get_next_key;
17		bpf_map_lookup_and_delete_elem;
18		bpf_map_lookup_elem;
19		bpf_map_update_elem;
20		bpf_obj_get;
21		bpf_obj_get_info_by_fd;
22		bpf_obj_pin;
23		bpf_object__btf_fd;
24		bpf_object__close;
25		bpf_object__find_map_by_name;
26		bpf_object__kversion;
27		bpf_object__load;
28		bpf_object__name;
29		bpf_object__open;
30		bpf_object__pin;
31		bpf_object__pin_maps;
32		bpf_object__pin_programs;
33		bpf_object__unpin_maps;
34		bpf_object__unpin_programs;
35		bpf_prog_attach;
36		bpf_prog_detach;
37		bpf_prog_detach2;
38		bpf_prog_get_fd_by_id;
39		bpf_prog_get_next_id;
40		bpf_prog_query;
41		bpf_program__fd;
42		bpf_program__pin;
43		bpf_program__set_expected_attach_type;
44		bpf_program__set_ifindex;
45		bpf_program__set_type;
46		bpf_program__unload;
47		bpf_program__unpin;
48		bpf_prog_linfo__free;
49		bpf_prog_linfo__new;
50		bpf_prog_linfo__lfind_addr_func;
51		bpf_prog_linfo__lfind;
52		bpf_raw_tracepoint_open;
53		bpf_task_fd_query;
54		btf__fd;
55		btf__find_by_name;
56		btf__free;
57		btf__name_by_offset;
58		btf__new;
59		btf__resolve_size;
60		btf__resolve_type;
61		btf__type_by_id;
62		libbpf_attach_type_by_name;
63		libbpf_get_error;
64		libbpf_prog_type_by_name;
65		libbpf_set_print;
66		libbpf_strerror;
67	local:
68		*;
69};
70
71LIBBPF_0.0.2 {
72	global:
73		bpf_map_lookup_elem_flags;
74		bpf_object__btf;
75		bpf_object__find_map_fd_by_name;
76		btf__get_raw_data;
77		btf_ext__free;
78		btf_ext__get_raw_data;
79		btf_ext__new;
80} LIBBPF_0.0.1;
81
82LIBBPF_0.0.3 {
83	global:
84		bpf_map__is_internal;
85		bpf_map_freeze;
86} LIBBPF_0.0.2;
87
88LIBBPF_0.0.4 {
89	global:
90		bpf_link__destroy;
91		bpf_program__attach_kprobe;
92		bpf_program__attach_perf_event;
93		bpf_program__attach_raw_tracepoint;
94		bpf_program__attach_tracepoint;
95		bpf_program__attach_uprobe;
96		btf_dump__dump_type;
97		btf_dump__free;
98		btf__parse_elf;
99		libbpf_num_possible_cpus;
100		perf_buffer__free;
101		perf_buffer__poll;
102} LIBBPF_0.0.3;
103
104LIBBPF_0.0.5 {
105	global:
106		bpf_btf_get_next_id;
107} LIBBPF_0.0.4;
108
109LIBBPF_0.0.6 {
110	global:
111		bpf_map__get_pin_path;
112		bpf_map__is_pinned;
113		bpf_map__set_pin_path;
114		bpf_object__open_file;
115		bpf_object__open_mem;
116		bpf_program__attach_trace;
117		bpf_program__get_expected_attach_type;
118		bpf_program__get_type;
119		btf__find_by_name_kind;
120		libbpf_find_vmlinux_btf_id;
121} LIBBPF_0.0.5;
122
123LIBBPF_0.0.7 {
124	global:
125		btf_dump__emit_type_decl;
126		bpf_link__disconnect;
127		bpf_map__attach_struct_ops;
128		bpf_map_delete_batch;
129		bpf_map_lookup_and_delete_batch;
130		bpf_map_lookup_batch;
131		bpf_map_update_batch;
132		bpf_object__find_program_by_name;
133		bpf_object__attach_skeleton;
134		bpf_object__destroy_skeleton;
135		bpf_object__detach_skeleton;
136		bpf_object__load_skeleton;
137		bpf_object__open_skeleton;
138		bpf_program__attach;
139		bpf_program__name;
140		btf__align_of;
141		libbpf_find_kernel_btf;
142} LIBBPF_0.0.6;
143
144LIBBPF_0.0.8 {
145	global:
146		bpf_link__fd;
147		bpf_link__open;
148		bpf_link__pin;
149		bpf_link__pin_path;
150		bpf_link__unpin;
151		bpf_link__update_program;
152		bpf_link_create;
153		bpf_link_update;
154		bpf_map__set_initial_value;
155		bpf_prog_attach_opts;
156		bpf_program__attach_cgroup;
157		bpf_program__attach_lsm;
158		bpf_program__set_attach_target;
159} LIBBPF_0.0.7;
160
161LIBBPF_0.0.9 {
162	global:
163		bpf_enable_stats;
164		bpf_iter_create;
165		bpf_link_get_fd_by_id;
166		bpf_link_get_next_id;
167		bpf_program__attach_iter;
168		bpf_program__attach_netns;
169		perf_buffer__consume;
170		ring_buffer__add;
171		ring_buffer__consume;
172		ring_buffer__free;
173		ring_buffer__new;
174		ring_buffer__poll;
175} LIBBPF_0.0.8;
176
177LIBBPF_0.1.0 {
178	global:
179		bpf_link__detach;
180		bpf_link_detach;
181		bpf_map__ifindex;
182		bpf_map__key_size;
183		bpf_map__map_flags;
184		bpf_map__max_entries;
185		bpf_map__numa_node;
186		bpf_map__set_key_size;
187		bpf_map__set_map_flags;
188		bpf_map__set_max_entries;
189		bpf_map__set_numa_node;
190		bpf_map__set_type;
191		bpf_map__set_value_size;
192		bpf_map__type;
193		bpf_map__value_size;
194		bpf_program__attach_xdp;
195		bpf_program__autoload;
196		bpf_program__set_autoload;
197		btf__parse;
198		btf__parse_raw;
199		btf__pointer_size;
200		btf__set_fd;
201		btf__set_pointer_size;
202} LIBBPF_0.0.9;
203
204LIBBPF_0.2.0 {
205	global:
206		bpf_prog_bind_map;
207		bpf_prog_test_run_opts;
208		bpf_program__attach_freplace;
209		bpf_program__section_name;
210		btf__add_array;
211		btf__add_const;
212		btf__add_enum;
213		btf__add_enum_value;
214		btf__add_datasec;
215		btf__add_datasec_var_info;
216		btf__add_field;
217		btf__add_func;
218		btf__add_func_param;
219		btf__add_func_proto;
220		btf__add_fwd;
221		btf__add_int;
222		btf__add_ptr;
223		btf__add_restrict;
224		btf__add_str;
225		btf__add_struct;
226		btf__add_typedef;
227		btf__add_union;
228		btf__add_var;
229		btf__add_volatile;
230		btf__endianness;
231		btf__find_str;
232		btf__new_empty;
233		btf__set_endianness;
234		btf__str_by_offset;
235		perf_buffer__buffer_cnt;
236		perf_buffer__buffer_fd;
237		perf_buffer__epoll_fd;
238		perf_buffer__consume_buffer;
239} LIBBPF_0.1.0;
240
241LIBBPF_0.3.0 {
242	global:
243		btf__base_btf;
244		btf__parse_elf_split;
245		btf__parse_raw_split;
246		btf__parse_split;
247		btf__new_empty_split;
248		ring_buffer__epoll_fd;
249} LIBBPF_0.2.0;
250
251LIBBPF_0.4.0 {
252	global:
253		btf__add_float;
254		btf__add_type;
255		bpf_linker__add_file;
256		bpf_linker__finalize;
257		bpf_linker__free;
258		bpf_linker__new;
259		bpf_map__inner_map;
260		bpf_object__set_kversion;
261		bpf_tc_attach;
262		bpf_tc_detach;
263		bpf_tc_hook_create;
264		bpf_tc_hook_destroy;
265		bpf_tc_query;
266} LIBBPF_0.3.0;
267
268LIBBPF_0.5.0 {
269	global:
270		bpf_map__initial_value;
271		bpf_map__pin_path;
272		bpf_map_lookup_and_delete_elem_flags;
273		bpf_program__attach_kprobe_opts;
274		bpf_program__attach_perf_event_opts;
275		bpf_program__attach_tracepoint_opts;
276		bpf_program__attach_uprobe_opts;
277		bpf_object__gen_loader;
278		btf__load_from_kernel_by_id;
279		btf__load_from_kernel_by_id_split;
280		btf__load_into_kernel;
281		btf__load_module_btf;
282		btf__load_vmlinux_btf;
283		btf_dump__dump_type_data;
284		libbpf_set_strict_mode;
285} LIBBPF_0.4.0;
286
287LIBBPF_0.6.0 {
288	global:
289		bpf_map__map_extra;
290		bpf_map__set_map_extra;
291		bpf_map_create;
292		bpf_object__next_map;
293		bpf_object__next_program;
294		bpf_object__prev_map;
295		bpf_object__prev_program;
296		bpf_prog_load;
297		bpf_program__flags;
298		bpf_program__insn_cnt;
299		bpf_program__insns;
300		bpf_program__set_flags;
301		btf__add_btf;
302		btf__add_decl_tag;
303		btf__add_type_tag;
304		btf__dedup;
305		btf__raw_data;
306		btf__type_cnt;
307		btf_dump__new;
308		libbpf_major_version;
309		libbpf_minor_version;
310		libbpf_version_string;
311		perf_buffer__new;
312		perf_buffer__new_raw;
313} LIBBPF_0.5.0;
314
315LIBBPF_0.7.0 {
316	global:
317		bpf_btf_load;
318		bpf_program__expected_attach_type;
319		bpf_program__log_buf;
320		bpf_program__log_level;
321		bpf_program__set_log_buf;
322		bpf_program__set_log_level;
323		bpf_program__type;
324		bpf_xdp_attach;
325		bpf_xdp_detach;
326		bpf_xdp_query;
327		bpf_xdp_query_id;
328		libbpf_probe_bpf_helper;
329		libbpf_probe_bpf_map_type;
330		libbpf_probe_bpf_prog_type;
331		libbpf_set_memlock_rlim;
332} LIBBPF_0.6.0;
333
334LIBBPF_0.8.0 {
335	global:
336		bpf_map__autocreate;
337		bpf_map__get_next_key;
338		bpf_map__delete_elem;
339		bpf_map__lookup_and_delete_elem;
340		bpf_map__lookup_elem;
341		bpf_map__set_autocreate;
342		bpf_map__update_elem;
343		bpf_map_delete_elem_flags;
344		bpf_object__destroy_subskeleton;
345		bpf_object__open_subskeleton;
346		bpf_program__attach_kprobe_multi_opts;
347		bpf_program__attach_trace_opts;
348		bpf_program__attach_usdt;
349		bpf_program__set_insns;
350		libbpf_register_prog_handler;
351		libbpf_unregister_prog_handler;
352} LIBBPF_0.7.0;
353
354LIBBPF_1.0.0 {
355	global:
356		bpf_obj_get_opts;
357		bpf_prog_query_opts;
358		bpf_program__attach_ksyscall;
359		bpf_program__autoattach;
360		bpf_program__set_autoattach;
361		btf__add_enum64;
362		btf__add_enum64_value;
363		libbpf_bpf_attach_type_str;
364		libbpf_bpf_link_type_str;
365		libbpf_bpf_map_type_str;
366		libbpf_bpf_prog_type_str;
367		perf_buffer__buffer;
368} LIBBPF_0.8.0;
369
370LIBBPF_1.1.0 {
371	global:
372		bpf_btf_get_fd_by_id_opts;
373		bpf_link_get_fd_by_id_opts;
374		bpf_map_get_fd_by_id_opts;
375		bpf_prog_get_fd_by_id_opts;
376		user_ring_buffer__discard;
377		user_ring_buffer__free;
378		user_ring_buffer__new;
379		user_ring_buffer__reserve;
380		user_ring_buffer__reserve_blocking;
381		user_ring_buffer__submit;
382} LIBBPF_1.0.0;
383
384LIBBPF_1.2.0 {
385	global:
386		bpf_btf_get_info_by_fd;
387		bpf_link__update_map;
388		bpf_link_get_info_by_fd;
389		bpf_map_get_info_by_fd;
390		bpf_prog_get_info_by_fd;
391} LIBBPF_1.1.0;
392
393LIBBPF_1.3.0 {
394	global:
395		bpf_obj_pin_opts;
396		bpf_object__unpin;
397		bpf_prog_detach_opts;
398		bpf_program__attach_netfilter;
399		bpf_program__attach_netkit;
400		bpf_program__attach_tcx;
401		bpf_program__attach_uprobe_multi;
402		ring__avail_data_size;
403		ring__consume;
404		ring__consumer_pos;
405		ring__map_fd;
406		ring__producer_pos;
407		ring__size;
408		ring_buffer__ring;
409} LIBBPF_1.2.0;
410
411LIBBPF_1.4.0 {
412	global:
413		bpf_token_create;
414		btf__new_split;
415		btf_ext__raw_data;
416} LIBBPF_1.3.0;
417