16bf6affeSStanislav Fomichev /* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */
27c8dce4bSAndrii Nakryiko #include <iostream>
33e689141SToke Høiland-Jørgensen #include <bpf/libbpf.h>
43e689141SToke Høiland-Jørgensen #include <bpf/bpf.h>
53e689141SToke Høiland-Jørgensen #include <bpf/btf.h>
67c8dce4bSAndrii Nakryiko #include "test_core_extern.skel.h"
76bf6affeSStanislav Fomichev 
86bf6affeSStanislav Fomichev /* do nothing, just make sure we can link successfully */
96bf6affeSStanislav Fomichev 
10*ecf45e60SJiri Olsa static void dump_printf(void *ctx, const char *fmt, va_list args)
11*ecf45e60SJiri Olsa {
12*ecf45e60SJiri Olsa }
13*ecf45e60SJiri Olsa 
146bf6affeSStanislav Fomichev int main(int argc, char *argv[])
156bf6affeSStanislav Fomichev {
16*ecf45e60SJiri Olsa 	struct btf_dump_opts opts = { };
177c8dce4bSAndrii Nakryiko 	struct test_core_extern *skel;
18*ecf45e60SJiri Olsa 	struct btf *btf;
197c8dce4bSAndrii Nakryiko 
206bf6affeSStanislav Fomichev 	/* libbpf.h */
216bf6affeSStanislav Fomichev 	libbpf_set_print(NULL);
226bf6affeSStanislav Fomichev 
236bf6affeSStanislav Fomichev 	/* bpf.h */
246bf6affeSStanislav Fomichev 	bpf_prog_get_fd_by_id(0);
256bf6affeSStanislav Fomichev 
266bf6affeSStanislav Fomichev 	/* btf.h */
27*ecf45e60SJiri Olsa 	btf = btf__new(NULL, 0);
28*ecf45e60SJiri Olsa 	btf_dump__new(btf, dump_printf, nullptr, &opts);
296bf6affeSStanislav Fomichev 
307c8dce4bSAndrii Nakryiko 	/* BPF skeleton */
317c8dce4bSAndrii Nakryiko 	skel = test_core_extern__open_and_load();
327c8dce4bSAndrii Nakryiko 	test_core_extern__destroy(skel);
337c8dce4bSAndrii Nakryiko 
347c8dce4bSAndrii Nakryiko 	std::cout << "DONE!" << std::endl;
357c8dce4bSAndrii Nakryiko 
366bf6affeSStanislav Fomichev 	return 0;
376bf6affeSStanislav Fomichev }
38