/* ** Copyright 2003, Axel Dörfler, axeld@pinc-software.de. All rights reserved. ** Copyright 2002, Manuel J. Petit. All rights reserved. ** Distributed under the terms of the NewOS License. */ #include "rld_priv.h" // exported via the rld_export structure in user space program arguments static image_id export_load_add_on(char const *name, uint32 flags) { // ToDo: use load_add_on() here when it's implemented, or better, unify // load_library() and load_add_on(). return load_library(name, flags); } static status_t export_unload_add_on(image_id id) { return unload_library(id); } static status_t export_get_image_symbol(image_id id, char const *symbolName, int32 symbolType, void **_location) { return get_symbol(id, symbolName, symbolType, _location); } static status_t export_get_nth_image_symbol(image_id id, int32 num, char *nameBuffer, int32 *_nameLength, int32 *_symbolType, void **_location) { return get_nth_symbol(id, num, nameBuffer, _nameLength, _symbolType, _location); } void rldexport_init(struct uspace_program_args *args) { static struct rld_export exports = { // dynamic loading support API export_load_add_on, export_unload_add_on, export_get_image_symbol, export_get_nth_image_symbol }; args->rld_export = &exports; }