1 #ifndef KVM__SYMBOL_H
2 #define KVM__SYMBOL_H
3
4 #include <stddef.h>
5 #include <string.h>
6
7 struct kvm;
8
9 #define SYMBOL_DEFAULT_UNKNOWN "<unknown>"
10
11 #ifdef CONFIG_HAS_BFD
12
13 int symbol_init(struct kvm *kvm);
14 int symbol_exit(struct kvm *kvm);
15 char *symbol_lookup(struct kvm *kvm, unsigned long addr, char *sym, size_t size);
16
17 #else
18
symbol_init(struct kvm * kvm)19 static inline int symbol_init(struct kvm *kvm) { return 0; }
symbol_lookup(struct kvm * kvm,unsigned long addr,char * sym,size_t size)20 static inline char *symbol_lookup(struct kvm *kvm, unsigned long addr, char *sym, size_t size)
21 {
22 char *s = strncpy(sym, SYMBOL_DEFAULT_UNKNOWN, size);
23 sym[size - 1] = '\0';
24 return s;
25 }
symbol_exit(struct kvm * kvm)26 static inline int symbol_exit(struct kvm *kvm) { return 0; }
27
28 #endif
29
30 #endif /* KVM__SYMBOL_H */
31