seed r771 - in trunk: . opengl-glib



Author: racarr
Date: Mon Jan 19 21:07:37 2009
New Revision: 771
URL: http://svn.gnome.org/viewvc/seed?rev=771&view=rev

Log:
Add opengl-glib girs in Seed (this will be split in to it's own magical
project later)

Added:
   trunk/opengl-glib/
   trunk/opengl-glib/GL-1.0.gir
   trunk/opengl-glib/GLTypes-1.0.gir
   trunk/opengl-glib/GLUT-1.0.gir
   trunk/opengl-glib/Makefile.am
Modified:
   trunk/Makefile.am
   trunk/configure.ac

Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am	(original)
+++ trunk/Makefile.am	Mon Jan 19 21:07:37 2009
@@ -7,7 +7,8 @@
 	doc \
 	modules \
 	tests \
-	examples
+	examples \
+	opengl-glib 
 
 seeddocdir = ${prefix}/share/doc/seed
 seeddoc_DATA = \

Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac	(original)
+++ trunk/configure.ac	Mon Jan 19 21:07:37 2009
@@ -254,6 +254,7 @@
 modules/canvas/Makefile
 modules/readline/Makefile
 modules/Multiprocessing/Makefile
+opengl-glib/Makefile
 ])
 
 echo "

Added: trunk/opengl-glib/GL-1.0.gir
==============================================================================
--- (empty file)
+++ trunk/opengl-glib/GL-1.0.gir	Mon Jan 19 21:07:37 2009
@@ -0,0 +1,7196 @@
+<?xml version="1.0"?>
+<repository version="1.0"
+            xmlns="http://www.gtk.org/introspection/core/1.0";
+            xmlns:c="http://www.gtk.org/introspection/c/1.0";
+            xmlns:glib="http://www.gtk.org/introspection/glib/1.0";>
+  <include name="GLTypes" version="1.0"/>
+  <namespace name="GL" version="1.0" shared-library="libGL.so.1">
+    <alias name="enum" target="uint" c:type="GLenum"/>
+    <alias name="clampd" target="double" c:type="GLclampd"/>
+    <alias name="clampf" target="float" c:type="GLclampf"/>
+    <alias name="byte" target="int8" c:type="GLbyte"/>
+    <alias name="bitfield" target="uint" c:type="GLbitfield"/>
+    <alias name="ubyte" target="uint8" c:type="GLubyte"/>
+    <alias name="sizei" target="int" c:type="GLsizei"/>
+    <function name="Accum" c:identifier="glAccum">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="op" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="value" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="AlphaFunc" c:identifier="glAlphaFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="func" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="ref" transfer-ownership="none">
+          <type name="GLTypes.clampf" c:type="GLclampf"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="AreTexturesResident"
+              c:identifier="glAreTexturesResident">
+      <return-value transfer-ownership="full">
+        <type name="GLTypes.boolean" c:type="GLboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="n" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="textures" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint*"/>
+        </parameter>
+        <parameter name="residences" transfer-ownership="none">
+          <type name="GLTypes.boolean" c:type="GLboolean*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ArrayElement" c:identifier="glArrayElement">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="i" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Begin" c:identifier="glBegin">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="BindTexture" c:identifier="glBindTexture">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="texture" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Bitmap" c:identifier="glBitmap">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="xorig" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="yorig" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="xmove" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="ymove" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="bitmap" transfer-ownership="none">
+          <type name="GLTypes.ubyte" c:type="GLubyte*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="BlendFunc" c:identifier="glBlendFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="sfactor" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="dfactor" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="CallList" c:identifier="glCallList">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="CallLists" c:identifier="glCallLists">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="n" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="lists" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Clear" c:identifier="glClear">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mask" transfer-ownership="none">
+          <type name="GLTypes.bitfield" c:type="GLbitfield"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ClearAccum" c:identifier="glClearAccum">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="alpha" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ClearColor" c:identifier="glClearColor">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.clampf" c:type="GLclampf"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.clampf" c:type="GLclampf"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.clampf" c:type="GLclampf"/>
+        </parameter>
+        <parameter name="alpha" transfer-ownership="none">
+          <type name="GLTypes.clampf" c:type="GLclampf"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ClearDepth" c:identifier="glClearDepth">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="depth" transfer-ownership="none">
+          <type name="GLTypes.clampd" c:type="GLclampd"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ClearIndex" c:identifier="glClearIndex">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="c" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ClearStencil" c:identifier="glClearStencil">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ClipPlane" c:identifier="glClipPlane">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="plane" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="equation" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3b" c:identifier="glColor3b">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.byte" c:type="GLbyte"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.byte" c:type="GLbyte"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.byte" c:type="GLbyte"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3bv" c:identifier="glColor3bv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLbyte*">
+            <type name="GLTypes.byte"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3d" c:identifier="glColor3d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3dv" c:identifier="glColor3dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3f" c:identifier="glColor3f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3fv" c:identifier="glColor3fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3i" c:identifier="glColor3i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3iv" c:identifier="glColor3iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3s" c:identifier="glColor3s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3sv" c:identifier="glColor3sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3ub" c:identifier="glColor3ub">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.ubyte" c:type="GLubyte"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.ubyte" c:type="GLubyte"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.ubyte" c:type="GLubyte"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3ubv" c:identifier="glColor3ubv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLubyte*">
+            <type name="GLTypes.ubyte"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3ui" c:identifier="glColor3ui">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3uiv" c:identifier="glColor3uiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLuint*">
+            <type name="GLTypes.uint"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3us" c:identifier="glColor3us">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.ushort" c:type="GLushort"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.ushort" c:type="GLushort"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.ushort" c:type="GLushort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color3usv" c:identifier="glColor3usv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLushort*">
+            <type name="GLTypes.ushort"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4b" c:identifier="glColor4b">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.byte" c:type="GLbyte"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.byte" c:type="GLbyte"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.byte" c:type="GLbyte"/>
+        </parameter>
+        <parameter name="alpha" transfer-ownership="none">
+          <type name="GLTypes.byte" c:type="GLbyte"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4bv" c:identifier="glColor4bv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLbyte*">
+            <type name="GLTypes.byte"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4d" c:identifier="glColor4d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="alpha" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4dv" c:identifier="glColor4dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4f" c:identifier="glColor4f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="alpha" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4fv" c:identifier="glColor4fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4i" c:identifier="glColor4i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="alpha" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4iv" c:identifier="glColor4iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4s" c:identifier="glColor4s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="alpha" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4sv" c:identifier="glColor4sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4ub" c:identifier="glColor4ub">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.ubyte" c:type="GLubyte"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.ubyte" c:type="GLubyte"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.ubyte" c:type="GLubyte"/>
+        </parameter>
+        <parameter name="alpha" transfer-ownership="none">
+          <type name="GLTypes.ubyte" c:type="GLubyte"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4ubv" c:identifier="glColor4ubv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLubyte*">
+            <type name="GLTypes.ubyte"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4ui" c:identifier="glColor4ui">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+        <parameter name="alpha" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4uiv" c:identifier="glColor4uiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLuint*">
+            <type name="GLTypes.uint"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4us" c:identifier="glColor4us">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.ushort" c:type="GLushort"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.ushort" c:type="GLushort"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.ushort" c:type="GLushort"/>
+        </parameter>
+        <parameter name="alpha" transfer-ownership="none">
+          <type name="GLTypes.ushort" c:type="GLushort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Color4usv" c:identifier="glColor4usv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLushort*">
+            <type name="GLTypes.ushort"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ColorMask" c:identifier="glColorMask">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.boolean" c:type="GLboolean"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.boolean" c:type="GLboolean"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.boolean" c:type="GLboolean"/>
+        </parameter>
+        <parameter name="alpha" transfer-ownership="none">
+          <type name="GLTypes.boolean" c:type="GLboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ColorMaterial" c:identifier="glColorMaterial">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="face" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ColorPointer" c:identifier="glColorPointer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="stride" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="pointer" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="CopyPixels" c:identifier="glCopyPixels">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="CopyTexImage1D" c:identifier="glCopyTexImage1D">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="level" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="internalFormat" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="border" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="CopyTexImage2D" c:identifier="glCopyTexImage2D">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="level" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="internalFormat" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="border" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="CopyTexSubImage1D" c:identifier="glCopyTexSubImage1D">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="level" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="xoffset" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="CopyTexSubImage2D" c:identifier="glCopyTexSubImage2D">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="level" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="xoffset" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="yoffset" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="CullFace" c:identifier="glCullFace">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DeleteLists" c:identifier="glDeleteLists">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+        <parameter name="range" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DeleteTextures" c:identifier="glDeleteTextures">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="n" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="textures" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DepthFunc" c:identifier="glDepthFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="func" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DepthMask" c:identifier="glDepthMask">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="flag" transfer-ownership="none">
+          <type name="GLTypes.boolean" c:type="GLboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DepthRange" c:identifier="glDepthRange">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="zNear" transfer-ownership="none">
+          <type name="GLTypes.clampd" c:type="GLclampd"/>
+        </parameter>
+        <parameter name="zFar" transfer-ownership="none">
+          <type name="GLTypes.clampd" c:type="GLclampd"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Disable" c:identifier="glDisable">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cap" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DisableClientState" c:identifier="glDisableClientState">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DrawArrays" c:identifier="glDrawArrays">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="first" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="count" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DrawBuffer" c:identifier="glDrawBuffer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DrawElements" c:identifier="glDrawElements">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="count" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="indices" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DrawPixels" c:identifier="glDrawPixels">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="format" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pixels" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EdgeFlag" c:identifier="glEdgeFlag">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="flag" transfer-ownership="none">
+          <type name="GLTypes.boolean" c:type="GLboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EdgeFlagPointer" c:identifier="glEdgeFlagPointer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="stride" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="pointer" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EdgeFlagv" c:identifier="glEdgeFlagv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="flag" transfer-ownership="none">
+          <array c:type="GLboolean*">
+            <type name="GLTypes.boolean"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Enable" c:identifier="glEnable">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cap" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EnableClientState" c:identifier="glEnableClientState">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="End" c:identifier="glEnd">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="EndList" c:identifier="glEndList">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="EvalCoord1d" c:identifier="glEvalCoord1d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="u" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EvalCoord1dv" c:identifier="glEvalCoord1dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="u" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EvalCoord1f" c:identifier="glEvalCoord1f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="u" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EvalCoord1fv" c:identifier="glEvalCoord1fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="u" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EvalCoord2d" c:identifier="glEvalCoord2d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="u" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="v" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EvalCoord2dv" c:identifier="glEvalCoord2dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="u" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EvalCoord2f" c:identifier="glEvalCoord2f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="u" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="v" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EvalCoord2fv" c:identifier="glEvalCoord2fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="u" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EvalMesh1" c:identifier="glEvalMesh1">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="i1" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="i2" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EvalMesh2" c:identifier="glEvalMesh2">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="i1" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="i2" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="j1" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="j2" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EvalPoint1" c:identifier="glEvalPoint1">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="i" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EvalPoint2" c:identifier="glEvalPoint2">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="i" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="j" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="FeedbackBuffer" c:identifier="glFeedbackBuffer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="buffer" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Finish" c:identifier="glFinish">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="Flush" c:identifier="glFlush">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="Fogf" c:identifier="glFogf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Fogfv" c:identifier="glFogfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Fogi" c:identifier="glFogi">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Fogiv" c:identifier="glFogiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="FrontFace" c:identifier="glFrontFace">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Frustum" c:identifier="glFrustum">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="left" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="right" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="bottom" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="top" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="zNear" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="zFar" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GenLists" c:identifier="glGenLists">
+      <return-value transfer-ownership="full">
+        <type name="GLTypes.uint" c:type="GLuint"/>
+      </return-value>
+      <parameters>
+        <parameter name="range" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GenTextures" c:identifier="glGenTextures">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="n" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="textures" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetBooleanv" c:identifier="glGetBooleanv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLboolean*">
+            <type name="GLTypes.boolean"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetClipPlane" c:identifier="glGetClipPlane">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="plane" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="equation" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetDoublev" c:identifier="glGetDoublev">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetError" c:identifier="glGetError">
+      <return-value transfer-ownership="full">
+        <type name="GLTypes.enum" c:type="GLenum"/>
+      </return-value>
+    </function>
+    <function name="GetFloatv" c:identifier="glGetFloatv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetIntegerv" c:identifier="glGetIntegerv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetLightfv" c:identifier="glGetLightfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="light" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetLightiv" c:identifier="glGetLightiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="light" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetMapdv" c:identifier="glGetMapdv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="query" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetMapfv" c:identifier="glGetMapfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="query" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetMapiv" c:identifier="glGetMapiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="query" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetMaterialfv" c:identifier="glGetMaterialfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="face" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetMaterialiv" c:identifier="glGetMaterialiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="face" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetPixelMapfv" c:identifier="glGetPixelMapfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="map" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="values" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetPixelMapuiv" c:identifier="glGetPixelMapuiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="map" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="values" transfer-ownership="none">
+          <array c:type="GLuint*">
+            <type name="GLTypes.uint"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetPixelMapusv" c:identifier="glGetPixelMapusv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="map" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="values" transfer-ownership="none">
+          <array c:type="GLushort*">
+            <type name="GLTypes.ushort"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetPointerv" c:identifier="glGetPointerv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLvoid**">
+            <type name="GLTypes.void"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetPolygonStipple" c:identifier="glGetPolygonStipple">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mask" transfer-ownership="none">
+          <type name="GLTypes.ubyte" c:type="GLubyte*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetString" c:identifier="glGetString">
+      <return-value transfer-ownership="none">
+        <type name="GLTypes.ubyte" c:type="GLubyte*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetTexEnvfv" c:identifier="glGetTexEnvfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetTexEnviv" c:identifier="glGetTexEnviv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetTexGendv" c:identifier="glGetTexGendv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="coord" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetTexGenfv" c:identifier="glGetTexGenfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="coord" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetTexGeniv" c:identifier="glGetTexGeniv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="coord" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetTexImage" c:identifier="glGetTexImage">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="level" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="format" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pixels" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetTexLevelParameterfv"
+              c:identifier="glGetTexLevelParameterfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="level" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetTexLevelParameteriv"
+              c:identifier="glGetTexLevelParameteriv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="level" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetTexParameterfv" c:identifier="glGetTexParameterfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetTexParameteriv" c:identifier="glGetTexParameteriv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Hint" c:identifier="glHint">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="IndexMask" c:identifier="glIndexMask">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mask" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="IndexPointer" c:identifier="glIndexPointer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="stride" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="pointer" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Indexd" c:identifier="glIndexd">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="c" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Indexdv" c:identifier="glIndexdv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="c" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Indexf" c:identifier="glIndexf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="c" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Indexfv" c:identifier="glIndexfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="c" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Indexi" c:identifier="glIndexi">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="c" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Indexiv" c:identifier="glIndexiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="c" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Indexs" c:identifier="glIndexs">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="c" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Indexsv" c:identifier="glIndexsv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="c" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Indexub" c:identifier="glIndexub">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="c" transfer-ownership="none">
+          <type name="GLTypes.ubyte" c:type="GLubyte"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Indexubv" c:identifier="glIndexubv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="c" transfer-ownership="none">
+          <array c:type="GLubyte*">
+            <type name="GLTypes.ubyte"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="InitNames" c:identifier="glInitNames">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="InterleavedArrays" c:identifier="glInterleavedArrays">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="format" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="stride" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="pointer" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="IsEnabled" c:identifier="glIsEnabled">
+      <return-value transfer-ownership="full">
+        <type name="GLTypes.boolean" c:type="GLboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="cap" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="IsList" c:identifier="glIsList">
+      <return-value transfer-ownership="full">
+        <type name="GLTypes.boolean" c:type="GLboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="IsTexture" c:identifier="glIsTexture">
+      <return-value transfer-ownership="full">
+        <type name="GLTypes.boolean" c:type="GLboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="texture" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="LightModelf" c:identifier="glLightModelf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="LightModelfv" c:identifier="glLightModelfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="LightModeli" c:identifier="glLightModeli">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="LightModeliv" c:identifier="glLightModeliv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Lightf" c:identifier="glLightf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="light" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Lightfv" c:identifier="glLightfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="light" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Lighti" c:identifier="glLighti">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="light" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Lightiv" c:identifier="glLightiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="light" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="LineStipple" c:identifier="glLineStipple">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="factor" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="pattern" transfer-ownership="none">
+          <type name="GLTypes.ushort" c:type="GLushort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="LineWidth" c:identifier="glLineWidth">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ListBase" c:identifier="glListBase">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="base" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="LoadIdentity" c:identifier="glLoadIdentity">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="LoadMatrixd" c:identifier="glLoadMatrixd">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="m" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="LoadMatrixf" c:identifier="glLoadMatrixf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="m" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="LoadName" c:identifier="glLoadName">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="name" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="LogicOp" c:identifier="glLogicOp">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="opcode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Map1d" c:identifier="glMap1d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="u1" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="u2" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="stride" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="order" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="points" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Map1f" c:identifier="glMap1f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="u1" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="u2" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="stride" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="order" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="points" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Map2d" c:identifier="glMap2d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="u1" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="u2" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="ustride" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="uorder" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="v1" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="v2" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="vstride" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="vorder" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="points" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Map2f" c:identifier="glMap2f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="u1" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="u2" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="ustride" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="uorder" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="v1" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="v2" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="vstride" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="vorder" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="points" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="MapGrid1d" c:identifier="glMapGrid1d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="un" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="u1" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="u2" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="MapGrid1f" c:identifier="glMapGrid1f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="un" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="u1" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="u2" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="MapGrid2d" c:identifier="glMapGrid2d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="un" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="u1" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="u2" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="vn" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="v1" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="v2" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="MapGrid2f" c:identifier="glMapGrid2f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="un" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="u1" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="u2" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="vn" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="v1" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="v2" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Materialf" c:identifier="glMaterialf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="face" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Materialfv" c:identifier="glMaterialfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="face" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Materiali" c:identifier="glMateriali">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="face" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Materialiv" c:identifier="glMaterialiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="face" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="MatrixMode" c:identifier="glMatrixMode">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="MultMatrixd" c:identifier="glMultMatrixd">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="m" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="MultMatrixf" c:identifier="glMultMatrixf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="m" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="NewList" c:identifier="glNewList">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Normal3b" c:identifier="glNormal3b">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="nx" transfer-ownership="none">
+          <type name="GLTypes.byte" c:type="GLbyte"/>
+        </parameter>
+        <parameter name="ny" transfer-ownership="none">
+          <type name="GLTypes.byte" c:type="GLbyte"/>
+        </parameter>
+        <parameter name="nz" transfer-ownership="none">
+          <type name="GLTypes.byte" c:type="GLbyte"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Normal3bv" c:identifier="glNormal3bv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLbyte*">
+            <type name="GLTypes.byte"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Normal3d" c:identifier="glNormal3d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="nx" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="ny" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="nz" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Normal3dv" c:identifier="glNormal3dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Normal3f" c:identifier="glNormal3f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="nx" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="ny" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="nz" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Normal3fv" c:identifier="glNormal3fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Normal3i" c:identifier="glNormal3i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="nx" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="ny" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="nz" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Normal3iv" c:identifier="glNormal3iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Normal3s" c:identifier="glNormal3s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="nx" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="ny" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="nz" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Normal3sv" c:identifier="glNormal3sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="NormalPointer" c:identifier="glNormalPointer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="stride" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="pointer" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Ortho" c:identifier="glOrtho">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="left" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="right" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="bottom" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="top" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="zNear" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="zFar" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PassThrough" c:identifier="glPassThrough">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="token" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PixelMapfv" c:identifier="glPixelMapfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="map" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="mapsize" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="values" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PixelMapuiv" c:identifier="glPixelMapuiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="map" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="mapsize" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="values" transfer-ownership="none">
+          <array c:type="GLuint*">
+            <type name="GLTypes.uint"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PixelMapusv" c:identifier="glPixelMapusv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="map" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="mapsize" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="values" transfer-ownership="none">
+          <array c:type="GLushort*">
+            <type name="GLTypes.ushort"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PixelStoref" c:identifier="glPixelStoref">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PixelStorei" c:identifier="glPixelStorei">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PixelTransferf" c:identifier="glPixelTransferf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PixelTransferi" c:identifier="glPixelTransferi">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PixelZoom" c:identifier="glPixelZoom">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="xfactor" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="yfactor" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PointSize" c:identifier="glPointSize">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PolygonMode" c:identifier="glPolygonMode">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="face" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PolygonOffset" c:identifier="glPolygonOffset">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="factor" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="units" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PolygonStipple" c:identifier="glPolygonStipple">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mask" transfer-ownership="none">
+          <type name="GLTypes.ubyte" c:type="GLubyte*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PopAttrib" c:identifier="glPopAttrib">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="PopClientAttrib" c:identifier="glPopClientAttrib">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="PopMatrix" c:identifier="glPopMatrix">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="PopName" c:identifier="glPopName">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="PrioritizeTextures" c:identifier="glPrioritizeTextures">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="n" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="textures" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint*"/>
+        </parameter>
+        <parameter name="priorities" transfer-ownership="none">
+          <type name="GLTypes.clampf" c:type="GLclampf*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PushAttrib" c:identifier="glPushAttrib">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mask" transfer-ownership="none">
+          <type name="GLTypes.bitfield" c:type="GLbitfield"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PushClientAttrib" c:identifier="glPushClientAttrib">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mask" transfer-ownership="none">
+          <type name="GLTypes.bitfield" c:type="GLbitfield"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PushMatrix" c:identifier="glPushMatrix">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="PushName" c:identifier="glPushName">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="name" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos2d" c:identifier="glRasterPos2d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos2dv" c:identifier="glRasterPos2dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos2f" c:identifier="glRasterPos2f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos2fv" c:identifier="glRasterPos2fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos2i" c:identifier="glRasterPos2i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos2iv" c:identifier="glRasterPos2iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos2s" c:identifier="glRasterPos2s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos2sv" c:identifier="glRasterPos2sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos3d" c:identifier="glRasterPos3d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos3dv" c:identifier="glRasterPos3dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos3f" c:identifier="glRasterPos3f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos3fv" c:identifier="glRasterPos3fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos3i" c:identifier="glRasterPos3i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos3iv" c:identifier="glRasterPos3iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos3s" c:identifier="glRasterPos3s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos3sv" c:identifier="glRasterPos3sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos4d" c:identifier="glRasterPos4d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="w" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos4dv" c:identifier="glRasterPos4dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos4f" c:identifier="glRasterPos4f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="w" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos4fv" c:identifier="glRasterPos4fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos4i" c:identifier="glRasterPos4i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="w" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos4iv" c:identifier="glRasterPos4iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos4s" c:identifier="glRasterPos4s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="w" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RasterPos4sv" c:identifier="glRasterPos4sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ReadBuffer" c:identifier="glReadBuffer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ReadPixels" c:identifier="glReadPixels">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="format" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pixels" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Rectd" c:identifier="glRectd">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x1" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="y1" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="x2" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="y2" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Rectdv" c:identifier="glRectdv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v1" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble*"/>
+        </parameter>
+        <parameter name="v2" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Rectf" c:identifier="glRectf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x1" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="y1" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="x2" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="y2" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Rectfv" c:identifier="glRectfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v1" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat*"/>
+        </parameter>
+        <parameter name="v2" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Recti" c:identifier="glRecti">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x1" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y1" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="x2" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y2" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Rectiv" c:identifier="glRectiv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v1" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint*"/>
+        </parameter>
+        <parameter name="v2" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Rects" c:identifier="glRects">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x1" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="y1" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="x2" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="y2" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Rectsv" c:identifier="glRectsv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v1" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort*"/>
+        </parameter>
+        <parameter name="v2" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RenderMode" c:identifier="glRenderMode">
+      <return-value transfer-ownership="full">
+        <type name="GLTypes.int" c:type="GLint"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Rotated" c:identifier="glRotated">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="angle" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Rotatef" c:identifier="glRotatef">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="angle" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Scaled" c:identifier="glScaled">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Scalef" c:identifier="glScalef">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Scissor" c:identifier="glScissor">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="SelectBuffer" c:identifier="glSelectBuffer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="buffer" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ShadeModel" c:identifier="glShadeModel">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mode" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="StencilFunc" c:identifier="glStencilFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="func" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="ref" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="mask" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="StencilMask" c:identifier="glStencilMask">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mask" transfer-ownership="none">
+          <type name="GLTypes.uint" c:type="GLuint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="StencilOp" c:identifier="glStencilOp">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="fail" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="zfail" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="zpass" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord1d" c:identifier="glTexCoord1d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord1dv" c:identifier="glTexCoord1dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord1f" c:identifier="glTexCoord1f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord1fv" c:identifier="glTexCoord1fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord1i" c:identifier="glTexCoord1i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord1iv" c:identifier="glTexCoord1iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord1s" c:identifier="glTexCoord1s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord1sv" c:identifier="glTexCoord1sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord2d" c:identifier="glTexCoord2d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord2dv" c:identifier="glTexCoord2dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord2f" c:identifier="glTexCoord2f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord2fv" c:identifier="glTexCoord2fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord2i" c:identifier="glTexCoord2i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord2iv" c:identifier="glTexCoord2iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord2s" c:identifier="glTexCoord2s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord2sv" c:identifier="glTexCoord2sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord3d" c:identifier="glTexCoord3d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="r" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord3dv" c:identifier="glTexCoord3dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord3f" c:identifier="glTexCoord3f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="r" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord3fv" c:identifier="glTexCoord3fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord3i" c:identifier="glTexCoord3i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="r" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord3iv" c:identifier="glTexCoord3iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord3s" c:identifier="glTexCoord3s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="r" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord3sv" c:identifier="glTexCoord3sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord4d" c:identifier="glTexCoord4d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="r" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="q" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord4dv" c:identifier="glTexCoord4dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord4f" c:identifier="glTexCoord4f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="r" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="q" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord4fv" c:identifier="glTexCoord4fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord4i" c:identifier="glTexCoord4i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="r" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="q" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord4iv" c:identifier="glTexCoord4iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord4s" c:identifier="glTexCoord4s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="s" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="t" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="r" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="q" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoord4sv" c:identifier="glTexCoord4sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexCoordPointer" c:identifier="glTexCoordPointer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="stride" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="pointer" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexEnvf" c:identifier="glTexEnvf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexEnvfv" c:identifier="glTexEnvfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexEnvi" c:identifier="glTexEnvi">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexEnviv" c:identifier="glTexEnviv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexGend" c:identifier="glTexGend">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="coord" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexGendv" c:identifier="glTexGendv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="coord" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexGenf" c:identifier="glTexGenf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="coord" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexGenfv" c:identifier="glTexGenfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="coord" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexGeni" c:identifier="glTexGeni">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="coord" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexGeniv" c:identifier="glTexGeniv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="coord" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexImage1D" c:identifier="glTexImage1D">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="level" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="internalformat" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="border" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="format" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pixels" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexImage2D" c:identifier="glTexImage2D">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="level" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="internalformat" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="border" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="format" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pixels" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexParameterf" c:identifier="glTexParameterf">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexParameterfv" c:identifier="glTexParameterfv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexParameteri" c:identifier="glTexParameteri">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="param" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexParameteriv" c:identifier="glTexParameteriv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pname" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="params" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexSubImage1D" c:identifier="glTexSubImage1D">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="level" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="xoffset" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="format" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pixels" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="TexSubImage2D" c:identifier="glTexSubImage2D">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="target" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="level" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="xoffset" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="yoffset" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="format" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="pixels" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Translated" c:identifier="glTranslated">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Translatef" c:identifier="glTranslatef">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex2d" c:identifier="glVertex2d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex2dv" c:identifier="glVertex2dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex2f" c:identifier="glVertex2f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex2fv" c:identifier="glVertex2fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex2i" c:identifier="glVertex2i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex2iv" c:identifier="glVertex2iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex2s" c:identifier="glVertex2s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex2sv" c:identifier="glVertex2sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex3d" c:identifier="glVertex3d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex3dv" c:identifier="glVertex3dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex3f" c:identifier="glVertex3f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex3fv" c:identifier="glVertex3fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex3i" c:identifier="glVertex3i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex3iv" c:identifier="glVertex3iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex3s" c:identifier="glVertex3s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex3sv" c:identifier="glVertex3sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex4d" c:identifier="glVertex4d">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="w" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex4dv" c:identifier="glVertex4dv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLdouble*">
+            <type name="GLTypes.double"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex4f" c:identifier="glVertex4f">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="w" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex4fv" c:identifier="glVertex4fv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLfloat*">
+            <type name="GLTypes.float"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex4i" c:identifier="glVertex4i">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="w" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex4iv" c:identifier="glVertex4iv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLint*">
+            <type name="GLTypes.int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex4s" c:identifier="glVertex4s">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="z" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+        <parameter name="w" transfer-ownership="none">
+          <type name="GLTypes.short" c:type="GLshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Vertex4sv" c:identifier="glVertex4sv">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="v" transfer-ownership="none">
+          <array c:type="GLshort*">
+            <type name="GLTypes.short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="VertexPointer" c:identifier="glVertexPointer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="type" transfer-ownership="none">
+          <type name="GLTypes.enum" c:type="GLenum"/>
+        </parameter>
+        <parameter name="stride" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="pointer" transfer-ownership="none">
+          <type name="GLTypes.void" c:type="GLvoid*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Viewport" c:identifier="glViewport">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.sizei" c:type="GLsizei"/>
+        </parameter>
+      </parameters>
+    </function>
+    <constant name="VERSION_1_1" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_BIT" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="POINT_BIT" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE_BIT" value="4">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_BIT" value="8">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_STIPPLE_BIT" value="16">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MODE_BIT" value="32">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHTING_BIT" value="64">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_BIT" value="128">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_BUFFER_BIT" value="256">
+      <type name="int"/>
+    </constant>
+    <constant name="ACCUM_BUFFER_BIT" value="512">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_BUFFER_BIT" value="1024">
+      <type name="int"/>
+    </constant>
+    <constant name="VIEWPORT_BIT" value="2048">
+      <type name="int"/>
+    </constant>
+    <constant name="TRANSFORM_BIT" value="4096">
+      <type name="int"/>
+    </constant>
+    <constant name="ENABLE_BIT" value="8192">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_BUFFER_BIT" value="16384">
+      <type name="int"/>
+    </constant>
+    <constant name="HINT_BIT" value="32768">
+      <type name="int"/>
+    </constant>
+    <constant name="EVAL_BIT" value="65536">
+      <type name="int"/>
+    </constant>
+    <constant name="LIST_BIT" value="131072">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_BIT" value="262144">
+      <type name="int"/>
+    </constant>
+    <constant name="SCISSOR_BIT" value="524288">
+      <type name="int"/>
+    </constant>
+    <constant name="ALL_ATTRIB_BITS" value="2147483647">
+      <type name="int"/>
+    </constant>
+    <constant name="CLIENT_PIXEL_STORE_BIT" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="CLIENT_VERTEX_ARRAY_BIT" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="CLIENT_ALL_ATTRIB_BITS" value="2147483647">
+      <type name="int"/>
+    </constant>
+    <constant name="FALSE" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="TRUE" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="POINTS" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="LINES" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE_LOOP" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE_STRIP" value="3">
+      <type name="int"/>
+    </constant>
+    <constant name="TRIANGLES" value="4">
+      <type name="int"/>
+    </constant>
+    <constant name="TRIANGLE_STRIP" value="5">
+      <type name="int"/>
+    </constant>
+    <constant name="TRIANGLE_FAN" value="6">
+      <type name="int"/>
+    </constant>
+    <constant name="QUADS" value="7">
+      <type name="int"/>
+    </constant>
+    <constant name="QUAD_STRIP" value="8">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON" value="9">
+      <type name="int"/>
+    </constant>
+    <constant name="ACCUM" value="256">
+      <type name="int"/>
+    </constant>
+    <constant name="LOAD" value="257">
+      <type name="int"/>
+    </constant>
+    <constant name="RETURN" value="258">
+      <type name="int"/>
+    </constant>
+    <constant name="MULT" value="259">
+      <type name="int"/>
+    </constant>
+    <constant name="ADD" value="260">
+      <type name="int"/>
+    </constant>
+    <constant name="NEVER" value="512">
+      <type name="int"/>
+    </constant>
+    <constant name="LESS" value="513">
+      <type name="int"/>
+    </constant>
+    <constant name="EQUAL" value="514">
+      <type name="int"/>
+    </constant>
+    <constant name="LEQUAL" value="515">
+      <type name="int"/>
+    </constant>
+    <constant name="GREATER" value="516">
+      <type name="int"/>
+    </constant>
+    <constant name="NOTEQUAL" value="517">
+      <type name="int"/>
+    </constant>
+    <constant name="GEQUAL" value="518">
+      <type name="int"/>
+    </constant>
+    <constant name="ALWAYS" value="519">
+      <type name="int"/>
+    </constant>
+    <constant name="ZERO" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="ONE" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="SRC_COLOR" value="768">
+      <type name="int"/>
+    </constant>
+    <constant name="ONE_MINUS_SRC_COLOR" value="769">
+      <type name="int"/>
+    </constant>
+    <constant name="SRC_ALPHA" value="770">
+      <type name="int"/>
+    </constant>
+    <constant name="ONE_MINUS_SRC_ALPHA" value="771">
+      <type name="int"/>
+    </constant>
+    <constant name="DST_ALPHA" value="772">
+      <type name="int"/>
+    </constant>
+    <constant name="ONE_MINUS_DST_ALPHA" value="773">
+      <type name="int"/>
+    </constant>
+    <constant name="DST_COLOR" value="774">
+      <type name="int"/>
+    </constant>
+    <constant name="ONE_MINUS_DST_COLOR" value="775">
+      <type name="int"/>
+    </constant>
+    <constant name="SRC_ALPHA_SATURATE" value="776">
+      <type name="int"/>
+    </constant>
+    <constant name="NONE" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="FRONT_LEFT" value="1024">
+      <type name="int"/>
+    </constant>
+    <constant name="FRONT_RIGHT" value="1025">
+      <type name="int"/>
+    </constant>
+    <constant name="BACK_LEFT" value="1026">
+      <type name="int"/>
+    </constant>
+    <constant name="BACK_RIGHT" value="1027">
+      <type name="int"/>
+    </constant>
+    <constant name="FRONT" value="1028">
+      <type name="int"/>
+    </constant>
+    <constant name="BACK" value="1029">
+      <type name="int"/>
+    </constant>
+    <constant name="LEFT" value="1030">
+      <type name="int"/>
+    </constant>
+    <constant name="RIGHT" value="1031">
+      <type name="int"/>
+    </constant>
+    <constant name="FRONT_AND_BACK" value="1032">
+      <type name="int"/>
+    </constant>
+    <constant name="AUX0" value="1033">
+      <type name="int"/>
+    </constant>
+    <constant name="AUX1" value="1034">
+      <type name="int"/>
+    </constant>
+    <constant name="AUX2" value="1035">
+      <type name="int"/>
+    </constant>
+    <constant name="AUX3" value="1036">
+      <type name="int"/>
+    </constant>
+    <constant name="NO_ERROR" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="INVALID_ENUM" value="1280">
+      <type name="int"/>
+    </constant>
+    <constant name="INVALID_VALUE" value="1281">
+      <type name="int"/>
+    </constant>
+    <constant name="INVALID_OPERATION" value="1282">
+      <type name="int"/>
+    </constant>
+    <constant name="STACK_OVERFLOW" value="1283">
+      <type name="int"/>
+    </constant>
+    <constant name="STACK_UNDERFLOW" value="1284">
+      <type name="int"/>
+    </constant>
+    <constant name="OUT_OF_MEMORY" value="1285">
+      <type name="int"/>
+    </constant>
+    <constant name="TABLE_TOO_LARGE" value="32817">
+      <type name="int"/>
+    </constant>
+    <constant name="2D" value="1536">
+      <type name="int"/>
+    </constant>
+    <constant name="3D" value="1537">
+      <type name="int"/>
+    </constant>
+    <constant name="3D_COLOR" value="1538">
+      <type name="int"/>
+    </constant>
+    <constant name="3D_COLOR_TEXTURE" value="1539">
+      <type name="int"/>
+    </constant>
+    <constant name="4D_COLOR_TEXTURE" value="1540">
+      <type name="int"/>
+    </constant>
+    <constant name="PASS_THROUGH_TOKEN" value="1792">
+      <type name="int"/>
+    </constant>
+    <constant name="POINT_TOKEN" value="1793">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE_TOKEN" value="1794">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_TOKEN" value="1795">
+      <type name="int"/>
+    </constant>
+    <constant name="BITMAP_TOKEN" value="1796">
+      <type name="int"/>
+    </constant>
+    <constant name="DRAW_PIXEL_TOKEN" value="1797">
+      <type name="int"/>
+    </constant>
+    <constant name="COPY_PIXEL_TOKEN" value="1798">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE_RESET_TOKEN" value="1799">
+      <type name="int"/>
+    </constant>
+    <constant name="EXP" value="2048">
+      <type name="int"/>
+    </constant>
+    <constant name="EXP2" value="2049">
+      <type name="int"/>
+    </constant>
+    <constant name="CW" value="2304">
+      <type name="int"/>
+    </constant>
+    <constant name="CCW" value="2305">
+      <type name="int"/>
+    </constant>
+    <constant name="COEFF" value="2560">
+      <type name="int"/>
+    </constant>
+    <constant name="ORDER" value="2561">
+      <type name="int"/>
+    </constant>
+    <constant name="DOMAIN" value="2562">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_I_TO_I" value="3184">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_S_TO_S" value="3185">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_I_TO_R" value="3186">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_I_TO_G" value="3187">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_I_TO_B" value="3188">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_I_TO_A" value="3189">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_R_TO_R" value="3190">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_G_TO_G" value="3191">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_B_TO_B" value="3192">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_A_TO_A" value="3193">
+      <type name="int"/>
+    </constant>
+    <constant name="VERTEX_ARRAY_POINTER" value="32910">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL_ARRAY_POINTER" value="32911">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_ARRAY_POINTER" value="32912">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_ARRAY_POINTER" value="32913">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COORD_ARRAY_POINTER" value="32914">
+      <type name="int"/>
+    </constant>
+    <constant name="EDGE_FLAG_ARRAY_POINTER" value="32915">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_COLOR" value="2816">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_INDEX" value="2817">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_NORMAL" value="2818">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_TEXTURE_COORDS" value="2819">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_RASTER_COLOR" value="2820">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_RASTER_INDEX" value="2821">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_RASTER_TEXTURE_COORDS" value="2822">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_RASTER_POSITION" value="2823">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_RASTER_POSITION_VALID" value="2824">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_RASTER_DISTANCE" value="2825">
+      <type name="int"/>
+    </constant>
+    <constant name="POINT_SMOOTH" value="2832">
+      <type name="int"/>
+    </constant>
+    <constant name="POINT_SIZE" value="2833">
+      <type name="int"/>
+    </constant>
+    <constant name="SMOOTH_POINT_SIZE_RANGE" value="2834">
+      <type name="int"/>
+    </constant>
+    <constant name="SMOOTH_POINT_SIZE_GRANULARITY" value="2835">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE_SMOOTH" value="2848">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE_WIDTH" value="2849">
+      <type name="int"/>
+    </constant>
+    <constant name="SMOOTH_LINE_WIDTH_RANGE" value="2850">
+      <type name="int"/>
+    </constant>
+    <constant name="SMOOTH_LINE_WIDTH_GRANULARITY" value="2851">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE_STIPPLE" value="2852">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE_STIPPLE_PATTERN" value="2853">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE_STIPPLE_REPEAT" value="2854">
+      <type name="int"/>
+    </constant>
+    <constant name="LIST_MODE" value="2864">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_LIST_NESTING" value="2865">
+      <type name="int"/>
+    </constant>
+    <constant name="LIST_BASE" value="2866">
+      <type name="int"/>
+    </constant>
+    <constant name="LIST_INDEX" value="2867">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_MODE" value="2880">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_SMOOTH" value="2881">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_STIPPLE" value="2882">
+      <type name="int"/>
+    </constant>
+    <constant name="EDGE_FLAG" value="2883">
+      <type name="int"/>
+    </constant>
+    <constant name="CULL_FACE" value="2884">
+      <type name="int"/>
+    </constant>
+    <constant name="CULL_FACE_MODE" value="2885">
+      <type name="int"/>
+    </constant>
+    <constant name="FRONT_FACE" value="2886">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHTING" value="2896">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT_MODEL_LOCAL_VIEWER" value="2897">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT_MODEL_TWO_SIDE" value="2898">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT_MODEL_AMBIENT" value="2899">
+      <type name="int"/>
+    </constant>
+    <constant name="SHADE_MODEL" value="2900">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_MATERIAL_FACE" value="2901">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_MATERIAL_PARAMETER" value="2902">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_MATERIAL" value="2903">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG" value="2912">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_INDEX" value="2913">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_DENSITY" value="2914">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_START" value="2915">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_END" value="2916">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_MODE" value="2917">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_COLOR" value="2918">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_RANGE" value="2928">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_TEST" value="2929">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_WRITEMASK" value="2930">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_CLEAR_VALUE" value="2931">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_FUNC" value="2932">
+      <type name="int"/>
+    </constant>
+    <constant name="ACCUM_CLEAR_VALUE" value="2944">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_TEST" value="2960">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_CLEAR_VALUE" value="2961">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_FUNC" value="2962">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_VALUE_MASK" value="2963">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_FAIL" value="2964">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_PASS_DEPTH_FAIL" value="2965">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_PASS_DEPTH_PASS" value="2966">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_REF" value="2967">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_WRITEMASK" value="2968">
+      <type name="int"/>
+    </constant>
+    <constant name="MATRIX_MODE" value="2976">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMALIZE" value="2977">
+      <type name="int"/>
+    </constant>
+    <constant name="VIEWPORT" value="2978">
+      <type name="int"/>
+    </constant>
+    <constant name="MODELVIEW_STACK_DEPTH" value="2979">
+      <type name="int"/>
+    </constant>
+    <constant name="PROJECTION_STACK_DEPTH" value="2980">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_STACK_DEPTH" value="2981">
+      <type name="int"/>
+    </constant>
+    <constant name="MODELVIEW_MATRIX" value="2982">
+      <type name="int"/>
+    </constant>
+    <constant name="PROJECTION_MATRIX" value="2983">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_MATRIX" value="2984">
+      <type name="int"/>
+    </constant>
+    <constant name="ATTRIB_STACK_DEPTH" value="2992">
+      <type name="int"/>
+    </constant>
+    <constant name="CLIENT_ATTRIB_STACK_DEPTH" value="2993">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA_TEST" value="3008">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA_TEST_FUNC" value="3009">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA_TEST_REF" value="3010">
+      <type name="int"/>
+    </constant>
+    <constant name="DITHER" value="3024">
+      <type name="int"/>
+    </constant>
+    <constant name="BLEND_DST" value="3040">
+      <type name="int"/>
+    </constant>
+    <constant name="BLEND_SRC" value="3041">
+      <type name="int"/>
+    </constant>
+    <constant name="BLEND" value="3042">
+      <type name="int"/>
+    </constant>
+    <constant name="LOGIC_OP_MODE" value="3056">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_LOGIC_OP" value="3057">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_LOGIC_OP" value="3058">
+      <type name="int"/>
+    </constant>
+    <constant name="AUX_BUFFERS" value="3072">
+      <type name="int"/>
+    </constant>
+    <constant name="DRAW_BUFFER" value="3073">
+      <type name="int"/>
+    </constant>
+    <constant name="READ_BUFFER" value="3074">
+      <type name="int"/>
+    </constant>
+    <constant name="SCISSOR_BOX" value="3088">
+      <type name="int"/>
+    </constant>
+    <constant name="SCISSOR_TEST" value="3089">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_CLEAR_VALUE" value="3104">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_WRITEMASK" value="3105">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_CLEAR_VALUE" value="3106">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_WRITEMASK" value="3107">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_MODE" value="3120">
+      <type name="int"/>
+    </constant>
+    <constant name="RGBA_MODE" value="3121">
+      <type name="int"/>
+    </constant>
+    <constant name="DOUBLEBUFFER" value="3122">
+      <type name="int"/>
+    </constant>
+    <constant name="STEREO" value="3123">
+      <type name="int"/>
+    </constant>
+    <constant name="RENDER_MODE" value="3136">
+      <type name="int"/>
+    </constant>
+    <constant name="PERSPECTIVE_CORRECTION_HINT" value="3152">
+      <type name="int"/>
+    </constant>
+    <constant name="POINT_SMOOTH_HINT" value="3153">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE_SMOOTH_HINT" value="3154">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_SMOOTH_HINT" value="3155">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_HINT" value="3156">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_GEN_S" value="3168">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_GEN_T" value="3169">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_GEN_R" value="3170">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_GEN_Q" value="3171">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_I_TO_I_SIZE" value="3248">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_S_TO_S_SIZE" value="3249">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_I_TO_R_SIZE" value="3250">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_I_TO_G_SIZE" value="3251">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_I_TO_B_SIZE" value="3252">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_I_TO_A_SIZE" value="3253">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_R_TO_R_SIZE" value="3254">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_G_TO_G_SIZE" value="3255">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_B_TO_B_SIZE" value="3256">
+      <type name="int"/>
+    </constant>
+    <constant name="PIXEL_MAP_A_TO_A_SIZE" value="3257">
+      <type name="int"/>
+    </constant>
+    <constant name="UNPACK_SWAP_BYTES" value="3312">
+      <type name="int"/>
+    </constant>
+    <constant name="UNPACK_LSB_FIRST" value="3313">
+      <type name="int"/>
+    </constant>
+    <constant name="UNPACK_ROW_LENGTH" value="3314">
+      <type name="int"/>
+    </constant>
+    <constant name="UNPACK_SKIP_ROWS" value="3315">
+      <type name="int"/>
+    </constant>
+    <constant name="UNPACK_SKIP_PIXELS" value="3316">
+      <type name="int"/>
+    </constant>
+    <constant name="UNPACK_ALIGNMENT" value="3317">
+      <type name="int"/>
+    </constant>
+    <constant name="PACK_SWAP_BYTES" value="3328">
+      <type name="int"/>
+    </constant>
+    <constant name="PACK_LSB_FIRST" value="3329">
+      <type name="int"/>
+    </constant>
+    <constant name="PACK_ROW_LENGTH" value="3330">
+      <type name="int"/>
+    </constant>
+    <constant name="PACK_SKIP_ROWS" value="3331">
+      <type name="int"/>
+    </constant>
+    <constant name="PACK_SKIP_PIXELS" value="3332">
+      <type name="int"/>
+    </constant>
+    <constant name="PACK_ALIGNMENT" value="3333">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP_COLOR" value="3344">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP_STENCIL" value="3345">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_SHIFT" value="3346">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_OFFSET" value="3347">
+      <type name="int"/>
+    </constant>
+    <constant name="RED_SCALE" value="3348">
+      <type name="int"/>
+    </constant>
+    <constant name="RED_BIAS" value="3349">
+      <type name="int"/>
+    </constant>
+    <constant name="ZOOM_X" value="3350">
+      <type name="int"/>
+    </constant>
+    <constant name="ZOOM_Y" value="3351">
+      <type name="int"/>
+    </constant>
+    <constant name="GREEN_SCALE" value="3352">
+      <type name="int"/>
+    </constant>
+    <constant name="GREEN_BIAS" value="3353">
+      <type name="int"/>
+    </constant>
+    <constant name="BLUE_SCALE" value="3354">
+      <type name="int"/>
+    </constant>
+    <constant name="BLUE_BIAS" value="3355">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA_SCALE" value="3356">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA_BIAS" value="3357">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_SCALE" value="3358">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_BIAS" value="3359">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_EVAL_ORDER" value="3376">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_LIGHTS" value="3377">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_CLIP_PLANES" value="3378">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_TEXTURE_SIZE" value="3379">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_PIXEL_MAP_TABLE" value="3380">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_ATTRIB_STACK_DEPTH" value="3381">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_MODELVIEW_STACK_DEPTH" value="3382">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_NAME_STACK_DEPTH" value="3383">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_PROJECTION_STACK_DEPTH" value="3384">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_TEXTURE_STACK_DEPTH" value="3385">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_VIEWPORT_DIMS" value="3386">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_CLIENT_ATTRIB_STACK_DEPTH" value="3387">
+      <type name="int"/>
+    </constant>
+    <constant name="SUBPIXEL_BITS" value="3408">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_BITS" value="3409">
+      <type name="int"/>
+    </constant>
+    <constant name="RED_BITS" value="3410">
+      <type name="int"/>
+    </constant>
+    <constant name="GREEN_BITS" value="3411">
+      <type name="int"/>
+    </constant>
+    <constant name="BLUE_BITS" value="3412">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA_BITS" value="3413">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_BITS" value="3414">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_BITS" value="3415">
+      <type name="int"/>
+    </constant>
+    <constant name="ACCUM_RED_BITS" value="3416">
+      <type name="int"/>
+    </constant>
+    <constant name="ACCUM_GREEN_BITS" value="3417">
+      <type name="int"/>
+    </constant>
+    <constant name="ACCUM_BLUE_BITS" value="3418">
+      <type name="int"/>
+    </constant>
+    <constant name="ACCUM_ALPHA_BITS" value="3419">
+      <type name="int"/>
+    </constant>
+    <constant name="NAME_STACK_DEPTH" value="3440">
+      <type name="int"/>
+    </constant>
+    <constant name="AUTO_NORMAL" value="3456">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP1_COLOR_4" value="3472">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP1_INDEX" value="3473">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP1_NORMAL" value="3474">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP1_TEXTURE_COORD_1" value="3475">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP1_TEXTURE_COORD_2" value="3476">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP1_TEXTURE_COORD_3" value="3477">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP1_TEXTURE_COORD_4" value="3478">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP1_VERTEX_3" value="3479">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP1_VERTEX_4" value="3480">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP2_COLOR_4" value="3504">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP2_INDEX" value="3505">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP2_NORMAL" value="3506">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP2_TEXTURE_COORD_1" value="3507">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP2_TEXTURE_COORD_2" value="3508">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP2_TEXTURE_COORD_3" value="3509">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP2_TEXTURE_COORD_4" value="3510">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP2_VERTEX_3" value="3511">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP2_VERTEX_4" value="3512">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP1_GRID_DOMAIN" value="3536">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP1_GRID_SEGMENTS" value="3537">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP2_GRID_DOMAIN" value="3538">
+      <type name="int"/>
+    </constant>
+    <constant name="MAP2_GRID_SEGMENTS" value="3539">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_1D" value="3552">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_2D" value="3553">
+      <type name="int"/>
+    </constant>
+    <constant name="FEEDBACK_BUFFER_POINTER" value="3568">
+      <type name="int"/>
+    </constant>
+    <constant name="FEEDBACK_BUFFER_SIZE" value="3569">
+      <type name="int"/>
+    </constant>
+    <constant name="FEEDBACK_BUFFER_TYPE" value="3570">
+      <type name="int"/>
+    </constant>
+    <constant name="SELECTION_BUFFER_POINTER" value="3571">
+      <type name="int"/>
+    </constant>
+    <constant name="SELECTION_BUFFER_SIZE" value="3572">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_OFFSET_UNITS" value="10752">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_OFFSET_POINT" value="10753">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_OFFSET_LINE" value="10754">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_OFFSET_FILL" value="32823">
+      <type name="int"/>
+    </constant>
+    <constant name="POLYGON_OFFSET_FACTOR" value="32824">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_BINDING_1D" value="32872">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_BINDING_2D" value="32873">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_BINDING_3D" value="32874">
+      <type name="int"/>
+    </constant>
+    <constant name="VERTEX_ARRAY" value="32884">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL_ARRAY" value="32885">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_ARRAY" value="32886">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_ARRAY" value="32887">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COORD_ARRAY" value="32888">
+      <type name="int"/>
+    </constant>
+    <constant name="EDGE_FLAG_ARRAY" value="32889">
+      <type name="int"/>
+    </constant>
+    <constant name="VERTEX_ARRAY_SIZE" value="32890">
+      <type name="int"/>
+    </constant>
+    <constant name="VERTEX_ARRAY_TYPE" value="32891">
+      <type name="int"/>
+    </constant>
+    <constant name="VERTEX_ARRAY_STRIDE" value="32892">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL_ARRAY_TYPE" value="32894">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL_ARRAY_STRIDE" value="32895">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_ARRAY_SIZE" value="32897">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_ARRAY_TYPE" value="32898">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_ARRAY_STRIDE" value="32899">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_ARRAY_TYPE" value="32901">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_ARRAY_STRIDE" value="32902">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COORD_ARRAY_SIZE" value="32904">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COORD_ARRAY_TYPE" value="32905">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COORD_ARRAY_STRIDE" value="32906">
+      <type name="int"/>
+    </constant>
+    <constant name="EDGE_FLAG_ARRAY_STRIDE" value="32908">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_WIDTH" value="4096">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_HEIGHT" value="4097">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_INTERNAL_FORMAT" value="4099">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_BORDER_COLOR" value="4100">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_BORDER" value="4101">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_RED_SIZE" value="32860">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_GREEN_SIZE" value="32861">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_BLUE_SIZE" value="32862">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_ALPHA_SIZE" value="32863">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_LUMINANCE_SIZE" value="32864">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_INTENSITY_SIZE" value="32865">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_PRIORITY" value="32870">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_RESIDENT" value="32871">
+      <type name="int"/>
+    </constant>
+    <constant name="DONT_CARE" value="4352">
+      <type name="int"/>
+    </constant>
+    <constant name="FASTEST" value="4353">
+      <type name="int"/>
+    </constant>
+    <constant name="NICEST" value="4354">
+      <type name="int"/>
+    </constant>
+    <constant name="AMBIENT" value="4608">
+      <type name="int"/>
+    </constant>
+    <constant name="DIFFUSE" value="4609">
+      <type name="int"/>
+    </constant>
+    <constant name="SPECULAR" value="4610">
+      <type name="int"/>
+    </constant>
+    <constant name="POSITION" value="4611">
+      <type name="int"/>
+    </constant>
+    <constant name="SPOT_DIRECTION" value="4612">
+      <type name="int"/>
+    </constant>
+    <constant name="SPOT_EXPONENT" value="4613">
+      <type name="int"/>
+    </constant>
+    <constant name="SPOT_CUTOFF" value="4614">
+      <type name="int"/>
+    </constant>
+    <constant name="CONSTANT_ATTENUATION" value="4615">
+      <type name="int"/>
+    </constant>
+    <constant name="LINEAR_ATTENUATION" value="4616">
+      <type name="int"/>
+    </constant>
+    <constant name="QUADRATIC_ATTENUATION" value="4617">
+      <type name="int"/>
+    </constant>
+    <constant name="COMPILE" value="4864">
+      <type name="int"/>
+    </constant>
+    <constant name="COMPILE_AND_EXECUTE" value="4865">
+      <type name="int"/>
+    </constant>
+    <constant name="BYTE" value="5120">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_BYTE" value="5121">
+      <type name="int"/>
+    </constant>
+    <constant name="SHORT" value="5122">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_SHORT" value="5123">
+      <type name="int"/>
+    </constant>
+    <constant name="INT" value="5124">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_INT" value="5125">
+      <type name="int"/>
+    </constant>
+    <constant name="FLOAT" value="5126">
+      <type name="int"/>
+    </constant>
+    <constant name="2_BYTES" value="5127">
+      <type name="int"/>
+    </constant>
+    <constant name="3_BYTES" value="5128">
+      <type name="int"/>
+    </constant>
+    <constant name="4_BYTES" value="5129">
+      <type name="int"/>
+    </constant>
+    <constant name="DOUBLE" value="5130">
+      <type name="int"/>
+    </constant>
+    <constant name="DOUBLE_EXT" value="5130">
+      <type name="int"/>
+    </constant>
+    <constant name="CLEAR" value="5376">
+      <type name="int"/>
+    </constant>
+    <constant name="AND" value="5377">
+      <type name="int"/>
+    </constant>
+    <constant name="AND_REVERSE" value="5378">
+      <type name="int"/>
+    </constant>
+    <constant name="COPY" value="5379">
+      <type name="int"/>
+    </constant>
+    <constant name="AND_INVERTED" value="5380">
+      <type name="int"/>
+    </constant>
+    <constant name="NOOP" value="5381">
+      <type name="int"/>
+    </constant>
+    <constant name="XOR" value="5382">
+      <type name="int"/>
+    </constant>
+    <constant name="OR" value="5383">
+      <type name="int"/>
+    </constant>
+    <constant name="NOR" value="5384">
+      <type name="int"/>
+    </constant>
+    <constant name="EQUIV" value="5385">
+      <type name="int"/>
+    </constant>
+    <constant name="INVERT" value="5386">
+      <type name="int"/>
+    </constant>
+    <constant name="OR_REVERSE" value="5387">
+      <type name="int"/>
+    </constant>
+    <constant name="COPY_INVERTED" value="5388">
+      <type name="int"/>
+    </constant>
+    <constant name="OR_INVERTED" value="5389">
+      <type name="int"/>
+    </constant>
+    <constant name="NAND" value="5390">
+      <type name="int"/>
+    </constant>
+    <constant name="SET" value="5391">
+      <type name="int"/>
+    </constant>
+    <constant name="EMISSION" value="5632">
+      <type name="int"/>
+    </constant>
+    <constant name="SHININESS" value="5633">
+      <type name="int"/>
+    </constant>
+    <constant name="AMBIENT_AND_DIFFUSE" value="5634">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_INDEXES" value="5635">
+      <type name="int"/>
+    </constant>
+    <constant name="MODELVIEW" value="5888">
+      <type name="int"/>
+    </constant>
+    <constant name="PROJECTION" value="5889">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE" value="5890">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR" value="6144">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH" value="6145">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL" value="6146">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_INDEX" value="6400">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL_INDEX" value="6401">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_COMPONENT" value="6402">
+      <type name="int"/>
+    </constant>
+    <constant name="RED" value="6403">
+      <type name="int"/>
+    </constant>
+    <constant name="GREEN" value="6404">
+      <type name="int"/>
+    </constant>
+    <constant name="BLUE" value="6405">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA" value="6406">
+      <type name="int"/>
+    </constant>
+    <constant name="RGB" value="6407">
+      <type name="int"/>
+    </constant>
+    <constant name="RGBA" value="6408">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE" value="6409">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE_ALPHA" value="6410">
+      <type name="int"/>
+    </constant>
+    <constant name="BITMAP" value="6656">
+      <type name="int"/>
+    </constant>
+    <constant name="POINT" value="6912">
+      <type name="int"/>
+    </constant>
+    <constant name="LINE" value="6913">
+      <type name="int"/>
+    </constant>
+    <constant name="FILL" value="6914">
+      <type name="int"/>
+    </constant>
+    <constant name="RENDER" value="7168">
+      <type name="int"/>
+    </constant>
+    <constant name="FEEDBACK" value="7169">
+      <type name="int"/>
+    </constant>
+    <constant name="SELECT" value="7170">
+      <type name="int"/>
+    </constant>
+    <constant name="FLAT" value="7424">
+      <type name="int"/>
+    </constant>
+    <constant name="SMOOTH" value="7425">
+      <type name="int"/>
+    </constant>
+    <constant name="KEEP" value="7680">
+      <type name="int"/>
+    </constant>
+    <constant name="REPLACE" value="7681">
+      <type name="int"/>
+    </constant>
+    <constant name="INCR" value="7682">
+      <type name="int"/>
+    </constant>
+    <constant name="DECR" value="7683">
+      <type name="int"/>
+    </constant>
+    <constant name="VENDOR" value="7936">
+      <type name="int"/>
+    </constant>
+    <constant name="RENDERER" value="7937">
+      <type name="int"/>
+    </constant>
+    <constant name="VERSION" value="7938">
+      <type name="int"/>
+    </constant>
+    <constant name="EXTENSIONS" value="7939">
+      <type name="int"/>
+    </constant>
+    <constant name="S" value="8192">
+      <type name="int"/>
+    </constant>
+    <constant name="T" value="8193">
+      <type name="int"/>
+    </constant>
+    <constant name="R" value="8194">
+      <type name="int"/>
+    </constant>
+    <constant name="Q" value="8195">
+      <type name="int"/>
+    </constant>
+    <constant name="MODULATE" value="8448">
+      <type name="int"/>
+    </constant>
+    <constant name="DECAL" value="8449">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_ENV_MODE" value="8704">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_ENV_COLOR" value="8705">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_ENV" value="8960">
+      <type name="int"/>
+    </constant>
+    <constant name="EYE_LINEAR" value="9216">
+      <type name="int"/>
+    </constant>
+    <constant name="OBJECT_LINEAR" value="9217">
+      <type name="int"/>
+    </constant>
+    <constant name="SPHERE_MAP" value="9218">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_GEN_MODE" value="9472">
+      <type name="int"/>
+    </constant>
+    <constant name="OBJECT_PLANE" value="9473">
+      <type name="int"/>
+    </constant>
+    <constant name="EYE_PLANE" value="9474">
+      <type name="int"/>
+    </constant>
+    <constant name="NEAREST" value="9728">
+      <type name="int"/>
+    </constant>
+    <constant name="LINEAR" value="9729">
+      <type name="int"/>
+    </constant>
+    <constant name="NEAREST_MIPMAP_NEAREST" value="9984">
+      <type name="int"/>
+    </constant>
+    <constant name="LINEAR_MIPMAP_NEAREST" value="9985">
+      <type name="int"/>
+    </constant>
+    <constant name="NEAREST_MIPMAP_LINEAR" value="9986">
+      <type name="int"/>
+    </constant>
+    <constant name="LINEAR_MIPMAP_LINEAR" value="9987">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_MAG_FILTER" value="10240">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_MIN_FILTER" value="10241">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_WRAP_S" value="10242">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_WRAP_T" value="10243">
+      <type name="int"/>
+    </constant>
+    <constant name="PROXY_TEXTURE_1D" value="32867">
+      <type name="int"/>
+    </constant>
+    <constant name="PROXY_TEXTURE_2D" value="32868">
+      <type name="int"/>
+    </constant>
+    <constant name="CLAMP" value="10496">
+      <type name="int"/>
+    </constant>
+    <constant name="REPEAT" value="10497">
+      <type name="int"/>
+    </constant>
+    <constant name="R3_G3_B2" value="10768">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA4" value="32827">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA8" value="32828">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA12" value="32829">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA16" value="32830">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE4" value="32831">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE8" value="32832">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE12" value="32833">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE16" value="32834">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE4_ALPHA4" value="32835">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE6_ALPHA2" value="32836">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE8_ALPHA8" value="32837">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE12_ALPHA4" value="32838">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE12_ALPHA12" value="32839">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE16_ALPHA16" value="32840">
+      <type name="int"/>
+    </constant>
+    <constant name="INTENSITY" value="32841">
+      <type name="int"/>
+    </constant>
+    <constant name="INTENSITY4" value="32842">
+      <type name="int"/>
+    </constant>
+    <constant name="INTENSITY8" value="32843">
+      <type name="int"/>
+    </constant>
+    <constant name="INTENSITY12" value="32844">
+      <type name="int"/>
+    </constant>
+    <constant name="INTENSITY16" value="32845">
+      <type name="int"/>
+    </constant>
+    <constant name="RGB4" value="32847">
+      <type name="int"/>
+    </constant>
+    <constant name="RGB5" value="32848">
+      <type name="int"/>
+    </constant>
+    <constant name="RGB8" value="32849">
+      <type name="int"/>
+    </constant>
+    <constant name="RGB10" value="32850">
+      <type name="int"/>
+    </constant>
+    <constant name="RGB12" value="32851">
+      <type name="int"/>
+    </constant>
+    <constant name="RGB16" value="32852">
+      <type name="int"/>
+    </constant>
+    <constant name="RGBA2" value="32853">
+      <type name="int"/>
+    </constant>
+    <constant name="RGBA4" value="32854">
+      <type name="int"/>
+    </constant>
+    <constant name="RGB5_A1" value="32855">
+      <type name="int"/>
+    </constant>
+    <constant name="RGBA8" value="32856">
+      <type name="int"/>
+    </constant>
+    <constant name="RGB10_A2" value="32857">
+      <type name="int"/>
+    </constant>
+    <constant name="RGBA12" value="32858">
+      <type name="int"/>
+    </constant>
+    <constant name="RGBA16" value="32859">
+      <type name="int"/>
+    </constant>
+    <constant name="V2F" value="10784">
+      <type name="int"/>
+    </constant>
+    <constant name="V3F" value="10785">
+      <type name="int"/>
+    </constant>
+    <constant name="C4UB_V2F" value="10786">
+      <type name="int"/>
+    </constant>
+    <constant name="C4UB_V3F" value="10787">
+      <type name="int"/>
+    </constant>
+    <constant name="C3F_V3F" value="10788">
+      <type name="int"/>
+    </constant>
+    <constant name="N3F_V3F" value="10789">
+      <type name="int"/>
+    </constant>
+    <constant name="C4F_N3F_V3F" value="10790">
+      <type name="int"/>
+    </constant>
+    <constant name="T2F_V3F" value="10791">
+      <type name="int"/>
+    </constant>
+    <constant name="T4F_V4F" value="10792">
+      <type name="int"/>
+    </constant>
+    <constant name="T2F_C4UB_V3F" value="10793">
+      <type name="int"/>
+    </constant>
+    <constant name="T2F_C3F_V3F" value="10794">
+      <type name="int"/>
+    </constant>
+    <constant name="T2F_N3F_V3F" value="10795">
+      <type name="int"/>
+    </constant>
+    <constant name="T2F_C4F_N3F_V3F" value="10796">
+      <type name="int"/>
+    </constant>
+    <constant name="T4F_C4F_N3F_V4F" value="10797">
+      <type name="int"/>
+    </constant>
+    <constant name="CLIP_PLANE0" value="12288">
+      <type name="int"/>
+    </constant>
+    <constant name="CLIP_PLANE1" value="12289">
+      <type name="int"/>
+    </constant>
+    <constant name="CLIP_PLANE2" value="12290">
+      <type name="int"/>
+    </constant>
+    <constant name="CLIP_PLANE3" value="12291">
+      <type name="int"/>
+    </constant>
+    <constant name="CLIP_PLANE4" value="12292">
+      <type name="int"/>
+    </constant>
+    <constant name="CLIP_PLANE5" value="12293">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT0" value="16384">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT1" value="16385">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT2" value="16386">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT3" value="16387">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT4" value="16388">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT5" value="16389">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT6" value="16390">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT7" value="16391">
+      <type name="int"/>
+    </constant>
+    <constant name="ABGR_EXT" value="32768">
+      <type name="int"/>
+    </constant>
+    <constant name="FUNC_SUBTRACT_EXT" value="32778">
+      <type name="int"/>
+    </constant>
+    <constant name="FUNC_REVERSE_SUBTRACT_EXT" value="32779">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_BYTE_3_3_2_EXT" value="32818">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_SHORT_4_4_4_4_EXT" value="32819">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_SHORT_5_5_5_1_EXT" value="32820">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_INT_8_8_8_8_EXT" value="32821">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_INT_10_10_10_2_EXT" value="32822">
+      <type name="int"/>
+    </constant>
+    <constant name="PACK_SKIP_IMAGES" value="32875">
+      <type name="int"/>
+    </constant>
+    <constant name="PACK_IMAGE_HEIGHT" value="32876">
+      <type name="int"/>
+    </constant>
+    <constant name="UNPACK_SKIP_IMAGES" value="32877">
+      <type name="int"/>
+    </constant>
+    <constant name="UNPACK_IMAGE_HEIGHT" value="32878">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_3D" value="32879">
+      <type name="int"/>
+    </constant>
+    <constant name="PROXY_TEXTURE_3D" value="32880">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_DEPTH" value="32881">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_WRAP_R" value="32882">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_3D_TEXTURE_SIZE" value="32883">
+      <type name="int"/>
+    </constant>
+    <constant name="BGR" value="32992">
+      <type name="int"/>
+    </constant>
+    <constant name="BGRA" value="32993">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_BYTE_3_3_2" value="32818">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_BYTE_2_3_3_REV" value="33634">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_SHORT_5_6_5" value="33635">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_SHORT_5_6_5_REV" value="33636">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_SHORT_4_4_4_4" value="32819">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_SHORT_4_4_4_4_REV" value="33637">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_SHORT_5_5_5_1" value="32820">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_SHORT_1_5_5_5_REV" value="33638">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_INT_8_8_8_8" value="32821">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_INT_8_8_8_8_REV" value="33639">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_INT_10_10_10_2" value="32822">
+      <type name="int"/>
+    </constant>
+    <constant name="UNSIGNED_INT_2_10_10_10_REV" value="33640">
+      <type name="int"/>
+    </constant>
+    <constant name="RESCALE_NORMAL" value="32826">
+      <type name="int"/>
+    </constant>
+    <constant name="LIGHT_MODEL_COLOR_CONTROL" value="33272">
+      <type name="int"/>
+    </constant>
+    <constant name="SINGLE_COLOR" value="33273">
+      <type name="int"/>
+    </constant>
+    <constant name="SEPARATE_SPECULAR_COLOR" value="33274">
+      <type name="int"/>
+    </constant>
+    <constant name="CLAMP_TO_EDGE" value="33071">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_MIN_LOD" value="33082">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_MAX_LOD" value="33083">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_BASE_LEVEL" value="33084">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_MAX_LEVEL" value="33085">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_ELEMENTS_VERTICES" value="33000">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_ELEMENTS_INDICES" value="33001">
+      <type name="int"/>
+    </constant>
+    <constant name="ALIASED_POINT_SIZE_RANGE" value="33901">
+      <type name="int"/>
+    </constant>
+    <constant name="ALIASED_LINE_WIDTH_RANGE" value="33902">
+      <type name="int"/>
+    </constant>
+    <constant name="ACTIVE_TEXTURE" value="34016">
+      <type name="int"/>
+    </constant>
+    <constant name="CLIENT_ACTIVE_TEXTURE" value="34017">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_TEXTURE_UNITS" value="34018">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE0" value="33984">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE1" value="33985">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE2" value="33986">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE3" value="33987">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE4" value="33988">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE5" value="33989">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE6" value="33990">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE7" value="33991">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE8" value="33992">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE9" value="33993">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE10" value="33994">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE11" value="33995">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE12" value="33996">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE13" value="33997">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE14" value="33998">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE15" value="33999">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE16" value="34000">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE17" value="34001">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE18" value="34002">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE19" value="34003">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE20" value="34004">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE21" value="34005">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE22" value="34006">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE23" value="34007">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE24" value="34008">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE25" value="34009">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE26" value="34010">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE27" value="34011">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE28" value="34012">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE29" value="34013">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE30" value="34014">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE31" value="34015">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL_MAP" value="34065">
+      <type name="int"/>
+    </constant>
+    <constant name="REFLECTION_MAP" value="34066">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_CUBE_MAP" value="34067">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_BINDING_CUBE_MAP" value="34068">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_CUBE_MAP_POSITIVE_X" value="34069">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_CUBE_MAP_NEGATIVE_X" value="34070">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_CUBE_MAP_POSITIVE_Y" value="34071">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_CUBE_MAP_NEGATIVE_Y" value="34072">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_CUBE_MAP_POSITIVE_Z" value="34073">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_CUBE_MAP_NEGATIVE_Z" value="34074">
+      <type name="int"/>
+    </constant>
+    <constant name="PROXY_TEXTURE_CUBE_MAP" value="34075">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_CUBE_MAP_TEXTURE_SIZE" value="34076">
+      <type name="int"/>
+    </constant>
+    <constant name="COMBINE" value="34160">
+      <type name="int"/>
+    </constant>
+    <constant name="COMBINE_RGB" value="34161">
+      <type name="int"/>
+    </constant>
+    <constant name="COMBINE_ALPHA" value="34162">
+      <type name="int"/>
+    </constant>
+    <constant name="RGB_SCALE" value="34163">
+      <type name="int"/>
+    </constant>
+    <constant name="ADD_SIGNED" value="34164">
+      <type name="int"/>
+    </constant>
+    <constant name="INTERPOLATE" value="34165">
+      <type name="int"/>
+    </constant>
+    <constant name="CONSTANT" value="34166">
+      <type name="int"/>
+    </constant>
+    <constant name="PRIMARY_COLOR" value="34167">
+      <type name="int"/>
+    </constant>
+    <constant name="PREVIOUS" value="34168">
+      <type name="int"/>
+    </constant>
+    <constant name="SOURCE0_RGB" value="34176">
+      <type name="int"/>
+    </constant>
+    <constant name="SOURCE1_RGB" value="34177">
+      <type name="int"/>
+    </constant>
+    <constant name="SOURCE2_RGB" value="34178">
+      <type name="int"/>
+    </constant>
+    <constant name="SOURCE0_ALPHA" value="34184">
+      <type name="int"/>
+    </constant>
+    <constant name="SOURCE1_ALPHA" value="34185">
+      <type name="int"/>
+    </constant>
+    <constant name="SOURCE2_ALPHA" value="34186">
+      <type name="int"/>
+    </constant>
+    <constant name="OPERAND0_RGB" value="34192">
+      <type name="int"/>
+    </constant>
+    <constant name="OPERAND1_RGB" value="34193">
+      <type name="int"/>
+    </constant>
+    <constant name="OPERAND2_RGB" value="34194">
+      <type name="int"/>
+    </constant>
+    <constant name="OPERAND0_ALPHA" value="34200">
+      <type name="int"/>
+    </constant>
+    <constant name="OPERAND1_ALPHA" value="34201">
+      <type name="int"/>
+    </constant>
+    <constant name="OPERAND2_ALPHA" value="34202">
+      <type name="int"/>
+    </constant>
+    <constant name="SUBTRACT" value="34023">
+      <type name="int"/>
+    </constant>
+    <constant name="TRANSPOSE_MODELVIEW_MATRIX" value="34019">
+      <type name="int"/>
+    </constant>
+    <constant name="TRANSPOSE_PROJECTION_MATRIX" value="34020">
+      <type name="int"/>
+    </constant>
+    <constant name="TRANSPOSE_TEXTURE_MATRIX" value="34021">
+      <type name="int"/>
+    </constant>
+    <constant name="TRANSPOSE_COLOR_MATRIX" value="34022">
+      <type name="int"/>
+    </constant>
+    <constant name="COMPRESSED_ALPHA" value="34025">
+      <type name="int"/>
+    </constant>
+    <constant name="COMPRESSED_LUMINANCE" value="34026">
+      <type name="int"/>
+    </constant>
+    <constant name="COMPRESSED_LUMINANCE_ALPHA" value="34027">
+      <type name="int"/>
+    </constant>
+    <constant name="COMPRESSED_INTENSITY" value="34028">
+      <type name="int"/>
+    </constant>
+    <constant name="COMPRESSED_RGB" value="34029">
+      <type name="int"/>
+    </constant>
+    <constant name="COMPRESSED_RGBA" value="34030">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COMPRESSION_HINT" value="34031">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COMPRESSED_IMAGE_SIZE" value="34464">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COMPRESSED" value="34465">
+      <type name="int"/>
+    </constant>
+    <constant name="NUM_COMPRESSED_TEXTURE_FORMATS" value="34466">
+      <type name="int"/>
+    </constant>
+    <constant name="COMPRESSED_TEXTURE_FORMATS" value="34467">
+      <type name="int"/>
+    </constant>
+    <constant name="DOT3_RGB" value="34478">
+      <type name="int"/>
+    </constant>
+    <constant name="DOT3_RGBA" value="34479">
+      <type name="int"/>
+    </constant>
+    <constant name="CLAMP_TO_BORDER" value="33069">
+      <type name="int"/>
+    </constant>
+    <constant name="MULTISAMPLE" value="32925">
+      <type name="int"/>
+    </constant>
+    <constant name="SAMPLE_ALPHA_TO_COVERAGE" value="32926">
+      <type name="int"/>
+    </constant>
+    <constant name="SAMPLE_ALPHA_TO_ONE" value="32927">
+      <type name="int"/>
+    </constant>
+    <constant name="SAMPLE_COVERAGE" value="32928">
+      <type name="int"/>
+    </constant>
+    <constant name="SAMPLE_BUFFERS" value="32936">
+      <type name="int"/>
+    </constant>
+    <constant name="SAMPLES" value="32937">
+      <type name="int"/>
+    </constant>
+    <constant name="SAMPLE_COVERAGE_VALUE" value="32938">
+      <type name="int"/>
+    </constant>
+    <constant name="SAMPLE_COVERAGE_INVERT" value="32939">
+      <type name="int"/>
+    </constant>
+    <constant name="MULTISAMPLE_BIT" value="536870912">
+      <type name="int"/>
+    </constant>
+    <constant name="VERTEX_ARRAY_EXT" value="32884">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL_ARRAY_EXT" value="32885">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_ARRAY_EXT" value="32886">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_ARRAY_EXT" value="32887">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COORD_ARRAY_EXT" value="32888">
+      <type name="int"/>
+    </constant>
+    <constant name="EDGE_FLAG_ARRAY_EXT" value="32889">
+      <type name="int"/>
+    </constant>
+    <constant name="VERTEX_ARRAY_SIZE_EXT" value="32890">
+      <type name="int"/>
+    </constant>
+    <constant name="VERTEX_ARRAY_TYPE_EXT" value="32891">
+      <type name="int"/>
+    </constant>
+    <constant name="VERTEX_ARRAY_STRIDE_EXT" value="32892">
+      <type name="int"/>
+    </constant>
+    <constant name="VERTEX_ARRAY_COUNT_EXT" value="32893">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL_ARRAY_TYPE_EXT" value="32894">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL_ARRAY_STRIDE_EXT" value="32895">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL_ARRAY_COUNT_EXT" value="32896">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_ARRAY_SIZE_EXT" value="32897">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_ARRAY_TYPE_EXT" value="32898">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_ARRAY_STRIDE_EXT" value="32899">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_ARRAY_COUNT_EXT" value="32900">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_ARRAY_TYPE_EXT" value="32901">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_ARRAY_STRIDE_EXT" value="32902">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_ARRAY_COUNT_EXT" value="32903">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COORD_ARRAY_SIZE_EXT" value="32904">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COORD_ARRAY_TYPE_EXT" value="32905">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COORD_ARRAY_STRIDE_EXT" value="32906">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COORD_ARRAY_COUNT_EXT" value="32907">
+      <type name="int"/>
+    </constant>
+    <constant name="EDGE_FLAG_ARRAY_STRIDE_EXT" value="32908">
+      <type name="int"/>
+    </constant>
+    <constant name="EDGE_FLAG_ARRAY_COUNT_EXT" value="32909">
+      <type name="int"/>
+    </constant>
+    <constant name="VERTEX_ARRAY_POINTER_EXT" value="32910">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL_ARRAY_POINTER_EXT" value="32911">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_ARRAY_POINTER_EXT" value="32912">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX_ARRAY_POINTER_EXT" value="32913">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COORD_ARRAY_POINTER_EXT" value="32914">
+      <type name="int"/>
+    </constant>
+    <constant name="EDGE_FLAG_ARRAY_POINTER_EXT" value="32915">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_MIN_LOD_SGIS" value="33082">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_MAX_LOD_SGIS" value="33083">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_BASE_LEVEL_SGIS" value="33084">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_MAX_LEVEL_SGIS" value="33085">
+      <type name="int"/>
+    </constant>
+    <constant name="SHARED_TEXTURE_PALETTE_EXT" value="33275">
+      <type name="int"/>
+    </constant>
+    <constant name="RESCALE_NORMAL_EXT" value="32826">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COMPARE_SGIX" value="33178">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COMPARE_OPERATOR_SGIX" value="33179">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_LEQUAL_R_SGIX" value="33180">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_GEQUAL_R_SGIX" value="33181">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_COMPONENT16_SGIX" value="33189">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_COMPONENT24_SGIX" value="33190">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_COMPONENT32_SGIX" value="33191">
+      <type name="int"/>
+    </constant>
+    <constant name="GENERATE_MIPMAP_SGIS" value="33169">
+      <type name="int"/>
+    </constant>
+    <constant name="GENERATE_MIPMAP_HINT_SGIS" value="33170">
+      <type name="int"/>
+    </constant>
+    <constant name="POINT_SIZE_MIN" value="33062">
+      <type name="int"/>
+    </constant>
+    <constant name="POINT_SIZE_MAX" value="33063">
+      <type name="int"/>
+    </constant>
+    <constant name="POINT_FADE_THRESHOLD_SIZE" value="33064">
+      <type name="int"/>
+    </constant>
+    <constant name="POINT_DISTANCE_ATTENUATION" value="33065">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_COORDINATE_SOURCE" value="33872">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_COORDINATE" value="33873">
+      <type name="int"/>
+    </constant>
+    <constant name="FRAGMENT_DEPTH" value="33874">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_FOG_COORDINATE" value="33875">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_COORDINATE_ARRAY_TYPE" value="33876">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_COORDINATE_ARRAY_STRIDE" value="33877">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_COORDINATE_ARRAY_POINTER" value="33878">
+      <type name="int"/>
+    </constant>
+    <constant name="FOG_COORDINATE_ARRAY" value="33879">
+      <type name="int"/>
+    </constant>
+    <constant name="COLOR_SUM" value="33880">
+      <type name="int"/>
+    </constant>
+    <constant name="CURRENT_SECONDARY_COLOR" value="33881">
+      <type name="int"/>
+    </constant>
+    <constant name="SECONDARY_COLOR_ARRAY_SIZE" value="33882">
+      <type name="int"/>
+    </constant>
+    <constant name="SECONDARY_COLOR_ARRAY_TYPE" value="33883">
+      <type name="int"/>
+    </constant>
+    <constant name="SECONDARY_COLOR_ARRAY_STRIDE" value="33884">
+      <type name="int"/>
+    </constant>
+    <constant name="SECONDARY_COLOR_ARRAY_POINTER" value="33885">
+      <type name="int"/>
+    </constant>
+    <constant name="SECONDARY_COLOR_ARRAY" value="33886">
+      <type name="int"/>
+    </constant>
+    <constant name="INCR_WRAP" value="34055">
+      <type name="int"/>
+    </constant>
+    <constant name="DECR_WRAP" value="34056">
+      <type name="int"/>
+    </constant>
+    <constant name="MAX_TEXTURE_LOD_BIAS" value="34045">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_FILTER_CONTROL" value="34048">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_LOD_BIAS" value="34049">
+      <type name="int"/>
+    </constant>
+    <constant name="GENERATE_MIPMAP" value="33169">
+      <type name="int"/>
+    </constant>
+    <constant name="GENERATE_MIPMAP_HINT" value="33170">
+      <type name="int"/>
+    </constant>
+    <constant name="BLEND_DST_RGB" value="32968">
+      <type name="int"/>
+    </constant>
+    <constant name="BLEND_SRC_RGB" value="32969">
+      <type name="int"/>
+    </constant>
+    <constant name="BLEND_DST_ALPHA" value="32970">
+      <type name="int"/>
+    </constant>
+    <constant name="BLEND_SRC_ALPHA" value="32971">
+      <type name="int"/>
+    </constant>
+    <constant name="MIRRORED_REPEAT" value="33648">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_COMPONENT16" value="33189">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_COMPONENT24" value="33190">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_COMPONENT32" value="33191">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_DEPTH_SIZE" value="34890">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH_TEXTURE_MODE" value="34891">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COMPARE_MODE" value="34892">
+      <type name="int"/>
+    </constant>
+    <constant name="TEXTURE_COMPARE_FUNC" value="34893">
+      <type name="int"/>
+    </constant>
+    <constant name="COMPARE_R_TO_TEXTURE" value="34894">
+      <type name="int"/>
+    </constant>
+  </namespace>
+</repository>

