void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders)
glGetAttachedShaders returns the names of the shader objects attached to program. The names of shader objects that are attached to program are returned in shaders. The actual number of shader names written into shaders is returned in count. If no shader objects are attached to program, count is set to 0. The maximum number of shader names that may be returned in shaders is specified by maxCount.
If the number of names actually returned is not required (for instance, if it has just been obtained with glGetProgram), a value of NULL may be passed for count. If no shader objects are attached to program, a value of 0 is returned in count. The actual number of attached shaders can be obtained by calling glGetProgram with the value GL_ATTACHED_SHADERS.
glGetAttachedShaders is available only if the GL version is 2.0 or greater.
GL_INVALID_VALUE is generated if program is not a value generated by OpenGL.
GL_INVALID_OPERATION is generated if program is not a program object.
GL_INVALID_VALUE is generated if maxCount is less than 0.
GL_INVALID_OPERATION is generated if glGetAttachedShaders is executed between the execution of glBegin and the corresponding execution of glEnd.
glGetProgram with argument GL_ATTACHED_SHADERS