LIBBPF_0.0.1 {
	global:
		bpf_btf_get_fd_by_id;
		bpf_map__btf_key_type_id;
		bpf_map__btf_value_type_id;
		bpf_map__fd;
		bpf_map__name;
		bpf_map__pin;
		bpf_map__reuse_fd;
		bpf_map__set_ifindex;
		bpf_map__set_inner_map_fd;
		bpf_map__unpin;
		bpf_map_delete_elem;
		bpf_map_get_fd_by_id;
		bpf_map_get_next_id;
		bpf_map_get_next_key;
		bpf_map_lookup_and_delete_elem;
		bpf_map_lookup_elem;
		bpf_map_update_elem;
		bpf_obj_get;
		bpf_obj_get_info_by_fd;
		bpf_obj_pin;
		bpf_object__btf_fd;
		bpf_object__close;
		bpf_object__find_map_by_name;
		bpf_object__kversion;
		bpf_object__load;
		bpf_object__name;
		bpf_object__open;
		bpf_object__pin;
		bpf_object__pin_maps;
		bpf_object__pin_programs;
		bpf_object__unpin_maps;
		bpf_object__unpin_programs;
		bpf_prog_attach;
		bpf_prog_detach;
		bpf_prog_detach2;
		bpf_prog_get_fd_by_id;
		bpf_prog_get_next_id;
		bpf_prog_query;
		bpf_program__fd;
		bpf_program__pin;
		bpf_program__set_expected_attach_type;
		bpf_program__set_ifindex;
		bpf_program__set_type;
		bpf_program__unload;
		bpf_program__unpin;
		bpf_prog_linfo__free;
		bpf_prog_linfo__new;
		bpf_prog_linfo__lfind_addr_func;
		bpf_prog_linfo__lfind;
		bpf_raw_tracepoint_open;
		bpf_task_fd_query;
		btf__fd;
		btf__find_by_name;
		btf__free;
		btf__name_by_offset;
		btf__new;
		btf__resolve_size;
		btf__resolve_type;
		btf__type_by_id;
		libbpf_attach_type_by_name;
		libbpf_get_error;
		libbpf_prog_type_by_name;
		libbpf_set_print;
		libbpf_strerror;
	local:
		*;
};

LIBBPF_0.0.2 {
	global:
		bpf_map_lookup_elem_flags;
		bpf_object__btf;
		bpf_object__find_map_fd_by_name;
		btf__get_raw_data;
		btf_ext__free;
		btf_ext__get_raw_data;
		btf_ext__new;
} LIBBPF_0.0.1;

LIBBPF_0.0.3 {
	global:
		bpf_map__is_internal;
		bpf_map_freeze;
} LIBBPF_0.0.2;

LIBBPF_0.0.4 {
	global:
		bpf_link__destroy;
		bpf_program__attach_kprobe;
		bpf_program__attach_perf_event;
		bpf_program__attach_raw_tracepoint;
		bpf_program__attach_tracepoint;
		bpf_program__attach_uprobe;
		btf_dump__dump_type;
		btf_dump__free;
		btf__parse_elf;
		libbpf_num_possible_cpus;
		perf_buffer__free;
		perf_buffer__poll;
} LIBBPF_0.0.3;

LIBBPF_0.0.5 {
	global:
		bpf_btf_get_next_id;
} LIBBPF_0.0.4;

LIBBPF_0.0.6 {
	global:
		bpf_map__get_pin_path;
		bpf_map__is_pinned;
		bpf_map__set_pin_path;
		bpf_object__open_file;
		bpf_object__open_mem;
		bpf_program__attach_trace;
		bpf_program__get_expected_attach_type;
		bpf_program__get_type;
		btf__find_by_name_kind;
		libbpf_find_vmlinux_btf_id;
} LIBBPF_0.0.5;

LIBBPF_0.0.7 {
	global:
		btf_dump__emit_type_decl;
		bpf_link__disconnect;
		bpf_map__attach_struct_ops;
		bpf_map_delete_batch;
		bpf_map_lookup_and_delete_batch;
		bpf_map_lookup_batch;
		bpf_map_update_batch;
		bpf_object__find_program_by_name;
		bpf_object__attach_skeleton;
		bpf_object__destroy_skeleton;
		bpf_object__detach_skeleton;
		bpf_object__load_skeleton;
		bpf_object__open_skeleton;
		bpf_program__attach;
		bpf_program__name;
		btf__align_of;
		libbpf_find_kernel_btf;
} LIBBPF_0.0.6;

