;DESCRIPTION 'Mesa GLU (OpenGL work-alike) for Win32'
VERSION 5.1
;
; Module definition file for GLU (GLU32.DLL)
;
; Note: The GLU functions use the STDCALL
; function calling convention.  Microsoft's
; GLU32 uses this convention and so must the
; Mesa GLU32 so that the Mesa DLL can be used
; as a drop-in replacement.
;
; The linker exports STDCALL entry points with
; 'decorated' names; e.g., _glBegin@0, where the
; trailing number is the number of bytes of 
; parameter data pushed onto the stack.  The
; callee is responsible for popping this data
; off the stack, usually via a RETF n instruction.
;
; However, the Microsoft GLU32.DLL does not export
; the decorated names, even though the calling convention
; is STDCALL.  So, this module definition file is
; needed to force the Mesa GLU32.DLL to export the
; symbols in the same manner as the Microsoft DLL.
; Were it not for this problem, this file would not
; be needed (for the glu* functions) since the entry
; points are compiled with dllexport declspec.
;

EXPORTS
	gluBeginCurve
	gluBeginPolygon
	gluBeginSurface
	gluBeginTrim
	gluBuild1DMipmapLevels
	gluBuild1DMipmaps
	gluBuild2DMipmapLevels
	gluBuild2DMipmaps
	gluBuild3DMipmapLevels
	gluBuild3DMipmaps
	gluCheckExtension
	gluCylinder
	gluDeleteNurbsRenderer
	gluDeleteQuadric
	gluDeleteTess
	gluDisk
	gluEndCurve
	gluEndPolygon
	gluEndSurface
	gluEndTrim
	gluErrorString
	gluGetNurbsProperty
	gluGetString
	gluGetTessProperty
	gluLoadSamplingMatrices
	gluLookAt
	gluNewNurbsRenderer
	gluNewQuadric
	gluNewTess
	gluNextContour
	gluNurbsCallback
	gluNurbsCallbackData
	gluNurbsCallbackDataEXT
	gluNurbsCurve
	gluNurbsProperty
	gluNurbsSurface
	gluOrtho2D
	gluPartialDisk
	gluPerspective
	gluPickMatrix
	gluProject
	gluPwlCurve
	gluQuadricCallback
	gluQuadricDrawStyle
	gluQuadricNormals
	gluQuadricOrientation
	gluQuadricTexture
	gluScaleImage
	gluSphere
	gluTessBeginContour
	gluTessBeginPolygon
	gluTessCallback
	gluTessEndContour
	gluTessEndPolygon
	gluTessNormal
	gluTessProperty
	gluTessVertex
	gluUnProject
	gluUnProject4
