From bc4f49f9a9eccb73bc2c5610295febaf4b14559e Mon Sep 17 00:00:00 2001 From: marha Date: Thu, 27 May 2010 07:52:46 +0000 Subject: libext git update 27/5/2010 --- libXext/include/X11/extensions/XShm.h | 274 +++++++------- libXext/include/X11/extensions/dpms.h | 108 +++--- libXext/include/X11/extensions/sync.h | 682 +++++++++++++++++----------------- 3 files changed, 537 insertions(+), 527 deletions(-) (limited to 'libXext/include/X11/extensions') diff --git a/libXext/include/X11/extensions/XShm.h b/libXext/include/X11/extensions/XShm.h index b58ca6373..b2d77ba59 100644 --- a/libXext/include/X11/extensions/XShm.h +++ b/libXext/include/X11/extensions/XShm.h @@ -1,136 +1,138 @@ -/* $XFree86: xc/include/extensions/XShm.h,v 1.11 2003/04/03 15:11:07 dawes Exp $ */ -/************************************************************ - -Copyright 1989, 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. - -********************************************************/ - -/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ - -/* $Xorg: XShm.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */ - -#ifndef _XSHM_H_ -#define _XSHM_H_ - -#include -#include - -typedef unsigned long ShmSeg; - -typedef struct { - int type; /* of event */ - unsigned long serial; /* # of last request processed by server */ - Bool send_event; /* true if this came frome a SendEvent request */ - Display *display; /* Display the event was read from */ - Drawable drawable; /* drawable of request */ - int major_code; /* ShmReqCode */ - int minor_code; /* X_ShmPutImage */ - ShmSeg shmseg; /* the ShmSeg used in the request */ - unsigned long offset; /* the offset into ShmSeg used in the request */ -} XShmCompletionEvent; - -typedef struct { - ShmSeg shmseg; /* resource id */ - int shmid; /* kernel id */ - char *shmaddr; /* address in client */ - Bool readOnly; /* how the server should attach it */ -} XShmSegmentInfo; - -_XFUNCPROTOBEGIN - -Bool XShmQueryExtension( - Display* /* dpy */ -); - -int XShmGetEventBase( - Display* /* dpy */ -); - -Bool XShmQueryVersion( - Display* /* dpy */, - int* /* majorVersion */, - int* /* minorVersion */, - Bool* /* sharedPixmaps */ -); - -int XShmPixmapFormat( - Display* /* dpy */ -); - -Status XShmAttach( - Display* /* dpy */, - XShmSegmentInfo* /* shminfo */ -); - -Status XShmDetach( - Display* /* dpy */, - XShmSegmentInfo* /* shminfo */ -); - -Status XShmPutImage( - Display* /* dpy */, - Drawable /* d */, - GC /* gc */, - XImage* /* image */, - int /* src_x */, - int /* src_y */, - int /* dst_x */, - int /* dst_y */, - unsigned int /* src_width */, - unsigned int /* src_height */, - Bool /* send_event */ -); - -Status XShmGetImage( - Display* /* dpy */, - Drawable /* d */, - XImage* /* image */, - int /* x */, - int /* y */, - unsigned long /* plane_mask */ -); - -XImage *XShmCreateImage( - Display* /* dpy */, - Visual* /* visual */, - unsigned int /* depth */, - int /* format */, - char* /* data */, - XShmSegmentInfo* /* shminfo */, - unsigned int /* width */, - unsigned int /* height */ -); - -Pixmap XShmCreatePixmap( - Display* /* dpy */, - Drawable /* d */, - char* /* data */, - XShmSegmentInfo* /* shminfo */, - unsigned int /* width */, - unsigned int /* height */, - unsigned int /* depth */ -); - -_XFUNCPROTOEND - -#endif +/* $XFree86: xc/include/extensions/XShm.h,v 1.11 2003/04/03 15:11:07 dawes Exp $ */ +/************************************************************ + +Copyright 1989, 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. + +********************************************************/ + +/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ + +/* $Xorg: XShm.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */ + +#ifndef _XSHM_H_ +#define _XSHM_H_ + +#include +#include + +#ifndef _XSHM_SERVER_ +typedef unsigned long ShmSeg; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came frome a SendEvent request */ + Display *display; /* Display the event was read from */ + Drawable drawable; /* drawable of request */ + int major_code; /* ShmReqCode */ + int minor_code; /* X_ShmPutImage */ + ShmSeg shmseg; /* the ShmSeg used in the request */ + unsigned long offset; /* the offset into ShmSeg used in the request */ +} XShmCompletionEvent; + +typedef struct { + ShmSeg shmseg; /* resource id */ + int shmid; /* kernel id */ + char *shmaddr; /* address in client */ + Bool readOnly; /* how the server should attach it */ +} XShmSegmentInfo; + +_XFUNCPROTOBEGIN + +Bool XShmQueryExtension( + Display* /* dpy */ +); + +int XShmGetEventBase( + Display* /* dpy */ +); + +Bool XShmQueryVersion( + Display* /* dpy */, + int* /* majorVersion */, + int* /* minorVersion */, + Bool* /* sharedPixmaps */ +); + +int XShmPixmapFormat( + Display* /* dpy */ +); + +Status XShmAttach( + Display* /* dpy */, + XShmSegmentInfo* /* shminfo */ +); + +Status XShmDetach( + Display* /* dpy */, + XShmSegmentInfo* /* shminfo */ +); + +Status XShmPutImage( + Display* /* dpy */, + Drawable /* d */, + GC /* gc */, + XImage* /* image */, + int /* src_x */, + int /* src_y */, + int /* dst_x */, + int /* dst_y */, + unsigned int /* src_width */, + unsigned int /* src_height */, + Bool /* send_event */ +); + +Status XShmGetImage( + Display* /* dpy */, + Drawable /* d */, + XImage* /* image */, + int /* x */, + int /* y */, + unsigned long /* plane_mask */ +); + +XImage *XShmCreateImage( + Display* /* dpy */, + Visual* /* visual */, + unsigned int /* depth */, + int /* format */, + char* /* data */, + XShmSegmentInfo* /* shminfo */, + unsigned int /* width */, + unsigned int /* height */ +); + +Pixmap XShmCreatePixmap( + Display* /* dpy */, + Drawable /* d */, + char* /* data */, + XShmSegmentInfo* /* shminfo */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* depth */ +); + +_XFUNCPROTOEND +#endif /* _XSHM_SERVER_ */ + +#endif diff --git a/libXext/include/X11/extensions/dpms.h b/libXext/include/X11/extensions/dpms.h index db06d4725..037c44652 100644 --- a/libXext/include/X11/extensions/dpms.h +++ b/libXext/include/X11/extensions/dpms.h @@ -1,53 +1,55 @@ -/* $Xorg: dpms.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */ -/***************************************************************** - -Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software. - -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 -DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, -BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL 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 Digital Equipment Corporation -shall not be used in advertising or otherwise to promote the sale, use or other -dealings in this Software without prior written authorization from Digital -Equipment Corporation. - -******************************************************************/ -/* $XFree86: xc/include/extensions/dpms.h,v 3.4 2000/03/15 16:51:51 tsi Exp $ */ - -#ifndef _X11_EXTENSIONS_DPMS_H -#define _X11_EXTENSIONS_DPMS_H 1 - -#include -#include -#include - -_XFUNCPROTOBEGIN - -extern Bool DPMSQueryExtension(Display *, int *, int *); -extern Status DPMSGetVersion(Display *, int *, int *); -extern Bool DPMSCapable(Display *); -extern Status DPMSSetTimeouts(Display *, CARD16, CARD16, CARD16); -extern Bool DPMSGetTimeouts(Display *, CARD16 *, CARD16 *, CARD16 *); -extern Status DPMSEnable(Display *); -extern Status DPMSDisable(Display *); -extern Status DPMSForceLevel(Display *, CARD16); -extern Status DPMSInfo(Display *, CARD16 *, BOOL *); - -_XFUNCPROTOEND - -#endif /* !_X11_EXTENSIONS_DPMS_H */ - +/* $Xorg: dpms.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */ +/***************************************************************** + +Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +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 +DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL 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 Digital Equipment Corporation +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Digital +Equipment Corporation. + +******************************************************************/ +/* $XFree86: xc/include/extensions/dpms.h,v 3.4 2000/03/15 16:51:51 tsi Exp $ */ + +#ifndef _X11_EXTENSIONS_DPMS_H +#define _X11_EXTENSIONS_DPMS_H 1 + +#include +#include +#include + +#ifndef DPMS_SERVER +_XFUNCPROTOBEGIN + +extern Bool DPMSQueryExtension(Display *, int *, int *); +extern Status DPMSGetVersion(Display *, int *, int *); +extern Bool DPMSCapable(Display *); +extern Status DPMSSetTimeouts(Display *, CARD16, CARD16, CARD16); +extern Bool DPMSGetTimeouts(Display *, CARD16 *, CARD16 *, CARD16 *); +extern Status DPMSEnable(Display *); +extern Status DPMSDisable(Display *); +extern Status DPMSForceLevel(Display *, CARD16); +extern Status DPMSInfo(Display *, CARD16 *, BOOL *); + +_XFUNCPROTOEND +#endif + +#endif /* !_X11_EXTENSIONS_DPMS_H */ + diff --git a/libXext/include/X11/extensions/sync.h b/libXext/include/X11/extensions/sync.h index 2de222ab5..9d8c88545 100644 --- a/libXext/include/X11/extensions/sync.h +++ b/libXext/include/X11/extensions/sync.h @@ -1,338 +1,344 @@ -/* $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 -#include - -_XFUNCPROTOBEGIN -/* get rid of macros so we can define corresponding functions */ -#undef XSyncIntToValue -#undef XSyncIntsToValue -#undef XSyncValueGreaterThan -#undef XSyncValueLessThan -#undef XSyncValueGreaterOrEqual -#undef XSyncValueLessOrEqual -#undef XSyncValueEqual -#undef XSyncValueIsNegative -#undef XSyncValueIsZero -#undef XSyncValueIsPositive -#undef XSyncValueLow32 -#undef XSyncValueHigh32 -#undef XSyncValueAdd -#undef XSyncValueSubtract -#undef XSyncMaxValue -#undef XSyncMinValue - -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 - - -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*/ -); - -_XFUNCPROTOEND - -#endif /* _SYNC_H_ */ +/* $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 +#include + +#ifdef _SYNC_SERVER +#include +#else + +_XFUNCPROTOBEGIN +/* get rid of macros so we can define corresponding functions */ +#undef XSyncIntToValue +#undef XSyncIntsToValue +#undef XSyncValueGreaterThan +#undef XSyncValueLessThan +#undef XSyncValueGreaterOrEqual +#undef XSyncValueLessOrEqual +#undef XSyncValueEqual +#undef XSyncValueIsNegative +#undef XSyncValueIsZero +#undef XSyncValueIsPositive +#undef XSyncValueLow32 +#undef XSyncValueHigh32 +#undef XSyncValueAdd +#undef XSyncValueSubtract +#undef XSyncMaxValue +#undef XSyncMinValue + +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 + + +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*/ +); + +_XFUNCPROTOEND + +#endif /* _SYNC_SERVER */ + +#endif /* _SYNC_H_ */ -- cgit v1.2.3