LIBBPF_0.0.8 {
	global:
		bpf_link__fd;
		bpf_link__open;
		bpf_link__pin;
		bpf_link__pin_path;
		bpf_link__unpin;
		bpf_link__update_program;
		bpf_link_create;
		bpf_link_update;
		bpf_map__set_initial_value;
		bpf_prog_attach_opts;
		bpf_program__attach_cgroup;
		bpf_program__attach_lsm;
		bpf_program__set_attach_target;
} LIBBPF_0.0.7;

LIBBPF_0.0.9 {
	global:
		bpf_enable_stats;
		bpf_iter_create;
		bpf_link_get_fd_by_id;
		bpf_link_get_next_id;
		bpf_program__attach_iter;
		bpf_program__attach_netns;
		perf_buffer__consume;
		ring_buffer__add;
		ring_buffer__consume;
		ring_buffer__free;
		ring_buffer__new;
		ring_buffer__poll;
} LIBBPF_0.0.8;

LIBBPF_0.1.0 {
	global:
		bpf_link__detach;
		bpf_link_detach;
		bpf_map__ifindex;
		bpf_map__key_size;
		bpf_map__map_flags;
		bpf_map__max_entries;
		bpf_map__numa_node;
		bpf_map__set_key_size;
		bpf_map__set_map_flags;
		bpf_map__set_max_entries;
		bpf_map__set_numa_node;
		bpf_map__set_type;
		bpf_map__set_value_size;
		bpf_map__type;
		bpf_map__value_size;
		bpf_program__attach_xdp;
		bpf_program__autoload;
		bpf_program__set_autoload;
		btf__parse;
		btf__parse_raw;
		btf__pointer_size;
		btf__set_fd;
		btf__set_pointer_size;
} LIBBPF_0.0.9;

LIBBPF_0.2.0 {
	global:
		bpf_prog_bind_map;
		bpf_prog_test_run_opts;
		bpf_program__attach_freplace;
		bpf_program__section_name;
		btf__add_array;
		btf__add_const;
		btf__add_enum;
		btf__add_enum_value;
		btf__add_datasec;
		btf__add_datasec_var_info;
		btf__add_field;
		btf__add_func;
		btf__add_func_param;
		btf__add_func_proto;
		btf__add_fwd;
		btf__add_int;
		btf__add_ptr;
		btf__add_restrict;
		btf__add_str;
		btf__add_struct;
		btf__add_typedef;
		btf__add_union;
		btf__add_var;
		btf__add_volatile;
		btf__endianness;
		btf__find_str;
		btf__new_empty;
		btf__set_endianness;
		btf__str_by_offset;
		perf_buffer__buffer_cnt;
		perf_buffer__buffer_fd;
		perf_buffer__epoll_fd;
		perf_buffer__consume_buffer;
} LIBBPF_0.1.0;

LIBBPF_0.3.0 {
	global:
		btf__base_btf;
		btf__parse_elf_split;
		btf__parse_raw_split;
		btf__parse_split;
		btf__new_empty_split;
		btf__new_split;
		ring_buffer__epoll_fd;
} LIBBPF_0.2.0;

LIBBPF_0.4.0 {
	global:
		btf__add_float;
		btf__add_type;
		bpf_linker__add_file;
		bpf_linker__finalize;
		bpf_linker__free;
		bpf_linker__new;
		bpf_map__inner_map;
		bpf_object__set_kversion;
		bpf_tc_attach;
		bpf_tc_detach;
		bpf_tc_hook_create;
		bpf_tc_hook_destroy;
		bpf_tc_query;
} LIBBPF_0.3.0;

