aboutsummaryrefslogtreecommitdiffstats
path: root/elf/elf_module.h
diff options
context:
space:
mode:
authorStefan Bucur <stefanb@zytor.com>2008-06-17 17:09:18 +0300
committerStefan Bucur <stefanb@zytor.com>2008-06-17 17:09:18 +0300
commitb909bc581aae81ec0444c8c2415efa69a7cf3154 (patch)
tree3c8dde5f5a42fae135a6fb44ceeff278ab2e18a5 /elf/elf_module.h
parent08d0c8a562fc40b7e4e6c344cda9d1f62ef45c8d (diff)
downloadsyslinux-elf-elflink-old.tar.gz
syslinux-elf-elflink-old.tar.xz
syslinux-elf-elflink-old.zip
Module unloading & cleanup, and dependency info.elflink-old
Diffstat (limited to 'elf/elf_module.h')
-rw-r--r--elf/elf_module.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/elf/elf_module.h b/elf/elf_module.h
index 856717f7..1454ee71 100644
--- a/elf/elf_module.h
+++ b/elf/elf_module.h
@@ -23,7 +23,8 @@ typedef void (*module_exit_func)();
struct elf_module {
char name[MODULE_NAME_SIZE]; // The module name
- struct list_head deps; // Head of module dependency list
+ struct list_head required; // Head of the required modules list
+ struct list_head dependants; // Head of module dependants list
struct list_head list; // The list entry in the module list
module_init_func init_func; // The initialization entry point
@@ -71,6 +72,8 @@ extern int module_load(struct elf_module *module);
// Unloads the module from the system and releases all the associated memory
extern int module_unload(struct elf_module *module);
+extern struct elf_module *module_find(const char *name);
+
extern Elf32_Sym *module_find_symbol(const char *name, struct elf_module *module);
extern Elf32_Sym *global_find_symbol(const char *name, struct elf_module **module);