# DO NOT EDIT THIS FILE.
#
# Any changes made here will be lost.
#
# This file is generated automatically by config/gen/opengl.pm
# using the following files:
#
# /usr/local/include/GL/freeglut.h
# /usr/local/include/GL/freeglut_ext.h
# /usr/local/include/GL/freeglut_std.h
# /usr/local/include/GL/glew.h
# /usr/local/include/GL/glut.h
# /usr/local/include/GL/glxew.h
# /usr/local/include/GL/wglew.h


.sub _glutcb_func_list
    .local pmc glutcb_funcs
    glutcb_funcs = new 'ResizableStringArray'
    push glutcb_funcs, 'Parrot_glut_nci_loader'
    push glutcb_funcs, 'void,ptr'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbCloseFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbDisplayFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbIdleFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbMenuDestroyFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbOverlayDisplayFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbWMCloseFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbEntryFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbMenuStateFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbVisibilityFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbWindowStatusFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbButtonBoxFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbDialsFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbMotionFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbPassiveMotionFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbReshapeFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbSpaceballButtonFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbTabletMotionFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbKeyboardFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbKeyboardUpFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbMenuStatusFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbSpaceballMotionFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbSpaceballRotateFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbSpecialFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbSpecialUpFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbMouseFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbMouseWheelFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbTabletButtonFunc'
    push glutcb_funcs, 'void,ptr,PMC'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbTimerFunc'
    push glutcb_funcs, 'void,ptr,PMC,int,int'
    push glutcb_funcs, ''
    push glutcb_funcs, 'glutcbJoystickFunc'
    push glutcb_funcs, 'void,ptr,PMC,int'
    push glutcb_funcs, ''

    .return (glutcb_funcs)
.end


