Added regedit unit test, a couple minor changes to regedit.
[wine] / programs / winetest / include / opengl32.pm
1 package opengl32;
2
3 use strict;
4
5 require Exporter;
6
7 use wine;
8 use vars qw(@ISA @EXPORT @EXPORT_OK);
9
10 @ISA = qw(Exporter);
11 @EXPORT = qw();
12 @EXPORT_OK = qw();
13
14 my $module_declarations = {
15     "glAccum" => ["void",  ["long", "long"]],
16     "glActiveTextureARB" => ["void",  ["long"]],
17     "glAlphaFunc" => ["void",  ["long", "long"]],
18     "glAreTexturesResident" => ["long",  ["long", "ptr", "ptr"]],
19     "glArrayElement" => ["void",  ["long"]],
20     "glBegin" => ["void",  ["long"]],
21     "glBindTexture" => ["void",  ["long", "long"]],
22     "glBitmap" => ["void",  ["long", "long", "long", "long", "long", "long", "ptr"]],
23     "glBlendColor" => ["void",  ["long", "long", "long", "long"]],
24     "glBlendEquation" => ["void",  ["long"]],
25     "glBlendFunc" => ["void",  ["long", "long"]],
26     "glCallList" => ["void",  ["long"]],
27     "glCallLists" => ["void",  ["long", "long", "ptr"]],
28     "glClear" => ["void",  ["long"]],
29     "glClearAccum" => ["void",  ["long", "long", "long", "long"]],
30     "glClearColor" => ["void",  ["long", "long", "long", "long"]],
31     "glClearDepth" => ["void",  ["double"]],
32     "glClearIndex" => ["void",  ["long"]],
33     "glClearStencil" => ["void",  ["long"]],
34     "glClientActiveTextureARB" => ["void",  ["long"]],
35     "glClipPlane" => ["void",  ["long", "ptr"]],
36     "glColor3b" => ["void",  ["long", "long", "long"]],
37     "glColor3bv" => ["void",  ["ptr"]],
38     "glColor3d" => ["void",  ["double", "double", "double"]],
39     "glColor3dv" => ["void",  ["ptr"]],
40     "glColor3f" => ["void",  ["long", "long", "long"]],
41     "glColor3fv" => ["void",  ["ptr"]],
42     "glColor3i" => ["void",  ["long", "long", "long"]],
43     "glColor3iv" => ["void",  ["ptr"]],
44     "glColor3s" => ["void",  ["long", "long", "long"]],
45     "glColor3sv" => ["void",  ["ptr"]],
46     "glColor3ub" => ["void",  ["long", "long", "long"]],
47     "glColor3ubv" => ["void",  ["ptr"]],
48     "glColor3ui" => ["void",  ["long", "long", "long"]],
49     "glColor3uiv" => ["void",  ["ptr"]],
50     "glColor3us" => ["void",  ["long", "long", "long"]],
51     "glColor3usv" => ["void",  ["ptr"]],
52     "glColor4b" => ["void",  ["long", "long", "long", "long"]],
53     "glColor4bv" => ["void",  ["ptr"]],
54     "glColor4d" => ["void",  ["double", "double", "double", "double"]],
55     "glColor4dv" => ["void",  ["ptr"]],
56     "glColor4f" => ["void",  ["long", "long", "long", "long"]],
57     "glColor4fv" => ["void",  ["ptr"]],
58     "glColor4i" => ["void",  ["long", "long", "long", "long"]],
59     "glColor4iv" => ["void",  ["ptr"]],
60     "glColor4s" => ["void",  ["long", "long", "long", "long"]],
61     "glColor4sv" => ["void",  ["ptr"]],
62     "glColor4ub" => ["void",  ["long", "long", "long", "long"]],
63     "glColor4ubv" => ["void",  ["ptr"]],
64     "glColor4ui" => ["void",  ["long", "long", "long", "long"]],
65     "glColor4uiv" => ["void",  ["ptr"]],
66     "glColor4us" => ["void",  ["long", "long", "long", "long"]],
67     "glColor4usv" => ["void",  ["ptr"]],
68     "glColorMask" => ["void",  ["long", "long", "long", "long"]],
69     "glColorMaterial" => ["void",  ["long", "long"]],
70     "glColorPointer" => ["void",  ["long", "long", "long", "ptr"]],
71     "glColorSubTable" => ["void",  ["long", "long", "long", "long", "long", "ptr"]],
72     "glColorTable" => ["void",  ["long", "long", "long", "long", "long", "ptr"]],
73     "glColorTableParameterfv" => ["void",  ["long", "long", "ptr"]],
74     "glColorTableParameteriv" => ["void",  ["long", "long", "ptr"]],
75     "glConvolutionFilter1D" => ["void",  ["long", "long", "long", "long", "long", "ptr"]],
76     "glConvolutionFilter2D" => ["void",  ["long", "long", "long", "long", "long", "long", "ptr"]],
77     "glConvolutionParameterf" => ["void",  ["long", "long", "long"]],
78     "glConvolutionParameterfv" => ["void",  ["long", "long", "ptr"]],
79     "glConvolutionParameteri" => ["void",  ["long", "long", "long"]],
80     "glConvolutionParameteriv" => ["void",  ["long", "long", "ptr"]],
81     "glCopyColorSubTable" => ["void",  ["long", "long", "long", "long", "long"]],
82     "glCopyColorTable" => ["void",  ["long", "long", "long", "long", "long"]],
83     "glCopyConvolutionFilter1D" => ["void",  ["long", "long", "long", "long", "long"]],
84     "glCopyConvolutionFilter2D" => ["void",  ["long", "long", "long", "long", "long", "long"]],
85     "glCopyPixels" => ["void",  ["long", "long", "long", "long", "long"]],
86     "glCopyTexImage1D" => ["void",  ["long", "long", "long", "long", "long", "long", "long"]],
87     "glCopyTexImage2D" => ["void",  ["long", "long", "long", "long", "long", "long", "long", "long"]],
88     "glCopyTexSubImage1D" => ["void",  ["long", "long", "long", "long", "long", "long"]],
89     "glCopyTexSubImage2D" => ["void",  ["long", "long", "long", "long", "long", "long", "long", "long"]],
90     "glCopyTexSubImage3D" => ["void",  ["long", "long", "long", "long", "long", "long", "long", "long", "long"]],
91     "glCullFace" => ["void",  ["long"]],
92     "glDeleteLists" => ["void",  ["long", "long"]],
93     "glDeleteTextures" => ["void",  ["long", "ptr"]],
94     "glDepthFunc" => ["void",  ["long"]],
95     "glDepthMask" => ["void",  ["long"]],
96     "glDepthRange" => ["void",  ["double", "double"]],
97     "glDisable" => ["void",  ["long"]],
98     "glDisableClientState" => ["void",  ["long"]],
99     "glDrawArrays" => ["void",  ["long", "long", "long"]],
100     "glDrawBuffer" => ["void",  ["long"]],
101     "glDrawElements" => ["void",  ["long", "long", "long", "ptr"]],
102     "glDrawPixels" => ["void",  ["long", "long", "long", "long", "ptr"]],
103     "glDrawRangeElements" => ["void",  ["long", "long", "long", "long", "long", "ptr"]],
104     "glEdgeFlag" => ["void",  ["long"]],
105     "glEdgeFlagPointer" => ["void",  ["long", "ptr"]],
106     "glEdgeFlagv" => ["void",  ["ptr"]],
107     "glEnable" => ["void",  ["long"]],
108     "glEnableClientState" => ["void",  ["long"]],
109     "glEnd" => ["void",  ["undef"]],
110     "glEndList" => ["void",  ["undef"]],
111     "glEvalCoord1d" => ["void",  ["double"]],
112     "glEvalCoord1dv" => ["void",  ["ptr"]],
113     "glEvalCoord1f" => ["void",  ["long"]],
114     "glEvalCoord1fv" => ["void",  ["ptr"]],
115     "glEvalCoord2d" => ["void",  ["double", "double"]],
116     "glEvalCoord2dv" => ["void",  ["ptr"]],
117     "glEvalCoord2f" => ["void",  ["long", "long"]],
118     "glEvalCoord2fv" => ["void",  ["ptr"]],
119     "glEvalMesh1" => ["void",  ["long", "long", "long"]],
120     "glEvalMesh2" => ["void",  ["long", "long", "long", "long", "long"]],
121     "glEvalPoint1" => ["void",  ["long"]],
122     "glEvalPoint2" => ["void",  ["long", "long"]],
123     "glFeedbackBuffer" => ["void",  ["long", "long", "ptr"]],
124     "glFinish" => ["void",  ["undef"]],
125     "glFlush" => ["void",  ["undef"]],
126     "glFogf" => ["void",  ["long", "long"]],
127     "glFogfv" => ["void",  ["long", "ptr"]],
128     "glFogi" => ["void",  ["long", "long"]],
129     "glFogiv" => ["void",  ["long", "ptr"]],
130     "glFrontFace" => ["void",  ["long"]],
131     "glFrustum" => ["void",  ["double", "double", "double", "double", "double", "double"]],
132     "glGenLists" => ["long",  ["long"]],
133     "glGenTextures" => ["void",  ["long", "ptr"]],
134     "glGetBooleanv" => ["void",  ["long", "ptr"]],
135     "glGetClipPlane" => ["void",  ["long", "ptr"]],
136     "glGetColorTable" => ["void",  ["long", "long", "long", "ptr"]],
137     "glGetColorTableParameterfv" => ["void",  ["long", "long", "ptr"]],
138     "glGetColorTableParameteriv" => ["void",  ["long", "long", "ptr"]],
139     "glGetConvolutionFilter" => ["void",  ["long", "long", "long", "ptr"]],
140     "glGetConvolutionParameterfv" => ["void",  ["long", "long", "ptr"]],
141     "glGetConvolutionParameteriv" => ["void",  ["long", "long", "ptr"]],
142     "glGetDoublev" => ["void",  ["long", "ptr"]],
143     "glGetError" => ["long",  ["undef"]],
144     "glGetFloatv" => ["void",  ["long", "ptr"]],
145     "glGetHistogram" => ["void",  ["long", "long", "long", "long", "ptr"]],
146     "glGetHistogramParameterfv" => ["void",  ["long", "long", "ptr"]],
147     "glGetHistogramParameteriv" => ["void",  ["long", "long", "ptr"]],
148     "glGetIntegerv" => ["void",  ["long", "ptr"]],
149     "glGetLightfv" => ["void",  ["long", "long", "ptr"]],
150     "glGetLightiv" => ["void",  ["long", "long", "ptr"]],
151     "glGetMapdv" => ["void",  ["long", "long", "ptr"]],
152     "glGetMapfv" => ["void",  ["long", "long", "ptr"]],
153     "glGetMapiv" => ["void",  ["long", "long", "ptr"]],
154     "glGetMaterialfv" => ["void",  ["long", "long", "ptr"]],
155     "glGetMaterialiv" => ["void",  ["long", "long", "ptr"]],
156     "glGetMinmax" => ["void",  ["long", "long", "long", "long", "ptr"]],
157     "glGetMinmaxParameterfv" => ["void",  ["long", "long", "ptr"]],
158     "glGetMinmaxParameteriv" => ["void",  ["long", "long", "ptr"]],
159     "glGetPixelMapfv" => ["void",  ["long", "ptr"]],
160     "glGetPixelMapuiv" => ["void",  ["long", "ptr"]],
161     "glGetPixelMapusv" => ["void",  ["long", "ptr"]],
162     "glGetPointerv" => ["void",  ["long", "ptr"]],
163     "glGetPolygonStipple" => ["void",  ["ptr"]],
164     "glGetSeparableFilter" => ["void",  ["long", "long", "long", "ptr", "ptr", "ptr"]],
165     "glGetString" => ["ptr",  ["long"]],
166     "glGetTexEnvfv" => ["void",  ["long", "long", "ptr"]],
167     "glGetTexEnviv" => ["void",  ["long", "long", "ptr"]],
168     "glGetTexGendv" => ["void",  ["long", "long", "ptr"]],
169     "glGetTexGenfv" => ["void",  ["long", "long", "ptr"]],
170     "glGetTexGeniv" => ["void",  ["long", "long", "ptr"]],
171     "glGetTexImage" => ["void",  ["long", "long", "long", "long", "ptr"]],
172     "glGetTexLevelParameterfv" => ["void",  ["long", "long", "long", "ptr"]],
173     "glGetTexLevelParameteriv" => ["void",  ["long", "long", "long", "ptr"]],
174     "glGetTexParameterfv" => ["void",  ["long", "long", "ptr"]],
175     "glGetTexParameteriv" => ["void",  ["long", "long", "ptr"]],
176     "glHint" => ["void",  ["long", "long"]],
177     "glHistogram" => ["void",  ["long", "long", "long", "long"]],
178     "glIndexMask" => ["void",  ["long"]],
179     "glIndexPointer" => ["void",  ["long", "long", "ptr"]],
180     "glIndexd" => ["void",  ["double"]],
181     "glIndexdv" => ["void",  ["ptr"]],
182     "glIndexf" => ["void",  ["long"]],
183     "glIndexfv" => ["void",  ["ptr"]],
184     "glIndexi" => ["void",  ["long"]],
185     "glIndexiv" => ["void",  ["ptr"]],
186     "glIndexs" => ["void",  ["long"]],
187     "glIndexsv" => ["void",  ["ptr"]],
188     "glIndexub" => ["void",  ["long"]],
189     "glIndexubv" => ["void",  ["ptr"]],
190     "glInitNames" => ["void",  ["undef"]],
191     "glInterleavedArrays" => ["void",  ["long", "long", "ptr"]],
192     "glIsEnabled" => ["long",  ["long"]],
193     "glIsList" => ["long",  ["long"]],
194     "glIsTexture" => ["long",  ["long"]],
195     "glLightModelf" => ["void",  ["long", "long"]],
196     "glLightModelfv" => ["void",  ["long", "ptr"]],
197     "glLightModeli" => ["void",  ["long", "long"]],
198     "glLightModeliv" => ["void",  ["long", "ptr"]],
199     "glLightf" => ["void",  ["long", "long", "long"]],
200     "glLightfv" => ["void",  ["long", "long", "ptr"]],
201     "glLighti" => ["void",  ["long", "long", "long"]],
202     "glLightiv" => ["void",  ["long", "long", "ptr"]],
203     "glLineStipple" => ["void",  ["long", "long"]],
204     "glLineWidth" => ["void",  ["long"]],
205     "glListBase" => ["void",  ["long"]],
206     "glLoadIdentity" => ["void",  ["undef"]],
207     "glLoadMatrixd" => ["void",  ["ptr"]],
208     "glLoadMatrixf" => ["void",  ["ptr"]],
209     "glLoadName" => ["void",  ["long"]],
210     "glLogicOp" => ["void",  ["long"]],
211     "glMap1d" => ["void",  ["long", "double", "double", "long", "long", "ptr"]],
212     "glMap1f" => ["void",  ["long", "long", "long", "long", "long", "ptr"]],
213     "glMap2d" => ["void",  ["long", "double", "double", "long", "long", "double", "double", "long", "long", "ptr"]],
214     "glMap2f" => ["void",  ["long", "long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
215     "glMapGrid1d" => ["void",  ["long", "double", "double"]],
216     "glMapGrid1f" => ["void",  ["long", "long", "long"]],
217     "glMapGrid2d" => ["void",  ["long", "double", "double", "long", "double", "double"]],
218     "glMapGrid2f" => ["void",  ["long", "long", "long", "long", "long", "long"]],
219     "glMaterialf" => ["void",  ["long", "long", "long"]],
220     "glMaterialfv" => ["void",  ["long", "long", "ptr"]],
221     "glMateriali" => ["void",  ["long", "long", "long"]],
222     "glMaterialiv" => ["void",  ["long", "long", "ptr"]],
223     "glMatrixMode" => ["void",  ["long"]],
224     "glMinmax" => ["void",  ["long", "long", "long"]],
225     "glMultMatrixd" => ["void",  ["ptr"]],
226     "glMultMatrixf" => ["void",  ["ptr"]],
227     "glMultiTexCoord1dARB" => ["void",  ["long", "double"]],
228     "glMultiTexCoord1dvARB" => ["void",  ["long", "ptr"]],
229     "glMultiTexCoord1fARB" => ["void",  ["long", "long"]],
230     "glMultiTexCoord1fvARB" => ["void",  ["long", "ptr"]],
231     "glMultiTexCoord1iARB" => ["void",  ["long", "long"]],
232     "glMultiTexCoord1ivARB" => ["void",  ["long", "ptr"]],
233     "glMultiTexCoord1sARB" => ["void",  ["long", "long"]],
234     "glMultiTexCoord1svARB" => ["void",  ["long", "ptr"]],
235     "glMultiTexCoord2dARB" => ["void",  ["long", "double", "double"]],
236     "glMultiTexCoord2dvARB" => ["void",  ["long", "ptr"]],
237     "glMultiTexCoord2fARB" => ["void",  ["long", "long", "long"]],
238     "glMultiTexCoord2fvARB" => ["void",  ["long", "ptr"]],
239     "glMultiTexCoord2iARB" => ["void",  ["long", "long", "long"]],
240     "glMultiTexCoord2ivARB" => ["void",  ["long", "ptr"]],
241     "glMultiTexCoord2sARB" => ["void",  ["long", "long", "long"]],
242     "glMultiTexCoord2svARB" => ["void",  ["long", "ptr"]],
243     "glMultiTexCoord3dARB" => ["void",  ["long", "double", "double", "double"]],
244     "glMultiTexCoord3dvARB" => ["void",  ["long", "ptr"]],
245     "glMultiTexCoord3fARB" => ["void",  ["long", "long", "long", "long"]],
246     "glMultiTexCoord3fvARB" => ["void",  ["long", "ptr"]],
247     "glMultiTexCoord3iARB" => ["void",  ["long", "long", "long", "long"]],
248     "glMultiTexCoord3ivARB" => ["void",  ["long", "ptr"]],
249     "glMultiTexCoord3sARB" => ["void",  ["long", "long", "long", "long"]],
250     "glMultiTexCoord3svARB" => ["void",  ["long", "ptr"]],
251     "glMultiTexCoord4dARB" => ["void",  ["long", "double", "double", "double", "double"]],
252     "glMultiTexCoord4dvARB" => ["void",  ["long", "ptr"]],
253     "glMultiTexCoord4fARB" => ["void",  ["long", "long", "long", "long", "long"]],
254     "glMultiTexCoord4fvARB" => ["void",  ["long", "ptr"]],
255     "glMultiTexCoord4iARB" => ["void",  ["long", "long", "long", "long", "long"]],
256     "glMultiTexCoord4ivARB" => ["void",  ["long", "ptr"]],
257     "glMultiTexCoord4sARB" => ["void",  ["long", "long", "long", "long", "long"]],
258     "glMultiTexCoord4svARB" => ["void",  ["long", "ptr"]],
259     "glNewList" => ["void",  ["long", "long"]],
260     "glNormal3b" => ["void",  ["long", "long", "long"]],
261     "glNormal3bv" => ["void",  ["ptr"]],
262     "glNormal3d" => ["void",  ["double", "double", "double"]],
263     "glNormal3dv" => ["void",  ["ptr"]],
264     "glNormal3f" => ["void",  ["long", "long", "long"]],
265     "glNormal3fv" => ["void",  ["ptr"]],
266     "glNormal3i" => ["void",  ["long", "long", "long"]],
267     "glNormal3iv" => ["void",  ["ptr"]],
268     "glNormal3s" => ["void",  ["long", "long", "long"]],
269     "glNormal3sv" => ["void",  ["ptr"]],
270     "glNormalPointer" => ["void",  ["long", "long", "ptr"]],
271     "glOrtho" => ["void",  ["double", "double", "double", "double", "double", "double"]],
272     "glPassThrough" => ["void",  ["long"]],
273     "glPixelMapfv" => ["void",  ["long", "long", "ptr"]],
274     "glPixelMapuiv" => ["void",  ["long", "long", "ptr"]],
275     "glPixelMapusv" => ["void",  ["long", "long", "ptr"]],
276     "glPixelStoref" => ["void",  ["long", "long"]],
277     "glPixelStorei" => ["void",  ["long", "long"]],
278     "glPixelTransferf" => ["void",  ["long", "long"]],
279     "glPixelTransferi" => ["void",  ["long", "long"]],
280     "glPixelZoom" => ["void",  ["long", "long"]],
281     "glPointSize" => ["void",  ["long"]],
282     "glPolygonMode" => ["void",  ["long", "long"]],
283     "glPolygonOffset" => ["void",  ["long", "long"]],
284     "glPolygonStipple" => ["void",  ["ptr"]],
285     "glPopAttrib" => ["void",  ["undef"]],
286     "glPopClientAttrib" => ["void",  ["undef"]],
287     "glPopMatrix" => ["void",  ["undef"]],
288     "glPopName" => ["void",  ["undef"]],
289     "glPrioritizeTextures" => ["void",  ["long", "ptr", "ptr"]],
290     "glPushAttrib" => ["void",  ["long"]],
291     "glPushClientAttrib" => ["void",  ["long"]],
292     "glPushMatrix" => ["void",  ["undef"]],
293     "glPushName" => ["void",  ["long"]],
294     "glRasterPos2d" => ["void",  ["double", "double"]],
295     "glRasterPos2dv" => ["void",  ["ptr"]],
296     "glRasterPos2f" => ["void",  ["long", "long"]],
297     "glRasterPos2fv" => ["void",  ["ptr"]],
298     "glRasterPos2i" => ["void",  ["long", "long"]],
299     "glRasterPos2iv" => ["void",  ["ptr"]],
300     "glRasterPos2s" => ["void",  ["long", "long"]],
301     "glRasterPos2sv" => ["void",  ["ptr"]],
302     "glRasterPos3d" => ["void",  ["double", "double", "double"]],
303     "glRasterPos3dv" => ["void",  ["ptr"]],
304     "glRasterPos3f" => ["void",  ["long", "long", "long"]],
305     "glRasterPos3fv" => ["void",  ["ptr"]],
306     "glRasterPos3i" => ["void",  ["long", "long", "long"]],
307     "glRasterPos3iv" => ["void",  ["ptr"]],
308     "glRasterPos3s" => ["void",  ["long", "long", "long"]],
309     "glRasterPos3sv" => ["void",  ["ptr"]],
310     "glRasterPos4d" => ["void",  ["double", "double", "double", "double"]],
311     "glRasterPos4dv" => ["void",  ["ptr"]],
312     "glRasterPos4f" => ["void",  ["long", "long", "long", "long"]],
313     "glRasterPos4fv" => ["void",  ["ptr"]],
314     "glRasterPos4i" => ["void",  ["long", "long", "long", "long"]],
315     "glRasterPos4iv" => ["void",  ["ptr"]],
316     "glRasterPos4s" => ["void",  ["long", "long", "long", "long"]],
317     "glRasterPos4sv" => ["void",  ["ptr"]],
318     "glReadBuffer" => ["void",  ["long"]],
319     "glReadPixels" => ["void",  ["long", "long", "long", "long", "long", "long", "ptr"]],
320     "glRectd" => ["void",  ["double", "double", "double", "double"]],
321     "glRectdv" => ["void",  ["ptr", "ptr"]],
322     "glRectf" => ["void",  ["long", "long", "long", "long"]],
323     "glRectfv" => ["void",  ["ptr", "ptr"]],
324     "glRecti" => ["void",  ["long", "long", "long", "long"]],
325     "glRectiv" => ["void",  ["ptr", "ptr"]],
326     "glRects" => ["void",  ["long", "long", "long", "long"]],
327     "glRectsv" => ["void",  ["ptr", "ptr"]],
328     "glRenderMode" => ["long",  ["long"]],
329     "glResetHistogram" => ["void",  ["long"]],
330     "glResetMinmax" => ["void",  ["long"]],
331     "glRotated" => ["void",  ["double", "double", "double", "double"]],
332     "glRotatef" => ["void",  ["long", "long", "long", "long"]],
333     "glScaled" => ["void",  ["double", "double", "double"]],
334     "glScalef" => ["void",  ["long", "long", "long"]],
335     "glScissor" => ["void",  ["long", "long", "long", "long"]],
336     "glSelectBuffer" => ["void",  ["long", "ptr"]],
337     "glSeparableFilter2D" => ["void",  ["long", "long", "long", "long", "long", "long", "ptr", "ptr"]],
338     "glShadeModel" => ["void",  ["long"]],
339     "glStencilFunc" => ["void",  ["long", "long", "long"]],
340     "glStencilMask" => ["void",  ["long"]],
341     "glStencilOp" => ["void",  ["long", "long", "long"]],
342     "glTexCoord1d" => ["void",  ["double"]],
343     "glTexCoord1dv" => ["void",  ["ptr"]],
344     "glTexCoord1f" => ["void",  ["long"]],
345     "glTexCoord1fv" => ["void",  ["ptr"]],
346     "glTexCoord1i" => ["void",  ["long"]],
347     "glTexCoord1iv" => ["void",  ["ptr"]],
348     "glTexCoord1s" => ["void",  ["long"]],
349     "glTexCoord1sv" => ["void",  ["ptr"]],
350     "glTexCoord2d" => ["void",  ["double", "double"]],
351     "glTexCoord2dv" => ["void",  ["ptr"]],
352     "glTexCoord2f" => ["void",  ["long", "long"]],
353     "glTexCoord2fv" => ["void",  ["ptr"]],
354     "glTexCoord2i" => ["void",  ["long", "long"]],
355     "glTexCoord2iv" => ["void",  ["ptr"]],
356     "glTexCoord2s" => ["void",  ["long", "long"]],
357     "glTexCoord2sv" => ["void",  ["ptr"]],
358     "glTexCoord3d" => ["void",  ["double", "double", "double"]],
359     "glTexCoord3dv" => ["void",  ["ptr"]],
360     "glTexCoord3f" => ["void",  ["long", "long", "long"]],
361     "glTexCoord3fv" => ["void",  ["ptr"]],
362     "glTexCoord3i" => ["void",  ["long", "long", "long"]],
363     "glTexCoord3iv" => ["void",  ["ptr"]],
364     "glTexCoord3s" => ["void",  ["long", "long", "long"]],
365     "glTexCoord3sv" => ["void",  ["ptr"]],
366     "glTexCoord4d" => ["void",  ["double", "double", "double", "double"]],
367     "glTexCoord4dv" => ["void",  ["ptr"]],
368     "glTexCoord4f" => ["void",  ["long", "long", "long", "long"]],
369     "glTexCoord4fv" => ["void",  ["ptr"]],
370     "glTexCoord4i" => ["void",  ["long", "long", "long", "long"]],
371     "glTexCoord4iv" => ["void",  ["ptr"]],
372     "glTexCoord4s" => ["void",  ["long", "long", "long", "long"]],
373     "glTexCoord4sv" => ["void",  ["ptr"]],
374     "glTexCoordPointer" => ["void",  ["long", "long", "long", "ptr"]],
375     "glTexEnvf" => ["void",  ["long", "long", "long"]],
376     "glTexEnvfv" => ["void",  ["long", "long", "ptr"]],
377     "glTexEnvi" => ["void",  ["long", "long", "long"]],
378     "glTexEnviv" => ["void",  ["long", "long", "ptr"]],
379     "glTexGend" => ["void",  ["long", "long", "double"]],
380     "glTexGendv" => ["void",  ["long", "long", "ptr"]],
381     "glTexGenf" => ["void",  ["long", "long", "long"]],
382     "glTexGenfv" => ["void",  ["long", "long", "ptr"]],
383     "glTexGeni" => ["void",  ["long", "long", "long"]],
384     "glTexGeniv" => ["void",  ["long", "long", "ptr"]],
385     "glTexImage1D" => ["void",  ["long", "long", "long", "long", "long", "long", "long", "ptr"]],
386     "glTexImage2D" => ["void",  ["long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
387     "glTexImage3D" => ["void",  ["long", "long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
388     "glTexParameterf" => ["void",  ["long", "long", "long"]],
389     "glTexParameterfv" => ["void",  ["long", "long", "ptr"]],
390     "glTexParameteri" => ["void",  ["long", "long", "long"]],
391     "glTexParameteriv" => ["void",  ["long", "long", "ptr"]],
392     "glTexSubImage1D" => ["void",  ["long", "long", "long", "long", "long", "long", "ptr"]],
393     "glTexSubImage2D" => ["void",  ["long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
394     "glTexSubImage3D" => ["void",  ["long", "long", "long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
395     "glTranslated" => ["void",  ["double", "double", "double"]],
396     "glTranslatef" => ["void",  ["long", "long", "long"]],
397     "glVertex2d" => ["void",  ["double", "double"]],
398     "glVertex2dv" => ["void",  ["ptr"]],
399     "glVertex2f" => ["void",  ["long", "long"]],
400     "glVertex2fv" => ["void",  ["ptr"]],
401     "glVertex2i" => ["void",  ["long", "long"]],
402     "glVertex2iv" => ["void",  ["ptr"]],
403     "glVertex2s" => ["void",  ["long", "long"]],
404     "glVertex2sv" => ["void",  ["ptr"]],
405     "glVertex3d" => ["void",  ["double", "double", "double"]],
406     "glVertex3dv" => ["void",  ["ptr"]],
407     "glVertex3f" => ["void",  ["long", "long", "long"]],
408     "glVertex3fv" => ["void",  ["ptr"]],
409     "glVertex3i" => ["void",  ["long", "long", "long"]],
410     "glVertex3iv" => ["void",  ["ptr"]],
411     "glVertex3s" => ["void",  ["long", "long", "long"]],
412     "glVertex3sv" => ["void",  ["ptr"]],
413     "glVertex4d" => ["void",  ["double", "double", "double", "double"]],
414     "glVertex4dv" => ["void",  ["ptr"]],
415     "glVertex4f" => ["void",  ["long", "long", "long", "long"]],
416     "glVertex4fv" => ["void",  ["ptr"]],
417     "glVertex4i" => ["void",  ["long", "long", "long", "long"]],
418     "glVertex4iv" => ["void",  ["ptr"]],
419     "glVertex4s" => ["void",  ["long", "long", "long", "long"]],
420     "glVertex4sv" => ["void",  ["ptr"]],
421     "glVertexPointer" => ["void",  ["long", "long", "long", "ptr"]],
422     "glViewport" => ["void",  ["long", "long", "long", "long"]],
423     "wglCopyContext" => ["long",  ["long", "long", "long"]],
424     "wglCreateContext" => ["long",  ["long"]],
425     "wglCreateLayerContext" => ["long",  ["long", "long"]],
426     "wglDeleteContext" => ["long",  ["long"]],
427     "wglDescribeLayerPlane" => ["long",  ["long", "long", "long", "long", "ptr"]],
428     "wglGetCurrentContext" => ["long",  []],
429     "wglGetCurrentDC" => ["long",  []],
430     "wglGetLayerPaletteEntries" => ["long",  ["long", "long", "long", "long", "ptr"]],
431     "wglGetProcAddress" => ["ptr",  ["str"]],
432     "wglMakeCurrent" => ["long",  ["long", "long"]],
433     "wglRealizeLayerPalette" => ["long",  ["long", "long", "long"]],
434     "wglSetLayerPaletteEntries" => ["long",  ["long", "long", "long", "long", "ptr"]],
435     "wglShareLists" => ["long",  ["long", "long"]],
436     "wglSwapLayerBuffers" => ["long",  ["long", "long"]],
437     "wglUseFontBitmapsA" => ["long",  ["long", "long", "long", "long"]],
438     "wglUseFontOutlinesA" => ["long",  ["long", "long", "long", "long", "long", "long", "long", "ptr"]]
439 };
440
441 &wine::declare("opengl32",%$module_declarations);
442 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
443 1;