**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 must define exactly one window system API macro and exactly one context creation API macro. Failure to do this will cause a compile-time error.
The available window API macros are: * `GLFW_EXPOSE_NATIVE_WIN32` * `GLFW_EXPOSE_NATIVE_COCOA` * `GLFW_EXPOSE_NATIVE_X11`
The available context API macros are: * `GLFW_EXPOSE_NATIVE_WGL` * `GLFW_EXPOSE_NATIVE_NSGL` * `GLFW_EXPOSE_NATIVE_GLX` * `GLFW_EXPOSE_NATIVE_EGL`
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.