.sub _gl_func_list
    .local pmc gl_funcs
    gl_funcs = new 'ResizableStringArray'

    push gl_funcs, 'glAccum'
    push gl_funcs, 'void,int,float'
    push gl_funcs, ''
    push gl_funcs, 'glAlphaFunc'
    push gl_funcs, 'void,int,float'
    push gl_funcs, ''
    push gl_funcs, 'glAreTexturesResident'
    push gl_funcs, 'char,int,ptr,ptr'
    push gl_funcs, '2'
    push gl_funcs, 'glArrayElement'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glBegin'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glBindTexture'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glBitmap'
    push gl_funcs, 'void,int,int,float,float,float,float,ptr'
    push gl_funcs, '6'
    push gl_funcs, 'glBlendFunc'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glCallList'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glCallLists'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glClear'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glClearAccum'
    push gl_funcs, 'void,float,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glClearColor'
    push gl_funcs, 'void,float,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glClearDepth'
    push gl_funcs, 'void,double'
    push gl_funcs, ''
    push gl_funcs, 'glClearIndex'
    push gl_funcs, 'void,float'
    push gl_funcs, ''
    push gl_funcs, 'glClearStencil'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glClipPlane'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor3b'
    push gl_funcs, 'void,char,char,char'
    push gl_funcs, ''
    push gl_funcs, 'glColor3bv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, '0'
    push gl_funcs, 'glColor3d'
    push gl_funcs, 'void,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glColor3dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor3f'
    push gl_funcs, 'void,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glColor3fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor3i'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glColor3iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor3s'
    push gl_funcs, 'void,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glColor3sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor3ub'
    push gl_funcs, 'void,char,char,char'
    push gl_funcs, ''
    push gl_funcs, 'glColor3ubv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, '0'
    push gl_funcs, 'glColor3ui'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glColor3uiv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor3us'
    push gl_funcs, 'void,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glColor3usv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor4b'
    push gl_funcs, 'void,char,char,char,char'
    push gl_funcs, ''
    push gl_funcs, 'glColor4bv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, '0'
    push gl_funcs, 'glColor4d'
    push gl_funcs, 'void,double,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glColor4dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor4f'
    push gl_funcs, 'void,float,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glColor4fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor4i'
    push gl_funcs, 'void,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glColor4iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor4s'
    push gl_funcs, 'void,short,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glColor4sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor4ub'
    push gl_funcs, 'void,char,char,char,char'
    push gl_funcs, ''
    push gl_funcs, 'glColor4ubv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, '0'
    push gl_funcs, 'glColor4ui'
    push gl_funcs, 'void,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glColor4uiv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColor4us'
    push gl_funcs, 'void,short,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glColor4usv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glColorMask'
    push gl_funcs, 'void,char,char,char,char'
    push gl_funcs, ''
    push gl_funcs, 'glColorMaterial'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glColorPointer'
    push gl_funcs, 'void,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glCopyPixels'
    push gl_funcs, 'void,int,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glCopyTexImage1D'
    push gl_funcs, 'void,int,int,int,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glCopyTexImage2D'
    push gl_funcs, 'void,int,int,int,int,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glCopyTexSubImage1D'
    push gl_funcs, 'void,int,int,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glCopyTexSubImage2D'
    push gl_funcs, 'void,int,int,int,int,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glCullFace'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glDeleteLists'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glDeleteTextures'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glDepthFunc'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glDepthMask'
    push gl_funcs, 'void,char'
    push gl_funcs, ''
    push gl_funcs, 'glDepthRange'
    push gl_funcs, 'void,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glDisable'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glDisableClientState'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glDrawArrays'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glDrawBuffer'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glDrawElements'
    push gl_funcs, 'void,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glDrawPixels'
    push gl_funcs, 'void,int,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glEdgeFlag'
    push gl_funcs, 'void,char'
    push gl_funcs, ''
    push gl_funcs, 'glEdgeFlagPointer'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glEdgeFlagv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, '0'
    push gl_funcs, 'glEnable'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glEnableClientState'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glEnd'
    push gl_funcs, 'void'
    push gl_funcs, ''
    push gl_funcs, 'glEndList'
    push gl_funcs, 'void'
    push gl_funcs, ''
    push gl_funcs, 'glEvalCoord1d'
    push gl_funcs, 'void,double'
    push gl_funcs, ''
    push gl_funcs, 'glEvalCoord1dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glEvalCoord1f'
    push gl_funcs, 'void,float'
    push gl_funcs, ''
    push gl_funcs, 'glEvalCoord1fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glEvalCoord2d'
    push gl_funcs, 'void,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glEvalCoord2dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glEvalCoord2f'
    push gl_funcs, 'void,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glEvalCoord2fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glEvalMesh1'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glEvalMesh2'
    push gl_funcs, 'void,int,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glEvalPoint1'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glEvalPoint2'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glFeedbackBuffer'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glFinish'
    push gl_funcs, 'void'
    push gl_funcs, ''
    push gl_funcs, 'glFlush'
    push gl_funcs, 'void'
    push gl_funcs, ''
    push gl_funcs, 'glFogf'
    push gl_funcs, 'void,int,float'
    push gl_funcs, ''
    push gl_funcs, 'glFogfv'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glFogi'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glFogiv'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glFrontFace'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glFrustum'
    push gl_funcs, 'void,double,double,double,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glGenLists'
    push gl_funcs, 'int,int'
    push gl_funcs, ''
    push gl_funcs, 'glGenTextures'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetBooleanv'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, '1'
    push gl_funcs, 'glGetClipPlane'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetDoublev'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetError'
    push gl_funcs, 'int'
    push gl_funcs, ''
    push gl_funcs, 'glGetFloatv'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetIntegerv'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetLightfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetLightiv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetMapdv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetMapfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetMapiv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetMaterialfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetMaterialiv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetPixelMapfv'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetPixelMapuiv'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetPixelMapusv'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetPointerv'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetPolygonStipple'
    push gl_funcs, 'void,ptr'
    push gl_funcs, '0'
    push gl_funcs, 'glGetString'
    push gl_funcs, 'ptr,int'
    push gl_funcs, '-1'
    push gl_funcs, 'glGetTexEnvfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetTexEnviv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetTexGendv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetTexGenfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetTexGeniv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetTexImage'
    push gl_funcs, 'void,int,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetTexLevelParameterfv'
    push gl_funcs, 'void,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetTexLevelParameteriv'
    push gl_funcs, 'void,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetTexParameterfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glGetTexParameteriv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glHint'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glIndexMask'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glIndexPointer'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glIndexd'
    push gl_funcs, 'void,double'
    push gl_funcs, ''
    push gl_funcs, 'glIndexdv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glIndexf'
    push gl_funcs, 'void,float'
    push gl_funcs, ''
    push gl_funcs, 'glIndexfv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glIndexi'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glIndexiv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glIndexs'
    push gl_funcs, 'void,short'
    push gl_funcs, ''
    push gl_funcs, 'glIndexsv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glIndexub'
    push gl_funcs, 'void,char'
    push gl_funcs, ''
    push gl_funcs, 'glIndexubv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, '0'
    push gl_funcs, 'glInitNames'
    push gl_funcs, 'void'
    push gl_funcs, ''
    push gl_funcs, 'glInterleavedArrays'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glIsEnabled'
    push gl_funcs, 'char,int'
    push gl_funcs, ''
    push gl_funcs, 'glIsList'
    push gl_funcs, 'char,int'
    push gl_funcs, ''
    push gl_funcs, 'glIsTexture'
    push gl_funcs, 'char,int'
    push gl_funcs, ''
    push gl_funcs, 'glLightModelf'
    push gl_funcs, 'void,int,float'
    push gl_funcs, ''
    push gl_funcs, 'glLightModelfv'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glLightModeli'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glLightModeliv'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glLightf'
    push gl_funcs, 'void,int,int,float'
    push gl_funcs, ''
    push gl_funcs, 'glLightfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glLighti'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glLightiv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glLineStipple'
    push gl_funcs, 'void,int,short'
    push gl_funcs, ''
    push gl_funcs, 'glLineWidth'
    push gl_funcs, 'void,float'
    push gl_funcs, ''
    push gl_funcs, 'glListBase'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glLoadIdentity'
    push gl_funcs, 'void'
    push gl_funcs, ''
    push gl_funcs, 'glLoadMatrixd'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glLoadMatrixf'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glLoadName'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glLogicOp'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glMap1d'
    push gl_funcs, 'void,int,double,double,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glMap1f'
    push gl_funcs, 'void,int,float,float,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glMap2d'
    push gl_funcs, 'void,int,double,double,int,int,double,double,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glMap2f'
    push gl_funcs, 'void,int,float,float,int,int,float,float,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glMapGrid1d'
    push gl_funcs, 'void,int,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glMapGrid1f'
    push gl_funcs, 'void,int,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glMapGrid2d'
    push gl_funcs, 'void,int,double,double,int,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glMapGrid2f'
    push gl_funcs, 'void,int,float,float,int,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glMaterialf'
    push gl_funcs, 'void,int,int,float'
    push gl_funcs, ''
    push gl_funcs, 'glMaterialfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glMateriali'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glMaterialiv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glMatrixMode'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glMultMatrixd'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glMultMatrixf'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glNewList'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glNormal3b'
    push gl_funcs, 'void,char,char,char'
    push gl_funcs, ''
    push gl_funcs, 'glNormal3bv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, '0'
    push gl_funcs, 'glNormal3d'
    push gl_funcs, 'void,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glNormal3dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glNormal3f'
    push gl_funcs, 'void,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glNormal3fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glNormal3i'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glNormal3iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glNormal3s'
    push gl_funcs, 'void,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glNormal3sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glNormalPointer'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glOrtho'
    push gl_funcs, 'void,double,double,double,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glPassThrough'
    push gl_funcs, 'void,float'
    push gl_funcs, ''
    push gl_funcs, 'glPixelMapfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glPixelMapuiv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glPixelMapusv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glPixelStoref'
    push gl_funcs, 'void,int,float'
    push gl_funcs, ''
    push gl_funcs, 'glPixelStorei'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glPixelTransferf'
    push gl_funcs, 'void,int,float'
    push gl_funcs, ''
    push gl_funcs, 'glPixelTransferi'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glPixelZoom'
    push gl_funcs, 'void,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glPointSize'
    push gl_funcs, 'void,float'
    push gl_funcs, ''
    push gl_funcs, 'glPolygonMode'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glPolygonOffset'
    push gl_funcs, 'void,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glPolygonStipple'
    push gl_funcs, 'void,ptr'
    push gl_funcs, '0'
    push gl_funcs, 'glPopAttrib'
    push gl_funcs, 'void'
    push gl_funcs, ''
    push gl_funcs, 'glPopClientAttrib'
    push gl_funcs, 'void'
    push gl_funcs, ''
    push gl_funcs, 'glPopMatrix'
    push gl_funcs, 'void'
    push gl_funcs, ''
    push gl_funcs, 'glPopName'
    push gl_funcs, 'void'
    push gl_funcs, ''
    push gl_funcs, 'glPrioritizeTextures'
    push gl_funcs, 'void,int,ptr,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glPushAttrib'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glPushClientAttrib'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glPushMatrix'
    push gl_funcs, 'void'
    push gl_funcs, ''
    push gl_funcs, 'glPushName'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos2d'
    push gl_funcs, 'void,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos2dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos2f'
    push gl_funcs, 'void,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos2fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos2i'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos2iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos2s'
    push gl_funcs, 'void,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos2sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos3d'
    push gl_funcs, 'void,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos3dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos3f'
    push gl_funcs, 'void,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos3fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos3i'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos3iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos3s'
    push gl_funcs, 'void,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos3sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos4d'
    push gl_funcs, 'void,double,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos4dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos4f'
    push gl_funcs, 'void,float,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos4fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos4i'
    push gl_funcs, 'void,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos4iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos4s'
    push gl_funcs, 'void,short,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glRasterPos4sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glReadBuffer'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glReadPixels'
    push gl_funcs, 'void,int,int,int,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRectd'
    push gl_funcs, 'void,double,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glRectdv'
    push gl_funcs, 'void,ptr,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRectf'
    push gl_funcs, 'void,float,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glRectfv'
    push gl_funcs, 'void,ptr,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRecti'
    push gl_funcs, 'void,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glRectiv'
    push gl_funcs, 'void,ptr,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRects'
    push gl_funcs, 'void,short,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glRectsv'
    push gl_funcs, 'void,ptr,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glRenderMode'
    push gl_funcs, 'int,int'
    push gl_funcs, ''
    push gl_funcs, 'glRotated'
    push gl_funcs, 'void,double,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glRotatef'
    push gl_funcs, 'void,float,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glScaled'
    push gl_funcs, 'void,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glScalef'
    push gl_funcs, 'void,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glScissor'
    push gl_funcs, 'void,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glSelectBuffer'
    push gl_funcs, 'void,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glShadeModel'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glStencilFunc'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glStencilMask'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glStencilOp'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord1d'
    push gl_funcs, 'void,double'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord1dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord1f'
    push gl_funcs, 'void,float'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord1fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord1i'
    push gl_funcs, 'void,int'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord1iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord1s'
    push gl_funcs, 'void,short'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord1sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord2d'
    push gl_funcs, 'void,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord2dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord2f'
    push gl_funcs, 'void,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord2fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord2i'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord2iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord2s'
    push gl_funcs, 'void,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord2sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord3d'
    push gl_funcs, 'void,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord3dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord3f'
    push gl_funcs, 'void,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord3fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord3i'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord3iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord3s'
    push gl_funcs, 'void,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord3sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord4d'
    push gl_funcs, 'void,double,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord4dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord4f'
    push gl_funcs, 'void,float,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord4fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord4i'
    push gl_funcs, 'void,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord4iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord4s'
    push gl_funcs, 'void,short,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoord4sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexCoordPointer'
    push gl_funcs, 'void,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexEnvf'
    push gl_funcs, 'void,int,int,float'
    push gl_funcs, ''
    push gl_funcs, 'glTexEnvfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexEnvi'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glTexEnviv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexGend'
    push gl_funcs, 'void,int,int,double'
    push gl_funcs, ''
    push gl_funcs, 'glTexGendv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexGenf'
    push gl_funcs, 'void,int,int,float'
    push gl_funcs, ''
    push gl_funcs, 'glTexGenfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexGeni'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glTexGeniv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexImage1D'
    push gl_funcs, 'void,int,int,int,int,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexImage2D'
    push gl_funcs, 'void,int,int,int,int,int,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexParameterf'
    push gl_funcs, 'void,int,int,float'
    push gl_funcs, ''
    push gl_funcs, 'glTexParameterfv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexParameteri'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glTexParameteriv'
    push gl_funcs, 'void,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexSubImage1D'
    push gl_funcs, 'void,int,int,int,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTexSubImage2D'
    push gl_funcs, 'void,int,int,int,int,int,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glTranslated'
    push gl_funcs, 'void,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glTranslatef'
    push gl_funcs, 'void,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glVertex2d'
    push gl_funcs, 'void,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glVertex2dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertex2f'
    push gl_funcs, 'void,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glVertex2fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertex2i'
    push gl_funcs, 'void,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glVertex2iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertex2s'
    push gl_funcs, 'void,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glVertex2sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertex3d'
    push gl_funcs, 'void,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glVertex3dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertex3f'
    push gl_funcs, 'void,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glVertex3fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertex3i'
    push gl_funcs, 'void,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glVertex3iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertex3s'
    push gl_funcs, 'void,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glVertex3sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertex4d'
    push gl_funcs, 'void,double,double,double,double'
    push gl_funcs, ''
    push gl_funcs, 'glVertex4dv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertex4f'
    push gl_funcs, 'void,float,float,float,float'
    push gl_funcs, ''
    push gl_funcs, 'glVertex4fv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertex4i'
    push gl_funcs, 'void,int,int,int,int'
    push gl_funcs, ''
    push gl_funcs, 'glVertex4iv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertex4s'
    push gl_funcs, 'void,short,short,short,short'
    push gl_funcs, ''
    push gl_funcs, 'glVertex4sv'
    push gl_funcs, 'void,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glVertexPointer'
    push gl_funcs, 'void,int,int,int,ptr'
    push gl_funcs, ''
    push gl_funcs, 'glViewport'
    push gl_funcs, 'void,int,int,int,int'
    push gl_funcs, ''

    .return (gl_funcs)
