os = "Linux";
#elif defined(WIN32)
os = "Windows";
+#elif defined(__NetBSD__)
+ os = "NetBSD";
+#elif defined(__OpenBSD__)
+ os = "OpenBSD";
#else
os = "Unknown";
#endif
{
}
+/*
+===============================================================================
+
+DLL MANAGEMENT
+
+===============================================================================
+*/
+
+#ifndef WIN32
+#include <dlfcn.h>
+#endif
+
+dllhandle_t Sys_LoadLibrary (const char* name)
+{
+#ifdef WIN32
+ return LoadLibrary (name);
+#else
+ return dlopen (name, RTLD_LAZY);
+#endif
+}
+
+void Sys_UnloadLibrary (dllhandle_t handle)
+{
+#ifdef WIN32
+ FreeLibrary (handle);
+#else
+ dlclose (handle);
+#endif
+}
+
+void* Sys_GetProcAddress (dllhandle_t handle, const char* name)
+{
+#ifdef WIN32
+ return (void *)GetProcAddress (handle, name);
+#else
+ return (void *)dlsym (handle, name);
+#endif
+}
+