volviewer

Volumetric Data Toy Viewer
git clone anongit@rnpnr.xyz:volviewer.git
Log | Files | Refs | Feed | LICENSE

posix_module.c (1816B)


      1 //========================================================================
      2 // GLFW 3.4 POSIX - www.glfw.org
      3 //------------------------------------------------------------------------
      4 // Copyright (c) 2021 Camilla Löwy <elmindreda@glfw.org>
      5 //
      6 // This software is provided 'as-is', without any express or implied
      7 // warranty. In no event will the authors be held liable for any damages
      8 // arising from the use of this software.
      9 //
     10 // Permission is granted to anyone to use this software for any purpose,
     11 // including commercial applications, and to alter it and redistribute it
     12 // freely, subject to the following restrictions:
     13 //
     14 // 1. The origin of this software must not be misrepresented; you must not
     15 //    claim that you wrote the original software. If you use this software
     16 //    in a product, an acknowledgment in the product documentation would
     17 //    be appreciated but is not required.
     18 //
     19 // 2. Altered source versions must be plainly marked as such, and must not
     20 //    be misrepresented as being the original software.
     21 //
     22 // 3. This notice may not be removed or altered from any source
     23 //    distribution.
     24 //
     25 //========================================================================
     26 
     27 #include "internal.h"
     28 
     29 #if defined(GLFW_BUILD_POSIX_MODULE)
     30 
     31 #include <dlfcn.h>
     32 
     33 //////////////////////////////////////////////////////////////////////////
     34 //////                       GLFW platform API                      //////
     35 //////////////////////////////////////////////////////////////////////////
     36 
     37 void* _glfwPlatformLoadModule(const char* path)
     38 {
     39     return dlopen(path, RTLD_LAZY | RTLD_LOCAL);
     40 }
     41 
     42 void _glfwPlatformFreeModule(void* module)
     43 {
     44     dlclose(module);
     45 }
     46 
     47 GLFWproc _glfwPlatformGetModuleSymbol(void* module, const char* name)
     48 {
     49     return dlsym(module, name);
     50 }
     51 
     52 #endif // GLFW_BUILD_POSIX_MODULE
     53