62 lines · 1.7 KB · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0 */#pragma once enum summary_field {	SUMMARY_CURRENT,	SUMMARY_MIN,	SUMMARY_MAX,	SUMMARY_COUNT,	SUMMARY_SUM,	SUMMARY_OVERFLOW,	SUMMARY_FIELD_N}; #ifndef __bpf__#ifdef HAVE_BPF_SKELint timerlat_bpf_init(struct timerlat_params *params);int timerlat_bpf_attach(void);void timerlat_bpf_detach(void);void timerlat_bpf_destroy(void);int timerlat_bpf_wait(int timeout);int timerlat_bpf_restart_tracing(void);int timerlat_bpf_get_hist_value(int key,				long long *value_irq,				long long *value_thread,				long long *value_user);int timerlat_bpf_get_summary_value(enum summary_field key,				   long long *value_irq,				   long long *value_thread,				   long long *value_user);int timerlat_load_bpf_action_program(const char *program_path);static inline int have_libbpf_support(void) { return 1; }#elsestatic inline int timerlat_bpf_init(struct timerlat_params *params){	return -1;}static inline int timerlat_bpf_attach(void) { return -1; }static inline void timerlat_bpf_detach(void) { };static inline void timerlat_bpf_destroy(void) { };static inline int timerlat_bpf_wait(int timeout) { return -1; }static inline int timerlat_bpf_restart_tracing(void) { return -1; };static inline int timerlat_bpf_get_hist_value(int key,					      long long *value_irq,					      long long *value_thread,					      long long *value_user){	return -1;}static inline int timerlat_bpf_get_summary_value(enum summary_field key,						 long long *value_irq,						 long long *value_thread,						 long long *value_user){	return -1;}static inline int timerlat_load_bpf_action_program(const char *program_path){	return -1;}static inline int have_libbpf_support(void) { return 0; }#endif /* HAVE_BPF_SKEL */#endif /* __bpf__ */