#ifndef LIB_HANDLER_H #define LIB_HANDLER_H #include "glob_opts.h" #ifdef IS_WINDOWS #include typedef HINSTANCE soHandle_t; #else #include #include typedef void *soHandle_t; #endif #ifdef IS_WINDOWS #define SHAREDLIBEXT "dll" #elif defined IS_MAC #define SHAREDLIBEXT "dylib" #else #define SHAREDLIBEXT "so" #endif // NB: A shared library should be put into the shared library search path: // Linux: LD_LIBRARY_PATH // Mac OSX: DYLD_LIBRARY_PATH // Windows: PATH /** Loads a dynamically linked library. * @param libname The name of the library to load. * @return Shared library handle, or OSQP_NULL if failure. */ soHandle_t lh_load_lib(const char* libname); /** Unloads a shared library. * @param libhandle Handle of shared library to unload. * @return Zero on success, nonzero on failure. */ c_int lh_unload_lib(soHandle_t libhandle); #endif /*LIB_HANDLER_H*/