.end


.sub _glew_func_list
    .local pmc glew_funcs
    glew_funcs = new 'ResizableStringArray'

    push glew_funcs, 'glewContextInit'
    push glew_funcs, 'int,ptr'
    push glew_funcs, ''
    push glew_funcs, 'glewContextIsSupported'
    push glew_funcs, 'char,ptr,ptr'
    push glew_funcs, '1'
    push glew_funcs, 'glewGetErrorString'
    push glew_funcs, 'ptr,int'
    push glew_funcs, '-1'
    push glew_funcs, 'glewGetExtension'
    push glew_funcs, 'char,ptr'
    push glew_funcs, '0'
    push glew_funcs, 'glewGetString'
    push glew_funcs, 'ptr,int'
    push glew_funcs, '-1'
    push glew_funcs, 'glewInit'
    push glew_funcs, 'int'
    push glew_funcs, ''
    push glew_funcs, 'glewIsSupported'
    push glew_funcs, 'char,ptr'
    push glew_funcs, '0'

    .return (glew_funcs)
.end


.sub _glut_func_list
    .local pmc glut_funcs
    glut_funcs = new 'ResizableStringArray'

    push glut_funcs, 'glutAddMenuEntry'
    push glut_funcs, 'void,ptr,int'
    push glut_funcs, '0'
    push glut_funcs, 'glutAddSubMenu'
    push glut_funcs, 'void,ptr,int'
    push glut_funcs, '0'
    push glut_funcs, 'glutAttachMenu'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutBitmapCharacter'
    push glut_funcs, 'void,ptr,int'
    push glut_funcs, ''
    push glut_funcs, 'glutBitmapHeight'
    push glut_funcs, 'int,ptr'
    push glut_funcs, ''
    push glut_funcs, 'glutBitmapLength'
    push glut_funcs, 'int,ptr,ptr'
    push glut_funcs, '1'
    push glut_funcs, 'glutBitmapString'
    push glut_funcs, 'void,ptr,ptr'
    push glut_funcs, '1'
    push glut_funcs, 'glutBitmapWidth'
    push glut_funcs, 'int,ptr,int'
    push glut_funcs, ''
    push glut_funcs, 'glutChangeToMenuEntry'
    push glut_funcs, 'void,int,ptr,int'
    push glut_funcs, '1'
    push glut_funcs, 'glutChangeToSubMenu'
    push glut_funcs, 'void,int,ptr,int'
    push glut_funcs, '1'
    push glut_funcs, 'glutCopyColormap'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutCreateSubWindow'
    push glut_funcs, 'int,int,int,int,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutCreateWindow'
    push glut_funcs, 'int,ptr'
    push glut_funcs, '0'
    push glut_funcs, 'glutDestroyMenu'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutDestroyWindow'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutDetachMenu'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutDeviceGet'
    push glut_funcs, 'int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutEnterGameMode'
    push glut_funcs, 'int'
    push glut_funcs, ''
    push glut_funcs, 'glutEstablishOverlay'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutExit'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutExtensionSupported'
    push glut_funcs, 'int,ptr'
    push glut_funcs, '0'
    push glut_funcs, 'glutFullScreen'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutFullScreenToggle'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutGameModeGet'
    push glut_funcs, 'int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutGameModeString'
    push glut_funcs, 'void,ptr'
    push glut_funcs, '0'
    push glut_funcs, 'glutGet'
    push glut_funcs, 'int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutGetColor'
    push glut_funcs, 'float,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutGetMenu'
    push glut_funcs, 'int'
    push glut_funcs, ''
    push glut_funcs, 'glutGetMenuData'
    push glut_funcs, 'ptr'
    push glut_funcs, ''
    push glut_funcs, 'glutGetModeValues'
    push glut_funcs, 'ptr,int,ptr'
    push glut_funcs, ''
    push glut_funcs, 'glutGetModifiers'
    push glut_funcs, 'int'
    push glut_funcs, ''
    push glut_funcs, 'glutGetWindow'
    push glut_funcs, 'int'
    push glut_funcs, ''
    push glut_funcs, 'glutGetWindowData'
    push glut_funcs, 'ptr'
    push glut_funcs, ''
    push glut_funcs, 'glutHideOverlay'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutHideWindow'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutIconifyWindow'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutIgnoreKeyRepeat'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutInit'
    push glut_funcs, 'void,int&,ptr'
    push glut_funcs, ''
    push glut_funcs, 'glutInitContextFlags'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutInitContextProfile'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutInitContextVersion'
    push glut_funcs, 'void,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutInitDisplayMode'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutInitDisplayString'
    push glut_funcs, 'void,ptr'
    push glut_funcs, '0'
    push glut_funcs, 'glutInitWindowPosition'
    push glut_funcs, 'void,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutInitWindowSize'
    push glut_funcs, 'void,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutLayerGet'
    push glut_funcs, 'int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutLeaveGameMode'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutLeaveMainLoop'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutMainLoop'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutMainLoopEvent'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutPopWindow'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutPositionWindow'
    push glut_funcs, 'void,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutPostOverlayRedisplay'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutPostRedisplay'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutPostWindowOverlayRedisplay'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutPostWindowRedisplay'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutPushWindow'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutRemoveMenuItem'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutRemoveOverlay'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutReportErrors'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutReshapeWindow'
    push glut_funcs, 'void,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutSetColor'
    push glut_funcs, 'void,int,float,float,float'
    push glut_funcs, ''
    push glut_funcs, 'glutSetCursor'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutSetIconTitle'
    push glut_funcs, 'void,ptr'
    push glut_funcs, '0'
    push glut_funcs, 'glutSetKeyRepeat'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutSetMenu'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutSetMenuData'
    push glut_funcs, 'void,ptr'
    push glut_funcs, ''
    push glut_funcs, 'glutSetOption'
    push glut_funcs, 'void,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutSetWindow'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutSetWindowData'
    push glut_funcs, 'void,ptr'
    push glut_funcs, ''
    push glut_funcs, 'glutSetWindowTitle'
    push glut_funcs, 'void,ptr'
    push glut_funcs, '0'
    push glut_funcs, 'glutSetupVideoResizing'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutShowOverlay'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutShowWindow'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidCone'
    push glut_funcs, 'void,double,double,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidCube'
    push glut_funcs, 'void,double'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidCylinder'
    push glut_funcs, 'void,double,double,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidDodecahedron'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidIcosahedron'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidOctahedron'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidRhombicDodecahedron'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidSierpinskiSponge'
    push glut_funcs, 'void,int,ptr,double'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidSphere'
    push glut_funcs, 'void,double,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidTeapot'
    push glut_funcs, 'void,double'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidTetrahedron'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutSolidTorus'
    push glut_funcs, 'void,double,double,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutStopVideoResizing'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutStrokeCharacter'
    push glut_funcs, 'void,ptr,int'
    push glut_funcs, ''
    push glut_funcs, 'glutStrokeHeight'
    push glut_funcs, 'float,ptr'
    push glut_funcs, ''
    push glut_funcs, 'glutStrokeLength'
    push glut_funcs, 'int,ptr,ptr'
    push glut_funcs, '1'
    push glut_funcs, 'glutStrokeString'
    push glut_funcs, 'void,ptr,ptr'
    push glut_funcs, '1'
    push glut_funcs, 'glutStrokeWidth'
    push glut_funcs, 'int,ptr,int'
    push glut_funcs, ''
    push glut_funcs, 'glutSwapBuffers'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutUseLayer'
    push glut_funcs, 'void,int'
    push glut_funcs, ''
    push glut_funcs, 'glutVideoPan'
    push glut_funcs, 'void,int,int,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutVideoResize'
    push glut_funcs, 'void,int,int,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutVideoResizeGet'
    push glut_funcs, 'int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutWarpPointer'
    push glut_funcs, 'void,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutWireCone'
    push glut_funcs, 'void,double,double,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutWireCube'
    push glut_funcs, 'void,double'
    push glut_funcs, ''
    push glut_funcs, 'glutWireCylinder'
    push glut_funcs, 'void,double,double,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutWireDodecahedron'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutWireIcosahedron'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutWireOctahedron'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutWireRhombicDodecahedron'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutWireSierpinskiSponge'
    push glut_funcs, 'void,int,ptr,double'
    push glut_funcs, ''
    push glut_funcs, 'glutWireSphere'
    push glut_funcs, 'void,double,int,int'
    push glut_funcs, ''
    push glut_funcs, 'glutWireTeapot'
    push glut_funcs, 'void,double'
    push glut_funcs, ''
    push glut_funcs, 'glutWireTetrahedron'
    push glut_funcs, 'void'
    push glut_funcs, ''
    push glut_funcs, 'glutWireTorus'
    push glut_funcs, 'void,double,double,int,int'
    push glut_funcs, ''

    .return (glut_funcs)
