aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/include
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/include')
-rw-r--r--xorg-server/include/Makefile.am12
-rw-r--r--xorg-server/include/Makefile.in198
-rw-r--r--xorg-server/include/cursor.h13
-rw-r--r--xorg-server/include/cursorstr.h3
-rw-r--r--xorg-server/include/dix-config-apple-verbatim.h8
-rw-r--r--xorg-server/include/dix-config.h.in136
-rw-r--r--xorg-server/include/dix.h101
-rw-r--r--xorg-server/include/dixevents.h8
-rw-r--r--xorg-server/include/dixfont.h53
-rw-r--r--xorg-server/include/dixgrabs.h3
-rw-r--r--xorg-server/include/dixstruct.h20
-rw-r--r--xorg-server/include/do-not-use-config.h789
-rw-r--r--xorg-server/include/do-not-use-config.h.in120
-rw-r--r--xorg-server/include/exevents.h86
-rw-r--r--xorg-server/include/extension.h2
-rw-r--r--xorg-server/include/extinit.h5
-rw-r--r--xorg-server/include/globals.h58
-rw-r--r--xorg-server/include/input.h115
-rw-r--r--xorg-server/include/inputstr.h212
-rw-r--r--xorg-server/include/misc.h5
-rw-r--r--xorg-server/include/opaque.h5
-rw-r--r--xorg-server/include/os.h58
-rw-r--r--xorg-server/include/pixmapstr.h4
-rw-r--r--xorg-server/include/privates.h2
-rw-r--r--xorg-server/include/ptrveloc.h131
-rw-r--r--xorg-server/include/regionstr.h29
-rw-r--r--xorg-server/include/scrnintstr.h25
-rw-r--r--xorg-server/include/servermd.h330
-rw-r--r--xorg-server/include/window.h13
-rw-r--r--xorg-server/include/windowstr.h69
-rw-r--r--xorg-server/include/xgl-config.h.in14
-rw-r--r--xorg-server/include/xkb-config.h24
-rw-r--r--xorg-server/include/xkbfile.h29
-rw-r--r--xorg-server/include/xkbrules.h183
-rw-r--r--xorg-server/include/xkbsrv.h22
-rw-r--r--xorg-server/include/xkbstr.h4
-rw-r--r--xorg-server/include/xorg-config.h128
-rw-r--r--xorg-server/include/xorg-config.h.in9
-rw-r--r--xorg-server/include/xorg-server.h246
-rw-r--r--xorg-server/include/xorg-server.h.in46
-rw-r--r--xorg-server/include/xserver-properties.h36
41 files changed, 1172 insertions, 2182 deletions
diff --git a/xorg-server/include/Makefile.am b/xorg-server/include/Makefile.am
index 5edefe7b5..cb0b2934c 100644
--- a/xorg-server/include/Makefile.am
+++ b/xorg-server/include/Makefile.am
@@ -35,6 +35,7 @@ sdk_HEADERS = \
privates.h \
property.h \
propertyst.h \
+ ptrveloc.h \
region.h \
regionstr.h \
registry.h \
@@ -52,11 +53,14 @@ sdk_HEADERS = \
windowstr.h \
xkbfile.h \
xkbsrv.h \
- xkbstr.h \
- xorg-server.h
+ xkbstr.h \
+ xkbrules.h \
+ xserver-properties.h
+
+nodist_sdk_HEADERS = xorg-server.h
endif
AM_CFLAGS = $(DIX_CFLAGS)
-EXTRA_DIST = $(sdk_HEADERS) do-not-use-config.h dix-config.h xorg-config.h \
- xkb-config.h
+EXTRA_DIST = \
+ dix-config-apple-verbatim.h
diff --git a/xorg-server/include/Makefile.in b/xorg-server/include/Makefile.in
index b28e14786..4dca0ea13 100644
--- a/xorg-server/include/Makefile.in
+++ b/xorg-server/include/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -36,9 +36,8 @@ subdir = include
DIST_COMMON = $(am__sdk_HEADERS_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/dix-config.h.in \
$(srcdir)/do-not-use-config.h.in $(srcdir)/kdrive-config.h.in \
- $(srcdir)/xgl-config.h.in $(srcdir)/xkb-config.h.in \
- $(srcdir)/xorg-config.h.in $(srcdir)/xorg-server.h.in \
- $(srcdir)/xwin-config.h.in
+ $(srcdir)/xkb-config.h.in $(srcdir)/xorg-config.h.in \
+ $(srcdir)/xorg-server.h.in $(srcdir)/xwin-config.h.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
@@ -46,31 +45,31 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = do-not-use-config.h xorg-server.h dix-config.h \
- xgl-config.h xorg-config.h xkb-config.h xwin-config.h \
- kdrive-config.h
+ xorg-config.h xkb-config.h xwin-config.h kdrive-config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(sdkdir)" "$(DESTDIR)$(sdkdir)"
+nodist_sdkHEADERS_INSTALL = $(INSTALL_HEADER)
am__sdk_HEADERS_DIST = XIstubs.h bstore.h bstorestr.h closestr.h \
closure.h colormap.h colormapst.h hotplug.h cursor.h \
cursorstr.h dix.h dixaccess.h dixevents.h dixfont.h \
dixfontstr.h dixgrabs.h dixstruct.h exevents.h extension.h \
extinit.h extnsionst.h gc.h gcstruct.h globals.h input.h \
inputstr.h misc.h miscstruct.h opaque.h os.h pixmap.h \
- pixmapstr.h privates.h property.h propertyst.h region.h \
- regionstr.h registry.h resource.h rgb.h screenint.h \
+ pixmapstr.h privates.h property.h propertyst.h ptrveloc.h \
+ region.h regionstr.h registry.h resource.h rgb.h screenint.h \
scrnintstr.h selection.h servermd.h site.h swaprep.h swapreq.h \
validate.h window.h windowstr.h xkbfile.h xkbsrv.h xkbstr.h \
- xorg-server.h
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(sdkdir)"
+ xkbrules.h xserver-properties.h
sdkHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(sdk_HEADERS)
+HEADERS = $(nodist_sdk_HEADERS) $(sdk_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -79,8 +78,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
-APPDEFAULTDIR = @APPDEFAULTDIR@
APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@
+APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@
+APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@
APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AR = @AR@
@@ -101,10 +101,6 @@ CFLAGS = @CFLAGS@
COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DARWIN_LIBS = @DARWIN_LIBS@
DBUS_CFLAGS = @DBUS_CFLAGS@
@@ -126,6 +122,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@
DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@
DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@
DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@
+DOLT_BASH = @DOLT_BASH@
DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@
DRI2PROTO_LIBS = @DRI2PROTO_LIBS@
DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@
@@ -135,18 +132,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DRI_DRIVER_PATH = @DRI_DRIVER_PATH@
DSYMUTIL = @DSYMUTIL@
DTRACE = @DTRACE@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
-FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
-FREETYPE_LIBS = @FREETYPE_LIBS@
GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@
GLX_DEFINES = @GLX_DEFINES@
GL_CFLAGS = @GL_CFLAGS@
@@ -165,7 +159,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@
KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@
KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@
KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@
-LAUNCHD = @LAUNCHD@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@
LEX = @LEX@
@@ -179,7 +173,10 @@ LIBTOOL = @LIBTOOL@
LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LINUXDOC = @LINUXDOC@
+LIPO = @LIPO@
LN_S = @LN_S@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
@@ -191,8 +188,7 @@ MESA_SOURCE = @MESA_SOURCE@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
MKDIR_P = @MKDIR_P@
-MKFONTDIR = @MKFONTDIR@
-MKFONTSCALE = @MKFONTSCALE@
+NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCCLD = @OBJCCLD@
@@ -201,8 +197,8 @@ OBJCFLAGS = @OBJCFLAGS@
OBJCLINK = @OBJCLINK@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
-OPENSSL_LIBS = @OPENSSL_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -235,7 +231,6 @@ VENDOR_NAME = @VENDOR_NAME@
VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@
VENDOR_RELEASE = @VENDOR_RELEASE@
VERSION = @VERSION@
-X11APP_ARCHS = @X11APP_ARCHS@
X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@
X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@
XDMCP_CFLAGS = @XDMCP_CFLAGS@
@@ -245,27 +240,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@
XDMX_CFLAGS = @XDMX_CFLAGS@
XDMX_LIBS = @XDMX_LIBS@
XDMX_SYS_LIBS = @XDMX_SYS_LIBS@
-XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@
-XEGL_LIBS = @XEGL_LIBS@
-XEGL_SYS_LIBS = @XEGL_SYS_LIBS@
XEPHYR_CFLAGS = @XEPHYR_CFLAGS@
-XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@
XEPHYR_INCS = @XEPHYR_INCS@
XEPHYR_LIBS = @XEPHYR_LIBS@
XF86CONFIGFILE = @XF86CONFIGFILE@
-XF86MISC_CFLAGS = @XF86MISC_CFLAGS@
-XF86MISC_LIBS = @XF86MISC_LIBS@
XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@
XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@
-XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@
-XGLMODULES_LIBS = @XGLMODULES_LIBS@
-XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@
-XGLXMODULES_LIBS = @XGLXMODULES_LIBS@
-XGLX_LIBS = @XGLX_LIBS@
-XGLX_SYS_LIBS = @XGLX_SYS_LIBS@
-XGL_LIBS = @XGL_LIBS@
-XGL_MODULE_PATH = @XGL_MODULE_PATH@
-XGL_SYS_LIBS = @XGL_SYS_LIBS@
XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@
XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@
XKB_COMPILED_DIR = @XKB_COMPILED_DIR@
@@ -276,10 +256,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@
XNESTMODULES_LIBS = @XNESTMODULES_LIBS@
XNEST_LIBS = @XNEST_LIBS@
XNEST_SYS_LIBS = @XNEST_SYS_LIBS@
-XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@
-XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@
-XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@
-XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@
XORG_CFLAGS = @XORG_CFLAGS@
XORG_INCS = @XORG_INCS@
XORG_LIBS = @XORG_LIBS@
@@ -288,13 +264,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@
XORG_OS = @XORG_OS@
XORG_OS_SUBDIR = @XORG_OS_SUBDIR@
XORG_SYS_LIBS = @XORG_SYS_LIBS@
-XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@
-XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@
-XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@
-XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@
-XPRINT_CFLAGS = @XPRINT_CFLAGS@
-XPRINT_LIBS = @XPRINT_LIBS@
-XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@
+XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@
+XPBPROXY_LIBS = @XPBPROXY_LIBS@
XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@
XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@
XSDL_INCS = @XSDL_INCS@
@@ -327,8 +298,7 @@ abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -348,7 +318,6 @@ driverdir = @driverdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
extdir = @extdir@
-ft_config = @ft_config@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -358,12 +327,12 @@ htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
-launchagentsdir = @launchagentsdir@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
logdir = @logdir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
moduledir = @moduledir@
@@ -381,8 +350,6 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-xglmoduledir = @xglmoduledir@
-xpconfigdir = @xpconfigdir@
@XORG_TRUE@sdk_HEADERS = \
@XORG_TRUE@ XIstubs.h \
@XORG_TRUE@ bstore.h \
@@ -419,6 +386,7 @@ xpconfigdir = @xpconfigdir@
@XORG_TRUE@ privates.h \
@XORG_TRUE@ property.h \
@XORG_TRUE@ propertyst.h \
+@XORG_TRUE@ ptrveloc.h \
@XORG_TRUE@ region.h \
@XORG_TRUE@ regionstr.h \
@XORG_TRUE@ registry.h \
@@ -436,14 +404,16 @@ xpconfigdir = @xpconfigdir@
@XORG_TRUE@ windowstr.h \
@XORG_TRUE@ xkbfile.h \
@XORG_TRUE@ xkbsrv.h \
-@XORG_TRUE@ xkbstr.h \
-@XORG_TRUE@ xorg-server.h
+@XORG_TRUE@ xkbstr.h \
+@XORG_TRUE@ xkbrules.h \
+@XORG_TRUE@ xserver-properties.h
+@XORG_TRUE@nodist_sdk_HEADERS = xorg-server.h
AM_CFLAGS = $(DIX_CFLAGS)
-EXTRA_DIST = $(sdk_HEADERS) do-not-use-config.h dix-config.h xorg-config.h \
- xkb-config.h
+EXTRA_DIST = \
+ dix-config-apple-verbatim.h
-all: do-not-use-config.h xorg-server.h dix-config.h xgl-config.h xorg-config.h xkb-config.h xwin-config.h kdrive-config.h
+all: do-not-use-config.h xorg-server.h dix-config.h xorg-config.h xkb-config.h xwin-config.h kdrive-config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
@@ -451,8 +421,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
@@ -511,64 +481,71 @@ stamp-h3: $(srcdir)/dix-config.h.in $(top_builddir)/config.status
@rm -f stamp-h3
cd $(top_builddir) && $(SHELL) ./config.status include/dix-config.h
-xgl-config.h: stamp-h4
+xorg-config.h: stamp-h4
@if test ! -f $@; then \
rm -f stamp-h4; \
$(MAKE) $(AM_MAKEFLAGS) stamp-h4; \
else :; fi
-stamp-h4: $(srcdir)/xgl-config.h.in $(top_builddir)/config.status
+stamp-h4: $(srcdir)/xorg-config.h.in $(top_builddir)/config.status
@rm -f stamp-h4
- cd $(top_builddir) && $(SHELL) ./config.status include/xgl-config.h
+ cd $(top_builddir) && $(SHELL) ./config.status include/xorg-config.h
-xorg-config.h: stamp-h5
+xkb-config.h: stamp-h5
@if test ! -f $@; then \
rm -f stamp-h5; \
$(MAKE) $(AM_MAKEFLAGS) stamp-h5; \
else :; fi
-stamp-h5: $(srcdir)/xorg-config.h.in $(top_builddir)/config.status
+stamp-h5: $(srcdir)/xkb-config.h.in $(top_builddir)/config.status
@rm -f stamp-h5
- cd $(top_builddir) && $(SHELL) ./config.status include/xorg-config.h
+ cd $(top_builddir) && $(SHELL) ./config.status include/xkb-config.h
-xkb-config.h: stamp-h6
+xwin-config.h: stamp-h6
@if test ! -f $@; then \
rm -f stamp-h6; \
$(MAKE) $(AM_MAKEFLAGS) stamp-h6; \
else :; fi
-stamp-h6: $(srcdir)/xkb-config.h.in $(top_builddir)/config.status
+stamp-h6: $(srcdir)/xwin-config.h.in $(top_builddir)/config.status
@rm -f stamp-h6
- cd $(top_builddir) && $(SHELL) ./config.status include/xkb-config.h
+ cd $(top_builddir) && $(SHELL) ./config.status include/xwin-config.h
-xwin-config.h: stamp-h7
+kdrive-config.h: stamp-h7
@if test ! -f $@; then \
rm -f stamp-h7; \
$(MAKE) $(AM_MAKEFLAGS) stamp-h7; \
else :; fi
-stamp-h7: $(srcdir)/xwin-config.h.in $(top_builddir)/config.status
+stamp-h7: $(srcdir)/kdrive-config.h.in $(top_builddir)/config.status
@rm -f stamp-h7
- cd $(top_builddir) && $(SHELL) ./config.status include/xwin-config.h
-
-kdrive-config.h: stamp-h8
- @if test ! -f $@; then \
- rm -f stamp-h8; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h8; \
- else :; fi
-
-stamp-h8: $(srcdir)/kdrive-config.h.in $(top_builddir)/config.status
- @rm -f stamp-h8
cd $(top_builddir) && $(SHELL) ./config.status include/kdrive-config.h
distclean-hdr:
- -rm -f do-not-use-config.h stamp-h1 xorg-server.h stamp-h2 dix-config.h stamp-h3 xgl-config.h stamp-h4 xorg-config.h stamp-h5 xkb-config.h stamp-h6 xwin-config.h stamp-h7 kdrive-config.h stamp-h8
+ -rm -f do-not-use-config.h stamp-h1 xorg-server.h stamp-h2 dix-config.h stamp-h3 xorg-config.h stamp-h4 xkb-config.h stamp-h5 xwin-config.h stamp-h6 kdrive-config.h stamp-h7
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
+install-nodist_sdkHEADERS: $(nodist_sdk_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(sdkdir)" || $(MKDIR_P) "$(DESTDIR)$(sdkdir)"
+ @list='$(nodist_sdk_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(nodist_sdkHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sdkdir)/$$f'"; \
+ $(nodist_sdkHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sdkdir)/$$f"; \
+ done
+
+uninstall-nodist_sdkHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(nodist_sdk_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(sdkdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(sdkdir)/$$f"; \
+ done
install-sdkHEADERS: $(sdk_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(sdkdir)" || $(MKDIR_P) "$(DESTDIR)$(sdkdir)"
@@ -592,16 +569,16 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
-TAGS: $(HEADERS) $(SOURCES) do-not-use-config.h.in xorg-server.h.in dix-config.h.in xgl-config.h.in xorg-config.h.in xkb-config.h.in xwin-config.h.in kdrive-config.h.in $(TAGS_DEPENDENCIES) \
+TAGS: $(HEADERS) $(SOURCES) do-not-use-config.h.in xorg-server.h.in dix-config.h.in xorg-config.h.in xkb-config.h.in xwin-config.h.in kdrive-config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) do-not-use-config.h.in xorg-server.h.in dix-config.h.in xgl-config.h.in xorg-config.h.in xkb-config.h.in xwin-config.h.in kdrive-config.h.in $(LISP) $(TAGS_FILES)'; \
+ list='$(SOURCES) $(HEADERS) do-not-use-config.h.in xorg-server.h.in dix-config.h.in xorg-config.h.in xkb-config.h.in xwin-config.h.in kdrive-config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
@@ -613,10 +590,10 @@ TAGS: $(HEADERS) $(SOURCES) do-not-use-config.h.in xorg-server.h.in dix-config.
$$tags $$unique; \
fi
ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) do-not-use-config.h.in xorg-server.h.in dix-config.h.in xgl-config.h.in xorg-config.h.in xkb-config.h.in xwin-config.h.in kdrive-config.h.in $(TAGS_DEPENDENCIES) \
+CTAGS: $(HEADERS) $(SOURCES) do-not-use-config.h.in xorg-server.h.in dix-config.h.in xorg-config.h.in xkb-config.h.in xwin-config.h.in kdrive-config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- list='$(SOURCES) $(HEADERS) do-not-use-config.h.in xorg-server.h.in dix-config.h.in xgl-config.h.in xorg-config.h.in xkb-config.h.in xwin-config.h.in kdrive-config.h.in $(LISP) $(TAGS_FILES)'; \
+ list='$(SOURCES) $(HEADERS) do-not-use-config.h.in xorg-server.h.in dix-config.h.in xorg-config.h.in xkb-config.h.in xwin-config.h.in kdrive-config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
@@ -663,10 +640,10 @@ distdir: $(DISTFILES)
check-am: all-am
check: check-am
all-am: Makefile $(HEADERS) do-not-use-config.h xorg-server.h \
- dix-config.h xgl-config.h xorg-config.h xkb-config.h \
- xwin-config.h kdrive-config.h
+ dix-config.h xorg-config.h xkb-config.h xwin-config.h \
+ kdrive-config.h
installdirs:
- for dir in "$(DESTDIR)$(sdkdir)"; do \
+ for dir in "$(DESTDIR)$(sdkdir)" "$(DESTDIR)$(sdkdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -711,7 +688,7 @@ info: info-am
info-am:
-install-data-am: install-sdkHEADERS
+install-data-am: install-nodist_sdkHEADERS install-sdkHEADERS
install-dvi: install-dvi-am
@@ -745,7 +722,7 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-sdkHEADERS
+uninstall-am: uninstall-nodist_sdkHEADERS uninstall-sdkHEADERS
.MAKE: install-am install-strip
@@ -755,12 +732,13 @@ uninstall-am: uninstall-sdkHEADERS
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-sdkHEADERS install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-sdkHEADERS
+ install-info-am install-man install-nodist_sdkHEADERS \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-sdkHEADERS install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags uninstall uninstall-am \
+ uninstall-nodist_sdkHEADERS uninstall-sdkHEADERS
# 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.
diff --git a/xorg-server/include/cursor.h b/xorg-server/include/cursor.h
index 8635cf1a2..f7c16e3f9 100644
--- a/xorg-server/include/cursor.h
+++ b/xorg-server/include/cursor.h
@@ -59,9 +59,14 @@ SOFTWARE.
#define ARGB_CURSOR
#endif
+struct _DeviceIntRec;
+
typedef struct _Cursor *CursorPtr;
typedef struct _CursorMetric *CursorMetricPtr;
+extern int cursorScreenDevPriv[MAXSCREENS];
+#define CursorScreenKey(pScreen) (cursorScreenDevPriv + (pScreen)->myNum)
+
extern CursorPtr rootCursor;
extern int FreeCursor(
@@ -105,7 +110,7 @@ extern CursorPtr CreateRootCursor(
extern int ServerBitsFromGlyph(
FontPtr /*pfont*/,
unsigned int /*ch*/,
- register CursorMetricPtr /*cm*/,
+ CursorMetricPtr /*cm*/,
unsigned char ** /*ppbits*/);
extern Bool CursorMetricsFromGlyph(
@@ -117,18 +122,20 @@ extern void CheckCursorConfinement(
WindowPtr /*pWin*/);
extern void NewCurrentScreen(
+ struct _DeviceIntRec* /*pDev*/,
ScreenPtr /*newScreen*/,
int /*x*/,
int /*y*/);
-extern Bool PointerConfinedToScreen(void);
+extern Bool PointerConfinedToScreen(struct _DeviceIntRec* /* pDev */);
extern void GetSpritePosition(
+ struct _DeviceIntRec* /* pDev */,
int * /*px*/,
int * /*py*/);
#ifdef PANORAMIX
-extern int XineramaGetCursorScreen(void);
+extern int XineramaGetCursorScreen(struct _DeviceIntRec* pDev);
#endif /* PANORAMIX */
#endif /* CURSOR_H */
diff --git a/xorg-server/include/cursorstr.h b/xorg-server/include/cursorstr.h
index bca35969b..3ff56e2bf 100644
--- a/xorg-server/include/cursorstr.h
+++ b/xorg-server/include/cursorstr.h
@@ -92,7 +92,4 @@ typedef struct {
ScreenPtr pScreen;
} HotSpot;
-#ifdef XEVIE
-extern HotSpot xeviehot;
-#endif
#endif /* CURSORSTRUCT_H */
diff --git a/xorg-server/include/dix-config-apple-verbatim.h b/xorg-server/include/dix-config-apple-verbatim.h
new file mode 100644
index 000000000..f429d200e
--- /dev/null
+++ b/xorg-server/include/dix-config-apple-verbatim.h
@@ -0,0 +1,8 @@
+/* Do not include this file directly. It is included at the end of <dix-config.h> */
+
+/* Correctly set _XSERVER64 for OSX fat binaries */
+#if defined(__LP64__) && !defined(_XSERVER64)
+#define _XSERVER64 1
+#elif !defined(__LP64__) && defined(_XSERVER64)
+#undef _XSERVER64
+#endif
diff --git a/xorg-server/include/dix-config.h.in b/xorg-server/include/dix-config.h.in
index afd82a145..db491ed06 100644
--- a/xorg-server/include/dix-config.h.in
+++ b/xorg-server/include/dix-config.h.in
@@ -27,29 +27,12 @@
/* Support Composite Extension */
#undef COMPOSITE
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
- */
-#undef CRAY_STACKSEG_END
-
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
/* Support Damage extension */
#undef DAMAGE
/* Build for darwin with Quartz support */
#undef DARWIN_WITH_QUARTZ
-/* Use OsVendorInit */
-#undef DDXOSINIT
-
-/* Use GetTimeInMillis */
-#undef DDXTIME
-
-/* Use OsVendorFatalError */
-#undef DDXOSFATALERROR
-
/* Use OsVendorVErrorF */
#undef DDXOSVERRORF
@@ -68,9 +51,6 @@
/* Path to DRI drivers */
#undef DRI_DRIVER_PATH
-/* Include handhelds.org h3600 touchscreen driver */
-#undef H3600_TS
-
/* Support XDM-AUTH*-1 */
#undef HASXDMAUTH
@@ -92,12 +72,8 @@
/* Support SHM */
#undef HAS_SHM
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
- */
-#undef HAVE_ALLOCA_H
+/* Have the 'strlcpy' function */
+#undef HAS_STRLCPY
/* Define to 1 if you have the <asm/mtrr.h> header file. */
#undef HAVE_ASM_MTRR_H
@@ -136,12 +112,6 @@
/* Define to 1 if you have the `getisax' function. */
#undef HAVE_GETISAX
-/* Define to 1 if you have the `getopt' function. */
-#undef HAVE_GETOPT
-
-/* Define to 1 if you have the `getopt_long' function. */
-#undef HAVE_GETOPT_LONG
-
/* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID
@@ -151,12 +121,12 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
-/* Define to 1 if you have version 2.2 (or newer) of the drm library */
-#undef HAVE_LIBDRM_2_2
-
/* Have Quartz */
#undef XQUARTZ
+/* Build a standalone xpbproxy */
+#undef STANDALONE_XPBPROXY
+
/* Define to 1 if you have the `m' library (-lm). */
#undef HAVE_LIBM
@@ -172,18 +142,6 @@
/* Define to 1 if you have the <linux/fb.h> header file. */
#undef HAVE_LINUX_FB_H
-/* Define to 1 if you have the <linux/h3600_ts.h> header file. */
-#undef HAVE_LINUX_H3600_TS_H
-
-/* Define to 1 if you have the `memmove' function. */
-#undef HAVE_MEMMOVE
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `memset' function. */
-#undef HAVE_MEMSET
-
/* Define to 1 if you have the `mkstemp' function. */
#undef HAVE_MKSTEMP
@@ -196,6 +154,9 @@
/* Define to 1 if you have the <rpcsvc/dbm.h> header file. */
#undef HAVE_RPCSVC_DBM_H
+/* Define to use libmd SHA1 functions instead of OpenSSL libcrypto */
+#undef HAVE_SHA1_IN_LIBMD
+
/* Define to 1 if you have the `shmctl64' function. */
#undef HAVE_SHMCTL64
@@ -264,15 +225,9 @@
/* Support os-specific local connections */
#undef LOCALCONN
-/* Support MIT Misc extension */
-#undef MITMISC
-
/* Support MIT-SHM Extension */
#undef MITSHM
-/* Disable some debugging code */
-#undef NDEBUG
-
/* Enable some debugging code */
#undef DEBUG
@@ -303,26 +258,9 @@
/* Support Secure RPC ("SUN-DES-1") authentication for X11 clients */
#undef SECURE_RPC
-/* Use a lock to prevent multiple servers on a display */
-#undef SERVER_LOCK
-
/* Support SHAPE extension */
#undef SHAPE
-/* Include time-based scheduler */
-#undef SMART_SCHEDULE
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
/* Define to 1 on systems derived from System V Release 4 */
#undef SVR4
@@ -362,15 +300,9 @@
/* Support Xdmcp */
#undef XDMCP
-/* Build XEvIE extension */
-#undef XEVIE
-
/* Build XFree86 BigFont extension */
#undef XF86BIGFONT
-/* Support XFree86 miscellaneous extensions */
-#undef XF86MISC
-
/* Support XFree86 Video Mode extension */
#undef XF86VIDMODE
@@ -383,9 +315,6 @@
/* Support Xinerama extension */
#undef XINERAMA
-/* Support X Input extension */
-#undef XINPUT
-
/* Build XKB */
#undef XKB
@@ -410,38 +339,21 @@
/* Build XvMC Extension */
#undef XvMCExtension
-/* Build XRes extension */
-#undef XResExtension
-
/* Support XSync extension */
#undef XSYNC
/* Support XTest extension */
#undef XTEST
-/* Support XTrap extension */
-#undef XTRAP
-
/* Support Xv extension */
#undef XV
-/* Build APPGROUP extension */
-#undef XAPPGROUP
-
-/* Build TOG-CUP extension */
-#undef TOGCUP
-
-/* Build Extended-Visual-Information extension */
-#undef EVI
-
/* Build Multibuffer extension */
#undef MULTIBUFFER
/* Support DRI extension */
#undef XF86DRI
-#undef XEPHYR_DRI
-
/* Build DRI2 extension */
#undef DRI2
@@ -451,19 +363,6 @@
/* Vendor name */
#undef XVENDORNAME
-/* Endian order */
-#undef _X_BYTE_ORDER
-/* Deal with multiple architecture compiles on Mac OS X */
-#ifndef __APPLE_CC__
-#define X_BYTE_ORDER _X_BYTE_ORDER
-#else
-#ifdef __BIG_ENDIAN__
-#define X_BYTE_ORDER X_BIG_ENDIAN
-#else
-#define X_BYTE_ORDER X_LITTLE_ENDIAN
-#endif
-#endif
-
/* Enable GNU and other extensions to the C environment for GLIBC */
#undef _GNU_SOURCE
@@ -485,12 +384,12 @@
/* Define to 1 if `struct sockaddr_in' has a `sin_len' member */
#undef BSD44SOCKETS
-/* Define to 1 if modules should avoid the libcwrapper */
-#undef NO_LIBCWRAPPER
-
/* Support D-Bus */
#undef HAVE_DBUS
+/* Use D-Bus for input hotplug */
+#undef CONFIG_NEED_DBUS
+
/* Support the D-Bus hotplug API */
#undef CONFIG_DBUS_API
@@ -500,9 +399,6 @@
/* Use only built-in fonts */
#undef BUILTIN_FONTS
-/* Avoid using font servers */
-#undef NOFONTSERVERACCESS
-
/* Use an empty root cursor */
#undef NULL_ROOT_CURSOR
@@ -530,4 +426,14 @@
/* Need the strcasestr function. */
#undef NEED_STRCASESTR
+/* Define to 1 if you have the `ffs' function. */
+#undef HAVE_FFS
+
+/* Correctly set _XSERVER64 for OSX fat binaries */
+#ifdef __APPLE__
+#include "dix-config-apple-verbatim.h"
+#endif
+
+#undef HAVE_AVC_NETLINK_ACQUIRE_FD
+
#endif /* _DIX_CONFIG_H_ */
diff --git a/xorg-server/include/dix.h b/xorg-server/include/dix.h
index 64035fec7..66af953b2 100644
--- a/xorg-server/include/dix.h
+++ b/xorg-server/include/dix.h
@@ -51,6 +51,9 @@ SOFTWARE.
#include "gc.h"
#include "window.h"
#include "input.h"
+#include "cursor.h"
+#include "geext.h"
+#include <X11/extensions/XI.h>
#define EARLIER -1
#define SAMETIME 0
@@ -58,7 +61,7 @@ SOFTWARE.
#define NullClient ((ClientPtr) 0)
#define REQUEST(type) \
- register type *stuff = (type *)client->requestBuffer
+ type *stuff = (type *)client->requestBuffer
#define REQUEST_SIZE_MATCH(req)\
@@ -116,10 +119,7 @@ typedef struct _Client *ClientPtr; /* also in misc.h */
typedef struct _WorkQueue *WorkQueuePtr;
-#ifdef XPRINT
-extern ClientPtr requestingClient;
-#endif
-extern ClientPtr *clients;
+extern ClientPtr clients[MAXCLIENTS];
extern ClientPtr serverClient;
extern int currentMaxClients;
extern char dispatchExceptionAtReset;
@@ -169,9 +169,7 @@ extern void SendErrorToClient(
extern void MarkClientException(
ClientPtr /*client*/);
-#if defined(DDXBEFORERESET)
extern void ddxBeforeReset (void);
-#endif
/* dixutils.c */
@@ -218,7 +216,7 @@ extern int AlterSaveSetForClient(
WindowPtr /*pWin*/,
unsigned /*mode*/,
Bool /*toRoot*/,
- Bool /*remap*/);
+ Bool /*map*/);
extern void DeleteWindowFromAnySaveSet(
WindowPtr /*pWin*/);
@@ -309,17 +307,23 @@ extern void SetVendorString(char *string);
/* events.c */
extern void SetMaskForEvent(
+ int /* deviceid */,
Mask /* mask */,
int /* event */);
+extern void ConfineToShape(
+ DeviceIntPtr /* pDev */,
+ RegionPtr /* shape */,
+ int* /* px */,
+ int* /* py */);
extern Bool IsParent(
WindowPtr /* maybeparent */,
WindowPtr /* child */);
-extern WindowPtr GetCurrentRootWindow(void);
+extern WindowPtr GetCurrentRootWindow(DeviceIntPtr pDev);
-extern WindowPtr GetSpriteWindow(void);
+extern WindowPtr GetSpriteWindow(DeviceIntPtr pDev);
extern void NoticeEventTime(xEventPtr /* xE */);
@@ -351,12 +355,14 @@ extern void AllowSome(
ClientPtr /* client */,
TimeStamp /* time */,
DeviceIntPtr /* thisDev */,
- int /* newState */);
+ int /* newState */,
+ Bool /* core */);
extern void ReleaseActiveGrabs(
ClientPtr client);
extern int DeliverEventsToWindow(
+ DeviceIntPtr /* pWin */,
WindowPtr /* pWin */,
xEventPtr /* pEvents */,
int /* count */,
@@ -375,8 +381,17 @@ extern int DeliverDeviceEvents(
extern void DefineInitialRootWindow(
WindowPtr /* win */);
+extern void SetupSprite(
+ DeviceIntPtr /* pDev */,
+ ScreenPtr /* pScreen */);
+
+extern void InitializeSprite(
+ DeviceIntPtr /* pDev */,
+ WindowPtr /* pWin */);
+
extern void UpdateSpriteForScreen(
- ScreenPtr /* pScreen */);
+ DeviceIntPtr /* pDev */,
+ ScreenPtr /* pScreen */);
extern void WindowHasNewCursor(
WindowPtr /* pWin */);
@@ -435,9 +450,14 @@ extern int GrabDevice(
unsigned /* ownerEvents */,
Time /* ctime */,
Mask /* mask */,
- CARD8 * /* status */);
+ CARD8 * /* status */,
+ Bool /* coreGrab */);
extern void InitEvents(void);
+extern void InitSprite(
+ DeviceIntPtr /* pDev */,
+ Bool /* hasCursor */
+ );
extern void CloseDownEvents(void);
@@ -458,6 +478,10 @@ extern int DeliverEvents(
int /*count*/,
WindowPtr /*otherParent*/);
+extern Bool
+CheckMotion(
+ xEvent* /* xE */,
+ DeviceIntPtr /* pDev */);
extern void WriteEventsToClient(
ClientPtr /*pClient*/,
@@ -466,6 +490,7 @@ extern void WriteEventsToClient(
extern int TryClientEvents(
ClientPtr /*client*/,
+ DeviceIntPtr /* device */,
xEventPtr /*pEvents*/,
int /*count*/,
Mask /*mask*/,
@@ -474,6 +499,22 @@ extern int TryClientEvents(
extern void WindowsRestructured(void);
+extern Bool SetClientPointer(
+ ClientPtr /* client */,
+ ClientPtr /* setter */,
+ DeviceIntPtr /* device */);
+
+extern DeviceIntPtr PickPointer(
+ ClientPtr /* client */);
+
+extern DeviceIntPtr PickKeyboard(
+ ClientPtr /* client */);
+
+extern Bool IsInterferingGrab(
+ ClientPtr /* client */,
+ DeviceIntPtr /* dev */,
+ xEvent* /* events */);
+
#ifdef PANORAMIX
extern void ReinitializeRootWindow(WindowPtr win, int xoff, int yoff);
#endif
@@ -553,33 +594,21 @@ typedef struct {
int count;
} DeviceEventInfoRec;
-/* strcasecmp.c */
-#if NEED_STRCASECMP
-#define strcasecmp xstrcasecmp
-extern int xstrcasecmp(const char *s1, const char *s2);
-#endif
-
-#if NEED_STRNCASECMP
-#define strncasecmp xstrncasecmp
-extern int xstrncasecmp(const char *s1, const char *s2, size_t n);
-#endif
-
-#if NEED_STRCASESTR
-#define strcasestr xstrcasestr
-extern char *xstrcasestr(const char *s, const char *find);
-#endif
+extern int XItoCoreType(int xi_type);
+extern Bool DevHasCursor(DeviceIntPtr pDev);
+extern Bool IsPointerDevice( DeviceIntPtr dev);
+extern Bool IsKeyboardDevice(DeviceIntPtr dev);
+extern Bool IsPointerEvent(xEvent* xE);
/*
* These are deprecated compatibility functions and will be removed soon!
* Please use the noted replacements instead.
*/
-
/* replaced by dixLookupWindow */
extern WindowPtr SecurityLookupWindow(
XID id,
ClientPtr client,
Mask access_mode);
-
/* replaced by dixLookupWindow */
extern WindowPtr LookupWindow(
XID id,
@@ -601,4 +630,16 @@ extern ClientPtr LookupClient(
XID id,
ClientPtr client);
+/* GE stuff */
+extern void SetGenericFilter(int extension, Mask* filters);
+extern int ExtGrabDevice(ClientPtr client,
+ DeviceIntPtr dev,
+ int device_mode,
+ WindowPtr grabWindow,
+ WindowPtr confineTo,
+ TimeStamp ctime,
+ Bool ownerEvents,
+ CursorPtr cursor,
+ Mask xi_mask,
+ GenericMaskPtr ge_masks);
#endif /* DIX_H */
diff --git a/xorg-server/include/dixevents.h b/xorg-server/include/dixevents.h
index 77b37c85e..1ce2ad0c1 100644
--- a/xorg-server/include/dixevents.h
+++ b/xorg-server/include/dixevents.h
@@ -28,7 +28,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
extern void SetCriticalEvent(int /* event */);
-extern CursorPtr GetSpriteCursor(void);
+extern CursorPtr GetSpriteCursor(DeviceIntPtr /*pDev*/);
extern int ProcAllowEvents(ClientPtr /* client */);
@@ -81,7 +81,11 @@ extern int ProcUngrabButton(ClientPtr /* client */);
extern int ProcRecolorCursor(ClientPtr /* client */);
#ifdef PANORAMIX
-extern void PostSyntheticMotion(int x, int y, int screen, unsigned long time);
+extern void PostSyntheticMotion(DeviceIntPtr pDev,
+ int x,
+ int y,
+ int screen,
+ unsigned long time);
#endif
#endif /* DIXEVENTS_H */
diff --git a/xorg-server/include/dixfont.h b/xorg-server/include/dixfont.h
index 516d91b58..0f3df97cf 100644
--- a/xorg-server/include/dixfont.h
+++ b/xorg-server/include/dixfont.h
@@ -33,10 +33,6 @@ SOFTWARE.
typedef struct _DIXFontProp *DIXFontPropPtr;
-extern FPEFunctions *fpe_functions;
-
-extern int FontToXError(int /*err*/);
-
extern Bool SetDefaultFont(char * /*defaultfontname*/);
extern void QueueFontWakeup(FontPathElementPtr /*fpe*/);
@@ -110,12 +106,6 @@ extern int GetFontPath(ClientPtr client,
int *length,
unsigned char **result);
-extern int LoadGlyphs(ClientPtr /*client*/,
- FontPtr /*pfont*/,
- unsigned /*nchars*/,
- int /*item_size*/,
- unsigned char * /*data*/);
-
extern void DeleteClientFontStuff(ClientPtr /*client*/);
/* Quartz support on Mac OS X pulls in the QuickDraw
@@ -152,4 +142,47 @@ extern void InitGlyphCaching(void);
extern void SetGlyphCachingMode(int /*newmode*/);
+/*
+ * libXfont/src/builtins/builtin.h
+ */
+extern void BuiltinRegisterFpeFunctions(void);
+
+/*
+ * libXfont stubs.
+ */
+extern int client_auth_generation(ClientPtr client);
+
+extern void DeleteFontClientID(Font id);
+
+extern FontResolutionPtr GetClientResolutions(int *num);
+
+extern int GetDefaultPointSize(void);
+
+extern Font GetNewFontClientID(void);
+
+extern int init_fs_handlers(FontPathElementPtr fpe,
+ BlockHandlerProcPtr block_handler);
+
+extern int RegisterFPEFunctions(NameCheckFunc name_func,
+ InitFpeFunc init_func,
+ FreeFpeFunc free_func,
+ ResetFpeFunc reset_func,
+ OpenFontFunc open_func,
+ CloseFontFunc close_func,
+ ListFontsFunc list_func,
+ StartLfwiFunc start_lfwi_func,
+ NextLfwiFunc next_lfwi_func,
+ WakeupFpeFunc wakeup_func,
+ ClientDiedFunc client_died,
+ LoadGlyphsFunc load_glyphs,
+ StartLaFunc start_list_alias_func,
+ NextLaFunc next_list_alias_func,
+ SetPathFunc set_path_func);
+
+extern void remove_fs_handlers(FontPathElementPtr fpe,
+ BlockHandlerProcPtr blockHandler,
+ Bool all);
+
+extern int StoreFontClientFont(FontPtr pfont, Font id);
+
#endif /* DIXFONT_H */
diff --git a/xorg-server/include/dixgrabs.h b/xorg-server/include/dixgrabs.h
index f93e99957..29aa82857 100644
--- a/xorg-server/include/dixgrabs.h
+++ b/xorg-server/include/dixgrabs.h
@@ -47,7 +47,8 @@ extern int DeletePassiveGrab(
extern Bool GrabMatchesSecond(
GrabPtr /* pFirstGrab */,
- GrabPtr /* pSecondGrab */);
+ GrabPtr /* pSecondGrab */,
+ Bool /*ignoreDevice*/);
extern int AddPassiveGrabToList(
ClientPtr /* client */,
diff --git a/xorg-server/include/dixstruct.h b/xorg-server/include/dixstruct.h
index 88d1df342..3eac3d110 100644
--- a/xorg-server/include/dixstruct.h
+++ b/xorg-server/include/dixstruct.h
@@ -71,22 +71,22 @@ typedef enum {ClientStateInitial,
typedef struct _saveSet {
struct _Window *windowPtr;
Bool toRoot;
- Bool remap;
+ Bool map;
} SaveSetElt;
#define SaveSetWindow(ss) ((ss).windowPtr)
#define SaveSetToRoot(ss) ((ss).toRoot)
-#define SaveSetRemap(ss) ((ss).remap)
+#define SaveSetShouldMap(ss) ((ss).map)
#define SaveSetAssignWindow(ss,w) ((ss).windowPtr = (w))
#define SaveSetAssignToRoot(ss,tr) ((ss).toRoot = (tr))
-#define SaveSetAssignRemap(ss,rm) ((ss).remap = (rm))
+#define SaveSetAssignMap(ss,m) ((ss).map = (m))
#else
typedef struct _Window *SaveSetElt;
#define SaveSetWindow(ss) (ss)
#define SaveSetToRoot(ss) FALSE
-#define SaveSetRemap(ss) TRUE
+#define SaveSetShouldMap(ss) TRUE
#define SaveSetAssignWindow(ss,w) ((ss) = (w))
#define SaveSetAssignToRoot(ss,tr)
-#define SaveSetAssignRemap(ss,rm)
+#define SaveSetAssignMap(ss,m)
#endif
typedef struct _Client {
@@ -125,21 +125,18 @@ typedef struct _Client {
int requestLogIndex;
#endif
unsigned long replyBytesRemaining;
-#ifdef XAPPGROUP
- struct _AppGroupRec* appgroup;
-#endif
+ void *appgroup; /* Can't remove, ABI */
struct _FontResolution * (*fontResFunc) ( /* no need for font.h */
ClientPtr /* pClient */,
int * /* num */);
-#ifdef SMART_SCHEDULE
int smart_priority;
long smart_start_tick;
long smart_stop_tick;
long smart_check_tick;
-#endif
+
+ DeviceIntPtr clientPtr;
} ClientRec;
-#ifdef SMART_SCHEDULE
/*
* Scheduling interface
*/
@@ -155,7 +152,6 @@ extern void SmartScheduleStopTimer(void);
extern Bool SmartScheduleInit(void);
-#endif
/* This prototype is used pervasively in Xext, dix */
#define DISPATCH_PROC(func) int func(ClientPtr /* client */)
diff --git a/xorg-server/include/do-not-use-config.h b/xorg-server/include/do-not-use-config.h
deleted file mode 100644
index ddec02eee..000000000
--- a/xorg-server/include/do-not-use-config.h
+++ /dev/null
@@ -1,789 +0,0 @@
-/* include/do-not-use-config.h. Generated from do-not-use-config.h.in by configure. */
-/* include/do-not-use-config.h.in. Generated from configure.ac by autoheader. */
-
-/* Define if building universal (internal helper macro) */
-/* #undef AC_APPLE_UNIVERSAL_BUILD */
-
-/* Build AIGLX loader */
-#define AIGLX 1
-
-/* Default base font path */
-#define BASE_FONT_PATH "/usr/local/lib/X11/fonts"
-
-/* Support BigRequests extension */
-#define BIGREQS 1
-
-/* Define to 1 if `struct sockaddr_in' has a `sin_len' member */
-/* #undef BSD44SOCKETS */
-
-/* Builder address */
-#define BUILDERADDR "xorg@lists.freedesktop.org"
-
-/* Builder string */
-#define BUILDERSTRING ""
-
-/* Use only built-in fonts */
-/* #undef BUILTIN_FONTS */
-
-/* Default font path */
-#define COMPILEDDEFAULTFONTPATH "/usr/local/lib/X11/fonts/misc/,/usr/local/lib/X11/fonts/TTF/,/usr/local/lib/X11/fonts/OTF,/usr/local/lib/X11/fonts/Type1/,/usr/local/lib/X11/fonts/100dpi/,/usr/local/lib/X11/fonts/75dpi/"
-
-/* Support Composite Extension */
-#define COMPOSITE 1
-
-/* Use the D-Bus input configuration API */
-/* #undef CONFIG_DBUS_API */
-
-/* Use the HAL hotplug API */
-#define CONFIG_HAL 1
-
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
- */
-/* #undef CRAY_STACKSEG_END */
-
-/* System is BSD-like */
-/* #undef CSRG_BASED */
-
-/* Simple debug messages */
-/* #undef CYGDEBUG */
-
-/* Debug window manager */
-/* #undef CYGMULTIWINDOW_DEBUG */
-
-/* Debug messages for window handling */
-/* #undef CYGWINDOWING_DEBUG */
-
-/* Define to 1 if using `alloca.c'. */
-/* #undef C_ALLOCA */
-
-/* Support Damage extension */
-#define DAMAGE 1
-
-/* Support DBE extension */
-#define DBE 1
-
-/* Use ddxBeforeReset */
-/* #undef DDXBEFORERESET */
-
-/* Use OsVendorFatalError */
-/* #undef DDXOSFATALERROR */
-
-/* Use OsVendorInit */
-#define DDXOSINIT 1
-
-/* Use OsVendorVErrorF */
-/* #undef DDXOSVERRORF */
-
-/* Use GetTimeInMillis */
-/* #undef DDXTIME */
-
-/* Enable debugging code */
-/* #undef DEBUG */
-
-/* Default library install path */
-#define DEFAULT_LIBRARY_PATH "/usr/local/lib"
-
-/* Default log location */
-#define DEFAULT_LOGPREFIX "/usr/local/var/log/Xorg."
-
-/* Default module search path */
-#define DEFAULT_MODULE_PATH "/usr/local/lib/xorg/modules"
-
-/* Support DGA extension */
-#define DGA 1
-
-/* Support DPMS extension */
-#define DPMSExtension 1
-
-/* Build DRI2 extension */
-/* #undef DRI2 */
-
-/* Default DRI driver path */
-#define DRI_DRIVER_PATH "/usr/local/lib/dri"
-
-/* Build Extended-Visual-Information extension */
-#define EVI 1
-
-/* Build FontCache extension */
-/* #undef FONTCACHE */
-
-/* Build GLX extension */
-#define GLXEXT 1
-
-/* Support XDM-AUTH*-1 */
-#define HASXDMAUTH 1
-
-/* System has /dev/xf86 aperture driver */
-/* #undef HAS_APERTURE_DRV */
-
-/* Cygwin has /dev/windows for signaling new win32 messages */
-/* #undef HAS_DEVWINDOWS */
-
-/* Have the 'getdtablesize' function. */
-#define HAS_GETDTABLESIZE 1
-
-/* Have the 'getifaddrs' function. */
-#define HAS_GETIFADDRS 1
-
-/* Have the 'getpeereid' function. */
-/* #undef HAS_GETPEEREID */
-
-/* Have the 'getpeerucred' function. */
-/* #undef HAS_GETPEERUCRED */
-
-/* Have the 'mmap' function. */
-#define HAS_MMAP 1
-
-/* Define to 1 if NetBSD built-in MTRR support is available */
-/* #undef HAS_MTRR_BUILTIN */
-
-/* MTRR support available */
-#define HAS_MTRR_SUPPORT 1
-
-/* Support SHM */
-#define HAS_SHM 1
-
-/* Have the 'strlcpy' function */
-/* #undef HAS_STRLCPY */
-
-/* Use Windows sockets */
-/* #undef HAS_WINSOCK */
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#define HAVE_ALLOCA 1
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
- */
-#define HAVE_ALLOCA_H 1
-
-/* Define to 1 if you have the <asm/mtrr.h> header file. */
-#define HAVE_ASM_MTRR_H 1
-
-/* Define to 1 if you have the `authdes_create' function. */
-#define HAVE_AUTHDES_CREATE 1
-
-/* Define to 1 if you have the `authdes_seccreate' function. */
-/* #undef HAVE_AUTHDES_SECCREATE */
-
-/* Has backtrace support */
-#define HAVE_BACKTRACE 1
-
-/* Define to 1 if you have the <byteswap.h> header file. */
-#define HAVE_BYTESWAP_H 1
-
-/* Have the 'cbrt' function */
-#define HAVE_CBRT 1
-
-/* Define to 1 if you have the `clock_gettime' function. */
-/* #undef HAVE_CLOCK_GETTIME */
-
-/* Define to 1 if you have the <dbm.h> header file. */
-/* #undef HAVE_DBM_H */
-
-/* Have D-Bus support */
-#define HAVE_DBUS 1
-
-/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
- */
-#define HAVE_DIRENT_H 1
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
-/* #undef HAVE_DOPRNT */
-
-/* Have execinfo.h */
-#define HAVE_EXECINFO_H 1
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define to 1 if you have the `geteuid' function. */
-#define HAVE_GETEUID 1
-
-/* Define to 1 if you have the `getisax' function. */
-/* #undef HAVE_GETISAX */
-
-/* Define to 1 if you have the `getopt' function. */
-#define HAVE_GETOPT 1
-
-/* Define to 1 if you have the `getopt_long' function. */
-#define HAVE_GETOPT_LONG 1
-
-/* Define to 1 if you have the `getuid' function. */
-#define HAVE_GETUID 1
-
-/* Define to 1 if you have the `getzoneid' function. */
-/* #undef HAVE_GETZONEID */
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* launchd support available */
-/* #undef HAVE_LAUNCHD */
-
-/* Define to 1 if you have the `audit' library (-laudit). */
-/* #undef HAVE_LIBAUDIT */
-
-/* Define to 1 if you have the <libaudit.h> header file. */
-/* #undef HAVE_LIBAUDIT_H */
-
-/* Has version 2.2 (or newer) of the drm library */
-#define HAVE_LIBDRM_2_2 1
-
-/* Define to 1 if you have the `m' library (-lm). */
-#define HAVE_LIBM 1
-
-/* Define to 1 if you have the `selinux' library (-lselinux). */
-/* #undef HAVE_LIBSELINUX */
-
-/* Define to 1 if you have the `link' function. */
-#define HAVE_LINK 1
-
-/* Define to 1 if you have the <linux/agpgart.h> header file. */
-#define HAVE_LINUX_AGPGART_H 1
-
-/* Define to 1 if you have the <linux/apm_bios.h> header file. */
-#define HAVE_LINUX_APM_BIOS_H 1
-
-/* Define to 1 if you have the <linux/fb.h> header file. */
-#define HAVE_LINUX_FB_H 1
-
-/* Define to 1 if you have the <machine/mtrr.h> header file. */
-/* #undef HAVE_MACHINE_MTRR_H */
-
-/* Define to 1 if you have the `memmove' function. */
-#define HAVE_MEMMOVE 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `memset' function. */
-#define HAVE_MEMSET 1
-
-/* Define to 1 if you have the `mkstemp' function. */
-#define HAVE_MKSTEMP 1
-
-/* Define to 1 if you have the <ndbm.h> header file. */
-/* #undef HAVE_NDBM_H */
-
-/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
-/* #undef HAVE_NDIR_H */
-
-/* Define to 1 if you have the `pci_device_enable' function. */
-#define HAVE_PCI_DEVICE_ENABLE 1
-
-/* Define to 1 if you have the `pci_system_init_dev_mem' function. */
-#define HAVE_PCI_SYSTEM_INIT_DEV_MEM 1
-
-/* Define to 1 if you have the <rpcsvc/dbm.h> header file. */
-/* #undef HAVE_RPCSVC_DBM_H */
-
-/* Define to 1 if you have the <SDL/SDL.h> header file. */
-/* #undef HAVE_SDL_SDL_H */
-
-/* Define to 1 if you have the <selinux/avc.h> header file. */
-/* #undef HAVE_SELINUX_AVC_H */
-
-/* Define to 1 if you have the <selinux/selinux.h> header file. */
-/* #undef HAVE_SELINUX_SELINUX_H */
-
-/* Define to 1 if you have the `shmctl64' function. */
-/* #undef HAVE_SHMCTL64 */
-
-/* Define to 1 if the system has the type `socklen_t'. */
-#define HAVE_SOCKLEN_T 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strcasestr' function. */
-#define HAVE_STRCASESTR 1
-
-/* Define to 1 if you have the `strchr' function. */
-#define HAVE_STRCHR 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `strrchr' function. */
-#define HAVE_STRRCHR 1
-
-/* Define to 1 if you have the `strtol' function. */
-#define HAVE_STRTOL 1
-
-/* Define to 1 if SYSV IPC is available */
-#define HAVE_SYSV_IPC 1
-
-/* Define to 1 if you have the <sys/agpio.h> header file. */
-/* #undef HAVE_SYS_AGPIO_H */
-
-/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_DIR_H */
-
-/* Define to 1 if you have the <sys/io.h> header file. */
-/* #undef HAVE_SYS_IO_H */
-
-/* Define to 1 if you have the <sys/linker.h> header file. */
-/* #undef HAVE_SYS_LINKER_H */
-
-/* Define to 1 if you have the <sys/memrange.h> header file. */
-/* #undef HAVE_SYS_MEMRANGE_H */
-
-/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_NDIR_H */
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <sys/vm86.h> header file. */
-/* #undef HAVE_SYS_VM86_H */
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Has /dev/urandom */
-#define HAVE_URANDOM 1
-
-/* Define to 1 if you have the `vprintf' function. */
-#define HAVE_VPRINTF 1
-
-/* Define to 1 if you have the `vsnprintf' function. */
-#define HAVE_VSNPRINTF 1
-
-/* Define to 1 if you have the `walkcontext' function. */
-/* #undef HAVE_WALKCONTEXT */
-
-/* Support IPv6 for TCP connections */
-#define IPv6 1
-
-/* Build kdrive ddx */
-/* #undef KDRIVEDDXACTIONS */
-
-/* Build fbdev-based kdrive server */
-/* #undef KDRIVEFBDEV */
-
-/* Build Kdrive X server */
-/* #undef KDRIVESERVER */
-
-/* Build VESA-based kdrive servers */
-/* #undef KDRIVEVESA */
-
-/* Support os-specific local connections */
-/* #undef LOCALCONN */
-
-/* Support MIT Misc extension */
-#define MITMISC 1
-
-/* Support MIT-SHM extension */
-#define MITSHM 1
-
-/* Have monotonic clock from clock_gettime() */
-#define MONOTONIC_CLOCK 1
-
-/* Build Multibuffer extension */
-/* #undef MULTIBUFFER */
-
-/* Disable some debugging code */
-#define NDEBUG 1
-
-/* Do not have 'strcasecmp'. */
-/* #undef NEED_STRCASECMP */
-
-/* Do not have 'strcasestr'. */
-/* #undef NEED_STRCASESTR */
-
-/* Do not have 'strncasecmp'. */
-/* #undef NEED_STRNCASECMP */
-
-/* Need XFree86 helper functions */
-#define NEED_XF86_PROTOTYPES 1
-
-/* Need XFree86 typedefs */
-#define NEED_XF86_TYPES 1
-
-/* Avoid using a font server */
-/* #undef NOFONTSERVERACCESS */
-
-/* Define to 1 if modules should avoid the libcwrapper */
-#define NO_LIBCWRAPPER 1
-
-/* Use an empty root cursor */
-/* #undef NULL_ROOT_CURSOR */
-
-/* Operating System Name */
-#define OSNAME "Linux 2.6.27-13.fc10.i686 i686"
-
-/* Operating System Vendor */
-#define OSVENDOR ""
-
-/* Name of package */
-#define PACKAGE "xorg-server"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "xorg-server"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "xorg-server 1.5.3"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "xorg-server"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.5.3"
-
-/* Major version of this package */
-#define PACKAGE_VERSION_MAJOR 1
-
-/* Minor version of this package */
-#define PACKAGE_VERSION_MINOR 5
-
-/* Patch version of this package */
-#define PACKAGE_VERSION_PATCHLEVEL 3
-
-/* Internal define for Xinerama */
-#define PANORAMIX 1
-
-/* System has PC console */
-/* #undef PCCONS_SUPPORT */
-
-/* Default PCI text file ID path */
-#define PCI_TXT_IDS_PATH ""
-
-/* System has PC console */
-/* #undef PCVT_SUPPORT */
-
-/* Overall prefix */
-#define PROJECTROOT "/usr/local"
-
-/* Support RANDR extension */
-#define RANDR 1
-
-/* Make PROJECT_ROOT relative to the xserver location */
-/* #undef RELOCATE_PROJECTROOT */
-
-/* Support RENDER extension */
-#define RENDER 1
-
-/* Support X resource extension */
-#define RES 1
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-/* #undef RETSIGTYPE */
-
-/* Build Rootless code */
-/* #undef ROOTLESS */
-
-/* Support MIT-SCREEN-SAVER extension */
-#define SCREENSAVER 1
-
-/* Support Secure RPC ("SUN-DES-1") authentication for X11 clients */
-#define SECURE_RPC 1
-
-/* Use a lock to prevent multiple servers on a display */
-#define SERVER_LOCK 1
-
-/* Server miscellaneous config path */
-#define SERVER_MISC_CONFIG_PATH "/usr/local/lib/xorg"
-
-/* Support SHAPE extension */
-#define SHAPE 1
-
-/* The size of `unsigned long', as computed by sizeof. */
-#define SIZEOF_UNSIGNED_LONG 4
-
-/* Include time-based scheduler */
-#define SMART_SCHEDULE 1
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at runtime.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-/* #undef STACK_DIRECTION */
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define to 1 on systems derived from System V Release 4 */
-/* #undef SVR4 */
-
-/* System has syscons console */
-/* #undef SYSCONS_SUPPORT */
-
-/* Support TCP socket connections */
-#define TCPCONN 1
-
-/* Build TOG-CUP extension */
-#define TOGCUP 1
-
-/* Have tslib support */
-/* #undef TSLIB */
-
-/* Support UNIX socket connections */
-#define UNIXCONN 1
-
-/* NetBSD PIO alpha IO */
-/* #undef USE_ALPHA_PIO */
-
-/* BSD AMD64 iopl */
-/* #undef USE_AMD64_IOPL */
-
-/* BSD /dev/io */
-/* #undef USE_DEV_IO */
-
-/* BSD i386 iopl */
-/* #undef USE_I386_IOPL */
-
-/* Define to use byteswap macros from <sys/endian.h> */
-/* #undef USE_SYS_ENDIAN_H */
-
-/* Version number of package */
-#define VERSION "1.5.3"
-
-/* Building vgahw module */
-#define WITH_VGAHW 1
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
- significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-# define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-/* # undef WORDS_BIGENDIAN */
-# endif
-#endif
-
-/* System has wscons console */
-/* #undef WSCONS_SUPPORT */
-
-/* Build X-ACE extension */
-#define XACE 1
-
-/* Build APPGROUP extension */
-/* #undef XAPPGROUP */
-
-/* Build XCalibrate extension */
-/* #undef XCALIBRATE */
-
-/* Support XCMisc extension */
-#define XCMISC 1
-
-/* Build Security extension */
-/* #undef XCSECURITY */
-
-/* Support XDM Control Protocol */
-#define XDMCP 1
-
-/* enable DRI extension in xephyr */
-/* #undef XEPHYR_DRI */
-
-/* Build XEvIE extension */
-#define XEVIE 1
-
-/* Support XF86 Big font extension */
-/* #undef XF86BIGFONT */
-
-/* Name of configuration file */
-#define XF86CONFIGFILE "xorg.conf"
-
-/* Build DRI extension */
-#define XF86DRI 1
-
-/* Support XFree86 miscellaneous extensions */
-#define XF86MISC 1
-
-/* Support XFree86 Video Mode extension */
-#define XF86VIDMODE 1
-
-/* Support XFixes extension */
-#define XFIXES 1
-
-/* Building loadable XFree86 server */
-#define XFree86LOADER 1
-
-/* Building XFree86 server */
-#define XFree86Server 1
-
-/* Build XDGA support */
-#define XFreeXDGA 1
-
-/* Use loadable XGL modules */
-/* #undef XGL_MODULAR */
-
-/* Default XGL module search path */
-/* #undef XGL_MODULE_PATH */
-
-/* Support Xinerama extension */
-#define XINERAMA 1
-
-/* Support X Input extension */
-#define XINPUT 1
-
-/* Build XKB */
-#define XKB 1
-
-/* Path to XKB data */
-#define XKB_BASE_DIRECTORY "xkbdata"
-
-/* Path to XKB bin dir */
-#define XKB_BIN_DIRECTORY "."
-
-/* Disable XKB per default */
-#define XKB_DFLT_DISABLED 0
-
-/* Build XKB server */
-#define XKB_IN_SERVER 1
-
-/* Path to XKB output dir */
-#define XKM_OUTPUT_DIR "xkbdata/compiled/"
-
-/* Building Xorg server */
-#define XORGSERVER 1
-
-/* Vendor release */
-#define XORG_DATE "5 November 2008"
-
-/* Vendor man version */
-#define XORG_MAN_VERSION "Version 1.5.3"
-
-/* Building Xorg server */
-#define XORG_SERVER 1
-
-/* Current Xorg version */
-#define XORG_VERSION_CURRENT (((1) * 10000000) + ((5) * 100000) + ((3) * 1000) + 0)
-
-/* Build Print extension */
-/* #undef XPRINT */
-
-/* Support FreeType rasterizer in Xprint for nearly all font file formats */
-/* #undef XP_USE_FREETYPE */
-
-/* Have Quartz */
-/* #undef XQUARTZ */
-
-/* Support Record extension */
-/* #undef XRECORD */
-
-/* Build registry module */
-#define XREGISTRY 1
-
-/* Build XRes extension */
-#define XResExtension 1
-
-/* Build Xsdl server */
-/* #undef XSDLSERVER */
-
-/* Build SELinux extension */
-/* #undef XSELINUX */
-
-/* Define to 1 if the DTrace Xserver provider probes should be built in. */
-/* #undef XSERVER_DTRACE */
-
-/* Use libpciaccess for all pci manipulation */
-#define XSERVER_LIBPCIACCESS 1
-
-/* Support XSync extension */
-#define XSYNC 1
-
-/* Support XTest extension */
-#define XTEST 1
-
-/* Support XTrap extension */
-/* #undef XTRAP */
-
-/* Support Xv extension */
-#define XV 1
-
-/* Vendor name */
-#define XVENDORNAME "The X.Org Foundation"
-
-/* Short vendor name */
-#define XVENDORNAMESHORT "X.Org"
-
-
-/* Deal with multiple architecture compiles on Mac OS X */
-#ifndef __APPLE_CC__
-#define X_BYTE_ORDER _X_BYTE_ORDER
-#else
-#ifdef __BIG_ENDIAN__
-#define X_BYTE_ORDER X_BIG_ENDIAN
-#else
-#define X_BYTE_ORDER X_LITTLE_ENDIAN
-#endif
-#endif
-
-
-/* Build Xv extension */
-#define XvExtension 1
-
-/* Build XvMC extension */
-#define XvMCExtension 1
-
-/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
- `char[]'. */
-#define YYTEXT_POINTER 1
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#define _FILE_OFFSET_BITS 64
-
-/* Enable GNU and other extensions to the C environment for glibc */
-#define _GNU_SOURCE 1
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
-
-/* Define to 1 if unsigned long is 64 bits. */
-/* #undef _XSERVER64 */
-
-/* Endian order */
-#define _X_BYTE_ORDER X_LITTLE_ENDIAN
-
-/* Solaris 8 or later */
-/* #undef __SOL8__ */
-
-/* Vendor web address for support */
-#define __VENDORDWEBSUPPORT__ "http://wiki.x.org"
-
-/* Name of configuration file */
-#define __XCONFIGFILE__ "xorg.conf"
-
-/* Default XKB rules */
-#define __XKBDEFRULES__ "xorg"
-
-/* Name of X server */
-#define __XSERVERNAME__ "Xorg"
-
-/* Define to 16-bit byteswap macro */
-/* #undef bswap_16 */
-
-/* Define to 32-bit byteswap macro */
-/* #undef bswap_32 */
-
-/* Define to 64-bit byteswap macro */
-/* #undef bswap_64 */
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* Define to `int' if <sys/types.h> does not define. */
-/* #undef pid_t */
diff --git a/xorg-server/include/do-not-use-config.h.in b/xorg-server/include/do-not-use-config.h.in
index f239468c8..119155671 100644
--- a/xorg-server/include/do-not-use-config.h.in
+++ b/xorg-server/include/do-not-use-config.h.in
@@ -21,9 +21,6 @@
/* Builder string */
#undef BUILDERSTRING
-/* Use only built-in fonts */
-#undef BUILTIN_FONTS
-
/* Default font path */
#undef COMPILEDDEFAULTFONTPATH
@@ -36,6 +33,9 @@
/* Use the HAL hotplug API */
#undef CONFIG_HAL
+/* Use D-Bus for input hotplug */
+#undef CONFIG_NEED_DBUS
+
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
@@ -65,18 +65,9 @@
/* Use ddxBeforeReset */
#undef DDXBEFORERESET
-/* Use OsVendorFatalError */
-#undef DDXOSFATALERROR
-
-/* Use OsVendorInit */
-#undef DDXOSINIT
-
/* Use OsVendorVErrorF */
#undef DDXOSVERRORF
-/* Use GetTimeInMillis */
-#undef DDXTIME
-
/* Enable debugging code */
#undef DEBUG
@@ -98,15 +89,12 @@
/* Build DRI2 extension */
#undef DRI2
+/* Build DRI2 AIGLX loader */
+#undef DRI2_AIGLX
+
/* Default DRI driver path */
#undef DRI_DRIVER_PATH
-/* Build Extended-Visual-Information extension */
-#undef EVI
-
-/* Build FontCache extension */
-#undef FONTCACHE
-
/* Build GLX extension */
#undef GLXEXT
@@ -165,6 +153,9 @@
/* Define to 1 if you have the `authdes_seccreate' function. */
#undef HAVE_AUTHDES_SECCREATE
+/* "Have avc_netlink_acquire_fd" */
+#undef HAVE_AVC_NETLINK_ACQUIRE_FD
+
/* Has backtrace support */
#undef HAVE_BACKTRACE
@@ -199,6 +190,9 @@
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
+/* Define to 1 if you have the `ffs' function. */
+#undef HAVE_FFS
+
/* Define to 1 if you have the `geteuid' function. */
#undef HAVE_GETEUID
@@ -220,24 +214,21 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
-/* launchd support available */
-#undef HAVE_LAUNCHD
-
/* Define to 1 if you have the `audit' library (-laudit). */
#undef HAVE_LIBAUDIT
/* Define to 1 if you have the <libaudit.h> header file. */
#undef HAVE_LIBAUDIT_H
-/* Has version 2.2 (or newer) of the drm library */
-#undef HAVE_LIBDRM_2_2
-
/* Define to 1 if you have the `m' library (-lm). */
#undef HAVE_LIBM
/* Define to 1 if you have the `selinux' library (-lselinux). */
#undef HAVE_LIBSELINUX
+/* Define to 1 if you have the `ws2_32' library (-lws2_32). */
+#undef HAVE_LIBWS2_32
+
/* Define to 1 if you have the `link' function. */
#undef HAVE_LINK
@@ -289,6 +280,9 @@
/* Define to 1 if you have the <selinux/selinux.h> header file. */
#undef HAVE_SELINUX_SELINUX_H
+/* Use libmd SHA1 functions instead of OpenSSL libcrypto */
+#undef HAVE_SHA1_IN_LIBMD
+
/* Define to 1 if you have the `shmctl64' function. */
#undef HAVE_SHMCTL64
@@ -332,6 +326,9 @@
/* Define to 1 if you have the <sys/io.h> header file. */
#undef HAVE_SYS_IO_H
+/* Define to 1 if you have the <sys/kd.h> header file. */
+#undef HAVE_SYS_KD_H
+
/* Define to 1 if you have the <sys/linker.h> header file. */
#undef HAVE_SYS_LINKER_H
@@ -354,9 +351,6 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
-/* Has /dev/urandom */
-#undef HAVE_URANDOM
-
/* Define to 1 if you have the `vprintf' function. */
#undef HAVE_VPRINTF
@@ -384,8 +378,9 @@
/* Support os-specific local connections */
#undef LOCALCONN
-/* Support MIT Misc extension */
-#undef MITMISC
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
/* Support MIT-SHM extension */
#undef MITSHM
@@ -396,9 +391,6 @@
/* Build Multibuffer extension */
#undef MULTIBUFFER
-/* Disable some debugging code */
-#undef NDEBUG
-
/* Do not have 'strcasecmp'. */
#undef NEED_STRCASECMP
@@ -414,9 +406,6 @@
/* Need XFree86 typedefs */
#undef NEED_XF86_TYPES
-/* Avoid using a font server */
-#undef NOFONTSERVERACCESS
-
/* Define to 1 if modules should avoid the libcwrapper */
#undef NO_LIBCWRAPPER
@@ -495,9 +484,6 @@
/* Support Secure RPC ("SUN-DES-1") authentication for X11 clients */
#undef SECURE_RPC
-/* Use a lock to prevent multiple servers on a display */
-#undef SERVER_LOCK
-
/* Server miscellaneous config path */
#undef SERVER_MISC_CONFIG_PATH
@@ -507,9 +493,6 @@
/* The size of `unsigned long', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_LONG
-/* Include time-based scheduler */
-#undef SMART_SCHEDULE
-
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
@@ -518,6 +501,9 @@
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
+/* Build a standalone xpbproxy */
+#undef STANDALONE_XPBPROXY
+
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
@@ -530,9 +516,6 @@
/* Support TCP socket connections */
#undef TCPCONN
-/* Build TOG-CUP extension */
-#undef TOGCUP
-
/* Have tslib support */
#undef TSLIB
@@ -578,9 +561,6 @@
/* Build X-ACE extension */
#undef XACE
-/* Build APPGROUP extension */
-#undef XAPPGROUP
-
/* Build XCalibrate extension */
#undef XCALIBRATE
@@ -593,12 +573,6 @@
/* Support XDM Control Protocol */
#undef XDMCP
-/* enable DRI extension in xephyr */
-#undef XEPHYR_DRI
-
-/* Build XEvIE extension */
-#undef XEVIE
-
/* Support XF86 Big font extension */
#undef XF86BIGFONT
@@ -608,9 +582,6 @@
/* Build DRI extension */
#undef XF86DRI
-/* Support XFree86 miscellaneous extensions */
-#undef XF86MISC
-
/* Support XFree86 Video Mode extension */
#undef XF86VIDMODE
@@ -626,18 +597,9 @@
/* Build XDGA support */
#undef XFreeXDGA
-/* Use loadable XGL modules */
-#undef XGL_MODULAR
-
-/* Default XGL module search path */
-#undef XGL_MODULE_PATH
-
/* Support Xinerama extension */
#undef XINERAMA
-/* Support X Input extension */
-#undef XINPUT
-
/* Build XKB */
#undef XKB
@@ -671,12 +633,6 @@
/* Current Xorg version */
#undef XORG_VERSION_CURRENT
-/* Build Print extension */
-#undef XPRINT
-
-/* Support FreeType rasterizer in Xprint for nearly all font file formats */
-#undef XP_USE_FREETYPE
-
/* Have Quartz */
#undef XQUARTZ
@@ -686,9 +642,6 @@
/* Build registry module */
#undef XREGISTRY
-/* Build XRes extension */
-#undef XResExtension
-
/* Build Xsdl server */
#undef XSDLSERVER
@@ -707,9 +660,6 @@
/* Support XTest extension */
#undef XTEST
-/* Support XTrap extension */
-#undef XTRAP
-
/* Support Xv extension */
#undef XV
@@ -719,19 +669,6 @@
/* Short vendor name */
#undef XVENDORNAMESHORT
-
-/* Deal with multiple architecture compiles on Mac OS X */
-#ifndef __APPLE_CC__
-#define X_BYTE_ORDER _X_BYTE_ORDER
-#else
-#ifdef __BIG_ENDIAN__
-#define X_BYTE_ORDER X_BIG_ENDIAN
-#else
-#define X_BYTE_ORDER X_LITTLE_ENDIAN
-#endif
-#endif
-
-
/* Build Xv extension */
#undef XvExtension
@@ -754,9 +691,6 @@
/* Define to 1 if unsigned long is 64 bits. */
#undef _XSERVER64
-/* Endian order */
-#undef _X_BYTE_ORDER
-
/* Solaris 8 or later */
#undef __SOL8__
diff --git a/xorg-server/include/exevents.h b/xorg-server/include/exevents.h
index 0892f4d0a..971afc2ea 100644
--- a/xorg-server/include/exevents.h
+++ b/xorg-server/include/exevents.h
@@ -32,9 +32,24 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <X11/extensions/XIproto.h>
+/**
+ * Attached to the devPrivates of each client. Specifies the version number as
+ * supported by the client.
+ */
+typedef struct _XIClientRec {
+ int major_version;
+ int minor_version;
+} XIClientRec, *XIClientPtr;
+
extern void RegisterOtherDevice (
DeviceIntPtr /* device */);
+extern int
+UpdateDeviceState (
+ DeviceIntPtr /* device */,
+ xEventPtr /* xE */,
+ int /* count */);
+
extern void ProcessOtherEvent (
xEventPtr /* FIXME deviceKeyButtonPointer * xE */,
DeviceIntPtr /* other */,
@@ -173,10 +188,79 @@ extern int DeviceEventSuppressForWindow(
Mask /* mask */,
int /* maskndx */);
-void SendEventToAllWindows(
+extern void SendEventToAllWindows(
DeviceIntPtr /* dev */,
Mask /* mask */,
xEvent * /* ev */,
int /* count */);
+/* Input device properties */
+extern void XIDeleteAllDeviceProperties(
+ DeviceIntPtr /* device */
+);
+
+extern int XIDeleteDeviceProperty(
+ DeviceIntPtr /* device */,
+ Atom /* property */,
+ Bool /* fromClient */
+);
+
+extern int XIChangeDeviceProperty(
+ DeviceIntPtr /* dev */,
+ Atom /* property */,
+ Atom /* type */,
+ int /* format*/,
+ int /* mode*/,
+ unsigned long /* len*/,
+ pointer /* value*/,
+ Bool /* sendevent*/
+ );
+
+extern int XIGetDeviceProperty(
+ DeviceIntPtr /* dev */,
+ Atom /* property */,
+ XIPropertyValuePtr* /* value */
+);
+
+extern int XISetDevicePropertyDeletable(
+ DeviceIntPtr /* dev */,
+ Atom /* property */,
+ Bool /* deletable */
+);
+
+extern long XIRegisterPropertyHandler(
+ DeviceIntPtr dev,
+ int (*SetProperty) (DeviceIntPtr dev,
+ Atom property,
+ XIPropertyValuePtr prop,
+ BOOL checkonly),
+ int (*GetProperty) (DeviceIntPtr dev,
+ Atom property),
+ int (*DeleteProperty) (DeviceIntPtr dev,
+ Atom property)
+);
+
+extern _X_EXPORT void XIUnregisterPropertyHandler(
+ DeviceIntPtr dev,
+ long id
+);
+
+extern Atom XIGetKnownProperty(
+ char* name
+);
+
+extern DeviceIntPtr XIGetDevice(xEvent *ev);
+
+extern _X_EXPORT int XIPropToInt(
+ XIPropertyValuePtr val,
+ int *nelem_return,
+ int **buf_return
+);
+
+extern _X_EXPORT int XIPropToFloat(
+ XIPropertyValuePtr val,
+ int *nelem_return,
+ float **buf_return
+);
+
#endif /* EXEVENTS_H */
diff --git a/xorg-server/include/extension.h b/xorg-server/include/extension.h
index 6e6081740..14526e9b5 100644
--- a/xorg-server/include/extension.h
+++ b/xorg-server/include/extension.h
@@ -60,8 +60,6 @@ extern void EnableDisableExtensionError(char *name, Bool enable);
extern void InitExtensions(int argc, char **argv);
-extern void InitVisualWrap(void);
-
extern void CloseDownExtensions(void);
_XFUNCPROTOEND
diff --git a/xorg-server/include/extinit.h b/xorg-server/include/extinit.h
index df9773caf..d9964805e 100644
--- a/xorg-server/include/extinit.h
+++ b/xorg-server/include/extinit.h
@@ -37,6 +37,11 @@ XInputExtensionInit(
void
);
+Bool
+DeviceIsPointerType(
+ DeviceIntPtr dev
+ );
+
void
AssignTypeAndName (
DeviceIntPtr /* dev */,
diff --git a/xorg-server/include/globals.h b/xorg-server/include/globals.h
index 1ff701380..74b09e71d 100644
--- a/xorg-server/include/globals.h
+++ b/xorg-server/include/globals.h
@@ -17,16 +17,16 @@ extern Bool screenSaverSuspended;
extern char *defaultFontPath;
extern int monitorResolution;
-extern Bool loadableFonts;
extern int defaultColorVisualClass;
-extern Bool Must_have_memory;
-extern WindowPtr *WindowTable;
+extern WindowPtr WindowTable[MAXSCREENS];
extern int GrabInProgress;
extern Bool noTestExtensions;
extern DDXPointRec dixScreenOrigins[MAXSCREENS];
+extern char *ConnectionInfo;
+
#ifdef DPMSExtension
extern CARD32 defaultDPMSStandbyTime;
extern CARD32 defaultDPMSSuspendTime;
@@ -46,10 +46,6 @@ extern Bool DPMSCapableFlag;
extern Bool PanoramiXExtensionDisabledHack;
#endif
-#ifdef BIGREQS
-extern Bool noBigReqExtension;
-#endif
-
extern Bool noCompositeExtension;
#ifdef DAMAGE
@@ -64,14 +60,6 @@ extern Bool noDbeExtension;
extern Bool noDPMSExtension;
#endif
-#ifdef EVI
-extern Bool noEVIExtension;
-#endif
-
-#ifdef FONTCACHE
-extern Bool noFontCacheExtension;
-#endif
-
#ifdef GLXEXT
extern Bool noGlxExtension;
#endif
@@ -84,10 +72,6 @@ extern Bool noScreenSaverExtension;
extern Bool noMITShmExtension;
#endif
-#ifdef MITMISC
-extern Bool noMITMiscExtension;
-#endif
-
#ifdef MULTIBUFFER
extern Bool noMultibufferExtension;
#endif
@@ -100,38 +84,14 @@ extern Bool noRRExtension;
extern Bool noRenderExtension;
#endif
-#ifdef SHAPE
-extern Bool noShapeExtension;
-#endif
-
#ifdef XCSECURITY
extern Bool noSecurityExtension;
#endif
-#ifdef XSYNC
-extern Bool noSyncExtension;
-#endif
-
-#ifdef TOGCUP
-extern Bool noXcupExtension;
-#endif
-
#ifdef RES
extern Bool noResExtension;
#endif
-#ifdef XAPPGROUP
-extern Bool noXagExtension;
-#endif
-
-#ifdef XCMISC
-extern Bool noXCMiscExtension;
-#endif
-
-#ifdef XEVIE
-extern Bool noXevieExtension;
-#endif
-
#ifdef XF86BIGFONT
extern Bool noXFree86BigfontExtension;
#endif
@@ -144,10 +104,6 @@ extern Bool noXFree86DGAExtension;
extern Bool noXFree86DRIExtension;
#endif
-#ifdef XF86MISC
-extern Bool noXFree86MiscExtension;
-#endif
-
#ifdef XF86VIDMODE
extern Bool noXFree86VidModeExtension;
#endif
@@ -165,14 +121,6 @@ extern Bool noXkbExtension;
extern Bool noPanoramiXExtension;
#endif
-#ifdef XINPUT
-extern Bool noXInputExtension;
-#endif
-
-#ifdef XIDLE
-extern Bool noXIdleExtension;
-#endif
-
#ifdef XSELINUX
extern Bool noSELinuxExtension;
diff --git a/xorg-server/include/input.h b/xorg-server/include/input.h
index ca67cfac5..2ab815b80 100644
--- a/xorg-server/include/input.h
+++ b/xorg-server/include/input.h
@@ -62,6 +62,20 @@ SOFTWARE.
#define POINTER_RELATIVE (1 << 1)
#define POINTER_ABSOLUTE (1 << 2)
#define POINTER_ACCELERATE (1 << 3)
+#define POINTER_SCREEN (1 << 4) /* Data in screen coordinates */
+
+/*int constants for pointer acceleration schemes*/
+#define PtrAccelNoOp 0
+#define PtrAccelPredictable 1
+#define PtrAccelLightweight 2
+#define PtrAccelDefault PtrAccelPredictable
+
+#define MAX_VALUATORS 36
+/* Maximum number of valuators, divided by six, rounded up, to get number
+ * of events. */
+#define MAX_VALUATOR_EVENTS 6
+
+#define NO_AXIS_LIMITS -1
#define MAP_LENGTH 256
#define DOWN_LENGTH 32 /* 256/8 => number of bytes to hold 256 bits */
@@ -80,10 +94,39 @@ SOFTWARE.
#define RevertToFollowKeyboard 3
#endif
+/* Used for enter/leave and focus in/out semaphores */
+#define SEMAPHORE_FIELD_SET(win, dev, field) \
+ (win)->field[(dev)->id/8] |= (1 << ((dev)->id % 8)); \
+
+#define SEMAPHORE_FIELD_UNSET(win, dev, field) \
+ (win)->field[(dev)->id/8] &= ~(1 << ((dev)->id % 8));
+
+#define FOCUS_SEMAPHORE_SET(win, dev) \
+ SEMAPHORE_FIELD_SET(win, dev, focusinout);
+
+#define FOCUS_SEMAPHORE_UNSET(win, dev) \
+ SEMAPHORE_FIELD_UNSET(win, dev, focusinout);
+
+#define FOCUS_SEMAPHORE_ISSET(win, dev) \
+ (win)->focusinout[(dev)->id/8] & (1 << ((dev)->id % 8))
+
typedef unsigned long Leds;
typedef struct _OtherClients *OtherClientsPtr;
typedef struct _InputClients *InputClientsPtr;
typedef struct _DeviceIntRec *DeviceIntPtr;
+typedef struct _ClassesRec *ClassesPtr;
+
+typedef struct _EventList {
+ xEvent* event;
+ int evlen; /* length of allocated memory for event in bytes. This is not
+ the actual length of the event. The event's actual length is
+ 32 for standard events or 32 +
+ ((xGenericEvent*)event)->length * 4 for GenericEvents */
+} EventList, *EventListPtr;
+
+/* The DIX stores incoming input events in this list */
+extern EventListPtr InputEventList;
+extern int InputEventListLen;
typedef int (*DeviceProc)(
DeviceIntPtr /*device*/,
@@ -105,6 +148,17 @@ typedef void (*DeviceUnwrapProc)(
void* /*data*/
);
+/* pointer acceleration handling */
+typedef void (*PointerAccelSchemeProc)(
+ DeviceIntPtr /*pDev*/,
+ int /*first_valuator*/,
+ int /*num_valuators*/,
+ int* /*valuators*/,
+ int /*evtime*/);
+
+typedef void (*DeviceCallbackProc)(
+ DeviceIntPtr /*pDev*/);
+
typedef struct _DeviceRec {
pointer devicePrivate;
ProcessInputProc processInputProc; /* current */
@@ -170,6 +224,7 @@ typedef struct _InputOption {
extern void InitCoreDevices(void);
extern DeviceIntPtr AddInputDevice(
+ ClientPtr /*client*/,
DeviceProc /*deviceProc*/,
Bool /*autoStart*/);
@@ -186,6 +241,8 @@ extern int InitAndStartDevices(void);
extern void CloseDownDevices(void);
+extern void UndisplayDevices(void);
+
extern int RemoveDevice(
DeviceIntPtr /*dev*/);
@@ -221,20 +278,16 @@ extern Bool InitButtonClassDeviceStruct(
int /*numButtons*/,
CARD8* /*map*/);
-typedef int (*ValuatorMotionProcPtr)(
- DeviceIntPtr /*pdevice*/,
- xTimecoord * /*coords*/,
- unsigned long /*start*/,
- unsigned long /*stop*/,
- ScreenPtr /*pScreen*/);
-
extern Bool InitValuatorClassDeviceStruct(
DeviceIntPtr /*device*/,
int /*numAxes*/,
- ValuatorMotionProcPtr /* motionProc */,
int /*numMotionEvents*/,
int /*mode*/);
+extern Bool InitPointerAccelerationScheme(
+ DeviceIntPtr /*dev*/,
+ int /*scheme*/);
+
extern Bool InitAbsoluteClassDeviceStruct(
DeviceIntPtr /*device*/);
@@ -305,7 +358,6 @@ extern Bool InitPointerDeviceStruct(
DevicePtr /*device*/,
CARD8* /*map*/,
int /*numButtons*/,
- ValuatorMotionProcPtr /*motionProc*/,
PtrCtrlProcPtr /*controlProc*/,
int /*numMotionEvents*/,
int /*numAxes*/);
@@ -318,6 +370,7 @@ extern Bool InitKeyboardDeviceStruct(
KbdCtrlProcPtr /*controlProc*/);
extern void SendMappingNotify(
+ DeviceIntPtr /* pDev */,
unsigned int /*request*/,
unsigned int /*firstKeyCode*/,
unsigned int /*count*/,
@@ -360,12 +413,12 @@ extern void ProcessKeyboardEvent(
extern void CoreProcessPointerEvent(
xEventPtr /*xE*/,
DeviceIntPtr /*mouse*/,
- int /*count*/);
+ int /*count*/) _X_DEPRECATED;
-extern void CoreProcessKeyboardEvent(
+extern _X_DEPRECATED void CoreProcessKeyboardEvent(
xEventPtr /*xE*/,
DeviceIntPtr /*keybd*/,
- int /*count*/);
+ int /*count*/) _X_DEPRECATED;
#endif
extern Bool LegalModifier(
@@ -380,8 +433,18 @@ extern void InitInput(
extern int GetMaximumEventsNum(void);
+extern int GetEventList(EventListPtr* list);
+extern EventListPtr InitEventList(int num_events);
+extern void SetMinimumEventSize(EventListPtr list,
+ int num_events,
+ int min_size);
+extern void FreeEventList(EventListPtr list, int num_events);
+
+extern void CreateClassesChangedEvent(EventListPtr event,
+ DeviceIntPtr master,
+ DeviceIntPtr slave);
extern int GetPointerEvents(
- xEvent *events,
+ EventListPtr events,
DeviceIntPtr pDev,
int type,
int buttons,
@@ -391,13 +454,13 @@ extern int GetPointerEvents(
int *valuators);
extern int GetKeyboardEvents(
- xEvent *events,
+ EventListPtr events,
DeviceIntPtr pDev,
int type,
int key_code);
extern int GetKeyboardValuatorEvents(
- xEvent *events,
+ EventListPtr events,
DeviceIntPtr pDev,
int type,
int key_code,
@@ -406,7 +469,7 @@ extern int GetKeyboardValuatorEvents(
int *valuators);
extern int GetProximityEvents(
- xEvent *events,
+ EventListPtr events,
DeviceIntPtr pDev,
int type,
int first_valuator,
@@ -414,6 +477,7 @@ extern int GetProximityEvents(
int *valuators);
extern void PostSyntheticMotion(
+ DeviceIntPtr pDev,
int x,
int y,
int screen,
@@ -427,13 +491,24 @@ extern void AllocateMotionHistory(
extern int GetMotionHistory(
DeviceIntPtr pDev,
- xTimecoord *buff,
+ xTimecoord **buff,
unsigned long start,
unsigned long stop,
- ScreenPtr pScreen);
+ ScreenPtr pScreen,
+ BOOL core);
+
+extern int AttachDevice(ClientPtr client,
+ DeviceIntPtr slave,
+ DeviceIntPtr master);
+
+extern DeviceIntPtr GetPairedDevice(DeviceIntPtr kbd);
-extern void SwitchCoreKeyboard(DeviceIntPtr pDev);
-extern void SwitchCorePointer(DeviceIntPtr pDev);
+extern int AllocMasterDevice(ClientPtr client,
+ char* name,
+ DeviceIntPtr* ptr,
+ DeviceIntPtr* keybd);
+extern void DeepCopyDeviceClasses(DeviceIntPtr from,
+ DeviceIntPtr to);
/* Implemented by the DDX. */
extern int NewInputDeviceRequest(
diff --git a/xorg-server/include/inputstr.h b/xorg-server/include/inputstr.h
index b1f9856ed..a6f823cd5 100644
--- a/xorg-server/include/inputstr.h
+++ b/xorg-server/include/inputstr.h
@@ -52,6 +52,8 @@ SOFTWARE.
#include "input.h"
#include "window.h"
#include "dixstruct.h"
+#include "cursorstr.h"
+#include "geext.h"
#include "privates.h"
#define BitIsOn(ptr, bit) (((BYTE *) (ptr))[(bit)>>3] & (1 << ((bit) & 7)))
@@ -59,9 +61,7 @@ SOFTWARE.
#define SameClient(obj,client) \
(CLIENT_BITS((obj)->resource) == (client)->clientAsMask)
-#define MAX_DEVICES 20
-
-#define EMASKSIZE MAX_DEVICES
+#define EMASKSIZE MAXDEVICES + 1
extern DevPrivateKey CoreDevicePrivateKey;
@@ -102,6 +102,19 @@ typedef struct _DetailRec { /* Grab details may be bit masks */
Mask *pMask;
} DetailRec;
+/**
+ * Central struct for device grabs.
+ * The same struct is used for both core grabs and device grabs, with
+ * different fields being set.
+ * If the grab is a core grab (GrabPointer/GrabKeyboard), then the eventMask
+ * is a combination of standard event masks (i.e. PointerMotionMask |
+ * ButtonPressMask).
+ * If the grab is a device grab (GrabDevice), then the eventMask is a
+ * combination of event masks for a given XI event type (see SetEventInfo).
+ *
+ * If the grab is a result of a ButtonPress, then eventMask is the core mask
+ * and deviceMask is set to the XI event mask for the grab.
+ */
typedef struct _GrabRec {
GrabPtr next; /* for chain of passive grabs */
XID resource;
@@ -119,6 +132,8 @@ typedef struct _GrabRec {
WindowPtr confineTo; /* always NULL for keyboards */
CursorPtr cursor; /* always NULL for keyboards */
Mask eventMask;
+ Mask deviceMask;
+ GenericMaskPtr genericMasks;
} GrabRec;
typedef struct _KeyClassRec {
@@ -146,27 +161,35 @@ typedef struct _AxisInfo {
int max_value;
} AxisInfo, *AxisInfoPtr;
+typedef struct _ValuatorAccelerationRec {
+ int number;
+ PointerAccelSchemeProc AccelSchemeProc;
+ void *accelData; /* at disposal of AccelScheme */
+ DeviceCallbackProc AccelCleanupProc;
+} ValuatorAccelerationRec, *ValuatorAccelerationPtr;
+
typedef struct _ValuatorClassRec {
- ValuatorMotionProcPtr GetMotionProc;
int numMotionEvents;
int first_motion;
int last_motion;
- void *motion;
-
- WindowPtr motionHintWindow;
+ void *motion; /* motion history buffer. Different layout
+ for MDs and SDs!*/
+ WindowPtr motionHintWindow;
AxisInfoPtr axes;
unsigned short numAxes;
- int *axisVal;
- int lastx, lasty; /* last event recorded, not posted to
- * client; see dix/devices.c */
- float dxremaind, dyremaind; /* for acceleration */
+ int *axisVal; /* always absolute, but device-coord system */
CARD8 mode;
+ ValuatorAccelerationRec accelScheme;
} ValuatorClassRec, *ValuatorClassPtr;
typedef struct _ButtonClassRec {
CARD8 numButtons;
- CARD8 buttonsDown; /* number of buttons currently down */
+ CARD8 buttonsDown; /* number of buttons currently down
+ This counts logical buttons, not
+ physical ones, i.e if some buttons
+ are mapped to 0, they're not counted
+ here */
unsigned short state;
Mask motionMask;
CARD8 down[DOWN_LENGTH];
@@ -179,7 +202,7 @@ typedef struct _ButtonClassRec {
} ButtonClassRec, *ButtonClassPtr;
typedef struct _FocusClassRec {
- WindowPtr win;
+ WindowPtr win; /* May be set to a int constant (e.g. PointerRootWin)! */
int revert;
TimeStamp time;
WindowPtr *trace;
@@ -266,6 +289,91 @@ typedef struct _LedFeedbackClassRec {
#endif
} LedFeedbackClassRec;
+
+typedef struct _ClassesRec {
+ KeyClassPtr key;
+ ValuatorClassPtr valuator;
+ ButtonClassPtr button;
+ FocusClassPtr focus;
+ ProximityClassPtr proximity;
+ AbsoluteClassPtr absolute;
+ KbdFeedbackPtr kbdfeed;
+ PtrFeedbackPtr ptrfeed;
+ IntegerFeedbackPtr intfeed;
+ StringFeedbackPtr stringfeed;
+ BellFeedbackPtr bell;
+ LedFeedbackPtr leds;
+} ClassesRec;
+
+
+/**
+ * Sprite information for a device.
+ */
+typedef struct {
+ CursorPtr current;
+ BoxRec hotLimits; /* logical constraints of hot spot */
+ Bool confined; /* confined to screen */
+ RegionPtr hotShape; /* additional logical shape constraint */
+ BoxRec physLimits; /* physical constraints of hot spot */
+ WindowPtr win; /* window of logical position */
+ HotSpot hot; /* logical pointer position */
+ HotSpot hotPhys; /* physical pointer position */
+#ifdef PANORAMIX
+ ScreenPtr screen; /* all others are in Screen 0 coordinates */
+ RegionRec Reg1; /* Region 1 for confining motion */
+ RegionRec Reg2; /* Region 2 for confining virtual motion */
+ WindowPtr windows[MAXSCREENS];
+ WindowPtr confineWin; /* confine window */
+#endif
+ /* The window trace information is used at dix/events.c to avoid having
+ * to compute all the windows between the root and the current pointer
+ * window each time a button or key goes down. The grabs on each of those
+ * windows must be checked.
+ * spriteTraces should only be used at dix/events.c! */
+ WindowPtr *spriteTrace;
+ int spriteTraceSize;
+ int spriteTraceGood;
+
+ ScreenPtr pEnqueueScreen; /* screen events are being delivered to */
+ ScreenPtr pDequeueScreen; /* screen events are being dispatched to */
+
+} SpriteRec, *SpritePtr;
+
+/* Device properties */
+typedef struct _XIPropertyValue
+{
+ Atom type; /* ignored by server */
+ short format; /* format of data for swapping - 8,16,32 */
+ long size; /* size of data in (format/8) bytes */
+ pointer data; /* private to client */
+} XIPropertyValueRec;
+
+typedef struct _XIProperty
+{
+ struct _XIProperty *next;
+ Atom propertyName;
+ BOOL deletable; /* clients can delete this prop? */
+ XIPropertyValueRec value;
+} XIPropertyRec;
+
+typedef XIPropertyRec *XIPropertyPtr;
+typedef XIPropertyValueRec *XIPropertyValuePtr;
+
+
+typedef struct _XIPropertyHandler
+{
+ struct _XIPropertyHandler* next;
+ long id;
+ int (*SetProperty) (DeviceIntPtr dev,
+ Atom property,
+ XIPropertyValuePtr prop,
+ BOOL checkonly);
+ int (*GetProperty) (DeviceIntPtr dev,
+ Atom property);
+ int (*DeleteProperty) (DeviceIntPtr dev,
+ Atom property);
+} XIPropertyHandler, *XIPropertyHandlerPtr;
+
/* states for devices */
#define NOT_GRABBED 0
@@ -278,10 +386,43 @@ typedef struct _LedFeedbackClassRec {
#define FROZEN_WITH_EVENT 6
#define THAW_OTHERS 7
+
+typedef struct _GrabInfoRec {
+ TimeStamp grabTime;
+ Bool fromPassiveGrab; /* true if from passive grab */
+ Bool implicitGrab; /* implicit from ButtonPress */
+ GrabRec activeGrab;
+ GrabPtr grab;
+ CARD8 activatingKey;
+ void (*ActivateGrab) (
+ DeviceIntPtr /*device*/,
+ GrabPtr /*grab*/,
+ TimeStamp /*time*/,
+ Bool /*autoGrab*/);
+ void (*DeactivateGrab)(
+ DeviceIntPtr /*device*/);
+ struct {
+ Bool frozen;
+ int state;
+ GrabPtr other; /* if other grab has this frozen */
+ xEvent *event; /* saved to be replayed */
+ int evcount;
+ } sync;
+} GrabInfoRec, *GrabInfoPtr;
+
+typedef struct _SpriteInfoRec {
+ /* sprite must always point to a valid sprite. For devices sharing the
+ * sprite, let sprite point to a paired spriteOwner's sprite. */
+ SpritePtr sprite; /* sprite information */
+ Bool spriteOwner; /* True if device owns the sprite */
+ DeviceIntPtr paired; /* The paired device. Keyboard if
+ spriteOwner is TRUE, otherwise the
+ pointer that owns the sprite. */
+} SpriteInfoRec, *SpriteInfoPtr;
+
typedef struct _DeviceIntRec {
DeviceRec public;
DeviceIntPtr next;
- TimeStamp grabTime;
Bool startup; /* true if needs to be turned on at
server intialization time */
DeviceProc deviceProc; /* proc(DevicePtr, DEVICE_xx). It is
@@ -290,27 +431,11 @@ typedef struct _DeviceIntRec {
Bool inited; /* TRUE if INIT returns Success */
Bool enabled; /* TRUE if ON returns Success */
Bool coreEvents; /* TRUE if device also sends core */
- GrabPtr grab; /* the grabber - used by DIX */
- struct {
- Bool frozen;
- int state;
- GrabPtr other; /* if other grab has this frozen */
- xEvent *event; /* saved to be replayed */
- int evcount;
- } sync;
+ GrabInfoRec deviceGrab; /* grab on the device */
+ Bool isMaster; /* TRUE if device is master */
Atom type;
char *name;
CARD8 id;
- CARD8 activatingKey;
- Bool fromPassiveGrab;
- GrabRec activeGrab;
- void (*ActivateGrab) (
- DeviceIntPtr /*device*/,
- GrabPtr /*grab*/,
- TimeStamp /*time*/,
- Bool /*autoGrab*/);
- void (*DeactivateGrab)(
- DeviceIntPtr /*device*/);
KeyClassPtr key;
ValuatorClassPtr valuator;
ButtonClassPtr button;
@@ -332,6 +457,29 @@ typedef struct _DeviceIntRec {
PrivateRec *devPrivates;
int nPrivates;
DeviceUnwrapProc unwrapProc;
+ SpriteInfoPtr spriteInfo;
+ union {
+ DeviceIntPtr master; /* master device */
+ DeviceIntPtr lastSlave; /* last slave device used */
+ } u;
+
+ /* last valuator values recorded, not posted to client;
+ * for slave devices, valuators is in device coordinates
+ * for master devices, valuators is in screen coordinates
+ * see dix/getevents.c
+ * remainder supports acceleration
+ */
+ struct {
+ int valuators[MAX_VALUATORS];
+ float remainder[MAX_VALUATORS];
+ int numValuators;
+ } last;
+
+ /* Input device property handling. */
+ struct {
+ XIPropertyPtr properties;
+ XIPropertyHandlerPtr handlers; /* NULL-terminated */
+ } properties;
} DeviceIntRec;
typedef struct {
diff --git a/xorg-server/include/misc.h b/xorg-server/include/misc.h
index ca740c08b..f56c2c609 100644
--- a/xorg-server/include/misc.h
+++ b/xorg-server/include/misc.h
@@ -87,7 +87,12 @@ extern unsigned long serverGeneration;
#define MAXSCREENS 16
#endif
#define MAXCLIENTS 256
+#define MAXEXTENSIONS 128
#define MAXFORMATS 8
+#define MAXDEVICES 20 /* input devices */
+
+#define EXTENSION_EVENT_BASE 64
+#define EXTENSION_BASE 128
typedef unsigned long PIXEL;
typedef unsigned long ATOM;
diff --git a/xorg-server/include/opaque.h b/xorg-server/include/opaque.h
index 3d19d275f..07a0715ef 100644
--- a/xorg-server/include/opaque.h
+++ b/xorg-server/include/opaque.h
@@ -49,14 +49,11 @@ extern int ScreenSaverBlanking;
extern int ScreenSaverAllowExposures;
extern int defaultScreenSaverBlanking;
extern int defaultScreenSaverAllowExposures;
-extern int argcGlobal;
-extern char **argvGlobal;
extern char *display;
extern int defaultBackingStore;
extern Bool disableBackingStore;
extern Bool enableBackingStore;
-extern Bool disableSaveUnders;
extern Bool PartialNetwork;
#ifndef NOLOGOHACK
extern int logoScreenSaver;
@@ -72,7 +69,7 @@ extern int limitNoFile;
#endif
extern Bool defeatAccessControl;
extern long maxBigRequestSize;
-extern Bool blackRoot;
+extern Bool party_like_its_1989;
extern Bool whiteRoot;
extern Bool CoreDump;
diff --git a/xorg-server/include/os.h b/xorg-server/include/os.h
index 100686f61..59f26898f 100644
--- a/xorg-server/include/os.h
+++ b/xorg-server/include/os.h
@@ -93,7 +93,6 @@ typedef struct _NewClientRec *NewClientPtr;
#define SIGVAL void
#endif
-extern Bool OsDelayInitColors;
extern void (*OsVendorVErrorFProc)(const char *, va_list args);
extern int WaitForSomething(
@@ -115,7 +114,7 @@ extern void FlushIfCriticalOutputPending(void);
extern void SetCriticalOutputPending(void);
-extern int WriteToClient(ClientPtr /*who*/, int /*count*/, char* /*buf*/);
+extern int WriteToClient(ClientPtr /*who*/, int /*count*/, const void* /*buf*/);
extern void ResetOsBuffers(void);
@@ -166,7 +165,9 @@ extern void MakeClientGrabImpervious(ClientPtr /*client*/);
extern void MakeClientGrabPervious(ClientPtr /*client*/);
-extern void AvailableClientInput(ClientPtr /* client */);
+#ifdef XQUARTZ
+extern void ListenOnOpenFD(int /* fd */, int /* noxauth */);
+#endif
extern CARD32 GetTimeInMillis(void);
@@ -208,8 +209,6 @@ extern SIGVAL GiveUp(int /*sig*/);
extern void UseMsg(void);
-extern void InitGlobals(void);
-
extern void ProcessCommandLine(int /*argc*/, char* /*argv*/[]);
extern int set_font_authorizations(
@@ -229,8 +228,6 @@ extern pointer XNFalloc(unsigned long /*amount*/);
extern pointer XNFcalloc(unsigned long /*amount*/);
extern pointer XNFrealloc(pointer /*ptr*/, unsigned long /*amount*/);
-extern void OsInitAllocator(void);
-
extern char *Xstrdup(const char *s);
extern char *XNFstrdup(const char *s);
extern char *Xprintf(const char *fmt, ...);
@@ -244,10 +241,8 @@ extern OsSigHandlerPtr OsSignal(int /* sig */, OsSigHandlerPtr /* handler */);
extern int auditTrailLevel;
-#ifdef SERVER_LOCK
extern void LockServer(void);
extern void UnlockServer(void);
-#endif
extern int OsLookupColor(
int /*screen*/,
@@ -265,8 +260,6 @@ extern void OsVendorFatalError(void);
extern void OsVendorInit(void);
-extern int OsInitColors(void);
-
void OsBlockSignals (void);
void OsReleaseSignals (void);
@@ -403,12 +396,6 @@ extern XID GenerateAuthorization(
unsigned int * /* data_length_return */,
char ** /* data_return */);
-#ifdef COMMANDLINE_CHALLENGED_OPERATING_SYSTEMS
-extern void ExpandCommandLine(int * /*pargc*/, char *** /*pargv*/);
-#endif
-
-extern void ddxInitGlobals(void);
-
extern int ddxProcessArgument(int /*argc*/, char * /*argv*/ [], int /*i*/);
extern void ddxUseMsg(void);
@@ -436,19 +423,11 @@ extern void ddxUseMsg(void);
(_pxReq->length ? (otherReqTypePtr)_pxReq \
: (otherReqTypePtr)(((CARD32*)_pxReq)+1))
-/* stuff for SkippedRequestsCallback */
-extern CallbackListPtr SkippedRequestsCallback;
-typedef struct {
- xReqPtr req;
- ClientPtr client;
- int numskipped;
-} SkippedRequestInfoRec;
-
/* stuff for ReplyCallback */
extern CallbackListPtr ReplyCallback;
typedef struct {
ClientPtr client;
- pointer replyData;
+ const void *replyData;
unsigned long dataLenBytes;
unsigned long bytesRemaining;
Bool startOfReply;
@@ -461,6 +440,27 @@ extern void AbortDDX(void);
extern void ddxGiveUp(void);
extern int TimeSinceLastInputEvent(void);
+/* strcasecmp.c */
+#if NEED_STRCASECMP
+#define strcasecmp xstrcasecmp
+extern int xstrcasecmp(const char *s1, const char *s2);
+#endif
+
+#if NEED_STRNCASECMP
+#define strncasecmp xstrncasecmp
+extern int xstrncasecmp(const char *s1, const char *s2, size_t n);
+#endif
+
+#if NEED_STRCASESTR
+#define strcasestr xstrcasestr
+extern char *xstrcasestr(const char *s, const char *find);
+#endif
+
+#ifndef HAS_STRLCPY
+extern size_t strlcpy(char *dst, const char *src, size_t siz);
+extern size_t strlcat(char *dst, const char *src, size_t siz);
+#endif
+
/* Logging. */
typedef enum _LogParameter {
XLOG_FLUSH,
@@ -485,8 +485,7 @@ typedef enum {
} MessageType;
/* XXX Need to check which GCC versions have the format(printf) attribute. */
-#if defined(__GNUC__) && \
- ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ > 4)))
+#if defined(__GNUC__) && (__GNUC__ > 2)
#define _printf_attribute(a,b) __attribute((format(__printf__,a,b)))
#else
#define _printf_attribute(a,b) /**/
@@ -507,8 +506,7 @@ extern void FreeAuditTimer(void);
extern void AuditF(const char *f, ...) _printf_attribute(1,2);
extern void VAuditF(const char *f, va_list args);
extern void FatalError(const char *f, ...) _printf_attribute(1,2)
-#if defined(__GNUC__) && \
- ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ > 4)))
+#if defined(__GNUC__) && (__GNUC__ > 2)
__attribute((noreturn))
#endif
;
diff --git a/xorg-server/include/pixmapstr.h b/xorg-server/include/pixmapstr.h
index 4150b69b7..8002b170a 100644
--- a/xorg-server/include/pixmapstr.h
+++ b/xorg-server/include/pixmapstr.h
@@ -74,8 +74,8 @@ typedef struct _Pixmap {
DrawableRec drawable;
PrivateRec *devPrivates;
int refcnt;
- int devKind;
- DevUnion devPrivate;
+ int devKind; /* This is the pitch of the pixmap, typically width*bpp/8. */
+ DevUnion devPrivate; /* When !NULL, devPrivate.ptr points to the raw pixel data. */
short screen_x;
short screen_y;
unsigned usage_hint; /* see CREATE_PIXMAP_USAGE_* */
diff --git a/xorg-server/include/privates.h b/xorg-server/include/privates.h
index 98d893c77..e3fa83cde 100644
--- a/xorg-server/include/privates.h
+++ b/xorg-server/include/privates.h
@@ -19,7 +19,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* STUFF FOR PRIVATES
*****************************************************************/
-typedef void *DevPrivateKey;
+typedef int *DevPrivateKey;
struct _Private;
typedef struct _Private PrivateRec;
diff --git a/xorg-server/include/ptrveloc.h b/xorg-server/include/ptrveloc.h
new file mode 100644
index 000000000..384f9a6f2
--- /dev/null
+++ b/xorg-server/include/ptrveloc.h
@@ -0,0 +1,131 @@
+/*
+ *
+ * Copyright © 2006-2008 Simon Thum simon dot thum at gmx dot de
+ *
+ * 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.
+ */
+
+#ifndef POINTERVELOCITY_H
+#define POINTERVELOCITY_H
+
+#include <input.h> /* DeviceIntPtr */
+
+/* maximum number of filters to approximate velocity.
+ * ABI-breaker!
+ */
+#define MAX_VELOCITY_FILTERS 8
+
+/* constants for acceleration profiles;
+ * see */
+
+#define AccelProfileClassic 0
+#define AccelProfileDeviceSpecific 1
+#define AccelProfilePolynomial 2
+#define AccelProfileSmoothLinear 3
+#define AccelProfileSimple 4
+#define AccelProfilePower 5
+#define AccelProfileLinear 6
+#define AccelProfileReserved 7
+
+/* fwd */
+struct _DeviceVelocityRec;
+
+/**
+ * profile
+ * returns actual acceleration depending on velocity, acceleration control,...
+ */
+typedef float (*PointerAccelerationProfileFunc)
+ (struct _DeviceVelocityRec* /*pVel*/,
+ float /*velocity*/, float /*threshold*/, float /*acc*/);
+
+/**
+ * a filter stage contains the data for adaptive IIR filtering.
+ * To improve results, one may run several parallel filters
+ * which have different decays. Since more integration means more
+ * delay, a given filter only does good matches in a specific phase of
+ * a stroke.
+ *
+ * Basically, the coupling feature makes one filter fairly enough,
+ * so that is the default.
+ */
+typedef struct _FilterStage {
+ float* fading_lut; /* lookup for adaptive IIR filter */
+ int fading_lut_size; /* size of lookup table */
+ float rdecay; /* reciprocal weighting halflife in ms */
+ float current;
+} FilterStage, *FilterStagePtr;
+
+/**
+ * Contains all data needed to implement mouse ballistics
+ */
+typedef struct _DeviceVelocityRec {
+ FilterStage filters[MAX_VELOCITY_FILTERS];
+ float velocity; /* velocity as guessed by algorithm */
+ float last_velocity; /* previous velocity estimate */
+ int lrm_time; /* time the last motion event was processed */
+ int last_dx, last_dy; /* last motion delta */
+ int last_diff; /* last time-difference */
+ Bool last_reset; /* whether a nv-reset occurred just before */
+ float corr_mul; /* config: multiply this into velocity */
+ float const_acceleration; /* config: (recipr.) const deceleration */
+ float min_acceleration; /* config: minimum acceleration */
+ short reset_time; /* config: reset non-visible state after # ms */
+ short use_softening; /* config: use softening of mouse values */
+ float coupling; /* config: max. divergence before coupling */
+ Bool average_accel; /* config: average acceleration over velocity */
+ PointerAccelerationProfileFunc Profile;
+ PointerAccelerationProfileFunc deviceSpecificProfile;
+ void* profile_private;/* extended data, see SetAccelerationProfile() */
+ struct { /* to be able to query this information */
+ int profile_number;
+ int filter_usecount[MAX_VELOCITY_FILTERS +1];
+ } statistics;
+} DeviceVelocityRec, *DeviceVelocityPtr;
+
+
+extern void
+InitVelocityData(DeviceVelocityPtr s);
+
+extern void
+InitFilterChain(DeviceVelocityPtr s, float rdecay, float degression,
+ int lutsize, int stages);
+
+extern int
+SetAccelerationProfile(DeviceVelocityPtr s, int profile_num);
+
+extern DeviceVelocityPtr
+GetDevicePredictableAccelData(DeviceIntPtr pDev);
+
+extern void
+SetDeviceSpecificAccelerationProfile(DeviceVelocityPtr s,
+ PointerAccelerationProfileFunc profile);
+
+extern void
+AccelerationDefaultCleanup(DeviceIntPtr pDev);
+
+extern void
+acceleratePointerPredictable(DeviceIntPtr pDev, int first_valuator,
+ int num_valuators, int *valuators, int evtime);
+
+extern void
+acceleratePointerLightweight(DeviceIntPtr pDev, int first_valuator,
+ int num_valuators, int *valuators, int ignore);
+
+#endif /* POINTERVELOCITY_H */
diff --git a/xorg-server/include/regionstr.h b/xorg-server/include/regionstr.h
index f44cab7b0..db712f8ae 100644
--- a/xorg-server/include/regionstr.h
+++ b/xorg-server/include/regionstr.h
@@ -131,34 +131,9 @@ extern RegDataRec miBrokenData;
#define REGION_BREAK(_pScreen, _pReg) \
miRegionBreak(_pReg)
-#ifdef DONT_INLINE_REGION_OPS
-
-#define REGION_INIT(_pScreen, _pReg, _rect, _size) \
- miRegionInit(_pReg, _rect, _size)
-
-#define REGION_UNINIT(_pScreen, _pReg) \
- miRegionUninit(_pReg)
-
-#define REGION_RESET(_pScreen, _pReg, _pBox) \
- miRegionReset(_pReg, _pBox)
-
-#define REGION_NOTEMPTY(_pScreen, _pReg) \
- miRegionNotEmpty(_pReg)
-
-#define REGION_BROKEN(_pScreen, _pReg) \
- miRegionBroken(_pReg)
-
-#define REGION_EMPTY(_pScreen, _pReg) \
- miRegionEmpty(_pReg)
-
-#define REGION_EXTENTS(_pScreen, _pReg) \
- miRegionExtents(_pReg)
-
-#else /* inline certain simple region ops for performance */
-
#define REGION_INIT(_pScreen, _pReg, _rect, _size) \
{ \
- if (_rect) \
+ if ((_rect) != NULL) \
{ \
(_pReg)->extents = *(_rect); \
(_pReg)->data = (RegDataPtr)NULL; \
@@ -216,8 +191,6 @@ extern RegDataRec miBrokenData;
(_pReg)->data = &miEmptyData; \
}
-#endif /* DONT_INLINE_REGION_OPS */
-
#ifndef REGION_NULL
#define REGION_NULL(_pScreen, _pReg) \
REGION_INIT(_pScreen, _pReg, NullBox, 1)
diff --git a/xorg-server/include/scrnintstr.h b/xorg-server/include/scrnintstr.h
index c49487585..d2d4a659f 100644
--- a/xorg-server/include/scrnintstr.h
+++ b/xorg-server/include/scrnintstr.h
@@ -122,6 +122,7 @@ typedef void (* GetSpansProcPtr)(
char * /*pdstStart*/);
typedef void (* PointerNonInterestBoxProcPtr)(
+ DeviceIntPtr /*pDev*/,
ScreenPtr /*pScreen*/,
BoxPtr /*pBox*/);
@@ -266,33 +267,40 @@ typedef Bool (* UnrealizeFontProcPtr)(
FontPtr /*pFont*/);
typedef void (* ConstrainCursorProcPtr)(
+ DeviceIntPtr /*pDev*/,
ScreenPtr /*pScreen*/,
BoxPtr /*pBox*/);
typedef void (* CursorLimitsProcPtr)(
+ DeviceIntPtr /* pDev */,
ScreenPtr /*pScreen*/,
CursorPtr /*pCursor*/,
BoxPtr /*pHotBox*/,
BoxPtr /*pTopLeftBox*/);
typedef Bool (* DisplayCursorProcPtr)(
+ DeviceIntPtr /* pDev */,
ScreenPtr /*pScreen*/,
CursorPtr /*pCursor*/);
typedef Bool (* RealizeCursorProcPtr)(
+ DeviceIntPtr /* pDev */,
ScreenPtr /*pScreen*/,
CursorPtr /*pCursor*/);
typedef Bool (* UnrealizeCursorProcPtr)(
+ DeviceIntPtr /* pDev */,
ScreenPtr /*pScreen*/,
CursorPtr /*pCursor*/);
typedef void (* RecolorCursorProcPtr)(
+ DeviceIntPtr /* pDev */,
ScreenPtr /*pScreen*/,
CursorPtr /*pCursor*/,
Bool /*displayed*/);
typedef Bool (* SetCursorPositionProcPtr)(
+ DeviceIntPtr /* pDev */,
ScreenPtr /*pScreen*/,
int /*x*/,
int /*y*/,
@@ -418,10 +426,8 @@ typedef void (* ReparentWindowProcPtr)(
WindowPtr /*pWin*/,
WindowPtr /*pPriorParent*/);
-#ifdef SHAPE
typedef void (* SetShapeProcPtr)(
WindowPtr /*pWin*/);
-#endif /* SHAPE */
typedef void (* ChangeBorderWidthProcPtr)(
WindowPtr /*pWin*/,
@@ -436,6 +442,14 @@ typedef void (* MarkUnrealizedWindowProcPtr)(
#undef CreateWindow
#endif
+typedef Bool (* DeviceCursorInitializeProcPtr)(
+ DeviceIntPtr /* pDev */,
+ ScreenPtr /* pScreen */);
+
+typedef void (* DeviceCursorCleanupProcPtr)(
+ DeviceIntPtr /* pDev */,
+ ScreenPtr /* pScreen */);
+
typedef struct _Screen {
int myNum; /* index of this instance in Screens[] */
ATOM id;
@@ -577,13 +591,14 @@ typedef struct _Screen {
HandleExposuresProcPtr HandleExposures;
ReparentWindowProcPtr ReparentWindow;
-#ifdef SHAPE
SetShapeProcPtr SetShape;
-#endif /* SHAPE */
ChangeBorderWidthProcPtr ChangeBorderWidth;
MarkUnrealizedWindowProcPtr MarkUnrealizedWindow;
+ /* Device cursor procedures */
+ DeviceCursorInitializeProcPtr DeviceCursorInitialize;
+ DeviceCursorCleanupProcPtr DeviceCursorCleanup;
} ScreenRec;
typedef struct _ScreenInfo {
@@ -597,7 +612,7 @@ typedef struct _ScreenInfo {
int arraySize;
int numScreens;
ScreenPtr screens[MAXSCREENS];
- int numVideoScreens;
+ int unused;
} ScreenInfo;
extern ScreenInfo screenInfo;
diff --git a/xorg-server/include/servermd.h b/xorg-server/include/servermd.h
index 616841089..dec9f3b9e 100644
--- a/xorg-server/include/servermd.h
+++ b/xorg-server/include/servermd.h
@@ -49,6 +49,11 @@ SOFTWARE.
#define SERVERMD_H 1
/*
+ * Note: much of this is vestigial from mfb/cfb times. This should
+ * really be simplified even further.
+ */
+
+/*
* Machine dependent values:
* GLYPHPADBYTES should be chosen with consideration for the space-time
* trade-off. Padding to 0 bytes means that there is no wasted space
@@ -61,128 +66,37 @@ SOFTWARE.
* compiler what kind of padding you want because its defines are
* kept separate from this. See server/include/font.h for how
* GLYPHPADBYTES is used.
- *
- * Along with this, you should choose an appropriate value for
- * GETLEFTBITS_ALIGNMENT, which is used in ddx/mfb/maskbits.h. This
- * constant choses what kind of memory references are guarenteed during
- * font access; either 1, 2 or 4, for byte, word or longword access,
- * respectively. For instance, if you have decided to to have
- * GLYPHPADBYTES == 4, then it is pointless for you to have a
- * GETLEFTBITS_ALIGNMENT > 1, because the padding of the fonts has already
- * guarenteed you that your fonts are longword aligned. On the other
- * hand, even if you have chosen GLYPHPADBYTES == 1 to save space, you may
- * also decide that the computing involved in aligning the pointer is more
- * costly than an odd-address access; you choose GETLEFTBITS_ALIGNMENT == 1.
- *
- * Next, choose the tuning parameters which are appropriate for your
- * hardware; these modify the behaviour of the raw frame buffer code
- * in ddx/mfb and ddx/cfb. Defining these incorrectly will not cause
- * the server to run incorrectly, but defining these correctly will
- * cause some noticeable speed improvements:
- *
- * AVOID_MEMORY_READ - (8-bit cfb only)
- * When stippling pixels on the screen (polytext and pushpixels),
- * don't read long words from the display and mask in the
- * appropriate values. Rather, perform multiple byte/short/long
- * writes as appropriate. This option uses many more instructions
- * but runs much faster when the destination is much slower than
- * the CPU and at least 1 level of write buffer is availible (2
- * is much better). Defined currently for SPARC and MIPS.
- *
- * FAST_CONSTANT_OFFSET_MODE - (cfb and mfb)
- * This define is used on machines which have no auto-increment
- * addressing mode, but do have an effectively free constant-offset
- * addressing mode. Currently defined for MIPS and SPARC, even though
- * I remember the cg6 as performing better without it (cg3 definitely
- * performs better with it).
- *
- * LARGE_INSTRUCTION_CACHE -
- * This define increases the number of times some loops are
- * unrolled. On 68020 machines (with 256 bytes of i-cache),
- * this define will slow execution down as instructions miss
- * the cache frequently. On machines with real i-caches, this
- * reduces loop overhead, causing a slight performance improvement.
- * Currently defined for MIPS and SPARC
- *
- * FAST_UNALIGNED_READS -
- * For machines with more memory bandwidth than CPU, this
- * define uses unaligned reads for 8-bit BitBLT instead of doing
- * aligned reads and combining the results with shifts and
- * logical-ors. Currently defined for 68020 and vax.
- * PLENTIFUL_REGISTERS -
- * For machines with > 20 registers. Currently used for
- * unrolling the text painting code a bit more. Currently
- * defined for MIPS.
- * SHARED_IDCACHE -
- * For non-Harvard RISC machines, those which share the same
- * CPU memory bus for instructions and data. This unrolls some
- * solid fill loops which are otherwise best left rolled up.
- * Currently defined for SPARC.
*/
-#ifdef vax
+#ifdef __avr32__
-#define IMAGE_BYTE_ORDER LSBFirst /* Values for the VAX only */
-#define BITMAP_BIT_ORDER LSBFirst
-#define GLYPHPADBYTES 1
-#define GETLEFTBITS_ALIGNMENT 4
-#define FAST_UNALIGNED_READS
+#define IMAGE_BYTE_ORDER MSBFirst
+#define BITMAP_BIT_ORDER MSBFirst
+#define GLYPHPADBYTES 4
-#endif /* vax */
+#endif /* __avr32__ */
#ifdef __arm32__
#define IMAGE_BYTE_ORDER LSBFirst
-
-# if defined(XF86MONOVGA) || defined(XF86VGA16) || defined(XF86MONO)
-# define BITMAP_BIT_ORDER MSBFirst
-# else
-# define BITMAP_BIT_ORDER LSBFirst
-# endif
-
-# if defined(XF86MONOVGA) || defined(XF86VGA16)
-# define BITMAP_SCANLINE_UNIT 8
-# endif
-
+#define BITMAP_BIT_ORDER LSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-#define LARGE_INSTRUCTION_CACHE
-#define AVOID_MEMORY_READ
#endif /* __arm32__ */
-#if defined (hpux) || defined __hppa__
+#if defined __hppa__
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4 /* to make fb work */
-#define GETLEFTBITS_ALIGNMENT 1 /* PA forces longs to 4 */
/* byte boundries */
-#define AVOID_MEMORY_READ
-#define FAST_CONSTANT_OFFSET_MODE
-#define LARGE_INSTRUCTION_CACHE
-#define PLENTIFUL_REGISTERS
-
#endif /* hpux || __hppa__ */
-#if defined(__powerpc__) || defined(__ppc__)
+#if defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__)
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-
-/* XXX Should this be for Lynx only? */
-#ifdef Lynx
-#define BITMAP_SCANLINE_UNIT 8
-#endif
-
-#define LARGE_INSTRUCTION_CACHE
-#define FAST_CONSTANT_OFFSET_MODE
-#define PLENTIFUL_REGISTERS
-#define AVOID_MEMORY_READ
-
-#define FAST_MEMCPY
#endif /* PowerPC */
@@ -192,21 +106,27 @@ SOFTWARE.
# define IMAGE_BYTE_ORDER MSBFirst
# define BITMAP_BIT_ORDER MSBFirst
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
#else
# define IMAGE_BYTE_ORDER LSBFirst
# define BITMAP_BIT_ORDER LSBFirst
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
#endif
-#define AVOID_MEMORY_READ
-#define FAST_CONSTANT_OFFSET_MODE
-#define LARGE_INSTRUCTION_CACHE
-#define PLENTIFUL_REGISTERS
-
#endif /* SuperH */
+#if defined(__m32r__)
+
+#if defined(__BIG_ENDIAN__)
+# define IMAGE_BYTE_ORDER MSBFirst
+# define BITMAP_BIT_ORDER MSBFirst
+# define GLYPHPADBYTES 4
+#else
+# define IMAGE_BYTE_ORDER LSBFirst
+# define BITMAP_BIT_ORDER LSBFirst
+# define GLYPHPADBYTES 4
+#endif
+
+#endif /* __m32r__ */
#if (defined(sun) && (defined(__sparc) || defined(sparc))) || \
(defined(__uxp__) && (defined(sparc) || defined(mc68000))) || \
@@ -226,38 +146,11 @@ SOFTWARE.
# define BITMAP_BIT_ORDER MSBFirst
#endif
-#ifdef sparc
-# define AVOID_MEMORY_READ
-# define LARGE_INSTRUCTION_CACHE
-# define FAST_CONSTANT_OFFSET_MODE
-# define SHARED_IDCACHE
-#endif
-
-#ifdef mc68020
-#define FAST_UNALIGNED_READS
-#endif
-
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#endif /* sun && !(i386 && SVR4) */
-#if defined(AIXV3)
-
-#define IMAGE_BYTE_ORDER MSBFirst /* Values for the RISC/6000 */
-#define BITMAP_BIT_ORDER MSBFirst
-#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-
-#define LARGE_INSTRUCTION_CACHE
-#define FAST_CONSTANT_OFFSET_MODE
-#define PLENTIFUL_REGISTERS
-#define AVOID_MEMORY_READ
-
-#define FAST_MEMCPY
-#endif /* AIXV3 */
-
#if defined(ibm032) || defined (ibm)
#ifdef __i386__
@@ -267,7 +160,6 @@ SOFTWARE.
#endif
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 1
-#define GETLEFTBITS_ALIGNMENT 4
/* ibm pcc doesn't understand pragmas. */
#ifdef __i386__
@@ -276,67 +168,24 @@ SOFTWARE.
#endif /* ibm */
-#if defined (M4310) || defined(M4315) || defined(M4317) || defined(M4319) || defined(M4330)
-
-#define IMAGE_BYTE_ORDER MSBFirst /* Values for Pegasus only */
-#define BITMAP_BIT_ORDER MSBFirst
-#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-
-#define FAST_UNALIGNED_READS
-
-#endif /* tektronix */
-
-#ifdef macII
-
-#define IMAGE_BYTE_ORDER MSBFirst /* Values for the MacII only */
-#define BITMAP_BIT_ORDER MSBFirst
-#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-
-/* might want FAST_UNALIGNED_READS for frame buffers with < 1us latency */
-
-#endif /* macII */
-
-#if (defined(mips) || defined(__mips)) && !defined(sgi)
+#if (defined(mips) || defined(__mips))
#if defined(MIPSEL) || defined(__MIPSEL__)
# define IMAGE_BYTE_ORDER LSBFirst /* Values for the PMAX only */
# define BITMAP_BIT_ORDER LSBFirst
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
#else
# define IMAGE_BYTE_ORDER MSBFirst /* Values for the MIPS only */
# define BITMAP_BIT_ORDER MSBFirst
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
#endif
-#define AVOID_MEMORY_READ
-#define FAST_CONSTANT_OFFSET_MODE
-#define LARGE_INSTRUCTION_CACHE
-#define PLENTIFUL_REGISTERS
-
#endif /* mips */
-#if defined(__alpha) || defined(__alpha__) || defined(__alphaCross)
+#if defined(__alpha) || defined(__alpha__)
# define IMAGE_BYTE_ORDER LSBFirst /* Values for the Alpha only */
-
-# if defined(XF86MONOVGA) || defined(XF86VGA16) || defined(XF86MONO)
-# define BITMAP_BIT_ORDER MSBFirst
-# else
-# define BITMAP_BIT_ORDER LSBFirst
-# endif
-
-# if defined(XF86MONOVGA) || defined(XF86VGA16)
-# define BITMAP_SCANLINE_UNIT 8
-# endif
-
+# define BITMAP_BIT_ORDER LSBFirst
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
-# define FAST_CONSTANT_OFFSET_MODE
-# define LARGE_INSTRUCTION_CACHE
-# define PLENTIFUL_REGISTERS
#endif /* alpha */
@@ -345,15 +194,10 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#define BITMAP_SCANLINE_UNIT 8
-#define LARGE_INSTRUCTION_CACHE
-#define FAST_CONSTANT_OFFSET_MODE
#define FAST_UNALIGNED_READ
-#define FAST_MEMCPY
-
#endif /* linux/s390 */
#if defined (linux) && defined (__s390x__)
@@ -361,92 +205,31 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#define BITMAP_SCANLINE_UNIT 8
-#define LARGE_INSTRUCTION_CACHE
-#define FAST_CONSTANT_OFFSET_MODE
#define FAST_UNALIGNED_READ
-#define FAST_MEMCPY
#endif /* linux/s390x */
#if defined(__ia64__) || defined(ia64)
-# define IMAGE_BYTE_ORDER LSBFirst
-
-# if defined(XF86MONOVGA) || defined(XF86VGA16) || defined(XF86MONO)
-# define BITMAP_BIT_ORDER MSBFirst
-# else
-# define BITMAP_BIT_ORDER LSBFirst
-# endif
-
-# if defined(XF86MONOVGA) || defined(XF86VGA16)
-# define BITMAP_SCANLINE_UNIT 8
-# endif
+# define IMAGE_BYTE_ORDER LSBFirst
+# define BITMAP_BIT_ORDER LSBFirst
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
-# define FAST_CONSTANT_OFFSET_MODE
-# define LARGE_INSTRUCTION_CACHE
-# define PLENTIFUL_REGISTERS
#endif /* ia64 */
-#if defined(__amd64__) || defined(amd64) || defined(__amd64) || defined(__x86_64__)
+#if defined(__amd64__) || defined(amd64) || defined(__amd64)
# define IMAGE_BYTE_ORDER LSBFirst
-
-# if defined(XF86MONOVGA) || defined(XF86VGA16) || defined(XF86MONO)
-# define BITMAP_BIT_ORDER MSBFirst
-# else
-# define BITMAP_BIT_ORDER LSBFirst
-# endif
-
-# if defined(XF86MONOVGA) || defined(XF86VGA16)
-# define BITMAP_SCANLINE_UNIT 8
-# endif
-
+# define BITMAP_BIT_ORDER LSBFirst
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
-# define LARGE_INSTRUCTION_CACHE
-# define FAST_CONSTANT_OFFSET_MODE
/* ???? */
-# define FAST_UNALIGNED_READS
#endif /* AMD64 */
-#ifdef stellar
-
-#define IMAGE_BYTE_ORDER MSBFirst /* Values for the stellar only*/
-#define BITMAP_BIT_ORDER MSBFirst
-#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 4
-#define IMAGE_BUFSIZE (64*1024)
-/*
- * Use SysV random number generator.
- */
-#define random rand
-
-#endif /* stellar */
-
-#ifdef luna
-
-#define IMAGE_BYTE_ORDER MSBFirst /* Values for the OMRON only*/
-#define BITMAP_BIT_ORDER MSBFirst
-#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-
-#ifndef mc68000
-#define FAST_CONSTANT_OFFSET_MODE
-#define AVOID_MEMORY_READ
-#define LARGE_INSTRUCTION_CACHE
-#define PLENTIFUL_REGISTERS
-#endif
-
-#endif /* luna */
-
-#if (defined(SVR4) && (defined(__i386__) || (defined(__i386)))) || \
+#if defined(SVR4) && (defined(__i386__) || defined(__i386) ) || \
defined(__alpha__) || defined(__alpha) || \
- defined(__i386__) || defined(__QNX__) || \
+ defined(__i386__) || \
defined(__s390x__) || defined(__s390__)
#ifndef IMAGE_BYTE_ORDER
@@ -454,63 +237,29 @@ SOFTWARE.
#endif
#ifndef BITMAP_BIT_ORDER
-# if defined(XF86MONOVGA) || defined(XF86VGA16) || defined(XF86MONO)
-# define BITMAP_BIT_ORDER MSBFirst
-# else
-# define BITMAP_BIT_ORDER LSBFirst
-# endif
-#endif
-
-#ifndef BITMAP_SCANLINE_UNIT
-# if defined(XF86MONOVGA) || defined(XF86VGA16)
-# define BITMAP_SCANLINE_UNIT 8
-# endif
+# define BITMAP_BIT_ORDER LSBFirst
#endif
#ifndef GLYPHPADBYTES
#define GLYPHPADBYTES 4
#endif
-#define GETLEFTBITS_ALIGNMENT 1
-#define AVOID_MEMORY_READ
-#ifdef XSVGA
-#define AVOID_GLYPHBLT
-#define FAST_CONSTANT_OFFSET_MODE
-#define FAST_MEMCPY
-#define NO_ONE_RECT
-#endif
-
#endif /* SVR4 / BSD / i386 */
#if defined (linux) && defined (__mc68000__)
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
-#define FAST_UNALIGNED_READS
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#endif /* linux/m68k */
-#ifdef sgi
-
-#define IMAGE_BYTE_ORDER MSBFirst
-#define BITMAP_BIT_ORDER MSBFirst
-#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-#define AVOID_MEMORY_READ
-#define FAST_CONSTANT_OFFSET_MODE
-#define LARGE_INSTRUCTION_CACHE
-#define PLENTIFUL_REGISTERS
-
-#endif
-/* linux on the Compaq Itsy */
+/* linux on ARM */
#if defined(linux) && defined(__arm__)
#define IMAGE_BYTE_ORDER LSBFirst
#define BITMAP_BIT_ORDER LSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#endif
/* linux on IBM S/390 */
@@ -518,12 +267,11 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#endif /* linux/s390 */
/* size of buffer to use with GetImage, measured in bytes. There's obviously
- * a trade-off between the amount of stack (or whatever ALLOCATE_LOCAL gives
- * you) used and the number of times the ddx routine has to be called.
+ * a trade-off between the amount of heap used and the number of times the
+ * ddx routine has to be called.
*/
#ifndef IMAGE_BUFSIZE
#define IMAGE_BUFSIZE (64*1024)
diff --git a/xorg-server/include/window.h b/xorg-server/include/window.h
index 52b3982e3..04cbe2627 100644
--- a/xorg-server/include/window.h
+++ b/xorg-server/include/window.h
@@ -66,6 +66,10 @@ SOFTWARE.
#define WT_NOMATCH 3
#define NullWindow ((WindowPtr) 0)
+/* Forward declaration, we can't include input.h here */
+struct _DeviceIntRec;
+struct _Cursor;
+
typedef struct _BackingStore *BackingStorePtr;
typedef struct _Window *WindowPtr;
@@ -131,6 +135,15 @@ extern int ChangeWindowAttributes(
XID* /*vlist*/,
ClientPtr /*client*/);
+extern int ChangeWindowDeviceCursor(
+ WindowPtr /*pWin*/,
+ struct _DeviceIntRec* /*pDev*/,
+ struct _Cursor* /*pCursor*/);
+
+extern struct _Cursor* WindowGetDeviceCursor(
+ WindowPtr /*pWin*/,
+ struct _DeviceIntRec* /*pDev*/);
+
/* Quartz support on Mac OS X uses the HIToolbox
framework whose GetWindowAttributes function conflicts here. */
#ifdef __APPLE__
diff --git a/xorg-server/include/windowstr.h b/xorg-server/include/windowstr.h
index f370a25d2..e7f4691d9 100644
--- a/xorg-server/include/windowstr.h
+++ b/xorg-server/include/windowstr.h
@@ -59,6 +59,7 @@ SOFTWARE.
#include "miscstruct.h"
#include <X11/Xprotostr.h>
#include "opaque.h"
+#include "inputstr.h"
#define GuaranteeNothing 0
#define GuaranteeVisBack 1
@@ -71,6 +72,31 @@ SOFTWARE.
#define SameBorder(as, a, bs, b) \
EqualPixUnion(as, a, bs, b)
+/* used as NULL-terminated list */
+typedef struct _DevCursorNode {
+ CursorPtr cursor;
+ DeviceIntPtr dev;
+ struct _DevCursorNode* next;
+} DevCursNodeRec, *DevCursNodePtr, *DevCursorList;
+
+/* Mask structure for GE extension as stored on the window.
+ * Allows one mask per extension.
+ * .eventMask - Summary mask for all clients, used for quick checking.
+ * .geClients - list of clients with their specific mask.
+ */
+typedef struct _GenericClientMasks {
+ Mask eventMasks[MAXEXTENSIONS];
+ GenericMaskPtr geClients;
+} GenericClientMasksRec, *GenericClientMasksPtr;
+
+typedef struct _WindowAccessRec {
+ int defaultRule; /* WindowAccessDenyAll */
+ DeviceIntPtr* perm;
+ int nperm;
+ DeviceIntPtr* deny;
+ int ndeny;
+} WindowAccessRec, *WindowAccessPtr;
+
typedef struct _WindowOpt {
VisualID visual; /* default: same as parent */
CursorPtr cursor; /* default: window.cursorNone */
@@ -82,14 +108,13 @@ typedef struct _WindowOpt {
PropertyPtr userProps; /* default: NULL */
unsigned long backingBitPlanes; /* default: ~0L */
unsigned long backingPixel; /* default: 0 */
-#ifdef SHAPE
RegionPtr boundingShape; /* default: NULL */
RegionPtr clipShape; /* default: NULL */
RegionPtr inputShape; /* default: NULL */
-#endif
-#ifdef XINPUT
struct _OtherInputMasks *inputMasks; /* default: NULL */
-#endif
+ DevCursorList deviceCursors; /* default: NULL */
+ struct _GenericClientMasks *geMasks; /* default: NULL */
+ WindowAccessRec access;
} WindowOptRec, *WindowOptPtr;
#define BackgroundPixel 2L
@@ -160,6 +185,9 @@ typedef struct _Window {
unsigned forcedBS:1; /* system-supplied backingStore */
unsigned redirectDraw:2; /* COMPOSITE rendering redirect */
unsigned forcedBG:1; /* must have an opaque background */
+#ifdef ROOTLESS
+ unsigned rootlessUnhittable:1; /* doesn't hit-test */
+#endif
} WindowRec;
/*
@@ -182,30 +210,20 @@ extern Mask DontPropagateMasks[];
#define wDontPropagateMask(w) wUseDefault(w, dontPropagateMask, DontPropagateMasks[(w)->dontPropagate])
#define wOtherEventMasks(w) wUseDefault(w, otherEventMasks, 0)
#define wOtherClients(w) wUseDefault(w, otherClients, NULL)
-#ifdef XINPUT
#define wOtherInputMasks(w) wUseDefault(w, inputMasks, NULL)
-#else
-#define wOtherInputMasks(w) NULL
-#endif
#define wPassiveGrabs(w) wUseDefault(w, passiveGrabs, NULL)
#define wUserProps(w) wUseDefault(w, userProps, NULL)
#define wBackingBitPlanes(w) wUseDefault(w, backingBitPlanes, ~0L)
#define wBackingPixel(w) wUseDefault(w, backingPixel, 0)
-#ifdef SHAPE
#define wBoundingShape(w) wUseDefault(w, boundingShape, NULL)
#define wClipShape(w) wUseDefault(w, clipShape, NULL)
#define wInputShape(w) wUseDefault(w, inputShape, NULL)
-#endif
#define wClient(w) (clients[CLIENT_ID((w)->drawable.id)])
#define wBorderWidth(w) ((int) (w)->borderWidth)
/* true when w needs a border drawn. */
-#ifdef SHAPE
#define HasBorder(w) ((w)->borderWidth || wClipShape(w))
-#else
-#define HasBorder(w) ((w)->borderWidth)
-#endif
typedef struct _ScreenSaverStuff {
WindowPtr pWindow;
@@ -227,27 +245,4 @@ typedef struct _ScreenSaverStuff {
extern int screenIsSaved;
extern ScreenSaverStuffRec savedScreenInfo[MAXSCREENS];
-/*
- * this is the configuration parameter "NO_BACK_SAVE"
- * it means that any existant backing store should not
- * be used to implement save unders.
- */
-
-#ifndef NO_BACK_SAVE
-#define DO_SAVE_UNDERS(pWin) ((pWin)->drawable.pScreen->saveUnderSupport ==\
- USE_DIX_SAVE_UNDERS)
-/*
- * saveUnderSupport is set to this magic value when using DIXsaveUnders
- */
-
-#define USE_DIX_SAVE_UNDERS 0x40
-#endif
-
-extern int numSaveUndersViewable;
-extern int deltaSaveUndersViewable;
-
-#ifdef XEVIE
-extern WindowPtr xeviewin;
-#endif
-
#endif /* WINDOWSTRUCT_H */
diff --git a/xorg-server/include/xgl-config.h.in b/xorg-server/include/xgl-config.h.in
deleted file mode 100644
index 877d179c4..000000000
--- a/xorg-server/include/xgl-config.h.in
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * xgl-config.h.in
- *
- * This file has defines used in the xgl ddx
- *
- */
-
-#include <dix-config.h>
-
-/* Use loadable XGL modules. */
-#undef XGL_MODULAR
-
-/* Default XGL module search path */
-#undef XGL_MODULE_PATH
diff --git a/xorg-server/include/xkb-config.h b/xorg-server/include/xkb-config.h
deleted file mode 100644
index 91c7957bf..000000000
--- a/xorg-server/include/xkb-config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* include/xkb-config.h. Generated from xkb-config.h.in by configure. */
-/* xkb-config.h.in: not at all generated. -*- c -*-
- *
- */
-
-#ifndef _XKB_CONFIG_H_
-#define _XKB_CONFIG_H_
-
-/* Default set of XKB rules. */
-#define __XKBDEFRULES__ "xorg"
-
-/* Path to XKB definitions. */
-#define XKB_BASE_DIRECTORY "xkbdata"
-
-/* Path to xkbcomp. */
-#define XKB_BIN_DIRECTORY "."
-
-/* XKB output dir for compiled keymaps. */
-#define XKM_OUTPUT_DIR "xkbdata/compiled/"
-
-/* Do not have `strcasecmp'. */
-/* #undef NEED_STRCASECMP */
-
-#endif /* _XKB_CONFIG_H_ */
diff --git a/xorg-server/include/xkbfile.h b/xorg-server/include/xkbfile.h
index 0a6cb18b9..948d6ca4a 100644
--- a/xorg-server/include/xkbfile.h
+++ b/xorg-server/include/xkbfile.h
@@ -402,35 +402,6 @@ extern unsigned XkmReadFile(
XkbDescPtr * /* result */
);
-#ifdef _XKMFORMAT_H_
-
-extern Bool XkmReadTOC(
- FILE * /* file */,
- xkmFileInfo * /* file_info */,
- int /* max_toc */,
- xkmSectionInfo * /* toc */
-);
-
-extern xkmSectionInfo *XkmFindTOCEntry(
- xkmFileInfo * /* finfo */,
- xkmSectionInfo * /* toc */,
- unsigned /* type */
-);
-
-extern Bool XkmReadFileSection(
- FILE * /* file */,
- xkmSectionInfo * /* toc */,
- XkbDescPtr /* result */,
- unsigned * /* loaded_rtrn */
-);
-
-extern char * XkmReadFileSectionName(
- FILE * /* file */,
- xkmSectionInfo * /* toc */
-);
-
-#endif /* _XKMFORMAT_H */
-
_XFUNCPROTOEND
#endif /* _XKBFILE_H_ */
diff --git a/xorg-server/include/xkbrules.h b/xorg-server/include/xkbrules.h
new file mode 100644
index 000000000..648e2e9c6
--- /dev/null
+++ b/xorg-server/include/xkbrules.h
@@ -0,0 +1,183 @@
+#ifndef _XKBRULES_H_
+#define _XKBRULES_H_ 1
+
+/************************************************************
+ Copyright (c) 1996 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.
+
+ ********************************************************/
+
+/***====================================================================***/
+
+typedef struct _XkbRF_VarDefs {
+ char * model;
+ char * layout;
+ char * variant;
+ char * options;
+ unsigned short sz_extra;
+ unsigned short num_extra;
+ char * extra_names;
+ char ** extra_values;
+} XkbRF_VarDefsRec,*XkbRF_VarDefsPtr;
+
+typedef struct _XkbRF_VarDesc {
+ char * name;
+ char * desc;
+} XkbRF_VarDescRec, *XkbRF_VarDescPtr;
+
+typedef struct _XkbRF_DescribeVars {
+ int sz_desc;
+ int num_desc;
+ XkbRF_VarDescPtr desc;
+} XkbRF_DescribeVarsRec,*XkbRF_DescribeVarsPtr;
+
+typedef struct _XkbRF_Rule {
+ int number;
+ int layout_num;
+ int variant_num;
+ char * model;
+ char * layout;
+ char * variant;
+ char * option;
+ /* yields */
+ char * keycodes;
+ char * symbols;
+ char * types;
+ char * compat;
+ char * geometry;
+ char * keymap;
+ unsigned flags;
+} XkbRF_RuleRec,*XkbRF_RulePtr;
+
+typedef struct _XkbRF_Group {
+ int number;
+ char * name;
+ char * words;
+} XkbRF_GroupRec, *XkbRF_GroupPtr;
+
+#define XkbRF_PendingMatch (1L<<1)
+#define XkbRF_Option (1L<<2)
+#define XkbRF_Append (1L<<3)
+#define XkbRF_Normal (1L<<4)
+#define XkbRF_Invalid (1L<<5)
+
+typedef struct _XkbRF_Rules {
+ XkbRF_DescribeVarsRec models;
+ XkbRF_DescribeVarsRec layouts;
+ XkbRF_DescribeVarsRec variants;
+ XkbRF_DescribeVarsRec options;
+ unsigned short sz_extra;
+ unsigned short num_extra;
+ char ** extra_names;
+ XkbRF_DescribeVarsPtr extra;
+
+ unsigned short sz_rules;
+ unsigned short num_rules;
+ XkbRF_RulePtr rules;
+ unsigned short sz_groups;
+ unsigned short num_groups;
+ XkbRF_GroupPtr groups;
+} XkbRF_RulesRec, *XkbRF_RulesPtr;
+
+/***====================================================================***/
+
+_XFUNCPROTOBEGIN
+
+extern Bool XkbRF_GetComponents(
+ XkbRF_RulesPtr /* rules */,
+ XkbRF_VarDefsPtr /* var_defs */,
+ XkbComponentNamesPtr /* names */
+);
+
+extern XkbRF_RulePtr XkbRF_AddRule(
+ XkbRF_RulesPtr /* rules */
+);
+
+extern XkbRF_GroupPtr XkbRF_AddGroup(XkbRF_RulesPtr rules);
+
+extern Bool XkbRF_LoadRules(
+ FILE * /* file */,
+ XkbRF_RulesPtr /* rules */
+);
+
+extern Bool XkbRF_LoadRulesByName(
+ char * /* base */,
+ char * /* locale */,
+ XkbRF_RulesPtr /* rules */
+);
+
+/***====================================================================***/
+
+extern XkbRF_VarDescPtr XkbRF_AddVarDesc(
+ XkbRF_DescribeVarsPtr /* vars */
+);
+
+extern XkbRF_VarDescPtr XkbRF_AddVarDescCopy(
+ XkbRF_DescribeVarsPtr /* vars */,
+ XkbRF_VarDescPtr /* copy_from */
+);
+
+extern XkbRF_DescribeVarsPtr XkbRF_AddVarToDescribe(
+ XkbRF_RulesPtr /* rules */,
+ char * /* name */
+);
+
+extern Bool XkbRF_LoadDescriptions(
+ FILE * /* file */,
+ XkbRF_RulesPtr /* rules */
+);
+
+extern Bool XkbRF_LoadDescriptionsByName(
+ char * /* base */,
+ char * /* locale */,
+ XkbRF_RulesPtr /* rules */
+);
+
+extern XkbRF_RulesPtr XkbRF_Load(
+ char * /* base */,
+ char * /* locale */,
+ Bool /* wantDesc */,
+ Bool /* wantRules */
+);
+
+extern XkbRF_RulesPtr XkbRF_Create(
+ int /* sz_rules */,
+ int /* sz_extra */
+);
+
+/***====================================================================***/
+
+extern void XkbRF_Free(
+ XkbRF_RulesPtr /* rules */,
+ Bool /* freeRules */
+);
+
+
+/***====================================================================***/
+
+#define _XKB_RF_NAMES_PROP_ATOM "_XKB_RULES_NAMES"
+#define _XKB_RF_NAMES_PROP_MAXLEN 1024
+
+_XFUNCPROTOEND
+
+#endif /* _XKBRULES_H_ */
diff --git a/xorg-server/include/xkbsrv.h b/xorg-server/include/xkbsrv.h
index 040bb936a..d43755e06 100644
--- a/xorg-server/include/xkbsrv.h
+++ b/xorg-server/include/xkbsrv.h
@@ -576,6 +576,14 @@ extern XkbSrvLedInfoPtr XkbAllocSrvLedInfo(
unsigned int /* needed_parts */
);
+extern XkbSrvLedInfoPtr XkbCopySrvLedInfo(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* src */,
+ KbdFeedbackPtr /* kf */,
+ LedFeedbackPtr /* lf */
+);
+
+
extern XkbSrvLedInfoPtr XkbFindSrvLedInfo(
DeviceIntPtr /* dev */,
unsigned int /* class */,
@@ -745,14 +753,14 @@ extern void AccessXInit(
);
extern Bool AccessXFilterPressEvent(
- register struct _xEvent * /* xE */,
- register DeviceIntPtr /* keybd */,
+ struct _xEvent * /* xE */,
+ DeviceIntPtr /* keybd */,
int /* count */
);
extern Bool AccessXFilterReleaseEvent(
- register struct _xEvent * /* xE */,
- register DeviceIntPtr /* keybd */,
+ struct _xEvent * /* xE */,
+ DeviceIntPtr /* keybd */,
int /* count */
);
@@ -891,6 +899,10 @@ extern void XkbSetRulesDflts(
char * /* options */
);
+extern void XkbDeleteRulesDflts(
+ void
+);
+
extern void XkbInitDevice(
DeviceIntPtr /* pXDev */
);
@@ -980,7 +992,7 @@ extern void XkbSendNewKeyboardNotify(
#include "xkbfile.h"
#include <X11/extensions/XKMformat.h>
-#include <X11/extensions/XKBrules.h>
+#include "xkbrules.h"
#define _XkbListKeymaps 0
#define _XkbListKeycodes 1
diff --git a/xorg-server/include/xkbstr.h b/xorg-server/include/xkbstr.h
index 214a5543c..5eebe41e3 100644
--- a/xorg-server/include/xkbstr.h
+++ b/xorg-server/include/xkbstr.h
@@ -59,10 +59,6 @@ typedef struct _XkbStateRec {
unsigned char compat_lookup_mods;
unsigned short ptr_buttons;
} XkbStateRec,*XkbStatePtr;
-#define XkbModLocks(s) ((s)->locked_mods)
-#define XkbStateMods(s) ((s)->base_mods|(s)->latched_mods|XkbModLocks(s))
-#define XkbGroupLock(s) ((s)->locked_group)
-#define XkbStateGroup(s) ((s)->base_group+(s)->latched_group+XkbGroupLock(s))
#define XkbStateFieldFromRec(s) XkbBuildCoreState((s)->lookup_mods,(s)->group)
#define XkbGrabStateFromRec(s) XkbBuildCoreState((s)->grab_mods,(s)->group)
diff --git a/xorg-server/include/xorg-config.h b/xorg-server/include/xorg-config.h
deleted file mode 100644
index a49344e89..000000000
--- a/xorg-server/include/xorg-config.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* include/xorg-config.h. Generated from xorg-config.h.in by configure. */
-/* xorg-config.h.in: not at all generated. -*- c -*-
- *
- * This file differs from xorg-server.h.in in that -server is installed
- * with the rest of the SDK for external drivers/modules to use, whereas
- * -config is for internal use only (i.e. building the DDX).
- *
- */
-
-#ifndef _XORG_CONFIG_H_
-#define _XORG_CONFIG_H_
-
-#include <dix-config.h>
-#include <xkb-config.h>
-
-/* Building Xorg server. */
-#define XORGSERVER 1
-
-/* Current X.Org version. */
-#define XORG_VERSION_CURRENT (((1) * 10000000) + ((5) * 100000) + ((3) * 1000) + 0)
-
-/* Need XFree86 libc-replacement typedefs. */
-#define NEED_XF86_TYPES 1
-
-/* Need XFree86 libc-replacement functions. */
-#define NEED_XF86_PROTOTYPES 1
-
-/* Name of X server. */
-#define __XSERVERNAME__ "Xorg"
-
-/* URL to go to for support. */
-#define __VENDORDWEBSUPPORT__ "http://wiki.x.org"
-
-/* Built-in output drivers. */
-/* #undef DRIVERS */
-
-/* Built-in input drivers. */
-/* #undef IDRIVERS */
-
-/* Path to configuration file. */
-#define XF86CONFIGFILE "xorg.conf"
-
-/* Path to configuration file. */
-#define __XCONFIGFILE__ "xorg.conf"
-
-/* Path to loadable modules. */
-#define DEFAULT_MODULE_PATH "/usr/local/lib/xorg/modules"
-
-/* Path to installed libraries. */
-#define DEFAULT_LIBRARY_PATH "/usr/local/lib"
-
-/* Path to server log file. */
-#define DEFAULT_LOGPREFIX "/usr/local/var/log/Xorg."
-
-/* Building DRI-capable DDX. */
-#define XF86DRI 1
-
-/* Build DRI2 extension */
-/* #undef DRI2 */
-
-/* Solaris 8 or later? */
-/* #undef __SOL8__ */
-
-/* Define to 1 if you have the `walkcontext' function (used on Solaris for
- xorg_backtrace in hw/xfree86/common/xf86Events.c */
-/* #undef HAVE_WALKCONTEXT */
-
-/* Define to 1 if unsigned long is 64 bits. */
-/* #undef _XSERVER64 */
-
-/* Building vgahw module */
-#define WITH_VGAHW 1
-
-/* Define to 1 if NetBSD built-in MTRR support is available */
-/* #undef HAS_MTRR_BUILTIN */
-
-/* Define to 1 if BSD MTRR support is available */
-#define HAS_MTRR_SUPPORT 1
-
-/* NetBSD PIO alpha IO */
-/* #undef USE_ALPHA_PIO */
-
-/* BSD AMD64 iopl */
-/* #undef USE_AMD64_IOPL */
-
-/* BSD /dev/io */
-/* #undef USE_DEV_IO */
-
-/* BSD i386 iopl */
-/* #undef USE_I386_IOPL */
-
-/* System is BSD-like */
-/* #undef CSRG_BASED */
-
-/* System has PC console */
-/* #undef PCCONS_SUPPORT */
-
-/* System has PCVT console */
-/* #undef PCVT_SUPPORT */
-
-/* System has syscons console */
-/* #undef SYSCONS_SUPPORT */
-
-/* System has wscons console */
-/* #undef WSCONS_SUPPORT */
-
-/* System has /dev/xf86 aperture driver */
-/* #undef HAS_APERTURE_DRV */
-
-/* Has backtrace support */
-#define HAVE_BACKTRACE 1
-
-/* Name of the period field in struct kbd_repeat */
-/* #undef LNX_KBD_PERIOD_NAME */
-
-/* Have execinfo.h */
-#define HAVE_EXECINFO_H 1
-
-/* Have pci_system_init_dev_mem() */
-#define HAVE_PCI_SYSTEM_INIT_DEV_MEM 1
-
-/* Have pci_enable_device */
-#define HAVE_PCI_DEVICE_ENABLE 1
-
-/* Path to text files containing PCI IDs */
-#define PCI_TXT_IDS_PATH ""
-
-#endif /* _XORG_CONFIG_H_ */
diff --git a/xorg-server/include/xorg-config.h.in b/xorg-server/include/xorg-config.h.in
index e05d3bfd3..f9b77d03d 100644
--- a/xorg-server/include/xorg-config.h.in
+++ b/xorg-server/include/xorg-config.h.in
@@ -18,12 +18,6 @@
/* Current X.Org version. */
#undef XORG_VERSION_CURRENT
-/* Need XFree86 libc-replacement typedefs. */
-#undef NEED_XF86_TYPES
-
-/* Need XFree86 libc-replacement functions. */
-#undef NEED_XF86_PROTOTYPES
-
/* Name of X server. */
#undef __XSERVERNAME__
@@ -60,6 +54,9 @@
/* Solaris 8 or later? */
#undef __SOL8__
+/* Define to 1 if you have the <sys/kd.h> header file. */
+#undef HAVE_SYS_KD_H
+
/* Define to 1 if you have the `walkcontext' function (used on Solaris for
xorg_backtrace in hw/xfree86/common/xf86Events.c */
#undef HAVE_WALKCONTEXT
diff --git a/xorg-server/include/xorg-server.h b/xorg-server/include/xorg-server.h
deleted file mode 100644
index dc6e645d8..000000000
--- a/xorg-server/include/xorg-server.h
+++ /dev/null
@@ -1,246 +0,0 @@
-/* include/xorg-server.h. Generated from xorg-server.h.in by configure. */
-/* xorg-server.h.in -*- c -*-
- *
- * This file is the template file for the xorg-server.h file which gets
- * installed as part of the SDK. The #defines in this file overlap
- * with those from config.h, but only for those options that we want
- * to export to external modules. Boilerplate autotool #defines such
- * as HAVE_STUFF and PACKAGE_NAME is kept in config.h
- *
- * It is still possible to update config.h.in using autoheader, since
- * autoheader only creates a .h.in file for the first
- * AM_CONFIG_HEADER() line, and thus does not overwrite this file.
- *
- * However, it should be kept in sync with this file.
- */
-
-#ifndef _XORG_SERVER_H_
-#define _XORG_SERVER_H_
-
-/* Support BigRequests extension */
-#define BIGREQS 1
-
-/* Default font path */
-#define COMPILEDDEFAULTFONTPATH "/usr/local/lib/X11/fonts/misc/,/usr/local/lib/X11/fonts/TTF/,/usr/local/lib/X11/fonts/OTF,/usr/local/lib/X11/fonts/Type1/,/usr/local/lib/X11/fonts/100dpi/,/usr/local/lib/X11/fonts/75dpi/"
-
-/* Support Composite Extension */
-#define COMPOSITE 1
-
-/* Use OsVendorInit */
-#define DDXOSINIT 1
-
-/* Build DPMS extension */
-#define DPMSExtension 1
-
-/* Build GLX extension */
-#define GLXEXT 1
-
-/* Include handhelds.org h3600 touchscreen driver */
-/* #undef H3600_TS */
-
-/* Support XDM-AUTH*-1 */
-#define HASXDMAUTH 1
-
-/* Support SHM */
-#define HAS_SHM 1
-
-/* Support IPv6 for TCP connections */
-#define IPv6 1
-
-/* Support MIT Misc extension */
-#define MITMISC 1
-
-/* Support MIT-SHM Extension */
-#define MITSHM 1
-
-/* Disable some debugging code */
-#define NDEBUG 1
-
-/* Need XFree86 helper functions */
-#define NEED_XF86_PROTOTYPES 1
-
-/* Need XFree86 typedefs */
-#define NEED_XF86_TYPES 1
-
-/* Internal define for Xinerama */
-#define PANORAMIX 1
-
-/* Support RANDR extension */
-#define RANDR 1
-
-/* Support RENDER extension */
-#define RENDER 1
-
-/* Support X resource extension */
-#define RES 1
-
-/* Support MIT-SCREEN-SAVER extension */
-#define SCREENSAVER 1
-
-/* Use a lock to prevent multiple servers on a display */
-#define SERVER_LOCK 1
-
-/* Support SHAPE extension */
-#define SHAPE 1
-
-/* Include time-based scheduler */
-#define SMART_SCHEDULE 1
-
-/* Define to 1 on systems derived from System V Release 4 */
-/* #undef SVR4 */
-
-/* Support TCP socket connections */
-#define TCPCONN 1
-
-/* Enable touchscreen support */
-/* #undef TOUCHSCREEN */
-
-/* Support tslib touchscreen abstraction library */
-/* #undef TSLIB */
-
-/* Support UNIX socket connections */
-#define UNIXCONN 1
-
-/* unaligned word accesses behave as expected */
-/* #undef WORKING_UNALIGNED_INT */
-
-/* Support XCMisc extension */
-#define XCMISC 1
-
-/* Support Xdmcp */
-#define XDMCP 1
-
-/* Build XFree86 BigFont extension */
-/* #undef XF86BIGFONT */
-
-/* Support XFree86 miscellaneous extensions */
-#define XF86MISC 1
-
-/* Support XFree86 Video Mode extension */
-#define XF86VIDMODE 1
-
-/* Build XDGA support */
-#define XFreeXDGA 1
-
-/* Support Xinerama extension */
-#define XINERAMA 1
-
-/* Support X Input extension */
-#define XINPUT 1
-
-/* Build XKB */
-#define XKB 1
-
-/* Enable XKB per default */
-#define XKB_DFLT_DISABLED 0
-
-/* Build XKB server */
-#define XKB_IN_SERVER 1
-
-/* Support loadable input and output drivers */
-/* #undef XLOADABLE */
-
-/* Build DRI extension */
-#define XF86DRI 1
-
-/* Build DRI2 extension */
-/* #undef DRI2 */
-
-/* Build Xorg server */
-#define XORGSERVER 1
-
-/* Vendor release */
-/* #undef XORG_RELEASE */
-
-/* Current Xorg version */
-#define XORG_VERSION_CURRENT (((1) * 10000000) + ((5) * 100000) + ((3) * 1000) + 0)
-
-/* Build Xv Extension */
-#define XvExtension 1
-
-/* Build XvMC Extension */
-#define XvMCExtension 1
-
-/* Build XRes extension */
-#define XResExtension 1
-
-/* Support XSync extension */
-#define XSYNC 1
-
-/* Support XTest extension */
-#define XTEST 1
-
-/* Support XTrap extension */
-/* #undef XTRAP */
-
-/* Support Xv Extension */
-#define XV 1
-
-/* Vendor name */
-#define XVENDORNAME "The X.Org Foundation"
-
-/* Endian order */
-#define _X_BYTE_ORDER X_LITTLE_ENDIAN
-/* Deal with multiple architecture compiles on Mac OS X */
-#ifndef __APPLE_CC__
-#define X_BYTE_ORDER _X_BYTE_ORDER
-#else
-#ifdef __BIG_ENDIAN__
-#define X_BYTE_ORDER X_BIG_ENDIAN
-#else
-#define X_BYTE_ORDER X_LITTLE_ENDIAN
-#endif
-#endif
-
-/* BSD-compliant source */
-/* #undef _BSD_SOURCE */
-
-/* POSIX-compliant source */
-/* #undef _POSIX_SOURCE */
-
-/* X/Open-compliant source */
-/* #undef _XOPEN_SOURCE */
-
-/* Vendor web address for support */
-#define __VENDORDWEBSUPPORT__ "http://wiki.x.org"
-
-/* Location of configuration file */
-#define __XCONFIGFILE__ "xorg.conf"
-
-/* XKB default rules */
-#define __XKBDEFRULES__ "xorg"
-
-/* Name of X server */
-#define __XSERVERNAME__ "Xorg"
-
-/* Define to 1 if unsigned long is 64 bits. */
-/* #undef _XSERVER64 */
-
-/* Building vgahw module */
-#define WITH_VGAHW 1
-
-/* System is BSD-like */
-/* #undef CSRG_BASED */
-
-/* Solaris 8 or later? */
-/* #undef __SOL8__ */
-
-/* System has PC console */
-/* #undef PCCONS_SUPPORT */
-
-/* System has PCVT console */
-/* #undef PCVT_SUPPORT */
-
-/* System has syscons console */
-/* #undef SYSCONS_SUPPORT */
-
-/* System has wscons console */
-/* #undef WSCONS_SUPPORT */
-
-/* Loadable XFree86 server awesomeness */
-#define XFree86LOADER 1
-
-/* Use libpciaccess */
-#define XSERVER_LIBPCIACCESS 1
-
-#endif /* _XORG_SERVER_H_ */
diff --git a/xorg-server/include/xorg-server.h.in b/xorg-server/include/xorg-server.h.in
index 1d41b4ce6..4cf1bbf0e 100644
--- a/xorg-server/include/xorg-server.h.in
+++ b/xorg-server/include/xorg-server.h.in
@@ -25,18 +25,12 @@
/* Support Composite Extension */
#undef COMPOSITE
-/* Use OsVendorInit */
-#undef DDXOSINIT
-
/* Build DPMS extension */
#undef DPMSExtension
/* Build GLX extension */
#undef GLXEXT
-/* Include handhelds.org h3600 touchscreen driver */
-#undef H3600_TS
-
/* Support XDM-AUTH*-1 */
#undef HASXDMAUTH
@@ -46,21 +40,9 @@
/* Support IPv6 for TCP connections */
#undef IPv6
-/* Support MIT Misc extension */
-#undef MITMISC
-
/* Support MIT-SHM Extension */
#undef MITSHM
-/* Disable some debugging code */
-#undef NDEBUG
-
-/* Need XFree86 helper functions */
-#undef NEED_XF86_PROTOTYPES
-
-/* Need XFree86 typedefs */
-#undef NEED_XF86_TYPES
-
/* Internal define for Xinerama */
#undef PANORAMIX
@@ -76,15 +58,9 @@
/* Support MIT-SCREEN-SAVER extension */
#undef SCREENSAVER
-/* Use a lock to prevent multiple servers on a display */
-#undef SERVER_LOCK
-
/* Support SHAPE extension */
#undef SHAPE
-/* Include time-based scheduler */
-#undef SMART_SCHEDULE
-
/* Define to 1 on systems derived from System V Release 4 */
#undef SVR4
@@ -112,9 +88,6 @@
/* Build XFree86 BigFont extension */
#undef XF86BIGFONT
-/* Support XFree86 miscellaneous extensions */
-#undef XF86MISC
-
/* Support XFree86 Video Mode extension */
#undef XF86VIDMODE
@@ -160,37 +133,18 @@
/* Build XvMC Extension */
#undef XvMCExtension
-/* Build XRes extension */
-#undef XResExtension
-
/* Support XSync extension */
#undef XSYNC
/* Support XTest extension */
#undef XTEST
-/* Support XTrap extension */
-#undef XTRAP
-
/* Support Xv Extension */
#undef XV
/* Vendor name */
#undef XVENDORNAME
-/* Endian order */
-#undef _X_BYTE_ORDER
-/* Deal with multiple architecture compiles on Mac OS X */
-#ifndef __APPLE_CC__
-#define X_BYTE_ORDER _X_BYTE_ORDER
-#else
-#ifdef __BIG_ENDIAN__
-#define X_BYTE_ORDER X_BIG_ENDIAN
-#else
-#define X_BYTE_ORDER X_LITTLE_ENDIAN
-#endif
-#endif
-
/* BSD-compliant source */
#undef _BSD_SOURCE
diff --git a/xorg-server/include/xserver-properties.h b/xorg-server/include/xserver-properties.h
new file mode 100644
index 000000000..f8aeab65d
--- /dev/null
+++ b/xorg-server/include/xserver-properties.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2008 Red Hat, Inc.
+ *
+ * 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
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, and/or sell copies of the Software, and to permit persons to whom
+ * them 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 MERCHANTIBILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS 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.
+ */
+
+
+/* Properties managed by the server. */
+
+#ifndef _XSERVER_PROPERTIES_H_
+#define _XSERVER_PROPERTIES_H_
+
+/* Type for a 4 byte float. Storage format IEEE 754 in client's default
+ * byte-ordering. */
+#define XATOM_FLOAT "FLOAT"
+
+/* BOOL. 0 - device disabled, 1 - device enabled */
+#define XI_PROP_ENABLED "Device Enabled"
+
+#endif