]> git.cworth.org Git - apitrace/blob - opengl32.py
Trace opengl32.dll.
[apitrace] / opengl32.py
1 #############################################################################
2 #
3 # Copyright 2009 VMware, Inc.
4 #
5 # This program is free software: you can redistribute it and/or modify it
6 # under the terms of the GNU Lesser General Public License as published
7 # by the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU Lesser General Public License for more details.
14 #
15 # You should have received a copy of the GNU Lesser General Public License
16 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 #
18 #############################################################################
19
20 from gl import *
21 from windows import *
22
23 opengl32 = Dll("opengl32")
24 opengl32.functions += [
25     Function(Void, "glNewList", [(GLuint, "list"), (GLenum, "mode")]),
26     Function(Void, "glEndList", []),
27     Function(Void, "glCallList", [(GLuint, "list")]),
28     Function(Void, "glCallLists", [(GLsizei, "n"), (GLenum, "type"), (Pointer(Const(GLvoid)), "lists")]),
29     Function(Void, "glDeleteLists", [(GLuint, "list"), (GLsizei, "range")]),
30     Function(GLuint, "glGenLists", [(GLsizei, "range")]),
31     Function(Void, "glListBase", [(GLuint, "base")]),
32     Function(Void, "glBegin", [(GLenum, "mode")]),
33     Function(Void, "glBitmap", [(GLsizei, "width"), (GLsizei, "height"), (GLfloat, "xorig"), (GLfloat, "yorig"), (GLfloat, "xmove"), (GLfloat, "ymove"), (Pointer(Const(GLubyte)), "bitmap")]),
34     Function(Void, "glColor3b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue")]),
35     Function(Void, "glColor3bv", [(Pointer(Const(GLbyte)), "v")]),
36     Function(Void, "glColor3d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue")]),
37     Function(Void, "glColor3dv", [(Pointer(Const(GLdouble)), "v")]),
38     Function(Void, "glColor3f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue")]),
39     Function(Void, "glColor3fv", [(Pointer(Const(GLfloat)), "v")]),
40     Function(Void, "glColor3i", [(GLint, "red"), (GLint, "green"), (GLint, "blue")]),
41     Function(Void, "glColor3iv", [(Pointer(Const(GLint)), "v")]),
42     Function(Void, "glColor3s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue")]),
43     Function(Void, "glColor3sv", [(Pointer(Const(GLshort)), "v")]),
44     Function(Void, "glColor3ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue")]),
45     Function(Void, "glColor3ubv", [(Pointer(Const(GLubyte)), "v")]),
46     Function(Void, "glColor3ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue")]),
47     Function(Void, "glColor3uiv", [(Pointer(Const(GLuint)), "v")]),
48     Function(Void, "glColor3us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue")]),
49     Function(Void, "glColor3usv", [(Pointer(Const(GLushort)), "v")]),
50     Function(Void, "glColor4b", [(GLbyte, "red"), (GLbyte, "green"), (GLbyte, "blue"), (GLbyte, "alpha")]),
51     Function(Void, "glColor4bv", [(Pointer(Const(GLbyte)), "v")]),
52     Function(Void, "glColor4d", [(GLdouble, "red"), (GLdouble, "green"), (GLdouble, "blue"), (GLdouble, "alpha")]),
53     Function(Void, "glColor4dv", [(Pointer(Const(GLdouble)), "v")]),
54     Function(Void, "glColor4f", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]),
55     Function(Void, "glColor4fv", [(Pointer(Const(GLfloat)), "v")]),
56     Function(Void, "glColor4i", [(GLint, "red"), (GLint, "green"), (GLint, "blue"), (GLint, "alpha")]),
57     Function(Void, "glColor4iv", [(Pointer(Const(GLint)), "v")]),
58     Function(Void, "glColor4s", [(GLshort, "red"), (GLshort, "green"), (GLshort, "blue"), (GLshort, "alpha")]),
59     Function(Void, "glColor4sv", [(Pointer(Const(GLshort)), "v")]),
60     Function(Void, "glColor4ub", [(GLubyte, "red"), (GLubyte, "green"), (GLubyte, "blue"), (GLubyte, "alpha")]),
61     Function(Void, "glColor4ubv", [(Pointer(Const(GLubyte)), "v")]),
62     Function(Void, "glColor4ui", [(GLuint, "red"), (GLuint, "green"), (GLuint, "blue"), (GLuint, "alpha")]),
63     Function(Void, "glColor4uiv", [(Pointer(Const(GLuint)), "v")]),
64     Function(Void, "glColor4us", [(GLushort, "red"), (GLushort, "green"), (GLushort, "blue"), (GLushort, "alpha")]),
65     Function(Void, "glColor4usv", [(Pointer(Const(GLushort)), "v")]),
66     Function(Void, "glEdgeFlag", [(GLboolean, "flag")]),
67     Function(Void, "glEdgeFlagv", [(Pointer(Const(GLboolean)), "flag")]),
68     Function(Void, "glEnd", []),
69     Function(Void, "glIndexd", [(GLdouble, "c")]),
70     Function(Void, "glIndexdv", [(Pointer(Const(GLdouble)), "c")]),
71     Function(Void, "glIndexf", [(GLfloat, "c")]),
72     Function(Void, "glIndexfv", [(Pointer(Const(GLfloat)), "c")]),
73     Function(Void, "glIndexi", [(GLint, "c")]),
74     Function(Void, "glIndexiv", [(Pointer(Const(GLint)), "c")]),
75     Function(Void, "glIndexs", [(GLshort, "c")]),
76     Function(Void, "glIndexsv", [(Pointer(Const(GLshort)), "c")]),
77     Function(Void, "glNormal3b", [(GLbyte, "nx"), (GLbyte, "ny"), (GLbyte, "nz")]),
78     Function(Void, "glNormal3bv", [(Pointer(Const(GLbyte)), "v")]),
79     Function(Void, "glNormal3d", [(GLdouble, "nx"), (GLdouble, "ny"), (GLdouble, "nz")]),
80     Function(Void, "glNormal3dv", [(Pointer(Const(GLdouble)), "v")]),
81     Function(Void, "glNormal3f", [(GLfloat, "nx"), (GLfloat, "ny"), (GLfloat, "nz")]),
82     Function(Void, "glNormal3fv", [(Pointer(Const(GLfloat)), "v")]),
83     Function(Void, "glNormal3i", [(GLint, "nx"), (GLint, "ny"), (GLint, "nz")]),
84     Function(Void, "glNormal3iv", [(Pointer(Const(GLint)), "v")]),
85     Function(Void, "glNormal3s", [(GLshort, "nx"), (GLshort, "ny"), (GLshort, "nz")]),
86     Function(Void, "glNormal3sv", [(Pointer(Const(GLshort)), "v")]),
87     Function(Void, "glRasterPos2d", [(GLdouble, "x"), (GLdouble, "y")]),
88     Function(Void, "glRasterPos2dv", [(Pointer(Const(GLdouble)), "v")]),
89     Function(Void, "glRasterPos2f", [(GLfloat, "x"), (GLfloat, "y")]),
90     Function(Void, "glRasterPos2fv", [(Pointer(Const(GLfloat)), "v")]),
91     Function(Void, "glRasterPos2i", [(GLint, "x"), (GLint, "y")]),
92     Function(Void, "glRasterPos2iv", [(Pointer(Const(GLint)), "v")]),
93     Function(Void, "glRasterPos2s", [(GLshort, "x"), (GLshort, "y")]),
94     Function(Void, "glRasterPos2sv", [(Pointer(Const(GLshort)), "v")]),
95     Function(Void, "glRasterPos3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
96     Function(Void, "glRasterPos3dv", [(Pointer(Const(GLdouble)), "v")]),
97     Function(Void, "glRasterPos3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
98     Function(Void, "glRasterPos3fv", [(Pointer(Const(GLfloat)), "v")]),
99     Function(Void, "glRasterPos3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
100     Function(Void, "glRasterPos3iv", [(Pointer(Const(GLint)), "v")]),
101     Function(Void, "glRasterPos3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
102     Function(Void, "glRasterPos3sv", [(Pointer(Const(GLshort)), "v")]),
103     Function(Void, "glRasterPos4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
104     Function(Void, "glRasterPos4dv", [(Pointer(Const(GLdouble)), "v")]),
105     Function(Void, "glRasterPos4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
106     Function(Void, "glRasterPos4fv", [(Pointer(Const(GLfloat)), "v")]),
107     Function(Void, "glRasterPos4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]),
108     Function(Void, "glRasterPos4iv", [(Pointer(Const(GLint)), "v")]),
109     Function(Void, "glRasterPos4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
110     Function(Void, "glRasterPos4sv", [(Pointer(Const(GLshort)), "v")]),
111     Function(Void, "glRectd", [(GLdouble, "x1"), (GLdouble, "y1"), (GLdouble, "x2"), (GLdouble, "y2")]),
112     Function(Void, "glRectdv", [(Pointer(Const(GLdouble)), "v1"), (Pointer(Const(GLdouble)), "v2")]),
113     Function(Void, "glRectf", [(GLfloat, "x1"), (GLfloat, "y1"), (GLfloat, "x2"), (GLfloat, "y2")]),
114     Function(Void, "glRectfv", [(Pointer(Const(GLfloat)), "v1"), (Pointer(Const(GLfloat)), "v2")]),
115     Function(Void, "glRecti", [(GLint, "x1"), (GLint, "y1"), (GLint, "x2"), (GLint, "y2")]),
116     Function(Void, "glRectiv", [(Pointer(Const(GLint)), "v1"), (Pointer(Const(GLint)), "v2")]),
117     Function(Void, "glRects", [(GLshort, "x1"), (GLshort, "y1"), (GLshort, "x2"), (GLshort, "y2")]),
118     Function(Void, "glRectsv", [(Pointer(Const(GLshort)), "v1"), (Pointer(Const(GLshort)), "v2")]),
119     Function(Void, "glTexCoord1d", [(GLdouble, "s")]),
120     Function(Void, "glTexCoord1dv", [(Pointer(Const(GLdouble)), "v")]),
121     Function(Void, "glTexCoord1f", [(GLfloat, "s")]),
122     Function(Void, "glTexCoord1fv", [(Pointer(Const(GLfloat)), "v")]),
123     Function(Void, "glTexCoord1i", [(GLint, "s")]),
124     Function(Void, "glTexCoord1iv", [(Pointer(Const(GLint)), "v")]),
125     Function(Void, "glTexCoord1s", [(GLshort, "s")]),
126     Function(Void, "glTexCoord1sv", [(Pointer(Const(GLshort)), "v")]),
127     Function(Void, "glTexCoord2d", [(GLdouble, "s"), (GLdouble, "t")]),
128     Function(Void, "glTexCoord2dv", [(Pointer(Const(GLdouble)), "v")]),
129     Function(Void, "glTexCoord2f", [(GLfloat, "s"), (GLfloat, "t")]),
130     Function(Void, "glTexCoord2fv", [(Pointer(Const(GLfloat)), "v")]),
131     Function(Void, "glTexCoord2i", [(GLint, "s"), (GLint, "t")]),
132     Function(Void, "glTexCoord2iv", [(Pointer(Const(GLint)), "v")]),
133     Function(Void, "glTexCoord2s", [(GLshort, "s"), (GLshort, "t")]),
134     Function(Void, "glTexCoord2sv", [(Pointer(Const(GLshort)), "v")]),
135     Function(Void, "glTexCoord3d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]),
136     Function(Void, "glTexCoord3dv", [(Pointer(Const(GLdouble)), "v")]),
137     Function(Void, "glTexCoord3f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]),
138     Function(Void, "glTexCoord3fv", [(Pointer(Const(GLfloat)), "v")]),
139     Function(Void, "glTexCoord3i", [(GLint, "s"), (GLint, "t"), (GLint, "r")]),
140     Function(Void, "glTexCoord3iv", [(Pointer(Const(GLint)), "v")]),
141     Function(Void, "glTexCoord3s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r")]),
142     Function(Void, "glTexCoord3sv", [(Pointer(Const(GLshort)), "v")]),
143     Function(Void, "glTexCoord4d", [(GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]),
144     Function(Void, "glTexCoord4dv", [(Pointer(Const(GLdouble)), "v")]),
145     Function(Void, "glTexCoord4f", [(GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]),
146     Function(Void, "glTexCoord4fv", [(Pointer(Const(GLfloat)), "v")]),
147     Function(Void, "glTexCoord4i", [(GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]),
148     Function(Void, "glTexCoord4iv", [(Pointer(Const(GLint)), "v")]),
149     Function(Void, "glTexCoord4s", [(GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]),
150     Function(Void, "glTexCoord4sv", [(Pointer(Const(GLshort)), "v")]),
151     Function(Void, "glVertex2d", [(GLdouble, "x"), (GLdouble, "y")]),
152     Function(Void, "glVertex2dv", [(Pointer(Const(GLdouble)), "v")]),
153     Function(Void, "glVertex2f", [(GLfloat, "x"), (GLfloat, "y")]),
154     Function(Void, "glVertex2fv", [(Pointer(Const(GLfloat)), "v")]),
155     Function(Void, "glVertex2i", [(GLint, "x"), (GLint, "y")]),
156     Function(Void, "glVertex2iv", [(Pointer(Const(GLint)), "v")]),
157     Function(Void, "glVertex2s", [(GLshort, "x"), (GLshort, "y")]),
158     Function(Void, "glVertex2sv", [(Pointer(Const(GLshort)), "v")]),
159     Function(Void, "glVertex3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
160     Function(Void, "glVertex3dv", [(Pointer(Const(GLdouble)), "v")]),
161     Function(Void, "glVertex3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
162     Function(Void, "glVertex3fv", [(Pointer(Const(GLfloat)), "v")]),
163     Function(Void, "glVertex3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
164     Function(Void, "glVertex3iv", [(Pointer(Const(GLint)), "v")]),
165     Function(Void, "glVertex3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
166     Function(Void, "glVertex3sv", [(Pointer(Const(GLshort)), "v")]),
167     Function(Void, "glVertex4d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
168     Function(Void, "glVertex4dv", [(Pointer(Const(GLdouble)), "v")]),
169     Function(Void, "glVertex4f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
170     Function(Void, "glVertex4fv", [(Pointer(Const(GLfloat)), "v")]),
171     Function(Void, "glVertex4i", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]),
172     Function(Void, "glVertex4iv", [(Pointer(Const(GLint)), "v")]),
173     Function(Void, "glVertex4s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
174     Function(Void, "glVertex4sv", [(Pointer(Const(GLshort)), "v")]),
175     Function(Void, "glClipPlane", [(GLenum, "plane"), (Pointer(Const(GLdouble)), "equation")]),
176     Function(Void, "glColorMaterial", [(GLenum, "face"), (GLenum, "mode")]),
177     Function(Void, "glCullFace", [(GLenum, "mode")]),
178     Function(Void, "glFogf", [(GLenum, "pname"), (GLfloat, "param")]),
179     Function(Void, "glFogfv", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
180     Function(Void, "glFogi", [(GLenum, "pname"), (GLint, "param")]),
181     Function(Void, "glFogiv", [(GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
182     Function(Void, "glFrontFace", [(GLenum, "mode")]),
183     Function(Void, "glHint", [(GLenum, "target"), (GLenum, "mode")]),
184     Function(Void, "glLightf", [(GLenum, "light"), (GLenum, "pname"), (GLfloat, "param")]),
185     Function(Void, "glLightfv", [(GLenum, "light"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
186     Function(Void, "glLighti", [(GLenum, "light"), (GLenum, "pname"), (GLint, "param")]),
187     Function(Void, "glLightiv", [(GLenum, "light"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
188     Function(Void, "glLightModelf", [(GLenum, "pname"), (GLfloat, "param")]),
189     Function(Void, "glLightModelfv", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
190     Function(Void, "glLightModeli", [(GLenum, "pname"), (GLint, "param")]),
191     Function(Void, "glLightModeliv", [(GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
192     Function(Void, "glLineStipple", [(GLint, "factor"), (GLushort, "pattern")]),
193     Function(Void, "glLineWidth", [(GLfloat, "width")]),
194     Function(Void, "glMaterialf", [(GLenum, "face"), (GLenum, "pname"), (GLfloat, "param")]),
195     Function(Void, "glMaterialfv", [(GLenum, "face"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
196     Function(Void, "glMateriali", [(GLenum, "face"), (GLenum, "pname"), (GLint, "param")]),
197     Function(Void, "glMaterialiv", [(GLenum, "face"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
198     Function(Void, "glPointSize", [(GLfloat, "size")]),
199     Function(Void, "glPolygonMode", [(GLenum, "face"), (GLenum, "mode")]),
200     Function(Void, "glPolygonStipple", [(Pointer(Const(GLubyte)), "mask")]),
201     Function(Void, "glScissor", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
202     Function(Void, "glShadeModel", [(GLenum, "mode")]),
203     Function(Void, "glTexParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]),
204     Function(Void, "glTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
205     Function(Void, "glTexParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]),
206     Function(Void, "glTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
207     Function(Void, "glTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
208     Function(Void, "glTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
209     Function(Void, "glTexEnvf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "param")]),
210     Function(Void, "glTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
211     Function(Void, "glTexEnvi", [(GLenum, "target"), (GLenum, "pname"), (GLint, "param")]),
212     Function(Void, "glTexEnviv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
213     Function(Void, "glTexGend", [(GLenum, "coord"), (GLenum, "pname"), (GLdouble, "param")]),
214     Function(Void, "glTexGendv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLdouble)), "params")]),
215     Function(Void, "glTexGenf", [(GLenum, "coord"), (GLenum, "pname"), (GLfloat, "param")]),
216     Function(Void, "glTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
217     Function(Void, "glTexGeni", [(GLenum, "coord"), (GLenum, "pname"), (GLint, "param")]),
218     Function(Void, "glTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
219     Function(Void, "glFeedbackBuffer", [(GLsizei, "size"), (GLenum, "type"), (OutPointer(GLfloat), "buffer")]),
220     Function(Void, "glSelectBuffer", [(GLsizei, "size"), (OutPointer(GLuint), "buffer")]),
221     Function(GLint, "glRenderMode", [(GLenum, "mode")]),
222     Function(Void, "glInitNames", []),
223     Function(Void, "glLoadName", [(GLuint, "name")]),
224     Function(Void, "glPassThrough", [(GLfloat, "token")]),
225     Function(Void, "glPopName", []),
226     Function(Void, "glPushName", [(GLuint, "name")]),
227     Function(Void, "glDrawBuffer", [(GLenum, "mode")]),
228     Function(Void, "glClear", [(GLbitfield, "mask")]),
229     Function(Void, "glClearAccum", [(GLfloat, "red"), (GLfloat, "green"), (GLfloat, "blue"), (GLfloat, "alpha")]),
230     Function(Void, "glClearIndex", [(GLfloat, "c")]),
231     Function(Void, "glClearColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]),
232     Function(Void, "glClearStencil", [(GLint, "s")]),
233     Function(Void, "glClearDepth", [(GLclampd, "depth")]),
234     Function(Void, "glStencilMask", [(GLuint, "mask")]),
235     Function(Void, "glColorMask", [(GLboolean, "red"), (GLboolean, "green"), (GLboolean, "blue"), (GLboolean, "alpha")]),
236     Function(Void, "glDepthMask", [(GLboolean, "flag")]),
237     Function(Void, "glIndexMask", [(GLuint, "mask")]),
238     Function(Void, "glAccum", [(GLenum, "op"), (GLfloat, "value")]),
239     Function(Void, "glDisable", [(GLenum, "cap")]),
240     Function(Void, "glEnable", [(GLenum, "cap")]),
241     Function(Void, "glFinish", []),
242     Function(Void, "glFlush", []),
243     Function(Void, "glPopAttrib", []),
244     Function(Void, "glPushAttrib", [(GLbitfield, "mask")]),
245     Function(Void, "glMap1d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "stride"), (GLint, "order"), (Pointer(Const(GLdouble)), "points")]),
246     Function(Void, "glMap1f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "stride"), (GLint, "order"), (Pointer(Const(GLfloat)), "points")]),
247     Function(Void, "glMap2d", [(GLenum, "target"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLdouble, "v1"), (GLdouble, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Pointer(Const(GLdouble)), "points")]),
248     Function(Void, "glMap2f", [(GLenum, "target"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "ustride"), (GLint, "uorder"), (GLfloat, "v1"), (GLfloat, "v2"), (GLint, "vstride"), (GLint, "vorder"), (Pointer(Const(GLfloat)), "points")]),
249     Function(Void, "glMapGrid1d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2")]),
250     Function(Void, "glMapGrid1f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2")]),
251     Function(Void, "glMapGrid2d", [(GLint, "un"), (GLdouble, "u1"), (GLdouble, "u2"), (GLint, "vn"), (GLdouble, "v1"), (GLdouble, "v2")]),
252     Function(Void, "glMapGrid2f", [(GLint, "un"), (GLfloat, "u1"), (GLfloat, "u2"), (GLint, "vn"), (GLfloat, "v1"), (GLfloat, "v2")]),
253     Function(Void, "glEvalCoord1d", [(GLdouble, "u")]),
254     Function(Void, "glEvalCoord1dv", [(Pointer(Const(GLdouble)), "u")]),
255     Function(Void, "glEvalCoord1f", [(GLfloat, "u")]),
256     Function(Void, "glEvalCoord1fv", [(Pointer(Const(GLfloat)), "u")]),
257     Function(Void, "glEvalCoord2d", [(GLdouble, "u"), (GLdouble, "v")]),
258     Function(Void, "glEvalCoord2dv", [(Pointer(Const(GLdouble)), "u")]),
259     Function(Void, "glEvalCoord2f", [(GLfloat, "u"), (GLfloat, "v")]),
260     Function(Void, "glEvalCoord2fv", [(Pointer(Const(GLfloat)), "u")]),
261     Function(Void, "glEvalMesh1", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2")]),
262     Function(Void, "glEvalPoint1", [(GLint, "i")]),
263     Function(Void, "glEvalMesh2", [(GLenum, "mode"), (GLint, "i1"), (GLint, "i2"), (GLint, "j1"), (GLint, "j2")]),
264     Function(Void, "glEvalPoint2", [(GLint, "i"), (GLint, "j")]),
265     Function(Void, "glAlphaFunc", [(GLenum, "func"), (GLclampf, "ref")]),
266     Function(Void, "glBlendFunc", [(GLenum, "sfactor"), (GLenum, "dfactor")]),
267     Function(Void, "glLogicOp", [(GLenum, "opcode")]),
268     Function(Void, "glStencilFunc", [(GLenum, "func"), (GLint, "ref"), (GLuint, "mask")]),
269     Function(Void, "glStencilOp", [(GLenum, "fail"), (GLenum, "zfail"), (GLenum, "zpass")]),
270     Function(Void, "glDepthFunc", [(GLenum, "func")]),
271     Function(Void, "glPixelZoom", [(GLfloat, "xfactor"), (GLfloat, "yfactor")]),
272     Function(Void, "glPixelTransferf", [(GLenum, "pname"), (GLfloat, "param")]),
273     Function(Void, "glPixelTransferi", [(GLenum, "pname"), (GLint, "param")]),
274     Function(Void, "glPixelStoref", [(GLenum, "pname"), (GLfloat, "param")]),
275     Function(Void, "glPixelStorei", [(GLenum, "pname"), (GLint, "param")]),
276     Function(Void, "glPixelMapfv", [(GLenum, "map"), (GLsizei, "mapsize"), (Pointer(Const(GLfloat)), "values")]),
277     Function(Void, "glPixelMapuiv", [(GLenum, "map"), (GLsizei, "mapsize"), (Pointer(Const(GLuint)), "values")]),
278     Function(Void, "glPixelMapusv", [(GLenum, "map"), (GLsizei, "mapsize"), (Pointer(Const(GLushort)), "values")]),
279     Function(Void, "glReadBuffer", [(GLenum, "mode")]),
280     Function(Void, "glCopyPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "type")]),
281     Function(Void, "glReadPixels", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (OutPointer(GLvoid), "pixels")]),
282     Function(Void, "glDrawPixels", [(GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
283     Function(Void, "glGetBooleanv", [(GLenum, "pname"), (OutPointer(GLboolean), "params")]),
284     Function(Void, "glGetClipPlane", [(GLenum, "plane"), (OutPointer(GLdouble), "equation")]),
285     Function(Void, "glGetDoublev", [(GLenum, "pname"), (OutPointer(GLdouble), "params")]),
286     Function(GLenum, "glGetError", []),
287     Function(Void, "glGetFloatv", [(GLenum, "pname"), (OutPointer(GLfloat), "params")]),
288     Function(Void, "glGetIntegerv", [(GLenum, "pname"), (OutPointer(GLint), "params")]),
289     Function(Void, "glGetLightfv", [(GLenum, "light"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
290     Function(Void, "glGetLightiv", [(GLenum, "light"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
291     Function(Void, "glGetMapdv", [(GLenum, "target"), (GLenum, "query"), (OutPointer(GLdouble), "v")]),
292     Function(Void, "glGetMapfv", [(GLenum, "target"), (GLenum, "query"), (OutPointer(GLfloat), "v")]),
293     Function(Void, "glGetMapiv", [(GLenum, "target"), (GLenum, "query"), (OutPointer(GLint), "v")]),
294     Function(Void, "glGetMaterialfv", [(GLenum, "face"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
295     Function(Void, "glGetMaterialiv", [(GLenum, "face"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
296     Function(Void, "glGetPixelMapfv", [(GLenum, "map"), (OutPointer(GLfloat), "values")]),
297     Function(Void, "glGetPixelMapuiv", [(GLenum, "map"), (OutPointer(GLuint), "values")]),
298     Function(Void, "glGetPixelMapusv", [(GLenum, "map"), (OutPointer(GLushort), "values")]),
299     Function(Void, "glGetPolygonStipple", [(OutPointer(GLubyte), "mask")]),
300     Function(Alias("const GLubyte *", String), "glGetString", [(GLenum, "name")]),
301     Function(Void, "glGetTexEnvfv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
302     Function(Void, "glGetTexEnviv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
303     Function(Void, "glGetTexGendv", [(GLenum, "coord"), (GLenum, "pname"), (OutPointer(GLdouble), "params")]),
304     Function(Void, "glGetTexGenfv", [(GLenum, "coord"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
305     Function(Void, "glGetTexGeniv", [(GLenum, "coord"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
306     Function(Void, "glGetTexImage", [(GLenum, "target"), (GLint, "level"), (GLenum, "format"), (GLenum, "type"), (OutPointer(GLvoid), "pixels")]),
307     Function(Void, "glGetTexParameterfv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
308     Function(Void, "glGetTexParameteriv", [(GLenum, "target"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
309     Function(Void, "glGetTexLevelParameterfv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), (OutPointer(GLfloat), "params")]),
310     Function(Void, "glGetTexLevelParameteriv", [(GLenum, "target"), (GLint, "level"), (GLenum, "pname"), (OutPointer(GLint), "params")]),
311     Function(GLboolean, "glIsEnabled", [(GLenum, "cap")]),
312     Function(GLboolean, "glIsList", [(GLuint, "list")]),
313     Function(Void, "glDepthRange", [(GLclampd, "zNear"), (GLclampd, "zFar")]),
314     Function(Void, "glFrustum", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]),
315     Function(Void, "glLoadIdentity", []),
316     Function(Void, "glLoadMatrixf", [(Pointer(Const(GLfloat)), "m")]),
317     Function(Void, "glLoadMatrixd", [(Pointer(Const(GLdouble)), "m")]),
318     Function(Void, "glMatrixMode", [(GLenum, "mode")]),
319     Function(Void, "glMultMatrixf", [(Pointer(Const(GLfloat)), "m")]),
320     Function(Void, "glMultMatrixd", [(Pointer(Const(GLdouble)), "m")]),
321     Function(Void, "glOrtho", [(GLdouble, "left"), (GLdouble, "right"), (GLdouble, "bottom"), (GLdouble, "top"), (GLdouble, "zNear"), (GLdouble, "zFar")]),
322     Function(Void, "glPopMatrix", []),
323     Function(Void, "glPushMatrix", []),
324     Function(Void, "glRotated", [(GLdouble, "angle"), (GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
325     Function(Void, "glRotatef", [(GLfloat, "angle"), (GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
326     Function(Void, "glScaled", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
327     Function(Void, "glScalef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
328     Function(Void, "glTranslated", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
329     Function(Void, "glTranslatef", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
330     Function(Void, "glViewport", [(GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
331     Function(Void, "glArrayElement", [(GLint, "i")]),
332     Function(Void, "glBindTexture", [(GLenum, "target"), (GLuint, "texture")]),
333     Function(Void, "glColorPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
334     Function(Void, "glDisableClientState", [(GLenum, "array")]),
335     Function(Void, "glDrawArrays", [(GLenum, "mode"), (GLint, "first"), (GLsizei, "count")]),
336     Function(Void, "glDrawElements", [(GLenum, "mode"), (GLsizei, "count"), (GLenum, "type"), (Pointer(Const(GLvoid)), "indices")]),
337     Function(Void, "glEdgeFlagPointer", [(GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
338     Function(Void, "glEnableClientState", [(GLenum, "array")]),
339     Function(Void, "glIndexPointer", [(GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
340     Function(Void, "glIndexub", [(GLubyte, "c")]),
341     Function(Void, "glIndexubv", [(Pointer(Const(GLubyte)), "c")]),
342     Function(Void, "glInterleavedArrays", [(GLenum, "format"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
343     Function(Void, "glNormalPointer", [(GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
344     Function(Void, "glPolygonOffset", [(GLfloat, "factor"), (GLfloat, "units")]),
345     Function(Void, "glTexCoordPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
346     Function(Void, "glVertexPointer", [(GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
347     Function(GLboolean, "glAreTexturesResident", [(GLsizei, "n"), (Pointer(Const(GLuint)), "textures"), (Pointer(GLboolean), "residences")]),
348     Function(Void, "glCopyTexImage1D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLint, "border")]),
349     Function(Void, "glCopyTexImage2D", [(GLenum, "target"), (GLint, "level"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height"), (GLint, "border")]),
350     Function(Void, "glCopyTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
351     Function(Void, "glCopyTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
352     Function(Void, "glDeleteTextures", [(GLsizei, "n"), (Pointer(Const(GLuint)), "textures")]),
353     Function(Void, "glGenTextures", [(GLsizei, "n"), (Pointer(GLuint), "textures")]),
354     Function(Void, "glGetPointerv", [(GLenum, "pname"), (Pointer(Pointer(GLvoid)), "params")]),
355     Function(GLboolean, "glIsTexture", [(GLuint, "texture")]),
356     Function(Void, "glPrioritizeTextures", [(GLsizei, "n"), (Pointer(Const(GLuint)), "textures"), (Pointer(Const(GLclampf)), "priorities")]),
357     Function(Void, "glTexSubImage1D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
358     Function(Void, "glTexSubImage2D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
359     Function(Void, "glPopClientAttrib", []),
360     Function(Void, "glPushClientAttrib", [(GLbitfield, "mask")]),
361     Function(Void, "glBlendColor", [(GLclampf, "red"), (GLclampf, "green"), (GLclampf, "blue"), (GLclampf, "alpha")]),
362     Function(Void, "glBlendEquation", [(GLenum, "mode")]),
363     Function(Void, "glDrawRangeElements", [(GLenum, "mode"), (GLuint, "start"), (GLuint, "end"), (GLsizei, "count"), (GLenum, "type"), (Pointer(Const(GLvoid)), "indices")]),
364     Function(Void, "glColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "table")]),
365     Function(Void, "glColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
366     Function(Void, "glColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
367     Function(Void, "glCopyColorTable", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
368     Function(Void, "glGetColorTable", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "table")]),
369     Function(Void, "glGetColorTableParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
370     Function(Void, "glGetColorTableParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
371     Function(Void, "glColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLsizei, "count"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "data")]),
372     Function(Void, "glCopyColorSubTable", [(GLenum, "target"), (GLsizei, "start"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
373     Function(Void, "glConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "image")]),
374     Function(Void, "glConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "image")]),
375     Function(Void, "glConvolutionParameterf", [(GLenum, "target"), (GLenum, "pname"), (GLfloat, "params")]),
376     Function(Void, "glConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
377     Function(Void, "glConvolutionParameteri", [(GLenum, "target"), (GLenum, "pname"), (GLint, "params")]),
378     Function(Void, "glConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
379     Function(Void, "glCopyConvolutionFilter1D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width")]),
380     Function(Void, "glCopyConvolutionFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
381     Function(Void, "glGetConvolutionFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "image")]),
382     Function(Void, "glGetConvolutionParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
383     Function(Void, "glGetConvolutionParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
384     Function(Void, "glGetSeparableFilter", [(GLenum, "target"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "row"), (Pointer(GLvoid), "column"), (Pointer(GLvoid), "span")]),
385     Function(Void, "glSeparableFilter2D", [(GLenum, "target"), (GLenum, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "row"), (Pointer(Const(GLvoid)), "column")]),
386     Function(Void, "glGetHistogram", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "values")]),
387     Function(Void, "glGetHistogramParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
388     Function(Void, "glGetHistogramParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
389     Function(Void, "glGetMinmax", [(GLenum, "target"), (GLboolean, "reset"), (GLenum, "format"), (GLenum, "type"), (Pointer(GLvoid), "values")]),
390     Function(Void, "glGetMinmaxParameterfv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLfloat), "params")]),
391     Function(Void, "glGetMinmaxParameteriv", [(GLenum, "target"), (GLenum, "pname"), (Pointer(GLint), "params")]),
392     Function(Void, "glHistogram", [(GLenum, "target"), (GLsizei, "width"), (GLenum, "internalformat"), (GLboolean, "sink")]),
393     Function(Void, "glMinmax", [(GLenum, "target"), (GLenum, "internalformat"), (GLboolean, "sink")]),
394     Function(Void, "glResetHistogram", [(GLenum, "target")]),
395     Function(Void, "glResetMinmax", [(GLenum, "target")]),
396     Function(Void, "glTexImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "internalformat"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLint, "border"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
397     Function(Void, "glTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLsizei, "width"), (GLsizei, "height"), (GLsizei, "depth"), (GLenum, "format"), (GLenum, "type"), (Pointer(Const(GLvoid)), "pixels")]),
398     Function(Void, "glCopyTexSubImage3D", [(GLenum, "target"), (GLint, "level"), (GLint, "xoffset"), (GLint, "yoffset"), (GLint, "zoffset"), (GLint, "x"), (GLint, "y"), (GLsizei, "width"), (GLsizei, "height")]),
399     Function(Void, "glActiveTextureARB", [(GLenum, "texture")]),
400     Function(Void, "glClientActiveTextureARB", [(GLenum, "texture")]),
401     Function(Void, "glMultiTexCoord1dARB", [(GLenum, "target"), (GLdouble, "s")]),
402     Function(Void, "glMultiTexCoord1dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
403     Function(Void, "glMultiTexCoord1fARB", [(GLenum, "target"), (GLfloat, "s")]),
404     Function(Void, "glMultiTexCoord1fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
405     Function(Void, "glMultiTexCoord1iARB", [(GLenum, "target"), (GLint, "s")]),
406     Function(Void, "glMultiTexCoord1ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
407     Function(Void, "glMultiTexCoord1sARB", [(GLenum, "target"), (GLshort, "s")]),
408     Function(Void, "glMultiTexCoord1svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
409     Function(Void, "glMultiTexCoord2dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t")]),
410     Function(Void, "glMultiTexCoord2dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
411     Function(Void, "glMultiTexCoord2fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t")]),
412     Function(Void, "glMultiTexCoord2fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
413     Function(Void, "glMultiTexCoord2iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t")]),
414     Function(Void, "glMultiTexCoord2ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
415     Function(Void, "glMultiTexCoord2sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t")]),
416     Function(Void, "glMultiTexCoord2svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
417     Function(Void, "glMultiTexCoord3dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r")]),
418     Function(Void, "glMultiTexCoord3dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
419     Function(Void, "glMultiTexCoord3fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r")]),
420     Function(Void, "glMultiTexCoord3fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
421     Function(Void, "glMultiTexCoord3iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r")]),
422     Function(Void, "glMultiTexCoord3ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
423     Function(Void, "glMultiTexCoord3sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r")]),
424     Function(Void, "glMultiTexCoord3svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
425     Function(Void, "glMultiTexCoord4dARB", [(GLenum, "target"), (GLdouble, "s"), (GLdouble, "t"), (GLdouble, "r"), (GLdouble, "q")]),
426     Function(Void, "glMultiTexCoord4dvARB", [(GLenum, "target"), (Pointer(Const(GLdouble)), "v")]),
427     Function(Void, "glMultiTexCoord4fARB", [(GLenum, "target"), (GLfloat, "s"), (GLfloat, "t"), (GLfloat, "r"), (GLfloat, "q")]),
428     Function(Void, "glMultiTexCoord4fvARB", [(GLenum, "target"), (Pointer(Const(GLfloat)), "v")]),
429     Function(Void, "glMultiTexCoord4iARB", [(GLenum, "target"), (GLint, "s"), (GLint, "t"), (GLint, "r"), (GLint, "q")]),
430     Function(Void, "glMultiTexCoord4ivARB", [(GLenum, "target"), (Pointer(Const(GLint)), "v")]),
431     Function(Void, "glMultiTexCoord4sARB", [(GLenum, "target"), (GLshort, "s"), (GLshort, "t"), (GLshort, "r"), (GLshort, "q")]),
432     Function(Void, "glMultiTexCoord4svARB", [(GLenum, "target"), (Pointer(Const(GLshort)), "v")]),
433 ]
434
435 HGLRC = Alias("HGLRC", HANDLE)
436 PROC = Alias("PROC", LPVOID)
437
438 PIXELFORMATDESCRIPTOR = Struct("PIXELFORMATDESCRIPTOR", [
439     (WORD, "nSize"),
440     (WORD, "nVersion"),
441     (DWORD, "dwFlags"),
442     (BYTE, "iPixelType"),
443     (BYTE, "cColorBits"),
444     (BYTE, "cRedBits"),
445     (BYTE, "cRedShift"),
446     (BYTE, "cGreenBits"),
447     (BYTE, "cGreenShift"),
448     (BYTE, "cBlueBits"),
449     (BYTE, "cBlueShift"),
450     (BYTE, "cAlphaBits"),
451     (BYTE, "cAlphaShift"),
452     (BYTE, "cAccumBits"),
453     (BYTE, "cAccumRedBits"),
454     (BYTE, "cAccumGreenBits"),
455     (BYTE, "cAccumBlueBits"),
456     (BYTE, "cAccumAlphaBits"),
457     (BYTE, "cDepthBits"),
458     (BYTE, "cStencilBits"),
459     (BYTE, "cAuxBuffers"),
460     (BYTE, "iLayerType"),
461     (BYTE, "bReserved"),
462     (DWORD, "dwLayerMask"),
463     (DWORD, "dwVisibleMask"),
464     (DWORD, "dwDamageMask"),
465 ])
466
467 POINTFLOAT = Struct("POINTFLOAT", [
468     (FLOAT, "x"),
469     (FLOAT, "y"),
470 ])
471
472 GLYPHMETRICSFLOAT = Struct("GLYPHMETRICSFLOAT", [
473     (FLOAT, "gmfBlackBoxX"),
474     (FLOAT, "gmfBlackBoxY"),
475     (POINTFLOAT, "gmfptGlyphOrigin"),
476     (FLOAT, "gmfCellIncX"),
477     (FLOAT, "gmfCellIncY"),
478 ])
479 LPGLYPHMETRICSFLOAT = Pointer(GLYPHMETRICSFLOAT)
480
481 COLORREF = Alias("COLORREF", DWORD)
482 LAYERPLANEDESCRIPTOR = Struct("LAYERPLANEDESCRIPTOR", [
483     (WORD, "nSize"),
484     (WORD, "nVersion"),
485     (DWORD, "dwFlags"),
486     (BYTE, "iPixelType"),
487     (BYTE, "cColorBits"),
488     (BYTE, "cRedBits"),
489     (BYTE, "cRedShift"),
490     (BYTE, "cGreenBits"),
491     (BYTE, "cGreenShift"),
492     (BYTE, "cBlueBits"),
493     (BYTE, "cBlueShift"),
494     (BYTE, "cAlphaBits"),
495     (BYTE, "cAlphaShift"),
496     (BYTE, "cAccumBits"),
497     (BYTE, "cAccumRedBits"),
498     (BYTE, "cAccumGreenBits"),
499     (BYTE, "cAccumBlueBits"),
500     (BYTE, "cAccumAlphaBits"),
501     (BYTE, "cDepthBits"),
502     (BYTE, "cStencilBits"),
503     (BYTE, "cAuxBuffers"),
504     (BYTE, "iLayerPlane"),
505     (BYTE, "bReserved"),
506     (COLORREF, "crTransparent"),
507 ])
508 LPLAYERPLANEDESCRIPTOR = Pointer(LAYERPLANEDESCRIPTOR)
509
510 WGLSWAP = Struct("WGLSWAP", [
511     (HDC, "hdc"),
512     (UINT, "uiFlags"),
513 ])
514
515 opengl32.functions += [
516     Function(BOOL, "wglCopyContext", [(HGLRC, "hglrcSrc"), (HGLRC, "hglrcDst"), (UINT, "mask")]),
517     Function(HGLRC, "wglCreateContext", [(HDC, "hdc")]),
518     Function(HGLRC, "wglCreateLayerContext", [(HDC, "hdc"), (Int, "iLayerPlane")]),
519     Function(BOOL, "wglDeleteContext", [(HGLRC, "hglrc")]),
520     Function(HGLRC, "wglGetCurrentContext", []),
521     Function(HDC, "wglGetCurrentDC", []),
522     Function(PROC, "wglGetProcAddress", [(LPCSTR, "lpszProc")]),
523     Function(PROC, "wglGetDefaultProcAddress", [(LPCSTR, "lpszProc")]),
524     Function(Int, "wglChoosePixelFormat", [(HDC, "hdc"), (Pointer(Const(PIXELFORMATDESCRIPTOR)), "ppfd")]), 
525     Function(Int, "wglDescribePixelFormat", [(HDC, "hdc"), (Int, "iPixelFormat"), (UINT, "nBytes"), (Pointer(PIXELFORMATDESCRIPTOR), "ppfd")]),
526     Function(Int, "wglGetPixelFormat", [(HDC, "hdc")]),
527     Function(BOOL, "wglSetPixelFormat", [(HDC, "hdc"), (Int, "iPixelFormat"), (Pointer(Const(PIXELFORMATDESCRIPTOR)), "ppfd")]),
528     Function(BOOL, "wglMakeCurrent", [(HDC, "hdc"), (HGLRC, "hglrc")]),
529     Function(BOOL, "wglShareLists", [(HGLRC, "hglrc1"), (HGLRC, "hglrc2")]),
530     Function(BOOL, "wglUseFontBitmapsA", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase")]),
531     Function(BOOL, "wglUseFontBitmapsW", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase")]),
532     Function(BOOL, "wglSwapBuffers", [(HDC, "hdc")]),
533     Function(BOOL, "wglUseFontOutlinesA", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase"), (FLOAT, "deviation"), (FLOAT, "extrusion"), (Int, "format"), (LPGLYPHMETRICSFLOAT, "lpgmf")]),
534     Function(BOOL, "wglUseFontOutlinesW", [(HDC, "hdc"), (DWORD, "first"), (DWORD, "count"), (DWORD, "listBase"), (FLOAT, "deviation"), (FLOAT, "extrusion"), (Int, "format"), (LPGLYPHMETRICSFLOAT, "lpgmf")]),
535     Function(BOOL , "wglDescribeLayerPlane", [(HDC, "hdc"), (Int, "iPixelFormat"), (Int, "iLayerPlane"), (UINT, "nBytes"), (OutPointer(LAYERPLANEDESCRIPTOR), "plpd")]),
536     Function(Int  , "wglSetLayerPaletteEntries", [(HDC, "hdc"), (Int, "iLayerPlane"), (Int, "iStart"), (Int, "cEntries"), (Pointer(Const(COLORREF)), "pcr")]),
537     Function(Int  , "wglGetLayerPaletteEntries", [(HDC, "hdc"), (Int, "iLayerPlane"), (Int, "iStart"), (Int, "cEntries"), (OutPointer(COLORREF), "pcr")]),
538     Function(BOOL , "wglRealizeLayerPalette", [(HDC, "hdc"), (Int, "iLayerPlane"), (BOOL, "bRealize")]),
539     Function(BOOL , "wglSwapLayerBuffers", [(HDC, "hdc"), (UINT, "fuPlanes")]),
540     Function(DWORD, "wglSwapMultipleBuffers", [(UINT, "n"), (Pointer(Const(WGLSWAP)), "ps")]),
541 ]
542
543 if __name__ == '__main__':
544     print
545     print '#define _GDI32_'
546     print
547     print '#include <windows.h>'
548     print '#include <tchar.h>'
549     print '#include <GL/gl.h>'
550     print
551     print '#include "log.hpp"'
552     print
553     wrap()