.end


.sub _glx_func_list
    .local pmc glx_funcs
    glx_funcs = new 'ResizableStringArray'

    push glx_funcs, 'glXChooseVisual'
    push glx_funcs, 'ptr,ptr,int,ptr'
    push glx_funcs, ''
    push glx_funcs, 'glXCopyContext'
    push glx_funcs, 'void,ptr,ptr,ptr,long'
    push glx_funcs, ''
    push glx_funcs, 'glXCreateContext'
    push glx_funcs, 'ptr,ptr,ptr,ptr,int'
    push glx_funcs, ''
    push glx_funcs, 'glXCreateGLXPixmap'
    push glx_funcs, 'long,ptr,ptr,long'
    push glx_funcs, ''
    push glx_funcs, 'glXDestroyContext'
    push glx_funcs, 'void,ptr,ptr'
    push glx_funcs, ''
    push glx_funcs, 'glXDestroyGLXPixmap'
    push glx_funcs, 'void,ptr,long'
    push glx_funcs, ''
    push glx_funcs, 'glXGetClientString'
    push glx_funcs, 'ptr,ptr,int'
    push glx_funcs, '-1'
    push glx_funcs, 'glXGetConfig'
    push glx_funcs, 'int,ptr,ptr,int,ptr'
    push glx_funcs, ''
    push glx_funcs, 'glXGetCurrentContext'
    push glx_funcs, 'ptr'
    push glx_funcs, ''
    push glx_funcs, 'glXGetCurrentDrawable'
    push glx_funcs, 'long'
    push glx_funcs, ''
    push glx_funcs, 'glXIsDirect'
    push glx_funcs, 'int,ptr,ptr'
    push glx_funcs, ''
    push glx_funcs, 'glXMakeCurrent'
    push glx_funcs, 'int,ptr,long,ptr'
    push glx_funcs, ''
    push glx_funcs, 'glXQueryExtension'
    push glx_funcs, 'int,ptr,ptr,ptr'
    push glx_funcs, ''
    push glx_funcs, 'glXQueryExtensionsString'
    push glx_funcs, 'ptr,ptr,int'
    push glx_funcs, '-1'
    push glx_funcs, 'glXQueryServerString'
    push glx_funcs, 'ptr,ptr,int,int'
    push glx_funcs, '-1'
    push glx_funcs, 'glXQueryVersion'
    push glx_funcs, 'int,ptr,ptr,ptr'
    push glx_funcs, ''
    push glx_funcs, 'glXSwapBuffers'
    push glx_funcs, 'void,ptr,long'
    push glx_funcs, ''
    push glx_funcs, 'glXUseXFont'
    push glx_funcs, 'void,long,int,int,int'
    push glx_funcs, ''
    push glx_funcs, 'glXWaitGL'
    push glx_funcs, 'void'
    push glx_funcs, ''
    push glx_funcs, 'glXWaitX'
    push glx_funcs, 'void'
    push glx_funcs, ''

    .return (glx_funcs)
