From 5891b79405209d51d5fcf20ff562cf7120c3017f Mon Sep 17 00:00:00 2001 From: Kaleb Keithley Date: Fri, 14 Nov 2003 15:54:35 +0000 Subject: [PATCH 01/59] R6.6 is the Xorg base-line --- record.h | 239 +++++++++++++++++++++++++++++++++++++++ recordstr.h | 318 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 557 insertions(+) create mode 100644 record.h create mode 100644 recordstr.h diff --git a/record.h b/record.h new file mode 100644 index 0000000..9234404 --- /dev/null +++ b/record.h @@ -0,0 +1,239 @@ +/* +$Xorg: record.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ +*/ + +/*************************************************************************** + * Copyright 1995 Network Computing Devices + * + * 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, and that the name of Network Computing Devices + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. + * + * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES 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 _RECORD_H_ +#define _RECORD_H_ + +#define XRecordBadContext 0 /* Not a valid RC */ + +/* + * Constants for arguments of various requests + */ +#define XRecordFromServerTime 0x01 +#define XRecordFromClientTime 0x02 +#define XRecordFromClientSequence 0x04 + +#define XRecordCurrentClients 1 +#define XRecordFutureClients 2 +#define XRecordAllClients 3 + +#define XRecordFromServer 0 +#define XRecordFromClient 1 +#define XRecordClientStarted 2 +#define XRecordClientDied 3 +#define XRecordStartOfData 4 +#define XRecordEndOfData 5 + +typedef unsigned long XRecordClientSpec; + +#ifndef _XRECORD_SERVER_ + +typedef unsigned long XRecordContext; + +typedef struct +{ + unsigned char first; + unsigned char last; +} XRecordRange8; + +typedef struct +{ + unsigned short first; + unsigned short last; +} XRecordRange16; + +typedef struct +{ + XRecordRange8 ext_major; + XRecordRange16 ext_minor; +} XRecordExtRange; + +typedef struct +{ + XRecordRange8 core_requests; /* core X requests */ + XRecordRange8 core_replies; /* core X replies */ + XRecordExtRange ext_requests; /* extension requests */ + XRecordExtRange ext_replies; /* extension replies */ + XRecordRange8 delivered_events; /* delivered core and ext events */ + XRecordRange8 device_events; /* all core and ext device events */ + XRecordRange8 errors; /* core X and ext errors */ + Bool client_started; /* connection setup reply */ + Bool client_died; /* notice of client disconnect */ +} XRecordRange; + +typedef struct +{ + XRecordClientSpec client; + unsigned long nranges; + XRecordRange **ranges; +} XRecordClientInfo; + +typedef struct +{ + Bool enabled; + int datum_flags; + unsigned long nclients; + XRecordClientInfo **client_info; +} XRecordState; + +typedef struct +{ + XID id_base; + Time server_time; + unsigned long client_seq; + int category; + Bool client_swapped; + unsigned char *data; + unsigned long data_len; /* in 4-byte units */ +} XRecordInterceptData; + +_XFUNCPROTOBEGIN + +/********************************************************* + * + * Prototypes + * + */ + +XID XRecordIdBaseMask( +#if NeedFunctionPrototypes + Display *dpy +#endif +); + +extern Status XRecordQueryVersion( +#if NeedFunctionPrototypes + Display* /* dpy */, + int* /* cmajor_return */, + int* /* cminor_return */ +#endif +); + +extern XRecordContext XRecordCreateContext( +#if NeedFunctionPrototypes + Display* /* dpy */, + int /* datum_flags */, + XRecordClientSpec* /* clients */, + int /* nclients */, + XRecordRange** /* ranges */, + int /* nranges */ +#endif +); + +extern XRecordRange *XRecordAllocRange( +#if NeedFunctionPrototypes + void +#endif +); + +extern Status XRecordRegisterClients( +#if NeedFunctionPrototypes + Display* /* dpy */, + XRecordContext /* context */, + int /* datum_flags */, + XRecordClientSpec* /* clients */, + int /* nclients */, + XRecordRange** /* ranges */, + int /* nranges */ +#endif +); + +extern Status XRecordUnregisterClients( +#if NeedFunctionPrototypes + Display* /* dpy */, + XRecordContext /* context */, + XRecordClientSpec* /* clients */, + int /* nclients */ +#endif +); + +extern Status XRecordGetContext( +#if NeedFunctionPrototypes + Display* /* dpy */, + XRecordContext /* context */, + XRecordState** /* state_return */ +#endif +); + +extern void XRecordFreeState( +#if NeedFunctionPrototypes +XRecordState* /* state */ +#endif +); + +typedef void (*XRecordInterceptProc) ( +#if NeedFunctionPrototypes + XPointer /* closure */, + XRecordInterceptData* /* recorded_data */ +#endif +); + +extern Status XRecordEnableContext( +#if NeedFunctionPrototypes + Display* /* dpy */, + XRecordContext /* context */, + XRecordInterceptProc /* callback */, + XPointer /* closure */ +#endif +); + +extern Status XRecordEnableContextAsync( +#if NeedFunctionPrototypes + Display* /* dpy */, + XRecordContext /* context */, + XRecordInterceptProc /* callback */, + XPointer /* closure */ +#endif +); + +extern void XRecordProcessReplies( +#if NeedFunctionPrototypes + Display* /* dpy */ +#endif +); + +extern void XRecordFreeData( +#if NeedFunctionPrototypes +XRecordInterceptData* /* data */ +#endif +); + +extern Status XRecordDisableContext( +#if NeedFunctionPrototypes + Display* /* dpy */, + XRecordContext /* context */ +#endif +); + +extern Status XRecordFreeContext( +#if NeedFunctionPrototypes + Display* /* dpy */, + XRecordContext /* context */ +#endif +); + +_XFUNCPROTOEND + +#endif /* _XRECORD_SERVER_ */ + +#endif /* _RECORD_H_ */ diff --git a/recordstr.h b/recordstr.h new file mode 100644 index 0000000..bfd3028 --- /dev/null +++ b/recordstr.h @@ -0,0 +1,318 @@ +/* +#ifndef lint +$Xorg: recordstr.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ +static char sccsid[ ] = "@(#) recordstr.h 1.5 6/5/95 12:37:44"; +#endif +*/ + +/*************************************************************************** + * Copyright 1995 Network Computing Devices + * + * 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, and that the name of Network Computing Devices + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. + * + * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES 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. + **************************************************************************/ + +#include "record.h" + +#define RECORD_NAME "RECORD" +#define RECORD_MAJOR_VERSION 1 +#define RECORD_MINOR_VERSION 13 +#define RECORD_LOWEST_MAJOR_VERSION 1 +#define RECORD_LOWEST_MINOR_VERSION 12 +/* only difference between 1.12 and 1.13 is byte order of device events, + which the library doesn't deal with. */ + +/********************************************************* + * + * Protocol request constants + * + */ +#define X_RecordQueryVersion 0 /* First request from client */ +#define X_RecordCreateContext 1 /* Create client RC */ +#define X_RecordRegisterClients 2 /* Add to client RC */ +#define X_RecordUnregisterClients 3 /* Delete from client RC */ +#define X_RecordGetContext 4 /* Query client RC */ +#define X_RecordEnableContext 5 /* Enable interception and reporting */ +#define X_RecordDisableContext 6 /* Disable interception and reporting */ +#define X_RecordFreeContext 7 /* Free client RC */ + +#define RecordNumErrors (XRecordBadContext + 1) +#define RecordNumEvents 0L + +#define sz_XRecordRange 32 +#define sz_XRecordClientInfo 12 +#define sz_XRecordState 16 +#define sz_XRecordDatum 32 + + +#define XRecordGlobaldef +#define XRecordGlobalref extern + +#define RecordMaxEvent (128L-1L) +#define RecordMinDeviceEvent (2L) +#define RecordMaxDeviceEvent (6L) +#define RecordMaxError (256L-1L) +#define RecordMaxCoreRequest (128L-1L) +#define RecordMaxExtRequest (256L-1L) +#define RecordMinExtRequest (129L-1L) + +#define RECORD_RC CARD32 +#define RECORD_XIDBASE CARD32 +#define RECORD_CLIENTSPEC CARD32 +#define RECORD_ELEMENT_HEADER CARD8 + +typedef RECORD_CLIENTSPEC RecordClientSpec, *RecordClientSpecPtr; + +typedef struct +{ + CARD8 first; + CARD8 last; +} RECORD_RANGE8; + +typedef struct +{ + CARD16 first B16; + CARD16 last B16; +} RECORD_RANGE16; + +typedef struct +{ + RECORD_RANGE8 majorCode; + RECORD_RANGE16 minorCode; +} RECORD_EXTRANGE; + +typedef struct +{ + RECORD_RANGE8 coreRequests; + RECORD_RANGE8 coreReplies; + RECORD_EXTRANGE extRequests; + RECORD_EXTRANGE extReplies; + RECORD_RANGE8 deliveredEvents; + RECORD_RANGE8 deviceEvents; + RECORD_RANGE8 errors; + BOOL clientStarted; + BOOL clientDied; +} RECORDRANGE; +#define sz_RECORDRANGE 24 + +/* typedef RECORDRANGE xRecordRange, *xRecordRangePtr; +#define sz_xRecordRange 24 */ + +/* Cannot have structures within structures going over the wire */ +typedef struct +{ + CARD8 coreRequestsFirst; + CARD8 coreRequestsLast; + CARD8 coreRepliesFirst; + CARD8 coreRepliesLast; + CARD8 extRequestsMajorFirst; + CARD8 extRequestsMajorLast; + CARD16 extRequestsMinorFirst B16; + CARD16 extRequestsMinorLast B16; + CARD8 extRepliesMajorFirst; + CARD8 extRepliesMajorLast; + CARD16 extRepliesMinorFirst B16; + CARD16 extRepliesMinorLast B16; + CARD8 deliveredEventsFirst; + CARD8 deliveredEventsLast; + CARD8 deviceEventsFirst; + CARD8 deviceEventsLast; + CARD8 errorsFirst; + CARD8 errorsLast; + BOOL clientStarted; + BOOL clientDied; +} xRecordRange; +#define sz_xRecordRange 24 + +typedef struct +{ + RECORD_CLIENTSPEC clientResource B32; + CARD32 nRanges B32; +/* LISTofRECORDRANGE */ +} RECORD_CLIENT_INFO; + +typedef RECORD_CLIENT_INFO xRecordClientInfo; + +/* + * Initialize + */ +typedef struct { + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + CARD16 majorVersion B16; + CARD16 minorVersion B16; +} xRecordQueryVersionReq; +#define sz_xRecordQueryVersionReq 8 + +typedef struct +{ + CARD8 type; + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; + CARD16 minorVersion B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + } xRecordQueryVersionReply; +#define sz_xRecordQueryVersionReply 32 + +/* + * Create RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; + RECORD_ELEMENT_HEADER elementHeader; + CARD8 pad; + CARD16 pad0 B16; + CARD32 nClients B32; + CARD32 nRanges B32; +/* LISTofRECORD_CLIENTSPEC */ +/* LISTofRECORDRANGE */ +} xRecordCreateContextReq; +#define sz_xRecordCreateContextReq 20 + +/* + * Add to RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; + RECORD_ELEMENT_HEADER elementHeader; + CARD8 pad; + CARD16 pad0 B16; + CARD32 nClients B32; + CARD32 nRanges B32; +/* LISTofRECORD_CLIENTSPEC */ +/* LISTofRECORDRANGE */ +} xRecordRegisterClientsReq; +#define sz_xRecordRegisterClientsReq 20 + +/* + * Delete from RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; + CARD32 nClients B32; +/* LISTofRECORD_CLIENTSPEC */ +} xRecordUnregisterClientsReq; +#define sz_xRecordUnregisterClientsReq 12 + +/* + * Query RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordGetContextReq; +#define sz_xRecordGetContextReq 8 + +typedef struct +{ + CARD8 type; + BOOL enabled; + CARD16 sequenceNumber B16; + CARD32 length B32; + RECORD_ELEMENT_HEADER elementHeader; + CARD8 pad; + CARD16 pad0 B16; + CARD32 nClients B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +/* LISTofCLIENT_INFO */ /* intercepted-clients */ +} xRecordGetContextReply; +#define sz_xRecordGetContextReply 32 + +/* + * Enable data interception + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordEnableContextReq; +#define sz_xRecordEnableContextReq 8 + +typedef struct +{ + CARD8 type; + CARD8 category; + CARD16 sequenceNumber B16; + CARD32 length B32; + RECORD_ELEMENT_HEADER elementHeader; + BOOL clientSwapped; + CARD16 pad1 B16; + RECORD_XIDBASE idBase B32; + CARD32 serverTime B32; + CARD32 recordedSequenceNumber B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + /* BYTE data; */ +} xRecordEnableContextReply; +#define sz_xRecordEnableContextReply 32 + +/* + * Disable data interception + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordDisableContextReq; +#define sz_xRecordDisableContextReq 8 + +/* + * Free RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordFreeContextReq; +#define sz_xRecordFreeContextReq 8 + +#undef RECORD_RC +#undef RECORD_XIDBASE +#undef RECORD_ELEMENT_HEADER +#undef RECORD_CLIENTSPEC + + From 3b9115eb4dd86b813ac3423f2d508535a2fcaf09 Mon Sep 17 00:00:00 2001 From: Kaleb Keithley Date: Fri, 14 Nov 2003 16:48:43 +0000 Subject: [PATCH 02/59] XFree86 4.3.0.1 --- recordstr.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recordstr.h b/recordstr.h index bfd3028..37b5eec 100644 --- a/recordstr.h +++ b/recordstr.h @@ -24,8 +24,12 @@ static char sccsid[ ] = "@(#) recordstr.h 1.5 6/5/95 12:37:44"; * 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/recordstr.h,v 1.2 2001/08/01 00:44:35 tsi Exp $ */ -#include "record.h" +#ifndef _RECORDSTR_H_ +#define _RECORDSTR_H_ + +#include #define RECORD_NAME "RECORD" #define RECORD_MAJOR_VERSION 1 @@ -315,4 +319,4 @@ typedef struct #undef RECORD_ELEMENT_HEADER #undef RECORD_CLIENTSPEC - +#endif From 45626afe8e328c1c1deb32cb6e96914ba8923101 Mon Sep 17 00:00:00 2001 From: Kaleb Keithley Date: Tue, 25 Nov 2003 19:28:02 +0000 Subject: [PATCH 03/59] XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks --- record.h | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/record.h b/record.h index 9234404..bab5e4e 100644 --- a/record.h +++ b/record.h @@ -21,6 +21,8 @@ $Xorg: record.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ * 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/record.h,v 1.2 2003/11/17 22:20:03 dawes Exp $ */ + #ifndef _RECORD_H_ #define _RECORD_H_ @@ -116,38 +118,29 @@ _XFUNCPROTOBEGIN */ XID XRecordIdBaseMask( -#if NeedFunctionPrototypes Display *dpy -#endif ); extern Status XRecordQueryVersion( -#if NeedFunctionPrototypes Display* /* dpy */, int* /* cmajor_return */, int* /* cminor_return */ -#endif ); extern XRecordContext XRecordCreateContext( -#if NeedFunctionPrototypes Display* /* dpy */, int /* datum_flags */, XRecordClientSpec* /* clients */, int /* nclients */, XRecordRange** /* ranges */, int /* nranges */ -#endif ); extern XRecordRange *XRecordAllocRange( -#if NeedFunctionPrototypes void -#endif ); extern Status XRecordRegisterClients( -#if NeedFunctionPrototypes Display* /* dpy */, XRecordContext /* context */, int /* datum_flags */, @@ -155,81 +148,60 @@ extern Status XRecordRegisterClients( int /* nclients */, XRecordRange** /* ranges */, int /* nranges */ -#endif ); extern Status XRecordUnregisterClients( -#if NeedFunctionPrototypes Display* /* dpy */, XRecordContext /* context */, XRecordClientSpec* /* clients */, int /* nclients */ -#endif ); extern Status XRecordGetContext( -#if NeedFunctionPrototypes Display* /* dpy */, XRecordContext /* context */, XRecordState** /* state_return */ -#endif ); extern void XRecordFreeState( -#if NeedFunctionPrototypes XRecordState* /* state */ -#endif ); typedef void (*XRecordInterceptProc) ( -#if NeedFunctionPrototypes XPointer /* closure */, XRecordInterceptData* /* recorded_data */ -#endif ); extern Status XRecordEnableContext( -#if NeedFunctionPrototypes Display* /* dpy */, XRecordContext /* context */, XRecordInterceptProc /* callback */, XPointer /* closure */ -#endif ); extern Status XRecordEnableContextAsync( -#if NeedFunctionPrototypes Display* /* dpy */, XRecordContext /* context */, XRecordInterceptProc /* callback */, XPointer /* closure */ -#endif ); extern void XRecordProcessReplies( -#if NeedFunctionPrototypes Display* /* dpy */ -#endif ); extern void XRecordFreeData( -#if NeedFunctionPrototypes XRecordInterceptData* /* data */ -#endif ); extern Status XRecordDisableContext( -#if NeedFunctionPrototypes Display* /* dpy */, XRecordContext /* context */ -#endif ); extern Status XRecordFreeContext( -#if NeedFunctionPrototypes Display* /* dpy */, XRecordContext /* context */ -#endif ); _XFUNCPROTOEND From c435e3cc568e9d690f7b1291084e676ae3376d54 Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Thu, 26 Feb 2004 09:22:28 +0000 Subject: [PATCH 04/59] Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004 --- record.h | 2 +- recordstr.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/record.h b/record.h index bab5e4e..d88be99 100644 --- a/record.h +++ b/record.h @@ -21,7 +21,7 @@ $Xorg: record.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ * 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/record.h,v 1.2 2003/11/17 22:20:03 dawes Exp $ */ +/* $XFree86$ */ #ifndef _RECORD_H_ #define _RECORD_H_ diff --git a/recordstr.h b/recordstr.h index 37b5eec..246d34f 100644 --- a/recordstr.h +++ b/recordstr.h @@ -24,7 +24,7 @@ static char sccsid[ ] = "@(#) recordstr.h 1.5 6/5/95 12:37:44"; * 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/recordstr.h,v 1.2 2001/08/01 00:44:35 tsi Exp $ */ +/* $XFree86$ */ #ifndef _RECORDSTR_H_ #define _RECORDSTR_H_ From 28f7d2358c7b2a07f08ea9b872aab5ee42440b56 Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Thu, 26 Feb 2004 13:35:14 +0000 Subject: [PATCH 05/59] readding XFree86's cvs IDs --- record.h | 2 +- recordstr.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/record.h b/record.h index d88be99..bab5e4e 100644 --- a/record.h +++ b/record.h @@ -21,7 +21,7 @@ $Xorg: record.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. **************************************************************************/ -/* $XFree86$ */ +/* $XFree86: xc/include/extensions/record.h,v 1.2 2003/11/17 22:20:03 dawes Exp $ */ #ifndef _RECORD_H_ #define _RECORD_H_ diff --git a/recordstr.h b/recordstr.h index 246d34f..37b5eec 100644 --- a/recordstr.h +++ b/recordstr.h @@ -24,7 +24,7 @@ static char sccsid[ ] = "@(#) recordstr.h 1.5 6/5/95 12:37:44"; * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. **************************************************************************/ -/* $XFree86$ */ +/* $XFree86: xc/include/extensions/recordstr.h,v 1.2 2001/08/01 00:44:35 tsi Exp $ */ #ifndef _RECORDSTR_H_ #define _RECORDSTR_H_ From f6c0db4c6e249901109722da6d5bd7be3bde377c Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Wed, 3 Mar 2004 12:10:54 +0000 Subject: [PATCH 06/59] Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004 --- record.h | 2 +- recordstr.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/record.h b/record.h index bab5e4e..d88be99 100644 --- a/record.h +++ b/record.h @@ -21,7 +21,7 @@ $Xorg: record.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ * 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/record.h,v 1.2 2003/11/17 22:20:03 dawes Exp $ */ +/* $XFree86$ */ #ifndef _RECORD_H_ #define _RECORD_H_ diff --git a/recordstr.h b/recordstr.h index 37b5eec..246d34f 100644 --- a/recordstr.h +++ b/recordstr.h @@ -24,7 +24,7 @@ static char sccsid[ ] = "@(#) recordstr.h 1.5 6/5/95 12:37:44"; * 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/recordstr.h,v 1.2 2001/08/01 00:44:35 tsi Exp $ */ +/* $XFree86$ */ #ifndef _RECORDSTR_H_ #define _RECORDSTR_H_ From b62b2b4b4cd80f05e48c634d16e05bed76f80607 Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Sun, 14 Mar 2004 08:31:36 +0000 Subject: [PATCH 07/59] Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004 --- record.h | 2 +- recordstr.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/record.h b/record.h index d88be99..bab5e4e 100644 --- a/record.h +++ b/record.h @@ -21,7 +21,7 @@ $Xorg: record.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. **************************************************************************/ -/* $XFree86$ */ +/* $XFree86: xc/include/extensions/record.h,v 1.2 2003/11/17 22:20:03 dawes Exp $ */ #ifndef _RECORD_H_ #define _RECORD_H_ diff --git a/recordstr.h b/recordstr.h index 246d34f..37b5eec 100644 --- a/recordstr.h +++ b/recordstr.h @@ -24,7 +24,7 @@ static char sccsid[ ] = "@(#) recordstr.h 1.5 6/5/95 12:37:44"; * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. **************************************************************************/ -/* $XFree86$ */ +/* $XFree86: xc/include/extensions/recordstr.h,v 1.2 2001/08/01 00:44:35 tsi Exp $ */ #ifndef _RECORDSTR_H_ #define _RECORDSTR_H_ From c7dc29e5d64a7fc308874512321f43c194ac11e2 Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Fri, 23 Apr 2004 18:43:06 +0000 Subject: [PATCH 08/59] Merging XORG-CURRENT into trunk --- record.h | 2 +- recordstr.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/record.h b/record.h index bab5e4e..d88be99 100644 --- a/record.h +++ b/record.h @@ -21,7 +21,7 @@ $Xorg: record.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ * 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/record.h,v 1.2 2003/11/17 22:20:03 dawes Exp $ */ +/* $XFree86$ */ #ifndef _RECORD_H_ #define _RECORD_H_ diff --git a/recordstr.h b/recordstr.h index 37b5eec..246d34f 100644 --- a/recordstr.h +++ b/recordstr.h @@ -24,7 +24,7 @@ static char sccsid[ ] = "@(#) recordstr.h 1.5 6/5/95 12:37:44"; * 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/recordstr.h,v 1.2 2001/08/01 00:44:35 tsi Exp $ */ +/* $XFree86$ */ #ifndef _RECORDSTR_H_ #define _RECORDSTR_H_ From 81198a3b1bbff8109801c64c44f732bb26abcb89 Mon Sep 17 00:00:00 2001 From: Kevin E Martin Date: Fri, 6 May 2005 01:46:31 +0000 Subject: [PATCH 09/59] Initial build system files for proto module. --- Makefile.am | 9 +++++++++ autogen.sh | 12 ++++++++++++ configure.ac | 6 ++++++ recordext.pc.in | 9 +++++++++ 4 files changed, 36 insertions(+) create mode 100644 Makefile.am create mode 100755 autogen.sh create mode 100644 configure.ac create mode 100644 recordext.pc.in diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..22f63b8 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,9 @@ +recorddir = $(includedir)/X11/extensions +record_HEADERS = \ + record.h \ + recordstr.h + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = recordext.pc + +EXTRA_DIST = autogen.sh recordext.pc.in diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..904cd67 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..75b89cf --- /dev/null +++ b/configure.ac @@ -0,0 +1,6 @@ +AC_PREREQ([2.57]) +AC_INIT([RecordExt], [7.0], [xorg@lists.freedesktop.org]) +AM_INIT_AUTOMAKE([foreign dist-bzip2]) + +AC_OUTPUT([Makefile + recordext.pc]) diff --git a/recordext.pc.in b/recordext.pc.in new file mode 100644 index 0000000..19098ad --- /dev/null +++ b/recordext.pc.in @@ -0,0 +1,9 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: RecordExt +Description: Record extension headers +Version: @PACKAGE_VERSION@ +Cflags: -I${includedir} From 7bb7d5ca1396f83d81cc4164b975e5dc2597e678 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= Date: Mon, 9 May 2005 18:20:06 +0000 Subject: [PATCH 10/59] Change all the protonames from Ext to Proto. --- Makefile.am | 4 ++-- configure.ac | 4 ++-- recordext.pc.in => recordproto.pc.in | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) rename recordext.pc.in => recordproto.pc.in (90%) diff --git a/Makefile.am b/Makefile.am index 22f63b8..c4aaee3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,6 +4,6 @@ record_HEADERS = \ recordstr.h pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = recordext.pc +pkgconfig_DATA = recordproto.pc -EXTRA_DIST = autogen.sh recordext.pc.in +EXTRA_DIST = autogen.sh recordproto.pc.in diff --git a/configure.ac b/configure.ac index 75b89cf..0bb6813 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.57]) -AC_INIT([RecordExt], [7.0], [xorg@lists.freedesktop.org]) +AC_INIT([RecordProto], [7.0], [xorg@lists.freedesktop.org]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AC_OUTPUT([Makefile - recordext.pc]) + recordproto.pc]) diff --git a/recordext.pc.in b/recordproto.pc.in similarity index 90% rename from recordext.pc.in rename to recordproto.pc.in index 19098ad..77cd38f 100644 --- a/recordext.pc.in +++ b/recordproto.pc.in @@ -3,7 +3,7 @@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ -Name: RecordExt +Name: RecordProto Description: Record extension headers Version: @PACKAGE_VERSION@ Cflags: -I${includedir} From 3cb43fd0e261894865a8a86d598adb41eec0cc0e Mon Sep 17 00:00:00 2001 From: Josh Triplett Date: Tue, 17 May 2005 07:08:40 +0000 Subject: [PATCH 11/59] Add COPYING file for Record. --- COPYING | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 COPYING diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..ae25726 --- /dev/null +++ b/COPYING @@ -0,0 +1,17 @@ +Copyright 1995 Network Computing Devices + +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, and that the name of Network Computing Devices +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. + +NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES 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. From 8f287f8cfaeac5c28560fa94ca215244c1bb7776 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Thu, 19 May 2005 00:10:19 +0000 Subject: [PATCH 12/59] Require automake 1.7 in AM_INIT_AUTOMAKE --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 0bb6813..cd67e11 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.57]) AC_INIT([RecordProto], [7.0], [xorg@lists.freedesktop.org]) -AM_INIT_AUTOMAKE([foreign dist-bzip2]) +AM_INIT_AUTOMAKE([1.7], [foreign dist-bzip2]) AC_OUTPUT([Makefile recordproto.pc]) From 3e7909df321b6969bc020d84a54bea6af31fc80c Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Thu, 19 May 2005 00:22:40 +0000 Subject: [PATCH 13/59] revert last change, didn't do right thing at all, sorry for the noise --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index cd67e11..0bb6813 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.57]) AC_INIT([RecordProto], [7.0], [xorg@lists.freedesktop.org]) -AM_INIT_AUTOMAKE([1.7], [foreign dist-bzip2]) +AM_INIT_AUTOMAKE([foreign dist-bzip2]) AC_OUTPUT([Makefile recordproto.pc]) From a895a7e1f18706d4a91a390f1266bbd4a46f8231 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Sat, 21 May 2005 04:15:05 +0000 Subject: [PATCH 14/59] Set version to 1.13. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 0bb6813..d55df5c 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.57]) -AC_INIT([RecordProto], [7.0], [xorg@lists.freedesktop.org]) +AC_INIT([RecordProto], [1.13], [xorg@lists.freedesktop.org]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AC_OUTPUT([Makefile From b9e116fe4b9970696029d79c63bb36a0960a7861 Mon Sep 17 00:00:00 2001 From: Kevin E Martin Date: Fri, 29 Jul 2005 21:22:56 +0000 Subject: [PATCH 15/59] Various changes preparing packages for RC0: - Verify and update package version numbers as needed - Implement versioning scheme - Change bug address to point to bugzilla bug entry form - Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to reenable it) - Fix makedepend to use pkgconfig and pass distcheck - Update build script to build macros first - Update modular Xorg version --- configure.ac | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index d55df5c..8e431b4 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,8 @@ AC_PREREQ([2.57]) -AC_INIT([RecordProto], [1.13], [xorg@lists.freedesktop.org]) +AC_INIT([RecordProto], [1.13], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) - + +XORG_RELEASE_VERSION + AC_OUTPUT([Makefile recordproto.pc]) From b298e441128e479b12615acab77df63a1ce516b1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 2 Aug 2005 19:19:39 +0000 Subject: [PATCH 16/59] Add basic .cvsignore files for proto modules. --- .cvsignore | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .cvsignore diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..42b38a9 --- /dev/null +++ b/.cvsignore @@ -0,0 +1,10 @@ +Makefile +Makefile.in +aclocal.m4 +autom4te.cache +config.log +config.status +configure +install-sh +missing +recordproto.pc From 6f8dbc14edcff010da66a1bf2d0f5e570f2d0812 Mon Sep 17 00:00:00 2001 From: Kevin E Martin Date: Wed, 19 Oct 2005 02:48:14 +0000 Subject: [PATCH 17/59] Update package version number for RC1 release. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 8e431b4..dd20a94 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.57]) -AC_INIT([RecordProto], [1.13], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([RecordProto], [1.13.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) XORG_RELEASE_VERSION From 18c27afa9a8a96bd8ba05ba6cd1e3bf0922601cb Mon Sep 17 00:00:00 2001 From: Kevin E Martin Date: Thu, 15 Dec 2005 00:24:38 +0000 Subject: [PATCH 18/59] Update package version number for final X11R7 release candidate. --- ChangeLog | 4 ++++ configure.ac | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 ChangeLog diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..c722b51 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,4 @@ +2005-12-14 Kevin E. Martin + + * configure.ac: + Update package version number for final X11R7 release candidate. diff --git a/configure.ac b/configure.ac index dd20a94..4379c21 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.57]) -AC_INIT([RecordProto], [1.13.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([RecordProto], [1.13.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) XORG_RELEASE_VERSION From 400d7a5db8cb56464a2ff48b21a1b53e7cc5b295 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Fri, 14 Jul 2006 18:56:28 -0700 Subject: [PATCH 19/59] renamed: .cvsignore -> .gitignore --- .cvsignore => .gitignore | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .cvsignore => .gitignore (100%) diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore From ecaf1d1c89a1ce914c387c8d9722d6cdaa82a9e6 Mon Sep 17 00:00:00 2001 From: James Cloos Date: Mon, 3 Sep 2007 05:54:13 -0400 Subject: [PATCH 20/59] Add *~ to .gitignore to skip patch/emacs droppings --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 42b38a9..3613a4f 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ configure install-sh missing recordproto.pc +*~ From b38fe6228b369c7bf32e4003658395dd45352257 Mon Sep 17 00:00:00 2001 From: James Cloos Date: Thu, 6 Dec 2007 16:39:05 -0500 Subject: [PATCH 21/59] Replace static ChangeLog with dist-hook to generate from git log --- ChangeLog | 4 ---- Makefile.am | 10 ++++++++++ 2 files changed, 10 insertions(+), 4 deletions(-) delete mode 100644 ChangeLog diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index c722b51..0000000 --- a/ChangeLog +++ /dev/null @@ -1,4 +0,0 @@ -2005-12-14 Kevin E. Martin - - * configure.ac: - Update package version number for final X11R7 release candidate. diff --git a/Makefile.am b/Makefile.am index c4aaee3..45e57a7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,3 +7,13 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = recordproto.pc EXTRA_DIST = autogen.sh recordproto.pc.in + +EXTRA_DIST += ChangeLog +MAINTAINERCLEANFILES = ChangeLog + +.PHONY: ChangeLog + +ChangeLog: + (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2) + +dist-hook: ChangeLog From eb14a315478af94dc588e1ed29628830deef90e4 Mon Sep 17 00:00:00 2001 From: Paulo Cesar Pereira de Andrade Date: Tue, 27 Jan 2009 20:06:28 -0200 Subject: [PATCH 22/59] Janitor: Correct make distcheck and dont distribute autogen.sh --- .gitignore | 3 +++ Makefile.am | 4 ++-- configure.ac | 4 ++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3613a4f..d8d9904 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,6 @@ install-sh missing recordproto.pc *~ +recordproto-*.tar.* +ChangeLog +tags diff --git a/Makefile.am b/Makefile.am index 45e57a7..3b7dd31 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,7 +6,7 @@ record_HEADERS = \ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = recordproto.pc -EXTRA_DIST = autogen.sh recordproto.pc.in +EXTRA_DIST = recordproto.pc.in EXTRA_DIST += ChangeLog MAINTAINERCLEANFILES = ChangeLog @@ -14,6 +14,6 @@ MAINTAINERCLEANFILES = ChangeLog .PHONY: ChangeLog ChangeLog: - (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2) + $(CHANGELOG_CMD) dist-hook: ChangeLog diff --git a/configure.ac b/configure.ac index 4379c21..eeb62cf 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,11 @@ AC_PREREQ([2.57]) AC_INIT([RecordProto], [1.13.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) +# Require xorg-macros: XORG_CHANGELOG +m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.2) XORG_RELEASE_VERSION +XORG_CHANGELOG AC_OUTPUT([Makefile recordproto.pc]) From 59c7795cb8cf932c5c5942bb07278854c89a6a67 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 14 Aug 2009 13:29:13 +1000 Subject: [PATCH 23/59] remove RCS tags Signed-off-by: Peter Hutterer --- record.h | 5 ----- recordstr.h | 8 -------- 2 files changed, 13 deletions(-) diff --git a/record.h b/record.h index d88be99..c32cc7a 100644 --- a/record.h +++ b/record.h @@ -1,7 +1,3 @@ -/* -$Xorg: record.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ -*/ - /*************************************************************************** * Copyright 1995 Network Computing Devices * @@ -21,7 +17,6 @@ $Xorg: record.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. **************************************************************************/ -/* $XFree86$ */ #ifndef _RECORD_H_ #define _RECORD_H_ diff --git a/recordstr.h b/recordstr.h index 246d34f..556fbb2 100644 --- a/recordstr.h +++ b/recordstr.h @@ -1,10 +1,3 @@ -/* -#ifndef lint -$Xorg: recordstr.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ -static char sccsid[ ] = "@(#) recordstr.h 1.5 6/5/95 12:37:44"; -#endif -*/ - /*************************************************************************** * Copyright 1995 Network Computing Devices * @@ -24,7 +17,6 @@ static char sccsid[ ] = "@(#) recordstr.h 1.5 6/5/95 12:37:44"; * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. **************************************************************************/ -/* $XFree86$ */ #ifndef _RECORDSTR_H_ #define _RECORDSTR_H_ From 5e35e18e81da8a6a891bc73ac828d45eae91c53c Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 14 Aug 2009 13:34:52 +1000 Subject: [PATCH 24/59] Remove xlib headers, rename record.h to recordconst.h. Xlib headers moved to libXtst. This patch also moves some defines from recordstr.h into recordconst.h. These defines are the ones possibly used by clients (e.g. RECORD_NAME). Clients should never need to include recordstr.h. Signed-off-by: Peter Hutterer --- Makefile.am | 2 +- record.h | 206 -------------------------------------------------- recordconst.h | 54 +++++++++++++ recordstr.h | 10 +-- 4 files changed, 56 insertions(+), 216 deletions(-) delete mode 100644 record.h create mode 100644 recordconst.h diff --git a/Makefile.am b/Makefile.am index 3b7dd31..28950ee 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ recorddir = $(includedir)/X11/extensions record_HEADERS = \ - record.h \ + recordconst.h \ recordstr.h pkgconfigdir = $(libdir)/pkgconfig diff --git a/record.h b/record.h deleted file mode 100644 index c32cc7a..0000000 --- a/record.h +++ /dev/null @@ -1,206 +0,0 @@ -/*************************************************************************** - * Copyright 1995 Network Computing Devices - * - * 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, and that the name of Network Computing Devices - * not be used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * - * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO - * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES 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 _RECORD_H_ -#define _RECORD_H_ - -#define XRecordBadContext 0 /* Not a valid RC */ - -/* - * Constants for arguments of various requests - */ -#define XRecordFromServerTime 0x01 -#define XRecordFromClientTime 0x02 -#define XRecordFromClientSequence 0x04 - -#define XRecordCurrentClients 1 -#define XRecordFutureClients 2 -#define XRecordAllClients 3 - -#define XRecordFromServer 0 -#define XRecordFromClient 1 -#define XRecordClientStarted 2 -#define XRecordClientDied 3 -#define XRecordStartOfData 4 -#define XRecordEndOfData 5 - -typedef unsigned long XRecordClientSpec; - -#ifndef _XRECORD_SERVER_ - -typedef unsigned long XRecordContext; - -typedef struct -{ - unsigned char first; - unsigned char last; -} XRecordRange8; - -typedef struct -{ - unsigned short first; - unsigned short last; -} XRecordRange16; - -typedef struct -{ - XRecordRange8 ext_major; - XRecordRange16 ext_minor; -} XRecordExtRange; - -typedef struct -{ - XRecordRange8 core_requests; /* core X requests */ - XRecordRange8 core_replies; /* core X replies */ - XRecordExtRange ext_requests; /* extension requests */ - XRecordExtRange ext_replies; /* extension replies */ - XRecordRange8 delivered_events; /* delivered core and ext events */ - XRecordRange8 device_events; /* all core and ext device events */ - XRecordRange8 errors; /* core X and ext errors */ - Bool client_started; /* connection setup reply */ - Bool client_died; /* notice of client disconnect */ -} XRecordRange; - -typedef struct -{ - XRecordClientSpec client; - unsigned long nranges; - XRecordRange **ranges; -} XRecordClientInfo; - -typedef struct -{ - Bool enabled; - int datum_flags; - unsigned long nclients; - XRecordClientInfo **client_info; -} XRecordState; - -typedef struct -{ - XID id_base; - Time server_time; - unsigned long client_seq; - int category; - Bool client_swapped; - unsigned char *data; - unsigned long data_len; /* in 4-byte units */ -} XRecordInterceptData; - -_XFUNCPROTOBEGIN - -/********************************************************* - * - * Prototypes - * - */ - -XID XRecordIdBaseMask( - Display *dpy -); - -extern Status XRecordQueryVersion( - Display* /* dpy */, - int* /* cmajor_return */, - int* /* cminor_return */ -); - -extern XRecordContext XRecordCreateContext( - Display* /* dpy */, - int /* datum_flags */, - XRecordClientSpec* /* clients */, - int /* nclients */, - XRecordRange** /* ranges */, - int /* nranges */ -); - -extern XRecordRange *XRecordAllocRange( - void -); - -extern Status XRecordRegisterClients( - Display* /* dpy */, - XRecordContext /* context */, - int /* datum_flags */, - XRecordClientSpec* /* clients */, - int /* nclients */, - XRecordRange** /* ranges */, - int /* nranges */ -); - -extern Status XRecordUnregisterClients( - Display* /* dpy */, - XRecordContext /* context */, - XRecordClientSpec* /* clients */, - int /* nclients */ -); - -extern Status XRecordGetContext( - Display* /* dpy */, - XRecordContext /* context */, - XRecordState** /* state_return */ -); - -extern void XRecordFreeState( -XRecordState* /* state */ -); - -typedef void (*XRecordInterceptProc) ( - XPointer /* closure */, - XRecordInterceptData* /* recorded_data */ -); - -extern Status XRecordEnableContext( - Display* /* dpy */, - XRecordContext /* context */, - XRecordInterceptProc /* callback */, - XPointer /* closure */ -); - -extern Status XRecordEnableContextAsync( - Display* /* dpy */, - XRecordContext /* context */, - XRecordInterceptProc /* callback */, - XPointer /* closure */ -); - -extern void XRecordProcessReplies( - Display* /* dpy */ -); - -extern void XRecordFreeData( -XRecordInterceptData* /* data */ -); - -extern Status XRecordDisableContext( - Display* /* dpy */, - XRecordContext /* context */ -); - -extern Status XRecordFreeContext( - Display* /* dpy */, - XRecordContext /* context */ -); - -_XFUNCPROTOEND - -#endif /* _XRECORD_SERVER_ */ - -#endif /* _RECORD_H_ */ diff --git a/recordconst.h b/recordconst.h new file mode 100644 index 0000000..4819de7 --- /dev/null +++ b/recordconst.h @@ -0,0 +1,54 @@ +/*************************************************************************** + * Copyright 1995 Network Computing Devices + * + * 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, and that the name of Network Computing Devices + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. + * + * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES 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 _RECORDCONST_H_ +#define _RECORDCONST_H_ + +#define RECORD_NAME "RECORD" +#define RECORD_MAJOR_VERSION 1 +#define RECORD_MINOR_VERSION 13 +#define RECORD_LOWEST_MAJOR_VERSION 1 +#define RECORD_LOWEST_MINOR_VERSION 12 + +#define XRecordBadContext 0 /* Not a valid RC */ + +#define RecordNumErrors (XRecordBadContext + 1) +#define RecordNumEvents 0L + +/* + * Constants for arguments of various requests + */ +#define XRecordFromServerTime 0x01 +#define XRecordFromClientTime 0x02 +#define XRecordFromClientSequence 0x04 + +#define XRecordCurrentClients 1 +#define XRecordFutureClients 2 +#define XRecordAllClients 3 + +#define XRecordFromServer 0 +#define XRecordFromClient 1 +#define XRecordClientStarted 2 +#define XRecordClientDied 3 +#define XRecordStartOfData 4 +#define XRecordEndOfData 5 + + +#endif /* _RECORD_H_ */ diff --git a/recordstr.h b/recordstr.h index 556fbb2..b9d2382 100644 --- a/recordstr.h +++ b/recordstr.h @@ -21,13 +21,8 @@ #ifndef _RECORDSTR_H_ #define _RECORDSTR_H_ -#include +#include -#define RECORD_NAME "RECORD" -#define RECORD_MAJOR_VERSION 1 -#define RECORD_MINOR_VERSION 13 -#define RECORD_LOWEST_MAJOR_VERSION 1 -#define RECORD_LOWEST_MINOR_VERSION 12 /* only difference between 1.12 and 1.13 is byte order of device events, which the library doesn't deal with. */ @@ -45,9 +40,6 @@ #define X_RecordDisableContext 6 /* Disable interception and reporting */ #define X_RecordFreeContext 7 /* Free client RC */ -#define RecordNumErrors (XRecordBadContext + 1) -#define RecordNumEvents 0L - #define sz_XRecordRange 32 #define sz_XRecordClientInfo 12 #define sz_XRecordState 16 From a7419fc173ccb949e6b20e1608bdcb816157a17f Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 18 Aug 2009 11:08:27 +1000 Subject: [PATCH 25/59] Rename recordstr.h to recordproto.h, provide a stub instead. Renaming for consistency with other protocol packages. recordstr.h is a simple stub warning against the use of this header. Signed-off-by: Peter Hutterer --- Makefile.am | 1 + recordproto.h | 306 +++++++++++++++++++++++++++++++++++++++++++++++++ recordstr.h | 310 +------------------------------------------------- 3 files changed, 311 insertions(+), 306 deletions(-) create mode 100644 recordproto.h diff --git a/Makefile.am b/Makefile.am index 28950ee..dd0b028 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,7 @@ recorddir = $(includedir)/X11/extensions record_HEADERS = \ recordconst.h \ + recordproto.h \ recordstr.h pkgconfigdir = $(libdir)/pkgconfig diff --git a/recordproto.h b/recordproto.h new file mode 100644 index 0000000..01bc952 --- /dev/null +++ b/recordproto.h @@ -0,0 +1,306 @@ +/*************************************************************************** + * Copyright 1995 Network Computing Devices + * + * 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, and that the name of Network Computing Devices + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. + * + * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES 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 _RECORDPROTO_H_ +#define _RECORDPROTO_H_ + +#include + +/* only difference between 1.12 and 1.13 is byte order of device events, + which the library doesn't deal with. */ + +/********************************************************* + * + * Protocol request constants + * + */ +#define X_RecordQueryVersion 0 /* First request from client */ +#define X_RecordCreateContext 1 /* Create client RC */ +#define X_RecordRegisterClients 2 /* Add to client RC */ +#define X_RecordUnregisterClients 3 /* Delete from client RC */ +#define X_RecordGetContext 4 /* Query client RC */ +#define X_RecordEnableContext 5 /* Enable interception and reporting */ +#define X_RecordDisableContext 6 /* Disable interception and reporting */ +#define X_RecordFreeContext 7 /* Free client RC */ + +#define sz_XRecordRange 32 +#define sz_XRecordClientInfo 12 +#define sz_XRecordState 16 +#define sz_XRecordDatum 32 + + +#define XRecordGlobaldef +#define XRecordGlobalref extern + +#define RecordMaxEvent (128L-1L) +#define RecordMinDeviceEvent (2L) +#define RecordMaxDeviceEvent (6L) +#define RecordMaxError (256L-1L) +#define RecordMaxCoreRequest (128L-1L) +#define RecordMaxExtRequest (256L-1L) +#define RecordMinExtRequest (129L-1L) + +#define RECORD_RC CARD32 +#define RECORD_XIDBASE CARD32 +#define RECORD_CLIENTSPEC CARD32 +#define RECORD_ELEMENT_HEADER CARD8 + +typedef RECORD_CLIENTSPEC RecordClientSpec, *RecordClientSpecPtr; + +typedef struct +{ + CARD8 first; + CARD8 last; +} RECORD_RANGE8; + +typedef struct +{ + CARD16 first B16; + CARD16 last B16; +} RECORD_RANGE16; + +typedef struct +{ + RECORD_RANGE8 majorCode; + RECORD_RANGE16 minorCode; +} RECORD_EXTRANGE; + +typedef struct +{ + RECORD_RANGE8 coreRequests; + RECORD_RANGE8 coreReplies; + RECORD_EXTRANGE extRequests; + RECORD_EXTRANGE extReplies; + RECORD_RANGE8 deliveredEvents; + RECORD_RANGE8 deviceEvents; + RECORD_RANGE8 errors; + BOOL clientStarted; + BOOL clientDied; +} RECORDRANGE; +#define sz_RECORDRANGE 24 + +/* typedef RECORDRANGE xRecordRange, *xRecordRangePtr; +#define sz_xRecordRange 24 */ + +/* Cannot have structures within structures going over the wire */ +typedef struct +{ + CARD8 coreRequestsFirst; + CARD8 coreRequestsLast; + CARD8 coreRepliesFirst; + CARD8 coreRepliesLast; + CARD8 extRequestsMajorFirst; + CARD8 extRequestsMajorLast; + CARD16 extRequestsMinorFirst B16; + CARD16 extRequestsMinorLast B16; + CARD8 extRepliesMajorFirst; + CARD8 extRepliesMajorLast; + CARD16 extRepliesMinorFirst B16; + CARD16 extRepliesMinorLast B16; + CARD8 deliveredEventsFirst; + CARD8 deliveredEventsLast; + CARD8 deviceEventsFirst; + CARD8 deviceEventsLast; + CARD8 errorsFirst; + CARD8 errorsLast; + BOOL clientStarted; + BOOL clientDied; +} xRecordRange; +#define sz_xRecordRange 24 + +typedef struct +{ + RECORD_CLIENTSPEC clientResource B32; + CARD32 nRanges B32; +/* LISTofRECORDRANGE */ +} RECORD_CLIENT_INFO; + +typedef RECORD_CLIENT_INFO xRecordClientInfo; + +/* + * Initialize + */ +typedef struct { + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + CARD16 majorVersion B16; + CARD16 minorVersion B16; +} xRecordQueryVersionReq; +#define sz_xRecordQueryVersionReq 8 + +typedef struct +{ + CARD8 type; + CARD8 pad0; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD16 majorVersion B16; + CARD16 minorVersion B16; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + } xRecordQueryVersionReply; +#define sz_xRecordQueryVersionReply 32 + +/* + * Create RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; + RECORD_ELEMENT_HEADER elementHeader; + CARD8 pad; + CARD16 pad0 B16; + CARD32 nClients B32; + CARD32 nRanges B32; +/* LISTofRECORD_CLIENTSPEC */ +/* LISTofRECORDRANGE */ +} xRecordCreateContextReq; +#define sz_xRecordCreateContextReq 20 + +/* + * Add to RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; + RECORD_ELEMENT_HEADER elementHeader; + CARD8 pad; + CARD16 pad0 B16; + CARD32 nClients B32; + CARD32 nRanges B32; +/* LISTofRECORD_CLIENTSPEC */ +/* LISTofRECORDRANGE */ +} xRecordRegisterClientsReq; +#define sz_xRecordRegisterClientsReq 20 + +/* + * Delete from RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; + CARD32 nClients B32; +/* LISTofRECORD_CLIENTSPEC */ +} xRecordUnregisterClientsReq; +#define sz_xRecordUnregisterClientsReq 12 + +/* + * Query RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordGetContextReq; +#define sz_xRecordGetContextReq 8 + +typedef struct +{ + CARD8 type; + BOOL enabled; + CARD16 sequenceNumber B16; + CARD32 length B32; + RECORD_ELEMENT_HEADER elementHeader; + CARD8 pad; + CARD16 pad0 B16; + CARD32 nClients B32; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +/* LISTofCLIENT_INFO */ /* intercepted-clients */ +} xRecordGetContextReply; +#define sz_xRecordGetContextReply 32 + +/* + * Enable data interception + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordEnableContextReq; +#define sz_xRecordEnableContextReq 8 + +typedef struct +{ + CARD8 type; + CARD8 category; + CARD16 sequenceNumber B16; + CARD32 length B32; + RECORD_ELEMENT_HEADER elementHeader; + BOOL clientSwapped; + CARD16 pad1 B16; + RECORD_XIDBASE idBase B32; + CARD32 serverTime B32; + CARD32 recordedSequenceNumber B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + /* BYTE data; */ +} xRecordEnableContextReply; +#define sz_xRecordEnableContextReply 32 + +/* + * Disable data interception + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordDisableContextReq; +#define sz_xRecordDisableContextReq 8 + +/* + * Free RC + */ +typedef struct +{ + CARD8 reqType; + CARD8 recordReqType; + CARD16 length B16; + RECORD_RC context B32; +} xRecordFreeContextReq; +#define sz_xRecordFreeContextReq 8 + +#undef RECORD_RC +#undef RECORD_XIDBASE +#undef RECORD_ELEMENT_HEADER +#undef RECORD_CLIENTSPEC + +#endif diff --git a/recordstr.h b/recordstr.h index b9d2382..7f269b7 100644 --- a/recordstr.h +++ b/recordstr.h @@ -1,306 +1,4 @@ -/*************************************************************************** - * Copyright 1995 Network Computing Devices - * - * 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, and that the name of Network Computing Devices - * not be used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * - * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO - * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES 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 _RECORDSTR_H_ -#define _RECORDSTR_H_ - -#include - -/* only difference between 1.12 and 1.13 is byte order of device events, - which the library doesn't deal with. */ - -/********************************************************* - * - * Protocol request constants - * - */ -#define X_RecordQueryVersion 0 /* First request from client */ -#define X_RecordCreateContext 1 /* Create client RC */ -#define X_RecordRegisterClients 2 /* Add to client RC */ -#define X_RecordUnregisterClients 3 /* Delete from client RC */ -#define X_RecordGetContext 4 /* Query client RC */ -#define X_RecordEnableContext 5 /* Enable interception and reporting */ -#define X_RecordDisableContext 6 /* Disable interception and reporting */ -#define X_RecordFreeContext 7 /* Free client RC */ - -#define sz_XRecordRange 32 -#define sz_XRecordClientInfo 12 -#define sz_XRecordState 16 -#define sz_XRecordDatum 32 - - -#define XRecordGlobaldef -#define XRecordGlobalref extern - -#define RecordMaxEvent (128L-1L) -#define RecordMinDeviceEvent (2L) -#define RecordMaxDeviceEvent (6L) -#define RecordMaxError (256L-1L) -#define RecordMaxCoreRequest (128L-1L) -#define RecordMaxExtRequest (256L-1L) -#define RecordMinExtRequest (129L-1L) - -#define RECORD_RC CARD32 -#define RECORD_XIDBASE CARD32 -#define RECORD_CLIENTSPEC CARD32 -#define RECORD_ELEMENT_HEADER CARD8 - -typedef RECORD_CLIENTSPEC RecordClientSpec, *RecordClientSpecPtr; - -typedef struct -{ - CARD8 first; - CARD8 last; -} RECORD_RANGE8; - -typedef struct -{ - CARD16 first B16; - CARD16 last B16; -} RECORD_RANGE16; - -typedef struct -{ - RECORD_RANGE8 majorCode; - RECORD_RANGE16 minorCode; -} RECORD_EXTRANGE; - -typedef struct -{ - RECORD_RANGE8 coreRequests; - RECORD_RANGE8 coreReplies; - RECORD_EXTRANGE extRequests; - RECORD_EXTRANGE extReplies; - RECORD_RANGE8 deliveredEvents; - RECORD_RANGE8 deviceEvents; - RECORD_RANGE8 errors; - BOOL clientStarted; - BOOL clientDied; -} RECORDRANGE; -#define sz_RECORDRANGE 24 - -/* typedef RECORDRANGE xRecordRange, *xRecordRangePtr; -#define sz_xRecordRange 24 */ - -/* Cannot have structures within structures going over the wire */ -typedef struct -{ - CARD8 coreRequestsFirst; - CARD8 coreRequestsLast; - CARD8 coreRepliesFirst; - CARD8 coreRepliesLast; - CARD8 extRequestsMajorFirst; - CARD8 extRequestsMajorLast; - CARD16 extRequestsMinorFirst B16; - CARD16 extRequestsMinorLast B16; - CARD8 extRepliesMajorFirst; - CARD8 extRepliesMajorLast; - CARD16 extRepliesMinorFirst B16; - CARD16 extRepliesMinorLast B16; - CARD8 deliveredEventsFirst; - CARD8 deliveredEventsLast; - CARD8 deviceEventsFirst; - CARD8 deviceEventsLast; - CARD8 errorsFirst; - CARD8 errorsLast; - BOOL clientStarted; - BOOL clientDied; -} xRecordRange; -#define sz_xRecordRange 24 - -typedef struct -{ - RECORD_CLIENTSPEC clientResource B32; - CARD32 nRanges B32; -/* LISTofRECORDRANGE */ -} RECORD_CLIENT_INFO; - -typedef RECORD_CLIENT_INFO xRecordClientInfo; - -/* - * Initialize - */ -typedef struct { - CARD8 reqType; - CARD8 recordReqType; - CARD16 length B16; - CARD16 majorVersion B16; - CARD16 minorVersion B16; -} xRecordQueryVersionReq; -#define sz_xRecordQueryVersionReq 8 - -typedef struct -{ - CARD8 type; - CARD8 pad0; - CARD16 sequenceNumber B16; - CARD32 length B32; - CARD16 majorVersion B16; - CARD16 minorVersion B16; - CARD32 pad1 B32; - CARD32 pad2 B32; - CARD32 pad3 B32; - CARD32 pad4 B32; - CARD32 pad5 B32; - } xRecordQueryVersionReply; -#define sz_xRecordQueryVersionReply 32 - -/* - * Create RC - */ -typedef struct -{ - CARD8 reqType; - CARD8 recordReqType; - CARD16 length B16; - RECORD_RC context B32; - RECORD_ELEMENT_HEADER elementHeader; - CARD8 pad; - CARD16 pad0 B16; - CARD32 nClients B32; - CARD32 nRanges B32; -/* LISTofRECORD_CLIENTSPEC */ -/* LISTofRECORDRANGE */ -} xRecordCreateContextReq; -#define sz_xRecordCreateContextReq 20 - -/* - * Add to RC - */ -typedef struct -{ - CARD8 reqType; - CARD8 recordReqType; - CARD16 length B16; - RECORD_RC context B32; - RECORD_ELEMENT_HEADER elementHeader; - CARD8 pad; - CARD16 pad0 B16; - CARD32 nClients B32; - CARD32 nRanges B32; -/* LISTofRECORD_CLIENTSPEC */ -/* LISTofRECORDRANGE */ -} xRecordRegisterClientsReq; -#define sz_xRecordRegisterClientsReq 20 - -/* - * Delete from RC - */ -typedef struct -{ - CARD8 reqType; - CARD8 recordReqType; - CARD16 length B16; - RECORD_RC context B32; - CARD32 nClients B32; -/* LISTofRECORD_CLIENTSPEC */ -} xRecordUnregisterClientsReq; -#define sz_xRecordUnregisterClientsReq 12 - -/* - * Query RC - */ -typedef struct -{ - CARD8 reqType; - CARD8 recordReqType; - CARD16 length B16; - RECORD_RC context B32; -} xRecordGetContextReq; -#define sz_xRecordGetContextReq 8 - -typedef struct -{ - CARD8 type; - BOOL enabled; - CARD16 sequenceNumber B16; - CARD32 length B32; - RECORD_ELEMENT_HEADER elementHeader; - CARD8 pad; - CARD16 pad0 B16; - CARD32 nClients B32; - CARD32 pad1 B32; - CARD32 pad2 B32; - CARD32 pad3 B32; - CARD32 pad4 B32; -/* LISTofCLIENT_INFO */ /* intercepted-clients */ -} xRecordGetContextReply; -#define sz_xRecordGetContextReply 32 - -/* - * Enable data interception - */ -typedef struct -{ - CARD8 reqType; - CARD8 recordReqType; - CARD16 length B16; - RECORD_RC context B32; -} xRecordEnableContextReq; -#define sz_xRecordEnableContextReq 8 - -typedef struct -{ - CARD8 type; - CARD8 category; - CARD16 sequenceNumber B16; - CARD32 length B32; - RECORD_ELEMENT_HEADER elementHeader; - BOOL clientSwapped; - CARD16 pad1 B16; - RECORD_XIDBASE idBase B32; - CARD32 serverTime B32; - CARD32 recordedSequenceNumber B32; - CARD32 pad3 B32; - CARD32 pad4 B32; - /* BYTE data; */ -} xRecordEnableContextReply; -#define sz_xRecordEnableContextReply 32 - -/* - * Disable data interception - */ -typedef struct -{ - CARD8 reqType; - CARD8 recordReqType; - CARD16 length B16; - RECORD_RC context B32; -} xRecordDisableContextReq; -#define sz_xRecordDisableContextReq 8 - -/* - * Free RC - */ -typedef struct -{ - CARD8 reqType; - CARD8 recordReqType; - CARD16 length B16; - RECORD_RC context B32; -} xRecordFreeContextReq; -#define sz_xRecordFreeContextReq 8 - -#undef RECORD_RC -#undef RECORD_XIDBASE -#undef RECORD_ELEMENT_HEADER -#undef RECORD_CLIENTSPEC - -#endif +#warning "recordstr.h is obsolete and may be removed in the future." +#warning "include for the library interfaces." +#warning "include for the protocol defines." +#include From 379a691a45f4a637b8b7bbea9d3c7c2454f5cde6 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Sat, 15 Aug 2009 21:47:26 +1000 Subject: [PATCH 26/59] Bump to 1.13.99.1 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index eeb62cf..4debcb3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.57]) -AC_INIT([RecordProto], [1.13.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([RecordProto], [1.13.99.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) # Require xorg-macros: XORG_CHANGELOG From fd428befaa8a76b216d5e42e63b688d4d55fdbc5 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 1 Oct 2009 19:38:12 +1000 Subject: [PATCH 27/59] Require macros 1.3 for XORG_DEFAULT_OPTIONS Signed-off-by: Peter Hutterer --- configure.ac | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 4debcb3..21d84aa 100644 --- a/configure.ac +++ b/configure.ac @@ -2,11 +2,11 @@ AC_PREREQ([2.57]) AC_INIT([RecordProto], [1.13.99.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) -# Require xorg-macros: XORG_CHANGELOG -m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])]) -XORG_MACROS_VERSION(1.2) -XORG_RELEASE_VERSION -XORG_CHANGELOG +# Require xorg-macros: XORG_DEFAULT_OPTIONS +m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.3) + +XORG_DEFAULT_OPTIONS AC_OUTPUT([Makefile recordproto.pc]) From 38fd3772f3a5a107fa6e9d94e0be7bd276f771b6 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 1 Oct 2009 19:38:36 +1000 Subject: [PATCH 28/59] recordproto 1.14 Signed-off-by: Peter Hutterer --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 21d84aa..1709ce6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.57]) -AC_INIT([RecordProto], [1.13.99.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([RecordProto], [1.14], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) # Require xorg-macros: XORG_DEFAULT_OPTIONS From aa0ab0118100ab6d6fb5628c6d2fabc1d750defc Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sat, 14 Nov 2009 18:26:47 -0500 Subject: [PATCH 29/59] .gitignore: use common defaults with custom section # 24239 Using common defaults will reduce errors and maintenance. Only the very small or inexistent custom section need periodic maintenance when the structure of the component changes. Do not edit defaults. --- .gitignore | 84 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 74 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index d8d9904..e4e5185 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,78 @@ +# +# X.Org module default exclusion patterns +# The next section if for module specific patterns +# +# Do not edit the following section +# GNU Build System (Autotools) +aclocal.m4 +autom4te.cache/ +autoscan.log +ChangeLog +compile +config.guess +config.h +config.h.in +config.log +config-ml.in +config.py +config.status +config.status.lineno +config.sub +configure +configure.scan +depcomp +.deps/ +INSTALL +install-sh +.libs/ +libtool +libtool.m4 +ltmain.sh +lt~obsolete.m4 +ltoptions.m4 +ltsugar.m4 +ltversion.m4 Makefile Makefile.in -aclocal.m4 -autom4te.cache -config.log -config.status -configure -install-sh +mdate-sh missing -recordproto.pc +mkinstalldirs +*.pc +py-compile +stamp-h? +symlink-tree +texinfo.tex +ylwrap + +# Do not edit the following section +# Edit Compile Debug Document Distribute *~ -recordproto-*.tar.* -ChangeLog -tags +*.[0-9] +*.[0-9]x +*.bak +*.bin +core +*.dll +*.exe +*-ISO*.bdf +*-JIS*.bdf +*-KOI8*.bdf +*.kld +*.ko +*.ko.cmd +*.lai +*.l[oa] +*.[oa] +*.obj +*.patch +*.so +*.pcf.gz +*.pdb +*.tar.bz2 +*.tar.gz +# +# Add & Override patterns for recordproto +# +# Edit the following section as needed +# For example, !report.pc overrides *.pc. See 'man gitignore' +# From d9d22eeed75505c28b8e8934bec27960bc1407b7 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 15 Nov 2009 13:55:25 -0500 Subject: [PATCH 30/59] configure.ac: AM_MAINTAINER_MODE missing #24238 This turns off maintainer mode build rules in tarballs. Works in conjunction with autogen.sh --enable-maintainer-mode --- configure.ac | 1 + 1 file changed, 1 insertion(+) diff --git a/configure.ac b/configure.ac index 1709ce6..ab6d5cd 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,7 @@ AC_PREREQ([2.57]) AC_INIT([RecordProto], [1.14], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) +AM_MAINTAINER_MODE # Require xorg-macros: XORG_DEFAULT_OPTIONS m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])]) From 29df99549d157a0d96607cc55e9789d194356f08 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 15 Nov 2009 18:11:36 -0500 Subject: [PATCH 31/59] configure.ac: deploy the new XORG_DEFAULT_OPTIONS #24242 This macro aggregate a number of existing macros that sets commmon X.Org components configuration options. It shields the configuration file from future changes. --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index ab6d5cd..ac36a7f 100644 --- a/configure.ac +++ b/configure.ac @@ -4,9 +4,9 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE # Require xorg-macros: XORG_DEFAULT_OPTIONS -m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +m4_ifndef([XORG_MACROS_VERSION], + [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) XORG_MACROS_VERSION(1.3) - XORG_DEFAULT_OPTIONS AC_OUTPUT([Makefile From 5ad105c41bc16d0ab149a8e77906af2b5498168e Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 15 Nov 2009 18:31:29 -0500 Subject: [PATCH 32/59] Makefile.am: INSTALL file is missing or incorrect #24206 The standard GNU file on building/installing tarball is copied using the XORG_INSTALL macro contained in XORG_DEFAULT_OPTIONS Add INSTALL target --- Makefile.am | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index dd0b028..3895545 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,9 +12,12 @@ EXTRA_DIST = recordproto.pc.in EXTRA_DIST += ChangeLog MAINTAINERCLEANFILES = ChangeLog -.PHONY: ChangeLog +.PHONY: ChangeLog INSTALL + +INSTALL: + $(INSTALL_CMD) ChangeLog: $(CHANGELOG_CMD) -dist-hook: ChangeLog +dist-hook: ChangeLog INSTALL From 20e71f110a5aabd44ad1e9a2c127a8e76da8d5a4 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 15 Nov 2009 19:45:27 -0500 Subject: [PATCH 33/59] Makefile.am: ChangeLog not required: EXTRA_DIST or *CLEANFILES #24432 ChangeLog filename is known to Automake and requires no further coding in the makefile. --- Makefile.am | 3 --- 1 file changed, 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 3895545..724ab59 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,9 +9,6 @@ pkgconfig_DATA = recordproto.pc EXTRA_DIST = recordproto.pc.in -EXTRA_DIST += ChangeLog -MAINTAINERCLEANFILES = ChangeLog - .PHONY: ChangeLog INSTALL INSTALL: From 3030de0d0d3dbabda31c9cdeae025020253adfb6 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Mon, 16 Nov 2009 11:13:30 -0500 Subject: [PATCH 34/59] README: file created or updated #24206 Contains a set of URLs to freedesktop.org. --- README | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..0800985 --- /dev/null +++ b/README @@ -0,0 +1,30 @@ + X Record Extension + +This extension defines a protocol for the recording and playback of user +actions in the X Window System. + +Extension name: RECORD + +All questions regarding this software should be directed at the +Xorg mailing list: + + http://lists.freedesktop.org/mailman/listinfo/xorg + +Please submit bug reports to the Xorg bugzilla: + + https://bugs.freedesktop.org/enter_bug.cgi?product=xorg + +The master development code repository can be found at: + + git://anongit.freedesktop.org/git/xorg/proto/recordproto + + http://cgit.freedesktop.org/xorg/proto/recordproto + +For patch submission instructions, see: + + http://www.x.org/wiki/Development/Documentation/SubmittingPatches + +For more information on the git code manager, see: + + http://wiki.x.org/wiki/GitPage + From 67bcebd15489d69705c563cd2b63366c59cb21aa Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 22 Nov 2009 19:24:48 -0500 Subject: [PATCH 35/59] Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES Now that the INSTALL file is generated. Allows running make maintainer-clean. --- Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile.am b/Makefile.am index 724ab59..4146510 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,6 +9,8 @@ pkgconfig_DATA = recordproto.pc EXTRA_DIST = recordproto.pc.in +MAINTAINERCLEANFILES = ChangeLog INSTALL + .PHONY: ChangeLog INSTALL INSTALL: From cf80c95d1826c7ec5b701b361d5d39d650c414f3 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 28 Mar 2010 19:00:31 -0400 Subject: [PATCH 36/59] config: remove the pkgconfig pc.in file from EXTRA_DIST Automake always includes it in the tarball. Signed-off-by: Gaetan Nadon --- Makefile.am | 1 - 1 file changed, 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 4146510..f9cc316 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,7 +7,6 @@ record_HEADERS = \ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = recordproto.pc -EXTRA_DIST = recordproto.pc.in MAINTAINERCLEANFILES = ChangeLog INSTALL From 1d5a3b11ff8810b0b0921337d85955150b67346a Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 28 Mar 2010 19:25:52 -0400 Subject: [PATCH 37/59] config: update AC_PREREQ statement to 2.60 Unrelated to the previous patches, the new value simply reflects the reality that the minimum level for autoconf to configure all x.org modules is 2.60 dated June 2006. ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz Signed-off-by: Gaetan Nadon --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index ac36a7f..7993f59 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_PREREQ([2.57]) +AC_PREREQ([2.60]) AC_INIT([RecordProto], [1.14], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE From 62124c428346c5e92d785f4ebc54218368ef800a Mon Sep 17 00:00:00 2001 From: Matt Dew Date: Tue, 3 Aug 2010 17:44:01 -0400 Subject: [PATCH 38/59] specs: convert protocol record.ms from xorg-docs to DocBook XML Signed-off-by: Gaetan Nadon --- Makefile.am | 2 + configure.ac | 11 +- specs/.gitignore | 5 + specs/Makefile.am | 64 ++ specs/record.xml | 1895 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 1974 insertions(+), 3 deletions(-) create mode 100644 specs/.gitignore create mode 100644 specs/Makefile.am create mode 100644 specs/record.xml diff --git a/Makefile.am b/Makefile.am index f9cc316..dce76cf 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,5 @@ +SUBDIRS=specs + recorddir = $(includedir)/X11/extensions record_HEADERS = \ recordconst.h \ diff --git a/configure.ac b/configure.ac index 7993f59..509a54e 100644 --- a/configure.ac +++ b/configure.ac @@ -3,11 +3,16 @@ AC_INIT([RecordProto], [1.14], [https://bugs.freedesktop.org/enter_bug.cgi?produ AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -# Require xorg-macros: XORG_DEFAULT_OPTIONS +# Require xorg-macros minimum of 1.10 for HAVE_STYLESHEETS in XORG_CHECK_SGML_DOCTOOLS m4_ifndef([XORG_MACROS_VERSION], - [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) -XORG_MACROS_VERSION(1.3) + [m4_fatal([must install xorg-macros 1.10 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.10) XORG_DEFAULT_OPTIONS +XORG_ENABLE_SPECS +XORG_WITH_XMLTO(0.0.20) +XORG_WITH_FOP +XORG_CHECK_SGML_DOCTOOLS(1.5) AC_OUTPUT([Makefile + specs/Makefile recordproto.pc]) diff --git a/specs/.gitignore b/specs/.gitignore new file mode 100644 index 0000000..09b6a89 --- /dev/null +++ b/specs/.gitignore @@ -0,0 +1,5 @@ +*.html +*.ps +*.pdf +*.txt +*.css diff --git a/specs/Makefile.am b/specs/Makefile.am new file mode 100644 index 0000000..6359c98 --- /dev/null +++ b/specs/Makefile.am @@ -0,0 +1,64 @@ +# +# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# +# 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, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) 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 AUTHORS OR COPYRIGHT HOLDERS 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. +# + +if ENABLE_SPECS +doc_sources = record.xml +dist_doc_DATA = $(doc_sources) + +if HAVE_XMLTO +doc_DATA = $(doc_sources:.xml=.html) + +if HAVE_FOP +doc_DATA += $(doc_sources:.xml=.ps) $(doc_sources:.xml=.pdf) +endif + +if HAVE_XMLTO_TEXT +doc_DATA += $(doc_sources:.xml=.txt) +endif + +if HAVE_STYLESHEETS +XMLTO_FLAGS = -m $(XSL_STYLESHEET) + +doc_DATA += xorg.css +xorg.css: $(STYLESHEET_SRCDIR)/xorg.css + $(AM_V_GEN)cp -pf $(STYLESHEET_SRCDIR)/xorg.css $@ +endif + +CLEANFILES = $(doc_DATA) + +SUFFIXES = .xml .ps .pdf .txt .html + +.xml.txt: + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) txt $< + +.xml.html: + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $< + +.xml.pdf: + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $< + +.xml.ps: + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop ps $< + +endif HAVE_XMLTO +endif ENABLE_SPECS diff --git a/specs/record.xml b/specs/record.xml new file mode 100644 index 0000000..f5d48ac --- /dev/null +++ b/specs/record.xml @@ -0,0 +1,1895 @@ + + + + + + + + + Record Extension Protocol Specification + X Consortium Standard + + + MarthaZimet + Network Computing Devices, Inc. + + + edited by + StephenGildea + X Consortium + + + X Consortium Standard + 1994Network Computing Devices, Inc. + 1994X Consortium + 1995X Consortium + X Consortium + Version 1.13 + X Version 11, Release 6.7 + + + +Permission to use, copy, modify, distribute, and sell this +documentation for any purpose is hereby granted without fee, +provided that the above copyright notice and this permission +notice appear in all copies. Network Computing Devices, Inc. +makes no representations about the suitability for any purpose +of the information in this document. This documentation is +provided "as is" without express or implied warranty. + + +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, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + + + +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 X CONSORTIUM 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 X Consortium and +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 X Consortium. + + + + + +TITLE + +Introduction + +Several proposals have been written over the past few years that address some +of the issues surrounding the recording and playback of user actions +in the X Window System +X Window System is a trademark of The Open Group. + +: + + + + + +Some Proposals for a Minimal X11 Testing Extension, +Kieron Drake, UniSoft Ltd., April 1991 + + + + +X11 Input Synthesis Extension Proposal, Larry Woestman, +Hewlett Packard, November 1991 + + + + +XTrap Architecture, Dick Annicchiario, et al, Digital Equipment Corporation, +July 1991 + + + + +XTest Extension Recording Specification, Yochanan Slonim, +Mercury Interactive, December 1992 + + + + + +This document both unifies and extends the previous diverse approaches +to generate a proposal for an X extension that provides support for +the recording of all core X protocol and arbitrary extension protocol. +Input synthesis, or playback, has already been implemented in the +XTest extension, an X Consortium standard. Therefore, this extension +is limited to recording. + + + +In order to provide both record and playback functionality, a +hypothetical record application could use this extension to capture +both user actions and their consequences. For example, a button press +(a user action) may cause a window to be mapped and a corresponding +MapNotify +event to be sent (a consequence). This information could be +stored for later use by a playback application. + + + +The playback application could use the recorded actions as input for +the XTest extension's +XTestFakeInput +operation to synthesize the +appropriate input events. The "consequence" or synchronization +information is then used as a synchronization point during playback. +That is, the playback application does not generate specific +synthesized events until their matching synchronization condition +occurs. When the condition occurs the processing of synthesized +events continues. Determination that the condition has occurred may be +made by capturing the consequences of the synthesized events and +comparing them to the previously recorded synchronization information. +For example, if a button press was followed by a +MapNotify +event on a +particular window in the recorded data, the playback application might +synthesize the button press then wait for the +MapNotify +event on the +appropriate window before proceeding with subsequent synthesized +input. + + + +Because +it is impossible to predict what synchronization information will be +required by a particular application, the extension provides +facilities to record any subset of core X protocol and arbitrary +extension protocol. +As such, this extension does not enforce a specific +synchronization methodology; any method based on information in the X +protocol stream (e.g., watching for window mapping/unmapping, cursor +changes, drawing of certain text strings, etc.) can capture the +information it needs using RECORD facilities. + + + +Acknowledgements + +The document represents the culmination of two years of debate and +experiments done under the auspices of the X Consortium xtest working +group. Although this was a group effort, the author remains +responsible for any errors or omissions. +Two years ago, Robert Chesler of Absol-puter, Kieron Drake of UniSoft +Ltd., Marc Evans of Synergytics and Ken Miller of Digitial shared the +vision of a standard extension for recording and were all instrumental +in the early protocol development. During the last two years, Bob +Scheifler of the X Consortium and Jim Fulton of NCD continuously +provided input to the protocol design, as well as encouragement to the +author. In the last few months, Stephen Gildea and Dave Wiggins, +both X Consortium staff, have spent considerable time fine tuning the +protocol design and reviewing the protocol specifications. Most +recently, Amnon Cohen of Mercury Interactive has assisted in +clarification of the recorded event policy, and Kent Siefkes of +Performance Awareness has assisted in clarification of the timestamp +policy. + + + + +Goals + + + +To provide a standard for recording, +whereby both device events and synchronization information in the +form of device event consequences are recorded. + + + + +To record contextual information used in synchronized playback +without prior knowledge of the application +that +is being recorded. + + + + +To provide the ability to record arbitrary X protocol extensions. + + + + + + + +Requirements + +The extension should function as follows: + + + + + +It should +not be dependent on other clients or extensions for its operation. + + + + +It should +not significantly impact performance. + + + + +It should +support the recording of all device input (core devices and XInput devices). + + + + +It should +be extendible. + + + + +It should +support the recording of synchronization information for user events. + + + + + + + +Design + +This section gives an overview of the RECORD extension and discusses +its overall operation and data types. + + + +Overview + +The mechanism used by this extension for recording is to intercept +core X protocol and arbitrary X extension protocol entirely within the X server +itself. When the extension has been requested to intercept specific +protocol by one or more clients, the protocol data are formatted and +returned to the recording clients. + + + +The extension provides a mechanism for capturing all events, including +input device events that go to no clients, that is analogous to a client +expressing "interest" in all events in all windows, including the root +window. Event filtering in the extension provides a mechanism for feeding +device events to recording clients; it does not provide a mechanism for +in-place, synchronous event substitution, modification, or withholding. +In addition, the +extension does not provide data compression before intercepted protocol +is returned to the recording clients. + + +Data Delivery + + + + + +Because +events are limited in size to +32 bytes, using events to return intercepted protocol data to recording +clients is prohibitive in terms of performance. Therefore, intercepted +protocol data are returned to recording clients through multiple replies +to the extension request to begin protocol interception and reporting. +This utilization is consistent with +ListFontsWithInfo , +for example, where a +single request has multiple replies. + + + +Individual requests, replies, events or errors intercepted by the extension +on behalf of recording clients cannot be split across reply packets. In order +to reduce overhead, multiple intercepted requests, replies, events and errors +might be collected +into a single reply. +Nevertheless, all data are returned to the client in a timely manner. + + + +Record Context + + + + + +The extension adds a record context resource (RC) +to the set of resources managed by the server. All the +extension operations take an RC as an argument. Although the protocol +permits sharing of RCs between clients, it is expected that clients will +use their own RCs. The attributes used in extension operations are stored +in the RCs, and these attributes include the protocol and clients to +intercept. + + + +The terms "register" and "unregister" are used to describe the +relationship between clients to intercept and the RC. To register +a client with an RC means the client is added to the list +of clients to intercept; to unregister a client means the client +is deleted from the list of clients to intercept. When the +server is requested to register or unregister clients from an RC, +it is required to do so immediately. That is, it is not permissible for +the server to wait until recording is enabled to register clients +or recording is disabled to unregister clients. + + + + +Record Client Connections + + + + + +The typical communication model for a recording client is to open +two connections to the server and use one for RC control and +the other for reading protocol data. + + + +The "control" connection can execute requests to obtain information about +the supported protocol version, create and destroy RCs, specify protocol +types to intercept and clients to be recorded, query the current state +of an RC, and to stop interception and reporting of protocol data. The +"data" connection can execute a request to +enable interception +and reporting of specified protocol for a particular RC. When the +"enable" request is issued, intercepted protocol is sent back on the +same connection, generally in more than one reply packet. Until the last +reply to the "enable" request is sent by the server, signifying that +the request execution is complete, no other requests will be executed by +the server on that connection. That is, the connection that data are being +reported on cannot issue the "disable" request until the last reply +to the "enable" request is sent by the server. Therefore, unless a +recording client never has the need to disable the interception and reporting +of protocol data, two client connections are necessary. + + + +Events + + + + + +The terms "delivered events" and "device events" are used +to describe the two event classes recording clients may +select for interception. These event classes are handled differently +by the extension. Delivered events are core X events or X extension events +the server actually delivers to one or more clients. Device events are +events generated by core X devices or extension input devices that the +server may or may not deliver to any clients. When device events +are selected for interception by a recording client, the extension +guarantees each device event is recorded and will be forwarded +to the recording client in the same order it is generated by the +device. + + + +The recording of selected device events is not affected +by server grabs. Delivered events, on the other hand, can be affected +by server grabs. +If a recording client selects both +a device event and delivered events that result from that device +event, the delivered events are recorded after the device event. +In the absence of grabs, the delivered events for a +device event precede later device events. + + + +Requests that have side effects on +devices, such as +WarpPointer +and +GrabPointer +with a confine-to window, +will cause RECORD to record an associated device event. +The XTEST extension request +XTestFakeInput +causes a device event to be recorded; the +device events are recorded in the same order that the +XTestFakeInput +requests are received by the server. + + + +If a key autorepeats, multiple +KeyPress +and +KeyRelease +device events are reported. + + + + +Timing + + + + +Requests are recorded just before +they are executed; the time associated with a request is the server +time when it is recorded. + + + + + +Types + +The following new types are used in the request definitions that appear +in section 3. + + +RC: CARD32 + + +The +"RC" +type is a resource identifier for a server record context. + + + + + + + + + + RANGE8: + [first, last: + CARD8] + + + RANGE16: + [first, last: + CARD16] + + + EXTRANGE: + [major: + RANGE8 + + + + minor: + RANGE16] + + + + + + + + + + + + + RECORDRANGE: + [core-requests: + RANGE8 + + + + core-replies: + RANGE8 + + + + ext-requests: + EXTRANGE + + + + ext-replies: + EXTRANGE + + + + delivered-events: + RANGE8 + + + + device-events: + RANGE8 + + + + errors: + RANGE8 + + + + client-started: + BOOL + + + + client-died: + BOOL] + + + + + + +The +"RECORDRANGE" +structure contains the protocol values to intercept. Typically, +this structure is sent by recording clients over the control connection +when creating or modifying an RC. + + + + + + + +Specifies core X protocol requests with an opcode field between first +and last inclusive. If first is equal to 0 and last is equal to 0, no +core requests are specified by this RECORDRANGE. If first is greater +than last, a +"Value" +error results. + + + + + + +Specifies replies resulting from core X protocol requests with an opcode +field between first and last inclusive. If first is equal to 0 and last +is equal to 0, no core replies are specified by this RECORDRANGE. If +first is greater than last, a +"Value" +error results. + + + + + + +Specifies extension protocol requests with a major opcode field between +major.first and major.last and a minor opcode field between minor.first +and minor.last inclusive. +If major.first and major.last are equal to 0, no +extension protocol requests are specified by this RECORDRANGE. If +major.first or major.last is less than 128 and greater than 0, +if major.first is greater than major.last, +or if minor.first +is greater than minor.last, a +"Value" +error results. + + + + + + +Specifies replies resulting from extension protocol requests with a +major opcode field between major.first and major.last and +a minor opcode field between minor.first and minor.last +inclusive. If major.first and major.last are equal to 0, +no extension protocol replies are specified by this RECORDRANGE. If +major.first or major.last is less than 128 and greater +than 0, +if major.first is greater than major.last, +or if minor.first is greater than minor.last, a +"Value" +error results. + + + + + + +This is used for both core X protocol events and arbitrary extension +events. Specifies events that are delivered to at least one client +that have a code field between first and last +inclusive. If first is equal to 0 and last is equal to 0, +no events are specified by this RECORDRANGE. +Otherwise, if first is less than 2 +or last is less than 2, or if +first is greater than last, a +"Value" +error results. + + + + + + +This is used for both core X device events and X extension device +events that may or may not be delivered to a client. +Specifies device events that have a code field between first and +last inclusive. If first is equal to 0 and last +is equal to 0, no device events are specified by this RECORDRANGE. +Otherwise, +if first is less than 2 or last is less +than 2, or if first is greater than last, a +"Value" +error results. + + + + +Because +the generated device event may or may not be associated with a +client, unlike other RECORDRANGE components, which select protocol for a +specific client, selecting for device events in any RECORDRANGE in an RC +causes the recording client to receive one instance for each device event +generated that is in the range specified. + + + + + + +This is used for both core X protocol errors and arbitrary extension +errors. Specifies errors that have a code field between first and +last inclusive. If first is equal to 0 and last is equal to 0, no +errors are specified by this RECORDRANGE. If first is greater +than last, a +"Value" +error results. + + + + + + +Specifies the connection setup reply. +If +False , +the connection setup reply is not specified by +this RECORDRANGE. + + + + + + +Specifies notification when a client disconnects. +If +False , +notification when a client disconnects is not specified by +this RECORDRANGE. + + + + + + + + + + + + ELEMENT_HEADER: + [from-server-time: + BOOL + + + + from-client-time: + BOOL + + + + from-client-sequence: + BOOL] + + + + + + +The +ELEMENT_HEADER +structure specifies additional data that precedes each protocol +element in the data field of a +RecordEnableContext +reply. + + + + + +If from-server-time is +True , +each intercepted protocol element +with category +FromServer +is preceded by the server time when the protocol was recorded. + + + + +If from-client-time is +True , +each intercepted protocol element +with category +FromClient +is preceded by the server time when the protocol was recorded. + + + + +If from-client-sequence is +True , +each intercepted protocol +element with category +FromClient +or +ClientDied +is preceded by the +32-bit sequence number of the recorded client's most recent request +processed by the server at that time. +For +FromClient , +this will be one less than the sequence number of the +following request. +For +ClientDied , +the sequence number will be the only data, because no +protocol is recorded. + + + + + +Note that a reply containing device events is treated the same as +other replies with category +FromServer +for purposes of these flags. +Protocol with category +FromServer +is never preceded by a sequence +number because almost all such protocol has a sequence number in it anyway. + + + + +If both a server time and a sequence number have been requested for a +reply, each protocol request is +preceded first by the time and second by the sequence number. + + +XIDBASE: CARD32 + + + +The XIDBASE type is used to identify a particular client. Valid +values are any existing resource identifier +of any connected client, +in which case the client +that created the resource is specified, or the resource identifier +base sent to the target client from the server in the connection setup +reply. A value of 0 (zero) is valid when the XIDBASE is associated +with device events that may not have been delivered to a client. + + + +CLIENTSPEC: XIDBASE or {CurrentClients, +FutureClients, AllClients} + + + +The CLIENTSPEC type defines the set of clients the RC attributes are +associated with. This type is used by recording clients when creating +an RC or when changing RC attributes. XIDBASE specifies that the RC +attributes apply to a single client only. +CurrentClients +specifies +that the RC attributes apply to current client connections; +FutureClients +specifies future client connections; +AllClients +specifies all client connections, which includes current and future. + + + +The numeric values for +CurrentClients , +FutureClients +and +AllClients +are +defined such that there will be no intersection with valid XIDBASEs. + + + + +When the context is enabled, the data connection is unregistered if it +was registered. +If the context is enabled, +CurrentClients +and +AllClients +silently exclude the recording data connection. +It is an error to explicitly register the data connection. + + + + + + + + + + CLIENT_INFO: + [client-resource: + CLIENTSPEC + + + + intercepted-protocol: + LISTofRECORDRANGE] + + + + + + +This structure specifies an intercepted client and the protocol to be +intercepted for the client. The client-resource field is a +resource base that identifies the intercepted client. The +intercepted-protocol field specifies the protocol to intercept +for the client-resource. + + + + +Errors + +RecordContext + + + + + + + +This error is returned if the value for an RC argument +in a request does not name a defined record context. + + + + + + + +Protocol Requests + + + + + +RecordQueryVersion + + + + + +major-version, +minor-version: CARD16 + + + + +-> + + + + +major-version, +minor-version: CARD16 + + + + + +This request specifies the RECORD extension protocol version the client +would like to use. When the specified protocol version is supported +by the extension, the protocol version the server expects from the +client is returned. Clients must use this request before other RECORD +extension requests. + + + +This request also determines whether or not the RECORD extension protocol +version specified by the client is supported by the extension. If the +extension supports the version specified by the client, this version number +should be returned. If the client has requested a higher version than is +supported by the server, the server's highest version should be returned. +Otherwise, if the client has requested a lower version than is supported +by the server, the server's lowest version should be returned. This document +defines major version one (1), +minor version thirteen (13). + + + +RecordCreateContext + + + + + + + + +context: RC + + + + +element-header: ELEMENT_HEADER + + + + +client-specifiers: LISTofCLIENTSPEC + + + + +ranges: LISTofRECORDRANGE + + + + +Errors: +Match , +Value , +IDChoice , +Alloc + + + + + + + +This request creates a new +record context +within the server and assigns the identifier context to +it. After the context is created, this request registers the +set of clients in client-specifiers with the context and +specifies the protocol to intercept for those clients. +The recorded protocol elements will be preceded by data as specified +by element-header. +Typically, +this request is used by a recording client over the control +connection. Multiple RC +objects can exist simultaneously, containing overlapping sets of +protocol and clients to intercept. + + + +If any of the values in +element-header or +ranges is invalid, a +"Value" +error results. Duplicate items in the list of client-specifiers are +ignored. If any item in the client-specifiers list is not a valid +CLIENTSPEC, a +"Match" +error results. Otherwise, each item in the client-specifiers list is +processed as follows: + + + + + +If the item is an XIDBASE identifying a particular client, the +specified client is registered with the context and the protocol +to intercept for the client is then set to ranges. + + + + +If the item is +CurrentClients , +all existing clients are registered with the +context at this time. +The protocol to intercept for all clients registered +with the context is then set to ranges. + + + + +If the item is +FutureClients , +all clients that connect to the server +after this request executes will be automatically registered with the +context. The protocol to intercept for such clients will be set to +ranges in the context. + + + + +If the item is +AllClients , +the effect is as if the actions described +for +FutureClients +are performed, followed by the actions for +CurrentClients . + + + + + +The +"Alloc" +error results when the server is unable to allocate the necessary +resources. + + + +RecordRegisterClients + + + + + + + + +context: RC + + + + +element-header: ELEMENT_HEADER + + + + +client-specifiers: LISTofCLIENTSPEC + + + + +ranges: LISTofRECORDRANGE + + + + +Errors: +Match , +Value , +RecordContext , +Alloc + + + + + + + +This request registers the set of clients in client-specifiers with +the given context and specifies the protocol to intercept for those +clients. +The header preceding each recorded protocol element is set as specified +by element-header. +These flags affect the entire +context; their effect is not limited to the clients registered by +this request. +Typically, this request is used by a recording client over +the control connection. + + + +If context does not name a valid RC, a +"RecordContext" +error results. If any of the values in +element-header or ranges is invalid, a +"Value" +error results. Duplicate items in the list of client-specifiers are +ignored. If any item in the list of client-specifiers is not a +valid CLIENTSPEC, a +"Match" +error results. +If the context is enabled and the XID of the enabling connection +is specified, a +"Match" +error results. +Otherwise, each item in the client-specifiers list is +processed as follows: + + + + + +If the item is an XIDBASE identifying a particular client, the +specified client is registered with the context if it is not already +registered. The protocol to intercept for the client is then set to +ranges. + + + + +If the item is +CurrentClients , +all existing clients that are not +already registered with the specified context, +except the enabling connection if the context is enabled, +are registered at this +time. The protocol to intercept for all clients registered with the +context is then set to ranges. + + + + +If the item is +FutureClients , +all clients that connect to the server +after this request executes will be automatically registered with the +context. The protocol to intercept for such clients will be set to +ranges in the context. +The set of clients that are registered with the +context and their corresponding sets +of protocol to intercept are left intact. + + + + +If the item is +AllClients , +the effect is as if the actions described +for +FutureClients +are performed, followed by the actions for +CurrentClients . + + + + +The +"Alloc" +error results when the server is unable to allocate the necessary +resources. + + + +RecordUnregisterClients + + + + + + + + +context: RC + + + + +client-specifiers: LISTofCLIENTSPEC + + + + +Errors: +Match , +RecordContext + + + + + + + + +This request removes the set of clients in client-specifiers from the +given context's set of registered clients. Typically, this request is +used by a recording client over the control connection. + + + +If context does not name a valid RC, a +"RecordContext" +error results. Duplicate items in the list of client-specifiers are +ignored. If any item in the list is not a valid CLIENTSPEC, a +"Match" +error results. Otherwise, each item in the client-specifiers list is +processed as follows: + + + + + +If the item is an XIDBASE identifying a particular client, and the +specified client is currently registered with the context, it is +unregistered, and the set of protocol to intercept for the client is +deleted from the context. If the specified client is not registered +with the context, the item has no effect. + + + + +If the item is +CurrentClients , +all clients currently registered with +the context are unregistered from it, and their corresponding sets of +protocol to intercept are deleted from the context. + + + + +If the item is +FutureClients , +clients that connect to the server after +this request executes will not automatically be registered with the +context. The set of clients that are registered with this context +and their corresponding sets of protocol that will be +intercepted are left intact. + + + + +If the item is +AllClients , +the effect is as if the actions described +for +FutureClients +are performed, followed by the actions for +CurrentClients . + + + + + +A client is unregistered automatically when it disconnects. + + + +RecordGetContext + + + + + + + + +context: RC + + + + +-> + + + + +enabled: BOOL + + + + +element-header: ELEMENT_HEADER + + + + +intercepted-clients: LISTofCLIENT_INFO + + + + +Errors: + + + + +RecordContext + + + + + + + +This request queries the current state of the specified context +and is typically used by a recording client over the control connection. +The enabled field +specifies the state of data transfer between the extension and the +recording client, and is either enabled +( True ) +or disabled +( False ). +The initial state is disabled. +When enabled, all core X protocol and +extension protocol received from (requests) or sent to (replies, +errors, events) a particular client, and requested to be intercepted +by the recording client, is reported to the recording client over the +data connection. +The element-header specifies the header that precedes each +recorded protocol element. +The +intercepted-clients field specifies the list of clients currently +being recorded and the protocol associated with each client. +If future clients will be automatically registered with the context, +one of the returned CLIENT_INFO structures has a client-resource value +of FutureClients and an intercepted-protocol giving the protocol to +intercept for future clients. +Protocol ranges may be decomposed, coalesced, or otherwise modified +by the server from how they were specified by the client. +All CLIENTSPECs registered with the server are returned, even if the +RECORDRANGE(s) associated with them specify no protocol to record. + + + +When the context argument is not valid, a +RecordContext +error results. + + + +RecordEnableContext + + + + + + + + +context: RC + + + + +->+ + + + + +category: +{FromServer, FromClient, +ClientStarted, ClientDied, +StartOfData, +EndOfData} + + + + + +element-header: ELEMENT_HEADER + + + + +client-swapped: BOOL + + + + +id-base: XIDBASE + + + + +server-time: TIMESTAMP + + + + +recorded-sequence-number: CARD32 + + + + +data: LISTofBYTE + + + + +Errors: +Match, +RecordContext + + + + + + + +This request enables data transfer between the recording client +and the extension and returns the protocol data the recording client +has previously expressed interest in. Typically, this request is +executed by the recording client over the data connection. + + + +If the client is registered on the context, it is unregistered +before any recording begins. + + + +Once the server receives this request, it begins intercepting +and reporting to the recording client all core and extension protocol +received from or sent to clients registered with the RC that the +recording client has expressed interest in. All intercepted protocol data +is returned in the byte-order of the recorded client. Therefore, +recording clients are responsible for all byte swapping, if required. +More than one recording client cannot enable data transfer on the +same RC at the same time. Multiple intercepted requests, replies, +events and errors might be packaged into a single reply before +being returned to the recording clients. + + + +The +category field determines the possible +types of the data. +When a context is enabled, the server will immediately send a reply of +category +StartOfData +to notify the client that recording is enabled. +A category of +FromClient +means the data are from the client +(requests); +FromServer +means data are from the server (replies, +errors, events, or device events). +For a new client, the category is +ClientStarted +and the data are the connection setup reply. +When +the recorded client connection is closed, category is +set to the value +ClientDied +and no protocol is included in this reply. +When the disable request is made over the control connection, +a final reply is sent over the data connection with category +EndOfData +and no protocol. + + + +The element-header field returns the value currently set for the +context, which tells what header information precedes each recorded +protocol element in this reply. + + + +The client-swapped field is +True +if the byte order of +the protocol being recorded +is swapped +relative to the recording client; +otherwise, client-swapped is +False . +The recorded protocol +is in the byte order of the client being +recorded; device events are in the byte order of the +recording client. +For replies of category +StartOfData +and +EndOfData +the +client-swapped bit is set +according +to the byte order of the server relative to the recording client. +The id-base field is the resource identifier base +sent to the client from the server in the +connection setup reply, and hence, identifies the client being +recorded. The id-base field is 0 (zero) when the protocol +data being +returned are device events. +The server-time field is set to the time of the +server when the first protocol element in this reply was intercepted. +The server-time +of reply N+1 is greater than or equal to the server-time of reply N, +and is greater than or equal to the time of the last protocol +element in reply N. + + + +The recorded-sequence-number field is set to the sequence number +of the recorded client's most recent request processed by the server. + + + +The data field +contains the raw protocol data being returned to the recording client. +If requested by the element-header of this record context, each +protocol element may be preceded by a 32-bit timestamp and/or +a 32-bit sequence number. +If present, both the timestamp and sequence number are always in the +byte order of the recording client. + + + +For the core X events +KeyPress , +KeyRelease , +ButtonPress , +and +ButtonRelease , +the fields of a device event that contain +valid information are time and detail. +For the core X event +MotionNotify , +the fields of a device event that contain +valid information are time, root, +root-x and root-y. +The time field refers to the time the event was generated by the +device. + + + +For the extension input device events +DeviceKeyPress , +DeviceKeyRelease , +DeviceButtonPress , +and +DeviceButtonRelease , +the fields of a device event that contain valid information are +device, time and detail. +For +DeviceMotionNotify , +the valid device event fields are +device and time. +For the extension input device events +ProximityIn +and +ProximityOut , +the fields of a device event that contain valid +information are device and time. +For the extension input device event +DeviceValuator , +the fields of a device event that contain valid information are +device, +num_valuators, first_valuator, and valuators. +The time field refers to the time the event was generated by the +device. + + + +The error +"Match" +is returned when data transfer is already enabled. +When the context argument is not valid, a +RecordContext +error results. + + + +RecordDisableContext + + + + + + + + +context: RC + + + + +Errors: +RecordContext + + + + + + + +This request is typically executed by the recording client over the +control connection. This request directs the extension to immediately +send any complete protocol elements currently buffered, +to send a final reply with category +EndOfData , +and to discontinue +data transfer between the extension and the recording client. +Protocol reporting is disabled +on the data connection that is currently enabled for the given +context. Once the extension completes +processing this request, no additional recorded protocol will +be reported to the recording client. If a data connection is not +currently enabled when this request is executed, then this request has +no affect on the state of data transfer. +An RC is disabled automatically when the connection to the enabling +client is closed down. + + + +When the context argument is not valid, a +RecordContext +error results. + + + +RecordFreeContext + + + + + +context RC + + + + + +Errors: +RecordContext + + + + + +This request deletes the association between the resource ID and the +RC and destroys the RC. +If a client has enabled data transfer on this context, the actions +described in +RecordDisableContext +are performed before the context +is freed. + + + +An RC is destroyed automatically when the connection to the creating client +is closed down and the close-down mode is DestroyAll. When the +context argument is not valid, a +RecordContext +error results. + + + + +Encoding + +Please refer to the X11 Protocol Encoding document as this document uses +conventions established there. + + + +The name of this extension is "RECORD". + + + +Types + +RC: CARD32 + + + +RANGE8 + 1 CARD8 first + 1 CARD8 last + + + +RANGE16 + 2 CARD16 first + 2 CARD16 last + + + +EXTRANGE + 2 RANGE8 major + 4 RANGE16 minor + + + +RECORDRANGE + 2 RANGE8 core-requests + 2 RANGE8 core-replies + 6 EXTRANGE ext-requests + 6 EXTRANGE ext-replies + 2 RANGE8 delivered-events + 2 RANGE8 device-events + 2 RANGE8 errors + 1 BOOL client-started + 1 BOOL client-died + + + +ELEMENT_HEADER + 1 CARD8 + 0x01 from-server-time + 0x02 from-client-time + 0x04 from-client-sequence + + + +XIDBASE: CARD32 + + + +CLIENTSPEC + 4 XIDBASE client-id-base + 1 CurrentClients + 2 FutureClients + 3 AllClients + + + +CLIENT_INFO + 4 CLIENTSPEC client-resource + 4 CARD32 n, number of record ranges in + intercepted-protocol + 24n LISTofRECORDRANGE intercepted-protocol + + + + +Errors + + +RecordContext + 1 0 Error + 1 CARD8 extension's base error code + 0 + 2 CARD16 sequence number + 4 CARD32 invalid record context + 24 unused + + + + +Requests + + +RecordQueryVersion + 1 CARD8 major opcode + 1 0 minor opcode + 2 2 request length + 2 CARD16 major version + 2 CARD16 minor version + => + 1 1 Reply + 1 unused + 2 CARD16 sequence number + 4 0 reply length + 2 CARD16 major version + 2 CARD16 minor version + 20 unused + + + +RecordCreateContext + 1 CARD8 major opcode + 1 1 minor opcode + 2 5+m+6n request length + 4 RC context + 1 ELEMENT_HEADER element-header + 3 unused + 4 CARD32 m, number of client-specifiers + 4 CARD32 n, number of ranges + 4m LISTofCLIENTSPEC client-specifiers + 24n LISTofRECORDRANGE ranges + + + +RecordRegisterClients + 1 CARD8 major opcode + 1 2 minor opcode + 2 5+m+6n request length + 4 RC context + 1 ELEMENT_HEADER element-header + 3 unused + 4 CARD32 m, number of client-specifiers + 4 CARD32 n, number of ranges + 4m LISTofCLIENTSPEC client-specifiers + 24n LISTofRECORDRANGE ranges + + + +RecordUnregisterClients + 1 CARD8 major opcode + 1 3 minor opcode + 2 3+m request length + 4 RC context + 4 CARD32 m, number of client-specifiers + 4m LISTofCLIENTSPEC client-specifiers + + + +RecordGetContext + 1 CARD8 major opcode + 1 4 minor opcode + 2 2 request length + 4 RC context + => + 1 1 Reply + 1 BOOL enabled + 2 CARD16 sequence number + 4 j reply length + 1 ELEMENT_HEADER element-header + 3 unused + 4 CARD32 n, number of intercepted-clients + 16 unused + 4j LISTofCLIENT_INFO intercepted-clients + + + +RecordEnableContext + 1 CARD8 major opcode + 1 5 minor opcode + 2 2 request length + 4 RC context + =>+ + 1 1 Reply + 1 category + 0 FromServer + 1 FromClient + 2 ClientStarted + 3 ClientDied + 4 StartOfData + 5 EndOfData + 2 CARD16 sequence number + 4 n reply length + 1 ELEMENT_HEADER element-header + 1 BOOL client-swapped + 2 unused + 4 XIDBASE id-base + 4 TIMESTAMP server-time + 4 CARD32 recorded-sequence-number + 8 unused + 4n BYTE data + + + +RecordDisableContext + 1 CARD8 major opcode + 1 6 minor opcode + 2 2 request length + 4 RC context + + + +RecordFreeContext + 1 CARD8 major opcode + 1 7 minor opcode + 2 2 request length + 4 RC context + + + + + + From 396cdde0242256976fbacec64839e48dfc56d639 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Fri, 29 Oct 2010 23:20:43 -0700 Subject: [PATCH 39/59] RecordProto 1.14.1 Signed-off-by: Alan Coopersmith --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 509a54e..34dd4ce 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,6 @@ AC_PREREQ([2.60]) -AC_INIT([RecordProto], [1.14], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([RecordProto], [1.14.1], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE From 2c1cabffad2903867fd352c19f0157d07adde232 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Tue, 9 Nov 2010 15:19:09 -0500 Subject: [PATCH 40/59] config: HTML file generation: use the installed copy of xorg.css Currenlty the xorg.css file is copied in each location where a DocBook/XML file resides. This produces about 70 copies in the $(docdir) install tree. Signed-off-by: Gaetan Nadon --- specs/.gitignore | 1 - specs/Makefile.am | 7 ++----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/specs/.gitignore b/specs/.gitignore index 09b6a89..6fa5c31 100644 --- a/specs/.gitignore +++ b/specs/.gitignore @@ -2,4 +2,3 @@ *.ps *.pdf *.txt -*.css diff --git a/specs/Makefile.am b/specs/Makefile.am index 6359c98..112e936 100644 --- a/specs/Makefile.am +++ b/specs/Makefile.am @@ -37,11 +37,8 @@ doc_DATA += $(doc_sources:.xml=.txt) endif if HAVE_STYLESHEETS -XMLTO_FLAGS = -m $(XSL_STYLESHEET) - -doc_DATA += xorg.css -xorg.css: $(STYLESHEET_SRCDIR)/xorg.css - $(AM_V_GEN)cp -pf $(STYLESHEET_SRCDIR)/xorg.css $@ +XMLTO_FLAGS = -m $(XSL_STYLESHEET) \ + --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css endif CLEANFILES = $(doc_DATA) From 3011b8527ba7370e7e29758ecba0231e7e25bda8 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Thu, 16 Dec 2010 23:10:06 -0800 Subject: [PATCH 41/59] specs/record.xml: Fix section titles/nesting Signed-off-by: Alan Coopersmith --- specs/record.xml | 65 +++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/specs/record.xml b/specs/record.xml index f5d48ac..4256c15 100644 --- a/specs/record.xml +++ b/specs/record.xml @@ -72,9 +72,7 @@ from the X Consortium. - -TITLE - + Introduction Several proposals have been written over the past few years that address some @@ -168,7 +166,7 @@ changes, drawing of certain text strings, etc.) can capture the information it needs using RECORD facilities. - + Acknowledgements The document represents the culmination of two years of debate and @@ -189,9 +187,9 @@ clarification of the recorded event policy, and Kent Siefkes of Performance Awareness has assisted in clarification of the timestamp policy. - + - + Goals @@ -216,9 +214,9 @@ To provide the ability to record arbitrary X protocol extensions. - + - + Requirements The extension should function as follows: @@ -256,17 +254,17 @@ support the recording of synchronization information for user events. - + - + Design This section gives an overview of the RECORD extension and discusses its overall operation and data types. - + Overview The mechanism used by this extension for recording is to intercept @@ -287,7 +285,7 @@ In addition, the extension does not provide data compression before intercepted protocol is returned to the recording clients. - + Data Delivery @@ -314,8 +312,8 @@ might be collected into a single reply. Nevertheless, all data are returned to the client in a timely manner. - - + + Record Context @@ -342,9 +340,9 @@ it is required to do so immediately. That is, it is not permissible for the server to wait until recording is enabled to register clients or recording is disabled to unregister clients. - + - + Record Client Connections @@ -374,8 +372,8 @@ to the "enable" request is sent by the server. Therefore, unless a recording client never has the need to disable the interception and reporting of protocol data, two client connections are necessary. - - + + Events @@ -429,9 +427,9 @@ and KeyRelease device events are reported. - + - + Timing @@ -441,10 +439,10 @@ Requests are recorded just before they are executed; the time associated with a request is the server time when it is recorded. - + - + Types The following new types are used in the request definitions that appear @@ -869,9 +867,9 @@ resource base that identifies the intercepted client. The intercepted-protocol field specifies the protocol to intercept for the client-resource. - + - + Errors RecordContext @@ -887,10 +885,10 @@ in a request does not name a defined record context. - + - + Protocol Requests @@ -1678,9 +1676,9 @@ is closed down and the close-down mode is DestroyAll. When RecordContext error results. - + - + Encoding Please refer to the X11 Protocol Encoding document as this document uses @@ -1691,7 +1689,7 @@ conventions established there. The name of this extension is "RECORD". - + Types RC: CARD32 @@ -1756,8 +1754,8 @@ CLIENT_INFO 24n LISTofRECORDRANGE intercepted-protocol - - + + Errors @@ -1768,9 +1766,9 @@ CLIENT_INFO 4 CARD32 invalid record context 24 unused - + - + Requests @@ -1889,7 +1887,6 @@ CLIENT_INFO 4 RC context - From f5813bffb2b642d8b515306caff555eac32b9b43 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Thu, 16 Dec 2010 23:12:58 -0800 Subject: [PATCH 42/59] specs/record.xml: Pair copyright notices with matching license notices Signed-off-by: Alan Coopersmith --- specs/record.xml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/specs/record.xml b/specs/record.xml index 4256c15..89cfd72 100644 --- a/specs/record.xml +++ b/specs/record.xml @@ -21,15 +21,15 @@ X Consortium Standard - 1994Network Computing Devices, Inc. - 1994X Consortium - 1995X Consortium X Consortium Version 1.13 X Version 11, Release 6.7 +Copyright © 1994 Network Computing Devices, Inc. + + Permission to use, copy, modify, distribute, and sell this documentation for any purpose is hereby granted without fee, provided that the above copyright notice and this permission @@ -38,6 +38,12 @@ makes no representations about the suitability for any purpose of the information in this document. This documentation is provided "as is" without express or implied warranty. + + + + +Copyright © 1994, 1995 X Consortium + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the From dcc64434a3e79931b05fc807906189dfa3a9ddd0 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 27 Feb 2011 15:06:18 -0500 Subject: [PATCH 43/59] Documentation: add Docbook external references support When writing technical documentation, it is often necessary to cross reference to other information. When that other information is not in the current document, additional support is needed, namely . A new feature with version 1.7 of xorg-sgml-doctools adds references to other documents within or outside this package. This patch adds technical support for this feature but does not change the content of the documentation as seen by the end user. Each book or article must generate a database containing the href of sections that can be referred to from another document. This database is installed in DATAROOTDIR/sgml/X11/dbs. There is a requirement that the value of DATAROOTDIR for xorg-sgml-doctools and for the package documentation is the same. This forms a virtual document tree. This database is consulted by other documents while they are being generated in order to fulfill the missing information for linking. Refer to the xorg-sgml-doctools for further technical information. Co-authored-by: Matt Dew Signed-off-by: Gaetan Nadon --- configure.ac | 11 +++--- docbook.am | 95 +++++++++++++++++++++++++++++++++++++++++++++++ specs/.gitignore | 1 + specs/Makefile.am | 58 +++-------------------------- 4 files changed, 108 insertions(+), 57 deletions(-) create mode 100644 docbook.am diff --git a/configure.ac b/configure.ac index 34dd4ce..f8cd978 100644 --- a/configure.ac +++ b/configure.ac @@ -4,15 +4,16 @@ AC_INIT([RecordProto], [1.14.1], AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -# Require xorg-macros minimum of 1.10 for HAVE_STYLESHEETS in XORG_CHECK_SGML_DOCTOOLS +# Require xorg-macros minimum of 1.12 for DocBook external references m4_ifndef([XORG_MACROS_VERSION], - [m4_fatal([must install xorg-macros 1.10 or later before running autoconf/autogen])]) -XORG_MACROS_VERSION(1.10) + [m4_fatal([must install xorg-macros 1.12 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.12) XORG_DEFAULT_OPTIONS XORG_ENABLE_SPECS -XORG_WITH_XMLTO(0.0.20) +XORG_WITH_XMLTO(0.0.22) XORG_WITH_FOP -XORG_CHECK_SGML_DOCTOOLS(1.5) +XORG_WITH_XSLTPROC +XORG_CHECK_SGML_DOCTOOLS(1.7) AC_OUTPUT([Makefile specs/Makefile diff --git a/docbook.am b/docbook.am new file mode 100644 index 0000000..3cf21e8 --- /dev/null +++ b/docbook.am @@ -0,0 +1,95 @@ +# +# Generate output formats for a single DocBook/XML with/without chapters +# +# Variables set by the calling Makefile: +# shelfdir: the location where the docs/specs are installed. Typically $(docdir) +# docbook: the main DocBook/XML file, no chapters, appendix or image files +# chapters: all files pulled in by an XInclude statement and images. +# + +# +# This makefile is intended for Users Documentation and Functional Specifications. +# Do not use for Developer Documentation which is not installed and does not require olink. +# Refer to http://www.x.org/releases/X11R7.6/doc/xorg-docs/ReleaseNotes.html#id2584393 +# for an explanation on documents classification. +# + +# DocBook/XML generated output formats to be installed +shelf_DATA = + +# DocBook/XML file with chapters, appendix and images it includes +dist_shelf_DATA = $(docbook) $(chapters) + +# +# Generate DocBook/XML output formats with or without stylesheets +# + +# Stylesheets are available if the package xorg-sgml-doctools is installed +if HAVE_STYLESHEETS + +# The location where all cross reference databases are installed +sgmldbsdir = $(XORG_SGML_PATH)/X11/dbs +masterdb = "$(sgmldbsdir)/masterdb$(suffix $@).xml" +XMLTO_FLAGS = \ + --searchpath "$(XORG_SGML_PATH)/X11" \ + --stringparam target.database.document=$(masterdb) \ + --stringparam current.docid="$(<:.xml=)" \ + --stringparam collect.xref.targets="no" + +XMLTO_XHTML_FLAGS = \ + -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl \ + --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css + +XMLTO_FO_FLAGS = \ + -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl +endif HAVE_STYLESHEETS + +shelf_DATA += $(docbook:.xml=.html) +%.html: %.xml $(chapters) + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) xhtml-nochunks $< + +if HAVE_FOP +shelf_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps) +%.pdf: %.xml $(chapters) + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop pdf $< +%.ps: %.xml $(chapters) + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop ps $< +endif HAVE_FOP + +if HAVE_XMLTO_TEXT +shelf_DATA += $(docbook:.xml=.txt) +%.txt: %.xml $(chapters) + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) txt $< +endif HAVE_XMLTO_TEXT + +# +# Generate documents cross-reference target databases +# + +# This is only possible if the xorg-sgml-doctools package is installed +if HAVE_STYLESHEETS +if HAVE_XSLTPROC + +# DocBook/XML generated document cross-reference database +sgmldbs_DATA = $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db) + +# Generate DocBook/XML document cross-reference database +# Flags for the XSL Transformation processor generating xref target databases +XSLTPROC_FLAGS = \ + --path "$(XORG_SGML_PATH)/X11" \ + --stringparam targets.filename "$@" \ + --stringparam collect.xref.targets "only" \ + --nonet --xinclude + +%.html.db: %.xml $(chapters) + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \ + http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl $< + +%.fo.db: %.xml $(chapters) + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \ + http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $< + +endif HAVE_XSLTPROC +endif HAVE_STYLESHEETS + +CLEANFILES = $(shelf_DATA) $(sgmldbs_DATA) diff --git a/specs/.gitignore b/specs/.gitignore index 6fa5c31..92946c9 100644 --- a/specs/.gitignore +++ b/specs/.gitignore @@ -2,3 +2,4 @@ *.ps *.pdf *.txt +*.db diff --git a/specs/Makefile.am b/specs/Makefile.am index 112e936..b90bbb3 100644 --- a/specs/Makefile.am +++ b/specs/Makefile.am @@ -1,61 +1,15 @@ -# -# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. -# -# 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, and to permit persons to whom the -# Software is furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice (including the next -# paragraph) 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 AUTHORS OR COPYRIGHT HOLDERS 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. -# if ENABLE_SPECS -doc_sources = record.xml -dist_doc_DATA = $(doc_sources) - if HAVE_XMLTO -doc_DATA = $(doc_sources:.xml=.html) -if HAVE_FOP -doc_DATA += $(doc_sources:.xml=.ps) $(doc_sources:.xml=.pdf) -endif +# Main DocBook/XML files (DOCTYPE book) +docbook = record.xml -if HAVE_XMLTO_TEXT -doc_DATA += $(doc_sources:.xml=.txt) -endif +# The location where the DocBook/XML files and their generated formats are installed +shelfdir = $(docdir) -if HAVE_STYLESHEETS -XMLTO_FLAGS = -m $(XSL_STYLESHEET) \ - --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css -endif - -CLEANFILES = $(doc_DATA) - -SUFFIXES = .xml .ps .pdf .txt .html - -.xml.txt: - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) txt $< - -.xml.html: - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $< - -.xml.pdf: - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $< - -.xml.ps: - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop ps $< +# Generate DocBook/XML output formats with or without stylesheets +include $(top_srcdir)/docbook.am endif HAVE_XMLTO endif ENABLE_SPECS From b045d4c13967bd061f6a104136152e841bc432b5 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 5 Jun 2011 16:27:37 -0400 Subject: [PATCH 44/59] Install target dbs alongside generated documents This matches a change in xorg-sgml-docs whereby the masterdb will look for the target dbs into the same location as the generated documents. The target dbs are now installed alongside the generated documents. Previously they are installed in $prefix/sgml/X11/dbs alongside masterdb which has the potential of installing outside the package prefix and cause distcheck to fail when user does not have write permission in this package. Requires XORG_CHECK_SGML_DOCTOOLS(1.8) which was released 2011-06-11 --- configure.ac | 2 +- docbook.am | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index f8cd978..c96a87e 100644 --- a/configure.ac +++ b/configure.ac @@ -13,7 +13,7 @@ XORG_ENABLE_SPECS XORG_WITH_XMLTO(0.0.22) XORG_WITH_FOP XORG_WITH_XSLTPROC -XORG_CHECK_SGML_DOCTOOLS(1.7) +XORG_CHECK_SGML_DOCTOOLS(1.8) AC_OUTPUT([Makefile specs/Makefile diff --git a/docbook.am b/docbook.am index 3cf21e8..5864c9e 100644 --- a/docbook.am +++ b/docbook.am @@ -71,7 +71,7 @@ if HAVE_STYLESHEETS if HAVE_XSLTPROC # DocBook/XML generated document cross-reference database -sgmldbs_DATA = $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db) +shelf_DATA += $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db) # Generate DocBook/XML document cross-reference database # Flags for the XSL Transformation processor generating xref target databases @@ -92,4 +92,4 @@ XSLTPROC_FLAGS = \ endif HAVE_XSLTPROC endif HAVE_STYLESHEETS -CLEANFILES = $(shelf_DATA) $(sgmldbs_DATA) +CLEANFILES = $(shelf_DATA) From cbba0d1e4665b585804b5de33c5ed1a4c3b19727 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 12 Jun 2011 17:54:50 -0400 Subject: [PATCH 45/59] Install xml versions of specs even if HAVE_XMLTO is false DocBook/XML input source is also a usefull output format that can be viewed with an XML viewer or editor and by some O/S help system. Signed-off-by: Gaetan Nadon --- docbook.am | 2 ++ specs/Makefile.am | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docbook.am b/docbook.am index 5864c9e..2ffb7e6 100644 --- a/docbook.am +++ b/docbook.am @@ -20,6 +20,7 @@ shelf_DATA = # DocBook/XML file with chapters, appendix and images it includes dist_shelf_DATA = $(docbook) $(chapters) +if HAVE_XMLTO # # Generate DocBook/XML output formats with or without stylesheets # @@ -91,5 +92,6 @@ XSLTPROC_FLAGS = \ endif HAVE_XSLTPROC endif HAVE_STYLESHEETS +endif HAVE_XMLTO CLEANFILES = $(shelf_DATA) diff --git a/specs/Makefile.am b/specs/Makefile.am index b90bbb3..624abb7 100644 --- a/specs/Makefile.am +++ b/specs/Makefile.am @@ -1,6 +1,5 @@ if ENABLE_SPECS -if HAVE_XMLTO # Main DocBook/XML files (DOCTYPE book) docbook = record.xml @@ -11,5 +10,4 @@ shelfdir = $(docdir) # Generate DocBook/XML output formats with or without stylesheets include $(top_srcdir)/docbook.am -endif HAVE_XMLTO endif ENABLE_SPECS From d1011e878c92be804fe896f9adf2b686c01f2172 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Wed, 7 Sep 2011 10:31:04 -0400 Subject: [PATCH 46/59] docbook.am: global maintenance update - entities, images and olinking Adding support in libX11 for html chunking caused a reorg of docbook.am as well as the xorg-sgml-doctools masterdb for olinking. The parameter img.src.path is added for pdf images. A searchpath to the root builddir is added for local entities, if present. The docbook.am makefile hides all the details and is identical for all 22 modules having DocBook documentation. It is included by a thin Makefile.am which requires no docbook knowledge. Signed-off-by: Gaetan Nadon --- docbook.am | 112 +++++++++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 51 deletions(-) diff --git a/docbook.am b/docbook.am index 2ffb7e6..9377f5b 100644 --- a/docbook.am +++ b/docbook.am @@ -21,74 +21,84 @@ shelf_DATA = dist_shelf_DATA = $(docbook) $(chapters) if HAVE_XMLTO -# -# Generate DocBook/XML output formats with or without stylesheets -# - -# Stylesheets are available if the package xorg-sgml-doctools is installed if HAVE_STYLESHEETS -# The location where all cross reference databases are installed -sgmldbsdir = $(XORG_SGML_PATH)/X11/dbs -masterdb = "$(sgmldbsdir)/masterdb$(suffix $@).xml" -XMLTO_FLAGS = \ - --searchpath "$(XORG_SGML_PATH)/X11" \ - --stringparam target.database.document=$(masterdb) \ - --stringparam current.docid="$(<:.xml=)" \ - --stringparam collect.xref.targets="no" - -XMLTO_XHTML_FLAGS = \ - -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl \ - --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css - -XMLTO_FO_FLAGS = \ - -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl -endif HAVE_STYLESHEETS +XMLTO_SEARCHPATH_FLAGS = \ + --searchpath "$(XORG_SGML_PATH)/X11" \ + --searchpath "$(abs_top_builddir)" +XMLTO_HTML_OLINK_FLAGS = \ + --stringparam target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.html.xml \ + --stringparam current.docid="$(<:.xml=)" +XMLTO_HTML_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl +XMLTO_HTML_CSS_STYLESHEET_FLAGS = --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css +XMLTO_HTML_FLAGS = \ + $(XMLTO_SEARCHPATH_FLAGS) \ + $(XMLTO_HTML_STYLESHEET_FLAGS) \ + $(XMLTO_HTML_CSS_STYLESHEET_FLAGS) \ + $(XMLTO_HTML_OLINK_FLAGS) shelf_DATA += $(docbook:.xml=.html) -%.html: %.xml $(chapters) - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) xhtml-nochunks $< - -if HAVE_FOP -shelf_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps) -%.pdf: %.xml $(chapters) - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop pdf $< -%.ps: %.xml $(chapters) - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop ps $< -endif HAVE_FOP +%.html: %.xml $(chapters) + $(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) xhtml-nochunks $< if HAVE_XMLTO_TEXT + shelf_DATA += $(docbook:.xml=.txt) %.txt: %.xml $(chapters) - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) txt $< + $(AM_V_GEN)$(XMLTO) $(XMLTO_HTML_FLAGS) txt $< endif HAVE_XMLTO_TEXT -# -# Generate documents cross-reference target databases -# +if HAVE_FOP +XMLTO_FO_IMAGEPATH_FLAGS = --stringparam img.src.path=$(abs_builddir)/ +XMLTO_PDF_OLINK_FLAGS = \ + --stringparam target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.pdf.xml \ + --stringparam current.docid="$(<:.xml=)" +XMLTO_FO_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl -# This is only possible if the xorg-sgml-doctools package is installed -if HAVE_STYLESHEETS +XMLTO_FO_FLAGS = \ + $(XMLTO_SEARCHPATH_FLAGS) \ + $(XMLTO_FO_STYLESHEET_FLAGS) \ + $(XMLTO_FO_IMAGEPATH_FLAGS) \ + $(XMLTO_PDF_OLINK_FLAGS) + +shelf_DATA += $(docbook:.xml=.pdf) +%.pdf: %.xml $(chapters) + $(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop pdf $< + +shelf_DATA += $(docbook:.xml=.ps) +%.ps: %.xml $(chapters) + $(AM_V_GEN)$(XMLTO) $(XMLTO_FO_FLAGS) --with-fop ps $< +endif HAVE_FOP + +# Generate documents cross-reference target databases if HAVE_XSLTPROC -# DocBook/XML generated document cross-reference database -shelf_DATA += $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db) - -# Generate DocBook/XML document cross-reference database -# Flags for the XSL Transformation processor generating xref target databases -XSLTPROC_FLAGS = \ +XSLT_SEARCHPATH_FLAGS = \ --path "$(XORG_SGML_PATH)/X11" \ - --stringparam targets.filename "$@" \ - --stringparam collect.xref.targets "only" \ - --nonet --xinclude + --path "$(abs_top_builddir)" +XSLT_OLINK_FLAGS = \ + --stringparam targets.filename "$@" \ + --stringparam collect.xref.targets "only" \ + --stringparam olink.base.uri "$(@:.db=)" +XSLT_HTML_FLAGS = \ + $(XSLT_SEARCHPATH_FLAGS) \ + $(XSLT_OLINK_FLAGS) \ + --nonet --xinclude \ + $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl +XSLT_PDF_FLAGS = \ + $(XSLT_SEARCHPATH_FLAGS) \ + $(XSLT_OLINK_FLAGS) \ + --nonet --xinclude \ + $(STYLESHEET_SRCDIR)/xorg-fo.xsl + +shelf_DATA += $(docbook:.xml=.html.db) %.html.db: %.xml $(chapters) - $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \ - http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl $< + $(AM_V_GEN)$(XSLTPROC) $(XSLT_HTML_FLAGS) $< -%.fo.db: %.xml $(chapters) - $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \ - http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $< +shelf_DATA += $(docbook:.xml=.pdf.db) +%.pdf.db: %.xml $(chapters) + $(AM_V_GEN)$(XSLTPROC) $(XSLT_PDF_FLAGS) $< endif HAVE_XSLTPROC endif HAVE_STYLESHEETS From 1950143424ea47973613bc1dbec805e8a32aa97b Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Thu, 8 Sep 2011 20:00:00 -0400 Subject: [PATCH 47/59] docbook.am: embed css styles inside the HTML HEAD element Rather than referring to the external xorg.css stylesheet, embed the content of the file in the html output produced. This is accomplished by using version 1.10 of xorg-xhtml.xsl. This makes the whole html docs tree much more relocatable. In addition, it eliminates xorg.css as a runtime file which makes xorg-sgml-doctools a build time only package. Signed-off-by: Gaetan Nadon --- docbook.am | 2 -- 1 file changed, 2 deletions(-) diff --git a/docbook.am b/docbook.am index 9377f5b..bba4d54 100644 --- a/docbook.am +++ b/docbook.am @@ -30,11 +30,9 @@ XMLTO_HTML_OLINK_FLAGS = \ --stringparam target.database.document=$(XORG_SGML_PATH)/X11/dbs/masterdb.html.xml \ --stringparam current.docid="$(<:.xml=)" XMLTO_HTML_STYLESHEET_FLAGS = -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl -XMLTO_HTML_CSS_STYLESHEET_FLAGS = --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css XMLTO_HTML_FLAGS = \ $(XMLTO_SEARCHPATH_FLAGS) \ $(XMLTO_HTML_STYLESHEET_FLAGS) \ - $(XMLTO_HTML_CSS_STYLESHEET_FLAGS) \ $(XMLTO_HTML_OLINK_FLAGS) shelf_DATA += $(docbook:.xml=.html) From c8d4e3eddc07889f0bc493884f120e741226c28b Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 11 Sep 2011 08:51:02 -0400 Subject: [PATCH 48/59] specs: use more appropriate docbook element to get "Edited by" The proper element to use is . The was a hack to insert text and showed up in the wrong location Signed-off-by: Gaetan Nadon --- specs/record.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/specs/record.xml b/specs/record.xml index 89cfd72..c1d5d32 100644 --- a/specs/record.xml +++ b/specs/record.xml @@ -14,11 +14,10 @@ MarthaZimet Network Computing Devices, Inc. - - edited by + StephenGildea X Consortium - + X Consortium Standard X Consortium From 9ecf07de57da54009c5bb4567655996f69ba8deb Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 11 Sep 2011 19:49:54 -0400 Subject: [PATCH 49/59] docs: remove which is not used by default This element is not rendered by default on the title. A template customization is required to display it. X Window System does not have a product number. Signed-off-by: Gaetan Nadon --- specs/record.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/specs/record.xml b/specs/record.xml index c1d5d32..ea88356 100644 --- a/specs/record.xml +++ b/specs/record.xml @@ -21,7 +21,6 @@ X Consortium Standard X Consortium - Version 1.13 X Version 11, Release 6.7 From 233ed0eef7526ae02223359851be51e43240652b Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Mon, 12 Sep 2011 16:54:45 -0400 Subject: [PATCH 50/59] docs: use the &fullrelvers; entity to set X11 release information Signed-off-by: Gaetan Nadon --- specs/record.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/specs/record.xml b/specs/record.xml index ea88356..00a0d6b 100644 --- a/specs/record.xml +++ b/specs/record.xml @@ -1,6 +1,9 @@ + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" +[ + %defs; +]> @@ -21,7 +24,7 @@ X Consortium Standard X Consortium - X Version 11, Release 6.7 + X Version 11, Release &fullrelvers; From 5a7a2820665a495df32694d90b6f5192dd53547e Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Tue, 20 Sep 2011 20:12:54 -0400 Subject: [PATCH 51/59] specs: refactor copyright license text for multi licening Signed-off-by: Gaetan Nadon --- specs/record.xml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/specs/record.xml b/specs/record.xml index 00a0d6b..8d7bd0a 100644 --- a/specs/record.xml +++ b/specs/record.xml @@ -22,29 +22,24 @@ X Consortium - X Consortium Standard - X Consortium - X Version 11, Release &fullrelvers; + X Version 11, Release &fullrelvers; + 1994Network Computing Devices, Inc. + -Copyright © 1994 Network Computing Devices, Inc. - - Permission to use, copy, modify, distribute, and sell this documentation for any purpose is hereby granted without fee, provided that the above copyright notice and this permission notice appear in all copies. Network Computing Devices, Inc. makes no representations about the suitability for any purpose of the information in this document. This documentation is -provided "as is" without express or implied warranty. +provided “as is” without express or implied warranty. - -Copyright © 1994, 1995 X Consortium - +Copyright © 1994, 1995 X Consortium Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -61,7 +56,7 @@ in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +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 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR @@ -76,6 +71,7 @@ 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 X Consortium. +X Window System is a trademark of The Open Group. From 10028272314500dd2e17e5ae7efa0a2d4d118c13 Mon Sep 17 00:00:00 2001 From: Matt Dew Date: Fri, 13 Jan 2012 23:20:09 -0700 Subject: [PATCH 52/59] informaltable cleanup On certain tables, add top and bottom borders to table header and a bottom border to the table. This matches what those tables in the old pdfs looked like. the prevents tables from splitting across pages. Useful for tiny tables. Converting the colwidth to a floating point, IE, 1* -> 1.0* cleans up these build errors: WARNING: table-layout="fixed" and column-width unspecified => falling back to proportional-column-width(1) Signed-off-by: Matt Dew --- specs/record.xml | 165 +++++++++++++++++++++++++---------------------- 1 file changed, 87 insertions(+), 78 deletions(-) diff --git a/specs/record.xml b/specs/record.xml index 8d7bd0a..842a5d6 100644 --- a/specs/record.xml +++ b/specs/record.xml @@ -461,27 +461,28 @@ type is a resource identifier for a server record context. - - - - + + + + + - + RANGE8: [first, last: CARD8] - + RANGE16: [first, last: CARD16] - + EXTRANGE: [major: RANGE8 - + minor: RANGE16] @@ -491,52 +492,53 @@ type is a resource identifier for a server record context. - - - - + + + + + - + RECORDRANGE: [core-requests: RANGE8 - + core-replies: RANGE8 - + ext-requests: EXTRANGE - + ext-replies: EXTRANGE - + delivered-events: RANGE8 - + device-events: RANGE8 - + errors: RANGE8 - + client-started: BOOL - + client-died: BOOL] @@ -692,22 +694,23 @@ this RECORDRANGE. - - - - + + + + + - + ELEMENT_HEADER: [from-server-time: BOOL - + from-client-time: BOOL - + from-client-sequence: BOOL] @@ -844,17 +847,18 @@ It is an error to explicitly register the data connection. - - - - + + + + + - + CLIENT_INFO: [client-resource: CLIENTSPEC - + intercepted-protocol: LISTofRECORDRANGE] @@ -946,30 +950,31 @@ minor version thirteen (13). - - + + + - + context: RC - + element-header: ELEMENT_HEADER - + client-specifiers: LISTofCLIENTSPEC - + ranges: LISTofRECORDRANGE - + Errors: Match , @@ -1064,30 +1069,31 @@ resources. - - + + + - + context: RC - + element-header: ELEMENT_HEADER - + client-specifiers: LISTofCLIENTSPEC - + ranges: LISTofRECORDRANGE - + Errors: Match , @@ -1190,20 +1196,21 @@ resources. - - + + + - + context: RC - + client-specifiers: LISTofCLIENTSPEC - + Errors: Match , @@ -1283,40 +1290,41 @@ A client is unregistered automatically when it disconnects. - - + + + - + context: RC - + -> - + enabled: BOOL - + element-header: ELEMENT_HEADER - + intercepted-clients: LISTofCLIENT_INFO - + Errors: - + RecordContext @@ -1366,20 +1374,20 @@ error results. - - + + - + context: RC - + ->+ - + category: {FromServer, FromClient, @@ -1389,37 +1397,37 @@ error results. - + element-header: ELEMENT_HEADER - + client-swapped: BOOL - + id-base: XIDBASE - + server-time: TIMESTAMP - + recorded-sequence-number: CARD32 - + data: LISTofBYTE - + Errors: Match, @@ -1600,15 +1608,16 @@ error results. - - + + + - + context: RC - + Errors: RecordContext From 32236c56b7015a98d845bb1836817328a307edce Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Thu, 22 Mar 2012 20:46:36 -0700 Subject: [PATCH 53/59] recordproto 1.14.2 Signed-off-by: Alan Coopersmith --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index c96a87e..e037f2d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.60]) -AC_INIT([RecordProto], [1.14.1], +AC_INIT([RecordProto], [1.14.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE From 3627144e2ed0541b14e15a665394b12a523ea1cd Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 15 Jan 2013 14:01:10 -0500 Subject: [PATCH 54/59] configure: Remove AM_MAINTAINER_MODE Signed-off-by: Adam Jackson --- configure.ac | 1 - 1 file changed, 1 deletion(-) diff --git a/configure.ac b/configure.ac index e037f2d..1d4cd5d 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,6 @@ AC_PREREQ([2.60]) AC_INIT([RecordProto], [1.14.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) -AM_MAINTAINER_MODE # Require xorg-macros minimum of 1.12 for DocBook external references m4_ifndef([XORG_MACROS_VERSION], From 0fd4f8e57c1e637b2aaaaa0f539ddbac8cc50575 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 4 Jan 2012 17:37:06 -0500 Subject: [PATCH 55/59] autogen.sh: Implement GNOME Build API http://people.gnome.org/~walters/docs/build-api.txt Signed-off-by: Adam Jackson --- autogen.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/autogen.sh b/autogen.sh index 904cd67..fc34bd5 100755 --- a/autogen.sh +++ b/autogen.sh @@ -9,4 +9,6 @@ cd $srcdir autoreconf -v --install || exit 1 cd $ORIGDIR || exit $? -$srcdir/configure --enable-maintainer-mode "$@" +if test -z "$NOCONFIGURE"; then + $srcdir/configure "$@" +fi From c414387db7d8c575ff4165dca7045ed8c285a52f Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sat, 26 Oct 2013 09:42:05 -0400 Subject: [PATCH 56/59] config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES Fix Automake warning: AC_OUTPUT should be used without arguments. www.gnu.org/software/autoconf/manual/autoconf.html#Configuration-Files Signed-off-by: Gaetan Nadon --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 1d4cd5d..b301208 100644 --- a/configure.ac +++ b/configure.ac @@ -14,6 +14,7 @@ XORG_WITH_FOP XORG_WITH_XSLTPROC XORG_CHECK_SGML_DOCTOOLS(1.8) -AC_OUTPUT([Makefile +AC_CONFIG_FILES([Makefile specs/Makefile recordproto.pc]) +AC_OUTPUT From 11ba649f02e6d37df17f56c22b1b610c7bea666c Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 24 Jan 2017 10:32:07 +1000 Subject: [PATCH 57/59] autogen.sh: use exec instead of waiting for configure to finish Syncs the invocation of configure with the one from the server. Signed-off-by: Peter Hutterer --- autogen.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autogen.sh b/autogen.sh index fc34bd5..fd9c59a 100755 --- a/autogen.sh +++ b/autogen.sh @@ -10,5 +10,5 @@ autoreconf -v --install || exit 1 cd $ORIGDIR || exit $? if test -z "$NOCONFIGURE"; then - $srcdir/configure "$@" + exec $srcdir/configure "$@" fi From 2d14fdac7f8bfba28f75469d85325514148fed02 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Mon, 9 Mar 2015 12:00:52 +0000 Subject: [PATCH 58/59] autogen.sh: use quoted string variables Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent fall-outs, when they contain space. Signed-off-by: Emil Velikov Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer --- autogen.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/autogen.sh b/autogen.sh index fd9c59a..0006de8 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,14 +1,14 @@ #! /bin/sh -srcdir=`dirname $0` +srcdir=`dirname "$0"` test -z "$srcdir" && srcdir=. ORIGDIR=`pwd` -cd $srcdir +cd "$srcdir" autoreconf -v --install || exit 1 -cd $ORIGDIR || exit $? +cd "$ORIGDIR" || exit $? if test -z "$NOCONFIGURE"; then - exec $srcdir/configure "$@" + exec "$srcdir"/configure "$@" fi From 1dea0b0b9872b1ee4c129b4da049f37166fe6b62 Mon Sep 17 00:00:00 2001 From: Mihail Konev Date: Thu, 26 Jan 2017 13:52:48 +1000 Subject: [PATCH 59/59] autogen: add default patch prefix Signed-off-by: Mihail Konev --- autogen.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/autogen.sh b/autogen.sh index 0006de8..1673979 100755 --- a/autogen.sh +++ b/autogen.sh @@ -9,6 +9,9 @@ cd "$srcdir" autoreconf -v --install || exit 1 cd "$ORIGDIR" || exit $? +git config --local --get format.subjectPrefix >/dev/null 2>&1 || + git config --local format.subjectPrefix "PATCH recordproto" + if test -z "$NOCONFIGURE"; then exec "$srcdir"/configure "$@" fi