|  | #ifndef READ_ELF_H | 
|  | #define READ_ELF_H | 
|  |  | 
|  | #include <stdio.h> | 
|  | #include <elf.h> | 
|  |  | 
|  | Elf32_Ehdr *ReadElfHeader(FILE *fobj); | 
|  | Elf32_Shdr *ReadSectionHeaders(Elf32_Ehdr *hdr, FILE *fobj); | 
|  | char *ReadStringTable(Elf32_Ehdr *hdr, Elf32_Shdr *shdr, FILE *fobj); | 
|  | Elf32_Shdr *FindSymbolTableSection(Elf32_Ehdr *hdr, | 
|  | Elf32_Shdr *shdr, | 
|  | char *string_table); | 
|  | Elf32_Shdr *FindSymbolStringTableSection(Elf32_Ehdr *hdr, | 
|  | Elf32_Shdr *shdr, | 
|  | char *string_table); | 
|  | int ReadSection(Elf32_Shdr *shdr, void *buffer, FILE *f); | 
|  | void AdjustElfSymbols(Elf32_Ehdr *hdr, Elf32_Sym *elf_symbols, | 
|  | int num_entries); | 
|  |  | 
|  | #endif /* READ_ELF_H */ |