.end


.sub _glxew_func_list
    .local pmc glxew_funcs
    glxew_funcs = new 'ResizableStringArray'

    push glxew_funcs, 'glxewContextInit'
    push glxew_funcs, 'int,ptr'
    push glxew_funcs, ''
    push glxew_funcs, 'glxewContextIsSupported'
    push glxew_funcs, 'char,ptr,ptr'
    push glxew_funcs, '1'
    push glxew_funcs, 'glxewGetExtension'
    push glxew_funcs, 'char,ptr'
    push glxew_funcs, '0'
    push glxew_funcs, 'glxewIsSupported'
    push glxew_funcs, 'char,ptr'
    push glxew_funcs, '0'

    .return (glxew_funcs)
.end


.sub _wgl_func_list
    .local pmc wgl_funcs
    wgl_funcs = new 'ResizableStringArray'

    push wgl_funcs, 'wglewContextInit'
    push wgl_funcs, 'int,ptr'
    push wgl_funcs, ''
    push wgl_funcs, 'wglewContextIsSupported'
    push wgl_funcs, 'char,ptr,ptr'
    push wgl_funcs, '1'
    push wgl_funcs, 'wglewGetExtension'
    push wgl_funcs, 'char,ptr'
    push wgl_funcs, '0'
    push wgl_funcs, 'wglewIsSupported'
    push wgl_funcs, 'char,ptr'
    push wgl_funcs, '0'

    .return (wgl_funcs)
.end
