diff options
Diffstat (limited to 'xorg-server/include')
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 |