30 lines
406 B
Plaintext
30 lines
406 B
Plaintext
#include <dlfcn.h>
|
|
|
|
static void*
|
|
gsosx_LoadDLL(char* Path)
|
|
{
|
|
void* LibHandle = 0;
|
|
|
|
LibHandle = dlopen(Path, RTLD_LAZY);
|
|
if (LibHandle)
|
|
{
|
|
dlerror(); // Clear Last Error
|
|
}
|
|
else
|
|
{
|
|
LibHandle = 0;
|
|
}
|
|
|
|
return LibHandle;
|
|
}
|
|
|
|
#define gsosx_GetProcAddress(libHandle, type, name) (type*)dlsym((libHandle), name)
|
|
|
|
static void
|
|
gsosx_UnloadDLL(void* LibHandle)
|
|
{
|
|
if (LibHandle)
|
|
{
|
|
dlclose(LibHandle);
|
|
}
|
|
} |