Update to libXext 1.1.1. Tested on a ports bulk build by naddy@.

This commit is contained in:
matthieu 2010-05-10 20:06:53 +00:00
parent 1fe9a460de
commit 0c4bbe43a5
51 changed files with 8975 additions and 4708 deletions

View File

@ -1,3 +1,266 @@
commit ed7bbe65222286828fa42f3c264ed5c4190fe58c
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Wed Oct 21 20:13:24 2009 -0700
libXext 1.1.1
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
commit 341bddfc6eddef77e57dd64a084b69fd24bba152
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Wed Oct 21 20:12:49 2009 -0700
Use $(AM_V_GEN) to silence makefile generation rules
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
commit 38c351f2f49d44944958e9b4d003a74bd6d8d683
Author: Jeremy Huddleston <jeremyhu@freedesktop.org>
Date: Wed Oct 21 12:47:25 2009 -0700
This is not a GNU project, so declare it foreign.
On Wed, 2009-10-21 at 13:36 +1000, Peter Hutterer wrote:
> On Tue, Oct 20, 2009 at 08:23:55PM -0700, Jeremy Huddleston wrote:
> > I noticed an INSTALL file in xlsclients and libXvMC today, and it
> > was quite annoying to work around since 'autoreconf -fvi' replaces
> > it and git wants to commit it. Should these files even be in git?
> > Can I nuke them for the betterment of humanity and since they get
> > created by autoreconf anyways?
>
> See https://bugs.freedesktop.org/show_bug.cgi?id=24206
As an interim measure, replace AM_INIT_AUTOMAKE([dist-bzip2]) with
AM_INIT_AUTOMAKE([foreign dist-bzip2]). This will prevent the generation
of the INSTALL file. It is also part of the 24206 solution.
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
commit 956fd30e1046e5779ac0b6c07ec4f0e87250869a
Author: Jamey Sharp <jamey@minilop.net>
Date: Wed Oct 7 19:31:21 2009 -0700
XAllocID must only be called with the Display lock held.
This patch makes XShmAttach follow the same XID allocation pattern used in
other stubs, such as XShmCreatePixmap.
Reported-by: <fdsteve@ihug.co.nz>
Signed-off-by: Jamey Sharp <jamey@minilop.net>
commit 927e3260bcf1ad020228e8f2dce0176269982b4f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Oct 2 10:52:13 2009 +1000
libXext 1.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 003e2eb714c39984b3c054e0fc637cdb051dcdf3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Oct 2 10:43:14 2009 +1000
Require macros 1.3 for XORG_DEFAULT_OPTIONS
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit e29cd70df7d5abdccb6b7ed973611044d02241d0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Jul 21 13:38:01 2009 +1000
Bump to 1.0.99.4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit c3dc01ce05b26ec389eb2fbfc8633e3e0955572f
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date: Mon Jul 20 22:49:15 2009 +0100
Rename mitmisc.h to mitmiscconst.h to avoid a collision with MITMisc.h on case-insensitive filesystems
Requires xextproto 7.0.99.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit dbc6ca9306f0f683419aca737e0d98243475bc0d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Jul 20 13:19:04 2009 +1000
Remove XTest header, belongs to libXtst.
All prototypes declared in XTest.h are defined in libXtst/src/XTest.c, not
here.
This removes the circular dependency between libXi and libXext.
Reported-by: Colin Guthrie
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 1d1860f31f673f9cf2efb6dc59fdcf8fe625736f
Author: Julien Cristau <jcristau@debian.org>
Date: Thu Jul 16 11:13:02 2009 +0100
Prevent shape.h being included in the server
fixesproto includes shape.h, but doesn't want client side headers. This
needs to be fixed there, but work around this in shape.h anyway so we
don't break older xfixesproto.h.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit dae2e0478eef5aa8a80288b417e1f8282dc0329c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Jul 17 08:40:42 2009 +1000
Bump to 1.0.99.3
commit 391b5844b13f5bc0f030a2ef8dd415f41f92f84c
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Jul 16 17:25:51 2009 -0400
Fix DPMS/MBUF/SECURITY for new header names
commit 02efa0486b7272e9e395d36774ee782f48bcb4ec
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Jul 16 13:33:08 2009 +1000
Bump to 1.0.99.2
commit 1772c991ec6370fcf1bad79b00a87a02c5b484cc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Jun 25 15:36:39 2009 +1000
Move libXext library headers from xextproto to libXext.
All library headers (or parts thereof) from xextproto are moved to
include/X11/extensions/. Including build fixes to include and build with the
new header locations and names.
Requires xextproto 7.0.99.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit d1f3bc77a48c8e42771579e3fdf3370b35d3209d
Author: Paul TBBle Hampson <Paul.Hampson@Pobox.com>
Date: Sat Jun 6 05:23:08 2009 +1000
Remove dependancy on libXau
No symbols from Xau appear to be being used in libXext
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit b2c2cbaca4bf7ae6d735a5d18a7732f3d73d77db
Author: Paul TBBle Hampson <Paul.Hampson@Pobox.com>
Date: Sat Jun 6 05:22:12 2009 +1000
Don't export extra symbols
Turns the following functions static
_xgeFindDisplay
_xgeCheckExtInit
_xgeEventToWire
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit cad77b1d6d1a344f2cb31c16401076c003bb97dd
Author: Imranullah Syed <freakabcd@gmail.com>
Date: Thu Feb 19 18:02:26 2009 +1000
Corrected order of arguments in man page for function: XShmCreateImage
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 8a91fc6f72206362f399b5e29bf3d5f44f4eb822
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Feb 10 07:45:32 2009 +1000
Silence "Generic Event Extension missing on display" warning.
If we're already doing a check anyway, we don't need to print an extra
warning.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit befd39f6766ebd06294216be3fe9592f8cabb423
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Mon Feb 2 20:34:33 2009 -0800
Add README with pointers to mailing list, bugzilla & git repos
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
commit 0fb431359306af0db78b3bc3055bed446be39fef
Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
Date: Fri Jan 30 01:03:51 2009 -0200
Bump back to 1.0.99.1.
The intermediate 1.0.5 was not mean't to be really required,
but was done to not cause problems for people doing builds
from tarballs.
commit f7b69edc21b90a5b343115de55d6f1a98aeda5e2
Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
Date: Thu Jan 29 20:38:22 2009 -0200
Xorg libXext Version 1.0.5.
commit 52cf9c06819d94e178285d75de6434e98358b63d
Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
Date: Thu Jan 29 17:02:46 2009 -0200
patch to avoid gcc warning in libXext
Original patch author is Peter Breitenlohner <peb@mppmu.mpg.de>.
This closes bug #18038.
commit a2e8bc500dfad18ab161b3a7be44cf6fa15f140f
Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
Date: Thu Jan 29 16:33:40 2009 -0200
Janitor: Correct make distcheck and compiler warnings.
commit f467d17ae5a89aa1a2b8c7260334f41e8ee2d08c
Author: Kim Woelders <kim@woelders.dk>
Date: Fri Oct 17 16:53:29 2008 -0400
Bug #17774: Allocate the right size in XSyncListSystemCounters.
commit 49563f5d76637e2ca28fe0b91ce3114271c0955d
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Thu May 29 10:55:49 2008 +0930
Bump to 1.0.99.1
commit 64edd246587adb59ac71031f72955fa5a73ac467
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Thu May 29 10:40:59 2008 +0930
Require xproto 7.0.13, xextproto 7.0.3 and xlib 1.1.99.1.
commit 0721b2d71c40e877944aa22a3c57ed70225f508d
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Mon May 26 23:16:29 2008 +0930
Xge: Replace XExtensionVersion with XGEVersionRec.
XExtensionVersion is defined in XInput.h, leading to a circular dependency.
Thanks to Jens Stroebel for pointing this out.
commit 44d3a4d4016c58f8ac46843d0b2dd4ddb26e2fc9
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Tue May 13 11:23:59 2008 +0930
Xge: replace copyright with standard template from xserver, whitespace fixes.
commit 7e0b3b9029d3d12c9edf961c1d9db4cdbf021f1d
Merge: c4b0ae9... 9884a41...
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Mon May 12 18:04:09 2008 +0930
Merge branch 'master' into xge
commit 9884a41dd0282ca3dd19db5bf3a11554ee7eee57
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Thu Feb 28 19:02:58 2008 -0800
@ -25,6 +288,13 @@ Date: Thu Dec 6 15:51:16 2007 -0500
Add missing PHONY line for automatic ChangeLog generation
commit c4b0ae960d63f461d6e9efd64f70084f06a674b3
Merge: d1c9350... 249daf0...
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Thu Dec 6 14:23:02 2007 +1030
Merge branch 'master' into xge
commit 249daf0d8a044a97d053c957ab45445c159d31e4
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Wed Nov 28 17:29:28 2007 -0800
@ -72,6 +342,38 @@ Date: Tue Nov 27 15:55:28 2007 -0800
Fix typos in source comments
commit d1c93500e2f56b8aefda7133848c21f62572f5d5
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Tue Jun 26 11:46:10 2007 +0930
Don't call _xgeCheckExtInit() from _xgeWireToEvent(). It will cause a SIGABRT
when trying to get the display lock.
commit 40d1cbaaf0fd12883c048288a62b0088286463f4
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Wed Jun 13 16:26:03 2007 +0930
Lock/Unlock in _xgeCheckExtInit(), and not in xgeGetExtensionVersion().
Otherwise we get a SIGABRT for displays that don't have XGE when we try to get
the disply lock.
commit b125890386d5ebbc3811bc67e0a1ad469b0a10ed
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Wed May 30 11:07:25 2007 +0930
Remove useless line in XGE that didn't do anything except segfaulting.
Thanks to Paulo Zanoni for spotting it.
commit 850263ac9f772ab80f3e0680997f00e0c566f7d4
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date: Tue May 15 17:00:07 2007 +0930
Add GenericEvent extension (XGE).
Automatically register any extension at XGE and relay events to
the extension's event handlers.
commit 8d8a6ac4012c2bd5bfd037e42f69f5b2b111433d
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Thu Jan 25 18:28:21 2007 -0800

View File

@ -3,13 +3,13 @@ SUBDIRS = man src
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = xext.pc
EXTRA_DIST=xext.pc.in ChangeLog autogen.sh
EXTRA_DIST=xext.pc.in 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)
$(CHANGELOG_CMD)
dist-hook: ChangeLog

View File

@ -1,5 +1,5 @@
# $OpenBSD: Makefile.bsd-wrapper,v 1.2 2007/03/15 23:00:47 matthieu Exp $
# $OpenBSD: Makefile.bsd-wrapper,v 1.3 2010/05/10 20:06:53 matthieu Exp $
SHARED_LIBS= Xext 10.0
SHARED_LIBS= Xext 11.0
.include <bsd.xorg.mk>

View File

@ -81,7 +81,6 @@ am__remove_distdir = \
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
@ -98,8 +97,10 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
@ -120,6 +121,7 @@ F77 = @F77@
FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@ -169,15 +171,9 @@ XEXT_LIBS = @XEXT_LIBS@
XEXT_SOREV = @XEXT_SOREV@
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
ac_ct_F77 = @ac_ct_F77@
ac_ct_NMEDIT = @ac_ct_NMEDIT@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@ -194,23 +190,31 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
distcleancheck_listfiles = @distcleancheck_listfiles@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
@ -218,7 +222,7 @@ target_alias = @target_alias@
SUBDIRS = man src
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = xext.pc
EXTRA_DIST = xext.pc.in ChangeLog autogen.sh
EXTRA_DIST = xext.pc.in ChangeLog
MAINTAINERCLEANFILES = ChangeLog
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@ -230,15 +234,15 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
cd $(srcdir) && $(AUTOMAKE) --gnu \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
cd $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
$(AUTOMAKE) --foreign Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@ -687,7 +691,7 @@ uninstall-info: uninstall-info-recursive
.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

View File

@ -0,0 +1,29 @@
libXext - library for common extensions to the X11 protocol
No new extensions should be added to this library - it is now instead
preferred to make per-extension libraries that can be evolved as needed
without breaking compatibility of this core library.
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/lib/libXext
http://cgit.freedesktop.org/xorg/lib/libXext
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

185
lib/libXext/aclocal.m4 vendored
View File

