aboutsummaryrefslogtreecommitdiffstats
path: root/elf/elf_module.h
diff options
context:
space:
mode:
authorStefan Bucur <stefanb@zytor.com>2008-06-11 14:33:00 +0300
committerStefan Bucur <stefanb@zytor.com>2008-06-11 14:33:00 +0300
commit3254fd09e82313547090e449fd1870f17b88c0c1 (patch)
treee744da3a582f67fcdd21bc82abedb1d120a2b086 /elf/elf_module.h
parente9bd52ade15e9a4c42550babba955d868d0fe8d8 (diff)
downloadsyslinux-elf-3254fd09e82313547090e449fd1870f17b88c0c1.tar.gz
syslinux-elf-3254fd09e82313547090e449fd1870f17b88c0c1.tar.xz
syslinux-elf-3254fd09e82313547090e449fd1870f17b88c0c1.zip
Extracted symbol information from the ELF file.
Diffstat (limited to 'elf/elf_module.h')
-rw-r--r--elf/elf_module.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/elf/elf_module.h b/elf/elf_module.h
index 6074b559..46bbfd3b 100644
--- a/elf/elf_module.h
+++ b/elf/elf_module.h
@@ -27,16 +27,28 @@ struct elf_module {
module_init_func init_func; // The initialization entry point
module_exit_func exit_func; // The module finalization code
- void *file_image; // The image of the module file in memory
- uint32_t file_size; // The size of the module file
void *module_addr; // The module location in the memory
Elf32_Addr base_addr; // The base address of the module
Elf32_Word module_size; // The module size in memory
+ Elf32_Word *hash_table; // The symbol hash table
+ Elf32_Word *ghash_table; // The GNU style hash table
+ char *str_table; // The string table
+ void *sym_table; // The symbol table
+
+ Elf32_Word strtable_size; // The size of the string table
+ Elf32_Word syment_size; // The size of a symbol entry
+
+
+ // Transient - Data available while the module is loading
+ void *_file_image; // The image of the module file in memory
+ uint32_t _file_size; // The size of the module file
+ Elf32_Dyn *_dyn_info; // Dynamic loading information
+
// Information for modules loaded in user space
#ifdef ELF_USERSPACE_TEST
- int file_fd; // The file descriptor of the open file
+ int _file_fd; // The file descriptor of the open file
#endif
};