-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsymtab.h
34 lines (24 loc) · 1.25 KB
/
symtab.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef _LIBTF2MOD_SYMTAB_H
#define _LIBTF2MOD_SYMTAB_H
void symtab_init(library_info_t *lib);
void symtab_foreach(void (*callback)(const symbol_t *), Elf32_Word type);
bool symtab_lookup_name(library_info_t *lib, symbol_t *entry, Elf32_Word type,
const char *name);
bool symtab_lookup_addr(library_info_t *lib, symbol_t *entry, Elf32_Word type,
uintptr_t addr);
bool symtab_lookup_addr_range(library_info_t *lib, symbol_t *entry,
Elf32_Word type, uintptr_t addr);
bool symtab_func_name(symbol_t *entry, const char *name);
bool symtab_func_addr_rel(symbol_t *entry, uintptr_t addr);
bool symtab_func_addr_abs(symbol_t *entry, uintptr_t addr);
bool symtab_func_addr_range_abs(symbol_t *entry, uintptr_t addr);
bool symtab_obj_name(symbol_t *entry, const char *name);
bool symtab_obj_addr_rel(symbol_t *entry, uintptr_t addr);
bool symtab_obj_addr_abs(symbol_t *entry, uintptr_t addr);
void symtab_obj_absolute(const char *name, void **addr, size_t *size);
void symtab_func_absolute(const char *name, void **addr, size_t *size);
void symtab_obj_absolute_onelib(library_info_t *lib, const char *name,
void **addr, size_t *size);
void symtab_func_absolute_onelib(library_info_t *lib, const char *name,
void **addr, size_t *size);
#endif