LIBBPF_0.5.0 {
	global:
		bpf_map__initial_value;
		bpf_map__pin_path;
		bpf_map_lookup_and_delete_elem_flags;
		bpf_program__attach_kprobe_opts;
		bpf_program__attach_perf_event_opts;
		bpf_program__attach_tracepoint_opts;
		bpf_program__attach_uprobe_opts;
		bpf_object__gen_loader;
		btf__load_from_kernel_by_id;
		btf__load_from_kernel_by_id_split;
		btf__load_into_kernel;
		btf__load_module_btf;
		btf__load_vmlinux_btf;
		btf_dump__dump_type_data;
		libbpf_set_strict_mode;
} LIBBPF_0.4.0;

LIBBPF_0.6.0 {
	global:
		bpf_map__map_extra;
		bpf_map__set_map_extra;
		bpf_map_create;
		bpf_object__next_map;
		bpf_object__next_program;
		bpf_object__prev_map;
		bpf_object__prev_program;
		bpf_prog_load;
		bpf_program__flags;
		bpf_program__insn_cnt;
		bpf_program__insns;
		bpf_program__set_flags;
		btf__add_btf;
		btf__add_decl_tag;
		btf__add_type_tag;
		btf__dedup;
		btf__raw_data;
		btf__type_cnt;
		btf_dump__new;
		libbpf_major_version;
		libbpf_minor_version;
		libbpf_version_string;
		perf_buffer__new;
		perf_buffer__new_raw;
} LIBBPF_0.5.0;

LIBBPF_0.7.0 {
	global:
		bpf_btf_load;
		bpf_program__expected_attach_type;
		bpf_program__log_buf;
		bpf_program__log_level;
		bpf_program__set_log_buf;
		bpf_program__set_log_level;
		bpf_program__type;
		bpf_xdp_attach;
		bpf_xdp_detach;
		bpf_xdp_query;
		bpf_xdp_query_id;
		btf_ext__raw_data;
		libbpf_probe_bpf_helper;
		libbpf_probe_bpf_map_type;
		libbpf_probe_bpf_prog_type;
		libbpf_set_memlock_rlim;
} LIBBPF_0.6.0;

LIBBPF_0.8.0 {
	global:
		bpf_map__autocreate;
		bpf_map__get_next_key;
		bpf_map__delete_elem;
		bpf_map__lookup_and_delete_elem;
		bpf_map__lookup_elem;
		bpf_map__set_autocreate;
		bpf_map__update_elem;
		bpf_map_delete_elem_flags;
		bpf_object__destroy_subskeleton;
		bpf_object__open_subskeleton;
		bpf_program__attach_kprobe_multi_opts;
		bpf_program__attach_trace_opts;
		bpf_program__attach_usdt;
		bpf_program__set_insns;
		libbpf_register_prog_handler;
		libbpf_unregister_prog_handler;
} LIBBPF_0.7.0;

LIBBPF_1.0.0 {
	global:
		bpf_obj_get_opts;
		bpf_prog_query_opts;
		bpf_program__attach_ksyscall;
		bpf_program__autoattach;
		bpf_program__set_autoattach;
		btf__add_enum64;
		btf__add_enum64_value;
		libbpf_bpf_attach_type_str;
		libbpf_bpf_link_type_str;
		libbpf_bpf_map_type_str;
		libbpf_bpf_prog_type_str;
		perf_buffer__buffer;
} LIBBPF_0.8.0;

LIBBPF_1.1.0 {
	global:
		bpf_btf_get_fd_by_id_opts;
		bpf_link_get_fd_by_id_opts;
		bpf_map_get_fd_by_id_opts;
		bpf_prog_get_fd_by_id_opts;
		user_ring_buffer__discard;
		user_ring_buffer__free;
		user_ring_buffer__new;
		user_ring_buffer__reserve;
		user_ring_buffer__reserve_blocking;
		user_ring_buffer__submit;
} LIBBPF_1.0.0;

LIBBPF_1.2.0 {
	global:
		bpf_btf_get_info_by_fd;
		bpf_link__update_map;
		bpf_link_get_info_by_fd;
		bpf_map_get_info_by_fd;
		bpf_prog_get_info_by_fd;
} LIBBPF_1.1.0;

LIBBPF_1.3.0 {
	global:
		bpf_obj_pin_opts;
		bpf_object__unpin;
		bpf_prog_detach_opts;
		bpf_program__attach_netfilter;
		bpf_program__attach_tcx;
		bpf_program__attach_uprobe_multi;
} LIBBPF_1.2.0;