By using the native access functions you assert that you know what you're doing and how to fix problems caused by using them. If you don't, you shouldn't be using them.
Before the inclusion of glfw3native.h, you may define zero or more window system API macro and zero or more context creation API macros.
The chosen backends must match those the library was compiled for. Failure to do this will cause a link-time error.
The available window API macros are:
GLFW_EXPOSE_NATIVE_WIN32 
GLFW_EXPOSE_NATIVE_COCOA 
GLFW_EXPOSE_NATIVE_X11 
GLFW_EXPOSE_NATIVE_WAYLAND 
The available context API macros are:
GLFW_EXPOSE_NATIVE_WGL 
GLFW_EXPOSE_NATIVE_NSGL 
GLFW_EXPOSE_NATIVE_GLX 
GLFW_EXPOSE_NATIVE_EGL 
GLFW_EXPOSE_NATIVE_OSMESA 
These macros select which of the native access functions that are declared and which platform-specific headers to include. It is then up your (by definition platform-specific) code to handle which of these should be defined. 
◆ glfwGetWin32Adapter()
      
        
          | const char* glfwGetWin32Adapter  | 
          ( | 
          GLFWmonitor *  | 
          monitor | ) | 
           | 
        
      
 
- Returns
 - The UTF-8 encoded adapter device name (for example 
\\.\DISPLAY1) of the specified monitor, or NULL if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.1. 
 
 
 
◆ glfwGetWin32Monitor()
      
        
          | const char* glfwGetWin32Monitor  | 
          ( | 
          GLFWmonitor *  | 
          monitor | ) | 
           | 
        
      
 
- Returns
 - The UTF-8 encoded display device name (for example 
\\.\DISPLAY1\Monitor0) of the specified monitor, or NULL if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.1. 
 
 
 
◆ glfwGetWin32Window()
- Returns
 - The 
HWND of the specified window, or NULL if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.0. 
 
 
 
◆ glfwGetWGLContext()
- Returns
 - The 
HGLRC of the specified window, or NULL if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.0. 
 
 
 
◆ glfwGetCocoaMonitor()
      
        
          | CGDirectDisplayID glfwGetCocoaMonitor  | 
          ( | 
          GLFWmonitor *  | 
          monitor | ) | 
           | 
        
      
 
- Returns
 - The 
CGDirectDisplayID of the specified monitor, or kCGNullDirectDisplay if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.1. 
 
 
 
◆ glfwGetCocoaWindow()
- Returns
 - The 
NSWindow of the specified window, or nil if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.0. 
 
 
 
◆ glfwGetNSGLContext()
- Returns
 - The 
NSOpenGLContext of the specified window, or nil if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.0. 
 
 
 
◆ glfwGetX11Display()
      
        
          | Display* glfwGetX11Display  | 
          ( | 
          void  | 
           | ) | 
           | 
        
      
 
- Returns
 - The 
Display used by GLFW, or NULL if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.0. 
 
 
 
◆ glfwGetX11Adapter()
- Returns
 - The 
RRCrtc of the specified monitor, or None if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.1. 
 
 
 
◆ glfwGetX11Monitor()
- Returns
 - The 
RROutput of the specified monitor, or None if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.1. 
 
 
 
◆ glfwGetX11Window()
- Returns
 - The 
Window of the specified window, or None if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.0. 
 
 
 
◆ glfwSetX11SelectionString()
      
        
          | void glfwSetX11SelectionString  | 
          ( | 
          const char *  | 
          string | ) | 
           | 
        
      
 
 
◆ glfwGetX11SelectionString()
      
        
          | const char* glfwGetX11SelectionString  | 
          ( | 
          void  | 
           | ) | 
           | 
        
      
 
 
◆ glfwGetGLXContext()
      
        
          | GLXContext glfwGetGLXContext  | 
          ( | 
          GLFWwindow *  | 
          window | ) | 
           | 
        
      
 
- Returns
 - The 
GLXContext of the specified window, or NULL if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.0. 
 
 
 
◆ glfwGetGLXWindow()
- Returns
 - The 
GLXWindow of the specified window, or None if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.2. 
 
 
 
◆ glfwGetWaylandDisplay()
      
        
          | struct wl_display* glfwGetWaylandDisplay  | 
          ( | 
          void  | 
           | ) | 
           | 
        
      
 
