diff --git a/src/kernel/apps/rld/rld_priv.h b/src/kernel/apps/rld/rld_priv.h index 522d55d139..d0b4272411 100644 --- a/src/kernel/apps/rld/rld_priv.h +++ b/src/kernel/apps/rld/rld_priv.h @@ -3,43 +3,33 @@ ** Distributed under the terms of the NewOS License. */ -#ifndef __newos__run_time_linker__hh__ -#define __newos__run_time_linker__hh__ +#ifndef RUN_TIME_LINKER_H +#define RUN_TIME_LINKER_H -#include #include -#define NEWOS_MAGIC_APPNAME "__NEWOS_APP__" - -typedef unsigned dynmodule_id; int RLD_STARTUP(void *); int rldmain(void *arg); -dynmodule_id load_program(char const *path, void **entry); -dynmodule_id load_library(char const *path); -dynmodule_id load_addon(char const *path); -dynmodule_id unload_program(dynmodule_id imid); -dynmodule_id unload_library(dynmodule_id imid); -dynmodule_id unload_addon(dynmodule_id imid); +status_t unload_program(image_id imageID); +image_id load_program(char const *path, void **entry); +status_t unload_library(image_id imageID); +image_id load_library(char const *path, uint32 flags); +status_t unload_addon(image_id imageID); +image_id load_addon(char const *path); +status_t get_nth_symbol(image_id imageID, int32 num, char *nameBuffer, int32 *_nameLength, + int32 *_type, void **_location); +status_t get_symbol(image_id imageID, char const *symbolName, int32 symbolType, + void **_location); -void *dynamic_symbol(dynmodule_id imid, char const *symbol); - - -void rldelf_init(struct uspace_prog_args_t const *uspa); +void rldelf_init(struct uspace_program_args const *uspa); +void rldexport_init(struct uspace_program_args *uspa); +// RLD heap void rldheap_init(void); void *rldalloc(size_t); void rldfree(void *p); -int export_dl_open(char const *, unsigned); -int export_dl_close(int, unsigned); -void *export_dl_sym(int, char const *, unsigned); - -int export_load_addon(char const *, unsigned); -int export_unload_addon(int, unsigned); -void *export_addon_symbol(int, char const *, unsigned); - -#endif - +#endif /* RUN_TIME_LINKER_H */