sig
  type get_boolean_1 =
      GL_ALPHA_TEST
    | GL_AUTO_NORMAL
    | GL_BLEND
    | GL_CLIP_PLANE0
    | GL_CLIP_PLANE1
    | GL_CLIP_PLANE2
    | GL_CLIP_PLANE3
    | GL_CLIP_PLANE4
    | GL_CLIP_PLANE5
    | GL_COLOR_ARRAY
    | GL_COLOR_LOGIC_OP
    | GL_COLOR_MATERIAL
    | GL_COLOR_SUM
    | GL_COLOR_TABLE
    | GL_CONVOLUTION_1D
    | GL_CONVOLUTION_2D
    | GL_CULL_FACE
    | GL_CURRENT_RASTER_POSITION_VALID
    | GL_DEPTH_TEST
    | GL_DEPTH_WRITEMASK
    | GL_DITHER
    | GL_DOUBLEBUFFER
    | GL_EDGE_FLAG
    | GL_EDGE_FLAG_ARRAY
    | GL_FOG
    | GL_FOG_COORD_ARRAY
    | GL_HISTOGRAM
    | GL_INDEX_ARRAY
    | GL_INDEX_LOGIC_OP
    | GL_INDEX_MODE
    | GL_LIGHT0
    | GL_LIGHT1
    | GL_LIGHT2
    | GL_LIGHT3
    | GL_LIGHT4
    | GL_LIGHT5
    | GL_LIGHT6
    | GL_LIGHT7
    | GL_LIGHTING
    | GL_LIGHT_MODEL_LOCAL_VIEWER
    | GL_LIGHT_MODEL_TWO_SIDE
    | GL_LINE_SMOOTH
    | GL_LINE_STIPPLE
    | GL_MAP1_INDEX
    | GL_MAP1_NORMAL
    | GL_MAP1_TEXTURE_COORD_1
    | GL_MAP1_TEXTURE_COORD_2
    | GL_MAP1_TEXTURE_COORD_3
    | GL_MAP1_TEXTURE_COORD_4
    | GL_MAP1_VERTEX_3
    | GL_MAP1_VERTEX_4
    | GL_MAP2_COLOR_4
    | GL_MAP2_INDEX
    | GL_MAP2_NORMAL
    | GL_MAP2_TEXTURE_COORD_1
    | GL_MAP2_TEXTURE_COORD_2
    | GL_MAP2_TEXTURE_COORD_3
    | GL_MAP2_TEXTURE_COORD_4
    | GL_MAP2_VERTEX_3
    | GL_MAP2_VERTEX_4
    | GL_MAP_COLOR
    | GL_MAP_STENCIL
    | GL_MINMAX
    | GL_NORMAL_ARRAY
    | GL_NORMALIZE
    | GL_PACK_SWAP_BYTES
    | GL_POINT_SMOOTH
    | GL_POINT_SPRITE
    | GL_POLYGON_OFFSET_FILL
    | GL_POLYGON_OFFSET_LINE
    | GL_POLYGON_OFFSET_POINT
    | GL_POLYGON_SMOOTH
    | GL_POLYGON_STIPPLE
    | GL_POST_COLOR_MATRIX_COLOR_TABLE
    | GL_PACK_LSB_FIRST
    | GL_POST_CONVOLUTION_COLOR_TABLE
    | GL_RESCALE_NORMAL
    | GL_RGBA_MODE
    | GL_SAMPLE_COVERAGE_INVERT
    | GL_SCISSOR_TEST
    | GL_SECONDARY_COLOR_ARRAY
    | GL_SEPARABLE_2D
    | GL_STENCIL_TEST
    | GL_STEREO
    | GL_TEXTURE_1D
    | GL_TEXTURE_2D
    | GL_TEXTURE_3D
    | GL_TEXTURE_COORD_ARRAY
    | GL_TEXTURE_CUBE_MAP
    | GL_TEXTURE_GEN_Q
    | GL_TEXTURE_GEN_R
    | GL_TEXTURE_GEN_S
    | GL_TEXTURE_GEN_T
    | GL_UNPACK_LSB_FIRST
    | GL_UNPACK_SWAP_BYTES
    | GL_VERTEX_ARRAY
    | GL_VERTEX_PROGRAM_POINT_SIZE
    | GL_VERTEX_PROGRAM_TWO_SIDE
    | GL_PACK_ALIGNMENT
    | GL_PACK_IMAGE_HEIGHT
    | GL_PACK_ROW_LENGTH
    | GL_PACK_SKIP_IMAGES
    | GL_PACK_SKIP_PIXELS
    | GL_PACK_SKIP_ROWS
    | GL_UNPACK_IMAGE_HEIGHT
    | GL_UNPACK_ROW_LENGTH
    | GL_UNPACK_SKIP_IMAGES
    | GL_UNPACK_SKIP_PIXELS
    | GL_UNPACK_SKIP_ROWS
  type get_boolean_4 = GL_COLOR_WRITEMASK
  type get_integer_4 = GL_VIEWPORT | GL_SCISSOR_BOX
  type get_integer_2 = GL_MAX_VIEWPORT_DIMS
  type get_integer_1 =
      GL_ACCUM_RED_BITS
    | GL_ACCUM_GREEN_BITS
    | GL_ACCUM_BLUE_BITS
    | GL_ACCUM_ALPHA_BITS
    | GL_CURRENT_RASTER_INDEX
    | GL_LIST_BASE
    | GL_LIST_INDEX
    | GL_MAX_LIGHTS
    | GL_MAX_LIST_NESTING
    | GL_MAX_TEXTURE_SIZE
    | GL_MAX_TEXTURE_COORDS
    | GL_ACTIVE_TEXTURE
    | GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
    | GL_MAX_TEXTURE_UNITS
    | GL_MAX_ELEMENTS_INDICES
    | GL_MAX_ELEMENTS_VERTICES
    | GL_SUBPIXEL_BITS
    | GL_DEPTH_BITS
    | GL_STENCIL_BITS
    | GL_NAME_STACK_DEPTH
    | GL_COLOR_MATRIX_STACK_DEPTH
    | GL_MODELVIEW_STACK_DEPTH
    | GL_PROJECTION_STACK_DEPTH
    | GL_TEXTURE_STACK_DEPTH
    | GL_MAX_MODELVIEW_STACK_DEPTH
    | GL_MAX_PROJECTION_STACK_DEPTH
    | GL_MAX_TEXTURE_STACK_DEPTH
    | GL_SAMPLE_BUFFERS
    | GL_SAMPLES
    | GL_MAX_CLIP_PLANES
    | GL_AUX_BUFFERS
    | GL_RED_BITS
    | GL_GREEN_BITS
    | GL_BLUE_BITS
    | GL_ALPHA_BITS
    | GL_MAX_3D_TEXTURE_SIZE
    | GL_MAX_CLIENT_ATTRIB_STACK_DEPTH
    | GL_MAX_ATTRIB_STACK_DEPTH
    | GL_MAX_COLOR_MATRIX_STACK_DEPTH
    | GL_MAX_CUBE_MAP_TEXTURE_SIZE
    | GL_MAX_DRAW_BUFFERS
    | GL_MAX_NAME_STACK_DEPTH
    | GL_NORMAL_ARRAY_STRIDE
    | GL_INDEX_ARRAY_STRIDE
    | GL_COLOR_ARRAY_STRIDE
    | GL_EDGE_FLAG_ARRAY_STRIDE
    | GL_TEXTURE_COORD_ARRAY_STRIDE
    | GL_VERTEX_ARRAY_STRIDE
    | GL_SECONDARY_COLOR_ARRAY_STRIDE
    | GL_FOG_COORD_ARRAY_STRIDE
    | GL_SECONDARY_COLOR_ARRAY_SIZE
    | GL_SELECTION_BUFFER_SIZE
    | GL_MAX_FRAGMENT_UNIFORM_COMPONENTS
    | GL_MAX_VERTEX_UNIFORM_COMPONENTS
    | GL_NUM_EXTENSIONS
    | GL_MAX_VERTEX_ATTRIBS
  type get_float_3 = GL_CURRENT_NORMAL | GL_POINT_DISTANCE_ATTENUATION
  type get_float_4 =
      GL_ACCUM_CLEAR_VALUE
    | GL_BLEND_COLOR
    | GL_COLOR_CLEAR_VALUE
    | GL_CURRENT_COLOR
    | GL_CURRENT_RASTER_COLOR
    | GL_CURRENT_RASTER_POSITION
    | GL_CURRENT_RASTER_SECONDARY_COLOR
    | GL_CURRENT_RASTER_TEXTURE_COORDS
    | GL_CURRENT_SECONDARY_COLOR
    | GL_CURRENT_TEXTURE_COORDS
    | GL_FOG_COLOR
    | GL_LIGHT_MODEL_AMBIENT
    | GL_MAP2_GRID_DOMAIN
  type get_matrix =
      GL_COLOR_MATRIX
    | GL_MODELVIEW_MATRIX
    | GL_PROJECTION_MATRIX
    | GL_TEXTURE_MATRIX
    | GL_TRANSPOSE_COLOR_MATRIX
    | GL_TRANSPOSE_MODELVIEW_MATRIX
    | GL_TRANSPOSE_PROJECTION_MATRIX
    | GL_TRANSPOSE_TEXTURE_MATRIX
  type get_float_1 =
      GL_CURRENT_RASTER_DISTANCE
    | GL_FOG_DENSITY
    | GL_FOG_END
    | GL_FOG_INDEX
    | GL_FOG_START
    | GL_INDEX_CLEAR_VALUE
    | GL_LINE_WIDTH
    | GL_LINE_WIDTH_GRANULARITY
    | GL_POINT_SIZE
    | GL_STENCIL_CLEAR_VALUE
    | GL_DEPTH_CLEAR_VALUE
    | GL_SAMPLE_COVERAGE_VALUE
    | GL_ZOOM_X
    | GL_ZOOM_Y
    | GL_ALPHA_SCALE
    | GL_BLUE_SCALE
    | GL_DEPTH_SCALE
    | GL_GREEN_SCALE
    | GL_RED_SCALE
    | GL_POINT_SIZE_GRANULARITY
    | GL_POINT_SIZE_MAX
    | GL_POINT_SIZE_MIN
    | GL_POINT_FADE_THRESHOLD_SIZE
    | GL_CURRENT_INDEX
    | GL_POLYGON_OFFSET_FACTOR
    | GL_POLYGON_OFFSET_UNITS
  type get_float_2 =
      GL_LINE_WIDTH_RANGE
    | GL_POINT_SIZE_RANGE
    | GL_DEPTH_RANGE
  type get_texture_binding =
      GL_TEXTURE_BINDING_1D
    | GL_TEXTURE_BINDING_2D
    | GL_TEXTURE_BINDING_3D
    | GL_TEXTURE_BINDING_CUBE_MAP
  type get_light =
      GL_SPOT_EXPONENT
    | GL_SPOT_CUTOFF
    | GL_CONSTANT_ATTENUATION
    | GL_LINEAR_ATTENUATION
    | GL_QUADRATIC_ATTENUATION
    | GL_SPOT_DIRECTION
    | GL_AMBIENT
    | GL_DIFFUSE
    | GL_SPECULAR
    | GL_POSITION
    | GL_LIGHT_MODEL_COLOR_CONTROL
end