linker_file_t
elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type,
elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data,
elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data,
linker_file_t linker_file;
linker_file_t lf;
linker_file_t *result)
linker_file_t lf)
modlist_newmodule(const char *modname, int version, linker_file_t container)
linker_addmodules(linker_file_t lf, struct mod_metadata **start,
linker_file_t lf, nlf;
linker_file_sysinit(linker_file_t lf)
linker_file_t lfdep;
linker_load_dependencies(linker_file_t lf)
linker_file_t lfdep;
linker_file_sysuninit(linker_file_t lf)
linker_file_register_sysctls(linker_file_t lf)
linker_file_unregister_sysctls(linker_file_t lf)
linker_file_register_modules(linker_file_t lf)
linker_load_file(const char *filename, linker_file_t *result)
linker_file_t lf;
linker_file_t
linker_file_t lf = NULL;
linker_file_t
linker_file_t lf = NULL;
linker_file_t lf;
linker_file_t
linker_file_t lf = NULL;
linker_file_unload(linker_file_t file)
linker_file_add_dependancy(linker_file_t file, linker_file_t dep)
linker_file_t* newdeps;
newdeps = kmalloc((file->ndeps + 1) * sizeof(linker_file_t*),
bcopy(file->deps, newdeps, file->ndeps * sizeof(linker_file_t*));
linker_file_lookup_set(linker_file_t file, const char *name,
linker_file_lookup_symbol(linker_file_t file, const char* name, int deps, caddr_t *raddr)
linker_file_t lf;
linker_file_t linker_current_file;
linker_file_t linker_kernel_file;
linker_file_t lf;
linker_file_t lf;
linker_file_t container;
linker_file_t lf;
linker_file_t lf;
linker_file_t lf;
linker_file_t lf;
linker_file_t lf;
linker_file_t lf;
linker_file_t lf;
module_register(const moduledata_t *data, linker_file_t container)
link_elf_reloc_local(linker_file_t lf)
static int parse_dynamic(linker_file_t lf);
static int relocate_file(linker_file_t lf);
static int parse_module_symbols(linker_file_t lf);
parse_module_symbols(linker_file_t lf)
parse_dynamic(linker_file_t lf)
link_elf_preload_file(const char *filename, linker_file_t *result)
linker_file_t lf;
link_elf_preload_finish(linker_file_t lf)
link_elf_load_file(const char* filename, linker_file_t* result)
linker_file_t lf;
static int link_elf_preload_file(const char *, linker_file_t *);
static int link_elf_preload_finish(linker_file_t);
static int link_elf_load_file(const char*, linker_file_t*);
static int link_elf_lookup_symbol(linker_file_t, const char*,
static int link_elf_symbol_values(linker_file_t, c_linker_sym_t, linker_symval_t*);
static int link_elf_search_symbol(linker_file_t, caddr_t value,
static void link_elf_unload_file(linker_file_t);
static void link_elf_unload_module(linker_file_t);
static int link_elf_lookup_set(linker_file_t, const char *,
static int elf_lookup(linker_file_t lf, Elf_Size symidx, int deps, Elf_Addr *);
elf_relocaddr(linker_file_t lf, Elf_Addr x)
static void link_elf_reloc_local(linker_file_t lf);
link_elf_unload_file(linker_file_t file)
link_elf_unload_module(linker_file_t file)
relocate_file(linker_file_t lf)
link_elf_lookup_symbol(linker_file_t lf, const char* name, c_linker_sym_t* sym)
link_elf_symbol_values(linker_file_t lf, c_linker_sym_t sym, linker_symval_t *symval)
link_elf_search_symbol(linker_file_t lf, caddr_t value,
link_elf_lookup_set(linker_file_t lf, const char *name,
elf_lookup(linker_file_t lf, Elf_Size symidx, int deps, Elf_Addr *result)
link_elf_obj_lookup_symbol(linker_file_t lf, const char *name, c_linker_sym_t *sym)
link_elf_obj_symbol_values(linker_file_t lf, c_linker_sym_t sym,
link_elf_obj_search_symbol(linker_file_t lf, caddr_t value,
link_elf_obj_lookup_set(linker_file_t lf, const char *name,
elf_obj_lookup(linker_file_t lf, Elf_Size symidx, int deps, Elf_Addr *result)
link_elf_obj_reloc_local(linker_file_t lf)
static int relocate_file(linker_file_t lf);
link_elf_obj_preload_file(const char *filename, linker_file_t *result)
linker_file_t lf;
link_elf_obj_preload_finish(linker_file_t lf)
link_elf_obj_load_file(const char *filename, linker_file_t * result)
linker_file_t lf;
static int link_elf_obj_preload_file(const char *, linker_file_t *);
static int link_elf_obj_preload_finish(linker_file_t);
static int link_elf_obj_load_file(const char *, linker_file_t *);
link_elf_obj_lookup_symbol(linker_file_t, const char *,
static int link_elf_obj_symbol_values(linker_file_t, c_linker_sym_t, linker_symval_t *);
link_elf_obj_search_symbol(linker_file_t, caddr_t value,
static void link_elf_obj_unload_file(linker_file_t);
link_elf_obj_lookup_set(linker_file_t, const char *,
static void link_elf_obj_reloc_local(linker_file_t lf);
static int elf_obj_lookup(linker_file_t lf, Elf_Size symidx, int deps, Elf_Addr *);
link_elf_obj_unload_file(linker_file_t file)
relocate_file(linker_file_t lf)
linker_file_t x = fp->file; /* save value */
linker_file_t result;
linker_file_t file; /* module file, if autoloaded */
linker_file_t lf;
linker_file_t lf;
linker_file_t fileid;
linker_file_t* deps; /* list of dependancies */
int (*load_file)(const char *filename, linker_file_t *result);
int (*preload_file)(const char *filename, linker_file_t *result);
typedef int linker_predicate_t(linker_file_t, void *);
extern linker_file_t linker_current_file;
extern linker_file_t linker_kernel_file;
int linker_load_file(const char *_filename, linker_file_t *_result);
linker_file_t linker_find_file_by_name(const char* _filename);
linker_file_t linker_find_file_by_id(int _fileid);
linker_file_t linker_make_file(const char* _filename, void* _priv,
int linker_file_unload(linker_file_t _file);
void linker_file_add_dependancy(linker_file_t _file, linker_file_t _dep);
int linker_load_dependencies(linker_file_t lf);
int linker_file_lookup_symbol(linker_file_t _file, const char* _name,
int linker_file_lookup_set(linker_file_t _file, const char *_name,
linker_file_t *retult);
linker_file_t lf);
typedef int elf_lookup_fn(linker_file_t, Elf_Size, int, Elf_Addr *);
int elf_reloc(linker_file_t, Elf_Addr, const void *, int, elf_lookup_fn);
int elf_reloc_local(linker_file_t, Elf_Addr, const void *, int, elf_lookup_fn);
Elf_Addr elf_relocaddr(linker_file_t, Elf_Addr);
int (*lookup_symbol)(linker_file_t, const char* name,
int (*symbol_values)(linker_file_t, c_linker_sym_t,
int (*search_symbol)(linker_file_t, caddr_t value,
int (*preload_finish)(linker_file_t);
void (*unload)(linker_file_t);
int (*lookup_set)(linker_file_t, const char *name,