diff options
| author | 0scar <qgt268@alumni.ku.dk> | 2024-02-05 16:36:47 +0000 |
|---|---|---|
| committer | 0scar <qgt268@alumni.ku.dk> | 2024-02-05 16:48:20 +0000 |
| commit | e85f81ec109782a01f1f741d4c2ed5f21af0c124 (patch) | |
| tree | 8708c742b296de20e2d54ef9fa8ea7c2036d3d82 /src/dltools.c | |
| parent | 457a4a3b1f00bf4d6c31b693085aa7150d2dcded (diff) | |
Organize the sourcefiles
Diffstat (limited to 'src/dltools.c')
| -rw-r--r-- | src/dltools.c | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/dltools.c b/src/dltools.c deleted file mode 100644 index 1e43b79..0000000 --- a/src/dltools.c +++ /dev/null @@ -1,57 +0,0 @@ -#include <stdlib.h> - -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -/* include winapi */ -#else -#include <dlfcn.h> -#endif - -#include <engine/dltools.h> -#include <engine/logging.h> - -bool dynamic_library_close(void* shared_library) { -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) - return true; -#else - return dlclose(shared_library) == 0; -#endif -} - -void* dynamic_library_open(const char* library_path) { -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) - return NULL; -#else - return dlopen(library_path, RTLD_NOW); -#endif -} - -char* dynamic_library_get_error(void) { -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) - return "unsupported on windows"; -#else - return dlerror(); -#endif -} - -void* dynamic_library_reload(void* shared_library, const char* library_path) { - void* library_address = NULL; - if (!dynamic_library_close(shared_library)) { - ERROR("Failed to close shared library: %s", dynamic_library_get_error()); - ERROR("Reloading dynamic library failed."); - return library_address; - } - if ((library_address = dynamic_library_open(library_path)) == NULL) { - ERROR("Failed to open shared library: %s", dynamic_library_get_error()); - ERROR("Reloading dynamic library %s failed.", library_path); - } - return library_address; -} - -void* dynamic_library_get_symbol(void* restrict shared_library, - const char* symbol) { -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) - return NULL; -#else - return dlsym(shared_library, symbol); -#endif -} |
