-/**
-RAII version of require_version. Useful as a static local variable.
-*/
-struct RequireVersion
-{
- RequireVersion(unsigned a, unsigned b) { require_version(a, b); }
-};
+/** Checks for OpenGL version support. Only intended for internal use. */
+bool is_supported(const Version &, const Version & = Version());
+
+/** Indicates whether an extension has been disabled, either explicitly through
+the MSPGL_DISABLE_EXTENSIONS environment variable or implicitly as a workaround
+for a driver bug. Only intended for internal use. */
+bool is_disabled(const std::string &);
+
+/** Returns the API for which the library was compiled. */
+GLApi get_gl_api();
+
+/** Returns the OpenGL profile for the active context. */
+GLProfile get_gl_profile();
+
+/** Returns the OpenGL version number, as reported by the implementation. */
+const Version &get_gl_version();
+
+/** Returns the GLSL version number, as reported by the implementation. */
+const Version &get_glsl_version();