#ifndef CLIB_GLU_PROTOS_H
#define CLIB_GLU_PROTOS_H

/*
    *** Automatically generated from '/home/aros/ABIv0/Build/20110803/AROS/workbench/libs/mesa/src/aros/glu/glu.conf'. Edits will be lost. ***
    Copyright © 1995-2011, The AROS Development Team. All rights reserved.
*/

#include <aros/libcall.h>

#include <GL/glu.h>

__BEGIN_DECLS

AROS_LP1(void, gluBeginCurve,
         AROS_LPA(GLUnurbs *, nurb, A0),
         LIBBASETYPEPTR, GluBase, 35, Glu
);
AROS_LP1(void, gluBeginPolygon,
         AROS_LPA(GLUtesselator *, tess, A0),
         LIBBASETYPEPTR, GluBase, 36, Glu
);
AROS_LP1(void, gluBeginSurface,
         AROS_LPA(GLUnurbs *, nurb, A0),
         LIBBASETYPEPTR, GluBase, 37, Glu
);
AROS_LP1(void, gluBeginTrim,
         AROS_LPA(GLUnurbs *, nurb, A0),
         LIBBASETYPEPTR, GluBase, 38, Glu
);
AROS_LP9(GLint, gluBuild1DMipmapLevels,
         AROS_LPA(GLenum, target, D0),
         AROS_LPA(GLint, internalFormat, D1),
         AROS_LPA(GLsizei, width, D2),
         AROS_LPA(GLenum, format, D3),
         AROS_LPA(GLenum, type, D4),
         AROS_LPA(GLint, level, D5),
         AROS_LPA(GLint, base, D6),
         AROS_LPA(GLint, max, D7),
         AROS_LPA(const void *, data, A0),
         LIBBASETYPEPTR, GluBase, 39, Glu
);
AROS_LP6(GLint, gluBuild1DMipmaps,
         AROS_LPA(GLenum, target, D0),
         AROS_LPA(GLint, internalFormat, D1),
         AROS_LPA(GLsizei, width, D2),
         AROS_LPA(GLenum, format, D3),
         AROS_LPA(GLenum, type, D4),
         AROS_LPA(const void *, data, A0),
         LIBBASETYPEPTR, GluBase, 40, Glu
);
AROS_LP10(GLint, gluBuild2DMipmapLevels,
         AROS_LPA(GLenum, target, D0),
         AROS_LPA(GLint, internalFormat, D1),
         AROS_LPA(GLsizei, width, D2),
         AROS_LPA(GLsizei, height, D3),
         AROS_LPA(GLenum, format, D4),
         AROS_LPA(GLenum, type, D5),
         AROS_LPA(GLint, level, D6),
         AROS_LPA(GLint, base, D7),
         AROS_LPA(GLint, max, A0),
         AROS_LPA(const void *, data, A1),
         LIBBASETYPEPTR, GluBase, 41, Glu
);
AROS_LP7(GLint, gluBuild2DMipmaps,
         AROS_LPA(GLenum, target, D0),
         AROS_LPA(GLint, internalFormat, D1),
         AROS_LPA(GLsizei, width, D2),
         AROS_LPA(GLsizei, height, D3),
         AROS_LPA(GLenum, format, D4),
         AROS_LPA(GLenum, type, D5),
         AROS_LPA(const void *, data, A0),
         LIBBASETYPEPTR, GluBase, 42, Glu
);
AROS_LP11(GLint, gluBuild3DMipmapLevels,
         AROS_LPA(GLenum, target, D0),
         AROS_LPA(GLint, internalFormat, D1),
         AROS_LPA(GLsizei, width, D2),
         AROS_LPA(GLsizei, height, D3),
         AROS_LPA(GLsizei, depth, D4),
         AROS_LPA(GLenum, format, D5),
         AROS_LPA(GLenum, type, D6),
         AROS_LPA(GLint, level, D7),
         AROS_LPA(GLint, base, A0),
         AROS_LPA(GLint, max, A1),
         AROS_LPA(const void *, data, A2),
         LIBBASETYPEPTR, GluBase, 43, Glu
);
AROS_LP8(GLint, gluBuild3DMipmaps,
         AROS_LPA(GLenum, target, D0),
         AROS_LPA(GLint, internalFormat, D1),
         AROS_LPA(GLsizei, width, D2),
         AROS_LPA(GLsizei, height, D3),
         AROS_LPA(GLsizei, depth, D4),
         AROS_LPA(GLenum, format, D5),
         AROS_LPA(GLenum, type, D6),
         AROS_LPA(const void *, data, A0),
         LIBBASETYPEPTR, GluBase, 44, Glu
);
AROS_LP2(GLboolean, gluCheckExtension,
         AROS_LPA(const GLubyte *, extName, A0),
         AROS_LPA(const GLubyte *, extString, A1),
         LIBBASETYPEPTR, GluBase, 45, Glu
);
AROS_LP6(void, gluCylinder,
         AROS_LPA(GLUquadric *, quad, A0),
         AROS_LPA(GLdouble, base, D0),
         AROS_LPA(GLdouble, top, D1),
         AROS_LPA(GLdouble, height, D2),
         AROS_LPA(GLint, slices, D3),
         AROS_LPA(GLint, stacks, D4),
         LIBBASETYPEPTR, GluBase, 46, Glu
);
AROS_LP1(void, gluDeleteNurbsRenderer,
         AROS_LPA(GLUnurbs *, nurb, A0),
         LIBBASETYPEPTR, GluBase, 47, Glu
);
AROS_LP1(void, gluDeleteQuadric,
         AROS_LPA(GLUquadric *, quad, A0),
         LIBBASETYPEPTR, GluBase, 48, Glu
);
AROS_LP1(void, gluDeleteTess,
         AROS_LPA(GLUtesselator *, tess, A0),
         LIBBASETYPEPTR, GluBase, 49, Glu
);
AROS_LP5(void, gluDisk,
         AROS_LPA(GLUquadric *, quad, A0),
         AROS_LPA(GLdouble, inner, D0),
         AROS_LPA(GLdouble, outer, D1),
         AROS_LPA(GLint, slices, D2),
         AROS_LPA(GLint, loops, D3),
         LIBBASETYPEPTR, GluBase, 50, Glu
);
AROS_LP1(void, gluEndCurve,
         AROS_LPA(GLUnurbs *, nurb, A0),
         LIBBASETYPEPTR, GluBase, 51, Glu
);
AROS_LP1(void, gluEndPolygon,
         AROS_LPA(GLUtesselator *, tess, A0),
         LIBBASETYPEPTR, GluBase, 52, Glu
);
AROS_LP1(void, gluEndSurface,
         AROS_LPA(GLUnurbs *, nurb, A0),
         LIBBASETYPEPTR, GluBase, 53, Glu
);
AROS_LP1(void, gluEndTrim,
         AROS_LPA(GLUnurbs *, nurb, A0),
         LIBBASETYPEPTR, GluBase, 54, Glu
);
AROS_LP1(const GLubyte *, gluErrorString,
         AROS_LPA(GLenum, error, D0),
         LIBBASETYPEPTR, GluBase, 55, Glu
);
AROS_LP3(void, gluGetNurbsProperty,
         AROS_LPA(GLUnurbs *, nurb, A0),
         AROS_LPA(GLenum, property, D0),
         AROS_LPA(GLfloat *, data, A1),
         LIBBASETYPEPTR, GluBase, 56, Glu
);
AROS_LP1(const GLubyte *, gluGetString,
         AROS_LPA(GLenum, name, D0),
         LIBBASETYPEPTR, GluBase, 57, Glu
);
AROS_LP3(void, gluGetTessProperty,
         AROS_LPA(GLUtesselator *, tess, A0),
         AROS_LPA(GLenum, which, D0),
         AROS_LPA(GLdouble *, data, A1),
         LIBBASETYPEPTR, GluBase, 58, Glu
);
AROS_LP4(void, gluLoadSamplingMatrices,
         AROS_LPA(GLUnurbs *, nurb, A0),
         AROS_LPA(const GLfloat *, model, A1),
         AROS_LPA(const GLfloat *, perspective, A2),
         AROS_LPA(const GLint *, view, A3),
         LIBBASETYPEPTR, GluBase, 59, Glu
);
AROS_LP9(void, gluLookAt,
         AROS_LPA(GLdouble, eyeX, D0),
         AROS_LPA(GLdouble, eyeY, D1),
         AROS_LPA(GLdouble, eyeZ, D2),
         AROS_LPA(GLdouble, centerX, D3),
         AROS_LPA(GLdouble, centerY, D4),
         AROS_LPA(GLdouble, centerZ, D5),
         AROS_LPA(GLdouble, upX, D6),
         AROS_LPA(GLdouble, upY, D7),
         AROS_LPA(GLdouble, upZ, A0),
         LIBBASETYPEPTR, GluBase, 60, Glu
);
AROS_LP0(GLUnurbs*, gluNewNurbsRenderer,
         LIBBASETYPEPTR, GluBase, 61, Glu
);
AROS_LP0(GLUquadric*, gluNewQuadric,
         LIBBASETYPEPTR, GluBase, 62, Glu
);
AROS_LP0(GLUtesselator*, gluNewTess,
         LIBBASETYPEPTR, GluBase, 63, Glu
);
AROS_LP2(void, gluNextContour,
         AROS_LPA(GLUtesselator *, tess, A0),
         AROS_LPA(GLenum, type, D0),
         LIBBASETYPEPTR, GluBase, 64, Glu
);
AROS_LP3(void, gluNurbsCallback,
         AROS_LPA(GLUnurbs *, nurb, A0),
         AROS_LPA(GLenum, which, D0),
         AROS_LPA(_GLUfuncptr, CallBackFunc, D1),
         LIBBASETYPEPTR, GluBase, 65, Glu
);
AROS_LP2(void, gluNurbsCallbackData,
         AROS_LPA(GLUnurbs *, nurb, A0),
         AROS_LPA(GLvoid *, userData, A1),
         LIBBASETYPEPTR, GluBase, 66, Glu
);
AROS_LP2(void, gluNurbsCallbackDataEXT,
         AROS_LPA(GLUnurbs *, nurb, A0),
         AROS_LPA(GLvoid *, userData, A1),
         LIBBASETYPEPTR, GluBase, 67, Glu
);
AROS_LP7(void, gluNurbsCurve,
         AROS_LPA(GLUnurbs *, nurb, A0),
         AROS_LPA(GLint, knotCount, D0),
         AROS_LPA(GLfloat *, knots, A1),
         AROS_LPA(GLint, stride, D1),
         AROS_LPA(GLfloat *, control, A2),
         AROS_LPA(GLint, order, D2),
         AROS_LPA(GLenum, type, D3),
         LIBBASETYPEPTR, GluBase, 68, Glu
);
AROS_LP3(void, gluNurbsProperty,
         AROS_LPA(GLUnurbs *, nurb, A0),
         AROS_LPA(GLenum, property, D0),
         AROS_LPA(GLfloat, value, D1),
         LIBBASETYPEPTR, GluBase, 69, Glu
);
AROS_LP11(void, gluNurbsSurface,
         AROS_LPA(GLUnurbs *, nurb, A0),
         AROS_LPA(GLint, sKnotCount, D0),
         AROS_LPA(GLfloat *, sKnots, A1),
         AROS_LPA(GLint, tKnotCount, D1),
         AROS_LPA(GLfloat *, tKnots, A2),
         AROS_LPA(GLint, sStride, D2),
         AROS_LPA(GLint, tStride, D3),
         AROS_LPA(GLfloat *, control, A3),
         AROS_LPA(GLint, sOrder, D4),
         AROS_LPA(GLint, tOrder, D5),
         AROS_LPA(GLenum, type, D6),
         LIBBASETYPEPTR, GluBase, 70, Glu
);
AROS_LP4(void, gluOrtho2D,
         AROS_LPA(GLdouble, left, D0),
         AROS_LPA(GLdouble, right, D1),
         AROS_LPA(GLdouble, bottom, D2),
         AROS_LPA(GLdouble, top, D3),
         LIBBASETYPEPTR, GluBase, 71, Glu
);
AROS_LP7(void, gluPartialDisk,
         AROS_LPA(GLUquadric *, quad, A0),
         AROS_LPA(GLdouble, inner, D0),
         AROS_LPA(GLdouble, outer, D1),
         AROS_LPA(GLint, slices, D2),
         AROS_LPA(GLint, loops, D3),
         AROS_LPA(GLdouble, start, D4),
         AROS_LPA(GLdouble, sweep, D5),
         LIBBASETYPEPTR, GluBase, 72, Glu
);
AROS_LP4(void, gluPerspective,
         AROS_LPA(GLdouble, fovy, D0),
         AROS_LPA(GLdouble, aspect, D1),
         AROS_LPA(GLdouble, zNear, D2),
         AROS_LPA(GLdouble, zFar, D3),
         LIBBASETYPEPTR, GluBase, 73, Glu
);
AROS_LP5(void, gluPickMatrix,
         AROS_LPA(GLdouble, x, D0),
         AROS_LPA(GLdouble, y, D1),
         AROS_LPA(GLdouble, delX, D2),
         AROS_LPA(GLdouble, delY, D3),
         AROS_LPA(GLint *, viewport, A0),
         LIBBASETYPEPTR, GluBase, 74, Glu
);
AROS_LP9(GLint, gluProject,
         AROS_LPA(GLdouble, objX, D0),
         AROS_LPA(GLdouble, objY, D1),
         AROS_LPA(GLdouble, objZ, D2),
         AROS_LPA(const GLdouble *, model, A0),
         AROS_LPA(const GLdouble *, proj, A1),
         AROS_LPA(const GLint *, view, A2),
         AROS_LPA(GLdouble *, winX, A3),
         AROS_LPA(GLdouble *, winY, A4),
         AROS_LPA(GLdouble *, winZ, A5),
         LIBBASETYPEPTR, GluBase, 75, Glu
);
AROS_LP5(void, gluPwlCurve,
         AROS_LPA(GLUnurbs *, nurb, A0),
         AROS_LPA(GLint, count, D0),
         AROS_LPA(GLfloat *, data, A1),
         AROS_LPA(GLint, stride, D1),
         AROS_LPA(GLenum, type, D2),
         LIBBASETYPEPTR, GluBase, 76, Glu
);
AROS_LP3(void, gluQuadricCallback,
         AROS_LPA(GLUquadric *, quad, A0),
         AROS_LPA(GLenum, which, D0),
         AROS_LPA(_GLUfuncptr, CallBackFunc, D1),
         LIBBASETYPEPTR, GluBase, 77, Glu
);
AROS_LP2(void, gluQuadricDrawStyle,
         AROS_LPA(GLUquadric *, quad, A0),
         AROS_LPA(GLenum, draw, D0),
         LIBBASETYPEPTR, GluBase, 78, Glu
);
AROS_LP2(void, gluQuadricNormals,
         AROS_LPA(GLUquadric *, quad, A0),
         AROS_LPA(GLenum, normal, D0),
         LIBBASETYPEPTR, GluBase, 79, Glu
);
AROS_LP2(void, gluQuadricOrientation,
         AROS_LPA(GLUquadric *, quad, A0),
         AROS_LPA(GLenum, orientation, D0),
         LIBBASETYPEPTR, GluBase, 80, Glu
);
AROS_LP2(void, gluQuadricTexture,
         AROS_LPA(GLUquadric *, quad, A0),
         AROS_LPA(GLboolean, texture, D0),
         LIBBASETYPEPTR, GluBase, 81, Glu
);
AROS_LP9(GLint, gluScaleImage,
         AROS_LPA(GLenum, format, D0),
         AROS_LPA(GLsizei, wIn, D1),
         AROS_LPA(GLsizei, hIn, D2),
         AROS_LPA(GLenum, typeIn, D3),
         AROS_LPA(const void *, dataIn, A0),
         AROS_LPA(GLsizei, wOut, D4),
         AROS_LPA(GLsizei, hOut, D5),
         AROS_LPA(GLenum, typeOut, D6),
         AROS_LPA(GLvoid *, dataOut, A1),
         LIBBASETYPEPTR, GluBase, 82, Glu
);
AROS_LP4(void, gluSphere,
         AROS_LPA(GLUquadric *, quad, A0),
         AROS_LPA(GLdouble, radius, D0),
         AROS_LPA(GLint, slices, D1),
         AROS_LPA(GLint, stacks, D2),
         LIBBASETYPEPTR, GluBase, 83, Glu
);
AROS_LP1(void, gluTessBeginContour,
         AROS_LPA(GLUtesselator *, tess, A0),
         LIBBASETYPEPTR, GluBase, 84, Glu
);
AROS_LP2(void, gluTessBeginPolygon,
         AROS_LPA(GLUtesselator *, tess, A0),
         AROS_LPA(GLvoid *, data, A1),
         LIBBASETYPEPTR, GluBase, 85, Glu
);
AROS_LP3(void, gluTessCallback,
         AROS_LPA(GLUtesselator *, tess, A0),
         AROS_LPA(GLenum, which, D0),
         AROS_LPA(_GLUfuncptr, CallBackFunc, D1),
         LIBBASETYPEPTR, GluBase, 86, Glu
);
AROS_LP1(void, gluTessEndContour,
         AROS_LPA(GLUtesselator *, tess, A0),
         LIBBASETYPEPTR, GluBase, 87, Glu
);
AROS_LP1(void, gluTessEndPolygon,
         AROS_LPA(GLUtesselator *, tess, A0),
         LIBBASETYPEPTR, GluBase, 88, Glu
);
AROS_LP4(void, gluTessNormal,
         AROS_LPA(GLUtesselator *, tess, A0),
         AROS_LPA(GLdouble, valueX, D0),
         AROS_LPA(GLdouble, valueY, D1),
         AROS_LPA(GLdouble, valueZ, D2),
         LIBBASETYPEPTR, GluBase, 89, Glu
);
AROS_LP3(void, gluTessProperty,
         AROS_LPA(GLUtesselator *, tess, A0),
         AROS_LPA(GLenum, which, D0),
         AROS_LPA(GLdouble, data, D1),
         LIBBASETYPEPTR, GluBase, 90, Glu
);
AROS_LP3(void, gluTessVertex,
         AROS_LPA(GLUtesselator *, tess, A0),
         AROS_LPA(GLdouble *, location, A1),
         AROS_LPA(GLvoid *, data, A2),
         LIBBASETYPEPTR, GluBase, 91, Glu
);
AROS_LP9(GLint, gluUnProject,
         AROS_LPA(GLdouble, winX, D0),
         AROS_LPA(GLdouble, winY, D1),
         AROS_LPA(GLdouble, winZ, D2),
         AROS_LPA(const GLdouble *, model, A0),
         AROS_LPA(const GLdouble *, proj, A1),
         AROS_LPA(const GLint *, view, A2),
         AROS_LPA(GLdouble *, objX, A3),
         AROS_LPA(GLdouble *, objY, A4),
         AROS_LPA(GLdouble *, objZ, A5),
         LIBBASETYPEPTR, GluBase, 92, Glu
);

__END_DECLS

#endif /* CLIB_GLU_PROTOS_H */
