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