2014-05-14 20:43:58 +00:00
|
|
|
#ifndef _LOOKUP_H_
|
|
|
|
#define _LOOKUP_H_
|
|
|
|
|
2019-11-01 19:59:05 +00:00
|
|
|
#include <stdbool.h>
|
|
|
|
|
2014-05-14 20:43:58 +00:00
|
|
|
struct lookup_table;
|
|
|
|
|
|
|
|
struct lookup_result {
|
2018-04-18 18:39:56 +00:00
|
|
|
unsigned long addr;
|
2014-05-14 20:43:58 +00:00
|
|
|
unsigned long size;
|
2018-04-18 18:41:24 +00:00
|
|
|
unsigned long sympos;
|
2014-05-14 20:43:58 +00:00
|
|
|
};
|
|
|
|
|
2017-02-04 01:31:25 +00:00
|
|
|
struct sym_compare_type {
|
|
|
|
char *name;
|
|
|
|
int type;
|
|
|
|
};
|
|
|
|
|
2018-05-11 09:51:00 +00:00
|
|
|
struct lookup_table *lookup_open(char *symtab_path, char *symvers_path,
|
2017-02-04 01:31:25 +00:00
|
|
|
char *hint, struct sym_compare_type *locals);
|
2014-05-14 20:43:58 +00:00
|
|
|
void lookup_close(struct lookup_table *table);
|
2019-11-01 19:59:05 +00:00
|
|
|
bool lookup_local_symbol(struct lookup_table *table, char *name,
|
|
|
|
struct lookup_result *result);
|
|
|
|
bool lookup_global_symbol(struct lookup_table *table, char *name,
|
|
|
|
struct lookup_result *result);
|
|
|
|
bool lookup_is_exported_symbol(struct lookup_table *table, char *name);
|
2017-01-23 20:43:12 +00:00
|
|
|
char *lookup_exported_symbol_objname(struct lookup_table *table, char *name);
|
2014-05-14 20:43:58 +00:00
|
|
|
|
|
|
|
#endif /* _LOOKUP_H_ */
|