summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2010-04-06 14:17:53 -0700
committerKeith Packard <keithp@keithp.com>2010-04-06 14:17:53 -0700
commit92f13d664ef33e6f8a92a6a965cb4809f4b2aaa6 (patch)
tree6b7ffe20dc6f8f51a2e36f504a80db59905a28d7
parentecfdd975cf02e80d9dd020c01187fa322513009b (diff)
parent33687cbe700328210b9b961413d40689adb12059 (diff)
Merge remote branch 'recordproto/master'
-rw-r--r--recordproto/.gitignore78
-rw-r--r--recordproto/COPYING17
-rw-r--r--recordproto/Makefile.am21
-rw-r--r--recordproto/README30
-rwxr-xr-xrecordproto/autogen.sh12
-rw-r--r--recordproto/configure.ac13
-rw-r--r--recordproto/recordconst.h54
-rw-r--r--recordproto/recordproto.h306
-rw-r--r--recordproto/recordproto.pc.in9
-rw-r--r--recordproto/recordstr.h4
10 files changed, 544 insertions, 0 deletions
diff --git a/recordproto/.gitignore b/recordproto/.gitignore
new file mode 100644
index 0000000..e4e5185
--- /dev/null
+++ b/recordproto/.gitignore
@@ -0,0 +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
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[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'
+#
diff --git a/recordproto/COPYING b/recordproto/COPYING
new file mode 100644
index 0000000..ae25726
--- /dev/null
+++ b/recordproto/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.
diff --git a/recordproto/Makefile.am b/recordproto/Makefile.am
new file mode 100644
index 0000000..f9cc316
--- /dev/null
+++ b/recordproto/Makefile.am
@@ -0,0 +1,21 @@
+recorddir = $(includedir)/X11/extensions
+record_HEADERS = \
+ recordconst.h \
+ recordproto.h \
+ recordstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = recordproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/recordproto/README b/recordproto/README
new file mode 100644
index 0000000..0800985
--- /dev/null
+++ b/recordproto/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
+
diff --git a/recordproto/autogen.sh b/recordproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/recordproto/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/recordproto/configure.ac b/recordproto/configure.ac
new file mode 100644
index 0000000..7993f59
--- /dev/null
+++ b/recordproto/configure.ac
@@ -0,0 +1,13 @@
+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
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+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
+ recordproto.pc])
diff --git a/recordproto/recordconst.h b/recordproto/recordconst.h
new file mode 100644
index 0000000..4819de7
--- /dev/null
+++ b/recordproto/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/recordproto/recordproto.h b/recordproto/recordproto.h
new file mode 100644
index 0000000..01bc952
--- /dev/null
+++ b/recordproto/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 <X11/extensions/recordconst.h>
+
+/* 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/recordproto/recordproto.pc.in b/recordproto/recordproto.pc.in
new file mode 100644
index 0000000..77cd38f
--- /dev/null
+++ b/recordproto/recordproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: RecordProto
+Description: Record extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/recordproto/recordstr.h b/recordproto/recordstr.h
new file mode 100644
index 0000000..7f269b7
--- /dev/null
+++ b/recordproto/recordstr.h
@@ -0,0 +1,4 @@
+#warning "recordstr.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/record.h> for the library interfaces."
+#warning "include <X11/extensions/recordproto.h> for the protocol defines."
+#include <X11/extensions/recordproto.h>