'''Autogenerated by xml_generate script, do not edit!'''
from OpenGL import platform as _p, arrays
# Code generation uses this
from OpenGL.raw.GL import _types as _cs
# End users want this...
from OpenGL.raw.GL._types import *
from OpenGL.raw.GL import _errors
from OpenGL.constant import Constant as _C

import ctypes
_EXTENSION_NAME = 'GL_ARB_shader_subroutine'
def _f( function ):
    return _p.createFunction( function,_p.PLATFORM.GL,'GL_ARB_shader_subroutine',error_checker=_errors._error_checker)
GL_ACTIVE_SUBROUTINES=_C('GL_ACTIVE_SUBROUTINES',0x8DE5)
GL_ACTIVE_SUBROUTINE_MAX_LENGTH=_C('GL_ACTIVE_SUBROUTINE_MAX_LENGTH',0x8E48)
GL_ACTIVE_SUBROUTINE_UNIFORMS=_C('GL_ACTIVE_SUBROUTINE_UNIFORMS',0x8DE6)
GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS=_C('GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS',0x8E47)
GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH=_C('GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH',0x8E49)
GL_COMPATIBLE_SUBROUTINES=_C('GL_COMPATIBLE_SUBROUTINES',0x8E4B)
GL_MAX_SUBROUTINES=_C('GL_MAX_SUBROUTINES',0x8DE7)
GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS=_C('GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS',0x8DE8)
GL_NUM_COMPATIBLE_SUBROUTINES=_C('GL_NUM_COMPATIBLE_SUBROUTINES',0x8E4A)
GL_UNIFORM_NAME_LENGTH=_C('GL_UNIFORM_NAME_LENGTH',0x8A39)
GL_UNIFORM_SIZE=_C('GL_UNIFORM_SIZE',0x8A38)
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,_cs.GLuint,_cs.GLsizei,arrays.GLsizeiArray,arrays.GLcharArray)
def glGetActiveSubroutineName(program,shadertype,index,bufsize,length,name):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,_cs.GLuint,_cs.GLsizei,arrays.GLsizeiArray,arrays.GLcharArray)
def glGetActiveSubroutineUniformName(program,shadertype,index,bufsize,length,name):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,_cs.GLuint,_cs.GLenum,arrays.GLintArray)
def glGetActiveSubroutineUniformiv(program,shadertype,index,pname,values):pass
@_f
@_p.types(None,_cs.GLuint,_cs.GLenum,_cs.GLenum,arrays.GLintArray)
def glGetProgramStageiv(program,shadertype,pname,values):pass
@_f
@_p.types(_cs.GLuint,_cs.GLuint,_cs.GLenum,arrays.GLcharArray)
def glGetSubroutineIndex(program,shadertype,name):pass
@_f
@_p.types(_cs.GLint,_cs.GLuint,_cs.GLenum,arrays.GLcharArray)
def glGetSubroutineUniformLocation(program,shadertype,name):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLint,arrays.GLuintArray)
def glGetUniformSubroutineuiv(shadertype,location,params):pass
@_f
@_p.types(None,_cs.GLenum,_cs.GLsizei,arrays.GLuintArray)
def glUniformSubroutinesuiv(shadertype,count,indices):pass
