3 typedef struct ElfSym ElfSym;
4 typedef struct ElfParser ElfParser;
6 ElfParser * elf_parser_new (const char *filename,
8 void elf_parser_free (ElfParser *parser);
9 const char *elf_parser_get_debug_link (ElfParser *parser,
13 /* Lookup a symbol in the file.
15 * The symbol returned is const, so don't free it it or anything. It
16 * will be valid until elf_parser_free() is called on the parser.
19 * The address should be given in "file coordinates". This means that
20 * if the file is mapped at address m and offset o, then an address a
21 * should be looked up as "a - (m - o)". (m - o) is where the start
22 * of the file would have been mapped, so a - (m - o) is the position
25 const ElfSym *elf_parser_lookup_symbol (ElfParser *parser,
27 guint32 elf_parser_get_crc32 (ElfParser *parser);
28 const char *elf_parser_get_sym_name (ElfParser *parser,
30 gulong elf_parser_get_sym_address (ElfParser *parser,
32 char *elf_demangle (const char *name);