47#ifndef L61_RS_LOADSHAREDLIBRARY_H
48#define L61_RS_LOADSHAREDLIBRARY_H
52# define L61_ROSETTA_CAST_SYMBOL(type, symbol) reinterpret_cast<type>(symbol)
59 template<
typename T>
requires std::is_function_v<T> && (!std::is_pointer_v<T>)
62 if (symbol ==
nullptr)
64 throw std::runtime_error(
"Symbol is null");
71# define L61_ROSETTA_CAST_SYMBOL(type, symbol) ((type)(symbol))
void * l61_rosetta_SharedLibrary_handle_t
Definition loadSharedLibraryTypes.h:29
void(* l61_rosetta_SharedLibrary_symbol_t)(void)
Definition loadSharedLibraryTypes.h:32
l61_rosetta_SharedLibrary_symbol_t l61_rosetta_getSharedLibrarySymbol(l61_rosetta_SharedLibrary_handle_t handle, const char *symbol)
Definition loadSharedLibrary.c:42
#define L61_ROSETTA_CAST_SYMBOL(type, symbol)
Definition loadSharedLibrary.h:71
int l61_rosetta_unloadSharedLibrary(l61_rosetta_SharedLibrary_handle_t handle)
Definition loadSharedLibrary.c:52
l61_rosetta_SharedLibrary_handle_t l61_rosetta_loadSharedLibrary(const char *file)
Definition loadSharedLibrary.c:31
const char * l61_rosetta_getSharedLibraryLoaderError()
Definition loadSharedLibrary.c:62
Definition EnvironmentVariable.hpp:29