There are four query functions for obtaining simple state variables and one for determining whether a particular state is enabled or disabled:
glGetBooleanv
glGetIntegerv
glGetFloatv
glGetDoublev
glIsEnabled
The prototypes for the query functions are:
void glGetBooleanv(GLenum pname, GLboolean *params);
void glGetIntegerv(GLenum pname, GLint *params);
void glGetFloatv(GLenum pname, GLfloat *params);
void glGetDoublev(GLenum pname, GLdouble *params);
Respectively, the query functions obtain Boolean, integer, floating-point, or double-precision state variables. The pname parameter is a symbolic constant indicating the state variable to return, and params is a pointer to an array of the indicated type in which to place the returned data. The possible values for pname are listed in OpenGL State Variables. A type conversion is performed if necessary to return the desired variable as the requested data type.
The prototype for glIsEnabled is:
GLboolean glIsEnabled(GLenum cap);
If the mode specified by cap is enabled, glIsEnabled returns GL_TRUE. If the mode specified by cap is disabled, glIsEnabled returns GL_FALSE. The possible values for cap are listed in OpenGL State Variables.
Other specialized functions return specific state variables. To find out when to use these functions, see OpenGL State Variables and the OpenGL Reference Manual. For more information on OpenGL's error handling facility and the glGetError function, see Error Handling.
The functions that return specific state variables are:
glGetClipPlane
glGetError
glGetLight
glGetMap
glGetMaterial
glGetPixelMap
glGetPolygonStipple
glGetString
glGetTexEnv
glGetTexGen
glGetTexImage
glGetTexLevelParameter
glGetTexParameter