Added: trunk/opengl-glib/GLTypes-1.0.gir
==============================================================================
--- (empty file)
+++ trunk/opengl-glib/GLTypes-1.0.gir	Mon Jan 19 21:07:37 2009
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<repository version="1.0"
+            xmlns="http://www.gtk.org/introspection/core/1.0";
+            xmlns:c="http://www.gtk.org/introspection/c/1.0";>
+  <namespace name="GLTypes" version="1.0" shared-library="GL">
+	<alias name="enum" target="uint" c:type="GLenum"/>
+	<alias name="boolean" target="uchar" c:type="GLboolean"/>
+	<alias name="bitfield" target="uint" c:type="GLbitfield"/>
+	<alias name="byte" target="char" c:type="GLbyte"/>
+	<alias name="short" target="short" c:type="GLshort"/>
+	<alias name="int" target="int" c:type="GLint"/>
+	<alias name="sizei" target="int" c:type="GLsizei"/>
+	<alias name="ubyte" target="uchar" c:type="GLubyte"/>
+	<alias name="ushort" target="ushort" c:type="GLushort"/>
+	<alias name="uint" target="uint" c:type="GLuint"/>
+	<alias name="float" target="float" c:type="GLfloat"/>
+	<alias name="clampf" target="float" c:type="GLclampf"/>
+	<alias name="double" target="double" c:type="GLdouble"/>
+	<alias name="clampd" target="double" c:type="GLclampd"/>
+	<alias name="void" target="double" c:type="GLvoid"/>
+	<alias name="char" target="char" c:type="GLchar"/>
+    <function name="InitNames" c:identifier="glInitNames">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+      </parameters>
+    </function>
+
+  </namespace>
+</repository>

