[PATCH libXtst] Move record headers to here.

Peter Hutterer peter.hutterer at who-t.net
Sun Aug 16 20:49:43 PDT 2009


Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 configure.ac                    |    2 +-
 include/X11/extensions/record.h |  183 +++++++++++++++++++++++++++++++++++++++
 src/Makefile.am                 |    3 +-
 src/XRecord.c                   |    1 +
 4 files changed, 187 insertions(+), 2 deletions(-)
 create mode 100644 include/X11/extensions/record.h

diff --git a/configure.ac b/configure.ac
index f37b120..5cdd8eb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -44,7 +44,7 @@ AC_PATH_PROG([XMLTO], [xmlto])
 AM_CONDITIONAL([HAVE_XMLTO], [test "x$XMLTO" != "x"])
 
 # Check for dependencies
-PKG_CHECK_MODULES(XTST, x11 xext xi recordproto [xextproto >= 7.0.99.3] inputproto)
+PKG_CHECK_MODULES(XTST, x11 xext xi [recordproto >= 1.0.99.1] [xextproto >= 7.0.99.3] inputproto)
 XTST_CFLAGS="$CWARNFLAGS $XTST_CFLAGS"
 AC_SUBST(XTST_CFLAGS)
 AC_SUBST(XTST_LIBS)
diff --git a/include/X11/extensions/record.h b/include/X11/extensions/record.h
new file mode 100644
index 0000000..e82b06c
--- /dev/null
+++ b/include/X11/extensions/record.h
@@ -0,0 +1,183 @@
+/***************************************************************************
+ * 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_
+
+#include <X11/extensions/recordconst.h>
+
+typedef unsigned long   XRecordClientSpec;
+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
diff --git a/src/Makefile.am b/src/Makefile.am
index e8594c7..a2f3db0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -14,7 +14,8 @@ AM_CFLAGS=\
 libXtst_la_LDFLAGS = -version-number 6:1:0 -no-undefined
 
 libXtstincludedir = $(includedir)/X11/extensions
-libXtstinclude_HEADERS = $(top_srcdir)/include/X11/extensions/XTest.h
+libXtstinclude_HEADERS = $(top_srcdir)/include/X11/extensions/XTest.h \
+                         $(top_srcdir)/include/X11/extensions/record.h
 
 if LINT
 ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
diff --git a/src/XRecord.c b/src/XRecord.c
index 2d76f5c..fe733ff 100644
--- a/src/XRecord.c
+++ b/src/XRecord.c
@@ -60,6 +60,7 @@ from The Open Group.
 #include <X11/extensions/Xext.h>
 #include <X11/extensions/extutil.h>
 #include <X11/extensions/recordstr.h>
+#include <X11/extensions/record.h>
 
 static XExtensionInfo _xrecord_info_data;
 static XExtensionInfo *xrecord_info = &_xrecord_info_data;
-- 
1.6.3.rc1.2.g0164.dirty



More information about the xorg-devel mailing list