From 5113df7e49393afb5d9199f030b6f4e025a54039 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 30 Oct 2003 04:31:19 +0000 Subject: [PATCH] autofoo Add protocol headers Use enum for update mode instead of bool --- AUTHORS | 0 COPYING | 22 +++++++++ ChangeLog | 16 +++++++ INSTALL | 8 ++++ Makefile.am | 37 ++++++++++++++ NEWS | 0 README | 9 ++++ autogen.sh | 3 ++ composite.h | 44 +++++++++++++++++ compositeext.pc.in | 9 ++++ compositeproto.h | 117 +++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 35 ++++++++++++++ protocol | 6 +-- 13 files changed, 303 insertions(+), 3 deletions(-) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 INSTALL create mode 100644 Makefile.am create mode 100644 NEWS create mode 100644 README create mode 100755 autogen.sh create mode 100644 composite.h create mode 100644 compositeext.pc.in create mode 100644 compositeproto.h create mode 100644 configure.ac diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..e69de29 diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..5b08aa7 --- /dev/null +++ b/COPYING @@ -0,0 +1,22 @@ +$Id: COPYING,v 1.1 2003-10-30 04:31:19 keithp Exp $ + +Copyright © 2001,2003 Keith Packard + +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 Keith Packard not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Keith Packard makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL KEITH PACKARD 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/ChangeLog b/ChangeLog index 0d39d85..5884363 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2003-10-29 Keith Packard + + * COPYING: + * INSTALL: + * Makefile.am: + * README: + * apportion.h: + * apportionext.pc.in: + * apportionproto.h: + * autogen.sh: + * configure.ac: + * protocol: + autofoo + Add protocol headers + Use enum for update mode instead of bool + 2003-10-29 Keith Packard * protocol: diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..b94098a --- /dev/null +++ b/INSTALL @@ -0,0 +1,8 @@ +Render is built with the traditional configure script: + + $ ./configure --prefix=/usr/X11R6 + +This should generate valid Makefiles, then: + + $ make + $ make install diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..f30b0e6 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,37 @@ +# +# $Id: Makefile.am,v 1.1 2003-10-30 04:31:19 keithp Exp $ +# +# Copyright © 2003 Keith Packard, Noah Levitt +# +# 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 Keith Packard not be used in +# advertising or publicity pertaining to distribution of the software without +# specific, written prior permission. Keith Packard makes no +# representations about the suitability of this software for any purpose. It +# is provided "as is" without express or implied warranty. +# +# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +# EVENT SHALL KEITH PACKARD 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. + +apportionextincludedir = $(includedir)/X11/extensions + +apportionextinclude_HEADERS = \ + apportionproto.h \ + apportion.h + +apportionextdocdir = $(datadir)/doc/apportionext +apportionextdoc_DATA = protocol + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = apportionext.pc + +EXTRA_DIST = autogen.sh apportionext.pc.in $(apportionextdoc_DATA) + diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/README b/README new file mode 100644 index 0000000..6b27bbc --- /dev/null +++ b/README @@ -0,0 +1,9 @@ + Apportion X Extension + Version 0.1 + 2003-10-29 + +This package contains header files and documentation for the apportion X +extension. Library and server implementations are separate. + +Keith Packard +keithp@keithp.com diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..b1376df --- /dev/null +++ b/autogen.sh @@ -0,0 +1,3 @@ +#! /bin/sh +autoreconf -v --install || exit 1 +./configure --enable-maintainer-mode "$@" diff --git a/composite.h b/composite.h new file mode 100644 index 0000000..a80eb33 --- /dev/null +++ b/composite.h @@ -0,0 +1,44 @@ +/* + * $Id: composite.h,v 1.1 2003-10-30 04:31:19 keithp Exp $ + * + * Copyright © 2003 Keith Packard + * + * 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 Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD 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 _APPORTION_H_ +#define _APPORTION_H_ + +#include + +#define APPORTION_NAME "Apportion" +#define APPORTION_MAJOR 0 +#define APPORTION_MINOR 1 + +#define ApportionRedirectAutomatic 0 +#define ApportionRedirectManual 1 + +#define X_ApportionQueryVersion 0 +#define X_ApportionRedirectWindow 1 +#define X_ApportionRedirectSubwindows 2 +#define X_ApportionUnredirectWindow 3 +#define X_ApportionUnredirectSubwindows 4 +#define X_ApportionCreateRegionFromBorderClip 5 + +#endif /* _APPORTION_H_ */ diff --git a/compositeext.pc.in b/compositeext.pc.in new file mode 100644 index 0000000..bf2297a --- /dev/null +++ b/compositeext.pc.in @@ -0,0 +1,9 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: ApportionExt +Description: Apportion X extension headers +Version: @PACKAGE_VERSION@ +Cflags: -I${includedir} @APPORTIONEXT_CFLAGS@ diff --git a/compositeproto.h b/compositeproto.h new file mode 100644 index 0000000..0cec4e1 --- /dev/null +++ b/compositeproto.h @@ -0,0 +1,117 @@ +/* + * $Id: compositeproto.h,v 1.1 2003-10-30 04:31:19 keithp Exp $ + * + * Copyright © 2003 Keith Packard + * + * 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 Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD 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 _APPORTIONPROTO_H_ +#define _APPORTIONPROTO_H_ + +#include +#include + +#define Window CARD32 +#define Region CARD32 + +/* + * requests and replies + */ +typedef struct { + CARD8 reqType; + CARD8 apportionReqType; + CARD16 length B16; + CARD32 majorVersion B32; + CARD32 minorVersion B32; +} xApportionQueryVersionReq; + +#define sz_xApportionQueryVersionReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 majorVersion B32; + CARD32 minorVersion B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xApportionQueryVersionReply; + +#define sz_xApportionQueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 apportionReqType; + CARD16 length B16; + Window window B32; + CARD8 update; + CARD8 pad1; + CARD16 pad2 B16; +} xApportionRedirectWindowReq; + +#define sz_xApportionRedirectWindowReq 12 + +typedef struct { + CARD8 reqType; + CARD8 apportionReqType; + CARD16 length B16; + Window window B32; + CARD8 update; + CARD8 pad1; + CARD16 pad2 B16; +} xApportionRedirectWindowsReq; + +#define sz_xApportionRedirectWindowsReq 12 + +typedef struct { + CARD8 reqType; + CARD8 apportionReqType; + CARD16 length B16; + Window window B32; +} xApportionUnredirectWindowReq; + +#define sz_xApportionUnredirectWindowReq 8 + +typedef struct { + CARD8 reqType; + CARD8 apportionReqType; + CARD16 length B16; + Window window B32; +} xApportionUnredirectWindowsReq; + +#define sz_xApportionUnredirectWindowsReq 8 + +typedef struct { + CARD8 reqType; + CARD8 apportionReqType; + CARD16 length B16; + Region region B32; + Window window B32; +} xApportionCreateRegionFromBorderClipReq; + +#define sz_xApportionCreateRegionFromBorderClipReq 12 + +#undef Window +#undef Region + +#endif /* _APPORTIONPROTO_H_ */ diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..ce4be88 --- /dev/null +++ b/configure.ac @@ -0,0 +1,35 @@ +dnl +dnl $Id: configure.ac,v 1.1 2003-10-30 04:31:19 keithp Exp $ +dnl +dnl Copyright © 2003 Keith Packard, Noah Levitt +dnl +dnl Permission to use, copy, modify, distribute, and sell this software and its +dnl documentation for any purpose is hereby granted without fee, provided that +dnl the above copyright notice appear in all copies and that both that +dnl copyright notice and this permission notice appear in supporting +dnl documentation, and that the name of Keith Packard not be used in +dnl advertising or publicity pertaining to distribution of the software without +dnl specific, written prior permission. Keith Packard makes no +dnl representations about the suitability of this software for any purpose. It +dnl is provided "as is" without express or implied warranty. +dnl +dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR +dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +dnl PERFORMANCE OF THIS SOFTWARE. +dnl +dnl Process this file with autoconf to create configure. + +AC_PREREQ([2.57]) +AC_INIT([apportionext], [2.0], [keithp@keithp.com], apportionext) +AM_INIT_AUTOMAKE([dist-bzip2]) +AM_MAINTAINER_MODE + +PKG_CHECK_MODULES(APPORTIONEXT, xextensions fixesext) + +AC_OUTPUT([Makefile + apportionext.pc]) + diff --git a/protocol b/protocol index 6109b59..a130225 100644 --- a/protocol +++ b/protocol @@ -79,7 +79,7 @@ The apportion extension does not define any new errors. 5. Types -The apportion extension does not define any new datatypes. + UPDATETYPE { Automatic, Manual } 6. Events @@ -115,7 +115,7 @@ operations other than QueryVersion. RedirectWindow window: Window - automatic-update: Bool + update: UPDATETYPE errors: Window, Access @@ -129,7 +129,7 @@ operations other than QueryVersion. RedirectSubwindows window: Window - manual-update Bool + update UPDATETYPE errors: Window, Access