Added: trunk/opengl-glib/GLUT-1.0.gir
==============================================================================
--- (empty file)
+++ trunk/opengl-glib/GLUT-1.0.gir	Mon Jan 19 21:07:37 2009
@@ -0,0 +1,2036 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+     To affect the contents of this file, edit the original C definitions, and/or use gtk-doc annotations.  -->
+<repository version="1.0"
+            xmlns="http://www.gtk.org/introspection/core/1.0";
+            xmlns:c="http://www.gtk.org/introspection/c/1.0";
+            xmlns:glib="http://www.gtk.org/introspection/glib/1.0";>
+  <include name="GL" version="1.0"/>
+  <include name="GLTypes" version="1.0"/>
+  <namespace name="GLUT" version="1.0" shared-library="libglut.so.3">
+    <callback name="TimerCallback" c:type="glutTimerCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="TimerFunc" c:identifier="glutTimerFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="time" transfer-ownership="none">
+          <type name="uint" c:type="unsigned int"/>
+        </parameter>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="TimerCallback" c:type="glutTimerCallback"/>
+        </parameter>
+        <parameter name="value" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="IdleCallback" c:type="glutIdleCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </callback>
+    <function name="IdleFunc" c:identifier="glutIdleFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="IdleCallback" c:type="glutIdleCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="KeyboardCallback" c:type="glutKeyboardCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="uint8" c:type="unsigned char"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="KeyboardFunc" c:identifier="glutKeyboardFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="KeyboardCallback" c:type="glutKeyboardCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="SpecialCallback" c:type="glutSpecialCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="SpecialFunc" c:identifier="glutSpecialFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="SpecialCallback" c:type="glutSpecialCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="ReshapeCallback" c:type="glutReshapeCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="ReshapeFunc" c:identifier="glutReshapeFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="ReshapeCallback" c:type="glutReshapeCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="VisibilityCallback" c:type="glutVisibilityCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="VisibilityFunc" c:identifier="glutVisibilityFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="VisibilityCallback" c:type="glutVisibilityCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="DisplayCallback" c:type="glutDisplayCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </callback>
+    <function name="DisplayFunc" c:identifier="glutDisplayFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="DisplayCallback" c:type="glutDisplayCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="MouseCallback" c:type="glutMouseCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="MouseFunc" c:identifier="glutMouseFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="MouseCallback" c:type="glutMouseCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="MotionCallback" c:type="glutMotionCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="MotionFunc" c:identifier="glutMotionFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="MotionCallback" c:type="glutMotionCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="PassiveMotionCallback" c:type="glutPassiveMotionCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="EntryCallback" c:type="glutEntryCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="EntryFunc" c:identifier="glutEntryFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="EntryCallback" c:type="glutEntryCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="KeyboardUpCallback" c:type="glutKeyboardUpCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="uint8" c:type="unsigned char"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="KeyboardUpFunc" c:identifier="glutKeyboardUpFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="KeyboardUpCallback" c:type="glutKeyboardUpCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="SpecialUpCallback" c:type="glutSpecialUpCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="SpecialUpFunc" c:identifier="glutSpecialUpFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="SpecialUpCallback" c:type="glutSpecialUpCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="JoystickUpCallback" c:type="glutJoystickUpCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="uint" c:type="unsigned int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="JoystickUpFunc" c:identifier="glutJoystickUpFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="JoystickUpCallback" c:type="glutJoystickUpCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="MenuStateCallback" c:type="glutMenuStateCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="MenuStateFunc" c:identifier="glutMenuStateFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="MenuStateCallback" c:type="glutMenuStateCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="MenuStatusCallback" c:type="glutMenuStatusCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="MenuStatusFunc" c:identifier="glutMenuStatusFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="MenuStatusCallback" c:type="glutMenuStatusCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="OverlayDisplayCallback"
+              c:type="glutOverlayDisplayCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </callback>
+    <function name="OverlayDisplayFunc"
+              c:identifier="glutOverlayDisplayFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="OverlayDisplayCallback"
+                c:type="glutOverlayDisplayCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="WindowStatusCallback" c:type="glutWindowStatusCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="WindowStatusFunc" c:identifier="glutWindowStatusFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="WindowStatusCallback" c:type="glutWindowStatusCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="SpaceballMotionCallback"
+              c:type="glutSpaceballMotionCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="SpaceballMotionFunc"
+              c:identifier="glutSpaceballMotionFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="SpaceballMotionCallback"
+                c:type="glutSpaceballMotionCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="SpaceballRotateCallback"
+              c:type="glutSpaceballRotateCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="SpaceballRotateFunc"
+              c:identifier="glutSpaceballRotateFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="SpaceballRotateCallback"
+                c:type="glutSpaceballRotateCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="SpaceballButtonCallback"
+              c:type="glutSpaceballButtonCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="SpaceballButtonFunc"
+              c:identifier="glutSpaceballButtonFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="SpaceballButtonCallback"
+                c:type="glutSpaceballButtonCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="ButtonBoxCallback" c:type="glutButtonBoxCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="ButtonBoxFunc" c:identifier="glutButtonBoxFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="ButtonBoxCallback" c:type="glutButtonBoxCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="DialsCallback" c:type="glutDialsCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="DialsFunc" c:identifier="glutDialsFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="DialsCallback" c:type="glutDialsCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="TabletMotionCallback" c:type="glutTabletMotionCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="TabletMotionFunc" c:identifier="glutTabletMotionFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="TabletMotionCallback" c:type="glutTabletMotionCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="TabletButtonCallback" c:type="glutTabletButtonCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="TabletButtonFunc" c:identifier="glutTabletButtonFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="TabletButtonCallback" c:type="glutTabletButtonCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="CreateMenuCallback" c:type="glutCreateMenuCallback">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="CreateMenuFunc" c:identifier="glutCreateMenuFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="CreateMenuCallback" c:type="glutCreateMenuCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Init" c:identifier="glutInit">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pargc" direction="out" transfer-ownership="full">
+          <type name="int" c:type="int*"/>
+        </parameter>
+        <parameter name="argv" transfer-ownership="none">
+          <array c:type="char**">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="InitWindowPosition"
+              c:identifier="glutInitWindowPosition">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="InitWindowSize" c:identifier="glutInitWindowSize">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="width" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="InitDisplayMode" c:identifier="glutInitDisplayMode">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="displayMode" transfer-ownership="none">
+          <type name="uint" c:type="unsigned int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="InitDisplayString"
+              c:identifier="glutInitDisplayString">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="displayMode" transfer-ownership="none">
+          <type name="utf8" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="MainLoop" c:identifier="glutMainLoop">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="CreateWindow" c:identifier="glutCreateWindow">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="title" transfer-ownership="none">
+          <type name="utf8" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="CreateSubWindow" c:identifier="glutCreateSubWindow">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="window" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="x" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DestroyWindow" c:identifier="glutDestroyWindow">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="window" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="SetWindow" c:identifier="glutSetWindow">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="window" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetWindow" c:identifier="glutGetWindow">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+    </function>
+    <function name="SetWindowTitle" c:identifier="glutSetWindowTitle">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="title" transfer-ownership="none">
+          <type name="utf8" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="SetIconTitle" c:identifier="glutSetIconTitle">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="title" transfer-ownership="none">
+          <type name="utf8" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ReshapeWindow" c:identifier="glutReshapeWindow">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="width" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PositionWindow" c:identifier="glutPositionWindow">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ShowWindow" c:identifier="glutShowWindow">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="HideWindow" c:identifier="glutHideWindow">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="IconifyWindow" c:identifier="glutIconifyWindow">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="PushWindow" c:identifier="glutPushWindow">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="PopWindow" c:identifier="glutPopWindow">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="FullScreen" c:identifier="glutFullScreen">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="PostWindowRedisplay"
+              c:identifier="glutPostWindowRedisplay">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="window" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PostRedisplay" c:identifier="glutPostRedisplay">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="SwapBuffers" c:identifier="glutSwapBuffers">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="WarpPointer" c:identifier="glutWarpPointer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="SetCursor" c:identifier="glutSetCursor">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cursor" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EstablishOverlay" c:identifier="glutEstablishOverlay">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="RemoveOverlay" c:identifier="glutRemoveOverlay">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="UseLayer" c:identifier="glutUseLayer">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="layer" transfer-ownership="none">
+          <type name="GL.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PostOverlayRedisplay"
+              c:identifier="glutPostOverlayRedisplay">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="PostWindowOverlayRedisplay"
+              c:identifier="glutPostWindowOverlayRedisplay">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="window" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ShowOverlay" c:identifier="glutShowOverlay">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="HideOverlay" c:identifier="glutHideOverlay">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="CreateMenu" c:identifier="glutCreateMenu">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="any" c:type="any*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DestroyMenu" c:identifier="glutDestroyMenu">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="menu" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetMenu" c:identifier="glutGetMenu">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+    </function>
+    <function name="SetMenu" c:identifier="glutSetMenu">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="menu" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="AddMenuEntry" c:identifier="glutAddMenuEntry">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="label" transfer-ownership="none">
+          <type name="utf8" c:type="char*"/>
+        </parameter>
+        <parameter name="value" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="AddSubMenu" c:identifier="glutAddSubMenu">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="label" transfer-ownership="none">
+          <type name="utf8" c:type="char*"/>
+        </parameter>
+        <parameter name="subMenu" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ChangeToMenuEntry"
+              c:identifier="glutChangeToMenuEntry">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="item" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="label" transfer-ownership="none">
+          <type name="utf8" c:type="char*"/>
+        </parameter>
+        <parameter name="value" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ChangeToSubMenu" c:identifier="glutChangeToSubMenu">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="item" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="label" transfer-ownership="none">
+          <type name="utf8" c:type="char*"/>
+        </parameter>
+        <parameter name="value" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="RemoveMenuItem" c:identifier="glutRemoveMenuItem">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="item" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="AttachMenu" c:identifier="glutAttachMenu">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="button" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DetachMenu" c:identifier="glutDetachMenu">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="button" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="PassiveMotionFunc"
+              c:identifier="glutPassiveMotionFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="any" c:type="any*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="JoystickFunc" c:identifier="glutJoystickFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback" transfer-ownership="none">
+          <type name="any" c:type="any*"/>
+        </parameter>
+        <parameter name="pollInterval" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="Get" c:identifier="glutGet">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="query" transfer-ownership="none">
+          <type name="GL.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="DeviceGet" c:identifier="glutDeviceGet">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="query" transfer-ownership="none">
+          <type name="GL.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetModifiers" c:identifier="glutGetModifiers">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+    </function>
+    <function name="LayerGet" c:identifier="glutLayerGet">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="query" transfer-ownership="none">
+          <type name="GL.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="BitmapCharacter" c:identifier="glutBitmapCharacter">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="font" transfer-ownership="none">
+          <type name="any" c:type="void*"/>
+        </parameter>
+        <parameter name="character" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="BitmapWidth" c:identifier="glutBitmapWidth">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="font" transfer-ownership="none">
+          <type name="any" c:type="void*"/>
+        </parameter>
+        <parameter name="character" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="StrokeCharacter" c:identifier="glutStrokeCharacter">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="font" transfer-ownership="none">
+          <type name="any" c:type="void*"/>
+        </parameter>
+        <parameter name="character" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="StrokeWidth" c:identifier="glutStrokeWidth">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="font" transfer-ownership="none">
+          <type name="any" c:type="void*"/>
+        </parameter>
+        <parameter name="character" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="BitmapLength" c:identifier="glutBitmapLength">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="font" transfer-ownership="none">
+          <type name="any" c:type="void*"/>
+        </parameter>
+        <parameter name="string" transfer-ownership="none">
+          <array c:type="unsigned char*">
+            <type name="uint8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="StrokeLength" c:identifier="glutStrokeLength">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="font" transfer-ownership="none">
+          <type name="any" c:type="void*"/>
+        </parameter>
+        <parameter name="string" transfer-ownership="none">
+          <array c:type="unsigned char*">
+            <type name="uint8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="WireCube" c:identifier="glutWireCube">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="SolidCube" c:identifier="glutSolidCube">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="WireSphere" c:identifier="glutWireSphere">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="radius" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="slices" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="stacks" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="SolidSphere" c:identifier="glutSolidSphere">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="radius" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="slices" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="stacks" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="WireCone" c:identifier="glutWireCone">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="base" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="slices" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="stacks" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="glutSolidCone" c:identifier="glutSolidCone">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="base" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="slices" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="stacks" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="WireTorus" c:identifier="glutWireTorus">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="innerRadius" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="outerRadius" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="sides" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="rings" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="SolidTorus" c:identifier="glutSolidTorus">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="innerRadius" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="outerRadius" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+        <parameter name="sides" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+        <parameter name="rings" transfer-ownership="none">
+          <type name="GLTypes.int" c:type="GLint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="WireDodecahedron" c:identifier="glutWireDodecahedron">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="SolidDodecahedron"
+              c:identifier="glutSolidDodecahedron">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="WireOctahedron" c:identifier="glutWireOctahedron">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="SolidOctahedron" c:identifier="glutSolidOctahedron">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="WireTetrahedron" c:identifier="glutWireTetrahedron">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="SolidTetrahedron" c:identifier="glutSolidTetrahedron">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="WireIcosahedron" c:identifier="glutWireIcosahedron">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="SolidIcosahedron" c:identifier="glutSolidIcosahedron">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="WireTeapot" c:identifier="glutWireTeapot">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="SolidTeapot" c:identifier="glutSolidTeapot">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" transfer-ownership="none">
+          <type name="GLTypes.double" c:type="GLdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GameModeString" c:identifier="glutGameModeString">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="string" transfer-ownership="none">
+          <type name="utf8" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="EnterGameMode" c:identifier="glutEnterGameMode">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+    </function>
+    <function name="LeaveGameMode" c:identifier="glutLeaveGameMode">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="GameModeGet" c:identifier="glutGameModeGet">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="query" transfer-ownership="none">
+          <type name="GL.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="VideoResizeGet" c:identifier="glutVideoResizeGet">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="query" transfer-ownership="none">
+          <type name="GL.enum" c:type="GLenum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="SetupVideoResizing"
+              c:identifier="glutSetupVideoResizing">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="StopVideoResizing"
+              c:identifier="glutStopVideoResizing">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="VideoResize" c:identifier="glutVideoResize">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="VideoPan" c:identifier="glutVideoPan">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="width" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="height" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="SetColor" c:identifier="glutSetColor">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="color" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="red" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="green" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+        <parameter name="blue" transfer-ownership="none">
+          <type name="GLTypes.float" c:type="GLfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="GetColor" c:identifier="glutGetColor">
+      <return-value transfer-ownership="full">
+        <type name="GLTypes.float" c:type="GLfloat"/>
+      </return-value>
+      <parameters>
+        <parameter name="color" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+        <parameter name="component" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="CopyColormap" c:identifier="glutCopyColormap">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="window" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="IgnoreKeyRepeat" c:identifier="glutIgnoreKeyRepeat">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ignore" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="SetKeyRepeat" c:identifier="glutSetKeyRepeat">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="repeatMode" transfer-ownership="none">
+          <type name="int" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ForceJoystickFunc"
+              c:identifier="glutForceJoystickFunc">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="ExtensionSupported"
+              c:identifier="glutExtensionSupported">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="extension" transfer-ownership="none">
+          <type name="utf8" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ReportErrors" c:identifier="glutReportErrors">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <constant name="FREEGLUT" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="API_VERSION" value="4">
+      <type name="int"/>
+    </constant>
+    <constant name="FREEGLUT_VERSION_2_0" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="XLIB_IMPLEMENTATION" value="13">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F1" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F2" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F3" value="3">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F4" value="4">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F5" value="5">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F6" value="6">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F7" value="7">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F8" value="8">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F9" value="9">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F10" value="10">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F11" value="11">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_F12" value="12">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_LEFT" value="100">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_UP" value="101">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_RIGHT" value="102">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_DOWN" value="103">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_PAGE_UP" value="104">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_PAGE_DOWN" value="105">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_HOME" value="106">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_END" value="107">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_INSERT" value="108">
+      <type name="int"/>
+    </constant>
+    <constant name="LEFT_BUTTON" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="MIDDLE_BUTTON" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="RIGHT_BUTTON" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="DOWN" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="UP" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="LEFT" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="ENTERED" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="RGB" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="RGBA" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="INDEX" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="SINGLE" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="DOUBLE" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="ACCUM" value="4">
+      <type name="int"/>
+    </constant>
+    <constant name="ALPHA" value="8">
+      <type name="int"/>
+    </constant>
+    <constant name="DEPTH" value="16">
+      <type name="int"/>
+    </constant>
+    <constant name="STENCIL" value="32">
+      <type name="int"/>
+    </constant>
+    <constant name="MULTISAMPLE" value="128">
+      <type name="int"/>
+    </constant>
+    <constant name="STEREO" value="256">
+      <type name="int"/>
+    </constant>
+    <constant name="LUMINANCE" value="512">
+      <type name="int"/>
+    </constant>
+    <constant name="MENU_NOT_IN_USE" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="MENU_IN_USE" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="NOT_VISIBLE" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="VISIBLE" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="HIDDEN" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="FULLY_RETAINED" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="PARTIALLY_RETAINED" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="FULLY_COVERED" value="3">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_X" value="100">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_Y" value="101">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_WIDTH" value="102">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_HEIGHT" value="103">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_BUFFER_SIZE" value="104">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_STENCIL_SIZE" value="105">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_DEPTH_SIZE" value="106">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_RED_SIZE" value="107">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_GREEN_SIZE" value="108">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_BLUE_SIZE" value="109">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_ALPHA_SIZE" value="110">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_ACCUM_RED_SIZE" value="111">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_ACCUM_GREEN_SIZE" value="112">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_ACCUM_BLUE_SIZE" value="113">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_ACCUM_ALPHA_SIZE" value="114">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_DOUBLEBUFFER" value="115">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_RGBA" value="116">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_PARENT" value="117">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_NUM_CHILDREN" value="118">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_COLORMAP_SIZE" value="119">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_NUM_SAMPLES" value="120">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_STEREO" value="121">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_CURSOR" value="122">
+      <type name="int"/>
+    </constant>
+    <constant name="SCREEN_WIDTH" value="200">
+      <type name="int"/>
+    </constant>
+    <constant name="SCREEN_HEIGHT" value="201">
+      <type name="int"/>
+    </constant>
+    <constant name="SCREEN_WIDTH_MM" value="202">
+      <type name="int"/>
+    </constant>
+    <constant name="SCREEN_HEIGHT_MM" value="203">
+      <type name="int"/>
+    </constant>
+    <constant name="MENU_NUM_ITEMS" value="300">
+      <type name="int"/>
+    </constant>
+    <constant name="DISPLAY_MODE_POSSIBLE" value="400">
+      <type name="int"/>
+    </constant>
+    <constant name="INIT_WINDOW_X" value="500">
+      <type name="int"/>
+    </constant>
+    <constant name="INIT_WINDOW_Y" value="501">
+      <type name="int"/>
+    </constant>
+    <constant name="INIT_WINDOW_WIDTH" value="502">
+      <type name="int"/>
+    </constant>
+    <constant name="INIT_WINDOW_HEIGHT" value="503">
+      <type name="int"/>
+    </constant>
+    <constant name="INIT_DISPLAY_MODE" value="504">
+      <type name="int"/>
+    </constant>
+    <constant name="ELAPSED_TIME" value="700">
+      <type name="int"/>
+    </constant>
+    <constant name="WINDOW_FORMAT_ID" value="123">
+      <type name="int"/>
+    </constant>
+    <constant name="INIT_STATE" value="124">
+      <type name="int"/>
+    </constant>
+    <constant name="HAS_KEYBOARD" value="600">
+      <type name="int"/>
+    </constant>
+    <constant name="HAS_MOUSE" value="601">
+      <type name="int"/>
+    </constant>
+    <constant name="HAS_SPACEBALL" value="602">
+      <type name="int"/>
+    </constant>
+    <constant name="HAS_DIAL_AND_BUTTON_BOX" value="603">
+      <type name="int"/>
+    </constant>
+    <constant name="HAS_TABLET" value="604">
+      <type name="int"/>
+    </constant>
+    <constant name="NUM_MOUSE_BUTTONS" value="605">
+      <type name="int"/>
+    </constant>
+    <constant name="NUM_SPACEBALL_BUTTONS" value="606">
+      <type name="int"/>
+    </constant>
+    <constant name="NUM_BUTTON_BOX_BUTTONS" value="607">
+      <type name="int"/>
+    </constant>
+    <constant name="NUM_DIALS" value="608">
+      <type name="int"/>
+    </constant>
+    <constant name="NUM_TABLET_BUTTONS" value="609">
+      <type name="int"/>
+    </constant>
+    <constant name="DEVICE_IGNORE_KEY_REPEAT" value="610">
+      <type name="int"/>
+    </constant>
+    <constant name="DEVICE_KEY_REPEAT" value="611">
+      <type name="int"/>
+    </constant>
+    <constant name="HAS_JOYSTICK" value="612">
+      <type name="int"/>
+    </constant>
+    <constant name="OWNS_JOYSTICK" value="613">
+      <type name="int"/>
+    </constant>
+    <constant name="JOYSTICK_BUTTONS" value="614">
+      <type name="int"/>
+    </constant>
+    <constant name="JOYSTICK_AXES" value="615">
+      <type name="int"/>
+    </constant>
+    <constant name="JOYSTICK_POLL_RATE" value="616">
+      <type name="int"/>
+    </constant>
+    <constant name="OVERLAY_POSSIBLE" value="800">
+      <type name="int"/>
+    </constant>
+    <constant name="LAYER_IN_USE" value="801">
+      <type name="int"/>
+    </constant>
+    <constant name="HAS_OVERLAY" value="802">
+      <type name="int"/>
+    </constant>
+    <constant name="TRANSPARENT_INDEX" value="803">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL_DAMAGED" value="804">
+      <type name="int"/>
+    </constant>
+    <constant name="OVERLAY_DAMAGED" value="805">
+      <type name="int"/>
+    </constant>
+    <constant name="VIDEO_RESIZE_POSSIBLE" value="900">
+      <type name="int"/>
+    </constant>
+    <constant name="VIDEO_RESIZE_IN_USE" value="901">
+      <type name="int"/>
+    </constant>
+    <constant name="VIDEO_RESIZE_X_DELTA" value="902">
+      <type name="int"/>
+    </constant>
+    <constant name="VIDEO_RESIZE_Y_DELTA" value="903">
+      <type name="int"/>
+    </constant>
+    <constant name="VIDEO_RESIZE_WIDTH_DELTA" value="904">
+      <type name="int"/>
+    </constant>
+    <constant name="VIDEO_RESIZE_HEIGHT_DELTA" value="905">
+      <type name="int"/>
+    </constant>
+    <constant name="VIDEO_RESIZE_X" value="906">
+      <type name="int"/>
+    </constant>
+    <constant name="VIDEO_RESIZE_Y" value="907">
+      <type name="int"/>
+    </constant>
+    <constant name="VIDEO_RESIZE_WIDTH" value="908">
+      <type name="int"/>
+    </constant>
+    <constant name="VIDEO_RESIZE_HEIGHT" value="909">
+      <type name="int"/>
+    </constant>
+    <constant name="NORMAL" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="OVERLAY" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="ACTIVE_SHIFT" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="ACTIVE_CTRL" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="ACTIVE_ALT" value="4">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_RIGHT_ARROW" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_LEFT_ARROW" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_INFO" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_DESTROY" value="3">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_HELP" value="4">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_CYCLE" value="5">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_SPRAY" value="6">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_WAIT" value="7">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_TEXT" value="8">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_CROSSHAIR" value="9">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_UP_DOWN" value="10">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_LEFT_RIGHT" value="11">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_TOP_SIDE" value="12">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_BOTTOM_SIDE" value="13">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_LEFT_SIDE" value="14">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_RIGHT_SIDE" value="15">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_TOP_LEFT_CORNER" value="16">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_TOP_RIGHT_CORNER" value="17">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_BOTTOM_RIGHT_CORNER" value="18">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_BOTTOM_LEFT_CORNER" value="19">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_INHERIT" value="100">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_NONE" value="101">
+      <type name="int"/>
+    </constant>
+    <constant name="CURSOR_FULL_CROSSHAIR" value="102">
+      <type name="int"/>
+    </constant>
+    <constant name="RED" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="GREEN" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="BLUE" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_REPEAT_OFF" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_REPEAT_ON" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="KEY_REPEAT_DEFAULT" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="JOYSTICK_BUTTON_A" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="JOYSTICK_BUTTON_B" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="JOYSTICK_BUTTON_C" value="4">
+      <type name="int"/>
+    </constant>
+    <constant name="JOYSTICK_BUTTON_D" value="8">
+      <type name="int"/>
+    </constant>
+    <constant name="GAME_MODE_ACTIVE" value="0">
+      <type name="int"/>
+    </constant>
+    <constant name="GAME_MODE_POSSIBLE" value="1">
+      <type name="int"/>
+    </constant>
+    <constant name="GAME_MODE_WIDTH" value="2">
+      <type name="int"/>
+    </constant>
+    <constant name="GAME_MODE_HEIGHT" value="3">
+      <type name="int"/>
+    </constant>
+    <constant name="GAME_MODE_PIXEL_DEPTH" value="4">
+      <type name="int"/>
+    </constant>
+    <constant name="GAME_MODE_REFRESH_RATE" value="5">
+      <type name="int"/>
+    </constant>
+    <constant name="GAME_MODE_DISPLAY_CHANGED" value="6">
+      <type name="int"/>
+    </constant>
+  </namespace>
+</repository>

Added: trunk/opengl-glib/Makefile.am
==============================================================================
--- (empty file)
+++ trunk/opengl-glib/Makefile.am	Mon Jan 19 21:07:37 2009
@@ -0,0 +1,14 @@
+girdir = $(datadir)/gir
+gir_DATA = GL-1.0.gir GLUT-1.0.gir GLTypes-1.0.gir
+
+typelibdir = $(libdir)/girepository
+typelib_DATA = GL-1.0.typelib GLUT-1.0.typelib GLTypes-1.0.typelib
+
+
+GL-1.0.typelib: GLTypes-1.0.typelib
+	g-ir-compiler --includedir=. GL-1.0.gir -o GL-1.0.typelib
+GLTypes-1.0.typelib:
+	g-ir-compiler --includedir=. GLTypes-1.0.gir -o GLTypes-1.0.typelib
+GLUT-1.0.typelib: GL-1.0.typelib
+	g-ir-compiler --includedir=. GLUT-1.0.gir -o GLUT-1.0.typelib
+	



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]