[PATCH 17/18] sync: remove sync.h library header, split into syncconst.h

Peter Hutterer peter.hutterer at who-t.net
Wed Jun 24 22:26:41 PDT 2009


---
 Makefile.am |    2 +-
 sync.h      |  469 -----------------------------------------------------------
 syncconst.h |  181 +++++++++++++++++++++++
 syncstr.h   |  144 ++----------------
 4 files changed, 196 insertions(+), 600 deletions(-)
 delete mode 100644 sync.h
 create mode 100644 syncconst.h

diff --git a/Makefile.am b/Makefile.am
index 725fe3e..57f90ff 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,7 +19,7 @@ xext_HEADERS = \
 	shapestr.h \
 	shmconst.h \
 	shmstr.h \
-	sync.h \
+	syncconst.h \
 	syncstr.h \
 	Xagconst.h \
 	Xagstr.h \
diff --git a/sync.h b/sync.h
deleted file mode 100644
index 9fbe6d7..0000000
--- a/sync.h
+++ /dev/null
@@ -1,469 +0,0 @@
-/* $Xorg: sync.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
-/*
-
-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.
-
-******************************************************************/
-/* $XFree86: xc/include/extensions/sync.h,v 1.4 2001/12/20 19:40:59 tsi Exp $ */
-
-#ifndef _SYNC_H_
-#define _SYNC_H_
-
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-#define SYNC_NAME "SYNC"
-
-#define SYNC_MAJOR_VERSION	3
-#define SYNC_MINOR_VERSION	0
-
-#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 XSyncCounterNotify              0
-#define XSyncAlarmNotify		1
-#define XSyncAlarmNotifyMask 		(1L << XSyncAlarmNotify)
-
-#define XSyncNumberEvents		2L
-
-#define XSyncBadCounter			0L
-#define XSyncBadAlarm			1L
-#define XSyncNumberErrors		(XSyncBadAlarm + 1)
-
-/*
- * Flags for Alarm Attributes
- */
-#define XSyncCACounter			(1L<<0)
-#define XSyncCAValueType		(1L<<1)
-#define XSyncCAValue			(1L<<2)
-#define XSyncCATestType			(1L<<3)
-#define XSyncCADelta			(1L<<4)
-#define XSyncCAEvents			(1L<<5)
-
-/*
- * Constants for the value_type argument of various requests
- */
-typedef enum {
-    XSyncAbsolute,
-    XSyncRelative
-} XSyncValueType;
-
-/*
- * Alarm Test types
- */
-typedef enum {
-    XSyncPositiveTransition,
-    XSyncNegativeTransition,
-    XSyncPositiveComparison,
-    XSyncNegativeComparison
-} XSyncTestType;
-
-/*
- * Alarm state constants
- */
-typedef enum {
-    XSyncAlarmActive,
-    XSyncAlarmInactive,
-    XSyncAlarmDestroyed
-} XSyncAlarmState;
-
-
-typedef XID XSyncCounter;
-typedef XID XSyncAlarm;
-typedef struct _XSyncValue {
-    int hi;
-    unsigned int lo;
-} XSyncValue;
-
-/*
- *   Macros/functions for manipulating 64 bit values
- */
-
-/* have to put these prototypes before the corresponding macro definitions */
-
-extern void XSyncIntToValue(
-    XSyncValue* /*pv*/,
-    int /*i*/
-);
-
-extern void XSyncIntsToValue(
-    XSyncValue* /*pv*/,
-    unsigned int /*l*/,
-    int /*h*/
-);
-
-extern Bool XSyncValueGreaterThan(
-    XSyncValue /*a*/,
-    XSyncValue /*b*/
-);
-
-extern Bool XSyncValueLessThan(
-    XSyncValue /*a*/,
-    XSyncValue /*b*/
-);
-
-extern Bool XSyncValueGreaterOrEqual(
-    XSyncValue /*a*/,
-    XSyncValue /*b*/
-);
-
-extern Bool XSyncValueLessOrEqual(
-    XSyncValue /*a*/,
-    XSyncValue /*b*/
-);
-
-extern Bool XSyncValueEqual(
-    XSyncValue /*a*/,
-    XSyncValue /*b*/
-);
-
-extern Bool XSyncValueIsNegative(
-    XSyncValue /*v*/
-);
-
-extern Bool XSyncValueIsZero(
-    XSyncValue /*a*/
-);
-
-extern Bool XSyncValueIsPositive(
-    XSyncValue /*v*/
-);
-
-extern unsigned int XSyncValueLow32(
-    XSyncValue /*v*/
-);
-
-extern int XSyncValueHigh32(
-    XSyncValue /*v*/
-);
-
-extern void XSyncValueAdd(
-    XSyncValue* /*presult*/,
-    XSyncValue /*a*/,
-    XSyncValue /*b*/,
-    int* /*poverflow*/
-);
-
-extern void XSyncValueSubtract(
-    XSyncValue* /*presult*/,
-    XSyncValue /*a*/,
-    XSyncValue /*b*/,
-    int* /*poverflow*/
-);
-
-extern void XSyncMaxValue(
-    XSyncValue* /*pv*/
-);
-
-extern void XSyncMinValue(
-    XSyncValue* /*pv*/
-);
-
-_XFUNCPROTOEND
-
-/*  The _XSync macros below are for library internal use only.  They exist 
- *  so that if we have to make a fix, we can change it in this one place
- *  and have both the macro and function variants inherit the fix.
- */
-
-#define _XSyncIntToValue(pv, i)     ((pv)->hi=((i<0)?~0:0),(pv)->lo=(i))
-#define _XSyncIntsToValue(pv, l, h) ((pv)->lo = (l), (pv)->hi = (h))
-#define _XSyncValueGreaterThan(a, b)\
-    ((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>(b).lo))
-#define _XSyncValueLessThan(a, b)\
-    ((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<(b).lo))
-#define _XSyncValueGreaterOrEqual(a, b)\
-    ((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>=(b).lo))
-#define _XSyncValueLessOrEqual(a, b)\
-    ((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<=(b).lo))
-#define _XSyncValueEqual(a, b)	((a).lo==(b).lo && (a).hi==(b).hi)
-#define _XSyncValueIsNegative(v) (((v).hi & 0x80000000) ? 1 : 0)
-#define _XSyncValueIsZero(a)	((a).lo==0 && (a).hi==0)
-#define _XSyncValueIsPositive(v) (((v).hi & 0x80000000) ? 0 : 1)
-#define _XSyncValueLow32(v)	((v).lo)
-#define _XSyncValueHigh32(v)	((v).hi)
-#define _XSyncValueAdd(presult,a,b,poverflow) {\
-	int t = (a).lo;\
-	Bool signa = XSyncValueIsNegative(a);\
-	Bool signb = XSyncValueIsNegative(b);\
-	((presult)->lo = (a).lo + (b).lo);\
-	((presult)->hi = (a).hi + (b).hi);\
-	if (t>(presult)->lo) (presult)->hi++;\
-	*poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\
-     }
-#define _XSyncValueSubtract(presult,a,b,poverflow) {\
-	int t = (a).lo;\
-	Bool signa = XSyncValueIsNegative(a);\
-	Bool signb = XSyncValueIsNegative(b);\
-	((presult)->lo = (a).lo - (b).lo);\
-	((presult)->hi = (a).hi - (b).hi);\
-	if (t>(presult)->lo) (presult)->hi--;\
-	*poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\
-     }
-#define _XSyncMaxValue(pv) ((pv)->hi = 0x7fffffff, (pv)->lo = 0xffffffff)
-#define _XSyncMinValue(pv) ((pv)->hi = 0x80000000, (pv)->lo = 0)
-
-/*
- *  These are the publically usable macros.  If you want the function version
- *  of one of these, just #undef the macro to uncover the function.
- *  (This is the same convention that the ANSI C library uses.)
- */
-
-#define XSyncIntToValue(pv, i) _XSyncIntToValue(pv, i)
-#define XSyncIntsToValue(pv, l, h) _XSyncIntsToValue(pv, l, h)
-#define XSyncValueGreaterThan(a, b) _XSyncValueGreaterThan(a, b)
-#define XSyncValueLessThan(a, b) _XSyncValueLessThan(a, b)
-#define XSyncValueGreaterOrEqual(a, b) _XSyncValueGreaterOrEqual(a, b)
-#define XSyncValueLessOrEqual(a, b) _XSyncValueLessOrEqual(a, b)
-#define XSyncValueEqual(a, b) _XSyncValueEqual(a, b)
-#define XSyncValueIsNegative(v) _XSyncValueIsNegative(v)
-#define XSyncValueIsZero(a) _XSyncValueIsZero(a)
-#define XSyncValueIsPositive(v) _XSyncValueIsPositive(v)
-#define XSyncValueLow32(v) _XSyncValueLow32(v)
-#define XSyncValueHigh32(v) _XSyncValueHigh32(v)
-#define XSyncValueAdd(presult,a,b,poverflow) _XSyncValueAdd(presult,a,b,poverflow)
-#define XSyncValueSubtract(presult,a,b,poverflow) _XSyncValueSubtract(presult,a,b,poverflow)
-#define XSyncMaxValue(pv) _XSyncMaxValue(pv)
-#define XSyncMinValue(pv) _XSyncMinValue(pv)
-
-#ifndef _SYNC_SERVER
-
-typedef struct _XSyncSystemCounter {
-    char *name;			/* null-terminated name of system counter */
-    XSyncCounter counter;	/* counter id of this system counter */
-    XSyncValue resolution;	/* resolution of this system counter */
-} XSyncSystemCounter;
-
-
-typedef struct {
-    XSyncCounter counter;	/* counter to trigger on */
-    XSyncValueType value_type;	/* absolute/relative */
-    XSyncValue wait_value;	/* value to compare counter to */
-    XSyncTestType test_type;	/* pos/neg comparison/transtion */
-} XSyncTrigger;
-
-typedef struct {
-    XSyncTrigger trigger;	/* trigger for await */
-    XSyncValue event_threshold; /* send event if past threshold */
-} XSyncWaitCondition;
-
-
-typedef struct {
-    XSyncTrigger trigger;
-    XSyncValue  delta;
-    Bool events;
-    XSyncAlarmState state;
-} XSyncAlarmAttributes;
-
-/*
- *  Events
- */
-
-typedef struct {
-    int type;			/* event base + XSyncCounterNotify */
-    unsigned long serial;	/* # of last request processed by server */
-    Bool send_event;		/* true if this came from a SendEvent request */
-    Display *display;		/* Display the event was read from */
-    XSyncCounter counter;	/* counter involved in await */
-    XSyncValue wait_value;	/* value being waited for */
-    XSyncValue counter_value;	/* counter value when this event was sent */
-    Time time;			/* milliseconds */
-    int count;			/* how many more events to come */
-    Bool destroyed;		/* True if counter was destroyed */
-} XSyncCounterNotifyEvent;
-
-typedef struct {
-    int type;			/* event base + XSyncCounterNotify */
-    unsigned long serial;	/* # of last request processed by server */
-    Bool send_event;		/* true if this came from a SendEvent request */
-    Display *display;		/* Display the event was read from */
-    XSyncAlarm alarm;		/* alarm that triggered */
-    XSyncValue counter_value;	/* value that triggered the alarm */
-    XSyncValue alarm_value;	/* test  value of trigger in alarm */
-    Time time;			/* milliseconds */
-    XSyncAlarmState state;	/* new state of alarm */
-} XSyncAlarmNotifyEvent;
-
-/*
- *  Errors 
- */
-
-typedef struct {
-    int type;			
-    Display *display;		/* Display the event was read from */
-    XSyncAlarm alarm;		/* resource id */
-    unsigned long serial;	/* serial number of failed request */
-    unsigned char error_code;	/* error base + XSyncBadAlarm */
-    unsigned char request_code;	/* Major op-code of failed request */
-    unsigned char minor_code;	/* Minor op-code of failed request */
-} XSyncAlarmError;
-
-typedef struct {
-    int type;			
-    Display *display;		/* Display the event was read from */
-    XSyncCounter counter;	/* resource id */
-    unsigned long serial;	/* serial number of failed request */
-    unsigned char error_code;	/* error base + XSyncBadCounter */
-    unsigned char request_code;	/* Major op-code of failed request */
-    unsigned char minor_code;	/* Minor op-code of failed request */
-} XSyncCounterError;
-
-/* 
- *  Prototypes
- */
-
-_XFUNCPROTOBEGIN
-
-extern Status XSyncQueryExtension(
-    Display* /*dpy*/,
-    int* /*event_base_return*/,
-    int* /*error_base_return*/
-);
-
-extern Status XSyncInitialize(
-    Display* /*dpy*/,
-    int* /*major_version_return*/,
-    int* /*minor_version_return*/
-);
-
-extern XSyncSystemCounter *XSyncListSystemCounters(
-    Display* /*dpy*/,
-    int* /*n_counters_return*/
-);
-
-extern void XSyncFreeSystemCounterList(
-    XSyncSystemCounter* /*list*/
-);
-
-extern XSyncCounter XSyncCreateCounter(
-    Display* /*dpy*/,
-    XSyncValue /*initial_value*/
-);
-
-extern Status XSyncSetCounter(
-    Display* /*dpy*/,
-    XSyncCounter /*counter*/,
-    XSyncValue /*value*/
-);
-
-extern Status XSyncChangeCounter(
-    Display* /*dpy*/,
-    XSyncCounter /*counter*/,
-    XSyncValue /*value*/
-);
-
-extern Status XSyncDestroyCounter(
-    Display* /*dpy*/,
-    XSyncCounter /*counter*/
-);
-
-extern Status XSyncQueryCounter(
-    Display* /*dpy*/,
-    XSyncCounter /*counter*/,
-    XSyncValue* /*value_return*/
-);
-
-extern Status XSyncAwait(
-    Display* /*dpy*/,
-    XSyncWaitCondition* /*wait_list*/,
-    int /*n_conditions*/
-);
-
-extern XSyncAlarm XSyncCreateAlarm(
-    Display* /*dpy*/,
-    unsigned long /*values_mask*/,
-    XSyncAlarmAttributes* /*values*/
-);
-
-extern Status XSyncDestroyAlarm(
-    Display* /*dpy*/,
-    XSyncAlarm /*alarm*/
-);
-
-extern Status XSyncQueryAlarm(
-    Display* /*dpy*/,
-    XSyncAlarm /*alarm*/,
-    XSyncAlarmAttributes* /*values_return*/
-);
-
-extern Status XSyncChangeAlarm(
-    Display* /*dpy*/,
-    XSyncAlarm /*alarm*/,
-    unsigned long /*values_mask*/,
-    XSyncAlarmAttributes* /*values*/
-);
-
-extern Status XSyncSetPriority(
-    Display* /*dpy*/,
-    XID /*client_resource_id*/,
-    int /*priority*/
-);
-
-extern Status XSyncGetPriority(
-    Display* /*dpy*/,
-    XID /*client_resource_id*/,
-    int* /*return_priority*/
-);
-
-#endif /* _SYNC_SERVER */
-
-_XFUNCPROTOEND
-
-#endif /* _SYNC_H_ */
diff --git a/syncconst.h b/syncconst.h
new file mode 100644
index 0000000..13f092f
--- /dev/null
+++ b/syncconst.h
@@ -0,0 +1,181 @@
+/* $Xorg: sync.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
+/*
+
+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.
+
+******************************************************************/
+/* $XFree86: xc/include/extensions/sync.h,v 1.4 2001/12/20 19:40:59 tsi Exp $ */
+
+#ifndef _SYNCCONST_H_
+#define _SYNCCONST_H_
+
+#define SYNC_NAME "SYNC"
+
+#define SYNC_MAJOR_VERSION	3
+#define SYNC_MINOR_VERSION	0
+
+
+#define XSyncCounterNotify              0
+#define XSyncAlarmNotify		1
+#define XSyncAlarmNotifyMask 		(1L << XSyncAlarmNotify)
+
+#define XSyncNumberEvents		2L
+
+#define XSyncBadCounter			0L
+#define XSyncBadAlarm			1L
+#define XSyncNumberErrors		(XSyncBadAlarm + 1)
+
+/*
+ * Flags for Alarm Attributes
+ */
+#define XSyncCACounter			(1L<<0)
+#define XSyncCAValueType		(1L<<1)
+#define XSyncCAValue			(1L<<2)
+#define XSyncCATestType			(1L<<3)
+#define XSyncCADelta			(1L<<4)
+#define XSyncCAEvents			(1L<<5)
+
+/*  The _XSync macros below are for library internal use only.  They exist 
+ *  so that if we have to make a fix, we can change it in this one place
+ *  and have both the macro and function variants inherit the fix.
+ */
+
+#define _XSyncIntToValue(pv, i)     ((pv)->hi=((i<0)?~0:0),(pv)->lo=(i))
+#define _XSyncIntsToValue(pv, l, h) ((pv)->lo = (l), (pv)->hi = (h))
+#define _XSyncValueGreaterThan(a, b)\
+    ((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>(b).lo))
+#define _XSyncValueLessThan(a, b)\
+    ((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<(b).lo))
+#define _XSyncValueGreaterOrEqual(a, b)\
+    ((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>=(b).lo))
+#define _XSyncValueLessOrEqual(a, b)\
+    ((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<=(b).lo))
+#define _XSyncValueEqual(a, b)	((a).lo==(b).lo && (a).hi==(b).hi)
+#define _XSyncValueIsNegative(v) (((v).hi & 0x80000000) ? 1 : 0)
+#define _XSyncValueIsZero(a)	((a).lo==0 && (a).hi==0)
+#define _XSyncValueIsPositive(v) (((v).hi & 0x80000000) ? 0 : 1)
+#define _XSyncValueLow32(v)	((v).lo)
+#define _XSyncValueHigh32(v)	((v).hi)
+#define _XSyncValueAdd(presult,a,b,poverflow) {\
+	int t = (a).lo;\
+	Bool signa = XSyncValueIsNegative(a);\
+	Bool signb = XSyncValueIsNegative(b);\
+	((presult)->lo = (a).lo + (b).lo);\
+	((presult)->hi = (a).hi + (b).hi);\
+	if (t>(presult)->lo) (presult)->hi++;\
+	*poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\
+     }
+#define _XSyncValueSubtract(presult,a,b,poverflow) {\
+	int t = (a).lo;\
+	Bool signa = XSyncValueIsNegative(a);\
+	Bool signb = XSyncValueIsNegative(b);\
+	((presult)->lo = (a).lo - (b).lo);\
+	((presult)->hi = (a).hi - (b).hi);\
+	if (t>(presult)->lo) (presult)->hi--;\
+	*poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\
+     }
+#define _XSyncMaxValue(pv) ((pv)->hi = 0x7fffffff, (pv)->lo = 0xffffffff)
+#define _XSyncMinValue(pv) ((pv)->hi = 0x80000000, (pv)->lo = 0)
+
+/*
+ *  These are the publically usable macros.  If you want the function version
+ *  of one of these, just #undef the macro to uncover the function.
+ *  (This is the same convention that the ANSI C library uses.)
+ */
+
+#define XSyncIntToValue(pv, i) _XSyncIntToValue(pv, i)
+#define XSyncIntsToValue(pv, l, h) _XSyncIntsToValue(pv, l, h)
+#define XSyncValueGreaterThan(a, b) _XSyncValueGreaterThan(a, b)
+#define XSyncValueLessThan(a, b) _XSyncValueLessThan(a, b)
+#define XSyncValueGreaterOrEqual(a, b) _XSyncValueGreaterOrEqual(a, b)
+#define XSyncValueLessOrEqual(a, b) _XSyncValueLessOrEqual(a, b)
+#define XSyncValueEqual(a, b) _XSyncValueEqual(a, b)
+#define XSyncValueIsNegative(v) _XSyncValueIsNegative(v)
+#define XSyncValueIsZero(a) _XSyncValueIsZero(a)
+#define XSyncValueIsPositive(v) _XSyncValueIsPositive(v)
+#define XSyncValueLow32(v) _XSyncValueLow32(v)
+#define XSyncValueHigh32(v) _XSyncValueHigh32(v)
+#define XSyncValueAdd(presult,a,b,poverflow) _XSyncValueAdd(presult,a,b,poverflow)
+#define XSyncValueSubtract(presult,a,b,poverflow) _XSyncValueSubtract(presult,a,b,poverflow)
+#define XSyncMaxValue(pv) _XSyncMaxValue(pv)
+#define XSyncMinValue(pv) _XSyncMinValue(pv)
+
+/*
+ * Constants for the value_type argument of various requests
+ */
+typedef enum {
+    XSyncAbsolute,
+    XSyncRelative
+} XSyncValueType;
+
+/*
+ * Alarm Test types
+ */
+typedef enum {
+    XSyncPositiveTransition,
+    XSyncNegativeTransition,
+    XSyncPositiveComparison,
+    XSyncNegativeComparison
+} XSyncTestType;
+
+/*
+ * Alarm state constants
+ */
+typedef enum {
+    XSyncAlarmActive,
+    XSyncAlarmInactive,
+    XSyncAlarmDestroyed
+} XSyncAlarmState;
+
+
+typedef XID XSyncCounter;
+typedef XID XSyncAlarm;
+typedef struct _XSyncValue {
+    int hi;
+    unsigned int lo;
+} XSyncValue;
+#endif /* _SYNCCONST_H_ */
diff --git a/syncstr.h b/syncstr.h
index 4e384f2..61a9ba6 100644
--- a/syncstr.h
+++ b/syncstr.h
@@ -53,9 +53,20 @@ PERFORMANCE OF THIS SOFTWARE.
 #ifndef _SYNCSTR_H_
 #define _SYNCSTR_H_
 
