1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef __TRACE_HELPER_H 3*4882a593Smuzhiyun #define __TRACE_HELPER_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <bpf/libbpf.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun struct ksym { 8*4882a593Smuzhiyun long addr; 9*4882a593Smuzhiyun char *name; 10*4882a593Smuzhiyun }; 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun int load_kallsyms(void); 13*4882a593Smuzhiyun struct ksym *ksym_search(long key); 14*4882a593Smuzhiyun long ksym_get_addr(const char *name); 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun /* open kallsyms and find addresses on the fly, faster than load + search. */ 17*4882a593Smuzhiyun int kallsyms_find(const char *sym, unsigned long long *addr); 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun void read_trace_pipe(void); 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun #endif 22