1#ifndef READ_ELF_H
2#define READ_ELF_H
3
4#include <stdio.h>
5#include <elf.h>
6
7Elf32_Ehdr *ReadElfHeader(FILE *fobj);
8Elf32_Shdr *ReadSectionHeaders(Elf32_Ehdr *hdr, FILE *fobj);
9char *ReadStringTable(Elf32_Ehdr *hdr, Elf32_Shdr *shdr, FILE *fobj);
10Elf32_Shdr *FindSymbolTableSection(Elf32_Ehdr *hdr,
11                                   Elf32_Shdr *shdr,
12                                   char *string_table);
13Elf32_Shdr *FindSymbolStringTableSection(Elf32_Ehdr *hdr,
14                                         Elf32_Shdr *shdr,
15                                         char *string_table);
16int ReadSection(Elf32_Shdr *shdr, void *buffer, FILE *f);
17void AdjustElfSymbols(Elf32_Ehdr *hdr, Elf32_Sym *elf_symbols,
18                      int num_entries);
19
20#endif /* READ_ELF_H */
21