diff options
Diffstat (limited to 'X11/extensions/syncproto.h')
-rw-r--r-- | X11/extensions/syncproto.h | 852 |
1 files changed, 474 insertions, 378 deletions
diff --git a/X11/extensions/syncproto.h b/X11/extensions/syncproto.h index 13b53d531..ab7c1f528 100644 --- a/X11/extensions/syncproto.h +++ b/X11/extensions/syncproto.h @@ -1,378 +1,474 @@ -/* - -Copyright 1991, 1993, 1994, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - -*/ - -/*********************************************************** -Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts, -and Olivetti Research Limited, Cambridge, England. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the names of Digital or Olivetti -not be used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS -SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - -******************************************************************/ - -#ifndef _SYNCPROTO_H_ -#define _SYNCPROTO_H_ - -#include <X11/extensions/syncconst.h> - -#define X_SyncInitialize 0 -#define X_SyncListSystemCounters 1 -#define X_SyncCreateCounter 2 -#define X_SyncSetCounter 3 -#define X_SyncChangeCounter 4 -#define X_SyncQueryCounter 5 -#define X_SyncDestroyCounter 6 -#define X_SyncAwait 7 -#define X_SyncCreateAlarm 8 -#define X_SyncChangeAlarm 9 -#define X_SyncQueryAlarm 10 -#define X_SyncDestroyAlarm 11 -#define X_SyncSetPriority 12 -#define X_SyncGetPriority 13 - -/* cover up types from sync.h to make sure they're the right size for - * protocol packaging. These will be undef'ed after all the protocol - * structures are defined. - */ -#define XSyncCounter CARD32 -#define XSyncAlarm CARD32 - -/* - * Initialize - */ -typedef struct _xSyncInitialize { - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - CARD8 majorVersion; - CARD8 minorVersion; - CARD16 pad B16; -} xSyncInitializeReq; -#define sz_xSyncInitializeReq 8 - -typedef struct { - BYTE type; - CARD8 unused; - CARD16 sequenceNumber B16; - CARD32 length B32; - CARD8 majorVersion; - CARD8 minorVersion; - CARD16 pad B16; - CARD32 pad0 B32; - CARD32 pad1 B32; - CARD32 pad2 B32; - CARD32 pad3 B32; - CARD32 pad4 B32; -} xSyncInitializeReply; -#define sz_xSyncInitializeReply 32 - -/* - * ListSystemCounters - */ -typedef struct _xSyncListSystemCounters -{ - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; -} xSyncListSystemCountersReq; -#define sz_xSyncListSystemCountersReq 4 - -typedef struct { - BYTE type; - CARD8 unused; - CARD16 sequenceNumber B16; - CARD32 length B32; - INT32 nCounters B32; - CARD32 pad0 B32; - CARD32 pad1 B32; - CARD32 pad2 B32; - CARD32 pad3 B32; - CARD32 pad4 B32; -} xSyncListSystemCountersReply; -#define sz_xSyncListSystemCountersReply 32 - -typedef struct { - XSyncCounter counter B32; - INT32 resolution_hi B32; - CARD32 resolution_lo B32; - CARD16 name_length B16; -} xSyncSystemCounter; -#define sz_xSyncSystemCounter 14 - -/* - * Create Counter - */ -typedef struct _xSyncCreateCounterReq { - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - XSyncCounter cid B32; - INT32 initial_value_hi B32; - CARD32 initial_value_lo B32; -} xSyncCreateCounterReq; -#define sz_xSyncCreateCounterReq 16 - -/* - * Change Counter - */ -typedef struct _xSyncChangeCounterReq { - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - XSyncCounter cid B32; - INT32 value_hi B32; - CARD32 value_lo B32; -} xSyncChangeCounterReq; -#define sz_xSyncChangeCounterReq 16 - -/* - * Set Counter - */ -typedef struct _xSyncSetCounterReq { - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - XSyncCounter cid B32; - INT32 value_hi B32; - CARD32 value_lo B32; -} xSyncSetCounterReq; -#define sz_xSyncSetCounterReq 16 - -/* - * Destroy Counter - */ -typedef struct _xSyncDestroyCounterReq { - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - XSyncCounter counter B32; -} xSyncDestroyCounterReq; -#define sz_xSyncDestroyCounterReq 8 - -/* - * Query Counter - */ -typedef struct _xSyncQueryCounterReq { - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - XSyncCounter counter B32; -} xSyncQueryCounterReq; -#define sz_xSyncQueryCounterReq 8 - - -typedef struct { - BYTE type; - CARD8 unused; - CARD16 sequenceNumber B16; - CARD32 length B32; - INT32 value_hi B32; - CARD32 value_lo B32; - CARD32 pad0 B32; - CARD32 pad1 B32; - CARD32 pad2 B32; - CARD32 pad3 B32; -} xSyncQueryCounterReply; -#define sz_xSyncQueryCounterReply 32 - -/* - * Await - */ -typedef struct _xSyncAwaitReq { - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; -} xSyncAwaitReq; -#define sz_xSyncAwaitReq 4 - -typedef struct _xSyncWaitCondition { - XSyncCounter counter B32; - CARD32 value_type B32; - INT32 wait_value_hi B32; - CARD32 wait_value_lo B32; - CARD32 test_type B32; - INT32 event_threshold_hi B32; - CARD32 event_threshold_lo B32; -} xSyncWaitCondition; -#define sz_xSyncWaitCondition 28 - -/* - * Create Alarm - */ -typedef struct _xSyncCreateAlarmReq { - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - XSyncAlarm id B32; - CARD32 valueMask B32; -} xSyncCreateAlarmReq; -#define sz_xSyncCreateAlarmReq 12 - -/* - * Destroy Alarm - */ -typedef struct _xSyncDestroyAlarmReq { - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - XSyncAlarm alarm B32; -} xSyncDestroyAlarmReq; -#define sz_xSyncDestroyAlarmReq 8 - -/* - * Query Alarm - */ -typedef struct _xSyncQueryAlarmReq { - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - XSyncAlarm alarm B32; -} xSyncQueryAlarmReq; -#define sz_xSyncQueryAlarmReq 8 - -typedef struct { - BYTE type; - CARD8 unused; - CARD16 sequenceNumber B16; - CARD32 length B32; - XSyncCounter counter B32; - CARD32 value_type B32; - INT32 wait_value_hi B32; - CARD32 wait_value_lo B32; - CARD32 test_type B32; - INT32 delta_hi B32; - CARD32 delta_lo B32; - BOOL events; - BYTE state; - BYTE pad0; - BYTE pad1; -} xSyncQueryAlarmReply; -#define sz_xSyncQueryAlarmReply 40 - -/* - * Change Alarm - */ -typedef struct _xSyncChangeAlarmReq { - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - XSyncAlarm alarm B32; - CARD32 valueMask B32; -} xSyncChangeAlarmReq; -#define sz_xSyncChangeAlarmReq 12 - -/* - * SetPriority - */ -typedef struct _xSyncSetPriority{ - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - CARD32 id B32; - INT32 priority B32; -} xSyncSetPriorityReq; -#define sz_xSyncSetPriorityReq 12 - -/* - * Get Priority - */ -typedef struct _xSyncGetPriority{ - CARD8 reqType; - CARD8 syncReqType; - CARD16 length B16; - CARD32 id B32; /*XXX XID? */ -} xSyncGetPriorityReq; -#define sz_xSyncGetPriorityReq 8 - -typedef struct { - BYTE type; - CARD8 unused; - CARD16 sequenceNumber B16; - CARD32 length B32; - INT32 priority B32; - CARD32 pad0 B32; - CARD32 pad1 B32; - CARD32 pad2 B32; - CARD32 pad3 B32; - CARD32 pad4 B32; -} xSyncGetPriorityReply; -#define sz_xSyncGetPriorityReply 32 - -/* - * Events - */ - -typedef struct _xSyncCounterNotifyEvent { - BYTE type; - BYTE kind; - CARD16 sequenceNumber B16; - XSyncCounter counter B32; - INT32 wait_value_hi B32; - CARD32 wait_value_lo B32; - INT32 counter_value_hi B32; - CARD32 counter_value_lo B32; - CARD32 time B32; - CARD16 count B16; - BOOL destroyed; - BYTE pad0; -} xSyncCounterNotifyEvent; - -typedef struct _xSyncAlarmNotifyEvent { - BYTE type; - BYTE kind; - CARD16 sequenceNumber B16; - XSyncAlarm alarm B32; - INT32 counter_value_hi B32; - CARD32 counter_value_lo B32; - INT32 alarm_value_hi B32; - CARD32 alarm_value_lo B32; - CARD32 time B32; - CARD8 state; - BYTE pad0; - BYTE pad1; - BYTE pad2; -} xSyncAlarmNotifyEvent; - -#undef XSyncCounter -#undef XSyncAlarm - - -#endif /* _SYNCPROTO_H_ */ +/*
+
+Copyright 1991, 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/***********************************************************
+Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
+and Olivetti Research Limited, Cambridge, England.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or Olivetti
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+#ifndef _SYNCPROTO_H_
+#define _SYNCPROTO_H_
+
+#include <X11/extensions/syncconst.h>
+
+#define X_SyncInitialize 0
+#define X_SyncListSystemCounters 1
+#define X_SyncCreateCounter 2
+#define X_SyncSetCounter 3
+#define X_SyncChangeCounter 4
+#define X_SyncQueryCounter 5
+#define X_SyncDestroyCounter 6
+#define X_SyncAwait 7
+#define X_SyncCreateAlarm 8
+#define X_SyncChangeAlarm 9
+#define X_SyncQueryAlarm 10
+#define X_SyncDestroyAlarm 11
+#define X_SyncSetPriority 12
+#define X_SyncGetPriority 13
+#define X_SyncCreateFence 14
+#define X_SyncTriggerFence 15
+#define X_SyncResetFence 16
+#define X_SyncDestroyFence 17
+#define X_SyncQueryFence 18
+#define X_SyncAwaitFence 19
+
+/* cover up types from sync.h to make sure they're the right size for
+ * protocol packaging. These will be undef'ed after all the protocol
+ * structures are defined.
+ */
+#define XSyncCounter CARD32
+#define XSyncAlarm CARD32
+#define XSyncFence CARD32
+#define Drawable CARD32
+
+/*
+ * Initialize
+ */
+typedef struct _xSyncInitialize {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ CARD8 majorVersion;
+ CARD8 minorVersion;
+ CARD16 pad B16;
+} xSyncInitializeReq;
+#define sz_xSyncInitializeReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 majorVersion;
+ CARD8 minorVersion;
+ CARD16 pad B16;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xSyncInitializeReply;
+#define sz_xSyncInitializeReply 32
+
+/*
+ * ListSystemCounters
+ */
+typedef struct _xSyncListSystemCounters
+{
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+} xSyncListSystemCountersReq;
+#define sz_xSyncListSystemCountersReq 4
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT32 nCounters B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xSyncListSystemCountersReply;
+#define sz_xSyncListSystemCountersReply 32
+
+typedef struct {
+ XSyncCounter counter B32;
+ INT32 resolution_hi B32;
+ CARD32 resolution_lo B32;
+ CARD16 name_length B16;
+} xSyncSystemCounter;
+#define sz_xSyncSystemCounter 14
+
+/*
+ * Create Counter
+ */
+typedef struct _xSyncCreateCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter cid B32;
+ INT32 initial_value_hi B32;
+ CARD32 initial_value_lo B32;
+} xSyncCreateCounterReq;
+#define sz_xSyncCreateCounterReq 16
+
+/*
+ * Change Counter
+ */
+typedef struct _xSyncChangeCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter cid B32;
+ INT32 value_hi B32;
+ CARD32 value_lo B32;
+} xSyncChangeCounterReq;
+#define sz_xSyncChangeCounterReq 16
+
+/*
+ * Set Counter
+ */
+typedef struct _xSyncSetCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter cid B32;
+ INT32 value_hi B32;
+ CARD32 value_lo B32;
+} xSyncSetCounterReq;
+#define sz_xSyncSetCounterReq 16
+
+/*
+ * Destroy Counter
+ */
+typedef struct _xSyncDestroyCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter counter B32;
+} xSyncDestroyCounterReq;
+#define sz_xSyncDestroyCounterReq 8
+
+/*
+ * Query Counter
+ */
+typedef struct _xSyncQueryCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter counter B32;
+} xSyncQueryCounterReq;
+#define sz_xSyncQueryCounterReq 8
+
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT32 value_hi B32;
+ CARD32 value_lo B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xSyncQueryCounterReply;
+#define sz_xSyncQueryCounterReply 32
+
+/*
+ * Await
+ */
+typedef struct _xSyncAwaitReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+} xSyncAwaitReq;
+#define sz_xSyncAwaitReq 4
+
+typedef struct _xSyncWaitCondition {
+ XSyncCounter counter B32;
+ CARD32 value_type B32;
+ INT32 wait_value_hi B32;
+ CARD32 wait_value_lo B32;
+ CARD32 test_type B32;
+ INT32 event_threshold_hi B32;
+ CARD32 event_threshold_lo B32;
+} xSyncWaitCondition;
+#define sz_xSyncWaitCondition 28
+
+/*
+ * Create Alarm
+ */
+typedef struct _xSyncCreateAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm id B32;
+ CARD32 valueMask B32;
+} xSyncCreateAlarmReq;
+#define sz_xSyncCreateAlarmReq 12
+
+/*
+ * Destroy Alarm
+ */
+typedef struct _xSyncDestroyAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm alarm B32;
+} xSyncDestroyAlarmReq;
+#define sz_xSyncDestroyAlarmReq 8
+
+/*
+ * Query Alarm
+ */
+typedef struct _xSyncQueryAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm alarm B32;
+} xSyncQueryAlarmReq;
+#define sz_xSyncQueryAlarmReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ XSyncCounter counter B32;
+ CARD32 value_type B32;
+ INT32 wait_value_hi B32;
+ CARD32 wait_value_lo B32;
+ CARD32 test_type B32;
+ INT32 delta_hi B32;
+ CARD32 delta_lo B32;
+ BOOL events;
+ BYTE state;
+ BYTE pad0;
+ BYTE pad1;
+} xSyncQueryAlarmReply;
+#define sz_xSyncQueryAlarmReply 40
+
+/*
+ * Change Alarm
+ */
+typedef struct _xSyncChangeAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm alarm B32;
+ CARD32 valueMask B32;
+} xSyncChangeAlarmReq;
+#define sz_xSyncChangeAlarmReq 12
+
+/*
+ * SetPriority
+ */
+typedef struct _xSyncSetPriority{
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ CARD32 id B32;
+ INT32 priority B32;
+} xSyncSetPriorityReq;
+#define sz_xSyncSetPriorityReq 12
+
+/*
+ * Get Priority
+ */
+typedef struct _xSyncGetPriority{
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ CARD32 id B32; /*XXX XID? */
+} xSyncGetPriorityReq;
+#define sz_xSyncGetPriorityReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT32 priority B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xSyncGetPriorityReply;
+#define sz_xSyncGetPriorityReply 32
+
+/*
+ * Create Fence
+ */
+typedef struct _xSyncCreateFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ Drawable d B32;
+ XSyncFence fid B32;
+ BOOL initially_triggered;
+ CARD8 pad0;
+ CARD16 pad1;
+} xSyncCreateFenceReq;
+#define sz_xSyncCreateFenceReq 16
+
+/*
+ * Put a fence object in the "triggered" state.
+ */
+typedef struct _xSyncTriggerFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncFence fid B32;
+} xSyncTriggerFenceReq;
+#define sz_xSyncTriggerFenceReq 8
+
+/*
+ * Put a fence in the "untriggered" state.
+ */
+typedef struct _xSyncResetFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncFence fid B32;
+} xSyncResetFenceReq;
+#define sz_xSyncResetFenceReq 8
+
+/*
+ * Destroy a fence object
+ */
+typedef struct _xSyncDestroyFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncFence fid B32;
+} xSyncDestroyFenceReq;
+#define sz_xSyncDestroyFenceReq 8
+
+/*
+ * Query a fence object
+ */
+typedef struct _xSyncQueryFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncFence fid B32;
+} xSyncQueryFenceReq;
+#define sz_xSyncQueryFenceReq 8
+
+/*
+ * Wait for any of a list of fence sync objects
+ * to reach the "triggered" state.
+ */
+typedef struct _xSyncAwaitFenceReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+} xSyncAwaitFenceReq;
+#define sz_xSyncAwaitFenceReq 4
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL triggered;
+ BYTE pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xSyncQueryFenceReply;
+#define sz_xSyncQueryFenceReply 32
+
+/*
+ * Events
+ */
+
+typedef struct _xSyncCounterNotifyEvent {
+ BYTE type;
+ BYTE kind;
+ CARD16 sequenceNumber B16;
+ XSyncCounter counter B32;
+ INT32 wait_value_hi B32;
+ CARD32 wait_value_lo B32;
+ INT32 counter_value_hi B32;
+ CARD32 counter_value_lo B32;
+ CARD32 time B32;
+ CARD16 count B16;
+ BOOL destroyed;
+ BYTE pad0;
+} xSyncCounterNotifyEvent;
+
+typedef struct _xSyncAlarmNotifyEvent {
+ BYTE type;
+ BYTE kind;
+ CARD16 sequenceNumber B16;
+ XSyncAlarm alarm B32;
+ INT32 counter_value_hi B32;
+ CARD32 counter_value_lo B32;
+ INT32 alarm_value_hi B32;
+ CARD32 alarm_value_lo B32;
+ CARD32 time B32;
+ CARD8 state;
+ BYTE pad0;
+ BYTE pad1;
+ BYTE pad2;
+} xSyncAlarmNotifyEvent;
+
+#undef XSyncCounter
+#undef XSyncAlarm
+#undef XSyncFence
+#undef Drawable
+
+
+#endif /* _SYNCPROTO_H_ */
|