<?xml version="1.0"?>
<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">

<!-- Note: no GLX protocol info yet. -->


<OpenGLAPI>

<category name="GL_ARB_robustness" number="105">

    <enum name="GUILTY_CONTEXT_RESET_ARB"                 value="0x8253"/>
    <enum name="INNOCENT_CONTEXT_RESET_ARB"               value="0x8254"/>
    <enum name="UNKNOWN_CONTEXT_RESET_ARB"                value="0x8255"/>

    <enum name="RESET_NOTIFICATION_STRATEGY_ARB" count="1" value="0x8256">
        <size name="Get" mode="get"/>
    </enum>
    <enum name="LOSE_CONTEXT_ON_RESET_ARB"                value="0x8252"/>
    <enum name="NO_RESET_NOTIFICATION_ARB"                value="0x8261"/>

    <enum name="CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB"       value="0x00000004"/>

    <function name="GetGraphicsResetStatusARB" offset="assign">
        <return type="GLenum"/>
    </function>

<!-- OpenGL 1.0 sized buffer queries -->
    <function name="GetnMapdvARB" offset="assign">
        <param name="target" type="GLenum"/>
        <param name="query" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="v" type="GLdouble *" output="true"/>
    </function>

    <function name="GetnMapfvARB" offset="assign">
        <param name="target" type="GLenum"/>
        <param name="query" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="v" type="GLfloat *" output="true"/>
    </function>

    <function name="GetnMapivARB" offset="assign">
        <param name="target" type="GLenum"/>
        <param name="query" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="v" type="GLint *" output="true"/>
    </function>



    <function name="GetnPixelMapfvARB" offset="assign">
        <param name="map" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="values" type="GLfloat *" output="true"/>
    </function>

    <function name="GetnPixelMapuivARB" offset="assign">
        <param name="map" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="values" type="GLuint *" output="true"/>
    </function>

    <function name="GetnPixelMapusvARB" offset="assign">
        <param name="map" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="values" type="GLushort *" output="true"/>
    </function>



    <function name="GetnPolygonStippleARB" offset="assign">
        <param name="bufSize" type="GLsizei"/>
        <param name="pattern" type="GLubyte *" output="true"/>
    </function>

    <function name="GetnTexImageARB" offset="assign">
        <param name="target" type="GLenum"/>
        <param name="level" type="GLint"/>
        <param name="format" type="GLenum"/>
        <param name="type" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="img" type="GLvoid *" output="true"/>
    </function>

    <function name="ReadnPixelsARB" offset="assign">
        <param name="x" type="GLint"/>
        <param name="y" type="GLint"/>
        <param name="width" type="GLsizei"/>
        <param name="height" type="GLsizei"/>
        <param name="format" type="GLenum"/>
        <param name="type" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="data" type="GLvoid *" output="true"/>
    </function>


<!-- ARB_imaging sized buffer queries -->
    <function name="GetnColorTableARB" offset="assign">
        <param name="target" type="GLenum"/>
        <param name="format" type="GLenum"/>
        <param name="type" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="table" type="GLvoid *" output="true"/>
    </function>

    <function name="GetnConvolutionFilterARB" offset="assign">
        <param name="target" type="GLenum"/>
        <param name="format" type="GLenum"/>
        <param name="type" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="image" type="GLvoid *" output="true"/>
    </function>

    <function name="GetnSeparableFilterARB" offset="assign">
        <param name="target" type="GLenum"/>
        <param name="format" type="GLenum"/>
        <param name="type" type="GLenum"/>
        <param name="rowBufSize" type="GLsizei"/>
        <param name="row" type="GLvoid *" output="true"/>
        <param name="columnBufSize" type="GLsizei"/>
        <param name="column" type="GLvoid *" output="true"/>
        <param name="span" type="GLvoid *" output="true"/>
    </function>

    <function name="GetnHistogramARB" offset="assign">
        <param name="target" type="GLenum"/>
        <param name="reset" type="GLboolean"/>
        <param name="format" type="GLenum"/>
        <param name="type" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="values" type="GLvoid *" output="true"/>
    </function>

    <function name="GetnMinmaxARB" offset="assign">
        <param name="target" type="GLenum"/>
        <param name="reset" type="GLboolean"/>
        <param name="format" type="GLenum"/>
        <param name="type" type="GLenum"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="values" type="GLvoid *" output="true"/>
    </function>


<!-- OpenGL 1.3 sized buffer queries -->
    <function name="GetnCompressedTexImageARB" offset="assign">
        <param name="target" type="GLenum"/>
        <param name="lod" type="GLint"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="img" type="GLvoid *" output="true"/>
    </function>


<!-- OpenGL 2.0 sized buffer queries -->
    <function name="GetnUniformfvARB" offset="assign">
        <param name="program" type="GLhandleARB"/>
        <param name="location" type="GLint"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="params" type="GLfloat *" output="true"/>
    </function>

    <function name="GetnUniformivARB" offset="assign">
        <param name="program" type="GLhandleARB"/>
        <param name="location" type="GLint"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="params" type="GLint *" output="true"/>
    </function>

    <function name="GetnUniformuivARB" offset="assign">
        <param name="program" type="GLhandleARB"/>
        <param name="location" type="GLint"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="params" type="GLuint *" output="true"/>
    </function>

    <function name="GetnUniformdvARB" offset="assign">
        <param name="program" type="GLhandleARB"/>
        <param name="location" type="GLint"/>
        <param name="bufSize" type="GLsizei"/>
        <param name="params" type="GLdouble *" output="true"/>
    </function>

</category>


</OpenGLAPI>