@ -7631,6 +7631,7 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
dnl
dnl Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved.
dnl
@ -7667,27 +7668,24 @@ dnl of the copyright holder.
# your configure.ac with the minimum required version, such as:
# XORG_MACROS_VERSION(1.1)
#
# To force at least a version with this macro defined, also add:
# m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])])
# To ensure that this macro is defined, also add:
# m4_ifndef([XORG_MACROS_VERSION],
# [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
#
#
# See the "minimum version" comment for each macro you use to see what
# version you require.
AC_DEFUN([XORG_MACROS_VERSION],[
[XORG_MACROS_needed_version=$1
XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'`
XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
AC_MSG_CHECKING([if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}])
[XORG_MACROS_version=1.1.6
XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'`
XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then
AC_MSG_ERROR([configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x])
fi
if test $XORG_MACROS_minor -lt $XORG_MACROS_needed_minor ; then
AC_MSG_ERROR([configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer])
fi
AC_MSG_RESULT([yes, $XORG_MACROS_version])
m4_defun([XORG_MACROS_VERSION],[
m4_define([vers_have], [1.3.0])
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
m4_if(m4_cmp(maj_have, maj_needed), 0,,
[m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
m4_if(m4_version_compare(vers_have, [$1]), -1,
[m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
m4_undefine([vers_have])
m4_undefine([maj_have])
m4_undefine([maj_needed])
]) # XORG_MACROS_VERSION
# XORG_PROG_RAWCPP()
@ -7712,6 +7710,10 @@ else
if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
RAWCPPFLAGS=-undef
AC_MSG_RESULT([yes])
# under Cygwin unix is still defined even with -undef
elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
RAWCPPFLAGS="-undef -ansi"
AC_MSG_RESULT([yes, with -ansi])
else
AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef. I don't know what to do.])
fi
@ -7824,7 +7826,9 @@ AC_SUBST([ADMIN_MAN_DIR])
# Whether or not the necessary tools and files are found can be checked
# with the AM_CONDITIONAL "BUILD_LINUXDOC"
AC_DEFUN([XORG_CHECK_LINUXDOC],[
if test x$XORG_SGML_PATH = x ; then
XORG_SGML_PATH=$prefix/share/sgml
fi
HAVE_DEFS_ENT=
if test x"$cross_compiling" = x"yes" ; then
@ -7880,7 +7884,9 @@ AC_SUBST(MAKE_HTML)
# indicates whether the necessary tools and files are found and, if set,
# $(MAKE_XXX) blah.sgml will produce blah.xxx.
AC_DEFUN([XORG_CHECK_DOCBOOK],[
if test x$XORG_SGML_PATH = x ; then
XORG_SGML_PATH=$prefix/share/sgml
fi
HAVE_DEFS_ENT=
BUILDTXTDOC=no
BUILDPDFDOC=no
@ -7937,6 +7943,57 @@ AC_SUBST(MAKE_PDF)
AC_SUBST(MAKE_HTML)
]) # XORG_CHECK_DOCBOOK
# XORG_WITH_XMLTO
# ----------------
# Minimum version: 1.5.0
#
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
# the --with-xmlto option, it allows maximum flexibilty in making decisions
# as whether or not to use the xmlto package.
#
# Interface to module:
# HAVE_XMLTO: used in makefiles to conditionally generate documentation
# XMLTO: returns the path of the xmlto program found
# returns the path set by the user in the environment
# --with-xmlto: 'yes' user instructs the module to use xmlto
# 'no' user instructs the module not to use xmlto
#
# If the user sets the value of XMLTO, AC_PATH_PROG skips testing the path.
#
AC_DEFUN([XORG_WITH_XMLTO],[
AC_ARG_VAR([XMLTO], [Path to xmlto command])
AC_ARG_WITH(xmlto,
AS_HELP_STRING([--with-xmlto],
[Use xmlto to regenerate documentation (default: yes, if installed)]),
[use_xmlto=$withval], [use_xmlto=auto])
if test "x$use_xmlto" = x"auto"; then
AC_PATH_PROG([XMLTO], [xmlto])
if test "x$XMLTO" = "x"; then
AC_MSG_WARN([xmlto not found - documentation targets will be skipped])
have_xmlto=no
else
have_xmlto=yes
fi
elif test "x$use_xmlto" = x"yes" ; then
AC_PATH_PROG([XMLTO], [xmlto])
if test "x$XMLTO" = "x"; then
AC_MSG_WARN([--with-xmlto=yes specified but xmlto not found in PATH])
fi
have_xmlto=yes
elif test "x$use_xmlto" = x"no" ; then
if test "x$XMLTO" != "x"; then
AC_MSG_WARN([ignoring XMLTO environment variable since --with-xmlto=no was specified])
fi
have_xmlto=no
else
AC_MSG_ERROR([--with-xmlto expects 'yes' or 'no'])
fi
AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
]) # XORG_CHECK_XMLTO
# XORG_CHECK_MALLOC_ZERO
# ----------------------
# Minimum version: 1.0.0
@ -7946,7 +8003,7 @@ AC_SUBST(MAKE_HTML)
# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
AC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
AC_ARG_ENABLE(malloc0returnsnull,
AC_HELP_STRING([--enable-malloc0returnsnull],
AS_HELP_STRING([--enable-malloc0returnsnull],
[malloc(0) returns NULL (default: auto)]),
[MALLOC_ZERO_RETURNS_NULL=$enableval],
[MALLOC_ZERO_RETURNS_NULL=auto])
@ -7998,7 +8055,7 @@ AC_SUBST([XTMALLOC_ZERO_CFLAGS])
AC_DEFUN([XORG_WITH_LINT],[
# Allow checking code with lint, sparse, etc.
AC_ARG_WITH(lint, [AC_HELP_STRING([--with-lint],
AC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
[Use a lint-style source code checker (default: disabled)])],
[use_lint=$withval], [use_lint=no])
if test "x$use_lint" = "xyes" ; then
@ -8039,7 +8096,7 @@ AM_CONDITIONAL(LINT, [test x$LINT != xno])
AC_DEFUN([XORG_LINT_LIBRARY],[
AC_REQUIRE([XORG_WITH_LINT])
# Build lint "library" for more indepth checks of programs calling this library
AC_ARG_ENABLE(lint-library, [AC_HELP_STRING([--enable-lint-library],
AC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
[Create lint library (default: disabled)])],
[make_lint_lib=$enableval], [make_lint_lib=no])
if test "x$make_lint_lib" != "xno" ; then
@ -8057,6 +8114,75 @@ AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
]) # XORG_LINT_LIBRARY
# XORG_CWARNFLAGS
# ---------------
# Minimum version: 1.2.0
#
# Defines CWARNFLAGS to enable C compiler warnings.
#
AC_DEFUN([XORG_CWARNFLAGS], [
AC_REQUIRE([AC_PROG_CC])
if test "x$GCC" = xyes ; then
CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
-Wbad-function-cast"
case `$CC -dumpversion` in
3.4.* | 4.*)
CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
;;
esac
else
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
if test "x$SUNCC" = "xyes"; then
CWARNFLAGS="-v"
fi
fi
AC_SUBST(CWARNFLAGS)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
]) # XORG_CWARNFLAGS
# XORG_STRICT_OPTION
# -----------------------
# Minimum version: 1.3.0
#
# Add configure option to enable strict compilation
AC_DEFUN([XORG_STRICT_OPTION], [
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_PROG_CC_C99])
AC_REQUIRE([XORG_CWARNFLAGS])
AC_ARG_ENABLE(strict-compilation,
AS_HELP_STRING([--enable-strict-compilation],
[Enable all warnings from compiler and make them errors (default: disabled)]),
[STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
if test "x$STRICT_COMPILE" = "xyes"; then
AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
if test "x$GCC" = xyes ; then
STRICT_CFLAGS="-pedantic -Werror"
elif test "x$SUNCC" = "xyes"; then
STRICT_CFLAGS="-errwarn"
elif test "x$INTELCC" = "xyes"; then
STRICT_CFLAGS="-Werror"
fi
fi
CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
AC_SUBST([CWARNFLAGS])
]) # XORG_STRICT_OPTION
# XORG_DEFAULT_OPTIONS
# --------------------
# Minimum version: 1.3.0
#
# Defines default options for X.Org modules.
#
AC_DEFUN([XORG_DEFAULT_OPTIONS], [
XORG_CWARNFLAGS
XORG_STRICT_OPTION
XORG_RELEASE_VERSION
XORG_CHANGELOG
XORG_MANPAGE_SECTIONS
]) # XORG_DEFAULT_OPTIONS
dnl Copyright 2005 Red Hat, Inc
dnl
dnl Permission to use, copy, modify, distribute, and sell this software and its
@ -8091,7 +8217,7 @@ dnl
AC_DEFUN([XORG_RELEASE_VERSION],[
AC_ARG_WITH(release-version,
AC_HELP_STRING([--with-release-version=STRING],
AS_HELP_STRING([--with-release-version=STRING],
[Use release version string in package name]),
[RELEASE_VERSION="$withval"],
[RELEASE_VERSION=""])
@ -8119,3 +8245,20 @@ AC_DEFUN([XORG_RELEASE_VERSION],[
[Patch version of this package])
])
# XORG_CHANGELOG()
# ----------------
# Minimum version: 1.2.0
#
# Defines the variable CHANGELOG_CMD as the command to generate
# ChangeLog from git.
#
# Arrange that distcleancheck ignores ChangeLog left over by distclean.
#
AC_DEFUN([XORG_CHANGELOG], [
CHANGELOG_CMD="(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)"
AC_SUBST([CHANGELOG_CMD])
AC_SUBST([distcleancheck_listfiles], ['find . -type f ! -name ChangeLog -print'])
]) # XORG_CHANGELOG

View File

@ -1,12 +0,0 @@
#! /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 "$@"

10186
lib/libXext/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -3,21 +3,20 @@
AC_PREREQ(2.57)
AC_INIT([libXext],
1.0.4,
1.1.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
libXext)
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([dist-bzip2])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
# Require xorg-macros: XORG_DEFAULT_OPTIONS, XORG_WITH_LINT
m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])])
XORG_MACROS_VERSION(1.3)
AM_CONFIG_HEADER([config.h])
# Require xorg-macros version 1.1.0 or newer for XORG_WITH_LINT macro
m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])])
XORG_MACROS_VERSION(1.1)
# Determine .so library version per platform
# based on SharedXextRev in monolith xc/config/cf/*Lib.tmpl
AC_CANONICAL_HOST
@ -33,9 +32,11 @@ AC_SUBST(XEXT_SOREV)
# Checks for programs.
AC_PROG_LIBTOOL
AC_PROG_CC
XORG_DEFAULT_OPTIONS
# Checks for pkg-config packages
PKG_CHECK_MODULES(XEXT, xproto x11 xextproto xau)
PKG_CHECK_MODULES(XEXT, [xproto >= 7.0.13] [x11 >= 1.1.99.1] [xextproto >= 7.0.99.2])
XEXT_CFLAGS="$CWARNFLAGS $XEXT_CFLAGS"
AC_SUBST(XEXT_CFLAGS)
AC_SUBST(XEXT_LIBS)
@ -45,11 +46,9 @@ AC_SUBST(XEXT_LIBS)
AC_HEADER_STDC
XORG_CHECK_MALLOC_ZERO
XORG_RELEASE_VERSION
# Man page processing requirements
XORG_PROG_RAWCPP
XORG_MANPAGE_SECTIONS
dnl Allow checking code with lint, sparse, etc.
XORG_WITH_LINT

View File

@ -0,0 +1,56 @@
/************************************************************
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
********************************************************/
/* RANDOM CRUFT! THIS HAS NO OFFICIAL X CONSORTIUM OR X PROJECT TEAM BLESSING */
/* $Xorg: MITMisc.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $ */
#ifndef _XMITMISC_H_
#define _XMITMISC_H_
#include <X11/Xfuncproto.h>
#include <X11/extensions/mitmiscconst.h>
_XFUNCPROTOBEGIN
Bool XMITMiscQueryExtension(
Display* /* dpy */,
int* /* event_basep */,
int* /* error_basep */
);
Status XMITMiscSetBugMode(
Display* /* dpy */,
Bool /* onOff */
);
Bool XMITMiscGetBugMode(
Display* /* dpy */
);
_XFUNCPROTOEND
#endif

View File

@ -0,0 +1,63 @@
/* $Xorg: XEVI.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */
/************************************************************
Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc.
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of Silicon Graphics not be
used in advertising or publicity pertaining to distribution
of the software without specific prior written permission.
Silicon Graphics makes no representation about the suitability
of this software for any purpose. It is provided "as is"
without any express or implied warranty.
SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
********************************************************/
/* $XFree86$ */
#ifndef _XEVI_H_
#define _XEVI_H_
#include <X11/Xfuncproto.h>
#include <X11/extensions/EVI.h>
typedef struct {
VisualID core_visual_id;
int screen;
int level;
unsigned int transparency_type;
unsigned int transparency_value;
unsigned int min_hw_colormaps;
unsigned int max_hw_colormaps;
unsigned int num_colormap_conflicts;
VisualID* colormap_conflicts;
} ExtendedVisualInfo;
_XFUNCPROTOBEGIN
Bool XeviQueryExtension(
Display* /* dpy */
);
Status XeviQueryVersion(
Display* /* dpy */,
int* /* majorVersion */,
int* /* minorVersion */
);
Status XeviGetVisualInfo(
Display* /* dpy */,
VisualID* /* visual_query */,
int /* nVisual_query */,
ExtendedVisualInfo** /* extendedVisualInfo_return */,
int* /* nInfo_return */
);
_XFUNCPROTOEND
#endif

View File

@ -0,0 +1,52 @@
/* $Xorg: XLbx.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
/*
* Copyright 1992 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 NCD. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. NCD. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
* NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
*/
/* $XFree86: xc/include/extensions/XLbx.h,v 1.3 2002/10/16 01:59:55 dawes Exp $ */
#ifndef _XLBX_H_
#define _XLBX_H_
#include <X11/Xfuncproto.h>
#include <X11/Xdefs.h>
#include <X11/Xlib.h>
#include <X11/extensions/lbx.h>
_XFUNCPROTOBEGIN
Bool XLbxQueryExtension(
Display* /* dpy */,
int* /* requestp */,
int* /* event_basep */,
int* /* error_basep */
);
Bool XLbxQueryVersion(
Display* /* dpy */,
int* /* majorVersion */,
int* /* minorVersion */
);
int XLbxGetEventBase(Display *dpy);
_XFUNCPROTOEND
#endif

View File

@ -0,0 +1,136 @@
/* $XFree86: xc/include/extensions/XShm.h,v 1.11 2003/04/03 15:11:07 dawes Exp $ */
/************************************************************
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
********************************************************/
/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
/* $Xorg: XShm.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
#ifndef _XSHM_H_
#define _XSHM_H_
#include <X11/Xfuncproto.h>
#include <X11/extensions/shm.h>
typedef unsigned long ShmSeg;
typedef struct {
int type; /* of event */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came frome a SendEvent request */
Display *display; /* Display the event was read from */
Drawable drawable; /* drawable of request */
int major_code; /* ShmReqCode */
int minor_code; /* X_ShmPutImage */
ShmSeg shmseg; /* the ShmSeg used in the request */
unsigned long offset; /* the offset into ShmSeg used in the request */
} XShmCompletionEvent;
typedef struct {
ShmSeg shmseg; /* resource id */
int shmid; /* kernel id */
char *shmaddr; /* address in client */
Bool readOnly; /* how the server should attach it */
} XShmSegmentInfo;
_XFUNCPROTOBEGIN
Bool XShmQueryExtension(
Display* /* dpy */
);
int XShmGetEventBase(
Display* /* dpy */
);
Bool XShmQueryVersion(
Display* /* dpy */,
int* /* majorVersion */,
int* /* minorVersion */,
Bool* /* sharedPixmaps */
);
int XShmPixmapFormat(
Display* /* dpy */
);
Status XShmAttach(
Display* /* dpy */,
XShmSegmentInfo* /* shminfo */
);
Status XShmDetach(
Display* /* dpy */,
XShmSegmentInfo* /* shminfo */
);
Status XShmPutImage(
Display* /* dpy */,
Drawable /* d */,
GC /* gc */,
XImage* /* image */,
int /* src_x */,
int /* src_y */,
int /* dst_x */,
int /* dst_y */,
unsigned int /* src_width */,
unsigned int /* src_height */,
Bool /* send_event */
);
Status XShmGetImage(
Display* /* dpy */,
Drawable /* d */,
XImage* /* image */,
int /* x */,
int /* y */,
unsigned long /* plane_mask */
);
XImage *XShmCreateImage(
Display* /* dpy */,
Visual* /* visual */,
unsigned int /* depth */,
int /* format */,
char* /* data */,
XShmSegmentInfo* /* shminfo */,
unsigned int /* width */,
unsigned int /* height */
);
Pixmap XShmCreatePixmap(
Display* /* dpy */,
Drawable /* d */,
char* /* data */,
XShmSegmentInfo* /* shminfo */,
unsigned int /* width */,
unsigned int /* height */,
unsigned int /* depth */
);
_XFUNCPROTOEND
#endif

View File

@ -0,0 +1,92 @@
/* $XFree86: xc/include/extensions/Xag.h,v 1.5 2001/12/17 20:52:24 dawes Exp $ */
/*
Copyright 1996, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.
*/
/* $Xorg: Xag.h,v 1.5 2001/02/09 02:03:24 xorgcvs Exp $ */
#ifndef _XAG_H_
#define _XAG_H_
#include <X11/extensions/ag.h>
#include <X11/Xfuncproto.h>
#include <stdarg.h>
_XFUNCPROTOBEGIN
typedef XID XAppGroup;
Bool XagQueryVersion(
Display* /* dpy */,
int* /* major_version */,
int* /* minor_version */
);
Status XagCreateEmbeddedApplicationGroup(
Display* /* dpy */,
VisualID /* root_visual */,
Colormap /* default_colormap */,
unsigned long /* black_pixel */,
unsigned long /* white_pixel */,
XAppGroup* /* app_group_return */
);
Status XagCreateNonembeddedApplicationGroup(
Display* /* dpy */,
XAppGroup* /* app_group_return */
);
Status XagDestroyApplicationGroup(
Display* /* dpy */,
XAppGroup /* app_group */
);
Status XagGetApplicationGroupAttributes(
Display* /* dpy */,
XAppGroup /* app_group */,
...
);
Status XagQueryApplicationGroup(
Display* /* dpy */,
XID /* resource_base */,
XAppGroup* /* app_group_ret */
);
Status XagCreateAssociation(
Display* /* dpy */,
Window* /* window_ret */,
void* /* system_window */
);
Status XagDestroyAssociation(
Display* /* dpy */,
Window /* window */
);
_XFUNCPROTOEND
#endif /* _XAG_H_ */

View File

@ -0,0 +1,60 @@
/* $Xorg: Xcup.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
/*
Copyright 1987, 1988, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
/* $XFree86$ */
#ifndef _XCUP_H_
#define _XCUP_H_
#include <X11/Xfuncproto.h>
#include <X11/extensions/cup.h>
_XFUNCPROTOBEGIN
Bool XcupQueryVersion(
Display* /* dpy */,
int* /* major_version */,
int* /* minor_version */
);
Status XcupGetReservedColormapEntries(
Display* /* dpy */,
int /* screen */,
XColor** /* colors_out */,
int* /* ncolors */
);
Status XcupStoreColors(
Display* /* dpy */,
Colormap /* colormap */,
XColor* /* colors */,
int /* ncolors */
);
_XFUNCPROTOEND
#endif /* _XCUP_H_ */

View File

@ -0,0 +1,140 @@
/* $Xorg: Xdbe.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
/******************************************************************************
*
* Copyright (c) 1994, 1995 Hewlett-Packard Company
*
* 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 HEWLETT-PACKARD COMPANY 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 Hewlett-Packard
* Company 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 Hewlett-Packard Company.
*
* Header file for Xlib-related DBE
*
*****************************************************************************/
/* $XFree86: xc/include/extensions/Xdbe.h,v 3.2 2001/08/01 00:44:35 tsi Exp $ */
#ifndef XDBE_H
#define XDBE_H
#include <X11/Xfuncproto.h>
#include <X11/extensions/dbe.h>
typedef struct
{
VisualID visual; /* one visual ID that supports double-buffering */
int depth; /* depth of visual in bits */
int perflevel; /* performance level of visual */
}
XdbeVisualInfo;
typedef struct
{
int count; /* number of items in visual_depth */
XdbeVisualInfo *visinfo; /* list of visuals & depths for scrn */
}
XdbeScreenVisualInfo;
typedef Drawable XdbeBackBuffer;
typedef unsigned char XdbeSwapAction;
typedef struct
{
Window swap_window; /* window for which to swap buffers */
XdbeSwapAction swap_action; /* swap action to use for swap_window */
}
XdbeSwapInfo;
typedef struct
{
Window window; /* window that buffer belongs to */
}
XdbeBackBufferAttributes;
typedef struct
{
int type;
Display *display; /* display the event was read from */
XdbeBackBuffer buffer; /* resource id */
unsigned long serial; /* serial number of failed request */
unsigned char error_code; /* error base + XdbeBadBuffer */
unsigned char request_code; /* major opcode of failed request */
unsigned char minor_code; /* minor opcode of failed request */
}
XdbeBufferError;
/* _XFUNCPROTOBEGIN and _XFUNCPROTOEND are defined as noops
* (for non-C++ builds) in X11/Xfuncproto.h.
*/
_XFUNCPROTOBEGIN
extern Status XdbeQueryExtension(
Display* /* dpy */,
int* /* major_version_return */,
int* /* minor_version_return */
);
extern XdbeBackBuffer XdbeAllocateBackBufferName(
Display* /* dpy */,
Window /* window */,
XdbeSwapAction /* swap_action */
);
extern Status XdbeDeallocateBackBufferName(
Display* /* dpy */,
XdbeBackBuffer /* buffer */
);
extern Status XdbeSwapBuffers(
Display* /* dpy */,
XdbeSwapInfo* /* swap_info */,
int /* num_windows */
);
extern Status XdbeBeginIdiom(
Display* /* dpy */
);
extern Status XdbeEndIdiom(
Display* /* dpy */
);
extern XdbeScreenVisualInfo *XdbeGetVisualInfo(
Display* /* dpy */,
Drawable* /* screen_specifiers */,
int* /* num_screens */
);
extern void XdbeFreeVisualInfo(
XdbeScreenVisualInfo* /* visual_info */
);
extern XdbeBackBufferAttributes *XdbeGetBackBufferAttributes(
Display* /* dpy */,
XdbeBackBuffer /* buffer */
);
_XFUNCPROTOEND
#endif /* XDBE_H */

View File

@ -0,0 +1,55 @@
/*
* $Xorg: Xext.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $
*
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
/* $XFree86: xc/include/extensions/Xext.h,v 1.4 2001/12/14 19:53:28 dawes Exp $ */
#ifndef _XEXT_H_
#define _XEXT_H_
#include <X11/Xfuncproto.h>
_XFUNCPROTOBEGIN
typedef int (*XextErrorHandler) (
Display * /* dpy */,
_Xconst char* /* ext_name */,
_Xconst char* /* reason */
);
extern XextErrorHandler XSetExtensionErrorHandler(
XextErrorHandler /* handler */
);
extern int XMissingExtension(
Display* /* dpy */,
_Xconst char* /* ext_name */
);
_XFUNCPROTOEND
#define X_EXTENSION_UNKNOWN "unknown"
#define X_EXTENSION_MISSING "missing"
#endif /* _XEXT_H_ */

View File

@ -0,0 +1,57 @@
/*
* Copyright © 2007-2008 Peter Hutterer
*
* 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.
*
* Authors: Peter Hutterer, University of South Australia, NICTA
*
*/
/* XGE Client interfaces */
#ifndef _XGE_H_
#define _XGE_H_
#include <X11/Xlib.h>
#include <X11/Xfuncproto.h>
_XFUNCPROTOBEGIN
/**
* Generic Event mask.
* To be used whenever a list of masks per extension has to be provided.
*
* But, don't actually use the CARD{8,16,32} types. We can't get them them
* defined here without polluting the namespace.
*/
typedef struct {
unsigned char extension;
unsigned char pad0;
unsigned short pad1;
unsigned int evmask;
} XGenericEventMask;
Bool XGEQueryExtension(Display* dpy, int *event_basep, int *err_basep);
Bool XGEQueryVersion(Display* dpy, int *major, int* minor);
_XFUNCPROTOEND
#endif /* _XGE_H_ */

View File

@ -0,0 +1,53 @@
/* $Xorg: dpms.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
/*****************************************************************
Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of Digital Equipment Corporation
shall not be used in advertising or otherwise to promote the sale, use or other
dealings in this Software without prior written authorization from Digital
Equipment Corporation.
******************************************************************/
/* $XFree86: xc/include/extensions/dpms.h,v 3.4 2000/03/15 16:51:51 tsi Exp $ */
#ifndef _X11_EXTENSIONS_DPMS_H
#define _X11_EXTENSIONS_DPMS_H 1
#include <X11/X.h>
#include <X11/Xmd.h>
#include <X11/extensions/dpmsconst.h>
_XFUNCPROTOBEGIN
extern Bool DPMSQueryExtension(Display *, int *, int *);
extern Status DPMSGetVersion(Display *, int *, int *);
extern Bool DPMSCapable(Display *);
extern Status DPMSSetTimeouts(Display *, CARD16, CARD16, CARD16);
extern Bool DPMSGetTimeouts(Display *, CARD16 *, CARD16 *, CARD16 *);
extern Status DPMSEnable(Display *);
extern Status DPMSDisable(Display *);
extern Status DPMSForceLevel(Display *, CARD16);
extern Status DPMSInfo(Display *, CARD16 *, BOOL *);
_XFUNCPROTOEND
#endif /* !_X11_EXTENSIONS_DPMS_H */

View File

@ -0,0 +1,192 @@
/*
* $Xorg: extutil.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $
*
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*
* Author: Jim Fulton, MIT The Open Group
*
* Xlib Extension-Writing Utilities
*
* This package contains utilities for writing the client API for various
* protocol extensions. THESE INTERFACES ARE NOT PART OF THE X STANDARD AND
* ARE SUBJECT TO CHANGE!
*/
/* $XFree86: xc/include/extensions/extutil.h,v 1.9 2001/12/14 19:53:28 dawes Exp $ */
#ifndef _EXTUTIL_H_
#define _EXTUTIL_H_
#include <X11/extensions/Xext.h>
/*
* We need to keep a list of open displays since the Xlib display list isn't
* public. We also have to per-display info in a separate block since it isn't
* stored directly in the Display structure.
*/
typedef struct _XExtDisplayInfo {
struct _XExtDisplayInfo *next; /* keep a linked list */
Display *display; /* which display this is */
XExtCodes *codes; /* the extension protocol codes */
XPointer data; /* extra data for extension to use */
} XExtDisplayInfo;
typedef struct _XExtensionInfo {
XExtDisplayInfo *head; /* start of list */
XExtDisplayInfo *cur; /* most recently used */
int ndisplays; /* number of displays */
} XExtensionInfo;
typedef struct _XExtensionHooks {
int (*create_gc)(
Display* /* display */,
GC /* gc */,
XExtCodes* /* codes */
);
int (*copy_gc)(
Display* /* display */,
GC /* gc */,
XExtCodes* /* codes */
);
int (*flush_gc)(
Display* /* display */,
GC /* gc */,
XExtCodes* /* codes */
);
int (*free_gc)(
Display* /* display */,
GC /* gc */,
XExtCodes* /* codes */
);
int (*create_font)(
Display* /* display */,
XFontStruct* /* fs */,
XExtCodes* /* codes */
);
int (*free_font)(
Display* /* display */,
XFontStruct* /* fs */,
XExtCodes* /* codes */
);
int (*close_display)(
Display* /* display */,
XExtCodes* /* codes */
);
Bool (*wire_to_event)(
Display* /* display */,
XEvent* /* re */,
xEvent* /* event */
);
Status (*event_to_wire)(
Display* /* display */,
XEvent* /* re */,
xEvent* /* event */
);
int (*error)(
Display* /* display */,
xError* /* err */,
XExtCodes* /* codes */,
int* /* ret_code */
);
char *(*error_string)(
Display* /* display */,
int /* code */,
XExtCodes* /* codes */,
char* /* buffer */,
int /* nbytes */
);
} XExtensionHooks;
extern XExtensionInfo *XextCreateExtension(
void
);
extern void XextDestroyExtension(
XExtensionInfo* /* info */
);
extern XExtDisplayInfo *XextAddDisplay(
XExtensionInfo* /* extinfo */,
Display* /* dpy */,
char* /* ext_name */,
XExtensionHooks* /* hooks */,
int /* nevents */,
XPointer /* data */
);
extern int XextRemoveDisplay(
XExtensionInfo* /* extinfo */,
Display* /* dpy */
);
extern XExtDisplayInfo *XextFindDisplay(
XExtensionInfo* /* extinfo */,
Display* /* dpy */
);
#define XextHasExtension(i) ((i) && ((i)->codes))
#define XextCheckExtension(dpy,i,name,val) \
if (!XextHasExtension(i)) { XMissingExtension (dpy, name); return val; }
#define XextSimpleCheckExtension(dpy,i,name) \
if (!XextHasExtension(i)) { XMissingExtension (dpy, name); return; }
/*
* helper macros to generate code that is common to all extensions; caller
* should prefix it with static if extension source is in one file; this
* could be a utility function, but have to stack 6 unused arguments for
* something that is called many, many times would be bad.
*/
#define XEXT_GENERATE_FIND_DISPLAY(proc,extinfo,extname,hooks,nev,data) \
XExtDisplayInfo *proc (Display *dpy) \
{ \
XExtDisplayInfo *dpyinfo; \
if (!extinfo) { if (!(extinfo = XextCreateExtension())) return NULL; } \
if (!(dpyinfo = XextFindDisplay (extinfo, dpy))) \
dpyinfo = XextAddDisplay (extinfo,dpy,extname,hooks,nev,data); \
return dpyinfo; \
}
#define XEXT_FIND_DISPLAY_PROTO(proc) \
XExtDisplayInfo *proc(Display *dpy)
#define XEXT_GENERATE_CLOSE_DISPLAY(proc,extinfo) \
int proc (Display *dpy, XExtCodes *codes) \
{ \
return XextRemoveDisplay (extinfo, dpy); \
}
#define XEXT_CLOSE_DISPLAY_PROTO(proc) \
int proc(Display *dpy, XExtCodes *codes)
#define XEXT_GENERATE_ERROR_STRING(proc,extname,nerr,errl) \
char *proc (Display *dpy, int code, XExtCodes *codes, char *buf, int n) \
{ \
code -= codes->first_error; \
if (code >= 0 && code < nerr) { \
char tmp[256]; \
sprintf (tmp, "%s.%d", extname, code); \
XGetErrorDatabaseText (dpy, "XProtoError", tmp, errl[code], buf, n); \
return buf; \
} \
return (char *)0; \
}
#define XEXT_ERROR_STRING_PROTO(proc) \
char *proc(Display *dpy, int code, XExtCodes *codes, char *buf, int n)
#endif

View File

@ -0,0 +1,51 @@
/* $Xorg: lbxbuf.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
/*
* Copyright 1988, 1989, 1990, 1994 Network Computing Devices, Inc.
*
* 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 Network Computing Devices, Inc. not be
* used in advertising or publicity pertaining to distribution of this
* software without specific, written prior permission.
*
* THIS SOFTWARE IS PROVIDED `AS-IS'. NETWORK COMPUTING DEVICES, INC.,
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT
* LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT SHALL NETWORK
* COMPUTING DEVICES, INC., BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING
* SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF USE,
* DATA, OR PROFITS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND
* REGARDLESS OF WHETHER IN AN ACTION IN CONTRACT, TORT OR NEGLIGENCE,
* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
* SOFTWARE.
*
*/
#ifndef _BUFFER_H_
#define _BUFFER_H_
#define INBUFFER_SIZE (1 << 13) /* 8K */
#define OUTBUFFER_SIZE (1 << 12) /* 4K */
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
typedef struct _zlibbuffer *ZlibBufferPtr;
#include <X11/Xfuncproto.h>
_XFUNCPROTOBEGIN
extern int InitZlibBuffer(ZlibBufferPtr b, int size);
extern void FreeZlibBuffer(ZlibBufferPtr b);
extern char *ReserveOutBuf(ZlibBufferPtr outbuf, int outlen);
_XFUNCPROTOEND
#endif /* _BUFFER_H_ */

View File

@ -0,0 +1,45 @@
/* $Xorg: lbxbufstr.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
/*
* Copyright 1988, 1989, 1990, 1994 Network Computing Devices, Inc.
*
* 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 Network Computing Devices, Inc. not be
* used in advertising or publicity pertaining to distribution of this
* software without specific, written prior permission.
*
* THIS SOFTWARE IS PROVIDED `AS-IS'. NETWORK COMPUTING DEVICES, INC.,
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT
* LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT SHALL NETWORK
* COMPUTING DEVICES, INC., BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING
* SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF USE,
* DATA, OR PROFITS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND
* REGARDLESS OF WHETHER IN AN ACTION IN CONTRACT, TORT OR NEGLIGENCE,
* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
* SOFTWARE.
*
*/
/* $XFree86$ */
#ifndef _BUFFERSTR_H_
#define _BUFFERSTR_H_
#include <X11/extensions/lbxbuf.h>
/*
* ZLIB Input/Output buffer
*/
typedef struct _zlibbuffer {
char *bufbase;
char *bufend;
char *bufptr;
int bufcnt;
} ZlibBuffer;
#define BYTES_AVAIL(inbuf, len) \
(((inbuf)->bufcnt >= (len)) ? (inbuf)->bufptr : NULL)
#endif /* _BUFFERSTR_H_ */

View File

@ -0,0 +1,151 @@
/* $Xorg: lbximage.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
/******************************************************************************
Copyright 1994, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
******************************************************************************/
/* $XFree86: xc/include/extensions/lbximage.h,v 1.4 2001/12/20 19:28:54 tsi Exp $ */
#ifndef _LBX_IMAGE_H_
#define _LBX_IMAGE_H_
#include <X11/Xfuncproto.h>
_XFUNCPROTOBEGIN
typedef struct _LbxBitmapCompMethod {
char *methodName;
int inited;
int methodOpCode; /* to be filled on reply from server */
int (*compInit)(
void
);
int (*compFunc)(
unsigned char * /* inbuf */,
unsigned char * /* outbuf */,
int /* outbufSize */,
int /* image_bytes */,
int /* pixels_per_line */,
int /* padded_bytes_per_scanline */,
int /* reverse_bits */,
int * /* bytesCompressed */
);
int (*decompFunc)(
unsigned char * /* inbuf */,
unsigned char * /* outbuf */,
int /* image_bytes */,
int /* pixels_per_line */,
int /* padded_bytes_per_scanline */,
int /* reverse_bits */
);
} LbxBitmapCompMethod;
#define LBX_MAX_DEPTHS 5
typedef struct _LbxPixmapCompMethod {
char *methodName;
unsigned formatMask;
int depthCount;
int depths[LBX_MAX_DEPTHS];
int inited;
int methodOpCode; /* to be filled on reply from server */
int (*compInit)(
void
);
int (*compFunc)(
char * /* inbuf */,
char * /* outbuf */,
int /* outbufSize */,
int /* format */,
int /* depth */,
int /* num_scan_lines */,
int /* scan_line_size */,
int * /* bytesCompressed */
);
int (*decompFunc)(
char * /* inbuf */,
char * /* outbuf */,
int /* num_scan_lines */,
int /* scan_line_size */
);
} LbxPixmapCompMethod;
extern int LbxImageEncodePackBits (
char * /* inbuf */,
char * /* outbuf */,
int /* outbufSize */,
int /* format */,
int /* depth */,
int /* num_scan_lines */,
int /* scan_line_size */,
int * /* bytesCompressed */
);
extern int LbxImageEncodeFaxG42D (
unsigned char * /* inbuf */,
unsigned char * /* outbuf */,
int /* outbufSize */,
int /* image_bytes */,
int /* pixels_per_line */,
int /* padded_bytes_per_scanline */,
int /* reverse_bits */,
int * /* bytesCompressed */
);
extern int LbxImageDecodePackBits (
char * /* inbuf */,
char * /* outbuf */,
int /* num_scan_lines */,
int /* scan_line_size */
);
extern int LbxImageDecodeFaxG42D (
unsigned char * /* inbuf */,
unsigned char * /* outbuf */,
int /* image_bytes */,
int /* pixels_per_line */,
int /* padded_bytes_per_scanline */,
int /* reverse_bits */
);
_XFUNCPROTOEND
#define LBX_IMAGE_COMPRESS_SUCCESS 0
#define LBX_IMAGE_COMPRESS_NO_SUPPORT 1
#define LBX_IMAGE_COMPRESS_BAD_MALLOC 2
#define LBX_IMAGE_COMPRESS_NOT_WORTH_IT 3
#endif /* _LBX_IMAGE_H_ */

View File

@ -0,0 +1,216 @@
/*
* $Xorg: multibuf.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $
*
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
/* $XFree86: xc/include/extensions/multibuf.h,v 3.4 2001/12/14 19:53:28 dawes Exp $ */
#ifndef _MULTIBUF_H_
#define _MULTIBUF_H_
#include <X11/Xfuncproto.h>
#include <X11/extensions/multibufconst.h>
#if !defined(UNIXCPP) || defined(ANSICPP)
#define MbufGetReq(name,req,info) GetReq (name, req); \
req->reqType = info->codes->major_opcode; \
req->mbufReqType = X_##name;
#else
#define MbufGetReq(name,req,info) GetReq (name, req); \
req->reqType = info->codes->major_opcode; \
req->mbufReqType = X_/**/name;
#endif
/*
* Extra definitions that will only be needed in the client
*/
typedef XID Multibuffer;
typedef struct {
int type; /* of event */
unsigned long serial; /* # of last request processed by server */
int send_event; /* true if this came frome a SendEvent request */
Display *display; /* Display the event was read from */
Multibuffer buffer; /* buffer of event */
int state; /* see Clobbered constants above */
} XmbufClobberNotifyEvent;
typedef struct {
int type; /* of event */
unsigned long serial; /* # of last request processed by server */
int send_event; /* true if this came frome a SendEvent request */
Display *display; /* Display the event was read from */
Multibuffer buffer; /* buffer of event */
} XmbufUpdateNotifyEvent;
/*
* per-window attributes that can be got
*/
typedef struct {
int displayed_index; /* which buffer is being displayed */
int update_action; /* Undefined, Background, Untouched, Copied */
int update_hint; /* Frequent, Intermittent, Static */
int window_mode; /* Mono, Stereo */
int nbuffers; /* Number of buffers */
Multibuffer *buffers; /* Buffers */
} XmbufWindowAttributes;
/*
* per-window attributes that can be set
*/
typedef struct {
int update_hint; /* Frequent, Intermittent, Static */
} XmbufSetWindowAttributes;
/*
* per-buffer attributes that can be got
*/
typedef struct {
Window window; /* which window this belongs to */
unsigned long event_mask; /* events that have been selected */
int buffer_index; /* which buffer is this */
int side; /* Mono, Left, Right */
} XmbufBufferAttributes;
/*
* per-buffer attributes that can be set
*/
typedef struct {
unsigned long event_mask; /* events that have been selected */
} XmbufSetBufferAttributes;
/*
* per-screen buffer info (there will be lists of them)
*/
typedef struct {
VisualID visualid; /* visual usuable at this depth */
int max_buffers; /* most buffers for this visual */
int depth; /* depth of buffers to be created */
} XmbufBufferInfo;
_XFUNCPROTOBEGIN
extern Bool XmbufQueryExtension(
Display* /* dpy */,
int* /* event_base_return */,
int* /* error_base_return */
);
extern Status XmbufGetVersion(
Display* /* dpy */,
int* /* major_version_return */,
int* /* minor_version_return */
);
extern int XmbufCreateBuffers(
Display* /* dpy */,
Window /* w */,
int /* count */,
int /* update_action */,
int /* update_hint */,
Multibuffer* /* buffers */
);
extern void XmbufDestroyBuffers(
Display* /* dpy */,
Window /* window */
);
extern void XmbufDisplayBuffers(
Display* /* dpy */,
int /* count */,
Multibuffer* /* buffers */,
int /* min_delay */,
int /* max_delay */
);
extern Status XmbufGetWindowAttributes(
Display* /* dpy */,
Window /* w */,
XmbufWindowAttributes* /* attr */
);
extern void XmbufChangeWindowAttributes(
Display* /* dpy */,
Window /* w */,
unsigned long /* valuemask */,
XmbufSetWindowAttributes* /* attr */
);
extern Status XmbufGetBufferAttributes(
Display* /* dpy */,
Multibuffer /* b */,
XmbufBufferAttributes* /* attr */
);
extern void XmbufChangeBufferAttributes(
Display* /* dpy */,
Multibuffer /* b */,
unsigned long /* valuemask */,
XmbufSetBufferAttributes* /* attr */
);
extern Status XmbufGetScreenInfo(
Display* /* dpy */,
Drawable /* d */,
int* /* nmono_return */,
XmbufBufferInfo** /* mono_info_return */,
int* /* nstereo_return */,
XmbufBufferInfo** /* stereo_info_return */
);
extern Window XmbufCreateStereoWindow(
Display* /* dpy */,
Window /* parent */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */,
unsigned int /* border_width */,
int /* depth */,
unsigned int /* class */,
Visual* /* visual */,
unsigned long /* valuemask */,
XSetWindowAttributes* /* attr */,
Multibuffer* /* leftp */,
Multibuffer* /* rightp */
);
extern void XmbufClearBufferArea(
Display* /* dpy */,
Multibuffer /* buffer */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */,
Bool /* exposures */
);
_XFUNCPROTOEND
#endif /* _MULTIBUF_H_ */

View File

@ -0,0 +1,79 @@
/* $Xorg: security.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
/*
Copyright 1996, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.
*/
/* $XFree86: xc/include/extensions/security.h,v 1.3 2001/12/14 19:53:29 dawes Exp $ */
#ifndef _SECURITY_H
#define _SECURITY_H
#define _XAUTH_STRUCT_ONLY
#include <X11/Xauth.h>
#include <X11/extensions/secur.h>
_XFUNCPROTOBEGIN
Status XSecurityQueryExtension (
Display *dpy,
int *major_version_return,
int *minor_version_return);
Xauth *XSecurityAllocXauth(void);
void XSecurityFreeXauth(Xauth *auth);
/* type for returned auth ids */
typedef unsigned long XSecurityAuthorization;
typedef struct {
unsigned int timeout;
unsigned int trust_level;
XID group;
long event_mask;
} XSecurityAuthorizationAttributes;
Xauth *XSecurityGenerateAuthorization(
Display *dpy,
Xauth *auth_in,
unsigned long valuemask,
XSecurityAuthorizationAttributes *attributes,
XSecurityAuthorization *auth_id_return);
Status XSecurityRevokeAuthorization(
Display *dpy,
XSecurityAuthorization auth_id);
_XFUNCPROTOEND
typedef struct {
int type; /* event base + XSecurityAuthorizationRevoked */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
XSecurityAuthorization auth_id; /* revoked authorization id */
} XSecurityAuthorizationRevokedEvent;
#endif /* _SECURITY_H */

View File

@ -0,0 +1,155 @@
/* $XFree86: xc/include/extensions/shape.h,v 1.3 2001/12/14 19:53:29 dawes Exp $ */
/************************************************************
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
********************************************************/
/* $Xorg: shape.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
#ifndef _SHAPE_H_
#define _SHAPE_H_
#include <X11/Xfuncproto.h>
#include <X11/extensions/shapeconst.h>
#ifndef _SHAPE_SERVER_
#include <X11/Xutil.h>
typedef struct {
int type; /* of event */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came frome a SendEvent request */
Display *display; /* Display the event was read from */
Window window; /* window of event */
int kind; /* ShapeBounding or ShapeClip */
int x, y; /* extents of new region */
unsigned width, height;
Time time; /* server timestamp when region changed */
Bool shaped; /* true if the region exists */
} XShapeEvent;
_XFUNCPROTOBEGIN
extern Bool XShapeQueryExtension (
Display* /* display */,
int* /* event_base */,
int* /* error_base */
);
extern Status XShapeQueryVersion (
Display* /* display */,
int* /* major_version */,
int* /* minor_version */
);
extern void XShapeCombineRegion (
Display* /* display */,
Window /* dest */,
int /* dest_kind */,
int /* x_off */,
int /* y_off */,
Region /* region */,
int /* op */
);
extern void XShapeCombineRectangles (
Display* /* display */,
Window /* dest */,
int /* dest_kind */,
int /* x_off */,
int /* y_off */,
XRectangle* /* rectangles */,
int /* n_rects */,
int /* op */,
int /* ordering */
);
extern void XShapeCombineMask (
Display* /* display */,
Window /* dest */,
int /* dest_kind */,
int /* x_off */,
int /* y_off */,
Pixmap /* src */,
int /* op */
);
extern void XShapeCombineShape (
Display* /* display */,
Window /* dest */,
int /* dest_kind */,
int /* x_off */,
int /* y_off */,
Window /* src */,
int /* src_kind */,
int /* op */
);
extern void XShapeOffsetShape (
Display* /* display */,
Window /* dest */,
int /* dest_kind */,
int /* x_off */,
int /* y_off */
);
extern Status XShapeQueryExtents (
Display* /* display */,
Window /* window */,
Bool* /* bounding_shaped */,
int* /* x_bounding */,
int* /* y_bounding */,
unsigned int* /* w_bounding */,
unsigned int* /* h_bounding */,
Bool* /* clip_shaped */,
int* /* x_clip */,
int* /* y_clip */,
unsigned int* /* w_clip */,
unsigned int* /* h_clip */
);
extern void XShapeSelectInput (
Display* /* display */,
Window /* window */,
unsigned long /* mask */
);
extern unsigned long XShapeInputSelected (
Display* /* display */,
Window /* window */
);
extern XRectangle *XShapeGetRectangles (
Display* /* display */,
Window /* window */,
int /* kind */,
int* /* count */,
int* /* ordering */
);
_XFUNCPROTOEND
#endif /* !_SHAPE_SERVER_ */
#endif /* _SHAPE_H_ */

View File

@ -0,0 +1,338 @@
/* $Xorg: sync.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
/*
Copyright 1991, 1993, 1994, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
/***********************************************************
Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
and Olivetti Research Limited, Cambridge, England.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or Olivetti
not be used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
******************************************************************/
/* $XFree86: xc/include/extensions/sync.h,v 1.4 2001/12/20 19:40:59 tsi Exp $ */
#ifndef _SYNC_H_
#define _SYNC_H_
#include <X11/Xfuncproto.h>
#include <X11/extensions/syncconst.h>
_XFUNCPROTOBEGIN
/* get rid of macros so we can define corresponding functions */
#undef XSyncIntToValue
#undef XSyncIntsToValue
#undef XSyncValueGreaterThan
#undef XSyncValueLessThan
#undef XSyncValueGreaterOrEqual
#undef XSyncValueLessOrEqual
#undef XSyncValueEqual
#undef XSyncValueIsNegative
#undef XSyncValueIsZero
#undef XSyncValueIsPositive
#undef XSyncValueLow32
#undef XSyncValueHigh32
#undef XSyncValueAdd
#undef XSyncValueSubtract
#undef XSyncMaxValue
#undef XSyncMinValue
extern void XSyncIntToValue(
XSyncValue* /*pv*/,
int /*i*/
);
extern void XSyncIntsToValue(
XSyncValue* /*pv*/,
unsigned int /*l*/,
int /*h*/
);
extern Bool XSyncValueGreaterThan(
XSyncValue /*a*/,
XSyncValue /*b*/
);
extern Bool XSyncValueLessThan(
XSyncValue /*a*/,
XSyncValue /*b*/
);
extern Bool XSyncValueGreaterOrEqual(
XSyncValue /*a*/,
XSyncValue /*b*/
);
extern Bool XSyncValueLessOrEqual(
XSyncValue /*a*/,
XSyncValue /*b*/
);
extern Bool XSyncValueEqual(
XSyncValue /*a*/,
XSyncValue /*b*/
);
extern Bool XSyncValueIsNegative(
XSyncValue /*v*/
);
extern Bool XSyncValueIsZero(
XSyncValue /*a*/
);
extern Bool XSyncValueIsPositive(
XSyncValue /*v*/
);
extern unsigned int XSyncValueLow32(
XSyncValue /*v*/
);
extern int XSyncValueHigh32(
XSyncValue /*v*/
);
extern void XSyncValueAdd(
XSyncValue* /*presult*/,
XSyncValue /*a*/,
XSyncValue /*b*/,
int* /*poverflow*/
);
extern void XSyncValueSubtract(
XSyncValue* /*presult*/,
XSyncValue /*a*/,
XSyncValue /*b*/,
int* /*poverflow*/
);
extern void XSyncMaxValue(
XSyncValue* /*pv*/
);
extern void XSyncMinValue(
XSyncValue* /*pv*/
);
_XFUNCPROTOEND
typedef struct _XSyncSystemCounter {
char *name; /* null-terminated name of system counter */
XSyncCounter counter; /* counter id of this system counter */
XSyncValue resolution; /* resolution of this system counter */
} XSyncSystemCounter;
typedef struct {
XSyncCounter counter; /* counter to trigger on */
XSyncValueType value_type; /* absolute/relative */
XSyncValue wait_value; /* value to compare counter to */
XSyncTestType test_type; /* pos/neg comparison/transtion */
} XSyncTrigger;
typedef struct {
XSyncTrigger trigger; /* trigger for await */
XSyncValue event_threshold; /* send event if past threshold */
} XSyncWaitCondition;
typedef struct {
XSyncTrigger trigger;
XSyncValue delta;
Bool events;
XSyncAlarmState state;
} XSyncAlarmAttributes;
/*
* Events
*/
typedef struct {
int type; /* event base + XSyncCounterNotify */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
XSyncCounter counter; /* counter involved in await */
XSyncValue wait_value; /* value being waited for */
XSyncValue counter_value; /* counter value when this event was sent */
Time time; /* milliseconds */
int count; /* how many more events to come */
Bool destroyed; /* True if counter was destroyed */
} XSyncCounterNotifyEvent;
typedef struct {
int type; /* event base + XSyncCounterNotify */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
XSyncAlarm alarm; /* alarm that triggered */
XSyncValue counter_value; /* value that triggered the alarm */
XSyncValue alarm_value; /* test value of trigger in alarm */
Time time; /* milliseconds */
XSyncAlarmState state; /* new state of alarm */
} XSyncAlarmNotifyEvent;
/*
* Errors
*/
typedef struct {
int type;
Display *display; /* Display the event was read from */
XSyncAlarm alarm; /* resource id */
unsigned long serial; /* serial number of failed request */
unsigned char error_code; /* error base + XSyncBadAlarm */
unsigned char request_code; /* Major op-code of failed request */
unsigned char minor_code; /* Minor op-code of failed request */
} XSyncAlarmError;
typedef struct {
int type;
Display *display; /* Display the event was read from */
XSyncCounter counter; /* resource id */
unsigned long serial; /* serial number of failed request */
unsigned char error_code; /* error base + XSyncBadCounter */
unsigned char request_code; /* Major op-code of failed request */
unsigned char minor_code; /* Minor op-code of failed request */
} XSyncCounterError;
/*
* Prototypes
*/
_XFUNCPROTOBEGIN
extern Status XSyncQueryExtension(
Display* /*dpy*/,
int* /*event_base_return*/,
int* /*error_base_return*/
);
extern Status XSyncInitialize(
Display* /*dpy*/,
int* /*major_version_return*/,
int* /*minor_version_return*/
);
extern XSyncSystemCounter *XSyncListSystemCounters(
Display* /*dpy*/,
int* /*n_counters_return*/
);
extern void XSyncFreeSystemCounterList(
XSyncSystemCounter* /*list*/
);
extern XSyncCounter XSyncCreateCounter(
Display* /*dpy*/,
XSyncValue /*initial_value*/
);
extern Status XSyncSetCounter(
Display* /*dpy*/,
XSyncCounter /*counter*/,
XSyncValue /*value*/
);
extern Status XSyncChangeCounter(
Display* /*dpy*/,
XSyncCounter /*counter*/,
XSyncValue /*value*/
);
extern Status XSyncDestroyCounter(
Display* /*dpy*/,
XSyncCounter /*counter*/
);
extern Status XSyncQueryCounter(
Display* /*dpy*/,
XSyncCounter /*counter*/,
XSyncValue* /*value_return*/
);
extern Status XSyncAwait(
Display* /*dpy*/,
XSyncWaitCondition* /*wait_list*/,
int /*n_conditions*/
);
extern XSyncAlarm XSyncCreateAlarm(
Display* /*dpy*/,
unsigned long /*values_mask*/,
XSyncAlarmAttributes* /*values*/
);
extern Status XSyncDestroyAlarm(
Display* /*dpy*/,
XSyncAlarm /*alarm*/
);
extern Status XSyncQueryAlarm(
Display* /*dpy*/,
XSyncAlarm /*alarm*/,
XSyncAlarmAttributes* /*values_return*/
);
extern Status XSyncChangeAlarm(
Display* /*dpy*/,
XSyncAlarm /*alarm*/,
unsigned long /*values_mask*/,
XSyncAlarmAttributes* /*values*/
);
extern Status XSyncSetPriority(
Display* /*dpy*/,
XID /*client_resource_id*/,
int /*priority*/
);
extern Status XSyncGetPriority(
Display* /*dpy*/,
XID /*client_resource_id*/,
int* /*return_priority*/
);
_XFUNCPROTOEND
#endif /* _SYNC_H_ */

View File

@ -0,0 +1,85 @@
/* $Xorg: xtestext1.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
/*
* xtestext1.h
*
* X11 Input Synthesis Extension include file
*/
/*
Copyright 1986, 1987, 1988, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of Hewlett-Packard not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
Hewlett-Packard makes no representations about the
suitability of this software for any purpose. It is provided
"as is" without express or implied warranty.
This software is not subject to any license of the American
Telephone and Telegraph Company or of the Regents of the
University of California.
*/
#ifndef _XTESTEXT1_H
#define _XTESTEXT1_H
/*
* the typedefs for CARD8, CARD16, and CARD32 are defined in Xmd.h
*/
#include <X11/extensions/xtestext1const.h>
/*
* This is the definition for the input action host format event structure.
* This is the form that a client using this extension will see when
* it receives an input action event.
*/
typedef struct {
int type; /* always XTestInputActionType */
Display *display;
Window window;
CARD8 actions[XTestACTIONS_SIZE];
} XTestInputActionEvent;
/*
* This is the definition for the xTestFakeAck host format event structure.
* This is the form that a client using this extension will see when
* it receives an XTestFakeAck event.
*/
typedef struct {
int type; /* always XTestFakeAckType */
Display *display;
Window window;
} XTestFakeAckEvent;
#endif /* _XTESTEXT1_H */

View File

@ -2127,17 +2127,6 @@ EOF
;;
esac
for pass in $passes; do
# The preopen pass in lib mode reverses $deplibs; put it back here
# so that -L comes before libs that need it for instance...
if test "$linkmode,$pass" = "lib,link"; then
## FIXME: Find the place where the list is rebuilt in the wrong
## order, and fix it there properly
tmp_deplibs=
for deplib in $deplibs; do
tmp_deplibs="$deplib $tmp_deplibs"
done
deplibs="$tmp_deplibs"
fi
if test "$linkmode,$pass" = "lib,link" ||
test "$linkmode,$pass" = "prog,scan"; then
libs="$deplibs"

View File

@ -48,25 +48,26 @@ EXTRA_DIST = $(libman_PRE)
CLEANFILES = $(libman_DATA)
# Generate man page shadow files (Replaces InstallManPageAliases from Imake)
BUILT_SOURCES = shadows.DONE
shadows.DONE:
-rm -f $(all_aliases:=.@LIB_MAN_SUFFIX@)
(for i in $(XShape_man_aliases:=.@LIB_MAN_SUFFIX@) ; do \
echo .so man$(LIB_MAN_DIR_SUFFIX)/XShape.$(LIB_MAN_SUFFIX) > $$i; \
done)
(for i in $(XShm_man_aliases:=.@LIB_MAN_SUFFIX@) ; do \
echo .so man$(LIB_MAN_DIR_SUFFIX)/XShm.$(LIB_MAN_SUFFIX) > $$i; \
done)
(for i in $(Xmbuf_man_aliases:=.@LIB_MAN_SUFFIX@) ; do \
echo .so man$(LIB_MAN_DIR_SUFFIX)/Xmbuf.$(LIB_MAN_SUFFIX) > $$i; \
done)
(for i in $(Xevi_man_aliases:=.@LIB_MAN_SUFFIX@) ; do \
echo .so man$(LIB_MAN_DIR_SUFFIX)/Xevi.$(LIB_MAN_SUFFIX) > $$i; \
done)
touch shadows.DONE
XShape_shadowmen = $(XShape_man_aliases:=.@LIB_MAN_SUFFIX@)
CLEANFILES += shadows.DONE
$(XShape_shadowmen):
$(AM_V_GEN)echo .so man$(LIB_MAN_DIR_SUFFIX)/XShape.$(LIB_MAN_SUFFIX) > $@
XShm_shadowmen = $(XShm_man_aliases:=.@LIB_MAN_SUFFIX@)
$(XShm_shadowmen):
$(AM_V_GEN)echo .so man$(LIB_MAN_DIR_SUFFIX)/XShm.$(LIB_MAN_SUFFIX) > $@
Xmbuf_shadowmen = $(Xmbuf_man_aliases:=.@LIB_MAN_SUFFIX@)
$(Xmbuf_shadowmen):
$(AM_V_GEN)echo .so man$(LIB_MAN_DIR_SUFFIX)/Xmbuf.$(LIB_MAN_SUFFIX) > $@
Xevi_shadowmen = $(Xevi_man_aliases:=.@LIB_MAN_SUFFIX@)
$(Xevi_shadowmen):
$(AM_V_GEN)echo .so man$(LIB_MAN_DIR_SUFFIX)/Xevi.$(LIB_MAN_SUFFIX) > $@
# Rules for generating files using the C pre-processor
# (Replaces CppFileTarget from Imake)
@ -106,5 +107,5 @@ MANDEFS = \
-D__projectroot__=$(prefix)
.man.$(LIB_MAN_SUFFIX):
$(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@
$(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@

View File

@ -73,8 +73,10 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
@ -95,6 +97,7 @@ F77 = @F77@
FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@ -147,15 +150,9 @@ XEXT_LIBS = @XEXT_LIBS@
XEXT_SOREV = @XEXT_SOREV@
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
ac_ct_F77 = @ac_ct_F77@
ac_ct_NMEDIT = @ac_ct_NMEDIT@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@ -172,23 +169,31 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
distcleancheck_listfiles = @distcleancheck_listfiles@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
@ -232,10 +237,13 @@ libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@) \
$(all_aliases:=.@LIB_MAN_SUFFIX@)
EXTRA_DIST = $(libman_PRE)
CLEANFILES = $(libman_DATA) shadows.DONE
CLEANFILES = $(libman_DATA)
# Generate man page shadow files (Replaces InstallManPageAliases from Imake)
BUILT_SOURCES = shadows.DONE
XShape_shadowmen = $(XShape_man_aliases:=.@LIB_MAN_SUFFIX@)
XShm_shadowmen = $(XShm_man_aliases:=.@LIB_MAN_SUFFIX@)
Xmbuf_shadowmen = $(Xmbuf_man_aliases:=.@LIB_MAN_SUFFIX@)
Xevi_shadowmen = $(Xevi_man_aliases:=.@LIB_MAN_SUFFIX@)
SUFFIXES = .$(LIB_MAN_SUFFIX) .man
# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
@ -267,8 +275,7 @@ MANDEFS = \
-D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \
-D__projectroot__=$(prefix)
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
all: all-am
.SUFFIXES:
.SUFFIXES: .$(LIB_MAN_SUFFIX) .man
@ -281,9 +288,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu man/Makefile
$(AUTOMAKE) --foreign man/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@ -363,15 +370,13 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(libmandir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) install-am
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@ -396,7 +401,6 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
@ -454,24 +458,20 @@ uninstall-am: uninstall-info-am uninstall-libmanDATA
uninstall uninstall-am uninstall-info-am uninstall-libmanDATA
shadows.DONE:
-rm -f $(all_aliases:=.@LIB_MAN_SUFFIX@)
(for i in $(XShape_man_aliases:=.@LIB_MAN_SUFFIX@) ; do \
echo .so man$(LIB_MAN_DIR_SUFFIX)/XShape.$(LIB_MAN_SUFFIX) > $$i; \
done)
(for i in $(XShm_man_aliases:=.@LIB_MAN_SUFFIX@) ; do \
echo .so man$(LIB_MAN_DIR_SUFFIX)/XShm.$(LIB_MAN_SUFFIX) > $$i; \
done)
(for i in $(Xmbuf_man_aliases:=.@LIB_MAN_SUFFIX@) ; do \
echo .so man$(LIB_MAN_DIR_SUFFIX)/Xmbuf.$(LIB_MAN_SUFFIX) > $$i; \
done)
(for i in $(Xevi_man_aliases:=.@LIB_MAN_SUFFIX@) ; do \
echo .so man$(LIB_MAN_DIR_SUFFIX)/Xevi.$(LIB_MAN_SUFFIX) > $$i; \
done)
touch shadows.DONE
$(XShape_shadowmen):
$(AM_V_GEN)echo .so man$(LIB_MAN_DIR_SUFFIX)/XShape.$(LIB_MAN_SUFFIX) > $@
$(XShm_shadowmen):
$(AM_V_GEN)echo .so man$(LIB_MAN_DIR_SUFFIX)/XShm.$(LIB_MAN_SUFFIX) > $@
$(Xmbuf_shadowmen):
$(AM_V_GEN)echo .so man$(LIB_MAN_DIR_SUFFIX)/Xmbuf.$(LIB_MAN_SUFFIX) > $@
$(Xevi_shadowmen):
$(AM_V_GEN)echo .so man$(LIB_MAN_DIR_SUFFIX)/Xevi.$(LIB_MAN_SUFFIX) > $@
.man.$(LIB_MAN_SUFFIX):
$(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@
$(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -90,10 +90,11 @@ Status XShmDetach(
XImage *XShmCreateImage (
Display *display;
Visual *visual;
unsigned int depth, width, height;
unsigned int depth;
int format;
char *data;
XShmSegmentInfo *shminfo);
XShmSegmentInfo *shminfo;
unsigned int width, height);
.LP
Status XShmPutImage(
Display *display;

View File

@ -38,7 +38,7 @@ Equipment Corporation.
#endif
#include <X11/Xlibint.h>
#include <X11/extensions/dpms.h>
#include <X11/extensions/dpmsstr.h>
#include <X11/extensions/dpmsproto.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>
#include <stdio.h>

View File

@ -34,7 +34,7 @@ in this Software without prior written authorization from The Open Group.
#endif
#include <X11/Xlibint.h>
#include <X11/extensions/MITMisc.h>
#include <X11/extensions/mitmiscstr.h>
#include <X11/extensions/mitmiscproto.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>

View File

@ -1,6 +1,9 @@
lib_LTLIBRARIES=libXext.la
AM_CFLAGS=$(XEXT_CFLAGS) $(MALLOC_ZERO_CFLAGS)
AM_CFLAGS=\
-I$(top_srcdir)/include \
-I$(top_srcdir)/include/X11/extensions\
$(XEXT_CFLAGS) $(MALLOC_ZERO_CFLAGS)
libXext_la_LDFLAGS = -version-number $(XEXT_SOREV) -no-undefined
@ -20,9 +23,31 @@ libXext_la_SOURCES = \
XTestExt1.c \
Xcup.c \
Xdbe.c \
Xge.c \
extutil.c \
globals.c
libXextincludedir = $(includedir)/X11/extensions
libXextinclude_HEADERS = $(top_srcdir)/include/X11/extensions/dpms.h \
$(top_srcdir)/include/X11/extensions/extutil.h \
$(top_srcdir)/include/X11/extensions/lbxbuf.h \
$(top_srcdir)/include/X11/extensions/lbxbufstr.h \
$(top_srcdir)/include/X11/extensions/lbximage.h \
$(top_srcdir)/include/X11/extensions/MITMisc.h \
$(top_srcdir)/include/X11/extensions/multibuf.h \
$(top_srcdir)/include/X11/extensions/security.h \
$(top_srcdir)/include/X11/extensions/shape.h \
$(top_srcdir)/include/X11/extensions/sync.h \
$(top_srcdir)/include/X11/extensions/Xag.h \
$(top_srcdir)/include/X11/extensions/Xcup.h \
$(top_srcdir)/include/X11/extensions/Xdbe.h \
$(top_srcdir)/include/X11/extensions/XEVI.h \
$(top_srcdir)/include/X11/extensions/Xext.h \
$(top_srcdir)/include/X11/extensions/Xge.h \
$(top_srcdir)/include/X11/extensions/XLbx.h \
$(top_srcdir)/include/X11/extensions/XShm.h \
$(top_srcdir)/include/X11/extensions/xtestext1.h
if LINT
ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS)

View File

@ -15,6 +15,7 @@
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@ -38,7 +39,8 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = src
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
DIST_COMMON = $(libXextinclude_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@ -52,14 +54,15 @@ am__vpath_adj = case $$p in \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(lintlibdir)"
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(lintlibdir)" \
"$(DESTDIR)$(libXextincludedir)"
libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
libXext_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am_libXext_la_OBJECTS = DPMS.lo MITMisc.lo XAppgroup.lo XEVI.lo \
XLbx.lo XMultibuf.lo XSecurity.lo XShape.lo XShm.lo XSync.lo \
XTestExt1.lo Xcup.lo Xdbe.lo extutil.lo globals.lo
XTestExt1.lo Xcup.lo Xdbe.lo Xge.lo extutil.lo globals.lo
libXext_la_OBJECTS = $(am_libXext_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
@ -76,6 +79,8 @@ SOURCES = $(libXext_la_SOURCES)
DIST_SOURCES = $(libXext_la_SOURCES)
lintlibDATA_INSTALL = $(INSTALL_DATA)
DATA = $(lintlib_DATA)
libXextincludeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(libXextinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@ -95,8 +100,10 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
@ -117,6 +124,7 @@ F77 = @F77@
FFLAGS = @FFLAGS@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@ -166,15 +174,9 @@ XEXT_LIBS = @XEXT_LIBS@
XEXT_SOREV = @XEXT_SOREV@
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
ac_ct_F77 = @ac_ct_F77@
ac_ct_NMEDIT = @ac_ct_NMEDIT@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@ -191,29 +193,41 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
distcleancheck_listfiles = @distcleancheck_listfiles@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
lib_LTLIBRARIES = libXext.la
AM_CFLAGS = $(XEXT_CFLAGS) $(MALLOC_ZERO_CFLAGS)
AM_CFLAGS = \
-I$(top_srcdir)/include \
-I$(top_srcdir)/include/X11/extensions\
$(XEXT_CFLAGS) $(MALLOC_ZERO_CFLAGS)
libXext_la_LDFLAGS = -version-number $(XEXT_SOREV) -no-undefined
libXext_la_LIBADD = $(XEXT_LIBS)
libXext_la_SOURCES = \
@ -230,9 +244,31 @@ libXext_la_SOURCES = \
XTestExt1.c \
Xcup.c \
Xdbe.c \
Xge.c \
extutil.c \
globals.c
libXextincludedir = $(includedir)/X11/extensions
libXextinclude_HEADERS = $(top_srcdir)/include/X11/extensions/dpms.h \
$(top_srcdir)/include/X11/extensions/extutil.h \
$(top_srcdir)/include/X11/extensions/lbxbuf.h \
$(top_srcdir)/include/X11/extensions/lbxbufstr.h \
$(top_srcdir)/include/X11/extensions/lbximage.h \
$(top_srcdir)/include/X11/extensions/MITMisc.h \
$(top_srcdir)/include/X11/extensions/multibuf.h \
$(top_srcdir)/include/X11/extensions/security.h \
$(top_srcdir)/include/X11/extensions/shape.h \
$(top_srcdir)/include/X11/extensions/sync.h \
$(top_srcdir)/include/X11/extensions/Xag.h \
$(top_srcdir)/include/X11/extensions/Xcup.h \
$(top_srcdir)/include/X11/extensions/Xdbe.h \
$(top_srcdir)/include/X11/extensions/XEVI.h \
$(top_srcdir)/include/X11/extensions/Xext.h \
$(top_srcdir)/include/X11/extensions/Xge.h \
$(top_srcdir)/include/X11/extensions/XLbx.h \
$(top_srcdir)/include/X11/extensions/XShm.h \
$(top_srcdir)/include/X11/extensions/xtestext1.h
@LINT_TRUE@ALL_LINT_FLAGS = $(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
@LINT_TRUE@ $(AM_CPPFLAGS) $(CPPFLAGS)
@ -251,9 +287,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/Makefile
$(AUTOMAKE) --foreign src/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@ -320,6 +356,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XTestExt1.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Xcup.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Xdbe.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Xge.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extutil.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/globals.Plo@am__quote@
@ -370,6 +407,23 @@ uninstall-lintlibDATA:
echo " rm -f '$(DESTDIR)$(lintlibdir)/$$f'"; \
rm -f "$(DESTDIR)$(lintlibdir)/$$f"; \
done
install-libXextincludeHEADERS: $(libXextinclude_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(libXextincludedir)" || $(mkdir_p) "$(DESTDIR)$(libXextincludedir)"
@list='$(libXextinclude_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
echo " $(libXextincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libXextincludedir)/$$f'"; \
$(libXextincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libXextincludedir)/$$f"; \
done
uninstall-libXextincludeHEADERS:
@$(NORMAL_UNINSTALL)
@list='$(libXextinclude_HEADERS)'; for p in $$list; do \
f=$(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(libXextincludedir)/$$f'"; \
rm -f "$(DESTDIR)$(libXextincludedir)/$$f"; \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@ -420,6 +474,7 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(mkdir_p) $(distdir)/../include/X11/extensions
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@ -448,9 +503,9 @@ distdir: $(DISTFILES)
done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(DATA)
all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
installdirs:
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(lintlibdir)"; do \
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(lintlibdir)" "$(DESTDIR)$(libXextincludedir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
@ -498,7 +553,7 @@ info: info-am
info-am:
install-data-am: install-lintlibDATA
install-data-am: install-libXextincludeHEADERS install-lintlibDATA
install-exec-am: install-libLTLIBRARIES
@ -527,7 +582,7 @@ ps: ps-am
ps-am:
uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
uninstall-lintlibDATA
uninstall-libXextincludeHEADERS uninstall-lintlibDATA
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libLTLIBRARIES clean-libtool ctags distclean \
@ -535,12 +590,13 @@ uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am \
install-libLTLIBRARIES install-lintlibDATA install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-info-am uninstall-libLTLIBRARIES \
install-libLTLIBRARIES install-libXextincludeHEADERS \
install-lintlibDATA install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-info-am \
uninstall-libLTLIBRARIES uninstall-libXextincludeHEADERS \
uninstall-lintlibDATA

View File

@ -36,7 +36,8 @@ in this Software without prior written authorization from The Open Group.
#define NEED_EVENTS
#define NEED_REPLIES
#include <X11/Xlibint.h>
#include <X11/extensions/Xagstr.h>
#include <X11/extensions/Xag.h>
#include <X11/extensions/agproto.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>

View File

@ -29,7 +29,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#endif
#include <X11/Xlibint.h>
#include <X11/extensions/XEVI.h>
#include <X11/extensions/XEVIstr.h>
#include <X11/extensions/EVIproto.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>
#include <X11/Xutil.h>

View File

@ -32,7 +32,7 @@
#include <stdio.h>
#include <X11/Xlibint.h>
#include <X11/extensions/XLbx.h>
#include <X11/extensions/lbxstr.h>
#include <X11/extensions/lbxproto.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>

View File

@ -36,7 +36,8 @@ in this Software without prior written authorization from The Open Group.
#include <stdio.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>
#include <X11/extensions/multibufst.h>
#include <X11/extensions/multibufproto.h>
#include <X11/extensions/multibuf.h>
static XExtensionInfo _multibuf_info_data;
static XExtensionInfo *multibuf_info = &_multibuf_info_data;
@ -634,7 +635,7 @@ Window XmbufCreateStereoWindow (
req->borderWidth = border_width;
req->depth = depth;
req->class = class;
if (visual == CopyFromParent)
if (visual == (Visual *)CopyFromParent)
req->visual = CopyFromParent;
else
req->visual = visual->visualid;

View File

@ -33,7 +33,8 @@ in this Software without prior written authorization from The Open Group.
#include <stdio.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>
#include <X11/extensions/securstr.h>
#include <X11/extensions/securproto.h>
#include <X11/extensions/security.h>
static XExtensionInfo _Security_info_data;
static XExtensionInfo *Security_info = &_Security_info_data;

View File

@ -36,7 +36,8 @@ in this Software without prior written authorization from The Open Group.
#include <X11/Xregion.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>
#include <X11/extensions/shapestr.h>
#include <X11/extensions/shape.h>
#include <X11/extensions/shapeproto.h>
static XExtensionInfo _shape_info_data;
static XExtensionInfo *shape_info = &_shape_info_data;

View File

@ -39,7 +39,7 @@ in this Software without prior written authorization from The Open Group.
#include <X11/Xlibint.h>
#include <X11/ImUtil.h>
#include <X11/extensions/XShm.h>
#include <X11/extensions/shmstr.h>
#include <X11/extensions/shmproto.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>
@ -235,12 +235,11 @@ Status XShmAttach(Display *dpy, XShmSegmentInfo *shminfo)
ShmCheckExtension (dpy, info, 0);
shminfo->shmseg = XAllocID(dpy);
LockDisplay(dpy);
GetReq(ShmAttach, req);
req->reqType = info->codes->major_opcode;
req->shmReqType = X_ShmAttach;
req->shmseg = shminfo->shmseg;
req->shmseg = shminfo->shmseg = XAllocID(dpy);
req->shmid = shminfo->shmid;
req->readOnly = shminfo->readOnly ? xTrue : xFalse;
UnlockDisplay(dpy);

View File

@ -1,4 +1,3 @@
/* $Xorg: XSync.c,v 1.5 2001/02/09 02:03:49 xorgcvs Exp $ */
/*
Copyright 1991, 1993, 1998 The Open Group
@ -61,7 +60,8 @@ PERFORMANCE OF THIS SOFTWARE.
#include <X11/Xlibint.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>
#include <X11/extensions/syncstr.h>
#include <X11/extensions/sync.h>
#include <X11/extensions/syncproto.h>
static XExtensionInfo _sync_info_data;
static XExtensionInfo *sync_info = &_sync_info_data;
@ -287,11 +287,10 @@ XSyncListSystemCounters(Display *dpy, int *n_counters_return)
int replylen;
int i;
list = (XSyncSystemCounter *)Xmalloc(
rep.nCounters * sizeof(XSyncSystemCounter));
list = Xmalloc(rep.nCounters * sizeof(XSyncSystemCounter));
replylen = rep.length << 2;
pWireSysCounter = (xSyncSystemCounter *) Xmalloc ((unsigned) replylen + 1);
/* +1 to leave room for last null-terminator */
pWireSysCounter = Xmalloc ((unsigned) replylen + sizeof(XSyncCounter));
/* +1 to leave room for last counter read-ahead */
if ((!list) || (!pWireSysCounter))
{
@ -699,24 +698,6 @@ XSyncGetPriority(Display *dpy, XID client_resource_id, int *return_priority)
* Functions corresponding to the macros for manipulating 64-bit values
*/
/* get rid of macros so we can define corresponding functions */
#undef XSyncIntToValue
#undef XSyncIntsToValue
#undef XSyncValueGreaterThan
#undef XSyncValueLessThan
#undef XSyncValueGreaterOrEqual
#undef XSyncValueLessOrEqual
#undef XSyncValueEqual
#undef XSyncValueIsNegative
#undef XSyncValueIsZero
#undef XSyncValueIsPositive
#undef XSyncValueLow32
#undef XSyncValueHigh32
#undef XSyncValueAdd
#undef XSyncValueSubtract
#undef XSyncMaxValue
#undef XSyncMinValue
void
XSyncIntToValue(XSyncValue *pv, int i)
{

View File

@ -67,6 +67,7 @@ University of California.
#include <X11/Xproto.h>
#include <X11/Xlibint.h>
#include <X11/extensions/xtestext1.h>
#include <X11/extensions/xtestext1proto.h>
/******************************************************************************
* variables

View File

@ -36,7 +36,8 @@ in this Software without prior written authorization from The Open Group.
#define NEED_EVENTS
#define NEED_REPLIES
#include <X11/Xlibint.h>
#include <X11/extensions/Xcupstr.h>
#include <X11/extensions/Xcup.h>
#include <X11/extensions/cupproto.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>

View File

@ -41,8 +41,8 @@
#include <X11/Xlibint.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>
#define NEED_DBE_PROTOCOL
#include <X11/extensions/Xdbe.h>
#include <X11/extensions/dbeproto.h>
static XExtensionInfo _dbe_info_data;
static XExtensionInfo *dbe_info = &_dbe_info_data;

368
lib/libXext/src/Xge.c Normal file
View File

@ -0,0 +1,368 @@
/*
* Copyright © 2007-2008 Peter Hutterer
*
* 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.
*
* Authors: Peter Hutterer, University of South Australia, NICTA
*/
/*
* XGE is an extension to re-use a single opcode for multiple events,
* depending on the extension. XGE allows events >32 bytes.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#define NEED_EVENTS
#define NEED_REPLIES
#include <stdio.h>
#include <X11/extensions/geproto.h>
#include <X11/extensions/ge.h>
#include <X11/Xlibint.h>
#include <X11/extensions/extutil.h>
#include <X11/extensions/Xge.h>
/***********************************************************************/
/* internal data structures */
/***********************************************************************/
typedef struct {
int present;
short major_version;
short minor_version;
} XGEVersionRec;
/* NULL terminated list of registered extensions. */
typedef struct _XGEExtNode {
int extension;
XExtensionHooks* hooks;
struct _XGEExtNode* next;
} XGEExtNode, *XGEExtList;
/* Internal data for GE extension */
typedef struct _XGEData {
XEvent data;
XGEVersionRec *vers;
XGEExtList extensions;
} XGEData;
/* forward declarations */
static XExtDisplayInfo* _xgeFindDisplay(Display*);
static Bool _xgeWireToEvent(Display*, XEvent*, xEvent*);
static Status _xgeEventToWire(Display*, XEvent*, xEvent*);
static int _xgeDpyClose(Display*, XExtCodes*);
static XGEVersionRec* _xgeGetExtensionVersion(Display*,
_Xconst char*,
XExtDisplayInfo*);
static Bool _xgeCheckExtension(Display* dpy, XExtDisplayInfo* info);
/* main extension information data */
static XExtensionInfo *xge_info;
static char xge_extension_name[] = GE_NAME;
static XExtensionHooks xge_extension_hooks = {
NULL, /* create_gc */
NULL, /* copy_gc */
NULL, /* flush_gc */
NULL, /* free_gc */
NULL, /* create_font */
NULL, /* free_font */
_xgeDpyClose, /* close_display */
_xgeWireToEvent, /* wire_to_event */
_xgeEventToWire, /* event_to_wire */
NULL, /* error */
NULL, /* error_string */
};
static XExtDisplayInfo *_xgeFindDisplay(Display *dpy)
{
XExtDisplayInfo *dpyinfo;
if (!xge_info)
{
if (!(xge_info = XextCreateExtension()))
return NULL;
}
if (!(dpyinfo = XextFindDisplay (xge_info, dpy)))
{
dpyinfo = XextAddDisplay (xge_info,
dpy,
xge_extension_name,
&xge_extension_hooks,
0 /* no events, see below */,
NULL);
/* We don't use an extension opcode, so we have to set the handlers
* directly. If GenericEvent would be > 64, the job would be done by
* XExtAddDisplay */
XESetWireToEvent (dpy,
GenericEvent,
xge_extension_hooks.wire_to_event);
XESetEventToWire (dpy,
GenericEvent,
xge_extension_hooks.event_to_wire);
}
return dpyinfo;
}
/*
* Check extension is set up and internal data fields are filled.
*/
static Bool
_xgeCheckExtInit(Display* dpy, XExtDisplayInfo* info)
{
LockDisplay(dpy);
if(!_xgeCheckExtension(dpy, info))
{
goto cleanup;
}
if (!info->data)
{
XGEData* data = (XGEData*)Xmalloc(sizeof(XGEData));
if (!data) {
goto cleanup;
}
/* get version from server */
data->vers =
_xgeGetExtensionVersion(dpy, "Generic Event Extension", info);
data->extensions = NULL;
info->data = (XPointer)data;
}
UnlockDisplay(dpy);
return True;
cleanup:
UnlockDisplay(dpy);
return False;
}
/* Return 1 if XGE extension exists, 0 otherwise. */
static Bool
_xgeCheckExtension(Display* dpy, XExtDisplayInfo* info)
{
return XextHasExtension(info);
}
/* Retrieve XGE version number from server. */
static XGEVersionRec*
_xgeGetExtensionVersion(Display* dpy,
_Xconst char* name,
XExtDisplayInfo*info)
{
xGEQueryVersionReply rep;
xGEQueryVersionReq *req;
XGEVersionRec *vers;
GetReq(GEQueryVersion, req);
req->reqType = info->codes->major_opcode;
req->ReqType = X_GEQueryVersion;
req->majorVersion = GE_MAJOR;
req->minorVersion = GE_MINOR;
if (!_XReply (dpy, (xReply *) &rep, 0, xTrue))
{
Xfree(info);
return NULL;
}
vers = (XGEVersionRec*)Xmalloc(sizeof(XGEVersionRec));
vers->major_version = rep.majorVersion;
vers->minor_version = rep.minorVersion;
return vers;
}
/*
* Display closing routine.
*/
static int
_xgeDpyClose(Display* dpy, XExtCodes* codes)
{
XExtDisplayInfo *info = _xgeFindDisplay(dpy);
if (info->data != NULL) {
XGEData* xge_data = (XGEData*)info->data;
if (xge_data->extensions)
{
XGEExtList current, next;
current = xge_data->extensions;
while(current)
{
next = current->next;
Xfree(current);
current = next;
}
}
XFree(xge_data->vers);
XFree(xge_data);
}
return XextRemoveDisplay(xge_info, dpy);
}
/*
* protocol to Xlib event conversion routine.
*/
static Bool
_xgeWireToEvent(Display* dpy, XEvent* re, xEvent *event)
{
int extension;
XGEExtList it;
XExtDisplayInfo* info = _xgeFindDisplay(dpy);
if (!info)
return False;
/*
_xgeCheckExtInit() calls LockDisplay, leading to a SIGABRT.
Well, I guess we don't need the data we get in CheckExtInit anyway
if (!_xgeCheckExtInit(dpy, info))
return False;
*/
extension = ((xGenericEvent*)event)->extension;
it = ((XGEData*)info->data)->extensions;
while(it)
{
if (it->extension == extension)
{
return (it->hooks->wire_to_event(dpy, re, event));
}
it = it->next;
}
fprintf(stderr,
"_xgeWireToEvent: Unknown extension %d, this should never happen.\n",
extension);
return False;
}
/*
* xlib event to protocol conversion routine.
*/
static Status
_xgeEventToWire(Display* dpy, XEvent* re, xEvent* event)
{
int extension;
XGEExtList it;
XExtDisplayInfo* info = _xgeFindDisplay(dpy);
if (!info)
return 1; /* error! */
extension = ((XGenericEvent*)re)->extension;
it = ((XGEData*)info->data)->extensions;
while(it)
{
if (it->extension == extension)
{
return (it->hooks->event_to_wire(dpy, re, event));
}
it = it->next;
}
fprintf(stderr,
"_xgeEventToWire: Unknown extension %d, this should never happen.\n",
extension);
return Success;
}
/*
* Extensions need to register callbacks for their events.
*/
Bool
xgeExtRegister(Display* dpy, int offset, XExtensionHooks* callbacks)
{
XGEExtNode* newExt;
XGEData* xge_data;
XExtDisplayInfo* info = _xgeFindDisplay(dpy);
if (!info)
return False; /* error! */
if (!_xgeCheckExtInit(dpy, info))
return False;
xge_data = (XGEData*)info->data;
newExt = (XGEExtNode*)Xmalloc(sizeof(XGEExtNode));
if (!newExt)
{
fprintf(stderr, "xgeExtRegister: Failed to alloc memory.\n");
return False;
}
newExt->extension = offset;
newExt->hooks = callbacks;
newExt->next = xge_data->extensions;
xge_data->extensions = newExt;
return True;
}
/***********************************************************************/
/* Client interfaces */
/***********************************************************************/
/* Set event_base and error_base to the matching values for XGE.
* Note that since XGE doesn't use any errors and events, the actual return
* value is of limited use.
*/
Bool
XGEQueryExtension(Display* dpy, int* event_base, int* error_base)
{
XExtDisplayInfo* info = _xgeFindDisplay(dpy);
if (!_xgeCheckExtInit(dpy, info))
return False;
*event_base = info->codes->first_event;
*error_base = info->codes->first_error;
return True;
}
/* Get XGE version number.
* Doesn't actually get it from server, that should have been done beforehand
* already
*/
Bool
XGEQueryVersion(Display* dpy,
int *major_version,
int *minor_version)
{
XExtDisplayInfo* info = _xgeFindDisplay(dpy);
if (!info)
return False;
if (!_xgeCheckExtInit(dpy, info))
return False;
*major_version = ((XGEData*)info->data)->vers->major_version;
*minor_version = ((XGEData*)info->data)->vers->minor_version;
return True;
}

View File

@ -54,7 +54,11 @@ in this Software without prior written authorization from The Open Group.
#include <X11/Xlibint.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>
#include <X11/extensions/ge.h>
/* defined in Xge.c */
extern Bool
xgeExtRegister(Display* dpy, int extension, XExtensionHooks* callbacks);
/*
* XextCreateExtension - return an extension descriptor containing context
@ -118,6 +122,11 @@ XExtDisplayInfo *XextAddDisplay (
XESetWireToEvent (dpy, j, hooks->wire_to_event);
XESetEventToWire (dpy, j, hooks->event_to_wire);
}
/* register extension for XGE */
if (strcmp(ext_name, GE_NAME))
xgeExtRegister(dpy, dpyinfo->codes->major_opcode, hooks);
if (hooks->create_gc)
XESetCreateGC (dpy, dpyinfo->codes->extension, hooks->create_gc);
if (hooks->copy_gc)
@ -235,7 +244,7 @@ XExtDisplayInfo *XextFindDisplay (XExtensionInfo *extinfo, Display *dpy)
static int _default_exterror (Display *dpy, char *ext_name, char *reason)
static int _default_exterror (Display *dpy, _Xconst char *ext_name, _Xconst char *reason)
{
fprintf (stderr, "Xlib: extension \"%s\" %s on display \"%s\".\n",
ext_name, reason, DisplayString(dpy));
@ -248,11 +257,11 @@ static int _default_exterror (Display *dpy, char *ext_name, char *reason)
* requested extension is referenced. This should eventually move into Xlib.
*/
extern int (*_XExtensionErrorFunction)(Display*, char *, char * );
extern XextErrorHandler _XExtensionErrorFunction;
int (*XSetExtensionErrorHandler(int (*handler)(Display*, char *, char * )))(Display*, char *, char * )
XextErrorHandler XSetExtensionErrorHandler (XextErrorHandler handler)
{
int (*oldhandler)(Display*, char *, char * ) = _XExtensionErrorFunction;
XextErrorHandler oldhandler = _XExtensionErrorFunction;
_XExtensionErrorFunction = (handler ? handler :
_default_exterror);
@ -265,7 +274,7 @@ int (*XSetExtensionErrorHandler(int (*handler)(Display*, char *, char * )))(Disp
*/
int XMissingExtension (Display *dpy, _Xconst char *ext_name)
{
int (*func)(Display*, char *, char *) = (_XExtensionErrorFunction ?
XextErrorHandler func = (_XExtensionErrorFunction ?
_XExtensionErrorFunction : _default_exterror);
if (!ext_name) ext_name = X_EXTENSION_UNKNOWN;

View File

@ -75,8 +75,7 @@ from The Open Group.
/*
* Error handlers; used to be in XlibInt.c
*/
typedef int (*funcptr)(Display*, char *, char *);
ZEROINIT (funcptr, _XExtensionErrorFunction, NULL);
ZEROINIT (XextErrorHandler, _XExtensionErrorFunction, NULL);
/*
* NOTE: any additional external definition NEED

View File

@ -7,6 +7,6 @@ Name: Xext
Description: Misc X Extension Library
Version: @PACKAGE_VERSION@
Requires: xextproto
Requires.private: x11 xau
Requires.private: x11
Cflags: -I${includedir}
Libs: -L${libdir} -lXext