-#include "sync.h"
-
-#ifndef _SYNC_OS
+#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
@@ -363,132 +374,5 @@ typedef struct _xSyncAlarmNotifyEvent {
 #undef XSyncCounter
 #undef XSyncAlarm
 
-#endif /* _SYNC_OS */
-
-#ifdef _SYNC_SERVER
-
-#define CARD64 XSyncValue /* XXX temporary! need real 64 bit values for Alpha */
-
-typedef struct _SyncCounter {
-    ClientPtr		client;	/* Owning client. 0 for system counters */
-    XSyncCounter	id;		/* resource ID */
-    CARD64		value;		/* counter value */
-    struct _SyncTriggerList *pTriglist;	/* list of triggers */
-    Bool		beingDestroyed; /* in process of going away */
-    struct _SysCounterInfo *pSysCounterInfo; /* NULL if not a system counter */
-} SyncCounter;
-
-/*
- * The System Counter interface
- */
-
-typedef enum {
-    XSyncCounterNeverChanges,
-    XSyncCounterNeverIncreases,
-    XSyncCounterNeverDecreases,
-    XSyncCounterUnrestricted
-} SyncCounterType;
-
-typedef struct _SysCounterInfo {
-    char	*name;
-    CARD64	resolution;
-    CARD64	bracket_greater;
-    CARD64	bracket_less;
-    SyncCounterType counterType;  /* how can this counter change */
-    void        (*QueryValue)(
-			      pointer /*pCounter*/,
-			      CARD64 * /*freshvalue*/
-);
-    void	(*BracketValues)(
-				 pointer /*pCounter*/,
-				 CARD64 * /*lessthan*/,
-				 CARD64 * /*greaterthan*/
-);
-} SysCounterInfo;
-
-
-
-typedef struct _SyncTrigger {
-    SyncCounter *pCounter;
-    CARD64	wait_value;	/* wait value */
-    unsigned int value_type;     /* Absolute or Relative */
-    unsigned int test_type;	/* transition or Comparision type */
-    CARD64	test_value;	/* trigger event threshold value */
-    Bool	(*CheckTrigger)(
-				struct _SyncTrigger * /*pTrigger*/,
-				CARD64 /*newval*/
-				);
-    void	(*TriggerFired)(
-				struct _SyncTrigger * /*pTrigger*/
-				);
-    void	(*CounterDestroyed)(
-				struct _SyncTrigger * /*pTrigger*/
-				    );
-} SyncTrigger;
-
-typedef struct _SyncTriggerList {
-    SyncTrigger *pTrigger;
-    struct _SyncTriggerList *next;
-} SyncTriggerList;
-
-typedef struct _SyncAlarmClientList {
-    ClientPtr	client;
-    XID		delete_id;
-    struct _SyncAlarmClientList *next;
-} SyncAlarmClientList;
-
-typedef struct _SyncAlarm {
-    SyncTrigger trigger;
-    ClientPtr	client;
-    XSyncAlarm 	alarm_id;
-    CARD64	delta;
-    int		events;
-    int		state;
-    SyncAlarmClientList *pEventClients;
-} SyncAlarm;
-
-typedef struct {
-    ClientPtr	client;
-    CARD32 	delete_id;
-    int		num_waitconditions;
-} SyncAwaitHeader;
-
-typedef struct {
-    SyncTrigger trigger;
-    CARD64	event_threshold;
-    SyncAwaitHeader *pHeader;
-} SyncAwait;
-
-typedef union {
-    SyncAwaitHeader header;
-    SyncAwait	    await;
-} SyncAwaitUnion;
-
-
-extern pointer SyncCreateSystemCounter(
-    char *	/* name */,
-    CARD64  	/* inital_value */,
-    CARD64  	/* resolution */,
-    SyncCounterType /* change characterization */,
-    void        (* /*QueryValue*/ ) (
-        pointer /* pCounter */,
-        CARD64 * /* pValue_return */), /* XXX prototype */
-    void        (* /*BracketValues*/) (
-        pointer /* pCounter */, 
-        CARD64 * /* pbracket_less */,
-        CARD64 * /* pbracket_greater */)
-);
-
-extern void SyncChangeCounter(
-    SyncCounter *	/* pCounter*/,
-    CARD64  		/* new_value */
-);
-
-extern void SyncDestroySystemCounter(
-    pointer pCounter
-);
-extern void InitServertime(void);
-
-#endif /* _SYNC_SERVER */
 
 #endif /* _SYNCSTR_H_ */
-- 
1.6.3.rc1.2.g0164.dirty



More information about the xorg-devel mailing list