tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

sharedlibtools_public.cpp (872B)


      1 //========= Copyright Valve Corporation ============//
      2 #include "sharedlibtools_public.h"
      3 #include <string.h>
      4 
      5 #if defined(_WIN32)
      6 #include <windows.h>
      7 #endif
      8 
      9 #if defined(POSIX)
     10 #include <dlfcn.h>
     11 #endif
     12 
     13 SharedLibHandle SharedLib_Load( const char *pchPath )
     14 {
     15 #if defined( _WIN32)
     16 return (SharedLibHandle)LoadLibraryEx( pchPath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH );
     17 #elif defined(POSIX)
     18 return (SharedLibHandle)dlopen(pchPath, RTLD_LOCAL|RTLD_NOW);
     19 #endif
     20 }
     21 
     22 void *SharedLib_GetFunction( SharedLibHandle lib, const char *pchFunctionName)
     23 {
     24 #if defined( _WIN32)
     25 return (void*)GetProcAddress( (HMODULE)lib, pchFunctionName );
     26 #elif defined(POSIX)
     27 return dlsym( lib, pchFunctionName );
     28 #endif
     29 }
     30 
     31 
     32 void SharedLib_Unload( SharedLibHandle lib )
     33 {
     34 if ( !lib )
     35 	return;
     36 #if defined( _WIN32)
     37 FreeLibrary( (HMODULE)lib );
     38 #elif defined(POSIX)
     39 dlclose( lib );
     40 #endif
     41 }