/* SPDX-License-Identifier: GPL-2.0 */ #include enum { RETVAL_FMT_HEX = BIT(0), RETVAL_FMT_DEC = BIT(1), RETVAL_FMT_BOOL = BIT(2), RETVAL_FMT_TRUNC = BIT(3), RETVAL_FMT_BTF = BIT(4), RETVAL_FMT_UNSIGNED = BIT(5), }; const struct btf_type *btf_find_func_proto(const char *func_name, struct btf **btf_p); const struct btf_param *btf_get_func_param(const struct btf_type *func_proto, s32 *nr); const struct btf_member *btf_find_struct_member(struct btf *btf, const struct btf_type *type, const char *member_name, u32 *anon_offset, const struct btf_type **container_type); #ifdef CONFIG_DEBUG_INFO_BTF void btf_trim_retval(unsigned long func, unsigned long *retval, bool *print_retval, int *fmt, bool hex); #else static inline void btf_trim_retval(unsigned long func, unsigned long *retval, bool *print_retval, int *fmt, bool hex) { } #endif