- Returns
 - The 
struct wl_display* used by GLFW, or NULL if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.2. 
 
 
 
◆ glfwGetWaylandMonitor()
      
        
          | struct wl_output* glfwGetWaylandMonitor  | 
          ( | 
          GLFWmonitor *  | 
          monitor | ) | 
           | 
        
      
 
- Returns
 - The 
struct wl_output* of the specified monitor, or NULL if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.2. 
 
 
 
◆ glfwGetWaylandWindow()
      
        
          | struct wl_surface* glfwGetWaylandWindow  | 
          ( | 
          GLFWwindow *  | 
          window | ) | 
           | 
        
      
 
- Returns
 - The main 
struct wl_surface* of the specified window, or NULL if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.2. 
 
 
 
◆ glfwGetEGLDisplay()
      
        
          | EGLDisplay glfwGetEGLDisplay  | 
          ( | 
          void  | 
           | ) | 
           | 
        
      
 
- Returns
 - The 
EGLDisplay used by GLFW, or EGL_NO_DISPLAY if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.0. 
 
 
 
◆ glfwGetEGLContext()
      
        
          | EGLContext glfwGetEGLContext  | 
          ( | 
          GLFWwindow *  | 
          window | ) | 
           | 
        
      
 
- Returns
 - The 
EGLContext of the specified window, or EGL_NO_CONTEXT if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.0. 
 
 
 
◆ glfwGetEGLSurface()
      
        
          | EGLSurface glfwGetEGLSurface  | 
          ( | 
          GLFWwindow *  | 
          window | ) | 
           | 
        
      
 
- Returns
 - The 
EGLSurface of the specified window, or EGL_NO_SURFACE if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.0. 
 
 
 
◆ glfwGetOSMesaColorBuffer()
      
        
          | int glfwGetOSMesaColorBuffer  | 
          ( | 
          GLFWwindow *  | 
          window,  | 
        
        
           | 
           | 
          int *  | 
          width,  | 
        
        
           | 
           | 
          int *  | 
          height,  | 
        
        
           | 
           | 
          int *  | 
          format,  | 
        
        
           | 
           | 
          void **  | 
          buffer  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
- Parameters
 - 
  
    | [in] | window | The window whose color buffer to retrieve.  | 
    | [out] | width | Where to store the width of the color buffer, or NULL.  | 
    | [out] | height | Where to store the height of the color buffer, or NULL.  | 
    | [out] | format | Where to store the OSMesa pixel format of the color buffer, or NULL.  | 
    | [out] | buffer | Where to store the address of the color buffer, or NULL.  | 
  
   
- Returns
 GLFW_TRUE if successful, or GLFW_FALSE if an error occurred.
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.3. 
 
 
 
◆ glfwGetOSMesaDepthBuffer()
      
        
          | int glfwGetOSMesaDepthBuffer  | 
          ( | 
          GLFWwindow *  | 
          window,  | 
        
        
           | 
           | 
          int *  | 
          width,  | 
        
        
           | 
           | 
          int *  | 
          height,  | 
        
        
           | 
           | 
          int *  | 
          bytesPerValue,  | 
        
        
           | 
           | 
          void **  | 
          buffer  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
- Parameters
 - 
  
    | [in] | window | The window whose depth buffer to retrieve.  | 
    | [out] | width | Where to store the width of the depth buffer, or NULL.  | 
    | [out] | height | Where to store the height of the depth buffer, or NULL.  | 
    | [out] | bytesPerValue | Where to store the number of bytes per depth buffer element, or NULL.  | 
    | [out] | buffer | Where to store the address of the depth buffer, or NULL.  | 
  
   
- Returns
 GLFW_TRUE if successful, or GLFW_FALSE if an error occurred.
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.3. 
 
 
 
◆ glfwGetOSMesaContext()
      
        
          | OSMesaContext glfwGetOSMesaContext  | 
          ( | 
          GLFWwindow *  | 
          window | ) | 
           | 
        
      
 
- Returns
 - The 
OSMesaContext of the specified window, or NULL if an error occurred. 
- Thread safety
 - This function may be called from any thread. Access is not synchronized.
 
- Since
 - Added in version 3.3.