1<?xml version="1.0"?>
2<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
3
4<OpenGLAPI>
5<category name="GL_ARB_sync" number="61">
6    <type name="int64"   size="8"                  glx_name="CARD64"/>
7    <type name="uint64"  size="8"  unsigned="true" glx_name="CARD64"/>
8    <type name="sync"    size="8"  unsigned="true" glx_name="CARD64"/>
9
10    <enum name="MAX_SERVER_WAIT_TIMEOUT"       count="1"  value="0x9111">
11        <size name="Get" mode="get"/>
12    </enum>
13    <enum name="OBJECT_TYPE"                   count="1"  value="0x9112">
14        <size name="GetSynciv" mode="get"/>
15    </enum>
16    <enum name="SYNC_CONDITION"                count="1"  value="0x9113">
17        <size name="GetSynciv" mode="get"/>
18    </enum>
19    <enum name="SYNC_STATUS"                   count="1"  value="0x9114">
20        <size name="GetSynciv" mode="get"/>
21    </enum>
22    <enum name="SYNC_FLAGS"                    count="1"  value="0x9115">
23        <size name="GetSynciv" mode="get"/>
24    </enum>
25
26    <enum name="SYNC_FENCE"                               value="0x9116"/>
27    <enum name="SYNC_GPU_COMMANDS_COMPLETE"               value="0x9117"/>
28    <enum name="UNSIGNALED"                               value="0x9118"/>
29    <enum name="SIGNALED"                                 value="0x9119"/>
30    <enum name="ALREADY_SIGNALED"                         value="0x911A"/>
31    <enum name="TIMEOUT_EXPIRED"                          value="0x911B"/>
32    <enum name="CONDITION_SATISFIED"                      value="0x911C"/>
33    <enum name="WAIT_FAILED"                              value="0x911D"/>
34
35    <enum name="SYNC_FLUSH_COMMANDS_BIT"                  value="0x00000001"/>
36
37    <!-- Not really an enum:
38    <enum name="TIMEOUT_IGNORED"                  value="0xFFFFFFFFFFFFFFFF"/>
39    -->
40
41
42    <function name="FenceSync" offset="assign">
43        <param name="condition" type="GLenum"/>
44        <param name="flags" type="GLbitfield"/>
45        <return type="GLsync"/>
46    </function>
47
48    <function name="IsSync" offset="assign">
49        <param name="sync" type="GLsync"/>
50	<return type="GLboolean"/>
51    </function>
52
53    <function name="DeleteSync" offset="assign">
54        <param name="sync" type="GLsync"/>
55    </function>
56
57    <function name="ClientWaitSync" offset="assign">
58        <param name="sync" type="GLsync"/>
59        <param name="flags" type="GLbitfield"/>
60	<param name="timeout" type="GLuint64"/>
61        <return type="GLenum"/>
62    </function>
63
64    <function name="WaitSync" offset="assign">
65        <param name="sync" type="GLsync"/>
66        <param name="flags" type="GLbitfield"/>
67	<param name="timeout" type="GLuint64"/>
68    </function>
69
70    <function name="GetInteger64v" offset="assign">
71        <param name="pname" type="GLenum"/>
72        <param name="params" type="GLint64 *" output="true" variable_param="pname"/>
73    </function>
74
75    <function name="GetSynciv" offset="assign">
76        <param name="sync" type="GLsync"/>
77        <param name="pname" type="GLenum"/>
78        <param name="bufSize" type="GLsizei"/>
79        <param name="length" type="GLsizei *" output="true"/>
80        <param name="values" type="GLint *" output="true" variable_param="pname"/>
81    </function>
82</category>
83
84</OpenGLAPI>
85