added the initial version of the XOrg support. still lots of cleaning up that needs...
authorJohn Crispin <john@openwrt.org>
Thu, 20 Sep 2007 04:02:14 +0000 (04:02 +0000)
committerJohn Crispin <john@openwrt.org>
Thu, 20 Sep 2007 04:02:14 +0000 (04:02 +0000)
SVN-Revision: 8853

216 files changed:
XOrg/app/common.mk [new file with mode: 0644]
XOrg/app/fluxbox/Makefile [new file with mode: 0644]
XOrg/app/fluxbox/patches/100-fbrun-compile.patch [new file with mode: 0644]
XOrg/app/fluxbox/patches/120-fbsetroot-compile.patch [new file with mode: 0644]
XOrg/app/packages [new file with mode: 0644]
XOrg/app/patches/xlogo-X11R7.0/100-link.patch [new file with mode: 0644]
XOrg/app/template.mk [new file with mode: 0644]
XOrg/app/xcalc-X11R7.0/Makefile [new file with mode: 0644]
XOrg/app/xclipboard-X11R7.0/Makefile [new file with mode: 0644]
XOrg/app/xdm-X11R7.2/Makefile [new file with mode: 0644]
XOrg/app/xeyes-X11R7.0/Makefile [new file with mode: 0644]
XOrg/app/xinit-X11R7.2/Makefile [new file with mode: 0644]
XOrg/app/xlogo-X11R7.0/Makefile [new file with mode: 0644]
XOrg/app/xlogo-X11R7.0/patches/100-link.patch [new file with mode: 0644]
XOrg/app/xset-X11R7.1/Makefile [new file with mode: 0644]
XOrg/app/xterm-233/Makefile [new file with mode: 0644]
XOrg/app/xterm-233/patches/100-install.patch [new file with mode: 0644]
XOrg/common.mk [new file with mode: 0644]
XOrg/driver/common.mk [new file with mode: 0644]
XOrg/driver/packages [new file with mode: 0644]
XOrg/driver/patches/xf86-input-mouse-X11R7.2/configure.patch [new file with mode: 0644]
XOrg/driver/patches/xf86-video-vesa-X11R7.2/100-include-fix.patch [new file with mode: 0644]
XOrg/driver/template.mk [new file with mode: 0644]
XOrg/driver/xf86-input-evdev-X11R7.1/Makefile [new file with mode: 0644]
XOrg/driver/xf86-input-keyboard-X11R7.2/Makefile [new file with mode: 0644]
XOrg/driver/xf86-input-mouse-X11R7.2/Makefile [new file with mode: 0644]
XOrg/driver/xf86-input-mouse-X11R7.2/patches/configure.patch [new file with mode: 0644]
XOrg/driver/xf86-video-fbdev-X11R7.2/Makefile [new file with mode: 0644]
XOrg/driver/xf86-video-vesa-X11R7.2/Makefile [new file with mode: 0644]
XOrg/driver/xf86-video-vesa-X11R7.2/patches/100-include-fix.patch [new file with mode: 0644]
XOrg/driver/xf86-video-vga-X11R7.1/Makefile [new file with mode: 0644]
XOrg/font-native/font-util-X11R7.1/Makefile [new file with mode: 0644]
XOrg/font/common.mk [new file with mode: 0644]
XOrg/font/encodings-X11R7.2/Makefile [new file with mode: 0644]
XOrg/font/font-alias-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/font-bh-75dpi-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/font-cursor-misc-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/font-daewoo-misc-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/font-dec-misc-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/font-ibm-type1-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/font-isas-misc-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/font-jis-misc-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/font-micro-misc-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/font-misc-cyrillic-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/font-misc-misc-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/font-xfree86-type1-X11R7.0/Makefile [new file with mode: 0644]
XOrg/font/packages [new file with mode: 0644]
XOrg/font/template.mk [new file with mode: 0644]
XOrg/generate.sh [new file with mode: 0755]
XOrg/headers/native/Makefile [new file with mode: 0644]
XOrg/headers/native/src/X11/CallbackI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Composite.h [new file with mode: 0644]
XOrg/headers/native/src/X11/CompositeP.h [new file with mode: 0644]
XOrg/headers/native/src/X11/ConstrainP.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Constraint.h [new file with mode: 0644]
XOrg/headers/native/src/X11/ConvertI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Core.h [new file with mode: 0644]
XOrg/headers/native/src/X11/CoreP.h [new file with mode: 0644]
XOrg/headers/native/src/X11/CreateI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/DECkeysym.h [new file with mode: 0644]
XOrg/headers/native/src/X11/EventI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/HPkeysym.h [new file with mode: 0644]
XOrg/headers/native/src/X11/HookObjI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/ImUtil.h [new file with mode: 0644]
XOrg/headers/native/src/X11/InitialI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Intrinsic.h [new file with mode: 0644]
XOrg/headers/native/src/X11/IntrinsicI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/IntrinsicP.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Object.h [new file with mode: 0644]
XOrg/headers/native/src/X11/ObjectP.h [new file with mode: 0644]
XOrg/headers/native/src/X11/PassivGraI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/RectObj.h [new file with mode: 0644]
XOrg/headers/native/src/X11/RectObjP.h [new file with mode: 0644]
XOrg/headers/native/src/X11/ResConfigP.h [new file with mode: 0644]
XOrg/headers/native/src/X11/ResourceI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/SelectionI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Shell.h [new file with mode: 0644]
XOrg/headers/native/src/X11/ShellI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/ShellP.h [new file with mode: 0644]
XOrg/headers/native/src/X11/StringDefs.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Sunkeysym.h [new file with mode: 0644]
XOrg/headers/native/src/X11/ThreadsI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/TranslateI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/VarargsI.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Vendor.h [new file with mode: 0644]
XOrg/headers/native/src/X11/VendorP.h [new file with mode: 0644]
XOrg/headers/native/src/X11/X.h [new file with mode: 0644]
XOrg/headers/native/src/X11/X10.h [new file with mode: 0644]
XOrg/headers/native/src/X11/XF86keysym.h [new file with mode: 0644]
XOrg/headers/native/src/X11/XKBlib.h [new file with mode: 0644]
XOrg/headers/native/src/X11/XWDFile.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xalloca.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xarch.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xatom.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xauth.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xcms.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xdefs.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xdmcp.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xfuncproto.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xfuncs.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xlib.h [new file with mode: 0644]
XOrg/headers/native/src/X11/XlibConf.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xlibint.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xlocale.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xmd.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xos.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xos_r.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xosdefs.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xpoll.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xproto.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xprotostr.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xregion.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xresource.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xthreads.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xtos.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xutil.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xw32defs.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xwindows.h [new file with mode: 0644]
XOrg/headers/native/src/X11/Xwinsock.h [new file with mode: 0644]
XOrg/headers/native/src/X11/ap_keysym.h [new file with mode: 0644]
XOrg/headers/native/src/X11/cursorfont.h [new file with mode: 0644]
XOrg/headers/native/src/X11/keysym.h [new file with mode: 0644]
XOrg/headers/native/src/X11/keysymdef.h [new file with mode: 0644]
XOrg/headers/native/src/X11/xpm.h [new file with mode: 0644]
XOrg/lib/common.mk [new file with mode: 0644]
XOrg/lib/libICE-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libSM-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libX11-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libXau-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libXaw-X11R7.1/Makefile [new file with mode: 0644]
XOrg/lib/libXdmcp-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libXext-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libXfont-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libXmu-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libXpm-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libXpm-X11R7.2/patches/100-ld.patch [new file with mode: 0644]
XOrg/lib/libXrandr-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libXrender-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libXt-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libXxf86misc-X11R7.1/Makefile [new file with mode: 0644]
XOrg/lib/libXxf86vm-X11R7.1/Makefile [new file with mode: 0644]
XOrg/lib/libfontenc-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libxkbfile-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/libxkbui-X11R7.1/Makefile [new file with mode: 0644]
XOrg/lib/packages [new file with mode: 0644]
XOrg/lib/patches/libXpm-X11R7.2/100-ld.patch [new file with mode: 0644]
XOrg/lib/patches/xtrans-X11R7.2/fix-missing-includepath.patch [new file with mode: 0644]
XOrg/lib/template.mk [new file with mode: 0644]
XOrg/lib/xtrans-X11R7.2/Makefile [new file with mode: 0644]
XOrg/lib/xtrans-X11R7.2/patches/fix-missing-includepath.patch [new file with mode: 0644]
XOrg/meta/xorg-server-X11R7.2-essentials/Makefile [new file with mode: 0644]
XOrg/meta/xorg-server-X11R7.2-essentials/files/xinitrc [new file with mode: 0644]
XOrg/misc/Mesa/Makefile [new file with mode: 0644]
XOrg/misc/freetype/Makefile [new file with mode: 0644]
XOrg/misc/freetype/patches/configure.patch [new file with mode: 0644]
XOrg/misc/freetype/patches/no-hardcode.patch [new file with mode: 0644]
XOrg/misc/libdrm/Makefile [new file with mode: 0644]
XOrg/proto/bigreqsproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/common.mk [new file with mode: 0644]
XOrg/proto/compositeproto-X11R7.1/Makefile [new file with mode: 0644]
XOrg/proto/damageproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/evieext-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/fixesproto-X11R7.1/Makefile [new file with mode: 0644]
XOrg/proto/fontcacheproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/fontsproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/glproto-X11R7.2/Makefile [new file with mode: 0644]
XOrg/proto/inputproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/kbproto-X11R7.2/Makefile [new file with mode: 0644]
XOrg/proto/packages [new file with mode: 0644]
XOrg/proto/randrproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/recordproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/renderproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/resourceproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/scrnsaverproto-X11R7.1/Makefile [new file with mode: 0644]
XOrg/proto/template.mk [new file with mode: 0644]
XOrg/proto/trapproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/videoproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/xcmiscproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/xextproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/xf86bigfontproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/xf86dgaproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/xf86driproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/xf86miscproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/xf86vidmodeproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/xineramaproto-X11R7.0/Makefile [new file with mode: 0644]
XOrg/proto/xproto-X11R7.2/Makefile [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/Makefile [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/disable-apm.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/disable-xf86-dga-xorgcfg.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/enable-builtin-fonts.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/enable-epson.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/enable-tslib.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/fbdev-not-fix.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/kdrive-evdev.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/kdrive-use-evdev.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/kmode-palm.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/kmode.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/no-serial-probing.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/optional-xkb.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/w100.patch [new file with mode: 0644]
XOrg/server/xorg-kdrive-X11R7.2/patches/xcalibrate.patch [new file with mode: 0644]
XOrg/server/xorg-server-X11R7.2/120-xorgcfg.patch [new file with mode: 0644]
XOrg/server/xorg-server-X11R7.2/130-xorgconfig.patch [new file with mode: 0644]
XOrg/server/xorg-server-X11R7.2/140-xfree86.patch [new file with mode: 0644]
XOrg/server/xorg-server-X11R7.2/150-vfb.patch [new file with mode: 0644]
XOrg/server/xorg-server-X11R7.2/160-xnest.patch [new file with mode: 0644]
XOrg/server/xorg-server-X11R7.2/Makefile [new file with mode: 0644]
XOrg/server/xorg-server-X11R7.2/files/xorg.conf [new file with mode: 0644]
XOrg/server/xorg-server-X11R7.2/patches/100-sgml-cross.patch [new file with mode: 0644]
XOrg/server/xorg-server-X11R7.2/patches/110-uclibc-lm.patch [new file with mode: 0644]
XOrg/utils/common.mk [new file with mode: 0644]
XOrg/utils/packages [new file with mode: 0644]
XOrg/utils/patches/util-macros-X11R7.2/unbreak_cross_compile.patch [new file with mode: 0644]
XOrg/utils/template.mk [new file with mode: 0644]
XOrg/utils/util-macros-X11R7.2/Makefile [new file with mode: 0644]
XOrg/utils/util-macros-X11R7.2/patches/unbreak_cross_compile.patch [new file with mode: 0644]

diff --git a/XOrg/app/common.mk b/XOrg/app/common.mk
new file mode 100644 (file)
index 0000000..a5e4d0d
--- /dev/null
@@ -0,0 +1,43 @@
+# 
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org 
+
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/app
+
+_CATEGORY:=app
+_DEPEND+=xorg-server-X11R7.2-essentials
+include ../../common.mk
+
+ifeq ($(PKG_NAME),xdm-X11R7.2)
+CONFIGURE_ARGS+=--with-random-device=/dev/urandom
+endif
+
+CONFIGURE_ARGS+=LIBS="-Wl,-rpath-link=$(STAGING_DIR)/usr/lib" 
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+       make -C $(PKG_BUILD_DIR) DESTDIR=$(PKG_INSTALL_DIR) install
+endef
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) ;\
+       fi \
+       )
+endef
+
+define Package/${PKG_NAME}/install
+       $(INSTALL_DIR) $(1)
+       $(CP) $(PKG_INSTALL_DIR)/* $(1)
+       rm -rf $(1)/usr/man/
+endef
+
diff --git a/XOrg/app/fluxbox/Makefile b/XOrg/app/fluxbox/Makefile
new file mode 100644 (file)
index 0000000..b865482
--- /dev/null
@@ -0,0 +1,57 @@
+# 
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fluxbox
+PKG_VERSION:=1.0rc3
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://prdownloads.sourceforge.net/fluxbox/
+
+EXTRA_LDFLAGS:="-Wl,-rpath-link=$(STAGING_DIR)/usr/lib"
+
+include $(INCLUDE_DIR)/package.mk
+
+CONFIGURE_VARS+=LIBS="-nodefaultlibs -luClibc++ -Wl,-Bstatic,-lstdc++,-Bdynamic -lm" \
+               CXXLD="$(TARGET_CC)" 
+
+CONFIGURE_ARGS+=--disable-static --disable-xmb
+
+define Package/fluxbox
+  SECTION:=xorg-wm
+  CATEGORY:=Xorg
+  DEPENDS:=+xorg-server-X11R7.2-essentials +uclibcxx +xterm @TARGET_x86
+  TITLE:=fluxbox window manager
+endef
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+               if [ -x $(CONFIGURE_CMD) ]; then \
+                       $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+                       $(CONFIGURE_VARS) \
+                       $(CONFIGURE_CMD) \
+                       $(CONFIGURE_ARGS_XTRA) \
+                       $(CONFIGURE_ARGS) ;\
+               fi \
+       )
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR) 
+       $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR=$(PKG_INSTALL_DIR) install 
+endef
+
+define Package/fluxbox/install
+       $(INSTALL_DIR) $(1)/usr/
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/ $(1)/usr/
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/ $(1)/usr/
+endef
+
+$(eval $(call BuildPackage,fluxbox))
diff --git a/XOrg/app/fluxbox/patches/100-fbrun-compile.patch b/XOrg/app/fluxbox/patches/100-fbrun-compile.patch
new file mode 100644 (file)
index 0000000..4033423
--- /dev/null
@@ -0,0 +1,11 @@
+--- fluxbox-1.0rc3/util/fbrun/Makefile.in.orig 2007-09-17 19:52:52.000000000 +0200
++++ fluxbox-1.0rc3/util/fbrun/Makefile.in      2007-09-17 19:53:09.000000000 +0200
+@@ -268,7 +268,7 @@
+       done
+ fbrun$(EXEEXT): $(fbrun_OBJECTS) $(fbrun_DEPENDENCIES) 
+       @rm -f fbrun$(EXEEXT)
+-      $(CXXLINK) $(fbrun_OBJECTS) $(fbrun_LDADD) $(LIBS)
++      $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) -o $@ $(fbrun_OBJECTS) $(fbrun_LDADD) $(LDFLAGS) $(LIBS)
+ mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
diff --git a/XOrg/app/fluxbox/patches/120-fbsetroot-compile.patch b/XOrg/app/fluxbox/patches/120-fbsetroot-compile.patch
new file mode 100644 (file)
index 0000000..e56ac84
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN fluxbox-1.0rc3.orig/util/Makefile.in fluxbox-1.0rc3/util/Makefile.in
+--- fluxbox-1.0rc3.orig/util/Makefile.in       2007-09-17 19:56:45.000000000 +0200
++++ fluxbox-1.0rc3/util/Makefile.in    2007-09-17 19:58:11.000000000 +0200
+@@ -301,7 +301,7 @@
+       done
+ fbsetroot$(EXEEXT): $(fbsetroot_OBJECTS) $(fbsetroot_DEPENDENCIES) 
+       @rm -f fbsetroot$(EXEEXT)
+-      $(CXXLINK) $(fbsetroot_OBJECTS) $(fbsetroot_LDADD) $(LIBS)
++      $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) -o $@ $(fbsetroot_OBJECTS) $(fbsetroot_LDADD) $(LDFLAGS) $(LIBS)
+ fluxbox-update_configs$(EXEEXT): $(fluxbox_update_configs_OBJECTS) $(fluxbox_update_configs_DEPENDENCIES) 
+       @rm -f fluxbox-update_configs$(EXEEXT)
+       $(CXXLINK) $(fluxbox_update_configs_OBJECTS) $(fluxbox_update_configs_LDADD) $(LIBS)
diff --git a/XOrg/app/packages b/XOrg/app/packages
new file mode 100644 (file)
index 0000000..c537b06
--- /dev/null
@@ -0,0 +1,7 @@
+xinit-X11R7.2-1.0.3|
+xlogo-X11R7.0-1.0.1|
+xset-X11R7.1-1.0.2|
+xeyes-X11R7.0-1.0.1|
+xclipboard-X11R7.0-1.0.1|
+xcalc-X11R7.0-1.0.1|
+xdm-X11R7.2-1.1.3|
diff --git a/XOrg/app/patches/xlogo-X11R7.0/100-link.patch b/XOrg/app/patches/xlogo-X11R7.0/100-link.patch
new file mode 100644 (file)
index 0000000..7883785
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN xlogo-X11R7.0-1.0.1.orig/Makefile.in xlogo-X11R7.0-1.0.1/Makefile.in
+--- xlogo-X11R7.0-1.0.1.orig/Makefile.in       2007-09-17 23:28:25.000000000 +0200
++++ xlogo-X11R7.0-1.0.1/Makefile.in    2007-09-17 23:29:17.000000000 +0200
+@@ -177,7 +177,7 @@
+ bin_PROGRAMS = xlogo
+ xlogo_CFLAGS = $(XLOGO_CFLAGS)
+-xlogo_LDADD = $(XLOGO_LIBS)
++xlogo_LDADD = $(XLOGO_LIBS) -lXrender
+ xlogo_SOURCES = \
+         Logo.c \
diff --git a/XOrg/app/template.mk b/XOrg/app/template.mk
new file mode 100644 (file)
index 0000000..0c1d757
--- /dev/null
@@ -0,0 +1,12 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=@BASE_NAME@
+PKG_NAME:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+
+_DEPEND:=@DEP@
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/app/xcalc-X11R7.0/Makefile b/XOrg/app/xcalc-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..9442fa8
--- /dev/null
@@ -0,0 +1,12 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xcalc
+PKG_NAME:=xcalc-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.1
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/app/xclipboard-X11R7.0/Makefile b/XOrg/app/xclipboard-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..79173a5
--- /dev/null
@@ -0,0 +1,12 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xclipboard
+PKG_NAME:=xclipboard-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.1
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/app/xdm-X11R7.2/Makefile b/XOrg/app/xdm-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..d8f72d8
--- /dev/null
@@ -0,0 +1,12 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xdm
+PKG_NAME:=xdm-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.3
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/app/xeyes-X11R7.0/Makefile b/XOrg/app/xeyes-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..b302cae
--- /dev/null
@@ -0,0 +1,12 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xeyes
+PKG_NAME:=xeyes-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.1
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/app/xinit-X11R7.2/Makefile b/XOrg/app/xinit-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..82d42aa
--- /dev/null
@@ -0,0 +1,12 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xinit
+PKG_NAME:=xinit-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.3
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/app/xlogo-X11R7.0/Makefile b/XOrg/app/xlogo-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..1afe34b
--- /dev/null
@@ -0,0 +1,12 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xlogo
+PKG_NAME:=xlogo-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.1
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/app/xlogo-X11R7.0/patches/100-link.patch b/XOrg/app/xlogo-X11R7.0/patches/100-link.patch
new file mode 100644 (file)
index 0000000..7883785
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN xlogo-X11R7.0-1.0.1.orig/Makefile.in xlogo-X11R7.0-1.0.1/Makefile.in
+--- xlogo-X11R7.0-1.0.1.orig/Makefile.in       2007-09-17 23:28:25.000000000 +0200
++++ xlogo-X11R7.0-1.0.1/Makefile.in    2007-09-17 23:29:17.000000000 +0200
+@@ -177,7 +177,7 @@
+ bin_PROGRAMS = xlogo
+ xlogo_CFLAGS = $(XLOGO_CFLAGS)
+-xlogo_LDADD = $(XLOGO_LIBS)
++xlogo_LDADD = $(XLOGO_LIBS) -lXrender
+ xlogo_SOURCES = \
+         Logo.c \
diff --git a/XOrg/app/xset-X11R7.1/Makefile b/XOrg/app/xset-X11R7.1/Makefile
new file mode 100644 (file)
index 0000000..2f62148
--- /dev/null
@@ -0,0 +1,12 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xset
+PKG_NAME:=xset-X11R7.1
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/app/xterm-233/Makefile b/XOrg/app/xterm-233/Makefile
new file mode 100644 (file)
index 0000000..1300398
--- /dev/null
@@ -0,0 +1,50 @@
+# 
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xterm
+PKG_VERSION:=223
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/extras/
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xterm
+  SECTION:=xorg-extra
+  CATEGORY:=Xorg
+  SUBMENU:=app
+  TITLE:=xterm
+  DEPENDS:=+xorg-server-X11R7.2-essentials +libncurses @TARGET_x86
+endef
+
+define Build/Configure
+       sed -e "s%/usr/contrib/X11R6%${STAGING_DIR}/usr/lib%g" -i $(PKG_BUILD_DIR)/configure
+       cd  $(PKG_BUILD_DIR)/; $(TARGET_CONFIGURE_OPTS) $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               --host=$(GNU_TARGET_NAME) \
+               --x-includes=$(STAGING_DIR)/usr/include/  \
+               --x-libraries=$(STAGING_DIR)/usr/lib/ \
+               LIBS="-Wl,-rpath-link=$(STAGING_DIR)/usr/lib"
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR) 
+       $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" install
+endef
+
+define Package/xterm/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/* $(1)/
+endef
+
+$(eval $(call BuildPackage,xterm))
diff --git a/XOrg/app/xterm-233/patches/100-install.patch b/XOrg/app/xterm-233/patches/100-install.patch
new file mode 100644 (file)
index 0000000..1d783e3
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN xterm-223.orig/Makefile.in xterm-223/Makefile.in
+--- xterm-223.orig/Makefile.in 2007-09-17 11:56:45.000000000 +0200
++++ xterm-223/Makefile.in      2007-09-17 11:57:33.000000000 +0200
+@@ -150,7 +150,7 @@
+ @MAY_SETUID@  $(SHELL) $(srcdir)/sinstall.sh @SINSTALL_OPTS@ "$(INSTALL_PROGRAM)" xterm$x  @XTERM_PATH@ $(BINDIR)/$(binary_xterm)
+ @NOT_SETUID@  $(INSTALL_PROGRAM) xterm$x $(BINDIR)/$(binary_xterm)
+       $(INSTALL_PROGRAM) -m  755 resize$x $(BINDIR)/$(binary_resize)
+-      @$(SHELL) -c 'echo "... installing $(BINDIR)/$(binary_uxterm)"; \
++#     @$(SHELL) -c 'echo "... installing $(BINDIR)/$(binary_uxterm)"; \
+               if test "$(binary_xterm)" != "xterm"; then \
+                       name="$(binary_xterm)"; \
+                       sed -e "s,=xterm,=$$name," $(srcdir)/uxterm >uxterm.tmp; \
diff --git a/XOrg/common.mk b/XOrg/common.mk
new file mode 100644 (file)
index 0000000..3e05ff7
--- /dev/null
@@ -0,0 +1,26 @@
+# 
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org 
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/${PKG_NAME}
+  SECTION:=xorg-${_CATEGORY}
+  CATEGORY:=Xorg
+  SUBMENU:=${_CATEGORY}
+  DEPENDS:=${_DEPEND} @TARGET_x86
+  TITLE:=${PKG_NAME}
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/$(SUBPACKAGE)  $(MAKE_FLAGS) install
+endef
diff --git a/XOrg/driver/common.mk b/XOrg/driver/common.mk
new file mode 100644 (file)
index 0000000..b5f7a2a
--- /dev/null
@@ -0,0 +1,40 @@
+# 
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/driver
+
+_CATEGORY:=driver
+_DEPEND+=+xorg-server-X11R7.2
+include ../../common.mk
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+endef
+
+EXTRA_CFLAGS+= -I${STAGING_DIR}/usr/include/xorg -I${STAGING_DIR}/usr/include/X11/
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               as_ac_File=no \
+               --enable-malloc0returnsnull; \
+       fi \
+       )
+endef
+
+define Package/${PKG_NAME}/install
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+       find $(1)/usr/lib/ -name *a | xargs rm -rf
+endef
diff --git a/XOrg/driver/packages b/XOrg/driver/packages
new file mode 100644 (file)
index 0000000..622a9ac
--- /dev/null
@@ -0,0 +1,7 @@
+xf86-input-evdev-X11R7.1-1.1.2|
+xf86-input-keyboard-X11R7.2-1.1.1|
+xf86-input-mouse-X11R7.2-1.1.2|
+xf86-input-mouse-X11R7.2-1.1.2|
+xf86-video-fbdev-X11R7.2-0.3.1|
+xf86-video-vesa-X11R7.2-1.3.0|
+xf86-video-vga-X11R7.1-4.1.0|
diff --git a/XOrg/driver/patches/xf86-input-mouse-X11R7.2/configure.patch b/XOrg/driver/patches/xf86-input-mouse-X11R7.2/configure.patch
new file mode 100644 (file)
index 0000000..0748d27
--- /dev/null
@@ -0,0 +1,27 @@
+diff -urN xf86-input-mouse-X11R7.2-1.1.2.orig/configure xf86-input-mouse-X11R7.2-1.1.2/configure
+--- xf86-input-mouse-X11R7.2-1.1.2.orig/configure      2007-09-15 22:29:11.000000000 +0200
++++ xf86-input-mouse-X11R7.2-1.1.2/configure   2007-09-15 22:29:45.000000000 +0200
+@@ -20172,22 +20172,7 @@
+ XORG_SGML_PATH=$prefix/share/sgml
+ HAVE_DEFS_ENT=
+-as_ac_File=`echo "ac_cv_file_$XORG_SGML_PATH/X11/defs.ent" | $as_tr_sh`
+-echo "$as_me:$LINENO: checking for $XORG_SGML_PATH/X11/defs.ent" >&5
+-echo $ECHO_N "checking for $XORG_SGML_PATH/X11/defs.ent... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_File+set}\" = set"; then
+-  echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-  test "$cross_compiling" = yes &&
+-  { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+-echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+-   { (exit 1); exit 1; }; }
+-if test -r "$XORG_SGML_PATH/X11/defs.ent"; then
+-  eval "$as_ac_File=yes"
+-else
+-  eval "$as_ac_File=no"
+-fi
+-fi
++as_ac_File=no
+ echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6
+ if test `eval echo '${'$as_ac_File'}'` = yes; then
diff --git a/XOrg/driver/patches/xf86-video-vesa-X11R7.2/100-include-fix.patch b/XOrg/driver/patches/xf86-video-vesa-X11R7.2/100-include-fix.patch
new file mode 100644 (file)
index 0000000..ba8c084
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN xf86-video-vesa-X11R7.2-1.3.0.orig/src/Makefile.in xf86-video-vesa-X11R7.2-1.3.0/src/Makefile.in
+--- xf86-video-vesa-X11R7.2-1.3.0.orig/src/Makefile.in 2007-09-15 22:48:37.000000000 +0200
++++ xf86-video-vesa-X11R7.2-1.3.0/src/Makefile.in      2007-09-15 22:50:43.000000000 +0200
+@@ -131,7 +131,7 @@
+ FFLAGS = @FFLAGS@
+ FILE_MAN_DIR = @FILE_MAN_DIR@
+ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
+-INCLUDES = @INCLUDES@
++INCLUDES = 
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
diff --git a/XOrg/driver/template.mk b/XOrg/driver/template.mk
new file mode 100644 (file)
index 0000000..804e127
--- /dev/null
@@ -0,0 +1,13 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=@BASE_NAME@
+PKG_NAME:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+
+_DEPEND:=@DEP@
+
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/driver/xf86-input-evdev-X11R7.1/Makefile b/XOrg/driver/xf86-input-evdev-X11R7.1/Makefile
new file mode 100644 (file)
index 0000000..dc7e288
--- /dev/null
@@ -0,0 +1,13 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xf86
+PKG_NAME:=xf86-input-evdev-X11R7.1
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.2
+
+_DEPEND:=
+
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/driver/xf86-input-keyboard-X11R7.2/Makefile b/XOrg/driver/xf86-input-keyboard-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..d9f3d4b
--- /dev/null
@@ -0,0 +1,13 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xf86
+PKG_NAME:=xf86-input-keyboard-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.1
+
+_DEPEND:=
+
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/driver/xf86-input-mouse-X11R7.2/Makefile b/XOrg/driver/xf86-input-mouse-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..68a63df
--- /dev/null
@@ -0,0 +1,13 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xf86
+PKG_NAME:=xf86-input-mouse-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.2
+
+_DEPEND:=
+
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/driver/xf86-input-mouse-X11R7.2/patches/configure.patch b/XOrg/driver/xf86-input-mouse-X11R7.2/patches/configure.patch
new file mode 100644 (file)
index 0000000..0748d27
--- /dev/null
@@ -0,0 +1,27 @@
+diff -urN xf86-input-mouse-X11R7.2-1.1.2.orig/configure xf86-input-mouse-X11R7.2-1.1.2/configure
+--- xf86-input-mouse-X11R7.2-1.1.2.orig/configure      2007-09-15 22:29:11.000000000 +0200
++++ xf86-input-mouse-X11R7.2-1.1.2/configure   2007-09-15 22:29:45.000000000 +0200
+@@ -20172,22 +20172,7 @@
+ XORG_SGML_PATH=$prefix/share/sgml
+ HAVE_DEFS_ENT=
+-as_ac_File=`echo "ac_cv_file_$XORG_SGML_PATH/X11/defs.ent" | $as_tr_sh`
+-echo "$as_me:$LINENO: checking for $XORG_SGML_PATH/X11/defs.ent" >&5
+-echo $ECHO_N "checking for $XORG_SGML_PATH/X11/defs.ent... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_File+set}\" = set"; then
+-  echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-  test "$cross_compiling" = yes &&
+-  { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+-echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+-   { (exit 1); exit 1; }; }
+-if test -r "$XORG_SGML_PATH/X11/defs.ent"; then
+-  eval "$as_ac_File=yes"
+-else
+-  eval "$as_ac_File=no"
+-fi
+-fi
++as_ac_File=no
+ echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6
+ if test `eval echo '${'$as_ac_File'}'` = yes; then
diff --git a/XOrg/driver/xf86-video-fbdev-X11R7.2/Makefile b/XOrg/driver/xf86-video-fbdev-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..07440a1
--- /dev/null
@@ -0,0 +1,13 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xf86
+PKG_NAME:=xf86-video-fbdev-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=0.3.1
+
+_DEPEND:=
+
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/driver/xf86-video-vesa-X11R7.2/Makefile b/XOrg/driver/xf86-video-vesa-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..d8bfacc
--- /dev/null
@@ -0,0 +1,13 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xf86
+PKG_NAME:=xf86-video-vesa-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.3.0
+
+_DEPEND:=
+
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/driver/xf86-video-vesa-X11R7.2/patches/100-include-fix.patch b/XOrg/driver/xf86-video-vesa-X11R7.2/patches/100-include-fix.patch
new file mode 100644 (file)
index 0000000..ba8c084
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN xf86-video-vesa-X11R7.2-1.3.0.orig/src/Makefile.in xf86-video-vesa-X11R7.2-1.3.0/src/Makefile.in
+--- xf86-video-vesa-X11R7.2-1.3.0.orig/src/Makefile.in 2007-09-15 22:48:37.000000000 +0200
++++ xf86-video-vesa-X11R7.2-1.3.0/src/Makefile.in      2007-09-15 22:50:43.000000000 +0200
+@@ -131,7 +131,7 @@
+ FFLAGS = @FFLAGS@
+ FILE_MAN_DIR = @FILE_MAN_DIR@
+ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
+-INCLUDES = @INCLUDES@
++INCLUDES = 
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
diff --git a/XOrg/driver/xf86-video-vga-X11R7.1/Makefile b/XOrg/driver/xf86-video-vga-X11R7.1/Makefile
new file mode 100644 (file)
index 0000000..aba274a
--- /dev/null
@@ -0,0 +1,13 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xf86
+PKG_NAME:=xf86-video-vga-X11R7.1
+PKG_RELEASE:=1
+PKG_VERSION:=4.1.0
+
+_DEPEND:=
+
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font-native/font-util-X11R7.1/Makefile b/XOrg/font-native/font-util-X11R7.1/Makefile
new file mode 100644 (file)
index 0000000..15db501
--- /dev/null
@@ -0,0 +1,43 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id: Makefile 8299 2007-08-01 12:32:53Z nico $
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=font-util-X11R7.1
+PKG_VERSION:=1.0.1
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-util-X11R7.1
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=fonts
+  TITLE:=misc tool to generate x fonts
+  DEPENDS:=+xorg-server-X11R7.2 @TARGET_x86
+endef
+
+define Build/Configure
+       cd  $(PKG_BUILD_DIR)/; ./configure  
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) install DESTDIR="$(PKG_INSTALL_DIR)"
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/usr/local/lib/pkgconfig/fontutil.pc $(STAGING_DIR)/usr/lib/pkgconfig/
+       $(CP) $(PKG_INSTALL_DIR)/usr/local/lib/X11/* $(STAGING_DIR)/usr/lib/X11/
+       $(CP) $(PKG_INSTALL_DIR)/usr/local/bin/* $(STAGING_DIR)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,font-util-X11R7.1))
diff --git a/XOrg/font/common.mk b/XOrg/font/common.mk
new file mode 100644 (file)
index 0000000..d7ae465
--- /dev/null
@@ -0,0 +1,39 @@
+# 
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+_CATEGORY:=fonts
+_DEPEND+="+xorg-server-X11R7.2 +font-util-X11R7.1"
+include ../../common.mk
+
+define Build/Compile
+       UTIL_DIR="$(STAGING_DIR)/usr/lib/X11/fonts/util/" make -e -C $(PKG_BUILD_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       if [ -f "$(find $(PKG_INSTALL_DIR) -name fonts.dir)" ]; then \
+               mv `find $(PKG_INSTALL_DIR) -name fonts.dir` \
+                       `find $(PKG_INSTALL_DIR) -name fonts.dir`.$(PKG_NAME);\
+       fi
+endef
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) ;\
+       fi \
+       )
+endef
+
+define Package/${PKG_NAME}/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
diff --git a/XOrg/font/encodings-X11R7.2/Makefile b/XOrg/font/encodings-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..14e1a8b
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=encodings
+PKG_NAME:=encodings-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.2
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-alias-X11R7.0/Makefile b/XOrg/font/font-alias-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..ad4d9fd
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-alias-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.1
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-bh-75dpi-X11R7.0/Makefile b/XOrg/font/font-bh-75dpi-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..4a1176f
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-bh-75dpi-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.0
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-cursor-misc-X11R7.0/Makefile b/XOrg/font/font-cursor-misc-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..4500096
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-cursor-misc-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.0
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-daewoo-misc-X11R7.0/Makefile b/XOrg/font/font-daewoo-misc-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..d07d277
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-daewoo-misc-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.0
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-dec-misc-X11R7.0/Makefile b/XOrg/font/font-dec-misc-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..11a25a5
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-dec-misc-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.0
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-ibm-type1-X11R7.0/Makefile b/XOrg/font/font-ibm-type1-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..c6530ad
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-ibm-type1-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.0
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-isas-misc-X11R7.0/Makefile b/XOrg/font/font-isas-misc-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..20f9968
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-isas-misc-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.0
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-jis-misc-X11R7.0/Makefile b/XOrg/font/font-jis-misc-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..1cabafc
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-jis-misc-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.0
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-micro-misc-X11R7.0/Makefile b/XOrg/font/font-micro-misc-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..2907aa8
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-micro-misc-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.0
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-misc-cyrillic-X11R7.0/Makefile b/XOrg/font/font-misc-cyrillic-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..3c0a308
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-misc-cyrillic-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.0
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-misc-misc-X11R7.0/Makefile b/XOrg/font/font-misc-misc-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..c0b5d6c
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-misc-misc-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.0
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/font-xfree86-type1-X11R7.0/Makefile b/XOrg/font/font-xfree86-type1-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..472a86d
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=font
+PKG_NAME:=font-xfree86-type1-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.0
+
+_DEPEND:=
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/font/packages b/XOrg/font/packages
new file mode 100644 (file)
index 0000000..990b38e
--- /dev/null
@@ -0,0 +1,13 @@
+encodings-X11R7.2-1.0.2|
+font-misc-misc-X11R7.0-1.0.0|
+font-xfree86-type1-X11R7.0-1.0.0|
+font-cursor-misc-X11R7.0-1.0.0|
+font-daewoo-misc-X11R7.0-1.0.0|
+font-dec-misc-X11R7.0-1.0.0|
+font-ibm-type1-X11R7.0-1.0.0|
+font-isas-misc-X11R7.0-1.0.0|
+font-jis-misc-X11R7.0-1.0.0|
+font-micro-misc-X11R7.0-1.0.0|
+font-misc-cyrillic-X11R7.0-1.0.0|
+font-bh-75dpi-X11R7.0-1.0.0|
+font-alias-X11R7.0-1.0.1|
diff --git a/XOrg/font/template.mk b/XOrg/font/template.mk
new file mode 100644 (file)
index 0000000..a1d262b
--- /dev/null
@@ -0,0 +1,18 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=@BASE_NAME@
+PKG_NAME:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+
+_DEPEND:=@DEP@
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","font-util-X11R7.1")
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/generate.sh b/XOrg/generate.sh
new file mode 100755 (executable)
index 0000000..92d0ab0
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+for d in `find . -name packages`; do
+       cd `dirname $d`
+       echo "Entering "`dirname $d`
+       for p in `cat packages`; do
+               _NAME=${p%%|*}
+               NAME=${_NAME%-*}
+               BASE_NAME=${NAME%%-*}
+               _VER=${_NAME##*-}
+               VER=${_VER%%|*}
+               DEP=`echo ${p##*|} | sed "s/+/ +/g"`
+               echo generating Makefile for ${NAME}-${VER} with deps : ${DEP}
+               rm -rf ${NAME} 
+               mkdir ${NAME}
+               sed "s/@VER@/${VER}/g" template.mk | sed "s/@DEP@/${DEP}/g" | sed "s/@NAME@/${NAME}/g" | sed "s/@BASE_NAME@/${BASE_NAME}/g" > ${NAME}/Makefile
+               if [ -d `pwd`/patches/${NAME} ]; then
+                       mkdir ${NAME}/patches
+                       cp -r `pwd`/patches/${NAME}/* ${NAME}/patches/
+               fi
+       done
+       cd - > /dev/null
+done
diff --git a/XOrg/headers/native/Makefile b/XOrg/headers/native/Makefile
new file mode 100644 (file)
index 0000000..fd5f9b9
--- /dev/null
@@ -0,0 +1,40 @@
+# 
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_RELEASE:=1
+PKG_VERSION:=7.1
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/headers/xorg-headers-native-$(PKG_VERSION)/
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xorg-headers-native
+       SECTION:=xorg-headers
+       CATEGORY:=Xorg
+       SUBMENU:=headers
+       TITLE:=xorg-headers-native
+       URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/Prepare
+       mkdir -p $(PKG_BUILD_DIR)
+       $(CP) ./src/* $(PKG_BUILD_DIR)/
+       find $(PKG_BUILD_DIR)/ -name .svn | xargs rm -rf
+endef
+
+define Build/Compile
+  true
+endef
+
+define Build/InstallDev
+    cp -r $(PKG_BUILD_DIR)/* $(STAGING_DIR)/include/
+endef
+
+$(eval $(call BuildPackage,xorg-headers-native))
+
diff --git a/XOrg/headers/native/src/X11/CallbackI.h b/XOrg/headers/native/src/X11/CallbackI.h
new file mode 100644 (file)
index 0000000..4ae08ab
--- /dev/null
@@ -0,0 +1,117 @@
+/* $Xorg: CallbackI.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86$ */
+
+/****************************************************************
+ *
+ * Callbacks
+ *
+ ****************************************************************/
+
+typedef XrmResource **CallbackTable;
+
+#define _XtCBCalling 1
+#define _XtCBFreeAfterCalling 2
+
+typedef struct internalCallbackRec {
+    unsigned short count;
+    char          is_padded;   /* contains NULL padding for external form */
+    char          call_state;  /* combination of _XtCB{FreeAfter}Calling */
+#ifdef LONG64
+    unsigned int   align_pad;  /* padding to align callback list */
+#endif
+    /* XtCallbackList */
+} InternalCallbackRec, *InternalCallbackList;
+
+typedef Boolean (*_XtConditionProc)(
+    XtPointer  /* data */
+);
+
+extern void _XtAddCallback(
+    InternalCallbackList*      /* callbacks */,
+    XtCallbackProc             /* callback */,
+    XtPointer                  /* closure */
+);
+
+extern void _XtAddCallbackOnce(
+    InternalCallbackList*      /* callbacks */,
+    XtCallbackProc             /* callback */,
+    XtPointer                  /* closure */
+);
+
+extern InternalCallbackList _XtCompileCallbackList(
+    XtCallbackList             /* xtcallbacks */
+);
+
+extern XtCallbackList _XtGetCallbackList(
+    InternalCallbackList*      /* callbacks */
+);
+
+extern void _XtRemoveAllCallbacks(
+    InternalCallbackList*      /* callbacks */
+);
+
+extern void _XtRemoveCallback(
+    InternalCallbackList*      /* callbacks */,
+    XtCallbackProc             /* callback */,
+    XtPointer                  /* closure */
+);
+
+extern void _XtPeekCallback(
+    Widget                     /* widget */,
+    XtCallbackList             /* callbacks */,
+    XtCallbackProc *           /* callback */,
+    XtPointer *                        /* closure */
+);
+
+extern void _XtCallConditionalCallbackList(
+    Widget                     /* widget */,
+    XtCallbackList             /* callbacks */,
+    XtPointer                  /* call_data */,
+    _XtConditionProc           /* cond_proc */
+);
diff --git a/XOrg/headers/native/src/X11/Composite.h b/XOrg/headers/native/src/X11/Composite.h
new file mode 100644 (file)
index 0000000..0a58332
--- /dev/null
@@ -0,0 +1,105 @@
+/* $Xorg: Composite.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86$ */
+
+#ifndef _XtComposite_h
+#define _XtComposite_h
+
+typedef struct _CompositeClassRec *CompositeWidgetClass;
+
+typedef Cardinal (*XtOrderProc)(
+    Widget     /* child */
+);
+
+_XFUNCPROTOBEGIN
+
+extern void XtManageChildren(
+    WidgetList                 /* children */,
+    Cardinal           /* num_children */
+);
+
+extern void XtManageChild(
+    Widget             /* child */
+);
+
+extern void XtUnmanageChildren(
+    WidgetList                 /* children */,
+    Cardinal           /* num_children */
+);
+
+extern void XtUnmanageChild(
+    Widget             /* child */
+);
+
+typedef void (*XtDoChangeProc)(
+    Widget             /* composite_parent */,
+    WidgetList         /* unmanage_children */,
+    Cardinal *         /* num_unmanage_children */,
+    WidgetList         /* manage_children */,
+    Cardinal *         /* num_manage_children */,
+    XtPointer          /* client_data */
+);
+
+extern void XtChangeManagedSet(
+    WidgetList         /* unmanage_children */,
+    Cardinal           /* num_unmanage_children */,
+    XtDoChangeProc     /* do_change_proc */,
+    XtPointer          /* client_data */,
+    WidgetList         /* manage_children */,
+    Cardinal           /* num_manage_children */
+);
+
+_XFUNCPROTOEND
+
+#ifndef XT_COMPOSITE
+externalref WidgetClass compositeWidgetClass;
+#endif
+
+#endif /* _XtComposite_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/CompositeP.h b/XOrg/headers/native/src/X11/CompositeP.h
new file mode 100644 (file)
index 0000000..ed055b2
--- /dev/null
@@ -0,0 +1,111 @@
+/* $Xorg: CompositeP.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtCompositeP_h
+#define _XtCompositeP_h
+
+#include <X11/Composite.h>
+
+/************************************************************************
+ *
+ * Additional instance fields for widgets of (sub)class 'Composite' 
+ *
+ ************************************************************************/
+
+typedef struct _CompositePart {
+    WidgetList  children;           /* array of ALL widget children         */
+    Cardinal    num_children;       /* total number of widget children      */
+    Cardinal    num_slots;           /* number of slots in children array    */
+    XtOrderProc insert_position;     /* compute position of new child       */
+} CompositePart,*CompositePtr;
+
+typedef struct _CompositeRec {
+    CorePart      core;
+    CompositePart composite;
+} CompositeRec;
+
+/*********************************************************************
+ *
+ *  Additional class fields for widgets of (sub)class 'Composite'
+ *
+ ********************************************************************/
+
+typedef struct _CompositeClassPart {
+    XtGeometryHandler geometry_manager;          /* geometry manager for children   */
+    XtWidgetProc      change_managed;    /* change managed state of child   */
+    XtWidgetProc      insert_child;      /* physically add child to parent  */
+    XtWidgetProc      delete_child;      /* physically remove child         */
+    XtPointer        extension;          /* pointer to extension record     */
+} CompositeClassPart,*CompositePartPtr;
+
+typedef struct {
+    XtPointer next_extension;  /* 1st 4 mandated for all extension records */
+    XrmQuark record_type;      /* NULLQUARK; on CompositeClassPart */
+    long version;              /* must be XtCompositeExtensionVersion */
+    Cardinal record_size;      /* sizeof(CompositeClassExtensionRec) */
+    Boolean accepts_objects;
+    Boolean allows_change_managed_set;
+} CompositeClassExtensionRec, *CompositeClassExtension;
+
+
+typedef struct _CompositeClassRec {
+     CoreClassPart      core_class;
+     CompositeClassPart composite_class;
+} CompositeClassRec;
+
+externalref CompositeClassRec compositeClassRec;
+
+#define XtCompositeExtensionVersion 2L
+#define XtInheritGeometryManager ((XtGeometryHandler) _XtInherit)
+#define XtInheritChangeManaged ((XtWidgetProc) _XtInherit)
+#define XtInheritInsertChild ((XtWidgetProc) _XtInherit)
+#define XtInheritDeleteChild ((XtWidgetProc) _XtInherit)
+
+#endif /* _XtCompositeP_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/ConstrainP.h b/XOrg/headers/native/src/X11/ConstrainP.h
new file mode 100644 (file)
index 0000000..a90d19a
--- /dev/null
@@ -0,0 +1,94 @@
+/* $Xorg: ConstrainP.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+/* $oHeader: ConstrainP.h,v 1.2 88/08/18 15:54:15 asente Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtConstraintP_h
+#define _XtConstraintP_h
+
+#include <X11/Constraint.h>
+
+typedef struct _ConstraintPart {
+    XtPointer   mumble;                /* No new fields, keep C compiler happy */
+} ConstraintPart;
+
+typedef struct _ConstraintRec {
+    CorePart       core;
+    CompositePart   composite;
+    ConstraintPart  constraint;
+} ConstraintRec, *ConstraintWidget;
+
+typedef struct _ConstraintClassPart {
+    XtResourceList resources;        /* constraint resource list            */
+    Cardinal   num_resources;         /* number of constraints in list       */
+    Cardinal   constraint_size;       /* size of constraint record           */
+    XtInitProc initialize;            /* constraint initialization           */
+    XtWidgetProc destroy;             /* constraint destroy proc             */
+    XtSetValuesFunc set_values;       /* constraint set_values proc          */
+    XtPointer      extension;          /* pointer to extension record      */
+} ConstraintClassPart;
+
+typedef struct {
+    XtPointer next_extension;  /* 1st 4 mandated for all extension records */
+    XrmQuark record_type;      /* NULLQUARK; on ConstraintClassPart */
+    long version;              /* must be XtConstraintExtensionVersion */
+    Cardinal record_size;      /* sizeof(ConstraintClassExtensionRec) */
+    XtArgsProc get_values_hook;
+} ConstraintClassExtensionRec, *ConstraintClassExtension;
+
+typedef struct _ConstraintClassRec {
+    CoreClassPart       core_class;
+    CompositeClassPart  composite_class;
+    ConstraintClassPart constraint_class;
+} ConstraintClassRec;
+
+externalref ConstraintClassRec constraintClassRec;
+
+#define XtConstraintExtensionVersion 1L
+
+#endif /* _XtConstraintP_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/Constraint.h b/XOrg/headers/native/src/X11/Constraint.h
new file mode 100644 (file)
index 0000000..9bb962e
--- /dev/null
@@ -0,0 +1,60 @@
+/* $Xorg: Constraint.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+/* $oHeader: Constraint.h,v 1.2 88/08/18 15:54:18 asente Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtConstraint_h
+#define _XtConstraint_h
+
+typedef struct _ConstraintClassRec *ConstraintWidgetClass;
+
+#ifndef CONSTRAINT
+externalref WidgetClass constraintWidgetClass;
+#endif
+
+#endif /* _XtConstraint_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/ConvertI.h b/XOrg/headers/native/src/X11/ConvertI.h
new file mode 100644 (file)
index 0000000..02c0e5c
--- /dev/null
@@ -0,0 +1,96 @@
+/* $Xorg: ConvertI.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/ConvertI.h,v 1.3 2001/12/14 19:56:09 dawes Exp $ */
+
+/* Representation types */
+
+extern XrmQuark  _XtQString;
+
+/*
+ * Resource conversions
+ */
+
+typedef struct _ConverterRec **ConverterTable;
+
+extern void _XtAddDefaultConverters(
+    ConverterTable     /* table */
+);
+
+extern void _XtSetDefaultConverterTable(
+    ConverterTable*            /* table */
+);
+
+extern void _XtFreeConverterTable(
+    ConverterTable             /* table */
+);
+
+extern void _XtTableAddConverter(
+    ConverterTable             /* table */,
+    XrmRepresentation          /* from_type */,
+    XrmRepresentation          /* to_type */,
+    XtTypeConverter            /* converter */,
+    XtConvertArgList           /* convert_args */,
+    Cardinal                   /* num_args */,
+    _XtBoolean                 /* new_style */,
+    XtCacheType                        /* cache_type */,
+    XtDestructor               /* destructor */,
+    _XtBoolean                 /* global */
+);
+
+extern Boolean _XtConvert(
+    Widget                     /* widget */,
+    XrmRepresentation          /* from_type */,
+    XrmValuePtr                        /* from */,
+    XrmRepresentation          /* to_type */,
+    XrmValuePtr                        /* to */,
+    XtCacheRef*                        /* cache_ref_return */
+);
+
+void _XtConvertInitialize(void);
+
diff --git a/XOrg/headers/native/src/X11/Core.h b/XOrg/headers/native/src/X11/Core.h
new file mode 100644 (file)
index 0000000..ff6cb75
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+* $Xorg: Core.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $
+* $oHeader: Core.h,v 1.2 88/08/18 15:54:32 asente Exp $
+*/
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtCore_h
+#define _XtCore_h
+
+typedef struct _WidgetClassRec *CoreWidgetClass;
+typedef struct _WidgetRec *CoreWidget;
+externalref WidgetClass coreWidgetClass;
+
+#ifndef _XT_CORE_C
+externalref WidgetClass widgetClass;
+
+#endif
+
+#endif /* _XtCore_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/CoreP.h b/XOrg/headers/native/src/X11/CoreP.h
new file mode 100644 (file)
index 0000000..e07f085
--- /dev/null
@@ -0,0 +1,171 @@
+/*
+* $Xorg: CoreP.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $
+* $oHeader: CoreP.h,v 1.2 88/08/18 15:54:37 asente Exp $
+*/
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef XtCoreP_h
+#define XtCoreP_h
+
+#include <X11/Core.h>
+
+externalref int _XtInheritTranslations;
+
+#define XtInheritTranslations  ((String) &_XtInheritTranslations)
+#define XtInheritRealize ((XtRealizeProc) _XtInherit)
+#define XtInheritResize ((XtWidgetProc) _XtInherit)
+#define XtInheritExpose ((XtExposeProc) _XtInherit)
+#define XtInheritSetValuesAlmost ((XtAlmostProc) _XtInherit)
+#define XtInheritAcceptFocus ((XtAcceptFocusProc) _XtInherit)
+#define XtInheritQueryGeometry ((XtGeometryHandler) _XtInherit)
+#define XtInheritDisplayAccelerator ((XtStringProc) _XtInherit)
+
+/***************************************************************
+ * Widget Core Data Structures
+ *
+ *
+ **************************************************************/
+
+typedef struct _CorePart {
+    Widget         self;               /* pointer to widget itself          */
+    WidgetClass            widget_class;       /* pointer to Widget's ClassRec      */
+    Widget         parent;             /* parent widget                     */
+    XrmName         xrm_name;          /* widget resource name quarkified   */
+    Boolean         being_destroyed;   /* marked for destroy                */
+    XtCallbackList  destroy_callbacks; /* who to call when widget destroyed */
+    XtPointer       constraints;        /* constraint record                 */
+    Position        x, y;              /* window position                   */
+    Dimension       width, height;     /* window dimensions                 */
+    Dimension       border_width;      /* window border width               */
+    Boolean         managed;            /* is widget geometry managed?       */
+    Boolean        sensitive;          /* is widget sensitive to user events*/
+    Boolean         ancestor_sensitive;        /* are all ancestors sensitive?      */
+    XtEventTable    event_table;       /* private to event dispatcher       */
+    XtTMRec        tm;                 /* translation management            */
+    XtTranslations  accelerators;       /* accelerator translations          */
+    Pixel          border_pixel;       /* window border pixel               */
+    Pixmap          border_pixmap;     /* window border pixmap or NULL      */
+    WidgetList      popup_list;         /* list of popups                    */
+    Cardinal        num_popups;         /* how many popups                   */
+    String          name;              /* widget resource name              */
+    Screen         *screen;            /* window's screen                   */
+    Colormap        colormap;           /* colormap                          */
+    Window         window;             /* window ID                         */
+    Cardinal        depth;             /* number of planes in window        */
+    Pixel          background_pixel;   /* window background pixel           */
+    Pixmap          background_pixmap; /* window background pixmap or NULL  */
+    Boolean         visible;           /* is window mapped and not occluded?*/
+    Boolean        mapped_when_managed;/* map window if it's managed?       */
+} CorePart;
+
+typedef struct _WidgetRec {
+    CorePart    core;
+ } WidgetRec, CoreRec;
+
+
+
+/******************************************************************
+ *
+ * Core Class Structure. Widgets, regardless of their class, will have
+ * these fields.  All widgets of a given class will have the same values
+ * for these fields.  Widgets of a given class may also have additional
+ * common fields.  These additional fields are included in incremental
+ * class structures, such as CommandClass.
+ *
+ * The fields that are specific to this subclass, as opposed to fields that
+ * are part of the superclass, are called "subclass fields" below.  Many
+ * procedures are responsible only for the subclass fields, and not for
+ * any superclass fields.
+ *
+ ********************************************************************/
+
+typedef struct _CoreClassPart {
+    WidgetClass     superclass;                /* pointer to superclass ClassRec   */
+    String          class_name;                /* widget resource class name       */
+    Cardinal        widget_size;       /* size in bytes of widget record   */
+    XtProc         class_initialize;   /* class initialization proc        */
+    XtWidgetClassProc class_part_initialize; /* dynamic initialization     */
+    XtEnum          class_inited;       /* has class been initialized?      */
+    XtInitProc      initialize;                /* initialize subclass fields       */
+    XtArgsProc      initialize_hook;    /* notify that initialize called    */
+    XtRealizeProc   realize;           /* XCreateWindow for widget         */
+    XtActionList    actions;           /* widget semantics name to proc map */
+    Cardinal       num_actions;        /* number of entries in actions     */
+    XtResourceList  resources;         /* resources for subclass fields    */
+    Cardinal        num_resources;      /* number of entries in resources   */
+    XrmClass        xrm_class;         /* resource class quarkified        */
+    Boolean         compress_motion;    /* compress MotionNotify for widget */
+    XtEnum          compress_exposure;  /* compress Expose events for widget*/
+    Boolean         compress_enterleave;/* compress enter and leave events  */
+    Boolean         visible_interest;   /* select for VisibilityNotify      */
+    XtWidgetProc    destroy;           /* free data for subclass pointers  */
+    XtWidgetProc    resize;            /* geom manager changed widget size */
+    XtExposeProc    expose;            /* rediplay window                  */
+    XtSetValuesFunc set_values;                /* set subclass resource values     */
+    XtArgsFunc      set_values_hook;    /* notify that set_values called    */
+    XtAlmostProc    set_values_almost;  /* set_values got "Almost" geo reply */
+    XtArgsProc      get_values_hook;    /* notify that get_values called    */
+    XtAcceptFocusProc accept_focus;     /* assign input focus to widget     */
+    XtVersionType   version;           /* version of intrinsics used       */
+    XtPointer       callback_private;   /* list of callback offsets       */
+    String          tm_table;           /* state machine                    */
+    XtGeometryHandler query_geometry;  /* return preferred geometry        */
+    XtStringProc    display_accelerator;/* display your accelerator        */
+    XtPointer      extension;          /* pointer to extension record      */
+ } CoreClassPart;
+
+typedef struct _WidgetClassRec {
+    CoreClassPart core_class;
+} WidgetClassRec, CoreClassRec;
+
+externalref WidgetClassRec widgetClassRec;
+#define coreClassRec widgetClassRec
+
+#endif /* _XtCoreP_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/CreateI.h b/XOrg/headers/native/src/X11/CreateI.h
new file mode 100644 (file)
index 0000000..87abb1d
--- /dev/null
@@ -0,0 +1,37 @@
+/* $XFree86$ */
+
+#ifndef _XtcreateI_h
+#define _XtcreateI_h
+
+extern Widget _XtCreateWidget(String name, WidgetClass widget_class,
+                             Widget parent, ArgList args, Cardinal num_args,
+                             XtTypedArgList typed_args,
+                             Cardinal num_typed_args);
+extern Widget _XtCreatePopupShell(String name, WidgetClass widget_class,
+                                 Widget parent, ArgList args,
+                                 Cardinal num_args, XtTypedArgList typed_args,
+                                 Cardinal num_typed_args);
+extern Widget _XtAppCreateShell(String name, String class,
+                               WidgetClass widget_class, Display *display,
+                               ArgList args, Cardinal num_args,
+                               XtTypedArgList typed_args,
+                               Cardinal num_typed_args);
+extern Widget _XtCreateHookObj(Screen *screen);
+
+
+#include <stdarg.h>
+
+/* VarCreate.c */
+extern Widget _XtVaOpenApplication(XtAppContext *app_context_return,
+                       _Xconst char* application_class,
+                       XrmOptionDescList options, Cardinal num_options,
+                       int *argc_in_out, String *argv_in_out,
+                       String *fallback_resources, WidgetClass widget_class,
+                       va_list var_args);
+extern Widget _XtVaAppInitialize(XtAppContext *app_context_return,
+                       _Xconst char* application_class,
+                       XrmOptionDescList options, Cardinal num_options,
+                       int *argc_in_out, String *argv_in_out,
+                       String *fallback_resources, va_list var_args);
+
+#endif /* _XtcreateI_h */
diff --git a/XOrg/headers/native/src/X11/DECkeysym.h b/XOrg/headers/native/src/X11/DECkeysym.h
new file mode 100644 (file)
index 0000000..6ab103e
--- /dev/null
@@ -0,0 +1,67 @@
+/* $Xorg: DECkeysym.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL 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.
+
+******************************************************************/
+
+/*
+ * DEC private keysyms
+ * (29th bit set)
+ */
+
+/* two-key compose sequence initiators, chosen to map to Latin1 characters */
+
+#define DXK_ring_accent         0x1000FEB0
+#define DXK_circumflex_accent   0x1000FE5E
+#define DXK_cedilla_accent      0x1000FE2C
+#define DXK_acute_accent        0x1000FE27
+#define DXK_grave_accent        0x1000FE60
+#define DXK_tilde               0x1000FE7E
+#define DXK_diaeresis           0x1000FE22
+
+/* special keysym for LK2** "Remove" key on editing keypad */
+
+#define DXK_Remove     0x1000FF00   /* Remove */
diff --git a/XOrg/headers/native/src/X11/EventI.h b/XOrg/headers/native/src/X11/EventI.h
new file mode 100644 (file)
index 0000000..00858e7
--- /dev/null
@@ -0,0 +1,134 @@
+/* $Xorg: EventI.h,v 1.4 2001/02/09 02:03:54 xorgcvs Exp $ */
+/* $oHeader: EventI.h,v 1.3 88/08/24 09:21:11 asente Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/EventI.h,v 1.3 2001/12/14 19:56:12 dawes Exp $ */
+
+/* 
+ * Event.h - exported types and functions for toolkit event handler
+ * 
+ * Author:     Charles Haynes
+ *             Digital Equipment Corporation
+ *             Western Software Laboratory
+ * Date:       Sun Dec  6 1987
+ */
+
+#ifndef _Event_h_
+#define _Event_h_
+
+typedef struct _XtGrabRec  *XtGrabList;
+
+#include "PassivGraI.h"
+
+extern void _XtEventInitialize(
+    void
+);
+
+typedef struct _XtEventRec {
+     XtEventTable      next;
+     EventMask         mask;   /*  also select_data count for RecExt */
+     XtEventHandler    proc;
+     XtPointer         closure;
+     unsigned int      select:1;
+     unsigned int      has_type_specifier:1;
+     unsigned int      async:1; /* not used, here for Digital extension? */
+} XtEventRec;
+
+typedef struct _XtGrabRec {
+    XtGrabList next;
+    Widget   widget;
+    unsigned int exclusive:1;
+    unsigned int spring_loaded:1;
+}XtGrabRec;
+
+typedef struct _BlockHookRec {
+    struct _BlockHookRec* next;
+    XtAppContext app;
+    XtBlockHookProc proc;
+    XtPointer closure;
+} BlockHookRec, *BlockHook;
+
+extern void _XtFreeEventTable(
+    XtEventTable*      /* event_table */
+);
+
+extern Boolean _XtOnGrabList(
+    Widget     /* widget */,
+    XtGrabRec* /* grabList */
+);
+
+extern void _XtRemoveAllInputs(
+    XtAppContext /* app */
+);
+
+extern void _XtRefreshMapping(
+    XEvent*    /* event */,
+    _XtBoolean /* dispatch */
+);
+
+extern void _XtSendFocusEvent(
+    Widget     /* child */,
+    int                /* type */);
+
+extern EventMask _XtConvertTypeToMask(
+    int                /* eventType */
+);
+
+/* EventUtil.c */
+extern Widget _XtFindRemapWidget(XEvent *event, Widget widget,
+                                EventMask mask, XtPerDisplayInput pdi);
+extern void _XtUngrabBadGrabs(XEvent *event, Widget widget,
+                                EventMask mask, XtPerDisplayInput pdi);
+extern void _XtFillAncestorList(Widget **listPtr, int *maxElemsPtr,
+                               int *numElemsPtr, Widget start,
+                               Widget breakWidget);
+
+/* NextEvent.c */
+extern Boolean XtAppPeekEvent_SkipTimer;
+
+#endif /* _Event_h_ */
diff --git a/XOrg/headers/native/src/X11/HPkeysym.h b/XOrg/headers/native/src/X11/HPkeysym.h
new file mode 100644 (file)
index 0000000..2d09277
--- /dev/null
@@ -0,0 +1,165 @@
+/* $Xorg: HPkeysym.h,v 1.5 2001/02/09 02:03:22 xorgcvs Exp $ */
+/*
+
+Copyright 1987, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Hewlett Packard
+or Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL 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.
+
+HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD
+TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  Hewlett-Packard shall not be liable for errors
+contained herein or direct, indirect, special, incidental or
+consequential damages in connection with the furnishing,
+performance, or use of this material.
+
+*/
+
+#ifndef _HPKEYSYM_H
+
+#define _HPKEYSYM
+
+#define hpXK_ClearLine         0x1000FF6F
+#define hpXK_InsertLine                0x1000FF70
+#define hpXK_DeleteLine                0x1000FF71
+#define hpXK_InsertChar                0x1000FF72
+#define hpXK_DeleteChar                0x1000FF73
+#define hpXK_BackTab           0x1000FF74
+#define hpXK_KP_BackTab                0x1000FF75
+#define hpXK_Modelock1         0x1000FF48
+#define hpXK_Modelock2         0x1000FF49
+#define hpXK_Reset             0x1000FF6C
+#define hpXK_System            0x1000FF6D
+#define hpXK_User              0x1000FF6E
+#define hpXK_mute_acute                0x100000A8
+#define hpXK_mute_grave                0x100000A9
+#define hpXK_mute_asciicircum  0x100000AA
+#define hpXK_mute_diaeresis    0x100000AB
+#define hpXK_mute_asciitilde   0x100000AC
+#define hpXK_lira              0x100000AF
+#define hpXK_guilder           0x100000BE
+#define hpXK_Ydiaeresis                0x100000EE
+#define hpXK_IO                        0x100000EE
+#define hpXK_longminus         0x100000F6
+#define hpXK_block             0x100000FC
+
+
+#ifndef _OSF_Keysyms
+#define _OSF_Keysyms
+
+#define osfXK_Copy             0x1004FF02
+#define osfXK_Cut              0x1004FF03
+#define osfXK_Paste            0x1004FF04
+#define osfXK_BackTab          0x1004FF07
+#define osfXK_BackSpace                0x1004FF08
+#define osfXK_Clear            0x1004FF0B
+#define osfXK_Escape           0x1004FF1B
+#define osfXK_AddMode          0x1004FF31
+#define osfXK_PrimaryPaste     0x1004FF32
+#define osfXK_QuickPaste       0x1004FF33
+#define osfXK_PageLeft         0x1004FF40
+#define osfXK_PageUp           0x1004FF41
+#define osfXK_PageDown         0x1004FF42
+#define osfXK_PageRight                0x1004FF43
+#define osfXK_Activate         0x1004FF44
+#define osfXK_MenuBar          0x1004FF45
+#define osfXK_Left             0x1004FF51
+#define osfXK_Up               0x1004FF52
+#define osfXK_Right            0x1004FF53
+#define osfXK_Down             0x1004FF54
+#define osfXK_EndLine          0x1004FF57
+#define osfXK_BeginLine                0x1004FF58
+#define osfXK_EndData          0x1004FF59
+#define osfXK_BeginData                0x1004FF5A
+#define osfXK_PrevMenu         0x1004FF5B
+#define osfXK_NextMenu         0x1004FF5C
+#define osfXK_PrevField                0x1004FF5D
+#define osfXK_NextField                0x1004FF5E
+#define osfXK_Select           0x1004FF60
+#define osfXK_Insert           0x1004FF63
+#define osfXK_Undo             0x1004FF65
+#define osfXK_Menu             0x1004FF67
+#define osfXK_Cancel           0x1004FF69
+#define osfXK_Help             0x1004FF6A
+#define osfXK_SelectAll                0x1004FF71
+#define osfXK_DeselectAll      0x1004FF72
+#define osfXK_Reselect         0x1004FF73
+#define osfXK_Extend           0x1004FF74
+#define osfXK_Restore          0x1004FF78
+#define osfXK_Delete           0x1004FFFF
+
+#endif /* _OSF_Keysyms */
+
+
+/**************************************************************
+ * The use of the following macros is deprecated.
+ * They are listed below only for backwards compatibility.
+ */
+#define XK_Reset                0x1000FF6C
+#define XK_System               0x1000FF6D
+#define XK_User                 0x1000FF6E
+#define XK_ClearLine            0x1000FF6F
+#define XK_InsertLine           0x1000FF70
+#define XK_DeleteLine           0x1000FF71
+#define XK_InsertChar           0x1000FF72
+#define XK_DeleteChar           0x1000FF73
+#define XK_BackTab              0x1000FF74
+#define XK_KP_BackTab           0x1000FF75
+#define XK_Ext16bit_L           0x1000FF76
+#define XK_Ext16bit_R           0x1000FF77
+#define XK_mute_acute           0x100000a8
+#define XK_mute_grave           0x100000a9
+#define XK_mute_asciicircum     0x100000aa
+#define XK_mute_diaeresis       0x100000ab
+#define XK_mute_asciitilde      0x100000ac
+#define XK_lira                 0x100000af
+#define XK_guilder              0x100000be
+#ifndef XK_Ydiaeresis
+#define XK_Ydiaeresis           0x100000ee
+#endif
+#define XK_IO                   0x100000ee
+#define XK_longminus            0x100000f6
+#define XK_block                0x100000fc
+
+#endif /* _HPKEYSYM_H */
diff --git a/XOrg/headers/native/src/X11/HookObjI.h b/XOrg/headers/native/src/X11/HookObjI.h
new file mode 100644 (file)
index 0000000..c9a22a2
--- /dev/null
@@ -0,0 +1,71 @@
+/* $Xorg: HookObjI.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */
+
+/*
+
+Copyright 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _XtHookObjI_h
+#define _XtHookObjI_h
+
+/* This object is implementation-dependent and private to the library. */
+
+typedef struct _HookObjRec *HookObject;
+typedef struct _HookObjClassRec *HookObjectClass;
+
+externalref WidgetClass hookObjectClass;
+
+typedef struct _HookObjPart {
+    /* resources */
+    XtCallbackList createhook_callbacks;
+    XtCallbackList changehook_callbacks;
+    XtCallbackList confighook_callbacks;
+    XtCallbackList geometryhook_callbacks;
+    XtCallbackList destroyhook_callbacks;
+    WidgetList shells;
+    Cardinal num_shells;
+    /* private data */
+    Cardinal max_shells;
+    Screen* screen;
+}HookObjPart;
+
+typedef struct _HookObjRec {
+    ObjectPart object;
+    HookObjPart hooks;
+} HookObjRec;
+
+typedef struct _HookObjClassPart {
+    int unused;
+} HookObjClassPart;
+
+typedef struct _HookObjClassRec {
+    ObjectClassPart object_class;
+    HookObjClassPart hook_class;
+} HookObjClassRec;
+
+externalref HookObjClassRec hookObjClassRec;
+
+#endif /* ifndef _Xt_HookObjI_h */
+
+
diff --git a/XOrg/headers/native/src/X11/ImUtil.h b/XOrg/headers/native/src/X11/ImUtil.h
new file mode 100644 (file)
index 0000000..89f0381
--- /dev/null
@@ -0,0 +1,31 @@
+/* $XFree86: xc/lib/X11/ImUtil.h,v 1.2 2003/04/15 22:10:07 herrb Exp $ */
+
+#ifndef _IMUTIL_H_
+#define _IMUTIL_H_
+
+extern int
+_XGetScanlinePad(
+    Display *dpy,
+    int depth);
+
+extern int
+_XGetBitsPerPixel(
+ Display *dpy,
+ int depth);
+
+extern int
+_XSetImage(
+    XImage *srcimg,
+    register XImage *dstimg,
+    register int x,
+    register int y);
+
+extern int
+_XReverse_Bytes(
+    register unsigned char *bpt,
+    register int nb);
+extern void
+_XInitImageFuncPtrs(
+    register XImage *image);
+
+#endif /* _IMUTIL_H_ */
diff --git a/XOrg/headers/native/src/X11/InitialI.h b/XOrg/headers/native/src/X11/InitialI.h
new file mode 100644 (file)
index 0000000..c2fe47c
--- /dev/null
@@ -0,0 +1,429 @@
+/* $Xorg: InitialI.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/InitialI.h,v 3.10 2001/12/14 19:56:18 dawes Exp $ */
+
+#ifndef _XtinitialI_h
+#define _XtinitialI_h
+
+/****************************************************************
+ *
+ * Displays
+ *
+ ****************************************************************/
+
+#ifndef X_NOT_POSIX
+#ifdef _POSIX_SOURCE
+#include <limits.h>
+#else
+#define _POSIX_SOURCE
+#include <limits.h>
+#undef _POSIX_SOURCE
+#endif
+#endif
+#ifndef PATH_MAX
+#ifdef WIN32
+#define PATH_MAX 512
+#else
+#include <sys/param.h>
+#endif
+#ifndef PATH_MAX
+#ifdef MAXPATHLEN
+#define PATH_MAX MAXPATHLEN
+#else
+#define PATH_MAX 1024
+#endif
+#endif
+#endif
+
+#include <X11/Xos.h>
+#include <X11/Xpoll.h>
+
+typedef struct _TimerEventRec {
+        struct timeval        te_timer_value;
+       struct _TimerEventRec *te_next;
+       XtTimerCallbackProc   te_proc;
+       XtAppContext          app;
+       XtPointer             te_closure;
+} TimerEventRec;
+
+typedef struct _InputEvent {
+       XtInputCallbackProc   ie_proc;
+       XtPointer             ie_closure;
+       struct _InputEvent    *ie_next;
+       struct _InputEvent    *ie_oq;
+       XtAppContext          app;
+       int                   ie_source;
+       XtInputMask           ie_condition;
+} InputEvent;
+
+typedef struct _SignalEventRec {
+       XtSignalCallbackProc  se_proc;
+       XtPointer             se_closure;
+       struct _SignalEventRec *se_next;
+       XtAppContext          app;
+       Boolean               se_notice;
+} SignalEventRec;
+
+typedef struct _WorkProcRec {
+       XtWorkProc proc;
+       XtPointer closure;
+       struct _WorkProcRec *next;
+       XtAppContext app;
+} WorkProcRec;
+
+
+typedef struct 
+{
+#ifndef USE_POLL
+       fd_set rmask;
+       fd_set wmask;
+       fd_set emask;
+#endif
+       int     nfds;
+} FdStruct;
+
+typedef struct _LangProcRec {
+    XtLanguageProc     proc;
+    XtPointer          closure;
+} LangProcRec;
+
+typedef struct _ProcessContextRec {
+    XtAppContext       defaultAppContext;
+    XtAppContext       appContextList;
+    ConverterTable     globalConverterTable;
+    LangProcRec                globalLangProcRec;
+} ProcessContextRec, *ProcessContext;
+
+typedef struct {
+    char*      start;
+    char*      current;
+    int                bytes_remaining;
+} Heap;
+
+typedef struct _DestroyRec DestroyRec;
+
+
+typedef struct _XtAppStruct {
+    XtAppContext next;         /* link to next app in process context */
+    ProcessContext process;    /* back pointer to our process context */
+    InternalCallbackList destroy_callbacks;
+    Display **list;
+    TimerEventRec *timerQueue;
+    WorkProcRec *workQueue;
+    InputEvent **input_list;
+    InputEvent *outstandingQueue;
+    SignalEventRec *signalQueue;
+    XrmDatabase errorDB;
+    XtErrorMsgHandler errorMsgHandler, warningMsgHandler;
+    XtErrorHandler errorHandler, warningHandler;
+    struct _ActionListRec *action_table;
+    ConverterTable converterTable;
+    unsigned long selectionTimeout;
+    FdStruct fds;
+    short count;                       /* num of assigned entries in list */
+    short max;                         /* allocate size of list */
+    short last;
+    short input_count;
+    short input_max;                   /* elts input_list init'd with */
+    Boolean sync, being_destroyed, error_inited;
+#ifndef NO_IDENTIFY_WINDOWS
+    Boolean identify_windows;          /* debugging hack */
+#endif
+    Heap heap;
+    String * fallback_resources;       /* Set by XtAppSetFallbackResources. */
+    struct _ActionHookRec* action_hook_list;
+    struct _BlockHookRec* block_hook_list;
+    int destroy_list_size;             /* state data for 2-phase destroy */
+    int destroy_count;
+    int dispatch_level;
+    DestroyRec* destroy_list;
+    Widget in_phase2_destroy;
+    LangProcRec langProcRec;
+    struct _TMBindCacheRec * free_bindings;
+    String display_name_tried;
+    Display **dpy_destroy_list;
+    int dpy_destroy_count;
+    Boolean exit_flag;
+    Boolean rebuild_fdlist;
+#ifdef XTHREADS
+    LockPtr lock_info;
+    ThreadAppProc lock;
+    ThreadAppProc unlock;
+    ThreadAppYieldLockProc yield_lock;
+    ThreadAppRestoreLockProc restore_lock;
+    ThreadAppProc free_lock;
+#endif
+} XtAppStruct;
+
+extern void _XtHeapInit(Heap* heap);
+extern void _XtHeapFree(Heap* heap);
+
+#ifdef XTTRACEMEMORY
+
+
+extern char *_XtHeapMalloc(
+    Heap*      /* heap */,
+    Cardinal   /* size */,
+    char *     /* file */,
+    int                /* line */
+);
+
+#define _XtHeapAlloc(heap,bytes) _XtHeapMalloc(heap, bytes, __FILE__, __LINE__)
+
+#else /* XTTRACEMEMORY */
+
+extern char* _XtHeapAlloc(
+    Heap*      /* heap */,
+    Cardinal   /* size */
+);
+
+#endif /* XTTRACEMEMORY */
+
+extern void _XtSetDefaultErrorHandlers(
+    XtErrorMsgHandler* /* errMsg */,
+    XtErrorMsgHandler* /* warnMsg */,
+    XtErrorHandler*    /* err */,
+    XtErrorHandler*    /* warn */
+);
+
+extern void _XtSetDefaultSelectionTimeout(
+    unsigned long* /* timeout */
+);
+
+extern XtAppContext _XtDefaultAppContext(
+    void
+);
+
+extern ProcessContext _XtGetProcessContext(
+    void
+);
+
+Display *
+_XtAppInit(
+    XtAppContext*      /* app_context_return */,
+    String             /* application_class */,
+    XrmOptionDescRec*  /* options */,
+    Cardinal           /* num_options */,
+    int*               /* argc_in_out */,
+    String**           /* argv_in_out */,
+    String*            /* fallback_resources */
+);
+
+extern void _XtDestroyAppContexts(
+    void
+);
+
+extern void _XtCloseDisplays(
+    XtAppContext       /* app */
+);
+
+extern int _XtAppDestroyCount;
+
+extern int _XtWaitForSomething(
+    XtAppContext       /* app */,
+    _XtBoolean                 /* ignoreEvents */,
+    _XtBoolean                 /* ignoreTimers */,
+    _XtBoolean                 /* ignoreInputs */,
+    _XtBoolean         /* ignoreSignals */,
+    _XtBoolean                 /* block */,
+#ifdef XTHREADS
+    _XtBoolean         /* drop_lock */,
+#endif
+    unsigned long*     /* howlong */
+);
+
+typedef struct _CaseConverterRec *CaseConverterPtr;
+typedef struct _CaseConverterRec {
+    KeySym             start;          /* first KeySym valid in converter */
+    KeySym             stop;           /* last KeySym valid in converter */
+    XtCaseProc         proc;           /* case converter function */
+    CaseConverterPtr   next;           /* next converter record */
+} CaseConverterRec;
+
+typedef struct _ExtensionSelectorRec {
+    XtExtensionSelectProc proc;
+    int min, max;
+    XtPointer client_data;
+} ExtSelectRec;
+
+typedef struct _XtPerDisplayStruct {
+    InternalCallbackList destroy_callbacks;
+    Region region;
+    CaseConverterPtr case_cvt;         /* user-registered case converters */
+    XtKeyProc defaultKeycodeTranslator;
+    XtAppContext appContext;
+    unsigned long keysyms_serial;      /* for tracking MappingNotify events */
+    KeySym *keysyms;                   /* keycode to keysym table */
+    int keysyms_per_keycode;           /* number of keysyms for each keycode*/
+    int min_keycode, max_keycode;      /* range of keycodes */
+    KeySym *modKeysyms;                /* keysym values for modToKeysysm */
+    ModToKeysymTable *modsToKeysyms;   /* modifiers to Keysysms index table*/
+    unsigned char isModifier[32];      /* key-is-modifier-p bit table */
+    KeySym lock_meaning;              /* Lock modifier meaning */
+    Modifiers mode_switch;            /* keyboard group modifiers */
+    Modifiers num_lock;                       /* keyboard numlock modifiers */
+    Boolean being_destroyed;
+    Boolean rv;                               /* reverse_video resource */
+    XrmName name;                     /* resolved app name */
+    XrmClass class;                   /* application class */
+    Heap heap;
+    struct _GCrec *GClist;            /* support for XtGetGC */
+    Drawable **pixmap_tab;             /* ditto for XtGetGC */
+    String language;                  /* XPG language string */
+    XEvent last_event;                /* last event dispatched */
+    Time last_timestamp;              /* from last event dispatched */
+    int multi_click_time;             /* for XtSetMultiClickTime */
+    struct _TMKeyContextRec* tm_context;     /* for XtGetActionKeysym */
+    InternalCallbackList mapping_callbacks;  /* special case for TM */
+    XtPerDisplayInputRec pdi;         /* state for modal grabs & kbd focus */
+    struct _WWTable *WWtable;         /* window to widget table */
+    XrmDatabase *per_screen_db;        /* per screen resource databases */
+    XrmDatabase cmd_db;                       /* db from command line, if needed */
+    XrmDatabase server_db;            /* resource property else .Xdefaults */
+    XtEventDispatchProc* dispatcher_list;
+    ExtSelectRec* ext_select_list;
+    int ext_select_count;
+    Widget hook_object;
+#ifndef X_NO_RESOURCE_CONFIGURATION_MANAGEMENT
+    Atom rcm_init;                     /* ResConfig - initialize */
+    Atom rcm_data;                     /* ResConfig - data atom */
+#endif
+} XtPerDisplayStruct, *XtPerDisplay;
+
+typedef struct _PerDisplayTable {
+       Display *dpy;
+       XtPerDisplayStruct perDpy;
+       struct _PerDisplayTable *next;
+} PerDisplayTable, *PerDisplayTablePtr;
+
+extern PerDisplayTablePtr _XtperDisplayList;
+
+extern XtPerDisplay _XtSortPerDisplayList(
+    Display* /* dpy */
+);
+
+extern XtPerDisplay _XtGetPerDisplay(
+    Display*           /* dpy */
+);
+
+extern XtPerDisplayInputRec* _XtGetPerDisplayInput(
+    Display*           /* dpy */
+);
+
+#if 0
+#ifdef DEBUG
+#define _XtGetPerDisplay(display) \
+    ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \
+     ? &_XtperDisplayList->perDpy \
+     : _XtSortPerDisplayList(display))
+#define _XtGetPerDisplayInput(display) \
+    ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \
+     ? &_XtperDisplayList->perDpy.pdi \
+     : &_XtSortPerDisplayList(display)->pdi)
+#else
+#define _XtGetPerDisplay(display) \
+    ((_XtperDisplayList->dpy == (display)) \
+     ? &_XtperDisplayList->perDpy \
+     : _XtSortPerDisplayList(display))
+#define _XtGetPerDisplayInput(display) \
+    ((_XtperDisplayList->dpy == (display)) \
+     ? &_XtperDisplayList->perDpy.pdi \
+     : &_XtSortPerDisplayList(display)->pdi)
+#endif /*DEBUG*/
+#endif
+
+extern void _XtDisplayInitialize(
+    Display*           /* dpy */,
+    XtPerDisplay       /* pd */,
+    _Xconst char*      /* name */,
+    XrmOptionDescRec*  /* urlist */,
+    Cardinal           /* num_urs */,
+    int*               /* argc */,
+    char**             /* argv */
+);
+
+extern void _XtCacheFlushTag(
+    XtAppContext /* app */,
+    XtPointer   /* tag */
+);
+
+extern void _XtFreeActions(
+    struct _ActionListRec* /* action_table */
+);
+
+extern void _XtDoPhase2Destroy(
+    XtAppContext /* app */,
+    int                 /* dispatch_level */
+);
+
+extern void _XtDoFreeBindings(
+    XtAppContext /* app */
+);
+
+extern void _XtExtensionSelect(
+    Widget /* widget */
+);
+
+#define _XtSafeToDestroy(app) ((app)->dispatch_level == 0)
+
+extern void _XtAllocWWTable(
+    XtPerDisplay pd
+);
+
+extern void _XtFreeWWTable(
+    XtPerDisplay pd
+);
+
+extern String _XtGetUserName(String dest, int len);
+extern XrmDatabase _XtPreparseCommandLine(XrmOptionDescRec *urlist,
+                       Cardinal num_urs, int argc, String *argv,
+                       String *applName, String *displayName,
+                       String *language);
+
+#endif /* _XtinitialI_h */
diff --git a/XOrg/headers/native/src/X11/Intrinsic.h b/XOrg/headers/native/src/X11/Intrinsic.h
new file mode 100644 (file)
index 0000000..0461b84
--- /dev/null
@@ -0,0 +1,2589 @@
+/* $Xorg: Intrinsic.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */
+
+/***********************************************************
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
+
+                       All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL 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.
+
+******************************************************************/
+
+/*
+
+Copyright 1987, 1988, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/lib/Xt/Intrinsic.h,v 3.8 2001/12/14 19:56:22 dawes Exp $ */
+
+#ifndef _XtIntrinsic_h
+#define _XtIntrinsic_h
+
+#include       <X11/Xlib.h>
+#include       <X11/Xutil.h>
+#include       <X11/Xresource.h>
+#include       <X11/Xfuncproto.h>
+#ifdef XT_BC
+#include <X11/Xos.h>           /* for R4 compatibility */
+#else
+#include <X11/Xosdefs.h>
+#include <string.h>            /* for XtNewString */
+#endif /* XT_BC else */
+
+#define XtSpecificationRelease 6
+
+typedef char *String;
+
+/* We do this in order to get "const" declarations to work right.  We
+ * use _XtString instead of String so that C++ applications can
+ * #define String to something else if they choose, to avoid conflicts
+ * with other C++ libraries.
+ */
+#define _XtString char*
+
+/* _Xt names are private to Xt implementation, do not use in client code */
+#if NeedWidePrototypes
+#define _XtBoolean     int
+#define _XtDimension   unsigned int
+#define _XtKeyCode     unsigned int
+#define _XtPosition    int
+#define _XtXtEnum      unsigned int
+#else
+#define _XtBoolean     Boolean
+#define _XtDimension   Dimension
+#define _XtKeyCode     KeyCode
+#define _XtPosition    Position
+#define _XtXtEnum      XtEnum
+#endif /* NeedWidePrototypes */
+
+#include <stddef.h>
+
+#ifdef VMS
+#define externalref globalref
+#define externaldef(psect) globaldef {"psect"} noshare
+#else
+#define externalref extern
+#define externaldef(psect)
+#endif /* VMS */
+
+#ifndef FALSE
+#define FALSE 0
+#define TRUE 1
+#endif
+
+#define XtNumber(arr)          ((Cardinal) (sizeof(arr) / sizeof(arr[0])))
+
+typedef struct _WidgetRec *Widget;
+typedef Widget *WidgetList;
+typedef struct _WidgetClassRec *WidgetClass;
+typedef struct _CompositeRec *CompositeWidget;
+typedef struct _XtActionsRec *XtActionList;
+typedef struct _XtEventRec *XtEventTable;
+
+typedef struct _XtAppStruct *XtAppContext;
+typedef unsigned long  XtValueMask;
+typedef unsigned long  XtIntervalId;
+typedef unsigned long  XtInputId;
+typedef unsigned long  XtWorkProcId;
+typedef unsigned long  XtSignalId;
+typedef unsigned int   XtGeometryMask;
+typedef unsigned long  XtGCMask;   /* Mask of values that are used by widget*/
+typedef unsigned long  Pixel;      /* Index into colormap              */
+typedef int            XtCacheType;
+#define                        XtCacheNone       0x001
+#define                        XtCacheAll        0x002
+#define                        XtCacheByDisplay  0x003
+#define                        XtCacheRefCount   0x100
+
+/****************************************************************
+ *
+ * System Dependent Definitions; see spec for specific range
+ * requirements.  Do not assume every implementation uses the
+ * same base types!
+ *
+ *
+ * XtArgVal ought to be a union of XtPointer, char *, long, int *, and proc *
+ * but casting to union types is not really supported.
+ *
+ * So the typedef for XtArgVal should be chosen such that
+ *
+ *     sizeof (XtArgVal) >=    sizeof(XtPointer)
+ *                             sizeof(char *)
+ *                             sizeof(long)
+ *                             sizeof(int *)
+ *                             sizeof(proc *)
+ *
+ * ArgLists rely heavily on the above typedef.
+ *
+ ****************************************************************/
+#ifdef CRAY
+typedef long           Boolean;
+typedef char*          XtArgVal;
+typedef long           XtEnum;
+#else
+typedef char           Boolean;
+typedef long           XtArgVal;
+typedef unsigned char  XtEnum;
+#endif
+
+typedef unsigned int   Cardinal;
+typedef unsigned short Dimension;  /* Size in pixels                   */
+typedef short          Position;   /* Offset from 0 coordinate         */
+
+typedef void*          XtPointer;
+
+/* The type Opaque is NOT part of the Xt standard, do NOT use it. */
+/* (It remains here only for backward compatibility.) */
+typedef XtPointer      Opaque;
+
+#include <X11/Core.h>
+#include <X11/Composite.h>
+#include <X11/Constraint.h>
+#include <X11/Object.h>
+#include <X11/RectObj.h>
+
+typedef struct _TranslationData *XtTranslations;
+typedef struct _TranslationData *XtAccelerators;
+typedef unsigned int Modifiers;
+
+typedef void (*XtActionProc)(
+    Widget             /* widget */,
+    XEvent*            /* event */,
+    String*            /* params */,
+    Cardinal*          /* num_params */
+);
+
+typedef XtActionProc* XtBoundActions;
+
+typedef struct _XtActionsRec{
+    String      string;
+    XtActionProc proc;
+} XtActionsRec;
+
+typedef enum {
+/* address mode                parameter representation    */
+/* ------------                ------------------------    */
+    XtAddress,         /* address                  */
+    XtBaseOffset,      /* offset                   */
+    XtImmediate,       /* constant                 */
+    XtResourceString,  /* resource name string     */
+    XtResourceQuark,   /* resource name quark      */
+    XtWidgetBaseOffset,        /* offset from ancestor     */
+    XtProcedureArg     /* procedure to invoke      */
+} XtAddressMode;
+
+typedef struct {
+    XtAddressMode   address_mode;
+    XtPointer      address_id;
+    Cardinal       size;
+} XtConvertArgRec, *XtConvertArgList;
+
+typedef void (*XtConvertArgProc)(
+    Widget             /* widget */,
+    Cardinal*          /* size */,
+    XrmValue*          /* value */
+);
+
+typedef struct {
+    XtGeometryMask request_mode;
+    Position x, y;
+    Dimension width, height, border_width;
+    Widget sibling;
+    int stack_mode;   /* Above, Below, TopIf, BottomIf, Opposite, DontChange */
+} XtWidgetGeometry;
+
+/* Additions to Xlib geometry requests: ask what would happen, don't do it */
+#define XtCWQueryOnly  (1 << 7)
+
+/* Additions to Xlib stack modes: don't change stack order */
+#define XtSMDontChange 5
+
+typedef void (*XtConverter)( /* obsolete */
+    XrmValue*          /* args */,
+    Cardinal*          /* num_args */,
+    XrmValue*          /* from */,
+    XrmValue*          /* to */
+);
+
+typedef Boolean (*XtTypeConverter)(
+    Display*           /* dpy */,
+    XrmValue*          /* args */,
+    Cardinal*          /* num_args */,
+    XrmValue*          /* from */,
+    XrmValue*          /* to */,
+    XtPointer*         /* converter_data */
+);
+
+typedef void (*XtDestructor)(
+    XtAppContext       /* app */,
+    XrmValue*          /* to */,
+    XtPointer          /* converter_data */,
+    XrmValue*          /* args */,
+    Cardinal*          /* num_args */
+);
+
+typedef Opaque XtCacheRef;
+
+typedef Opaque XtActionHookId;
+
+typedef void (*XtActionHookProc)(
+    Widget             /* w */,
+    XtPointer          /* client_data */,
+    String             /* action_name */,
+    XEvent*            /* event */,
+    String*            /* params */,
+    Cardinal*          /* num_params */
+);
+
+typedef unsigned long XtBlockHookId;
+
+typedef void (*XtBlockHookProc)(
+    XtPointer          /* client_data */
+);
+
+typedef void (*XtKeyProc)(
+    Display*           /* dpy */,
+    _XtKeyCode                 /* keycode */,
+    Modifiers          /* modifiers */,
+    Modifiers*         /* modifiers_return */,
+    KeySym*            /* keysym_return */
+);
+
+typedef void (*XtCaseProc)(
+    Display*           /* display */,
+    KeySym             /* keysym */,
+    KeySym*            /* lower_return */,
+    KeySym*            /* upper_return */
+);
+
+typedef void (*XtEventHandler)(
+    Widget             /* widget */,
+    XtPointer          /* closure */,
+    XEvent*            /* event */,
+    Boolean*           /* continue_to_dispatch */
+);
+typedef unsigned long EventMask;
+
+typedef enum {XtListHead, XtListTail } XtListPosition;
+
+typedef unsigned long  XtInputMask;
+#define XtInputNoneMask                0L
+#define XtInputReadMask                (1L<<0)
+#define XtInputWriteMask       (1L<<1)
+#define XtInputExceptMask      (1L<<2)
+
+typedef void (*XtTimerCallbackProc)(
+    XtPointer          /* closure */,
+    XtIntervalId*      /* id */
+);
+
+typedef void (*XtInputCallbackProc)(
+    XtPointer          /* closure */,
+    int*               /* source */,
+    XtInputId*         /* id */
+);
+
+typedef void (*XtSignalCallbackProc)(
+    XtPointer          /* closure */,
+    XtSignalId*                /* id */
+);
+
+typedef struct {
+    String     name;
+    XtArgVal   value;
+} Arg, *ArgList;
+
+typedef XtPointer      XtVarArgsList;
+
+typedef void (*XtCallbackProc)(
+    Widget             /* widget */,
+    XtPointer          /* closure */,  /* data the application registered */
+    XtPointer          /* call_data */ /* callback specific data */
+);
+
+typedef struct _XtCallbackRec {
+    XtCallbackProc  callback;
+    XtPointer      closure;
+} XtCallbackRec, *XtCallbackList;
+
+typedef enum {
+       XtCallbackNoList,
+       XtCallbackHasNone,
+       XtCallbackHasSome
+} XtCallbackStatus;
+
+typedef enum  {
+    XtGeometryYes,       /* Request accepted. */
+    XtGeometryNo,        /* Request denied. */
+    XtGeometryAlmost,    /* Request denied, but willing to take replyBox. */
+    XtGeometryDone       /* Request accepted and done. */
+} XtGeometryResult;
+
+typedef enum {XtGrabNone, XtGrabNonexclusive, XtGrabExclusive} XtGrabKind;
+
+typedef struct {
+    Widget  shell_widget;
+    Widget  enable_widget;
+} XtPopdownIDRec, *XtPopdownID;
+
+typedef struct _XtResource {
+    String     resource_name;  /* Resource name                            */
+    String     resource_class; /* Resource class                           */
+    String     resource_type;  /* Representation type desired              */
+    Cardinal   resource_size;  /* Size in bytes of representation          */
+    Cardinal   resource_offset;/* Offset from base to put resource value   */
+    String     default_type;   /* representation type of specified default */
+    XtPointer  default_addr;   /* Address of default resource              */
+} XtResource, *XtResourceList;
+
+typedef void (*XtResourceDefaultProc)(
+    Widget     /* widget */,
+    int                /* offset */,
+    XrmValue*  /* value */
+);
+
+typedef String (*XtLanguageProc)(
+    Display*   /* dpy */,
+    String     /* xnl */,
+    XtPointer  /* client_data */
+);
+
+typedef void (*XtErrorMsgHandler)(
+    String             /* name */,
+    String             /* type */,
+    String             /* class */,
+    String             /* default */,
+    String*            /* params */,
+    Cardinal*          /* num_params */
+);
+
+typedef void (*XtErrorHandler)(
+  String               /* msg */
+);
+
+typedef void (*XtCreatePopupChildProc)(
+    Widget     /* shell */
+);
+
+typedef Boolean (*XtWorkProc)(
+    XtPointer          /* closure */   /* data the application registered */
+);
+
+typedef struct {
+    char match;
+    String substitution;
+} SubstitutionRec, *Substitution;
+
+typedef Boolean (*XtFilePredicate)(
+   String /* filename */
+);
+
+typedef XtPointer XtRequestId;
+
+typedef Boolean (*XtConvertSelectionProc)(
+    Widget             /* widget */,
+    Atom*              /* selection */,
+    Atom*              /* target */,
+    Atom*              /* type_return */,
+    XtPointer*         /* value_return */,
+    unsigned long*     /* length_return */,
+    int*               /* format_return */
+);
+
+typedef void (*XtLoseSelectionProc)(
+    Widget             /* widget */,
+    Atom*              /* selection */
+);
+
+typedef void (*XtSelectionDoneProc)(
+    Widget             /* widget */,
+    Atom*              /* selection */,
+    Atom*              /* target */
+);
+
+typedef void (*XtSelectionCallbackProc)(
+    Widget             /* widget */,
+    XtPointer          /* closure */,
+    Atom*              /* selection */,
+    Atom*              /* type */,
+    XtPointer          /* value */,
+    unsigned long*     /* length */,
+    int*               /* format */
+);
+
+typedef void (*XtLoseSelectionIncrProc)(
+    Widget             /* widget */,
+    Atom*              /* selection */,
+    XtPointer          /* client_data */
+);
+
+typedef void (*XtSelectionDoneIncrProc)(
+    Widget             /* widget */,
+    Atom*              /* selection */,
+    Atom*              /* target */,
+    XtRequestId*       /* receiver_id */,
+    XtPointer          /* client_data */
+);
+
+typedef Boolean (*XtConvertSelectionIncrProc)(
+    Widget             /* widget */,
+    Atom*              /* selection */,
+    Atom*              /* target */,
+    Atom*              /* type */,
+    XtPointer*         /* value */,
+    unsigned long*     /* length */,
+    int*               /* format */,
+    unsigned long*     /* max_length */,
+    XtPointer          /* client_data */,
+    XtRequestId*       /* receiver_id */
+);
+
+typedef void (*XtCancelConvertSelectionProc)(
+    Widget             /* widget */,
+    Atom*              /* selection */,
+    Atom*              /* target */,
+    XtRequestId*       /* receiver_id */,
+    XtPointer          /* client_data */
+);
+
+typedef Boolean (*XtEventDispatchProc)(
+    XEvent*            /* event */
+);
+
+typedef void (*XtExtensionSelectProc)(
+    Widget             /* widget */,
+    int*               /* event_types */,
+    XtPointer*         /* select_data */,
+    int                        /* count */,
+    XtPointer          /* client_data */
+);
+
+/***************************************************************
+ *
+ * Exported Interfaces
+ *
+ ****************************************************************/
+
+_XFUNCPROTOBEGIN
+
+extern Boolean XtConvertAndStore(
+    Widget             /* widget */,
+    _Xconst _XtString  /* from_type */,
+    XrmValue*          /* from */,
+    _Xconst _XtString  /* to_type */,
+    XrmValue*          /* to_in_out */
+);
+
+extern Boolean XtCallConverter(
+    Display*           /* dpy */,
+    XtTypeConverter    /* converter */,
+    XrmValuePtr        /* args */,
+    Cardinal           /* num_args */,
+    XrmValuePtr        /* from */,
+    XrmValue*          /* to_in_out */,
+    XtCacheRef*                /* cache_ref_return */
+);
+
+extern Boolean XtDispatchEvent(
+    XEvent*            /* event */
+);
+
+extern Boolean XtCallAcceptFocus(
+    Widget             /* widget */,
+    Time*              /* time */
+);
+
+extern Boolean XtPeekEvent( /* obsolete */
+    XEvent*            /* event_return */
+);
+
+extern Boolean XtAppPeekEvent(
+    XtAppContext       /* app_context */,
+    XEvent*            /* event_return */
+);
+
+extern Boolean XtIsSubclass(
+    Widget             /* widget */,
+    WidgetClass        /* widgetClass */
+);
+
+extern Boolean XtIsObject(
+    Widget             /* object */
+);
+
+extern Boolean _XtCheckSubclassFlag( /* implementation-private */
+    Widget             /* object */,
+    _XtXtEnum          /* type_flag */
+);
+
+extern Boolean _XtIsSubclassOf( /* implementation-private */
+    Widget             /* object */,
+    WidgetClass                /* widget_class */,
+    WidgetClass                /* flag_class */,
+    _XtXtEnum          /* type_flag */
+);
+
+extern Boolean XtIsManaged(
+    Widget             /* rectobj */
+);
+
+extern Boolean XtIsRealized(
+    Widget             /* widget */
+);
+
+extern Boolean XtIsSensitive(
+    Widget             /* widget */
+);
+
+extern Boolean XtOwnSelection(
+    Widget             /* widget */,
+    Atom               /* selection */,
+    Time               /* time */,
+    XtConvertSelectionProc /* convert */,
+    XtLoseSelectionProc        /* lose */,
+    XtSelectionDoneProc /* done */
+);
+
+extern Boolean XtOwnSelectionIncremental(
+    Widget             /* widget */,
+    Atom               /* selection */,
+    Time               /* time */,
+    XtConvertSelectionIncrProc /* convert_callback */,
+    XtLoseSelectionIncrProc    /* lose_callback */,
+    XtSelectionDoneIncrProc    /* done_callback */,
+    XtCancelConvertSelectionProc /* cancel_callback */,
+    XtPointer          /* client_data */
+);
+
+extern XtGeometryResult XtMakeResizeRequest(
+    Widget             /* widget */,
+    _XtDimension       /* width */,
+    _XtDimension       /* height */,
+    Dimension*         /* width_return */,
+    Dimension*         /* height_return */
+);
+
+extern void XtTranslateCoords(
+    Widget             /* widget */,
+    _XtPosition                /* x */,
+    _XtPosition                /* y */,
+    Position*          /* rootx_return */,
+    Position*          /* rooty_return */
+);
+
+extern KeySym* XtGetKeysymTable(
+    Display*           /* dpy */,
+    KeyCode*           /* min_keycode_return */,
+    int*               /* keysyms_per_keycode_return */
+);
+
+extern void XtKeysymToKeycodeList(
+    Display*           /* dpy */,
+    KeySym             /* keysym */,
+    KeyCode**          /* keycodes_return */,
+    Cardinal*          /* keycount_return */
+);
+
+extern void XtStringConversionWarning( /* obsolete */
+    _Xconst _XtString  /* from_value */,
+    _Xconst _XtString  /* to_type */
+);
+
+extern void XtDisplayStringConversionWarning(
+    Display*           /* dpy */,
+    _Xconst _XtString  /* from_value */,
+    _Xconst _XtString  /* to_type */
+);
+
+externalref XtConvertArgRec const colorConvertArgs[];
+externalref XtConvertArgRec const screenConvertArg[];
+
+extern void XtAppAddConverter( /* obsolete */
+    XtAppContext       /* app_context */,
+    _Xconst _XtString  /* from_type */,
+    _Xconst _XtString  /* to_type */,
+    XtConverter        /* converter */,
+    XtConvertArgList   /* convert_args */,
+    Cardinal           /* num_args */
+);
+
+extern void XtAddConverter( /* obsolete */
+    _Xconst _XtString  /* from_type */,
+    _Xconst _XtString  /* to_type */,
+    XtConverter        /* converter */,
+    XtConvertArgList   /* convert_args */,
+    Cardinal           /* num_args */
+);
+
+extern void XtSetTypeConverter(
+    _Xconst _XtString  /* from_type */,
+    _Xconst _XtString  /* to_type */,
+    XtTypeConverter    /* converter */,
+    XtConvertArgList   /* convert_args */,
+    Cardinal           /* num_args */,
+    XtCacheType        /* cache_type */,
+    XtDestructor       /* destructor */
+);
+
+extern void XtAppSetTypeConverter(
+    XtAppContext       /* app_context */,
+    _Xconst _XtString  /* from_type */,
+    _Xconst _XtString  /* to_type */,
+    XtTypeConverter    /* converter */,
+    XtConvertArgList   /* convert_args */,
+    Cardinal           /* num_args */,
+    XtCacheType        /* cache_type */,
+    XtDestructor       /* destructor */
+);
+
+extern void XtConvert( /* obsolete */
+    Widget             /* widget */,
+    _Xconst _XtString  /* from_type */,
+    XrmValue*          /* from */,
+    _Xconst _XtString  /* to_type */,
+    XrmValue*          /* to_return */
+);
+
+extern void XtDirectConvert( /* obsolete */
+    XtConverter        /* converter */,
+    XrmValuePtr        /* args */,
+    Cardinal           /* num_args */,
+    XrmValuePtr        /* from */,
+    XrmValue*          /* to_return */
+);
+
+/****************************************************************
+ *
+ * Translation Management
+ *
+ ****************************************************************/
+
+extern XtTranslations XtParseTranslationTable(
+    _Xconst _XtString  /* table */
+);
+
+extern XtAccelerators XtParseAcceleratorTable(
+    _Xconst _XtString  /* source */
+);
+
+extern void XtOverrideTranslations(
+    Widget             /* widget */,
+    XtTranslations     /* translations */
+);
+
+extern void XtAugmentTranslations(
+    Widget             /* widget */,
+    XtTranslations     /* translations */
+);
+
+extern void XtInstallAccelerators(
+    Widget             /* destination */,
+    Widget             /* source */
+);
+
+extern void XtInstallAllAccelerators(
+    Widget             /* destination */,
+    Widget             /* source */
+);
+
+extern void XtUninstallTranslations(
+    Widget             /* widget */
+);
+
+extern void XtAppAddActions(
+    XtAppContext       /* app_context */,
+    XtActionList       /* actions */,
+    Cardinal           /* num_actions */
+);
+
+extern void XtAddActions( /* obsolete */
+    XtActionList       /* actions */,
+    Cardinal           /* num_actions */
+);
+
+extern XtActionHookId XtAppAddActionHook(
+    XtAppContext       /* app_context */,
+    XtActionHookProc   /* proc */,
+    XtPointer          /* client_data */
+);
+
+extern void XtRemoveActionHook(
+    XtActionHookId     /* id */
+);
+
+extern void XtGetActionList(
+    WidgetClass                /* widget_class */,
+    XtActionList*      /* actions_return */,
+    Cardinal*          /* num_actions_return */
+);
+
+extern void XtCallActionProc(
+    Widget             /* widget */,
+    _Xconst _XtString  /* action */,
+    XEvent*            /* event */,
+    String*            /* params */,
+    Cardinal           /* num_params */
+);
+
+extern void XtRegisterGrabAction(
+    XtActionProc       /* action_proc */,
+    _XtBoolean                 /* owner_events */,
+    unsigned int       /* event_mask */,
+    int                        /* pointer_mode */,
+    int                        /* keyboard_mode */
+);
+
+extern void XtSetMultiClickTime(
+    Display*           /* dpy */,
+    int                /* milliseconds */
+);
+
+extern int XtGetMultiClickTime(
+    Display*           /* dpy */
+);
+
+extern KeySym XtGetActionKeysym(
+    XEvent*            /* event */,
+    Modifiers*         /* modifiers_return */
+);
+
+/***************************************************************
+ *
+ * Keycode and Keysym procedures for translation management
+ *
+ ****************************************************************/
+
+extern void XtTranslateKeycode(
+    Display*           /* dpy */,
+    _XtKeyCode                 /* keycode */,
+    Modifiers          /* modifiers */,
+    Modifiers*         /* modifiers_return */,
+    KeySym*            /* keysym_return */
+);
+
+extern void XtTranslateKey(
+    Display*           /* dpy */,
+    _XtKeyCode         /* keycode */,
+    Modifiers          /* modifiers */,
+    Modifiers*         /* modifiers_return */,
+    KeySym*            /* keysym_return */
+);
+
+extern void XtSetKeyTranslator(
+    Display*           /* dpy */,
+    XtKeyProc          /* proc */
+);
+
+extern void XtRegisterCaseConverter(
+    Display*           /* dpy */,
+    XtCaseProc                 /* proc */,
+    KeySym             /* start */,
+    KeySym             /* stop */
+);
+
+extern void XtConvertCase(
+    Display*           /* dpy */,
+    KeySym             /* keysym */,
+    KeySym*            /* lower_return */,
+    KeySym*            /* upper_return */
+);
+
+/****************************************************************
+ *
+ * Event Management
+ *
+ ****************************************************************/
+
+/* XtAllEvents is valid only for XtRemoveEventHandler and
+ * XtRemoveRawEventHandler; don't use it to select events!
+ */
+#define XtAllEvents ((EventMask) -1L)
+
+extern void XtAddEventHandler(
+    Widget             /* widget */,
+    EventMask          /* event_mask */,
+    _XtBoolean                 /* nonmaskable */,
+    XtEventHandler     /* proc */,
+    XtPointer          /* closure */
+);
+
+extern void XtRemoveEventHandler(
+    Widget             /* widget */,
+    EventMask          /* event_mask */,
+    _XtBoolean                 /* nonmaskable */,
+    XtEventHandler     /* proc */,
+    XtPointer          /* closure */
+);
+
+extern void XtAddRawEventHandler(
+    Widget             /* widget */,
+    EventMask          /* event_mask */,
+    _XtBoolean                 /* nonmaskable */,
+    XtEventHandler     /* proc */,
+    XtPointer          /* closure */
+);
+
+extern void XtRemoveRawEventHandler(
+    Widget             /* widget */,
+    EventMask          /* event_mask */,
+    _XtBoolean                 /* nonmaskable */,
+    XtEventHandler     /* proc */,
+    XtPointer          /* closure */
+);
+
+extern void XtInsertEventHandler(
+    Widget             /* widget */,
+    EventMask          /* event_mask */,
+    _XtBoolean                 /* nonmaskable */,
+    XtEventHandler     /* proc */,
+    XtPointer          /* closure */,
+    XtListPosition     /* position */
+);
+
+extern void XtInsertRawEventHandler(
+    Widget             /* widget */,
+    EventMask          /* event_mask */,
+    _XtBoolean                 /* nonmaskable */,
+    XtEventHandler     /* proc */,
+    XtPointer          /* closure */,
+    XtListPosition     /* position */
+);
+
+extern XtEventDispatchProc XtSetEventDispatcher(
+    Display*           /* dpy */,
+    int                        /* event_type */,
+    XtEventDispatchProc        /* proc */
+);
+
+extern Boolean XtDispatchEventToWidget(
+    Widget             /* widget */,
+    XEvent*            /* event */
+);
+
+extern void XtInsertEventTypeHandler(
+    Widget             /* widget */,
+    int                        /* type */,
+    XtPointer          /* select_data */,
+    XtEventHandler     /* proc */,
+    XtPointer          /* closure */,
+    XtListPosition     /* position */
+);
+
+extern void XtRemoveEventTypeHandler(
+    Widget             /* widget */,
+    int                        /* type */,
+    XtPointer          /* select_data */,
+    XtEventHandler     /* proc */,
+    XtPointer          /* closure */
+);
+
+extern EventMask XtBuildEventMask(
+    Widget             /* widget */
+);
+
+extern void XtRegisterExtensionSelector(
+    Display*           /* dpy */,
+    int                        /* min_event_type */,
+    int                        /* max_event_type */,
+    XtExtensionSelectProc /* proc */,
+    XtPointer          /* client_data */
+);
+
+extern void XtAddGrab(
+    Widget             /* widget */,
+    _XtBoolean                 /* exclusive */,
+    _XtBoolean                 /* spring_loaded */
+);
+
+extern void XtRemoveGrab(
+    Widget             /* widget */
+);
+
+extern void XtProcessEvent( /* obsolete */
+    XtInputMask                /* mask */
+);
+
+extern void XtAppProcessEvent(
+    XtAppContext               /* app_context */,
+    XtInputMask                /* mask */
+);
+
+extern void XtMainLoop( /* obsolete */
+    void
+);
+
+extern void XtAppMainLoop(
+    XtAppContext               /* app_context */
+);
+
+extern void XtAddExposureToRegion(
+    XEvent*            /* event */,
+    Region             /* region */
+);
+
+extern void XtSetKeyboardFocus(
+    Widget             /* subtree */,
+    Widget             /* descendent */
+);
+
+extern Widget XtGetKeyboardFocusWidget(
+    Widget             /* widget */
+);
+
+extern XEvent* XtLastEventProcessed(
+    Display*           /* dpy */
+);
+
+extern Time XtLastTimestampProcessed(
+    Display*           /* dpy */
+);
+
+/****************************************************************
+ *
+ * Event Gathering Routines
+ *
+ ****************************************************************/
+
+extern XtIntervalId XtAddTimeOut( /* obsolete */
+    unsigned long      /* interval */,
+    XtTimerCallbackProc /* proc */,
+    XtPointer          /* closure */
+);
+
+extern XtIntervalId XtAppAddTimeOut(
+    XtAppContext       /* app_context */,
+    unsigned long      /* interval */,
+    XtTimerCallbackProc /* proc */,
+    XtPointer          /* closure */
+);
+
+extern void XtRemoveTimeOut(
+    XtIntervalId       /* timer */
+);
+
+extern XtInputId XtAddInput( /* obsolete */
+    int                /* source */,
+    XtPointer          /* condition */,
+    XtInputCallbackProc /* proc */,
+    XtPointer          /* closure */
+);
+
+extern XtInputId XtAppAddInput(
+    XtAppContext               /* app_context */,
+    int                /* source */,
+    XtPointer          /* condition */,
+    XtInputCallbackProc /* proc */,
+    XtPointer          /* closure */
+);
+
+extern void XtRemoveInput(
+    XtInputId          /* id */
+);
+
+extern XtSignalId XtAddSignal(
+    XtSignalCallbackProc /* proc */,
+    XtPointer          /* closure */);
+
+extern XtSignalId XtAppAddSignal(
+    XtAppContext               /* app_context */,
+    XtSignalCallbackProc /* proc */,
+    XtPointer          /* closure */
+);
+
+extern void XtRemoveSignal(
+    XtSignalId                 /* id */
+);
+
+extern void XtNoticeSignal(
+    XtSignalId         /* id */
+);
+
+extern void XtNextEvent( /* obsolete */
+    XEvent*            /* event */
+);
+
+extern void XtAppNextEvent(
+    XtAppContext       /* app_context */,
+    XEvent*            /* event_return */
+);
+
+#define XtIMXEvent             1
+#define XtIMTimer              2
+#define XtIMAlternateInput     4
+#define XtIMSignal             8
+#define XtIMAll (XtIMXEvent | XtIMTimer | XtIMAlternateInput | XtIMSignal)
+
+extern Boolean XtPending( /* obsolete */
+    void
+);
+
+extern XtInputMask XtAppPending(
+    XtAppContext       /* app_context */
+);
+
+extern XtBlockHookId XtAppAddBlockHook(
+    XtAppContext       /* app_context */,
+    XtBlockHookProc    /* proc */,
+    XtPointer          /* client_data */
+);
+
+extern void XtRemoveBlockHook(
+    XtBlockHookId      /* id */
+);
+
+/****************************************************************
+ *
+ * Random utility routines
+ *
+ ****************************************************************/
+
+#define XtIsRectObj(object)    (_XtCheckSubclassFlag(object, (XtEnum)0x02))
+#define XtIsWidget(object)     (_XtCheckSubclassFlag(object, (XtEnum)0x04))
+#define XtIsComposite(widget)  (_XtCheckSubclassFlag(widget, (XtEnum)0x08))
+#define XtIsConstraint(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x10))
+#define XtIsShell(widget)      (_XtCheckSubclassFlag(widget, (XtEnum)0x20))
+
+#undef XtIsOverrideShell
+extern Boolean XtIsOverrideShell(Widget /* object */);
+#define XtIsOverrideShell(widget) \
+    (_XtIsSubclassOf(widget, (WidgetClass)overrideShellWidgetClass, \
+                    (WidgetClass)shellWidgetClass, (XtEnum)0x20))
+
+#define XtIsWMShell(widget)    (_XtCheckSubclassFlag(widget, (XtEnum)0x40))
+
+#undef XtIsVendorShell
+extern Boolean XtIsVendorShell(Widget /* object */);
+#define XtIsVendorShell(widget)        \
+    (_XtIsSubclassOf(widget, (WidgetClass)vendorShellWidgetClass, \
+                    (WidgetClass)wmShellWidgetClass, (XtEnum)0x40))
+
+#undef XtIsTransientShell
+extern Boolean XtIsTransientShell(Widget /* object */);
+#define XtIsTransientShell(widget) \
+    (_XtIsSubclassOf(widget, (WidgetClass)transientShellWidgetClass, \
+                    (WidgetClass)wmShellWidgetClass, (XtEnum)0x40))
+#define XtIsTopLevelShell(widget) (_XtCheckSubclassFlag(widget, (XtEnum)0x80))
+
+#undef XtIsApplicationShell
+extern Boolean XtIsApplicationShell(Widget /* object */);
+#define XtIsApplicationShell(widget) \
+    (_XtIsSubclassOf(widget, (WidgetClass)applicationShellWidgetClass, \
+                    (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80))
+
+#undef XtIsSessionShell
+extern Boolean XtIsSessionShell(Widget /* object */);
+#define XtIsSessionShell(widget) \
+    (_XtIsSubclassOf(widget, (WidgetClass)sessionShellWidgetClass, \
+                    (WidgetClass)topLevelShellWidgetClass, (XtEnum)0x80))
+
+extern void XtRealizeWidget(
+    Widget             /* widget */
+);
+
+void XtUnrealizeWidget(
+    Widget             /* widget */
+);
+
+extern void XtDestroyWidget(
+    Widget             /* widget */
+);
+
+extern void XtSetSensitive(
+    Widget             /* widget */,
+    _XtBoolean                 /* sensitive */
+);
+
+extern void XtSetMappedWhenManaged(
+    Widget             /* widget */,
+    _XtBoolean                 /* mapped_when_managed */
+);
+
+extern Widget XtNameToWidget(
+    Widget             /* reference */,
+    _Xconst _XtString  /* names */
+);
+
+extern Widget XtWindowToWidget(
+    Display*           /* display */,
+    Window             /* window */
+);
+
+extern XtPointer XtGetClassExtension(
+    WidgetClass                /* object_class */,
+    Cardinal           /* byte_offset */,
+    XrmQuark           /* type */,
+    long               /* version */,
+    Cardinal           /* record_size */
+);
+
+/***************************************************************
+ *
+ * Arg lists
+ *
+ ****************************************************************/
+
+
+#define XtSetArg(arg, n, d) \
+    ((void)( (arg).name = (n), (arg).value = (XtArgVal)(d) ))
+
+extern ArgList XtMergeArgLists(
+    ArgList            /* args1 */,
+    Cardinal           /* num_args1 */,
+    ArgList            /* args2 */,
+    Cardinal           /* num_args2 */
+);
+
+/***************************************************************
+ *
+ * Vararg lists
+ *
+ ****************************************************************/
+
+#define XtVaNestedList  "XtVaNestedList"
+#define XtVaTypedArg    "XtVaTypedArg"
+
+extern XtVarArgsList XtVaCreateArgsList(
+    XtPointer          /*unused*/, ...
+) _X_SENTINEL(0);
+
+/*************************************************************
+ *
+ * Information routines
+ *
+ ************************************************************/
+
+#ifndef _XtIntrinsicP_h
+
+/* We're not included from the private file, so define these */
+
+extern Display *XtDisplay(
+    Widget             /* widget */
+);
+
+extern Display *XtDisplayOfObject(
+    Widget             /* object */
+);
+
+extern Screen *XtScreen(
+    Widget             /* widget */
+);
+
+extern Screen *XtScreenOfObject(
+    Widget             /* object */
+);
+
+extern Window XtWindow(
+    Widget             /* widget */
+);
+
+extern Window XtWindowOfObject(
+    Widget             /* object */
+);
+
+extern String XtName(
+    Widget             /* object */
+);
+
+extern WidgetClass XtSuperclass(
+    Widget             /* object */
+);
+
+extern WidgetClass XtClass(
+    Widget             /* object */
+);
+
+extern Widget XtParent(
+    Widget             /* widget */
+);
+
+#endif /*_XtIntrinsicP_h*/
+
+#undef XtMapWidget
+extern void XtMapWidget(Widget /* w */);
+#define XtMapWidget(widget)    XMapWindow(XtDisplay(widget), XtWindow(widget))
+
+#undef XtUnmapWidget
+extern void XtUnmapWidget(Widget /* w */);
+#define XtUnmapWidget(widget)  \
+               XUnmapWindow(XtDisplay(widget), XtWindow(widget))
+
+extern void XtAddCallback(
+    Widget             /* widget */,
+    _Xconst _XtString  /* callback_name */,
+    XtCallbackProc     /* callback */,
+    XtPointer          /* closure */
+);
+
+extern void XtRemoveCallback(
+    Widget             /* widget */,
+    _Xconst _XtString  /* callback_name */,
+    XtCallbackProc     /* callback */,
+    XtPointer          /* closure */
+);
+
+extern void XtAddCallbacks(
+    Widget             /* widget */,
+    _Xconst _XtString  /* callback_name */,
+    XtCallbackList     /* callbacks */
+);
+
+extern void XtRemoveCallbacks(
+    Widget             /* widget */,
+    _Xconst _XtString  /* callback_name */,
+    XtCallbackList     /* callbacks */
+);
+
+extern void XtRemoveAllCallbacks(
+    Widget             /* widget */,
+    _Xconst _XtString  /* callback_name */
+);
+
+
+extern void XtCallCallbacks(
+    Widget             /* widget */,
+    _Xconst _XtString  /* callback_name */,
+    XtPointer          /* call_data */
+);
+
+extern void XtCallCallbackList(
+    Widget             /* widget */,
+    XtCallbackList     /* callbacks */,
+    XtPointer          /* call_data */
+);
+
+extern XtCallbackStatus XtHasCallbacks(
+    Widget             /* widget */,
+    _Xconst _XtString  /* callback_name */
+);
+
+/****************************************************************
+ *
+ * Geometry Management
+ *
+ ****************************************************************/
+
+
+extern XtGeometryResult XtMakeGeometryRequest(
+    Widget             /* widget */,
+    XtWidgetGeometry*  /* request */,
+    XtWidgetGeometry*  /* reply_return */
+);
+
+extern XtGeometryResult XtQueryGeometry(
+    Widget             /* widget */,
+    XtWidgetGeometry*  /* intended */,
+    XtWidgetGeometry*  /* preferred_return */
+);
+
+extern Widget XtCreatePopupShell(
+    _Xconst _XtString  /* name */,
+    WidgetClass        /* widgetClass */,
+    Widget             /* parent */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern Widget XtVaCreatePopupShell(
+    _Xconst _XtString  /* name */,
+    WidgetClass                /* widgetClass */,
+    Widget             /* parent */,
+    ...
+) _X_SENTINEL(0);
+
+extern void XtPopup(
+    Widget             /* popup_shell */,
+    XtGrabKind                 /* grab_kind */
+);
+
+extern void XtPopupSpringLoaded(
+    Widget             /* popup_shell */
+);
+
+extern void XtCallbackNone(
+    Widget             /* widget */,
+    XtPointer          /* closure */,
+    XtPointer          /* call_data */
+);
+
+extern void XtCallbackNonexclusive(
+    Widget             /* widget */,
+    XtPointer          /* closure */,
+    XtPointer          /* call_data */
+);
+
+extern void XtCallbackExclusive(
+    Widget             /* widget */,
+    XtPointer          /* closure */,
+    XtPointer          /* call_data */
+);
+
+extern void XtPopdown(
+    Widget             /* popup_shell */
+);
+
+extern void XtCallbackPopdown(
+    Widget             /* widget */,
+    XtPointer          /* closure */,
+    XtPointer          /* call_data */
+);
+
+extern void XtMenuPopupAction(
+    Widget             /* widget */,
+    XEvent*            /* event */,
+    String*            /* params */,
+    Cardinal*          /* num_params */
+);
+
+extern Widget XtCreateWidget(
+    _Xconst _XtString  /* name */,
+    WidgetClass        /* widget_class */,
+    Widget             /* parent */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern Widget XtCreateManagedWidget(
+    _Xconst _XtString  /* name */,
+    WidgetClass        /* widget_class */,
+    Widget             /* parent */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern Widget XtVaCreateWidget(
+    _Xconst _XtString  /* name */,
+    WidgetClass                /* widget */,
+    Widget             /* parent */,
+    ...
+) _X_SENTINEL(0);
+
+extern Widget XtVaCreateManagedWidget(
+    _Xconst _XtString  /* name */,
+    WidgetClass                /* widget_class */,
+    Widget             /* parent */,
+    ...
+) _X_SENTINEL(0);
+
+extern Widget XtCreateApplicationShell( /* obsolete */
+    _Xconst _XtString  /* name */,
+    WidgetClass        /* widget_class */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern Widget XtAppCreateShell(
+    _Xconst _XtString  /* application_name */,
+    _Xconst _XtString  /* application_class */,
+    WidgetClass        /* widget_class */,
+    Display*           /* display */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern Widget XtVaAppCreateShell(
+    _Xconst _XtString  /* application_name */,
+    _Xconst _XtString  /* application_class */,
+    WidgetClass                /* widget_class */,
+    Display*           /* display */,
+    ...
+) _X_SENTINEL(0);
+
+/****************************************************************
+ *
+ * Toolkit initialization
+ *
+ ****************************************************************/
+
+extern void XtToolkitInitialize(
+    void
+);
+
+extern XtLanguageProc XtSetLanguageProc(
+    XtAppContext       /* app_context */,
+    XtLanguageProc     /* proc */,
+    XtPointer          /* client_data */
+);
+
+extern void XtDisplayInitialize(
+    XtAppContext       /* app_context */,
+    Display*           /* dpy */,
+    _Xconst _XtString  /* application_name */,
+    _Xconst _XtString  /* application_class */,
+    XrmOptionDescRec*  /* options */,
+    Cardinal           /* num_options */,
+    int*               /* argc */,
+    char**             /* argv */
+);
+
+extern Widget XtOpenApplication(
+    XtAppContext*      /* app_context_return */,
+    _Xconst _XtString  /* application_class */,
+    XrmOptionDescList  /* options */,
+    Cardinal           /* num_options */,
+    int*               /* argc_in_out */,
+    String*            /* argv_in_out */,
+    String*            /* fallback_resources */,
+    WidgetClass                /* widget_class */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern Widget XtVaOpenApplication(
+    XtAppContext*      /* app_context_return */,
+    _Xconst _XtString  /* application_class */,
+    XrmOptionDescList  /* options */,
+    Cardinal           /* num_options */,
+    int*               /* argc_in_out */,
+    String*            /* argv_in_out */,
+    String*            /* fallback_resources */,
+    WidgetClass                /* widget_class */,
+    ...
+) _X_SENTINEL(0);
+
+extern Widget XtAppInitialize( /* obsolete */
+    XtAppContext*      /* app_context_return */,
+    _Xconst _XtString  /* application_class */,
+    XrmOptionDescList  /* options */,
+    Cardinal           /* num_options */,
+    int*               /* argc_in_out */,
+    String*            /* argv_in_out */,
+    String*            /* fallback_resources */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern Widget XtVaAppInitialize( /* obsolete */
+    XtAppContext*      /* app_context_return */,
+    _Xconst _XtString  /* application_class */,
+    XrmOptionDescList  /* options */,
+    Cardinal           /* num_options */,
+    int*               /* argc_in_out */,
+    String*            /* argv_in_out */,
+    String*            /* fallback_resources */,
+    ...
+) _X_SENTINEL(0);
+
+extern Widget XtInitialize( /* obsolete */
+    _Xconst _XtString  /* shell_name */,
+    _Xconst _XtString  /* application_class */,
+    XrmOptionDescRec*  /* options */,
+    Cardinal           /* num_options */,
+    int*               /* argc */,
+    char**             /* argv */
+);
+
+extern Display *XtOpenDisplay(
+    XtAppContext       /* app_context */,
+    _Xconst _XtString  /* display_string */,
+    _Xconst _XtString  /* application_name */,
+    _Xconst _XtString  /* application_class */,
+    XrmOptionDescRec*  /* options */,
+    Cardinal           /* num_options */,
+    int*               /* argc */,
+    char**             /* argv */
+);
+
+extern XtAppContext XtCreateApplicationContext(
+    void
+);
+
+extern void XtAppSetFallbackResources(
+    XtAppContext       /* app_context */,
+    String*            /* specification_list */
+);
+
+extern void XtDestroyApplicationContext(
+    XtAppContext       /* app_context */
+);
+
+extern void XtInitializeWidgetClass(
+    WidgetClass        /* widget_class */
+);
+
+extern XtAppContext XtWidgetToApplicationContext(
+    Widget             /* widget */
+);
+
+extern XtAppContext XtDisplayToApplicationContext(
+    Display*           /* dpy */
+);
+
+extern XrmDatabase XtDatabase(
+    Display*           /* dpy */
+);
+
+extern XrmDatabase XtScreenDatabase(
+    Screen*            /* screen */
+);
+
+extern void XtCloseDisplay(
+    Display*           /* dpy */
+);
+
+extern void XtGetApplicationResources(
+    Widget             /* widget */,
+    XtPointer          /* base */,
+    XtResourceList     /* resources */,
+    Cardinal           /* num_resources */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern void XtVaGetApplicationResources(
+    Widget             /* widget */,
+    XtPointer          /* base */,
+    XtResourceList     /* resources */,
+    Cardinal           /* num_resources */,
+    ...
+) _X_SENTINEL(0);
+
+extern void XtGetSubresources(
+    Widget             /* widget */,
+    XtPointer          /* base */,
+    _Xconst _XtString  /* name */,
+    _Xconst _XtString  /* class */,
+    XtResourceList     /* resources */,
+    Cardinal           /* num_resources */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern void XtVaGetSubresources(
+    Widget             /* widget */,
+    XtPointer          /* base */,
+    _Xconst _XtString  /* name */,
+    _Xconst _XtString  /* class */,
+    XtResourceList     /* resources */,
+    Cardinal           /* num_resources */,
+    ...
+) _X_SENTINEL(0);
+
+extern void XtSetValues(
+    Widget             /* widget */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern void XtVaSetValues(
+    Widget             /* widget */,
+    ...
+) _X_SENTINEL(0);
+
+extern void XtGetValues(
+    Widget             /* widget */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern void XtVaGetValues(
+    Widget             /* widget */,
+    ...
+) _X_SENTINEL(0);
+
+extern void XtSetSubvalues(
+    XtPointer          /* base */,
+    XtResourceList     /* resources */,
+    Cardinal           /* num_resources */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern void XtVaSetSubvalues(
+    XtPointer          /* base */,
+    XtResourceList     /* resources */,
+    Cardinal           /* num_resources */,
+    ...
+) _X_SENTINEL(0);
+
+extern void XtGetSubvalues(
+    XtPointer          /* base */,
+    XtResourceList     /* resources */,
+    Cardinal           /* num_resources */,
+    ArgList            /* args */,
+    Cardinal           /* num_args */
+);
+
+extern void XtVaGetSubvalues(
+    XtPointer          /* base */,
+    XtResourceList     /* resources */,
+    Cardinal           /* num_resources */,
+    ...
+) _X_SENTINEL(0);
+
+extern void XtGetResourceList(
+    WidgetClass        /* widget_class */,
+    XtResourceList*    /* resources_return */,
+    Cardinal*          /* num_resources_return */
+);
+
+extern void XtGetConstraintResourceList(
+    WidgetClass        /* widget_class */,
+    XtResourceList*    /* resources_return */,
+    Cardinal*          /* num_resources_return */
+);
+
+#define XtUnspecifiedPixmap    ((Pixmap)2)
+#define XtUnspecifiedShellInt  (-1)
+#define XtUnspecifiedWindow    ((Window)2)
+#define XtUnspecifiedWindowGroup ((Window)3)
+#define XtCurrentDirectory     "XtCurrentDirectory"
+#define XtDefaultForeground    "XtDefaultForeground"
+#define XtDefaultBackground    "XtDefaultBackground"
+#define XtDefaultFont          "XtDefaultFont"
+#define XtDefaultFontSet       "XtDefaultFontSet"
+
+#if defined(CRAY)
+#define XtOffset(p_type,field) _Offsetof(p_type,field)
+#else  /* ! CRAY */
+#define XtOffset(p_type,field) \
+       ((Cardinal) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))
+#endif /* !CRAY */
+
+#ifdef offsetof
+#define XtOffsetOf(s_type,field) offsetof(s_type,field)
+#else
+#define XtOffsetOf(s_type,field) XtOffset(s_type*,field)
+#endif
+
+/*************************************************************
+ *
+ * Session Management
+ *
+ ************************************************************/
+
+typedef struct _XtCheckpointTokenRec {
+    int                save_type;
+    int                interact_style;
+    Boolean    shutdown;
+    Boolean    fast;
+    Boolean    cancel_shutdown;
+    int                phase;
+    int                interact_dialog_type;   /* return */
+    Boolean    request_cancel;         /* return */
+    Boolean    request_next_phase;     /* return */
+    Boolean    save_success;           /* return */
+    int                type;           /* implementation private */
+    Widget     widget;         /* implementation private */
+} XtCheckpointTokenRec, *XtCheckpointToken;
+
+XtCheckpointToken XtSessionGetToken(
+    Widget             /* widget */
+);
+
+void XtSessionReturnToken(
+    XtCheckpointToken  /* token */
+);
+
+/*************************************************************
+ *
+ * Error Handling
+ *
+ ************************************************************/
+
+extern XtErrorMsgHandler XtAppSetErrorMsgHandler(
+    XtAppContext       /* app_context */,
+    XtErrorMsgHandler  /* handler */
+);
+
+extern void XtSetErrorMsgHandler( /* obsolete */
+    XtErrorMsgHandler  /* handler */
+);
+
+extern XtErrorMsgHandler XtAppSetWarningMsgHandler(
+    XtAppContext       /* app_context */,
+    XtErrorMsgHandler  /* handler */
+);
+
+extern void XtSetWarningMsgHandler( /* obsolete */
+    XtErrorMsgHandler  /* handler */
+);
+
+extern void XtAppErrorMsg(
+    XtAppContext       /* app_context */,
+    _Xconst _XtString  /* name */,
+    _Xconst _XtString  /* type */,
+    _Xconst _XtString  /* class */,
+    _Xconst _XtString  /* default */,
+    String*            /* params */,
+    Cardinal*          /* num_params */
+);
+
+extern void XtErrorMsg( /* obsolete */
+    _Xconst _XtString  /* name */,
+    _Xconst _XtString  /* type */,
+    _Xconst _XtString  /* class */,
+    _Xconst _XtString  /* default */,
+    String*            /* params */,
+    Cardinal*          /* num_params */
+);
+
+extern void XtAppWarningMsg(
+    XtAppContext       /* app_context */,
+    _Xconst _XtString  /* name */,
+    _Xconst _XtString  /* type */,
+    _Xconst _XtString  /* class */,
+    _Xconst _XtString  /* default */,
+    String*            /* params */,
+    Cardinal*          /* num_params */
+);
+
+extern void XtWarningMsg( /* obsolete */
+    _Xconst _XtString  /* name */,
+    _Xconst _XtString  /* type */,
+    _Xconst _XtString  /* class */,
+    _Xconst _XtString  /* default */,
+    String*            /* params */,
+    Cardinal*          /* num_params */
+);
+
+extern XtErrorHandler XtAppSetErrorHandler(
+    XtAppContext       /* app_context */,
+    XtErrorHandler     /* handler */
+);
+
+extern void XtSetErrorHandler( /* obsolete */
+    XtErrorHandler     /* handler */
+);
+
+extern XtErrorHandler XtAppSetWarningHandler(
+    XtAppContext       /* app_context */,
+    XtErrorHandler     /* handler */
+);
+
+extern void XtSetWarningHandler( /* obsolete */
+    XtErrorHandler     /* handler */
+);
+
+extern void XtAppError(
+    XtAppContext       /* app_context */,
+    _Xconst _XtString  /* message */
+);
+
+extern void XtError( /* obsolete */
+    _Xconst _XtString  /* message */
+);
+
+extern void XtAppWarning(
+    XtAppContext       /* app_context */,
+    _Xconst _XtString  /* message */
+);
+
+extern void XtWarning( /* obsolete */
+    _Xconst _XtString  /* message */
+);
+
+extern XrmDatabase *XtAppGetErrorDatabase(
+    XtAppContext       /* app_context */
+);
+
+extern XrmDatabase *XtGetErrorDatabase( /* obsolete */
+    void
+);
+
+extern void XtAppGetErrorDatabaseText(
+    XtAppContext       /* app_context */,
+    _Xconst _XtString  /* name */,
+    _Xconst _XtString  /* type */,
+    _Xconst _XtString  /* class */,
+    _Xconst _XtString  /* default */,
+    String             /* buffer_return */,
+    int                /* nbytes */,
+    XrmDatabase        /* database */
+);
+
+extern void XtGetErrorDatabaseText( /* obsolete */
+    _Xconst _XtString  /* name */,
+    _Xconst _XtString  /* type */,
+    _Xconst _XtString  /* class */,
+    _Xconst _XtString  /* default */,
+    String             /* buffer_return */,
+    int                /* nbytes */
+);
+
+/****************************************************************
+ *
+ * Memory Management
+ *
+ ****************************************************************/
+
+extern char *XtMalloc(
+    Cardinal           /* size */
+);
+
+extern char *XtCalloc(
+    Cardinal           /* num */,
+    Cardinal           /* size */
+);
+
+extern char *XtRealloc(
+    char*              /* ptr */,
+    Cardinal           /* num */
+);
+
+extern void XtFree(
+    char*              /* ptr */
+);
+
+#ifdef XTTRACEMEMORY
+
+extern char *_XtMalloc( /* implementation-private */
+    Cardinal   /* size */,
+    char *     /* file */,
+    int                /* line */
+);
+
+extern char *_XtRealloc( /* implementation-private */
+    char *     /* ptr */,
+    Cardinal    /* size */,
+    char *     /* file */,
+    int                /* line */
+);
+
+extern char *_XtCalloc( /* implementation-private */
+    Cardinal   /* num */,
+    Cardinal   /* size */,
+    char *     /* file */,
+    int                /* line */
+);
+
+extern void _XtFree( /* implementation-private */
+    char *     /* ptr */
+);
+
+#define XtMalloc(size) _XtMalloc(size, __FILE__, __LINE__)
+#define XtRealloc(ptr,size) _XtRealloc(ptr, size, __FILE__, __LINE__)
+#define XtCalloc(num,size) _XtCalloc(num, size, __FILE__, __LINE__)
+#define XtFree(ptr) _XtFree(ptr)
+
+#endif /* ifdef XTTRACEMEMORY */
+
+#define XtNew(type) ((type *) XtMalloc((unsigned) sizeof(type)))
+
+#undef XtNewString
+extern String XtNewString(String /* str */);
+#define XtNewString(str) \
+    ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL)
+
+/*************************************************************
+ *
+ *  Work procs
+ *
+ **************************************************************/
+
+extern XtWorkProcId XtAddWorkProc( /* obsolete */
+    XtWorkProc                 /* proc */,
+    XtPointer          /* closure */
+);
+
+extern XtWorkProcId XtAppAddWorkProc(
+    XtAppContext       /* app_context */,
+    XtWorkProc                 /* proc */,
+    XtPointer          /* closure */
+);
+
+extern void  XtRemoveWorkProc(
+    XtWorkProcId       /* id */
+);
+
+
+/****************************************************************
+ *
+ * Graphic Context Management
+ *****************************************************************/
+
+extern GC XtGetGC(
+    Widget             /* widget */,
+    XtGCMask           /* valueMask */,
+    XGCValues*                 /* values */
+);
+
+extern GC XtAllocateGC(
+    Widget             /* widget */,
+    Cardinal           /* depth */,
+    XtGCMask           /* valueMask */,
+    XGCValues*                 /* values */,
+    XtGCMask           /* dynamicMask */,
+    XtGCMask           /* unusedMask */
+);
+
+/* This implementation of XtDestroyGC differs from the formal specification
+ * for historic backwards compatibility reasons.  As other implementations
+ * may conform to the spec, use of XtReleaseGC is strongly encouraged.
+ */
+extern void XtDestroyGC( /* obsolete */
+    GC                         /* gc */
+);
+
+extern void XtReleaseGC(
+    Widget             /* object */,
+    GC                         /* gc */
+);
+
+
+
+extern void XtAppReleaseCacheRefs(
+    XtAppContext       /* app_context */,
+    XtCacheRef*                /* cache_ref */
+);
+
+extern void XtCallbackReleaseCacheRef(
+    Widget             /* widget */,
+    XtPointer          /* closure */,  /* XtCacheRef */
+    XtPointer          /* call_data */
+);
+
+extern void XtCallbackReleaseCacheRefList(
+    Widget             /* widget */,
+    XtPointer          /* closure */,  /* XtCacheRef* */
+    XtPointer          /* call_data */
+);
+
+extern void XtSetWMColormapWindows(
+    Widget             /* widget */,
+    Widget*            /* list */,
+    Cardinal           /* count */
+);
+
+extern String XtFindFile(
+    _Xconst _XtString  /* path */,
+    Substitution       /* substitutions */,
+    Cardinal           /* num_substitutions */,
+    XtFilePredicate    /* predicate */
+);
+
+extern String XtResolvePathname(
+    Display*           /* dpy */,
+    _Xconst _XtString  /* type */,
+    _Xconst _XtString  /* filename */,
+    _Xconst _XtString  /* suffix */,
+    _Xconst _XtString  /* path */,
+    Substitution       /* substitutions */,
+    Cardinal           /* num_substitutions */,
+    XtFilePredicate    /* predicate */
+);
+
+/****************************************************************
+ *
+ * Selections
+ *
+ *****************************************************************/
+
+#define XT_CONVERT_FAIL (Atom)0x80000001
+
+extern void XtDisownSelection(
+    Widget             /* widget */,
+    Atom               /* selection */,
+    Time               /* time */
+);
+
+extern void XtGetSelectionValue(
+    Widget             /* widget */,
+    Atom               /* selection */,
+    Atom               /* target */,
+    XtSelectionCallbackProc /* callback */,
+    XtPointer          /* closure */,
+    Time               /* time */
+);
+
+extern void XtGetSelectionValues(
+    Widget             /* widget */,
+    Atom               /* selection */,
+    Atom*              /* targets */,
+    int                /* count */,
+    XtSelectionCallbackProc /* callback */,
+    XtPointer*         /* closures */,
+    Time               /* time */
+);
+
+extern void XtAppSetSelectionTimeout(
+    XtAppContext       /* app_context */,
+    unsigned long      /* timeout */
+);
+
+extern void XtSetSelectionTimeout( /* obsolete */
+    unsigned long      /* timeout */
+);
+
+extern unsigned long XtAppGetSelectionTimeout(
+    XtAppContext       /* app_context */
+);
+
+extern unsigned long XtGetSelectionTimeout( /* obsolete */
+    void
+);
+
+extern XSelectionRequestEvent *XtGetSelectionRequest(
+    Widget             /* widget */,
+    Atom               /* selection */,
+    XtRequestId        /* request_id */
+);
+
+extern void XtGetSelectionValueIncremental(
+    Widget             /* widget */,
+    Atom               /* selection */,
+    Atom               /* target */,
+    XtSelectionCallbackProc /* selection_callback */,
+    XtPointer          /* client_data */,
+    Time               /* time */
+);
+
+extern void XtGetSelectionValuesIncremental(
+    Widget             /* widget */,
+    Atom               /* selection */,
+    Atom*              /* targets */,
+    int                /* count */,
+    XtSelectionCallbackProc /* callback */,
+    XtPointer*         /* client_data */,
+    Time               /* time */
+);
+
+extern void XtSetSelectionParameters(
+    Widget             /* requestor */,
+    Atom               /* selection */,
+    Atom               /* type */,
+    XtPointer          /* value */,
+    unsigned long      /* length */,
+    int                        /* format */
+);
+
+extern void XtGetSelectionParameters(
+    Widget             /* owner */,
+    Atom               /* selection */,
+    XtRequestId                /* request_id */,
+    Atom*              /* type_return */,
+    XtPointer*         /* value_return */,
+    unsigned long*     /* length_return */,
+    int*               /* format_return */
+);
+
+extern void XtCreateSelectionRequest(
+    Widget             /* requestor */,
+    Atom               /* selection */
+);
+
+extern void XtSendSelectionRequest(
+    Widget             /* requestor */,
+    Atom               /* selection */,
+    Time               /* time */
+);
+
+extern void XtCancelSelectionRequest(
+    Widget             /* requestor */,
+    Atom               /* selection */
+);
+
+extern Atom XtReservePropertyAtom(
+    Widget             /* widget */
+);
+
+extern void XtReleasePropertyAtom(
+    Widget             /* widget */,
+    Atom               /* selection */
+);
+
+extern void XtGrabKey(
+    Widget             /* widget */,
+    _XtKeyCode                 /* keycode */,
+    Modifiers          /* modifiers */,
+    _XtBoolean                 /* owner_events */,
+    int                /* pointer_mode */,
+    int                /* keyboard_mode */
+);
+
+extern void XtUngrabKey(
+    Widget             /* widget */,
+    _XtKeyCode                 /* keycode */,
+    Modifiers          /* modifiers */
+);
+
+extern int XtGrabKeyboard(
+    Widget             /* widget */,
+    _XtBoolean                 /* owner_events */,
+    int                /* pointer_mode */,
+    int                /* keyboard_mode */,
+    Time               /* time */
+);
+
+extern void XtUngrabKeyboard(
+    Widget             /* widget */,
+    Time               /* time */
+);
+
+extern void XtGrabButton(
+    Widget             /* widget */,
+    int                /* button */,
+    Modifiers          /* modifiers */,
+    _XtBoolean                 /* owner_events */,
+    unsigned int       /* event_mask */,
+    int                /* pointer_mode */,
+    int                /* keyboard_mode */,
+    Window             /* confine_to */,
+    Cursor             /* cursor */
+);
+
+extern void XtUngrabButton(
+    Widget             /* widget */,
+    unsigned int       /* button */,
+    Modifiers          /* modifiers */
+);
+
+extern int XtGrabPointer(
+    Widget             /* widget */,
+    _XtBoolean                 /* owner_events */,
+    unsigned int       /* event_mask */,
+    int                /* pointer_mode */,
+    int                /* keyboard_mode */,
+    Window             /* confine_to */,
+    Cursor             /* cursor */,
+    Time               /* time */
+);
+
+extern void XtUngrabPointer(
+    Widget             /* widget */,
+    Time               /* time */
+);
+
+extern void XtGetApplicationNameAndClass(
+    Display*           /* dpy */,
+    String*            /* name_return */,
+    String*            /* class_return */
+);
+
+extern void XtRegisterDrawable(
+    Display*           /* dpy */,
+    Drawable           /* drawable */,
+    Widget             /* widget */
+);
+
+extern void XtUnregisterDrawable(
+    Display*           /* dpy */,
+    Drawable           /* drawable */
+);
+
+extern Widget XtHooksOfDisplay(
+    Display*           /* dpy */
+);
+
+typedef struct {
+    String type;
+    Widget widget;
+    ArgList args;
+    Cardinal num_args;
+} XtCreateHookDataRec, *XtCreateHookData;
+
+typedef struct {
+    String type;
+    Widget widget;
+    XtPointer event_data;
+    Cardinal num_event_data;
+} XtChangeHookDataRec, *XtChangeHookData;
+
+typedef struct {
+    Widget old, req;
+    ArgList args;
+    Cardinal num_args;
+} XtChangeHookSetValuesDataRec, *XtChangeHookSetValuesData;
+
+typedef struct {
+    String type;
+    Widget widget;
+    XtGeometryMask changeMask;
+    XWindowChanges changes;
+} XtConfigureHookDataRec, *XtConfigureHookData;
+
+typedef struct {
+    String type;
+    Widget widget;
+    XtWidgetGeometry* request;
+    XtWidgetGeometry* reply;
+    XtGeometryResult result;
+} XtGeometryHookDataRec, *XtGeometryHookData;
+
+typedef struct {
+    String type;
+    Widget widget;
+} XtDestroyHookDataRec, *XtDestroyHookData;
+
+extern void XtGetDisplays(
+    XtAppContext       /* app_context */,
+    Display***         /* dpy_return */,
+    Cardinal*          /* num_dpy_return */
+);
+
+extern Boolean XtToolkitThreadInitialize(
+    void
+);
+
+extern void XtAppSetExitFlag(
+    XtAppContext       /* app_context */
+);
+
+extern Boolean XtAppGetExitFlag(
+    XtAppContext       /* app_context */
+);
+
+extern void XtAppLock(
+    XtAppContext       /* app_context */
+);
+
+extern void XtAppUnlock(
+    XtAppContext       /* app_context */
+);
+
+/*
+ *     Predefined Resource Converters
+ */
+
+
+/* String converters */
+
+extern Boolean XtCvtStringToAcceleratorTable(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToAtom(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* Display */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToBool(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToBoolean(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToCommandArgArray(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToCursor(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* Display */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToDimension(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToDirectoryString(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToDisplay(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToFile(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToFloat(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToFont(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* Display */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToFontSet(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* Display, locale */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToFontStruct(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* Display */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToGravity(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToInitialState(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToInt(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToPixel(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* Screen, Colormap */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+#define XtCvtStringToPosition XtCvtStringToShort
+
+extern Boolean XtCvtStringToRestartStyle(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToShort(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToTranslationTable(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToUnsignedChar(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtStringToVisual(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* Screen, depth */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+/* int converters */
+
+extern Boolean XtCvtIntToBool(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToBoolean(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToColor(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* Screen, Colormap */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+#define XtCvtIntToDimension XtCvtIntToShort
+
+extern Boolean XtCvtIntToFloat(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToFont(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToPixel(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToPixmap(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+#define XtCvtIntToPosition XtCvtIntToShort
+
+extern Boolean XtCvtIntToShort(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+extern Boolean XtCvtIntToUnsignedChar(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+/* Color converter */
+
+extern Boolean XtCvtColorToPixel(
+    Display*   /* dpy */,
+    XrmValuePtr /* args */,    /* none */
+    Cardinal*   /* num_args */,
+    XrmValuePtr        /* fromVal */,
+    XrmValuePtr        /* toVal */,
+    XtPointer* /* closure_ret */
+);
+
+/* Pixel converter */
+
+#define XtCvtPixelToColor XtCvtIntToColor
+
+
+_XFUNCPROTOEND
+
+#endif /*_XtIntrinsic_h*/
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/IntrinsicI.h b/XOrg/headers/native/src/X11/IntrinsicI.h
new file mode 100644 (file)
index 0000000..d749867
--- /dev/null
@@ -0,0 +1,261 @@
+/* $Xorg: IntrinsicI.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/IntrinsicI.h,v 3.8 2001/12/14 19:56:25 dawes Exp $ */
+
+#ifndef _XtintrinsicI_h
+#define _XtintrinsicI_h
+
+#include "Xtos.h"
+#include "IntrinsicP.h"
+#ifdef WIN32
+#define _WILLWINSOCK_
+#endif
+#include <X11/Xos.h>
+
+#include "Object.h"
+#include "RectObj.h"
+#include "ObjectP.h"
+#include "RectObjP.h"
+
+#include "ConvertI.h"
+#include "TranslateI.h"
+
+#define RectObjClassFlag       0x02
+#define WidgetClassFlag                0x04
+#define CompositeClassFlag     0x08
+#define ConstraintClassFlag    0x10
+#define ShellClassFlag         0x20
+#define WMShellClassFlag       0x40
+#define TopLevelClassFlag      0x80
+
+/*
+ * The following macros, though very handy, are not suitable for
+ * IntrinsicP.h as they violate the rule that arguments are to
+ * be evaluated exactly once.
+ */
+
+#define XtDisplayOfObject(object) \
+    (XtIsWidget(object) ? (object)->core.screen->display : \
+    _XtIsHookObject(object) ? ((HookObject)(object))->hooks.screen->display : \
+    _XtWindowedAncestor(object)->core.screen->display)
+
+#define XtScreenOfObject(object) \
+    (XtIsWidget(object) ? (object)->core.screen : \
+    _XtIsHookObject(object) ? ((HookObject)(object))->hooks.screen : \
+    _XtWindowedAncestor(object)->core.screen)
+
+#define XtWindowOfObject(object) \
+    ((XtIsWidget(object) ? (object) : _XtWindowedAncestor(object)) \
+     ->core.window)
+
+#define XtIsManaged(object) \
+    (XtIsRectObj(object) ? (object)->core.managed : False)
+
+#define XtIsSensitive(object) \
+    (XtIsRectObj(object) ? ((object)->core.sensitive && \
+                           (object)->core.ancestor_sensitive) : False)
+
+
+/****************************************************************
+ *
+ * Byte utilities
+ *
+ ****************************************************************/
+
+#define _XBCOPYFUNC _XtBcopy
+#include <X11/Xfuncs.h>
+
+/* If the alignment characteristics of your machine are right, these may be
+   faster */
+
+#ifdef UNALIGNED
+
+#define XtMemmove(dst, src, size)                          \
+    if ((char *)(dst) != (char *)(src)) {                  \
+       if (size == sizeof(int))                            \
+           *((int *) (dst)) = *((int *) (src));            \
+       else if (size == sizeof(char))                      \
+           *((char *) (dst)) = *((char *) (src));          \
+       else if (size == sizeof(short))                     \
+           *((short *) (dst)) = *((short *) (src));        \
+       else                                                \
+           (void) memcpy((char *) (dst), (char *) (src), (int) (size)); \
+    }
+
+#define XtBZero(dst, size)                                 \
+    if (size == sizeof(int))                               \
+       *((int *) (dst)) = 0;                               \
+    else                                                   \
+       bzero((char *) (dst), (int) (size))
+
+#define XtMemcmp(b1, b2, size)                             \
+    (size == sizeof(int) ?                                 \
+       *((int *) (b1)) != *((int *) (b2))                  \
+    :   memcmp((char *) (b1), (char *) (b2), (int) (size))  \
+    )
+
+#else
+
+#define XtMemmove(dst, src, size)      \
+    if ((char *)(dst) != (char *)(src)) {                  \
+       (void) memcpy((char *) (dst), (char *) (src), (int) (size)); \
+    }
+
+#define XtBZero(dst, size)     \
+       bzero((char *) (dst), (int) (size))
+
+#define XtMemcmp(b1, b2, size)                 \
+       memcmp((char *) (b1), (char *) (b2), (int) (size))
+
+#endif
+
+
+/****************************************************************
+ *
+ * Stack cache allocation/free
+ *
+ ****************************************************************/
+
+#define XtStackAlloc(size, stack_cache_array)     \
+    ((size) <= sizeof(stack_cache_array)         \
+    ?  (XtPointer)(stack_cache_array)            \
+    :  XtMalloc((unsigned)(size)))
+
+#define XtStackFree(pointer, stack_cache_array) \
+    { if ((pointer) != ((XtPointer)(stack_cache_array))) XtFree(pointer); }
+
+/***************************************************************
+ *
+ * Filename defines
+ *
+ **************************************************************/
+
+/* used by XtResolvePathname */
+#ifndef XFILESEARCHPATHDEFAULT
+#define XFILESEARCHPATHDEFAULT "/usr/lib/X11/%L/%T/%N%S:/usr/lib/X11/%l/%T/%N%S:/usr/lib/X11/%T/%N%S"
+#endif
+
+/* the following two were both "X Toolkit " prior to R4 */
+#ifndef XTERROR_PREFIX
+#define XTERROR_PREFIX ""
+#endif
+
+#ifndef XTWARNING_PREFIX
+#define XTWARNING_PREFIX ""
+#endif
+
+#ifndef ERRORDB
+#define ERRORDB "/usr/lib/X11/XtErrorDB"
+#endif
+
+extern String XtCXtToolkitError;
+
+extern void _XtAllocError(
+    String     /* alloc_type */
+);
+
+extern void _XtCompileResourceList(
+    XtResourceList     /* resources */,
+    Cardinal           /* num_resources */
+);
+
+extern XtGeometryResult _XtMakeGeometryRequest(
+    Widget             /* widget */,
+    XtWidgetGeometry*  /* request */,
+    XtWidgetGeometry*  /* reply_return */,
+    Boolean*           /* clear_rect_obj */
+);
+
+extern Boolean _XtIsHookObject(
+    Widget      /* widget */
+);
+
+extern void _XtAddShellToHookObj(
+    Widget      /* widget */
+);
+
+/* GCManager.c */
+extern void _XtGClistFree(Display *dpy, XtPerDisplay pd);
+
+/** GeoTattler stuff */
+
+#ifdef XT_GEO_TATTLER
+
+extern void _XtGeoTab (int);
+extern void _XtGeoTrace (
+                           Widget widget,
+                           ...
+) _X_ATTRIBUTE_PRINTF(2,3);
+
+#define CALLGEOTAT(f) f
+
+#else /* XT_GEO_TATTLER */
+
+#define CALLGEOTAT(f)
+
+#endif /* XT_GEO_TATTLER */
+
+#ifndef XTTRACEMEMORY
+
+extern char* __XtMalloc (
+    unsigned   /* size */
+);
+extern char* __XtCalloc (
+    unsigned   /* num */,
+    unsigned   /* size */
+);
+
+#else
+
+#define __XtMalloc XtMalloc
+#define __XtCalloc XtCalloc
+#endif
+
+#endif /* _XtintrinsicI_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/IntrinsicP.h b/XOrg/headers/native/src/X11/IntrinsicP.h
new file mode 100644 (file)
index 0000000..517c55d
--- /dev/null
@@ -0,0 +1,327 @@
+/* $Xorg: IntrinsicP.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86$ */
+
+#ifndef _XtintrinsicP_h
+#define _XtintrinsicP_h
+
+#include <X11/Intrinsic.h>
+
+/*
+ * Field sizes and offsets of XrmResource must match those of XtResource.
+ * Type long is used instead of XrmQuark here because XrmQuark and String
+ * are not the same size on all systems.
+ */
+typedef struct {
+    long       xrm_name;         /* Resource name quark                */
+    long       xrm_class;        /* Resource class quark               */
+    long       xrm_type;         /* Resource representation type quark */
+    Cardinal   xrm_size;         /* Size in bytes of representation    */
+    int                xrm_offset;       /* -offset-1                          */
+    long       xrm_default_type; /* Default representation type quark  */
+    XtPointer  xrm_default_addr; /* Default resource address           */
+} XrmResource, *XrmResourceList;
+
+typedef unsigned long XtVersionType;
+
+#define XT_VERSION 11
+#ifndef XT_REVISION
+#define XT_REVISION 6
+#endif
+#define XtVersion (XT_VERSION * 1000 + XT_REVISION)
+#define XtVersionDontCheck 0
+
+typedef void (*XtProc)(
+    void
+);
+
+typedef void (*XtWidgetClassProc)(
+    WidgetClass /* class */
+);
+
+typedef void (*XtWidgetProc)(
+    Widget     /* widget */
+);
+
+typedef Boolean (*XtAcceptFocusProc)(
+    Widget     /* widget */,
+    Time*      /* time */
+);
+
+typedef void (*XtArgsProc)(
+    Widget     /* widget */,
+    ArgList    /* args */,
+    Cardinal*  /* num_args */
+);
+
+typedef void (*XtInitProc)(
+    Widget     /* request */,
+    Widget     /* new */,
+    ArgList    /* args */,
+    Cardinal*  /* num_args */
+);
+
+typedef Boolean (*XtSetValuesFunc)(
+    Widget     /* old */,
+    Widget     /* request */,
+    Widget     /* new */,
+    ArgList    /* args */,
+    Cardinal*  /* num_args */
+);
+
+typedef Boolean (*XtArgsFunc)(
+    Widget     /* widget */,
+    ArgList    /* args */,
+    Cardinal*  /* num_args */
+);
+
+typedef void (*XtAlmostProc)(
+    Widget             /* old */,
+    Widget             /* new */,
+    XtWidgetGeometry*  /* request */,
+    XtWidgetGeometry*  /* reply */
+);
+
+typedef void (*XtExposeProc)(
+    Widget     /* widget */,
+    XEvent*    /* event */,
+    Region     /* region */
+);
+
+/* compress_exposure options*/
+#define XtExposeNoCompress             ((XtEnum)False)
+#define XtExposeCompressSeries         ((XtEnum)True)
+#define XtExposeCompressMultiple       2
+#define XtExposeCompressMaximal                3
+
+/* modifiers */
+#define XtExposeGraphicsExpose         0x10
+#define XtExposeGraphicsExposeMerged   0x20
+#define XtExposeNoExpose               0x40
+#define XtExposeNoRegion               0x80
+
+typedef void (*XtRealizeProc)(
+    Widget               /* widget */,
+    XtValueMask*         /* mask */,
+    XSetWindowAttributes* /* attributes */
+);
+
+typedef XtGeometryResult (*XtGeometryHandler)(
+    Widget             /* widget */,
+    XtWidgetGeometry*  /* request */,
+    XtWidgetGeometry*  /* reply */
+);
+
+typedef void (*XtStringProc)(
+    Widget     /* widget */,
+    String     /* str */
+);
+
+typedef struct {
+    String     name;   /* resource name */
+    String     type;   /* representation type name */
+    XtArgVal   value;  /* representation */
+    int                size;   /* size of representation */
+} XtTypedArg, *XtTypedArgList;
+
+typedef void (*XtAllocateProc)(
+    WidgetClass                /* widget_class */,
+    Cardinal *         /* constraint_size */,
+    Cardinal *         /* more_bytes */,
+    ArgList            /* args */,
+    Cardinal *         /* num_args */,
+    XtTypedArgList     /* typed_args */,
+    Cardinal *         /* num_typed_args */,
+    Widget *           /* widget_return */,
+    XtPointer *                /* more_bytes_return */
+);
+
+typedef void (*XtDeallocateProc)(
+    Widget             /* widget */,
+    XtPointer          /* more_bytes */
+);
+
+struct _XtStateRec;    /* Forward declare before use for C++ */
+
+typedef struct _XtTMRec {
+    XtTranslations  translations;      /* private to Translation Manager    */
+    XtBoundActions  proc_table;                /* procedure bindings for actions    */
+    struct _XtStateRec *current_state;  /* Translation Manager state ptr     */
+    unsigned long   lastEventTime;
+} XtTMRec, *XtTM;
+
+#include <X11/CoreP.h>
+#include <X11/CompositeP.h>
+#include <X11/ConstrainP.h>
+#include <X11/ObjectP.h>
+#include <X11/RectObjP.h>
+
+#define XtDisplay(widget)      DisplayOfScreen((widget)->core.screen)
+#define XtScreen(widget)       ((widget)->core.screen)
+#define XtWindow(widget)       ((widget)->core.window)
+
+#define XtClass(widget)                ((widget)->core.widget_class)
+#define XtSuperclass(widget)   (XtClass(widget)->core_class.superclass)
+#define XtIsRealized(object)   (XtWindowOfObject(object) != None)
+#define XtParent(widget)       ((widget)->core.parent)
+
+#undef XtIsRectObj
+extern Boolean XtIsRectObj(Widget);
+#define XtIsRectObj(obj) \
+    (((Object)(obj))->object.widget_class->core_class.class_inited & 0x02)
+
+#undef XtIsWidget
+extern Boolean XtIsWidget(Widget);
+#define XtIsWidget(obj) \
+    (((Object)(obj))->object.widget_class->core_class.class_inited & 0x04)
+
+#undef XtIsComposite
+extern Boolean XtIsComposite(Widget);
+#define XtIsComposite(obj) \
+    (((Object)(obj))->object.widget_class->core_class.class_inited & 0x08)
+
+#undef XtIsConstraint
+extern Boolean XtIsConstraint(Widget);
+#define XtIsConstraint(obj) \
+    (((Object)(obj))->object.widget_class->core_class.class_inited & 0x10)
+
+#undef XtIsShell
+extern Boolean XtIsShell(Widget);
+#define XtIsShell(obj) \
+    (((Object)(obj))->object.widget_class->core_class.class_inited & 0x20)
+
+#undef XtIsWMShell
+extern Boolean XtIsWMShell(Widget);
+#define XtIsWMShell(obj) \
+    (((Object)(obj))->object.widget_class->core_class.class_inited & 0x40)
+
+#undef XtIsTopLevelShell
+extern Boolean XtIsTopLevelShell(Widget);
+#define XtIsTopLevelShell(obj) \
+    (((Object)(obj))->object.widget_class->core_class.class_inited & 0x80)
+
+#ifdef DEBUG
+#define XtCheckSubclass(w, widget_class_ptr, message)  \
+       if (!XtIsSubclass(((Widget)(w)), (widget_class_ptr))) { \
+           String params[3];                           \
+           Cardinal num_params = 3;                    \
+           params[0] = ((Widget)(w))->core.widget_class->core_class.class_name;\
+           params[1] = (widget_class_ptr)->core_class.class_name;           \
+           params[2] = (message);                                           \
+           XtAppErrorMsg(XtWidgetToApplicationContext((Widget)(w)),         \
+                   "subclassMismatch", "xtCheckSubclass", "XtToolkitError", \
+                   "Widget class %s found when subclass of %s expected: %s",\
+                   params, &num_params);               \
+       }
+#else
+#define XtCheckSubclass(w, widget_class, message)      /* nothing */
+#endif
+
+_XFUNCPROTOBEGIN
+
+extern Widget _XtWindowedAncestor( /* internal; implementation-dependent */
+    Widget             /* object */
+);
+
+extern void _XtInherit(
+    void
+);
+
+extern void _XtHandleFocus(
+    Widget             /* widget */,
+    XtPointer          /* client_data */,
+    XEvent *           /* event */,
+    Boolean *          /* cont */);
+
+extern void XtCreateWindow(
+    Widget             /* widget */,
+    unsigned int       /* window_class */,
+    Visual*            /* visual */,
+    XtValueMask                /* value_mask */,
+    XSetWindowAttributes* /* attributes */
+);
+
+extern void XtResizeWidget(
+    Widget             /* widget */,
+    _XtDimension       /* width */,
+    _XtDimension       /* height */,
+    _XtDimension       /* border_width */
+);
+
+extern void XtMoveWidget(
+    Widget             /* widget */,
+    _XtPosition                /* x */,
+    _XtPosition                /* y */
+);
+
+extern void XtConfigureWidget(
+    Widget             /* widget */,
+    _XtPosition                /* x */,
+    _XtPosition                /* y */,
+    _XtDimension       /* width */,
+    _XtDimension       /* height */,
+    _XtDimension       /* border_width */
+);
+
+extern void XtResizeWindow(
+    Widget             /* widget */
+);
+
+extern void XtProcessLock(
+    void
+);
+
+extern void XtProcessUnlock(
+    void
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XtIntrinsicP_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/Object.h b/XOrg/headers/native/src/X11/Object.h
new file mode 100644 (file)
index 0000000..96723b1
--- /dev/null
@@ -0,0 +1,60 @@
+/* $Xorg: Object.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */
+/* $oHeader: Object.h,v 1.2 88/08/18 15:55:32 asente Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtObject_h
+#define _XtObject_h
+
+typedef struct _ObjectRec *Object;
+typedef struct _ObjectClassRec *ObjectClass;
+
+#ifndef OBJECT
+externalref WidgetClass objectClass;
+#endif
+#endif /* _XtObject_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/ObjectP.h b/XOrg/headers/native/src/X11/ObjectP.h
new file mode 100644 (file)
index 0000000..a24564e
--- /dev/null
@@ -0,0 +1,139 @@
+/* $Xorg: ObjectP.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _Xt_ObjectP_h_
+#define _Xt_ObjectP_h_
+
+#include <X11/Object.h>
+
+/**********************************************************
+ * Object Instance Data Structures
+ *
+ **********************************************************/
+/* these fields match CorePart and can not be changed */
+
+typedef struct _ObjectPart {
+    Widget          self;               /* pointer to widget itself          */
+    WidgetClass     widget_class;       /* pointer to Widget's ClassRec      */
+    Widget          parent;             /* parent widget                     */
+    XrmName         xrm_name;           /* widget resource name quarkified   */
+    Boolean         being_destroyed;    /* marked for destroy                */
+    XtCallbackList  destroy_callbacks;  /* who to call when widget destroyed */
+    XtPointer       constraints;        /* constraint record                 */
+} ObjectPart;
+
+typedef struct _ObjectRec {
+    ObjectPart  object;
+} ObjectRec;
+
+/********************************************************
+ * Object Class Data Structures
+ *
+ ********************************************************/
+/* these fields match CoreClassPart and can not be changed */
+/* ideally these structures would only contain the fields required;
+   but because the CoreClassPart cannot be changed at this late date
+   extraneous fields are necessary to make the field offsets match */
+
+typedef struct _ObjectClassPart {
+
+    WidgetClass     superclass;         /* pointer to superclass ClassRec   */
+    String          class_name;         /* widget resource class name       */
+    Cardinal        widget_size;        /* size in bytes of widget record   */
+    XtProc          class_initialize;   /* class initialization proc        */
+    XtWidgetClassProc class_part_initialize; /* dynamic initialization      */
+    XtEnum          class_inited;       /* has class been initialized?      */
+    XtInitProc      initialize;         /* initialize subclass fields       */
+    XtArgsProc      initialize_hook;    /* notify that initialize called    */
+    XtProc          obj1;              /* NULL                             */
+    XtPointer       obj2;               /* NULL                             */
+    Cardinal        obj3;               /* NULL                             */
+    XtResourceList  resources;          /* resources for subclass fields    */
+    Cardinal        num_resources;      /* number of entries in resources   */
+    XrmClass        xrm_class;          /* resource class quarkified        */
+    Boolean         obj4;               /* NULL                             */
+    XtEnum          obj5;               /* NULL                             */
+    Boolean         obj6;               /* NULL                                    */
+    Boolean         obj7;               /* NULL                             */
+    XtWidgetProc    destroy;            /* free data for subclass pointers  */
+    XtProc          obj8;               /* NULL                             */
+    XtProc          obj9;               /* NULL                                    */
+    XtSetValuesFunc set_values;         /* set subclass resource values     */
+    XtArgsFunc      set_values_hook;    /* notify that set_values called    */
+    XtProc          obj10;              /* NULL                             */
+    XtArgsProc      get_values_hook;    /* notify that get_values called    */
+    XtProc          obj11;              /* NULL                             */
+    XtVersionType   version;            /* version of intrinsics used       */
+    XtPointer       callback_private;   /* list of callback offsets         */
+    String          obj12;              /* NULL                             */
+    XtProc          obj13;              /* NULL                             */
+    XtProc          obj14;              /* NULL                             */
+    XtPointer       extension;          /* pointer to extension record      */
+}ObjectClassPart;
+
+typedef struct {
+    XtPointer next_extension;  /* 1st 4 required for all extension records */
+    XrmQuark record_type;      /* NULLQUARK; when on ObjectClassPart */
+    long version;              /* must be XtObjectExtensionVersion */
+    Cardinal record_size;      /* sizeof(ObjectClassExtensionRec) */
+    XtAllocateProc allocate;
+    XtDeallocateProc deallocate;
+} ObjectClassExtensionRec, *ObjectClassExtension;
+
+typedef struct _ObjectClassRec {
+    ObjectClassPart object_class;
+} ObjectClassRec;
+
+externalref ObjectClassRec objectClassRec;
+
+#define XtObjectExtensionVersion 1L
+#define XtInheritAllocate ((XtAllocateProc) _XtInherit)
+#define XtInheritDeallocate ((XtDeallocateProc) _XtInherit)
+
+#endif /*_Xt_ObjectP_h_*/
diff --git a/XOrg/headers/native/src/X11/PassivGraI.h b/XOrg/headers/native/src/X11/PassivGraI.h
new file mode 100644 (file)
index 0000000..02e2964
--- /dev/null
@@ -0,0 +1,186 @@
+/*
+* $Xorg: PassivGraI.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $
+*/
+
+/********************************************************
+
+Copyright 1988 by Hewlett-Packard Company
+Copyright 1987, 1988, 1989 by Digital Equipment Corporation, Maynard
+
+Permission to use, copy, modify, and distribute this software 
+and its documentation for any purpose and without fee is hereby 
+granted, provided that the above copyright notice appear in all 
+copies and that both that copyright notice and this permission 
+notice appear in supporting documentation, and that the names of 
+Hewlett-Packard or Digital not be used in advertising or 
+publicity pertaining to distribution of the software without specific, 
+written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL 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.
+
+********************************************************/
+
+/*
+
+Copyright 1987, 1988, 1989, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/lib/Xt/PassivGraI.h,v 1.3 2001/12/14 19:56:27 dawes Exp $ */
+
+#ifndef _PDI_h_
+#define _PDI_h_
+
+
+#define KEYBOARD TRUE
+#define POINTER  FALSE
+
+typedef enum {
+    XtNoServerGrab, 
+    XtPassiveServerGrab,
+    XtActiveServerGrab,
+    XtPseudoPassiveServerGrab,
+    XtPseudoActiveServerGrab
+}XtServerGrabType;
+
+typedef struct _XtServerGrabRec {
+    struct _XtServerGrabRec    *next;
+    Widget                     widget;
+    unsigned int               ownerEvents:1;
+    unsigned int               pointerMode:1;
+    unsigned int               keyboardMode:1;
+    unsigned int               hasExt:1;
+    unsigned int               confineToIsWidgetWin:1;
+    KeyCode                    keybut;
+    unsigned short             modifiers;
+    unsigned short             eventMask;
+} XtServerGrabRec, *XtServerGrabPtr;
+
+typedef struct _XtGrabExtRec {
+    Mask                       *pKeyButMask;
+    Mask                       *pModifiersMask;
+    Window                     confineTo;
+    Cursor                     cursor;
+} XtServerGrabExtRec, *XtServerGrabExtPtr;
+
+#define GRABEXT(p) ((XtServerGrabExtPtr)((p)+1))
+
+typedef struct _XtDeviceRec{
+    XtServerGrabRec    grab;   /* need copy in order to protect
+                                  during grab */
+    XtServerGrabType   grabType;
+}XtDeviceRec, *XtDevice;
+
+#define XtMyAncestor   0
+#define XtMyDescendant 1
+#define XtMyCousin     2
+#define XtMySelf       3
+#define XtUnrelated    4
+typedef char XtGeneology; /* do not use an enum makes PerWidgetInput larger */
+
+typedef struct {
+    Widget             focusKid;
+    XtServerGrabPtr    keyList, ptrList;
+    Widget             queryEventDescendant;
+    unsigned int       map_handler_added:1;
+    unsigned int       realize_handler_added:1;
+    unsigned int       active_handler_added:1;
+    unsigned int       haveFocus:1;
+    XtGeneology                focalPoint;
+}XtPerWidgetInputRec, *XtPerWidgetInput;
+
+typedef struct XtPerDisplayInputRec{
+    XtGrabList         grabList;
+    XtDeviceRec keyboard, pointer;
+    KeyCode    activatingKey;
+    Widget     *trace;
+    int                traceDepth, traceMax;
+    Widget     focusWidget;
+}XtPerDisplayInputRec, *XtPerDisplayInput;
+
+#define IsServerGrab(g) ((g == XtPassiveServerGrab) ||\
+                        (g == XtActiveServerGrab))
+
+#define IsAnyGrab(g) ((g == XtPassiveServerGrab) ||\
+                     (g == XtActiveServerGrab)  ||\
+                     (g == XtPseudoPassiveServerGrab))
+
+#define IsEitherPassiveGrab(g) ((g == XtPassiveServerGrab) ||\
+                               (g == XtPseudoPassiveServerGrab))
+
+#define IsPseudoGrab(g) ((g == XtPseudoPassiveServerGrab))
+
+extern void _XtDestroyServerGrabs(
+    Widget             /* w */,
+    XtPointer          /* pwi */, /*XtPerWidgetInput*/
+    XtPointer          /* call_data */
+);
+
+extern XtPerWidgetInput _XtGetPerWidgetInput(
+    Widget     /* widget */,
+    _XtBoolean /* create */
+);
+
+extern XtServerGrabPtr _XtCheckServerGrabsOnWidget(
+    XEvent*            /* event */,
+    Widget             /* widget */,
+    _XtBoolean         /* isKeyboard */
+);
+
+/*
+extern XtGrabList* _XtGetGrabList( XtPerDisplayInput );
+*/
+
+#define _XtGetGrabList(pdi) (&(pdi)->grabList)
+
+extern void _XtFreePerWidgetInput(
+    Widget             /* w */,
+    XtPerWidgetInput   /* pwi */
+);
+
+extern Widget _XtProcessKeyboardEvent(
+    XKeyEvent*         /* event */,
+    Widget             /* widget */,
+    XtPerDisplayInput  /* pdi */
+);
+
+extern Widget _XtProcessPointerEvent(
+    XButtonEvent*      /* event */,
+    Widget             /* widget */,
+    XtPerDisplayInput  /* pdi */
+);
+
+extern void _XtRegisterPassiveGrabs(
+    Widget             /* widget */
+);
+
+extern void _XtClearAncestorCache(
+    Widget             /* widget */
+);
+
+#endif /* _PDI_h_ */
diff --git a/XOrg/headers/native/src/X11/RectObj.h b/XOrg/headers/native/src/X11/RectObj.h
new file mode 100644 (file)
index 0000000..07615fa
--- /dev/null
@@ -0,0 +1,60 @@
+/* $Xorg: RectObj.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */
+/* $oHeader: RectObj.h,v 1.2 88/08/18 17:39:17 asente Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtRect_h
+#define _XtRect_h
+
+typedef struct _RectObjRec *RectObj;
+typedef struct _RectObjClassRec *RectObjClass;
+
+#ifndef RECTOBJ
+externalref WidgetClass rectObjClass;
+#endif
+#endif /* _XtRect_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/RectObjP.h b/XOrg/headers/native/src/X11/RectObjP.h
new file mode 100644 (file)
index 0000000..ca3b8ad
--- /dev/null
@@ -0,0 +1,129 @@
+/* $Xorg: RectObjP.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */
+/* $oHeader: RectObjP.h,v 1.2 88/08/18 15:55:52 asente Exp $ */
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _Xt_RectObjP_h_
+#define _Xt_RectObjP_h_
+
+#include <X11/RectObj.h>
+#include <X11/ObjectP.h>
+
+/**********************************************************
+ * Rectangle Object Instance Data Structures
+ *
+ **********************************************************/
+/* these fields match CorePart and can not be changed */
+
+typedef struct _RectObjPart {
+    Position        x, y;               /* rectangle position               */
+    Dimension       width, height;      /* rectangle dimensions             */
+    Dimension       border_width;       /* rectangle border width           */
+    Boolean         managed;            /* is widget geometry managed?       */
+    Boolean         sensitive;          /* is widget sensitive to user events*/
+    Boolean         ancestor_sensitive; /* are all ancestors sensitive?      */
+}RectObjPart;
+
+typedef struct _RectObjRec {
+    ObjectPart object;
+    RectObjPart rectangle;
+} RectObjRec;
+
+
+
+/********************************************************
+ * Rectangle Object Class Data Structures
+ *
+ ********************************************************/
+/* these fields match CoreClassPart and can not be changed */
+/* ideally these structures would only contain the fields required;
+   but because the CoreClassPart cannot be changed at this late date
+   extraneous fields are necessary to make the field offsets match */
+
+typedef struct _RectObjClassPart {
+
+    WidgetClass     superclass;         /* pointer to superclass ClassRec   */
+    String          class_name;         /* widget resource class name       */
+    Cardinal        widget_size;        /* size in bytes of widget record   */
+    XtProc          class_initialize;   /* class initialization proc        */
+    XtWidgetClassProc class_part_initialize; /* dynamic initialization      */
+    XtEnum          class_inited;       /* has class been initialized?      */
+    XtInitProc      initialize;         /* initialize subclass fields       */
+    XtArgsProc      initialize_hook;    /* notify that initialize called    */
+    XtProc          rect1;             /* NULL                             */
+    XtPointer       rect2;              /* NULL                             */
+    Cardinal        rect3;              /* NULL                             */
+    XtResourceList  resources;          /* resources for subclass fields    */
+    Cardinal        num_resources;      /* number of entries in resources   */
+    XrmClass        xrm_class;          /* resource class quarkified        */
+    Boolean         rect4;              /* NULL                             */
+    XtEnum          rect5;              /* NULL                             */
+    Boolean         rect6;              /* NULL                                    */
+    Boolean         rect7;              /* NULL                             */
+    XtWidgetProc    destroy;            /* free data for subclass pointers  */
+    XtWidgetProc    resize;             /* geom manager changed widget size */
+    XtExposeProc    expose;             /* rediplay rectangle               */
+    XtSetValuesFunc set_values;         /* set subclass resource values     */
+    XtArgsFunc      set_values_hook;    /* notify that set_values called    */
+    XtAlmostProc    set_values_almost;  /* set values almost for geometry   */
+    XtArgsProc      get_values_hook;    /* notify that get_values called    */
+    XtProc          rect9;              /* NULL                             */
+    XtVersionType   version;            /* version of intrinsics used       */
+    XtPointer       callback_private;   /* list of callback offsets         */
+    String          rect10;             /* NULL                             */
+    XtGeometryHandler query_geometry;   /* return preferred geometry        */
+    XtProc          rect11;             /* NULL                             */
+    XtPointer       extension;          /* pointer to extension record      */
+} RectObjClassPart;
+
+typedef struct _RectObjClassRec {
+    RectObjClassPart rect_class;
+} RectObjClassRec;
+
+externalref RectObjClassRec rectObjClassRec;
+
+#endif /*_Xt_RectObjP_h_*/
diff --git a/XOrg/headers/native/src/X11/ResConfigP.h b/XOrg/headers/native/src/X11/ResConfigP.h
new file mode 100644 (file)
index 0000000..a06cda7
--- /dev/null
@@ -0,0 +1,78 @@
+/* $Xorg: ResConfigP.h,v 1.5 2001/02/09 02:03:56 xorgcvs Exp $ */
+/*
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/*****************************************************************
+
+(C) COPYRIGHT International Business Machines Corp. 1992,1997
+    All Rights Reserved
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+THE IBM CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the IBM Corporation shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from the IBM
+Corporation.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/ResConfigP.h,v 3.7 2001/12/20 19:40:59 tsi Exp $ */
+
+#ifndef _RESCONFIGP_H
+#define _RESCONFIGP_H
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+/*
+ * Atom names for resource configuration management customization tool.
+ */
+#define RCM_DATA "Custom Data"
+#define RCM_INIT "Custom Init"
+
+extern void _XtResourceConfigurationEH(
+       Widget          /* w */, 
+       XtPointer       /* client_data */, 
+       XEvent *        /* event */
+);
+
+_XFUNCPROTOEND
+
+#endif
diff --git a/XOrg/headers/native/src/X11/ResourceI.h b/XOrg/headers/native/src/X11/ResourceI.h
new file mode 100644 (file)
index 0000000..d6ed1df
--- /dev/null
@@ -0,0 +1,100 @@
+/* $Xorg: ResourceI.h,v 1.4 2001/02/09 02:03:56 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/ResourceI.h,v 1.5 2001/12/14 19:56:28 dawes Exp $ */
+
+/****************************************************************
+ *
+ * Resources
+ *
+ ****************************************************************/
+
+#ifndef _XtresourceI_h
+#define _XtresourceI_h
+
+#define StringToQuark(string) XrmStringToQuark(string)
+#define StringToName(string) XrmStringToName(string)
+#define StringToClass(string) XrmStringToClass(string)
+
+extern void _XtDependencies(
+    XtResourceList  * /* class_resp */,
+    Cardinal       * /* class_num_resp */,
+    XrmResourceList * /* super_res */,
+    Cardinal        /* super_num_res */,
+    Cardinal        /* super_widget_size */);
+
+extern void _XtResourceDependencies(
+    WidgetClass  /* wc */
+);
+
+extern void _XtConstraintResDependencies(
+    ConstraintWidgetClass  /* wc */
+);
+
+extern XtCacheRef* _XtGetResources(
+    Widget         /* w */,
+    ArgList        /* args */,
+    Cardinal       /* num_args */,
+    XtTypedArgList  /* typed_args */,
+    Cardinal*      /* num_typed_args */
+);
+
+extern void _XtCopyFromParent(
+    Widget             /* widget */,
+    int                        /* offset */,
+    XrmValue*          /* value */
+);
+
+extern void _XtCopyToArg(char *src, XtArgVal *dst, unsigned int size);
+extern void _XtCopyFromArg(XtArgVal src, char *dst, unsigned int size);
+extern XrmResourceList* _XtCreateIndirectionTable(XtResourceList resources,
+                                                 Cardinal num_resources);
+extern void _XtResourceListInitialize(void);
+
+
+#endif /* _XtresourceI_h */
diff --git a/XOrg/headers/native/src/X11/SelectionI.h b/XOrg/headers/native/src/X11/SelectionI.h
new file mode 100644 (file)
index 0000000..e589aec
--- /dev/null
@@ -0,0 +1,170 @@
+/* $Xorg: SelectionI.h,v 1.4 2001/02/09 02:03:58 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtselectionI_h
+#define _XtselectionI_h
+
+#include "Intrinsic.h"
+
+typedef struct _RequestRec *Request;
+typedef struct _SelectRec *Select;
+
+typedef struct _RequestRec {
+   Select ctx;               /* logical owner */
+   Widget widget;            /* widget actually receiving Selection events */
+   Window requestor;
+   Atom property;
+   Atom target;
+   Atom type;
+   int format;
+   XtPointer value;
+   unsigned long bytelength;
+   unsigned long offset;
+   XtIntervalId timeout;
+   XSelectionRequestEvent event; /* for XtGetSelectionRequest */
+   Boolean allSent;
+} RequestRec;
+
+typedef struct {
+  Atom prop;
+  Boolean avail;
+} SelectionPropRec, *SelectionProp;
+
+typedef struct {
+  Display *dpy;
+  Atom incr_atom, indirect_atom, timestamp_atom;
+  int propCount;
+  SelectionProp list;
+} PropListRec, *PropList;
+
+typedef struct _SelectRec {
+    Atom selection;                    /* constant */
+    Display *dpy;                      /* constant */
+    Widget widget;
+    Time time;
+    unsigned long serial;
+    XtConvertSelectionProc convert;
+    XtLoseSelectionProc loses;
+    XtSelectionDoneProc notify;
+    XtCancelConvertSelectionProc owner_cancel;
+    XtPointer owner_closure;
+    PropList prop_list;
+    Request req;                       /* state for local non-incr xfer */
+    int ref_count;                     /* of active transfers */
+    unsigned int incremental:1;
+    unsigned int free_when_done:1;
+    unsigned int was_disowned:1;
+} SelectRec;
+
+typedef struct _ParamRec {
+    Atom selection;
+    Atom param;
+} ParamRec, *Param;
+
+typedef struct _ParamInfoRec {
+    unsigned int count;
+    Param paramlist;
+} ParamInfoRec, *ParamInfo;
+
+typedef struct _QueuedRequestRec {
+    Atom selection;
+    Atom target;
+    Atom param;
+    XtSelectionCallbackProc callback;
+    XtPointer closure;
+    Time time;
+    Boolean incremental;
+} QueuedRequestRec, *QueuedRequest;
+
+typedef struct _QueuedRequestInfoRec {
+    int count;
+    Atom *selections;
+    QueuedRequest *requests;
+} QueuedRequestInfoRec, *QueuedRequestInfo;
+
+typedef struct {
+    XtSelectionCallbackProc *callbacks;
+    XtPointer *req_closure;
+    Atom property;
+    Atom *target;
+    Atom type;
+    int format;
+    char *value;
+    int bytelength;
+    int offset;
+    XtIntervalId timeout;
+    XtEventHandler proc;
+    Widget widget;
+    Time time;
+    Select ctx;
+    Boolean *incremental;
+    int current;
+} CallBackInfoRec, *CallBackInfo;
+
+typedef struct {
+  Atom target;
+  Atom property;
+} IndirectPair;
+
+#define IndirectPairWordSize 2
+
+typedef struct {
+  int active_transfer_count;
+} RequestWindowRec;
+
+#define MAX_SELECTION_INCR(dpy) (((65536 < XMaxRequestSize(dpy)) ? \
+       (65536 << 2)  : (XMaxRequestSize(dpy) << 2))-100)
+
+#define MATCH_SELECT(event, info) ((event->time == info->time) && \
+           (event->requestor == XtWindow(info->widget)) && \
+           (event->selection == info->ctx->selection) && \
+           (event->target == *info->target))
+
+#endif /* _XtselectionI_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/Shell.h b/XOrg/headers/native/src/X11/Shell.h
new file mode 100644 (file)
index 0000000..5075ae2
--- /dev/null
@@ -0,0 +1,567 @@
+/* $Xorg: Shell.ht,v 1.5 2001/02/09 02:03:59 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/util/Shell.ht,v 3.4 2001/07/29 05:01:12 tsi Exp $ */
+
+#ifndef _XtShell_h
+#define _XtShell_h
+
+#include <X11/SM/SMlib.h>
+#include <X11/Intrinsic.h>
+
+/***********************************************************************
+ *
+ * Shell Widget
+ *
+ ***********************************************************************/
+/*
+ * Shell-specific resources names, classes, and a representation type.
+ */
+
+#ifndef XTSTRINGDEFINES
+#define _XtShell_h_Const const
+#endif
+
+/* $Xorg: makestrs.c,v 1.6 2001/02/09 02:03:17 xorgcvs Exp $ */
+/* This file is automatically generated. */
+/* Default ABI version -- Do not edit */
+/* Xorg: string.list,v 1.3 2000/08/17 19:46:22 cpqbld Exp */
+
+#ifdef XTSTRINGDEFINES
+#define XtNiconName "iconName"
+#define XtCIconName "IconName"
+#define XtNiconPixmap "iconPixmap"
+#define XtCIconPixmap "IconPixmap"
+#define XtNiconWindow "iconWindow"
+#define XtCIconWindow "IconWindow"
+#define XtNiconMask "iconMask"
+#define XtCIconMask "IconMask"
+#define XtNwindowGroup "windowGroup"
+#define XtCWindowGroup "WindowGroup"
+#define XtNvisual "visual"
+#define XtCVisual "Visual"
+#define XtNtitleEncoding "titleEncoding"
+#define XtCTitleEncoding "TitleEncoding"
+#define XtNsaveUnder "saveUnder"
+#define XtCSaveUnder "SaveUnder"
+#define XtNtransient "transient"
+#define XtCTransient "Transient"
+#define XtNoverrideRedirect "overrideRedirect"
+#define XtCOverrideRedirect "OverrideRedirect"
+#define XtNtransientFor "transientFor"
+#define XtCTransientFor "TransientFor"
+#define XtNiconNameEncoding "iconNameEncoding"
+#define XtCIconNameEncoding "IconNameEncoding"
+#define XtNallowShellResize "allowShellResize"
+#define XtCAllowShellResize "AllowShellResize"
+#define XtNcreatePopupChildProc "createPopupChildProc"
+#define XtCCreatePopupChildProc "CreatePopupChildProc"
+#define XtNtitle "title"
+#define XtCTitle "Title"
+#ifndef XtRAtom
+#define XtRAtom "Atom"
+#endif
+#define XtNargc "argc"
+#define XtCArgc "Argc"
+#define XtNargv "argv"
+#define XtCArgv "Argv"
+#define XtNiconX "iconX"
+#define XtCIconX "IconX"
+#define XtNiconY "iconY"
+#define XtCIconY "IconY"
+#define XtNinput "input"
+#define XtCInput "Input"
+#define XtNiconic "iconic"
+#define XtCIconic "Iconic"
+#define XtNinitialState "initialState"
+#define XtCInitialState "InitialState"
+#define XtNgeometry "geometry"
+#define XtCGeometry "Geometry"
+#define XtNbaseWidth "baseWidth"
+#define XtCBaseWidth "BaseWidth"
+#define XtNbaseHeight "baseHeight"
+#define XtCBaseHeight "BaseHeight"
+#define XtNwinGravity "winGravity"
+#define XtCWinGravity "WinGravity"
+#define XtNminWidth "minWidth"
+#define XtCMinWidth "MinWidth"
+#define XtNminHeight "minHeight"
+#define XtCMinHeight "MinHeight"
+#define XtNmaxWidth "maxWidth"
+#define XtCMaxWidth "MaxWidth"
+#define XtNmaxHeight "maxHeight"
+#define XtCMaxHeight "MaxHeight"
+#define XtNwidthInc "widthInc"
+#define XtCWidthInc "WidthInc"
+#define XtNheightInc "heightInc"
+#define XtCHeightInc "HeightInc"
+#define XtNminAspectY "minAspectY"
+#define XtCMinAspectY "MinAspectY"
+#define XtNmaxAspectY "maxAspectY"
+#define XtCMaxAspectY "MaxAspectY"
+#define XtNminAspectX "minAspectX"
+#define XtCMinAspectX "MinAspectX"
+#define XtNmaxAspectX "maxAspectX"
+#define XtCMaxAspectX "MaxAspectX"
+#define XtNwmTimeout "wmTimeout"
+#define XtCWmTimeout "WmTimeout"
+#define XtNwaitForWm "waitforwm"
+#define XtCWaitForWm "Waitforwm"
+#define XtNwaitforwm "waitforwm"
+#define XtCWaitforwm "Waitforwm"
+#define XtNclientLeader "clientLeader"
+#define XtCClientLeader "ClientLeader"
+#define XtNwindowRole "windowRole"
+#define XtCWindowRole "WindowRole"
+#define XtNurgency "urgency"
+#define XtCUrgency "Urgency"
+#define XtNcancelCallback "cancelCallback"
+#define XtNcloneCommand "cloneCommand"
+#define XtCCloneCommand "CloneCommand"
+#define XtNconnection "connection"
+#define XtCConnection "Connection"
+#define XtNcurrentDirectory "currentDirectory"
+#define XtCCurrentDirectory "CurrentDirectory"
+#define XtNdieCallback "dieCallback"
+#define XtNdiscardCommand "discardCommand"
+#define XtCDiscardCommand "DiscardCommand"
+#define XtNenvironment "environment"
+#define XtCEnvironment "Environment"
+#define XtNinteractCallback "interactCallback"
+#define XtNjoinSession "joinSession"
+#define XtCJoinSession "JoinSession"
+#define XtNprogramPath "programPath"
+#define XtCProgramPath "ProgramPath"
+#define XtNresignCommand "resignCommand"
+#define XtCResignCommand "ResignCommand"
+#define XtNrestartCommand "restartCommand"
+#define XtCRestartCommand "RestartCommand"
+#define XtNrestartStyle "restartStyle"
+#define XtCRestartStyle "RestartStyle"
+#define XtNsaveCallback "saveCallback"
+#define XtNsaveCompleteCallback "saveCompleteCallback"
+#define XtNsessionID "sessionID"
+#define XtCSessionID "SessionID"
+#define XtNshutdownCommand "shutdownCommand"
+#define XtCShutdownCommand "ShutdownCommand"
+#define XtNerrorCallback "errorCallback"
+#else
+extern _XtShell_h_Const char XtShellStrings[];
+#ifndef XtNiconName
+#define XtNiconName ((char*)&XtShellStrings[0])
+#endif
+#ifndef XtCIconName
+#define XtCIconName ((char*)&XtShellStrings[9])
+#endif
+#ifndef XtNiconPixmap
+#define XtNiconPixmap ((char*)&XtShellStrings[18])
+#endif
+#ifndef XtCIconPixmap
+#define XtCIconPixmap ((char*)&XtShellStrings[29])
+#endif
+#ifndef XtNiconWindow
+#define XtNiconWindow ((char*)&XtShellStrings[40])
+#endif
+#ifndef XtCIconWindow
+#define XtCIconWindow ((char*)&XtShellStrings[51])
+#endif
+#ifndef XtNiconMask
+#define XtNiconMask ((char*)&XtShellStrings[62])
+#endif
+#ifndef XtCIconMask
+#define XtCIconMask ((char*)&XtShellStrings[71])
+#endif
+#ifndef XtNwindowGroup
+#define XtNwindowGroup ((char*)&XtShellStrings[80])
+#endif
+#ifndef XtCWindowGroup
+#define XtCWindowGroup ((char*)&XtShellStrings[92])
+#endif
+#ifndef XtNvisual
+#define XtNvisual ((char*)&XtShellStrings[104])
+#endif
+#ifndef XtCVisual
+#define XtCVisual ((char*)&XtShellStrings[111])
+#endif
+#ifndef XtNtitleEncoding
+#define XtNtitleEncoding ((char*)&XtShellStrings[118])
+#endif
+#ifndef XtCTitleEncoding
+#define XtCTitleEncoding ((char*)&XtShellStrings[132])
+#endif
+#ifndef XtNsaveUnder
+#define XtNsaveUnder ((char*)&XtShellStrings[146])
+#endif
+#ifndef XtCSaveUnder
+#define XtCSaveUnder ((char*)&XtShellStrings[156])
+#endif
+#ifndef XtNtransient
+#define XtNtransient ((char*)&XtShellStrings[166])
+#endif
+#ifndef XtCTransient
+#define XtCTransient ((char*)&XtShellStrings[176])
+#endif
+#ifndef XtNoverrideRedirect
+#define XtNoverrideRedirect ((char*)&XtShellStrings[186])
+#endif
+#ifndef XtCOverrideRedirect
+#define XtCOverrideRedirect ((char*)&XtShellStrings[203])
+#endif
+#ifndef XtNtransientFor
+#define XtNtransientFor ((char*)&XtShellStrings[220])
+#endif
+#ifndef XtCTransientFor
+#define XtCTransientFor ((char*)&XtShellStrings[233])
+#endif
+#ifndef XtNiconNameEncoding
+#define XtNiconNameEncoding ((char*)&XtShellStrings[246])
+#endif
+#ifndef XtCIconNameEncoding
+#define XtCIconNameEncoding ((char*)&XtShellStrings[263])
+#endif
+#ifndef XtNallowShellResize
+#define XtNallowShellResize ((char*)&XtShellStrings[280])
+#endif
+#ifndef XtCAllowShellResize
+#define XtCAllowShellResize ((char*)&XtShellStrings[297])
+#endif
+#ifndef XtNcreatePopupChildProc
+#define XtNcreatePopupChildProc ((char*)&XtShellStrings[314])
+#endif
+#ifndef XtCCreatePopupChildProc
+#define XtCCreatePopupChildProc ((char*)&XtShellStrings[335])
+#endif
+#ifndef XtNtitle
+#define XtNtitle ((char*)&XtShellStrings[356])
+#endif
+#ifndef XtCTitle
+#define XtCTitle ((char*)&XtShellStrings[362])
+#endif
+#ifndef XtRAtom
+#define XtRAtom ((char*)&XtShellStrings[368])
+#endif
+#ifndef XtNargc
+#define XtNargc ((char*)&XtShellStrings[373])
+#endif
+#ifndef XtCArgc
+#define XtCArgc ((char*)&XtShellStrings[378])
+#endif
+#ifndef XtNargv
+#define XtNargv ((char*)&XtShellStrings[383])
+#endif
+#ifndef XtCArgv
+#define XtCArgv ((char*)&XtShellStrings[388])
+#endif
+#ifndef XtNiconX
+#define XtNiconX ((char*)&XtShellStrings[393])
+#endif
+#ifndef XtCIconX
+#define XtCIconX ((char*)&XtShellStrings[399])
+#endif
+#ifndef XtNiconY
+#define XtNiconY ((char*)&XtShellStrings[405])
+#endif
+#ifndef XtCIconY
+#define XtCIconY ((char*)&XtShellStrings[411])
+#endif
+#ifndef XtNinput
+#define XtNinput ((char*)&XtShellStrings[417])
+#endif
+#ifndef XtCInput
+#define XtCInput ((char*)&XtShellStrings[423])
+#endif
+#ifndef XtNiconic
+#define XtNiconic ((char*)&XtShellStrings[429])
+#endif
+#ifndef XtCIconic
+#define XtCIconic ((char*)&XtShellStrings[436])
+#endif
+#ifndef XtNinitialState
+#define XtNinitialState ((char*)&XtShellStrings[443])
+#endif
+#ifndef XtCInitialState
+#define XtCInitialState ((char*)&XtShellStrings[456])
+#endif
+#ifndef XtNgeometry
+#define XtNgeometry ((char*)&XtShellStrings[469])
+#endif
+#ifndef XtCGeometry
+#define XtCGeometry ((char*)&XtShellStrings[478])
+#endif
+#ifndef XtNbaseWidth
+#define XtNbaseWidth ((char*)&XtShellStrings[487])
+#endif
+#ifndef XtCBaseWidth
+#define XtCBaseWidth ((char*)&XtShellStrings[497])
+#endif
+#ifndef XtNbaseHeight
+#define XtNbaseHeight ((char*)&XtShellStrings[507])
+#endif
+#ifndef XtCBaseHeight
+#define XtCBaseHeight ((char*)&XtShellStrings[518])
+#endif
+#ifndef XtNwinGravity
+#define XtNwinGravity ((char*)&XtShellStrings[529])
+#endif
+#ifndef XtCWinGravity
+#define XtCWinGravity ((char*)&XtShellStrings[540])
+#endif
+#ifndef XtNminWidth
+#define XtNminWidth ((char*)&XtShellStrings[551])
+#endif
+#ifndef XtCMinWidth
+#define XtCMinWidth ((char*)&XtShellStrings[560])
+#endif
+#ifndef XtNminHeight
+#define XtNminHeight ((char*)&XtShellStrings[569])
+#endif
+#ifndef XtCMinHeight
+#define XtCMinHeight ((char*)&XtShellStrings[579])
+#endif
+#ifndef XtNmaxWidth
+#define XtNmaxWidth ((char*)&XtShellStrings[589])
+#endif
+#ifndef XtCMaxWidth
+#define XtCMaxWidth ((char*)&XtShellStrings[598])
+#endif
+#ifndef XtNmaxHeight
+#define XtNmaxHeight ((char*)&XtShellStrings[607])
+#endif
+#ifndef XtCMaxHeight
+#define XtCMaxHeight ((char*)&XtShellStrings[617])
+#endif
+#ifndef XtNwidthInc
+#define XtNwidthInc ((char*)&XtShellStrings[627])
+#endif
+#ifndef XtCWidthInc
+#define XtCWidthInc ((char*)&XtShellStrings[636])
+#endif
+#ifndef XtNheightInc
+#define XtNheightInc ((char*)&XtShellStrings[645])
+#endif
+#ifndef XtCHeightInc
+#define XtCHeightInc ((char*)&XtShellStrings[655])
+#endif
+#ifndef XtNminAspectY
+#define XtNminAspectY ((char*)&XtShellStrings[665])
+#endif
+#ifndef XtCMinAspectY
+#define XtCMinAspectY ((char*)&XtShellStrings[676])
+#endif
+#ifndef XtNmaxAspectY
+#define XtNmaxAspectY ((char*)&XtShellStrings[687])
+#endif
+#ifndef XtCMaxAspectY
+#define XtCMaxAspectY ((char*)&XtShellStrings[698])
+#endif
+#ifndef XtNminAspectX
+#define XtNminAspectX ((char*)&XtShellStrings[709])
+#endif
+#ifndef XtCMinAspectX
+#define XtCMinAspectX ((char*)&XtShellStrings[720])
+#endif
+#ifndef XtNmaxAspectX
+#define XtNmaxAspectX ((char*)&XtShellStrings[731])
+#endif
+#ifndef XtCMaxAspectX
+#define XtCMaxAspectX ((char*)&XtShellStrings[742])
+#endif
+#ifndef XtNwmTimeout
+#define XtNwmTimeout ((char*)&XtShellStrings[753])
+#endif
+#ifndef XtCWmTimeout
+#define XtCWmTimeout ((char*)&XtShellStrings[763])
+#endif
+#ifndef XtNwaitForWm
+#define XtNwaitForWm ((char*)&XtShellStrings[773])
+#endif
+#ifndef XtCWaitForWm
+#define XtCWaitForWm ((char*)&XtShellStrings[783])
+#endif
+#ifndef XtNwaitforwm
+#define XtNwaitforwm ((char*)&XtShellStrings[793])
+#endif
+#ifndef XtCWaitforwm
+#define XtCWaitforwm ((char*)&XtShellStrings[803])
+#endif
+#ifndef XtNclientLeader
+#define XtNclientLeader ((char*)&XtShellStrings[813])
+#endif
+#ifndef XtCClientLeader
+#define XtCClientLeader ((char*)&XtShellStrings[826])
+#endif
+#ifndef XtNwindowRole
+#define XtNwindowRole ((char*)&XtShellStrings[839])
+#endif
+#ifndef XtCWindowRole
+#define XtCWindowRole ((char*)&XtShellStrings[850])
+#endif
+#ifndef XtNurgency
+#define XtNurgency ((char*)&XtShellStrings[861])
+#endif
+#ifndef XtCUrgency
+#define XtCUrgency ((char*)&XtShellStrings[869])
+#endif
+#ifndef XtNcancelCallback
+#define XtNcancelCallback ((char*)&XtShellStrings[877])
+#endif
+#ifndef XtNcloneCommand
+#define XtNcloneCommand ((char*)&XtShellStrings[892])
+#endif
+#ifndef XtCCloneCommand
+#define XtCCloneCommand ((char*)&XtShellStrings[905])
+#endif
+#ifndef XtNconnection
+#define XtNconnection ((char*)&XtShellStrings[918])
+#endif
+#ifndef XtCConnection
+#define XtCConnection ((char*)&XtShellStrings[929])
+#endif
+#ifndef XtNcurrentDirectory
+#define XtNcurrentDirectory ((char*)&XtShellStrings[940])
+#endif
+#ifndef XtCCurrentDirectory
+#define XtCCurrentDirectory ((char*)&XtShellStrings[957])
+#endif
+#ifndef XtNdieCallback
+#define XtNdieCallback ((char*)&XtShellStrings[974])
+#endif
+#ifndef XtNdiscardCommand
+#define XtNdiscardCommand ((char*)&XtShellStrings[986])
+#endif
+#ifndef XtCDiscardCommand
+#define XtCDiscardCommand ((char*)&XtShellStrings[1001])
+#endif
+#ifndef XtNenvironment
+#define XtNenvironment ((char*)&XtShellStrings[1016])
+#endif
+#ifndef XtCEnvironment
+#define XtCEnvironment ((char*)&XtShellStrings[1028])
+#endif
+#ifndef XtNinteractCallback
+#define XtNinteractCallback ((char*)&XtShellStrings[1040])
+#endif
+#ifndef XtNjoinSession
+#define XtNjoinSession ((char*)&XtShellStrings[1057])
+#endif
+#ifndef XtCJoinSession
+#define XtCJoinSession ((char*)&XtShellStrings[1069])
+#endif
+#ifndef XtNprogramPath
+#define XtNprogramPath ((char*)&XtShellStrings[1081])
+#endif
+#ifndef XtCProgramPath
+#define XtCProgramPath ((char*)&XtShellStrings[1093])
+#endif
+#ifndef XtNresignCommand
+#define XtNresignCommand ((char*)&XtShellStrings[1105])
+#endif
+#ifndef XtCResignCommand
+#define XtCResignCommand ((char*)&XtShellStrings[1119])
+#endif
+#ifndef XtNrestartCommand
+#define XtNrestartCommand ((char*)&XtShellStrings[1133])
+#endif
+#ifndef XtCRestartCommand
+#define XtCRestartCommand ((char*)&XtShellStrings[1148])
+#endif
+#ifndef XtNrestartStyle
+#define XtNrestartStyle ((char*)&XtShellStrings[1163])
+#endif
+#ifndef XtCRestartStyle
+#define XtCRestartStyle ((char*)&XtShellStrings[1176])
+#endif
+#ifndef XtNsaveCallback
+#define XtNsaveCallback ((char*)&XtShellStrings[1189])
+#endif
+#ifndef XtNsaveCompleteCallback
+#define XtNsaveCompleteCallback ((char*)&XtShellStrings[1202])
+#endif
+#ifndef XtNsessionID
+#define XtNsessionID ((char*)&XtShellStrings[1223])
+#endif
+#ifndef XtCSessionID
+#define XtCSessionID ((char*)&XtShellStrings[1233])
+#endif
+#ifndef XtNshutdownCommand
+#define XtNshutdownCommand ((char*)&XtShellStrings[1243])
+#endif
+#ifndef XtCShutdownCommand
+#define XtCShutdownCommand ((char*)&XtShellStrings[1259])
+#endif
+#ifndef XtNerrorCallback
+#define XtNerrorCallback ((char*)&XtShellStrings[1275])
+#endif
+#endif /* XTSTRINGDEFINES */
+
+#ifndef XTSTRINGDEFINES
+#undef _XtShell_h_Const
+#endif
+
+/* Class record constants */
+
+typedef struct _ShellClassRec *ShellWidgetClass;
+typedef struct _OverrideShellClassRec *OverrideShellWidgetClass;
+typedef struct _WMShellClassRec *WMShellWidgetClass;
+typedef struct _TransientShellClassRec *TransientShellWidgetClass;
+typedef struct _TopLevelShellClassRec *TopLevelShellWidgetClass;
+typedef struct _ApplicationShellClassRec *ApplicationShellWidgetClass;
+typedef struct _SessionShellClassRec *SessionShellWidgetClass;
+
+#ifndef SHELL 
+externalref WidgetClass shellWidgetClass;
+externalref WidgetClass overrideShellWidgetClass;
+externalref WidgetClass wmShellWidgetClass;
+externalref WidgetClass transientShellWidgetClass;
+externalref WidgetClass topLevelShellWidgetClass;
+externalref WidgetClass applicationShellWidgetClass;
+externalref WidgetClass sessionShellWidgetClass;
+#endif
+
+#endif /* _XtShell_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/ShellI.h b/XOrg/headers/native/src/X11/ShellI.h
new file mode 100644 (file)
index 0000000..6a093d7
--- /dev/null
@@ -0,0 +1,12 @@
+/* $XFree86$ */
+
+#ifndef _XtShellInternal_h
+#define _XtShellInternal_h
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+extern void _XtShellGetCoordinates(Widget widget, Position *x, Position *y);
+
+#endif /* _XtShellInternal_h */
diff --git a/XOrg/headers/native/src/X11/ShellP.h b/XOrg/headers/native/src/X11/ShellP.h
new file mode 100644 (file)
index 0000000..2b08c3f
--- /dev/null
@@ -0,0 +1,428 @@
+/* $Xorg: ShellP.h,v 1.4 2001/02/09 02:03:58 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL 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.
+
+******************************************************************/
+
+/* 
+ * ShellP.h - Private definitions for Shell widget
+ * 
+ * Author:     Paul Asente
+ *             Digital Equipment Corporation
+ *             Western Software Laboratory
+ * Date:       Thu Dec 3, 1987
+ */
+
+#ifndef _XtShellPrivate_h
+#define _XtShellPrivate_h
+
+#include <X11/Shell.h>
+
+/* *****
+ * ***** VendorP.h is included later on; it needs fields defined in the first
+ * ***** part of this header file
+ * *****
+ */
+
+/***********************************************************************
+ *
+ * Shell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the Shell widget class record */
+
+typedef struct {
+    XtPointer       extension;          /* pointer to extension record      */
+} ShellClassPart;
+
+typedef struct {
+    XtPointer next_extension;  /* 1st 4 mandated for all extension records */
+    XrmQuark record_type;      /* NULLQUARK; on ShellClassPart */
+    long version;              /* must be XtShellExtensionVersion */
+    Cardinal record_size;      /* sizeof(ShellClassExtensionRec) */
+    XtGeometryHandler root_geometry_manager;
+} ShellClassExtensionRec, *ShellClassExtension;
+
+#define XtShellExtensionVersion 1L
+#define XtInheritRootGeometryManager ((XtGeometryHandler)_XtInherit)
+
+typedef struct _ShellClassRec {
+       CoreClassPart      core_class;
+       CompositeClassPart composite_class;
+       ShellClassPart  shell_class;
+} ShellClassRec;
+
+externalref ShellClassRec shellClassRec;
+
+/* New fields for the shell widget */
+
+typedef struct {
+       char       *geometry;
+       XtCreatePopupChildProc  create_popup_child_proc;
+       XtGrabKind      grab_kind;
+       Boolean     spring_loaded;
+       Boolean     popped_up;
+       Boolean     allow_shell_resize;
+       Boolean     client_specified; /* re-using old name */
+#define _XtShellPositionValid  ((Boolean)(1<<0))
+#define _XtShellNotReparented  ((Boolean)(1<<1))
+#define _XtShellPPositionOK    ((Boolean)(1<<2))
+#define _XtShellGeometryParsed ((Boolean)(1<<3))
+       Boolean     save_under;
+       Boolean     override_redirect;
+
+       XtCallbackList popup_callback;
+       XtCallbackList popdown_callback;
+       Visual*     visual;
+} ShellPart;
+
+typedef  struct {
+       CorePart        core;
+       CompositePart   composite;
+       ShellPart       shell;
+} ShellRec, *ShellWidget;
+
+/***********************************************************************
+ *
+ * OverrideShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the OverrideShell widget class record */
+
+typedef struct {
+    XtPointer       extension;          /* pointer to extension record      */
+} OverrideShellClassPart;
+
+typedef struct _OverrideShellClassRec {
+       CoreClassPart      core_class;
+       CompositeClassPart composite_class;
+       ShellClassPart  shell_class;
+       OverrideShellClassPart  override_shell_class;
+} OverrideShellClassRec;
+
+externalref OverrideShellClassRec overrideShellClassRec;
+
+/* No new fields for the override shell widget */
+
+typedef struct {int frabjous;} OverrideShellPart;
+
+typedef  struct {
+       CorePart        core;
+       CompositePart   composite;
+       ShellPart       shell;
+       OverrideShellPart override;
+} OverrideShellRec, *OverrideShellWidget;
+
+/***********************************************************************
+ *
+ * WMShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the WMShell widget class record */
+
+typedef struct {
+    XtPointer       extension;          /* pointer to extension record      */
+} WMShellClassPart;
+
+typedef struct _WMShellClassRec {
+       CoreClassPart      core_class;
+       CompositeClassPart composite_class;
+       ShellClassPart  shell_class;
+       WMShellClassPart wm_shell_class;
+} WMShellClassRec;
+
+externalref WMShellClassRec wmShellClassRec;
+
+/* New fields for the WM shell widget */
+
+typedef struct {
+       char       *title;
+       int         wm_timeout;
+       Boolean     wait_for_wm;
+       Boolean     transient;
+       Boolean     urgency;
+       Widget      client_leader;
+       String      window_role;
+       struct _OldXSizeHints { /* pre-R4 Xlib structure */
+           long flags;
+           int x, y;
+           int width, height;
+           int min_width, min_height;
+           int max_width, max_height;
+           int width_inc, height_inc;
+           struct {
+                   int x;
+                   int y;
+           } min_aspect, max_aspect;
+       } size_hints;
+       XWMHints    wm_hints;
+       int base_width, base_height;
+       int win_gravity;
+       Atom title_encoding;
+} WMShellPart;
+
+typedef  struct {
+       CorePart        core;
+       CompositePart   composite;
+       ShellPart       shell;
+       WMShellPart     wm;
+} WMShellRec, *WMShellWidget;
+
+#include <X11/VendorP.h>
+
+/***********************************************************************
+ *
+ * TransientShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the TransientShell widget class record */
+
+typedef struct {
+    XtPointer       extension;          /* pointer to extension record      */
+} TransientShellClassPart;
+
+typedef struct _TransientShellClassRec {
+       CoreClassPart      core_class;
+       CompositeClassPart composite_class;
+       ShellClassPart  shell_class;
+       WMShellClassPart   wm_shell_class;
+       VendorShellClassPart vendor_shell_class;
+       TransientShellClassPart transient_shell_class;
+} TransientShellClassRec;
+
+externalref TransientShellClassRec transientShellClassRec;
+
+/* New fields for the transient shell widget */
+
+typedef struct {
+       Widget transient_for;
+} TransientShellPart;
+
+typedef  struct {
+       CorePart        core;
+       CompositePart   composite;
+       ShellPart       shell;
+       WMShellPart     wm;
+       VendorShellPart vendor;
+       TransientShellPart transient;   
+} TransientShellRec, *TransientShellWidget;
+
+/***********************************************************************
+ *
+ * TopLevelShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the TopLevelShell widget class record */
+
+typedef struct {
+    XtPointer       extension;          /* pointer to extension record      */
+} TopLevelShellClassPart;
+
+typedef struct _TopLevelShellClassRec {
+       CoreClassPart      core_class;
+       CompositeClassPart composite_class;
+       ShellClassPart  shell_class;
+       WMShellClassPart   wm_shell_class;
+       VendorShellClassPart vendor_shell_class;
+       TopLevelShellClassPart top_level_shell_class;
+} TopLevelShellClassRec;
+
+externalref TopLevelShellClassRec topLevelShellClassRec;
+
+/* New fields for the top level shell widget */
+
+typedef struct {
+       char       *icon_name;
+       Boolean     iconic;
+       Atom        icon_name_encoding;
+} TopLevelShellPart;
+
+typedef  struct {
+       CorePart        core;
+       CompositePart   composite;
+       ShellPart       shell;
+       WMShellPart     wm;
+       VendorShellPart vendor;
+       TopLevelShellPart topLevel;
+} TopLevelShellRec, *TopLevelShellWidget;
+
+/***********************************************************************
+ *
+ * ApplicationShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the ApplicationShell widget class record */
+
+typedef struct {
+    XtPointer       extension;          /* pointer to extension record      */
+} ApplicationShellClassPart;
+
+typedef struct _ApplicationShellClassRec {
+       CoreClassPart      core_class;
+       CompositeClassPart composite_class;
+       ShellClassPart  shell_class;
+       WMShellClassPart   wm_shell_class;
+       VendorShellClassPart vendor_shell_class;
+       TopLevelShellClassPart top_level_shell_class;
+       ApplicationShellClassPart application_shell_class;
+} ApplicationShellClassRec;
+
+externalref ApplicationShellClassRec applicationShellClassRec;
+
+/* New fields for the application shell widget */
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+    char *c_class;
+#else
+    char *class;
+#endif
+    XrmClass xrm_class;
+    int argc;
+    char **argv;
+} ApplicationShellPart;
+
+typedef  struct {
+       CorePart        core;
+       CompositePart   composite;
+       ShellPart       shell;
+       WMShellPart     wm;
+       VendorShellPart vendor;
+       TopLevelShellPart topLevel;
+       ApplicationShellPart application;
+} ApplicationShellRec, *ApplicationShellWidget;
+
+/***********************************************************************
+ *
+ * SessionShell Widget Private Data
+ *
+ ***********************************************************************/
+
+/* New fields for the SessionShell widget class record */
+
+typedef struct {
+    XtPointer       extension;          /* pointer to extension record */
+} SessionShellClassPart;
+
+typedef struct _SessionShellClassRec {
+       CoreClassPart      core_class;
+       CompositeClassPart composite_class;
+       ShellClassPart  shell_class;
+       WMShellClassPart   wm_shell_class;
+       VendorShellClassPart vendor_shell_class;
+       TopLevelShellClassPart top_level_shell_class;
+       ApplicationShellClassPart application_shell_class;
+       SessionShellClassPart session_shell_class;
+} SessionShellClassRec;
+
+externalref SessionShellClassRec sessionShellClassRec;
+
+typedef struct _XtSaveYourselfRec *XtSaveYourself; /* implementation-private */
+
+/* New fields for the session shell widget */
+
+typedef struct {
+    SmcConn         connection;
+    String          session_id;
+    String*         restart_command;
+    String*         clone_command;
+    String*         discard_command;
+    String*         resign_command;
+    String*         shutdown_command;
+    String*         environment;
+    String          current_dir;
+    String          program_path;
+    unsigned char   restart_style;
+    unsigned char   checkpoint_state;
+    Boolean         join_session;
+    XtCallbackList  save_callbacks;
+    XtCallbackList  interact_callbacks;
+    XtCallbackList  cancel_callbacks;
+    XtCallbackList  save_complete_callbacks;
+    XtCallbackList  die_callbacks;
+    XtCallbackList  error_callbacks;
+    XtSaveYourself  save;
+    XtInputId       input_id;
+    XtPointer       ses20;
+    XtPointer       ses19;
+    XtPointer       ses18;
+    XtPointer       ses17;
+    XtPointer       ses16;
+    XtPointer       ses15;
+    XtPointer       ses14;
+    XtPointer       ses13;
+    XtPointer       ses12;
+    XtPointer       ses11;
+    XtPointer       ses10;
+    XtPointer       ses9;
+    XtPointer       ses8;
+    XtPointer       ses7;
+    XtPointer       ses6;
+    XtPointer       ses5;
+    XtPointer       ses4;
+    XtPointer       ses3;
+    XtPointer       ses2;
+    XtPointer       ses1;
+} SessionShellPart;
+
+typedef  struct {
+       CorePart        core;
+       CompositePart   composite;
+       ShellPart       shell;
+       WMShellPart     wm;
+       VendorShellPart vendor;
+       TopLevelShellPart topLevel;
+       ApplicationShellPart application;
+       SessionShellPart session;
+} SessionShellRec, *SessionShellWidget;
+
+#endif /* _XtShellPrivate_h */
diff --git a/XOrg/headers/native/src/X11/StringDefs.h b/XOrg/headers/native/src/X11/StringDefs.h
new file mode 100644 (file)
index 0000000..3841d73
--- /dev/null
@@ -0,0 +1,1090 @@
+/* $Xorg: StrDefs.ht,v 1.4 2001/02/09 02:04:00 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/util/StrDefs.ht,v 3.4 2001/07/29 05:01:12 tsi Exp $ */
+
+#ifndef _XtStringDefs_h_
+#define _XtStringDefs_h_
+
+#ifndef XTSTRINGDEFINES
+#define _XtStringDefs_h_Const const
+#endif
+
+/* $Xorg: makestrs.c,v 1.6 2001/02/09 02:03:17 xorgcvs Exp $ */
+/* This file is automatically generated. */
+/* Default ABI version -- Do not edit */
+/* Xorg: string.list,v 1.3 2000/08/17 19:46:22 cpqbld Exp */
+
+#ifdef XTSTRINGDEFINES
+#define XtNaccelerators "accelerators"
+#define XtNallowHoriz "allowHoriz"
+#define XtNallowVert "allowVert"
+#define XtNancestorSensitive "ancestorSensitive"
+#define XtNbackground "background"
+#define XtNbackgroundPixmap "backgroundPixmap"
+#define XtNbitmap "bitmap"
+#define XtNborderColor "borderColor"
+#define XtNborder "borderColor"
+#define XtNborderPixmap "borderPixmap"
+#define XtNborderWidth "borderWidth"
+#define XtNcallback "callback"
+#define XtNchildren "children"
+#define XtNcolormap "colormap"
+#define XtNdepth "depth"
+#define XtNdestroyCallback "destroyCallback"
+#define XtNeditType "editType"
+#define XtNfile "file"
+#define XtNfont "font"
+#define XtNforceBars "forceBars"
+#define XtNforeground "foreground"
+#define XtNfunction "function"
+#define XtNheight "height"
+#define XtNhighlight "highlight"
+#define XtNhSpace "hSpace"
+#define XtNindex "index"
+#define XtNinitialResourcesPersistent "initialResourcesPersistent"
+#define XtNinnerHeight "innerHeight"
+#define XtNinnerWidth "innerWidth"
+#define XtNinnerWindow "innerWindow"
+#define XtNinsertPosition "insertPosition"
+#define XtNinternalHeight "internalHeight"
+#define XtNinternalWidth "internalWidth"
+#define XtNjumpProc "jumpProc"
+#define XtNjustify "justify"
+#define XtNknobHeight "knobHeight"
+#define XtNknobIndent "knobIndent"
+#define XtNknobPixel "knobPixel"
+#define XtNknobWidth "knobWidth"
+#define XtNlabel "label"
+#define XtNlength "length"
+#define XtNlowerRight "lowerRight"
+#define XtNmappedWhenManaged "mappedWhenManaged"
+#define XtNmenuEntry "menuEntry"
+#define XtNname "name"
+#define XtNnotify "notify"
+#define XtNnumChildren "numChildren"
+#define XtNorientation "orientation"
+#define XtNparameter "parameter"
+#define XtNpixmap "pixmap"
+#define XtNpopupCallback "popupCallback"
+#define XtNpopdownCallback "popdownCallback"
+#define XtNresize "resize"
+#define XtNreverseVideo "reverseVideo"
+#define XtNscreen "screen"
+#define XtNscrollProc "scrollProc"
+#define XtNscrollDCursor "scrollDCursor"
+#define XtNscrollHCursor "scrollHCursor"
+#define XtNscrollLCursor "scrollLCursor"
+#define XtNscrollRCursor "scrollRCursor"
+#define XtNscrollUCursor "scrollUCursor"
+#define XtNscrollVCursor "scrollVCursor"
+#define XtNselection "selection"
+#define XtNselectionArray "selectionArray"
+#define XtNsensitive "sensitive"
+#define XtNshown "shown"
+#define XtNspace "space"
+#define XtNstring "string"
+#define XtNtextOptions "textOptions"
+#define XtNtextSink "textSink"
+#define XtNtextSource "textSource"
+#define XtNthickness "thickness"
+#define XtNthumb "thumb"
+#define XtNthumbProc "thumbProc"
+#define XtNtop "top"
+#define XtNtranslations "translations"
+#define XtNunrealizeCallback "unrealizeCallback"
+#define XtNupdate "update"
+#define XtNuseBottom "useBottom"
+#define XtNuseRight "useRight"
+#define XtNvalue "value"
+#define XtNvSpace "vSpace"
+#define XtNwidth "width"
+#define XtNwindow "window"
+#define XtNx "x"
+#define XtNy "y"
+#define XtCAccelerators "Accelerators"
+#define XtCBackground "Background"
+#define XtCBitmap "Bitmap"
+#define XtCBoolean "Boolean"
+#define XtCBorderColor "BorderColor"
+#define XtCBorderWidth "BorderWidth"
+#define XtCCallback "Callback"
+#define XtCColormap "Colormap"
+#define XtCColor "Color"
+#define XtCCursor "Cursor"
+#define XtCDepth "Depth"
+#define XtCEditType "EditType"
+#define XtCEventBindings "EventBindings"
+#define XtCFile "File"
+#define XtCFont "Font"
+#define XtCForeground "Foreground"
+#define XtCFraction "Fraction"
+#define XtCFunction "Function"
+#define XtCHeight "Height"
+#define XtCHSpace "HSpace"
+#define XtCIndex "Index"
+#define XtCInitialResourcesPersistent "InitialResourcesPersistent"
+#define XtCInsertPosition "InsertPosition"
+#define XtCInterval "Interval"
+#define XtCJustify "Justify"
+#define XtCKnobIndent "KnobIndent"
+#define XtCKnobPixel "KnobPixel"
+#define XtCLabel "Label"
+#define XtCLength "Length"
+#define XtCMappedWhenManaged "MappedWhenManaged"
+#define XtCMargin "Margin"
+#define XtCMenuEntry "MenuEntry"
+#define XtCNotify "Notify"
+#define XtCOrientation "Orientation"
+#define XtCParameter "Parameter"
+#define XtCPixmap "Pixmap"
+#define XtCPosition "Position"
+#define XtCReadOnly "ReadOnly"
+#define XtCResize "Resize"
+#define XtCReverseVideo "ReverseVideo"
+#define XtCScreen "Screen"
+#define XtCScrollProc "ScrollProc"
+#define XtCScrollDCursor "ScrollDCursor"
+#define XtCScrollHCursor "ScrollHCursor"
+#define XtCScrollLCursor "ScrollLCursor"
+#define XtCScrollRCursor "ScrollRCursor"
+#define XtCScrollUCursor "ScrollUCursor"
+#define XtCScrollVCursor "ScrollVCursor"
+#define XtCSelection "Selection"
+#define XtCSensitive "Sensitive"
+#define XtCSelectionArray "SelectionArray"
+#define XtCSpace "Space"
+#define XtCString "String"
+#define XtCTextOptions "TextOptions"
+#define XtCTextPosition "TextPosition"
+#define XtCTextSink "TextSink"
+#define XtCTextSource "TextSource"
+#define XtCThickness "Thickness"
+#define XtCThumb "Thumb"
+#define XtCTranslations "Translations"
+#define XtCValue "Value"
+#define XtCVSpace "VSpace"
+#define XtCWidth "Width"
+#define XtCWindow "Window"
+#define XtCX "X"
+#define XtCY "Y"
+#define XtRAcceleratorTable "AcceleratorTable"
+#ifndef XtRAtom
+#define XtRAtom "Atom"
+#endif
+#define XtRBitmap "Bitmap"
+#define XtRBool "Bool"
+#define XtRBoolean "Boolean"
+#define XtRCallback "Callback"
+#define XtRCallProc "CallProc"
+#define XtRCardinal "Cardinal"
+#define XtRColor "Color"
+#define XtRColormap "Colormap"
+#define XtRCursor "Cursor"
+#define XtRDimension "Dimension"
+#define XtRDisplay "Display"
+#define XtREditMode "EditMode"
+#define XtREnum "Enum"
+#define XtRFile "File"
+#define XtRFloat "Float"
+#define XtRFont "Font"
+#define XtRFontStruct "FontStruct"
+#define XtRFunction "Function"
+#define XtRGeometry "Geometry"
+#define XtRImmediate "Immediate"
+#define XtRInitialState "InitialState"
+#define XtRInt "Int"
+#define XtRJustify "Justify"
+#define XtRLongBoolean "Bool"
+#define XtRObject "Object"
+#define XtROrientation "Orientation"
+#define XtRPixel "Pixel"
+#define XtRPixmap "Pixmap"
+#define XtRPointer "Pointer"
+#define XtRPosition "Position"
+#define XtRScreen "Screen"
+#define XtRShort "Short"
+#define XtRString "String"
+#define XtRStringArray "StringArray"
+#define XtRStringTable "StringTable"
+#define XtRUnsignedChar "UnsignedChar"
+#define XtRTranslationTable "TranslationTable"
+#define XtRVisual "Visual"
+#define XtRWidget "Widget"
+#define XtRWidgetClass "WidgetClass"
+#define XtRWidgetList "WidgetList"
+#define XtRWindow "Window"
+#define XtEoff "off"
+#define XtEfalse "false"
+#define XtEno "no"
+#define XtEon "on"
+#define XtEtrue "true"
+#define XtEyes "yes"
+#define XtEvertical "vertical"
+#define XtEhorizontal "horizontal"
+#define XtEtextRead "read"
+#define XtEtextAppend "append"
+#define XtEtextEdit "edit"
+#define XtExtdefaultbackground "xtdefaultbackground"
+#define XtExtdefaultforeground "xtdefaultforeground"
+#define XtExtdefaultfont "xtdefaultfont"
+#define XtNfontSet "fontSet"
+#define XtRFontSet "FontSet"
+#define XtCFontSet "FontSet"
+#define XtRGravity "Gravity"
+#define XtNcreateHook "createHook"
+#define XtNchangeHook "changeHook"
+#define XtNconfigureHook "configureHook"
+#define XtNgeometryHook "geometryHook"
+#define XtNdestroyHook "destroyHook"
+#define XtNshells "shells"
+#define XtNnumShells "numShells"
+#define XtRCommandArgArray "CommandArgArray"
+#define XtRDirectoryString "DirectoryString"
+#define XtREnvironmentArray "EnvironmentArray"
+#define XtRRestartStyle "RestartStyle"
+#define XtRSmcConn "SmcConn"
+#define XtHcreate "Xtcreate"
+#define XtHsetValues "XtsetValues"
+#define XtHmanageChildren "XtmanageChildren"
+#define XtHunmanageChildren "XtunmanageChildren"
+#define XtHmanageSet "XtmanageSet"
+#define XtHunmanageSet "XtunmanageSet"
+#define XtHrealizeWidget "XtrealizeWidget"
+#define XtHunrealizeWidget "XtunrealizeWidget"
+#define XtHaddCallback "XtaddCallback"
+#define XtHaddCallbacks "XtaddCallbacks"
+#define XtHremoveCallback "XtremoveCallback"
+#define XtHremoveCallbacks "XtremoveCallbacks"
+#define XtHremoveAllCallbacks "XtremoveAllCallbacks"
+#define XtHaugmentTranslations "XtaugmentTranslations"
+#define XtHoverrideTranslations "XtoverrideTranslations"
+#define XtHuninstallTranslations "XtuninstallTranslations"
+#define XtHsetKeyboardFocus "XtsetKeyboardFocus"
+#define XtHsetWMColormapWindows "XtsetWMColormapWindows"
+#define XtHsetMappedWhenManaged "XtsetMappedWhenManaged"
+#define XtHmapWidget "XtmapWidget"
+#define XtHunmapWidget "XtunmapWidget"
+#define XtHpopup "Xtpopup"
+#define XtHpopupSpringLoaded "XtpopupSpringLoaded"
+#define XtHpopdown "Xtpopdown"
+#define XtHconfigure "Xtconfigure"
+#define XtHpreGeometry "XtpreGeometry"
+#define XtHpostGeometry "XtpostGeometry"
+#define XtHdestroy "Xtdestroy"
+#else
+extern _XtStringDefs_h_Const char XtStrings[];
+#ifndef XtNaccelerators
+#define XtNaccelerators ((char*)&XtStrings[0])
+#endif
+#ifndef XtNallowHoriz
+#define XtNallowHoriz ((char*)&XtStrings[13])
+#endif
+#ifndef XtNallowVert
+#define XtNallowVert ((char*)&XtStrings[24])
+#endif
+#ifndef XtNancestorSensitive
+#define XtNancestorSensitive ((char*)&XtStrings[34])
+#endif
+#ifndef XtNbackground
+#define XtNbackground ((char*)&XtStrings[52])
+#endif
+#ifndef XtNbackgroundPixmap
+#define XtNbackgroundPixmap ((char*)&XtStrings[63])
+#endif
+#ifndef XtNbitmap
+#define XtNbitmap ((char*)&XtStrings[80])
+#endif
+#ifndef XtNborderColor
+#define XtNborderColor ((char*)&XtStrings[87])
+#endif
+#ifndef XtNborder
+#define XtNborder ((char*)&XtStrings[99])
+#endif
+#ifndef XtNborderPixmap
+#define XtNborderPixmap ((char*)&XtStrings[111])
+#endif
+#ifndef XtNborderWidth
+#define XtNborderWidth ((char*)&XtStrings[124])
+#endif
+#ifndef XtNcallback
+#define XtNcallback ((char*)&XtStrings[136])
+#endif
+#ifndef XtNchildren
+#define XtNchildren ((char*)&XtStrings[145])
+#endif
+#ifndef XtNcolormap
+#define XtNcolormap ((char*)&XtStrings[154])
+#endif
+#ifndef XtNdepth
+#define XtNdepth ((char*)&XtStrings[163])
+#endif
+#ifndef XtNdestroyCallback
+#define XtNdestroyCallback ((char*)&XtStrings[169])
+#endif
+#ifndef XtNeditType
+#define XtNeditType ((char*)&XtStrings[185])
+#endif
+#ifndef XtNfile
+#define XtNfile ((char*)&XtStrings[194])
+#endif
+#ifndef XtNfont
+#define XtNfont ((char*)&XtStrings[199])
+#endif
+#ifndef XtNforceBars
+#define XtNforceBars ((char*)&XtStrings[204])
+#endif
+#ifndef XtNforeground
+#define XtNforeground ((char*)&XtStrings[214])
+#endif
+#ifndef XtNfunction
+#define XtNfunction ((char*)&XtStrings[225])
+#endif
+#ifndef XtNheight
+#define XtNheight ((char*)&XtStrings[234])
+#endif
+#ifndef XtNhighlight
+#define XtNhighlight ((char*)&XtStrings[241])
+#endif
+#ifndef XtNhSpace
+#define XtNhSpace ((char*)&XtStrings[251])
+#endif
+#ifndef XtNindex
+#define XtNindex ((char*)&XtStrings[258])
+#endif
+#ifndef XtNinitialResourcesPersistent
+#define XtNinitialResourcesPersistent ((char*)&XtStrings[264])
+#endif
+#ifndef XtNinnerHeight
+#define XtNinnerHeight ((char*)&XtStrings[291])
+#endif
+#ifndef XtNinnerWidth
+#define XtNinnerWidth ((char*)&XtStrings[303])
+#endif
+#ifndef XtNinnerWindow
+#define XtNinnerWindow ((char*)&XtStrings[314])
+#endif
+#ifndef XtNinsertPosition
+#define XtNinsertPosition ((char*)&XtStrings[326])
+#endif
+#ifndef XtNinternalHeight
+#define XtNinternalHeight ((char*)&XtStrings[341])
+#endif
+#ifndef XtNinternalWidth
+#define XtNinternalWidth ((char*)&XtStrings[356])
+#endif
+#ifndef XtNjumpProc
+#define XtNjumpProc ((char*)&XtStrings[370])
+#endif
+#ifndef XtNjustify
+#define XtNjustify ((char*)&XtStrings[379])
+#endif
+#ifndef XtNknobHeight
+#define XtNknobHeight ((char*)&XtStrings[387])
+#endif
+#ifndef XtNknobIndent
+#define XtNknobIndent ((char*)&XtStrings[398])
+#endif
+#ifndef XtNknobPixel
+#define XtNknobPixel ((char*)&XtStrings[409])
+#endif
+#ifndef XtNknobWidth
+#define XtNknobWidth ((char*)&XtStrings[419])
+#endif
+#ifndef XtNlabel
+#define XtNlabel ((char*)&XtStrings[429])
+#endif
+#ifndef XtNlength
+#define XtNlength ((char*)&XtStrings[435])
+#endif
+#ifndef XtNlowerRight
+#define XtNlowerRight ((char*)&XtStrings[442])
+#endif
+#ifndef XtNmappedWhenManaged
+#define XtNmappedWhenManaged ((char*)&XtStrings[453])
+#endif
+#ifndef XtNmenuEntry
+#define XtNmenuEntry ((char*)&XtStrings[471])
+#endif
+#ifndef XtNname
+#define XtNname ((char*)&XtStrings[481])
+#endif
+#ifndef XtNnotify
+#define XtNnotify ((char*)&XtStrings[486])
+#endif
+#ifndef XtNnumChildren
+#define XtNnumChildren ((char*)&XtStrings[493])
+#endif
+#ifndef XtNorientation
+#define XtNorientation ((char*)&XtStrings[505])
+#endif
+#ifndef XtNparameter
+#define XtNparameter ((char*)&XtStrings[517])
+#endif
+#ifndef XtNpixmap
+#define XtNpixmap ((char*)&XtStrings[527])
+#endif
+#ifndef XtNpopupCallback
+#define XtNpopupCallback ((char*)&XtStrings[534])
+#endif
+#ifndef XtNpopdownCallback
+#define XtNpopdownCallback ((char*)&XtStrings[548])
+#endif
+#ifndef XtNresize
+#define XtNresize ((char*)&XtStrings[564])
+#endif
+#ifndef XtNreverseVideo
+#define XtNreverseVideo ((char*)&XtStrings[571])
+#endif
+#ifndef XtNscreen
+#define XtNscreen ((char*)&XtStrings[584])
+#endif
+#ifndef XtNscrollProc
+#define XtNscrollProc ((char*)&XtStrings[591])
+#endif
+#ifndef XtNscrollDCursor
+#define XtNscrollDCursor ((char*)&XtStrings[602])
+#endif
+#ifndef XtNscrollHCursor
+#define XtNscrollHCursor ((char*)&XtStrings[616])
+#endif
+#ifndef XtNscrollLCursor
+#define XtNscrollLCursor ((char*)&XtStrings[630])
+#endif
+#ifndef XtNscrollRCursor
+#define XtNscrollRCursor ((char*)&XtStrings[644])
+#endif
+#ifndef XtNscrollUCursor
+#define XtNscrollUCursor ((char*)&XtStrings[658])
+#endif
+#ifndef XtNscrollVCursor
+#define XtNscrollVCursor ((char*)&XtStrings[672])
+#endif
+#ifndef XtNselection
+#define XtNselection ((char*)&XtStrings[686])
+#endif
+#ifndef XtNselectionArray
+#define XtNselectionArray ((char*)&XtStrings[696])
+#endif
+#ifndef XtNsensitive
+#define XtNsensitive ((char*)&XtStrings[711])
+#endif
+#ifndef XtNshown
+#define XtNshown ((char*)&XtStrings[721])
+#endif
+#ifndef XtNspace
+#define XtNspace ((char*)&XtStrings[727])
+#endif
+#ifndef XtNstring
+#define XtNstring ((char*)&XtStrings[733])
+#endif
+#ifndef XtNtextOptions
+#define XtNtextOptions ((char*)&XtStrings[740])
+#endif
+#ifndef XtNtextSink
+#define XtNtextSink ((char*)&XtStrings[752])
+#endif
+#ifndef XtNtextSource
+#define XtNtextSource ((char*)&XtStrings[761])
+#endif
+#ifndef XtNthickness
+#define XtNthickness ((char*)&XtStrings[772])
+#endif
+#ifndef XtNthumb
+#define XtNthumb ((char*)&XtStrings[782])
+#endif
+#ifndef XtNthumbProc
+#define XtNthumbProc ((char*)&XtStrings[788])
+#endif
+#ifndef XtNtop
+#define XtNtop ((char*)&XtStrings[798])
+#endif
+#ifndef XtNtranslations
+#define XtNtranslations ((char*)&XtStrings[802])
+#endif
+#ifndef XtNunrealizeCallback
+#define XtNunrealizeCallback ((char*)&XtStrings[815])
+#endif
+#ifndef XtNupdate
+#define XtNupdate ((char*)&XtStrings[833])
+#endif
+#ifndef XtNuseBottom
+#define XtNuseBottom ((char*)&XtStrings[840])
+#endif
+#ifndef XtNuseRight
+#define XtNuseRight ((char*)&XtStrings[850])
+#endif
+#ifndef XtNvalue
+#define XtNvalue ((char*)&XtStrings[859])
+#endif
+#ifndef XtNvSpace
+#define XtNvSpace ((char*)&XtStrings[865])
+#endif
+#ifndef XtNwidth
+#define XtNwidth ((char*)&XtStrings[872])
+#endif
+#ifndef XtNwindow
+#define XtNwindow ((char*)&XtStrings[878])
+#endif
+#ifndef XtNx
+#define XtNx ((char*)&XtStrings[885])
+#endif
+#ifndef XtNy
+#define XtNy ((char*)&XtStrings[887])
+#endif
+#ifndef XtCAccelerators
+#define XtCAccelerators ((char*)&XtStrings[889])
+#endif
+#ifndef XtCBackground
+#define XtCBackground ((char*)&XtStrings[902])
+#endif
+#ifndef XtCBitmap
+#define XtCBitmap ((char*)&XtStrings[913])
+#endif
+#ifndef XtCBoolean
+#define XtCBoolean ((char*)&XtStrings[920])
+#endif
+#ifndef XtCBorderColor
+#define XtCBorderColor ((char*)&XtStrings[928])
+#endif
+#ifndef XtCBorderWidth
+#define XtCBorderWidth ((char*)&XtStrings[940])
+#endif
+#ifndef XtCCallback
+#define XtCCallback ((char*)&XtStrings[952])
+#endif
+#ifndef XtCColormap
+#define XtCColormap ((char*)&XtStrings[961])
+#endif
+#ifndef XtCColor
+#define XtCColor ((char*)&XtStrings[970])
+#endif
+#ifndef XtCCursor
+#define XtCCursor ((char*)&XtStrings[976])
+#endif
+#ifndef XtCDepth
+#define XtCDepth ((char*)&XtStrings[983])
+#endif
+#ifndef XtCEditType
+#define XtCEditType ((char*)&XtStrings[989])
+#endif
+#ifndef XtCEventBindings
+#define XtCEventBindings ((char*)&XtStrings[998])
+#endif
+#ifndef XtCFile
+#define XtCFile ((char*)&XtStrings[1012])
+#endif
+#ifndef XtCFont
+#define XtCFont ((char*)&XtStrings[1017])
+#endif
+#ifndef XtCForeground
+#define XtCForeground ((char*)&XtStrings[1022])
+#endif
+#ifndef XtCFraction
+#define XtCFraction ((char*)&XtStrings[1033])
+#endif
+#ifndef XtCFunction
+#define XtCFunction ((char*)&XtStrings[1042])
+#endif
+#ifndef XtCHeight
+#define XtCHeight ((char*)&XtStrings[1051])
+#endif
+#ifndef XtCHSpace
+#define XtCHSpace ((char*)&XtStrings[1058])
+#endif
+#ifndef XtCIndex
+#define XtCIndex ((char*)&XtStrings[1065])
+#endif
+#ifndef XtCInitialResourcesPersistent
+#define XtCInitialResourcesPersistent ((char*)&XtStrings[1071])
+#endif
+#ifndef XtCInsertPosition
+#define XtCInsertPosition ((char*)&XtStrings[1098])
+#endif
+#ifndef XtCInterval
+#define XtCInterval ((char*)&XtStrings[1113])
+#endif
+#ifndef XtCJustify
+#define XtCJustify ((char*)&XtStrings[1122])
+#endif
+#ifndef XtCKnobIndent
+#define XtCKnobIndent ((char*)&XtStrings[1130])
+#endif
+#ifndef XtCKnobPixel
+#define XtCKnobPixel ((char*)&XtStrings[1141])
+#endif
+#ifndef XtCLabel
+#define XtCLabel ((char*)&XtStrings[1151])
+#endif
+#ifndef XtCLength
+#define XtCLength ((char*)&XtStrings[1157])
+#endif
+#ifndef XtCMappedWhenManaged
+#define XtCMappedWhenManaged ((char*)&XtStrings[1164])
+#endif
+#ifndef XtCMargin
+#define XtCMargin ((char*)&XtStrings[1182])
+#endif
+#ifndef XtCMenuEntry
+#define XtCMenuEntry ((char*)&XtStrings[1189])
+#endif
+#ifndef XtCNotify
+#define XtCNotify ((char*)&XtStrings[1199])
+#endif
+#ifndef XtCOrientation
+#define XtCOrientation ((char*)&XtStrings[1206])
+#endif
+#ifndef XtCParameter
+#define XtCParameter ((char*)&XtStrings[1218])
+#endif
+#ifndef XtCPixmap
+#define XtCPixmap ((char*)&XtStrings[1228])
+#endif
+#ifndef XtCPosition
+#define XtCPosition ((char*)&XtStrings[1235])
+#endif
+#ifndef XtCReadOnly
+#define XtCReadOnly ((char*)&XtStrings[1244])
+#endif
+#ifndef XtCResize
+#define XtCResize ((char*)&XtStrings[1253])
+#endif
+#ifndef XtCReverseVideo
+#define XtCReverseVideo ((char*)&XtStrings[1260])
+#endif
+#ifndef XtCScreen
+#define XtCScreen ((char*)&XtStrings[1273])
+#endif
+#ifndef XtCScrollProc
+#define XtCScrollProc ((char*)&XtStrings[1280])
+#endif
+#ifndef XtCScrollDCursor
+#define XtCScrollDCursor ((char*)&XtStrings[1291])
+#endif
+#ifndef XtCScrollHCursor
+#define XtCScrollHCursor ((char*)&XtStrings[1305])
+#endif
+#ifndef XtCScrollLCursor
+#define XtCScrollLCursor ((char*)&XtStrings[1319])
+#endif
+#ifndef XtCScrollRCursor
+#define XtCScrollRCursor ((char*)&XtStrings[1333])
+#endif
+#ifndef XtCScrollUCursor
+#define XtCScrollUCursor ((char*)&XtStrings[1347])
+#endif
+#ifndef XtCScrollVCursor
+#define XtCScrollVCursor ((char*)&XtStrings[1361])
+#endif
+#ifndef XtCSelection
+#define XtCSelection ((char*)&XtStrings[1375])
+#endif
+#ifndef XtCSensitive
+#define XtCSensitive ((char*)&XtStrings[1385])
+#endif
+#ifndef XtCSelectionArray
+#define XtCSelectionArray ((char*)&XtStrings[1395])
+#endif
+#ifndef XtCSpace
+#define XtCSpace ((char*)&XtStrings[1410])
+#endif
+#ifndef XtCString
+#define XtCString ((char*)&XtStrings[1416])
+#endif
+#ifndef XtCTextOptions
+#define XtCTextOptions ((char*)&XtStrings[1423])
+#endif
+#ifndef XtCTextPosition
+#define XtCTextPosition ((char*)&XtStrings[1435])
+#endif
+#ifndef XtCTextSink
+#define XtCTextSink ((char*)&XtStrings[1448])
+#endif
+#ifndef XtCTextSource
+#define XtCTextSource ((char*)&XtStrings[1457])
+#endif
+#ifndef XtCThickness
+#define XtCThickness ((char*)&XtStrings[1468])
+#endif
+#ifndef XtCThumb
+#define XtCThumb ((char*)&XtStrings[1478])
+#endif
+#ifndef XtCTranslations
+#define XtCTranslations ((char*)&XtStrings[1484])
+#endif
+#ifndef XtCValue
+#define XtCValue ((char*)&XtStrings[1497])
+#endif
+#ifndef XtCVSpace
+#define XtCVSpace ((char*)&XtStrings[1503])
+#endif
+#ifndef XtCWidth
+#define XtCWidth ((char*)&XtStrings[1510])
+#endif
+#ifndef XtCWindow
+#define XtCWindow ((char*)&XtStrings[1516])
+#endif
+#ifndef XtCX
+#define XtCX ((char*)&XtStrings[1523])
+#endif
+#ifndef XtCY
+#define XtCY ((char*)&XtStrings[1525])
+#endif
+#ifndef XtRAcceleratorTable
+#define XtRAcceleratorTable ((char*)&XtStrings[1527])
+#endif
+#ifndef XtRAtom
+#define XtRAtom ((char*)&XtStrings[1544])
+#endif
+#ifndef XtRBitmap
+#define XtRBitmap ((char*)&XtStrings[1549])
+#endif
+#ifndef XtRBool
+#define XtRBool ((char*)&XtStrings[1556])
+#endif
+#ifndef XtRBoolean
+#define XtRBoolean ((char*)&XtStrings[1561])
+#endif
+#ifndef XtRCallback
+#define XtRCallback ((char*)&XtStrings[1569])
+#endif
+#ifndef XtRCallProc
+#define XtRCallProc ((char*)&XtStrings[1578])
+#endif
+#ifndef XtRCardinal
+#define XtRCardinal ((char*)&XtStrings[1587])
+#endif
+#ifndef XtRColor
+#define XtRColor ((char*)&XtStrings[1596])
+#endif
+#ifndef XtRColormap
+#define XtRColormap ((char*)&XtStrings[1602])
+#endif
+#ifndef XtRCursor
+#define XtRCursor ((char*)&XtStrings[1611])
+#endif
+#ifndef XtRDimension
+#define XtRDimension ((char*)&XtStrings[1618])
+#endif
+#ifndef XtRDisplay
+#define XtRDisplay ((char*)&XtStrings[1628])
+#endif
+#ifndef XtREditMode
+#define XtREditMode ((char*)&XtStrings[1636])
+#endif
+#ifndef XtREnum
+#define XtREnum ((char*)&XtStrings[1645])
+#endif
+#ifndef XtRFile
+#define XtRFile ((char*)&XtStrings[1650])
+#endif
+#ifndef XtRFloat
+#define XtRFloat ((char*)&XtStrings[1655])
+#endif
+#ifndef XtRFont
+#define XtRFont ((char*)&XtStrings[1661])
+#endif
+#ifndef XtRFontStruct
+#define XtRFontStruct ((char*)&XtStrings[1666])
+#endif
+#ifndef XtRFunction
+#define XtRFunction ((char*)&XtStrings[1677])
+#endif
+#ifndef XtRGeometry
+#define XtRGeometry ((char*)&XtStrings[1686])
+#endif
+#ifndef XtRImmediate
+#define XtRImmediate ((char*)&XtStrings[1695])
+#endif
+#ifndef XtRInitialState
+#define XtRInitialState ((char*)&XtStrings[1705])
+#endif
+#ifndef XtRInt
+#define XtRInt ((char*)&XtStrings[1718])
+#endif
+#ifndef XtRJustify
+#define XtRJustify ((char*)&XtStrings[1722])
+#endif
+#ifndef XtRLongBoolean
+#define XtRLongBoolean ((char*)&XtStrings[1730])
+#endif
+#ifndef XtRObject
+#define XtRObject ((char*)&XtStrings[1735])
+#endif
+#ifndef XtROrientation
+#define XtROrientation ((char*)&XtStrings[1742])
+#endif
+#ifndef XtRPixel
+#define XtRPixel ((char*)&XtStrings[1754])
+#endif
+#ifndef XtRPixmap
+#define XtRPixmap ((char*)&XtStrings[1760])
+#endif
+#ifndef XtRPointer
+#define XtRPointer ((char*)&XtStrings[1767])
+#endif
+#ifndef XtRPosition
+#define XtRPosition ((char*)&XtStrings[1775])
+#endif
+#ifndef XtRScreen
+#define XtRScreen ((char*)&XtStrings[1784])
+#endif
+#ifndef XtRShort
+#define XtRShort ((char*)&XtStrings[1791])
+#endif
+#ifndef XtRString
+#define XtRString ((char*)&XtStrings[1797])
+#endif
+#ifndef XtRStringArray
+#define XtRStringArray ((char*)&XtStrings[1804])
+#endif
+#ifndef XtRStringTable
+#define XtRStringTable ((char*)&XtStrings[1816])
+#endif
+#ifndef XtRUnsignedChar
+#define XtRUnsignedChar ((char*)&XtStrings[1828])
+#endif
+#ifndef XtRTranslationTable
+#define XtRTranslationTable ((char*)&XtStrings[1841])
+#endif
+#ifndef XtRVisual
+#define XtRVisual ((char*)&XtStrings[1858])
+#endif
+#ifndef XtRWidget
+#define XtRWidget ((char*)&XtStrings[1865])
+#endif
+#ifndef XtRWidgetClass
+#define XtRWidgetClass ((char*)&XtStrings[1872])
+#endif
+#ifndef XtRWidgetList
+#define XtRWidgetList ((char*)&XtStrings[1884])
+#endif
+#ifndef XtRWindow
+#define XtRWindow ((char*)&XtStrings[1895])
+#endif
+#ifndef XtEoff
+#define XtEoff ((char*)&XtStrings[1902])
+#endif
+#ifndef XtEfalse
+#define XtEfalse ((char*)&XtStrings[1906])
+#endif
+#ifndef XtEno
+#define XtEno ((char*)&XtStrings[1912])
+#endif
+#ifndef XtEon
+#define XtEon ((char*)&XtStrings[1915])
+#endif
+#ifndef XtEtrue
+#define XtEtrue ((char*)&XtStrings[1918])
+#endif
+#ifndef XtEyes
+#define XtEyes ((char*)&XtStrings[1923])
+#endif
+#ifndef XtEvertical
+#define XtEvertical ((char*)&XtStrings[1927])
+#endif
+#ifndef XtEhorizontal
+#define XtEhorizontal ((char*)&XtStrings[1936])
+#endif
+#ifndef XtEtextRead
+#define XtEtextRead ((char*)&XtStrings[1947])
+#endif
+#ifndef XtEtextAppend
+#define XtEtextAppend ((char*)&XtStrings[1952])
+#endif
+#ifndef XtEtextEdit
+#define XtEtextEdit ((char*)&XtStrings[1959])
+#endif
+#ifndef XtExtdefaultbackground
+#define XtExtdefaultbackground ((char*)&XtStrings[1964])
+#endif
+#ifndef XtExtdefaultforeground
+#define XtExtdefaultforeground ((char*)&XtStrings[1984])
+#endif
+#ifndef XtExtdefaultfont
+#define XtExtdefaultfont ((char*)&XtStrings[2004])
+#endif
+#ifndef XtNfontSet
+#define XtNfontSet ((char*)&XtStrings[2018])
+#endif
+#ifndef XtRFontSet
+#define XtRFontSet ((char*)&XtStrings[2026])
+#endif
+#ifndef XtCFontSet
+#define XtCFontSet ((char*)&XtStrings[2034])
+#endif
+#ifndef XtRGravity
+#define XtRGravity ((char*)&XtStrings[2042])
+#endif
+#ifndef XtNcreateHook
+#define XtNcreateHook ((char*)&XtStrings[2050])
+#endif
+#ifndef XtNchangeHook
+#define XtNchangeHook ((char*)&XtStrings[2061])
+#endif
+#ifndef XtNconfigureHook
+#define XtNconfigureHook ((char*)&XtStrings[2072])
+#endif
+#ifndef XtNgeometryHook
+#define XtNgeometryHook ((char*)&XtStrings[2086])
+#endif
+#ifndef XtNdestroyHook
+#define XtNdestroyHook ((char*)&XtStrings[2099])
+#endif
+#ifndef XtNshells
+#define XtNshells ((char*)&XtStrings[2111])
+#endif
+#ifndef XtNnumShells
+#define XtNnumShells ((char*)&XtStrings[2118])
+#endif
+#ifndef XtRCommandArgArray
+#define XtRCommandArgArray ((char*)&XtStrings[2128])
+#endif
+#ifndef XtRDirectoryString
+#define XtRDirectoryString ((char*)&XtStrings[2144])
+#endif
+#ifndef XtREnvironmentArray
+#define XtREnvironmentArray ((char*)&XtStrings[2160])
+#endif
+#ifndef XtRRestartStyle
+#define XtRRestartStyle ((char*)&XtStrings[2177])
+#endif
+#ifndef XtRSmcConn
+#define XtRSmcConn ((char*)&XtStrings[2190])
+#endif
+#ifndef XtHcreate
+#define XtHcreate ((char*)&XtStrings[2198])
+#endif
+#ifndef XtHsetValues
+#define XtHsetValues ((char*)&XtStrings[2207])
+#endif
+#ifndef XtHmanageChildren
+#define XtHmanageChildren ((char*)&XtStrings[2219])
+#endif
+#ifndef XtHunmanageChildren
+#define XtHunmanageChildren ((char*)&XtStrings[2236])
+#endif
+#ifndef XtHmanageSet
+#define XtHmanageSet ((char*)&XtStrings[2255])
+#endif
+#ifndef XtHunmanageSet
+#define XtHunmanageSet ((char*)&XtStrings[2267])
+#endif
+#ifndef XtHrealizeWidget
+#define XtHrealizeWidget ((char*)&XtStrings[2281])
+#endif
+#ifndef XtHunrealizeWidget
+#define XtHunrealizeWidget ((char*)&XtStrings[2297])
+#endif
+#ifndef XtHaddCallback
+#define XtHaddCallback ((char*)&XtStrings[2315])
+#endif
+#ifndef XtHaddCallbacks
+#define XtHaddCallbacks ((char*)&XtStrings[2329])
+#endif
+#ifndef XtHremoveCallback
+#define XtHremoveCallback ((char*)&XtStrings[2344])
+#endif
+#ifndef XtHremoveCallbacks
+#define XtHremoveCallbacks ((char*)&XtStrings[2361])
+#endif
+#ifndef XtHremoveAllCallbacks
+#define XtHremoveAllCallbacks ((char*)&XtStrings[2379])
+#endif
+#ifndef XtHaugmentTranslations
+#define XtHaugmentTranslations ((char*)&XtStrings[2400])
+#endif
+#ifndef XtHoverrideTranslations
+#define XtHoverrideTranslations ((char*)&XtStrings[2422])
+#endif
+#ifndef XtHuninstallTranslations
+#define XtHuninstallTranslations ((char*)&XtStrings[2445])
+#endif
+#ifndef XtHsetKeyboardFocus
+#define XtHsetKeyboardFocus ((char*)&XtStrings[2469])
+#endif
+#ifndef XtHsetWMColormapWindows
+#define XtHsetWMColormapWindows ((char*)&XtStrings[2488])
+#endif
+#ifndef XtHsetMappedWhenManaged
+#define XtHsetMappedWhenManaged ((char*)&XtStrings[2511])
+#endif
+#ifndef XtHmapWidget
+#define XtHmapWidget ((char*)&XtStrings[2534])
+#endif
+#ifndef XtHunmapWidget
+#define XtHunmapWidget ((char*)&XtStrings[2546])
+#endif
+#ifndef XtHpopup
+#define XtHpopup ((char*)&XtStrings[2560])
+#endif
+#ifndef XtHpopupSpringLoaded
+#define XtHpopupSpringLoaded ((char*)&XtStrings[2568])
+#endif
+#ifndef XtHpopdown
+#define XtHpopdown ((char*)&XtStrings[2588])
+#endif
+#ifndef XtHconfigure
+#define XtHconfigure ((char*)&XtStrings[2598])
+#endif
+#ifndef XtHpreGeometry
+#define XtHpreGeometry ((char*)&XtStrings[2610])
+#endif
+#ifndef XtHpostGeometry
+#define XtHpostGeometry ((char*)&XtStrings[2624])
+#endif
+#ifndef XtHdestroy
+#define XtHdestroy ((char*)&XtStrings[2639])
+#endif
+#endif /* XTSTRINGDEFINES */
+
+#ifndef XTSTRINGDEFINES
+#undef _XtStringDefs_h_Const
+#endif
+
+#endif /* _XtStringDefs_h_ */
diff --git a/XOrg/headers/native/src/X11/Sunkeysym.h b/XOrg/headers/native/src/X11/Sunkeysym.h
new file mode 100644 (file)
index 0000000..e723444
--- /dev/null
@@ -0,0 +1,112 @@
+/* $Xorg: Sunkeysym.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+
+/************************************************************
+
+Copyright 1991, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1991 by Sun Microsystems, Inc. Mountain View, CA.
+
+                    All Rights Reserved
+
+Permission  to  use,  copy,  modify,  and  distribute   this
+software  and  its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright no-
+tice  appear  in all copies and that both that copyright no-
+tice and this permission notice appear in  supporting  docu-
+mentation,  and  that the name of Sun not be used in
+advertising or publicity pertaining to distribution  of  the
+software  without specific prior written permission. Sun 
+makes  no  representations about the suitability  of this
+software for any purpose. It is provided "as is" without any
+express or implied warranty.
+
+SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO  THIS  SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT-
+NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE  LI-
+ABLE  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 TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+***********************************************************/
+
+/*
+ * Floating Accent
+ */
+
+#define        SunXK_FA_Grave          0x1005FF00
+#define        SunXK_FA_Circum         0x1005FF01
+#define        SunXK_FA_Tilde          0x1005FF02
+#define        SunXK_FA_Acute          0x1005FF03
+#define        SunXK_FA_Diaeresis      0x1005FF04
+#define        SunXK_FA_Cedilla        0x1005FF05
+
+/*
+ * Miscellaneous Functions
+ */
+
+#define        SunXK_F36               0x1005FF10      /* Labeled F11 */
+#define        SunXK_F37               0x1005FF11      /* Labeled F12 */
+
+#define SunXK_Sys_Req          0x1005FF60
+#define SunXK_Print_Screen     0x0000FF61      /* Same as XK_Print */
+
+/*
+ * International & Multi-Key Character Composition
+ */
+
+#define SunXK_Compose          0x0000FF20      /* Same as XK_Multi_key */
+#define SunXK_AltGraph         0x0000FF7E      /* Same as XK_Mode_switch */
+
+/*
+ * Cursor Control
+ */
+
+#define SunXK_PageUp           0x0000FF55      /* Same as XK_Prior */
+#define SunXK_PageDown         0x0000FF56      /* Same as XK_Next */
+
+/*
+ * Open Look Functions
+ */
+
+#define SunXK_Undo             0x0000FF65      /* Same as XK_Undo */
+#define SunXK_Again            0x0000FF66      /* Same as XK_Redo */
+#define SunXK_Find             0x0000FF68      /* Same as XK_Find */
+#define SunXK_Stop             0x0000FF69      /* Same as XK_Cancel */
+#define SunXK_Props            0x1005FF70
+#define SunXK_Front            0x1005FF71
+#define SunXK_Copy             0x1005FF72
+#define SunXK_Open             0x1005FF73
+#define SunXK_Paste            0x1005FF74
+#define SunXK_Cut              0x1005FF75
+
+#define SunXK_PowerSwitch              0x1005FF76
+#define SunXK_AudioLowerVolume         0x1005FF77
+#define SunXK_AudioMute                        0x1005FF78
+#define SunXK_AudioRaiseVolume         0x1005FF79
+#define SunXK_VideoDegauss             0x1005FF7A
+#define SunXK_VideoLowerBrightness     0x1005FF7B
+#define SunXK_VideoRaiseBrightness     0x1005FF7C
+#define SunXK_PowerSwitchShift         0x1005FF7D
diff --git a/XOrg/headers/native/src/X11/ThreadsI.h b/XOrg/headers/native/src/X11/ThreadsI.h
new file mode 100644 (file)
index 0000000..1492d77
--- /dev/null
@@ -0,0 +1,130 @@
+/* $Xorg: ThreadsI.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $ */
+
+/************************************************************
+Copyright 1993 by Sun Microsystems, Inc. Mountain View, CA.
+
+                    All Rights Reserved
+
+Permission  to  use,  copy,  modify,  and  distribute   this
+software  and  its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright no-
+tice  appear  in all copies and that both that copyright no-
+tice and this permission notice appear in  supporting  docu-
+mentation,  and  that the name Sun not be used in advertising 
+or publicity pertaining to distribution  of  the software  
+without specific prior written permission. Sun makes no 
+representations about the suitability of this software for 
+any purpose. It is provided "as is" without any express or 
+implied warranty.
+
+SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO  THIS  SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT-
+NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE  LI-
+ABLE  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.
+
+********************************************************/
+
+/*
+
+Copyright 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/lib/Xt/ThreadsI.h,v 3.5 2001/12/14 19:56:31 dawes Exp $ */
+
+#ifndef _XtThreadsI_h
+#define _XtThreadsI_h
+
+#include <X11/XlibConf.h>
+
+#ifdef XTHREADS
+
+typedef struct _LockRec *LockPtr;
+
+typedef void (*ThreadAppProc)(
+    XtAppContext /* app */
+);
+
+typedef void (*ThreadAppYieldLockProc)(
+    XtAppContext, /* app */
+    Boolean*, /* push_thread */
+    Boolean*, /* pushed_thread */
+    int* /* level */
+);
+
+typedef void (*ThreadAppRestoreLockProc)(
+    XtAppContext /* app */,
+    int, /* level */
+    Boolean* /* pushed_thread */
+);
+
+extern void (*_XtProcessLock)(
+    void
+);
+
+extern void (*_XtProcessUnlock)(
+    void
+);
+
+extern void (*_XtInitAppLock)(
+    XtAppContext /* app */
+);
+
+#define INIT_APP_LOCK(app) if(_XtInitAppLock) (*_XtInitAppLock)(app)
+#define FREE_APP_LOCK(app) if(app && app->free_lock)(*app->free_lock)(app)
+
+#define LOCK_PROCESS if(_XtProcessLock)(*_XtProcessLock)()
+#define UNLOCK_PROCESS if(_XtProcessUnlock)(*_XtProcessUnlock)()
+#define LOCK_APP(app) if(app && app->lock)(*app->lock)(app)
+#define UNLOCK_APP(app) if(app && app->unlock)(*app->unlock)(app)
+
+#define YIELD_APP_LOCK(app,push,pushed,level)\
+        if(app && app->yield_lock) (*app->yield_lock)(app,push,pushed,level)
+#define RESTORE_APP_LOCK(app,level,pushed)\
+        if(app && app->restore_lock) (*app->restore_lock)(app,level,pushed)
+
+#define WIDGET_TO_APPCON(w) \
+    XtAppContext app = (w && _XtProcessLock ? \
+       XtWidgetToApplicationContext(w) : NULL)
+
+#define DPY_TO_APPCON(d) \
+    XtAppContext app = (_XtProcessLock ? XtDisplayToApplicationContext(d): 0)
+
+#else /* defined(XTHREADS) */
+
+#define LOCK_PROCESS
+#define UNLOCK_PROCESS
+#define LOCK_APP(app)
+#define UNLOCK_APP(app)
+
+#define INIT_APP_LOCK(app)
+#define FREE_APP_LOCK(app)
+
+#define WIDGET_TO_APPCON(w)
+#define DPY_TO_APPCON(d)
+
+#endif /* !defined(XTHREADS) */
+#endif /* _XtThreadsI_h */
diff --git a/XOrg/headers/native/src/X11/TranslateI.h b/XOrg/headers/native/src/X11/TranslateI.h
new file mode 100644 (file)
index 0000000..1224875
--- /dev/null
@@ -0,0 +1,606 @@
+/* $Xorg: TranslateI.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/TranslateI.h,v 1.3 2001/12/14 19:56:32 dawes Exp $ */
+
+/* 
+ * TranslateI.h - Header file private to translation management
+ * 
+ * Author:     Gabe Beged-Dov, HP
+ *
+ * Former Author:      Charles Haynes
+ *             Digital Equipment Corporation
+ *             Western Research Laboratory
+ * Date:       Sat Aug 29 1987
+ */
+
+/*#define REFCNT_TRANSLATIONS*/
+#define CACHE_TRANSLATIONS
+
+#define TM_NO_MATCH (-2)
+
+#define _XtRStateTablePair "_XtStateTablePair"
+
+typedef unsigned char TMByteCard;
+typedef unsigned short TMShortCard;
+typedef unsigned long TMLongCard;
+typedef short TMShortInt;
+
+typedef struct _TMTypeMatchRec *TMTypeMatch;
+typedef struct _TMModifierMatchRec *TMModifierMatch;
+typedef struct _TMEventRec *TMEventPtr;
+
+typedef Boolean (*MatchProc)(TMTypeMatch typeMatch,
+                            TMModifierMatch modMatch,
+                            TMEventPtr eventSeq);
+
+typedef struct _ModToKeysymTable {
+    Modifiers mask;
+    int count;
+    int idx;
+} ModToKeysymTable;
+
+typedef struct _LateBindings {
+    unsigned int knot:1;
+    unsigned int pair:1;
+    unsigned short ref_count;  /* garbage collection */
+    KeySym keysym;
+} LateBindings, *LateBindingsPtr;
+
+typedef short ModifierMask;
+
+typedef struct _ActionsRec *ActionPtr;
+typedef struct _ActionsRec {
+    int idx;                   /* index into quarkTable to find proc */
+    String *params;            /* pointer to array of params */
+    Cardinal num_params;       /* number of params */
+    ActionPtr next;            /* next action to perform */
+} ActionRec;
+
+typedef struct _XtStateRec *StatePtr;
+typedef struct _XtStateRec {
+    unsigned int       isCycleStart:1;
+    unsigned int       isCycleEnd:1;
+    TMShortCard                typeIndex;
+    TMShortCard                modIndex;
+    ActionPtr          actions;        /* rhs list of actions to perform */
+    StatePtr           nextLevel;
+}StateRec;
+
+
+#define XtTableReplace 0
+#define XtTableAugment 1
+#define XtTableOverride        2
+#define XtTableUnmerge  3
+
+typedef unsigned int _XtTranslateOp;
+
+/*
+ * New Definitions
+ */
+typedef struct _TMModifierMatchRec{
+    TMLongCard  modifiers;
+    TMLongCard  modifierMask;
+    LateBindingsPtr lateModifiers;
+    Boolean     standard;
+}TMModifierMatchRec;
+
+typedef struct _TMTypeMatchRec{
+    TMLongCard  eventType;
+    TMLongCard  eventCode;
+    TMLongCard  eventCodeMask;
+    MatchProc   matchEvent;
+}TMTypeMatchRec;
+
+typedef struct _TMBranchHeadRec {
+    unsigned int       isSimple:1;
+    unsigned int       hasActions:1;
+    unsigned int       hasCycles:1;
+    unsigned int       more:13;
+    TMShortCard                typeIndex;
+    TMShortCard                modIndex;
+}TMBranchHeadRec, *TMBranchHead;
+
+/* NOTE: elements of this structure must match those of
+ * TMComplexStateTreeRec and TMParseStateTreeRec.
+ */
+typedef struct _TMSimpleStateTreeRec{
+    unsigned int       isSimple:1;
+    unsigned int       isAccelerator:1;
+    unsigned int       mappingNotifyInterest:1;
+    unsigned int       refCount:13;
+    TMShortCard                numBranchHeads;
+    TMShortCard                numQuarks;   /* # of entries in quarkTbl */
+    TMShortCard                unused;      /* to ensure same alignment */
+    TMBranchHeadRec    *branchHeadTbl;
+    XrmQuark           *quarkTbl;  /* table of quarkified rhs*/
+}TMSimpleStateTreeRec, *TMSimpleStateTree;
+
+/* NOTE: elements of this structure must match those of
+ * TMSimpleStateTreeRec and TMParseStateTreeRec.
+ */
+typedef struct _TMComplexStateTreeRec{
+    unsigned int       isSimple:1;
+    unsigned int       isAccelerator:1;
+    unsigned int       mappingNotifyInterest:1;
+    unsigned int       refCount:13;
+    TMShortCard                numBranchHeads;
+    TMShortCard                numQuarks;   /* # of entries in quarkTbl */
+    TMShortCard                numComplexBranchHeads;
+    TMBranchHeadRec    *branchHeadTbl;
+    XrmQuark           *quarkTbl;  /* table of quarkified rhs*/
+    StatePtr           *complexBranchHeadTbl;
+}TMComplexStateTreeRec, *TMComplexStateTree;
+
+/* NOTE: elements of this structure must match those of
+ * TMSimpleStateTreeRec and TMComplexStateTreeRec.
+ */
+typedef struct _TMParseStateTreeRec{
+    unsigned int       isSimple:1;
+    unsigned int       isAccelerator:1;
+    unsigned int       mappingNotifyInterest:1;
+    unsigned int       isStackQuarks:1;
+    unsigned int       isStackBranchHeads:1;
+    unsigned int       isStackComplexBranchHeads:1;
+    unsigned int       unused:10; /* to ensure correct alignment */
+    TMShortCard                numBranchHeads;
+    TMShortCard                numQuarks;   /* # of entries in quarkTbl */
+    TMShortCard                numComplexBranchHeads;
+    TMBranchHeadRec    *branchHeadTbl;
+    XrmQuark           *quarkTbl;  /* table of quarkified rhs*/
+    StatePtr           *complexBranchHeadTbl;
+    TMShortCard                branchHeadTblSize;
+    TMShortCard                quarkTblSize; /*total size of quarkTbl */
+    TMShortCard                complexBranchHeadTblSize;
+    StatePtr           head;
+}TMParseStateTreeRec, *TMParseStateTree;
+
+typedef union _TMStateTreeRec{
+    TMSimpleStateTreeRec       simple;
+    TMParseStateTreeRec                parse;
+    TMComplexStateTreeRec      complex;
+}*TMStateTree, **TMStateTreePtr, **TMStateTreeList;
+
+typedef struct _TMSimpleBindProcsRec {
+    XtActionProc       *procs;
+}TMSimpleBindProcsRec, *TMSimpleBindProcs;
+
+typedef struct _TMComplexBindProcsRec {
+    Widget             widget;         /*widgetID to pass to action Proc*/
+    XtTranslations     aXlations;
+    XtActionProc       *procs;
+}TMComplexBindProcsRec, *TMComplexBindProcs;
+
+typedef struct _TMSimpleBindDataRec {
+    unsigned int               isComplex:1;    /* must be first */
+    TMSimpleBindProcsRec       bindTbl[1];     /* variable length */
+}TMSimpleBindDataRec, *TMSimpleBindData;
+
+typedef struct _TMComplexBindDataRec {
+    unsigned int               isComplex:1;    /* must be first */
+    struct _ATranslationData   *accel_context; /* for GetValues */
+    TMComplexBindProcsRec      bindTbl[1];     /* variable length */
+}TMComplexBindDataRec, *TMComplexBindData;
+
+typedef union _TMBindDataRec{
+    TMSimpleBindDataRec                simple;
+    TMComplexBindDataRec       complex;
+}*TMBindData;
+
+typedef struct _TranslationData{
+    unsigned char              hasBindings;    /* must be first */
+    unsigned char              operation; /*replace,augment,override*/
+    TMShortCard                        numStateTrees;
+    struct _TranslationData            *composers[2];
+    EventMask                  eventMask;
+    TMStateTree                        stateTreeTbl[1]; /* variable length */
+}TranslationData;
+
+/*
+ * ATranslations is returned by GetValues for translations that contain
+ * accelerators.  The TM can differentiate between this and TranslationData
+ * (that don't have a bindTbl) by looking at the first field (hasBindings)
+ * of either structure.  All ATranslationData structures associated with a
+ * widget are chained off the BindData record of the widget.
+ */
+typedef struct _ATranslationData{
+    unsigned char              hasBindings;    /* must be first */
+    unsigned char              operation;
+    struct _TranslationData    *xlations;  /* actual translations */
+    struct _ATranslationData   *next;      /* chain the contexts together */
+    TMComplexBindProcsRec      bindTbl[1]; /* accelerator bindings */
+}ATranslationData, *ATranslations;
+
+typedef struct _TMConvertRec {
+    XtTranslations     old; /* table to merge into */
+    XtTranslations     new; /* table to merge from */
+} TMConvertRec;
+
+#define _XtEventTimerEventType ((TMLongCard)~0L)
+#define KeysymModMask          (1L<<27) /* private to TM */
+#define AnyButtonMask          (1L<<28) /* private to TM */
+
+typedef struct _EventRec {
+    TMLongCard modifiers;
+    TMLongCard modifierMask;
+    LateBindingsPtr lateModifiers;
+    TMLongCard eventType;
+    TMLongCard eventCode;
+    TMLongCard eventCodeMask;
+    MatchProc matchEvent;
+    Boolean standard;
+} Event;
+
+typedef struct _EventSeqRec *EventSeqPtr;
+typedef struct _EventSeqRec {
+    Event event;       /* X event description */
+    StatePtr state;    /* private to state table builder */
+    EventSeqPtr next;  /* next event on line */
+    ActionPtr actions; /* r.h.s.   list of actions to perform */
+} EventSeqRec;
+
+typedef EventSeqRec EventRec;
+typedef EventSeqPtr EventPtr;
+
+typedef struct _TMEventRec {
+    XEvent *xev;
+    Event event;
+}TMEventRec;
+
+typedef struct _ActionHookRec {
+    struct _ActionHookRec* next; /* must remain first */
+    XtAppContext app;
+    XtActionHookProc proc;
+    XtPointer closure;
+} ActionHookRec, *ActionHook;
+
+/* choose a number between 2 and 8 */
+#define TMKEYCACHELOG2 6
+#define TMKEYCACHESIZE (1<<TMKEYCACHELOG2)
+
+typedef struct _KeyCacheRec {
+    unsigned char modifiers_return[256]; /* constant per KeyCode, key proc */
+    KeyCode keycode[TMKEYCACHESIZE];
+    unsigned char modifiers[TMKEYCACHESIZE];
+    KeySym keysym[TMKEYCACHESIZE];
+} TMKeyCache;
+
+typedef struct _TMKeyContextRec {
+    XEvent *event;
+    unsigned long serial;
+    KeySym keysym;
+    Modifiers modifiers;
+    TMKeyCache keycache;  /* keep this last, to keep offsets to others small */
+} TMKeyContextRec, *TMKeyContext;
+
+typedef struct _TMGlobalRec{
+    TMTypeMatchRec             **typeMatchSegmentTbl;
+    TMShortCard                        numTypeMatches;
+    TMShortCard                        numTypeMatchSegments;
+    TMShortCard                        typeMatchSegmentTblSize;
+    TMModifierMatchRec                 **modMatchSegmentTbl;
+    TMShortCard                        numModMatches;
+    TMShortCard                        numModMatchSegments;
+    TMShortCard                        modMatchSegmentTblSize;
+    Boolean                    newMatchSemantics;
+#ifdef TRACE_TM
+    XtTranslations             *tmTbl;
+    TMShortCard                        numTms;
+    TMShortCard                        tmTblSize;
+    struct _TMBindCacheRec     **bindCacheTbl;
+    TMShortCard                        numBindCache;
+    TMShortCard                        bindCacheTblSize;
+    TMShortCard                        numLateBindings;
+    TMShortCard                        numBranchHeads;
+    TMShortCard                        numComplexStates;
+    TMShortCard                        numComplexActions;
+#endif /* TRACE_TM */
+}TMGlobalRec;
+
+extern TMGlobalRec _XtGlobalTM;
+
+#define TM_MOD_SEGMENT_SIZE    16
+#define TM_TYPE_SEGMENT_SIZE   16
+
+#define TMGetTypeMatch(idx) \
+  ((TMTypeMatch) \
+   &((_XtGlobalTM.typeMatchSegmentTbl[((idx) >> 4)])[(idx) & 15]))
+#define TMGetModifierMatch(idx) \
+  ((TMModifierMatch) \
+   &((_XtGlobalTM.modMatchSegmentTbl[(idx) >> 4])[(idx) & 15]))
+
+/* Useful Access Macros */
+#define TMNewMatchSemantics() (_XtGlobalTM.newMatchSemantics)
+#define TMBranchMore(branch) (branch->more)
+#define TMComplexBranchHead(tree, br) \
+  (((TMComplexStateTree)tree)->complexBranchHeadTbl[TMBranchMore(br)])
+
+#define TMGetComplexBindEntry(bindData, idx) \
+  ((TMComplexBindProcs)&(((TMComplexBindData)bindData)->bindTbl[idx]))
+
+#define TMGetSimpleBindEntry(bindData, idx) \
+  ((TMSimpleBindProcs)&(((TMSimpleBindData)bindData)->bindTbl[idx]))
+
+
+#define _InitializeKeysymTables(dpy, pd) \
+    if (pd->keysyms == NULL) \
+        _XtBuildKeysymTables(dpy, pd)
+
+/*
+ * Internal Functions
+ */
+
+extern void _XtPopup(
+    Widget      /* widget */,
+    XtGrabKind  /* grab_kind */,
+    _XtBoolean /* spring_loaded */
+);
+
+extern String _XtPrintXlations(
+    Widget             /* w */,
+    XtTranslations     /* xlations */,
+    Widget             /* accelWidget */,
+    _XtBoolean         /* includeRHS */
+);
+
+extern void _XtRegisterGrabs(
+    Widget     /* widget */
+);
+
+extern XtPointer _XtInitializeActionData(
+    struct _XtActionsRec *     /* actions */,
+    Cardinal                   /* count */,
+    _XtBoolean                 /* inPlace */
+);
+
+extern void _XtAddEventSeqToStateTree(
+    EventSeqPtr                /* eventSeq */,
+    TMParseStateTree   /* stateTree */
+);
+
+extern Boolean _XtMatchUsingStandardMods(
+    TMTypeMatch                /* typeMatch */,
+    TMModifierMatch    /* modMatch */,
+    TMEventPtr         /* eventSeq */
+);
+
+extern Boolean _XtMatchUsingDontCareMods(
+    TMTypeMatch                /* typeMatch */,
+    TMModifierMatch    /* modMatch */,
+    TMEventPtr         /* eventSeq */
+);
+
+extern Boolean _XtRegularMatch(
+    TMTypeMatch                /* typeMatch */,
+    TMModifierMatch    /* modMatch */,
+    TMEventPtr         /* eventSeq */
+);
+
+extern Boolean _XtMatchAtom(
+    TMTypeMatch                /* typeMatch */,
+    TMModifierMatch    /* modMatch */,
+    TMEventPtr         /* eventSeq */
+);
+
+extern void _XtTranslateEvent(
+    Widget             /* widget */,
+    XEvent*            /* event */
+);
+
+#include "CallbackI.h"
+#include "EventI.h"
+#include "HookObjI.h"
+#include "PassivGraI.h"
+#include "ThreadsI.h"
+#include "InitialI.h"
+#include "ResourceI.h"
+#include "StringDefs.h"
+
+extern void _XtBuildKeysymTables(Display *dpy, XtPerDisplay pd);
+
+#ifndef NO_MIT_HACKS
+extern void  _XtDisplayTranslations(
+    Widget             /* widget */,
+    XEvent*            /* event */,
+    String*            /* params */,
+    Cardinal*          /* num_params */
+);
+
+extern void  _XtDisplayAccelerators(
+    Widget             /* widget */,
+    XEvent*            /* event */,
+    String*            /* params */,
+    Cardinal*          /* num_params */
+);
+
+extern void _XtDisplayInstalledAccelerators(
+    Widget             /* widget */,
+    XEvent*            /* event */,
+    String*            /* params */,
+    Cardinal*          /* num_params */
+);
+#endif /* ifndef NO_MIT_HACKS */
+
+extern void _XtPopupInitialize(
+    XtAppContext       /* app_context */
+);
+
+extern void _XtBindActions(
+    Widget     /* widget */,
+    XtTM       /* tm_rec */
+);
+
+extern Boolean _XtComputeLateBindings(
+    Display*           /* dpy */,
+    LateBindingsPtr    /* lateModifiers */,
+    Modifiers*         /* computed */,
+    Modifiers*         /* computedMask */
+);
+
+extern XtTranslations _XtCreateXlations(
+    TMStateTree *      /* stateTrees */,
+    TMShortCard                /* numStateTrees */,
+    XtTranslations     /* first */,
+    XtTranslations     /* second */
+);
+
+extern Boolean _XtCvtMergeTranslations(
+    Display*   /* dpy */,
+    XrmValuePtr        /* args */,
+    Cardinal*  /* num_args */,
+    XrmValuePtr        /* from */,
+    XrmValuePtr        /* to */,
+    XtPointer* /* closure_ret */
+);
+
+void _XtRemoveStateTreeByIndex(
+    XtTranslations     /* xlations */,
+    TMShortCard        /* i */);
+
+void _XtFreeTranslations(
+    XtAppContext       /* app */,
+    XrmValuePtr                /* toVal */,
+    XtPointer          /* closure */,
+    XrmValuePtr                /* args */,
+    Cardinal*          /* num_args */
+);
+
+extern TMShortCard _XtGetModifierIndex(
+    Event*     /* event */
+);
+
+extern TMShortCard _XtGetQuarkIndex(
+    TMParseStateTree   /* stateTreePtr */,
+    XrmQuark           /* quark */
+);
+
+extern XtTranslations _XtGetTranslationValue(
+    Widget             /* widget */
+);
+
+extern TMShortCard _XtGetTypeIndex(
+    Event*     /* event */
+);
+
+extern void _XtGrabInitialize(
+    XtAppContext       /* app */
+);
+
+extern void _XtInstallTranslations(
+    Widget             /* widget */
+);
+
+extern void _XtRemoveTranslations(
+    Widget             /* widget */
+);
+
+extern void _XtDestroyTMData(
+    Widget             /* widget */
+);
+
+extern void _XtMergeTranslations(
+    Widget             /* widget */,
+    XtTranslations     /* newXlations */,
+    _XtTranslateOp     /* operation */
+);
+
+extern void _XtActionInitialize(
+    XtAppContext       /* app */
+);
+
+extern TMStateTree _XtParseTreeToStateTree(
+    TMParseStateTree   /* parseTree */
+);
+
+extern String _XtPrintActions(
+    ActionRec* /* actions */,
+    XrmQuark*  /* quarkTbl */
+);
+
+extern String _XtPrintState(
+    TMStateTree        /* stateTree */,
+    TMBranchHead /* branchHead */);
+
+extern String _XtPrintEventSeq(
+    EventSeqPtr        /* eventSeq */,
+    Display*   /* dpy */
+);
+
+typedef Boolean (*_XtTraversalProc)(
+    StatePtr   /* state */,
+    XtPointer  /* data */
+);
+
+extern void _XtTraverseStateTree(
+    TMStateTree                /* tree */,
+    _XtTraversalProc   /* func */,
+    XtPointer          /* data */
+);
+
+extern void _XtTranslateInitialize(
+    void
+);
+
+extern void _XtAddTMConverters(
+    ConverterTable     /* table */
+);
+
+extern void _XtUnbindActions(
+    Widget             /* widget */,
+    XtTranslations     /* xlations */,
+    TMBindData         /* bindData */
+);
+
+extern void _XtUnmergeTranslations(
+    Widget             /* widget */,
+    XtTranslations     /* xlations */
+);
+
+/* TMKey.c */
+extern void _XtAllocTMContext(XtPerDisplay pd);
+
diff --git a/XOrg/headers/native/src/X11/VarargsI.h b/XOrg/headers/native/src/X11/VarargsI.h
new file mode 100644 (file)
index 0000000..e15404a
--- /dev/null
@@ -0,0 +1,65 @@
+/* $Xorg: VarargsI.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $ */
+
+/*
+
+Copyright 1985, 1986, 1987, 1988, 1989, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/lib/Xt/VarargsI.h,v 3.6 2001/12/14 19:56:32 dawes Exp $ */
+
+#ifndef _VarargsI_h_ 
+#define _VarargsI_h_ 
+
+#include <stdarg.h>
+/* private routines */
+
+extern void _XtCountVaList(
+    va_list /*var*/, int* /*total_count*/, int* /*typed_count*/
+);
+
+extern void _XtVaToArgList(
+   Widget /*widget*/, va_list /*var*/, int /*max_count*/, ArgList* /*args_return*/, Cardinal* /*num_args_return*/
+);
+
+extern void _XtVaToTypedArgList(
+    va_list /*var*/, int /*count*/, XtTypedArgList* /*args_return*/, Cardinal* /*num_args_return*/
+);
+
+extern XtTypedArgList _XtVaCreateTypedArgList(
+    va_list /*var*/, int /*count*/
+);
+
+extern void _XtFreeArgList(
+    ArgList /*args*/, int /*total_count*/, int /*typed_count*/
+);
+
+extern void _XtGetApplicationResources(
+    Widget /*w*/, XtPointer /*base*/, XtResourceList /*resources*/, Cardinal /*num_resources*/, ArgList /*args*/, Cardinal /*num_args*/, XtTypedArgList /*typed_args*/, Cardinal /*num_typed_args*/
+);
+
+extern void _XtGetSubresources(
+    Widget /*w*/, XtPointer /*base*/, const char* /*name*/, const char* /*class*/, XtResourceList /*resources*/, Cardinal /*num_resources*/, ArgList /*args*/, Cardinal /*num_args*/, XtTypedArgList /*typed_args*/, Cardinal /*num_typed_args*/
+);
+
+#endif /* _VarargsI_h_ */
diff --git a/XOrg/headers/native/src/X11/Vendor.h b/XOrg/headers/native/src/X11/Vendor.h
new file mode 100644 (file)
index 0000000..65e7c38
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+* $Xorg: Vendor.h,v 1.5 2001/02/09 02:03:59 xorgcvs Exp $
+* $oHeader: Vendor.h,v 1.2 88/08/18 15:56:44 asente Exp $
+*/
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _XtVendor_h
+#define _XtVendor_h
+
+#include <X11/Intrinsic.h>
+
+/***********************************************************************
+ *
+ * VendorShell Widget
+ *
+ ***********************************************************************/
+
+/* Class record constants */
+
+typedef struct _VendorShellClassRec *VendorShellWidgetClass;
+
+externalref WidgetClass vendorShellWidgetClass;
+
+#endif /* _XtVendor_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/VendorP.h b/XOrg/headers/native/src/X11/VendorP.h
new file mode 100644 (file)
index 0000000..2e5a975
--- /dev/null
@@ -0,0 +1,111 @@
+/*
+* $Xorg: VendorP.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $
+* $oHeader: VendorP.h,v 1.2 88/08/18 15:56:48 asente Exp $
+*/
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL 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.
+
+******************************************************************/
+
+/* 
+ * VendorP.h - Private definitions for VendorShell widget
+ * 
+ * Author:     Paul Asente
+ *             Digital Equipment Corporation
+ *             Western Software Laboratory
+ * Date:       Thu Dec 3, 1987
+ */
+
+/***********************************************************************
+ *
+ * VendorShell Widget Private Data
+ *
+ ***********************************************************************/
+
+#ifndef  _XtVendorPrivate_h
+#define _XtVendorPrivate_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <X11/Vendor.h>
+
+/* New fields for the VendorShell widget class record */
+
+typedef struct {
+    XtPointer       extension;          /* pointer to extension record      */
+} VendorShellClassPart;
+
+typedef struct _VendorShellClassRec {
+       CoreClassPart      core_class;
+       CompositeClassPart composite_class;
+       ShellClassPart  shell_class;
+       WMShellClassPart   wm_shell_class;
+       VendorShellClassPart vendor_shell_class;
+} VendorShellClassRec;
+
+externalref VendorShellClassRec vendorShellClassRec;
+
+/* New fields for the vendor shell widget. */
+
+typedef struct {
+       int             vendor_specific;
+} VendorShellPart;
+
+typedef  struct {
+       CorePart        core;
+       CompositePart   composite;
+       ShellPart       shell;
+       WMShellPart     wm;
+       VendorShellPart vendor;
+} VendorShellRec, *VendorShellWidget;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* _XtVendorPrivate_h */
diff --git a/XOrg/headers/native/src/X11/X.h b/XOrg/headers/native/src/X11/X.h
new file mode 100644 (file)
index 0000000..0a9c501
--- /dev/null
@@ -0,0 +1,721 @@
+/*
+ *     $Xorg: X.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $
+ */
+
+/* Definitions for the X window system likely to be used by applications */
+
+#ifndef X_H
+#define X_H
+
+/***********************************************************
+
+Copyright 1987, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/include/X.h,v 1.6 2003/07/09 15:27:28 tsi Exp $ */
+
+#define X_PROTOCOL     11              /* current protocol version */
+#define X_PROTOCOL_REVISION 0          /* current minor version */
+
+/* Resources */
+
+/*
+ * _XSERVER64 must ONLY be defined when compiling X server sources on
+ * systems where unsigned long is not 32 bits, must NOT be used in
+ * client or library code.
+ */
+#ifndef _XSERVER64
+#  ifndef _XTYPEDEF_XID
+#    define _XTYPEDEF_XID
+typedef unsigned long XID;
+#  endif
+#  ifndef _XTYPEDEF_MASK
+#    define _XTYPEDEF_MASK
+typedef unsigned long Mask;
+#  endif
+#  ifndef _XTYPEDEF_ATOM
+#    define _XTYPEDEF_ATOM
+typedef unsigned long Atom;            /* Also in Xdefs.h */
+#  endif
+typedef unsigned long VisualID;
+typedef unsigned long Time;
+#else
+#  include <X11/Xmd.h>
+#  ifndef _XTYPEDEF_XID
+#    define _XTYPEDEF_XID
+typedef CARD32 XID;
+#  endif
+#  ifndef _XTYPEDEF_MASK
+#    define _XTYPEDEF_MASK
+typedef CARD32 Mask;
+#  endif
+#  ifndef _XTYPEDEF_ATOM
+#    define _XTYPEDEF_ATOM
+typedef CARD32 Atom;
+#  endif
+typedef CARD32 VisualID;
+typedef CARD32 Time;
+#endif
+
+typedef XID Window;
+typedef XID Drawable;
+#ifndef _XTYPEDEF_FONT
+#  define _XTYPEDEF_FONT
+typedef XID Font;
+#endif
+typedef XID Pixmap;
+typedef XID Cursor;
+typedef XID Colormap;
+typedef XID GContext;
+typedef XID KeySym;
+
+typedef unsigned char KeyCode;
+
+/*****************************************************************
+ * RESERVED RESOURCE AND CONSTANT DEFINITIONS
+ *****************************************************************/
+
+#ifndef None
+#define None                 0L        /* universal null resource or null atom */
+#endif
+
+#define ParentRelative       1L        /* background pixmap in CreateWindow
+                                   and ChangeWindowAttributes */
+
+#define CopyFromParent       0L        /* border pixmap in CreateWindow
+                                      and ChangeWindowAttributes
+                                  special VisualID and special window
+                                      class passed to CreateWindow */
+
+#define PointerWindow        0L        /* destination window in SendEvent */
+#define InputFocus           1L        /* destination window in SendEvent */
+
+#define PointerRoot          1L        /* focus window in SetInputFocus */
+
+#define AnyPropertyType      0L        /* special Atom, passed to GetProperty */
+
+#define AnyKey              0L /* special Key Code, passed to GrabKey */
+
+#define AnyButton            0L        /* special Button Code, passed to GrabButton */
+
+#define AllTemporary         0L        /* special Resource ID passed to KillClient */
+
+#define CurrentTime          0L        /* special Time */
+
+#define NoSymbol            0L /* special KeySym */
+
+/***************************************************************** 
+ * EVENT DEFINITIONS 
+ *****************************************************************/
+
+/* Input Event Masks. Used as event-mask window attribute and as arguments
+   to Grab requests.  Not to be confused with event names.  */
+
+#define NoEventMask                    0L
+#define KeyPressMask                   (1L<<0)  
+#define KeyReleaseMask                 (1L<<1)  
+#define ButtonPressMask                        (1L<<2)  
+#define ButtonReleaseMask              (1L<<3)  
+#define EnterWindowMask                        (1L<<4)  
+#define LeaveWindowMask                        (1L<<5)  
+#define PointerMotionMask              (1L<<6)  
+#define PointerMotionHintMask          (1L<<7)  
+#define Button1MotionMask              (1L<<8)  
+#define Button2MotionMask              (1L<<9)  
+#define Button3MotionMask              (1L<<10) 
+#define Button4MotionMask              (1L<<11) 
+#define Button5MotionMask              (1L<<12) 
+#define ButtonMotionMask               (1L<<13) 
+#define KeymapStateMask                        (1L<<14)
+#define ExposureMask                   (1L<<15) 
+#define VisibilityChangeMask           (1L<<16) 
+#define StructureNotifyMask            (1L<<17) 
+#define ResizeRedirectMask             (1L<<18) 
+#define SubstructureNotifyMask         (1L<<19) 
+#define SubstructureRedirectMask       (1L<<20) 
+#define FocusChangeMask                        (1L<<21) 
+#define PropertyChangeMask             (1L<<22) 
+#define ColormapChangeMask             (1L<<23) 
+#define OwnerGrabButtonMask            (1L<<24) 
+
+/* Event names.  Used in "type" field in XEvent structures.  Not to be
+confused with event masks above.  They start from 2 because 0 and 1
+are reserved in the protocol for errors and replies. */
+
+#define KeyPress               2
+#define KeyRelease             3
+#define ButtonPress            4
+#define ButtonRelease          5
+#define MotionNotify           6
+#define EnterNotify            7
+#define LeaveNotify            8
+#define FocusIn                        9
+#define FocusOut               10
+#define KeymapNotify           11
+#define Expose                 12
+#define GraphicsExpose         13
+#define NoExpose               14
+#define VisibilityNotify       15
+#define CreateNotify           16
+#define DestroyNotify          17
+#define UnmapNotify            18
+#define MapNotify              19
+#define MapRequest             20
+#define ReparentNotify         21
+#define ConfigureNotify                22
+#define ConfigureRequest       23
+#define GravityNotify          24
+#define ResizeRequest          25
+#define CirculateNotify                26
+#define CirculateRequest       27
+#define PropertyNotify         28
+#define SelectionClear         29
+#define SelectionRequest       30
+#define SelectionNotify                31
+#define ColormapNotify         32
+#define ClientMessage          33
+#define MappingNotify          34
+#define LASTEvent              35      /* must be bigger than any event # */
+
+
+/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
+   state in various key-, mouse-, and button-related events. */
+
+#define ShiftMask              (1<<0)
+#define LockMask               (1<<1)
+#define ControlMask            (1<<2)
+#define Mod1Mask               (1<<3)
+#define Mod2Mask               (1<<4)
+#define Mod3Mask               (1<<5)
+#define Mod4Mask               (1<<6)
+#define Mod5Mask               (1<<7)
+
+/* modifier names.  Used to build a SetModifierMapping request or
+   to read a GetModifierMapping request.  These correspond to the
+   masks defined above. */
+#define ShiftMapIndex          0
+#define LockMapIndex           1
+#define ControlMapIndex                2
+#define Mod1MapIndex           3
+#define Mod2MapIndex           4
+#define Mod3MapIndex           5
+#define Mod4MapIndex           6
+#define Mod5MapIndex           7
+
+
+/* button masks.  Used in same manner as Key masks above. Not to be confused
+   with button names below. */
+
+#define Button1Mask            (1<<8)
+#define Button2Mask            (1<<9)
+#define Button3Mask            (1<<10)
+#define Button4Mask            (1<<11)
+#define Button5Mask            (1<<12)
+
+#define AnyModifier            (1<<15)  /* used in GrabButton, GrabKey */
+
+
+/* button names. Used as arguments to GrabButton and as detail in ButtonPress
+   and ButtonRelease events.  Not to be confused with button masks above.
+   Note that 0 is already defined above as "AnyButton".  */
+
+#define Button1                        1
+#define Button2                        2
+#define Button3                        3
+#define Button4                        4
+#define Button5                        5
+
+/* Notify modes */
+
+#define NotifyNormal           0
+#define NotifyGrab             1
+#define NotifyUngrab           2
+#define NotifyWhileGrabbed     3
+
+#define NotifyHint             1       /* for MotionNotify events */
+                      
+/* Notify detail */
+
+#define NotifyAncestor         0
+#define NotifyVirtual          1
+#define NotifyInferior         2
+#define NotifyNonlinear                3
+#define NotifyNonlinearVirtual 4
+#define NotifyPointer          5
+#define NotifyPointerRoot      6
+#define NotifyDetailNone       7
+
+/* Visibility notify */
+
+#define VisibilityUnobscured           0
+#define VisibilityPartiallyObscured    1
+#define VisibilityFullyObscured                2
+
+/* Circulation request */
+
+#define PlaceOnTop             0
+#define PlaceOnBottom          1
+
+/* protocol families */
+
+#define FamilyInternet         0       /* IPv4 */
+#define FamilyDECnet           1
+#define FamilyChaos            2
+#define FamilyInternet6                6       /* IPv6 */
+
+/* authentication families not tied to a specific protocol */
+#define FamilyServerInterpreted 5
+
+/* Property notification */
+
+#define PropertyNewValue       0
+#define PropertyDelete         1
+
+/* Color Map notification */
+
+#define ColormapUninstalled    0
+#define ColormapInstalled      1
+
+/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
+
+#define GrabModeSync           0
+#define GrabModeAsync          1
+
+/* GrabPointer, GrabKeyboard reply status */
+
+#define GrabSuccess            0
+#define AlreadyGrabbed         1
+#define GrabInvalidTime                2
+#define GrabNotViewable                3
+#define GrabFrozen             4
+
+/* AllowEvents modes */
+
+#define AsyncPointer           0
+#define SyncPointer            1
+#define ReplayPointer          2
+#define AsyncKeyboard          3
+#define SyncKeyboard           4
+#define ReplayKeyboard         5
+#define AsyncBoth              6
+#define SyncBoth               7
+
+/* Used in SetInputFocus, GetInputFocus */
+
+#define RevertToNone           (int)None
+#define RevertToPointerRoot    (int)PointerRoot
+#define RevertToParent         2
+
+/*****************************************************************
+ * ERROR CODES 
+ *****************************************************************/
+
+#define Success                   0    /* everything's okay */
+#define BadRequest        1    /* bad request code */
+#define BadValue          2    /* int parameter out of range */
+#define BadWindow         3    /* parameter not a Window */
+#define BadPixmap         4    /* parameter not a Pixmap */
+#define BadAtom                   5    /* parameter not an Atom */
+#define BadCursor         6    /* parameter not a Cursor */
+#define BadFont                   7    /* parameter not a Font */
+#define BadMatch          8    /* parameter mismatch */
+#define BadDrawable       9    /* parameter not a Pixmap or Window */
+#define BadAccess        10    /* depending on context:
+                                - key/button already grabbed
+                                - attempt to free an illegal 
+                                  cmap entry 
+                               - attempt to store into a read-only 
+                                  color map entry.
+                               - attempt to modify the access control
+                                  list from other than the local host.
+                               */
+#define BadAlloc         11    /* insufficient resources */
+#define BadColor         12    /* no such colormap */
+#define BadGC            13    /* parameter not a GC */
+#define BadIDChoice      14    /* choice not in range or already used */
+#define BadName                  15    /* font or color name doesn't exist */
+#define BadLength        16    /* Request length incorrect */
+#define BadImplementation 17   /* server is defective */
+
+#define FirstExtensionError    128
+#define LastExtensionError     255
+
+/*****************************************************************
+ * WINDOW DEFINITIONS 
+ *****************************************************************/
+
+/* Window classes used by CreateWindow */
+/* Note that CopyFromParent is already defined as 0 above */
+
+#define InputOutput            1
+#define InputOnly              2
+
+/* Window attributes for CreateWindow and ChangeWindowAttributes */
+
+#define CWBackPixmap           (1L<<0)
+#define CWBackPixel            (1L<<1)
+#define CWBorderPixmap         (1L<<2)
+#define CWBorderPixel           (1L<<3)
+#define CWBitGravity           (1L<<4)
+#define CWWinGravity           (1L<<5)
+#define CWBackingStore          (1L<<6)
+#define CWBackingPlanes                (1L<<7)
+#define CWBackingPixel         (1L<<8)
+#define CWOverrideRedirect     (1L<<9)
+#define CWSaveUnder            (1L<<10)
+#define CWEventMask            (1L<<11)
+#define CWDontPropagate                (1L<<12)
+#define CWColormap             (1L<<13)
+#define CWCursor               (1L<<14)
+
+/* ConfigureWindow structure */
+
+#define CWX                    (1<<0)
+#define CWY                    (1<<1)
+#define CWWidth                        (1<<2)
+#define CWHeight               (1<<3)
+#define CWBorderWidth          (1<<4)
+#define CWSibling              (1<<5)
+#define CWStackMode            (1<<6)
+
+
+/* Bit Gravity */
+
+#define ForgetGravity          0
+#define NorthWestGravity       1
+#define NorthGravity           2
+#define NorthEastGravity       3
+#define WestGravity            4
+#define CenterGravity          5
+#define EastGravity            6
+#define SouthWestGravity       7
+#define SouthGravity           8
+#define SouthEastGravity       9
+#define StaticGravity          10
+
+/* Window gravity + bit gravity above */
+
+#define UnmapGravity           0
+
+/* Used in CreateWindow for backing-store hint */
+
+#define NotUseful               0
+#define WhenMapped              1
+#define Always                  2
+
+/* Used in GetWindowAttributes reply */
+
+#define IsUnmapped             0
+#define IsUnviewable           1
+#define IsViewable             2
+
+/* Used in ChangeSaveSet */
+
+#define SetModeInsert           0
+#define SetModeDelete           1
+
+/* Used in ChangeCloseDownMode */
+
+#define DestroyAll              0
+#define RetainPermanent         1
+#define RetainTemporary         2
+
+/* Window stacking method (in configureWindow) */
+
+#define Above                   0
+#define Below                   1
+#define TopIf                   2
+#define BottomIf                3
+#define Opposite                4
+
+/* Circulation direction */
+
+#define RaiseLowest             0
+#define LowerHighest            1
+
+/* Property modes */
+
+#define PropModeReplace         0
+#define PropModePrepend         1
+#define PropModeAppend          2
+
+/*****************************************************************
+ * GRAPHICS DEFINITIONS
+ *****************************************************************/
+
+/* graphics functions, as in GC.alu */
+
+#define        GXclear                 0x0             /* 0 */
+#define GXand                  0x1             /* src AND dst */
+#define GXandReverse           0x2             /* src AND NOT dst */
+#define GXcopy                 0x3             /* src */
+#define GXandInverted          0x4             /* NOT src AND dst */
+#define        GXnoop                  0x5             /* dst */
+#define GXxor                  0x6             /* src XOR dst */
+#define GXor                   0x7             /* src OR dst */
+#define GXnor                  0x8             /* NOT src AND NOT dst */
+#define GXequiv                        0x9             /* NOT src XOR dst */
+#define GXinvert               0xa             /* NOT dst */
+#define GXorReverse            0xb             /* src OR NOT dst */
+#define GXcopyInverted         0xc             /* NOT src */
+#define GXorInverted           0xd             /* NOT src OR dst */
+#define GXnand                 0xe             /* NOT src OR NOT dst */
+#define GXset                  0xf             /* 1 */
+
+/* LineStyle */
+
+#define LineSolid              0
+#define LineOnOffDash          1
+#define LineDoubleDash         2
+
+/* capStyle */
+
+#define CapNotLast             0
+#define CapButt                        1
+#define CapRound               2
+#define CapProjecting          3
+
+/* joinStyle */
+
+#define JoinMiter              0
+#define JoinRound              1
+#define JoinBevel              2
+
+/* fillStyle */
+
+#define FillSolid              0
+#define FillTiled              1
+#define FillStippled           2
+#define FillOpaqueStippled     3
+
+/* fillRule */
+
+#define EvenOddRule            0
+#define WindingRule            1
+
+/* subwindow mode */
+
+#define ClipByChildren         0
+#define IncludeInferiors       1
+
+/* SetClipRectangles ordering */
+
+#define Unsorted               0
+#define YSorted                        1
+#define YXSorted               2
+#define YXBanded               3
+
+/* CoordinateMode for drawing routines */
+
+#define CoordModeOrigin                0       /* relative to the origin */
+#define CoordModePrevious       1      /* relative to previous point */
+
+/* Polygon shapes */
+
+#define Complex                        0       /* paths may intersect */
+#define Nonconvex              1       /* no paths intersect, but not convex */
+#define Convex                 2       /* wholly convex */
+
+/* Arc modes for PolyFillArc */
+
+#define ArcChord               0       /* join endpoints of arc */
+#define ArcPieSlice            1       /* join endpoints to center of arc */
+
+/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
+   GC.stateChanges */
+
+#define GCFunction              (1L<<0)
+#define GCPlaneMask             (1L<<1)
+#define GCForeground            (1L<<2)
+#define GCBackground            (1L<<3)
+#define GCLineWidth             (1L<<4)
+#define GCLineStyle             (1L<<5)
+#define GCCapStyle              (1L<<6)
+#define GCJoinStyle            (1L<<7)
+#define GCFillStyle            (1L<<8)
+#define GCFillRule             (1L<<9) 
+#define GCTile                 (1L<<10)
+#define GCStipple              (1L<<11)
+#define GCTileStipXOrigin      (1L<<12)
+#define GCTileStipYOrigin      (1L<<13)
+#define GCFont                         (1L<<14)
+#define GCSubwindowMode                (1L<<15)
+#define GCGraphicsExposures     (1L<<16)
+#define GCClipXOrigin          (1L<<17)
+#define GCClipYOrigin          (1L<<18)
+#define GCClipMask             (1L<<19)
+#define GCDashOffset           (1L<<20)
+#define GCDashList             (1L<<21)
+#define GCArcMode              (1L<<22)
+
+#define GCLastBit              22
+/*****************************************************************
+ * FONTS 
+ *****************************************************************/
+
+/* used in QueryFont -- draw direction */
+
+#define FontLeftToRight                0
+#define FontRightToLeft                1
+
+#define FontChange             255
+
+/*****************************************************************
+ *  IMAGING 
+ *****************************************************************/
+
+/* ImageFormat -- PutImage, GetImage */
+
+#define XYBitmap               0       /* depth 1, XYFormat */
+#define XYPixmap               1       /* depth == drawable depth */
+#define ZPixmap                        2       /* depth == drawable depth */
+
+/*****************************************************************
+ *  COLOR MAP STUFF 
+ *****************************************************************/
+
+/* For CreateColormap */
+
+#define AllocNone              0       /* create map with no entries */
+#define AllocAll               1       /* allocate entire map writeable */
+
+
+/* Flags used in StoreNamedColor, StoreColors */
+
+#define DoRed                  (1<<0)
+#define DoGreen                        (1<<1)
+#define DoBlue                 (1<<2)
+
+/*****************************************************************
+ * CURSOR STUFF
+ *****************************************************************/
+
+/* QueryBestSize Class */
+
+#define CursorShape            0       /* largest size that can be displayed */
+#define TileShape              1       /* size tiled fastest */
+#define StippleShape           2       /* size stippled fastest */
+
+/***************************************************************** 
+ * KEYBOARD/POINTER STUFF
+ *****************************************************************/
+
+#define AutoRepeatModeOff      0
+#define AutoRepeatModeOn       1
+#define AutoRepeatModeDefault  2
+
+#define LedModeOff             0
+#define LedModeOn              1
+
+/* masks for ChangeKeyboardControl */
+
+#define KBKeyClickPercent      (1L<<0)
+#define KBBellPercent          (1L<<1)
+#define KBBellPitch            (1L<<2)
+#define KBBellDuration         (1L<<3)
+#define KBLed                  (1L<<4)
+#define KBLedMode              (1L<<5)
+#define KBKey                  (1L<<6)
+#define KBAutoRepeatMode       (1L<<7)
+
+#define MappingSuccess         0
+#define MappingBusy            1
+#define MappingFailed          2
+
+#define MappingModifier                0
+#define MappingKeyboard                1
+#define MappingPointer         2
+
+/*****************************************************************
+ * SCREEN SAVER STUFF 
+ *****************************************************************/
+
+#define DontPreferBlanking     0
+#define PreferBlanking         1
+#define DefaultBlanking                2
+
+#define DisableScreenSaver     0
+#define DisableScreenInterval  0
+
+#define DontAllowExposures     0
+#define AllowExposures         1
+#define DefaultExposures       2
+
+/* for ForceScreenSaver */
+
+#define ScreenSaverReset 0
+#define ScreenSaverActive 1
+
+/*****************************************************************
+ * HOSTS AND CONNECTIONS
+ *****************************************************************/
+
+/* for ChangeHosts */
+
+#define HostInsert             0
+#define HostDelete             1
+
+/* for ChangeAccessControl */
+
+#define EnableAccess           1      
+#define DisableAccess          0
+
+/* Display classes  used in opening the connection 
+ * Note that the statically allocated ones are even numbered and the
+ * dynamically changeable ones are odd numbered */
+
+#define StaticGray             0
+#define GrayScale              1
+#define StaticColor            2
+#define PseudoColor            3
+#define TrueColor              4
+#define DirectColor            5
+
+
+/* Byte order  used in imageByteOrder and bitmapBitOrder */
+
+#define LSBFirst               0
+#define MSBFirst               1
+
+#endif /* X_H */
diff --git a/XOrg/headers/native/src/X11/X10.h b/XOrg/headers/native/src/X11/X10.h
new file mode 100644 (file)
index 0000000..afdb80d
--- /dev/null
@@ -0,0 +1,89 @@
+/* $Xorg: X10.h,v 1.4 2001/02/09 02:04:05 xorgcvs Exp $ */
+/* 
+ * 
+Copyright 1985, 1986, 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ * The X Window System is a Trademark of The Open Group.
+ *
+ */
+
+
+/*
+ *     X10.h - Header definition and support file for the C subroutine
+ *     interface library for V10 support routines.
+ */
+#ifndef _X10_H_
+#define _X10_H_
+
+/* Used in XDraw and XDrawFilled */
+
+typedef struct {
+       short x, y;
+       unsigned short flags;
+} Vertex;
+
+/* The meanings of the flag bits.  If the bit is 1 the predicate is true */
+
+#define VertexRelative         0x0001          /* else absolute */
+#define VertexDontDraw         0x0002          /* else draw */
+#define VertexCurved           0x0004          /* else straight */
+#define VertexStartClosed      0x0008          /* else not */
+#define VertexEndClosed                0x0010          /* else not */
+/*#define VertexDrawLastPoint  0x0020  */      /* else don't */        
+
+/*
+The VertexDrawLastPoint option has not been implemented in XDraw and 
+XDrawFilled so it shouldn't be defined. 
+*/
+
+/*
+ * XAssoc - Associations used in the XAssocTable data structure.  The 
+ * associations are used as circular queue entries in the association table
+ * which is contains an array of circular queues (buckets).
+ */
+typedef struct _XAssoc {
+       struct _XAssoc *next;   /* Next object in this bucket. */
+       struct _XAssoc *prev;   /* Previous obejct in this bucket. */
+       Display *display;       /* Display which ownes the id. */
+       XID x_id;               /* X Window System id. */
+       char *data;             /* Pointer to untyped memory. */
+} XAssoc;
+
+/* 
+ * XAssocTable - X Window System id to data structure pointer association
+ * table.  An XAssocTable is a hash table whose buckets are circular
+ * queues of XAssoc's.  The XAssocTable is constructed from an array of
+ * XAssoc's which are the circular queue headers (bucket headers).  
+ * An XAssocTable consists an XAssoc pointer that points to the first
+ * bucket in the bucket array and an integer that indicates the number
+ * of buckets in the array.
+ */
+typedef struct {
+    XAssoc *buckets;           /* Pointer to first bucket in bucket array.*/
+    int size;                  /* Table size (number of buckets). */
+} XAssocTable;
+
+XAssocTable *XCreateAssocTable();
+char *XLookUpAssoc();
+
+#endif /* _X10_H_ */
diff --git a/XOrg/headers/native/src/X11/XF86keysym.h b/XOrg/headers/native/src/X11/XF86keysym.h
new file mode 100644 (file)
index 0000000..fdb8fd6
--- /dev/null
@@ -0,0 +1,188 @@
+/* $XFree86: xc/include/XF86keysym.h,v 1.16 2003/02/11 02:51:10 dawes Exp $ */
+
+/*
+ * XFree86 vendor specific keysyms.
+ *
+ * The XFree86 keysym range is 0x10080001 - 0x1008FFFF.
+ *
+ * When adding new entries, the xc/lib/XKeysymDB file should also be
+ * updated to make the new entries visible to Xlib.
+ */
+
+/*
+ * ModeLock
+ *
+ * This one is old, and not really used any more since XKB offers this
+ * functionality.
+ */
+
+#define XF86XK_ModeLock                0x1008FF01      /* Mode Switch Lock */
+
+/*
+ * Note, 0x1008FF02 - 0x1008FF0F are free and should be used for misc new
+ * keysyms that don't fit into any of the groups below.
+ *
+ * 0x1008FF64, 0x1008FF6F, 0x1008FF71, 0x1008FF83 are no longer used,
+ * and should be used first for new keysyms.
+ *
+ * Check in keysymdef.h for generic symbols before adding new XFree86-specific
+ * symbols here.
+ */
+
+
+/*
+ * Keys found on some "Internet" keyboards.
+ */
+#define XF86XK_Standby         0x1008FF10
+#define XF86XK_AudioLowerVolume        0x1008FF11
+#define XF86XK_AudioMute       0x1008FF12
+#define XF86XK_AudioRaiseVolume        0x1008FF13
+#define XF86XK_AudioPlay       0x1008FF14
+#define XF86XK_AudioStop       0x1008FF15
+#define XF86XK_AudioPrev       0x1008FF16
+#define XF86XK_AudioNext       0x1008FF17
+#define XF86XK_HomePage                0x1008FF18
+#define XF86XK_Mail            0x1008FF19
+#define XF86XK_Start           0x1008FF1A
+#define XF86XK_Search          0x1008FF1B
+#define XF86XK_AudioRecord     0x1008FF1C
+
+/* These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere) */
+#define XF86XK_Calculator      0x1008FF1D
+#define XF86XK_Memo            0x1008FF1E
+#define XF86XK_ToDoList                0x1008FF1F
+#define XF86XK_Calendar                0x1008FF20
+#define XF86XK_PowerDown       0x1008FF21
+#define XF86XK_ContrastAdjust  0x1008FF22
+#define XF86XK_RockerUp                0x1008FF23
+#define XF86XK_RockerDown      0x1008FF24
+#define XF86XK_RockerEnter     0x1008FF25
+
+/* Some more "Internet" keyboard symbols */
+#define XF86XK_Back            0x1008FF26
+#define XF86XK_Forward         0x1008FF27
+#define XF86XK_Stop            0x1008FF28
+#define XF86XK_Refresh         0x1008FF29
+#define XF86XK_PowerOff                0x1008FF2A
+#define XF86XK_WakeUp          0x1008FF2B
+#define XF86XK_Eject            0x1008FF2C
+#define XF86XK_ScreenSaver      0x1008FF2D
+#define XF86XK_WWW              0x1008FF2E
+#define XF86XK_Sleep            0x1008FF2F
+#define XF86XK_Favorites       0x1008FF30
+#define XF86XK_AudioPause      0x1008FF31
+#define XF86XK_AudioMedia      0x1008FF32
+#define XF86XK_MyComputer      0x1008FF33
+#define XF86XK_VendorHome      0x1008FF34
+#define XF86XK_LightBulb       0x1008FF35
+#define XF86XK_Shop            0x1008FF36
+#define XF86XK_History         0x1008FF37
+#define XF86XK_OpenURL         0x1008FF38
+#define XF86XK_AddFavorite     0x1008FF39
+#define XF86XK_HotLinks                0x1008FF3A
+#define XF86XK_BrightnessAdjust        0x1008FF3B
+#define XF86XK_Finance         0x1008FF3C
+#define XF86XK_Community       0x1008FF3D
+#define XF86XK_AudioRewind     0x1008FF3E
+#define XF86XK_XF86BackForward 0x1008FF3F
+#define XF86XK_Launch0         0x1008FF40
+#define XF86XK_Launch1         0x1008FF41
+#define XF86XK_Launch2         0x1008FF42
+#define XF86XK_Launch3         0x1008FF43
+#define XF86XK_Launch4         0x1008FF44
+#define XF86XK_Launch5         0x1008FF45
+#define XF86XK_Launch6         0x1008FF46
+#define XF86XK_Launch7         0x1008FF47
+#define XF86XK_Launch8         0x1008FF48
+#define XF86XK_Launch9         0x1008FF49
+#define XF86XK_LaunchA         0x1008FF4A
+#define XF86XK_LaunchB         0x1008FF4B
+#define XF86XK_LaunchC         0x1008FF4C
+#define XF86XK_LaunchD         0x1008FF4D
+#define XF86XK_LaunchE         0x1008FF4E
+#define XF86XK_LaunchF         0x1008FF4F
+
+#define XF86XK_ApplicationLeft 0x1008FF50
+#define XF86XK_ApplicationRight        0x1008FF51
+#define XF86XK_Book            0x1008FF52
+#define XF86XK_CD              0x1008FF53
+#define XF86XK_Calculater      0x1008FF54
+#define XF86XK_Clear           0x1008FF55
+#define XF86XK_Close           0x1008FF56
+#define XF86XK_Copy            0x1008FF57
+#define XF86XK_Cut             0x1008FF58
+#define XF86XK_Display         0x1008FF59
+#define XF86XK_DOS             0x1008FF5A
+#define XF86XK_Documents       0x1008FF5B
+#define XF86XK_Excel           0x1008FF5C
+#define XF86XK_Explorer                0x1008FF5D
+#define XF86XK_Game            0x1008FF5E
+#define XF86XK_Go              0x1008FF5F
+#define XF86XK_iTouch          0x1008FF60
+#define XF86XK_LogOff          0x1008FF61
+#define XF86XK_Market          0x1008FF62
+#define XF86XK_Meeting         0x1008FF63
+#define XF86XK_MenuKB          0x1008FF65
+#define XF86XK_MenuPB          0x1008FF66
+#define XF86XK_MySites         0x1008FF67
+#define XF86XK_New             0x1008FF68
+#define XF86XK_News            0x1008FF69
+#define XF86XK_OfficeHome      0x1008FF6A
+#define XF86XK_Open            0x1008FF6B
+#define XF86XK_Option          0x1008FF6C
+#define XF86XK_Paste           0x1008FF6D
+#define XF86XK_Phone           0x1008FF6E
+#define XF86XK_Q               0x1008FF70
+#define XF86XK_Reply           0x1008FF72
+#define XF86XK_Reload          0x1008FF73
+#define XF86XK_RotateWindows   0x1008FF74
+#define XF86XK_RotationPB      0x1008FF75
+#define XF86XK_RotationKB      0x1008FF76
+#define XF86XK_Save            0x1008FF77
+#define XF86XK_ScrollUp                0x1008FF78
+#define XF86XK_ScrollDown      0x1008FF79
+#define XF86XK_ScrollClick     0x1008FF7A
+#define XF86XK_Send            0x1008FF7B
+#define XF86XK_Spell           0x1008FF7C
+#define XF86XK_SplitScreen     0x1008FF7D
+#define XF86XK_Support         0x1008FF7E
+#define XF86XK_TaskPane                0x1008FF7F
+#define XF86XK_Terminal                0x1008FF80
+#define XF86XK_Tools           0x1008FF81
+#define XF86XK_Travel          0x1008FF82
+#define XF86XK_UserPB          0x1008FF84
+#define XF86XK_User1KB         0x1008FF85
+#define XF86XK_User2KB         0x1008FF86
+#define XF86XK_Video           0x1008FF87
+#define XF86XK_WheelButton     0x1008FF88
+#define XF86XK_Word            0x1008FF89
+#define XF86XK_Xfer            0x1008FF8A
+#define XF86XK_ZoomIn          0x1008FF8B
+#define XF86XK_ZoomOut         0x1008FF8C
+
+#define XF86XK_Away            0x1008FF8D
+#define XF86XK_Messenger       0x1008FF8E
+#define XF86XK_WebCam          0x1008FF8F
+#define XF86XK_MailForward     0x1008FF90
+#define XF86XK_Pictures                0x1008FF91
+#define XF86XK_Music           0x1008FF92
+
+/* Keys for special action keys (hot keys) */
+#define XF86XK_Switch_VT_1     0x1008FE01
+#define XF86XK_Switch_VT_2     0x1008FE02
+#define XF86XK_Switch_VT_3     0x1008FE03
+#define XF86XK_Switch_VT_4     0x1008FE04
+#define XF86XK_Switch_VT_5     0x1008FE05
+#define XF86XK_Switch_VT_6     0x1008FE06
+#define XF86XK_Switch_VT_7     0x1008FE07
+#define XF86XK_Switch_VT_8     0x1008FE08
+#define XF86XK_Switch_VT_9     0x1008FE09
+#define XF86XK_Switch_VT_10    0x1008FE0A
+#define XF86XK_Switch_VT_11    0x1008FE0B
+#define XF86XK_Switch_VT_12    0x1008FE0C
+
+#define XF86XK_Ungrab          0x1008FE20
+#define XF86XK_ClearGrab       0x1008FE21
+#define XF86XK_Next_VMode      0x1008FE22
+#define XF86XK_Prev_VMode      0x1008FE23
+
diff --git a/XOrg/headers/native/src/X11/XKBlib.h b/XOrg/headers/native/src/X11/XKBlib.h
new file mode 100644 (file)
index 0000000..6a5dc8a
--- /dev/null
@@ -0,0 +1,1151 @@
+/* $Xorg: XKBlib.h,v 1.6 2000/08/17 19:45:03 cpqbld Exp $ */
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be 
+used in advertising or publicity pertaining to distribution 
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability 
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+/* $XFree86: xc/lib/X11/XKBlib.h,v 3.5 2003/04/17 02:06:31 dawes Exp $ */
+
+#ifndef _XKBLIB_H_
+#define _XKBLIB_H_
+
+#include <X11/Xlib.h>
+#include <X11/extensions/XKBstr.h>
+
+typedef struct _XkbAnyEvent {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* # of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request? */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XKB event minor code */
+       unsigned int    device;         /* device ID */
+} XkbAnyEvent;
+
+typedef struct _XkbNewKeyboardNotify {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request? */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XkbNewKeyboardNotify */
+       int             device;         /* device ID */
+       int             old_device;     /* device ID of previous keyboard */
+       int             min_key_code;   /* minimum key code */
+       int             max_key_code;   /* maximum key code */
+       int             old_min_key_code;/* min key code of previous kbd */
+       int             old_max_key_code;/* max key code of previous kbd */
+       unsigned int    changed;        /* changed aspects of the keyboard */
+       char            req_major;      /* major and minor opcode of req */
+       char            req_minor;      /* that caused change, if applicable */
+} XkbNewKeyboardNotifyEvent;
+
+typedef struct _XkbMapNotifyEvent {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XkbMapNotify */
+       int             device;         /* device ID */
+       unsigned int    changed;        /* fields which have been changed */
+       unsigned int    flags;          /* reserved */
+       int             first_type;     /* first changed key type */
+       int             num_types;      /* number of changed key types */
+       KeyCode         min_key_code;
+       KeyCode         max_key_code;
+       KeyCode         first_key_sym;
+       KeyCode         first_key_act;
+       KeyCode         first_key_behavior;
+       KeyCode         first_key_explicit;
+       KeyCode         first_modmap_key;  
+       KeyCode         first_vmodmap_key;
+       int             num_key_syms;
+       int             num_key_acts;
+       int             num_key_behaviors;
+       int             num_key_explicit;
+       int             num_modmap_keys;
+       int             num_vmodmap_keys;
+       unsigned int    vmods;          /* mask of changed virtual mods */
+} XkbMapNotifyEvent;
+
+typedef struct _XkbStateNotifyEvent {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* # of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request? */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XkbStateNotify */
+       int             device;         /* device ID */
+       unsigned int    changed;        /* mask of changed state components */
+       int             group;          /* keyboard group */
+       int             base_group;     /* base keyboard group */
+       int             latched_group;  /* latched keyboard group */
+       int             locked_group;   /* locked keyboard group */
+       unsigned int    mods;           /* modifier state */
+       unsigned int    base_mods;      /* base modifier state */
+       unsigned int    latched_mods;   /* latched modifiers */
+       unsigned int    locked_mods;    /* locked modifiers */
+       int             compat_state;   /* compatibility state */
+       unsigned char   grab_mods;      /* mods used for grabs */
+       unsigned char   compat_grab_mods;/* grab mods for non-XKB clients */
+       unsigned char   lookup_mods;    /* mods sent to clients */
+       unsigned char   compat_lookup_mods; /* mods sent to non-XKB clients */
+       int             ptr_buttons;    /* pointer button state */
+       KeyCode         keycode;        /* keycode that caused the change */
+       char            event_type;     /* KeyPress or KeyRelease */
+       char            req_major;      /* Major opcode of request */
+       char            req_minor;      /* Minor opcode of request */
+} XkbStateNotifyEvent;
+
+typedef struct _XkbControlsNotify {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request? */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XkbControlsNotify */
+       int             device;         /* device ID */
+       unsigned int    changed_ctrls;  /* controls with changed sub-values */
+       unsigned int    enabled_ctrls;  /* controls currently enabled */
+       unsigned int    enabled_ctrl_changes;/* controls just {en,dis}abled */
+       int             num_groups;     /* total groups on keyboard */
+       KeyCode         keycode;        /* key that caused change or 0 */
+       char            event_type;     /* type of event that caused change */
+       char            req_major;      /* if keycode==0, major and minor */
+       char            req_minor;      /* opcode of req that caused change */
+} XkbControlsNotifyEvent;
+
+typedef struct _XkbIndicatorNotify {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request? */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XkbIndicatorNotify */
+       int             device;         /* device ID */
+       unsigned int    changed;        /* indicators with new state or map */
+       unsigned int    state;          /* current state of all indicators */
+} XkbIndicatorNotifyEvent;
+
+typedef struct _XkbNamesNotify {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request? */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XkbNamesNotify */
+       int             device;         /* device ID */
+       unsigned int    changed;        /* names that have changed */
+       int             first_type;     /* first key type with new name */
+       int             num_types;      /* number of key types with new names */
+       int             first_lvl;      /* first key type new new level names */
+       int             num_lvls;       /* # of key types w/new level names */
+       int             num_aliases;    /* total number of key aliases*/
+       int             num_radio_groups;/* total number of radio groups */
+       unsigned int    changed_vmods;  /* virtual modifiers with new names */
+       unsigned int    changed_groups; /* groups with new names */
+       unsigned int    changed_indicators;/* indicators with new names */
+       int             first_key;      /* first key with new name */
+       int             num_keys;       /* number of keys with new names */
+} XkbNamesNotifyEvent;
+
+typedef struct _XkbCompatMapNotify {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request? */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XkbCompatMapNotify */
+       int             device;         /* device ID */
+       unsigned int    changed_groups; /* groups with new compat maps */
+       int             first_si;       /* first new symbol interp */
+       int             num_si;         /* number of new symbol interps */
+       int             num_total_si;   /* total # of symbol interps */
+} XkbCompatMapNotifyEvent;
+
+typedef struct _XkbBellNotify {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request? */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XkbBellNotify */
+       int             device;         /* device ID */
+       int             percent;        /* requested volume as a % of maximum */
+       int             pitch;          /* requested pitch in Hz */
+       int             duration;       /* requested duration in useconds */
+       int             bell_class;     /* (input extension) feedback class */
+       int             bell_id;        /* (input extension) ID of feedback */
+       Atom            name;           /* "name" of requested bell */
+       Window          window;         /* window associated with event */
+       Bool            event_only;     /* "event only" requested */
+} XkbBellNotifyEvent;
+
+typedef struct _XkbActionMessage {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request? */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XkbActionMessage */
+       int             device;         /* device ID */
+       KeyCode         keycode;        /* key that generated the event */
+       Bool            press;          /* true if act caused by key press */
+       Bool            key_event_follows;/* true if key event also generated */
+       int             group;          /* effective group */
+       unsigned int    mods;           /* effective mods */
+       char            message[XkbActionMessageLength+1]; 
+                                       /* message -- leave space for NUL */
+} XkbActionMessageEvent;
+
+typedef struct _XkbAccessXNotify {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request? */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XkbAccessXNotify */
+       int             device;         /* device ID */
+       int             detail;         /* XkbAXN_* */
+       int             keycode;        /* key of event */
+       int             sk_delay;       /* current slow keys delay */
+       int             debounce_delay; /* current debounce delay */
+} XkbAccessXNotifyEvent;
+
+typedef struct _XkbExtensionDeviceNotify {
+       int             type;           /* XkbAnyEvent */
+       unsigned long   serial;         /* of last req processed by server */
+       Bool            send_event;     /* is this from a SendEvent request? */
+       Display *       display;        /* Display the event was read from */
+       Time            time;           /* milliseconds */
+       int             xkb_type;       /* XkbExtensionDeviceNotify */
+       int             device;         /* device ID */
+       unsigned int    reason;         /* reason for the event */      
+       unsigned int    supported;      /* mask of supported features */        
+       unsigned int    unsupported;    /* mask of unsupported features */
+                                       /* that some app tried to use */
+       int             first_btn;      /* first button that changed */
+       int             num_btns;       /* range of buttons changed */
+       unsigned int    leds_defined;   /* indicators with names or maps */
+       unsigned int    led_state;      /* current state of the indicators */
+       int             led_class;      /* feedback class for led changes */
+       int             led_id;         /* feedback id for led changes */
+} XkbExtensionDeviceNotifyEvent;
+
+typedef union _XkbEvent {
+       int                             type;
+       XkbAnyEvent                     any;
+       XkbNewKeyboardNotifyEvent       new_kbd;
+       XkbMapNotifyEvent               map;
+       XkbStateNotifyEvent             state;
+       XkbControlsNotifyEvent          ctrls;
+       XkbIndicatorNotifyEvent         indicators;
+       XkbNamesNotifyEvent             names;
+       XkbCompatMapNotifyEvent         compat;
+       XkbBellNotifyEvent              bell;
+       XkbActionMessageEvent           message;
+       XkbAccessXNotifyEvent           accessx;
+       XkbExtensionDeviceNotifyEvent   device;
+       XEvent                          core;
+} XkbEvent;
+
+typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr;
+
+       /* XkbOpenDisplay error codes */
+#define        XkbOD_Success           0
+#define        XkbOD_BadLibraryVersion 1
+#define        XkbOD_ConnectionRefused 2
+#define        XkbOD_NonXkbServer      3
+#define        XkbOD_BadServerVersion  4
+
+       /* Values for XlibFlags */
+#define        XkbLC_ForceLatin1Lookup         (1<<0)
+#define        XkbLC_ConsumeLookupMods         (1<<1)
+#define        XkbLC_AlwaysConsumeShiftAndLock (1<<2)
+#define        XkbLC_IgnoreNewKeyboards        (1<<3)
+#define        XkbLC_ControlFallback           (1<<4)
+#define        XkbLC_ConsumeKeysOnComposeFail  (1<<29)
+#define        XkbLC_ComposeLED                (1<<30)
+#define        XkbLC_BeepOnComposeFail         (1<<31)
+
+#define        XkbLC_AllComposeControls        (0xc0000000)
+#define        XkbLC_AllControls               (0xc000001f)
+
+_XFUNCPROTOBEGIN
+
+extern Bool    XkbIgnoreExtension(
+       Bool                    /* ignore */
+);
+
+extern Display *XkbOpenDisplay(
+       char *                  /* name */,
+       int *                   /* ev_rtrn */,
+       int *                   /* err_rtrn */,
+       int *                   /* major_rtrn */,
+       int *                   /* minor_rtrn */,
+       int *                   /* reason */
+);
+
+extern Bool    XkbQueryExtension(
+       Display *               /* dpy */,
+       int *                   /* opcodeReturn */,
+       int *                   /* eventBaseReturn */,
+       int *                   /* errorBaseReturn */,
+       int *                   /* majorRtrn */,
+       int *                   /* minorRtrn */
+);
+
+extern Bool    XkbUseExtension(
+       Display *               /* dpy */,
+       int *                   /* major_rtrn */,
+       int *                   /* minor_rtrn */
+);
+
+extern Bool    XkbLibraryVersion(
+       int *                   /* libMajorRtrn */,
+       int *                   /* libMinorRtrn */
+);
+
+extern unsigned int    XkbSetXlibControls(
+       Display*                /* dpy */,
+       unsigned int            /* affect */,
+       unsigned int            /* values */
+);
+
+extern unsigned int    XkbGetXlibControls(
+       Display*                /* dpy */
+);
+
+extern unsigned int    XkbXlibControlsImplemented(void);
+
+typedef        Atom    (*XkbInternAtomFunc)(
+       Display *               /* dpy */,
+       _Xconst char *          /* name */,
+       Bool                    /* only_if_exists */
+);
+
+typedef char * (*XkbGetAtomNameFunc)(
+       Display *               /* dpy */,
+       Atom                    /* atom */
+);
+
+extern void            XkbSetAtomFuncs(
+       XkbInternAtomFunc       /* getAtom */,
+       XkbGetAtomNameFunc      /* getName */
+);
+
+extern KeySym XkbKeycodeToKeysym(
+               Display *       /* dpy */,
+#if NeedWidePrototypes
+                unsigned int   /* kc */,
+#else
+                KeyCode        /* kc */,
+#endif
+                int            /* group */,
+                int            /* level */
+);
+
+extern unsigned int    XkbKeysymToModifiers(
+    Display *                  /* dpy */,
+    KeySym                     /* ks */
+);
+
+extern Bool            XkbLookupKeySym(
+    Display *                  /* dpy */,
+    KeyCode                    /* keycode */,
+    unsigned int               /* modifiers */,
+    unsigned int *             /* modifiers_return */,
+    KeySym *                   /* keysym_return */
+);
+
+extern int             XkbLookupKeyBinding(
+    Display *                  /* dpy */,
+    KeySym                     /* sym_rtrn */,
+    unsigned int               /* mods */,
+    char *                     /* buffer */,
+    int                        /* nbytes */,
+    int *                      /* extra_rtrn */
+);
+
+extern Bool            XkbTranslateKeyCode(
+    XkbDescPtr                 /* xkb */,
+    KeyCode                    /* keycode */,
+    unsigned int               /* modifiers */,
+    unsigned int *             /* modifiers_return */,
+    KeySym *                   /* keysym_return */
+);
+
+extern int             XkbTranslateKeySym(
+    Display *                  /* dpy */,
+    register KeySym *          /* sym_return */,
+    unsigned int               /* modifiers */,
+    char *                     /* buffer */,
+    int                        /* nbytes */,
+    int *                      /* extra_rtrn */
+);
+
+extern Bool    XkbSetAutoRepeatRate(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* delay */,
+       unsigned int            /* interval */
+);
+
+extern Bool    XkbGetAutoRepeatRate(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int *          /* delayRtrn */,
+       unsigned int *          /* intervalRtrn */
+);
+
+extern Bool    XkbChangeEnabledControls(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* affect */,
+       unsigned int            /* values */
+);
+
+extern Bool    XkbDeviceBell(
+       Display *               /* dpy */,
+       Window                  /* win */,
+       int                     /* deviceSpec */,
+       int                     /* bellClass */,
+       int                     /* bellID */,
+       int                     /* percent */,
+       Atom                    /* name */
+);
+
+extern Bool    XkbForceDeviceBell(
+       Display *               /* dpy */,
+       int                     /* deviceSpec */,
+       int                     /* bellClass */,
+       int                     /* bellID */,
+       int                     /* percent */
+);
+
+extern Bool    XkbDeviceBellEvent(
+       Display *               /* dpy */,
+       Window                  /* win */,
+       int                     /* deviceSpec */,
+       int                     /* bellClass */,
+       int                     /* bellID */,
+       int                     /* percent */,
+       Atom                    /* name */
+);
+
+extern Bool    XkbBell(
+       Display *               /* dpy */,
+       Window                  /* win */,
+       int                     /* percent */,
+       Atom                    /* name */
+);
+
+extern Bool    XkbForceBell(
+       Display *               /* dpy */,
+       int                     /* percent */
+);
+
+extern Bool    XkbBellEvent(
+       Display *               /* dpy */,
+       Window                  /* win */,
+       int                     /* percent */,
+       Atom                    /* name */
+);
+
+extern Bool    XkbSelectEvents(
+       Display *               /* dpy */,
+       unsigned int            /* deviceID */,
+       unsigned int            /* affect */,
+       unsigned int            /* values */
+);
+
+extern Bool    XkbSelectEventDetails(
+       Display *               /* dpy */,
+       unsigned int            /* deviceID */,
+       unsigned int            /* eventType */,
+       unsigned long           /* affect */,
+       unsigned long           /* details */
+);
+
+extern void    XkbNoteMapChanges(
+    XkbMapChangesPtr           /* old */,
+    XkbMapNotifyEvent  *       /* new */,
+    unsigned int               /* wanted */
+);
+
+extern void    XkbNoteNameChanges(
+    XkbNameChangesPtr          /* old */,
+    XkbNamesNotifyEvent        *       /* new */,
+    unsigned int               /* wanted */
+);
+
+extern Status  XkbGetIndicatorState(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int *          /* pStateRtrn */
+);
+
+extern Status  XkbGetDeviceIndicatorState(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* ledClass */,
+       unsigned int            /* ledID */,
+       unsigned int *          /* pStateRtrn */
+);
+
+extern Status   XkbGetIndicatorMap(
+       Display *               /* dpy */,
+       unsigned long           /* which */,
+       XkbDescPtr              /* desc */
+);
+
+extern Bool     XkbSetIndicatorMap(
+       Display *               /* dpy */,
+       unsigned long           /* which */,
+       XkbDescPtr              /* desc */
+);
+
+#define        XkbNoteIndicatorMapChanges(o,n,w) \
+                               ((o)->map_changes|=((n)->map_changes&(w)))
+#define        XkbNoteIndicatorStateChanges(o,n,w)\
+                               ((o)->state_changes|=((n)->state_changes&(w)))
+#define        XkbGetIndicatorMapChanges(d,x,c) \
+                               (XkbGetIndicatorMap((d),(c)->map_changes,x)
+#define        XkbChangeIndicatorMaps(d,x,c) \
+                               (XkbSetIndicatorMap((d),(c)->map_changes,x))
+
+extern Bool    XkbGetNamedIndicator(
+       Display *               /* dpy */,
+       Atom                    /* name */,
+       int *                   /* pNdxRtrn */,
+       Bool *                  /* pStateRtrn */,
+       XkbIndicatorMapPtr      /* pMapRtrn */,
+       Bool *                  /* pRealRtrn */
+);
+
+extern Bool    XkbGetNamedDeviceIndicator(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* ledClass */,
+       unsigned int            /* ledID */,
+       Atom                    /* name */,
+       int *                   /* pNdxRtrn */,
+       Bool *                  /* pStateRtrn */,
+       XkbIndicatorMapPtr      /* pMapRtrn */,
+       Bool *                  /* pRealRtrn */
+);
+
+extern Bool    XkbSetNamedIndicator(
+       Display *               /* dpy */,
+       Atom                    /* name */,
+       Bool                    /* changeState */,
+       Bool                    /* state */,
+       Bool                    /* createNewMap */,
+       XkbIndicatorMapPtr      /* pMap */
+);
+
+extern Bool    XkbSetNamedDeviceIndicator(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* ledClass */,
+       unsigned int            /* ledID */,
+       Atom                    /* name */,
+       Bool                    /* changeState */,
+       Bool                    /* state */,
+       Bool                    /* createNewMap */,
+       XkbIndicatorMapPtr      /* pMap */
+);
+
+extern Bool    XkbLockModifiers(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* affect */,
+       unsigned int            /* values */
+);
+
+extern Bool    XkbLatchModifiers(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* affect */,
+       unsigned int            /* values */
+);
+
+extern Bool    XkbLockGroup(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* group */
+);
+
+extern Bool    XkbLatchGroup(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* group */
+);
+
+extern Bool    XkbSetServerInternalMods(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* affectReal */,
+       unsigned int            /* realValues */,
+       unsigned int            /* affectVirtual */,
+       unsigned int            /* virtualValues */
+);
+
+extern Bool    XkbSetIgnoreLockMods(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* affectReal */,
+       unsigned int            /* realValues */,
+       unsigned int            /* affectVirtual */,
+       unsigned int            /* virtualValues */
+);
+
+
+extern Bool    XkbVirtualModsToReal(
+       XkbDescPtr              /* xkb */,
+       unsigned int            /* virtual_mask */,
+       unsigned int *          /* mask_rtrn */
+);
+
+extern Bool    XkbComputeEffectiveMap(
+       XkbDescPtr              /* xkb */,
+       XkbKeyTypePtr           /* type */,
+       unsigned char *         /* map_rtrn */
+);
+
+extern Status XkbInitCanonicalKeyTypes(
+    XkbDescPtr                 /* xkb */,
+    unsigned int               /* which */,
+    int                                /* keypadVMod */
+);
+
+extern XkbDescPtr XkbAllocKeyboard(
+       void
+);
+
+extern void    XkbFreeKeyboard(
+       XkbDescPtr              /* xkb */,
+       unsigned int            /* which */,
+       Bool                    /* freeDesc */
+);
+
+extern Status XkbAllocClientMap(
+       XkbDescPtr              /* xkb */,
+       unsigned int            /* which */,
+       unsigned int            /* nTypes */
+);
+
+extern Status XkbAllocServerMap(
+       XkbDescPtr              /* xkb */,
+       unsigned int            /* which */,
+       unsigned int            /* nActions */
+);
+
+extern void    XkbFreeClientMap(
+    XkbDescPtr                 /* xkb */,
+    unsigned int               /* what */,
+    Bool                       /* freeMap */
+);
+
+extern void    XkbFreeServerMap(
+    XkbDescPtr                 /* xkb */,
+    unsigned int               /* what */,
+    Bool                       /* freeMap */
+);
+
+extern XkbKeyTypePtr   XkbAddKeyType(
+    XkbDescPtr                 /* xkb */,
+    Atom                       /* name */,
+    int                                /* map_count */,
+    Bool                       /* want_preserve */,
+    int                                /* num_lvls */
+);
+
+extern Status XkbAllocIndicatorMaps(
+       XkbDescPtr              /* xkb */
+);
+
+extern void XkbFreeIndicatorMaps(
+    XkbDescPtr                 /* xkb */
+);
+
+extern XkbDescPtr XkbGetMap(
+       Display *               /* dpy */,
+       unsigned int            /* which */,
+       unsigned int            /* deviceSpec */
+);
+
+extern Status  XkbGetUpdatedMap(
+       Display *               /* dpy */,
+       unsigned int            /* which */,
+       XkbDescPtr              /* desc */
+);
+
+extern Status  XkbGetMapChanges(
+    Display *                  /* dpy */,
+    XkbDescPtr                 /* xkb */,
+    XkbMapChangesPtr           /* changes */
+);
+
+
+extern Status  XkbRefreshKeyboardMapping(
+    XkbMapNotifyEvent *                /* event */
+);
+
+extern Status  XkbGetKeyTypes(
+    Display *                  /* dpy */,
+    unsigned int               /* first */,
+    unsigned int               /* num */,
+    XkbDescPtr                 /* xkb */
+);
+
+extern Status  XkbGetKeySyms(
+    Display *                  /* dpy */,
+    unsigned int               /* first */,
+    unsigned int               /* num */,
+    XkbDescPtr                 /* xkb */
+);
+
+extern Status  XkbGetKeyActions(
+    Display *                  /* dpy */,
+    unsigned int               /* first */,
+    unsigned int               /* num */,
+    XkbDescPtr                 /* xkb */
+);
+
+extern Status  XkbGetKeyBehaviors(
+       Display *               /* dpy */,
+       unsigned int            /* firstKey */,
+       unsigned int            /* nKeys */,
+       XkbDescPtr              /* desc */
+);
+
+extern Status  XkbGetVirtualMods(
+       Display *               /* dpy */,
+       unsigned int            /* which */,
+       XkbDescPtr              /* desc */
+);
+
+extern Status  XkbGetKeyExplicitComponents(
+       Display *               /* dpy */,
+       unsigned int            /* firstKey */,
+       unsigned int            /* nKeys */,
+       XkbDescPtr              /* desc */
+);
+
+extern Status  XkbGetKeyModifierMap(
+       Display *               /* dpy */,
+       unsigned int            /* firstKey */,
+       unsigned int            /* nKeys */,
+       XkbDescPtr              /* desc */
+);
+
+extern Status  XkbGetKeyVirtualModMap(
+       Display *               /* dpy */,
+       unsigned int            /* first */,
+       unsigned int            /* num */,
+       XkbDescPtr              /* xkb */
+);
+
+extern Status  XkbAllocControls(
+       XkbDescPtr              /* xkb */,
+       unsigned int            /* which*/
+);
+
+extern void    XkbFreeControls(
+       XkbDescPtr              /* xkb */,
+       unsigned int            /* which */,
+       Bool                    /* freeMap */
+);
+
+extern Status  XkbGetControls(
+       Display *               /* dpy */,
+       unsigned long           /* which */,
+       XkbDescPtr              /* desc */
+);
+
+extern Bool    XkbSetControls(
+       Display *               /* dpy */,
+       unsigned long           /* which */,
+       XkbDescPtr              /* desc */
+);
+
+extern void    XkbNoteControlsChanges(
+    XkbControlsChangesPtr      /* old */,
+    XkbControlsNotifyEvent *   /* new */,
+    unsigned int               /* wanted */
+);
+
+#define        XkbGetControlsChanges(d,x,c)    XkbGetControls(d,(c)->changed_ctrls,x)
+#define        XkbChangeControls(d,x,c)        XkbSetControls(d,(c)->changed_ctrls,x)
+
+extern Status  XkbAllocCompatMap(
+    XkbDescPtr                 /* xkb */,
+    unsigned int               /* which */,
+    unsigned int               /* nInterpret */
+);
+
+extern void    XkbFreeCompatMap(
+    XkbDescPtr                 /* xkb */,
+    unsigned int               /* which */,
+    Bool                       /* freeMap */
+);
+
+extern Status XkbGetCompatMap(
+       Display *               /* dpy */,
+       unsigned int            /* which */,
+       XkbDescPtr              /* xkb */
+);
+
+extern Bool XkbSetCompatMap(
+       Display *               /* dpy */,
+       unsigned int            /* which */,
+       XkbDescPtr              /* xkb */,
+       Bool                    /* updateActions */
+);
+
+extern XkbSymInterpretPtr XkbAddSymInterpret(
+       XkbDescPtr              /* xkb */,
+       XkbSymInterpretPtr      /* si */,
+       Bool                    /* updateMap */,
+       XkbChangesPtr           /* changes */
+);
+
+extern Status XkbAllocNames(
+       XkbDescPtr              /* xkb */,
+       unsigned int            /* which */,
+       int                     /* nTotalRG */,
+       int                     /* nTotalAliases */
+);
+
+extern Status  XkbGetNames(
+       Display *               /* dpy */,
+       unsigned int            /* which */,
+       XkbDescPtr              /* desc */
+);
+
+extern Bool    XkbSetNames(
+       Display *               /* dpy */,
+       unsigned int            /* which */,
+       unsigned int            /* firstType */,
+       unsigned int            /* nTypes */,
+       XkbDescPtr              /* desc */
+);
+
+extern Bool    XkbChangeNames(
+       Display *               /* dpy */,
+       XkbDescPtr              /* xkb */,
+       XkbNameChangesPtr       /* changes */
+);
+
+extern void XkbFreeNames(
+       XkbDescPtr              /* xkb */,
+       unsigned int            /* which */,
+       Bool                    /* freeMap */
+);
+
+
+extern Status  XkbGetState(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       XkbStatePtr             /* rtrnState */
+);
+
+extern Bool    XkbSetMap(
+       Display *               /* dpy */,
+       unsigned int            /* which */,
+       XkbDescPtr              /* desc */
+);
+
+extern Bool    XkbChangeMap(
+       Display*                /* dpy */,
+       XkbDescPtr              /* desc */,
+       XkbMapChangesPtr        /* changes */
+);
+
+extern Bool    XkbSetDetectableAutoRepeat(
+       Display *               /* dpy */,
+       Bool                    /* detectable */,
+       Bool *                  /* supported */
+);
+
+extern Bool    XkbGetDetectableAutoRepeat(
+       Display *               /* dpy */,
+       Bool *                  /* supported */
+);
+
+extern Bool    XkbSetAutoResetControls(
+    Display *                  /* dpy */,
+    unsigned int               /* changes */,
+    unsigned int *             /* auto_ctrls */,
+    unsigned int *             /* auto_values */
+);
+
+extern Bool    XkbGetAutoResetControls(
+    Display *                  /* dpy */,
+    unsigned int *             /* auto_ctrls */,
+    unsigned int *             /* auto_ctrl_values */
+);
+
+extern Bool    XkbSetPerClientControls(
+    Display *                  /* dpy */,
+    unsigned int               /* change */,
+    unsigned int *             /* values */
+);
+
+extern Bool    XkbGetPerClientControls(
+    Display *                  /* dpy */,
+    unsigned int *             /* ctrls */
+);
+
+extern Status XkbCopyKeyType(
+    XkbKeyTypePtr      /* from */,
+    XkbKeyTypePtr      /* into */
+);
+
+extern Status XkbCopyKeyTypes(
+    XkbKeyTypePtr      /* from */,
+    XkbKeyTypePtr      /* into */,
+    int                        /* num_types */
+);
+
+extern Status  XkbResizeKeyType(
+    XkbDescPtr         /* xkb */,
+    int                        /* type_ndx */,
+    int                        /* map_count */,
+    Bool               /* want_preserve */,
+    int                        /* new_num_lvls */
+);
+
+extern KeySym *XkbResizeKeySyms(
+       XkbDescPtr              /* desc */,
+       int                     /* forKey */,
+       int                     /* symsNeeded */
+);
+
+extern XkbAction *XkbResizeKeyActions(
+       XkbDescPtr              /* desc */,
+       int                     /* forKey */,
+       int                     /* actsNeeded */
+);
+
+extern Status XkbChangeTypesOfKey(
+       XkbDescPtr              /* xkb */,
+       int                     /* key */,
+       int                     /* num_groups */,
+       unsigned int            /* groups */,
+       int *                   /* newTypes */,
+       XkbMapChangesPtr        /* pChanges */
+);
+
+extern  Status   XkbChangeKeycodeRange(
+       XkbDescPtr              /* xkb */,
+       int                     /* minKC */,
+       int                     /* maxKC */,
+       XkbChangesPtr           /* changes */
+);
+
+/***====================================================================***/
+
+extern XkbComponentListPtr     XkbListComponents(
+       Display *               /* dpy */,
+       unsigned int            /* deviceSpec */,
+       XkbComponentNamesPtr    /* ptrns */,
+       int *                   /* max_inout */
+);
+
+extern void XkbFreeComponentList(
+       XkbComponentListPtr     /* list */
+);
+
+extern XkbDescPtr XkbGetKeyboard(
+       Display *               /* dpy */,
+       unsigned int            /* which */,
+       unsigned int            /* deviceSpec */
+);
+
+extern XkbDescPtr XkbGetKeyboardByName(
+    Display *                  /* dpy */,
+    unsigned int               /* deviceSpec */,
+    XkbComponentNamesPtr       /* names */,
+    unsigned int               /* want */,
+    unsigned int               /* need */,
+    Bool                       /* load */
+);
+
+/***====================================================================***/
+
+extern int     XkbKeyTypesForCoreSymbols(      /* returns # of groups */
+    XkbDescPtr /* xkb */,                      /* keyboard device */
+    int                /* map_width */,                /* width of core KeySym array */
+    KeySym *   /* core_syms */,                /* always mapWidth symbols */
+    unsigned int       /* protected */,        /* explicit key types */
+    int *      /* types_inout */,              /* always four type indices */
+    KeySym *   /* xkb_syms_rtrn */             /* must have enough space */
+);
+
+extern Bool    XkbApplyCompatMapToKey( /* False only on error */
+    XkbDescPtr         /* xkb */,              /* keymap to be edited */
+    KeyCode            /* key */,              /* key to be updated */
+    XkbChangesPtr      /* changes */           /* resulting changes to map */
+);
+
+extern Bool    XkbUpdateMapFromCore( /* False only on error */
+    XkbDescPtr         /* xkb */,              /* XKB keyboard to be edited */
+    KeyCode            /* first_key */,        /* first changed key */
+    int                        /* num_keys */,         /* number of changed keys */
+    int                        /* map_width */,        /* width of core keymap */
+    KeySym *           /* core_keysyms */,     /* symbols from core keymap */
+    XkbChangesPtr      /* changes */           /* resulting changes */
+);
+
+/***====================================================================***/
+
+extern XkbDeviceLedInfoPtr     XkbAddDeviceLedInfo(
+       XkbDeviceInfoPtr        /* devi */,
+       unsigned int            /* ledClass */,
+       unsigned int            /* ledId */
+);
+
+extern Status                  XkbResizeDeviceButtonActions(
+       XkbDeviceInfoPtr        /* devi */,
+       unsigned int            /* newTotal */
+);
+
+extern XkbDeviceInfoPtr        XkbAllocDeviceInfo(
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* nButtons */,
+       unsigned int            /* szLeds */
+);
+
+extern void XkbFreeDeviceInfo(
+       XkbDeviceInfoPtr        /* devi */,
+       unsigned int            /* which */,
+       Bool                    /* freeDevI */
+);
+
+extern void    XkbNoteDeviceChanges(
+    XkbDeviceChangesPtr                        /* old */,
+    XkbExtensionDeviceNotifyEvent *    /* new */,
+    unsigned int                       /* wanted */
+);
+
+extern XkbDeviceInfoPtr XkbGetDeviceInfo(
+       Display *               /* dpy */,
+       unsigned int            /* which */,
+       unsigned int            /* deviceSpec */,
+       unsigned int            /* ledClass */,
+       unsigned int            /* ledID */
+);
+
+extern Status  XkbGetDeviceInfoChanges(
+       Display *               /* dpy */,
+       XkbDeviceInfoPtr        /* devi */,
+       XkbDeviceChangesPtr     /* changes */
+);
+
+extern Status  XkbGetDeviceButtonActions(
+       Display *               /* dpy */,
+       XkbDeviceInfoPtr        /* devi */,
+       Bool                    /* all */,
+       unsigned int            /* first */,
+       unsigned int            /* nBtns */
+);
+
+extern Status  XkbGetDeviceLedInfo(
+       Display *               /* dpy */,
+       XkbDeviceInfoPtr        /* devi */,
+       unsigned int            /* ledClass (class, XIDflt, XIAll) */,
+       unsigned int            /* ledId (id, XIDflt, XIAll) */,
+       unsigned int            /* which (XkbXI_Indicator{Names,Map}Mask */
+);
+
+extern Bool    XkbSetDeviceInfo(
+       Display *               /* dpy */,
+       unsigned int            /* which */,
+       XkbDeviceInfoPtr        /* devi */
+);
+
+extern Bool    XkbChangeDeviceInfo(
+       Display*                /* dpy */,
+       XkbDeviceInfoPtr        /* desc */,
+       XkbDeviceChangesPtr     /* changes */
+);
+
+extern  Bool XkbSetDeviceLedInfo(
+       Display *               /* dpy */,
+       XkbDeviceInfoPtr        /* devi */,
+       unsigned int            /* ledClass */,
+       unsigned int            /* ledID */,
+       unsigned int            /* which */
+);
+
+extern Bool XkbSetDeviceButtonActions(
+       Display *               /* dpy */,
+       XkbDeviceInfoPtr        /* devi */,
+       unsigned int            /* first */,
+       unsigned int            /* nBtns */
+);
+
+/***====================================================================***/
+
+extern char    XkbToControl(
+       char            /* c */
+);
+
+/***====================================================================***/
+
+extern Bool XkbSetDebuggingFlags(
+    Display *          /* dpy */,
+    unsigned int       /* mask */,
+    unsigned int       /* flags */,
+    char *             /* msg */,
+    unsigned int       /* ctrls_mask */,
+    unsigned int       /* ctrls */,
+    unsigned int *     /* rtrn_flags */,
+    unsigned int *     /* rtrn_ctrls */
+);
+
+extern Bool XkbApplyVirtualModChanges(
+   XkbDescPtr          /* xkb */,
+   unsigned int                /* changed */,
+   XkbChangesPtr       /* changes */
+);
+
+extern Bool XkbUpdateActionVirtualMods(
+       XkbDescPtr              /* xkb */,
+       XkbAction *             /* act */,
+       unsigned int            /* changed */
+);
+
+extern void XkbUpdateKeyTypeVirtualMods(
+       XkbDescPtr              /* xkb */,
+       XkbKeyTypePtr           /* type */,
+       unsigned int            /* changed */,
+       XkbChangesPtr           /* changes */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XKBLIB_H_ */
diff --git a/XOrg/headers/native/src/X11/XWDFile.h b/XOrg/headers/native/src/X11/XWDFile.h
new file mode 100644 (file)
index 0000000..0ce22e1
--- /dev/null
@@ -0,0 +1,114 @@
+/* $Xorg: XWDFile.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+/*
+
+Copyright 1985, 1986, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/*
+ * XWDFile.h   MIT Project Athena, X Window system window raster
+ *             image dumper, dump file format header file.
+ *
+ *  Author:    Tony Della Fera, DEC
+ *             27-Jun-85
+ * 
+ * Modifier:    William F. Wyatt, SAO
+ *              18-Nov-86  - version 6 for saving/restoring color maps
+ */
+
+#ifndef XWDFILE_H
+#define XWDFILE_H
+
+#include <X11/Xmd.h>
+
+#define XWD_FILE_VERSION 7
+#define sz_XWDheader 100
+#define sz_XWDColor 12
+
+typedef CARD32 xwdval;         /* for old broken programs */
+
+/* Values in the file are most significant byte first. */
+
+typedef struct _xwd_file_header {
+       /* header_size = SIZEOF(XWDheader) + length of null-terminated
+        * window name. */
+       CARD32 header_size B32;         
+
+       CARD32 file_version B32;        /* = XWD_FILE_VERSION above */
+       CARD32 pixmap_format B32;       /* ZPixmap or XYPixmap */
+       CARD32 pixmap_depth B32;        /* Pixmap depth */
+       CARD32 pixmap_width B32;        /* Pixmap width */
+       CARD32 pixmap_height B32;       /* Pixmap height */
+       CARD32 xoffset B32;             /* Bitmap x offset, normally 0 */
+       CARD32 byte_order B32;          /* of image data: MSBFirst, LSBFirst */
+
+       /* bitmap_unit applies to bitmaps (depth 1 format XY) only.
+        * It is the number of bits that each scanline is padded to. */
+       CARD32 bitmap_unit B32;         
+
+       CARD32 bitmap_bit_order B32;    /* bitmaps only: MSBFirst, LSBFirst */
+
+       /* bitmap_pad applies to pixmaps (non-bitmaps) only.
+        * It is the number of bits that each scanline is padded to. */
+       CARD32 bitmap_pad B32;          
+
+       CARD32 bits_per_pixel B32;      /* Bits per pixel */
+
+       /* bytes_per_line is pixmap_width padded to bitmap_unit (bitmaps)
+        * or bitmap_pad (pixmaps).  It is the delta (in bytes) to get
+        * to the same x position on an adjacent row. */
+       CARD32 bytes_per_line B32;
+       CARD32 visual_class B32;        /* Class of colormap */
+       CARD32 red_mask B32;            /* Z red mask */
+       CARD32 green_mask B32;          /* Z green mask */
+       CARD32 blue_mask B32;           /* Z blue mask */
+       CARD32 bits_per_rgb B32;        /* Log2 of distinct color values */
+       CARD32 colormap_entries B32;    /* Number of entries in colormap; not used? */
+       CARD32 ncolors B32;             /* Number of XWDColor structures */
+       CARD32 window_width B32;        /* Window width */
+       CARD32 window_height B32;       /* Window height */
+       CARD32 window_x B32;            /* Window upper left X coordinate */
+       CARD32 window_y B32;            /* Window upper left Y coordinate */
+       CARD32 window_bdrwidth B32;     /* Window border width */
+} XWDFileHeader;
+
+/* Null-terminated window name follows the above structure. */
+
+/* Next comes XWDColor structures, at offset XWDFileHeader.header_size in
+ * the file.  XWDFileHeader.ncolors tells how many XWDColor structures
+ * there are.
+ */
+
+typedef struct {
+        CARD32 pixel B32;
+        CARD16 red B16;
+       CARD16  green B16;
+       CARD16  blue B16;
+        CARD8  flags;
+        CARD8  pad;
+} XWDColor;
+
+/* Last comes the image data in the format described by XWDFileHeader. */
+
+#endif /* XWDFILE_H */
+
diff --git a/XOrg/headers/native/src/X11/Xalloca.h b/XOrg/headers/native/src/X11/Xalloca.h
new file mode 100644 (file)
index 0000000..67f2671
--- /dev/null
@@ -0,0 +1,145 @@
+/* $Xorg: Xalloca.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+
+/*
+
+Copyright 1995, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/* $XFree86: xc/include/Xalloca.h,v 3.10 2001/12/14 19:53:25 dawes Exp $ */
+
+/*
+ * The purpose of this header is to define the macros ALLOCATE_LOCAL and
+ * DEALLOCATE_LOCAL appropriately for the platform being compiled on.
+ * These macros are used to make fast, function-local memory allocations.
+ * Their characteristics are as follows:
+ *
+ * void *ALLOCATE_LOCAL(int size)
+ *    Returns a pointer to size bytes of memory, or NULL if the allocation
+ *    failed.  The memory must be freed with DEALLOCATE_LOCAL before the
+ *    function that made the allocation returns.  You should not ask for
+ *    large blocks of memory with this function, since on many platforms
+ *    the memory comes from the stack, which may have limited size.
+ *
+ * void DEALLOCATE_LOCAL(void *)
+ *    Frees the memory allocated by ALLOCATE_LOCAL.  Omission of this
+ *    step may be harmless on some platforms, but will result in
+ *    memory leaks or worse on others.
+ *
+ * Before including this file, you should define two macros,
+ * ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK, that have the
+ * same characteristics as ALLOCATE_LOCAL and DEALLOCATE_LOCAL.  The
+ * header uses the fallbacks if it doesn't know a "better" way to define
+ * ALLOCATE_LOCAL and DEALLOCATE_LOCAL.  Typical usage would be:
+ *
+ *    #define ALLOCATE_LOCAL_FALLBACK(_size) malloc(_size)
+ *    #define DEALLOCATE_LOCAL_FALLBACK(_ptr) free(_ptr)
+ *    #include "Xalloca.h"
+ */
+
+#ifndef XALLOCA_H
+#define XALLOCA_H 1
+
+#ifndef INCLUDE_ALLOCA_H
+# if defined(__SUNPRO_C)  /* Need to add more here to match Imake *.cf's */
+#  define INCLUDE_ALLOCA_H
+# endif
+#endif
+
+#ifdef INCLUDE_ALLOCA_H
+#  include <alloca.h>
+#endif
+
+#ifndef NO_ALLOCA
+/*
+ * os-dependent definition of local allocation and deallocation
+ * If you want something other than (DE)ALLOCATE_LOCAL_FALLBACK
+ * for ALLOCATE/DEALLOCATE_LOCAL then you add that in here.
+ */
+#  if defined(__HIGHC__)
+#    ifndef NCR
+       extern char *alloca();
+#      if HCVERSION < 21003
+#        define ALLOCATE_LOCAL(size)   alloca((int)(size))
+         pragma on(alloca);
+#      else /* HCVERSION >= 21003 */
+#        define        ALLOCATE_LOCAL(size)    _Alloca((int)(size))
+#      endif /* HCVERSION < 21003 */
+#    else /* NCR */
+#      define ALLOCATE_LOCAL(size)     alloca(size)
+#    endif
+#  endif /* defined(__HIGHC__) */
+
+
+#  ifdef __GNUC__
+#    ifndef alloca
+#      define alloca __builtin_alloca
+#    endif /* !alloca */
+#    define ALLOCATE_LOCAL(size) alloca((int)(size))
+#  else /* ! __GNUC__ */
+
+/*
+ * warning: old mips alloca (pre 2.10) is unusable, new one is built in
+ * Test is easy, the new one is named __builtin_alloca and comes
+ * from alloca.h which #defines alloca.
+ */
+#    ifndef NCR
+#      if defined(vax) || defined(sun) || defined(apollo) || defined(stellar) || defined(alloca)
+/*
+ * Some System V boxes extract alloca.o from /lib/libPW.a; if you
+ * decide that you don't want to use alloca, you might want to fix it here.
+ */
+/* alloca might be a macro taking one arg (hi, Sun!), so give it one. */
+#        ifndef __sgi                  /* IRIX 5/6 has definition */
+#         ifndef __QNX__
+#          define __Xnullarg           /* as nothing */
+#          ifndef X_NOT_STDC_ENV
+             extern void *alloca(__Xnullarg);
+#          else
+             extern char *alloca(__Xnullarg);
+#          endif
+#         endif /* __QNX__ */
+#        endif /* __sgi */
+#        define ALLOCATE_LOCAL(size) alloca((int)(size))
+#      endif /* who does alloca */
+#    endif /* NCR */
+#  endif /* __GNUC__ */
+
+#endif /* NO_ALLOCA */
+
+#if !defined(ALLOCATE_LOCAL)
+#  if defined(ALLOCATE_LOCAL_FALLBACK) && defined(DEALLOCATE_LOCAL_FALLBACK)
+#    define ALLOCATE_LOCAL(_size)  ALLOCATE_LOCAL_FALLBACK(_size)
+#    define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK(_ptr)
+#  else /* no fallbacks supplied; error */
+#    define ALLOCATE_LOCAL(_size)  ALLOCATE_LOCAL_FALLBACK undefined!
+#    define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK undefined!
+#  endif /* defined(ALLOCATE_LOCAL_FALLBACK && DEALLOCATE_LOCAL_FALLBACK) */
+#else
+#  if !defined(DEALLOCATE_LOCAL)
+#    define DEALLOCATE_LOCAL(_ptr) do {} while(0)
+#  endif
+#endif /* defined(ALLOCATE_LOCAL) */
+
+#endif /* XALLOCA_H */
diff --git a/XOrg/headers/native/src/X11/Xarch.h b/XOrg/headers/native/src/X11/Xarch.h
new file mode 100644 (file)
index 0000000..6e04e53
--- /dev/null
@@ -0,0 +1,126 @@
+#ifndef _XARCH_H_
+#define _XARCH_H_
+
+/*
+ * Copyright 1997 Metro Link Incorporated
+ *
+ *                           All Rights Reserved
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the names of the above listed copyright holder(s)
+ * not be used in advertising or publicity pertaining to distribution of
+ * the software without specific, written prior permission.  The above listed
+ * copyright holder(s) make(s) no representations about the suitability of
+ * this software for any purpose.  It is provided "as is" without express or
+ * implied warranty.
+ *
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD
+ * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
+ * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
+ * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/* $XFree86: xc/include/Xarch.h,v 1.10tsi Exp $ */
+
+
+/*
+ * Determine the machine's byte order.
+ */
+
+/* See if it is set in the imake config first */
+#ifdef X_BYTE_ORDER
+
+#define X_BIG_ENDIAN 4321
+#define X_LITTLE_ENDIAN 1234
+
+#else
+
+#ifdef SVR4
+#if defined(NCR) || defined(Mips) || defined(__sgi)
+#include <sys/endian.h>
+#else
+#if !defined(sun)
+#include <sys/byteorder.h>
+#endif
+#endif
+#elif defined(CSRG_BASED)
+#if defined(__NetBSD__) || defined(__OpenBSD__)
+#include <sys/types.h>
+#endif
+#include <machine/endian.h>
+#elif defined(linux)
+#if defined __STRICT_ANSI__
+#undef __STRICT_ANSI__
+#include <endian.h>
+#define __STRICT_ANSI__
+#else
+#include <endian.h>
+#endif
+/* 'endian.h' might have been included before 'Xarch.h' */
+#if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN)
+#define LITTLE_ENDIAN __LITTLE_ENDIAN
+#endif
+#if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN)
+#define BIG_ENDIAN __BIG_ENDIAN
+#endif
+#if !defined(PDP_ENDIAN) && defined(__PDP_ENDIAN)
+#define PDP_ENDIAN __PDP_ENDIAN
+#endif
+#if !defined(BYTE_ORDER) && defined(__BYTE_ORDER)
+#define BYTE_ORDER __BYTE_ORDER
+#endif
+#elif defined(Lynx)
+#if 0
+/* LynxOS 2.4.0 has wrong defines in bsd/ip.h */
+#include <bsd/in.h>
+#include <bsd/in_systm.h>
+#include <bsd/ip.h>
+#endif
+#endif
+
+#ifndef BYTE_ORDER
+#define LITTLE_ENDIAN 1234
+#define BIG_ENDIAN    4321
+
+#if defined(__QNX__) && !defined(__QNXNTO__)
+#define BYTE_ORDER LITTLE_ENDIAN
+#endif
+
+#if defined(__QNXNTO__)
+#if defined(i386) || defined(__i386__) || defined(__x86__)
+#define BYTE_ORDER LITTLE_ENDIAN
+#else
+#define BYTE_ORDER BIG_ENDIAN
+#endif
+#endif
+
+#ifdef Lynx
+#if defined(i386) || defined(__i386__) || defined(__x86__)
+#define BYTE_ORDER LITTLE_ENDIAN
+#else
+#define BYTE_ORDER BIG_ENDIAN
+#endif
+#endif
+#if (defined(sun) && defined(SVR4)) && !defined(Lynx)
+#include <sys/isa_defs.h>
+#ifdef _LITTLE_ENDIAN
+#define BYTE_ORDER LITTLE_ENDIAN
+#endif
+#ifdef _BIG_ENDIAN
+#define BYTE_ORDER BIG_ENDIAN
+#endif
+#endif /* sun */
+#endif /* BYTE_ORDER */
+
+#define X_BYTE_ORDER BYTE_ORDER
+#define X_BIG_ENDIAN BIG_ENDIAN
+#define X_LITTLE_ENDIAN LITTLE_ENDIAN
+
+#endif /* not in imake config */
+
+#endif /* _XARCH_H_ */
diff --git a/XOrg/headers/native/src/X11/Xatom.h b/XOrg/headers/native/src/X11/Xatom.h
new file mode 100644 (file)
index 0000000..485a423
--- /dev/null
@@ -0,0 +1,79 @@
+#ifndef XATOM_H
+#define XATOM_H 1
+
+/* THIS IS A GENERATED FILE
+ *
+ * Do not change!  Changing this file implies a protocol change!
+ */
+
+#define XA_PRIMARY ((Atom) 1)
+#define XA_SECONDARY ((Atom) 2)
+#define XA_ARC ((Atom) 3)
+#define XA_ATOM ((Atom) 4)
+#define XA_BITMAP ((Atom) 5)
+#define XA_CARDINAL ((Atom) 6)
+#define XA_COLORMAP ((Atom) 7)
+#define XA_CURSOR ((Atom) 8)
+#define XA_CUT_BUFFER0 ((Atom) 9)
+#define XA_CUT_BUFFER1 ((Atom) 10)
+#define XA_CUT_BUFFER2 ((Atom) 11)
+#define XA_CUT_BUFFER3 ((Atom) 12)
+#define XA_CUT_BUFFER4 ((Atom) 13)
+#define XA_CUT_BUFFER5 ((Atom) 14)
+#define XA_CUT_BUFFER6 ((Atom) 15)
+#define XA_CUT_BUFFER7 ((Atom) 16)
+#define XA_DRAWABLE ((Atom) 17)
+#define XA_FONT ((Atom) 18)
+#define XA_INTEGER ((Atom) 19)
+#define XA_PIXMAP ((Atom) 20)
+#define XA_POINT ((Atom) 21)
+#define XA_RECTANGLE ((Atom) 22)
+#define XA_RESOURCE_MANAGER ((Atom) 23)
+#define XA_RGB_COLOR_MAP ((Atom) 24)
+#define XA_RGB_BEST_MAP ((Atom) 25)
+#define XA_RGB_BLUE_MAP ((Atom) 26)
+#define XA_RGB_DEFAULT_MAP ((Atom) 27)
+#define XA_RGB_GRAY_MAP ((Atom) 28)
+#define XA_RGB_GREEN_MAP ((Atom) 29)
+#define XA_RGB_RED_MAP ((Atom) 30)
+#define XA_STRING ((Atom) 31)
+#define XA_VISUALID ((Atom) 32)
+#define XA_WINDOW ((Atom) 33)
+#define XA_WM_COMMAND ((Atom) 34)
+#define XA_WM_HINTS ((Atom) 35)
+#define XA_WM_CLIENT_MACHINE ((Atom) 36)
+#define XA_WM_ICON_NAME ((Atom) 37)
+#define XA_WM_ICON_SIZE ((Atom) 38)
+#define XA_WM_NAME ((Atom) 39)
+#define XA_WM_NORMAL_HINTS ((Atom) 40)
+#define XA_WM_SIZE_HINTS ((Atom) 41)
+#define XA_WM_ZOOM_HINTS ((Atom) 42)
+#define XA_MIN_SPACE ((Atom) 43)
+#define XA_NORM_SPACE ((Atom) 44)
+#define XA_MAX_SPACE ((Atom) 45)
+#define XA_END_SPACE ((Atom) 46)
+#define XA_SUPERSCRIPT_X ((Atom) 47)
+#define XA_SUPERSCRIPT_Y ((Atom) 48)
+#define XA_SUBSCRIPT_X ((Atom) 49)
+#define XA_SUBSCRIPT_Y ((Atom) 50)
+#define XA_UNDERLINE_POSITION ((Atom) 51)
+#define XA_UNDERLINE_THICKNESS ((Atom) 52)
+#define XA_STRIKEOUT_ASCENT ((Atom) 53)
+#define XA_STRIKEOUT_DESCENT ((Atom) 54)
+#define XA_ITALIC_ANGLE ((Atom) 55)
+#define XA_X_HEIGHT ((Atom) 56)
+#define XA_QUAD_WIDTH ((Atom) 57)
+#define XA_WEIGHT ((Atom) 58)
+#define XA_POINT_SIZE ((Atom) 59)
+#define XA_RESOLUTION ((Atom) 60)
+#define XA_COPYRIGHT ((Atom) 61)
+#define XA_NOTICE ((Atom) 62)
+#define XA_FONT_NAME ((Atom) 63)
+#define XA_FAMILY_NAME ((Atom) 64)
+#define XA_FULL_NAME ((Atom) 65)
+#define XA_CAP_HEIGHT ((Atom) 66)
+#define XA_WM_CLASS ((Atom) 67)
+#define XA_WM_TRANSIENT_FOR ((Atom) 68)
+
+#define XA_LAST_PREDEFINED ((Atom) 68)
+#endif /* XATOM_H */
diff --git a/XOrg/headers/native/src/X11/Xauth.h b/XOrg/headers/native/src/X11/Xauth.h
new file mode 100644 (file)
index 0000000..181618a
--- /dev/null
@@ -0,0 +1,158 @@
+/* $Xorg: Xauth.h,v 1.4 2001/02/09 02:03:42 xorgcvs Exp $ */
+
+/*
+
+Copyright 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/* $XFree86: xc/lib/Xau/Xauth.h,v 1.5 2001/12/14 19:54:36 dawes Exp $ */
+
+#ifndef _Xauth_h
+#define _Xauth_h
+
+typedef struct xauth {
+    unsigned short   family;
+    unsigned short   address_length;
+    char           *address;
+    unsigned short   number_length;
+    char           *number;
+    unsigned short   name_length;
+    char           *name;
+    unsigned short   data_length;
+    char           *data;
+} Xauth;
+
+#ifndef _XAUTH_STRUCT_ONLY
+
+# include   <X11/Xfuncproto.h>
+# include   <X11/Xfuncs.h>
+
+# include   <stdio.h>
+
+# define FamilyLocal (256)     /* not part of X standard (i.e. X.h) */
+# define FamilyWild  (65535)
+# define FamilyNetname    (254)   /* not part of X standard */
+# define FamilyKrb5Principal (253) /* Kerberos 5 principal name */
+# define FamilyLocalHost (252) /* for local non-net authentication */
+
+
+_XFUNCPROTOBEGIN
+
+char *XauFileName(void);
+
+Xauth *XauReadAuth(
+FILE*  /* auth_file */
+);
+
+int XauLockAuth(
+_Xconst char*  /* file_name */,
+int            /* retries */,
+int            /* timeout */,
+long           /* dead */
+);
+
+int XauUnlockAuth(
+_Xconst char*  /* file_name */
+);
+
+int XauWriteAuth(
+FILE*          /* auth_file */,
+Xauth*         /* auth */
+);
+
+Xauth *XauGetAuthByAddr(
+#if NeedWidePrototypes
+unsigned int   /* family */,
+unsigned int   /* address_length */,
+#else
+unsigned short /* family */,
+unsigned short /* address_length */,
+#endif
+_Xconst char*  /* address */,
+#if NeedWidePrototypes
+unsigned int   /* number_length */,
+#else
+unsigned short /* number_length */,
+#endif
+_Xconst char*  /* number */,
+#if NeedWidePrototypes
+unsigned int   /* name_length */,
+#else
+unsigned short /* name_length */,
+#endif
+_Xconst char*  /* name */
+);
+
+Xauth *XauGetBestAuthByAddr(
+#if NeedWidePrototypes
+unsigned int   /* family */,
+unsigned int   /* address_length */,
+#else
+unsigned short /* family */,
+unsigned short /* address_length */,
+#endif
+_Xconst char*  /* address */,
+#if NeedWidePrototypes
+unsigned int   /* number_length */,
+#else
+unsigned short /* number_length */,
+#endif
+_Xconst char*  /* number */,
+int            /* types_length */,
+char**         /* type_names */,
+_Xconst int*   /* type_lengths */
+);
+
+void XauDisposeAuth(
+Xauth*         /* auth */
+);
+
+#ifdef K5AUTH
+#include <krb5/krb5.h>
+/* 9/93: krb5.h leaks some symbols */
+#undef BITS32
+#undef xfree
+
+int XauKrb5Encode(
+     krb5_principal    /* princ */,
+     krb5_data *       /* outbuf */
+);
+
+int XauKrb5Decode(
+     krb5_data         /* inbuf */,
+     krb5_principal *  /* princ */
+);
+#endif /* K5AUTH */
+
+_XFUNCPROTOEND
+
+/* Return values from XauLockAuth */
+
+# define LOCK_SUCCESS  0       /* lock succeeded */
+# define LOCK_ERROR    1       /* lock unexpectely failed, check errno */
+# define LOCK_TIMEOUT  2       /* lock failed, timeouts expired */
+
+#endif /* _XAUTH_STRUCT_ONLY */
+
+#endif /* _Xauth_h */
diff --git a/XOrg/headers/native/src/X11/Xcms.h b/XOrg/headers/native/src/X11/Xcms.h
new file mode 100644 (file)
index 0000000..779bc52
--- /dev/null
@@ -0,0 +1,805 @@
+/* $Xorg: Xcms.h,v 1.6 2000/08/17 19:45:04 cpqbld Exp $ */
+
+/*
+ * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
+ *     All Rights Reserved
+ * 
+ * This file is a component of an X Window System-specific implementation
+ * of Xcms based on the TekColor Color Management System.  Permission is
+ * hereby granted to use, copy, modify, sell, and otherwise distribute this
+ * software and its documentation for any purpose and without fee, provided
+ * that this copyright, permission, and disclaimer notice is reproduced in
+ * all copies of this software and in supporting documentation.  TekColor
+ * is a trademark of Tektronix, Inc.
+ * 
+ * Tektronix makes no representation about the suitability of this software
+ * for any purpose.  It is provided "as is" and with all faults.
+ * 
+ * TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
+ * INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE.  IN NO EVENT SHALL TEKTRONIX 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 THE PERFORMANCE OF THIS SOFTWARE.
+ *
+ *
+ *     DESCRIPTION
+ *             Public include file for X Color Management System
+ */
+/* $XFree86: xc/lib/X11/Xcms.h,v 1.7 2003/11/03 03:46:26 dawes Exp $ */
+#ifndef _XCMS_H_
+#define _XCMS_H_
+
+#include <X11/Xlib.h>
+
+    /*
+     * XCMS Status Values
+     */
+#define XcmsFailure                    0
+#define XcmsSuccess                    1
+#define XcmsSuccessWithCompression     2
+
+    /*
+     * Color Space Format ID's
+     *    Color Space ID's are of XcmsColorFormat type.
+     *
+     *    bit 31
+     *     0 == Device-Independent
+     *     1 == Device-Dependent
+     *
+     *    bit 30:
+     *     0 == Registered with X Consortium
+     *     1 == Unregistered
+     */
+#define XcmsUndefinedFormat    (XcmsColorFormat)0x00000000
+#define XcmsCIEXYZFormat       (XcmsColorFormat)0x00000001
+#define XcmsCIEuvYFormat       (XcmsColorFormat)0x00000002
+#define XcmsCIExyYFormat       (XcmsColorFormat)0x00000003
+#define XcmsCIELabFormat       (XcmsColorFormat)0x00000004
+#define XcmsCIELuvFormat       (XcmsColorFormat)0x00000005
+#define XcmsTekHVCFormat       (XcmsColorFormat)0x00000006
+#define XcmsRGBFormat          (XcmsColorFormat)0x80000000
+#define XcmsRGBiFormat         (XcmsColorFormat)0x80000001
+
+    /*
+     * State of XcmsPerScrnInfo
+     */
+#define XcmsInitNone           0x00    /* no initialization attempted */
+#define XcmsInitSuccess                0x01    /* initialization successful */
+#define XcmsInitFailure                0xff    /* failure, use defaults */
+
+#define DisplayOfCCC(ccc)              ((ccc)->dpy)
+#define ScreenNumberOfCCC(ccc)         ((ccc)->screenNumber)
+#define VisualOfCCC(ccc)               ((ccc)->visual)
+#define ClientWhitePointOfCCC(ccc)     (&(ccc)->clientWhitePt)
+#define ScreenWhitePointOfCCC(ccc)     (&(ccc)->pPerScrnInfo->screenWhitePt)
+#define FunctionSetOfCCC(ccc)          ((ccc)->pPerScrnInfo->functionSet)
+
+typedef unsigned long XcmsColorFormat; /* Color Space Format ID */
+
+typedef double XcmsFloat;
+
+    /*
+     * Device RGB
+     */
+typedef struct {
+    unsigned short red;                /* scaled from 0x0000 to 0xffff */
+    unsigned short green;      /* scaled from 0x0000 to 0xffff */
+    unsigned short blue;       /* scaled from 0x0000 to 0xffff */
+} XcmsRGB;
+
+    /*
+     * RGB Intensity
+     */
+typedef struct {
+    XcmsFloat red;     /* 0.0 - 1.0 */
+    XcmsFloat green;   /* 0.0 - 1.0 */
+    XcmsFloat blue;    /* 0.0 - 1.0 */
+} XcmsRGBi;
+
+    /*
+     * CIE XYZ
+     */
+typedef struct {
+    XcmsFloat X;
+    XcmsFloat Y;
+    XcmsFloat Z;
+} XcmsCIEXYZ;
+
+    /*
+     * CIE u'v'Y
+     */
+typedef struct {
+    XcmsFloat u_prime;         /* 0.0 - 1.0 */
+    XcmsFloat v_prime;         /* 0.0 - 1.0 */
+    XcmsFloat Y;               /* 0.0 - 1.0 */
+} XcmsCIEuvY;
+
+    /*
+     * CIE xyY
+     */
+typedef struct {
+    XcmsFloat x;               /* 0.0 - 1.0 */
+    XcmsFloat y;               /* 0.0 - 1.0 */
+    XcmsFloat Y;               /* 0.0 - 1.0 */
+} XcmsCIExyY;
+
+    /*
+     * CIE L*a*b*
+     */
+typedef struct {
+    XcmsFloat L_star;          /* 0.0 - 100.0 */
+    XcmsFloat a_star;
+    XcmsFloat b_star;
+} XcmsCIELab;
+
+    /*
+     * CIE L*u*v*
+     */
+typedef struct {
+    XcmsFloat L_star;          /* 0.0 - 100.0 */
+    XcmsFloat u_star;
+    XcmsFloat v_star;
+} XcmsCIELuv;
+
+    /*
+     * TekHVC
+     */
+typedef struct {
+    XcmsFloat H;               /* 0.0 - 360.0 */
+    XcmsFloat V;               /* 0.0 - 100.0 */
+    XcmsFloat C;               /* 0.0 - 100.0 */
+} XcmsTekHVC;
+
+    /*
+     * PAD
+     */
+typedef struct {
+    XcmsFloat pad0;
+    XcmsFloat pad1;
+    XcmsFloat pad2;
+    XcmsFloat pad3;
+} XcmsPad;
+
+
+    /*
+     * XCMS Color Structure
+     */
+typedef struct {
+    union {
+       XcmsRGB RGB;
+       XcmsRGBi RGBi;
+       XcmsCIEXYZ CIEXYZ;
+       XcmsCIEuvY CIEuvY;
+       XcmsCIExyY CIExyY;
+       XcmsCIELab CIELab;
+       XcmsCIELuv CIELuv;
+       XcmsTekHVC TekHVC;
+       XcmsPad Pad;
+    } spec;                    /* the color specification      */
+    unsigned long pixel;       /* pixel value (as needed)      */
+    XcmsColorFormat    format;         /* the specification format     */
+} XcmsColor;
+
+
+    /*
+     * XCMS Per Screen related data
+     */
+
+typedef struct _XcmsPerScrnInfo {
+    XcmsColor  screenWhitePt;  /* Screen White point */
+    XPointer   functionSet;    /* pointer to Screen Color Characterization */
+                               /*      Function Set structure          */
+    XPointer   screenData;     /* pointer to corresponding Screen Color*/
+                               /*      Characterization Data           */
+    unsigned char state;   /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */
+    char       pad[3];
+} XcmsPerScrnInfo;
+
+typedef struct _XcmsCCC *XcmsCCC;
+
+typedef Status (*XcmsCompressionProc)(         /* Gamut Compression Proc */
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    unsigned int       /* index */,
+    Bool*              /* compression_flags_return */
+);
+
+typedef Status (*XcmsWhiteAdjustProc)(         /* White Point Adjust Proc */
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* initial_white_point*/,
+    XcmsColor*         /* target_white_point*/,
+    XcmsColorFormat    /* target_format */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    Bool*              /* compression_flags_return */
+);
+
+    /*
+     * XCMS Color Conversion Context
+     */
+typedef struct _XcmsCCC {
+    Display    *dpy;                   /* X Display */
+    int                screenNumber;           /* X screen number */
+    Visual     *visual;                /* X Visual */
+    XcmsColor  clientWhitePt;          /* Client White Point */
+    XcmsCompressionProc        gamutCompProc;  /* Gamut Compression Function */
+    XPointer   gamutCompClientData;    /* Gamut Comp Func Client Data */
+    XcmsWhiteAdjustProc        whitePtAdjProc; /* White Point Adjustment Function */
+    XPointer   whitePtAdjClientData;   /* White Pt Adj Func Client Data */
+    XcmsPerScrnInfo *pPerScrnInfo;     /* pointer to per screen information */
+                                       /*  associated with the above display */
+                                       /*  screenNumber */
+} XcmsCCCRec;
+
+typedef Status (*XcmsScreenInitProc)(  /* Screen Initialization Proc */
+    Display*           /* dpy */,
+    int                        /* screen_number */,
+    XcmsPerScrnInfo*   /* screen_info */
+);
+
+typedef void (*XcmsScreenFreeProc)(
+    XPointer           /* screenData */
+);
+
+    /*
+     * Function List Pointer -- pointer to an array of function pointers.
+     *    The end of list is indicated by a NULL pointer.
+     */
+/*
+ * XXX:  The use of the XcmsConversionProc type is broken.  The
+ *       device-independent colour conversion code uses it as:
+
+typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, XcmsColor *, 
+                                    unsigned int);
+
+ *       while the device-dependent code uses it as:
+
+typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, unsigned int,
+                                    Bool *);
+
+ *       Until this is reworked, it's probably best to leave it unprotoized.
+ *       The code works regardless.
+ */
+typedef Status (*XcmsDDConversionProc)( /* using device-dependent version */
+    XcmsCCC             /* ccc */,
+    XcmsColor*          /* pcolors_in_out */,
+    unsigned int        /* ncolors */,
+    Bool*               /* pCompressed */
+    );
+
+typedef Status (*XcmsDIConversionProc)( /* using device-independent version */
+    XcmsCCC             /* ccc */,
+    XcmsColor*          /* white_point */,
+    XcmsColor*          /* pcolors_in_out */,
+    unsigned int        /* ncolors */
+    );
+
+typedef XcmsDIConversionProc XcmsConversionProc;
+typedef XcmsConversionProc *XcmsFuncListPtr;
+
+typedef int (*XcmsParseStringProc)(    /* Color String Parsing Proc */
+    char*              /* color_string */,
+    XcmsColor*         /* color_return */
+);
+
+    /*
+     * Color Space -- per Color Space related data (Device-Independent
+     *    or Device-Dependent)
+     */
+typedef struct _XcmsColorSpace {
+    const char *prefix;                /* Prefix of string format.             */
+    XcmsColorFormat id;                /* Format ID number.                    */
+    XcmsParseStringProc parseString;
+                               /* String format parsing function       */
+    XcmsFuncListPtr to_CIEXYZ; /* Pointer to an array of function      */
+                               /*   pointers such that when the        */
+                               /*   functions are executed in sequence */
+                               /*   will convert a XcmsColor structure */
+                               /*   from this color space to CIEXYZ    */
+                               /*   space.                             */
+    XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function     */
+                               /*   pointers such that when the        */
+                               /*   functions are executed in sequence */
+                               /*   will convert a XcmsColor structure */
+                               /*   from CIEXYZ space to this color    */
+                               /*   space.                             */
+    int inverse_flag;          /* If 1, indicates that for 0 <= i < n  */
+                               /*   where n is the number of function  */
+                               /*   pointers in the lists to_CIEXYZ    */
+                               /*   and from_CIEXYZ; for each function */
+                               /*   to_CIEXYZ[i] its inverse function  */
+                               /*   is from_CIEXYZ[n - i].             */
+
+} XcmsColorSpace;
+
+    /*
+     * Screen Color Characterization Function Set -- per device class
+     *    color space conversion functions.
+     */
+typedef struct _XcmsFunctionSet {
+    XcmsColorSpace **DDColorSpaces;
+                               /* Pointer to an array of pointers to   */
+                               /*   Device-DEPENDENT color spaces      */
+                               /*   understood by this SCCFuncSet.     */
+    XcmsScreenInitProc screenInitProc;
+                               /* Screen initialization function that  */
+                               /*   reads Screen Color Characterization*/
+                               /*   Data off properties on the screen's*/
+                               /*   root window.                       */
+    XcmsScreenFreeProc screenFreeProc;
+                               /* Function that frees the SCCData      */
+                               /*   structures.                        */
+} XcmsFunctionSet;
+
+_XFUNCPROTOBEGIN
+
+extern Status XcmsAddColorSpace (
+    XcmsColorSpace*    /* pColorSpace */
+);
+
+extern Status XcmsAddFunctionSet (
+    XcmsFunctionSet*   /* functionSet */
+);
+
+extern Status XcmsAllocColor (
+    Display*           /* dpy */,
+    Colormap           /* colormap */,
+    XcmsColor*         /* color_in_out */,
+    XcmsColorFormat            /* result_format */
+);
+
+extern Status XcmsAllocNamedColor (
+    Display*           /* dpy */,
+    Colormap           /* colormap */,
+    _Xconst char*      /* color_string */,
+    XcmsColor*         /* color_scrn_return */,
+    XcmsColor*         /* color_exact_return */,
+    XcmsColorFormat            /* result_format */
+);
+
+extern XcmsCCC XcmsCCCOfColormap (
+    Display*           /* dpy */,
+    Colormap           /* colormap */
+);
+
+extern Status XcmsCIELabClipab(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    unsigned int       /* index */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsCIELabClipL(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    unsigned int       /* index */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsCIELabClipLab(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    unsigned int       /* index */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsCIELabQueryMaxC (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue_angle */,
+    XcmsFloat          /* L_star */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsCIELabQueryMaxL (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue_angle */,
+    XcmsFloat          /* chroma */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsCIELabQueryMaxLC (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue_angle */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsCIELabQueryMinL (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue_angle */,
+    XcmsFloat          /* chroma */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsCIELabToCIEXYZ (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* white_point */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */
+);
+
+extern Status XcmsCIELabWhiteShiftColors(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* initial_white_point*/,
+    XcmsColor*         /* target_white_point*/,
+    XcmsColorFormat    /* target_format */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipL(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    unsigned int       /* index */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipLuv(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    unsigned int       /* index */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvClipuv(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    unsigned int       /* index */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsCIELuvQueryMaxC (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue_angle */,
+    XcmsFloat          /* L_star */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMaxL (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue_angle */,
+    XcmsFloat          /* chroma */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMaxLC (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue_angle */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsCIELuvQueryMinL (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue_angle */,
+    XcmsFloat          /* chroma */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsCIELuvToCIEuvY (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* white_point */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */
+);
+
+extern Status XcmsCIELuvWhiteShiftColors(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* initial_white_point*/,
+    XcmsColor*         /* target_white_point*/,
+    XcmsColorFormat    /* target_format */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsCIEXYZToCIELab (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* white_point */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */
+);
+
+extern Status XcmsCIEXYZToCIEuvY (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* white_point */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */
+);
+
+extern Status XcmsCIEXYZToCIExyY (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* white_point */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */
+);
+
+extern Status XcmsCIEXYZToRGBi (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsCIEuvYToCIELuv (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* white_point */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */
+);
+
+extern Status XcmsCIEuvYToCIEXYZ (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* white_point */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */
+);
+
+extern Status XcmsCIEuvYToTekHVC (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* white_point */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */
+);
+
+extern Status XcmsCIExyYToCIEXYZ (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* white_point */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */
+);
+
+extern XcmsColor *XcmsClientWhitePointOfCCC (
+    XcmsCCC            /* ccc */
+);
+
+extern Status XcmsConvertColors (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colorArry_in_out */,
+    unsigned int       /* nColors */,
+    XcmsColorFormat            /* targetFormat */,
+    Bool*              /* compArry_return */
+);
+
+extern XcmsCCC XcmsCreateCCC (
+    Display*           /* dpy */,
+    int                        /* screenNumber */,
+    Visual*            /* visual */,
+    XcmsColor*         /* clientWhitePt */,
+    XcmsCompressionProc /* gamutCompProc */,
+    XPointer           /* gamutCompClientData */,
+    XcmsWhiteAdjustProc        /* whitePtAdjProc */,
+    XPointer           /* whitePtAdjClientData */
+);
+
+extern XcmsCCC XcmsDefaultCCC (
+    Display*           /* dpy */,
+    int                        /* screenNumber */
+);
+
+extern Display *XcmsDisplayOfCCC (
+    XcmsCCC            /* ccc */
+);
+
+extern XcmsColorFormat XcmsFormatOfPrefix (
+    char*              /* prefix */
+);
+
+extern void XcmsFreeCCC (
+    XcmsCCC            /* ccc */
+);
+
+extern Status XcmsLookupColor (
+    Display*           /* dpy */,
+    Colormap           /* colormap */,
+    _Xconst char*      /* color_string */,
+    XcmsColor*         /* pColor_exact_in_out */,
+    XcmsColor*         /* pColor_scrn_in_out */,
+    XcmsColorFormat            /* result_format */
+);
+
+extern char *XcmsPrefixOfFormat (
+    XcmsColorFormat            /* id */
+);
+
+extern Status XcmsQueryBlack (
+    XcmsCCC            /* ccc */,
+    XcmsColorFormat    /* target_format */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsQueryBlue (
+    XcmsCCC            /* ccc */,
+    XcmsColorFormat    /* target_format */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsQueryColor (
+    Display*           /* dpy */,
+    Colormap           /* colormap */,
+    XcmsColor*         /* pColor_in_out */,
+    XcmsColorFormat            /* result_format */
+);
+
+extern Status XcmsQueryColors (
+    Display*           /* dpy */,
+    Colormap           /* colormap */,
+    XcmsColor*         /* colorArry_in_out */,
+    unsigned int       /* nColors */,
+    XcmsColorFormat    /* result_format */
+);
+
+extern Status XcmsQueryGreen (
+    XcmsCCC            /* ccc */,
+    XcmsColorFormat    /* target_format */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsQueryRed (
+    XcmsCCC            /* ccc */,
+    XcmsColorFormat    /* target_format */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsQueryWhite (
+    XcmsCCC            /* ccc */,
+    XcmsColorFormat    /* target_format */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsRGBiToCIEXYZ (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsRGBiToRGB (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsRGBToRGBi (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */,
+    Bool*              /* compression_flags_return */
+);
+
+extern int XcmsScreenNumberOfCCC (
+    XcmsCCC            /* ccc */
+);
+
+extern XcmsColor *XcmsScreenWhitePointOfCCC (
+    XcmsCCC            /* ccc */
+);
+
+extern XcmsCCC XcmsSetCCCOfColormap(
+    Display*           /* dpy */,
+    Colormap           /* colormap */,
+    XcmsCCC            /* ccc */
+);
+
+extern XcmsCompressionProc XcmsSetCompressionProc (
+    XcmsCCC            /* ccc */,
+    XcmsCompressionProc        /* compression_proc */,
+    XPointer           /* client_data */
+);
+
+extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc (
+    XcmsCCC            /* ccc */,
+    XcmsWhiteAdjustProc        /* white_adjust_proc */,
+    XPointer           /* client_data */
+);
+
+extern Status XcmsSetWhitePoint (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* color */
+);
+
+extern Status XcmsStoreColor (
+    Display*           /* dpy */,
+    Colormap           /* colormap */,
+    XcmsColor*         /* pColor_in */
+);
+
+extern Status XcmsStoreColors (
+    Display*           /* dpy */,
+    Colormap           /* colormap */,
+    XcmsColor*         /* colorArry_in */,
+    unsigned int       /* nColors */,
+    Bool*              /* compArry_return */
+);
+
+extern Status XcmsTekHVCClipC(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    unsigned int       /* index */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCClipV(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    unsigned int       /* index */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCClipVC(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    unsigned int       /* index */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Status XcmsTekHVCQueryMaxC (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue */,
+    XcmsFloat          /* value */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxV (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue */,
+    XcmsFloat          /* chroma */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxVC (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsTekHVCQueryMaxVSamples (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue */,
+    XcmsColor*         /* colors_return */,
+    unsigned int       /* nsamples */
+);
+
+extern Status XcmsTekHVCQueryMinV (
+    XcmsCCC            /* ccc */,
+    XcmsFloat          /* hue */,
+    XcmsFloat          /* chroma */,
+    XcmsColor*         /* color_return */
+);
+
+extern Status XcmsTekHVCToCIEuvY (
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* white_point */,
+    XcmsColor*         /* colors */,
+    unsigned int       /* ncolors */
+);
+
+extern Status XcmsTekHVCWhiteShiftColors(
+    XcmsCCC            /* ccc */,
+    XcmsColor*         /* initial_white_point*/,
+    XcmsColor*         /* target_white_point*/,
+    XcmsColorFormat    /* target_format */,
+    XcmsColor*         /* colors_in_out */,
+    unsigned int       /* ncolors */,
+    Bool*              /* compression_flags_return */
+);
+
+extern Visual *XcmsVisualOfCCC (
+    XcmsCCC            /* ccc */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XCMS_H_ */
diff --git a/XOrg/headers/native/src/X11/Xdefs.h b/XOrg/headers/native/src/X11/Xdefs.h
new file mode 100644 (file)
index 0000000..5ee2d89
--- /dev/null
@@ -0,0 +1,110 @@
+/* $XFree86: xc/include/Xdefs.h,v 1.2 1999/08/22 06:21:20 dawes Exp $ */
+
+/***********************************************************
+
+Copyright (c) 1999  The XFree86 Project Inc.
+
+All Rights Reserved.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The XFree86 Project
+Inc. shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from The XFree86 Project Inc..
+
+*/
+
+/**
+ ** Types definitions shared between server and clients 
+ **/
+
+#ifndef _XDEFS_H
+#define _XDEFS_H
+
+#ifdef _XSERVER64
+#include <X11/Xmd.h>
+#endif 
+
+#ifndef _XTYPEDEF_ATOM
+#  define _XTYPEDEF_ATOM
+#  ifndef _XSERVER64
+typedef unsigned long Atom;
+#  else
+typedef CARD32 Atom;
+#  endif
+#endif
+
+#ifndef Bool
+#  ifndef _XTYPEDEF_BOOL
+#   define _XTYPEDEF_BOOL
+typedef int Bool;
+#  endif
+#endif
+
+#ifndef _XTYPEDEF_POINTER
+#  define _XTYPEDEF_POINTER
+typedef void *pointer;
+#endif
+
+#ifndef _XTYPEDEF_CLIENTPTR
+typedef struct _Client *ClientPtr;
+#  define _XTYPEDEF_CLIENTPTR
+#endif
+
+#ifndef _XTYPEDEF_XID
+#  define _XTYPEDEF_XID
+#  ifndef _XSERVER64
+typedef unsigned long XID;
+#  else
+typedef CARD32 XID;
+#  endif
+#endif
+
+#ifndef _XTYPEDEF_MASK
+#  define _XTYPEDEF_MASK
+#  ifndef _XSERVER64
+typedef unsigned long Mask;
+#  else
+typedef CARD32 Mask;
+#  endif
+#endif
+
+#ifndef _XTYPEDEF_FONTPTR
+#  define _XTYPEDEF_FONTPTR
+typedef struct _Font *FontPtr; /* also in fonts/include/font.h */
+#endif
+
+#ifndef _XTYPEDEF_FONT
+#  define _XTYPEDEF_FONT
+typedef XID    Font;
+#endif
+
+#ifndef _XTYPEDEF_FSID
+#  ifndef _XSERVER64
+typedef unsigned long FSID;
+#  else
+typedef CARD32 FSID;
+#  endif
+#endif
+
+typedef FSID AccContext;
+
+/* OS independent time value 
+   XXX Should probably go in Xos.h */
+typedef struct timeval **OSTimePtr;
+
+
+typedef void (* BlockHandlerProcPtr)(pointer /* blockData */,
+                                    OSTimePtr /* pTimeout */,
+                                    pointer /* pReadmask */);
+
+#endif
diff --git a/XOrg/headers/native/src/X11/Xdmcp.h b/XOrg/headers/native/src/X11/Xdmcp.h
new file mode 100644 (file)
index 0000000..6d7619a
--- /dev/null
@@ -0,0 +1,190 @@
+/* $XdotOrg: lib/Xdmcp/include/X11/Xdmcp.h,v 1.3 2005/07/03 07:00:56 daniels Exp $ */
+/* $Xorg: Xdmcp.h,v 1.7 2001/04/13 14:43:00 steve Exp $ */
+/*
+ * Copyright 1989 Network Computing Devices, Inc., Mountain View, California.
+ *
+ * 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 N.C.D. not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  N.C.D. makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ */
+/* $XFree86: xc/lib/Xdmcp/Xdmcp.h,v 3.7 2003/07/09 15:27:29 tsi Exp $ */
+
+#ifndef _XDMCP_H_
+#define _XDMCP_H_
+
+#include <X11/Xmd.h>
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+#define XDM_PROTOCOL_VERSION   1
+#define XDM_UDP_PORT           177
+
+/* IANA has assigned FF0X:0:0:0:0:0:0:12B as the permanently assigned 
+ * multicast addresses for XDMCP, where X in the prefix may be replaced
+ * by any valid scope identifier, such as 1 for Node-Local, 2 for Link-Local,
+ * 5 for Site-Local, and so on.  We set the default here to the Link-Local
+ * version to most closely match the old IPv4 subnet broadcast behavior.
+ * Both xdm and X -query allow specifying a different address if a different
+ * scope is defined.
+ */
+#define XDM_DEFAULT_MCAST_ADDR6        "ff02:0:0:0:0:0:0:12b"
+
+#define XDM_MAX_MSGLEN         8192
+#define XDM_MIN_RTX            2
+#define XDM_MAX_RTX            32
+#define XDM_RTX_LIMIT          7
+#define XDM_KA_RTX_LIMIT       4
+#define XDM_DEF_DORMANCY       (3 * 60)        /* 3 minutes */
+#define XDM_MAX_DORMANCY       (24 * 60 * 60)  /* 24 hours */
+
+typedef enum {
+    BROADCAST_QUERY = 1, QUERY, INDIRECT_QUERY, FORWARD_QUERY,
+    WILLING, UNWILLING, REQUEST, ACCEPT, DECLINE, MANAGE, REFUSE,
+    FAILED, KEEPALIVE, ALIVE
+} xdmOpCode;
+
+typedef enum {
+    XDM_QUERY, XDM_BROADCAST, XDM_INDIRECT, XDM_COLLECT_QUERY,
+    XDM_COLLECT_BROADCAST_QUERY, XDM_COLLECT_INDIRECT_QUERY,
+    XDM_START_CONNECTION, XDM_AWAIT_REQUEST_RESPONSE,
+    XDM_AWAIT_MANAGE_RESPONSE, XDM_MANAGE, XDM_RUN_SESSION, XDM_OFF,
+    XDM_AWAIT_USER_INPUT, XDM_KEEPALIVE, XDM_AWAIT_ALIVE_RESPONSE,
+#if defined(IPv6) && defined(AF_INET6)
+    XDM_MULTICAST, XDM_COLLECT_MULTICAST_QUERY,
+#endif
+    XDM_KEEP_ME_LAST
+} xdmcp_states;
+
+#ifdef NOTDEF
+/* table of hosts */
+
+#define XDM_MAX_STR_LEN 21
+#define XDM_MAX_HOSTS 20
+struct xdm_host_table {
+  struct sockaddr_in sockaddr;
+  char name[XDM_MAX_STR_LEN];
+  char status[XDM_MAX_STR_LEN];
+};
+#endif /* NOTDEF */
+
+typedef CARD8  *CARD8Ptr;
+typedef CARD16 *CARD16Ptr;
+typedef CARD32 *CARD32Ptr;
+
+typedef struct _ARRAY8 {
+    CARD16     length;
+    CARD8Ptr   data;
+} ARRAY8, *ARRAY8Ptr;
+
+typedef struct _ARRAY16 {
+    CARD8      length;
+    CARD16Ptr  data;
+} ARRAY16, *ARRAY16Ptr;
+
+typedef struct _ARRAY32 {
+    CARD8      length;
+    CARD32Ptr  data;
+} ARRAY32, *ARRAY32Ptr;
+
+typedef struct _ARRAYofARRAY8 {
+    CARD8      length;
+    ARRAY8Ptr  data;
+} ARRAYofARRAY8, *ARRAYofARRAY8Ptr;
+
+typedef struct _XdmcpHeader {
+    CARD16  version, opcode, length;
+} XdmcpHeader, *XdmcpHeaderPtr;
+
+typedef struct _XdmcpBuffer {
+    BYTE    *data;
+    int            size;               /* size of buffer pointed by to data */
+    int            pointer;            /* current index into data */
+    int            count;              /* bytes read from network into data */
+} XdmcpBuffer, *XdmcpBufferPtr;
+
+typedef struct _XdmAuthKey {
+    BYTE    data[8];
+} XdmAuthKeyRec, *XdmAuthKeyPtr;
+
+
+/* implementation-independent network address structure.
+   Equiv to sockaddr* for sockets and netbuf* for STREAMS. */
+
+typedef char *XdmcpNetaddr;
+
+extern int XdmcpWriteARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array);
+extern int XdmcpWriteARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array);
+extern int XdmcpWriteARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array);
+extern int XdmcpWriteARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array);
+extern int XdmcpWriteCARD16(XdmcpBufferPtr buffer, unsigned value);
+extern int XdmcpWriteCARD32(XdmcpBufferPtr buffer, unsigned value);
+extern int XdmcpWriteCARD8(XdmcpBufferPtr buffer, unsigned value);
+extern int XdmcpWriteHeader(XdmcpBufferPtr  buffer, XdmcpHeaderPtr  header);
+
+extern int XdmcpFlush(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr to, int tolen);
+
+extern int XdmcpReadARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array);
+extern int XdmcpReadARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array);
+extern int XdmcpReadARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array);
+extern int XdmcpReadARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array);
+extern int XdmcpReadCARD16(XdmcpBufferPtr buffer, CARD16Ptr valuep);
+extern int XdmcpReadCARD32(XdmcpBufferPtr buffer, CARD32Ptr valuep);
+extern int XdmcpReadCARD8(XdmcpBufferPtr buffer, CARD8Ptr valuep);
+extern int XdmcpReadHeader(XdmcpBufferPtr buffer, XdmcpHeaderPtr header);
+
+extern int XdmcpFill(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr from, int *fromlen);
+
+extern int XdmcpReadRemaining(XdmcpBufferPtr buffer);
+
+extern void XdmcpDisposeARRAY8(ARRAY8Ptr array);
+extern void XdmcpDisposeARRAY16(ARRAY16Ptr array);
+extern void XdmcpDisposeARRAY32(ARRAY32Ptr array);
+extern void XdmcpDisposeARRAYofARRAY8(ARRAYofARRAY8Ptr array);
+
+extern int XdmcpCopyARRAY8(ARRAY8Ptr src, ARRAY8Ptr dst);
+
+extern int XdmcpARRAY8Equal(ARRAY8Ptr array1, ARRAY8Ptr array2);
+
+extern void XdmcpGenerateKey (XdmAuthKeyPtr key);
+extern void XdmcpIncrementKey (XdmAuthKeyPtr key);
+extern void XdmcpDecrementKey (XdmAuthKeyPtr key);
+#ifdef HASXDMAUTH
+extern void XdmcpWrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes);
+extern void XdmcpUnwrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes);
+#endif
+
+#ifndef TRUE
+#define TRUE   1
+#define FALSE  0
+#endif
+
+#if !defined(Xalloc) && !defined(xalloc) && !defined(Xrealloc)
+extern void *Xalloc (unsigned long amount);
+extern void *Xrealloc (void *old, unsigned long amount);
+extern void Xfree(void *old);
+#endif
+
+extern int XdmcpCompareKeys (XdmAuthKeyPtr a, XdmAuthKeyPtr b);
+
+extern int XdmcpAllocARRAY16 (ARRAY16Ptr array, int length);
+extern int XdmcpAllocARRAY32 (ARRAY32Ptr array, int length);
+extern int XdmcpAllocARRAY8 (ARRAY8Ptr array, int length);
+extern int XdmcpAllocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length);
+
+extern int XdmcpReallocARRAY16 (ARRAY16Ptr array, int length);
+extern int XdmcpReallocARRAY32 (ARRAY32Ptr array, int length);
+extern int XdmcpReallocARRAY8 (ARRAY8Ptr array, int length);
+extern int XdmcpReallocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length);
+
+_XFUNCPROTOEND
+
+#endif /* _XDMCP_H_ */
diff --git a/XOrg/headers/native/src/X11/Xfuncproto.h b/XOrg/headers/native/src/X11/Xfuncproto.h
new file mode 100644 (file)
index 0000000..7b2b7ca
--- /dev/null
@@ -0,0 +1,109 @@
+/* Xfuncproto.h.  Generated by configure.  */
+/* $Xorg: Xfuncproto.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+/*
+ *
+Copyright 1989, 1991, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ */
+/* $XFree86: xc/include/Xfuncproto.h,v 3.4 2001/12/14 19:53:25 dawes Exp $ */
+
+/* Definitions to make function prototypes manageable */
+
+#ifndef _XFUNCPROTO_H_
+#define _XFUNCPROTO_H_
+
+#ifndef NeedFunctionPrototypes
+#define NeedFunctionPrototypes 1
+#endif /* NeedFunctionPrototypes */
+
+#ifndef NeedVarargsPrototypes
+#define NeedVarargsPrototypes 1
+#endif /* NeedVarargsPrototypes */
+
+#if NeedFunctionPrototypes
+
+#ifndef NeedNestedPrototypes
+#define NeedNestedPrototypes 1
+#endif /* NeedNestedPrototypes */
+
+#ifndef _Xconst
+#define _Xconst const
+#endif /* _Xconst */
+
+/* Function prototype configuration (see configure for more info) */
+#ifndef NARROWPROTO
+#define NARROWPROTO 
+#endif
+#ifndef FUNCPROTO
+#define FUNCPROTO 15
+#endif
+
+#ifndef NeedWidePrototypes
+#ifdef NARROWPROTO
+#define NeedWidePrototypes 0
+#else
+#define NeedWidePrototypes 1           /* default to make interropt. easier */
+#endif
+#endif /* NeedWidePrototypes */
+
+#endif /* NeedFunctionPrototypes */
+
+#ifndef _XFUNCPROTOBEGIN
+#if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */
+#define _XFUNCPROTOBEGIN extern "C" {  /* do not leave open across includes */
+#define _XFUNCPROTOEND }
+#else
+#define _XFUNCPROTOBEGIN
+#define _XFUNCPROTOEND
+#endif
+#endif /* _XFUNCPROTOBEGIN */
+
+#if defined(__GNUC__) && (__GNUC__ >= 4)
+# define _X_SENTINEL(x) __attribute__ ((__sentinel__(x)))
+# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y)))
+#else
+# define _X_SENTINEL(x)
+# define _X_ATTRIBUTE_PRINTF(x,y)
+#endif /* GNUC >= 4 */
+
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303)
+# define _X_EXPORT      __attribute__((visibility("default")))
+# define _X_HIDDEN      __attribute__((visibility("hidden")))
+# define _X_INTERNAL    __attribute__((visibility("internal")))
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+# define _X_EXPORT      __global
+# define _X_HIDDEN      __hidden
+# define _X_INTERNAL    __hidden
+#else /* not gcc >= 3.3 and not Sun Studio >= 8 */
+# define _X_EXPORT
+# define _X_HIDDEN
+# define _X_INTERNAL
+#endif
+
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301)
+# define _X_DEPRECATED  __attribute__((deprecated))
+#else /* not gcc >= 3.1 */
+# define _X_DEPRECATED
+#endif
+
+#endif /* _XFUNCPROTO_H_ */
diff --git a/XOrg/headers/native/src/X11/Xfuncs.h b/XOrg/headers/native/src/X11/Xfuncs.h
new file mode 100644 (file)
index 0000000..ca9d29e
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * $XdotOrg: proto/X11/Xfuncs.h,v 1.4 2005/11/08 06:33:25 jkj Exp $
+ * $Xorg: Xfuncs.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $
+ * 
+ * 
+Copyright 1990, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ */
+/* $XFree86: xc/include/Xfuncs.h,v 3.10 2002/05/31 18:45:38 dawes Exp $ */
+
+#ifndef _XFUNCS_H_
+#define _XFUNCS_H_
+
+#include <X11/Xosdefs.h>
+
+/* the old Xfuncs.h, for pre-R6 */
+#if !(defined(XFree86LOADER) && defined(IN_MODULE))
+
+#ifdef X_USEBFUNCS
+void bcopy();
+void bzero();
+int bcmp();
+#else
+#if defined(SYSV) && !defined(__SCO__) && !defined(sun) && !defined(__UNIXWARE__)
+#include <memory.h>
+void bcopy();
+#define bzero(b,len) memset(b, 0, len)
+#define bcmp(b1,b2,len) memcmp(b1, b2, len)
+#else
+#include <string.h>
+#if defined(__SCO__) || defined(sun) || defined(__UNIXWARE__)
+#include <strings.h>
+#endif
+#define _XFUNCS_H_INCLUDED_STRING_H
+#if defined(sun)
+#define bcopy(b1,b2,len) memmove(b2, b1, (size_t)(len))
+#define bzero(b,len) memset(b, 0, (size_t)(len))
+#define bcmp(b1,b2,len) memcmp(b1, b2, (size_t)(len))
+#endif
+#endif
+#endif /* X_USEBFUNCS */
+
+/* the new Xfuncs.h */
+
+#if !defined(X_NOT_STDC_ENV) && (!defined(sun) || defined(SVR4))
+/* the ANSI C way */
+#ifndef _XFUNCS_H_INCLUDED_STRING_H
+#include <string.h>
+#endif
+#undef bzero
+#define bzero(b,len) memset(b,0,len)
+#else /* else X_NOT_STDC_ENV or SunOS 4 */
+#if defined(SYSV) || defined(luna) || defined(sun) || defined(__sxg__)
+#include <memory.h>
+#define memmove(dst,src,len) bcopy((char *)(src),(char *)(dst),(int)(len))
+#if defined(SYSV) && defined(_XBCOPYFUNC)
+#undef memmove
+#define memmove(dst,src,len) _XBCOPYFUNC((char *)(src),(char *)(dst),(int)(len))
+#define _XNEEDBCOPYFUNC
+#endif
+#else /* else vanilla BSD */
+#define memmove(dst,src,len) bcopy((char *)(src),(char *)(dst),(int)(len))
+#define memcpy(dst,src,len) bcopy((char *)(src),(char *)(dst),(int)(len))
+#define memcmp(b1,b2,len) bcmp((char *)(b1),(char *)(b2),(int)(len))
+#endif /* SYSV else */
+#endif /* ! X_NOT_STDC_ENV else */
+
+#if defined(X_NOT_STDC_ENV) || (defined(sun) && !defined(SVR4))
+#define atexit(f) on_exit(f, 0)
+#endif
+
+#endif /* !(defined(XFree86LOADER) && defined(IN_MODULE)) */
+
+#endif /* _XFUNCS_H_ */
diff --git a/XOrg/headers/native/src/X11/Xlib.h b/XOrg/headers/native/src/X11/Xlib.h
new file mode 100644 (file)
index 0000000..a26789b
--- /dev/null
@@ -0,0 +1,4008 @@
+/* $XdotOrg: lib/X11/include/X11/Xlib.h,v 1.6 2005-11-08 06:33:25 jkj Exp $ */
+/* $Xorg: Xlib.h,v 1.6 2001/02/09 02:03:38 xorgcvs Exp $ */
+/* 
+
+Copyright 1985, 1986, 1987, 1991, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/lib/X11/Xlib.h,v 3.25 2003/11/17 22:20:10 dawes Exp $ */
+
+
+/*
+ *     Xlib.h - Header definition and support file for the C subroutine
+ *     interface library (Xlib) to the X Window System Protocol (V11).
+ *     Structures and symbols starting with "_" are private to the library.
+ */
+#ifndef _XLIB_H_
+#define _XLIB_H_
+
+#define XlibSpecificationRelease 6
+
+#ifdef USG
+#ifndef __TYPES__
+#include <sys/types.h>                 /* forgot to protect it... */
+#define __TYPES__
+#endif /* __TYPES__ */
+#else
+#if defined(_POSIX_SOURCE) && defined(MOTOROLA)
+#undef _POSIX_SOURCE
+#include <sys/types.h>
+#define _POSIX_SOURCE
+#else
+#include <sys/types.h>
+#endif
+#endif /* USG */
+
+#if defined(__SCO__) || defined(__UNIXWARE__)
+#include <stdint.h>
+#endif
+
+#include <X11/X.h>
+
+/* applications should not depend on these two headers being included! */
+#include <X11/Xfuncproto.h>
+#include <X11/Xosdefs.h>
+
+#ifndef X_WCHAR
+#ifdef X_NOT_STDC_ENV
+#ifndef ISC
+#define X_WCHAR
+#endif
+#endif
+#endif
+
+#ifndef X_WCHAR
+#include <stddef.h>
+#else
+#ifdef __UNIXOS2__
+#include <stdlib.h>
+#else
+/* replace this with #include or typedef appropriate for your system */
+typedef unsigned long wchar_t;
+#endif
+#endif
+
+#if defined(ISC) && defined(USE_XMBTOWC)
+#define wctomb(a,b)    _Xwctomb(a,b)
+#define mblen(a,b)     _Xmblen(a,b) 
+#ifndef USE_XWCHAR_STRING
+#define mbtowc(a,b,c)  _Xmbtowc(a,b,c)
+#endif
+#endif
+
+extern int
+_Xmblen(
+#ifdef ISC
+    char const *str,
+    size_t len
+#else
+    char *str,
+    int len
+#endif
+    );
+
+/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
+   November 2000. Its presence is indicated through the following macro. */
+#define X_HAVE_UTF8_STRING 1
+
+typedef char *XPointer;
+
+#define Bool int
+#define Status int
+#define True 1
+#define False 0
+
+#define QueuedAlready 0
+#define QueuedAfterReading 1
+#define QueuedAfterFlush 2
+
+#define ConnectionNumber(dpy)  (((_XPrivDisplay)dpy)->fd)
+#define RootWindow(dpy, scr)   (ScreenOfDisplay(dpy,scr)->root)
+#define DefaultScreen(dpy)     (((_XPrivDisplay)dpy)->default_screen)
+#define DefaultRootWindow(dpy)         (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
+#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)
+#define DefaultGC(dpy, scr)    (ScreenOfDisplay(dpy,scr)->default_gc)
+#define BlackPixel(dpy, scr)   (ScreenOfDisplay(dpy,scr)->black_pixel)
+#define WhitePixel(dpy, scr)   (ScreenOfDisplay(dpy,scr)->white_pixel)
+#define AllPlanes              ((unsigned long)~0L)
+#define QLength(dpy)           (((_XPrivDisplay)dpy)->qlen)
+#define DisplayWidth(dpy, scr)         (ScreenOfDisplay(dpy,scr)->width)
+#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)
+#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth)
+#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight)
+#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
+#define DisplayCells(dpy, scr)         (DefaultVisual(dpy,scr)->map_entries)
+#define ScreenCount(dpy)       (((_XPrivDisplay)dpy)->nscreens)
+#define ServerVendor(dpy)      (((_XPrivDisplay)dpy)->vendor)
+#define ProtocolVersion(dpy)   (((_XPrivDisplay)dpy)->proto_major_version)
+#define ProtocolRevision(dpy)  (((_XPrivDisplay)dpy)->proto_minor_version)
+#define VendorRelease(dpy)     (((_XPrivDisplay)dpy)->release)
+#define DisplayString(dpy)     (((_XPrivDisplay)dpy)->display_name)
+#define DefaultDepth(dpy, scr)         (ScreenOfDisplay(dpy,scr)->root_depth)
+#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)
+#define BitmapUnit(dpy)        (((_XPrivDisplay)dpy)->bitmap_unit)
+#define BitmapBitOrder(dpy)    (((_XPrivDisplay)dpy)->bitmap_bit_order)
+#define BitmapPad(dpy)                 (((_XPrivDisplay)dpy)->bitmap_pad)
+#define ImageByteOrder(dpy)    (((_XPrivDisplay)dpy)->byte_order)
+#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */
+#define NextRequest(dpy)       XNextRequest(dpy)
+#else
+#define NextRequest(dpy)       (((_XPrivDisplay)dpy)->request + 1)
+#endif
+#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read)
+
+/* macros for screen oriented applications (toolkit) */
+#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])
+#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))
+#define DisplayOfScreen(s)     ((s)->display)
+#define RootWindowOfScreen(s)  ((s)->root)
+#define BlackPixelOfScreen(s)  ((s)->black_pixel)
+#define WhitePixelOfScreen(s)  ((s)->white_pixel)
+#define DefaultColormapOfScreen(s)((s)->cmap)
+#define DefaultDepthOfScreen(s)        ((s)->root_depth)
+#define DefaultGCOfScreen(s)   ((s)->default_gc)
+#define DefaultVisualOfScreen(s)((s)->root_visual)
+#define WidthOfScreen(s)       ((s)->width)
+#define HeightOfScreen(s)      ((s)->height)
+#define WidthMMOfScreen(s)     ((s)->mwidth)
+#define HeightMMOfScreen(s)    ((s)->mheight)
+#define PlanesOfScreen(s)      ((s)->root_depth)
+#define CellsOfScreen(s)       (DefaultVisualOfScreen((s))->map_entries)
+#define MinCmapsOfScreen(s)    ((s)->min_maps)
+#define MaxCmapsOfScreen(s)    ((s)->max_maps)
+#define DoesSaveUnders(s)      ((s)->save_unders)
+#define DoesBackingStore(s)    ((s)->backing_store)
+#define EventMaskOfScreen(s)   ((s)->root_input_mask)
+
+/*
+ * Extensions need a way to hang private data on some structures.
+ */
+typedef struct _XExtData {
+       int number;             /* number returned by XRegisterExtension */
+       struct _XExtData *next; /* next item on list of data for structure */
+       int (*free_private)(    /* called to free private storage */
+       struct _XExtData *extension
+       );
+       XPointer private_data;  /* data private to this extension. */
+} XExtData;
+
+/*
+ * This file contains structures used by the extension mechanism.
+ */
+typedef struct {               /* public to extension, cannot be changed */
+       int extension;          /* extension number */
+       int major_opcode;       /* major op-code assigned by server */
+       int first_event;        /* first event number for the extension */
+       int first_error;        /* first error number for the extension */
+} XExtCodes;
+
+/*
+ * Data structure for retrieving info about pixmap formats.
+ */
+
+typedef struct {
+    int depth;
+    int bits_per_pixel;
+    int scanline_pad;
+} XPixmapFormatValues;
+
+
+/*
+ * Data structure for setting graphics context.
+ */
+typedef struct {
+       int function;           /* logical operation */
+       unsigned long plane_mask;/* plane mask */
+       unsigned long foreground;/* foreground pixel */
+       unsigned long background;/* background pixel */
+       int line_width;         /* line width */
+       int line_style;         /* LineSolid, LineOnOffDash, LineDoubleDash */
+       int cap_style;          /* CapNotLast, CapButt, 
+                                  CapRound, CapProjecting */
+       int join_style;         /* JoinMiter, JoinRound, JoinBevel */
+       int fill_style;         /* FillSolid, FillTiled, 
+                                  FillStippled, FillOpaeueStippled */
+       int fill_rule;          /* EvenOddRule, WindingRule */
+       int arc_mode;           /* ArcChord, ArcPieSlice */
+       Pixmap tile;            /* tile pixmap for tiling operations */
+       Pixmap stipple;         /* stipple 1 plane pixmap for stipping */
+       int ts_x_origin;        /* offset for tile or stipple operations */
+       int ts_y_origin;
+        Font font;             /* default text font for text operations */
+       int subwindow_mode;     /* ClipByChildren, IncludeInferiors */
+       Bool graphics_exposures;/* boolean, should exposures be generated */
+       int clip_x_origin;      /* origin for clipping */
+       int clip_y_origin;
+       Pixmap clip_mask;       /* bitmap clipping; other calls for rects */
+       int dash_offset;        /* patterned/dashed line information */
+       char dashes;
+} XGCValues;
+
+/*
+ * Graphics context.  The contents of this structure are implementation
+ * dependent.  A GC should be treated as opaque by application code.
+ */
+
+typedef struct _XGC
+#ifdef XLIB_ILLEGAL_ACCESS
+{
+    XExtData *ext_data;        /* hook for extension to hang data */
+    GContext gid;      /* protocol ID for graphics context */
+    /* there is more to this structure, but it is private to Xlib */
+}
+#endif
+*GC;
+
+/*
+ * Visual structure; contains information about colormapping possible.
+ */
+typedef struct {
+       XExtData *ext_data;     /* hook for extension to hang data */
+       VisualID visualid;      /* visual id of this visual */
+#if defined(__cplusplus) || defined(c_plusplus)
+       int c_class;            /* C++ class of screen (monochrome, etc.) */
+#else
+       int class;              /* class of screen (monochrome, etc.) */
+#endif
+       unsigned long red_mask, green_mask, blue_mask;  /* mask values */
+       int bits_per_rgb;       /* log base 2 of distinct color values */
+       int map_entries;        /* color map entries */
+} Visual;
+
+/*
+ * Depth structure; contains information for each possible depth.
+ */    
+typedef struct {
+       int depth;              /* this depth (Z) of the depth */
+       int nvisuals;           /* number of Visual types at this depth */
+       Visual *visuals;        /* list of visuals possible at this depth */
+} Depth;
+
+/*
+ * Information about the screen.  The contents of this structure are
+ * implementation dependent.  A Screen should be treated as opaque
+ * by application code.
+ */
+
+struct _XDisplay;              /* Forward declare before use for C++ */
+
+typedef struct {
+       XExtData *ext_data;     /* hook for extension to hang data */
+       struct _XDisplay *display;/* back pointer to display structure */
+       Window root;            /* Root window id. */
+       int width, height;      /* width and height of screen */
+       int mwidth, mheight;    /* width and height of  in millimeters */
+       int ndepths;            /* number of depths possible */
+       Depth *depths;          /* list of allowable depths on the screen */
+       int root_depth;         /* bits per pixel */
+       Visual *root_visual;    /* root visual */
+       GC default_gc;          /* GC for the root root visual */
+       Colormap cmap;          /* default color map */
+       unsigned long white_pixel;
+       unsigned long black_pixel;      /* White and Black pixel values */
+       int max_maps, min_maps; /* max and min color maps */
+       int backing_store;      /* Never, WhenMapped, Always */
+       Bool save_unders;       
+       long root_input_mask;   /* initial root input mask */
+} Screen;
+
+/*
+ * Format structure; describes ZFormat data the screen will understand.
+ */
+typedef struct {
+       XExtData *ext_data;     /* hook for extension to hang data */
+       int depth;              /* depth of this image format */
+       int bits_per_pixel;     /* bits/pixel at this depth */
+       int scanline_pad;       /* scanline must padded to this multiple */
+} ScreenFormat;
+
+/*
+ * Data structure for setting window attributes.
+ */
+typedef struct {
+    Pixmap background_pixmap;  /* background or None or ParentRelative */
+    unsigned long background_pixel;    /* background pixel */
+    Pixmap border_pixmap;      /* border of the window */
+    unsigned long border_pixel;        /* border pixel value */
+    int bit_gravity;           /* one of bit gravity values */
+    int win_gravity;           /* one of the window gravity values */
+    int backing_store;         /* NotUseful, WhenMapped, Always */
+    unsigned long backing_planes;/* planes to be preseved if possible */
+    unsigned long backing_pixel;/* value to use in restoring planes */
+    Bool save_under;           /* should bits under be saved? (popups) */
+    long event_mask;           /* set of events that should be saved */
+    long do_not_propagate_mask;        /* set of events that should not propagate */
+    Bool override_redirect;    /* boolean value for override-redirect */
+    Colormap colormap;         /* color map to be associated with window */
+    Cursor cursor;             /* cursor to be displayed (or None) */
+} XSetWindowAttributes;
+
+typedef struct {
+    int x, y;                  /* location of window */
+    int width, height;         /* width and height of window */
+    int border_width;          /* border width of window */
+    int depth;                 /* depth of window */
+    Visual *visual;            /* the associated visual structure */
+    Window root;               /* root of screen containing window */
+#if defined(__cplusplus) || defined(c_plusplus)
+    int c_class;               /* C++ InputOutput, InputOnly*/
+#else
+    int class;                 /* InputOutput, InputOnly*/
+#endif
+    int bit_gravity;           /* one of bit gravity values */
+    int win_gravity;           /* one of the window gravity values */
+    int backing_store;         /* NotUseful, WhenMapped, Always */
+    unsigned long backing_planes;/* planes to be preserved if possible */
+    unsigned long backing_pixel;/* value to be used when restoring planes */
+    Bool save_under;           /* boolean, should bits under be saved? */
+    Colormap colormap;         /* color map to be associated with window */
+    Bool map_installed;                /* boolean, is color map currently installed*/
+    int map_state;             /* IsUnmapped, IsUnviewable, IsViewable */
+    long all_event_masks;      /* set of events all people have interest in*/
+    long your_event_mask;      /* my event mask */
+    long do_not_propagate_mask; /* set of events that should not propagate */
+    Bool override_redirect;    /* boolean value for override-redirect */
+    Screen *screen;            /* back pointer to correct screen */
+} XWindowAttributes;
+
+/*
+ * Data structure for host setting; getting routines.
+ *
+ */
+
+typedef struct {
+       int family;             /* for example FamilyInternet */
+       int length;             /* length of address, in bytes */
+       char *address;          /* pointer to where to find the bytes */
+} XHostAddress;
+
+/*
+ * Data structure for ServerFamilyInterpreted addresses in host routines
+ */
+typedef struct {
+       int typelength;         /* length of type string, in bytes */
+       int valuelength;        /* length of value string, in bytes */
+       char *type;             /* pointer to where to find the type string */
+       char *value;            /* pointer to where to find the address */
+} XServerInterpretedAddress;
+
+/*
+ * Data structure for "image" data, used by image manipulation routines.
+ */
+typedef struct _XImage {
+    int width, height;         /* size of image */
+    int xoffset;               /* number of pixels offset in X direction */
+    int format;                        /* XYBitmap, XYPixmap, ZPixmap */
+    char *data;                        /* pointer to image data */
+    int byte_order;            /* data byte order, LSBFirst, MSBFirst */
+    int bitmap_unit;           /* quant. of scanline 8, 16, 32 */
+    int bitmap_bit_order;      /* LSBFirst, MSBFirst */
+    int bitmap_pad;            /* 8, 16, 32 either XY or ZPixmap */
+    int depth;                 /* depth of image */
+    int bytes_per_line;                /* accelarator to next line */
+    int bits_per_pixel;                /* bits per pixel (ZPixmap) */
+    unsigned long red_mask;    /* bits in z arrangment */
+    unsigned long green_mask;
+    unsigned long blue_mask;
+    XPointer obdata;           /* hook for the object routines to hang on */
+    struct funcs {             /* image manipulation routines */
+       struct _XImage *(*create_image)(
+               struct _XDisplay* /* display */,
+               Visual*         /* visual */,
+               unsigned int    /* depth */,
+               int             /* format */,
+               int             /* offset */,
+               char*           /* data */,
+               unsigned int    /* width */,
+               unsigned int    /* height */,
+               int             /* bitmap_pad */,
+               int             /* bytes_per_line */);
+       int (*destroy_image)        (struct _XImage *);
+       unsigned long (*get_pixel)  (struct _XImage *, int, int);
+       int (*put_pixel)            (struct _XImage *, int, int, unsigned long);
+       struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
+       int (*add_pixel)            (struct _XImage *, long);
+       } f;
+} XImage;
+
+/* 
+ * Data structure for XReconfigureWindow
+ */
+typedef struct {
+    int x, y;
+    int width, height;
+    int border_width;
+    Window sibling;
+    int stack_mode;
+} XWindowChanges;
+
+/*
+ * Data structure used by color operations
+ */
+typedef struct {
+       unsigned long pixel;
+       unsigned short red, green, blue;
+       char flags;  /* do_red, do_green, do_blue */
+       char pad;
+} XColor;
+
+/* 
+ * Data structures for graphics operations.  On most machines, these are
+ * congruent with the wire protocol structures, so reformatting the data
+ * can be avoided on these architectures.
+ */
+typedef struct {
+    short x1, y1, x2, y2;
+} XSegment;
+
+typedef struct {
+    short x, y;
+} XPoint;
+    
+typedef struct {
+    short x, y;
+    unsigned short width, height;
+} XRectangle;
+    
+typedef struct {
+    short x, y;
+    unsigned short width, height;
+    short angle1, angle2;
+} XArc;
+
+
+/* Data structure for XChangeKeyboardControl */
+
+typedef struct {
+        int key_click_percent;
+        int bell_percent;
+        int bell_pitch;
+        int bell_duration;
+        int led;
+        int led_mode;
+        int key;
+        int auto_repeat_mode;   /* On, Off, Default */
+} XKeyboardControl;
+
+/* Data structure for XGetKeyboardControl */
+
+typedef struct {
+        int key_click_percent;
+       int bell_percent;
+       unsigned int bell_pitch, bell_duration;
+       unsigned long led_mask;
+       int global_auto_repeat;
+       char auto_repeats[32];
+} XKeyboardState;
+
+/* Data structure for XGetMotionEvents.  */
+
+typedef struct {
+        Time time;
+       short x, y;
+} XTimeCoord;
+
+/* Data structure for X{Set,Get}ModifierMapping */
+
+typedef struct {
+       int max_keypermod;      /* The server's max # of keys per modifier */
+       KeyCode *modifiermap;   /* An 8 by max_keypermod array of modifiers */
+} XModifierKeymap;
+
+
+/*
+ * Display datatype maintaining display specific data.
+ * The contents of this structure are implementation dependent.
+ * A Display should be treated as opaque by application code.
+ */
+#ifndef XLIB_ILLEGAL_ACCESS
+typedef struct _XDisplay Display;
+#endif
+
+struct _XPrivate;              /* Forward declare before use for C++ */
+struct _XrmHashBucketRec;
+
+typedef struct 
+#ifdef XLIB_ILLEGAL_ACCESS
+_XDisplay
+#endif
+{
+       XExtData *ext_data;     /* hook for extension to hang data */
+       struct _XPrivate *private1;
+       int fd;                 /* Network socket. */
+       int private2;
+       int proto_major_version;/* major version of server's X protocol */
+       int proto_minor_version;/* minor version of servers X protocol */
+       char *vendor;           /* vendor of the server hardware */
+        XID private3;
+       XID private4;
+       XID private5;
+       int private6;
+       XID (*resource_alloc)(  /* allocator function */
+               struct _XDisplay*
+       );
+       int byte_order;         /* screen byte order, LSBFirst, MSBFirst */
+       int bitmap_unit;        /* padding and data requirements */
+       int bitmap_pad;         /* padding requirements on bitmaps */
+       int bitmap_bit_order;   /* LeastSignificant or MostSignificant */
+       int nformats;           /* number of pixmap formats in list */
+       ScreenFormat *pixmap_format;    /* pixmap format list */
+       int private8;
+       int release;            /* release of the server */
+       struct _XPrivate *private9, *private10;
+       int qlen;               /* Length of input event queue */
+       unsigned long last_request_read; /* seq number of last event read */
+       unsigned long request;  /* sequence number of last request. */
+       XPointer private11;
+       XPointer private12;
+       XPointer private13;
+       XPointer private14;
+       unsigned max_request_size; /* maximum number 32 bit words in request*/
+       struct _XrmHashBucketRec *db;
+       int (*private15)(
+               struct _XDisplay*
+               );
+       char *display_name;     /* "host:display" string used on this connect*/
+       int default_screen;     /* default screen for operations */
+       int nscreens;           /* number of screens on this server*/
+       Screen *screens;        /* pointer to list of screens */
+       unsigned long motion_buffer;    /* size of motion buffer */
+       unsigned long private16;
+       int min_keycode;        /* minimum defined keycode */
+       int max_keycode;        /* maximum defined keycode */
+       XPointer private17;
+       XPointer private18;
+       int private19;
+       char *xdefaults;        /* contents of defaults from server */
+       /* there is more to this structure, but it is private to Xlib */
+}
+#ifdef XLIB_ILLEGAL_ACCESS
+Display, 
+#endif
+*_XPrivDisplay;
+
+#undef _XEVENT_
+#ifndef _XEVENT_
+/*
+ * Definitions of specific events.
+ */
+typedef struct {
+       int type;               /* of event */
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;          /* "event" window it is reported relative to */
+       Window root;            /* root window that the event occurred on */
+       Window subwindow;       /* child window */
+       Time time;              /* milliseconds */
+       int x, y;               /* pointer x, y coordinates in event window */
+       int x_root, y_root;     /* coordinates relative to root */
+       unsigned int state;     /* key or button mask */
+       unsigned int keycode;   /* detail */
+       Bool same_screen;       /* same screen flag */
+} XKeyEvent;
+typedef XKeyEvent XKeyPressedEvent;
+typedef XKeyEvent XKeyReleasedEvent;
+
+typedef struct {
+       int type;               /* of event */
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;          /* "event" window it is reported relative to */
+       Window root;            /* root window that the event occurred on */
+       Window subwindow;       /* child window */
+       Time time;              /* milliseconds */
+       int x, y;               /* pointer x, y coordinates in event window */
+       int x_root, y_root;     /* coordinates relative to root */
+       unsigned int state;     /* key or button mask */
+       unsigned int button;    /* detail */
+       Bool same_screen;       /* same screen flag */
+} XButtonEvent;
+typedef XButtonEvent XButtonPressedEvent;
+typedef XButtonEvent XButtonReleasedEvent;
+
+typedef struct {
+       int type;               /* of event */
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;          /* "event" window reported relative to */
+       Window root;            /* root window that the event occurred on */
+       Window subwindow;       /* child window */
+       Time time;              /* milliseconds */
+       int x, y;               /* pointer x, y coordinates in event window */
+       int x_root, y_root;     /* coordinates relative to root */
+       unsigned int state;     /* key or button mask */
+       char is_hint;           /* detail */
+       Bool same_screen;       /* same screen flag */
+} XMotionEvent;
+typedef XMotionEvent XPointerMovedEvent;
+
+typedef struct {
+       int type;               /* of event */
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;          /* "event" window reported relative to */
+       Window root;            /* root window that the event occurred on */
+       Window subwindow;       /* child window */
+       Time time;              /* milliseconds */
+       int x, y;               /* pointer x, y coordinates in event window */
+       int x_root, y_root;     /* coordinates relative to root */
+       int mode;               /* NotifyNormal, NotifyGrab, NotifyUngrab */
+       int detail;
+       /*
+        * NotifyAncestor, NotifyVirtual, NotifyInferior, 
+        * NotifyNonlinear,NotifyNonlinearVirtual
+        */
+       Bool same_screen;       /* same screen flag */
+       Bool focus;             /* boolean focus */
+       unsigned int state;     /* key or button mask */
+} XCrossingEvent;
+typedef XCrossingEvent XEnterWindowEvent;
+typedef XCrossingEvent XLeaveWindowEvent;
+
+typedef struct {
+       int type;               /* FocusIn or FocusOut */
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;          /* window of event */
+       int mode;               /* NotifyNormal, NotifyWhileGrabbed,
+                                  NotifyGrab, NotifyUngrab */
+       int detail;
+       /*
+        * NotifyAncestor, NotifyVirtual, NotifyInferior, 
+        * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
+        * NotifyPointerRoot, NotifyDetailNone 
+        */
+} XFocusChangeEvent;
+typedef XFocusChangeEvent XFocusInEvent;
+typedef XFocusChangeEvent XFocusOutEvent;
+
+/* generated on EnterWindow and FocusIn  when KeyMapState selected */
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;
+       char key_vector[32];
+} XKeymapEvent;        
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;
+       int x, y;
+       int width, height;
+       int count;              /* if non-zero, at least this many more */
+} XExposeEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Drawable drawable;
+       int x, y;
+       int width, height;
+       int count;              /* if non-zero, at least this many more */
+       int major_code;         /* core is CopyArea or CopyPlane */
+       int minor_code;         /* not defined in the core */
+} XGraphicsExposeEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Drawable drawable;
+       int major_code;         /* core is CopyArea or CopyPlane */
+       int minor_code;         /* not defined in the core */
+} XNoExposeEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;
+       int state;              /* Visibility state */
+} XVisibilityEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window parent;          /* parent of the window */
+       Window window;          /* window id of window created */
+       int x, y;               /* window location */
+       int width, height;      /* size of window */
+       int border_width;       /* border width */
+       Bool override_redirect; /* creation should be overridden */
+} XCreateWindowEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window event;
+       Window window;
+} XDestroyWindowEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window event;
+       Window window;
+       Bool from_configure;
+} XUnmapEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window event;
+       Window window;
+       Bool override_redirect; /* boolean, is override set... */
+} XMapEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window parent;
+       Window window;
+} XMapRequestEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window event;
+       Window window;
+       Window parent;
+       int x, y;
+       Bool override_redirect;
+} XReparentEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window event;
+       Window window;
+       int x, y;
+       int width, height;
+       int border_width;
+       Window above;
+       Bool override_redirect;
+} XConfigureEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window event;
+       Window window;
+       int x, y;
+} XGravityEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;
+       int width, height;
+} XResizeRequestEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window parent;
+       Window window;
+       int x, y;
+       int width, height;
+       int border_width;
+       Window above;
+       int detail;             /* Above, Below, TopIf, BottomIf, Opposite */
+       unsigned long value_mask;
+} XConfigureRequestEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window event;
+       Window window;
+       int place;              /* PlaceOnTop, PlaceOnBottom */
+} XCirculateEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window parent;
+       Window window;
+       int place;              /* PlaceOnTop, PlaceOnBottom */
+} XCirculateRequestEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;
+       Atom atom;
+       Time time;
+       int state;              /* NewValue, Deleted */
+} XPropertyEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;
+       Atom selection;
+       Time time;
+} XSelectionClearEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window owner;
+       Window requestor;
+       Atom selection;
+       Atom target;
+       Atom property;
+       Time time;
+} XSelectionRequestEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window requestor;
+       Atom selection;
+       Atom target;
+       Atom property;          /* ATOM or None */
+       Time time;
+} XSelectionEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;
+       Colormap colormap;      /* COLORMAP or None */
+#if defined(__cplusplus) || defined(c_plusplus)
+       Bool c_new;             /* C++ */
+#else
+       Bool new;
+#endif
+       int state;              /* ColormapInstalled, ColormapUninstalled */
+} XColormapEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;
+       Atom message_type;
+       int format;
+       union {
+               char b[20];
+               short s[10];
+               long l[5];
+               } data;
+} XClientMessageEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;       /* Display the event was read from */
+       Window window;          /* unused */
+       int request;            /* one of MappingModifier, MappingKeyboard,
+                                  MappingPointer */
+       int first_keycode;      /* first keycode */
+       int count;              /* defines range of change w. first_keycode*/
+} XMappingEvent;
+
+typedef struct {
+       int type;
+       Display *display;       /* Display the event was read from */
+       XID resourceid;         /* resource id */
+       unsigned long serial;   /* serial number of failed request */
+       unsigned char error_code;       /* error code of failed request */
+       unsigned char request_code;     /* Major op-code of failed request */
+       unsigned char minor_code;       /* Minor op-code of failed request */
+} XErrorEvent;
+
+typedef struct {
+       int type;
+       unsigned long serial;   /* # of last request processed by server */
+       Bool send_event;        /* true if this came from a SendEvent request */
+       Display *display;/* Display the event was read from */
+       Window window;  /* window on which event was requested in event mask */
+} XAnyEvent;
+
+/*
+ * this union is defined so Xlib can always use the same sized
+ * event structure internally, to avoid memory fragmentation.
+ */
+typedef union _XEvent {
+        int type;              /* must not be changed; first element */
+       XAnyEvent xany;
+       XKeyEvent xkey;
+       XButtonEvent xbutton;
+       XMotionEvent xmotion;
+       XCrossingEvent xcrossing;
+       XFocusChangeEvent xfocus;
+       XExposeEvent xexpose;
+       XGraphicsExposeEvent xgraphicsexpose;
+       XNoExposeEvent xnoexpose;
+       XVisibilityEvent xvisibility;
+       XCreateWindowEvent xcreatewindow;
+       XDestroyWindowEvent xdestroywindow;
+       XUnmapEvent xunmap;
+       XMapEvent xmap;
+       XMapRequestEvent xmaprequest;
+       XReparentEvent xreparent;
+       XConfigureEvent xconfigure;
+       XGravityEvent xgravity;
+       XResizeRequestEvent xresizerequest;
+       XConfigureRequestEvent xconfigurerequest;
+       XCirculateEvent xcirculate;
+       XCirculateRequestEvent xcirculaterequest;
+       XPropertyEvent xproperty;
+       XSelectionClearEvent xselectionclear;
+       XSelectionRequestEvent xselectionrequest;
+       XSelectionEvent xselection;
+       XColormapEvent xcolormap;
+       XClientMessageEvent xclient;
+       XMappingEvent xmapping;
+       XErrorEvent xerror;
+       XKeymapEvent xkeymap;
+       long pad[24];
+} XEvent;
+#endif
+
+#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
+
+/*
+ * per character font metric information.
+ */
+typedef struct {
+    short      lbearing;       /* origin to left edge of raster */
+    short      rbearing;       /* origin to right edge of raster */
+    short      width;          /* advance to next char's origin */
+    short      ascent;         /* baseline to top edge of raster */
+    short      descent;        /* baseline to bottom edge of raster */
+    unsigned short attributes; /* per char flags (not predefined) */
+} XCharStruct;
+
+/*
+ * To allow arbitrary information with fonts, there are additional properties
+ * returned.
+ */
+typedef struct {
+    Atom name;
+    unsigned long card32;
+} XFontProp;
+
+typedef struct {
+    XExtData   *ext_data;      /* hook for extension to hang data */
+    Font        fid;            /* Font id for this font */
+    unsigned   direction;      /* hint about direction the font is painted */
+    unsigned   min_char_or_byte2;/* first character */
+    unsigned   max_char_or_byte2;/* last character */
+    unsigned   min_byte1;      /* first row that exists */
+    unsigned   max_byte1;      /* last row that exists */
+    Bool       all_chars_exist;/* flag if all characters have non-zero size*/
+    unsigned   default_char;   /* char to print for undefined character */
+    int         n_properties;   /* how many properties there are */
+    XFontProp  *properties;    /* pointer to array of additional properties*/
+    XCharStruct        min_bounds;     /* minimum bounds over all existing char*/
+    XCharStruct        max_bounds;     /* maximum bounds over all existing char*/
+    XCharStruct        *per_char;      /* first_char to last_char information */
+    int                ascent;         /* log. extent above baseline for spacing */
+    int                descent;        /* log. descent below baseline for spacing */
+} XFontStruct;
+
+/*
+ * PolyText routines take these as arguments.
+ */
+typedef struct {
+    char *chars;               /* pointer to string */
+    int nchars;                        /* number of characters */
+    int delta;                 /* delta between strings */
+    Font font;                 /* font to print it in, None don't change */
+} XTextItem;
+
+typedef struct {               /* normal 16 bit characters are two bytes */
+    unsigned char byte1;
+    unsigned char byte2;
+} XChar2b;
+
+typedef struct {
+    XChar2b *chars;            /* two byte characters */
+    int nchars;                        /* number of characters */
+    int delta;                 /* delta between strings */
+    Font font;                 /* font to print it in, None don't change */
+} XTextItem16;
+
+
+typedef union { Display *display;
+               GC gc;
+               Visual *visual;
+               Screen *screen;
+               ScreenFormat *pixmap_format;
+               XFontStruct *font; } XEDataObject;
+
+typedef struct {
+    XRectangle      max_ink_extent;
+    XRectangle      max_logical_extent;
+} XFontSetExtents;
+
+/* unused:
+typedef void (*XOMProc)();
+ */
+
+typedef struct _XOM *XOM;
+typedef struct _XOC *XOC, *XFontSet;
+
+typedef struct {
+    char           *chars;
+    int             nchars;
+    int             delta;
+    XFontSet        font_set;
+} XmbTextItem;
+
+typedef struct {
+    wchar_t        *chars;
+    int             nchars;
+    int             delta;
+    XFontSet        font_set;
+} XwcTextItem;
+
+#define XNRequiredCharSet "requiredCharSet"
+#define XNQueryOrientation "queryOrientation"
+#define XNBaseFontName "baseFontName"
+#define XNOMAutomatic "omAutomatic"
+#define XNMissingCharSet "missingCharSet"
+#define XNDefaultString "defaultString"
+#define XNOrientation "orientation"
+#define XNDirectionalDependentDrawing "directionalDependentDrawing"
+#define XNContextualDrawing "contextualDrawing"
+#define XNFontInfo "fontInfo"
+
+typedef struct {
+    int charset_count;
+    char **charset_list;
+} XOMCharSetList;
+
+typedef enum {
+    XOMOrientation_LTR_TTB,
+    XOMOrientation_RTL_TTB,
+    XOMOrientation_TTB_LTR,
+    XOMOrientation_TTB_RTL,
+    XOMOrientation_Context
+} XOrientation;
+
+typedef struct {
+    int num_orientation;
+    XOrientation *orientation; /* Input Text description */
+} XOMOrientation;
+
+typedef struct {
+    int num_font;
+    XFontStruct **font_struct_list;
+    char **font_name_list;
+} XOMFontInfo;
+
+typedef struct _XIM *XIM;
+typedef struct _XIC *XIC;
+
+typedef void (*XIMProc)(
+    XIM,
+    XPointer,
+    XPointer
+);
+
+typedef Bool (*XICProc)(
+    XIC,
+    XPointer,
+    XPointer
+);
+
+typedef void (*XIDProc)(
+    Display*,
+    XPointer,
+    XPointer
+);
+
+typedef unsigned long XIMStyle;
+
+typedef struct {
+    unsigned short count_styles;
+    XIMStyle *supported_styles;
+} XIMStyles;
+
+#define XIMPreeditArea         0x0001L
+#define XIMPreeditCallbacks    0x0002L
+#define XIMPreeditPosition     0x0004L
+#define XIMPreeditNothing      0x0008L
+#define XIMPreeditNone         0x0010L
+#define XIMStatusArea          0x0100L
+#define XIMStatusCallbacks     0x0200L
+#define XIMStatusNothing       0x0400L
+#define XIMStatusNone          0x0800L
+
+#define XNVaNestedList "XNVaNestedList"
+#define XNQueryInputStyle "queryInputStyle"
+#define XNClientWindow "clientWindow"
+#define XNInputStyle "inputStyle"
+#define XNFocusWindow "focusWindow"
+#define XNResourceName "resourceName"
+#define XNResourceClass "resourceClass"
+#define XNGeometryCallback "geometryCallback"
+#define XNDestroyCallback "destroyCallback"
+#define XNFilterEvents "filterEvents"
+#define XNPreeditStartCallback "preeditStartCallback"
+#define XNPreeditDoneCallback "preeditDoneCallback"
+#define XNPreeditDrawCallback "preeditDrawCallback"
+#define XNPreeditCaretCallback "preeditCaretCallback"
+#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"
+#define XNPreeditAttributes "preeditAttributes"
+#define XNStatusStartCallback "statusStartCallback"
+#define XNStatusDoneCallback "statusDoneCallback"
+#define XNStatusDrawCallback "statusDrawCallback"
+#define XNStatusAttributes "statusAttributes"
+#define XNArea "area"
+#define XNAreaNeeded "areaNeeded"
+#define XNSpotLocation "spotLocation"
+#define XNColormap "colorMap"
+#define XNStdColormap "stdColorMap"
+#define XNForeground "foreground"
+#define XNBackground "background"
+#define XNBackgroundPixmap "backgroundPixmap"
+#define XNFontSet "fontSet"
+#define XNLineSpace "lineSpace"
+#define XNCursor "cursor"
+
+#define XNQueryIMValuesList "queryIMValuesList"
+#define XNQueryICValuesList "queryICValuesList"
+#define XNVisiblePosition "visiblePosition"
+#define XNR6PreeditCallback "r6PreeditCallback"
+#define XNStringConversionCallback "stringConversionCallback"
+#define XNStringConversion "stringConversion"
+#define XNResetState "resetState"
+#define XNHotKey "hotKey"
+#define XNHotKeyState "hotKeyState"
+#define XNPreeditState "preeditState"
+#define XNSeparatorofNestedList "separatorofNestedList"
+
+#define XBufferOverflow                -1
+#define XLookupNone            1
+#define XLookupChars           2
+#define XLookupKeySym          3
+#define XLookupBoth            4
+
+typedef void *XVaNestedList;
+
+typedef struct {
+    XPointer client_data;
+    XIMProc callback;
+} XIMCallback;
+
+typedef struct {
+    XPointer client_data;
+    XICProc callback;
+} XICCallback;
+
+typedef unsigned long XIMFeedback;
+
+#define XIMReverse             1L
+#define XIMUnderline           (1L<<1) 
+#define XIMHighlight           (1L<<2)
+#define XIMPrimary             (1L<<5)
+#define XIMSecondary           (1L<<6)
+#define XIMTertiary            (1L<<7)
+#define XIMVisibleToForward    (1L<<8)
+#define XIMVisibleToBackword   (1L<<9)
+#define XIMVisibleToCenter     (1L<<10)
+
+typedef struct _XIMText {
+    unsigned short length;
+    XIMFeedback *feedback;
+    Bool encoding_is_wchar; 
+    union {
+       char *multi_byte;
+       wchar_t *wide_char;
+    } string; 
+} XIMText;
+
+typedef        unsigned long    XIMPreeditState;
+
+#define        XIMPreeditUnKnown       0L
+#define        XIMPreeditEnable        1L
+#define        XIMPreeditDisable       (1L<<1)
+
+typedef        struct  _XIMPreeditStateNotifyCallbackStruct {
+    XIMPreeditState state;
+} XIMPreeditStateNotifyCallbackStruct;
+
+typedef        unsigned long    XIMResetState;
+
+#define        XIMInitialState         1L
+#define        XIMPreserveState        (1L<<1)
+
+typedef unsigned long XIMStringConversionFeedback;
+
+#define        XIMStringConversionLeftEdge     (0x00000001)
+#define        XIMStringConversionRightEdge    (0x00000002)
+#define        XIMStringConversionTopEdge      (0x00000004)
+#define        XIMStringConversionBottomEdge   (0x00000008)
+#define        XIMStringConversionConcealed    (0x00000010)
+#define        XIMStringConversionWrapped      (0x00000020)
+
+typedef struct _XIMStringConversionText {
+    unsigned short length;
+    XIMStringConversionFeedback *feedback;
+    Bool encoding_is_wchar; 
+    union {
+       char *mbs;
+       wchar_t *wcs;
+    } string; 
+} XIMStringConversionText;
+
+typedef        unsigned short  XIMStringConversionPosition;
+
+typedef        unsigned short  XIMStringConversionType;
+
+#define        XIMStringConversionBuffer       (0x0001)
+#define        XIMStringConversionLine         (0x0002)
+#define        XIMStringConversionWord         (0x0003)
+#define        XIMStringConversionChar         (0x0004)
+
+typedef        unsigned short  XIMStringConversionOperation;
+
+#define        XIMStringConversionSubstitution (0x0001)
+#define        XIMStringConversionRetrieval    (0x0002)
+
+typedef enum {
+    XIMForwardChar, XIMBackwardChar,
+    XIMForwardWord, XIMBackwardWord,
+    XIMCaretUp, XIMCaretDown,
+    XIMNextLine, XIMPreviousLine,
+    XIMLineStart, XIMLineEnd, 
+    XIMAbsolutePosition,
+    XIMDontChange
+} XIMCaretDirection;
+
+typedef struct _XIMStringConversionCallbackStruct {
+    XIMStringConversionPosition position;
+    XIMCaretDirection direction;
+    XIMStringConversionOperation operation;
+    unsigned short factor;
+    XIMStringConversionText *text;
+} XIMStringConversionCallbackStruct;
+
+typedef struct _XIMPreeditDrawCallbackStruct {
+    int caret;         /* Cursor offset within pre-edit string */
+    int chg_first;     /* Starting change position */
+    int chg_length;    /* Length of the change in character count */
+    XIMText *text;
+} XIMPreeditDrawCallbackStruct;
+
+typedef enum {
+    XIMIsInvisible,    /* Disable caret feedback */ 
+    XIMIsPrimary,      /* UI defined caret feedback */
+    XIMIsSecondary     /* UI defined caret feedback */
+} XIMCaretStyle;
+
+typedef struct _XIMPreeditCaretCallbackStruct {
+    int position;               /* Caret offset within pre-edit string */
+    XIMCaretDirection direction; /* Caret moves direction */
+    XIMCaretStyle style;        /* Feedback of the caret */
+} XIMPreeditCaretCallbackStruct;
+
+typedef enum {
+    XIMTextType,
+    XIMBitmapType
+} XIMStatusDataType;
+       
+typedef struct _XIMStatusDrawCallbackStruct {
+    XIMStatusDataType type;
+    union {
+       XIMText *text;
+       Pixmap  bitmap;
+    } data;
+} XIMStatusDrawCallbackStruct;
+
+typedef struct _XIMHotKeyTrigger {
+    KeySym      keysym;
+    int                 modifier;
+    int                 modifier_mask;
+} XIMHotKeyTrigger;
+
+typedef struct _XIMHotKeyTriggers {
+    int                         num_hot_key;
+    XIMHotKeyTrigger   *key;
+} XIMHotKeyTriggers;
+
+typedef        unsigned long    XIMHotKeyState;
+
+#define        XIMHotKeyStateON        (0x0001L)
+#define        XIMHotKeyStateOFF       (0x0002L)
+
+typedef struct {
+    unsigned short count_values;
+    char **supported_values;
+} XIMValuesList;
+
+_XFUNCPROTOBEGIN
+
+#if defined(WIN32) && !defined(_XLIBINT_)
+#define _Xdebug (*_Xdebug_p)
+#endif
+
+extern int _Xdebug;
+
+extern XFontStruct *XLoadQueryFont(
+    Display*           /* display */,
+    _Xconst char*      /* name */
+);
+
+extern XFontStruct *XQueryFont(
+    Display*           /* display */,
+    XID                        /* font_ID */
+);
+
+
+extern XTimeCoord *XGetMotionEvents(
+    Display*           /* display */,
+    Window             /* w */,
+    Time               /* start */,
+    Time               /* stop */,
+    int*               /* nevents_return */
+);
+
+extern XModifierKeymap *XDeleteModifiermapEntry(
+    XModifierKeymap*   /* modmap */,
+#if NeedWidePrototypes
+    unsigned int       /* keycode_entry */,
+#else
+    KeyCode            /* keycode_entry */,
+#endif
+    int                        /* modifier */
+);
+
+extern XModifierKeymap *XGetModifierMapping(
+    Display*           /* display */
+);
+
+extern XModifierKeymap *XInsertModifiermapEntry(
+    XModifierKeymap*   /* modmap */,
+#if NeedWidePrototypes
+    unsigned int       /* keycode_entry */,
+#else
+    KeyCode            /* keycode_entry */,
+#endif
+    int                        /* modifier */    
+);
+
+extern XModifierKeymap *XNewModifiermap(
+    int                        /* max_keys_per_mod */
+);
+
+extern XImage *XCreateImage(
+    Display*           /* display */,
+    Visual*            /* visual */,
+    unsigned int       /* depth */,
+    int                        /* format */,
+    int                        /* offset */,
+    char*              /* data */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    int                        /* bitmap_pad */,
+    int                        /* bytes_per_line */
+);
+extern Status XInitImage(
+    XImage*            /* image */
+);
+extern XImage *XGetImage(
+    Display*           /* display */,
+    Drawable           /* d */,
+    int                        /* x */,
+    int                        /* y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    unsigned long      /* plane_mask */,
+    int                        /* format */
+);
+extern XImage *XGetSubImage(
+    Display*           /* display */,
+    Drawable           /* d */,
+    int                        /* x */,
+    int                        /* y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    unsigned long      /* plane_mask */,
+    int                        /* format */,
+    XImage*            /* dest_image */,
+    int                        /* dest_x */,
+    int                        /* dest_y */
+);
+
+/* 
+ * X function declarations.
+ */
+extern Display *XOpenDisplay(
+    _Xconst char*      /* display_name */
+);
+
+extern void XrmInitialize(
+    void
+);
+
+extern char *XFetchBytes(
+    Display*           /* display */,
+    int*               /* nbytes_return */
+);
+extern char *XFetchBuffer(
+    Display*           /* display */,
+    int*               /* nbytes_return */,
+    int                        /* buffer */
+);
+extern char *XGetAtomName(
+    Display*           /* display */,
+    Atom               /* atom */
+);
+extern Status XGetAtomNames(
+    Display*           /* dpy */,
+    Atom*              /* atoms */,
+    int                        /* count */,
+    char**             /* names_return */
+);
+extern char *XGetDefault(
+    Display*           /* display */,
+    _Xconst char*      /* program */,
+    _Xconst char*      /* option */              
+);
+extern char *XDisplayName(
+    _Xconst char*      /* string */
+);
+extern char *XKeysymToString(
+    KeySym             /* keysym */
+);
+
+extern int (*XSynchronize(
+    Display*           /* display */,
+    Bool               /* onoff */
+))(
+    Display*           /* display */
+);
+extern int (*XSetAfterFunction(
+    Display*           /* display */,
+    int (*) (
+            Display*   /* display */
+            )          /* procedure */
+))(
+    Display*           /* display */
+);
+extern Atom XInternAtom(
+    Display*           /* display */,
+    _Xconst char*      /* atom_name */,
+    Bool               /* only_if_exists */             
+);
+extern Status XInternAtoms(
+    Display*           /* dpy */,
+    char**             /* names */,
+    int                        /* count */,
+    Bool               /* onlyIfExists */,
+    Atom*              /* atoms_return */
+);
+extern Colormap XCopyColormapAndFree(
+    Display*           /* display */,
+    Colormap           /* colormap */
+);
+extern Colormap XCreateColormap(
+    Display*           /* display */,
+    Window             /* w */,
+    Visual*            /* visual */,
+    int                        /* alloc */                      
+);
+extern Cursor XCreatePixmapCursor(
+    Display*           /* display */,
+    Pixmap             /* source */,
+    Pixmap             /* mask */,
+    XColor*            /* foreground_color */,
+    XColor*            /* background_color */,
+    unsigned int       /* x */,
+    unsigned int       /* y */                    
+);
+extern Cursor XCreateGlyphCursor(
+    Display*           /* display */,
+    Font               /* source_font */,
+    Font               /* mask_font */,
+    unsigned int       /* source_char */,
+    unsigned int       /* mask_char */,
+    XColor _Xconst *   /* foreground_color */,
+    XColor _Xconst *   /* background_color */
+);
+extern Cursor XCreateFontCursor(
+    Display*           /* display */,
+    unsigned int       /* shape */
+);
+extern Font XLoadFont(
+    Display*           /* display */,
+    _Xconst char*      /* name */
+);
+extern GC XCreateGC(
+    Display*           /* display */,
+    Drawable           /* d */,
+    unsigned long      /* valuemask */,
+    XGCValues*         /* values */
+);
+extern GContext XGContextFromGC(
+    GC                 /* gc */
+);
+extern void XFlushGC(
+    Display*           /* display */,
+    GC                 /* gc */
+);
+extern Pixmap XCreatePixmap(
+    Display*           /* display */,
+    Drawable           /* d */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    unsigned int       /* depth */                     
+);
+extern Pixmap XCreateBitmapFromData(
+    Display*           /* display */,
+    Drawable           /* d */,
+    _Xconst char*      /* data */,
+    unsigned int       /* width */,
+    unsigned int       /* height */
+);
+extern Pixmap XCreatePixmapFromBitmapData(
+    Display*           /* display */,
+    Drawable           /* d */,
+    char*              /* data */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    unsigned long      /* fg */,
+    unsigned long      /* bg */,
+    unsigned int       /* depth */
+);
+extern Window XCreateSimpleWindow(
+    Display*           /* display */,
+    Window             /* parent */,
+    int                        /* x */,
+    int                        /* y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    unsigned int       /* border_width */,
+    unsigned long      /* border */,
+    unsigned long      /* background */
+);
+extern Window XGetSelectionOwner(
+    Display*           /* display */,
+    Atom               /* selection */
+);
+extern Window XCreateWindow(
+    Display*           /* display */,
+    Window             /* parent */,
+    int                        /* x */,
+    int                        /* y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    unsigned int       /* border_width */,
+    int                        /* depth */,
+    unsigned int       /* class */,
+    Visual*            /* visual */,
+    unsigned long      /* valuemask */,
+    XSetWindowAttributes*      /* attributes */
+); 
+extern Colormap *XListInstalledColormaps(
+    Display*           /* display */,
+    Window             /* w */,
+    int*               /* num_return */
+);
+extern char **XListFonts(
+    Display*           /* display */,
+    _Xconst char*      /* pattern */,
+    int                        /* maxnames */,
+    int*               /* actual_count_return */
+);
+extern char **XListFontsWithInfo(
+    Display*           /* display */,
+    _Xconst char*      /* pattern */,
+    int                        /* maxnames */,
+    int*               /* count_return */,
+    XFontStruct**      /* info_return */
+);
+extern char **XGetFontPath(
+    Display*           /* display */,
+    int*               /* npaths_return */
+);
+extern char **XListExtensions(
+    Display*           /* display */,
+    int*               /* nextensions_return */
+);
+extern Atom *XListProperties(
+    Display*           /* display */,
+    Window             /* w */,
+    int*               /* num_prop_return */
+);
+extern XHostAddress *XListHosts(
+    Display*           /* display */,
+    int*               /* nhosts_return */,
+    Bool*              /* state_return */
+);
+extern KeySym XKeycodeToKeysym(
+    Display*           /* display */,
+#if NeedWidePrototypes
+    unsigned int       /* keycode */,
+#else
+    KeyCode            /* keycode */,
+#endif
+    int                        /* index */
+);
+extern KeySym XLookupKeysym(
+    XKeyEvent*         /* key_event */,
+    int                        /* index */
+);
+extern KeySym *XGetKeyboardMapping(
+    Display*           /* display */,
+#if NeedWidePrototypes
+    unsigned int       /* first_keycode */,
+#else
+    KeyCode            /* first_keycode */,
+#endif
+    int                        /* keycode_count */,
+    int*               /* keysyms_per_keycode_return */
+);
+extern KeySym XStringToKeysym(
+    _Xconst char*      /* string */
+);
+extern long XMaxRequestSize(
+    Display*           /* display */
+);
+extern long XExtendedMaxRequestSize(
+    Display*           /* display */
+);
+extern char *XResourceManagerString(
+    Display*           /* display */
+);
+extern char *XScreenResourceString(
+       Screen*         /* screen */
+);
+extern unsigned long XDisplayMotionBufferSize(
+    Display*           /* display */
+);
+extern VisualID XVisualIDFromVisual(
+    Visual*            /* visual */
+);
+
+/* multithread routines */
+
+extern Status XInitThreads(
+    void
+);
+
+extern void XLockDisplay(
+    Display*           /* display */
+);
+
+extern void XUnlockDisplay(
+    Display*           /* display */
+);
+
+/* routines for dealing with extensions */
+
+extern XExtCodes *XInitExtension(
+    Display*           /* display */,
+    _Xconst char*      /* name */
+);
+
+extern XExtCodes *XAddExtension(
+    Display*           /* display */
+);
+extern XExtData *XFindOnExtensionList(
+    XExtData**         /* structure */,
+    int                        /* number */
+);
+extern XExtData **XEHeadOfExtensionList(
+    XEDataObject       /* object */
+);
+
+/* these are routines for which there are also macros */
+extern Window XRootWindow(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+extern Window XDefaultRootWindow(
+    Display*           /* display */
+);
+extern Window XRootWindowOfScreen(
+    Screen*            /* screen */
+);
+extern Visual *XDefaultVisual(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+extern Visual *XDefaultVisualOfScreen(
+    Screen*            /* screen */
+);
+extern GC XDefaultGC(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+extern GC XDefaultGCOfScreen(
+    Screen*            /* screen */
+);
+extern unsigned long XBlackPixel(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+extern unsigned long XWhitePixel(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+extern unsigned long XAllPlanes(
+    void
+);
+extern unsigned long XBlackPixelOfScreen(
+    Screen*            /* screen */
+);
+extern unsigned long XWhitePixelOfScreen(
+    Screen*            /* screen */
+);
+extern unsigned long XNextRequest(
+    Display*           /* display */
+);
+extern unsigned long XLastKnownRequestProcessed(
+    Display*           /* display */
+);
+extern char *XServerVendor(
+    Display*           /* display */
+);
+extern char *XDisplayString(
+    Display*           /* display */
+);
+extern Colormap XDefaultColormap(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+extern Colormap XDefaultColormapOfScreen(
+    Screen*            /* screen */
+);
+extern Display *XDisplayOfScreen(
+    Screen*            /* screen */
+);
+extern Screen *XScreenOfDisplay(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+extern Screen *XDefaultScreenOfDisplay(
+    Display*           /* display */
+);
+extern long XEventMaskOfScreen(
+    Screen*            /* screen */
+);
+
+extern int XScreenNumberOfScreen(
+    Screen*            /* screen */
+);
+
+typedef int (*XErrorHandler) (     /* WARNING, this type not in Xlib spec */
+    Display*           /* display */,
+    XErrorEvent*       /* error_event */
+);
+
+extern XErrorHandler XSetErrorHandler (
+    XErrorHandler      /* handler */
+);
+
+
+typedef int (*XIOErrorHandler) (    /* WARNING, this type not in Xlib spec */
+    Display*           /* display */
+);
+
+extern XIOErrorHandler XSetIOErrorHandler (
+    XIOErrorHandler    /* handler */
+);
+
+
+extern XPixmapFormatValues *XListPixmapFormats(
+    Display*           /* display */,
+    int*               /* count_return */
+);
+extern int *XListDepths(
+    Display*           /* display */,
+    int                        /* screen_number */,
+    int*               /* count_return */
+);
+
+/* ICCCM routines for things that don't require special include files; */
+/* other declarations are given in Xutil.h                             */
+extern Status XReconfigureWMWindow(
+    Display*           /* display */,
+    Window             /* w */,
+    int                        /* screen_number */,
+    unsigned int       /* mask */,
+    XWindowChanges*    /* changes */
+);
+
+extern Status XGetWMProtocols(
+    Display*           /* display */,
+    Window             /* w */,
+    Atom**             /* protocols_return */,
+    int*               /* count_return */
+);
+extern Status XSetWMProtocols(
+    Display*           /* display */,
+    Window             /* w */,
+    Atom*              /* protocols */,
+    int                        /* count */
+);
+extern Status XIconifyWindow(
+    Display*           /* display */,
+    Window             /* w */,
+    int                        /* screen_number */
+);
+extern Status XWithdrawWindow(
+    Display*           /* display */,
+    Window             /* w */,
+    int                        /* screen_number */
+);
+extern Status XGetCommand(
+    Display*           /* display */,
+    Window             /* w */,
+    char***            /* argv_return */,
+    int*               /* argc_return */
+);
+extern Status XGetWMColormapWindows(
+    Display*           /* display */,
+    Window             /* w */,
+    Window**           /* windows_return */,
+    int*               /* count_return */
+);
+extern Status XSetWMColormapWindows(
+    Display*           /* display */,
+    Window             /* w */,
+    Window*            /* colormap_windows */,
+    int                        /* count */
+);
+extern void XFreeStringList(
+    char**             /* list */
+);
+extern int XSetTransientForHint(
+    Display*           /* display */,
+    Window             /* w */,
+    Window             /* prop_window */
+);
+
+/* The following are given in alphabetical order */
+
+extern int XActivateScreenSaver(
+    Display*           /* display */
+);
+
+extern int XAddHost(
+    Display*           /* display */,
+    XHostAddress*      /* host */
+);
+
+extern int XAddHosts(
+    Display*           /* display */,
+    XHostAddress*      /* hosts */,
+    int                        /* num_hosts */    
+);
+
+extern int XAddToExtensionList(
+    struct _XExtData** /* structure */,
+    XExtData*          /* ext_data */
+);
+
+extern int XAddToSaveSet(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern Status XAllocColor(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    XColor*            /* screen_in_out */
+);
+
+extern Status XAllocColorCells(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    Bool               /* contig */,
+    unsigned long*     /* plane_masks_return */,
+    unsigned int       /* nplanes */,
+    unsigned long*     /* pixels_return */,
+    unsigned int       /* npixels */
+);
+
+extern Status XAllocColorPlanes(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    Bool               /* contig */,
+    unsigned long*     /* pixels_return */,
+    int                        /* ncolors */,
+    int                        /* nreds */,
+    int                        /* ngreens */,
+    int                        /* nblues */,
+    unsigned long*     /* rmask_return */,
+    unsigned long*     /* gmask_return */,
+    unsigned long*     /* bmask_return */
+);
+
+extern Status XAllocNamedColor(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    _Xconst char*      /* color_name */,
+    XColor*            /* screen_def_return */,
+    XColor*            /* exact_def_return */
+);
+
+extern int XAllowEvents(
+    Display*           /* display */,
+    int                        /* event_mode */,
+    Time               /* time */
+);
+
+extern int XAutoRepeatOff(
+    Display*           /* display */
+);
+
+extern int XAutoRepeatOn(
+    Display*           /* display */
+);
+
+extern int XBell(
+    Display*           /* display */,
+    int                        /* percent */
+);
+
+extern int XBitmapBitOrder(
+    Display*           /* display */
+);
+
+extern int XBitmapPad(
+    Display*           /* display */
+);
+
+extern int XBitmapUnit(
+    Display*           /* display */
+);
+
+extern int XCellsOfScreen(
+    Screen*            /* screen */
+);
+
+extern int XChangeActivePointerGrab(
+    Display*           /* display */,
+    unsigned int       /* event_mask */,
+    Cursor             /* cursor */,
+    Time               /* time */
+);
+
+extern int XChangeGC(
+    Display*           /* display */,
+    GC                 /* gc */,
+    unsigned long      /* valuemask */,
+    XGCValues*         /* values */
+);
+
+extern int XChangeKeyboardControl(
+    Display*           /* display */,
+    unsigned long      /* value_mask */,
+    XKeyboardControl*  /* values */
+);
+
+extern int XChangeKeyboardMapping(
+    Display*           /* display */,
+    int                        /* first_keycode */,
+    int                        /* keysyms_per_keycode */,
+    KeySym*            /* keysyms */,
+    int                        /* num_codes */
+);
+
+extern int XChangePointerControl(
+    Display*           /* display */,
+    Bool               /* do_accel */,
+    Bool               /* do_threshold */,
+    int                        /* accel_numerator */,
+    int                        /* accel_denominator */,
+    int                        /* threshold */
+);
+
+extern int XChangeProperty(
+    Display*           /* display */,
+    Window             /* w */,
+    Atom               /* property */,
+    Atom               /* type */,
+    int                        /* format */,
+    int                        /* mode */,
+    _Xconst unsigned char*     /* data */,
+    int                        /* nelements */
+);
+
+extern int XChangeSaveSet(
+    Display*           /* display */,
+    Window             /* w */,
+    int                        /* change_mode */
+);
+
+extern int XChangeWindowAttributes(
+    Display*           /* display */,
+    Window             /* w */,
+    unsigned long      /* valuemask */,
+    XSetWindowAttributes* /* attributes */
+);
+
+extern Bool XCheckIfEvent(
+    Display*           /* display */,
+    XEvent*            /* event_return */,
+    Bool (*) (
+              Display*                 /* display */,
+               XEvent*                 /* event */,
+               XPointer                        /* arg */
+             )         /* predicate */,
+    XPointer           /* arg */
+);
+
+extern Bool XCheckMaskEvent(
+    Display*           /* display */,
+    long               /* event_mask */,
+    XEvent*            /* event_return */
+);
+
+extern Bool XCheckTypedEvent(
+    Display*           /* display */,
+    int                        /* event_type */,
+    XEvent*            /* event_return */
+);
+
+extern Bool XCheckTypedWindowEvent(
+    Display*           /* display */,
+    Window             /* w */,
+    int                        /* event_type */,
+    XEvent*            /* event_return */
+);
+
+extern Bool XCheckWindowEvent(
+    Display*           /* display */,
+    Window             /* w */,
+    long               /* event_mask */,
+    XEvent*            /* event_return */
+);
+
+extern int XCirculateSubwindows(
+    Display*           /* display */,
+    Window             /* w */,
+    int                        /* direction */
+);
+
+extern int XCirculateSubwindowsDown(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XCirculateSubwindowsUp(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XClearArea(
+    Display*           /* display */,
+    Window             /* w */,
+    int                        /* x */,
+    int                        /* y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    Bool               /* exposures */
+);
+
+extern int XClearWindow(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XCloseDisplay(
+    Display*           /* display */
+);
+
+extern int XConfigureWindow(
+    Display*           /* display */,
+    Window             /* w */,
+    unsigned int       /* value_mask */,
+    XWindowChanges*    /* values */             
+);
+
+extern int XConnectionNumber(
+    Display*           /* display */
+);
+
+extern int XConvertSelection(
+    Display*           /* display */,
+    Atom               /* selection */,
+    Atom               /* target */,
+    Atom               /* property */,
+    Window             /* requestor */,
+    Time               /* time */
+);
+
+extern int XCopyArea(
+    Display*           /* display */,
+    Drawable           /* src */,
+    Drawable           /* dest */,
+    GC                 /* gc */,
+    int                        /* src_x */,
+    int                        /* src_y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    int                        /* dest_x */,
+    int                        /* dest_y */
+);
+
+extern int XCopyGC(
+    Display*           /* display */,
+    GC                 /* src */,
+    unsigned long      /* valuemask */,
+    GC                 /* dest */
+);
+
+extern int XCopyPlane(
+    Display*           /* display */,
+    Drawable           /* src */,
+    Drawable           /* dest */,
+    GC                 /* gc */,
+    int                        /* src_x */,
+    int                        /* src_y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    int                        /* dest_x */,
+    int                        /* dest_y */,
+    unsigned long      /* plane */
+);
+
+extern int XDefaultDepth(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+
+extern int XDefaultDepthOfScreen(
+    Screen*            /* screen */
+);
+
+extern int XDefaultScreen(
+    Display*           /* display */
+);
+
+extern int XDefineCursor(
+    Display*           /* display */,
+    Window             /* w */,
+    Cursor             /* cursor */
+);
+
+extern int XDeleteProperty(
+    Display*           /* display */,
+    Window             /* w */,
+    Atom               /* property */
+);
+
+extern int XDestroyWindow(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XDestroySubwindows(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XDoesBackingStore(
+    Screen*            /* screen */    
+);
+
+extern Bool XDoesSaveUnders(
+    Screen*            /* screen */
+);
+
+extern int XDisableAccessControl(
+    Display*           /* display */
+);
+
+
+extern int XDisplayCells(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+
+extern int XDisplayHeight(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+
+extern int XDisplayHeightMM(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+
+extern int XDisplayKeycodes(
+    Display*           /* display */,
+    int*               /* min_keycodes_return */,
+    int*               /* max_keycodes_return */
+);
+
+extern int XDisplayPlanes(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+
+extern int XDisplayWidth(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+
+extern int XDisplayWidthMM(
+    Display*           /* display */,
+    int                        /* screen_number */
+);
+
+extern int XDrawArc(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    int                        /* angle1 */,
+    int                        /* angle2 */
+);
+
+extern int XDrawArcs(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    XArc*              /* arcs */,
+    int                        /* narcs */
+);
+
+extern int XDrawImageString(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    _Xconst char*      /* string */,
+    int                        /* length */
+);
+
+extern int XDrawImageString16(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    _Xconst XChar2b*   /* string */,
+    int                        /* length */
+);
+
+extern int XDrawLine(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x1 */,
+    int                        /* y1 */,
+    int                        /* x2 */,
+    int                        /* y2 */
+);
+
+extern int XDrawLines(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    XPoint*            /* points */,
+    int                        /* npoints */,
+    int                        /* mode */
+);
+
+extern int XDrawPoint(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */
+);
+
+extern int XDrawPoints(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    XPoint*            /* points */,
+    int                        /* npoints */,
+    int                        /* mode */
+);
+
+extern int XDrawRectangle(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */
+);
+
+extern int XDrawRectangles(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    XRectangle*                /* rectangles */,
+    int                        /* nrectangles */
+);
+
+extern int XDrawSegments(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    XSegment*          /* segments */,
+    int                        /* nsegments */
+);
+
+extern int XDrawString(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    _Xconst char*      /* string */,
+    int                        /* length */
+);
+
+extern int XDrawString16(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    _Xconst XChar2b*   /* string */,
+    int                        /* length */
+);
+
+extern int XDrawText(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    XTextItem*         /* items */,
+    int                        /* nitems */
+);
+
+extern int XDrawText16(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    XTextItem16*       /* items */,
+    int                        /* nitems */
+);
+
+extern int XEnableAccessControl(
+    Display*           /* display */
+);
+
+extern int XEventsQueued(
+    Display*           /* display */,
+    int                        /* mode */
+);
+
+extern Status XFetchName(
+    Display*           /* display */,
+    Window             /* w */,
+    char**             /* window_name_return */
+);
+
+extern int XFillArc(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    int                        /* angle1 */,
+    int                        /* angle2 */
+);
+
+extern int XFillArcs(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    XArc*              /* arcs */,
+    int                        /* narcs */
+);
+
+extern int XFillPolygon(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    XPoint*            /* points */,
+    int                        /* npoints */,
+    int                        /* shape */,
+    int                        /* mode */
+);
+
+extern int XFillRectangle(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */
+);
+
+extern int XFillRectangles(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    XRectangle*                /* rectangles */,
+    int                        /* nrectangles */
+);
+
+extern int XFlush(
+    Display*           /* display */
+);
+
+extern int XForceScreenSaver(
+    Display*           /* display */,
+    int                        /* mode */
+);
+
+extern int XFree(
+    void*              /* data */
+);
+
+extern int XFreeColormap(
+    Display*           /* display */,
+    Colormap           /* colormap */
+);
+
+extern int XFreeColors(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    unsigned long*     /* pixels */,
+    int                        /* npixels */,
+    unsigned long      /* planes */
+);
+
+extern int XFreeCursor(
+    Display*           /* display */,
+    Cursor             /* cursor */
+);
+
+extern int XFreeExtensionList(
+    char**             /* list */    
+);
+
+extern int XFreeFont(
+    Display*           /* display */,
+    XFontStruct*       /* font_struct */
+);
+
+extern int XFreeFontInfo(
+    char**             /* names */,
+    XFontStruct*       /* free_info */,
+    int                        /* actual_count */
+);
+
+extern int XFreeFontNames(
+    char**             /* list */
+);
+
+extern int XFreeFontPath(
+    char**             /* list */
+);
+
+extern int XFreeGC(
+    Display*           /* display */,
+    GC                 /* gc */
+);
+
+extern int XFreeModifiermap(
+    XModifierKeymap*   /* modmap */
+);
+
+extern int XFreePixmap(
+    Display*           /* display */,
+    Pixmap             /* pixmap */
+);
+
+extern int XGeometry(
+    Display*           /* display */,
+    int                        /* screen */,
+    _Xconst char*      /* position */,
+    _Xconst char*      /* default_position */,
+    unsigned int       /* bwidth */,
+    unsigned int       /* fwidth */,
+    unsigned int       /* fheight */,
+    int                        /* xadder */,
+    int                        /* yadder */,
+    int*               /* x_return */,
+    int*               /* y_return */,
+    int*               /* width_return */,
+    int*               /* height_return */
+);
+
+extern int XGetErrorDatabaseText(
+    Display*           /* display */,
+    _Xconst char*      /* name */,
+    _Xconst char*      /* message */,
+    _Xconst char*      /* default_string */,
+    char*              /* buffer_return */,
+    int                        /* length */
+);
+
+extern int XGetErrorText(
+    Display*           /* display */,
+    int                        /* code */,
+    char*              /* buffer_return */,
+    int                        /* length */
+);
+
+extern Bool XGetFontProperty(
+    XFontStruct*       /* font_struct */,
+    Atom               /* atom */,
+    unsigned long*     /* value_return */
+);
+
+extern Status XGetGCValues(
+    Display*           /* display */,
+    GC                 /* gc */,
+    unsigned long      /* valuemask */,
+    XGCValues*         /* values_return */
+);
+
+extern Status XGetGeometry(
+    Display*           /* display */,
+    Drawable           /* d */,
+    Window*            /* root_return */,
+    int*               /* x_return */,
+    int*               /* y_return */,
+    unsigned int*      /* width_return */,
+    unsigned int*      /* height_return */,
+    unsigned int*      /* border_width_return */,
+    unsigned int*      /* depth_return */
+);
+
+extern Status XGetIconName(
+    Display*           /* display */,
+    Window             /* w */,
+    char**             /* icon_name_return */
+);
+
+extern int XGetInputFocus(
+    Display*           /* display */,
+    Window*            /* focus_return */,
+    int*               /* revert_to_return */
+);
+
+extern int XGetKeyboardControl(
+    Display*           /* display */,
+    XKeyboardState*    /* values_return */
+);
+
+extern int XGetPointerControl(
+    Display*           /* display */,
+    int*               /* accel_numerator_return */,
+    int*               /* accel_denominator_return */,
+    int*               /* threshold_return */
+);
+
+extern int XGetPointerMapping(
+    Display*           /* display */,
+    unsigned char*     /* map_return */,
+    int                        /* nmap */
+);
+
+extern int XGetScreenSaver(
+    Display*           /* display */,
+    int*               /* timeout_return */,
+    int*               /* interval_return */,
+    int*               /* prefer_blanking_return */,
+    int*               /* allow_exposures_return */
+);
+
+extern Status XGetTransientForHint(
+    Display*           /* display */,
+    Window             /* w */,
+    Window*            /* prop_window_return */
+);
+
+extern int XGetWindowProperty(
+    Display*           /* display */,
+    Window             /* w */,
+    Atom               /* property */,
+    long               /* long_offset */,
+    long               /* long_length */,
+    Bool               /* delete */,
+    Atom               /* req_type */,
+    Atom*              /* actual_type_return */,
+    int*               /* actual_format_return */,
+    unsigned long*     /* nitems_return */,
+    unsigned long*     /* bytes_after_return */,
+    unsigned char**    /* prop_return */
+);
+
+extern Status XGetWindowAttributes(
+    Display*           /* display */,
+    Window             /* w */,
+    XWindowAttributes* /* window_attributes_return */
+);
+
+extern int XGrabButton(
+    Display*           /* display */,
+    unsigned int       /* button */,
+    unsigned int       /* modifiers */,
+    Window             /* grab_window */,
+    Bool               /* owner_events */,
+    unsigned int       /* event_mask */,
+    int                        /* pointer_mode */,
+    int                        /* keyboard_mode */,
+    Window             /* confine_to */,
+    Cursor             /* cursor */
+);
+
+extern int XGrabKey(
+    Display*           /* display */,
+    int                        /* keycode */,
+    unsigned int       /* modifiers */,
+    Window             /* grab_window */,
+    Bool               /* owner_events */,
+    int                        /* pointer_mode */,
+    int                        /* keyboard_mode */
+);
+
+extern int XGrabKeyboard(
+    Display*           /* display */,
+    Window             /* grab_window */,
+    Bool               /* owner_events */,
+    int                        /* pointer_mode */,
+    int                        /* keyboard_mode */,
+    Time               /* time */
+);
+
+extern int XGrabPointer(
+    Display*           /* display */,
+    Window             /* grab_window */,
+    Bool               /* owner_events */,
+    unsigned int       /* event_mask */,
+    int                        /* pointer_mode */,
+    int                        /* keyboard_mode */,
+    Window             /* confine_to */,
+    Cursor             /* cursor */,
+    Time               /* time */
+);
+
+extern int XGrabServer(
+    Display*           /* display */
+);
+
+extern int XHeightMMOfScreen(
+    Screen*            /* screen */
+);
+
+extern int XHeightOfScreen(
+    Screen*            /* screen */
+);
+
+extern int XIfEvent(
+    Display*           /* display */,
+    XEvent*            /* event_return */,
+    Bool (*) (
+              Display*                 /* display */,
+               XEvent*                 /* event */,
+               XPointer                        /* arg */
+             )         /* predicate */,
+    XPointer           /* arg */
+);
+
+extern int XImageByteOrder(
+    Display*           /* display */
+);
+
+extern int XInstallColormap(
+    Display*           /* display */,
+    Colormap           /* colormap */
+);
+
+extern KeyCode XKeysymToKeycode(
+    Display*           /* display */,
+    KeySym             /* keysym */
+);
+
+extern int XKillClient(
+    Display*           /* display */,
+    XID                        /* resource */
+);
+
+extern Status XLookupColor(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    _Xconst char*      /* color_name */,
+    XColor*            /* exact_def_return */,
+    XColor*            /* screen_def_return */
+);
+
+extern int XLowerWindow(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XMapRaised(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XMapSubwindows(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XMapWindow(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XMaskEvent(
+    Display*           /* display */,
+    long               /* event_mask */,
+    XEvent*            /* event_return */
+);
+
+extern int XMaxCmapsOfScreen(
+    Screen*            /* screen */
+);
+
+extern int XMinCmapsOfScreen(
+    Screen*            /* screen */
+);
+
+extern int XMoveResizeWindow(
+    Display*           /* display */,
+    Window             /* w */,
+    int                        /* x */,
+    int                        /* y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */
+);
+
+extern int XMoveWindow(
+    Display*           /* display */,
+    Window             /* w */,
+    int                        /* x */,
+    int                        /* y */
+);
+
+extern int XNextEvent(
+    Display*           /* display */,
+    XEvent*            /* event_return */
+);
+
+extern int XNoOp(
+    Display*           /* display */
+);
+
+extern Status XParseColor(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    _Xconst char*      /* spec */,
+    XColor*            /* exact_def_return */
+);
+
+extern int XParseGeometry(
+    _Xconst char*      /* parsestring */,
+    int*               /* x_return */,
+    int*               /* y_return */,
+    unsigned int*      /* width_return */,
+    unsigned int*      /* height_return */
+);
+
+extern int XPeekEvent(
+    Display*           /* display */,
+    XEvent*            /* event_return */
+);
+
+extern int XPeekIfEvent(
+    Display*           /* display */,
+    XEvent*            /* event_return */,
+    Bool (*) (
+              Display*         /* display */,
+               XEvent*         /* event */,
+               XPointer                /* arg */
+             )         /* predicate */,
+    XPointer           /* arg */
+);
+
+extern int XPending(
+    Display*           /* display */
+);
+
+extern int XPlanesOfScreen(
+    Screen*            /* screen */
+);
+
+extern int XProtocolRevision(
+    Display*           /* display */
+);
+
+extern int XProtocolVersion(
+    Display*           /* display */
+);
+
+
+extern int XPutBackEvent(
+    Display*           /* display */,
+    XEvent*            /* event */
+);
+
+extern int XPutImage(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    XImage*            /* image */,
+    int                        /* src_x */,
+    int                        /* src_y */,
+    int                        /* dest_x */,
+    int                        /* dest_y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */      
+);
+
+extern int XQLength(
+    Display*           /* display */
+);
+
+extern Status XQueryBestCursor(
+    Display*           /* display */,
+    Drawable           /* d */,
+    unsigned int        /* width */,
+    unsigned int       /* height */,
+    unsigned int*      /* width_return */,
+    unsigned int*      /* height_return */
+);
+
+extern Status XQueryBestSize(
+    Display*           /* display */,
+    int                        /* class */,
+    Drawable           /* which_screen */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    unsigned int*      /* width_return */,
+    unsigned int*      /* height_return */
+);
+
+extern Status XQueryBestStipple(
+    Display*           /* display */,
+    Drawable           /* which_screen */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    unsigned int*      /* width_return */,
+    unsigned int*      /* height_return */
+);
+
+extern Status XQueryBestTile(
+    Display*           /* display */,
+    Drawable           /* which_screen */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    unsigned int*      /* width_return */,
+    unsigned int*      /* height_return */
+);
+
+extern int XQueryColor(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    XColor*            /* def_in_out */
+);
+
+extern int XQueryColors(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    XColor*            /* defs_in_out */,
+    int                        /* ncolors */
+);
+
+extern Bool XQueryExtension(
+    Display*           /* display */,
+    _Xconst char*      /* name */,
+    int*               /* major_opcode_return */,
+    int*               /* first_event_return */,
+    int*               /* first_error_return */
+);
+
+extern int XQueryKeymap(
+    Display*           /* display */,
+    char [32]          /* keys_return */
+);
+
+extern Bool XQueryPointer(
+    Display*           /* display */,
+    Window             /* w */,
+    Window*            /* root_return */,
+    Window*            /* child_return */,
+    int*               /* root_x_return */,
+    int*               /* root_y_return */,
+    int*               /* win_x_return */,
+    int*               /* win_y_return */,
+    unsigned int*       /* mask_return */
+);
+
+extern int XQueryTextExtents(
+    Display*           /* display */,
+    XID                        /* font_ID */,
+    _Xconst char*      /* string */,
+    int                        /* nchars */,
+    int*               /* direction_return */,
+    int*               /* font_ascent_return */,
+    int*               /* font_descent_return */,
+    XCharStruct*       /* overall_return */    
+);
+
+extern int XQueryTextExtents16(
+    Display*           /* display */,
+    XID                        /* font_ID */,
+    _Xconst XChar2b*   /* string */,
+    int                        /* nchars */,
+    int*               /* direction_return */,
+    int*               /* font_ascent_return */,
+    int*               /* font_descent_return */,
+    XCharStruct*       /* overall_return */
+);
+
+extern Status XQueryTree(
+    Display*           /* display */,
+    Window             /* w */,
+    Window*            /* root_return */,
+    Window*            /* parent_return */,
+    Window**           /* children_return */,
+    unsigned int*      /* nchildren_return */
+);
+
+extern int XRaiseWindow(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XReadBitmapFile(
+    Display*           /* display */,
+    Drawable           /* d */,
+    _Xconst char*      /* filename */,
+    unsigned int*      /* width_return */,
+    unsigned int*      /* height_return */,
+    Pixmap*            /* bitmap_return */,
+    int*               /* x_hot_return */,
+    int*               /* y_hot_return */
+);
+
+extern int XReadBitmapFileData(
+    _Xconst char*      /* filename */,
+    unsigned int*      /* width_return */,
+    unsigned int*      /* height_return */,
+    unsigned char**    /* data_return */,
+    int*               /* x_hot_return */,
+    int*               /* y_hot_return */
+);
+
+extern int XRebindKeysym(
+    Display*           /* display */,
+    KeySym             /* keysym */,
+    KeySym*            /* list */,
+    int                        /* mod_count */,
+    _Xconst unsigned char*     /* string */,
+    int                        /* bytes_string */
+);
+
+extern int XRecolorCursor(
+    Display*           /* display */,
+    Cursor             /* cursor */,
+    XColor*            /* foreground_color */,
+    XColor*            /* background_color */
+);
+
+extern int XRefreshKeyboardMapping(
+    XMappingEvent*     /* event_map */    
+);
+
+extern int XRemoveFromSaveSet(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XRemoveHost(
+    Display*           /* display */,
+    XHostAddress*      /* host */
+);
+
+extern int XRemoveHosts(
+    Display*           /* display */,
+    XHostAddress*      /* hosts */,
+    int                        /* num_hosts */
+);
+
+extern int XReparentWindow(
+    Display*           /* display */,
+    Window             /* w */,
+    Window             /* parent */,
+    int                        /* x */,
+    int                        /* y */
+);
+
+extern int XResetScreenSaver(
+    Display*           /* display */
+);
+
+extern int XResizeWindow(
+    Display*           /* display */,
+    Window             /* w */,
+    unsigned int       /* width */,
+    unsigned int       /* height */
+);
+
+extern int XRestackWindows(
+    Display*           /* display */,
+    Window*            /* windows */,
+    int                        /* nwindows */
+);
+
+extern int XRotateBuffers(
+    Display*           /* display */,
+    int                        /* rotate */
+);
+
+extern int XRotateWindowProperties(
+    Display*           /* display */,
+    Window             /* w */,
+    Atom*              /* properties */,
+    int                        /* num_prop */,
+    int                        /* npositions */
+);
+
+extern int XScreenCount(
+    Display*           /* display */
+);
+
+extern int XSelectInput(
+    Display*           /* display */,
+    Window             /* w */,
+    long               /* event_mask */
+);
+
+extern Status XSendEvent(
+    Display*           /* display */,
+    Window             /* w */,
+    Bool               /* propagate */,
+    long               /* event_mask */,
+    XEvent*            /* event_send */
+);
+
+extern int XSetAccessControl(
+    Display*           /* display */,
+    int                        /* mode */
+);
+
+extern int XSetArcMode(
+    Display*           /* display */,
+    GC                 /* gc */,
+    int                        /* arc_mode */
+);
+
+extern int XSetBackground(
+    Display*           /* display */,
+    GC                 /* gc */,
+    unsigned long      /* background */
+);
+
+extern int XSetClipMask(
+    Display*           /* display */,
+    GC                 /* gc */,
+    Pixmap             /* pixmap */
+);
+
+extern int XSetClipOrigin(
+    Display*           /* display */,
+    GC                 /* gc */,
+    int                        /* clip_x_origin */,
+    int                        /* clip_y_origin */
+);
+
+extern int XSetClipRectangles(
+    Display*           /* display */,
+    GC                 /* gc */,
+    int                        /* clip_x_origin */,
+    int                        /* clip_y_origin */,
+    XRectangle*                /* rectangles */,
+    int                        /* n */,
+    int                        /* ordering */
+);
+
+extern int XSetCloseDownMode(
+    Display*           /* display */,
+    int                        /* close_mode */
+);
+
+extern int XSetCommand(
+    Display*           /* display */,
+    Window             /* w */,
+    char**             /* argv */,
+    int                        /* argc */
+);
+
+extern int XSetDashes(
+    Display*           /* display */,
+    GC                 /* gc */,
+    int                        /* dash_offset */,
+    _Xconst char*      /* dash_list */,
+    int                        /* n */
+);
+
+extern int XSetFillRule(
+    Display*           /* display */,
+    GC                 /* gc */,
+    int                        /* fill_rule */
+);
+
+extern int XSetFillStyle(
+    Display*           /* display */,
+    GC                 /* gc */,
+    int                        /* fill_style */
+);
+
+extern int XSetFont(
+    Display*           /* display */,
+    GC                 /* gc */,
+    Font               /* font */
+);
+
+extern int XSetFontPath(
+    Display*           /* display */,
+    char**             /* directories */,
+    int                        /* ndirs */          
+);
+
+extern int XSetForeground(
+    Display*           /* display */,
+    GC                 /* gc */,
+    unsigned long      /* foreground */
+);
+
+extern int XSetFunction(
+    Display*           /* display */,
+    GC                 /* gc */,
+    int                        /* function */
+);
+
+extern int XSetGraphicsExposures(
+    Display*           /* display */,
+    GC                 /* gc */,
+    Bool               /* graphics_exposures */
+);
+
+extern int XSetIconName(
+    Display*           /* display */,
+    Window             /* w */,
+    _Xconst char*      /* icon_name */
+);
+
+extern int XSetInputFocus(
+    Display*           /* display */,
+    Window             /* focus */,
+    int                        /* revert_to */,
+    Time               /* time */
+);
+
+extern int XSetLineAttributes(
+    Display*           /* display */,
+    GC                 /* gc */,
+    unsigned int       /* line_width */,
+    int                        /* line_style */,
+    int                        /* cap_style */,
+    int                        /* join_style */
+);
+
+extern int XSetModifierMapping(
+    Display*           /* display */,
+    XModifierKeymap*   /* modmap */
+);
+
+extern int XSetPlaneMask(
+    Display*           /* display */,
+    GC                 /* gc */,
+    unsigned long      /* plane_mask */
+);
+
+extern int XSetPointerMapping(
+    Display*           /* display */,
+    _Xconst unsigned char*     /* map */,
+    int                        /* nmap */
+);
+
+extern int XSetScreenSaver(
+    Display*           /* display */,
+    int                        /* timeout */,
+    int                        /* interval */,
+    int                        /* prefer_blanking */,
+    int                        /* allow_exposures */
+);
+
+extern int XSetSelectionOwner(
+    Display*           /* display */,
+    Atom               /* selection */,
+    Window             /* owner */,
+    Time               /* time */
+);
+
+extern int XSetState(
+    Display*           /* display */,
+    GC                 /* gc */,
+    unsigned long      /* foreground */,
+    unsigned long      /* background */,
+    int                        /* function */,
+    unsigned long      /* plane_mask */
+);
+
+extern int XSetStipple(
+    Display*           /* display */,
+    GC                 /* gc */,
+    Pixmap             /* stipple */
+);
+
+extern int XSetSubwindowMode(
+    Display*           /* display */,
+    GC                 /* gc */,
+    int                        /* subwindow_mode */
+);
+
+extern int XSetTSOrigin(
+    Display*           /* display */,
+    GC                 /* gc */,
+    int                        /* ts_x_origin */,
+    int                        /* ts_y_origin */
+);
+
+extern int XSetTile(
+    Display*           /* display */,
+    GC                 /* gc */,
+    Pixmap             /* tile */
+);
+
+extern int XSetWindowBackground(
+    Display*           /* display */,
+    Window             /* w */,
+    unsigned long      /* background_pixel */
+);
+
+extern int XSetWindowBackgroundPixmap(
+    Display*           /* display */,
+    Window             /* w */,
+    Pixmap             /* background_pixmap */
+);
+
+extern int XSetWindowBorder(
+    Display*           /* display */,
+    Window             /* w */,
+    unsigned long      /* border_pixel */
+);
+
+extern int XSetWindowBorderPixmap(
+    Display*           /* display */,
+    Window             /* w */,
+    Pixmap             /* border_pixmap */
+);
+
+extern int XSetWindowBorderWidth(
+    Display*           /* display */,
+    Window             /* w */,
+    unsigned int       /* width */
+);
+
+extern int XSetWindowColormap(
+    Display*           /* display */,
+    Window             /* w */,
+    Colormap           /* colormap */
+);
+
+extern int XStoreBuffer(
+    Display*           /* display */,
+    _Xconst char*      /* bytes */,
+    int                        /* nbytes */,
+    int                        /* buffer */
+);
+
+extern int XStoreBytes(
+    Display*           /* display */,
+    _Xconst char*      /* bytes */,
+    int                        /* nbytes */
+);
+
+extern int XStoreColor(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    XColor*            /* color */
+);
+
+extern int XStoreColors(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    XColor*            /* color */,
+    int                        /* ncolors */
+);
+
+extern int XStoreName(
+    Display*           /* display */,
+    Window             /* w */,
+    _Xconst char*      /* window_name */
+);
+
+extern int XStoreNamedColor(
+    Display*           /* display */,
+    Colormap           /* colormap */,
+    _Xconst char*      /* color */,
+    unsigned long      /* pixel */,
+    int                        /* flags */
+);
+
+extern int XSync(
+    Display*           /* display */,
+    Bool               /* discard */
+);
+
+extern int XTextExtents(
+    XFontStruct*       /* font_struct */,
+    _Xconst char*      /* string */,
+    int                        /* nchars */,
+    int*               /* direction_return */,
+    int*               /* font_ascent_return */,
+    int*               /* font_descent_return */,
+    XCharStruct*       /* overall_return */
+);
+
+extern int XTextExtents16(
+    XFontStruct*       /* font_struct */,
+    _Xconst XChar2b*   /* string */,
+    int                        /* nchars */,
+    int*               /* direction_return */,
+    int*               /* font_ascent_return */,
+    int*               /* font_descent_return */,
+    XCharStruct*       /* overall_return */
+);
+
+extern int XTextWidth(
+    XFontStruct*       /* font_struct */,
+    _Xconst char*      /* string */,
+    int                        /* count */
+);
+
+extern int XTextWidth16(
+    XFontStruct*       /* font_struct */,
+    _Xconst XChar2b*   /* string */,
+    int                        /* count */
+);
+
+extern Bool XTranslateCoordinates(
+    Display*           /* display */,
+    Window             /* src_w */,
+    Window             /* dest_w */,
+    int                        /* src_x */,
+    int                        /* src_y */,
+    int*               /* dest_x_return */,
+    int*               /* dest_y_return */,
+    Window*            /* child_return */
+);
+
+extern int XUndefineCursor(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XUngrabButton(
+    Display*           /* display */,
+    unsigned int       /* button */,
+    unsigned int       /* modifiers */,
+    Window             /* grab_window */
+);
+
+extern int XUngrabKey(
+    Display*           /* display */,
+    int                        /* keycode */,
+    unsigned int       /* modifiers */,
+    Window             /* grab_window */
+);
+
+extern int XUngrabKeyboard(
+    Display*           /* display */,
+    Time               /* time */
+);
+
+extern int XUngrabPointer(
+    Display*           /* display */,
+    Time               /* time */
+);
+
+extern int XUngrabServer(
+    Display*           /* display */
+);
+
+extern int XUninstallColormap(
+    Display*           /* display */,
+    Colormap           /* colormap */
+);
+
+extern int XUnloadFont(
+    Display*           /* display */,
+    Font               /* font */
+);
+
+extern int XUnmapSubwindows(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XUnmapWindow(
+    Display*           /* display */,
+    Window             /* w */
+);
+
+extern int XVendorRelease(
+    Display*           /* display */
+);
+
+extern int XWarpPointer(
+    Display*           /* display */,
+    Window             /* src_w */,
+    Window             /* dest_w */,
+    int                        /* src_x */,
+    int                        /* src_y */,
+    unsigned int       /* src_width */,
+    unsigned int       /* src_height */,
+    int                        /* dest_x */,
+    int                        /* dest_y */         
+);
+
+extern int XWidthMMOfScreen(
+    Screen*            /* screen */
+);
+
+extern int XWidthOfScreen(
+    Screen*            /* screen */
+);
+
+extern int XWindowEvent(
+    Display*           /* display */,
+    Window             /* w */,
+    long               /* event_mask */,
+    XEvent*            /* event_return */
+);
+
+extern int XWriteBitmapFile(
+    Display*           /* display */,
+    _Xconst char*      /* filename */,
+    Pixmap             /* bitmap */,
+    unsigned int       /* width */,
+    unsigned int       /* height */,
+    int                        /* x_hot */,
+    int                        /* y_hot */                  
+);
+
+extern Bool XSupportsLocale (void);
+
+extern char *XSetLocaleModifiers(
+    const char*                /* modifier_list */
+);
+
+extern XOM XOpenOM(
+    Display*                   /* display */,
+    struct _XrmHashBucketRec*  /* rdb */,
+    _Xconst char*              /* res_name */,
+    _Xconst char*              /* res_class */
+);
+
+extern Status XCloseOM(
+    XOM                        /* om */
+);
+
+extern char *XSetOMValues(
+    XOM                        /* om */,
+    ...
+) _X_SENTINEL(0);
+
+extern char *XGetOMValues(
+    XOM                        /* om */,
+    ...
+) _X_SENTINEL(0);
+
+extern Display *XDisplayOfOM(
+    XOM                        /* om */
+);
+
+extern char *XLocaleOfOM(
+    XOM                        /* om */
+);
+
+extern XOC XCreateOC(
+    XOM                        /* om */,
+    ...
+) _X_SENTINEL(0);
+
+extern void XDestroyOC(
+    XOC                        /* oc */
+);
+
+extern XOM XOMOfOC(
+    XOC                        /* oc */
+);
+
+extern char *XSetOCValues(
+    XOC                        /* oc */,
+    ...
+) _X_SENTINEL(0);
+
+extern char *XGetOCValues(
+    XOC                        /* oc */,
+    ...
+) _X_SENTINEL(0);
+
+extern XFontSet XCreateFontSet(
+    Display*           /* display */,
+    _Xconst char*      /* base_font_name_list */,
+    char***            /* missing_charset_list */,
+    int*               /* missing_charset_count */,
+    char**             /* def_string */
+);
+
+extern void XFreeFontSet(
+    Display*           /* display */,
+    XFontSet           /* font_set */
+);
+
+extern int XFontsOfFontSet(
+    XFontSet           /* font_set */,
+    XFontStruct***     /* font_struct_list */,
+    char***            /* font_name_list */
+);
+
+extern char *XBaseFontNameListOfFontSet(
+    XFontSet           /* font_set */
+);
+
+extern char *XLocaleOfFontSet(
+    XFontSet           /* font_set */
+);
+
+extern Bool XContextDependentDrawing(
+    XFontSet           /* font_set */
+);
+
+extern Bool XDirectionalDependentDrawing(
+    XFontSet           /* font_set */
+);
+
+extern Bool XContextualDrawing(
+    XFontSet           /* font_set */
+);
+
+extern XFontSetExtents *XExtentsOfFontSet(
+    XFontSet           /* font_set */
+);
+
+extern int XmbTextEscapement(
+    XFontSet           /* font_set */,
+    _Xconst char*      /* text */,
+    int                        /* bytes_text */
+);
+
+extern int XwcTextEscapement(
+    XFontSet           /* font_set */,
+    _Xconst wchar_t*   /* text */,
+    int                        /* num_wchars */
+);
+
+extern int Xutf8TextEscapement(
+    XFontSet           /* font_set */,
+    _Xconst char*      /* text */,
+    int                        /* bytes_text */
+);
+
+extern int XmbTextExtents(
+    XFontSet           /* font_set */,
+    _Xconst char*      /* text */,
+    int                        /* bytes_text */,
+    XRectangle*                /* overall_ink_return */,
+    XRectangle*                /* overall_logical_return */
+);
+
+extern int XwcTextExtents(
+    XFontSet           /* font_set */,
+    _Xconst wchar_t*   /* text */,
+    int                        /* num_wchars */,
+    XRectangle*                /* overall_ink_return */,
+    XRectangle*                /* overall_logical_return */
+);
+
+extern int Xutf8TextExtents(
+    XFontSet           /* font_set */,
+    _Xconst char*      /* text */,
+    int                        /* bytes_text */,
+    XRectangle*                /* overall_ink_return */,
+    XRectangle*                /* overall_logical_return */
+);
+
+extern Status XmbTextPerCharExtents(
+    XFontSet           /* font_set */,
+    _Xconst char*      /* text */,
+    int                        /* bytes_text */,
+    XRectangle*                /* ink_extents_buffer */,
+    XRectangle*                /* logical_extents_buffer */,
+    int                        /* buffer_size */,
+    int*               /* num_chars */,
+    XRectangle*                /* overall_ink_return */,
+    XRectangle*                /* overall_logical_return */
+);
+
+extern Status XwcTextPerCharExtents(
+    XFontSet           /* font_set */,
+    _Xconst wchar_t*   /* text */,
+    int                        /* num_wchars */,
+    XRectangle*                /* ink_extents_buffer */,
+    XRectangle*                /* logical_extents_buffer */,
+    int                        /* buffer_size */,
+    int*               /* num_chars */,
+    XRectangle*                /* overall_ink_return */,
+    XRectangle*                /* overall_logical_return */
+);
+
+extern Status Xutf8TextPerCharExtents(
+    XFontSet           /* font_set */,
+    _Xconst char*      /* text */,
+    int                        /* bytes_text */,
+    XRectangle*                /* ink_extents_buffer */,
+    XRectangle*                /* logical_extents_buffer */,
+    int                        /* buffer_size */,
+    int*               /* num_chars */,
+    XRectangle*                /* overall_ink_return */,
+    XRectangle*                /* overall_logical_return */
+);
+
+extern void XmbDrawText(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    XmbTextItem*       /* text_items */,
+    int                        /* nitems */
+);
+
+extern void XwcDrawText(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    XwcTextItem*       /* text_items */,
+    int                        /* nitems */
+);
+
+extern void Xutf8DrawText(
+    Display*           /* display */,
+    Drawable           /* d */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    XmbTextItem*       /* text_items */,
+    int                        /* nitems */
+);
+
+extern void XmbDrawString(
+    Display*           /* display */,
+    Drawable           /* d */,
+    XFontSet           /* font_set */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    _Xconst char*      /* text */,
+    int                        /* bytes_text */
+);
+
+extern void XwcDrawString(
+    Display*           /* display */,
+    Drawable           /* d */,
+    XFontSet           /* font_set */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    _Xconst wchar_t*   /* text */,
+    int                        /* num_wchars */
+);
+
+extern void Xutf8DrawString(
+    Display*           /* display */,
+    Drawable           /* d */,
+    XFontSet           /* font_set */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    _Xconst char*      /* text */,
+    int                        /* bytes_text */
+);
+
+extern void XmbDrawImageString(
+    Display*           /* display */,
+    Drawable           /* d */,
+    XFontSet           /* font_set */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    _Xconst char*      /* text */,
+    int                        /* bytes_text */
+);
+
+extern void XwcDrawImageString(
+    Display*           /* display */,
+    Drawable           /* d */,
+    XFontSet           /* font_set */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    _Xconst wchar_t*   /* text */,
+    int                        /* num_wchars */
+);
+
+extern void Xutf8DrawImageString(
+    Display*           /* display */,
+    Drawable           /* d */,
+    XFontSet           /* font_set */,
+    GC                 /* gc */,
+    int                        /* x */,
+    int                        /* y */,
+    _Xconst char*      /* text */,
+    int                        /* bytes_text */
+);
+
+extern XIM XOpenIM(
+    Display*                   /* dpy */,
+    struct _XrmHashBucketRec*  /* rdb */,
+    char*                      /* res_name */,
+    char*                      /* res_class */
+);
+
+extern Status XCloseIM(
+    XIM /* im */
+);
+
+extern char *XGetIMValues(
+    XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern char *XSetIMValues(
+    XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern Display *XDisplayOfIM(
+    XIM /* im */
+);
+
+extern char *XLocaleOfIM(
+    XIM /* im*/
+);
+
+extern XIC XCreateIC(
+    XIM /* im */, ...
+) _X_SENTINEL(0);
+
+extern void XDestroyIC(
+    XIC /* ic */
+);
+
+extern void XSetICFocus(
+    XIC /* ic */
+);
+
+extern void XUnsetICFocus(
+    XIC /* ic */
+);
+
+extern wchar_t *XwcResetIC(
+    XIC /* ic */
+);
+
+extern char *XmbResetIC(
+    XIC /* ic */
+);
+
+extern char *Xutf8ResetIC(
+    XIC /* ic */
+);
+
+extern char *XSetICValues(
+    XIC /* ic */, ...
+) _X_SENTINEL(0);
+
+extern char *XGetICValues(
+    XIC /* ic */, ...
+) _X_SENTINEL(0);
+
+extern XIM XIMOfIC(
+    XIC /* ic */
+);
+
+extern Bool XFilterEvent(
+    XEvent*    /* event */,
+    Window     /* window */
+);
+
+extern int XmbLookupString(
+    XIC                        /* ic */,
+    XKeyPressedEvent*  /* event */,
+    char*              /* buffer_return */,
+    int                        /* bytes_buffer */,
+    KeySym*            /* keysym_return */,
+    Status*            /* status_return */
+);
+
+extern int XwcLookupString(
+    XIC                        /* ic */,
+    XKeyPressedEvent*  /* event */,
+    wchar_t*           /* buffer_return */,
+    int                        /* wchars_buffer */,
+    KeySym*            /* keysym_return */,
+    Status*            /* status_return */
+);
+
+extern int Xutf8LookupString(
+    XIC                        /* ic */,
+    XKeyPressedEvent*  /* event */,
+    char*              /* buffer_return */,
+    int                        /* bytes_buffer */,
+    KeySym*            /* keysym_return */,
+    Status*            /* status_return */
+);
+
+extern XVaNestedList XVaCreateNestedList(
+    int /*unused*/, ...
+) _X_SENTINEL(0);
+
+/* internal connections for IMs */
+
+extern Bool XRegisterIMInstantiateCallback(
+    Display*                   /* dpy */,
+    struct _XrmHashBucketRec*  /* rdb */,
+    char*                      /* res_name */,
+    char*                      /* res_class */,
+    XIDProc                    /* callback */,
+    XPointer                   /* client_data */
+);
+
+extern Bool XUnregisterIMInstantiateCallback(
+    Display*                   /* dpy */,
+    struct _XrmHashBucketRec*  /* rdb */,
+    char*                      /* res_name */,
+    char*                      /* res_class */,
+    XIDProc                    /* callback */,
+    XPointer                   /* client_data */
+);
+
+typedef void (*XConnectionWatchProc)(
+    Display*                   /* dpy */,
+    XPointer                   /* client_data */,
+    int                                /* fd */,
+    Bool                       /* opening */,   /* open or close flag */
+    XPointer*                  /* watch_data */ /* open sets, close uses */
+);
+    
+
+extern Status XInternalConnectionNumbers(
+    Display*                   /* dpy */,
+    int**                      /* fd_return */,
+    int*                       /* count_return */
+);
+
+extern void XProcessInternalConnection(
+    Display*                   /* dpy */,
+    int                                /* fd */
+);
+
+extern Status XAddConnectionWatch(
+    Display*                   /* dpy */,
+    XConnectionWatchProc       /* callback */,
+    XPointer                   /* client_data */
+);
+
+extern void XRemoveConnectionWatch(
+    Display*                   /* dpy */,
+    XConnectionWatchProc       /* callback */,
+    XPointer                   /* client_data */
+);
+
+extern void XSetAuthorization(
+    char *                     /* name */,
+    int                                /* namelen */, 
+    char *                     /* data */,
+    int                                /* datalen */
+);
+
+extern int _Xmbtowc(
+    wchar_t *                  /* wstr */,
+#ifdef ISC
+    char const *               /* str */,
+    size_t                     /* len */
+#else
+    char *                     /* str */,
+    int                                /* len */
+#endif
+);
+
+extern int _Xwctomb(
+    char *                     /* str */,
+    wchar_t                    /* wc */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XLIB_H_ */
diff --git a/XOrg/headers/native/src/X11/XlibConf.h b/XOrg/headers/native/src/X11/XlibConf.h
new file mode 100644 (file)
index 0000000..c6c180a
--- /dev/null
@@ -0,0 +1,40 @@
+/* include/X11/XlibConf.h.  Generated by configure.  */
+/*
+ * $Id: $
+ *
+ * Copyright Â© 2005 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission.  Keith Packard makes no
+ * representations about the suitability of this software for any purpose.  It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _XLIBCONF_H_
+#define _XLIBCONF_H_
+/*
+ * This header file exports defines necessary to correctly
+ * use Xlibint.h both inside Xlib and by external libraries
+ * such as extensions.
+ */
+
+/* Threading support? */
+#define XTHREADS 
+
+/* Use multi-threaded libc functions? */
+#define XUSE_MTSAFE_API 
+
+#endif /* _XLIBCONF_H_ */
diff --git a/XOrg/headers/native/src/X11/Xlibint.h b/XOrg/headers/native/src/X11/Xlibint.h
new file mode 100644 (file)
index 0000000..6b1e0c9
--- /dev/null
@@ -0,0 +1,1320 @@
+/* $Xorg: Xlibint.h,v 1.5 2001/02/09 02:03:38 xorgcvs Exp $ */
+
+/*
+
+Copyright 1984, 1985, 1987, 1989, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/* $XFree86: xc/lib/X11/Xlibint.h,v 3.27 2003/05/27 22:26:26 tsi Exp $ */
+
+#ifndef _XLIBINT_H_
+#define _XLIBINT_H_ 1
+
+/*
+ *     Xlibint.h - Header definition and support file for the internal
+ *     support routines used by the C subroutine interface
+ *     library (Xlib) to the X Window System.
+ *
+ *     Warning, there be dragons here....
+ */
+
+#include <X11/Xlib.h>
+#include <X11/Xproto.h>                /* to declare xEvent */
+#include <X11/XlibConf.h>      /* for configured options like XTHREADS */
+
+#ifdef WIN32
+#define _XFlush _XFlushIt
+#endif
+
+/*
+ * If your BytesReadable correctly detects broken connections, then
+ * you should NOT define XCONN_CHECK_FREQ.
+ */
+#ifndef XCONN_CHECK_FREQ
+#define XCONN_CHECK_FREQ 256
+#endif
+
+struct _XGC
+{
+    XExtData *ext_data;        /* hook for extension to hang data */
+    GContext gid;      /* protocol ID for graphics context */
+    Bool rects;                /* boolean: TRUE if clipmask is list of rectangles */
+    Bool dashes;       /* boolean: TRUE if dash-list is really a list */
+    unsigned long dirty;/* cache dirty bits */
+    XGCValues values;  /* shadow structure of values */
+};
+
+struct _XDisplay
+{
+       XExtData *ext_data;     /* hook for extension to hang data */
+       struct _XFreeFuncs *free_funcs; /* internal free functions */
+       int fd;                 /* Network socket. */
+       int conn_checker;         /* ugly thing used by _XEventsQueued */
+       int proto_major_version;/* maj. version of server's X protocol */
+       int proto_minor_version;/* minor version of server's X protocol */
+       char *vendor;           /* vendor of the server hardware */
+        XID resource_base;     /* resource ID base */
+       XID resource_mask;      /* resource ID mask bits */
+       XID resource_id;        /* allocator current ID */
+       int resource_shift;     /* allocator shift to correct bits */
+       XID (*resource_alloc)(  /* allocator function */
+               struct _XDisplay*
+               );
+       int byte_order;         /* screen byte order, LSBFirst, MSBFirst */
+       int bitmap_unit;        /* padding and data requirements */
+       int bitmap_pad;         /* padding requirements on bitmaps */
+       int bitmap_bit_order;   /* LeastSignificant or MostSignificant */
+       int nformats;           /* number of pixmap formats in list */
+       ScreenFormat *pixmap_format;    /* pixmap format list */
+       int vnumber;            /* Xlib's X protocol version number. */
+       int release;            /* release of the server */
+       struct _XSQEvent *head, *tail;  /* Input event queue. */
+       int qlen;               /* Length of input event queue */
+       unsigned long last_request_read; /* seq number of last event read */
+       unsigned long request;  /* sequence number of last request. */
+       char *last_req;         /* beginning of last request, or dummy */
+       char *buffer;           /* Output buffer starting address. */
+       char *bufptr;           /* Output buffer index pointer. */
+       char *bufmax;           /* Output buffer maximum+1 address. */
+       unsigned max_request_size; /* maximum number 32 bit words in request*/
+       struct _XrmHashBucketRec *db;
+       int (*synchandler)(     /* Synchronization handler */
+               struct _XDisplay*
+               );
+       char *display_name;     /* "host:display" string used on this connect*/
+       int default_screen;     /* default screen for operations */
+       int nscreens;           /* number of screens on this server*/
+       Screen *screens;        /* pointer to list of screens */
+       unsigned long motion_buffer;    /* size of motion buffer */
+       unsigned long flags;       /* internal connection flags */
+       int min_keycode;        /* minimum defined keycode */
+       int max_keycode;        /* maximum defined keycode */
+       KeySym *keysyms;        /* This server's keysyms */
+       XModifierKeymap *modifiermap;   /* This server's modifier keymap */
+       int keysyms_per_keycode;/* number of rows */
+       char *xdefaults;        /* contents of defaults from server */
+       char *scratch_buffer;   /* place to hang scratch buffer */
+       unsigned long scratch_length;   /* length of scratch buffer */
+       int ext_number;         /* extension number on this display */
+       struct _XExten *ext_procs; /* extensions initialized on this display */
+       /*
+        * the following can be fixed size, as the protocol defines how
+        * much address space is available. 
+        * While this could be done using the extension vector, there
+        * may be MANY events processed, so a search through the extension
+        * list to find the right procedure for each event might be
+        * expensive if many extensions are being used.
+        */
+       Bool (*event_vec[128])( /* vector for wire to event */
+               Display *       /* dpy */,
+               XEvent *        /* re */,
+               xEvent *        /* event */
+               );
+       Status (*wire_vec[128])( /* vector for event to wire */
+               Display *       /* dpy */,
+               XEvent *        /* re */,
+               xEvent *        /* event */
+               );
+       KeySym lock_meaning;       /* for XLookupString */
+       struct _XLockInfo *lock;   /* multi-thread state, display lock */
+       struct _XInternalAsync *async_handlers; /* for internal async */
+       unsigned long bigreq_size; /* max size of big requests */
+       struct _XLockPtrs *lock_fns; /* pointers to threads functions */
+       void (*idlist_alloc)(      /* XID list allocator function */
+               Display *       /* dpy */,
+               XID *           /* ids */,
+               int             /* count */
+               );
+       /* things above this line should not move, for binary compatibility */
+       struct _XKeytrans *key_bindings; /* for XLookupString */
+       Font cursor_font;          /* for XCreateFontCursor */
+       struct _XDisplayAtoms *atoms; /* for XInternAtom */
+       unsigned int mode_switch;  /* keyboard group modifiers */
+       unsigned int num_lock;  /* keyboard numlock modifiers */
+       struct _XContextDB *context_db; /* context database */
+       Bool (**error_vec)(     /* vector for wire to error */
+               Display     *   /* display */,
+               XErrorEvent *   /* he */,
+               xError      *   /* we */
+               );
+       /*
+        * Xcms information
+        */
+       struct {
+          XPointer defaultCCCs;  /* pointer to an array of default XcmsCCC */
+          XPointer clientCmaps;  /* pointer to linked list of XcmsCmapRec */
+          XPointer perVisualIntensityMaps;
+                                 /* linked list of XcmsIntensityMap */
+       } cms;
+       struct _XIMFilter *im_filters;
+       struct _XSQEvent *qfree; /* unallocated event queue elements */
+       unsigned long next_event_serial_num; /* inserted into next queue elt */
+       struct _XExten *flushes; /* Flush hooks */
+       struct _XConnectionInfo *im_fd_info; /* _XRegisterInternalConnection */
+       int im_fd_length;       /* number of im_fd_info */
+       struct _XConnWatchInfo *conn_watchers; /* XAddConnectionWatch */
+       int watcher_count;      /* number of conn_watchers */
+       XPointer filedes;       /* struct pollfd cache for _XWaitForReadable */
+       int (*savedsynchandler)( /* user synchandler when Xlib usurps */
+               Display *       /* dpy */
+               );
+       XID resource_max;       /* allocator max ID */
+       int xcmisc_opcode;      /* major opcode for XC-MISC */
+       struct _XkbInfoRec *xkb_info; /* XKB info */
+       struct _XtransConnInfo *trans_conn; /* transport connection object */
+};
+
+#define XAllocIDs(dpy,ids,n) (*(dpy)->idlist_alloc)(dpy,ids,n)
+
+/*
+ * define the following if you want the Data macro to be a procedure instead
+ */
+#ifdef CRAY
+#define DataRoutineIsProcedure
+#endif /* CRAY */
+
+#ifndef _XEVENT_
+/*
+ * _QEvent datatype for use in input queueing.
+ */
+typedef struct _XSQEvent
+{
+    struct _XSQEvent *next;
+    XEvent event;
+    unsigned long qserial_num; /* so multi-threaded code can find new ones */
+} _XQEvent;
+#endif
+
+#ifdef XTHREADS                        /* for xReply */
+#define NEED_REPLIES
+#endif
+
+#define NEED_EVENTS
+#define NEED_REPLIES
+#include <X11/Xproto.h>
+#ifdef __sgi
+#define _SGI_MP_SOURCE  /* turn this on to get MP safe errno */
+#endif
+#include <errno.h>
+#define _XBCOPYFUNC _Xbcopy
+#include <X11/Xfuncs.h>
+#include <X11/Xosdefs.h>
+
+/* Utek leaves kernel macros around in include files (bleah) */
+#ifdef dirty
+#undef dirty
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+/*
+ * The following definitions can be used for locking requests in multi-threaded
+ * address spaces.
+ */
+#ifdef XTHREADS
+/* Author: Stephen Gildea, MIT X Consortium
+ *
+ * declarations for C Threads locking
+ */
+
+typedef struct _LockInfoRec *LockInfoPtr;
+
+/* interfaces for locking.c */
+struct _XLockPtrs {
+    /* used by all, including extensions; do not move */
+    void (*lock_display)(
+               Display *dpy
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+               , char *file
+               , int line
+#endif
+       );
+    void (*unlock_display)(
+               Display *dpy
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+               , char *file
+               , int line
+#endif
+       );
+};
+
+#if defined(WIN32) && !defined(_XLIBINT_)
+#define _XCreateMutex_fn (*_XCreateMutex_fn_p)
+#define _XFreeMutex_fn (*_XFreeMutex_fn_p)
+#define _XLockMutex_fn (*_XLockMutex_fn_p)
+#define _XUnlockMutex_fn (*_XUnlockMutex_fn_p)
+#define _Xglobal_lock (*_Xglobal_lock_p)
+#endif
+
+/* in XlibInt.c */
+extern void (*_XCreateMutex_fn)(
+    LockInfoPtr /* lock */
+);
+extern void (*_XFreeMutex_fn)(
+    LockInfoPtr /* lock */
+);
+extern void (*_XLockMutex_fn)(
+    LockInfoPtr        /* lock */
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+    , char * /* file */
+    , int /* line */
+#endif
+);
+extern void (*_XUnlockMutex_fn)(
+    LockInfoPtr        /* lock */
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+    , char * /* file */
+    , int /* line */
+#endif
+);
+
+extern LockInfoPtr _Xglobal_lock;
+
+#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+#define LockDisplay(d)      if ((d)->lock_fns) (*(d)->lock_fns->lock_display)((d),__FILE__,__LINE__)
+#define UnlockDisplay(d)     if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)((d),__FILE__,__LINE__)
+#define _XLockMutex(lock)              if (_XLockMutex_fn) (*_XLockMutex_fn)(lock,__FILE__,__LINE__)
+#define _XUnlockMutex(lock)    if (_XUnlockMutex_fn) (*_XUnlockMutex_fn)(lock,__FILE__,__LINE__)
+#else
+/* used everywhere, so must be fast if not using threads */
+#define LockDisplay(d)      if ((d)->lock_fns) (*(d)->lock_fns->lock_display)(d)
+#define UnlockDisplay(d)     if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)(d)
+#define _XLockMutex(lock)              if (_XLockMutex_fn) (*_XLockMutex_fn)(lock)
+#define _XUnlockMutex(lock)    if (_XUnlockMutex_fn) (*_XUnlockMutex_fn)(lock)
+#endif
+#define _XCreateMutex(lock)    if (_XCreateMutex_fn) (*_XCreateMutex_fn)(lock);
+#define _XFreeMutex(lock)      if (_XFreeMutex_fn) (*_XFreeMutex_fn)(lock);
+
+#else /* XTHREADS */
+#define LockDisplay(dis)
+#define _XLockMutex(lock)
+#define _XUnlockMutex(lock)
+#define UnlockDisplay(dis)
+#define _XCreateMutex(lock)
+#define _XFreeMutex(lock)
+#endif
+
+#define Xfree(ptr) free((ptr))
+
+/*
+ * Note that some machines do not return a valid pointer for malloc(0), in
+ * which case we provide an alternate under the control of the
+ * define MALLOC_0_RETURNS_NULL.  This is necessary because some
+ * Xlib code expects malloc(0) to return a valid pointer to storage.
+ */
+#ifdef MALLOC_0_RETURNS_NULL
+
+# define Xmalloc(size) malloc(((size) == 0 ? 1 : (size)))
+# define Xrealloc(ptr, size) realloc((ptr), ((size) == 0 ? 1 : (size)))
+# define Xcalloc(nelem, elsize) calloc(((nelem) == 0 ? 1 : (nelem)), (elsize))
+
+#else
+
+# define Xmalloc(size) malloc((size))
+# define Xrealloc(ptr, size) realloc((ptr), (size))
+# define Xcalloc(nelem, elsize) calloc((nelem), (elsize))
+
+#endif
+
+#include <stddef.h>
+
+#define LOCKED 1
+#define UNLOCKED 0
+
+#ifndef BUFSIZE
+#define BUFSIZE 2048                   /* X output buffer size. */
+#endif
+#ifndef PTSPERBATCH
+#define PTSPERBATCH 1024               /* point batching */
+#endif
+#ifndef WLNSPERBATCH
+#define WLNSPERBATCH 50                        /* wide line batching */
+#endif
+#ifndef ZLNSPERBATCH
+#define ZLNSPERBATCH 1024              /* thin line batching */
+#endif
+#ifndef WRCTSPERBATCH
+#define WRCTSPERBATCH 10               /* wide line rectangle batching */
+#endif
+#ifndef ZRCTSPERBATCH
+#define ZRCTSPERBATCH 256              /* thin line rectangle batching */
+#endif
+#ifndef FRCTSPERBATCH
+#define FRCTSPERBATCH 256              /* filled rectangle batching */
+#endif
+#ifndef FARCSPERBATCH
+#define FARCSPERBATCH 256              /* filled arc batching */
+#endif
+#ifndef CURSORFONT
+#define CURSORFONT "cursor"            /* standard cursor fonts */
+#endif
+
+/*
+ * Display flags
+ */
+#define XlibDisplayIOError     (1L << 0)
+#define XlibDisplayClosing     (1L << 1)
+#define XlibDisplayNoXkb       (1L << 2)
+#define XlibDisplayPrivSync    (1L << 3)
+#define XlibDisplayProcConni   (1L << 4) /* in _XProcessInternalConnection */
+#define XlibDisplayReadEvents  (1L << 5) /* in _XReadEvents */
+#define XlibDisplayReply       (1L << 5) /* in _XReply */
+#define XlibDisplayWriting     (1L << 6) /* in _XFlushInt, _XSend */
+#define XlibDisplayDfltRMDB     (1L << 7) /* mark if RM db from XGetDefault */
+
+/*
+ * X Protocol packetizing macros.
+ */
+
+/*   Need to start requests on 64 bit word boundaries
+ *   on a CRAY computer so add a NoOp (127) if needed.
+ *   A character pointer on a CRAY computer will be non-zero
+ *   after shifting right 61 bits of it is not pointing to
+ *   a word boundary.
+ */
+#ifdef WORD64
+#define WORD64ALIGN if ((long)dpy->bufptr >> 61) {\
+           dpy->last_req = dpy->bufptr;\
+           *(dpy->bufptr)   = X_NoOperation;\
+           *(dpy->bufptr+1) =  0;\
+           *(dpy->bufptr+2) =  0;\
+           *(dpy->bufptr+3) =  1;\
+             dpy->request++;\
+             dpy->bufptr += 4;\
+         }
+#else /* else does not require alignment on 64-bit boundaries */
+#define WORD64ALIGN
+#endif /* WORD64 */
+
+
+/*
+ * GetReq - Get the next available X request packet in the buffer and
+ * return it. 
+ *
+ * "name" is the name of the request, e.g. CreatePixmap, OpenFont, etc.
+ * "req" is the name of the request pointer.
+ *
+ */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetReq(name, req) \
+        WORD64ALIGN\
+       if ((dpy->bufptr + SIZEOF(x##name##Req)) > dpy->bufmax)\
+               _XFlush(dpy);\
+       req = (x##name##Req *)(dpy->last_req = dpy->bufptr);\
+       req->reqType = X_##name;\
+       req->length = (SIZEOF(x##name##Req))>>2;\
+       dpy->bufptr += SIZEOF(x##name##Req);\
+       dpy->request++
+
+#else  /* non-ANSI C uses empty comment instead of "##" for token concatenation */
+#define GetReq(name, req) \
+        WORD64ALIGN\
+       if ((dpy->bufptr + SIZEOF(x/**/name/**/Req)) > dpy->bufmax)\
+               _XFlush(dpy);\
+       req = (x/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\
+       req->reqType = X_/**/name;\
+       req->length = (SIZEOF(x/**/name/**/Req))>>2;\
+       dpy->bufptr += SIZEOF(x/**/name/**/Req);\
+       dpy->request++
+#endif
+
+/* GetReqExtra is the same as GetReq, but allocates "n" additional
+   bytes after the request. "n" must be a multiple of 4!  */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetReqExtra(name, n, req) \
+        WORD64ALIGN\
+       if ((dpy->bufptr + SIZEOF(x##name##Req) + n) > dpy->bufmax)\
+               _XFlush(dpy);\
+       req = (x##name##Req *)(dpy->last_req = dpy->bufptr);\
+       req->reqType = X_##name;\
+       req->length = (SIZEOF(x##name##Req) + n)>>2;\
+       dpy->bufptr += SIZEOF(x##name##Req) + n;\
+       dpy->request++
+#else
+#define GetReqExtra(name, n, req) \
+        WORD64ALIGN\
+       if ((dpy->bufptr + SIZEOF(x/**/name/**/Req) + n) > dpy->bufmax)\
+               _XFlush(dpy);\
+       req = (x/**/name/**/Req *)(dpy->last_req = dpy->bufptr);\
+       req->reqType = X_/**/name;\
+       req->length = (SIZEOF(x/**/name/**/Req) + n)>>2;\
+       dpy->bufptr += SIZEOF(x/**/name/**/Req) + n;\
+       dpy->request++
+#endif
+
+
+/*
+ * GetResReq is for those requests that have a resource ID 
+ * (Window, Pixmap, GContext, etc.) as their single argument.
+ * "rid" is the name of the resource. 
+ */
+
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetResReq(name, rid, req) \
+        WORD64ALIGN\
+       if ((dpy->bufptr + SIZEOF(xResourceReq)) > dpy->bufmax)\
+           _XFlush(dpy);\
+       req = (xResourceReq *) (dpy->last_req = dpy->bufptr);\
+       req->reqType = X_##name;\
+       req->length = 2;\
+       req->id = (rid);\
+       dpy->bufptr += SIZEOF(xResourceReq);\
+       dpy->request++
+#else
+#define GetResReq(name, rid, req) \
+        WORD64ALIGN\
+       if ((dpy->bufptr + SIZEOF(xResourceReq)) > dpy->bufmax)\
+           _XFlush(dpy);\
+       req = (xResourceReq *) (dpy->last_req = dpy->bufptr);\
+       req->reqType = X_/**/name;\
+       req->length = 2;\
+       req->id = (rid);\
+       dpy->bufptr += SIZEOF(xResourceReq);\
+       dpy->request++
+#endif
+
+/*
+ * GetEmptyReq is for those requests that have no arguments
+ * at all. 
+ */
+#if !defined(UNIXCPP) || defined(ANSICPP)
+#define GetEmptyReq(name, req) \
+        WORD64ALIGN\
+       if ((dpy->bufptr + SIZEOF(xReq)) > dpy->bufmax)\
+           _XFlush(dpy);\
+       req = (xReq *) (dpy->last_req = dpy->bufptr);\
+       req->reqType = X_##name;\
+       req->length = 1;\
+       dpy->bufptr += SIZEOF(xReq);\
+       dpy->request++
+#else
+#define GetEmptyReq(name, req) \
+        WORD64ALIGN\
+       if ((dpy->bufptr + SIZEOF(xReq)) > dpy->bufmax)\
+           _XFlush(dpy);\
+       req = (xReq *) (dpy->last_req = dpy->bufptr);\
+       req->reqType = X_/**/name;\
+       req->length = 1;\
+       dpy->bufptr += SIZEOF(xReq);\
+       dpy->request++
+#endif
+
+#ifdef WORD64
+#define MakeBigReq(req,n) \
+    { \
+    char _BRdat[4]; \
+    unsigned long _BRlen = req->length - 1; \
+    req->length = 0; \
+    memcpy(_BRdat, ((char *)req) + (_BRlen << 2), 4); \
+    memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+    memcpy(((char *)req) + 4, _BRdat, 4); \
+    Data32(dpy, (long *)&_BRdat, 4); \
+    }
+#else
+#ifdef LONG64
+#define MakeBigReq(req,n) \
+    { \
+    CARD64 _BRdat; \
+    CARD32 _BRlen = req->length - 1; \
+    req->length = 0; \
+    _BRdat = ((CARD32 *)req)[_BRlen]; \
+    memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+    ((CARD32 *)req)[1] = _BRlen + n + 2; \
+    Data32(dpy, &_BRdat, 4); \
+    }
+#else
+#define MakeBigReq(req,n) \
+    { \
+    CARD32 _BRdat; \
+    CARD32 _BRlen = req->length - 1; \
+    req->length = 0; \
+    _BRdat = ((CARD32 *)req)[_BRlen]; \
+    memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
+    ((CARD32 *)req)[1] = _BRlen + n + 2; \
+    Data32(dpy, &_BRdat, 4); \
+    }
+#endif
+#endif
+
+#define SetReqLen(req,n,badlen) \
+    if ((req->length + n) > (unsigned)65535) { \
+       if (dpy->bigreq_size) { \
+           MakeBigReq(req,n) \
+       } else { \
+           n = badlen; \
+           req->length += n; \
+       } \
+    } else \
+       req->length += n
+
+#define SyncHandle() \
+       if (dpy->synchandler) (*dpy->synchandler)(dpy)
+
+extern void _XFlushGCCache(Display *dpy, GC gc);
+#define FlushGC(dpy, gc) \
+       if ((gc)->dirty) _XFlushGCCache((dpy), (gc))
+/*
+ * Data - Place data in the buffer and pad the end to provide
+ * 32 bit word alignment.  Transmit if the buffer fills.
+ *
+ * "dpy" is a pointer to a Display.
+ * "data" is a pinter to a data buffer.
+ * "len" is the length of the data buffer.
+ */
+#ifndef DataRoutineIsProcedure
+#define Data(dpy, data, len) {\
+       if (dpy->bufptr + (len) <= dpy->bufmax) {\
+               memcpy(dpy->bufptr, data, (int)len);\
+               dpy->bufptr += ((len) + 3) & ~3;\
+       } else\
+               _XSend(dpy, data, len);\
+       }
+#endif /* DataRoutineIsProcedure */
+
+
+/* Allocate bytes from the buffer.  No padding is done, so if
+ * the length is not a multiple of 4, the caller must be
+ * careful to leave the buffer aligned after sending the
+ * current request.
+ *
+ * "type" is the type of the pointer being assigned to.
+ * "ptr" is the pointer being assigned to.
+ * "n" is the number of bytes to allocate.
+ *
+ * Example: 
+ *    xTextElt *elt;
+ *    BufAlloc (xTextElt *, elt, nbytes)
+ */
+
+#define BufAlloc(type, ptr, n) \
+    if (dpy->bufptr + (n) > dpy->bufmax) \
+        _XFlush (dpy); \
+    ptr = (type) dpy->bufptr; \
+    (void)ptr; \
+    dpy->bufptr += (n);
+
+#ifdef WORD64
+#define Data16(dpy, data, len) _XData16(dpy, (short *)data, len)
+#define Data32(dpy, data, len) _XData32(dpy, (long *)data, len)
+#else
+#define Data16(dpy, data, len) Data((dpy), (char *)(data), (len))
+#define _XRead16Pad(dpy, data, len) _XReadPad((dpy), (char *)(data), (len))
+#define _XRead16(dpy, data, len) _XRead((dpy), (char *)(data), (len))
+#ifdef LONG64
+#define Data32(dpy, data, len) _XData32(dpy, (long *)data, len)
+extern int _XData32(
+            Display *dpy,
+            register long *data,
+            unsigned len
+);
+extern void _XRead32(
+            Display *dpy,
+            register long *data,
+            long len
+);
+#else
+#define Data32(dpy, data, len) Data((dpy), (char *)(data), (len))
+#define _XRead32(dpy, data, len) _XRead((dpy), (char *)(data), (len))
+#endif
+#endif /* not WORD64 */
+
+#define PackData16(dpy,data,len) Data16 (dpy, data, len)
+#define PackData32(dpy,data,len) Data32 (dpy, data, len)
+
+/* Xlib manual is bogus */
+#define PackData(dpy,data,len) PackData16 (dpy, data, len)
+
+#define min(a,b) (((a) < (b)) ? (a) : (b))
+#define max(a,b) (((a) > (b)) ? (a) : (b))
+
+#define CI_NONEXISTCHAR(cs) (((cs)->width == 0) && \
+                            (((cs)->rbearing|(cs)->lbearing| \
+                              (cs)->ascent|(cs)->descent) == 0))
+
+/* 
+ * CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit
+ * character.  If the character is in the column and exists, then return the
+ * appropriate metrics (note that fonts with common per-character metrics will
+ * return min_bounds).  If none of these hold true, try again with the default
+ * char.
+ */
+#define CI_GET_CHAR_INFO_1D(fs,col,def,cs) \
+{ \
+    cs = def; \
+    if (col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \
+       if (fs->per_char == NULL) { \
+           cs = &fs->min_bounds; \
+       } else { \
+           cs = &fs->per_char[(col - fs->min_char_or_byte2)]; \
+           if (CI_NONEXISTCHAR(cs)) cs = def; \
+       } \
+    } \
+}
+
+#define CI_GET_DEFAULT_INFO_1D(fs,cs) \
+  CI_GET_CHAR_INFO_1D (fs, fs->default_char, NULL, cs)
+
+
+
+/*
+ * CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and 
+ * column.  This is used for fonts that have more than row zero.
+ */
+#define CI_GET_CHAR_INFO_2D(fs,row,col,def,cs) \
+{ \
+    cs = def; \
+    if (row >= fs->min_byte1 && row <= fs->max_byte1 && \
+       col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \
+       if (fs->per_char == NULL) { \
+           cs = &fs->min_bounds; \
+       } else { \
+           cs = &fs->per_char[((row - fs->min_byte1) * \
+                               (fs->max_char_or_byte2 - \
+                                fs->min_char_or_byte2 + 1)) + \
+                              (col - fs->min_char_or_byte2)]; \
+           if (CI_NONEXISTCHAR(cs)) cs = def; \
+        } \
+    } \
+}
+
+#define CI_GET_DEFAULT_INFO_2D(fs,cs) \
+{ \
+    unsigned int r = (fs->default_char >> 8); \
+    unsigned int c = (fs->default_char & 0xff); \
+    CI_GET_CHAR_INFO_2D (fs, r, c, NULL, cs); \
+}
+
+
+#ifdef MUSTCOPY
+
+/* for when 32-bit alignment is not good enough */
+#define OneDataCard32(dpy,dstaddr,srcvar) \
+  { dpy->bufptr -= 4; Data32 (dpy, (char *) &(srcvar), 4); }
+
+#else
+
+/* srcvar must be a variable for large architecture version */
+#define OneDataCard32(dpy,dstaddr,srcvar) \
+  { *(CARD32 *)(dstaddr) = (srcvar); }
+
+#endif /* MUSTCOPY */
+
+typedef struct _XInternalAsync {
+    struct _XInternalAsync *next;
+    /*
+     * handler arguments:
+     * rep is the generic reply that caused this handler
+     * to be invoked.  It must also be passed to _XGetAsyncReply.
+     * buf and len are opaque values that must be passed to
+     * _XGetAsyncReply or _XGetAsyncData.
+     * data is the closure stored in this struct.
+     * The handler returns True iff it handled this reply.
+     */
+    Bool (*handler)(
+                   Display*    /* dpy */,
+                   xReply*     /* rep */,
+                   char*       /* buf */,
+                   int         /* len */,
+                   XPointer    /* data */
+                   );
+    XPointer data;
+} _XAsyncHandler;
+
+typedef struct _XAsyncEState {
+    unsigned long min_sequence_number;
+    unsigned long max_sequence_number;
+    unsigned char error_code;
+    unsigned char major_opcode;
+    unsigned short minor_opcode;
+    unsigned char last_error_received;
+    int error_count;
+} _XAsyncErrorState;
+
+extern void _XDeqAsyncHandler(Display *dpy, _XAsyncHandler *handler);
+#define DeqAsyncHandler(dpy,handler) { \
+    if (dpy->async_handlers == (handler)) \
+       dpy->async_handlers = (handler)->next; \
+    else \
+       _XDeqAsyncHandler(dpy, handler); \
+    }
+
+typedef void (*FreeFuncType) (
+    Display*   /* display */
+);
+
+typedef int (*FreeModmapType) (
+    XModifierKeymap*   /* modmap */
+);
+
+/*
+ * This structure is private to the library.
+ */
+typedef struct _XFreeFuncs {
+    FreeFuncType atoms;                /* _XFreeAtomTable */
+    FreeModmapType modifiermap;        /* XFreeModifierMap */
+    FreeFuncType key_bindings; /* _XFreeKeyBindings */
+    FreeFuncType context_db;   /* _XFreeContextDB */
+    FreeFuncType defaultCCCs;  /* _XcmsFreeDefaultCCCs */
+    FreeFuncType clientCmaps;  /* _XcmsFreeClientCmaps */
+    FreeFuncType intensityMaps;        /* _XcmsFreeIntensityMaps */
+    FreeFuncType im_filters;   /* _XFreeIMFilters */
+    FreeFuncType xkb;          /* _XkbFreeInfo */
+} _XFreeFuncRec;
+
+/* types for InitExt.c */
+typedef int (*CreateGCType) (
+    Display*   /* display */,
+    GC         /* gc */,
+    XExtCodes* /* codes */
+);
+
+typedef int (*CopyGCType)(
+    Display*   /* display */,
+    GC         /* gc */,
+    XExtCodes* /* codes */
+);
+
+typedef int (*FlushGCType) (
+    Display*   /* display */,
+    GC         /* gc */,
+    XExtCodes* /* codes */
+);
+
+typedef int (*FreeGCType) (
+    Display*   /* display */,
+    GC         /* gc */,
+    XExtCodes* /* codes */
+);
+
+typedef int (*CreateFontType) (
+    Display*   /* display */,
+    XFontStruct* /* fs */,
+    XExtCodes* /* codes */
+);
+
+typedef int (*FreeFontType) (
+    Display*   /* display */,
+    XFontStruct* /* fs */,
+    XExtCodes* /* codes */
+);
+
+typedef int (*CloseDisplayType) (
+    Display*   /* display */,
+    XExtCodes* /* codes */
+);
+
+typedef int (*ErrorType) (
+    Display*   /* display */,
+    xError*    /* err */,
+    XExtCodes* /* codes */,
+    int*       /* ret_code */
+);
+
+typedef char* (*ErrorStringType) (
+    Display*   /* display */,
+    int                /* code */,
+    XExtCodes* /* codes */,
+    char*      /* buffer */,
+    int                /* nbytes */
+);
+
+typedef void (*PrintErrorType)(
+    Display*   /* display */,
+    XErrorEvent* /* ev */,
+    void*      /* fp */
+);
+
+typedef void (*BeforeFlushType)(
+    Display*   /* display */,
+    XExtCodes* /* codes */,
+    _Xconst char* /* data */,
+    long       /* len */
+);
+
+/*
+ * This structure is private to the library.
+ */
+typedef struct _XExten {               /* private to extension mechanism */
+       struct _XExten *next;           /* next in list */
+       XExtCodes codes;                /* public information, all extension told */
+       CreateGCType create_GC;         /* routine to call when GC created */
+       CopyGCType copy_GC;             /* routine to call when GC copied */
+       FlushGCType flush_GC;           /* routine to call when GC flushed */
+       FreeGCType free_GC;             /* routine to call when GC freed */
+       CreateFontType create_Font;     /* routine to call when Font created */
+       FreeFontType free_Font;         /* routine to call when Font freed */
+       CloseDisplayType close_display; /* routine to call when connection closed */
+       ErrorType error;                /* who to call when an error occurs */
+       ErrorStringType error_string;   /* routine to supply error string */
+       char *name;                     /* name of this extension */
+       PrintErrorType error_values;    /* routine to supply error values */
+       BeforeFlushType before_flush;   /* routine to call when sending data */
+       struct _XExten *next_flush;     /* next in list of those with flushes */
+} _XExtension;
+
+/* extension hooks */
+
+#ifdef DataRoutineIsProcedure
+extern void Data(Display *dpy, char *data, long len);
+#endif
+extern int _XError(
+    Display*   /* dpy */,
+    xError*    /* rep */
+);
+extern int _XIOError(
+    Display*   /* dpy */
+);
+extern int (*_XIOErrorFunction)(
+    Display*   /* dpy */
+);
+extern int (*_XErrorFunction)(
+    Display*           /* dpy */,
+    XErrorEvent*       /* error_event */
+);
+extern void _XEatData(
+    Display*           /* dpy */,
+    unsigned long      /* n */
+);
+extern char *_XAllocScratch(
+    Display*           /* dpy */,
+    unsigned long      /* nbytes */
+);
+extern char *_XAllocTemp(
+    Display*           /* dpy */,
+    unsigned long      /* nbytes */
+);
+extern void _XFreeTemp(
+    Display*           /* dpy */,
+    char*              /* buf */,
+    unsigned long      /* nbytes */
+);
+extern Visual *_XVIDtoVisual(
+    Display*   /* dpy */,
+    VisualID   /* id */
+);
+extern unsigned long _XSetLastRequestRead(
+    Display*           /* dpy */,
+    xGenericReply*     /* rep */
+);
+extern int _XGetHostname(
+    char*      /* buf */,
+    int                /* maxlen */
+);
+extern Screen *_XScreenOfWindow(
+    Display*   /* dpy */,
+    Window     /* w */
+);
+extern Bool _XAsyncErrorHandler(
+    Display*   /* dpy */,
+    xReply*    /* rep */,
+    char*      /* buf */,
+    int                /* len */,
+    XPointer   /* data */
+);
+extern char *_XGetAsyncReply(
+    Display*   /* dpy */,
+    char*      /* replbuf */,
+    xReply*    /* rep */,
+    char*      /* buf */,
+    int                /* len */,
+    int                /* extra */,
+    Bool       /* discard */
+);
+extern void _XGetAsyncData(
+    Display*   /* dpy */,
+    char *     /* data */,
+    char *     /* buf */,
+    int                /* len */,
+    int                /* skip */,
+    int                /* datalen */,
+    int                /* discardtotal */
+);
+extern void _XFlush(
+    Display*   /* dpy */
+);
+extern int _XEventsQueued(
+    Display*   /* dpy */,
+    int        /* mode */
+);
+extern void _XReadEvents(
+    Display*   /* dpy */
+);
+extern int _XRead(
+    Display*   /* dpy */,
+    char*      /* data */,
+    long       /* size */
+);
+extern void _XReadPad(
+    Display*   /* dpy */,
+    char*      /* data */,
+    long       /* size */
+);
+extern void _XSend(
+    Display*           /* dpy */,
+    _Xconst char*      /* data */,
+    long               /* size */
+);
+extern Status _XReply(
+    Display*   /* dpy */,
+    xReply*    /* rep */,
+    int                /* extra */,
+    Bool       /* discard */
+);
+extern void _XEnq(
+    Display*   /* dpy */,
+    xEvent*    /* event */
+);
+extern void _XDeq(
+    Display*   /* dpy */,
+    _XQEvent*  /* prev */,
+    _XQEvent*  /* qelt */
+);
+
+extern Bool _XUnknownWireEvent(
+    Display*   /* dpy */,
+    XEvent*    /* re */,
+    xEvent*    /* event */
+);
+extern Status _XUnknownNativeEvent(
+    Display*   /* dpy */,
+    XEvent*    /* re */,
+    xEvent*    /* event */
+);
+
+extern Bool _XWireToEvent(Display *dpy, XEvent *re, xEvent *event);
+extern Bool _XDefaultWireError(Display *display, XErrorEvent *he, xError *we);
+extern Bool _XPollfdCacheInit(Display *dpy);
+extern void _XPollfdCacheAdd(Display *dpy, int fd);
+extern void _XPollfdCacheDel(Display *dpy, int fd);
+extern XID _XAllocID(Display *dpy);
+extern void _XAllocIDs(Display *dpy, XID *ids, int count);
+
+extern int _XFreeExtData(
+    XExtData*  /* extension */
+);
+
+extern int (*XESetCreateGC(
+    Display*           /* display */,
+    int                        /* extension */,
+    int (*) (
+             Display*                  /* display */,
+             GC                        /* gc */,
+             XExtCodes*                /* codes */
+           )           /* proc */
+))(
+    Display*, GC, XExtCodes*
+);
+
+extern int (*XESetCopyGC(
+    Display*           /* display */,
+    int                        /* extension */,
+    int (*) (
+             Display*                  /* display */,
+              GC                       /* gc */,
+              XExtCodes*               /* codes */
+            )          /* proc */            
+))(
+    Display*, GC, XExtCodes*
+);
+
+extern int (*XESetFlushGC(
+    Display*           /* display */,
+    int                        /* extension */,
+    int (*) (
+             Display*                  /* display */,
+              GC                       /* gc */,
+              XExtCodes*               /* codes */
+            )          /* proc */           
+))(
+    Display*, GC, XExtCodes*
+);
+
+extern int (*XESetFreeGC(
+    Display*           /* display */,
+    int                        /* extension */,
+    int (*) (
+             Display*                  /* display */,
+              GC                       /* gc */,
+              XExtCodes*               /* codes */
+            )          /* proc */           
+))(
+    Display*, GC, XExtCodes*
+);
+
+extern int (*XESetCreateFont(
+    Display*           /* display */,
+    int                        /* extension */,
+    int (*) (
+             Display*                  /* display */,
+              XFontStruct*             /* fs */,
+              XExtCodes*               /* codes */
+            )          /* proc */    
+))(
+    Display*, XFontStruct*, XExtCodes*
+);
+
+extern int (*XESetFreeFont(
+    Display*           /* display */,
+    int                        /* extension */,
+    int (*) (
+             Display*                  /* display */,
+              XFontStruct*             /* fs */,
+              XExtCodes*               /* codes */
+            )          /* proc */    
+))(
+    Display*, XFontStruct*, XExtCodes*
+); 
+
+extern int (*XESetCloseDisplay(
+    Display*           /* display */,
+    int                        /* extension */,
+    int (*) (
+             Display*                  /* display */,
+              XExtCodes*               /* codes */
+            )          /* proc */    
+))(
+    Display*, XExtCodes*
+);
+
+extern int (*XESetError(
+    Display*           /* display */,
+    int                        /* extension */,
+    int (*) (
+             Display*                  /* display */,
+              xError*                  /* err */,
+              XExtCodes*               /* codes */,
+              int*                     /* ret_code */
+            )          /* proc */    
+))(
+    Display*, xError*, XExtCodes*, int*
+);
+
+extern char* (*XESetErrorString(
+    Display*           /* display */,
+    int                        /* extension */,
+    char* (*) (
+               Display*                /* display */,
+                int                    /* code */,
+                XExtCodes*             /* codes */,
+                char*                  /* buffer */,
+                int                    /* nbytes */
+              )                /* proc */             
+))(
+    Display*, int, XExtCodes*, char*, int
+);
+
+extern void (*XESetPrintErrorValues (
+    Display*           /* display */,
+    int                        /* extension */,
+    void (*)(
+             Display*                  /* display */,
+             XErrorEvent*              /* ev */,
+             void*                     /* fp */
+            )          /* proc */
+))(
+    Display*, XErrorEvent*, void*
+);
+
+extern Bool (*XESetWireToEvent(
+    Display*           /* display */,
+    int                        /* event_number */,
+    Bool (*) (
+              Display*                 /* display */,
+               XEvent*                 /* re */,
+               xEvent*                 /* event */
+             )         /* proc */    
+))(
+    Display*, XEvent*, xEvent*
+);
+
+extern Status (*XESetEventToWire(
+    Display*           /* display */,
+    int                        /* event_number */,
+    Status (*) (
+             Display*                  /* display */,
+              XEvent*                  /* re */,
+              xEvent*                  /* event */
+            )          /* proc */   
+))(
+    Display*, XEvent*, xEvent*
+);
+
+extern Bool (*XESetWireToError(
+    Display*           /* display */,
+    int                        /* error_number */,
+    Bool (*) (
+              Display*                 /* display */,
+              XErrorEvent*             /* he */,
+              xError*                  /* we */
+            )          /* proc */   
+))(
+    Display*, XErrorEvent*, xError*
+);
+
+extern void (*XESetBeforeFlush(
+    Display*           /* display */,
+    int                        /* error_number */,
+    void (*) (
+              Display*                 /* display */,
+              XExtCodes*               /* codes */,
+              _Xconst char*            /* data */,
+              long                     /* len */
+            )          /* proc */   
+))(
+    Display*, XExtCodes*, _Xconst char*, long
+);
+
+/* internal connections for IMs */
+
+typedef void (*_XInternalConnectionProc)(
+    Display*                   /* dpy */,
+    int                                /* fd */,
+    XPointer                   /* call_data */
+);
+
+
+extern Status _XRegisterInternalConnection(
+    Display*                   /* dpy */,
+    int                                /* fd */,
+    _XInternalConnectionProc   /* callback */,
+    XPointer                   /* call_data */
+);
+
+extern void _XUnregisterInternalConnection(
+    Display*                   /* dpy */,
+    int                                /* fd */
+);
+
+/* Display structure has pointers to these */
+
+struct _XConnectionInfo {      /* info from _XRegisterInternalConnection */
+    int fd;
+    _XInternalConnectionProc read_callback;
+    XPointer call_data;
+    XPointer *watch_data;      /* set/used by XConnectionWatchProc */
+    struct _XConnectionInfo *next;
+};
+
+struct _XConnWatchInfo {       /* info from XAddConnectionWatch */
+    XConnectionWatchProc fn;
+    XPointer client_data;
+    struct _XConnWatchInfo *next;
+};
+
+#ifdef __UNIXOS2__
+extern char* __XOS2RedirRoot(
+    char*
+);
+#endif
+
+extern int _XTextHeight(
+    XFontStruct*       /* font_struct */,
+    _Xconst char*      /* string */,
+    int                        /* count */
+);
+
+extern int _XTextHeight16(
+    XFontStruct*       /* font_struct */,
+    _Xconst XChar2b*   /* string */,
+    int                        /* count */
+);
+
+#if defined(WIN32)
+
+extern int _XOpenFile(
+    _Xconst char*      /* path */,
+    int                        /* flags */
+);
+
+extern int _XOpenFileMode(
+    _Xconst char*      /* path */,
+    int                        /* flags */,
+    mode_t              /* mode */
+);
+
+extern void* _XFopenFile(
+    _Xconst char*      /* path */,
+    _Xconst char*      /* mode */
+);
+
+extern int _XAccessFile(
+    _Xconst char*      /* path */
+);
+#else
+#define _XOpenFile(path,flags) open(path,flags)
+#define _XOpenFileMode(path,flags,mode) open(path,flags,mode)
+#define _XFopenFile(path,mode) fopen(path,mode)
+#endif
+
+/* EvToWire.c */
+extern Status _XEventToWire(Display *dpy, XEvent *re, xEvent *event);
+
+extern int _XF86LoadQueryLocaleFont(
+    Display*           /* dpy */,
+    _Xconst char*      /* name*/,
+    XFontStruct**      /* xfp*/,
+    Font*              /* fidp */
+);
+
+extern void _XProcessWindowAttributes (
+    register Display *dpy,
+    xChangeWindowAttributesReq *req,
+    register unsigned long valuemask,
+    register XSetWindowAttributes *attributes);
+
+extern int _XDefaultError(
+        Display *dpy,
+        XErrorEvent *event);
+
+extern int _XDefaultIOError(
+        Display *dpy);
+
+extern void _XSetClipRectangles (
+    register Display *dpy,
+    GC gc,
+    int clip_x_origin, int clip_y_origin,
+    XRectangle *rectangles,
+    int n,
+    int ordering);
+
+Status _XGetWindowAttributes(
+    register Display *dpy,
+    Window w,
+    XWindowAttributes *attr);
+
+int _XPutBackEvent (
+    register Display *dpy, 
+    register XEvent *event);
+
+_XFUNCPROTOEND
+
+#endif /* _XLIBINT_H_ */
diff --git a/XOrg/headers/native/src/X11/Xlocale.h b/XOrg/headers/native/src/X11/Xlocale.h
new file mode 100644 (file)
index 0000000..61d2f7a
--- /dev/null
@@ -0,0 +1,61 @@
+/* $Xorg: Xlocale.h,v 1.4 2001/02/09 02:03:38 xorgcvs Exp $ */
+/*
+
+Copyright 1991, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/* $XFree86: xc/lib/X11/Xlocale.h,v 1.4 2001/12/14 19:54:09 dawes Exp $ */
+
+#ifndef _XLOCALE_H_
+#define _XLOCALE_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/Xosdefs.h>
+
+#ifndef X_LOCALE
+#include <locale.h>
+#else
+
+#define LC_ALL      0
+#define LC_COLLATE  1
+#define LC_CTYPE    2
+#define LC_MONETARY 3
+#define LC_NUMERIC  4
+#define LC_TIME     5
+
+_XFUNCPROTOBEGIN
+extern char *_Xsetlocale(
+    int /* category */,
+    _Xconst char* /* name */
+);
+_XFUNCPROTOEND
+
+#define setlocale _Xsetlocale
+
+#include <stddef.h>
+
+#endif /* X_LOCALE */
+
+#endif /* _XLOCALE_H_ */
diff --git a/XOrg/headers/native/src/X11/Xmd.h b/XOrg/headers/native/src/X11/Xmd.h
new file mode 100644 (file)
index 0000000..06fd2bf
--- /dev/null
@@ -0,0 +1,208 @@
+/* $XdotOrg: proto/X11/Xmd.h,v 1.4 2006/04/20 01:24:25 alanc Exp $ */
+/* $XFree86: xc/include/Xmd.h,v 3.18tsi Exp $ */
+/***********************************************************
+
+Copyright 1987, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+#ifndef XMD_H
+#define XMD_H 1
+/* $Xorg: Xmd.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+/*
+ *  Xmd.h: MACHINE DEPENDENT DECLARATIONS.
+ */
+
+/*
+ * Special per-machine configuration flags.
+ */
+#if defined(sun) && defined(__SVR4)
+# include <sys/isa_defs.h> /* Solaris: defines _LP64 if necessary */
+#endif
+
+#ifdef CRAY
+#define WORD64                         /* 64-bit architecture */
+#endif
+#if defined (_LP64) || \
+    defined(__alpha) || defined(__alpha__) || \
+    defined(__ia64__) || defined(ia64) || \
+    defined(__sparc64__) || \
+    defined(__s390x__) || \
+    (defined(__hppa__) && defined(__LP64__)) || \
+    defined(__amd64__) || defined(amd64) || \
+    defined(__powerpc64__) || \
+    (defined(sgi) && (_MIPS_SZLONG == 64))
+#define LONG64                         /* 32/64-bit architecture */
+#endif
+
+/*
+ * Stuff to handle large architecture machines; the constants were generated
+ * on a 32-bit machine and must correspond to the protocol.
+ */
+#ifdef WORD64
+#define MUSTCOPY
+#endif /* WORD64 */
+
+
+/*
+ * Definition of macro used to set constants for size of network structures;
+ * machines with preprocessors that can't handle all of the sz_ symbols
+ * can define this macro to be sizeof(x) if and only if their compiler doesn't
+ * pad out structures (esp. the xTextElt structure which contains only two
+ * one-byte fields).  Network structures should always define sz_symbols.
+ *
+ * The sz_ prefix is used instead of something more descriptive so that the
+ * symbols are no more than 32 characters long (which causes problems for some
+ * compilers and preprocessors).
+ *
+ * The extra indirection in the __STDC__ case is to get macro arguments to
+ * expand correctly before the concatenation, rather than afterward.
+ */
+#if ((defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)) && !defined(UNIXCPP)) || defined(ANSICPP)
+#define _SIZEOF(x) sz_##x
+#define SIZEOF(x) _SIZEOF(x)
+#else
+#define SIZEOF(x) sz_/**/x
+#endif /* if ANSI C compiler else not */
+
+/*
+ * Bitfield suffixes for the protocol structure elements, if you
+ * need them.  Note that bitfields are not guaranteed to be signed
+ * (or even unsigned) according to ANSI C.
+ */
+#ifdef WORD64
+typedef long INT64;
+typedef unsigned long CARD64;
+#define B32 :32
+#define B16 :16
+#ifdef UNSIGNEDBITFIELDS
+typedef unsigned int INT32;
+typedef unsigned int INT16;
+#else
+#ifdef __STDC__
+typedef signed int INT32;
+typedef signed int INT16;
+#else
+typedef int INT32;
+typedef int INT16;
+#endif
+#endif
+#else
+#define B32
+#define B16
+#ifdef LONG64
+typedef long INT64;
+typedef int INT32;
+#else
+typedef long INT32;
+#endif
+typedef short INT16;
+#endif
+
+#if defined(__STDC__) || defined(sgi) || defined(AIXV3)
+typedef signed char    INT8;
+#else
+typedef char           INT8;
+#endif
+
+#ifdef LONG64
+typedef unsigned long CARD64;
+typedef unsigned int CARD32;
+#else
+typedef unsigned long CARD32;
+#endif
+typedef unsigned short CARD16;
+typedef unsigned char  CARD8;
+
+typedef CARD32         BITS32;
+typedef CARD16         BITS16;
+
+#ifndef I_NEED_OS2_H
+typedef CARD8          BYTE;
+typedef CARD8          BOOL;
+#else
+#define BYTE   CARD8
+#define BOOL   CARD8
+#endif
+
+/*
+ * definitions for sign-extending bitfields on 64-bit architectures
+ */
+#if defined(WORD64) && defined(UNSIGNEDBITFIELDS)
+#define cvtINT8toInt(val)   (((val) & 0x00000080) ? ((val) | 0xffffffffffffff00) : (val))
+#define cvtINT16toInt(val)  (((val) & 0x00008000) ? ((val) | 0xffffffffffff0000) : (val))
+#define cvtINT32toInt(val)  (((val) & 0x80000000) ? ((val) | 0xffffffff00000000) : (val))
+#define cvtINT8toShort(val)  cvtINT8toInt(val)
+#define cvtINT16toShort(val) cvtINT16toInt(val)
+#define cvtINT32toShort(val) cvtINT32toInt(val)
+#define cvtINT8toLong(val)  cvtINT8toInt(val)
+#define cvtINT16toLong(val) cvtINT16toInt(val)
+#define cvtINT32toLong(val) cvtINT32toInt(val)
+#else
+#define cvtINT8toInt(val) (val)
+#define cvtINT16toInt(val) (val)
+#define cvtINT32toInt(val) (val)
+#define cvtINT8toShort(val) (val)
+#define cvtINT16toShort(val) (val)
+#define cvtINT32toShort(val) (val)
+#define cvtINT8toLong(val) (val)
+#define cvtINT16toLong(val) (val)
+#define cvtINT32toLong(val) (val)
+#endif /* WORD64 and UNSIGNEDBITFIELDS */
+
+
+
+#ifdef MUSTCOPY
+/*
+ * This macro must not cast or else pointers will get aligned and be wrong
+ */
+#define NEXTPTR(p,t)  (((char *) p) + SIZEOF(t))
+#else /* else not MUSTCOPY, this is used for 32-bit machines */
+/*
+ * this version should leave result of type (t *), but that should only be
+ * used when not in MUSTCOPY
+ */
+#define NEXTPTR(p,t) (((t *)(p)) + 1)
+#endif /* MUSTCOPY - used machines whose C structs don't line up with proto */
+
+#endif /* XMD_H */
diff --git a/XOrg/headers/native/src/X11/Xos.h b/XOrg/headers/native/src/X11/Xos.h
new file mode 100644 (file)
index 0000000..83be4c6
--- /dev/null
@@ -0,0 +1,296 @@
+/*
+ * $XdotOrg: proto/X11/Xos.h,v 1.9 2006/04/20 01:24:25 alanc Exp $
+ * $Xorg: Xos.h,v 1.6 2001/02/09 02:03:22 xorgcvs Exp $
+ * 
+ * 
+Copyright 1987, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ * The X Window System is a Trademark of The Open Group.
+ *
+ */
+/* $XFree86: xc/include/Xos.h,v 3.41tsi Exp $ */
+
+/* This is a collection of things to try and minimize system dependencies
+ * in a "significant" number of source files.
+ */
+
+#ifndef _XOS_H_
+#define _XOS_H_
+
+#include <X11/Xosdefs.h>
+
+/*
+ * Get major data types (esp. caddr_t)
+ */
+
+#ifdef USG
+#ifndef __TYPES__
+#ifdef CRAY
+#define word word_t
+#endif /* CRAY */
+#include <sys/types.h>                 /* forgot to protect it... */
+#define __TYPES__
+#endif /* __TYPES__ */
+#else /* USG */
+#if defined(_POSIX_SOURCE) && defined(MOTOROLA)
+#undef _POSIX_SOURCE
+#include <sys/types.h>
+#define _POSIX_SOURCE
+#else
+# include <sys/types.h>
+#endif
+#endif /* USG */
+
+#ifndef sgi
+#if defined(__SCO__) || defined(__UNIXWARE__)
+#include <stdint.h>
+#endif
+#endif
+
+#ifdef _SEQUENT_
+/*
+ * in_systm.h compatibility between SysV and BSD types u_char u_short u_long
+ * select.h  for typedef of args to select, fd_set, may use SVR4 later
+ */
+#include <netinet/in_systm.h>
+#include <sys/select.h>
+#endif /* _SEQUENT_ */
+
+/*
+ * Just about everyone needs the strings routines.  We provide both forms here,
+ * index/rindex and strchr/strrchr, so any systems that don't provide them all
+ * need to have #defines here.
+ *
+ * These macros are defined this way, rather than, e.g.:
+ *    #defined index(s,c) strchr(s,c)
+ * because someone might be using them as function pointers, and such
+ * a change would break compatibility for anyone who's relying on them
+ * being the way they currently are. So we're stuck with them this way,
+ * which can be really inconvenient. :-(
+ */
+
+#ifndef X_NOT_STDC_ENV
+
+#include <string.h>
+#if defined(__SCO__) || defined(__UNIXWARE__)
+#include <strings.h>
+#else
+#if (defined(sun) && defined(__SVR4))
+#include <strings.h>
+#endif
+#ifdef __STDC__
+#ifndef index
+#define index(s,c) (strchr((s),(c)))
+#endif
+#ifndef rindex
+#define rindex(s,c) (strrchr((s),(c)))
+#endif
+#else
+#ifndef index
+#define index strchr
+#endif
+#ifndef rindex
+#define rindex strrchr
+#endif
+#endif
+#endif
+
+#else
+
+#ifdef SYSV
+#if defined(clipper) || defined(__clipper__)
+#include <malloc.h>
+#endif
+#include <string.h>
+#define index strchr
+#define rindex strrchr
+#else
+#include <strings.h>
+#define strchr index
+#define strrchr rindex
+#endif
+
+#endif /* X_NOT_STDC_ENV */
+
+/*
+ * strerror()
+ */
+#if (defined(X_NOT_STDC_ENV) || (defined(sun) && !defined(SVR4)) || defined(macII)) && !defined(__GLIBC__)
+#ifndef strerror
+extern char *sys_errlist[];
+extern int sys_nerr;
+#define strerror(n) \
+    (((n) >= 0 && (n) < sys_nerr) ? sys_errlist[n] : "unknown error")
+#endif
+#endif
+
+/*
+ * Get open(2) constants
+ */
+#if defined(X_NOT_POSIX)
+#include <fcntl.h>
+#if defined(USL) || defined(CRAY) || defined(MOTOROLA) || (defined(i386) && (defined(SYSV) || defined(SVR4))) || defined(__sxg__)
+#include <unistd.h>
+#endif
+#ifdef WIN32
+#include <X11/Xw32defs.h>
+#else
+#include <sys/file.h>
+#endif
+#else /* X_NOT_POSIX */
+#if !defined(_POSIX_SOURCE) && defined(macII)
+#define _POSIX_SOURCE
+#include <fcntl.h>
+#include <unistd.h>
+#undef _POSIX_SOURCE
+#else
+#include <fcntl.h>
+#include <unistd.h>
+#endif
+#endif /* X_NOT_POSIX else */
+
+/*
+ * Get struct timeval and struct tm
+ */
+
+#if defined(SYSV) && !defined(_SEQUENT_)
+
+#ifndef USL
+#include <sys/time.h>
+#endif
+#include <time.h>
+#ifdef CRAY
+#undef word
+#endif /* CRAY */
+#if defined(USG) && !defined(CRAY) && !defined(MOTOROLA) && !defined(uniosu) && !defined(__sxg__) && !defined(clipper) && !defined(__clipper__)
+struct timeval {
+    long tv_sec;
+    long tv_usec;
+};
+#ifndef USL_SHARELIB
+struct timezone {
+    int tz_minuteswest;
+    int tz_dsttime;
+};
+#endif /* USL_SHARELIB */
+#endif /* USG */
+
+#ifdef _SEQUENT_
+struct timezone {
+    int tz_minuteswest;
+    int tz_dsttime;
+};
+#endif /* _SEQUENT_ */
+
+#else /* not SYSV */
+
+#if defined(_POSIX_SOURCE) && defined(SVR4)
+/* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */
+#undef _POSIX_SOURCE
+#include <sys/time.h>
+#define _POSIX_SOURCE
+#elif defined(WIN32)
+#include <time.h>
+#if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_) && !defined(_TIMEVAL_DEFINED) && !defined(_STRUCT_TIMEVAL)
+struct timeval {
+    long    tv_sec;         /* seconds */
+    long    tv_usec;        /* and microseconds */
+};
+#define _TIMEVAL_DEFINED
+#endif
+#include <sys/timeb.h>
+#define gettimeofday(t) \
+{ \
+    struct _timeb _gtodtmp; \
+    _ftime (&_gtodtmp); \
+    (t)->tv_sec = _gtodtmp.time; \
+    (t)->tv_usec = _gtodtmp.millitm * 1000; \
+}
+#elif defined(_SEQUENT_) || defined(Lynx)
+#include <time.h>
+#elif defined (__QNX__)
+typedef unsigned long fd_mask;
+/* Make sure we get 256 bit select masks */
+#define FD_SETSIZE 256
+#include <sys/select.h>
+#include <sys/time.h>
+#include <time.h>
+#else
+#include <sys/time.h>
+#include <time.h>
+#endif /* defined(_POSIX_SOURCE) && defined(SVR4) */
+
+#endif /* SYSV */
+
+/* define X_GETTIMEOFDAY macro, a portable gettimeofday() */
+#if defined(_XOPEN_XPG4) || defined(_XOPEN_UNIX) /* _XOPEN_UNIX is XPG4.2 */
+#define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+#else
+#if defined(SVR4) || defined(VMS) || defined(WIN32)
+#define X_GETTIMEOFDAY(t) gettimeofday(t)
+#else
+#define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+#endif
+#endif /* XPG4 else */
+
+#ifdef __UNIXOS2__
+typedef unsigned long fd_mask;
+#include <limits.h>
+#define MAX_PATH _POSIX_PATH_MAX
+#endif
+
+#ifdef __GNU__
+#define PATH_MAX 4096
+#define MAXPATHLEN 4096
+#define OPEN_MAX 256 /* We define a reasonable limit.  */
+#endif
+
+/* use POSIX name for signal */
+#if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD) && !defined(ISC)
+#define SIGCHLD SIGCLD
+#endif
+
+#ifdef ISC
+#include <sys/bsdtypes.h>
+#include <sys/limits.h>
+#define NGROUPS 16
+#endif
+
+#if defined(ISC) || defined(__UNIXOS2__) || \
+    (defined(__linux__) && !defined(__GLIBC__)) || \
+    (defined(__QNX__) && !defined(UNIXCONN))
+/*
+ *     Some OS's may not have this
+ */
+
+#define X_NO_SYS_UN 1
+
+struct sockaddr_un {
+       short   sun_family;
+       char    sun_path[108];
+};
+#endif
+
+#include <X11/Xarch.h>
+
+#endif /* _XOS_H_ */
diff --git a/XOrg/headers/native/src/X11/Xos_r.h b/XOrg/headers/native/src/X11/Xos_r.h
new file mode 100644 (file)
index 0000000..694f7a0
--- /dev/null
@@ -0,0 +1,1160 @@
+/* $Xorg: Xos_r.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+/* $XdotOrg: proto/X11/Xos_r.h,v 1.6 2006/04/20 01:24:25 alanc Exp $ */
+/*
+Copyright 1996, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+*/
+/* $XFree86: xc/include/Xos_r.h,v 1.18tsi Exp $ */
+
+/*
+ * Various and sundry Thread-Safe functions used by X11, Motif, and CDE.
+ *
+ * Use this file in MT-safe code where you would have included
+ *     <dirent.h>      for readdir()
+ *     <grp.h>         for getgrgid() or getgrnam()
+ *     <netdb.h>       for gethostbyname(), gethostbyaddr(), or getservbyname()
+ *     <pwd.h>         for getpwnam() or getpwuid()
+ *     <string.h>      for strtok()
+ *     <time.h>        for asctime(), ctime(), localtime(), or gmtime()
+ *     <unistd.h>      for getlogin() or ttyname()
+ * or their thread-safe analogs.
+ *
+ * If you are on a platform that defines XTHREADS but does not have
+ * MT-safe system API (e.g. UnixWare) you must define _Xos_processLock
+ * and _Xos_processUnlock macros before including this header.  If
+ * you are on OSF/1 V3.2 and plan to use readdir(), you must also define
+ * _Xos_isThreadInitialized.  For convenience XOS_USE_XLIB_LOCKING or
+ * XOS_USE_XT_LOCKING may be defined to obtain either Xlib-only or
+ * Xt-based versions of these macros.  These macros won't result in
+ * truly thread-safe calls, but they are better than nothing.  If you
+ * do not want locking in this situation define XOS_USE_NO_LOCKING.
+ *
+ * NOTE: On systems lacking appropriate _r functions Gethostbyname(),
+ *     Gethostbyaddr(), and Getservbyname() do NOT copy the host or
+ *     protocol lists!
+ *
+ * NOTE: On systems lacking appropriate _r functions Getgrgid() and
+ *     Getgrnam() do NOT copy the list of group members!
+ *
+ * This header is nominally intended to simplify porting X11, Motif, and
+ * CDE; it may be useful to other people too.  The structure below is
+ * complicated, mostly because P1003.1c (the IEEE POSIX Threads spec)
+ * went through lots of drafts, and some vendors shipped systems based
+ * on draft API that were changed later.  Unfortunately POSIX did not
+ * provide a feature-test macro for distinguishing each of the drafts.
+ */
+
+/*
+ * This header has several parts.  Search for "Effective prototypes"
+ * to locate the beginning of a section.
+ */
+
+/* This header can be included multiple times with different defines! */
+#ifndef _XOS_R_H_
+# define _XOS_R_H_
+
+# include <X11/Xos.h>
+# include <X11/Xfuncs.h>
+
+# ifndef X_NOT_POSIX
+#  ifdef _POSIX_SOURCE
+#   include <limits.h>
+#  else
+#   define _POSIX_SOURCE
+#   include <limits.h>
+#   undef _POSIX_SOURCE
+#  endif
+#  ifndef LINE_MAX
+#   define X_LINE_MAX 2048
+#  else
+#   define X_LINE_MAX LINE_MAX
+#  endif
+# endif
+#endif /* _XOS_R_H */
+
+#ifndef WIN32
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+# if defined(XOS_USE_XLIB_LOCKING)
+#  ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+typedef struct _LockInfoRec *LockInfoPtr;
+extern LockInfoPtr _Xglobal_lock;
+#  endif
+#  ifndef _Xos_isThreadInitialized
+#   define _Xos_isThreadInitialized    (_Xglobal_lock)
+#  endif
+#  if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+#   ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+#    include <X11/Xfuncproto.h>        /* for NeedFunctionPrototypes */
+extern void (*_XLockMutex_fn)(
+#    if NeedFunctionPrototypes
+    LockInfoPtr        /* lock */, char * /* file */, int /* line */
+#    endif
+);
+extern void (*_XUnlockMutex_fn)(
+#    if NeedFunctionPrototypes
+    LockInfoPtr        /* lock */, char * /* file */, int /* line */
+#    endif
+);
+#   endif
+#   ifndef _Xos_processLock
+#    define _Xos_processLock   \
+  (_XLockMutex_fn ? (*_XLockMutex_fn)(_Xglobal_lock,__FILE__,__LINE__) : 0)
+#   endif
+#   ifndef _Xos_processUnlock
+#    define _Xos_processUnlock \
+  (_XUnlockMutex_fn ? (*_XUnlockMutex_fn)(_Xglobal_lock,__FILE__,__LINE__) : 0)
+#   endif
+#  else
+#   ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+#    include <X11/Xfuncproto.h>        /* for NeedFunctionPrototypes */
+extern void (*_XLockMutex_fn)(
+#    if NeedFunctionPrototypes
+    LockInfoPtr        /* lock */
+#    endif
+);
+extern void (*_XUnlockMutex_fn)(
+#    if NeedFunctionPrototypes
+    LockInfoPtr        /* lock */
+#    endif
+);
+#   endif
+#   ifndef _Xos_processLock
+#    define _Xos_processLock   \
+  (_XLockMutex_fn ? ((*_XLockMutex_fn)(_Xglobal_lock), 0) : 0)
+#   endif
+#   ifndef _Xos_processUnlock
+#    define _Xos_processUnlock \
+  (_XUnlockMutex_fn ? ((*_XUnlockMutex_fn)(_Xglobal_lock), 0) : 0)
+#   endif
+#  endif
+# elif defined(XOS_USE_XT_LOCKING)
+#  ifndef _XtThreadsI_h
+extern void (*_XtProcessLock)(void);
+#  endif
+#  ifndef _XtintrinsicP_h
+#   include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */
+extern void XtProcessLock(
+#   if NeedFunctionPrototypes
+    void
+#   endif
+);
+extern void XtProcessUnlock(
+#   if NeedFunctionPrototypes
+    void
+#   endif
+);
+#  endif
+#  ifndef _Xos_isThreadInitialized
+#   define _Xos_isThreadInitialized    _XtProcessLock
+#  endif
+#  ifndef _Xos_processLock
+#   define _Xos_processLock            XtProcessLock()
+#  endif
+#  ifndef _Xos_processUnlock
+#   define _Xos_processUnlock          XtProcessUnlock()
+#  endif
+# elif defined(XOS_USE_NO_LOCKING)
+#  ifndef _Xos_isThreadInitialized
+#   define _Xos_isThreadInitialized    0
+#  endif
+#  ifndef _Xos_processLock
+#   define _Xos_processLock            0
+#  endif
+#  ifndef _Xos_processUnlock
+#   define _Xos_processUnlock          0
+#  endif
+# endif
+
+#endif /* !defined WIN32 */
+
+/*
+ * Solaris defines the POSIX thread-safe feature test macro, but
+ * uses the older SVR4 thread-safe functions unless the POSIX ones
+ * are specifically requested.  Fix the feature test macro.
+ */
+#if defined(sun) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && \
+       (_POSIX_C_SOURCE - 0 < 199506L) && !defined(_POSIX_PTHREAD_SEMANTICS)
+# undef _POSIX_THREAD_SAFE_FUNCTIONS
+#endif
+
+/*
+ * LynxOS 3.1 defines _POSIX_THREAD_SAFE_FUNCTIONS but
+ * getpwuid_r has different semantics than defined by POSIX
+ */
+#if defined(Lynx) && defined(_POSIX_THREAD_SAFE_FUNCTIONS)
+# undef _POSIX_THREAD_SAFE_FUNCTIONS
+#endif
+
+
+/***** <pwd.h> wrappers *****/
+
+/*
+ * Effective prototypes for <pwd.h> wrappers:
+ *
+ * #define X_INCLUDE_PWD_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetpwparams;
+ *
+ * struct passwd* _XGetpwnam(const char *name, _Xgetpwparams);
+ * struct passwd* _XGetpwuid(uid_t uid, _Xgetpwparams);
+ */
+
+#if defined(X_INCLUDE_PWD_H) && !defined(_XOS_INCLUDED_PWD_H)
+# include <pwd.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_PWDAPI)
+#  define XOS_USE_MTSAFE_PWDAPI 1
+# endif
+#endif
+
+#undef X_NEEDS_PWPARAMS
+#if !defined(X_INCLUDE_PWD_H) || defined(_XOS_INCLUDED_PWD_H)
+/* Do nothing */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+# if defined(X_NOT_POSIX) && !defined(i386) && !defined(SYSV)
+extern struct passwd *getpwuid(), *getpwnam();
+# endif
+typedef int _Xgetpwparams;     /* dummy */
+# define _XGetpwuid(u,p)       getpwuid((u))
+# define _XGetpwnam(u,p)       getpwnam((u))
+
+#elif !defined(XOS_USE_MTSAFE_PWDAPI) || defined(XNO_MTSAFE_PWDAPI)
+/* UnixWare 2.0, or other systems with thread support but no _r API. */
+# define X_NEEDS_PWPARAMS
+typedef struct {
+  struct passwd pws;
+  char   pwbuf[1024];
+  struct passwd* pwp;
+  size_t len;
+} _Xgetpwparams;
+
+/*
+ * NetBSD and FreeBSD, at least, are missing several of the unixware passwd
+ * fields.
+ */
+
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+    defined(__APPLE__) || defined(__DragonFly__)
+static __inline__ void _Xpw_copyPasswd(_Xgetpwparams p)
+{
+   memcpy(&(p).pws, (p).pwp, sizeof(struct passwd));
+
+   (p).pws.pw_name = (p).pwbuf;
+   (p).len = strlen((p).pwp->pw_name);
+   strcpy((p).pws.pw_name, (p).pwp->pw_name);
+
+   (p).pws.pw_passwd = (p).pws.pw_name + (p).len + 1;
+   (p).len = strlen((p).pwp->pw_passwd);
+   strcpy((p).pws.pw_passwd,(p).pwp->pw_passwd);
+
+   (p).pws.pw_class = (p).pws.pw_passwd + (p).len + 1;
+   (p).len = strlen((p).pwp->pw_class);
+   strcpy((p).pws.pw_class, (p).pwp->pw_class);
+
+   (p).pws.pw_gecos = (p).pws.pw_class + (p).len + 1;
+   (p).len = strlen((p).pwp->pw_gecos);
+   strcpy((p).pws.pw_gecos, (p).pwp->pw_gecos);
+
+   (p).pws.pw_dir = (p).pws.pw_gecos + (p).len + 1;
+   (p).len = strlen((p).pwp->pw_dir);
+   strcpy((p).pws.pw_dir, (p).pwp->pw_dir);
+
+   (p).pws.pw_shell = (p).pws.pw_dir + (p).len + 1;
+   (p).len = strlen((p).pwp->pw_shell);
+   strcpy((p).pws.pw_shell, (p).pwp->pw_shell);
+
+   (p).pwp = &(p).pws;
+}
+
+#else
+# define _Xpw_copyPasswd(p) \
+   (memcpy(&(p).pws, (p).pwp, sizeof(struct passwd)), \
+    ((p).pws.pw_name = (p).pwbuf), \
+    ((p).len = strlen((p).pwp->pw_name)), \
+    strcpy((p).pws.pw_name, (p).pwp->pw_name), \
+    ((p).pws.pw_passwd = (p).pws.pw_name + (p).len + 1), \
+    ((p).len = strlen((p).pwp->pw_passwd)), \
+    strcpy((p).pws.pw_passwd,(p).pwp->pw_passwd), \
+    ((p).pws.pw_age = (p).pws.pw_passwd + (p).len + 1), \
+    ((p).len = strlen((p).pwp->pw_age)), \
+    strcpy((p).pws.pw_age, (p).pwp->pw_age), \
+    ((p).pws.pw_comment = (p).pws.pw_age + (p).len + 1), \
+    ((p).len = strlen((p).pwp->pw_comment)), \
+    strcpy((p).pws.pw_comment, (p).pwp->pw_comment), \
+    ((p).pws.pw_gecos = (p).pws.pw_comment + (p).len + 1), \
+    ((p).len = strlen((p).pwp->pw_gecos)), \
+    strcpy((p).pws.pw_gecos, (p).pwp->pw_gecos), \
+    ((p).pws.pw_dir = (p).pws.pw_comment + (p).len + 1), \
+    ((p).len = strlen((p).pwp->pw_dir)), \
+    strcpy((p).pws.pw_dir, (p).pwp->pw_dir), \
+    ((p).pws.pw_shell = (p).pws.pw_dir + (p).len + 1), \
+    ((p).len = strlen((p).pwp->pw_shell)), \
+    strcpy((p).pws.pw_shell, (p).pwp->pw_shell), \
+    ((p).pwp = &(p).pws), \
+    0 )
+#endif
+# define _XGetpwuid(u,p) \
+( (_Xos_processLock), \
+  (((p).pwp = getpwuid((u))) ? _Xpw_copyPasswd(p), 0 : 0), \
+  (_Xos_processUnlock), \
+  (p).pwp )
+# define _XGetpwnam(u,p) \
+( (_Xos_processLock), \
+  (((p).pwp = getpwnam((u))) ? _Xpw_copyPasswd(p), 0 : 0), \
+  (_Xos_processUnlock), \
+  (p).pwp )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(__APPLE__)
+/* SVR4 threads, AIX 4.2.0 and earlier and OSF/1 3.2 and earlier pthreads */
+# define X_NEEDS_PWPARAMS
+typedef struct {
+  struct passwd pws;
+  char pwbuf[X_LINE_MAX];
+} _Xgetpwparams;
+# if defined(_POSIX_REENTRANT_FUNCTIONS) || !defined(SVR4) || defined(Lynx)
+#  ifndef Lynx
+#   define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+#   define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+#  else /* Lynx */
+#   define _XGetpwuid(u,p) \
+((getpwuid_r(&(p).pws,(u),(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+#   define _XGetpwnam(u,p) \
+((getpwnam_r(&(p).pws,(u),(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+#  endif
+# else /* SVR4 */
+#  define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == NULL) ? NULL : &(p).pws)
+#  define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == NULL) ? NULL : &(p).pws)
+# endif /* SVR4 */
+
+#else /* _POSIX_THREAD_SAFE_FUNCTIONS */
+/* Digital UNIX 4.0, but not (beta) T4.0-1 */
+# if defined(__osf__)
+/* OSF/1 V4.0 <pwd.h> doesn't declare the _P routines, breaking under C++. */
+extern int _Pgetpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **);
+extern int _Pgetpwnam_r(const char *, struct passwd *, char *, size_t, struct passwd **);
+# endif
+# define X_NEEDS_PWPARAMS
+typedef struct {
+  struct passwd pws;
+  char pwbuf[X_LINE_MAX];
+  struct passwd* pwp;
+} _Xgetpwparams;
+typedef int _Xgetpwret;
+# define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf),&(p).pwp) == 0) ? \
+ (p).pwp : NULL)
+# define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf),&(p).pwp) == 0) ? \
+ (p).pwp : NULL)
+#endif /* X_INCLUDE_PWD_H */
+
+#if defined(X_INCLUDE_PWD_H) && !defined(_XOS_INCLUDED_PWD_H)
+# define _XOS_INCLUDED_PWD_H
+#endif
+
+
+/***** <netdb.h> wrappers *****/
+
+/*
+ * Effective prototypes for <netdb.h> wrappers:
+ *
+ * NOTE: On systems lacking the appropriate _r functions Gethostbyname(),
+ *     Gethostbyaddr(), and Getservbyname() do NOT copy the host or
+ *     protocol lists!
+ *
+ * #define X_INCLUDE_NETDB_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgethostbynameparams;
+ * typedef ... _Xgetservbynameparams;
+ *
+ * struct hostent* _XGethostbyname(const char* name,_Xgethostbynameparams);
+ * struct hostent* _XGethostbyaddr(const char* addr, int len, int type,
+ *                                _Xgethostbynameparams);
+ * struct servent* _XGetservbyname(const char* name, const char* proto,
+ *                              _Xgetservbynameparams);
+ */
+
+#undef XTHREADS_NEEDS_BYNAMEPARAMS
+#if defined(X_INCLUDE_NETDB_H) && !defined(_XOS_INCLUDED_NETDB_H) \
+    && !defined(WIN32)
+# include <netdb.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_NETDBAPI)
+#  define XOS_USE_MTSAFE_NETDBAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_NETDB_H) || defined(_XOS_INCLUDED_NETDB_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgethostbynameparams; /* dummy */
+typedef int _Xgetservbynameparams; /* dummy */
+# define _XGethostbyname(h,hp)         gethostbyname((h))
+# define _XGethostbyaddr(a,al,t,hp)    gethostbyaddr((a),(al),(t))
+# define _XGetservbyname(s,p,sp)       getservbyname((s),(p))
+
+#elif !defined(XOS_USE_MTSAFE_NETDBAPI) || defined(XNO_MTSAFE_NETDBAPI)
+/* UnixWare 2.0, or other systems with thread support but no _r API. */
+/* WARNING:  The h_addr_list and s_aliases values are *not* copied! */
+
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
+#include <sys/param.h>
+#endif
+
+typedef struct {
+  struct hostent hent;
+  char           h_name[MAXHOSTNAMELEN];
+  struct hostent *hptr;
+} _Xgethostbynameparams;
+typedef struct {
+  struct servent sent;
+  char           s_name[255];
+  char          s_proto[255];
+  struct servent *sptr;
+} _Xgetservbynameparams;
+
+# define XTHREADS_NEEDS_BYNAMEPARAMS
+
+# define _Xg_copyHostent(hp) \
+   (memcpy(&(hp).hent, (hp).hptr, sizeof(struct hostent)), \
+    strcpy((hp).h_name, (hp).hptr->h_name), \
+    ((hp).hent.h_name = (hp).h_name), \
+    ((hp).hptr = &(hp).hent), \
+     0 )
+# define _Xg_copyServent(sp) \
+   (memcpy(&(sp).sent, (sp).sptr, sizeof(struct servent)), \
+    strcpy((sp).s_name, (sp).sptr->s_name), \
+    ((sp).sent.s_name = (sp).s_name), \
+    strcpy((sp).s_proto, (sp).sptr->s_proto), \
+    ((sp).sent.s_proto = (sp).s_proto), \
+    ((sp).sptr = &(sp).sent), \
+    0 )
+# define _XGethostbyname(h,hp) \
+   ((_Xos_processLock), \
+    (((hp).hptr = gethostbyname((h))) ? _Xg_copyHostent(hp) : 0), \
+    (_Xos_processUnlock), \
+    (hp).hptr )
+# define _XGethostbyaddr(a,al,t,hp) \
+   ((_Xos_processLock), \
+    (((hp).hptr = gethostbyaddr((a),(al),(t))) ? _Xg_copyHostent(hp) : 0), \
+    (_Xos_processUnlock), \
+    (hp).hptr )
+# define _XGetservbyname(s,p,sp) \
+   ((_Xos_processLock), \
+    (((sp).sptr = getservbyname((s),(p))) ? _Xg_copyServent(sp) : 0), \
+    (_Xos_processUnlock), \
+    (sp).sptr )
+
+#elif defined(XUSE_NETDB_R_API)
+/*
+ * POSIX does not specify _r equivalents for <netdb.h> API, but some
+ * vendors provide them anyway.  Use them only when explicitly asked.
+ */
+# ifdef _POSIX_REENTRANT_FUNCTIONS
+#  ifndef _POSIX_THREAD_SAFE_FUNCTIONS
+#   if defined(AIXV3) || defined(AIXV4) || defined(__osf__)
+#    define X_POSIX_THREAD_SAFE_FUNCTIONS 1
+#   endif
+#  endif
+# endif
+# ifdef _POSIX_THREAD_SAFE_FUNCTIONS
+#  define X_POSIX_THREAD_SAFE_FUNCTIONS 1
+# endif
+
+# define XTHREADS_NEEDS_BYNAMEPARAMS
+
+# ifndef X_POSIX_THREAD_SAFE_FUNCTIONS
+typedef struct {
+    struct hostent      hent;
+    char                hbuf[X_LINE_MAX];
+    int                 herr;
+} _Xgethostbynameparams;
+typedef struct {
+    struct servent      sent;
+    char                sbuf[X_LINE_MAX];
+} _Xgetservbynameparams;
+#  define _XGethostbyname(h,hp) \
+  gethostbyname_r((h),&(hp).hent,(hp).hbuf,sizeof((hp).hbuf),&(hp).herr)
+#  define _XGethostbyaddr(a,al,t,hp) \
+  gethostbyaddr_r((a),(al),(t),&(hp).hent,(hp).hbuf,sizeof((hp).hbuf),&(hp).herr)
+#  define _XGetservbyname(s,p,sp) \
+  getservbyname_r((s),(p),&(sp).sent,(sp).sbuf,sizeof((sp).sbuf))
+# else
+typedef struct {
+  struct hostent      hent;
+  struct hostent_data hdata;
+} _Xgethostbynameparams;
+typedef struct {
+  struct servent      sent;
+  struct servent_data sdata;
+} _Xgetservbynameparams;
+#  define _XGethostbyname(h,hp) \
+  (bzero((char*)&(hp).hdata,sizeof((hp).hdata)),       \
+   ((gethostbyname_r((h),&(hp).hent,&(hp).hdata) == -1) ? NULL : &(hp).hent))
+#  define _XGethostbyaddr(a,al,t,hp) \
+  (bzero((char*)&(hp).hdata,sizeof((hp).hdata)),       \
+   ((gethostbyaddr_r((a),(al),(t),&(hp).hent,&(hp).hdata) == -1) ? NULL : &(hp).hent))
+#  define _XGetservbyname(s,p,sp) \
+  (bzero((char*)&(sp).sdata,sizeof((sp).sdata)),       \
+   ((getservbyname_r((s),(p),&(sp).sent,&(sp).sdata) == -1) ? NULL : &(sp).sent) )
+# endif
+# ifdef X_POSIX_THREAD_SAFE_FUNCTIONS
+#  undef X_POSIX_THREAD_SAFE_FUNCTIONS
+# endif
+
+#else
+/* The regular API is assumed to be MT-safe under POSIX. */
+typedef int _Xgethostbynameparams; /* dummy */
+typedef int _Xgetservbynameparams; /* dummy */
+# define _XGethostbyname(h,hp)         gethostbyname((h))
+# define _XGethostbyaddr(a,al,t,hp)    gethostbyaddr((a),(al),(t))
+# define _XGetservbyname(s,p,sp)       getservbyname((s),(p))
+#endif /* X_INCLUDE_NETDB_H */
+
+#if defined(X_INCLUDE_NETDB_H) && !defined(_XOS_INCLUDED_NETDB_H)
+# define _XOS_INCLUDED_NETDB_H
+#endif
+
+
+/***** <dirent.h> wrappers *****/
+
+/*
+ * Effective prototypes for <dirent.h> wrappers:
+ *
+ * #define X_INCLUDE_DIRENT_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xreaddirparams;
+ *
+ * struct dirent *_XReaddir(DIR *dir_pointer, _Xreaddirparams);
+ */
+
+#if defined(X_INCLUDE_DIRENT_H) && !defined(_XOS_INCLUDED_DIRENT_H)
+# include <sys/types.h>
+# if !defined(X_NOT_POSIX) || defined(SYSV) || defined(USG)
+#  include <dirent.h>
+# else
+#  include <sys/dir.h>
+#  ifndef dirent
+#   define dirent direct
+#  endif
+# endif
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_DIRENTAPI)
+#  define XOS_USE_MTSAFE_DIRENTAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_DIRENT_H) || defined(_XOS_INCLUDED_DIRENT_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xreaddirparams;   /* dummy */
+# define _XReaddir(d,p)        readdir(d)
+
+#elif !defined(XOS_USE_MTSAFE_DIRENTAPI) || defined(XNO_MTSAFE_DIRENTAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+  struct dirent *result;
+  struct dirent dir_entry;
+# ifdef _POSIX_PATH_MAX
+  char buf[_POSIX_PATH_MAX];
+# elif defined(NAME_MAX)
+  char buf[NAME_MAX];
+# else
+  char buf[255];
+# endif
+} _Xreaddirparams;
+
+# define _XReaddir(d,p)        \
+ ( (_Xos_processLock),                                          \
+   (((p).result = readdir((d))) ?                               \
+    (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \
+     ((p).result = &(p).dir_entry), 0) :                        \
+    0),                                                                 \
+   (_Xos_processUnlock),                                        \
+   (p).result )
+
+#else
+typedef struct {
+  struct dirent *result;
+  struct dirent dir_entry;
+# ifdef _POSIX_PATH_MAX
+  char buf[_POSIX_PATH_MAX];
+# elif defined(NAME_MAX)
+  char buf[NAME_MAX];
+# else
+  char buf[255];
+# endif
+} _Xreaddirparams;
+
+# if defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(AIXV3) || \
+     defined(AIXV4) || defined(__APPLE__)
+/* AIX defines the draft POSIX symbol, but uses the final API. */
+/* POSIX final API, returns (int)0 on success. */
+#  if defined(__osf__)
+/* OSF/1 V4.0 <dirent.h> doesn't declare _Preaddir_r, breaking under C++. */
+extern int _Preaddir_r(DIR *, struct dirent *, struct dirent **);
+#  endif
+#  define _XReaddir(d,p)                                               \
+    (readdir_r((d), &((p).dir_entry), &((p).result)) ? NULL : (p).result)
+# elif defined(_POSIX_REENTRANT_FUNCTIONS) && defined(__osf__)
+/*
+ * OSF/1 V3.2 readdir_r() will SEGV if the main program is not
+ * explicitly linked with -lc_r.  The library REQUIREDLIBS don't help.
+ * Assume that if threads have been initialized we're linked properly.
+ */
+#  define _XReaddir(d,p)                                               \
+ ( (_Xos_isThreadInitialized) ?                                                \
+   (readdir_r((d), &((p).dir_entry)) ? NULL : &((p).dir_entry)) :      \
+   ((_Xos_processLock),                                                        \
+    (((p).result = readdir((d))) ?                                     \
+     (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen),      \
+      ((p).result = &(p).dir_entry), 0) :                              \
+     0),                                                               \
+    (_Xos_processUnlock),                                              \
+    (p).result) )
+# elif defined(_POSIX_REENTRANT_FUNCTIONS)
+/* POSIX draft API, returns (int)0 on success. */
+#  define _XReaddir(d,p)       \
+    (readdir_r((d),&((p).dir_entry)) ? NULL : &((p).dir_entry))
+# elif defined(SVR4)
+/* Pre-POSIX API, returns non-NULL on success. */
+#  define _XReaddir(d,p)       (readdir_r((d), &(p).dir_entry))
+# else
+/* We have no idea what is going on.  Fake it all using process locks. */
+#  define _XReaddir(d,p)       \
+    ( (_Xos_processLock),                                              \
+      (((p).result = readdir((d))) ?                                   \
+       (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen),    \
+       ((p).result = &(p).dir_entry), 0) :                             \
+       0),                                                             \
+      (_Xos_processUnlock),                                            \
+      (p).result )
+# endif
+#endif /* X_INCLUDE_DIRENT_H */
+
+#if defined(X_INCLUDE_DIRENT_H) && !defined(_XOS_INCLUDED_DIRENT_H)
+# define _XOS_INCLUDED_DIRENT_H
+#endif
+
+
+/***** <unistd.h> wrappers *****/
+
+/*
+ * Effective prototypes for <unistd.h> wrappers:
+ *
+ * #define X_INCLUDE_UNISTD_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetloginparams;
+ * typedef ... _Xttynameparams;
+ *
+ * char *_XGetlogin(_Xgetloginparams);
+ * char *_XTtyname(int, _Xttynameparams);
+ */
+
+#if defined(X_INCLUDE_UNISTD_H) && !defined(_XOS_INCLUDED_UNISTD_H)
+/* <unistd.h> already included by <X11/Xos.h> */
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_UNISTDAPI)
+#  define XOS_USE_MTSAFE_UNISTDAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_UNISTD_H) || defined(_XOS_INCLUDED_UNISTD_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgetloginparams;  /* dummy */
+typedef int _Xttynameparams;   /* dummy */
+# define _XGetlogin(p) getlogin()
+# define _XTtyname(f)  ttyname((f))
+
+#elif !defined(XOS_USE_MTSAFE_UNISTDAPI) || defined(XNO_MTSAFE_UNISTDAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+  char *result;
+# if defined(MAXLOGNAME)
+  char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+  char buf[LOGIN_NAME_MAX];
+# else
+  char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+  char *result;
+# ifdef TTY_NAME_MAX
+  char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+  char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+  char buf[_POSIX_PATH_MAX];
+# else
+  char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) \
+ ( (_Xos_processLock), \
+   (((p).result = getlogin()) ? \
+    (strncpy((p).buf, (p).result, sizeof((p).buf)), \
+     ((p).buf[sizeof((p).buf)-1] = '\0'), \
+     ((p).result = (p).buf), 0) : 0), \
+   (_Xos_processUnlock), \
+   (p).result )
+#define _XTtyname(f,p) \
+ ( (_Xos_processLock), \
+   (((p).result = ttyname(f)) ? \
+    (strncpy((p).buf, (p).result, sizeof((p).buf)), \
+     ((p).buf[sizeof((p).buf)-1] = '\0'), \
+     ((p).result = (p).buf), 0) : 0), \
+   (_Xos_processUnlock), \
+   (p).result )
+
+#elif defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(_POSIX_REENTRANT_FUNCTIONS)
+/* POSIX API.
+ *
+ * extern int getlogin_r(char *, size_t);
+ * extern int ttyname_r(int, char *, size_t);
+ */
+typedef struct {
+# if defined(MAXLOGNAME)
+  char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+  char buf[LOGIN_NAME_MAX];
+# else
+  char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+# ifdef TTY_NAME_MAX
+  char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+  char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+  char buf[_POSIX_PATH_MAX];
+# else
+  char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) (getlogin_r((p).buf, sizeof((p).buf)) ? NULL : (p).buf)
+# define _XTtyname(f,p)        \
+       (ttyname_r((f), (p).buf, sizeof((p).buf)) ? NULL : (p).buf)
+
+#else
+/* Pre-POSIX API.
+ *
+ * extern char *getlogin_r(char *, size_t);
+ * extern char *ttyname_r(int, char *, size_t);
+ */
+typedef struct {
+# if defined(MAXLOGNAME)
+  char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+  char buf[LOGIN_NAME_MAX];
+# else
+  char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+# ifdef TTY_NAME_MAX
+  char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+  char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+  char buf[_POSIX_PATH_MAX];
+# else
+  char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) getlogin_r((p).buf, sizeof((p).buf))
+# define _XTtyname(f,p)        ttyname_r((f), (p).buf, sizeof((p).buf))
+#endif /* X_INCLUDE_UNISTD_H */
+
+#if defined(X_INCLUDE_UNISTD_H) && !defined(_XOS_INCLUDED_UNISTD_H)
+# define _XOS_INCLUDED_UNISTD_H
+#endif
+
+
+/***** <string.h> wrappers *****/
+
+/*
+ * Effective prototypes for <string.h> wrappers:
+ *
+ * #define X_INCLUDE_STRING_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xstrtokparams;
+ *
+ * char *_XStrtok(char *, const char*, _Xstrtokparams);
+ */
+
+#if defined(X_INCLUDE_STRING_H) && !defined(_XOS_INCLUDED_STRING_H)
+/* <string.h> has already been included by <X11/Xos.h> */
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_STRINGAPI)
+#  define XOS_USE_MTSAFE_STRINGAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_STRING_H) || defined(_XOS_INCLUDED_STRING_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xstrtokparams;    /* dummy */
+# define _XStrtok(s1,s2,p) \
+ ( p = 0, (void)p, strtok((s1),(s2)) )
+
+#elif !defined(XOS_USE_MTSAFE_STRINGAPI) || defined(XNO_MTSAFE_STRINGAPI)
+/* Systems with thread support but no _r API. */
+typedef char *_Xstrtokparams;
+# define _XStrtok(s1,s2,p) \
+ ( (_Xos_processLock), \
+   ((p) = strtok((s1),(s2))), \
+   (_Xos_processUnlock), \
+   (p) )
+
+#else
+/* POSIX or pre-POSIX API. */
+typedef char * _Xstrtokparams;
+# define _XStrtok(s1,s2,p)     strtok_r((s1),(s2),&(p))
+#endif /* X_INCLUDE_STRING_H */
+
+
+/***** <time.h> wrappers *****/
+
+/*
+ * Effective prototypes for <time.h> wrappers:
+ *
+ * #define X_INCLUDE_TIME_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xatimeparams;
+ * typedef ... _Xctimeparams;
+ * typedef ... _Xgtimeparams;
+ * typedef ... _Xltimeparams;
+ *
+ * char *_XAsctime(const struct tm *, _Xatimeparams);
+ * char *_XCtime(const time_t *, _Xctimeparams);
+ * struct tm *_XGmtime(const time_t *, _Xgtimeparams);
+ * struct tm *_XLocaltime(const time_t *, _Xltimeparams);
+ */
+
+#if defined(X_INCLUDE_TIME_H) && !defined(_XOS_INCLUDED_TIME_H)
+# include <time.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_TIMEAPI)
+#  define XOS_USE_MTSAFE_TIMEAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_TIME_H) || defined(_XOS_INCLUDED_TIME_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xatimeparams;     /* dummy */
+# define _XAsctime(t,p)                asctime((t))
+typedef int _Xctimeparams;     /* dummy */
+# define _XCtime(t,p)          ctime((t))
+typedef int _Xgtimeparams;     /* dummy */
+# define _XGmtime(t,p)         gmtime((t))
+typedef int _Xltimeparams;     /* dummy */
+# define _XLocaltime(t,p)      localtime((t))
+
+#elif !defined(XOS_USE_MTSAFE_TIMEAPI) || defined(XNO_MTSAFE_TIMEAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+# ifdef TIMELEN
+  char buf[TIMELEN];
+# else
+  char buf[26];
+# endif
+  char *result;
+} _Xctimeparams, _Xatimeparams;
+typedef struct {
+  struct tm buf;
+  struct tm *result;
+} _Xgtimeparams, _Xltimeparams;
+# define _XAsctime(t,p) \
+ ( (_Xos_processLock), \
+   (((p).result = asctime((t))) ? \
+    (strncpy((p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+    0), \
+   (_Xos_processUnlock), \
+   (p).result )
+# define _XCtime(t,p) \
+ ( (_Xos_processLock), \
+   (((p).result = ctime((t))) ? \
+    (strncpy((p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+    0), \
+   (_Xos_processUnlock), \
+   (p).result )
+# define _XGmtime(t,p) \
+ ( (_Xos_processLock), \
+   (((p).result = gmtime(t)) ? \
+    (memcpy(&(p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+    0), \
+   (_Xos_processUnlock), \
+   (p).result )
+# define _XLocaltime(t,p) \
+ ( (_Xos_processLock), \
+   (((p).result = localtime(t)) ? \
+    (memcpy(&(p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+    0), \
+   (_Xos_processUnlock), \
+   (p).result )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && (defined(__osf__) || defined(hpV4))
+/* Returns (int)0 on success.  OSF/1 v3.2, HP/UX 10
+ *
+ * extern int asctime_r(const struct tm *timeptr, char *buffer, int buflen);
+ * extern int ctime_r(const time_t *timer, char *buffer, int buflen);
+ * extern int gmtime_r(const time_t *timer, struct tm *result);
+ * extern int localtime_r(const time_t *timer, struct tm *result);
+ */
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p)                (asctime_r((t),(p),sizeof((p))) ? NULL : (p))
+# define _XCtime(t,p)          (ctime_r((t),(p),sizeof((p))) ? NULL : (p))
+# define _XGmtime(t,p)         (gmtime_r((t),&(p)) ? NULL : &(p))
+# define _XLocaltime(t,p)      (localtime_r((t),&(p)) ? NULL : &(p))
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(sun)
+/* Returns NULL on failure.  Solaris 2.5
+ *
+ * extern char *asctime_r(const struct tm *tm,char *buf, int buflen);
+ * extern char *ctime_r(const time_t *clock, char *buf, int buflen);
+ * extern struct tm *gmtime_r(const time_t *clock, struct tm *res);
+ * extern struct tm *localtime_r(const time_t *clock, struct tm *res);
+ */
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p)                asctime_r((t),(p),sizeof((p)))
+# define _XCtime(t,p)          ctime_r((t),(p),sizeof((p)))
+# define _XGmtime(t,p)         gmtime_r((t),&(p))
+# define _XLocaltime(t,p)      localtime_r((t),&(p))
+
+#else /* defined(_POSIX_THREAD_SAFE_FUNCTIONS) */
+/* POSIX final API.  OSF/1 v4.0, AIX, etc.
+ *
+ * extern char *asctime_r(const struct tm *timeptr, char *buffer);
+ * extern char *ctime_r(const time_t *timer, char *buffer);
+ * extern struct tm *gmtime_r(const time_t *timer, struct tm *result);
+ * extern struct tm *localtime_r(const time_t *timer, struct tm *result);
+ */
+# if defined(__osf__)
+/* OSF/1 V4.0 <time.h> doesn't declare the _P routines, breaking under C++. */
+extern char *_Pasctime_r(const struct tm *, char *);
+extern char *_Pctime_r(const time_t *, char *);
+extern struct tm *_Plocaltime_r(const time_t *, struct tm *);
+# endif
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p)                asctime_r((t),(p))
+# define _XCtime(t,p)          ctime_r((t),(p))
+# define _XGmtime(t,p)         gmtime_r((t),&(p))
+# define _XLocaltime(t,p)      localtime_r((t),&(p))
+#endif /* X_INCLUDE_TIME_H */
+
+#if defined(X_INCLUDE_TIME_H) && !defined(_XOS_INCLUDED_TIME_H)
+# define _XOS_INCLUDED_TIME_H
+#endif
+
+
+/***** <grp.h> wrappers *****/
+
+/*
+ * Effective prototypes for <grp.h> wrappers:
+ *
+ * NOTE: On systems lacking appropriate _r functions Getgrgid() and
+ *     Getgrnam() do NOT copy the list of group members!
+ *
+ * Remember that fgetgrent(), setgrent(), getgrent(), and endgrent()
+ * are not included in POSIX.
+ *
+ * #define X_INCLUDE_GRP_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetgrparams;
+ *
+ * struct group *_XGetgrgid(gid_t, _Xgetgrparams);
+ * struct group *_XGetgrnam(const char *, _Xgetgrparams);
+ */
+
+#if defined(X_INCLUDE_GRP_H) && !defined(_XOS_INCLUDED_GRP_H)
+# include <grp.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_GRPAPI)
+#  define XOS_USE_MTSAFE_GRPAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_GRP_H) || defined(_XOS_INCLUDED_GRP_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgetgrparams;     /* dummy */
+#define _XGetgrgid(g,p)        getgrgid((g))
+#define _XGetgrnam(n,p)        getgrnam((n))
+
+#elif !defined(XOS_USE_MTSAFE_GRPAPI) || defined(XNO_MTSAFE_GRPAPI)
+/* Systems with thread support but no _r API.  UnixWare 2.0. */
+typedef struct {
+  struct group grp;
+  char buf[X_LINE_MAX];        /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+  struct group *pgrp;
+  size_t len;
+} _Xgetgrparams;
+#ifdef SVR4
+/* Copy the gr_passwd field too. */
+# define _Xgrp_copyGroup(p) \
+ ( memcpy(&(p).grp, (p).pgrp, sizeof(struct group)), \
+   ((p).grp.gr_name = (p).buf), \
+   ((p).len = strlen((p).pgrp->gr_name)), \
+   strcpy((p).grp.gr_name, (p).pgrp->gr_name), \
+   ((p).grp.gr_passwd = (p).grp.gr_name + (p).len + 1), \
+   ((p).pgrp = &(p).grp), \
+   0 )
+#else
+# define _Xgrp_copyGroup(p) \
+ ( memcpy(&(p).grp, (p).pgrp, sizeof(struct group)), \
+   ((p).grp.gr_name = (p).buf), \
+   strcpy((p).grp.gr_name, (p).pgrp->gr_name), \
+   ((p).pgrp = &(p).grp), \
+   0 )
+#endif
+#define _XGetgrgid(g,p) \
+ ( (_Xos_processLock), \
+   (((p).pgrp = getgrgid((g))) ? _Xgrp_copyGroup(p) : 0), \
+   (_Xos_processUnlock), \
+   (p).pgrp )
+#define _XGetgrnam(n,p) \
+ ( (_Xos_processLock), \
+   (((p).pgrp = getgrnam((n))) ? _Xgrp_copyGroup(p) : 0), \
+   (_Xos_processUnlock), \
+   (p).pgrp )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && (defined(sun) || defined(__osf__))
+/* Non-POSIX API.  Solaris, DEC v3.2.
+ *
+ * extern struct group *getgrgid_r(gid_t, struct group *, char *, int);
+ * extern struct group *getgrnam_r(const char *, struct group *, char *, int);
+ */
+typedef struct {
+  struct group grp;
+  char buf[X_LINE_MAX];        /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+} _Xgetgrparams;
+#define _XGetgrgid(g,p)        getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf))
+#define _XGetgrnam(n,p)        getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf))
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS)
+/* Non-POSIX API.  HP/UX 10, AIX 4.
+ *
+ * extern int getgrgid_r(gid_t, struct group *, char *, int);
+ * extern int getgrnam_r(const char *, struct group *, char *, int);
+ */
+typedef struct {
+  struct group grp;
+  char buf[X_LINE_MAX];        /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+} _Xgetgrparams;
+#define _XGetgrgid(g,p)        \
+ ((getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf)) ? NULL : &(p).grp))
+#define _XGetgrnam(n,p)        \
+ ((getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf)) ? NULL : &(p).grp))
+
+#else
+/* POSIX final API.  DEC v4.0, IRIX 6.2.
+ *
+ * int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
+ * int getgrnam_r(const char *, struct group *, char *, size_t, struct group **);
+ */
+# if defined(__osf__)
+/* OSF/1 V4.0 <grp.h> doesn't declare the _P routines, breaking under C++. */
+extern int _Pgetgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
+extern int _Pgetgrnam_r(const char *, struct group *, char *, size_t, struct group **);
+# endif
+typedef struct {
+  struct group grp;
+  char buf[X_LINE_MAX];        /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+  struct group *result;
+} _Xgetgrparams;
+
+#define _XGetgrgid(g,p)        \
+ ((getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf), &(p).result) ? \
+   NULL : (p).result))
+#define _XGetgrnam(n,p)        \
+ ((getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf), &(p).result) ? \
+   NULL : (p).result))
+#endif
+
+#if defined(X_INCLUDE_GRP_H) && !defined(_XOS_INCLUDED_GRP_H)
+# define _XOS_INCLUDED_GRP_H
+#endif
+
+
+#ifdef __cplusplus
+}  /* Close scope of 'extern "C"' declaration which encloses file. */
+#endif
diff --git a/XOrg/headers/native/src/X11/Xosdefs.h b/XOrg/headers/native/src/X11/Xosdefs.h
new file mode 100644 (file)
index 0000000..d6c7682
--- /dev/null
@@ -0,0 +1,166 @@
+/*
+ * O/S-dependent (mis)feature macro definitions
+ *
+ * $XdotOrg: proto/X11/Xosdefs.h,v 1.7 2005/11/08 06:33:25 jkj Exp $
+ * $Xorg: Xosdefs.h,v 1.5 2001/02/09 02:03:23 xorgcvs Exp $
+ *
+Copyright 1991, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ */
+/* $XFree86: xc/include/Xosdefs.h,v 3.20 2002/05/31 18:45:39 dawes Exp $ */
+
+#ifndef _XOSDEFS_H_
+#define _XOSDEFS_H_
+
+/*
+ * X_NOT_STDC_ENV means does not have ANSI C header files.  Lack of this
+ * symbol does NOT mean that the system has stdarg.h.
+ *
+ * X_NOT_POSIX means does not have POSIX header files.  Lack of this
+ * symbol does NOT mean that the POSIX environment is the default.
+ * You may still have to define _POSIX_SOURCE to get it.
+ */
+
+#ifdef NOSTDHDRS
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+
+#ifdef sony
+#if !defined(SYSTYPE_SYSV) && !defined(_SYSTYPE_SYSV)
+#define X_NOT_POSIX
+#endif
+#endif
+
+#ifdef UTEK
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+
+#ifdef vax
+#ifndef ultrix                 /* assume vanilla BSD */
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+#endif
+
+#ifdef luna
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+
+#ifdef Mips
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+  
+#ifdef USL
+#ifdef SYSV /* (release 3.2) */
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+#endif
+
+#ifdef _SCO_DS
+#ifndef __SCO__
+#define __SCO__
+#endif
+#endif
+
+#ifdef i386
+#ifdef SYSV
+#if !defined(ISC) && !defined(__SCO__) && !defined(_SEQUENT_) && \
+       !defined(__UNIXWARE__) && !defined(sun)
+#if !defined(_POSIX_SOURCE)
+#define X_NOT_POSIX
+#endif
+#define X_NOT_STDC_ENV
+#endif
+#endif
+#endif
+
+#ifdef MOTOROLA
+#ifdef SYSV
+#define X_NOT_STDC_ENV
+#endif
+#endif
+
+#ifdef sun
+/* Imake configs define SVR4 on Solaris, but cc & gcc only define __SVR4
+ * This check allows non-Imake configured programs to build correctly.
+ */
+#if defined(__SVR4) && !defined(SVR4)
+#define SVR4 1
+#endif
+#ifdef SVR4
+/* define this to whatever it needs to be */
+#define X_POSIX_C_SOURCE 199300L
+#endif
+#endif
+
+#ifdef WIN32
+#ifndef _POSIX_
+#define X_NOT_POSIX
+#endif
+#endif
+
+#if defined(nec_ews_svr2) || defined(SX) || defined(PC_UX)
+#define X_NOT_POSIX
+#define X_NOT_STDC_ENV
+#endif
+
+#ifdef __UNIXOS2__
+#define USGISH
+#define NULL_NOT_ZERO
+#endif
+
+#ifdef __DARWIN__
+#define NULL_NOT_ZERO
+#endif
+
+#ifdef __GNU__
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 4096
+#endif
+#endif
+
+#if defined(__SCO__) || defined(__UNIXWARE__)
+# ifndef PATH_MAX
+#  define PATH_MAX     1024
+# endif
+# ifndef MAXPATHLEN
+#  define MAXPATHLEN   1024
+# endif
+#endif
+
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) \
+       || defined(__Darwin__) || defined(__DragonFly__)
+# ifndef CSRG_BASED
+#  define CSRG_BASED
+# endif
+#endif
+
+#endif /* _XOSDEFS_H_ */
+
diff --git a/XOrg/headers/native/src/X11/Xpoll.h b/XOrg/headers/native/src/X11/Xpoll.h
new file mode 100644 (file)
index 0000000..e483c21
--- /dev/null
@@ -0,0 +1,255 @@
+/* $Xorg: Xpoll.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $ */
+
+/*
+
+Copyright 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+/*
+ * Copyright Â© 2005 Daniel Stone
+ * 
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Daniel Stone not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission.  Daniel Stone makes no representations about the
+ * suitability of this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ *
+ * DANIEL STONE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ * DANIEL STONE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+/* $XFree86: xc/include/Xpoll.h,v 3.8 2001/01/17 17:53:11 dawes Exp $ */
+
+#ifndef _XPOLL_H_
+#define _XPOLL_H_
+
+#ifndef WIN32
+
+#ifndef USE_POLL
+
+#include <X11/Xos.h>
+
+/* Below is the monster branch from hell.  Basically, most systems will drop to
+ * 'the branch below is the fallthrough for halfway modern systems', and include
+ * <sys/select.h>, so we get the FD_* macros. */
+#if !defined(DGUX)
+# if (defined(SVR4) || defined(CRAY) || defined(AIXV3)) && !defined(FD_SETSIZE)
+#  include <sys/select.h>
+#  ifdef luna
+#   include <sysent.h>
+#  endif
+# else /* not SVR4/CRAY/AIXv3 */
+#  if defined(AIXV4) /* AIX 4.2 fubar-ed <sys/select.h>, so try really hard. */
+#   if !defined(NFDBITS)
+#    include <sys/select.h>
+#   endif
+#  else /* the branch below is the fallthrough for halfway modern systems */
+#   ifdef __QNX__  /* Make sure we get 256 bit select masks */
+#    define FD_SETSIZE 256
+#   endif
+#   include <sys/select.h>
+#  endif
+# endif
+#else /* DGUX  -- No sys/select in Intel DG/ux */
+# include <sys/time.h> 
+# include <sys/types.h>
+# include <unistd.h>
+#endif
+
+#include <X11/Xmd.h>
+
+#ifdef CSRG_BASED
+#include <sys/param.h>
+# if BSD < 199103
+typedef long fd_mask;
+# endif
+#endif
+
+#define XFD_SETSIZE    256
+
+#ifndef FD_SETSIZE
+#define FD_SETSIZE     XFD_SETSIZE
+#endif
+
+#ifndef NBBY
+#define NBBY   8               /* number of bits in a byte */
+#endif
+
+#ifndef NFDBITS
+#define NFDBITS (sizeof(fd_mask) * NBBY)       /* bits per mask */
+#endif
+
+#ifndef howmany
+#define howmany(x,y)   (((x)+((y)-1))/(y))
+#endif
+
+#if defined(BSD) && BSD < 198911 && !defined(luna)
+typedef struct fd_set {
+       fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
+} fd_set;
+#endif
+
+#ifndef hpux /* and perhaps old BSD ??? */
+# define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+#else
+# ifndef _XPG4_EXTENDED /* HPUX 9.x and earlier */
+#  define Select(n,r,w,e,t) select(n,(int*)r,(int*)w,(int*)e,(struct timeval*)t)
+# else
+#  define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+# endif
+#endif
+
+#define __X_FDS_BITS __fds_bits
+
+#ifndef __FDS_BITS
+# define __FDS_BITS(p)  ((p)->__X_FDS_BITS)
+#endif
+
+#define __XFDS_BITS(p, n) (__FDS_BITS(p))[n]
+
+#ifndef FD_SET
+#define FD_SET(n, p)    (__XFDS_BITS(p, ((n)/NFDBITS)) |= ((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_CLR
+#define FD_CLR(n, p)    (__XFDS_BITS((p), ((n)/NFDBITS)) &= ~((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_ISSET
+#define FD_ISSET(n, p)  ((__XFDS_BITS((p), ((n)/NFDBITS))) & ((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_ZERO
+#define FD_ZERO(p)      bzero((char *)(p), sizeof(*(p)))
+#endif
+
+/*
+ * The howmany(FD_SETSIZE, NFDBITS) computes the number of elements in the
+ * array. before accessing an element in the array we check it exists.
+ * If it does not exist then the compiler discards the code to access it. 
+ */
+#define XFD_ANYSET(p) \
+        ((howmany(FD_SETSIZE, NFDBITS) > 0 && (__XFDS_BITS(p, 0))) || \
+        (howmany(FD_SETSIZE, NFDBITS) > 1 && (__XFDS_BITS(p, 1))) || \
+        (howmany(FD_SETSIZE, NFDBITS) > 2 && (__XFDS_BITS(p, 2))) || \
+        (howmany(FD_SETSIZE, NFDBITS) > 3 && (__XFDS_BITS(p, 3))) || \
+        (howmany(FD_SETSIZE, NFDBITS) > 4 && (__XFDS_BITS(p, 4))) || \
+        (howmany(FD_SETSIZE, NFDBITS) > 5 && (__XFDS_BITS(p, 5))) || \
+        (howmany(FD_SETSIZE, NFDBITS) > 6 && (__XFDS_BITS(p, 6))) || \
+        (howmany(FD_SETSIZE, NFDBITS) > 7 && (__XFDS_BITS(p, 7))))
+
+#define XFD_COPYSET(src,dst) { \
+        int __i__; \
+               for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+            __XFDS_BITS((dst), __i__) = __XFDS_BITS((src), __i__); \
+        }
+#define XFD_ANDSET(dst,b1,b2) { \
+        int __i__; \
+        for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+            __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) & (__XFDS_BITS((b2), __i__))); \
+        }
+#define XFD_ORSET(dst,b1,b2) { \
+        int __i__; \
+        for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+               __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) | (__XFDS_BITS((b2), __i__))); \
+        }        
+#define XFD_UNSET(dst,b1) { \
+        int __i__; \
+        for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+               __XFDS_BITS((dst), __i__) &= ~(__XFDS_BITS((b1), __i__)); \
+        }
+
+#else /* USE_POLL */
+#include <sys/poll.h>
+#endif /* USE_POLL */
+
+#else /* WIN32 */
+
+#define XFD_SETSIZE    256
+#ifndef FD_SETSIZE
+#define FD_SETSIZE     XFD_SETSIZE
+#endif
+#include <X11/Xwinsock.h>
+
+#define Select(n,r,w,e,t) select(0,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+
+#define XFD_SETCOUNT(p)        (((fd_set FAR *)(p))->fd_count)
+#define XFD_FD(p,i) (((fd_set FAR *)(p))->fd_array[i])
+#define XFD_ANYSET(p)  XFD_SETCOUNT(p)
+
+#define XFD_COPYSET(src,dst) { \
+    u_int __i; \
+    FD_ZERO(dst); \
+    for (__i = 0; __i < XFD_SETCOUNT(src) ; __i++) { \
+        XFD_FD(dst,__i) = XFD_FD(src,__i); \
+    } \
+    XFD_SETCOUNT(dst) = XFD_SETCOUNT(src); \
+}
+
+#define XFD_ANDSET(dst,b1,b2) { \
+    u_int __i; \
+    FD_ZERO(dst); \
+    for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \
+        if (FD_ISSET(XFD_FD(b1,__i), b2)) \
+          FD_SET(XFD_FD(b1,__i), dst); \
+    } \
+}
+
+#define XFD_ORSET(dst,b1,b2) { \
+    u_int __i; \
+    if (dst != b1) XFD_COPYSET(b1,dst); \
+    for (__i = 0; __i < XFD_SETCOUNT(b2) ; __i++) { \
+        if (!FD_ISSET(XFD_FD(b2,__i), dst)) \
+          FD_SET(XFD_FD(b2,__i), dst); \
+    } \
+}
+
+/* this one is really sub-optimal */
+#define XFD_UNSET(dst,b1) { \
+    u_int __i; \
+    for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \
+       FD_CLR(XFD_FD(b1,__i), dst); \
+    } \
+}
+
+/* we have to pay the price of having an array here, unlike with bitmasks
+   calling twice FD_SET with the same fd is not transparent, so be careful */
+#undef FD_SET
+#define FD_SET(fd,set) do { \
+    if (XFD_SETCOUNT(set) < FD_SETSIZE && !FD_ISSET(fd,set)) \
+        XFD_FD(set,XFD_SETCOUNT(set)++)=(fd); \
+} while(0)
+
+#define getdtablesize() FD_SETSIZE 
+
+#endif /* WIN32 */
+
+#endif /* _XPOLL_H_ */
diff --git a/XOrg/headers/native/src/X11/Xproto.h b/XOrg/headers/native/src/X11/Xproto.h
new file mode 100644 (file)
index 0000000..e5bba70
--- /dev/null
@@ -0,0 +1,2129 @@
+/*
+ *     $Xorg: Xproto.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $
+ */
+
+/* Definitions for the X window system used by server and c bindings */
+
+/*
+ * This packet-construction scheme makes the following assumptions:
+ *
+ * 1. The compiler is able
+ * to generate code which addresses one- and two-byte quantities.
+ * In the worst case, this would be done with bit-fields.  If bit-fields
+ * are used it may be necessary to reorder the request fields in this file,
+ * depending on the order in which the machine assigns bit fields to
+ * machine words.  There may also be a problem with sign extension,
+ * as K+R specify that bitfields are always unsigned.
+ *
+ * 2. 2- and 4-byte fields in packet structures must be ordered by hand
+ * such that they are naturally-aligned, so that no compiler will ever
+ * insert padding bytes.
+ *
+ * 3. All packets are hand-padded to a multiple of 4 bytes, for
+ * the same reason.
+ */
+
+#ifndef XPROTO_H
+#define XPROTO_H
+
+/***********************************************************
+
+Copyright 1987, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL 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.
+
+******************************************************************/
+
+#include <X11/Xmd.h>
+#include <X11/Xprotostr.h>
+
+/*
+ * Define constants for the sizes of the network packets.  The sz_ prefix is
+ * used instead of something more descriptive so that the symbols are no more
+ * than 32 characters in length (which causes problems for some compilers).
+ */
+#define sz_xSegment 8
+#define sz_xPoint 4
+#define sz_xRectangle 8
+#define sz_xArc 12
+#define sz_xConnClientPrefix 12
+#define sz_xConnSetupPrefix 8
+#define sz_xConnSetup 32
+#define sz_xPixmapFormat 8
+#define sz_xDepth 8
+#define sz_xVisualType 24
+#define sz_xWindowRoot 40
+#define sz_xTimecoord 8
+#define sz_xHostEntry 4
+#define sz_xCharInfo 12
+#define sz_xFontProp 8
+#define sz_xTextElt 2
+#define sz_xColorItem 12
+#define sz_xrgb 8
+#define sz_xGenericReply 32
+#define sz_xGetWindowAttributesReply 44
+#define sz_xGetGeometryReply 32
+#define sz_xQueryTreeReply 32
+#define sz_xInternAtomReply 32
+#define sz_xGetAtomNameReply 32
+#define sz_xGetPropertyReply 32
+#define sz_xListPropertiesReply 32
+#define sz_xGetSelectionOwnerReply 32
+#define sz_xGrabPointerReply 32
+#define sz_xQueryPointerReply 32
+#define sz_xGetMotionEventsReply 32
+#define sz_xTranslateCoordsReply 32
+#define sz_xGetInputFocusReply 32
+#define sz_xQueryKeymapReply 40
+#define sz_xQueryFontReply 60
+#define sz_xQueryTextExtentsReply 32
+#define sz_xListFontsReply 32
+#define sz_xGetFontPathReply 32
+#define sz_xGetImageReply 32
+#define sz_xListInstalledColormapsReply 32
+#define sz_xAllocColorReply 32
+#define sz_xAllocNamedColorReply 32
+#define sz_xAllocColorCellsReply 32
+#define sz_xAllocColorPlanesReply 32
+#define sz_xQueryColorsReply 32
+#define sz_xLookupColorReply 32
+#define sz_xQueryBestSizeReply 32
+#define sz_xQueryExtensionReply 32
+#define sz_xListExtensionsReply 32
+#define sz_xSetMappingReply 32
+#define sz_xGetKeyboardControlReply 52
+#define sz_xGetPointerControlReply 32
+#define sz_xGetScreenSaverReply 32
+#define sz_xListHostsReply 32
+#define sz_xSetModifierMappingReply 32
+#define sz_xError 32
+#define sz_xEvent 32
+#define sz_xKeymapEvent 32
+#define sz_xReq 4
+#define sz_xResourceReq 8
+#define sz_xCreateWindowReq 32
+#define sz_xChangeWindowAttributesReq 12
+#define sz_xChangeSaveSetReq 8
+#define sz_xReparentWindowReq 16
+#define sz_xConfigureWindowReq 12
+#define sz_xCirculateWindowReq 8
+#define sz_xInternAtomReq 8
+#define sz_xChangePropertyReq 24
+#define sz_xDeletePropertyReq 12
+#define sz_xGetPropertyReq 24
+#define sz_xSetSelectionOwnerReq 16
+#define sz_xConvertSelectionReq 24
+#define sz_xSendEventReq 44
+#define sz_xGrabPointerReq 24
+#define sz_xGrabButtonReq 24
+#define sz_xUngrabButtonReq 12
+#define sz_xChangeActivePointerGrabReq 16
+#define sz_xGrabKeyboardReq 16
+#define sz_xGrabKeyReq 16
+#define sz_xUngrabKeyReq 12
+#define sz_xAllowEventsReq 8
+#define sz_xGetMotionEventsReq 16
+#define sz_xTranslateCoordsReq 16
+#define sz_xWarpPointerReq 24
+#define sz_xSetInputFocusReq 12
+#define sz_xOpenFontReq 12
+#define sz_xQueryTextExtentsReq 8
+#define sz_xListFontsReq 8
+#define sz_xSetFontPathReq 8
+#define sz_xCreatePixmapReq 16
+#define sz_xCreateGCReq 16
+#define sz_xChangeGCReq 12
+#define sz_xCopyGCReq 16
+#define sz_xSetDashesReq 12
+#define sz_xSetClipRectanglesReq 12
+#define sz_xCopyAreaReq 28
+#define sz_xCopyPlaneReq 32
+#define sz_xPolyPointReq 12
+#define sz_xPolySegmentReq 12
+#define sz_xFillPolyReq 16
+#define sz_xPutImageReq 24
+#define sz_xGetImageReq 20
+#define sz_xPolyTextReq 16
+#define sz_xImageTextReq 16
+#define sz_xCreateColormapReq 16
+#define sz_xCopyColormapAndFreeReq 12
+#define sz_xAllocColorReq 16
+#define sz_xAllocNamedColorReq 12
+#define sz_xAllocColorCellsReq 12
+#define sz_xAllocColorPlanesReq 16
+#define sz_xFreeColorsReq 12
+#define sz_xStoreColorsReq 8
+#define sz_xStoreNamedColorReq 16
+#define sz_xQueryColorsReq 8
+#define sz_xLookupColorReq 12
+#define sz_xCreateCursorReq 32
+#define sz_xCreateGlyphCursorReq 32
+#define sz_xRecolorCursorReq 20
+#define sz_xQueryBestSizeReq 12
+#define sz_xQueryExtensionReq 8
+#define sz_xChangeKeyboardControlReq 8
+#define sz_xBellReq 4
+#define sz_xChangePointerControlReq 12
+#define sz_xSetScreenSaverReq 12
+#define sz_xChangeHostsReq 8
+#define sz_xListHostsReq 4
+#define sz_xChangeModeReq 4
+#define sz_xRotatePropertiesReq 12
+#define sz_xReply 32
+#define sz_xGrabKeyboardReply 32
+#define sz_xListFontsWithInfoReply 60
+#define sz_xSetPointerMappingReply 32
+#define sz_xGetKeyboardMappingReply 32
+#define sz_xGetPointerMappingReply 32
+#define sz_xGetModifierMappingReply 32
+#define sz_xListFontsWithInfoReq 8
+#define sz_xPolyLineReq 12
+#define sz_xPolyArcReq 12
+#define sz_xPolyRectangleReq 12
+#define sz_xPolyFillRectangleReq 12
+#define sz_xPolyFillArcReq 12
+#define sz_xPolyText8Req 16
+#define sz_xPolyText16Req 16
+#define sz_xImageText8Req 16
+#define sz_xImageText16Req 16
+#define sz_xSetPointerMappingReq 4
+#define sz_xForceScreenSaverReq 4
+#define sz_xSetCloseDownModeReq 4
+#define sz_xClearAreaReq 16
+#define sz_xSetAccessControlReq 4
+#define sz_xGetKeyboardMappingReq 8
+#define sz_xSetModifierMappingReq 4
+#define sz_xPropIconSize 24
+#define sz_xChangeKeyboardMappingReq 8
+
+
+/* For the purpose of the structure definitions in this file,
+we must redefine the following types in terms of Xmd.h's types, which may
+include bit fields.  All of these are #undef'd at the end of this file,
+restoring the definitions in X.h.  */
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define VisualID CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+
+#define X_TCP_PORT 6000     /* add display number */
+
+#define xTrue        1
+#define xFalse       0
+
+
+typedef CARD16 KeyButMask;
+
+/***************** 
+   connection setup structure.  This is followed by
+   numRoots xWindowRoot structs.
+*****************/
+
+typedef struct {
+    CARD8      byteOrder;
+    BYTE       pad;
+    CARD16     majorVersion B16, minorVersion B16;
+    CARD16     nbytesAuthProto B16;    /* Authorization protocol */
+    CARD16     nbytesAuthString B16;   /* Authorization string */
+    CARD16     pad2 B16;
+} xConnClientPrefix;
+
+typedef struct {
+    CARD8          success;
+    BYTE           lengthReason; /*num bytes in string following if failure */
+    CARD16         majorVersion B16, 
+                   minorVersion B16;
+    CARD16         length B16;  /* 1/4 additional bytes in setup info */
+} xConnSetupPrefix;
+
+
+typedef struct {
+    CARD32         release B32;
+    CARD32         ridBase B32, 
+                   ridMask B32;
+    CARD32         motionBufferSize B32;
+    CARD16         nbytesVendor B16;  /* number of bytes in vendor string */
+    CARD16         maxRequestSize B16;
+    CARD8          numRoots;          /* number of roots structs to follow */
+    CARD8          numFormats;        /* number of pixmap formats */
+    CARD8          imageByteOrder;        /* LSBFirst, MSBFirst */
+    CARD8          bitmapBitOrder;        /* LeastSignificant, MostSign...*/
+    CARD8          bitmapScanlineUnit,     /* 8, 16, 32 */
+                   bitmapScanlinePad;     /* 8, 16, 32 */
+    KeyCode       minKeyCode, maxKeyCode;
+    CARD32        pad2 B32;
+} xConnSetup;
+
+typedef struct {
+    CARD8          depth;
+    CARD8          bitsPerPixel;
+    CARD8          scanLinePad;
+    CARD8          pad1;
+    CARD32        pad2 B32;
+} xPixmapFormat;
+
+/* window root */
+
+typedef struct {
+    CARD8      depth;
+    CARD8      pad1;
+    CARD16     nVisuals B16;  /* number of xVisualType structures following */
+    CARD32     pad2 B32;
+    } xDepth;
+
+typedef struct {
+    VisualID visualID B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+    CARD8 c_class;
+#else
+    CARD8 class;
+#endif
+    CARD8 bitsPerRGB;
+    CARD16 colormapEntries B16;
+    CARD32 redMask B32, greenMask B32, blueMask B32;
+    CARD32 pad B32;
+    } xVisualType;
+
+typedef struct {
+    Window         windowId B32;
+    Colormap       defaultColormap B32;
+    CARD32         whitePixel B32, blackPixel B32;
+    CARD32         currentInputMask B32;   
+    CARD16         pixWidth B16, pixHeight B16;
+    CARD16         mmWidth B16, mmHeight B16;
+    CARD16         minInstalledMaps B16, maxInstalledMaps B16;
+    VisualID       rootVisualID B32;
+    CARD8          backingStore;
+    BOOL           saveUnders;
+    CARD8          rootDepth;
+    CARD8          nDepths;  /* number of xDepth structures following */
+} xWindowRoot;
+\f
+
+/*****************************************************************
+ * Structure Defns
+ *   Structures needed for replies 
+ *****************************************************************/
+
+/* Used in GetMotionEvents */
+
+typedef struct {
+    CARD32 time B32;
+    INT16 x B16, y B16;
+} xTimecoord;
+
+typedef struct {
+    CARD8 family;
+    BYTE pad;
+    CARD16 length B16;
+} xHostEntry;
+
+typedef struct {
+    INT16 leftSideBearing B16,
+         rightSideBearing B16,
+         characterWidth B16,
+         ascent B16,
+         descent B16;
+    CARD16 attributes B16;
+} xCharInfo;
+
+typedef struct {
+    Atom name B32;
+    CARD32 value B32;
+} xFontProp;
+
+/*
+ * non-aligned big-endian font ID follows this struct
+ */
+typedef struct {           /* followed by string */
+    CARD8 len; /* number of *characters* in string, or FontChange (255)
+                  for font change, or 0 if just delta given */
+    INT8 delta;
+} xTextElt;
+
+
+typedef struct {        
+    CARD32 pixel B32;
+    CARD16 red B16, green B16, blue B16;
+    CARD8 flags;  /* DoRed, DoGreen, DoBlue booleans */
+    CARD8 pad;
+} xColorItem;
+
+
+typedef struct {
+    CARD16 red B16, green B16, blue B16, pad B16;
+} xrgb;
+
+typedef CARD8 KEYCODE;
+\f
+
+/*****************
+ * XRep:
+ *    meant to be 32 byte quantity 
+ *****************/
+
+/* GenericReply is the common format of all replies.  The "data" items
+   are specific to each individual reply type. */
+
+typedef struct {       
+    BYTE type;              /* X_Reply */
+    BYTE data1;             /* depends on reply type */
+    CARD16 sequenceNumber B16;  /* of last request received by server */
+    CARD32 length B32;      /* 4 byte quantities beyond size of GenericReply */
+    CARD32 data00 B32;
+    CARD32 data01 B32;
+    CARD32 data02 B32;
+    CARD32 data03 B32;
+    CARD32 data04 B32;
+    CARD32 data05 B32;
+    } xGenericReply;
+
+/* Individual reply formats. */
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    CARD8 backingStore;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32; /* NOT 0; this is an extra-large reply */
+    VisualID visualID B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+    CARD16 c_class B16;
+#else
+    CARD16 class B16;
+#endif
+    CARD8 bitGravity;
+    CARD8 winGravity;
+    CARD32 backingBitPlanes B32;
+    CARD32 backingPixel B32;
+    BOOL saveUnder;
+    BOOL mapInstalled;
+    CARD8 mapState;
+    BOOL override;
+    Colormap colormap B32;
+    CARD32 allEventMasks B32;
+    CARD32 yourEventMask B32;
+    CARD16 doNotPropagateMask B16;
+    CARD16 pad B16;
+    } xGetWindowAttributesReply;
+
+typedef struct {
+    BYTE type;   /* X_Reply */
+    CARD8 depth;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 0 */
+    Window root B32;
+    INT16 x B16, y B16;
+    CARD16 width B16, height B16;
+    CARD16 borderWidth B16;
+    CARD16 pad1 B16;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    } xGetGeometryReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    Window root B32, parent B32;
+    CARD16 nChildren B16;
+    CARD16 pad2 B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    } xQueryTreeReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32; /* 0 */
+    Atom atom B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    } xInternAtomReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* of additional bytes */
+    CARD16 nameLength B16;  /* # of characters in name */
+    CARD16 pad2 B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xGetAtomNameReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    CARD8 format;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32; /* of additional bytes */
+    Atom propertyType B32;
+    CARD32 bytesAfter B32;
+    CARD32 nItems B32; /* # of 8, 16, or 32-bit entities in reply */
+    CARD32 pad1 B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    } xGetPropertyReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD16 nProperties B16;
+    CARD16 pad2 B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xListPropertiesReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 0 */
+    Window owner B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    } xGetSelectionOwnerReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE status;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 0 */
+    CARD32 pad1 B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    } xGrabPointerReply;
+
+typedef xGrabPointerReply xGrabKeyboardReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BOOL sameScreen;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 0 */
+    Window root B32, child B32;
+    INT16 rootX B16, rootY B16, winX B16, winY B16;
+    CARD16 mask B16;
+    CARD16 pad1 B16;
+    CARD32 pad B32;
+    } xQueryPointerReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD32 nEvents B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    } xGetMotionEventsReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BOOL sameScreen;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32; /* 0 */
+    Window child B32;
+    INT16 dstX B16, dstY B16;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    } xTranslateCoordsReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    CARD8 revertTo;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 0 */
+    Window focus B32;
+    CARD32 pad1 B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    } xGetInputFocusReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 2, NOT 0; this is an extra-large reply */
+    BYTE map[32];
+    } xQueryKeymapReply;
+
+/* Warning: this MUST match (up to component renaming) xListFontsWithInfoReply */
+typedef struct _xQueryFontReply {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* definitely > 0, even if "nCharInfos" is 0 */
+    xCharInfo minBounds; 
+#ifndef WORD64
+    CARD32 walign1 B32;
+#endif
+    xCharInfo maxBounds; 
+#ifndef WORD64
+    CARD32 walign2 B32;
+#endif
+    CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
+    CARD16 defaultChar B16;
+    CARD16 nFontProps B16;  /* followed by this many xFontProp structures */
+    CARD8 drawDirection;
+    CARD8 minByte1, maxByte1;
+    BOOL allCharsExist;
+    INT16 fontAscent B16, fontDescent B16;
+    CARD32 nCharInfos B32; /* followed by this many xCharInfo structures */
+} xQueryFontReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    CARD8 drawDirection;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 0 */
+    INT16 fontAscent B16, fontDescent B16;
+    INT16 overallAscent B16, overallDescent B16;
+    INT32 overallWidth B32, overallLeft B32, overallRight B32;
+    CARD32 pad B32;
+    } xQueryTextExtentsReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD16 nFonts B16;
+    CARD16 pad2 B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xListFontsReply;
+
+/* Warning: this MUST match (up to component renaming) xQueryFontReply */
+typedef struct {
+    BYTE type;  /* X_Reply */
+    CARD8 nameLength;  /* 0 indicates end-of-reply-sequence */
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* definitely > 0, even if "nameLength" is 0 */
+    xCharInfo minBounds; 
+#ifndef WORD64
+    CARD32 walign1 B32;
+#endif
+    xCharInfo maxBounds; 
+#ifndef WORD64
+    CARD32 walign2 B32;
+#endif
+    CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
+    CARD16 defaultChar B16;
+    CARD16 nFontProps B16;  /* followed by this many xFontProp structures */
+    CARD8 drawDirection;
+    CARD8 minByte1, maxByte1;
+    BOOL allCharsExist;
+    INT16 fontAscent B16, fontDescent B16;
+    CARD32 nReplies B32;   /* hint as to how many more replies might be coming */
+} xListFontsWithInfoReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD16 nPaths B16;
+    CARD16 pad2 B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xGetFontPathReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    CARD8 depth;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    VisualID visual B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xGetImageReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD16 nColormaps B16;
+    CARD16 pad2 B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xListInstalledColormapsReply;
+
+typedef struct {
+    BYTE type; /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;   /* 0 */
+    CARD16 red B16, green B16, blue B16;
+    CARD16 pad2 B16;
+    CARD32 pixel B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    } xAllocColorReply;
+
+typedef struct {
+    BYTE type; /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 0 */
+    CARD32 pixel B32;
+    CARD16 exactRed B16, exactGreen B16, exactBlue B16;
+    CARD16 screenRed B16, screenGreen B16, screenBlue B16;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    } xAllocNamedColorReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD16 nPixels B16, nMasks B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xAllocColorCellsReply;
+
+typedef struct {
+    BYTE type; /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD16 nPixels B16;
+    CARD16 pad2 B16;
+    CARD32 redMask B32, greenMask B32, blueMask B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    } xAllocColorPlanesReply;
+
+typedef struct {
+    BYTE type; /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD16 nColors B16;
+    CARD16 pad2 B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xQueryColorsReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 0 */
+    CARD16 exactRed B16, exactGreen B16, exactBlue B16;
+    CARD16 screenRed B16, screenGreen B16, screenBlue B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    } xLookupColorReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 0 */
+    CARD16 width B16, height B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xQueryBestSizeReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32; /* 0 */
+    BOOL  present;
+    CARD8 major_opcode;
+    CARD8 first_event;
+    CARD8 first_error;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xQueryExtensionReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    CARD8 nExtensions;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xListExtensionsReply;
+
+
+typedef struct {
+    BYTE   type;  /* X_Reply */
+    CARD8  success;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xSetMappingReply;
+typedef xSetMappingReply xSetPointerMappingReply;
+typedef xSetMappingReply xSetModifierMappingReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    CARD8 nElts;  /* how many elements does the map have */
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xGetPointerMappingReply;
+
+typedef struct {
+    BYTE type;
+    CARD8 keySymsPerKeyCode;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+} xGetKeyboardMappingReply;    
+
+typedef struct {
+    BYTE type;
+    CARD8 numKeyPerModifier;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD32 pad1 B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+} xGetModifierMappingReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BOOL globalAutoRepeat;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 5 */
+    CARD32 ledMask B32;
+    CARD8 keyClickPercent, bellPercent;
+    CARD16 bellPitch B16, bellDuration B16;
+    CARD16 pad B16;
+    BYTE map[32];  /* bit masks start here */
+    } xGetKeyboardControlReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 0 */
+    CARD16 accelNumerator B16, accelDenominator B16;
+    CARD16 threshold B16;
+    CARD16 pad2 B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    } xGetPointerControlReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BYTE pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;  /* 0 */
+    CARD16 timeout B16, interval B16;
+    BOOL preferBlanking;
+    BOOL allowExposures;
+    CARD16 pad2 B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    } xGetScreenSaverReply;
+
+typedef struct {
+    BYTE type;  /* X_Reply */
+    BOOL enabled;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD16 nHosts B16;
+    CARD16 pad1 B16;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+    } xListHostsReply;
+
+\f
+
+
+/*****************************************************************
+ * Xerror
+ *    All errors  are 32 bytes 
+ *****************************************************************/
+
+typedef struct {
+    BYTE type;                  /* X_Error */
+    BYTE errorCode;
+    CARD16 sequenceNumber B16;       /* the nth request from this client */
+    CARD32 resourceID B32;
+    CARD16 minorCode B16;
+    CARD8 majorCode;
+    BYTE pad1;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+    CARD32 pad7 B32;
+} xError;
+
+/*****************************************************************
+ * xEvent
+ *    All events are 32 bytes
+ *****************************************************************/
+
+typedef struct _xEvent {
+    union {
+       struct {
+           BYTE type;
+           BYTE detail;
+           CARD16 sequenceNumber B16;
+           } u;
+       struct {
+            CARD32 pad00 B32;
+           Time time B32;
+           Window root B32, event B32, child B32;
+           INT16 rootX B16, rootY B16, eventX B16, eventY B16;
+           KeyButMask state B16;
+           BOOL sameScreen;            
+           BYTE pad1;
+       } keyButtonPointer;
+       struct {
+            CARD32 pad00 B32;
+            Time time B32;
+           Window root B32, event B32, child B32;
+           INT16 rootX B16, rootY B16, eventX B16, eventY B16;
+           KeyButMask state B16;
+           BYTE mode;                  /* really XMode */
+           BYTE flags;         /* sameScreen and focus booleans, packed together */
+#define ELFlagFocus        (1<<0)
+#define ELFlagSameScreen   (1<<1)
+       } enterLeave;
+       struct {
+            CARD32 pad00 B32;
+           Window window B32;
+           BYTE mode;                  /* really XMode */
+           BYTE pad1, pad2, pad3;
+       } focus;
+       struct {
+            CARD32 pad00 B32;
+           Window window B32;
+           CARD16 x B16, y B16, width B16, height B16;
+           CARD16 count B16;
+           CARD16 pad2 B16;
+       } expose;
+       struct {
+            CARD32 pad00 B32;
+           Drawable drawable B32;
+           CARD16 x B16, y B16, width B16, height B16;
+           CARD16 minorEvent B16;
+           CARD16 count B16;
+           BYTE majorEvent;
+           BYTE pad1, pad2, pad3;
+       } graphicsExposure;
+       struct {
+            CARD32 pad00 B32;
+           Drawable drawable B32;
+           CARD16 minorEvent B16;
+           BYTE majorEvent;
+           BYTE bpad;
+       } noExposure;
+       struct {
+            CARD32 pad00 B32;
+           Window window B32;
+           CARD8 state;
+           BYTE pad1, pad2, pad3;
+       } visibility;
+       struct {
+            CARD32 pad00 B32;
+           Window parent B32, window B32;
+           INT16 x B16, y B16;
+           CARD16 width B16, height B16, borderWidth B16;
+           BOOL override;
+           BYTE bpad;
+        } createNotify;
+/*
+ * The event fields in the structures for DestroyNotify, UnmapNotify,
+ * MapNotify, ReparentNotify, ConfigureNotify, CirculateNotify, GravityNotify,
+ * must be at the same offset because server internal code is depending upon
+ * this to patch up the events before they are delivered.
+ * Also note that MapRequest, ConfigureRequest and CirculateRequest have
+ * the same offset for the event window.
+ */
+       struct {
+            CARD32 pad00 B32;
+           Window event B32, window B32;
+       } destroyNotify;
+       struct {
+            CARD32 pad00 B32;
+           Window event B32, window B32;
+           BOOL fromConfigure;
+           BYTE pad1, pad2, pad3;
+        } unmapNotify;
+       struct {
+            CARD32 pad00 B32;
+           Window event B32, window B32;
+           BOOL override;
+           BYTE pad1, pad2, pad3;
+        } mapNotify;
+       struct {
+            CARD32 pad00 B32;
+           Window parent B32, window B32;
+        } mapRequest;
+       struct {
+            CARD32 pad00 B32;
+           Window event B32, window B32, parent B32;
+           INT16 x B16, y B16;
+           BOOL override;
+           BYTE pad1, pad2, pad3;
+       } reparent;
+       struct {
+            CARD32 pad00 B32;
+           Window event B32, window B32, aboveSibling B32;
+           INT16 x B16, y B16;
+           CARD16 width B16, height B16, borderWidth B16;
+           BOOL override;              
+           BYTE bpad;
+       } configureNotify;
+       struct {
+            CARD32 pad00 B32;
+           Window parent B32, window B32, sibling B32;
+           INT16 x B16, y B16;
+           CARD16 width B16, height B16, borderWidth B16;
+           CARD16 valueMask B16;
+           CARD32 pad1 B32;
+       } configureRequest;
+       struct {
+            CARD32 pad00 B32;
+           Window event B32, window B32;
+           INT16 x B16, y B16;
+           CARD32 pad1 B32, pad2 B32, pad3 B32, pad4 B32;
+       } gravity;
+       struct {
+            CARD32 pad00 B32;
+           Window window B32;
+           CARD16 width B16, height B16;
+       } resizeRequest;
+       struct {
+/* The event field in the circulate record is really the parent when this
+   is used as a CirculateRequest instead of a CirculateNotify */
+            CARD32 pad00 B32;
+           Window event B32, window B32, parent B32;
+           BYTE place;                 /* Top or Bottom */
+           BYTE pad1, pad2, pad3;
+       } circulate;
+       struct {
+            CARD32 pad00 B32;
+           Window window B32;
+           Atom atom B32;
+           Time time B32;
+           BYTE state;                 /* NewValue or Deleted */
+           BYTE pad1;
+           CARD16 pad2 B16;
+       } property;
+       struct {
+            CARD32 pad00 B32;
+            Time time B32;     
+           Window window B32;
+           Atom atom B32;
+       } selectionClear;
+       struct {
+            CARD32 pad00 B32;
+            Time time B32;    
+           Window owner B32, requestor B32;
+           Atom selection B32, target B32, property B32;
+       } selectionRequest;
+       struct {
+            CARD32 pad00 B32;
+            Time time B32;   
+           Window requestor B32;
+           Atom selection B32, target B32, property B32;
+       } selectionNotify;
+       struct {
+            CARD32 pad00 B32;
+           Window window B32;
+           Colormap colormap B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+           BOOL c_new;
+#else
+           BOOL new;
+#endif
+           BYTE state;                 /* Installed or UnInstalled */
+           BYTE pad1, pad2;
+       } colormap;
+       struct {
+           CARD32 pad00 B32;
+           CARD8 request;
+           KeyCode firstKeyCode;
+           CARD8 count;
+           BYTE pad1;
+       } mappingNotify;
+       struct {
+            CARD32 pad00 B32;
+           Window window B32;
+           union {
+               struct {
+                   Atom type B32;
+                   INT32 longs0 B32;
+                   INT32 longs1 B32;
+                   INT32 longs2 B32;
+                   INT32 longs3 B32;
+                   INT32 longs4 B32;
+               } l;
+               struct {
+                   Atom type B32;
+                   INT16 shorts0 B16;
+                   INT16 shorts1 B16;
+                   INT16 shorts2 B16;
+                   INT16 shorts3 B16;
+                   INT16 shorts4 B16;
+                   INT16 shorts5 B16;
+                   INT16 shorts6 B16;
+                   INT16 shorts7 B16;
+                   INT16 shorts8 B16;
+                   INT16 shorts9 B16;
+               } s;
+               struct {
+                   Atom type B32;
+                   INT8 bytes[20];
+               } b;
+           } u; 
+       } clientMessage;
+    } u;
+} xEvent;
+
+/* KeymapNotify events are not included in the above union because they
+   are different from all other events: they do not have a "detail"
+   or "sequenceNumber", so there is room for a 248-bit key mask. */
+
+typedef struct {
+    BYTE type;
+    BYTE map[31];
+    } xKeymapEvent;
+
+#define XEventSize (sizeof(xEvent))
+
+/* XReply is the union of all the replies above whose "fixed part"
+fits in 32 bytes.  It does NOT include GetWindowAttributesReply,
+QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply 
+ListFontsWithInfoReply */
+
+typedef union {
+    xGenericReply generic;
+    xGetGeometryReply geom;
+    xQueryTreeReply tree;
+    xInternAtomReply atom;
+    xGetAtomNameReply atomName;
+    xGetPropertyReply property;
+    xListPropertiesReply listProperties;
+    xGetSelectionOwnerReply selection;
+    xGrabPointerReply grabPointer;
+    xGrabKeyboardReply grabKeyboard;
+    xQueryPointerReply pointer;
+    xGetMotionEventsReply motionEvents;
+    xTranslateCoordsReply coords;
+    xGetInputFocusReply inputFocus;
+    xQueryTextExtentsReply textExtents;
+    xListFontsReply fonts;
+    xGetFontPathReply fontPath;
+    xGetImageReply image;
+    xListInstalledColormapsReply colormaps;
+    xAllocColorReply allocColor;
+    xAllocNamedColorReply allocNamedColor;
+    xAllocColorCellsReply colorCells;
+    xAllocColorPlanesReply colorPlanes;
+    xQueryColorsReply colors;
+    xLookupColorReply lookupColor;
+    xQueryBestSizeReply bestSize;
+    xQueryExtensionReply extension;
+    xListExtensionsReply extensions;
+    xSetModifierMappingReply setModifierMapping;
+    xGetModifierMappingReply getModifierMapping;
+    xSetPointerMappingReply setPointerMapping;
+    xGetKeyboardMappingReply getKeyboardMapping;
+    xGetPointerMappingReply getPointerMapping;
+    xGetPointerControlReply pointerControl;
+    xGetScreenSaverReply screenSaver;
+    xListHostsReply hosts;
+    xError error;
+    xEvent event;
+} xReply;
+
+\f
+
+/*****************************************************************
+ * REQUESTS
+ *****************************************************************/
+
+
+/* Request structure */
+
+typedef struct _xReq {
+       CARD8 reqType;
+       CARD8 data;            /* meaning depends on request type */
+       CARD16 length B16;         /* length in 4 bytes quantities 
+                                 of whole request, including this header */
+} xReq;
+
+/*****************************************************************
+ *  structures that follow request. 
+ *****************************************************************/
+
+/* ResourceReq is used for any request which has a resource ID 
+   (or Atom or Time) as its one and only argument.  */
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    CARD32 id B32;  /* a Window, Drawable, Font, GContext, Pixmap, etc. */
+    } xResourceReq;
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 depth;
+    CARD16 length B16;
+    Window wid B32, parent B32;
+    INT16 x B16, y B16;
+    CARD16 width B16, height B16, borderWidth B16;  
+#if defined(__cplusplus) || defined(c_plusplus)
+    CARD16 c_class B16;
+#else
+    CARD16 class B16;
+#endif
+    VisualID visual B32;
+    CARD32 mask B32;
+} xCreateWindowReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Window window B32;
+    CARD32 valueMask B32; 
+} xChangeWindowAttributesReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE mode;
+    CARD16 length B16;
+    Window window B32;
+} xChangeSaveSetReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Window window B32, parent B32;
+    INT16 x B16, y B16;
+} xReparentWindowReq;
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 pad;
+    CARD16 length B16;
+    Window window B32;
+    CARD16 mask B16;
+    CARD16 pad2 B16;
+} xConfigureWindowReq;
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 direction;
+    CARD16 length B16;
+    Window window B32;
+} xCirculateWindowReq;
+
+typedef struct {    /* followed by padded string */
+    CARD8 reqType;
+    BOOL onlyIfExists;
+    CARD16 length B16;
+    CARD16 nbytes  B16;    /* number of bytes in string */
+    CARD16 pad B16;
+} xInternAtomReq;
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 mode;
+    CARD16 length B16;
+    Window window B32;
+    Atom property B32, type B32;
+    CARD8 format;
+    BYTE pad[3];
+    CARD32 nUnits B32;     /* length of stuff following, depends on format */
+} xChangePropertyReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Window window B32;
+    Atom property B32;
+} xDeletePropertyReq;
+
+typedef struct {
+    CARD8 reqType;
+#if defined(__cplusplus) || defined(c_plusplus)
+    BOOL c_delete;
+#else
+    BOOL delete;
+#endif
+    CARD16 length B16;
+    Window window B32;
+    Atom property B32, type B32;
+    CARD32 longOffset B32;
+    CARD32 longLength B32;
+} xGetPropertyReq;
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Window window B32;
+    Atom selection B32;
+    Time time B32;
+} xSetSelectionOwnerReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Window requestor B32;
+    Atom selection B32, target B32, property B32;
+    Time time B32;
+    } xConvertSelectionReq;
+
+typedef struct {
+    CARD8 reqType;
+    BOOL propagate;
+    CARD16 length B16;
+    Window destination B32;
+    CARD32 eventMask B32;
+#ifdef WORD64
+    /* the structure should have been quad-aligned */
+    BYTE eventdata[SIZEOF(xEvent)];
+#else
+    xEvent event;
+#endif /* WORD64 */
+} xSendEventReq;
+
+typedef struct {
+    CARD8 reqType;
+    BOOL ownerEvents;
+    CARD16 length B16;
+    Window grabWindow B32;
+    CARD16 eventMask B16;
+    BYTE pointerMode, keyboardMode;
+    Window confineTo B32;
+    Cursor cursor B32;
+    Time time B32;
+} xGrabPointerReq;
+
+typedef struct {
+    CARD8 reqType;
+    BOOL ownerEvents;
+    CARD16 length B16;
+    Window grabWindow B32;
+    CARD16 eventMask B16;
+    BYTE pointerMode, keyboardMode;
+    Window confineTo B32;
+    Cursor cursor B32;
+    CARD8 button;
+    BYTE pad;
+    CARD16 modifiers B16;
+} xGrabButtonReq;
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 button;
+    CARD16 length B16;
+    Window grabWindow B32;
+    CARD16 modifiers B16;
+    CARD16 pad B16;
+} xUngrabButtonReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Cursor cursor B32;
+    Time time B32;
+    CARD16 eventMask B16;
+    CARD16 pad2 B16;
+} xChangeActivePointerGrabReq;
+
+typedef struct {
+    CARD8 reqType;
+    BOOL ownerEvents;
+    CARD16 length B16;
+    Window grabWindow B32;
+    Time time B32;
+    BYTE pointerMode, keyboardMode;  
+    CARD16 pad B16;
+} xGrabKeyboardReq;
+
+typedef struct {
+    CARD8 reqType;
+    BOOL ownerEvents;
+    CARD16 length B16;
+    Window grabWindow B32;
+    CARD16 modifiers B16;
+    CARD8 key;
+    BYTE pointerMode, keyboardMode;  
+    BYTE pad1, pad2, pad3;
+} xGrabKeyReq;
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 key;
+    CARD16 length B16;
+    Window grabWindow B32;
+    CARD16 modifiers B16;
+    CARD16 pad B16;
+} xUngrabKeyReq;
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 mode;
+    CARD16 length B16;
+    Time time B32;
+} xAllowEventsReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Window window B32;
+    Time start B32, stop B32;
+} xGetMotionEventsReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Window srcWid B32, dstWid B32;
+    INT16 srcX B16, srcY B16;
+} xTranslateCoordsReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Window srcWid B32, dstWid B32;
+    INT16 srcX B16, srcY B16;
+    CARD16 srcWidth B16, srcHeight B16;
+    INT16 dstX B16, dstY B16;
+} xWarpPointerReq;
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 revertTo;
+    CARD16 length B16;
+    Window focus B32;
+    Time time B32;
+} xSetInputFocusReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Font fid B32;
+    CARD16 nbytes B16;
+    BYTE pad1, pad2;   /* string follows on word boundary */
+} xOpenFontReq;
+
+typedef struct {
+    CARD8 reqType;
+    BOOL oddLength;
+    CARD16 length B16;
+    Font fid B32;
+    } xQueryTextExtentsReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    CARD16 maxNames B16;
+    CARD16 nbytes B16;  /* followed immediately by string bytes */
+} xListFontsReq;
+
+typedef xListFontsReq xListFontsWithInfoReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    CARD16 nFonts B16;
+    BYTE pad1, pad2;   /* LISTofSTRING8 follows on word boundary */
+} xSetFontPathReq;
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 depth;
+    CARD16 length B16;
+    Pixmap pid B32;
+    Drawable drawable B32;
+    CARD16 width B16, height B16;
+} xCreatePixmapReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    GContext gc B32;
+    Drawable drawable B32;
+    CARD32 mask B32;
+} xCreateGCReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    GContext gc B32;
+    CARD32 mask B32;
+} xChangeGCReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    GContext srcGC B32, dstGC B32;
+    CARD32 mask B32;
+} xCopyGCReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    GContext gc B32;
+    CARD16 dashOffset B16;
+    CARD16 nDashes B16;        /* length LISTofCARD8 of values following */
+} xSetDashesReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE ordering;
+    CARD16 length B16;
+    GContext gc B32;
+    INT16 xOrigin B16, yOrigin B16;
+} xSetClipRectanglesReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BOOL exposures;
+    CARD16 length B16;
+    Window window B32;
+    INT16 x B16, y B16;
+    CARD16 width B16, height B16;
+} xClearAreaReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Drawable srcDrawable B32, dstDrawable B32;
+    GContext gc B32;
+    INT16 srcX B16, srcY B16, dstX B16, dstY B16;
+    CARD16 width B16, height B16;
+} xCopyAreaReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Drawable srcDrawable B32, dstDrawable B32;
+    GContext gc B32;
+    INT16 srcX B16, srcY B16, dstX B16, dstY B16;
+    CARD16 width B16, height B16;
+    CARD32 bitPlane B32;
+} xCopyPlaneReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE coordMode;
+    CARD16 length B16;
+    Drawable drawable B32;
+    GContext gc B32;
+} xPolyPointReq;    
+
+typedef xPolyPointReq xPolyLineReq;  /* same request structure */
+
+/* The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc */
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Drawable drawable B32;
+    GContext gc B32;
+} xPolySegmentReq;    
+
+typedef xPolySegmentReq xPolyArcReq;
+typedef xPolySegmentReq xPolyRectangleReq;
+typedef xPolySegmentReq xPolyFillRectangleReq;
+typedef xPolySegmentReq xPolyFillArcReq;
+
+typedef struct _FillPolyReq {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Drawable drawable B32;
+    GContext gc B32;
+    BYTE shape;
+    BYTE coordMode;
+    CARD16 pad1 B16;
+} xFillPolyReq;    
+
+
+typedef struct _PutImageReq {
+    CARD8 reqType;
+    CARD8 format;
+    CARD16 length B16;
+    Drawable drawable B32;
+    GContext gc B32;
+    CARD16 width B16, height B16;
+    INT16 dstX B16, dstY B16;
+    CARD8 leftPad;
+    CARD8 depth;
+    CARD16 pad B16;
+} xPutImageReq;    
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 format;
+    CARD16 length B16;
+    Drawable drawable B32;
+    INT16 x B16, y B16;
+    CARD16 width B16, height B16;
+    CARD32 planeMask B32;
+} xGetImageReq;    
+
+/* the following used by PolyText8 and PolyText16 */
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 pad;
+    CARD16 length B16;
+    Drawable drawable B32;
+    GContext gc B32;
+    INT16 x B16, y B16;                /* items (xTextElt) start after struct */
+} xPolyTextReq;    
+
+typedef xPolyTextReq xPolyText8Req;
+typedef xPolyTextReq xPolyText16Req;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE nChars;
+    CARD16 length B16;
+    Drawable drawable B32;
+    GContext gc B32;
+    INT16 x B16, y B16;
+} xImageTextReq;    
+
+typedef xImageTextReq xImageText8Req;
+typedef xImageTextReq xImageText16Req;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE alloc;
+    CARD16 length B16;
+    Colormap mid B32;
+    Window window B32;
+    VisualID visual B32;
+} xCreateColormapReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Colormap mid B32;
+    Colormap srcCmap B32;
+} xCopyColormapAndFreeReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Colormap cmap B32;
+    CARD16 red B16, green B16, blue B16;
+    CARD16 pad2 B16;
+} xAllocColorReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Colormap cmap B32;
+    CARD16 nbytes B16;  /* followed by structure */
+    BYTE pad1, pad2;
+} xAllocNamedColorReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BOOL contiguous;
+    CARD16 length B16;
+    Colormap cmap B32;
+    CARD16 colors B16, planes B16;
+} xAllocColorCellsReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BOOL contiguous;
+    CARD16 length B16;
+    Colormap cmap B32;
+    CARD16 colors B16, red B16, green B16, blue B16;
+} xAllocColorPlanesReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Colormap cmap B32;
+    CARD32 planeMask B32;
+} xFreeColorsReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Colormap cmap B32;
+} xStoreColorsReq;    
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 flags;   /* DoRed, DoGreen, DoBlue, as in xColorItem */
+    CARD16 length B16;
+    Colormap cmap B32;
+    CARD32 pixel B32;
+    CARD16 nbytes B16;  /* number of name string bytes following structure */
+    BYTE pad1, pad2;
+    } xStoreNamedColorReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Colormap cmap B32;
+} xQueryColorsReq;    
+
+typedef struct {    /* followed  by string of length len */
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Colormap cmap B32;
+    CARD16 nbytes B16;  /* number of string bytes following structure*/
+    BYTE pad1, pad2;
+} xLookupColorReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Cursor cid B32;
+    Pixmap source B32, mask B32;
+    CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+    CARD16 backRed B16, backGreen B16, backBlue B16;
+    CARD16 x B16, y B16;
+} xCreateCursorReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Cursor cid B32;
+    Font source B32, mask B32;
+    CARD16 sourceChar B16, maskChar B16;
+    CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+    CARD16 backRed B16, backGreen B16, backBlue B16;
+} xCreateGlyphCursorReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Cursor cursor B32;
+    CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+    CARD16 backRed B16, backGreen B16, backBlue B16;
+} xRecolorCursorReq;    
+
+typedef struct {
+    CARD8 reqType;
+#if defined(__cplusplus) || defined(c_plusplus)
+    CARD8 c_class;
+#else
+    CARD8 class;
+#endif
+    CARD16 length B16;
+    Drawable drawable B32;
+    CARD16 width B16, height B16;
+} xQueryBestSizeReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    CARD16 nbytes B16;  /* number of string bytes following structure */
+    BYTE pad1, pad2;
+} xQueryExtensionReq;
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   numKeyPerModifier;
+    CARD16  length B16;
+} xSetModifierMappingReq;
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 nElts;  /* how many elements in the map */
+    CARD16 length B16;
+} xSetPointerMappingReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    KeyCode firstKeyCode;
+    CARD8 count;
+    CARD16 pad1 B16;
+} xGetKeyboardMappingReq;    
+
+typedef struct {
+    CARD8 reqType;
+    CARD8 keyCodes;
+    CARD16 length B16;
+    KeyCode firstKeyCode;
+    CARD8 keySymsPerKeyCode;
+    CARD16 pad1 B16;
+} xChangeKeyboardMappingReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    CARD32 mask B32;
+} xChangeKeyboardControlReq;    
+
+typedef struct {
+    CARD8 reqType;
+    INT8 percent;  /* -100 to 100 */
+    CARD16 length B16;
+} xBellReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    INT16 accelNum B16, accelDenum B16;
+    INT16 threshold B16;             
+    BOOL doAccel, doThresh;
+} xChangePointerControlReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    INT16 timeout B16, interval B16;
+    BYTE preferBlank, allowExpose;  
+    CARD16 pad2 B16;
+} xSetScreenSaverReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE mode;
+    CARD16 length B16;
+    CARD8 hostFamily;
+    BYTE pad;
+    CARD16 hostLength B16;
+} xChangeHostsReq;    
+
+typedef struct {
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    } xListHostsReq;
+
+typedef struct {
+    CARD8 reqType;
+    BYTE mode;
+    CARD16 length B16;
+    } xChangeModeReq;
+
+typedef xChangeModeReq xSetAccessControlReq;
+typedef xChangeModeReq xSetCloseDownModeReq;
+typedef xChangeModeReq xForceScreenSaverReq;
+
+typedef struct { /* followed by LIST of ATOM */
+    CARD8 reqType;
+    BYTE pad;
+    CARD16 length B16;
+    Window window B32;
+    CARD16 nAtoms B16;
+    INT16 nPositions B16;
+    } xRotatePropertiesReq;
+    
+\f
+
+/* Reply codes */
+
+#define X_Reply                1               /* Normal reply */
+#define X_Error                0               /* Error */
+
+/* Request codes */
+
+#define X_CreateWindow                  1              
+#define X_ChangeWindowAttributes        2        
+#define X_GetWindowAttributes           3     
+#define X_DestroyWindow                 4
+#define X_DestroySubwindows             5   
+#define X_ChangeSaveSet                 6
+#define X_ReparentWindow                7
+#define X_MapWindow                     8
+#define X_MapSubwindows                 9
+#define X_UnmapWindow                  10
+#define X_UnmapSubwindows              11  
+#define X_ConfigureWindow              12  
+#define X_CirculateWindow              13  
+#define X_GetGeometry                  14
+#define X_QueryTree                    15
+#define X_InternAtom                   16
+#define X_GetAtomName                  17
+#define X_ChangeProperty               18 
+#define X_DeleteProperty               19 
+#define X_GetProperty                  20
+#define X_ListProperties               21 
+#define X_SetSelectionOwner            22    
+#define X_GetSelectionOwner            23    
+#define X_ConvertSelection             24   
+#define X_SendEvent                    25
+#define X_GrabPointer                  26
+#define X_UngrabPointer                27
+#define X_GrabButton                   28
+#define X_UngrabButton                 29
+#define X_ChangeActivePointerGrab      30          
+#define X_GrabKeyboard                 31
+#define X_UngrabKeyboard               32 
+#define X_GrabKey                      33
+#define X_UngrabKey                    34
+#define X_AllowEvents                  35       
+#define X_GrabServer                   36      
+#define X_UngrabServer                 37        
+#define X_QueryPointer                 38        
+#define X_GetMotionEvents              39           
+#define X_TranslateCoords              40                
+#define X_WarpPointer                  41       
+#define X_SetInputFocus                42         
+#define X_GetInputFocus                43         
+#define X_QueryKeymap                  44       
+#define X_OpenFont                     45    
+#define X_CloseFont                    46     
+#define X_QueryFont                    47
+#define X_QueryTextExtents             48     
+#define X_ListFonts                    49  
+#define X_ListFontsWithInfo                   50 
+#define X_SetFontPath                  51 
+#define X_GetFontPath                  52 
+#define X_CreatePixmap                 53        
+#define X_FreePixmap                   54      
+#define X_CreateGC                     55    
+#define X_ChangeGC                     56    
+#define X_CopyGC                       57  
+#define X_SetDashes                    58     
+#define X_SetClipRectangles            59             
+#define X_FreeGC                       60  
+#define X_ClearArea                    61             
+#define X_CopyArea                     62    
+#define X_CopyPlane                    63     
+#define X_PolyPoint                    64     
+#define X_PolyLine                     65    
+#define X_PolySegment                  66       
+#define X_PolyRectangle                67         
+#define X_PolyArc                      68   
+#define X_FillPoly                     69    
+#define X_PolyFillRectangle            70             
+#define X_PolyFillArc                  71       
+#define X_PutImage                     72    
+#define X_GetImage                     73 
+#define X_PolyText8                    74     
+#define X_PolyText16                   75      
+#define X_ImageText8                   76      
+#define X_ImageText16                  77       
+#define X_CreateColormap               78          
+#define X_FreeColormap                 79        
+#define X_CopyColormapAndFree          80               
+#define X_InstallColormap              81           
+#define X_UninstallColormap            82             
+#define X_ListInstalledColormaps       83                  
+#define X_AllocColor                   84      
+#define X_AllocNamedColor              85           
+#define X_AllocColorCells              86           
+#define X_AllocColorPlanes             87            
+#define X_FreeColors                   88      
+#define X_StoreColors                  89       
+#define X_StoreNamedColor              90           
+#define X_QueryColors                  91       
+#define X_LookupColor                  92       
+#define X_CreateCursor                 93        
+#define X_CreateGlyphCursor            94             
+#define X_FreeCursor                   95      
+#define X_RecolorCursor                96         
+#define X_QueryBestSize                97         
+#define X_QueryExtension               98          
+#define X_ListExtensions               99          
+#define X_ChangeKeyboardMapping        100
+#define X_GetKeyboardMapping           101
+#define X_ChangeKeyboardControl        102                
+#define X_GetKeyboardControl           103             
+#define X_Bell                         104
+#define X_ChangePointerControl         105
+#define X_GetPointerControl            106
+#define X_SetScreenSaver               107          
+#define X_GetScreenSaver               108          
+#define X_ChangeHosts                  109       
+#define X_ListHosts                    110     
+#define X_SetAccessControl             111               
+#define X_SetCloseDownMode             112
+#define X_KillClient                   113 
+#define X_RotateProperties            114
+#define X_ForceScreenSaver            115
+#define X_SetPointerMapping            116
+#define X_GetPointerMapping            117
+#define X_SetModifierMapping          118
+#define X_GetModifierMapping          119
+#define X_NoOperation                  127
+
+/* restore these definitions back to the typedefs in X.h */
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef VisualID
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#endif /* XPROTO_H */
diff --git a/XOrg/headers/native/src/X11/Xprotostr.h b/XOrg/headers/native/src/X11/Xprotostr.h
new file mode 100644 (file)
index 0000000..f343d98
--- /dev/null
@@ -0,0 +1,78 @@
+/* $Xorg: Xprotostr.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $ */
+#ifndef XPROTOSTRUCTS_H
+#define XPROTOSTRUCTS_H
+
+/***********************************************************
+
+Copyright 1987, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL 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.
+
+******************************************************************/
+#include <X11/Xmd.h>
+
+/* Used by PolySegment */
+
+typedef struct _xSegment {
+    INT16 x1 B16, y1 B16, x2 B16, y2 B16;
+} xSegment;
+
+/* POINT */
+
+typedef struct _xPoint {
+       INT16           x B16, y B16;
+} xPoint;
+
+typedef struct _xRectangle {
+    INT16 x B16, y B16;
+    CARD16  width B16, height B16;
+} xRectangle;
+
+/*  ARC  */
+
+typedef struct _xArc {
+    INT16 x B16, y B16;
+    CARD16   width B16, height B16;
+    INT16   angle1 B16, angle2 B16;
+} xArc;
+
+#endif /* XPROTOSTRUCTS_H */
diff --git a/XOrg/headers/native/src/X11/Xregion.h b/XOrg/headers/native/src/X11/Xregion.h
new file mode 100644 (file)
index 0000000..2ddf12c
--- /dev/null
@@ -0,0 +1,190 @@
+/* $Xorg: region.h,v 1.4 2001/02/09 02:03:40 xorgcvs Exp $ */
+/************************************************************************
+
+Copyright 1987, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+************************************************************************/
+
+#ifndef _XREGION_H
+#define _XREGION_H
+
+typedef struct {
+    short x1, x2, y1, y2;
+} Box, BOX, BoxRec, *BoxPtr;
+
+typedef struct {
+    short x, y, width, height;
+}RECTANGLE, RectangleRec, *RectanglePtr;
+
+#define TRUE 1
+#define FALSE 0
+#define MAXSHORT 32767
+#define MINSHORT -MAXSHORT
+#ifndef MAX
+#define MAX(a,b) (((a) > (b)) ? (a) : (b))
+#endif
+#ifndef MIN
+#define MIN(a,b) (((a) < (b)) ? (a) : (b))
+#endif
+
+
+/* 
+ *   clip region
+ */
+
+typedef struct _XRegion {
+    long size;
+    long numRects;
+    BOX *rects;
+    BOX extents;
+} REGION;
+
+/* Xutil.h contains the declaration: 
+ * typedef struct _XRegion *Region; 
+ */   
+
+/*  1 if two BOXs overlap.
+ *  0 if two BOXs do not overlap.
+ *  Remember, x2 and y2 are not in the region 
+ */
+#define EXTENTCHECK(r1, r2) \
+       ((r1)->x2 > (r2)->x1 && \
+        (r1)->x1 < (r2)->x2 && \
+        (r1)->y2 > (r2)->y1 && \
+        (r1)->y1 < (r2)->y2)
+
+/*
+ *  update region extents
+ */
+#define EXTENTS(r,idRect){\
+            if((r)->x1 < (idRect)->extents.x1)\
+              (idRect)->extents.x1 = (r)->x1;\
+            if((r)->y1 < (idRect)->extents.y1)\
+              (idRect)->extents.y1 = (r)->y1;\
+            if((r)->x2 > (idRect)->extents.x2)\
+              (idRect)->extents.x2 = (r)->x2;\
+            if((r)->y2 > (idRect)->extents.y2)\
+              (idRect)->extents.y2 = (r)->y2;\
+        }
+
+/*
+ *   Check to see if there is enough memory in the present region.
+ */
+#define MEMCHECK(reg, rect, firstrect){\
+        if ((reg)->numRects >= ((reg)->size - 1)){\
+          (firstrect) = (BOX *) Xrealloc \
+          ((char *)(firstrect), (unsigned) (2 * (sizeof(BOX)) * ((reg)->size)));\
+          if ((firstrect) == 0)\
+            return(0);\
+          (reg)->size *= 2;\
+          (rect) = &(firstrect)[(reg)->numRects];\
+         }\
+       }
+
+/*  this routine checks to see if the previous rectangle is the same
+ *  or subsumes the new rectangle to add.
+ */
+
+#define CHECK_PREVIOUS(Reg, R, Rx1, Ry1, Rx2, Ry2)\
+               (!(((Reg)->numRects > 0)&&\
+                  ((R-1)->y1 == (Ry1)) &&\
+                  ((R-1)->y2 == (Ry2)) &&\
+                  ((R-1)->x1 <= (Rx1)) &&\
+                  ((R-1)->x2 >= (Rx2))))
+
+/*  add a rectangle to the given Region */
+#define ADDRECT(reg, r, rx1, ry1, rx2, ry2){\
+    if (((rx1) < (rx2)) && ((ry1) < (ry2)) &&\
+        CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
+              (r)->x1 = (rx1);\
+              (r)->y1 = (ry1);\
+              (r)->x2 = (rx2);\
+              (r)->y2 = (ry2);\
+              EXTENTS((r), (reg));\
+              (reg)->numRects++;\
+              (r)++;\
+            }\
+        }
+
+
+
+/*  add a rectangle to the given Region */
+#define ADDRECTNOX(reg, r, rx1, ry1, rx2, ry2){\
+            if ((rx1 < rx2) && (ry1 < ry2) &&\
+                CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
+              (r)->x1 = (rx1);\
+              (r)->y1 = (ry1);\
+              (r)->x2 = (rx2);\
+              (r)->y2 = (ry2);\
+              (reg)->numRects++;\
+              (r)++;\
+            }\
+        }
+
+#define EMPTY_REGION(pReg) pReg->numRects = 0
+
+#define REGION_NOT_EMPTY(pReg) pReg->numRects
+
+#define INBOX(r, x, y) \
+      ( ( ((r).x2 >  x)) && \
+        ( ((r).x1 <= x)) && \
+        ( ((r).y2 >  y)) && \
+        ( ((r).y1 <= y)) )
+
+/*
+ * number of points to buffer before sending them off
+ * to scanlines() :  Must be an even number
+ */
+#define NUMPTSTOBUFFER 200
+
+/*
+ * used to allocate buffers for points and link
+ * the buffers together
+ */
+typedef struct _POINTBLOCK {
+    XPoint pts[NUMPTSTOBUFFER];
+    struct _POINTBLOCK *next;
+} POINTBLOCK;
+
+#endif
diff --git a/XOrg/headers/native/src/X11/Xresource.h b/XOrg/headers/native/src/X11/Xresource.h
new file mode 100644 (file)
index 0000000..ce12137
--- /dev/null
@@ -0,0 +1,360 @@
+/* $Xorg: Xresource.h,v 1.7 2001/02/09 02:03:39 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1988, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/X11/Xresource.h,v 3.8 2001/12/14 19:54:10 dawes Exp $ */
+
+#ifndef _XRESOURCE_H_
+#define _XRESOURCE_H_
+
+#ifndef _XP_PRINT_SERVER_
+#include <X11/Xlib.h>
+#endif
+
+/****************************************************************
+ ****************************************************************
+ ***                                                          ***
+ ***                                                          ***
+ ***          X Resource Manager Intrinsics                   ***
+ ***                                                          ***
+ ***                                                          ***
+ ****************************************************************
+ ****************************************************************/
+
+_XFUNCPROTOBEGIN
+
+/****************************************************************
+ *
+ * Memory Management
+ *
+ ****************************************************************/
+
+extern char *Xpermalloc(
+    unsigned int       /* size */
+);
+
+/****************************************************************
+ *
+ * Quark Management
+ *
+ ****************************************************************/
+
+typedef int       XrmQuark, *XrmQuarkList;
+#define NULLQUARK ((XrmQuark) 0)
+
+typedef char *XrmString;
+#define NULLSTRING ((XrmString) 0)
+
+/* find quark for string, create new quark if none already exists */
+extern XrmQuark XrmStringToQuark(
+    _Xconst char*      /* string */
+);
+
+extern XrmQuark XrmPermStringToQuark(
+    _Xconst char*      /* string */
+);
+
+/* find string for quark */
+extern XrmString XrmQuarkToString(
+    XrmQuark           /* quark */
+);
+
+extern XrmQuark XrmUniqueQuark(
+    void
+);
+
+#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
+
+
+/****************************************************************
+ *
+ * Conversion of Strings to Lists
+ *
+ ****************************************************************/
+
+typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
+
+extern void XrmStringToQuarkList(
+    _Xconst char*      /* string */,
+    XrmQuarkList       /* quarks_return */
+);
+
+extern void XrmStringToBindingQuarkList(
+    _Xconst char*      /* string */,
+    XrmBindingList     /* bindings_return */,
+    XrmQuarkList       /* quarks_return */
+);
+
+/****************************************************************
+ *
+ * Name and Class lists.
+ *
+ ****************************************************************/
+
+typedef XrmQuark     XrmName;
+typedef XrmQuarkList XrmNameList;
+#define XrmNameToString(name)          XrmQuarkToString(name)
+#define XrmStringToName(string)                XrmStringToQuark(string)
+#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name)
+
+typedef XrmQuark     XrmClass;
+typedef XrmQuarkList XrmClassList;
+#define XrmClassToString(c_class)      XrmQuarkToString(c_class)
+#define XrmStringToClass(c_class)      XrmStringToQuark(c_class)
+#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class)
+
+
+
+/****************************************************************
+ *
+ * Resource Representation Types and Values
+ *
+ ****************************************************************/
+
+typedef XrmQuark     XrmRepresentation;
+#define XrmStringToRepresentation(string)   XrmStringToQuark(string)
+#define        XrmRepresentationToString(type)   XrmQuarkToString(type)
+
+typedef struct {
+    unsigned int    size;
+    XPointer       addr;
+} XrmValue, *XrmValuePtr;
+
+
+/****************************************************************
+ *
+ * Resource Manager Functions
+ *
+ ****************************************************************/
+
+typedef struct _XrmHashBucketRec *XrmHashBucket;
+typedef XrmHashBucket *XrmHashTable;
+typedef XrmHashTable XrmSearchList[];
+typedef struct _XrmHashBucketRec *XrmDatabase;
+
+
+extern void XrmDestroyDatabase(
+    XrmDatabase                /* database */    
+);
+
+extern void XrmQPutResource(
+    XrmDatabase*       /* database */,
+    XrmBindingList     /* bindings */,
+    XrmQuarkList       /* quarks */,
+    XrmRepresentation  /* type */,
+    XrmValue*          /* value */
+);
+
+extern void XrmPutResource(
+    XrmDatabase*       /* database */,
+    _Xconst char*      /* specifier */,
+    _Xconst char*      /* type */,
+    XrmValue*          /* value */
+);
+
+extern void XrmQPutStringResource(
+    XrmDatabase*       /* database */,
+    XrmBindingList      /* bindings */,
+    XrmQuarkList       /* quarks */,
+    _Xconst char*      /* value */
+);
+
+extern void XrmPutStringResource(
+    XrmDatabase*       /* database */,
+    _Xconst char*      /* specifier */,
+    _Xconst char*      /* value */
+);
+
+extern void XrmPutLineResource(
+    XrmDatabase*       /* database */,
+    _Xconst char*      /* line */
+);
+
+extern Bool XrmQGetResource(
+    XrmDatabase                /* database */,
+    XrmNameList                /* quark_name */,
+    XrmClassList       /* quark_class */,
+    XrmRepresentation* /* quark_type_return */,
+    XrmValue*          /* value_return */
+);
+
+extern Bool XrmGetResource(
+    XrmDatabase                /* database */,
+    _Xconst char*      /* str_name */,
+    _Xconst char*      /* str_class */,
+    char**             /* str_type_return */,
+    XrmValue*          /* value_return */
+);
+
+extern Bool XrmQGetSearchList(
+    XrmDatabase                /* database */,
+    XrmNameList                /* names */,
+    XrmClassList       /* classes */,
+    XrmSearchList      /* list_return */,
+    int                        /* list_length */
+);
+
+extern Bool XrmQGetSearchResource(
+    XrmSearchList      /* list */,
+    XrmName            /* name */,
+    XrmClass           /* class */,
+    XrmRepresentation* /* type_return */,
+    XrmValue*          /* value_return */
+);
+
+/****************************************************************
+ *
+ * Resource Database Management
+ *
+ ****************************************************************/
+
+#ifndef _XP_PRINT_SERVER_
+
+extern void XrmSetDatabase(
+    Display*           /* display */,
+    XrmDatabase                /* database */
+);
+
+extern XrmDatabase XrmGetDatabase(
+    Display*           /* display */
+);
+
+#endif /* !_XP_PRINT_SERVER_ */
+
+extern XrmDatabase XrmGetFileDatabase(
+    _Xconst char*      /* filename */
+);
+
+extern Status XrmCombineFileDatabase(
+    _Xconst char*      /* filename */,
+    XrmDatabase*       /* target */,
+    Bool               /* override */
+);
+
+extern XrmDatabase XrmGetStringDatabase(
+    _Xconst char*      /* data */  /*  null terminated string */
+);
+
+extern void XrmPutFileDatabase(
+    XrmDatabase                /* database */,
+    _Xconst char*      /* filename */
+);
+
+extern void XrmMergeDatabases(
+    XrmDatabase                /* source_db */,
+    XrmDatabase*       /* target_db */
+);
+
+extern void XrmCombineDatabase(
+    XrmDatabase                /* source_db */,
+    XrmDatabase*       /* target_db */,
+    Bool               /* override */
+);
+
+#define XrmEnumAllLevels 0
+#define XrmEnumOneLevel  1
+
+extern Bool XrmEnumerateDatabase(
+    XrmDatabase                /* db */,
+    XrmNameList                /* name_prefix */,
+    XrmClassList       /* class_prefix */,
+    int                        /* mode */,
+    Bool (*)(
+            XrmDatabase*       /* db */,
+            XrmBindingList     /* bindings */,
+            XrmQuarkList       /* quarks */,
+            XrmRepresentation* /* type */,
+            XrmValue*          /* value */,
+            XPointer           /* closure */
+            )          /* proc */,
+    XPointer           /* closure */
+);
+
+extern const char *XrmLocaleOfDatabase(
+    XrmDatabase        /* database */
+);
+
+
+/****************************************************************
+ *
+ * Command line option mapping to resource entries
+ *
+ ****************************************************************/
+
+typedef enum {
+    XrmoptionNoArg,    /* Value is specified in OptionDescRec.value        */
+    XrmoptionIsArg,     /* Value is the option string itself               */
+    XrmoptionStickyArg, /* Value is characters immediately following option */
+    XrmoptionSepArg,    /* Value is next argument in argv                  */
+    XrmoptionResArg,   /* Resource and value in next argument in argv      */
+    XrmoptionSkipArg,   /* Ignore this option and the next argument in argv */
+    XrmoptionSkipLine,  /* Ignore this option and the rest of argv         */
+    XrmoptionSkipNArgs /* Ignore this option and the next 
+                          OptionDescRes.value arguments in argv */
+} XrmOptionKind;
+
+typedef struct {
+    char           *option;        /* Option abbreviation in argv          */
+    char           *specifier;     /* Resource specifier                   */
+    XrmOptionKind   argKind;       /* Which style of option it is          */
+    XPointer       value;          /* Value to provide if XrmoptionNoArg   */
+} XrmOptionDescRec, *XrmOptionDescList;
+
+
+extern void XrmParseCommand(
+    XrmDatabase*       /* database */,
+    XrmOptionDescList  /* table */,
+    int                        /* table_count */,
+    _Xconst char*      /* name */,
+    int*               /* argc_in_out */,
+    char**             /* argv_in_out */                    
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XRESOURCE_H_ */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/Xthreads.h b/XOrg/headers/native/src/X11/Xthreads.h
new file mode 100644 (file)
index 0000000..54b5440
--- /dev/null
@@ -0,0 +1,316 @@
+/*
+ * $Xorg: Xthreads.h,v 1.5 2001/02/09 02:03:23 xorgcvs Exp $
+ *
+ * 
+Copyright 1993, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ * *
+ */
+/* $XFree86: Xthreads.h,v 3.10 2001/12/14 19:53:26 dawes Exp $ */
+
+#ifndef _XTHREADS_H_
+#define _XTHREADS_H_
+
+/* Redefine these to XtMalloc/XtFree or whatever you want before including
+ * this header file.
+ */
+#ifndef xmalloc
+#define xmalloc malloc
+#endif
+#ifndef xfree
+#define xfree free
+#endif
+
+#ifdef CTHREADS
+#include <cthreads.h>
+typedef cthread_t xthread_t;
+typedef struct condition xcondition_rec;
+typedef struct mutex xmutex_rec;
+#define xthread_init() cthread_init()
+#define xthread_self cthread_self
+#define xthread_fork(func,closure) cthread_fork(func,closure)
+#define xthread_yield() cthread_yield()
+#define xthread_exit(v) cthread_exit(v)
+#define xthread_set_name(t,str) cthread_set_name(t,str)
+#define xmutex_init(m) mutex_init(m)
+#define xmutex_clear(m) mutex_clear(m)
+#define xmutex_lock(m) mutex_lock(m)
+#define xmutex_unlock(m) mutex_unlock(m)
+#define xmutex_set_name(m,str) mutex_set_name(m,str)
+#define xcondition_init(cv) condition_init(cv)
+#define xcondition_clear(cv) condition_clear(cv)
+#define xcondition_wait(cv,m) condition_wait(cv,m)
+#define xcondition_signal(cv) condition_signal(cv)
+#define xcondition_broadcast(cv) condition_broadcast(cv)
+#define xcondition_set_name(cv,str) condition_set_name(cv,str)
+#else /* !CTHREADS */
+#if defined(SVR4) && !defined(__sgi) && !defined(_SEQUENT_)
+#include <thread.h>
+#include <synch.h>
+typedef thread_t xthread_t;
+typedef thread_key_t xthread_key_t;
+typedef cond_t xcondition_rec;
+typedef mutex_t xmutex_rec;
+#if defined(__UNIXWARE__)
+extern xthread_t (*_x11_thr_self)();
+#define xthread_self  (_x11_thr_self)
+#else
+#define xthread_self thr_self
+#endif
+#define xthread_fork(func,closure) thr_create(NULL,0,func,closure,THR_NEW_LWP|THR_DETACHED,NULL)
+#define xthread_yield() thr_yield()
+#define xthread_exit(v) thr_exit(v)
+#define xthread_key_create(kp,d) thr_keycreate(kp,d)
+#ifdef sun
+#define xthread_key_delete(k) 0
+#else
+#define xthread_key_delete(k) thr_keydelete(k)
+#endif
+#define xthread_set_specific(k,v) thr_setspecific(k,v)
+#define xthread_get_specific(k,vp) thr_getspecific(k,vp)
+#define xmutex_init(m) mutex_init(m,USYNC_THREAD,0)
+#define xmutex_clear(m) mutex_destroy(m)
+#define xmutex_lock(m) mutex_lock(m)
+#define xmutex_unlock(m) mutex_unlock(m)
+#define xcondition_init(cv) cond_init(cv,USYNC_THREAD,0)
+#define xcondition_clear(cv) cond_destroy(cv)
+#define xcondition_wait(cv,m) cond_wait(cv,m)
+#define xcondition_signal(cv) cond_signal(cv)
+#define xcondition_broadcast(cv) cond_broadcast(cv)
+#else /* !SVR4 */
+#ifdef WIN32
+#include <X11/Xwindows.h>
+typedef DWORD xthread_t;
+typedef DWORD xthread_key_t;
+struct _xthread_waiter {
+    HANDLE sem;
+    struct _xthread_waiter *next;
+};
+typedef struct {
+    CRITICAL_SECTION cs;
+    struct _xthread_waiter *waiters;
+} xcondition_rec;
+typedef CRITICAL_SECTION xmutex_rec;
+#define xthread_init() _Xthread_init()
+#define xthread_self GetCurrentThreadId
+#define xthread_fork(func,closure) { \
+    DWORD _tmptid; \
+    CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)func, (LPVOID)closure, 0, \
+                &_tmptid); \
+}
+#define xthread_yield() Sleep(0)
+#define xthread_exit(v) ExitThread((DWORD)(v))
+#define xthread_key_create(kp,d) *(kp) = TlsAlloc()
+#define xthread_key_delete(k) TlsFree(k)
+#define xthread_set_specific(k,v) TlsSetValue(k,v)
+#define xthread_get_specific(k,vp) TlsGetValue(k)
+#define xmutex_init(m) InitializeCriticalSection(m)
+#define xmutex_clear(m) DeleteCriticalSection(m)
+#define _XMUTEX_NESTS
+#define xmutex_lock(m) EnterCriticalSection(m)
+#define xmutex_unlock(m) LeaveCriticalSection(m)
+#define xcondition_init(cv) { \
+    InitializeCriticalSection(&(cv)->cs); \
+    (cv)->waiters = NULL; \
+}
+#define xcondition_clear(cv) DeleteCriticalSection(&(cv)->cs)
+extern struct _xthread_waiter *_Xthread_waiter();
+#define xcondition_wait(cv,m) { \
+    struct _xthread_waiter *_tmpthr = _Xthread_waiter(); \
+    EnterCriticalSection(&(cv)->cs); \
+    _tmpthr->next = (cv)->waiters; \
+    (cv)->waiters = _tmpthr; \
+    LeaveCriticalSection(&(cv)->cs); \
+    LeaveCriticalSection(m); \
+    WaitForSingleObject(_tmpthr->sem, INFINITE); \
+    EnterCriticalSection(m); \
+}
+#define xcondition_signal(cv) { \
+    EnterCriticalSection(&(cv)->cs); \
+    if ((cv)->waiters) { \
+        ReleaseSemaphore((cv)->waiters->sem, 1, NULL); \
+       (cv)->waiters = (cv)->waiters->next; \
+    } \
+    LeaveCriticalSection(&(cv)->cs); \
+}
+#define xcondition_broadcast(cv) { \
+    struct _xthread_waiter *_tmpthr; \
+    EnterCriticalSection(&(cv)->cs); \
+    for (_tmpthr = (cv)->waiters; _tmpthr; _tmpthr = _tmpthr->next) \
+       ReleaseSemaphore(_tmpthr->sem, 1, NULL); \
+    (cv)->waiters = NULL; \
+    LeaveCriticalSection(&(cv)->cs); \
+}
+#else /* !WIN32 */
+#ifdef USE_TIS_SUPPORT
+/*
+ * TIS support is intended for thread safe libraries.
+ * This should not be used for general client programming.
+ */
+#include <tis.h>
+typedef pthread_t xthread_t;
+typedef pthread_key_t xthread_key_t;
+typedef pthread_cond_t xcondition_rec;
+typedef pthread_mutex_t xmutex_rec;
+#define xthread_self tis_self
+#define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+        pthread_create(&_tmpxthr,NULL,func,closure); }
+#define xthread_yield() pthread_yield_np()
+#define xthread_exit(v) pthread_exit(v)
+#define xthread_key_create(kp,d) tis_key_create(kp,d)
+#define xthread_key_delete(k) tis_key_delete(k)
+#define xthread_set_specific(k,v) tis_setspecific(k,v)
+#define xthread_get_specific(k,vp) *(vp) = tis_getspecific(k)
+#define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+#define xmutex_init(m) tis_mutex_init(m)
+#define xmutex_clear(m) tis_mutex_destroy(m)
+#define xmutex_lock(m) tis_mutex_lock(m)
+#define xmutex_unlock(m) tis_mutex_unlock(m)
+#define xcondition_init(c) tis_cond_init(c)
+#define xcondition_clear(c) tis_cond_destroy(c)
+#define xcondition_wait(c,m) tis_cond_wait(c,m)
+#define xcondition_signal(c) tis_cond_signal(c)
+#define xcondition_broadcast(c) tis_cond_broadcast(c)
+#else
+#ifdef USE_NBSD_THREADLIB
+/*
+ * NetBSD threadlib support is intended for thread safe libraries.
+ * This should not be used for general client programming.
+ */
+#include <threadlib.h>
+typedef thr_t xthread_t;
+typedef thread_key_t xthread_key_t;
+typedef cond_t xcondition_rec;
+typedef mutex_t xmutex_rec;
+#define xthread_self thr_self
+#define xthread_fork(func,closure) { thr_t _tmpxthr; \
+       /* XXX Create it detached?  --thorpej */ \
+       thr_create(&_tmpxthr,NULL,func,closure); }
+#define xthread_yield() thr_yield()
+#define xthread_exit(v) thr_exit(v)
+#define xthread_key_create(kp,d) thr_keycreate(kp,d)
+#define xthread_key_delete(k) thr_keydelete(k)
+#define xthread_set_specific(k,v) thr_setspecific(k,v)
+#define xthread_get_specific(k,vp) *(vp) = thr_getspecific(k)
+#define XMUTEX_INITIALIZER MUTEX_INITIALIZER
+#define xmutex_init(m) mutex_init(m, 0)
+#define xmutex_clear(m) mutex_destroy(m)
+#define xmutex_lock(m) mutex_lock(m)
+#define xmutex_unlock(m) mutex_unlock(m)
+#define xcondition_init(c) cond_init(c, 0, 0)
+#define xcondition_clear(c) cond_destroy(c)
+#define xcondition_wait(c,m) cond_wait(c,m)
+#define xcondition_signal(c) cond_signal(c)
+#define xcondition_broadcast(c) cond_broadcast(c)
+#else
+#include <pthread.h>
+typedef pthread_t xthread_t;
+typedef pthread_key_t xthread_key_t;
+typedef pthread_cond_t xcondition_rec;
+typedef pthread_mutex_t xmutex_rec;
+#define xthread_self pthread_self
+#define xthread_yield() pthread_yield()
+#define xthread_exit(v) pthread_exit(v)
+#define xthread_set_specific(k,v) pthread_setspecific(k,v)
+#define xmutex_clear(m) pthread_mutex_destroy(m)
+#define xmutex_lock(m) pthread_mutex_lock(m)
+#define xmutex_unlock(m) pthread_mutex_unlock(m)
+#ifndef XPRE_STANDARD_API
+#define xthread_key_create(kp,d) pthread_key_create(kp,d)
+#define xthread_key_delete(k) pthread_key_delete(k)
+#define xthread_get_specific(k,vp) *(vp) = pthread_getspecific(k)
+#define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+       pthread_create(&_tmpxthr,NULL,func,closure); }
+#define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+#define xmutex_init(m) pthread_mutex_init(m, NULL)
+#define xcondition_init(c) pthread_cond_init(c, NULL)
+#else /* XPRE_STANDARD_API */
+#define xthread_key_create(kp,d) pthread_keycreate(kp,d)
+#define xthread_key_delete(k) 0
+#define xthread_get_specific(k,vp) pthread_getspecific(k,vp)
+#define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+       pthread_create(&_tmpxthr,pthread_attr_default,func,closure); }
+#define xmutex_init(m) pthread_mutex_init(m, pthread_mutexattr_default)
+#define xcondition_init(c) pthread_cond_init(c, pthread_condattr_default)
+#endif /* XPRE_STANDARD_API */
+#define xcondition_clear(c) pthread_cond_destroy(c)
+#define xcondition_wait(c,m) pthread_cond_wait(c,m)
+#define xcondition_signal(c) pthread_cond_signal(c)
+#define xcondition_broadcast(c) pthread_cond_broadcast(c)
+#if defined(_DECTHREADS_)
+static xthread_t _X_no_thread_id;
+#define xthread_have_id(id) !pthread_equal(id, _X_no_thread_id)
+#define xthread_clear_id(id) id = _X_no_thread_id
+#define xthread_equal(id1,id2) pthread_equal(id1, id2)
+#endif /* _DECTHREADS_ */
+#if defined(__linux__)
+#define xthread_have_id(id) !pthread_equal(id, 0)
+#define xthread_clear_id(id) id = 0
+#define xthread_equal(id1,id2) pthread_equal(id1, id2)
+#endif /* linux */
+#if defined(_CMA_VENDOR_) && defined(_CMA__IBM) && (_CMA_VENDOR_ == _CMA__IBM)
+#ifdef DEBUG                   /* too much of a hack to enable normally */
+/* see also cma__obj_set_name() */
+#define xmutex_set_name(m,str) ((char**)(m)->field1)[5] = (str)
+#define xcondition_set_name(cv,str) ((char**)(cv)->field1)[5] = (str)
+#endif /* DEBUG */
+#endif /* _CMA_VENDOR_ == _CMA__IBM */
+#endif /* USE_NBSD_THREADLIB */
+#endif /* USE_TIS_SUPPORT */
+#endif /* WIN32 */
+#endif /* SVR4 */
+#endif /* CTHREADS */
+typedef xcondition_rec *xcondition_t;
+typedef xmutex_rec *xmutex_t;
+#ifndef xcondition_malloc
+#define xcondition_malloc() (xcondition_t)xmalloc(sizeof(xcondition_rec))
+#endif
+#ifndef xcondition_free
+#define xcondition_free(c) xfree((char *)c)
+#endif
+#ifndef xmutex_malloc
+#define xmutex_malloc() (xmutex_t)xmalloc(sizeof(xmutex_rec))
+#endif
+#ifndef xmutex_free
+#define xmutex_free(m) xfree((char *)m)
+#endif
+#ifndef xthread_have_id
+#define xthread_have_id(id) id
+#endif
+#ifndef xthread_clear_id
+#define xthread_clear_id(id) id = 0
+#endif
+#ifndef xthread_equal
+#define xthread_equal(id1,id2) ((id1) == (id2))
+#endif
+/* aids understood by some debuggers */
+#ifndef xthread_set_name
+#define xthread_set_name(t,str)
+#endif
+#ifndef xmutex_set_name
+#define xmutex_set_name(m,str)
+#endif
+#ifndef xcondition_set_name
+#define xcondition_set_name(cv,str)
+#endif
+
+#endif /* _XTHREADS_H_ */
diff --git a/XOrg/headers/native/src/X11/Xtos.h b/XOrg/headers/native/src/X11/Xtos.h
new file mode 100644 (file)
index 0000000..013b241
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+* $Xorg: Xtos.h,v 1.4 2001/02/09 02:03:59 xorgcvs Exp $
+*/
+
+/***********************************************************
+
+Copyright 1987, 1988, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/Xt/Xtos.h,v 3.12tsi Exp $ */
+
+#ifndef _Xtos_h
+#define _Xtos_h
+
+#define ALLOCATE_LOCAL_FALLBACK(_size) XtMalloc((unsigned long)(_size))
+#define DEALLOCATE_LOCAL_FALLBACK(_ptr) XtFree((XtPointer)(_ptr))
+#include <X11/Xalloca.h>
+
+#ifdef CRAY
+#define WORD64
+#endif
+
+#if defined (_LP64) || \
+    defined(__alpha) || defined(__alpha__) || \
+    defined(__ia64__) || defined(ia64) || \
+    defined(__sparc64__) || \
+    defined(__s390x__) || \
+    (defined(__hppa__) && defined(__LP64__)) || \
+    defined(__amd64__) || defined(amd64) || \
+    defined(__powerpc64__) || \
+    (defined(sgi) && (_MIPS_SZLONG == 64))
+#define LONG64
+#endif
+
+#endif /* _Xtos_h */
+/* DON'T ADD STUFF AFTER THIS #endif */
diff --git a/XOrg/headers/native/src/X11/Xutil.h b/XOrg/headers/native/src/X11/Xutil.h
new file mode 100644 (file)
index 0000000..9f2ef63
--- /dev/null
@@ -0,0 +1,828 @@
+/* $Xorg: Xutil.h,v 1.8 2001/02/09 02:03:39 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/lib/X11/Xutil.h,v 3.6 2003/04/13 19:22:20 dawes Exp $ */
+
+#ifndef _XUTIL_H_
+#define _XUTIL_H_
+
+/* You must include <X11/Xlib.h> before including this file */
+#include <X11/Xlib.h>
+#include <X11/keysym.h>
+
+/* 
+ * Bitmask returned by XParseGeometry().  Each bit tells if the corresponding
+ * value (x, y, width, height) was found in the parsed string.
+ */
+#define NoValue                0x0000
+#define XValue         0x0001
+#define YValue         0x0002
+#define WidthValue     0x0004
+#define HeightValue    0x0008
+#define AllValues      0x000F
+#define XNegative      0x0010
+#define YNegative      0x0020
+
+/*
+ * new version containing base_width, base_height, and win_gravity fields;
+ * used with WM_NORMAL_HINTS.
+ */
+typedef struct {
+       long flags;     /* marks which fields in this structure are defined */
+       int x, y;               /* obsolete for new window mgrs, but clients */
+       int width, height;      /* should set so old wm's don't mess up */
+       int min_width, min_height;
+       int max_width, max_height;
+       int width_inc, height_inc;
+       struct {
+               int x;  /* numerator */
+               int y;  /* denominator */
+       } min_aspect, max_aspect;
+       int base_width, base_height;            /* added by ICCCM version 1 */
+       int win_gravity;                        /* added by ICCCM version 1 */
+} XSizeHints;
+
+/*
+ * The next block of definitions are for window manager properties that
+ * clients and applications use for communication.
+ */
+
+/* flags argument in size hints */
+#define USPosition     (1L << 0) /* user specified x, y */
+#define USSize         (1L << 1) /* user specified width, height */
+
+#define PPosition      (1L << 2) /* program specified position */
+#define PSize          (1L << 3) /* program specified size */
+#define PMinSize       (1L << 4) /* program specified minimum size */
+#define PMaxSize       (1L << 5) /* program specified maximum size */
+#define PResizeInc     (1L << 6) /* program specified resize increments */
+#define PAspect                (1L << 7) /* program specified min and max aspect ratios */
+#define PBaseSize      (1L << 8) /* program specified base for incrementing */
+#define PWinGravity    (1L << 9) /* program specified window gravity */
+
+/* obsolete */
+#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
+
+
+
+typedef struct {
+       long flags;     /* marks which fields in this structure are defined */
+       Bool input;     /* does this application rely on the window manager to
+                       get keyboard input? */
+       int initial_state;      /* see below */
+       Pixmap icon_pixmap;     /* pixmap to be used as icon */
+       Window icon_window;     /* window to be used as icon */
+       int icon_x, icon_y;     /* initial position of icon */
+       Pixmap icon_mask;       /* icon mask bitmap */
+       XID window_group;       /* id of related window group */
+       /* this structure may be extended in the future */
+} XWMHints;
+
+/* definition for flags of XWMHints */
+
+#define InputHint              (1L << 0)
+#define StateHint              (1L << 1)
+#define IconPixmapHint         (1L << 2)
+#define IconWindowHint         (1L << 3)
+#define IconPositionHint       (1L << 4)
+#define IconMaskHint           (1L << 5)
+#define WindowGroupHint                (1L << 6)
+#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
+IconPositionHint|IconMaskHint|WindowGroupHint)
+#define XUrgencyHint           (1L << 8)
+
+/* definitions for initial window state */
+#define WithdrawnState 0       /* for windows that are not mapped */
+#define NormalState 1  /* most applications want to start this way */
+#define IconicState 3  /* application wants to start as an icon */
+
+/*
+ * Obsolete states no longer defined by ICCCM
+ */
+#define DontCareState 0        /* don't know or care */
+#define ZoomState 2    /* application wants to start zoomed */
+#define InactiveState 4        /* application believes it is seldom used; */
+                       /* some wm's may put it on inactive menu */
+
+
+/*
+ * new structure for manipulating TEXT properties; used with WM_NAME, 
+ * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
+ */
+typedef struct {
+    unsigned char *value;              /* same as Property routines */
+    Atom encoding;                     /* prop type */
+    int format;                                /* prop data format: 8, 16, or 32 */
+    unsigned long nitems;              /* number of data items in value */
+} XTextProperty;
+
+#define XNoMemory -1
+#define XLocaleNotSupported -2
+#define XConverterNotFound -3
+
+typedef enum {
+    XStringStyle,              /* STRING */
+    XCompoundTextStyle,                /* COMPOUND_TEXT */
+    XTextStyle,                        /* text in owner's encoding (current locale)*/
+    XStdICCTextStyle,          /* STRING, else COMPOUND_TEXT */
+    /* The following is an XFree86 extension, introduced in November 2000 */
+    XUTF8StringStyle           /* UTF8_STRING */
+} XICCEncodingStyle;
+
+typedef struct {
+       int min_width, min_height;
+       int max_width, max_height;
+       int width_inc, height_inc;
+} XIconSize;
+
+typedef struct {
+       char *res_name;
+       char *res_class;
+} XClassHint;
+
+#ifdef XUTIL_DEFINE_FUNCTIONS
+extern int XDestroyImage(
+        XImage *ximage);
+extern unsigned long XGetPixel(
+        XImage *ximage,
+        int x, int y);
+extern int XPutPixel(
+        XImage *ximage,
+        int x, int y,
+        unsigned long pixel);
+extern XImage *XSubImage(
+        XImage *ximage,
+        int x, int y,
+        unsigned int width, unsigned int height);
+extern int XAddPixel(
+        XImage *ximage,
+        long value);
+#else
+/*
+ * These macros are used to give some sugar to the image routines so that
+ * naive people are more comfortable with them.
+ */
+#define XDestroyImage(ximage) \
+       ((*((ximage)->f.destroy_image))((ximage)))
+#define XGetPixel(ximage, x, y) \
+       ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
+#define XPutPixel(ximage, x, y, pixel) \
+       ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
+#define XSubImage(ximage, x, y, width, height)  \
+       ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
+#define XAddPixel(ximage, value) \
+       ((*((ximage)->f.add_pixel))((ximage), (value)))
+#endif
+
+/*
+ * Compose sequence status structure, used in calling XLookupString.
+ */
+typedef struct _XComposeStatus {
+    XPointer compose_ptr;      /* state table pointer */
+    int chars_matched;         /* match state */
+} XComposeStatus;
+
+/*
+ * Keysym macros, used on Keysyms to test for classes of symbols
+ */
+#define IsKeypadKey(keysym) \
+  (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
+
+#define IsPrivateKeypadKey(keysym) \
+  (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
+
+#define IsCursorKey(keysym) \
+  (((KeySym)(keysym) >= XK_Home)     && ((KeySym)(keysym) <  XK_Select))
+
+#define IsPFKey(keysym) \
+  (((KeySym)(keysym) >= XK_KP_F1)     && ((KeySym)(keysym) <= XK_KP_F4))
+
+#define IsFunctionKey(keysym) \
+  (((KeySym)(keysym) >= XK_F1)       && ((KeySym)(keysym) <= XK_F35))
+
+#define IsMiscFunctionKey(keysym) \
+  (((KeySym)(keysym) >= XK_Select)   && ((KeySym)(keysym) <= XK_Break))
+
+#ifdef XK_XKB_KEYS
+#define IsModifierKey(keysym) \
+  ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
+   || (((KeySym)(keysym) >= XK_ISO_Lock) && \
+       ((KeySym)(keysym) <= XK_ISO_Last_Group_Lock)) \
+   || ((KeySym)(keysym) == XK_Mode_switch) \
+   || ((KeySym)(keysym) == XK_Num_Lock))
+#else
+#define IsModifierKey(keysym) \
+  ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
+   || ((KeySym)(keysym) == XK_Mode_switch) \
+   || ((KeySym)(keysym) == XK_Num_Lock))
+#endif
+/*
+ * opaque reference to Region data type 
+ */
+typedef struct _XRegion *Region; 
+
+/* Return values from XRectInRegion() */
+#define RectangleOut 0
+#define RectangleIn  1
+#define RectanglePart 2
+
+/*
+ * Information used by the visual utility routines to find desired visual
+ * type from the many visuals a display may support.
+ */
+
+typedef struct {
+  Visual *visual;
+  VisualID visualid;
+  int screen;
+  int depth;
+#if defined(__cplusplus) || defined(c_plusplus)
+  int c_class;                                 /* C++ */
+#else
+  int class;
+#endif
+  unsigned long red_mask;
+  unsigned long green_mask;
+  unsigned long blue_mask;
+  int colormap_size;
+  int bits_per_rgb;
+} XVisualInfo;
+
+#define VisualNoMask           0x0
+#define VisualIDMask           0x1
+#define VisualScreenMask       0x2
+#define VisualDepthMask                0x4
+#define VisualClassMask                0x8
+#define VisualRedMaskMask      0x10
+#define VisualGreenMaskMask    0x20
+#define VisualBlueMaskMask     0x40
+#define VisualColormapSizeMask 0x80
+#define VisualBitsPerRGBMask   0x100
+#define VisualAllMask          0x1FF
+
+/*
+ * This defines a window manager property that clients may use to
+ * share standard color maps of type RGB_COLOR_MAP:
+ */
+typedef struct {
+       Colormap colormap;
+       unsigned long red_max;
+       unsigned long red_mult;
+       unsigned long green_max;
+       unsigned long green_mult;
+       unsigned long blue_max;
+       unsigned long blue_mult;
+       unsigned long base_pixel;
+       VisualID visualid;              /* added by ICCCM version 1 */
+       XID killid;                     /* added by ICCCM version 1 */
+} XStandardColormap;
+
+#define ReleaseByFreeingColormap ((XID) 1L)  /* for killid field above */
+
+
+/*
+ * return codes for XReadBitmapFile and XWriteBitmapFile
+ */
+#define BitmapSuccess          0
+#define BitmapOpenFailed       1
+#define BitmapFileInvalid      2
+#define BitmapNoMemory         3
+
+/****************************************************************
+ *
+ * Context Management
+ *
+ ****************************************************************/
+
+
+/* Associative lookup table return codes */
+
+#define XCSUCCESS 0    /* No error. */
+#define XCNOMEM   1    /* Out of memory */
+#define XCNOENT   2    /* No entry in table */
+
+typedef int XContext;
+
+#define XUniqueContext()       ((XContext) XrmUniqueQuark())
+#define XStringToContext(string)   ((XContext) XrmStringToQuark(string))
+
+_XFUNCPROTOBEGIN
+
+/* The following declarations are alphabetized. */
+
+extern XClassHint *XAllocClassHint (
+    void
+);
+
+extern XIconSize *XAllocIconSize (
+    void
+);
+
+extern XSizeHints *XAllocSizeHints (
+    void
+);
+
+extern XStandardColormap *XAllocStandardColormap (
+    void
+);
+
+extern XWMHints *XAllocWMHints (
+    void
+);
+
+extern int XClipBox(
+    Region             /* r */,
+    XRectangle*                /* rect_return */
+);
+
+extern Region XCreateRegion(
+    void
+);
+
+extern const char *XDefaultString (void);
+
+extern int XDeleteContext(
+    Display*           /* display */,
+    XID                        /* rid */,
+    XContext           /* context */
+);
+
+extern int XDestroyRegion(
+    Region             /* r */
+);
+
+extern int XEmptyRegion(
+    Region             /* r */
+);
+
+extern int XEqualRegion(
+    Region             /* r1 */,
+    Region             /* r2 */
+);
+
+extern int XFindContext(
+    Display*           /* display */,
+    XID                        /* rid */,
+    XContext           /* context */,
+    XPointer*          /* data_return */
+);
+
+extern Status XGetClassHint(
+    Display*           /* display */,
+    Window             /* w */,
+    XClassHint*                /* class_hints_return */
+);
+
+extern Status XGetIconSizes(
+    Display*           /* display */,
+    Window             /* w */,
+    XIconSize**                /* size_list_return */,
+    int*               /* count_return */
+);
+
+extern Status XGetNormalHints(
+    Display*           /* display */,
+    Window             /* w */,
+    XSizeHints*                /* hints_return */
+);
+
+extern Status XGetRGBColormaps(
+    Display*           /* display */,
+    Window             /* w */,
+    XStandardColormap** /* stdcmap_return */,
+    int*               /* count_return */,
+    Atom               /* property */
+);
+
+extern Status XGetSizeHints(
+    Display*           /* display */,
+    Window             /* w */,
+    XSizeHints*                /* hints_return */,
+    Atom               /* property */
+);
+
+extern Status XGetStandardColormap(
+    Display*           /* display */,
+    Window             /* w */,
+    XStandardColormap* /* colormap_return */,
+    Atom               /* property */                      
+);
+
+extern Status XGetTextProperty(
+    Display*           /* display */,
+    Window             /* window */,
+    XTextProperty*     /* text_prop_return */,
+    Atom               /* property */
+);
+
+extern XVisualInfo *XGetVisualInfo(
+    Display*           /* display */,
+    long               /* vinfo_mask */,
+    XVisualInfo*       /* vinfo_template */,
+    int*               /* nitems_return */
+);
+
+extern Status XGetWMClientMachine(
+    Display*           /* display */,
+    Window             /* w */,
+    XTextProperty*     /* text_prop_return */
+);
+
+extern XWMHints *XGetWMHints(
+    Display*           /* display */,
+    Window             /* w */               
+);
+
+extern Status XGetWMIconName(
+    Display*           /* display */,
+    Window             /* w */,
+    XTextProperty*     /* text_prop_return */
+);
+
+extern Status XGetWMName(
+    Display*           /* display */,
+    Window             /* w */,
+    XTextProperty*     /* text_prop_return */
+);
+
+extern Status XGetWMNormalHints(
+    Display*           /* display */,
+    Window             /* w */,
+    XSizeHints*                /* hints_return */,
+    long*              /* supplied_return */ 
+);
+
+extern Status XGetWMSizeHints(
+    Display*           /* display */,
+    Window             /* w */,
+    XSizeHints*                /* hints_return */,
+    long*              /* supplied_return */,
+    Atom               /* property */
+);
+
+extern Status XGetZoomHints(
+    Display*           /* display */,
+    Window             /* w */,
+    XSizeHints*                /* zhints_return */
+);
+
+extern int XIntersectRegion(
+    Region             /* sra */,
+    Region             /* srb */,
+    Region             /* dr_return */
+);
+
+extern void XConvertCase(
+    KeySym             /* sym */,
+    KeySym*            /* lower */,
+    KeySym*            /* upper */
+);
+
+extern int XLookupString(
+    XKeyEvent*         /* event_struct */,
+    char*              /* buffer_return */,
+    int                        /* bytes_buffer */,
+    KeySym*            /* keysym_return */,
+    XComposeStatus*    /* status_in_out */
+);
+
+extern Status XMatchVisualInfo(
+    Display*           /* display */,
+    int                        /* screen */,
+    int                        /* depth */,
+    int                        /* class */,
+    XVisualInfo*       /* vinfo_return */
+);
+
+extern int XOffsetRegion(
+    Region             /* r */,
+    int                        /* dx */,
+    int                        /* dy */
+);
+
+extern Bool XPointInRegion(
+    Region             /* r */,
+    int                        /* x */,
+    int                        /* y */
+);
+
+extern Region XPolygonRegion(
+    XPoint*            /* points */,
+    int                        /* n */,
+    int                        /* fill_rule */
+);
+
+extern int XRectInRegion(
+    Region             /* r */,
+    int                        /* x */,
+    int                        /* y */,
+    unsigned int       /* width */,
+    unsigned int       /* height */
+);
+
+extern int XSaveContext(
+    Display*           /* display */,
+    XID                        /* rid */,
+    XContext           /* context */,
+    _Xconst char*      /* data */
+);
+
+extern int XSetClassHint(
+    Display*           /* display */,
+    Window             /* w */,
+    XClassHint*                /* class_hints */
+);
+
+extern int XSetIconSizes(
+    Display*           /* display */,
+    Window             /* w */,
+    XIconSize*         /* size_list */,
+    int                        /* count */    
+);
+
+extern int XSetNormalHints(
+    Display*           /* display */,
+    Window             /* w */,
+    XSizeHints*                /* hints */
+);
+
+extern void XSetRGBColormaps(
+    Display*           /* display */,
+    Window             /* w */,
+    XStandardColormap* /* stdcmaps */,
+    int                        /* count */,
+    Atom               /* property */
+);
+
+extern int XSetSizeHints(
+    Display*           /* display */,
+    Window             /* w */,
+    XSizeHints*                /* hints */,
+    Atom               /* property */
+);
+
+extern int XSetStandardProperties(
+    Display*           /* display */,
+    Window             /* w */,
+    _Xconst char*      /* window_name */,
+    _Xconst char*      /* icon_name */,
+    Pixmap             /* icon_pixmap */,
+    char**             /* argv */,
+    int                        /* argc */,
+    XSizeHints*                /* hints */
+);
+
+extern void XSetTextProperty(
+    Display*           /* display */,
+    Window             /* w */,
+    XTextProperty*     /* text_prop */,
+    Atom               /* property */
+);
+
+extern void XSetWMClientMachine(
+    Display*           /* display */,
+    Window             /* w */,
+    XTextProperty*     /* text_prop */
+);
+
+extern int XSetWMHints(
+    Display*           /* display */,
+    Window             /* w */,
+    XWMHints*          /* wm_hints */
+);
+
+extern void XSetWMIconName(
+    Display*           /* display */,
+    Window             /* w */,
+    XTextProperty*     /* text_prop */
+);
+
+extern void XSetWMName(
+    Display*           /* display */,
+    Window             /* w */,
+    XTextProperty*     /* text_prop */
+);
+
+extern void XSetWMNormalHints(
+    Display*           /* display */,
+    Window             /* w */,
+    XSizeHints*                /* hints */
+);
+
+extern void XSetWMProperties(
+    Display*           /* display */,
+    Window             /* w */,
+    XTextProperty*     /* window_name */,
+    XTextProperty*     /* icon_name */,
+    char**             /* argv */,
+    int                        /* argc */,
+    XSizeHints*                /* normal_hints */,
+    XWMHints*          /* wm_hints */,
+    XClassHint*                /* class_hints */
+);
+
+extern void XmbSetWMProperties(
+    Display*           /* display */,
+    Window             /* w */,
+    _Xconst char*      /* window_name */,
+    _Xconst char*      /* icon_name */,
+    char**             /* argv */,
+    int                        /* argc */,
+    XSizeHints*                /* normal_hints */,
+    XWMHints*          /* wm_hints */,
+    XClassHint*                /* class_hints */
+);
+
+extern void Xutf8SetWMProperties(
+    Display*           /* display */,
+    Window             /* w */,
+    _Xconst char*      /* window_name */,
+    _Xconst char*      /* icon_name */,
+    char**             /* argv */,
+    int                        /* argc */,
+    XSizeHints*                /* normal_hints */,
+    XWMHints*          /* wm_hints */,
+    XClassHint*                /* class_hints */
+);
+
+extern void XSetWMSizeHints(
+    Display*           /* display */,
+    Window             /* w */,
+    XSizeHints*                /* hints */,
+    Atom               /* property */
+);
+
+extern int XSetRegion(
+    Display*           /* display */,
+    GC                 /* gc */,
+    Region             /* r */
+);
+
+extern void XSetStandardColormap(
+    Display*           /* display */,
+    Window             /* w */,
+    XStandardColormap* /* colormap */,
+    Atom               /* property */
+);
+
+extern int XSetZoomHints(
+    Display*           /* display */,
+    Window             /* w */,
+    XSizeHints*                /* zhints */
+);
+
+extern int XShrinkRegion(
+    Region             /* r */,
+    int                        /* dx */,
+    int                        /* dy */
+);
+
+extern Status XStringListToTextProperty(
+    char**             /* list */,
+    int                        /* count */,
+    XTextProperty*     /* text_prop_return */
+);
+
+extern int XSubtractRegion(
+    Region             /* sra */,
+    Region             /* srb */,
+    Region             /* dr_return */
+);
+
+extern int XmbTextListToTextProperty(
+    Display*           display,
+    char**             list,
+    int                        count,
+    XICCEncodingStyle  style,
+    XTextProperty*     text_prop_return
+);
+
+extern int XwcTextListToTextProperty(
+    Display*           display,
+    wchar_t**          list,
+    int                        count,
+    XICCEncodingStyle  style,
+    XTextProperty*     text_prop_return
+);
+
+extern int Xutf8TextListToTextProperty(
+    Display*           display,
+    char**             list,
+    int                        count,
+    XICCEncodingStyle  style,
+    XTextProperty*     text_prop_return
+);
+
+extern void XwcFreeStringList(
+    wchar_t**          list
+);
+
+extern Status XTextPropertyToStringList(
+    XTextProperty*     /* text_prop */,
+    char***            /* list_return */,
+    int*               /* count_return */
+);
+
+extern int XmbTextPropertyToTextList(
+    Display*           display,
+    const XTextProperty* text_prop,
+    char***            list_return,
+    int*               count_return
+);
+
+extern int XwcTextPropertyToTextList(
+    Display*           display,
+    const XTextProperty* text_prop,
+    wchar_t***         list_return,
+    int*               count_return
+);
+
+extern int Xutf8TextPropertyToTextList(
+    Display*           display,
+    const XTextProperty* text_prop,
+    char***            list_return,
+    int*               count_return
+);
+
+extern int XUnionRectWithRegion(
+    XRectangle*                /* rectangle */,
+    Region             /* src_region */,
+    Region             /* dest_region_return */
+);
+
+extern int XUnionRegion(
+    Region             /* sra */,
+    Region             /* srb */,
+    Region             /* dr_return */
+);
+
+extern int XWMGeometry(
+    Display*           /* display */,
+    int                        /* screen_number */,
+    _Xconst char*      /* user_geometry */,
+    _Xconst char*      /* default_geometry */,
+    unsigned int       /* border_width */,
+    XSizeHints*                /* hints */,
+    int*               /* x_return */,
+    int*               /* y_return */,
+    int*               /* width_return */,
+    int*               /* height_return */,
+    int*               /* gravity_return */
+);
+
+extern int XXorRegion(
+    Region             /* sra */,
+    Region             /* srb */,
+    Region             /* dr_return */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XUTIL_H_ */
diff --git a/XOrg/headers/native/src/X11/Xw32defs.h b/XOrg/headers/native/src/X11/Xw32defs.h
new file mode 100644 (file)
index 0000000..07624fe
--- /dev/null
@@ -0,0 +1,81 @@
+/* $Xorg: Xw32defs.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */
+
+#ifndef _XW32DEFS_H
+#define  _XW32DEFS_H
+
+#ifdef __GNUC__ /* mingw is more close to unix than msvc */
+#if !defined(__daddr_t_defined) 
+typedef char *caddr_t;
+#endif
+#define lstat stat
+
+#else
+typedef char *caddr_t;
+
+#define access    _access
+#define alloca    _alloca
+#define chdir  _chdir
+#define chmod     _chmod
+#define close     _close
+#define creat     _creat
+#define dup       _dup
+#define dup2      _dup2
+#define environ     _environ
+#define execl   _execl
+#define execle  _execle
+#define execlp  _execlp
+#define execlpe  _execlpe
+#define execv   _execv
+#define execve  _execve
+#define execvp  _execvp
+#define execvpe  _execvpe
+#define fdopen   _fdopen
+#define fileno   _fileno
+#define fstat   _fstat
+#define getcwd _getcwd
+#define getpid  _getpid
+#define hypot          _hypot
+#define isascii __isascii
+#define isatty    _isatty
+#define lseek     _lseek
+#define mkdir  _mkdir
+#define mktemp    _mktemp
+#define open      _open
+#define putenv     _putenv
+#define read      _read
+#define rmdir  _rmdir
+#define sleep(x) _sleep((x) * 1000)
+#define stat    _stat
+#define sys_errlist _sys_errlist
+#define sys_nerr    _sys_nerr
+#define umask     _umask
+#define unlink    _unlink
+#define write     _write
+#define random   rand
+#define srandom  srand
+
+#define O_RDONLY    _O_RDONLY
+#define O_WRONLY    _O_WRONLY
+#define O_RDWR     _O_RDWR
+#define O_APPEND    _O_APPEND
+#define O_CREAT     _O_CREAT
+#define O_TRUNC     _O_TRUNC
+#define O_EXCL     _O_EXCL
+#define O_TEXT     _O_TEXT
+#define O_BINARY    _O_BINARY
+#define O_RAW      _O_BINARY
+
+#define S_IFMT  _S_IFMT
+#define S_IFDIR  _S_IFDIR
+#define S_IFCHR  _S_IFCHR
+#define S_IFREG  _S_IFREG
+#define S_IREAD  _S_IREAD
+#define S_IWRITE _S_IWRITE
+#define S_IEXEC  _S_IEXEC
+
+#define        F_OK    0
+#define        X_OK    1
+#define        W_OK    2
+#define        R_OK    4
+#endif /* __GNUC__ */
+#endif
diff --git a/XOrg/headers/native/src/X11/Xwindows.h b/XOrg/headers/native/src/X11/Xwindows.h
new file mode 100644 (file)
index 0000000..7fb9840
--- /dev/null
@@ -0,0 +1,80 @@
+/* $Xorg$ */
+/*
+
+Copyright 1996, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
+SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
+ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization from
+The Open Group.
+
+*/
+
+/*
+ * This header file has for sole purpose to allow to include windows.h
+ * without getting any name conflicts with our code.
+ * Conflicts come from the fact that including windows.h actually pulls
+ * in the whole Windows API...
+ */
+
+#undef _XFree86Server
+#ifdef XFree86Server 
+#define _XFree86Server
+#undef XFree86Server
+#endif
+
+#define BOOL wBOOL
+#define INT32 wINT32
+#undef Status
+#define Status wStatus
+#define ATOM wATOM
+#define BYTE wBYTE
+#define FreeResource wFreeResource
+#include <windows.h>
+#undef Status
+#define Status int
+#undef BYTE
+#undef BOOL
+#undef INT32
+#undef ATOM
+#undef FreeResource
+#undef CreateWindowA
+#undef min
+#undef max
+
+#ifdef RESOURCE_H
+#undef RT_FONT
+#undef RT_CURSOR
+#define RT_FONT         ((RESTYPE)4)
+#define RT_CURSOR       ((RESTYPE)5)
+#endif
+
+#define sleep(x) Sleep(1000*x)
+
+#if defined(WIN32) && (!defined(PATH_MAX) || PATH_MAX < 1024)
+#undef PATH_MAX
+#define PATH_MAX 1024
+#endif
+
+#ifdef _XFree86Server
+#define XFree86Server
+#undef _XFree86Server
+#endif
+
diff --git a/XOrg/headers/native/src/X11/Xwinsock.h b/XOrg/headers/native/src/X11/Xwinsock.h
new file mode 100644 (file)
index 0000000..0278c09
--- /dev/null
@@ -0,0 +1,66 @@
+/* $Xorg: Xwinsock.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $ */
+/*
+
+Copyright 1996, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
+SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
+ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization from
+The Open Group.
+
+*/
+
+/*
+ * This header file has for sole purpose to allow to include winsock.h
+ * without getting any name conflicts with our code.
+ * Conflicts come from the fact that including winsock.h actually pulls
+ * in the whole Windows API...
+ */
+
+#undef _XFree86Server
+#ifdef XFree86Server 
+#define _XFree86Server
+#undef XFree86Server
+#endif
+
+#define BOOL wBOOL
+#define INT32 wINT32
+#undef Status
+#define Status wStatus
+#define ATOM wATOM
+#define BYTE wBYTE
+#define FreeResource wFreeResource
+#include <winsock.h>
+#undef Status
+#define Status int
+#undef BYTE
+#undef BOOL
+#undef INT32
+#undef ATOM
+#undef FreeResource
+#undef CreateWindowA
+#undef RT_FONT
+#undef RT_CURSOR
+
+#ifdef _XFree86Server
+#define XFree86Server
+#undef _XFree86Server
+#endif
+
diff --git a/XOrg/headers/native/src/X11/ap_keysym.h b/XOrg/headers/native/src/X11/ap_keysym.h
new file mode 100644 (file)
index 0000000..9a11971
--- /dev/null
@@ -0,0 +1,51 @@
+/******************************************************************
+Copyright 1987 by Apollo Computer Inc., Chelmsford, Massachusetts.
+Copyright 1989 by Hewlett-Packard Company.
+
+                        All Rights Reserved
+
+Permission to use, duplicate, change, and distribute this software and
+its documentation for any purpose and without fee is granted, provided
+that the above copyright notice appear in such copy and that this
+copyright notice appear in all supporting documentation, and that the
+names of Apollo Computer Inc., the Hewlett-Packard Company, or the X
+Consortium not be used in advertising or publicity pertaining to
+distribution of the software without written prior permission.
+
+HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD
+TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
+PURPOSE.  Hewlett-Packard shall not be liable for errors 
+contained herein or direct, indirect, special, incidental or 
+consequential damages in connection with the furnishing, 
+performance, or use of this material.
+
+This software is not subject to any license of the American
+Telephone and Telegraph Company or of the Regents of the
+University of California.
+******************************************************************/
+
+#define apXK_LineDel            0x1000FF00
+#define apXK_CharDel            0x1000FF01
+#define apXK_Copy               0x1000FF02
+#define apXK_Cut                0x1000FF03
+#define apXK_Paste              0x1000FF04
+#define apXK_Move               0x1000FF05
+#define apXK_Grow               0x1000FF06
+#define apXK_Cmd                0x1000FF07
+#define apXK_Shell              0x1000FF08
+#define apXK_LeftBar            0x1000FF09
+#define apXK_RightBar           0x1000FF0A
+#define apXK_LeftBox            0x1000FF0B
+#define apXK_RightBox           0x1000FF0C
+#define apXK_UpBox              0x1000FF0D
+#define apXK_DownBox            0x1000FF0E
+#define apXK_Pop                0x1000FF0F
+#define apXK_Read               0x1000FF10
+#define apXK_Edit               0x1000FF11
+#define apXK_Save               0x1000FF12
+#define apXK_Exit               0x1000FF13
+#define apXK_Repeat             0x1000FF14
+
+#define apXK_KP_parenleft       0x1000FFA8
+#define apXK_KP_parenright      0x1000FFA9
diff --git a/XOrg/headers/native/src/X11/cursorfont.h b/XOrg/headers/native/src/X11/cursorfont.h
new file mode 100644 (file)
index 0000000..c6204f1
--- /dev/null
@@ -0,0 +1,107 @@
+/* $Xorg: cursorfont.h,v 1.4 2001/02/09 02:03:39 xorgcvs Exp $ */
+/*
+
+Copyright 1987, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+#define XC_num_glyphs 154
+#define XC_X_cursor 0
+#define XC_arrow 2
+#define XC_based_arrow_down 4
+#define XC_based_arrow_up 6
+#define XC_boat 8
+#define XC_bogosity 10
+#define XC_bottom_left_corner 12
+#define XC_bottom_right_corner 14
+#define XC_bottom_side 16
+#define XC_bottom_tee 18
+#define XC_box_spiral 20
+#define XC_center_ptr 22
+#define XC_circle 24
+#define XC_clock 26
+#define XC_coffee_mug 28
+#define XC_cross 30
+#define XC_cross_reverse 32
+#define XC_crosshair 34
+#define XC_diamond_cross 36
+#define XC_dot 38
+#define XC_dotbox 40
+#define XC_double_arrow 42
+#define XC_draft_large 44
+#define XC_draft_small 46
+#define XC_draped_box 48
+#define XC_exchange 50
+#define XC_fleur 52
+#define XC_gobbler 54
+#define XC_gumby 56
+#define XC_hand1 58
+#define XC_hand2 60
+#define XC_heart 62
+#define XC_icon 64
+#define XC_iron_cross 66
+#define XC_left_ptr 68
+#define XC_left_side 70
+#define XC_left_tee 72
+#define XC_leftbutton 74
+#define XC_ll_angle 76
+#define XC_lr_angle 78
+#define XC_man 80
+#define XC_middlebutton 82
+#define XC_mouse 84
+#define XC_pencil 86
+#define XC_pirate 88
+#define XC_plus 90
+#define XC_question_arrow 92
+#define XC_right_ptr 94
+#define XC_right_side 96
+#define XC_right_tee 98
+#define XC_rightbutton 100
+#define XC_rtl_logo 102
+#define XC_sailboat 104
+#define XC_sb_down_arrow 106
+#define XC_sb_h_double_arrow 108
+#define XC_sb_left_arrow 110
+#define XC_sb_right_arrow 112
+#define XC_sb_up_arrow 114
+#define XC_sb_v_double_arrow 116
+#define XC_shuttle 118
+#define XC_sizing 120
+#define XC_spider 122
+#define XC_spraycan 124
+#define XC_star 126
+#define XC_target 128
+#define XC_tcross 130
+#define XC_top_left_arrow 132
+#define XC_top_left_corner 134
+#define XC_top_right_corner 136
+#define XC_top_side 138
+#define XC_top_tee 140
+#define XC_trek 142
+#define XC_ul_angle 144
+#define XC_umbrella 146
+#define XC_ur_angle 148
+#define XC_watch 150
+#define XC_xterm 152
diff --git a/XOrg/headers/native/src/X11/keysym.h b/XOrg/headers/native/src/X11/keysym.h
new file mode 100644 (file)
index 0000000..04e2956
--- /dev/null
@@ -0,0 +1,76 @@
+/* $Xorg: keysym.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $ */
+
+/***********************************************************
+
+Copyright 1987, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its 
+documentation for any purpose and without fee is hereby granted, 
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in 
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.  
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/include/keysym.h,v 1.3 2001/01/17 17:53:12 dawes Exp $ */
+
+/* default keysyms */
+#define XK_MISCELLANY
+#define XK_XKB_KEYS
+#define XK_LATIN1
+#define XK_LATIN2
+#define XK_LATIN3
+#define XK_LATIN4
+#define XK_LATIN8
+#define XK_LATIN9
+#define XK_CAUCASUS
+#define XK_GREEK
+#define XK_KATAKANA
+#define XK_ARABIC
+#define XK_CYRILLIC
+#define XK_HEBREW
+#define XK_THAI
+#define XK_KOREAN
+#define XK_ARMENIAN
+#define XK_GEORGIAN
+#define XK_VIETNAMESE
+#define XK_CURRENCY
+#define XK_MATHEMATICAL
+#define XK_BRAILLE
+
+#include <X11/keysymdef.h>
+
diff --git a/XOrg/headers/native/src/X11/keysymdef.h b/XOrg/headers/native/src/X11/keysymdef.h
new file mode 100644 (file)
index 0000000..dd9fbd9
--- /dev/null
@@ -0,0 +1,2343 @@
+/* $Xorg: keysymdef.h,v 1.4 2001/02/09 02:03:23 $ */
+
+/***********************************************************
+Copyright 1987, 1994, 1998  The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+/* $XFree86: $ */
+
+/*
+ * The "X11 Window System Protocol" standard defines in Appendix A the
+ * keysym codes. These 29-bit integer values identify characters or
+ * functions associated with each key (e.g., via the visible
+ * engraving) of a keyboard layout. This file assigns mnemonic macro
+ * names for these keysyms.
+ *
+ * This file is also compiled (by xc/lib/X11/util/makekeys.c) into
+ * hash tables that can be accessed with X11 library functions such as
+ * XStringToKeysym() and XKeysymToString().
+ *
+ * Where a keysym corresponds one-to-one to an ISO 10646 / Unicode
+ * character, this is noted in a comment that provides both the U+xxxx
+ * Unicode position, as well as the official Unicode name of the
+ * character.
+ *
+ * Where the correspondence is either not one-to-one or semantically
+ * unclear, the Unicode position and name are enclosed in
+ * parentheses. Such legacy keysyms should be considered deprecated
+ * and are not recommended for use in future keyboard mappings.
+ *
+ * For any future extension of the keysyms with characters already
+ * found in ISO 10646 / Unicode, the following algorithm shall be
+ * used. The new keysym code position will simply be the character's
+ * Unicode number plus 0x01000000. The keysym values in the range
+ * 0x01000100 to 0x0110ffff are reserved to represent Unicode
+ * characters in the range U+0100 to U+10FFFF.
+ * 
+ * While most newer Unicode-based X11 clients do already accept
+ * Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it
+ * will remain necessary for clients -- in the interest of
+ * compatibility with existing servers -- to also understand the
+ * existing legacy keysym values in the range 0x0100 to 0x20ff.
+ *
+ * Where several mnemonic names are defined for the same keysym in this
+ * file, all but the first one listed should be considered deprecated.
+ *
+ * Mnemonic names for keysyms are defined in this file with lines
+ * that match one of these Perl regular expressions:
+ *
+ *    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/
+ *    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/
+ *    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/
+ *
+ * When adding new keysyms to this file, do not forget to also update the
+ * mappings in xc/lib/X11/KeyBind.c and the protocol specification in
+ * xc/doc/specs/XProtocol/X11.keysyms.
+ */
+
+#define XK_VoidSymbol                  0xffffff  /* Void symbol */
+
+#ifdef XK_MISCELLANY
+/*
+ * TTY function keys, cleverly chosen to map to ASCII, for convenience of
+ * programming, but could have been arbitrary (at the cost of lookup
+ * tables in client code).
+ */
+
+#define XK_BackSpace                     0xff08  /* Back space, back char */
+#define XK_Tab                           0xff09
+#define XK_Linefeed                      0xff0a  /* Linefeed, LF */
+#define XK_Clear                         0xff0b
+#define XK_Return                        0xff0d  /* Return, enter */
+#define XK_Pause                         0xff13  /* Pause, hold */
+#define XK_Scroll_Lock                   0xff14
+#define XK_Sys_Req                       0xff15
+#define XK_Escape                        0xff1b
+#define XK_Delete                        0xffff  /* Delete, rubout */
+
+
+
+/* International & multi-key character composition */
+
+#define XK_Multi_key                     0xff20  /* Multi-key character compose */
+#define XK_Codeinput                     0xff37
+#define XK_SingleCandidate               0xff3c
+#define XK_MultipleCandidate             0xff3d
+#define XK_PreviousCandidate             0xff3e
+
+/* Japanese keyboard support */
+
+#define XK_Kanji                         0xff21  /* Kanji, Kanji convert */
+#define XK_Muhenkan                      0xff22  /* Cancel Conversion */
+#define XK_Henkan_Mode                   0xff23  /* Start/Stop Conversion */
+#define XK_Henkan                        0xff23  /* Alias for Henkan_Mode */
+#define XK_Romaji                        0xff24  /* to Romaji */
+#define XK_Hiragana                      0xff25  /* to Hiragana */
+#define XK_Katakana                      0xff26  /* to Katakana */
+#define XK_Hiragana_Katakana             0xff27  /* Hiragana/Katakana toggle */
+#define XK_Zenkaku                       0xff28  /* to Zenkaku */
+#define XK_Hankaku                       0xff29  /* to Hankaku */
+#define XK_Zenkaku_Hankaku               0xff2a  /* Zenkaku/Hankaku toggle */
+#define XK_Touroku                       0xff2b  /* Add to Dictionary */
+#define XK_Massyo                        0xff2c  /* Delete from Dictionary */
+#define XK_Kana_Lock                     0xff2d  /* Kana Lock */
+#define XK_Kana_Shift                    0xff2e  /* Kana Shift */
+#define XK_Eisu_Shift                    0xff2f  /* Alphanumeric Shift */
+#define XK_Eisu_toggle                   0xff30  /* Alphanumeric toggle */
+#define XK_Kanji_Bangou                  0xff37  /* Codeinput */
+#define XK_Zen_Koho                      0xff3d  /* Multiple/All Candidate(s) */
+#define XK_Mae_Koho                      0xff3e  /* Previous Candidate */
+
+/* 0xff31 thru 0xff3f are under XK_KOREAN */
+
+/* Cursor control & motion */
+
+#define XK_Home                          0xff50
+#define XK_Left                          0xff51  /* Move left, left arrow */
+#define XK_Up                            0xff52  /* Move up, up arrow */
+#define XK_Right                         0xff53  /* Move right, right arrow */
+#define XK_Down                          0xff54  /* Move down, down arrow */
+#define XK_Prior                         0xff55  /* Prior, previous */
+#define XK_Page_Up                       0xff55
+#define XK_Next                          0xff56  /* Next */
+#define XK_Page_Down                     0xff56
+#define XK_End                           0xff57  /* EOL */
+#define XK_Begin                         0xff58  /* BOL */
+
+
+/* Misc functions */
+
+#define XK_Select                        0xff60  /* Select, mark */
+#define XK_Print                         0xff61
+#define XK_Execute                       0xff62  /* Execute, run, do */
+#define XK_Insert                        0xff63  /* Insert, insert here */
+#define XK_Undo                          0xff65
+#define XK_Redo                          0xff66  /* Redo, again */
+#define XK_Menu                          0xff67
+#define XK_Find                          0xff68  /* Find, search */
+#define XK_Cancel                        0xff69  /* Cancel, stop, abort, exit */
+#define XK_Help                          0xff6a  /* Help */
+#define XK_Break                         0xff6b
+#define XK_Mode_switch                   0xff7e  /* Character set switch */
+#define XK_script_switch                 0xff7e  /* Alias for mode_switch */
+#define XK_Num_Lock                      0xff7f
+
+/* Keypad functions, keypad numbers cleverly chosen to map to ASCII */
+
+#define XK_KP_Space                      0xff80  /* Space */
+#define XK_KP_Tab                        0xff89
+#define XK_KP_Enter                      0xff8d  /* Enter */
+#define XK_KP_F1                         0xff91  /* PF1, KP_A, ... */
+#define XK_KP_F2                         0xff92
+#define XK_KP_F3                         0xff93
+#define XK_KP_F4                         0xff94
+#define XK_KP_Home                       0xff95
+#define XK_KP_Left                       0xff96
+#define XK_KP_Up                         0xff97
+#define XK_KP_Right                      0xff98
+#define XK_KP_Down                       0xff99
+#define XK_KP_Prior                      0xff9a
+#define XK_KP_Page_Up                    0xff9a
+#define XK_KP_Next                       0xff9b
+#define XK_KP_Page_Down                  0xff9b
+#define XK_KP_End                        0xff9c
+#define XK_KP_Begin                      0xff9d
+#define XK_KP_Insert                     0xff9e
+#define XK_KP_Delete                     0xff9f
+#define XK_KP_Equal                      0xffbd  /* Equals */
+#define XK_KP_Multiply                   0xffaa
+#define XK_KP_Add                        0xffab
+#define XK_KP_Separator                  0xffac  /* Separator, often comma */
+#define XK_KP_Subtract                   0xffad
+#define XK_KP_Decimal                    0xffae
+#define XK_KP_Divide                     0xffaf
+
+#define XK_KP_0                          0xffb0
+#define XK_KP_1                          0xffb1
+#define XK_KP_2                          0xffb2
+#define XK_KP_3                          0xffb3
+#define XK_KP_4                          0xffb4
+#define XK_KP_5                          0xffb5
+#define XK_KP_6                          0xffb6
+#define XK_KP_7                          0xffb7
+#define XK_KP_8                          0xffb8
+#define XK_KP_9                          0xffb9
+
+
+
+/*
+ * Auxiliary functions; note the duplicate definitions for left and right
+ * function keys;  Sun keyboards and a few other manufacturers have such
+ * function key groups on the left and/or right sides of the keyboard.
+ * We've not found a keyboard with more than 35 function keys total.
+ */
+
+#define XK_F1                            0xffbe
+#define XK_F2                            0xffbf
+#define XK_F3                            0xffc0
+#define XK_F4                            0xffc1
+#define XK_F5                            0xffc2
+#define XK_F6                            0xffc3
+#define XK_F7                            0xffc4
+#define XK_F8                            0xffc5
+#define XK_F9                            0xffc6
+#define XK_F10                           0xffc7
+#define XK_F11                           0xffc8
+#define XK_L1                            0xffc8
+#define XK_F12                           0xffc9
+#define XK_L2                            0xffc9
+#define XK_F13                           0xffca
+#define XK_L3                            0xffca
+#define XK_F14                           0xffcb
+#define XK_L4                            0xffcb
+#define XK_F15                           0xffcc
+#define XK_L5                            0xffcc
+#define XK_F16                           0xffcd
+#define XK_L6                            0xffcd
+#define XK_F17                           0xffce
+#define XK_L7                            0xffce
+#define XK_F18                           0xffcf
+#define XK_L8                            0xffcf
+#define XK_F19                           0xffd0
+#define XK_L9                            0xffd0
+#define XK_F20                           0xffd1
+#define XK_L10                           0xffd1
+#define XK_F21                           0xffd2
+#define XK_R1                            0xffd2
+#define XK_F22                           0xffd3
+#define XK_R2                            0xffd3
+#define XK_F23                           0xffd4
+#define XK_R3                            0xffd4
+#define XK_F24                           0xffd5
+#define XK_R4                            0xffd5
+#define XK_F25                           0xffd6
+#define XK_R5                            0xffd6
+#define XK_F26                           0xffd7
+#define XK_R6                            0xffd7
+#define XK_F27                           0xffd8
+#define XK_R7                            0xffd8
+#define XK_F28                           0xffd9
+#define XK_R8                            0xffd9
+#define XK_F29                           0xffda
+#define XK_R9                            0xffda
+#define XK_F30                           0xffdb
+#define XK_R10                           0xffdb
+#define XK_F31                           0xffdc
+#define XK_R11                           0xffdc
+#define XK_F32                           0xffdd
+#define XK_R12                           0xffdd
+#define XK_F33                           0xffde
+#define XK_R13                           0xffde
+#define XK_F34                           0xffdf
+#define XK_R14                           0xffdf
+#define XK_F35                           0xffe0
+#define XK_R15                           0xffe0
+
+/* Modifiers */
+
+#define XK_Shift_L                       0xffe1  /* Left shift */
+#define XK_Shift_R                       0xffe2  /* Right shift */
+#define XK_Control_L                     0xffe3  /* Left control */
+#define XK_Control_R                     0xffe4  /* Right control */
+#define XK_Caps_Lock                     0xffe5  /* Caps lock */
+#define XK_Shift_Lock                    0xffe6  /* Shift lock */
+
+#define XK_Meta_L                        0xffe7  /* Left meta */
+#define XK_Meta_R                        0xffe8  /* Right meta */
+#define XK_Alt_L                         0xffe9  /* Left alt */
+#define XK_Alt_R                         0xffea  /* Right alt */
+#define XK_Super_L                       0xffeb  /* Left super */
+#define XK_Super_R                       0xffec  /* Right super */
+#define XK_Hyper_L                       0xffed  /* Left hyper */
+#define XK_Hyper_R                       0xffee  /* Right hyper */
+#endif /* XK_MISCELLANY */
+
+/*
+ * Keyboard (XKB) Extension function and modifier keys
+ * (from Appendix C of "The X Keyboard Extension: Protocol Specification")
+ * Byte 3 = 0xfe
+ */
+
+#ifdef XK_XKB_KEYS
+#define XK_ISO_Lock                      0xfe01
+#define XK_ISO_Level2_Latch              0xfe02
+#define XK_ISO_Level3_Shift              0xfe03
+#define XK_ISO_Level3_Latch              0xfe04
+#define XK_ISO_Level3_Lock               0xfe05
+#define XK_ISO_Group_Shift               0xff7e  /* Alias for mode_switch */
+#define XK_ISO_Group_Latch               0xfe06
+#define XK_ISO_Group_Lock                0xfe07
+#define XK_ISO_Next_Group                0xfe08
+#define XK_ISO_Next_Group_Lock           0xfe09
+#define XK_ISO_Prev_Group                0xfe0a
+#define XK_ISO_Prev_Group_Lock           0xfe0b
+#define XK_ISO_First_Group               0xfe0c
+#define XK_ISO_First_Group_Lock          0xfe0d
+#define XK_ISO_Last_Group                0xfe0e
+#define XK_ISO_Last_Group_Lock           0xfe0f
+
+#define XK_ISO_Left_Tab                  0xfe20
+#define XK_ISO_Move_Line_Up              0xfe21
+#define XK_ISO_Move_Line_Down            0xfe22
+#define XK_ISO_Partial_Line_Up           0xfe23
+#define XK_ISO_Partial_Line_Down         0xfe24
+#define XK_ISO_Partial_Space_Left        0xfe25
+#define XK_ISO_Partial_Space_Right       0xfe26
+#define XK_ISO_Set_Margin_Left           0xfe27
+#define XK_ISO_Set_Margin_Right          0xfe28
+#define XK_ISO_Release_Margin_Left       0xfe29
+#define XK_ISO_Release_Margin_Right      0xfe2a
+#define XK_ISO_Release_Both_Margins      0xfe2b
+#define XK_ISO_Fast_Cursor_Left          0xfe2c
+#define XK_ISO_Fast_Cursor_Right         0xfe2d
+#define XK_ISO_Fast_Cursor_Up            0xfe2e
+#define XK_ISO_Fast_Cursor_Down          0xfe2f
+#define XK_ISO_Continuous_Underline      0xfe30
+#define XK_ISO_Discontinuous_Underline   0xfe31
+#define XK_ISO_Emphasize                 0xfe32
+#define XK_ISO_Center_Object             0xfe33
+#define XK_ISO_Enter                     0xfe34
+
+#define XK_dead_grave                    0xfe50
+#define XK_dead_acute                    0xfe51
+#define XK_dead_circumflex               0xfe52
+#define XK_dead_tilde                    0xfe53
+#define XK_dead_macron                   0xfe54
+#define XK_dead_breve                    0xfe55
+#define XK_dead_abovedot                 0xfe56
+#define XK_dead_diaeresis                0xfe57
+#define XK_dead_abovering                0xfe58
+#define XK_dead_doubleacute              0xfe59
+#define XK_dead_caron                    0xfe5a
+#define XK_dead_cedilla                  0xfe5b
+#define XK_dead_ogonek                   0xfe5c
+#define XK_dead_iota                     0xfe5d
+#define XK_dead_voiced_sound             0xfe5e
+#define XK_dead_semivoiced_sound         0xfe5f
+#define XK_dead_belowdot                 0xfe60
+#define XK_dead_hook                     0xfe61
+#define XK_dead_horn                     0xfe62
+#define XK_dead_stroke                   0xfe63
+
+#define XK_First_Virtual_Screen          0xfed0
+#define XK_Prev_Virtual_Screen           0xfed1
+#define XK_Next_Virtual_Screen           0xfed2
+#define XK_Last_Virtual_Screen           0xfed4
+#define XK_Terminate_Server              0xfed5
+
+#define XK_AccessX_Enable                0xfe70
+#define XK_AccessX_Feedback_Enable       0xfe71
+#define XK_RepeatKeys_Enable             0xfe72
+#define XK_SlowKeys_Enable               0xfe73
+#define XK_BounceKeys_Enable             0xfe74
+#define XK_StickyKeys_Enable             0xfe75
+#define XK_MouseKeys_Enable              0xfe76
+#define XK_MouseKeys_Accel_Enable        0xfe77
+#define XK_Overlay1_Enable               0xfe78
+#define XK_Overlay2_Enable               0xfe79
+#define XK_AudibleBell_Enable            0xfe7a
+
+#define XK_Pointer_Left                  0xfee0
+#define XK_Pointer_Right                 0xfee1
+#define XK_Pointer_Up                    0xfee2
+#define XK_Pointer_Down                  0xfee3
+#define XK_Pointer_UpLeft                0xfee4
+#define XK_Pointer_UpRight               0xfee5
+#define XK_Pointer_DownLeft              0xfee6
+#define XK_Pointer_DownRight             0xfee7
+#define XK_Pointer_Button_Dflt           0xfee8
+#define XK_Pointer_Button1               0xfee9
+#define XK_Pointer_Button2               0xfeea
+#define XK_Pointer_Button3               0xfeeb
+#define XK_Pointer_Button4               0xfeec
+#define XK_Pointer_Button5               0xfeed
+#define XK_Pointer_DblClick_Dflt         0xfeee
+#define XK_Pointer_DblClick1             0xfeef
+#define XK_Pointer_DblClick2             0xfef0
+#define XK_Pointer_DblClick3             0xfef1
+#define XK_Pointer_DblClick4             0xfef2
+#define XK_Pointer_DblClick5             0xfef3
+#define XK_Pointer_Drag_Dflt             0xfef4
+#define XK_Pointer_Drag1                 0xfef5
+#define XK_Pointer_Drag2                 0xfef6
+#define XK_Pointer_Drag3                 0xfef7
+#define XK_Pointer_Drag4                 0xfef8
+#define XK_Pointer_Drag5                 0xfefd
+
+#define XK_Pointer_EnableKeys            0xfef9
+#define XK_Pointer_Accelerate            0xfefa
+#define XK_Pointer_DfltBtnNext           0xfefb
+#define XK_Pointer_DfltBtnPrev           0xfefc
+
+#endif /* XK_XKB_KEYS */
+
+/*
+ * 3270 Terminal Keys
+ * Byte 3 = 0xfd
+ */
+
+#ifdef XK_3270
+#define XK_3270_Duplicate                0xfd01
+#define XK_3270_FieldMark                0xfd02
+#define XK_3270_Right2                   0xfd03
+#define XK_3270_Left2                    0xfd04
+#define XK_3270_BackTab                  0xfd05
+#define XK_3270_EraseEOF                 0xfd06
+#define XK_3270_EraseInput               0xfd07
+#define XK_3270_Reset                    0xfd08
+#define XK_3270_Quit                     0xfd09
+#define XK_3270_PA1                      0xfd0a
+#define XK_3270_PA2                      0xfd0b
+#define XK_3270_PA3                      0xfd0c
+#define XK_3270_Test                     0xfd0d
+#define XK_3270_Attn                     0xfd0e
+#define XK_3270_CursorBlink              0xfd0f
+#define XK_3270_AltCursor                0xfd10
+#define XK_3270_KeyClick                 0xfd11
+#define XK_3270_Jump                     0xfd12
+#define XK_3270_Ident                    0xfd13
+#define XK_3270_Rule                     0xfd14
+#define XK_3270_Copy                     0xfd15
+#define XK_3270_Play                     0xfd16
+#define XK_3270_Setup                    0xfd17
+#define XK_3270_Record                   0xfd18
+#define XK_3270_ChangeScreen             0xfd19
+#define XK_3270_DeleteWord               0xfd1a
+#define XK_3270_ExSelect                 0xfd1b
+#define XK_3270_CursorSelect             0xfd1c
+#define XK_3270_PrintScreen              0xfd1d
+#define XK_3270_Enter                    0xfd1e
+#endif /* XK_3270 */
+
+/*
+ * Latin 1
+ * (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
+ * Byte 3 = 0
+ */
+#ifdef XK_LATIN1
+#define XK_space                         0x0020  /* U+0020 SPACE */
+#define XK_exclam                        0x0021  /* U+0021 EXCLAMATION MARK */
+#define XK_quotedbl                      0x0022  /* U+0022 QUOTATION MARK */
+#define XK_numbersign                    0x0023  /* U+0023 NUMBER SIGN */
+#define XK_dollar                        0x0024  /* U+0024 DOLLAR SIGN */
+#define XK_percent                       0x0025  /* U+0025 PERCENT SIGN */
+#define XK_ampersand                     0x0026  /* U+0026 AMPERSAND */
+#define XK_apostrophe                    0x0027  /* U+0027 APOSTROPHE */
+#define XK_quoteright                    0x0027  /* deprecated */
+#define XK_parenleft                     0x0028  /* U+0028 LEFT PARENTHESIS */
+#define XK_parenright                    0x0029  /* U+0029 RIGHT PARENTHESIS */
+#define XK_asterisk                      0x002a  /* U+002A ASTERISK */
+#define XK_plus                          0x002b  /* U+002B PLUS SIGN */
+#define XK_comma                         0x002c  /* U+002C COMMA */
+#define XK_minus                         0x002d  /* U+002D HYPHEN-MINUS */
+#define XK_period                        0x002e  /* U+002E FULL STOP */
+#define XK_slash                         0x002f  /* U+002F SOLIDUS */
+#define XK_0                             0x0030  /* U+0030 DIGIT ZERO */
+#define XK_1                             0x0031  /* U+0031 DIGIT ONE */
+#define XK_2                             0x0032  /* U+0032 DIGIT TWO */
+#define XK_3                             0x0033  /* U+0033 DIGIT THREE */
+#define XK_4                             0x0034  /* U+0034 DIGIT FOUR */
+#define XK_5                             0x0035  /* U+0035 DIGIT FIVE */
+#define XK_6                             0x0036  /* U+0036 DIGIT SIX */
+#define XK_7                             0x0037  /* U+0037 DIGIT SEVEN */
+#define XK_8                             0x0038  /* U+0038 DIGIT EIGHT */
+#define XK_9                             0x0039  /* U+0039 DIGIT NINE */
+#define XK_colon                         0x003a  /* U+003A COLON */
+#define XK_semicolon                     0x003b  /* U+003B SEMICOLON */
+#define XK_less                          0x003c  /* U+003C LESS-THAN SIGN */
+#define XK_equal                         0x003d  /* U+003D EQUALS SIGN */
+#define XK_greater                       0x003e  /* U+003E GREATER-THAN SIGN */
+#define XK_question                      0x003f  /* U+003F QUESTION MARK */
+#define XK_at                            0x0040  /* U+0040 COMMERCIAL AT */
+#define XK_A                             0x0041  /* U+0041 LATIN CAPITAL LETTER A */
+#define XK_B                             0x0042  /* U+0042 LATIN CAPITAL LETTER B */
+#define XK_C                             0x0043  /* U+0043 LATIN CAPITAL LETTER C */
+#define XK_D                             0x0044  /* U+0044 LATIN CAPITAL LETTER D */
+#define XK_E                             0x0045  /* U+0045 LATIN CAPITAL LETTER E */
+#define XK_F                             0x0046  /* U+0046 LATIN CAPITAL LETTER F */
+#define XK_G                             0x0047  /* U+0047 LATIN CAPITAL LETTER G */
+#define XK_H                             0x0048  /* U+0048 LATIN CAPITAL LETTER H */
+#define XK_I                             0x0049  /* U+0049 LATIN CAPITAL LETTER I */
+#define XK_J                             0x004a  /* U+004A LATIN CAPITAL LETTER J */
+#define XK_K                             0x004b  /* U+004B LATIN CAPITAL LETTER K */
+#define XK_L                             0x004c  /* U+004C LATIN CAPITAL LETTER L */
+#define XK_M                             0x004d  /* U+004D LATIN CAPITAL LETTER M */
+#define XK_N                             0x004e  /* U+004E LATIN CAPITAL LETTER N */
+#define XK_O                             0x004f  /* U+004F LATIN CAPITAL LETTER O */
+#define XK_P                             0x0050  /* U+0050 LATIN CAPITAL LETTER P */
+#define XK_Q                             0x0051  /* U+0051 LATIN CAPITAL LETTER Q */
+#define XK_R                             0x0052  /* U+0052 LATIN CAPITAL LETTER R */
+#define XK_S                             0x0053  /* U+0053 LATIN CAPITAL LETTER S */
+#define XK_T                             0x0054  /* U+0054 LATIN CAPITAL LETTER T */
+#define XK_U                             0x0055  /* U+0055 LATIN CAPITAL LETTER U */
+#define XK_V                             0x0056  /* U+0056 LATIN CAPITAL LETTER V */
+#define XK_W                             0x0057  /* U+0057 LATIN CAPITAL LETTER W */
+#define XK_X                             0x0058  /* U+0058 LATIN CAPITAL LETTER X */
+#define XK_Y                             0x0059  /* U+0059 LATIN CAPITAL LETTER Y */
+#define XK_Z                             0x005a  /* U+005A LATIN CAPITAL LETTER Z */
+#define XK_bracketleft                   0x005b  /* U+005B LEFT SQUARE BRACKET */
+#define XK_backslash                     0x005c  /* U+005C REVERSE SOLIDUS */
+#define XK_bracketright                  0x005d  /* U+005D RIGHT SQUARE BRACKET */
+#define XK_asciicircum                   0x005e  /* U+005E CIRCUMFLEX ACCENT */
+#define XK_underscore                    0x005f  /* U+005F LOW LINE */
+#define XK_grave                         0x0060  /* U+0060 GRAVE ACCENT */
+#define XK_quoteleft                     0x0060  /* deprecated */
+#define XK_a                             0x0061  /* U+0061 LATIN SMALL LETTER A */
+#define XK_b                             0x0062  /* U+0062 LATIN SMALL LETTER B */
+#define XK_c                             0x0063  /* U+0063 LATIN SMALL LETTER C */
+#define XK_d                             0x0064  /* U+0064 LATIN SMALL LETTER D */
+#define XK_e                             0x0065  /* U+0065 LATIN SMALL LETTER E */
+#define XK_f                             0x0066  /* U+0066 LATIN SMALL LETTER F */
+#define XK_g                             0x0067  /* U+0067 LATIN SMALL LETTER G */
+#define XK_h                             0x0068  /* U+0068 LATIN SMALL LETTER H */
+#define XK_i                             0x0069  /* U+0069 LATIN SMALL LETTER I */
+#define XK_j                             0x006a  /* U+006A LATIN SMALL LETTER J */
+#define XK_k                             0x006b  /* U+006B LATIN SMALL LETTER K */
+#define XK_l                             0x006c  /* U+006C LATIN SMALL LETTER L */
+#define XK_m                             0x006d  /* U+006D LATIN SMALL LETTER M */
+#define XK_n                             0x006e  /* U+006E LATIN SMALL LETTER N */
+#define XK_o                             0x006f  /* U+006F LATIN SMALL LETTER O */
+#define XK_p                             0x0070  /* U+0070 LATIN SMALL LETTER P */
+#define XK_q                             0x0071  /* U+0071 LATIN SMALL LETTER Q */
+#define XK_r                             0x0072  /* U+0072 LATIN SMALL LETTER R */
+#define XK_s                             0x0073  /* U+0073 LATIN SMALL LETTER S */
+#define XK_t                             0x0074  /* U+0074 LATIN SMALL LETTER T */
+#define XK_u                             0x0075  /* U+0075 LATIN SMALL LETTER U */
+#define XK_v                             0x0076  /* U+0076 LATIN SMALL LETTER V */
+#define XK_w                             0x0077  /* U+0077 LATIN SMALL LETTER W */
+#define XK_x                             0x0078  /* U+0078 LATIN SMALL LETTER X */
+#define XK_y                             0x0079  /* U+0079 LATIN SMALL LETTER Y */
+#define XK_z                             0x007a  /* U+007A LATIN SMALL LETTER Z */
+#define XK_braceleft                     0x007b  /* U+007B LEFT CURLY BRACKET */
+#define XK_bar                           0x007c  /* U+007C VERTICAL LINE */
+#define XK_braceright                    0x007d  /* U+007D RIGHT CURLY BRACKET */
+#define XK_asciitilde                    0x007e  /* U+007E TILDE */
+
+#define XK_nobreakspace                  0x00a0  /* U+00A0 NO-BREAK SPACE */
+#define XK_exclamdown                    0x00a1  /* U+00A1 INVERTED EXCLAMATION MARK */
+#define XK_cent                          0x00a2  /* U+00A2 CENT SIGN */
+#define XK_sterling                      0x00a3  /* U+00A3 POUND SIGN */
+#define XK_currency                      0x00a4  /* U+00A4 CURRENCY SIGN */
+#define XK_yen                           0x00a5  /* U+00A5 YEN SIGN */
+#define XK_brokenbar                     0x00a6  /* U+00A6 BROKEN BAR */
+#define XK_section                       0x00a7  /* U+00A7 SECTION SIGN */
+#define XK_diaeresis                     0x00a8  /* U+00A8 DIAERESIS */
+#define XK_copyright                     0x00a9  /* U+00A9 COPYRIGHT SIGN */
+#define XK_ordfeminine                   0x00aa  /* U+00AA FEMININE ORDINAL INDICATOR */
+#define XK_guillemotleft                 0x00ab  /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
+#define XK_notsign                       0x00ac  /* U+00AC NOT SIGN */
+#define XK_hyphen                        0x00ad  /* U+00AD SOFT HYPHEN */
+#define XK_registered                    0x00ae  /* U+00AE REGISTERED SIGN */
+#define XK_macron                        0x00af  /* U+00AF MACRON */
+#define XK_degree                        0x00b0  /* U+00B0 DEGREE SIGN */
+#define XK_plusminus                     0x00b1  /* U+00B1 PLUS-MINUS SIGN */
+#define XK_twosuperior                   0x00b2  /* U+00B2 SUPERSCRIPT TWO */
+#define XK_threesuperior                 0x00b3  /* U+00B3 SUPERSCRIPT THREE */
+#define XK_acute                         0x00b4  /* U+00B4 ACUTE ACCENT */
+#define XK_mu                            0x00b5  /* U+00B5 MICRO SIGN */
+#define XK_paragraph                     0x00b6  /* U+00B6 PILCROW SIGN */
+#define XK_periodcentered                0x00b7  /* U+00B7 MIDDLE DOT */
+#define XK_cedilla                       0x00b8  /* U+00B8 CEDILLA */
+#define XK_onesuperior                   0x00b9  /* U+00B9 SUPERSCRIPT ONE */
+#define XK_masculine                     0x00ba  /* U+00BA MASCULINE ORDINAL INDICATOR */
+#define XK_guillemotright                0x00bb  /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
+#define XK_onequarter                    0x00bc  /* U+00BC VULGAR FRACTION ONE QUARTER */
+#define XK_onehalf                       0x00bd  /* U+00BD VULGAR FRACTION ONE HALF */
+#define XK_threequarters                 0x00be  /* U+00BE VULGAR FRACTION THREE QUARTERS */
+#define XK_questiondown                  0x00bf  /* U+00BF INVERTED QUESTION MARK */
+#define XK_Agrave                        0x00c0  /* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE */
+#define XK_Aacute                        0x00c1  /* U+00C1 LATIN CAPITAL LETTER A WITH ACUTE */
+#define XK_Acircumflex                   0x00c2  /* U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
+#define XK_Atilde                        0x00c3  /* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */
+#define XK_Adiaeresis                    0x00c4  /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */
+#define XK_Aring                         0x00c5  /* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */
+#define XK_AE                            0x00c6  /* U+00C6 LATIN CAPITAL LETTER AE */
+#define XK_Ccedilla                      0x00c7  /* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */
+#define XK_Egrave                        0x00c8  /* U+00C8 LATIN CAPITAL LETTER E WITH GRAVE */
+#define XK_Eacute                        0x00c9  /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+#define XK_Ecircumflex                   0x00ca  /* U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
+#define XK_Ediaeresis                    0x00cb  /* U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS */
+#define XK_Igrave                        0x00cc  /* U+00CC LATIN CAPITAL LETTER I WITH GRAVE */
+#define XK_Iacute                        0x00cd  /* U+00CD LATIN CAPITAL LETTER I WITH ACUTE */
+#define XK_Icircumflex                   0x00ce  /* U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
+#define XK_Idiaeresis                    0x00cf  /* U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS */
+#define XK_ETH                           0x00d0  /* U+00D0 LATIN CAPITAL LETTER ETH */
+#define XK_Eth                           0x00d0  /* deprecated */
+#define XK_Ntilde                        0x00d1  /* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */
+#define XK_Ograve                        0x00d2  /* U+00D2 LATIN CAPITAL LETTER O WITH GRAVE */
+#define XK_Oacute                        0x00d3  /* U+00D3 LATIN CAPITAL LETTER O WITH ACUTE */
+#define XK_Ocircumflex                   0x00d4  /* U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
+#define XK_Otilde                        0x00d5  /* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */
+#define XK_Odiaeresis                    0x00d6  /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */
+#define XK_multiply                      0x00d7  /* U+00D7 MULTIPLICATION SIGN */
+#define XK_Oslash                        0x00d8  /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+#define XK_Ooblique                      0x00d8  /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+#define XK_Ugrave                        0x00d9  /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */
+#define XK_Uacute                        0x00da  /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */
+#define XK_Ucircumflex                   0x00db  /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
+#define XK_Udiaeresis                    0x00dc  /* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */
+#define XK_Yacute                        0x00dd  /* U+00DD LATIN CAPITAL LETTER Y WITH ACUTE */
+#define XK_THORN                         0x00de  /* U+00DE LATIN CAPITAL LETTER THORN */
+#define XK_Thorn                         0x00de  /* deprecated */
+#define XK_ssharp                        0x00df  /* U+00DF LATIN SMALL LETTER SHARP S */
+#define XK_agrave                        0x00e0  /* U+00E0 LATIN SMALL LETTER A WITH GRAVE */
+#define XK_aacute                        0x00e1  /* U+00E1 LATIN SMALL LETTER A WITH ACUTE */
+#define XK_acircumflex                   0x00e2  /* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */
+#define XK_atilde                        0x00e3  /* U+00E3 LATIN SMALL LETTER A WITH TILDE */
+#define XK_adiaeresis                    0x00e4  /* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */
+#define XK_aring                         0x00e5  /* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */
+#define XK_ae                            0x00e6  /* U+00E6 LATIN SMALL LETTER AE */
+#define XK_ccedilla                      0x00e7  /* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */
+#define XK_egrave                        0x00e8  /* U+00E8 LATIN SMALL LETTER E WITH GRAVE */
+#define XK_eacute                        0x00e9  /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+#define XK_ecircumflex                   0x00ea  /* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */
+#define XK_ediaeresis                    0x00eb  /* U+00EB LATIN SMALL LETTER E WITH DIAERESIS */
+#define XK_igrave                        0x00ec  /* U+00EC LATIN SMALL LETTER I WITH GRAVE */
+#define XK_iacute                        0x00ed  /* U+00ED LATIN SMALL LETTER I WITH ACUTE */
+#define XK_icircumflex                   0x00ee  /* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */
+#define XK_idiaeresis                    0x00ef  /* U+00EF LATIN SMALL LETTER I WITH DIAERESIS */
+#define XK_eth                           0x00f0  /* U+00F0 LATIN SMALL LETTER ETH */
+#define XK_ntilde                        0x00f1  /* U+00F1 LATIN SMALL LETTER N WITH TILDE */
+#define XK_ograve                        0x00f2  /* U+00F2 LATIN SMALL LETTER O WITH GRAVE */
+#define XK_oacute                        0x00f3  /* U+00F3 LATIN SMALL LETTER O WITH ACUTE */
+#define XK_ocircumflex                   0x00f4  /* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */
+#define XK_otilde                        0x00f5  /* U+00F5 LATIN SMALL LETTER O WITH TILDE */
+#define XK_odiaeresis                    0x00f6  /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */
+#define XK_division                      0x00f7  /* U+00F7 DIVISION SIGN */
+#define XK_oslash                        0x00f8  /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
+#define XK_ooblique                      0x00f8  /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
+#define XK_ugrave                        0x00f9  /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */
+#define XK_uacute                        0x00fa  /* U+00FA LATIN SMALL LETTER U WITH ACUTE */
+#define XK_ucircumflex                   0x00fb  /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */
+#define XK_udiaeresis                    0x00fc  /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */
+#define XK_yacute                        0x00fd  /* U+00FD LATIN SMALL LETTER Y WITH ACUTE */
+#define XK_thorn                         0x00fe  /* U+00FE LATIN SMALL LETTER THORN */
+#define XK_ydiaeresis                    0x00ff  /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+#endif /* XK_LATIN1 */
+
+/*
+ * Latin 2
+ * Byte 3 = 1
+ */
+
+#ifdef XK_LATIN2
+#define XK_Aogonek                       0x01a1  /* U+0104 LATIN CAPITAL LETTER A WITH OGONEK */
+#define XK_breve                         0x01a2  /* U+02D8 BREVE */
+#define XK_Lstroke                       0x01a3  /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+#define XK_Lcaron                        0x01a5  /* U+013D LATIN CAPITAL LETTER L WITH CARON */
+#define XK_Sacute                        0x01a6  /* U+015A LATIN CAPITAL LETTER S WITH ACUTE */
+#define XK_Scaron                        0x01a9  /* U+0160 LATIN CAPITAL LETTER S WITH CARON */
+#define XK_Scedilla                      0x01aa  /* U+015E LATIN CAPITAL LETTER S WITH CEDILLA */
+#define XK_Tcaron                        0x01ab  /* U+0164 LATIN CAPITAL LETTER T WITH CARON */
+#define XK_Zacute                        0x01ac  /* U+0179 LATIN CAPITAL LETTER Z WITH ACUTE */
+#define XK_Zcaron                        0x01ae  /* U+017D LATIN CAPITAL LETTER Z WITH CARON */
+#define XK_Zabovedot                     0x01af  /* U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE */
+#define XK_aogonek                       0x01b1  /* U+0105 LATIN SMALL LETTER A WITH OGONEK */
+#define XK_ogonek                        0x01b2  /* U+02DB OGONEK */
+#define XK_lstroke                       0x01b3  /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+#define XK_lcaron                        0x01b5  /* U+013E LATIN SMALL LETTER L WITH CARON */
+#define XK_sacute                        0x01b6  /* U+015B LATIN SMALL LETTER S WITH ACUTE */
+#define XK_caron                         0x01b7  /* U+02C7 CARON */
+#define XK_scaron                        0x01b9  /* U+0161 LATIN SMALL LETTER S WITH CARON */
+#define XK_scedilla                      0x01ba  /* U+015F LATIN SMALL LETTER S WITH CEDILLA */
+#define XK_tcaron                        0x01bb  /* U+0165 LATIN SMALL LETTER T WITH CARON */
+#define XK_zacute                        0x01bc  /* U+017A LATIN SMALL LETTER Z WITH ACUTE */
+#define XK_doubleacute                   0x01bd  /* U+02DD DOUBLE ACUTE ACCENT */
+#define XK_zcaron                        0x01be  /* U+017E LATIN SMALL LETTER Z WITH CARON */
+#define XK_zabovedot                     0x01bf  /* U+017C LATIN SMALL LETTER Z WITH DOT ABOVE */
+#define XK_Racute                        0x01c0  /* U+0154 LATIN CAPITAL LETTER R WITH ACUTE */
+#define XK_Abreve                        0x01c3  /* U+0102 LATIN CAPITAL LETTER A WITH BREVE */
+#define XK_Lacute                        0x01c5  /* U+0139 LATIN CAPITAL LETTER L WITH ACUTE */
+#define XK_Cacute                        0x01c6  /* U+0106 LATIN CAPITAL LETTER C WITH ACUTE */
+#define XK_Ccaron                        0x01c8  /* U+010C LATIN CAPITAL LETTER C WITH CARON */
+#define XK_Eogonek                       0x01ca  /* U+0118 LATIN CAPITAL LETTER E WITH OGONEK */
+#define XK_Ecaron                        0x01cc  /* U+011A LATIN CAPITAL LETTER E WITH CARON */
+#define XK_Dcaron                        0x01cf  /* U+010E LATIN CAPITAL LETTER D WITH CARON */
+#define XK_Dstroke                       0x01d0  /* U+0110 LATIN CAPITAL LETTER D WITH STROKE */
+#define XK_Nacute                        0x01d1  /* U+0143 LATIN CAPITAL LETTER N WITH ACUTE */
+#define XK_Ncaron                        0x01d2  /* U+0147 LATIN CAPITAL LETTER N WITH CARON */
+#define XK_Odoubleacute                  0x01d5  /* U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
+#define XK_Rcaron                        0x01d8  /* U+0158 LATIN CAPITAL LETTER R WITH CARON */
+#define XK_Uring                         0x01d9  /* U+016E LATIN CAPITAL LETTER U WITH RING ABOVE */
+#define XK_Udoubleacute                  0x01db  /* U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
+#define XK_Tcedilla                      0x01de  /* U+0162 LATIN CAPITAL LETTER T WITH CEDILLA */
+#define XK_racute                        0x01e0  /* U+0155 LATIN SMALL LETTER R WITH ACUTE */
+#define XK_abreve                        0x01e3  /* U+0103 LATIN SMALL LETTER A WITH BREVE */
+#define XK_lacute                        0x01e5  /* U+013A LATIN SMALL LETTER L WITH ACUTE */
+#define XK_cacute                        0x01e6  /* U+0107 LATIN SMALL LETTER C WITH ACUTE */
+#define XK_ccaron                        0x01e8  /* U+010D LATIN SMALL LETTER C WITH CARON */
+#define XK_eogonek                       0x01ea  /* U+0119 LATIN SMALL LETTER E WITH OGONEK */
+#define XK_ecaron                        0x01ec  /* U+011B LATIN SMALL LETTER E WITH CARON */
+#define XK_dcaron                        0x01ef  /* U+010F LATIN SMALL LETTER D WITH CARON */
+#define XK_dstroke                       0x01f0  /* U+0111 LATIN SMALL LETTER D WITH STROKE */
+#define XK_nacute                        0x01f1  /* U+0144 LATIN SMALL LETTER N WITH ACUTE */
+#define XK_ncaron                        0x01f2  /* U+0148 LATIN SMALL LETTER N WITH CARON */
+#define XK_odoubleacute                  0x01f5  /* U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE */
+#define XK_udoubleacute                  0x01fb  /* U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE */
+#define XK_rcaron                        0x01f8  /* U+0159 LATIN SMALL LETTER R WITH CARON */
+#define XK_uring                         0x01f9  /* U+016F LATIN SMALL LETTER U WITH RING ABOVE */
+#define XK_tcedilla                      0x01fe  /* U+0163 LATIN SMALL LETTER T WITH CEDILLA */
+#define XK_abovedot                      0x01ff  /* U+02D9 DOT ABOVE */
+#endif /* XK_LATIN2 */
+
+/*
+ * Latin 3
+ * Byte 3 = 2
+ */
+
+#ifdef XK_LATIN3
+#define XK_Hstroke                       0x02a1  /* U+0126 LATIN CAPITAL LETTER H WITH STROKE */
+#define XK_Hcircumflex                   0x02a6  /* U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
+#define XK_Iabovedot                     0x02a9  /* U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE */
+#define XK_Gbreve                        0x02ab  /* U+011E LATIN CAPITAL LETTER G WITH BREVE */
+#define XK_Jcircumflex                   0x02ac  /* U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
+#define XK_hstroke                       0x02b1  /* U+0127 LATIN SMALL LETTER H WITH STROKE */
+#define XK_hcircumflex                   0x02b6  /* U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX */
+#define XK_idotless                      0x02b9  /* U+0131 LATIN SMALL LETTER DOTLESS I */
+#define XK_gbreve                        0x02bb  /* U+011F LATIN SMALL LETTER G WITH BREVE */
+#define XK_jcircumflex                   0x02bc  /* U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX */
+#define XK_Cabovedot                     0x02c5  /* U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE */
+#define XK_Ccircumflex                   0x02c6  /* U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
+#define XK_Gabovedot                     0x02d5  /* U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE */
+#define XK_Gcircumflex                   0x02d8  /* U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
+#define XK_Ubreve                        0x02dd  /* U+016C LATIN CAPITAL LETTER U WITH BREVE */
+#define XK_Scircumflex                   0x02de  /* U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
+#define XK_cabovedot                     0x02e5  /* U+010B LATIN SMALL LETTER C WITH DOT ABOVE */
+#define XK_ccircumflex                   0x02e6  /* U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX */
+#define XK_gabovedot                     0x02f5  /* U+0121 LATIN SMALL LETTER G WITH DOT ABOVE */
+#define XK_gcircumflex                   0x02f8  /* U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX */
+#define XK_ubreve                        0x02fd  /* U+016D LATIN SMALL LETTER U WITH BREVE */
+#define XK_scircumflex                   0x02fe  /* U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX */
+#endif /* XK_LATIN3 */
+
+
+/*
+ * Latin 4
+ * Byte 3 = 3
+ */
+
+#ifdef XK_LATIN4
+#define XK_kra                           0x03a2  /* U+0138 LATIN SMALL LETTER KRA */
+#define XK_kappa                         0x03a2  /* deprecated */
+#define XK_Rcedilla                      0x03a3  /* U+0156 LATIN CAPITAL LETTER R WITH CEDILLA */
+#define XK_Itilde                        0x03a5  /* U+0128 LATIN CAPITAL LETTER I WITH TILDE */
+#define XK_Lcedilla                      0x03a6  /* U+013B LATIN CAPITAL LETTER L WITH CEDILLA */
+#define XK_Emacron                       0x03aa  /* U+0112 LATIN CAPITAL LETTER E WITH MACRON */
+#define XK_Gcedilla                      0x03ab  /* U+0122 LATIN CAPITAL LETTER G WITH CEDILLA */
+#define XK_Tslash                        0x03ac  /* U+0166 LATIN CAPITAL LETTER T WITH STROKE */
+#define XK_rcedilla                      0x03b3  /* U+0157 LATIN SMALL LETTER R WITH CEDILLA */
+#define XK_itilde                        0x03b5  /* U+0129 LATIN SMALL LETTER I WITH TILDE */
+#define XK_lcedilla                      0x03b6  /* U+013C LATIN SMALL LETTER L WITH CEDILLA */
+#define XK_emacron                       0x03ba  /* U+0113 LATIN SMALL LETTER E WITH MACRON */
+#define XK_gcedilla                      0x03bb  /* U+0123 LATIN SMALL LETTER G WITH CEDILLA */
+#define XK_tslash                        0x03bc  /* U+0167 LATIN SMALL LETTER T WITH STROKE */
+#define XK_ENG                           0x03bd  /* U+014A LATIN CAPITAL LETTER ENG */
+#define XK_eng                           0x03bf  /* U+014B LATIN SMALL LETTER ENG */
+#define XK_Amacron                       0x03c0  /* U+0100 LATIN CAPITAL LETTER A WITH MACRON */
+#define XK_Iogonek                       0x03c7  /* U+012E LATIN CAPITAL LETTER I WITH OGONEK */
+#define XK_Eabovedot                     0x03cc  /* U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE */
+#define XK_Imacron                       0x03cf  /* U+012A LATIN CAPITAL LETTER I WITH MACRON */
+#define XK_Ncedilla                      0x03d1  /* U+0145 LATIN CAPITAL LETTER N WITH CEDILLA */
+#define XK_Omacron                       0x03d2  /* U+014C LATIN CAPITAL LETTER O WITH MACRON */
+#define XK_Kcedilla                      0x03d3  /* U+0136 LATIN CAPITAL LETTER K WITH CEDILLA */
+#define XK_Uogonek                       0x03d9  /* U+0172 LATIN CAPITAL LETTER U WITH OGONEK */
+#define XK_Utilde                        0x03dd  /* U+0168 LATIN CAPITAL LETTER U WITH TILDE */
+#define XK_Umacron                       0x03de  /* U+016A LATIN CAPITAL LETTER U WITH MACRON */
+#define XK_amacron                       0x03e0  /* U+0101 LATIN SMALL LETTER A WITH MACRON */
+#define XK_iogonek                       0x03e7  /* U+012F LATIN SMALL LETTER I WITH OGONEK */
+#define XK_eabovedot                     0x03ec  /* U+0117 LATIN SMALL LETTER E WITH DOT ABOVE */
+#define XK_imacron                       0x03ef  /* U+012B LATIN SMALL LETTER I WITH MACRON */
+#define XK_ncedilla                      0x03f1  /* U+0146 LATIN SMALL LETTER N WITH CEDILLA */
+#define XK_omacron                       0x03f2  /* U+014D LATIN SMALL LETTER O WITH MACRON */
+#define XK_kcedilla                      0x03f3  /* U+0137 LATIN SMALL LETTER K WITH CEDILLA */
+#define XK_uogonek                       0x03f9  /* U+0173 LATIN SMALL LETTER U WITH OGONEK */
+#define XK_utilde                        0x03fd  /* U+0169 LATIN SMALL LETTER U WITH TILDE */
+#define XK_umacron                       0x03fe  /* U+016B LATIN SMALL LETTER U WITH MACRON */
+#endif /* XK_LATIN4 */
+
+/*
+ * Latin 8
+ */
+#ifdef XK_LATIN8
+#define XK_Babovedot                  0x1001e02  /* U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE */
+#define XK_babovedot                  0x1001e03  /* U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE */
+#define XK_Dabovedot                  0x1001e0a  /* U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE */
+#define XK_Wgrave                     0x1001e80  /* U+1E80 LATIN CAPITAL LETTER W WITH GRAVE */
+#define XK_Wacute                     0x1001e82  /* U+1E82 LATIN CAPITAL LETTER W WITH ACUTE */
+#define XK_dabovedot                  0x1001e0b  /* U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE */
+#define XK_Ygrave                     0x1001ef2  /* U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE */
+#define XK_Fabovedot                  0x1001e1e  /* U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE */
+#define XK_fabovedot                  0x1001e1f  /* U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE */
+#define XK_Mabovedot                  0x1001e40  /* U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE */
+#define XK_mabovedot                  0x1001e41  /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */
+#define XK_Pabovedot                  0x1001e56  /* U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE */
+#define XK_wgrave                     0x1001e81  /* U+1E81 LATIN SMALL LETTER W WITH GRAVE */
+#define XK_pabovedot                  0x1001e57  /* U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE */
+#define XK_wacute                     0x1001e83  /* U+1E83 LATIN SMALL LETTER W WITH ACUTE */
+#define XK_Sabovedot                  0x1001e60  /* U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE */
+#define XK_ygrave                     0x1001ef3  /* U+1EF3 LATIN SMALL LETTER Y WITH GRAVE */
+#define XK_Wdiaeresis                 0x1001e84  /* U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS */
+#define XK_wdiaeresis                 0x1001e85  /* U+1E85 LATIN SMALL LETTER W WITH DIAERESIS */
+#define XK_sabovedot                  0x1001e61  /* U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE */
+#define XK_Wcircumflex                0x1000174  /* U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
+#define XK_Tabovedot                  0x1001e6a  /* U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE */
+#define XK_Ycircumflex                0x1000176  /* U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
+#define XK_wcircumflex                0x1000175  /* U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX */
+#define XK_tabovedot                  0x1001e6b  /* U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE */
+#define XK_ycircumflex                0x1000177  /* U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX */
+#endif /* XK_LATIN8 */
+
+/*
+ * Latin 9
+ * Byte 3 = 0x13
+ */
+
+#ifdef XK_LATIN9
+#define XK_OE                            0x13bc  /* U+0152 LATIN CAPITAL LIGATURE OE */
+#define XK_oe                            0x13bd  /* U+0153 LATIN SMALL LIGATURE OE */
+#define XK_Ydiaeresis                    0x13be  /* U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS */
+#endif /* XK_LATIN9 */
+
+/*
+ * Katakana
+ * Byte 3 = 4
+ */
+
+#ifdef XK_KATAKANA
+#define XK_overline                      0x047e  /* U+203E OVERLINE */
+#define XK_kana_fullstop                 0x04a1  /* U+3002 IDEOGRAPHIC FULL STOP */
+#define XK_kana_openingbracket           0x04a2  /* U+300C LEFT CORNER BRACKET */
+#define XK_kana_closingbracket           0x04a3  /* U+300D RIGHT CORNER BRACKET */
+#define XK_kana_comma                    0x04a4  /* U+3001 IDEOGRAPHIC COMMA */
+#define XK_kana_conjunctive              0x04a5  /* U+30FB KATAKANA MIDDLE DOT */
+#define XK_kana_middledot                0x04a5  /* deprecated */
+#define XK_kana_WO                       0x04a6  /* U+30F2 KATAKANA LETTER WO */
+#define XK_kana_a                        0x04a7  /* U+30A1 KATAKANA LETTER SMALL A */
+#define XK_kana_i                        0x04a8  /* U+30A3 KATAKANA LETTER SMALL I */
+#define XK_kana_u                        0x04a9  /* U+30A5 KATAKANA LETTER SMALL U */
+#define XK_kana_e                        0x04aa  /* U+30A7 KATAKANA LETTER SMALL E */
+#define XK_kana_o                        0x04ab  /* U+30A9 KATAKANA LETTER SMALL O */
+#define XK_kana_ya                       0x04ac  /* U+30E3 KATAKANA LETTER SMALL YA */
+#define XK_kana_yu                       0x04ad  /* U+30E5 KATAKANA LETTER SMALL YU */
+#define XK_kana_yo                       0x04ae  /* U+30E7 KATAKANA LETTER SMALL YO */
+#define XK_kana_tsu                      0x04af  /* U+30C3 KATAKANA LETTER SMALL TU */
+#define XK_kana_tu                       0x04af  /* deprecated */
+#define XK_prolongedsound                0x04b0  /* U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK */
+#define XK_kana_A                        0x04b1  /* U+30A2 KATAKANA LETTER A */
+#define XK_kana_I                        0x04b2  /* U+30A4 KATAKANA LETTER I */
+#define XK_kana_U                        0x04b3  /* U+30A6 KATAKANA LETTER U */
+#define XK_kana_E                        0x04b4  /* U+30A8 KATAKANA LETTER E */
+#define XK_kana_O                        0x04b5  /* U+30AA KATAKANA LETTER O */
+#define XK_kana_KA                       0x04b6  /* U+30AB KATAKANA LETTER KA */
+#define XK_kana_KI                       0x04b7  /* U+30AD KATAKANA LETTER KI */
+#define XK_kana_KU                       0x04b8  /* U+30AF KATAKANA LETTER KU */
+#define XK_kana_KE                       0x04b9  /* U+30B1 KATAKANA LETTER KE */
+#define XK_kana_KO                       0x04ba  /* U+30B3 KATAKANA LETTER KO */
+#define XK_kana_SA                       0x04bb  /* U+30B5 KATAKANA LETTER SA */
+#define XK_kana_SHI                      0x04bc  /* U+30B7 KATAKANA LETTER SI */
+#define XK_kana_SU                       0x04bd  /* U+30B9 KATAKANA LETTER SU */
+#define XK_kana_SE                       0x04be  /* U+30BB KATAKANA LETTER SE */
+#define XK_kana_SO                       0x04bf  /* U+30BD KATAKANA LETTER SO */
+#define XK_kana_TA                       0x04c0  /* U+30BF KATAKANA LETTER TA */
+#define XK_kana_CHI                      0x04c1  /* U+30C1 KATAKANA LETTER TI */
+#define XK_kana_TI                       0x04c1  /* deprecated */
+#define XK_kana_TSU                      0x04c2  /* U+30C4 KATAKANA LETTER TU */
+#define XK_kana_TU                       0x04c2  /* deprecated */
+#define XK_kana_TE                       0x04c3  /* U+30C6 KATAKANA LETTER TE */
+#define XK_kana_TO                       0x04c4  /* U+30C8 KATAKANA LETTER TO */
+#define XK_kana_NA                       0x04c5  /* U+30CA KATAKANA LETTER NA */
+#define XK_kana_NI                       0x04c6  /* U+30CB KATAKANA LETTER NI */
+#define XK_kana_NU                       0x04c7  /* U+30CC KATAKANA LETTER NU */
+#define XK_kana_NE                       0x04c8  /* U+30CD KATAKANA LETTER NE */
+#define XK_kana_NO                       0x04c9  /* U+30CE KATAKANA LETTER NO */
+#define XK_kana_HA                       0x04ca  /* U+30CF KATAKANA LETTER HA */
+#define XK_kana_HI                       0x04cb  /* U+30D2 KATAKANA LETTER HI */
+#define XK_kana_FU                       0x04cc  /* U+30D5 KATAKANA LETTER HU */
+#define XK_kana_HU                       0x04cc  /* deprecated */
+#define XK_kana_HE                       0x04cd  /* U+30D8 KATAKANA LETTER HE */
+#define XK_kana_HO                       0x04ce  /* U+30DB KATAKANA LETTER HO */
+#define XK_kana_MA                       0x04cf  /* U+30DE KATAKANA LETTER MA */
+#define XK_kana_MI                       0x04d0  /* U+30DF KATAKANA LETTER MI */
+#define XK_kana_MU                       0x04d1  /* U+30E0 KATAKANA LETTER MU */
+#define XK_kana_ME                       0x04d2  /* U+30E1 KATAKANA LETTER ME */
+#define XK_kana_MO                       0x04d3  /* U+30E2 KATAKANA LETTER MO */
+#define XK_kana_YA                       0x04d4  /* U+30E4 KATAKANA LETTER YA */
+#define XK_kana_YU                       0x04d5  /* U+30E6 KATAKANA LETTER YU */
+#define XK_kana_YO                       0x04d6  /* U+30E8 KATAKANA LETTER YO */
+#define XK_kana_RA                       0x04d7  /* U+30E9 KATAKANA LETTER RA */
+#define XK_kana_RI                       0x04d8  /* U+30EA KATAKANA LETTER RI */
+#define XK_kana_RU                       0x04d9  /* U+30EB KATAKANA LETTER RU */
+#define XK_kana_RE                       0x04da  /* U+30EC KATAKANA LETTER RE */
+#define XK_kana_RO                       0x04db  /* U+30ED KATAKANA LETTER RO */
+#define XK_kana_WA                       0x04dc  /* U+30EF KATAKANA LETTER WA */
+#define XK_kana_N                        0x04dd  /* U+30F3 KATAKANA LETTER N */
+#define XK_voicedsound                   0x04de  /* U+309B KATAKANA-HIRAGANA VOICED SOUND MARK */
+#define XK_semivoicedsound               0x04df  /* U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
+#define XK_kana_switch                   0xff7e  /* Alias for mode_switch */
+#endif /* XK_KATAKANA */
+
+/*
+ * Arabic
+ * Byte 3 = 5
+ */
+
+#ifdef XK_ARABIC
+#define XK_Farsi_0                    0x10006f0  /* U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO */
+#define XK_Farsi_1                    0x10006f1  /* U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE */
+#define XK_Farsi_2                    0x10006f2  /* U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO */
+#define XK_Farsi_3                    0x10006f3  /* U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE */
+#define XK_Farsi_4                    0x10006f4  /* U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR */
+#define XK_Farsi_5                    0x10006f5  /* U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE */
+#define XK_Farsi_6                    0x10006f6  /* U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX */
+#define XK_Farsi_7                    0x10006f7  /* U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN */
+#define XK_Farsi_8                    0x10006f8  /* U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT */
+#define XK_Farsi_9                    0x10006f9  /* U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE */
+#define XK_Arabic_percent             0x100066a  /* U+066A ARABIC PERCENT SIGN */
+#define XK_Arabic_superscript_alef    0x1000670  /* U+0670 ARABIC LETTER SUPERSCRIPT ALEF */
+#define XK_Arabic_tteh                0x1000679  /* U+0679 ARABIC LETTER TTEH */
+#define XK_Arabic_peh                 0x100067e  /* U+067E ARABIC LETTER PEH */
+#define XK_Arabic_tcheh               0x1000686  /* U+0686 ARABIC LETTER TCHEH */
+#define XK_Arabic_ddal                0x1000688  /* U+0688 ARABIC LETTER DDAL */
+#define XK_Arabic_rreh                0x1000691  /* U+0691 ARABIC LETTER RREH */
+#define XK_Arabic_comma                  0x05ac  /* U+060C ARABIC COMMA */
+#define XK_Arabic_fullstop            0x10006d4  /* U+06D4 ARABIC FULL STOP */
+#define XK_Arabic_0                   0x1000660  /* U+0660 ARABIC-INDIC DIGIT ZERO */
+#define XK_Arabic_1                   0x1000661  /* U+0661 ARABIC-INDIC DIGIT ONE */
+#define XK_Arabic_2                   0x1000662  /* U+0662 ARABIC-INDIC DIGIT TWO */
+#define XK_Arabic_3                   0x1000663  /* U+0663 ARABIC-INDIC DIGIT THREE */
+#define XK_Arabic_4                   0x1000664  /* U+0664 ARABIC-INDIC DIGIT FOUR */
+#define XK_Arabic_5                   0x1000665  /* U+0665 ARABIC-INDIC DIGIT FIVE */
+#define XK_Arabic_6                   0x1000666  /* U+0666 ARABIC-INDIC DIGIT SIX */
+#define XK_Arabic_7                   0x1000667  /* U+0667 ARABIC-INDIC DIGIT SEVEN */
+#define XK_Arabic_8                   0x1000668  /* U+0668 ARABIC-INDIC DIGIT EIGHT */
+#define XK_Arabic_9                   0x1000669  /* U+0669 ARABIC-INDIC DIGIT NINE */
+#define XK_Arabic_semicolon              0x05bb  /* U+061B ARABIC SEMICOLON */
+#define XK_Arabic_question_mark          0x05bf  /* U+061F ARABIC QUESTION MARK */
+#define XK_Arabic_hamza                  0x05c1  /* U+0621 ARABIC LETTER HAMZA */
+#define XK_Arabic_maddaonalef            0x05c2  /* U+0622 ARABIC LETTER ALEF WITH MADDA ABOVE */
+#define XK_Arabic_hamzaonalef            0x05c3  /* U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE */
+#define XK_Arabic_hamzaonwaw             0x05c4  /* U+0624 ARABIC LETTER WAW WITH HAMZA ABOVE */
+#define XK_Arabic_hamzaunderalef         0x05c5  /* U+0625 ARABIC LETTER ALEF WITH HAMZA BELOW */
+#define XK_Arabic_hamzaonyeh             0x05c6  /* U+0626 ARABIC LETTER YEH WITH HAMZA ABOVE */
+#define XK_Arabic_alef                   0x05c7  /* U+0627 ARABIC LETTER ALEF */
+#define XK_Arabic_beh                    0x05c8  /* U+0628 ARABIC LETTER BEH */
+#define XK_Arabic_tehmarbuta             0x05c9  /* U+0629 ARABIC LETTER TEH MARBUTA */
+#define XK_Arabic_teh                    0x05ca  /* U+062A ARABIC LETTER TEH */
+#define XK_Arabic_theh                   0x05cb  /* U+062B ARABIC LETTER THEH */
+#define XK_Arabic_jeem                   0x05cc  /* U+062C ARABIC LETTER JEEM */
+#define XK_Arabic_hah                    0x05cd  /* U+062D ARABIC LETTER HAH */
+#define XK_Arabic_khah                   0x05ce  /* U+062E ARABIC LETTER KHAH */
+#define XK_Arabic_dal                    0x05cf  /* U+062F ARABIC LETTER DAL */
+#define XK_Arabic_thal                   0x05d0  /* U+0630 ARABIC LETTER THAL */
+#define XK_Arabic_ra                     0x05d1  /* U+0631 ARABIC LETTER REH */
+#define XK_Arabic_zain                   0x05d2  /* U+0632 ARABIC LETTER ZAIN */
+#define XK_Arabic_seen                   0x05d3  /* U+0633 ARABIC LETTER SEEN */
+#define XK_Arabic_sheen                  0x05d4  /* U+0634 ARABIC LETTER SHEEN */
+#define XK_Arabic_sad                    0x05d5  /* U+0635 ARABIC LETTER SAD */
+#define XK_Arabic_dad                    0x05d6  /* U+0636 ARABIC LETTER DAD */
+#define XK_Arabic_tah                    0x05d7  /* U+0637 ARABIC LETTER TAH */
+#define XK_Arabic_zah                    0x05d8  /* U+0638 ARABIC LETTER ZAH */
+#define XK_Arabic_ain                    0x05d9  /* U+0639 ARABIC LETTER AIN */
+#define XK_Arabic_ghain                  0x05da  /* U+063A ARABIC LETTER GHAIN */
+#define XK_Arabic_tatweel                0x05e0  /* U+0640 ARABIC TATWEEL */
+#define XK_Arabic_feh                    0x05e1  /* U+0641 ARABIC LETTER FEH */
+#define XK_Arabic_qaf                    0x05e2  /* U+0642 ARABIC LETTER QAF */
+#define XK_Arabic_kaf                    0x05e3  /* U+0643 ARABIC LETTER KAF */
+#define XK_Arabic_lam                    0x05e4  /* U+0644 ARABIC LETTER LAM */
+#define XK_Arabic_meem                   0x05e5  /* U+0645 ARABIC LETTER MEEM */
+#define XK_Arabic_noon                   0x05e6  /* U+0646 ARABIC LETTER NOON */
+#define XK_Arabic_ha                     0x05e7  /* U+0647 ARABIC LETTER HEH */
+#define XK_Arabic_heh                    0x05e7  /* deprecated */
+#define XK_Arabic_waw                    0x05e8  /* U+0648 ARABIC LETTER WAW */
+#define XK_Arabic_alefmaksura            0x05e9  /* U+0649 ARABIC LETTER ALEF MAKSURA */
+#define XK_Arabic_yeh                    0x05ea  /* U+064A ARABIC LETTER YEH */
+#define XK_Arabic_fathatan               0x05eb  /* U+064B ARABIC FATHATAN */
+#define XK_Arabic_dammatan               0x05ec  /* U+064C ARABIC DAMMATAN */
+#define XK_Arabic_kasratan               0x05ed  /* U+064D ARABIC KASRATAN */
+#define XK_Arabic_fatha                  0x05ee  /* U+064E ARABIC FATHA */
+#define XK_Arabic_damma                  0x05ef  /* U+064F ARABIC DAMMA */
+#define XK_Arabic_kasra                  0x05f0  /* U+0650 ARABIC KASRA */
+#define XK_Arabic_shadda                 0x05f1  /* U+0651 ARABIC SHADDA */
+#define XK_Arabic_sukun                  0x05f2  /* U+0652 ARABIC SUKUN */
+#define XK_Arabic_madda_above         0x1000653  /* U+0653 ARABIC MADDAH ABOVE */
+#define XK_Arabic_hamza_above         0x1000654  /* U+0654 ARABIC HAMZA ABOVE */
+#define XK_Arabic_hamza_below         0x1000655  /* U+0655 ARABIC HAMZA BELOW */
+#define XK_Arabic_jeh                 0x1000698  /* U+0698 ARABIC LETTER JEH */
+#define XK_Arabic_veh                 0x10006a4  /* U+06A4 ARABIC LETTER VEH */
+#define XK_Arabic_keheh               0x10006a9  /* U+06A9 ARABIC LETTER KEHEH */
+#define XK_Arabic_gaf                 0x10006af  /* U+06AF ARABIC LETTER GAF */
+#define XK_Arabic_noon_ghunna         0x10006ba  /* U+06BA ARABIC LETTER NOON GHUNNA */
+#define XK_Arabic_heh_doachashmee     0x10006be  /* U+06BE ARABIC LETTER HEH DOACHASHMEE */
+#define XK_Farsi_yeh                  0x10006cc  /* U+06CC ARABIC LETTER FARSI YEH */
+#define XK_Arabic_farsi_yeh           0x10006cc  /* U+06CC ARABIC LETTER FARSI YEH */
+#define XK_Arabic_yeh_baree           0x10006d2  /* U+06D2 ARABIC LETTER YEH BARREE */
+#define XK_Arabic_heh_goal            0x10006c1  /* U+06C1 ARABIC LETTER HEH GOAL */
+#define XK_Arabic_switch                 0xff7e  /* Alias for mode_switch */
+#endif /* XK_ARABIC */
+
+/*
+ * Cyrillic
+ * Byte 3 = 6
+ */
+#ifdef XK_CYRILLIC
+#define XK_Cyrillic_GHE_bar           0x1000492  /* U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE */
+#define XK_Cyrillic_ghe_bar           0x1000493  /* U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE */
+#define XK_Cyrillic_ZHE_descender     0x1000496  /* U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */
+#define XK_Cyrillic_zhe_descender     0x1000497  /* U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER */
+#define XK_Cyrillic_KA_descender      0x100049a  /* U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER */
+#define XK_Cyrillic_ka_descender      0x100049b  /* U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER */
+#define XK_Cyrillic_KA_vertstroke     0x100049c  /* U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */
+#define XK_Cyrillic_ka_vertstroke     0x100049d  /* U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE */
+#define XK_Cyrillic_EN_descender      0x10004a2  /* U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER */
+#define XK_Cyrillic_en_descender      0x10004a3  /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */
+#define XK_Cyrillic_U_straight        0x10004ae  /* U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U */
+#define XK_Cyrillic_u_straight        0x10004af  /* U+04AF CYRILLIC SMALL LETTER STRAIGHT U */
+#define XK_Cyrillic_U_straight_bar    0x10004b0  /* U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */
+#define XK_Cyrillic_u_straight_bar    0x10004b1  /* U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE */
+#define XK_Cyrillic_HA_descender      0x10004b2  /* U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER */
+#define XK_Cyrillic_ha_descender      0x10004b3  /* U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER */
+#define XK_Cyrillic_CHE_descender     0x10004b6  /* U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */
+#define XK_Cyrillic_che_descender     0x10004b7  /* U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER */
+#define XK_Cyrillic_CHE_vertstroke    0x10004b8  /* U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */
+#define XK_Cyrillic_che_vertstroke    0x10004b9  /* U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE */
+#define XK_Cyrillic_SHHA              0x10004ba  /* U+04BA CYRILLIC CAPITAL LETTER SHHA */
+#define XK_Cyrillic_shha              0x10004bb  /* U+04BB CYRILLIC SMALL LETTER SHHA */
+
+#define XK_Cyrillic_SCHWA             0x10004d8  /* U+04D8 CYRILLIC CAPITAL LETTER SCHWA */
+#define XK_Cyrillic_schwa             0x10004d9  /* U+04D9 CYRILLIC SMALL LETTER SCHWA */
+#define XK_Cyrillic_I_macron          0x10004e2  /* U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON */
+#define XK_Cyrillic_i_macron          0x10004e3  /* U+04E3 CYRILLIC SMALL LETTER I WITH MACRON */
+#define XK_Cyrillic_O_bar             0x10004e8  /* U+04E8 CYRILLIC CAPITAL LETTER BARRED O */
+#define XK_Cyrillic_o_bar             0x10004e9  /* U+04E9 CYRILLIC SMALL LETTER BARRED O */
+#define XK_Cyrillic_U_macron          0x10004ee  /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */
+#define XK_Cyrillic_u_macron          0x10004ef  /* U+04EF CYRILLIC SMALL LETTER U WITH MACRON */
+
+#define XK_Serbian_dje                   0x06a1  /* U+0452 CYRILLIC SMALL LETTER DJE */
+#define XK_Macedonia_gje                 0x06a2  /* U+0453 CYRILLIC SMALL LETTER GJE */
+#define XK_Cyrillic_io                   0x06a3  /* U+0451 CYRILLIC SMALL LETTER IO */
+#define XK_Ukrainian_ie                  0x06a4  /* U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE */
+#define XK_Ukranian_je                   0x06a4  /* deprecated */
+#define XK_Macedonia_dse                 0x06a5  /* U+0455 CYRILLIC SMALL LETTER DZE */
+#define XK_Ukrainian_i                   0x06a6  /* U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
+#define XK_Ukranian_i                    0x06a6  /* deprecated */
+#define XK_Ukrainian_yi                  0x06a7  /* U+0457 CYRILLIC SMALL LETTER YI */
+#define XK_Ukranian_yi                   0x06a7  /* deprecated */
+#define XK_Cyrillic_je                   0x06a8  /* U+0458 CYRILLIC SMALL LETTER JE */
+#define XK_Serbian_je                    0x06a8  /* deprecated */
+#define XK_Cyrillic_lje                  0x06a9  /* U+0459 CYRILLIC SMALL LETTER LJE */
+#define XK_Serbian_lje                   0x06a9  /* deprecated */
+#define XK_Cyrillic_nje                  0x06aa  /* U+045A CYRILLIC SMALL LETTER NJE */
+#define XK_Serbian_nje                   0x06aa  /* deprecated */
+#define XK_Serbian_tshe                  0x06ab  /* U+045B CYRILLIC SMALL LETTER TSHE */
+#define XK_Macedonia_kje                 0x06ac  /* U+045C CYRILLIC SMALL LETTER KJE */
+#define XK_Ukrainian_ghe_with_upturn     0x06ad  /* U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN */
+#define XK_Byelorussian_shortu           0x06ae  /* U+045E CYRILLIC SMALL LETTER SHORT U */
+#define XK_Cyrillic_dzhe                 0x06af  /* U+045F CYRILLIC SMALL LETTER DZHE */
+#define XK_Serbian_dze                   0x06af  /* deprecated */
+#define XK_numerosign                    0x06b0  /* U+2116 NUMERO SIGN */
+#define XK_Serbian_DJE                   0x06b1  /* U+0402 CYRILLIC CAPITAL LETTER DJE */
+#define XK_Macedonia_GJE                 0x06b2  /* U+0403 CYRILLIC CAPITAL LETTER GJE */
+#define XK_Cyrillic_IO                   0x06b3  /* U+0401 CYRILLIC CAPITAL LETTER IO */
+#define XK_Ukrainian_IE                  0x06b4  /* U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE */
+#define XK_Ukranian_JE                   0x06b4  /* deprecated */
+#define XK_Macedonia_DSE                 0x06b5  /* U+0405 CYRILLIC CAPITAL LETTER DZE */
+#define XK_Ukrainian_I                   0x06b6  /* U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
+#define XK_Ukranian_I                    0x06b6  /* deprecated */
+#define XK_Ukrainian_YI                  0x06b7  /* U+0407 CYRILLIC CAPITAL LETTER YI */
+#define XK_Ukranian_YI                   0x06b7  /* deprecated */
+#define XK_Cyrillic_JE                   0x06b8  /* U+0408 CYRILLIC CAPITAL LETTER JE */
+#define XK_Serbian_JE                    0x06b8  /* deprecated */
+#define XK_Cyrillic_LJE                  0x06b9  /* U+0409 CYRILLIC CAPITAL LETTER LJE */
+#define XK_Serbian_LJE                   0x06b9  /* deprecated */
+#define XK_Cyrillic_NJE                  0x06ba  /* U+040A CYRILLIC CAPITAL LETTER NJE */
+#define XK_Serbian_NJE                   0x06ba  /* deprecated */
+#define XK_Serbian_TSHE                  0x06bb  /* U+040B CYRILLIC CAPITAL LETTER TSHE */
+#define XK_Macedonia_KJE                 0x06bc  /* U+040C CYRILLIC CAPITAL LETTER KJE */
+#define XK_Ukrainian_GHE_WITH_UPTURN     0x06bd  /* U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
+#define XK_Byelorussian_SHORTU           0x06be  /* U+040E CYRILLIC CAPITAL LETTER SHORT U */
+#define XK_Cyrillic_DZHE                 0x06bf  /* U+040F CYRILLIC CAPITAL LETTER DZHE */
+#define XK_Serbian_DZE                   0x06bf  /* deprecated */
+#define XK_Cyrillic_yu                   0x06c0  /* U+044E CYRILLIC SMALL LETTER YU */
+#define XK_Cyrillic_a                    0x06c1  /* U+0430 CYRILLIC SMALL LETTER A */
+#define XK_Cyrillic_be                   0x06c2  /* U+0431 CYRILLIC SMALL LETTER BE */
+#define XK_Cyrillic_tse                  0x06c3  /* U+0446 CYRILLIC SMALL LETTER TSE */
+#define XK_Cyrillic_de                   0x06c4  /* U+0434 CYRILLIC SMALL LETTER DE */
+#define XK_Cyrillic_ie                   0x06c5  /* U+0435 CYRILLIC SMALL LETTER IE */
+#define XK_Cyrillic_ef                   0x06c6  /* U+0444 CYRILLIC SMALL LETTER EF */
+#define XK_Cyrillic_ghe                  0x06c7  /* U+0433 CYRILLIC SMALL LETTER GHE */
+#define XK_Cyrillic_ha                   0x06c8  /* U+0445 CYRILLIC SMALL LETTER HA */
+#define XK_Cyrillic_i                    0x06c9  /* U+0438 CYRILLIC SMALL LETTER I */
+#define XK_Cyrillic_shorti               0x06ca  /* U+0439 CYRILLIC SMALL LETTER SHORT I */
+#define XK_Cyrillic_ka                   0x06cb  /* U+043A CYRILLIC SMALL LETTER KA */
+#define XK_Cyrillic_el                   0x06cc  /* U+043B CYRILLIC SMALL LETTER EL */
+#define XK_Cyrillic_em                   0x06cd  /* U+043C CYRILLIC SMALL LETTER EM */
+#define XK_Cyrillic_en                   0x06ce  /* U+043D CYRILLIC SMALL LETTER EN */
+#define XK_Cyrillic_o                    0x06cf  /* U+043E CYRILLIC SMALL LETTER O */
+#define XK_Cyrillic_pe                   0x06d0  /* U+043F CYRILLIC SMALL LETTER PE */
+#define XK_Cyrillic_ya                   0x06d1  /* U+044F CYRILLIC SMALL LETTER YA */
+#define XK_Cyrillic_er                   0x06d2  /* U+0440 CYRILLIC SMALL LETTER ER */
+#define XK_Cyrillic_es                   0x06d3  /* U+0441 CYRILLIC SMALL LETTER ES */
+#define XK_Cyrillic_te                   0x06d4  /* U+0442 CYRILLIC SMALL LETTER TE */
+#define XK_Cyrillic_u                    0x06d5  /* U+0443 CYRILLIC SMALL LETTER U */
+#define XK_Cyrillic_zhe                  0x06d6  /* U+0436 CYRILLIC SMALL LETTER ZHE */
+#define XK_Cyrillic_ve                   0x06d7  /* U+0432 CYRILLIC SMALL LETTER VE */
+#define XK_Cyrillic_softsign             0x06d8  /* U+044C CYRILLIC SMALL LETTER SOFT SIGN */
+#define XK_Cyrillic_yeru                 0x06d9  /* U+044B CYRILLIC SMALL LETTER YERU */
+#define XK_Cyrillic_ze                   0x06da  /* U+0437 CYRILLIC SMALL LETTER ZE */
+#define XK_Cyrillic_sha                  0x06db  /* U+0448 CYRILLIC SMALL LETTER SHA */
+#define XK_Cyrillic_e                    0x06dc  /* U+044D CYRILLIC SMALL LETTER E */
+#define XK_Cyrillic_shcha                0x06dd  /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+#define XK_Cyrillic_che                  0x06de  /* U+0447 CYRILLIC SMALL LETTER CHE */
+#define XK_Cyrillic_hardsign             0x06df  /* U+044A CYRILLIC SMALL LETTER HARD SIGN */
+#define XK_Cyrillic_YU                   0x06e0  /* U+042E CYRILLIC CAPITAL LETTER YU */
+#define XK_Cyrillic_A                    0x06e1  /* U+0410 CYRILLIC CAPITAL LETTER A */
+#define XK_Cyrillic_BE                   0x06e2  /* U+0411 CYRILLIC CAPITAL LETTER BE */
+#define XK_Cyrillic_TSE                  0x06e3  /* U+0426 CYRILLIC CAPITAL LETTER TSE */
+#define XK_Cyrillic_DE                   0x06e4  /* U+0414 CYRILLIC CAPITAL LETTER DE */
+#define XK_Cyrillic_IE                   0x06e5  /* U+0415 CYRILLIC CAPITAL LETTER IE */
+#define XK_Cyrillic_EF                   0x06e6  /* U+0424 CYRILLIC CAPITAL LETTER EF */
+#define XK_Cyrillic_GHE                  0x06e7  /* U+0413 CYRILLIC CAPITAL LETTER GHE */
+#define XK_Cyrillic_HA                   0x06e8  /* U+0425 CYRILLIC CAPITAL LETTER HA */
+#define XK_Cyrillic_I                    0x06e9  /* U+0418 CYRILLIC CAPITAL LETTER I */
+#define XK_Cyrillic_SHORTI               0x06ea  /* U+0419 CYRILLIC CAPITAL LETTER SHORT I */
+#define XK_Cyrillic_KA                   0x06eb  /* U+041A CYRILLIC CAPITAL LETTER KA */
+#define XK_Cyrillic_EL                   0x06ec  /* U+041B CYRILLIC CAPITAL LETTER EL */
+#define XK_Cyrillic_EM                   0x06ed  /* U+041C CYRILLIC CAPITAL LETTER EM */
+#define XK_Cyrillic_EN                   0x06ee  /* U+041D CYRILLIC CAPITAL LETTER EN */
+#define XK_Cyrillic_O                    0x06ef  /* U+041E CYRILLIC CAPITAL LETTER O */
+#define XK_Cyrillic_PE                   0x06f0  /* U+041F CYRILLIC CAPITAL LETTER PE */
+#define XK_Cyrillic_YA                   0x06f1  /* U+042F CYRILLIC CAPITAL LETTER YA */
+#define XK_Cyrillic_ER                   0x06f2  /* U+0420 CYRILLIC CAPITAL LETTER ER */
+#define XK_Cyrillic_ES                   0x06f3  /* U+0421 CYRILLIC CAPITAL LETTER ES */
+#define XK_Cyrillic_TE                   0x06f4  /* U+0422 CYRILLIC CAPITAL LETTER TE */
+#define XK_Cyrillic_U                    0x06f5  /* U+0423 CYRILLIC CAPITAL LETTER U */
+#define XK_Cyrillic_ZHE                  0x06f6  /* U+0416 CYRILLIC CAPITAL LETTER ZHE */
+#define XK_Cyrillic_VE                   0x06f7  /* U+0412 CYRILLIC CAPITAL LETTER VE */
+#define XK_Cyrillic_SOFTSIGN             0x06f8  /* U+042C CYRILLIC CAPITAL LETTER SOFT SIGN */
+#define XK_Cyrillic_YERU                 0x06f9  /* U+042B CYRILLIC CAPITAL LETTER YERU */
+#define XK_Cyrillic_ZE                   0x06fa  /* U+0417 CYRILLIC CAPITAL LETTER ZE */
+#define XK_Cyrillic_SHA                  0x06fb  /* U+0428 CYRILLIC CAPITAL LETTER SHA */
+#define XK_Cyrillic_E                    0x06fc  /* U+042D CYRILLIC CAPITAL LETTER E */
+#define XK_Cyrillic_SHCHA                0x06fd  /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+#define XK_Cyrillic_CHE                  0x06fe  /* U+0427 CYRILLIC CAPITAL LETTER CHE */
+#define XK_Cyrillic_HARDSIGN             0x06ff  /* U+042A CYRILLIC CAPITAL LETTER HARD SIGN */
+#endif /* XK_CYRILLIC */
+
+/*
+ * Greek
+ * (based on an early draft of, and not quite identical to, ISO/IEC 8859-7)
+ * Byte 3 = 7
+ */
+
+#ifdef XK_GREEK
+#define XK_Greek_ALPHAaccent             0x07a1  /* U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS */
+#define XK_Greek_EPSILONaccent           0x07a2  /* U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS */
+#define XK_Greek_ETAaccent               0x07a3  /* U+0389 GREEK CAPITAL LETTER ETA WITH TONOS */
+#define XK_Greek_IOTAaccent              0x07a4  /* U+038A GREEK CAPITAL LETTER IOTA WITH TONOS */
+#define XK_Greek_IOTAdieresis            0x07a5  /* U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
+#define XK_Greek_IOTAdiaeresis           0x07a5  /* old typo */
+#define XK_Greek_OMICRONaccent           0x07a7  /* U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS */
+#define XK_Greek_UPSILONaccent           0x07a8  /* U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS */
+#define XK_Greek_UPSILONdieresis         0x07a9  /* U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
+#define XK_Greek_OMEGAaccent             0x07ab  /* U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS */
+#define XK_Greek_accentdieresis          0x07ae  /* U+0385 GREEK DIALYTIKA TONOS */
+#define XK_Greek_horizbar                0x07af  /* U+2015 HORIZONTAL BAR */
+#define XK_Greek_alphaaccent             0x07b1  /* U+03AC GREEK SMALL LETTER ALPHA WITH TONOS */
+#define XK_Greek_epsilonaccent           0x07b2  /* U+03AD GREEK SMALL LETTER EPSILON WITH TONOS */
+#define XK_Greek_etaaccent               0x07b3  /* U+03AE GREEK SMALL LETTER ETA WITH TONOS */
+#define XK_Greek_iotaaccent              0x07b4  /* U+03AF GREEK SMALL LETTER IOTA WITH TONOS */
+#define XK_Greek_iotadieresis            0x07b5  /* U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA */
+#define XK_Greek_iotaaccentdieresis      0x07b6  /* U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */
+#define XK_Greek_omicronaccent           0x07b7  /* U+03CC GREEK SMALL LETTER OMICRON WITH TONOS */
+#define XK_Greek_upsilonaccent           0x07b8  /* U+03CD GREEK SMALL LETTER UPSILON WITH TONOS */
+#define XK_Greek_upsilondieresis         0x07b9  /* U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA */
+#define XK_Greek_upsilonaccentdieresis   0x07ba  /* U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */
+#define XK_Greek_omegaaccent             0x07bb  /* U+03CE GREEK SMALL LETTER OMEGA WITH TONOS */
+#define XK_Greek_ALPHA                   0x07c1  /* U+0391 GREEK CAPITAL LETTER ALPHA */
+#define XK_Greek_BETA                    0x07c2  /* U+0392 GREEK CAPITAL LETTER BETA */
+#define XK_Greek_GAMMA                   0x07c3  /* U+0393 GREEK CAPITAL LETTER GAMMA */
+#define XK_Greek_DELTA                   0x07c4  /* U+0394 GREEK CAPITAL LETTER DELTA */
+#define XK_Greek_EPSILON                 0x07c5  /* U+0395 GREEK CAPITAL LETTER EPSILON */
+#define XK_Greek_ZETA                    0x07c6  /* U+0396 GREEK CAPITAL LETTER ZETA */
+#define XK_Greek_ETA                     0x07c7  /* U+0397 GREEK CAPITAL LETTER ETA */
+#define XK_Greek_THETA                   0x07c8  /* U+0398 GREEK CAPITAL LETTER THETA */
+#define XK_Greek_IOTA                    0x07c9  /* U+0399 GREEK CAPITAL LETTER IOTA */
+#define XK_Greek_KAPPA                   0x07ca  /* U+039A GREEK CAPITAL LETTER KAPPA */
+#define XK_Greek_LAMDA                   0x07cb  /* U+039B GREEK CAPITAL LETTER LAMDA */
+#define XK_Greek_LAMBDA                  0x07cb  /* U+039B GREEK CAPITAL LETTER LAMDA */
+#define XK_Greek_MU                      0x07cc  /* U+039C GREEK CAPITAL LETTER MU */
+#define XK_Greek_NU                      0x07cd  /* U+039D GREEK CAPITAL LETTER NU */
+#define XK_Greek_XI                      0x07ce  /* U+039E GREEK CAPITAL LETTER XI */
+#define XK_Greek_OMICRON                 0x07cf  /* U+039F GREEK CAPITAL LETTER OMICRON */
+#define XK_Greek_PI                      0x07d0  /* U+03A0 GREEK CAPITAL LETTER PI */
+#define XK_Greek_RHO                     0x07d1  /* U+03A1 GREEK CAPITAL LETTER RHO */
+#define XK_Greek_SIGMA                   0x07d2  /* U+03A3 GREEK CAPITAL LETTER SIGMA */
+#define XK_Greek_TAU                     0x07d4  /* U+03A4 GREEK CAPITAL LETTER TAU */
+#define XK_Greek_UPSILON                 0x07d5  /* U+03A5 GREEK CAPITAL LETTER UPSILON */
+#define XK_Greek_PHI                     0x07d6  /* U+03A6 GREEK CAPITAL LETTER PHI */
+#define XK_Greek_CHI                     0x07d7  /* U+03A7 GREEK CAPITAL LETTER CHI */
+#define XK_Greek_PSI                     0x07d8  /* U+03A8 GREEK CAPITAL LETTER PSI */
+#define XK_Greek_OMEGA                   0x07d9  /* U+03A9 GREEK CAPITAL LETTER OMEGA */
+#define XK_Greek_alpha                   0x07e1  /* U+03B1 GREEK SMALL LETTER ALPHA */
+#define XK_Greek_beta                    0x07e2  /* U+03B2 GREEK SMALL LETTER BETA */
+#define XK_Greek_gamma                   0x07e3  /* U+03B3 GREEK SMALL LETTER GAMMA */
+#define XK_Greek_delta                   0x07e4  /* U+03B4 GREEK SMALL LETTER DELTA */
+#define XK_Greek_epsilon                 0x07e5  /* U+03B5 GREEK SMALL LETTER EPSILON */
+#define XK_Greek_zeta                    0x07e6  /* U+03B6 GREEK SMALL LETTER ZETA */
+#define XK_Greek_eta                     0x07e7  /* U+03B7 GREEK SMALL LETTER ETA */
+#define XK_Greek_theta                   0x07e8  /* U+03B8 GREEK SMALL LETTER THETA */
+#define XK_Greek_iota                    0x07e9  /* U+03B9 GREEK SMALL LETTER IOTA */
+#define XK_Greek_kappa                   0x07ea  /* U+03BA GREEK SMALL LETTER KAPPA */
+#define XK_Greek_lamda                   0x07eb  /* U+03BB GREEK SMALL LETTER LAMDA */
+#define XK_Greek_lambda                  0x07eb  /* U+03BB GREEK SMALL LETTER LAMDA */
+#define XK_Greek_mu                      0x07ec  /* U+03BC GREEK SMALL LETTER MU */
+#define XK_Greek_nu                      0x07ed  /* U+03BD GREEK SMALL LETTER NU */
+#define XK_Greek_xi                      0x07ee  /* U+03BE GREEK SMALL LETTER XI */
+#define XK_Greek_omicron                 0x07ef  /* U+03BF GREEK SMALL LETTER OMICRON */
+#define XK_Greek_pi                      0x07f0  /* U+03C0 GREEK SMALL LETTER PI */
+#define XK_Greek_rho                     0x07f1  /* U+03C1 GREEK SMALL LETTER RHO */
+#define XK_Greek_sigma                   0x07f2  /* U+03C3 GREEK SMALL LETTER SIGMA */
+#define XK_Greek_finalsmallsigma         0x07f3  /* U+03C2 GREEK SMALL LETTER FINAL SIGMA */
+#define XK_Greek_tau                     0x07f4  /* U+03C4 GREEK SMALL LETTER TAU */
+#define XK_Greek_upsilon                 0x07f5  /* U+03C5 GREEK SMALL LETTER UPSILON */
+#define XK_Greek_phi                     0x07f6  /* U+03C6 GREEK SMALL LETTER PHI */
+#define XK_Greek_chi                     0x07f7  /* U+03C7 GREEK SMALL LETTER CHI */
+#define XK_Greek_psi                     0x07f8  /* U+03C8 GREEK SMALL LETTER PSI */
+#define XK_Greek_omega                   0x07f9  /* U+03C9 GREEK SMALL LETTER OMEGA */
+#define XK_Greek_switch                  0xff7e  /* Alias for mode_switch */
+#endif /* XK_GREEK */
+
+/*
+ * Technical
+ * (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html)
+ * Byte 3 = 8
+ */
+
+#ifdef XK_TECHNICAL
+#define XK_leftradical                   0x08a1  /* U+23B7 RADICAL SYMBOL BOTTOM */
+#define XK_topleftradical                0x08a2  /*(U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT)*/
+#define XK_horizconnector                0x08a3  /*(U+2500 BOX DRAWINGS LIGHT HORIZONTAL)*/
+#define XK_topintegral                   0x08a4  /* U+2320 TOP HALF INTEGRAL */
+#define XK_botintegral                   0x08a5  /* U+2321 BOTTOM HALF INTEGRAL */
+#define XK_vertconnector                 0x08a6  /*(U+2502 BOX DRAWINGS LIGHT VERTICAL)*/
+#define XK_topleftsqbracket              0x08a7  /* U+23A1 LEFT SQUARE BRACKET UPPER CORNER */
+#define XK_botleftsqbracket              0x08a8  /* U+23A3 LEFT SQUARE BRACKET LOWER CORNER */
+#define XK_toprightsqbracket             0x08a9  /* U+23A4 RIGHT SQUARE BRACKET UPPER CORNER */
+#define XK_botrightsqbracket             0x08aa  /* U+23A6 RIGHT SQUARE BRACKET LOWER CORNER */
+#define XK_topleftparens                 0x08ab  /* U+239B LEFT PARENTHESIS UPPER HOOK */
+#define XK_botleftparens                 0x08ac  /* U+239D LEFT PARENTHESIS LOWER HOOK */
+#define XK_toprightparens                0x08ad  /* U+239E RIGHT PARENTHESIS UPPER HOOK */
+#define XK_botrightparens                0x08ae  /* U+23A0 RIGHT PARENTHESIS LOWER HOOK */
+#define XK_leftmiddlecurlybrace          0x08af  /* U+23A8 LEFT CURLY BRACKET MIDDLE PIECE */
+#define XK_rightmiddlecurlybrace         0x08b0  /* U+23AC RIGHT CURLY BRACKET MIDDLE PIECE */
+#define XK_topleftsummation              0x08b1
+#define XK_botleftsummation              0x08b2
+#define XK_topvertsummationconnector     0x08b3
+#define XK_botvertsummationconnector     0x08b4
+#define XK_toprightsummation             0x08b5
+#define XK_botrightsummation             0x08b6
+#define XK_rightmiddlesummation          0x08b7
+#define XK_lessthanequal                 0x08bc  /* U+2264 LESS-THAN OR EQUAL TO */
+#define XK_notequal                      0x08bd  /* U+2260 NOT EQUAL TO */
+#define XK_greaterthanequal              0x08be  /* U+2265 GREATER-THAN OR EQUAL TO */
+#define XK_integral                      0x08bf  /* U+222B INTEGRAL */
+#define XK_therefore                     0x08c0  /* U+2234 THEREFORE */
+#define XK_variation                     0x08c1  /* U+221D PROPORTIONAL TO */
+#define XK_infinity                      0x08c2  /* U+221E INFINITY */
+#define XK_nabla                         0x08c5  /* U+2207 NABLA */
+#define XK_approximate                   0x08c8  /* U+223C TILDE OPERATOR */
+#define XK_similarequal                  0x08c9  /* U+2243 ASYMPTOTICALLY EQUAL TO */
+#define XK_ifonlyif                      0x08cd  /* U+21D4 LEFT RIGHT DOUBLE ARROW */
+#define XK_implies                       0x08ce  /* U+21D2 RIGHTWARDS DOUBLE ARROW */
+#define XK_identical                     0x08cf  /* U+2261 IDENTICAL TO */
+#define XK_radical                       0x08d6  /* U+221A SQUARE ROOT */
+#define XK_includedin                    0x08da  /* U+2282 SUBSET OF */
+#define XK_includes                      0x08db  /* U+2283 SUPERSET OF */
+#define XK_intersection                  0x08dc  /* U+2229 INTERSECTION */
+#define XK_union                         0x08dd  /* U+222A UNION */
+#define XK_logicaland                    0x08de  /* U+2227 LOGICAL AND */
+#define XK_logicalor                     0x08df  /* U+2228 LOGICAL OR */
+#define XK_partialderivative             0x08ef  /* U+2202 PARTIAL DIFFERENTIAL */
+#define XK_function                      0x08f6  /* U+0192 LATIN SMALL LETTER F WITH HOOK */
+#define XK_leftarrow                     0x08fb  /* U+2190 LEFTWARDS ARROW */
+#define XK_uparrow                       0x08fc  /* U+2191 UPWARDS ARROW */
+#define XK_rightarrow                    0x08fd  /* U+2192 RIGHTWARDS ARROW */
+#define XK_downarrow                     0x08fe  /* U+2193 DOWNWARDS ARROW */
+#endif /* XK_TECHNICAL */
+
+/*
+ * Special
+ * (from the DEC VT100 Special Graphics Character Set)
+ * Byte 3 = 9
+ */
+
+#ifdef XK_SPECIAL
+#define XK_blank                         0x09df
+#define XK_soliddiamond                  0x09e0  /* U+25C6 BLACK DIAMOND */
+#define XK_checkerboard                  0x09e1  /* U+2592 MEDIUM SHADE */
+#define XK_ht                            0x09e2  /* U+2409 SYMBOL FOR HORIZONTAL TABULATION */
+#define XK_ff                            0x09e3  /* U+240C SYMBOL FOR FORM FEED */
+#define XK_cr                            0x09e4  /* U+240D SYMBOL FOR CARRIAGE RETURN */
+#define XK_lf                            0x09e5  /* U+240A SYMBOL FOR LINE FEED */
+#define XK_nl                            0x09e8  /* U+2424 SYMBOL FOR NEWLINE */
+#define XK_vt                            0x09e9  /* U+240B SYMBOL FOR VERTICAL TABULATION */
+#define XK_lowrightcorner                0x09ea  /* U+2518 BOX DRAWINGS LIGHT UP AND LEFT */
+#define XK_uprightcorner                 0x09eb  /* U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT */
+#define XK_upleftcorner                  0x09ec  /* U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT */
+#define XK_lowleftcorner                 0x09ed  /* U+2514 BOX DRAWINGS LIGHT UP AND RIGHT */
+#define XK_crossinglines                 0x09ee  /* U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
+#define XK_horizlinescan1                0x09ef  /* U+23BA HORIZONTAL SCAN LINE-1 */
+#define XK_horizlinescan3                0x09f0  /* U+23BB HORIZONTAL SCAN LINE-3 */
+#define XK_horizlinescan5                0x09f1  /* U+2500 BOX DRAWINGS LIGHT HORIZONTAL */
+#define XK_horizlinescan7                0x09f2  /* U+23BC HORIZONTAL SCAN LINE-7 */
+#define XK_horizlinescan9                0x09f3  /* U+23BD HORIZONTAL SCAN LINE-9 */
+#define XK_leftt                         0x09f4  /* U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
+#define XK_rightt                        0x09f5  /* U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT */
+#define XK_bott                          0x09f6  /* U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL */
+#define XK_topt                          0x09f7  /* U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
+#define XK_vertbar                       0x09f8  /* U+2502 BOX DRAWINGS LIGHT VERTICAL */
+#endif /* XK_SPECIAL */
+
+/*
+ * Publishing
+ * (these are probably from a long forgotten DEC Publishing
+ * font that once shipped with DECwrite)
+ * Byte 3 = 0x0a
+ */
+
+#ifdef XK_PUBLISHING
+#define XK_emspace                       0x0aa1  /* U+2003 EM SPACE */
+#define XK_enspace                       0x0aa2  /* U+2002 EN SPACE */
+#define XK_em3space                      0x0aa3  /* U+2004 THREE-PER-EM SPACE */
+#define XK_em4space                      0x0aa4  /* U+2005 FOUR-PER-EM SPACE */
+#define XK_digitspace                    0x0aa5  /* U+2007 FIGURE SPACE */
+#define XK_punctspace                    0x0aa6  /* U+2008 PUNCTUATION SPACE */
+#define XK_thinspace                     0x0aa7  /* U+2009 THIN SPACE */
+#define XK_hairspace                     0x0aa8  /* U+200A HAIR SPACE */
+#define XK_emdash                        0x0aa9  /* U+2014 EM DASH */
+#define XK_endash                        0x0aaa  /* U+2013 EN DASH */
+#define XK_signifblank                   0x0aac  /*(U+2423 OPEN BOX)*/
+#define XK_ellipsis                      0x0aae  /* U+2026 HORIZONTAL ELLIPSIS */
+#define XK_doubbaselinedot               0x0aaf  /* U+2025 TWO DOT LEADER */
+#define XK_onethird                      0x0ab0  /* U+2153 VULGAR FRACTION ONE THIRD */
+#define XK_twothirds                     0x0ab1  /* U+2154 VULGAR FRACTION TWO THIRDS */
+#define XK_onefifth                      0x0ab2  /* U+2155 VULGAR FRACTION ONE FIFTH */
+#define XK_twofifths                     0x0ab3  /* U+2156 VULGAR FRACTION TWO FIFTHS */
+#define XK_threefifths                   0x0ab4  /* U+2157 VULGAR FRACTION THREE FIFTHS */
+#define XK_fourfifths                    0x0ab5  /* U+2158 VULGAR FRACTION FOUR FIFTHS */
+#define XK_onesixth                      0x0ab6  /* U+2159 VULGAR FRACTION ONE SIXTH */
+#define XK_fivesixths                    0x0ab7  /* U+215A VULGAR FRACTION FIVE SIXTHS */
+#define XK_careof                        0x0ab8  /* U+2105 CARE OF */
+#define XK_figdash                       0x0abb  /* U+2012 FIGURE DASH */
+#define XK_leftanglebracket              0x0abc  /*(U+27E8 MATHEMATICAL LEFT ANGLE BRACKET)*/
+#define XK_decimalpoint                  0x0abd  /*(U+002E FULL STOP)*/
+#define XK_rightanglebracket             0x0abe  /*(U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET)*/
+#define XK_marker                        0x0abf
+#define XK_oneeighth                     0x0ac3  /* U+215B VULGAR FRACTION ONE EIGHTH */
+#define XK_threeeighths                  0x0ac4  /* U+215C VULGAR FRACTION THREE EIGHTHS */
+#define XK_fiveeighths                   0x0ac5  /* U+215D VULGAR FRACTION FIVE EIGHTHS */
+#define XK_seveneighths                  0x0ac6  /* U+215E VULGAR FRACTION SEVEN EIGHTHS */
+#define XK_trademark                     0x0ac9  /* U+2122 TRADE MARK SIGN */
+#define XK_signaturemark                 0x0aca  /*(U+2613 SALTIRE)*/
+#define XK_trademarkincircle             0x0acb
+#define XK_leftopentriangle              0x0acc  /*(U+25C1 WHITE LEFT-POINTING TRIANGLE)*/
+#define XK_rightopentriangle             0x0acd  /*(U+25B7 WHITE RIGHT-POINTING TRIANGLE)*/
+#define XK_emopencircle                  0x0ace  /*(U+25CB WHITE CIRCLE)*/
+#define XK_emopenrectangle               0x0acf  /*(U+25AF WHITE VERTICAL RECTANGLE)*/
+#define XK_leftsinglequotemark           0x0ad0  /* U+2018 LEFT SINGLE QUOTATION MARK */
+#define XK_rightsinglequotemark          0x0ad1  /* U+2019 RIGHT SINGLE QUOTATION MARK */
+#define XK_leftdoublequotemark           0x0ad2  /* U+201C LEFT DOUBLE QUOTATION MARK */
+#define XK_rightdoublequotemark          0x0ad3  /* U+201D RIGHT DOUBLE QUOTATION MARK */
+#define XK_prescription                  0x0ad4  /* U+211E PRESCRIPTION TAKE */
+#define XK_minutes                       0x0ad6  /* U+2032 PRIME */
+#define XK_seconds                       0x0ad7  /* U+2033 DOUBLE PRIME */
+#define XK_latincross                    0x0ad9  /* U+271D LATIN CROSS */
+#define XK_hexagram                      0x0ada
+#define XK_filledrectbullet              0x0adb  /*(U+25AC BLACK RECTANGLE)*/
+#define XK_filledlefttribullet           0x0adc  /*(U+25C0 BLACK LEFT-POINTING TRIANGLE)*/
+#define XK_filledrighttribullet          0x0add  /*(U+25B6 BLACK RIGHT-POINTING TRIANGLE)*/
+#define XK_emfilledcircle                0x0ade  /*(U+25CF BLACK CIRCLE)*/
+#define XK_emfilledrect                  0x0adf  /*(U+25AE BLACK VERTICAL RECTANGLE)*/
+#define XK_enopencircbullet              0x0ae0  /*(U+25E6 WHITE BULLET)*/
+#define XK_enopensquarebullet            0x0ae1  /*(U+25AB WHITE SMALL SQUARE)*/
+#define XK_openrectbullet                0x0ae2  /*(U+25AD WHITE RECTANGLE)*/
+#define XK_opentribulletup               0x0ae3  /*(U+25B3 WHITE UP-POINTING TRIANGLE)*/
+#define XK_opentribulletdown             0x0ae4  /*(U+25BD WHITE DOWN-POINTING TRIANGLE)*/
+#define XK_openstar                      0x0ae5  /*(U+2606 WHITE STAR)*/
+#define XK_enfilledcircbullet            0x0ae6  /*(U+2022 BULLET)*/
+#define XK_enfilledsqbullet              0x0ae7  /*(U+25AA BLACK SMALL SQUARE)*/
+#define XK_filledtribulletup             0x0ae8  /*(U+25B2 BLACK UP-POINTING TRIANGLE)*/
+#define XK_filledtribulletdown           0x0ae9  /*(U+25BC BLACK DOWN-POINTING TRIANGLE)*/
+#define XK_leftpointer                   0x0aea  /*(U+261C WHITE LEFT POINTING INDEX)*/
+#define XK_rightpointer                  0x0aeb  /*(U+261E WHITE RIGHT POINTING INDEX)*/
+#define XK_club                          0x0aec  /* U+2663 BLACK CLUB SUIT */
+#define XK_diamond                       0x0aed  /* U+2666 BLACK DIAMOND SUIT */
+#define XK_heart                         0x0aee  /* U+2665 BLACK HEART SUIT */
+#define XK_maltesecross                  0x0af0  /* U+2720 MALTESE CROSS */
+#define XK_dagger                        0x0af1  /* U+2020 DAGGER */
+#define XK_doubledagger                  0x0af2  /* U+2021 DOUBLE DAGGER */
+#define XK_checkmark                     0x0af3  /* U+2713 CHECK MARK */
+#define XK_ballotcross                   0x0af4  /* U+2717 BALLOT X */
+#define XK_musicalsharp                  0x0af5  /* U+266F MUSIC SHARP SIGN */
+#define XK_musicalflat                   0x0af6  /* U+266D MUSIC FLAT SIGN */
+#define XK_malesymbol                    0x0af7  /* U+2642 MALE SIGN */
+#define XK_femalesymbol                  0x0af8  /* U+2640 FEMALE SIGN */
+#define XK_telephone                     0x0af9  /* U+260E BLACK TELEPHONE */
+#define XK_telephonerecorder             0x0afa  /* U+2315 TELEPHONE RECORDER */
+#define XK_phonographcopyright           0x0afb  /* U+2117 SOUND RECORDING COPYRIGHT */
+#define XK_caret                         0x0afc  /* U+2038 CARET */
+#define XK_singlelowquotemark            0x0afd  /* U+201A SINGLE LOW-9 QUOTATION MARK */
+#define XK_doublelowquotemark            0x0afe  /* U+201E DOUBLE LOW-9 QUOTATION MARK */
+#define XK_cursor                        0x0aff
+#endif /* XK_PUBLISHING */
+
+/*
+ * APL
+ * Byte 3 = 0x0b
+ */
+
+#ifdef XK_APL
+#define XK_leftcaret                     0x0ba3  /*(U+003C LESS-THAN SIGN)*/
+#define XK_rightcaret                    0x0ba6  /*(U+003E GREATER-THAN SIGN)*/
+#define XK_downcaret                     0x0ba8  /*(U+2228 LOGICAL OR)*/
+#define XK_upcaret                       0x0ba9  /*(U+2227 LOGICAL AND)*/
+#define XK_overbar                       0x0bc0  /*(U+00AF MACRON)*/
+#define XK_downtack                      0x0bc2  /* U+22A5 UP TACK */
+#define XK_upshoe                        0x0bc3  /*(U+2229 INTERSECTION)*/
+#define XK_downstile                     0x0bc4  /* U+230A LEFT FLOOR */
+#define XK_underbar                      0x0bc6  /*(U+005F LOW LINE)*/
+#define XK_jot                           0x0bca  /* U+2218 RING OPERATOR */
+#define XK_quad                          0x0bcc  /* U+2395 APL FUNCTIONAL SYMBOL QUAD */
+#define XK_uptack                        0x0bce  /* U+22A4 DOWN TACK */
+#define XK_circle                        0x0bcf  /* U+25CB WHITE CIRCLE */
+#define XK_upstile                       0x0bd3  /* U+2308 LEFT CEILING */
+#define XK_downshoe                      0x0bd6  /*(U+222A UNION)*/
+#define XK_rightshoe                     0x0bd8  /*(U+2283 SUPERSET OF)*/
+#define XK_leftshoe                      0x0bda  /*(U+2282 SUBSET OF)*/
+#define XK_lefttack                      0x0bdc  /* U+22A2 RIGHT TACK */
+#define XK_righttack                     0x0bfc  /* U+22A3 LEFT TACK */
+#endif /* XK_APL */
+
+/*
+ * Hebrew
+ * Byte 3 = 0x0c
+ */
+
+#ifdef XK_HEBREW
+#define XK_hebrew_doublelowline          0x0cdf  /* U+2017 DOUBLE LOW LINE */
+#define XK_hebrew_aleph                  0x0ce0  /* U+05D0 HEBREW LETTER ALEF */
+#define XK_hebrew_bet                    0x0ce1  /* U+05D1 HEBREW LETTER BET */
+#define XK_hebrew_beth                   0x0ce1  /* deprecated */
+#define XK_hebrew_gimel                  0x0ce2  /* U+05D2 HEBREW LETTER GIMEL */
+#define XK_hebrew_gimmel                 0x0ce2  /* deprecated */
+#define XK_hebrew_dalet                  0x0ce3  /* U+05D3 HEBREW LETTER DALET */
+#define XK_hebrew_daleth                 0x0ce3  /* deprecated */
+#define XK_hebrew_he                     0x0ce4  /* U+05D4 HEBREW LETTER HE */
+#define XK_hebrew_waw                    0x0ce5  /* U+05D5 HEBREW LETTER VAV */
+#define XK_hebrew_zain                   0x0ce6  /* U+05D6 HEBREW LETTER ZAYIN */
+#define XK_hebrew_zayin                  0x0ce6  /* deprecated */
+#define XK_hebrew_chet                   0x0ce7  /* U+05D7 HEBREW LETTER HET */
+#define XK_hebrew_het                    0x0ce7  /* deprecated */
+#define XK_hebrew_tet                    0x0ce8  /* U+05D8 HEBREW LETTER TET */
+#define XK_hebrew_teth                   0x0ce8  /* deprecated */
+#define XK_hebrew_yod                    0x0ce9  /* U+05D9 HEBREW LETTER YOD */
+#define XK_hebrew_finalkaph              0x0cea  /* U+05DA HEBREW LETTER FINAL KAF */
+#define XK_hebrew_kaph                   0x0ceb  /* U+05DB HEBREW LETTER KAF */
+#define XK_hebrew_lamed                  0x0cec  /* U+05DC HEBREW LETTER LAMED */
+#define XK_hebrew_finalmem               0x0ced  /* U+05DD HEBREW LETTER FINAL MEM */
+#define XK_hebrew_mem                    0x0cee  /* U+05DE HEBREW LETTER MEM */
+#define XK_hebrew_finalnun               0x0cef  /* U+05DF HEBREW LETTER FINAL NUN */
+#define XK_hebrew_nun                    0x0cf0  /* U+05E0 HEBREW LETTER NUN */
+#define XK_hebrew_samech                 0x0cf1  /* U+05E1 HEBREW LETTER SAMEKH */
+#define XK_hebrew_samekh                 0x0cf1  /* deprecated */
+#define XK_hebrew_ayin                   0x0cf2  /* U+05E2 HEBREW LETTER AYIN */
+#define XK_hebrew_finalpe                0x0cf3  /* U+05E3 HEBREW LETTER FINAL PE */
+#define XK_hebrew_pe                     0x0cf4  /* U+05E4 HEBREW LETTER PE */
+#define XK_hebrew_finalzade              0x0cf5  /* U+05E5 HEBREW LETTER FINAL TSADI */
+#define XK_hebrew_finalzadi              0x0cf5  /* deprecated */
+#define XK_hebrew_zade                   0x0cf6  /* U+05E6 HEBREW LETTER TSADI */
+#define XK_hebrew_zadi                   0x0cf6  /* deprecated */
+#define XK_hebrew_qoph                   0x0cf7  /* U+05E7 HEBREW LETTER QOF */
+#define XK_hebrew_kuf                    0x0cf7  /* deprecated */
+#define XK_hebrew_resh                   0x0cf8  /* U+05E8 HEBREW LETTER RESH */
+#define XK_hebrew_shin                   0x0cf9  /* U+05E9 HEBREW LETTER SHIN */
+#define XK_hebrew_taw                    0x0cfa  /* U+05EA HEBREW LETTER TAV */
+#define XK_hebrew_taf                    0x0cfa  /* deprecated */
+#define XK_Hebrew_switch                 0xff7e  /* Alias for mode_switch */
+#endif /* XK_HEBREW */
+
+/*
+ * Thai
+ * Byte 3 = 0x0d
+ */
+
+#ifdef XK_THAI
+#define XK_Thai_kokai                    0x0da1  /* U+0E01 THAI CHARACTER KO KAI */
+#define XK_Thai_khokhai                  0x0da2  /* U+0E02 THAI CHARACTER KHO KHAI */
+#define XK_Thai_khokhuat                 0x0da3  /* U+0E03 THAI CHARACTER KHO KHUAT */
+#define XK_Thai_khokhwai                 0x0da4  /* U+0E04 THAI CHARACTER KHO KHWAI */
+#define XK_Thai_khokhon                  0x0da5  /* U+0E05 THAI CHARACTER KHO KHON */
+#define XK_Thai_khorakhang               0x0da6  /* U+0E06 THAI CHARACTER KHO RAKHANG */
+#define XK_Thai_ngongu                   0x0da7  /* U+0E07 THAI CHARACTER NGO NGU */
+#define XK_Thai_chochan                  0x0da8  /* U+0E08 THAI CHARACTER CHO CHAN */
+#define XK_Thai_choching                 0x0da9  /* U+0E09 THAI CHARACTER CHO CHING */
+#define XK_Thai_chochang                 0x0daa  /* U+0E0A THAI CHARACTER CHO CHANG */
+#define XK_Thai_soso                     0x0dab  /* U+0E0B THAI CHARACTER SO SO */
+#define XK_Thai_chochoe                  0x0dac  /* U+0E0C THAI CHARACTER CHO CHOE */
+#define XK_Thai_yoying                   0x0dad  /* U+0E0D THAI CHARACTER YO YING */
+#define XK_Thai_dochada                  0x0dae  /* U+0E0E THAI CHARACTER DO CHADA */
+#define XK_Thai_topatak                  0x0daf  /* U+0E0F THAI CHARACTER TO PATAK */
+#define XK_Thai_thothan                  0x0db0  /* U+0E10 THAI CHARACTER THO THAN */
+#define XK_Thai_thonangmontho            0x0db1  /* U+0E11 THAI CHARACTER THO NANGMONTHO */
+#define XK_Thai_thophuthao               0x0db2  /* U+0E12 THAI CHARACTER THO PHUTHAO */
+#define XK_Thai_nonen                    0x0db3  /* U+0E13 THAI CHARACTER NO NEN */
+#define XK_Thai_dodek                    0x0db4  /* U+0E14 THAI CHARACTER DO DEK */
+#define XK_Thai_totao                    0x0db5  /* U+0E15 THAI CHARACTER TO TAO */
+#define XK_Thai_thothung                 0x0db6  /* U+0E16 THAI CHARACTER THO THUNG */
+#define XK_Thai_thothahan                0x0db7  /* U+0E17 THAI CHARACTER THO THAHAN */
+#define XK_Thai_thothong                 0x0db8  /* U+0E18 THAI CHARACTER THO THONG */
+#define XK_Thai_nonu                     0x0db9  /* U+0E19 THAI CHARACTER NO NU */
+#define XK_Thai_bobaimai                 0x0dba  /* U+0E1A THAI CHARACTER BO BAIMAI */
+#define XK_Thai_popla                    0x0dbb  /* U+0E1B THAI CHARACTER PO PLA */
+#define XK_Thai_phophung                 0x0dbc  /* U+0E1C THAI CHARACTER PHO PHUNG */
+#define XK_Thai_fofa                     0x0dbd  /* U+0E1D THAI CHARACTER FO FA */
+#define XK_Thai_phophan                  0x0dbe  /* U+0E1E THAI CHARACTER PHO PHAN */
+#define XK_Thai_fofan                    0x0dbf  /* U+0E1F THAI CHARACTER FO FAN */
+#define XK_Thai_phosamphao               0x0dc0  /* U+0E20 THAI CHARACTER PHO SAMPHAO */
+#define XK_Thai_moma                     0x0dc1  /* U+0E21 THAI CHARACTER MO MA */
+#define XK_Thai_yoyak                    0x0dc2  /* U+0E22 THAI CHARACTER YO YAK */
+#define XK_Thai_rorua                    0x0dc3  /* U+0E23 THAI CHARACTER RO RUA */
+#define XK_Thai_ru                       0x0dc4  /* U+0E24 THAI CHARACTER RU */
+#define XK_Thai_loling                   0x0dc5  /* U+0E25 THAI CHARACTER LO LING */
+#define XK_Thai_lu                       0x0dc6  /* U+0E26 THAI CHARACTER LU */
+#define XK_Thai_wowaen                   0x0dc7  /* U+0E27 THAI CHARACTER WO WAEN */
+#define XK_Thai_sosala                   0x0dc8  /* U+0E28 THAI CHARACTER SO SALA */
+#define XK_Thai_sorusi                   0x0dc9  /* U+0E29 THAI CHARACTER SO RUSI */
+#define XK_Thai_sosua                    0x0dca  /* U+0E2A THAI CHARACTER SO SUA */
+#define XK_Thai_hohip                    0x0dcb  /* U+0E2B THAI CHARACTER HO HIP */
+#define XK_Thai_lochula                  0x0dcc  /* U+0E2C THAI CHARACTER LO CHULA */
+#define XK_Thai_oang                     0x0dcd  /* U+0E2D THAI CHARACTER O ANG */
+#define XK_Thai_honokhuk                 0x0dce  /* U+0E2E THAI CHARACTER HO NOKHUK */
+#define XK_Thai_paiyannoi                0x0dcf  /* U+0E2F THAI CHARACTER PAIYANNOI */
+#define XK_Thai_saraa                    0x0dd0  /* U+0E30 THAI CHARACTER SARA A */
+#define XK_Thai_maihanakat               0x0dd1  /* U+0E31 THAI CHARACTER MAI HAN-AKAT */
+#define XK_Thai_saraaa                   0x0dd2  /* U+0E32 THAI CHARACTER SARA AA */
+#define XK_Thai_saraam                   0x0dd3  /* U+0E33 THAI CHARACTER SARA AM */
+#define XK_Thai_sarai                    0x0dd4  /* U+0E34 THAI CHARACTER SARA I */
+#define XK_Thai_saraii                   0x0dd5  /* U+0E35 THAI CHARACTER SARA II */
+#define XK_Thai_saraue                   0x0dd6  /* U+0E36 THAI CHARACTER SARA UE */
+#define XK_Thai_sarauee                  0x0dd7  /* U+0E37 THAI CHARACTER SARA UEE */
+#define XK_Thai_sarau                    0x0dd8  /* U+0E38 THAI CHARACTER SARA U */
+#define XK_Thai_sarauu                   0x0dd9  /* U+0E39 THAI CHARACTER SARA UU */
+#define XK_Thai_phinthu                  0x0dda  /* U+0E3A THAI CHARACTER PHINTHU */
+#define XK_Thai_maihanakat_maitho        0x0dde
+#define XK_Thai_baht                     0x0ddf  /* U+0E3F THAI CURRENCY SYMBOL BAHT */
+#define XK_Thai_sarae                    0x0de0  /* U+0E40 THAI CHARACTER SARA E */
+#define XK_Thai_saraae                   0x0de1  /* U+0E41 THAI CHARACTER SARA AE */
+#define XK_Thai_sarao                    0x0de2  /* U+0E42 THAI CHARACTER SARA O */
+#define XK_Thai_saraaimaimuan            0x0de3  /* U+0E43 THAI CHARACTER SARA AI MAIMUAN */
+#define XK_Thai_saraaimaimalai           0x0de4  /* U+0E44 THAI CHARACTER SARA AI MAIMALAI */
+#define XK_Thai_lakkhangyao              0x0de5  /* U+0E45 THAI CHARACTER LAKKHANGYAO */
+#define XK_Thai_maiyamok                 0x0de6  /* U+0E46 THAI CHARACTER MAIYAMOK */
+#define XK_Thai_maitaikhu                0x0de7  /* U+0E47 THAI CHARACTER MAITAIKHU */
+#define XK_Thai_maiek                    0x0de8  /* U+0E48 THAI CHARACTER MAI EK */
+#define XK_Thai_maitho                   0x0de9  /* U+0E49 THAI CHARACTER MAI THO */
+#define XK_Thai_maitri                   0x0dea  /* U+0E4A THAI CHARACTER MAI TRI */
+#define XK_Thai_maichattawa              0x0deb  /* U+0E4B THAI CHARACTER MAI CHATTAWA */
+#define XK_Thai_thanthakhat              0x0dec  /* U+0E4C THAI CHARACTER THANTHAKHAT */
+#define XK_Thai_nikhahit                 0x0ded  /* U+0E4D THAI CHARACTER NIKHAHIT */
+#define XK_Thai_leksun                   0x0df0  /* U+0E50 THAI DIGIT ZERO */
+#define XK_Thai_leknung                  0x0df1  /* U+0E51 THAI DIGIT ONE */
+#define XK_Thai_leksong                  0x0df2  /* U+0E52 THAI DIGIT TWO */
+#define XK_Thai_leksam                   0x0df3  /* U+0E53 THAI DIGIT THREE */
+#define XK_Thai_leksi                    0x0df4  /* U+0E54 THAI DIGIT FOUR */
+#define XK_Thai_lekha                    0x0df5  /* U+0E55 THAI DIGIT FIVE */
+#define XK_Thai_lekhok                   0x0df6  /* U+0E56 THAI DIGIT SIX */
+#define XK_Thai_lekchet                  0x0df7  /* U+0E57 THAI DIGIT SEVEN */
+#define XK_Thai_lekpaet                  0x0df8  /* U+0E58 THAI DIGIT EIGHT */
+#define XK_Thai_lekkao                   0x0df9  /* U+0E59 THAI DIGIT NINE */
+#endif /* XK_THAI */
+
+/*
+ * Korean
+ * Byte 3 = 0x0e
+ */
+
+#ifdef XK_KOREAN
+
+#define XK_Hangul                        0xff31  /* Hangul start/stop(toggle) */
+#define XK_Hangul_Start                  0xff32  /* Hangul start */
+#define XK_Hangul_End                    0xff33  /* Hangul end, English start */
+#define XK_Hangul_Hanja                  0xff34  /* Start Hangul->Hanja Conversion */
+#define XK_Hangul_Jamo                   0xff35  /* Hangul Jamo mode */
+#define XK_Hangul_Romaja                 0xff36  /* Hangul Romaja mode */
+#define XK_Hangul_Codeinput              0xff37  /* Hangul code input mode */
+#define XK_Hangul_Jeonja                 0xff38  /* Jeonja mode */
+#define XK_Hangul_Banja                  0xff39  /* Banja mode */
+#define XK_Hangul_PreHanja               0xff3a  /* Pre Hanja conversion */
+#define XK_Hangul_PostHanja              0xff3b  /* Post Hanja conversion */
+#define XK_Hangul_SingleCandidate        0xff3c  /* Single candidate */
+#define XK_Hangul_MultipleCandidate      0xff3d  /* Multiple candidate */
+#define XK_Hangul_PreviousCandidate      0xff3e  /* Previous candidate */
+#define XK_Hangul_Special                0xff3f  /* Special symbols */
+#define XK_Hangul_switch                 0xff7e  /* Alias for mode_switch */
+
+/* Hangul Consonant Characters */
+#define XK_Hangul_Kiyeog                 0x0ea1
+#define XK_Hangul_SsangKiyeog            0x0ea2
+#define XK_Hangul_KiyeogSios             0x0ea3
+#define XK_Hangul_Nieun                  0x0ea4
+#define XK_Hangul_NieunJieuj             0x0ea5
+#define XK_Hangul_NieunHieuh             0x0ea6
+#define XK_Hangul_Dikeud                 0x0ea7
+#define XK_Hangul_SsangDikeud            0x0ea8
+#define XK_Hangul_Rieul                  0x0ea9
+#define XK_Hangul_RieulKiyeog            0x0eaa
+#define XK_Hangul_RieulMieum             0x0eab
+#define XK_Hangul_RieulPieub             0x0eac
+#define XK_Hangul_RieulSios              0x0ead
+#define XK_Hangul_RieulTieut             0x0eae
+#define XK_Hangul_RieulPhieuf            0x0eaf
+#define XK_Hangul_RieulHieuh             0x0eb0
+#define XK_Hangul_Mieum                  0x0eb1
+#define XK_Hangul_Pieub                  0x0eb2
+#define XK_Hangul_SsangPieub             0x0eb3
+#define XK_Hangul_PieubSios              0x0eb4
+#define XK_Hangul_Sios                   0x0eb5
+#define XK_Hangul_SsangSios              0x0eb6
+#define XK_Hangul_Ieung                  0x0eb7
+#define XK_Hangul_Jieuj                  0x0eb8
+#define XK_Hangul_SsangJieuj             0x0eb9
+#define XK_Hangul_Cieuc                  0x0eba
+#define XK_Hangul_Khieuq                 0x0ebb
+#define XK_Hangul_Tieut                  0x0ebc
+#define XK_Hangul_Phieuf                 0x0ebd
+#define XK_Hangul_Hieuh                  0x0ebe
+
+/* Hangul Vowel Characters */
+#define XK_Hangul_A                      0x0ebf
+#define XK_Hangul_AE                     0x0ec0
+#define XK_Hangul_YA                     0x0ec1
+#define XK_Hangul_YAE                    0x0ec2
+#define XK_Hangul_EO                     0x0ec3
+#define XK_Hangul_E                      0x0ec4
+#define XK_Hangul_YEO                    0x0ec5
+#define XK_Hangul_YE                     0x0ec6
+#define XK_Hangul_O                      0x0ec7
+#define XK_Hangul_WA                     0x0ec8
+#define XK_Hangul_WAE                    0x0ec9
+#define XK_Hangul_OE                     0x0eca
+#define XK_Hangul_YO                     0x0ecb
+#define XK_Hangul_U                      0x0ecc
+#define XK_Hangul_WEO                    0x0ecd
+#define XK_Hangul_WE                     0x0ece
+#define XK_Hangul_WI                     0x0ecf
+#define XK_Hangul_YU                     0x0ed0
+#define XK_Hangul_EU                     0x0ed1
+#define XK_Hangul_YI                     0x0ed2
+#define XK_Hangul_I                      0x0ed3
+
+/* Hangul syllable-final (JongSeong) Characters */
+#define XK_Hangul_J_Kiyeog               0x0ed4
+#define XK_Hangul_J_SsangKiyeog          0x0ed5
+#define XK_Hangul_J_KiyeogSios           0x0ed6
+#define XK_Hangul_J_Nieun                0x0ed7
+#define XK_Hangul_J_NieunJieuj           0x0ed8
+#define XK_Hangul_J_NieunHieuh           0x0ed9
+#define XK_Hangul_J_Dikeud               0x0eda
+#define XK_Hangul_J_Rieul                0x0edb
+#define XK_Hangul_J_RieulKiyeog          0x0edc
+#define XK_Hangul_J_RieulMieum           0x0edd
+#define XK_Hangul_J_RieulPieub           0x0ede
+#define XK_Hangul_J_RieulSios            0x0edf
+#define XK_Hangul_J_RieulTieut           0x0ee0
+#define XK_Hangul_J_RieulPhieuf          0x0ee1
+#define XK_Hangul_J_RieulHieuh           0x0ee2
+#define XK_Hangul_J_Mieum                0x0ee3
+#define XK_Hangul_J_Pieub                0x0ee4
+#define XK_Hangul_J_PieubSios            0x0ee5
+#define XK_Hangul_J_Sios                 0x0ee6
+#define XK_Hangul_J_SsangSios            0x0ee7
+#define XK_Hangul_J_Ieung                0x0ee8
+#define XK_Hangul_J_Jieuj                0x0ee9
+#define XK_Hangul_J_Cieuc                0x0eea
+#define XK_Hangul_J_Khieuq               0x0eeb
+#define XK_Hangul_J_Tieut                0x0eec
+#define XK_Hangul_J_Phieuf               0x0eed
+#define XK_Hangul_J_Hieuh                0x0eee
+
+/* Ancient Hangul Consonant Characters */
+#define XK_Hangul_RieulYeorinHieuh       0x0eef
+#define XK_Hangul_SunkyeongeumMieum      0x0ef0
+#define XK_Hangul_SunkyeongeumPieub      0x0ef1
+#define XK_Hangul_PanSios                0x0ef2
+#define XK_Hangul_KkogjiDalrinIeung      0x0ef3
+#define XK_Hangul_SunkyeongeumPhieuf     0x0ef4
+#define XK_Hangul_YeorinHieuh            0x0ef5
+
+/* Ancient Hangul Vowel Characters */
+#define XK_Hangul_AraeA                  0x0ef6
+#define XK_Hangul_AraeAE                 0x0ef7
+
+/* Ancient Hangul syllable-final (JongSeong) Characters */
+#define XK_Hangul_J_PanSios              0x0ef8
+#define XK_Hangul_J_KkogjiDalrinIeung    0x0ef9
+#define XK_Hangul_J_YeorinHieuh          0x0efa
+
+/* Korean currency symbol */
+#define XK_Korean_Won                    0x0eff  /*(U+20A9 WON SIGN)*/
+
+#endif /* XK_KOREAN */
+
+/*
+ * Armenian
+ */
+
+#ifdef XK_ARMENIAN
+#define XK_Armenian_ligature_ew       0x1000587  /* U+0587 ARMENIAN SMALL LIGATURE ECH YIWN */
+#define XK_Armenian_full_stop         0x1000589  /* U+0589 ARMENIAN FULL STOP */
+#define XK_Armenian_verjaket          0x1000589  /* U+0589 ARMENIAN FULL STOP */
+#define XK_Armenian_separation_mark   0x100055d  /* U+055D ARMENIAN COMMA */
+#define XK_Armenian_but               0x100055d  /* U+055D ARMENIAN COMMA */
+#define XK_Armenian_hyphen            0x100058a  /* U+058A ARMENIAN HYPHEN */
+#define XK_Armenian_yentamna          0x100058a  /* U+058A ARMENIAN HYPHEN */
+#define XK_Armenian_exclam            0x100055c  /* U+055C ARMENIAN EXCLAMATION MARK */
+#define XK_Armenian_amanak            0x100055c  /* U+055C ARMENIAN EXCLAMATION MARK */
+#define XK_Armenian_accent            0x100055b  /* U+055B ARMENIAN EMPHASIS MARK */
+#define XK_Armenian_shesht            0x100055b  /* U+055B ARMENIAN EMPHASIS MARK */
+#define XK_Armenian_question          0x100055e  /* U+055E ARMENIAN QUESTION MARK */
+#define XK_Armenian_paruyk            0x100055e  /* U+055E ARMENIAN QUESTION MARK */
+#define XK_Armenian_AYB               0x1000531  /* U+0531 ARMENIAN CAPITAL LETTER AYB */
+#define XK_Armenian_ayb               0x1000561  /* U+0561 ARMENIAN SMALL LETTER AYB */
+#define XK_Armenian_BEN               0x1000532  /* U+0532 ARMENIAN CAPITAL LETTER BEN */
+#define XK_Armenian_ben               0x1000562  /* U+0562 ARMENIAN SMALL LETTER BEN */
+#define XK_Armenian_GIM               0x1000533  /* U+0533 ARMENIAN CAPITAL LETTER GIM */
+#define XK_Armenian_gim               0x1000563  /* U+0563 ARMENIAN SMALL LETTER GIM */
+#define XK_Armenian_DA                0x1000534  /* U+0534 ARMENIAN CAPITAL LETTER DA */
+#define XK_Armenian_da                0x1000564  /* U+0564 ARMENIAN SMALL LETTER DA */
+#define XK_Armenian_YECH              0x1000535  /* U+0535 ARMENIAN CAPITAL LETTER ECH */
+#define XK_Armenian_yech              0x1000565  /* U+0565 ARMENIAN SMALL LETTER ECH */
+#define XK_Armenian_ZA                0x1000536  /* U+0536 ARMENIAN CAPITAL LETTER ZA */
+#define XK_Armenian_za                0x1000566  /* U+0566 ARMENIAN SMALL LETTER ZA */
+#define XK_Armenian_E                 0x1000537  /* U+0537 ARMENIAN CAPITAL LETTER EH */
+#define XK_Armenian_e                 0x1000567  /* U+0567 ARMENIAN SMALL LETTER EH */
+#define XK_Armenian_AT                0x1000538  /* U+0538 ARMENIAN CAPITAL LETTER ET */
+#define XK_Armenian_at                0x1000568  /* U+0568 ARMENIAN SMALL LETTER ET */
+#define XK_Armenian_TO                0x1000539  /* U+0539 ARMENIAN CAPITAL LETTER TO */
+#define XK_Armenian_to                0x1000569  /* U+0569 ARMENIAN SMALL LETTER TO */
+#define XK_Armenian_ZHE               0x100053a  /* U+053A ARMENIAN CAPITAL LETTER ZHE */
+#define XK_Armenian_zhe               0x100056a  /* U+056A ARMENIAN SMALL LETTER ZHE */
+#define XK_Armenian_INI               0x100053b  /* U+053B ARMENIAN CAPITAL LETTER INI */
+#define XK_Armenian_ini               0x100056b  /* U+056B ARMENIAN SMALL LETTER INI */
+#define XK_Armenian_LYUN              0x100053c  /* U+053C ARMENIAN CAPITAL LETTER LIWN */
+#define XK_Armenian_lyun              0x100056c  /* U+056C ARMENIAN SMALL LETTER LIWN */
+#define XK_Armenian_KHE               0x100053d  /* U+053D ARMENIAN CAPITAL LETTER XEH */
+#define XK_Armenian_khe               0x100056d  /* U+056D ARMENIAN SMALL LETTER XEH */
+#define XK_Armenian_TSA               0x100053e  /* U+053E ARMENIAN CAPITAL LETTER CA */
+#define XK_Armenian_tsa               0x100056e  /* U+056E ARMENIAN SMALL LETTER CA */
+#define XK_Armenian_KEN               0x100053f  /* U+053F ARMENIAN CAPITAL LETTER KEN */
+#define XK_Armenian_ken               0x100056f  /* U+056F ARMENIAN SMALL LETTER KEN */
+#define XK_Armenian_HO                0x1000540  /* U+0540 ARMENIAN CAPITAL LETTER HO */
+#define XK_Armenian_ho                0x1000570  /* U+0570 ARMENIAN SMALL LETTER HO */
+#define XK_Armenian_DZA               0x1000541  /* U+0541 ARMENIAN CAPITAL LETTER JA */
+#define XK_Armenian_dza               0x1000571  /* U+0571 ARMENIAN SMALL LETTER JA */
+#define XK_Armenian_GHAT              0x1000542  /* U+0542 ARMENIAN CAPITAL LETTER GHAD */
+#define XK_Armenian_ghat              0x1000572  /* U+0572 ARMENIAN SMALL LETTER GHAD */
+#define XK_Armenian_TCHE              0x1000543  /* U+0543 ARMENIAN CAPITAL LETTER CHEH */
+#define XK_Armenian_tche              0x1000573  /* U+0573 ARMENIAN SMALL LETTER CHEH */
+#define XK_Armenian_MEN               0x1000544  /* U+0544 ARMENIAN CAPITAL LETTER MEN */
+#define XK_Armenian_men               0x1000574  /* U+0574 ARMENIAN SMALL LETTER MEN */
+#define XK_Armenian_HI                0x1000545  /* U+0545 ARMENIAN CAPITAL LETTER YI */
+#define XK_Armenian_hi                0x1000575  /* U+0575 ARMENIAN SMALL LETTER YI */
+#define XK_Armenian_NU                0x1000546  /* U+0546 ARMENIAN CAPITAL LETTER NOW */
+#define XK_Armenian_nu                0x1000576  /* U+0576 ARMENIAN SMALL LETTER NOW */
+#define XK_Armenian_SHA               0x1000547  /* U+0547 ARMENIAN CAPITAL LETTER SHA */
+#define XK_Armenian_sha               0x1000577  /* U+0577 ARMENIAN SMALL LETTER SHA */
+#define XK_Armenian_VO                0x1000548  /* U+0548 ARMENIAN CAPITAL LETTER VO */
+#define XK_Armenian_vo                0x1000578  /* U+0578 ARMENIAN SMALL LETTER VO */
+#define XK_Armenian_CHA               0x1000549  /* U+0549 ARMENIAN CAPITAL LETTER CHA */
+#define XK_Armenian_cha               0x1000579  /* U+0579 ARMENIAN SMALL LETTER CHA */
+#define XK_Armenian_PE                0x100054a  /* U+054A ARMENIAN CAPITAL LETTER PEH */
+#define XK_Armenian_pe                0x100057a  /* U+057A ARMENIAN SMALL LETTER PEH */
+#define XK_Armenian_JE                0x100054b  /* U+054B ARMENIAN CAPITAL LETTER JHEH */
+#define XK_Armenian_je                0x100057b  /* U+057B ARMENIAN SMALL LETTER JHEH */
+#define XK_Armenian_RA                0x100054c  /* U+054C ARMENIAN CAPITAL LETTER RA */
+#define XK_Armenian_ra                0x100057c  /* U+057C ARMENIAN SMALL LETTER RA */
+#define XK_Armenian_SE                0x100054d  /* U+054D ARMENIAN CAPITAL LETTER SEH */
+#define XK_Armenian_se                0x100057d  /* U+057D ARMENIAN SMALL LETTER SEH */
+#define XK_Armenian_VEV               0x100054e  /* U+054E ARMENIAN CAPITAL LETTER VEW */
+#define XK_Armenian_vev               0x100057e  /* U+057E ARMENIAN SMALL LETTER VEW */
+#define XK_Armenian_TYUN              0x100054f  /* U+054F ARMENIAN CAPITAL LETTER TIWN */
+#define XK_Armenian_tyun              0x100057f  /* U+057F ARMENIAN SMALL LETTER TIWN */
+#define XK_Armenian_RE                0x1000550  /* U+0550 ARMENIAN CAPITAL LETTER REH */
+#define XK_Armenian_re                0x1000580  /* U+0580 ARMENIAN SMALL LETTER REH */
+#define XK_Armenian_TSO               0x1000551  /* U+0551 ARMENIAN CAPITAL LETTER CO */
+#define XK_Armenian_tso               0x1000581  /* U+0581 ARMENIAN SMALL LETTER CO */
+#define XK_Armenian_VYUN              0x1000552  /* U+0552 ARMENIAN CAPITAL LETTER YIWN */
+#define XK_Armenian_vyun              0x1000582  /* U+0582 ARMENIAN SMALL LETTER YIWN */
+#define XK_Armenian_PYUR              0x1000553  /* U+0553 ARMENIAN CAPITAL LETTER PIWR */
+#define XK_Armenian_pyur              0x1000583  /* U+0583 ARMENIAN SMALL LETTER PIWR */
+#define XK_Armenian_KE                0x1000554  /* U+0554 ARMENIAN CAPITAL LETTER KEH */
+#define XK_Armenian_ke                0x1000584  /* U+0584 ARMENIAN SMALL LETTER KEH */
+#define XK_Armenian_O                 0x1000555  /* U+0555 ARMENIAN CAPITAL LETTER OH */
+#define XK_Armenian_o                 0x1000585  /* U+0585 ARMENIAN SMALL LETTER OH */
+#define XK_Armenian_FE                0x1000556  /* U+0556 ARMENIAN CAPITAL LETTER FEH */
+#define XK_Armenian_fe                0x1000586  /* U+0586 ARMENIAN SMALL LETTER FEH */
+#define XK_Armenian_apostrophe        0x100055a  /* U+055A ARMENIAN APOSTROPHE */
+#endif /* XK_ARMENIAN */
+
+/*
+ * Georgian
+ */
+
+#ifdef XK_GEORGIAN
+#define XK_Georgian_an                0x10010d0  /* U+10D0 GEORGIAN LETTER AN */
+#define XK_Georgian_ban               0x10010d1  /* U+10D1 GEORGIAN LETTER BAN */
+#define XK_Georgian_gan               0x10010d2  /* U+10D2 GEORGIAN LETTER GAN */
+#define XK_Georgian_don               0x10010d3  /* U+10D3 GEORGIAN LETTER DON */
+#define XK_Georgian_en                0x10010d4  /* U+10D4 GEORGIAN LETTER EN */
+#define XK_Georgian_vin               0x10010d5  /* U+10D5 GEORGIAN LETTER VIN */
+#define XK_Georgian_zen               0x10010d6  /* U+10D6 GEORGIAN LETTER ZEN */
+#define XK_Georgian_tan               0x10010d7  /* U+10D7 GEORGIAN LETTER TAN */
+#define XK_Georgian_in                0x10010d8  /* U+10D8 GEORGIAN LETTER IN */
+#define XK_Georgian_kan               0x10010d9  /* U+10D9 GEORGIAN LETTER KAN */
+#define XK_Georgian_las               0x10010da  /* U+10DA GEORGIAN LETTER LAS */
+#define XK_Georgian_man               0x10010db  /* U+10DB GEORGIAN LETTER MAN */
+#define XK_Georgian_nar               0x10010dc  /* U+10DC GEORGIAN LETTER NAR */
+#define XK_Georgian_on                0x10010dd  /* U+10DD GEORGIAN LETTER ON */
+#define XK_Georgian_par               0x10010de  /* U+10DE GEORGIAN LETTER PAR */
+#define XK_Georgian_zhar              0x10010df  /* U+10DF GEORGIAN LETTER ZHAR */
+#define XK_Georgian_rae               0x10010e0  /* U+10E0 GEORGIAN LETTER RAE */
+#define XK_Georgian_san               0x10010e1  /* U+10E1 GEORGIAN LETTER SAN */
+#define XK_Georgian_tar               0x10010e2  /* U+10E2 GEORGIAN LETTER TAR */
+#define XK_Georgian_un                0x10010e3  /* U+10E3 GEORGIAN LETTER UN */
+#define XK_Georgian_phar              0x10010e4  /* U+10E4 GEORGIAN LETTER PHAR */
+#define XK_Georgian_khar              0x10010e5  /* U+10E5 GEORGIAN LETTER KHAR */
+#define XK_Georgian_ghan              0x10010e6  /* U+10E6 GEORGIAN LETTER GHAN */
+#define XK_Georgian_qar               0x10010e7  /* U+10E7 GEORGIAN LETTER QAR */
+#define XK_Georgian_shin              0x10010e8  /* U+10E8 GEORGIAN LETTER SHIN */
+#define XK_Georgian_chin              0x10010e9  /* U+10E9 GEORGIAN LETTER CHIN */
+#define XK_Georgian_can               0x10010ea  /* U+10EA GEORGIAN LETTER CAN */
+#define XK_Georgian_jil               0x10010eb  /* U+10EB GEORGIAN LETTER JIL */
+#define XK_Georgian_cil               0x10010ec  /* U+10EC GEORGIAN LETTER CIL */
+#define XK_Georgian_char              0x10010ed  /* U+10ED GEORGIAN LETTER CHAR */
+#define XK_Georgian_xan               0x10010ee  /* U+10EE GEORGIAN LETTER XAN */
+#define XK_Georgian_jhan              0x10010ef  /* U+10EF GEORGIAN LETTER JHAN */
+#define XK_Georgian_hae               0x10010f0  /* U+10F0 GEORGIAN LETTER HAE */
+#define XK_Georgian_he                0x10010f1  /* U+10F1 GEORGIAN LETTER HE */
+#define XK_Georgian_hie               0x10010f2  /* U+10F2 GEORGIAN LETTER HIE */
+#define XK_Georgian_we                0x10010f3  /* U+10F3 GEORGIAN LETTER WE */
+#define XK_Georgian_har               0x10010f4  /* U+10F4 GEORGIAN LETTER HAR */
+#define XK_Georgian_hoe               0x10010f5  /* U+10F5 GEORGIAN LETTER HOE */
+#define XK_Georgian_fi                0x10010f6  /* U+10F6 GEORGIAN LETTER FI */
+#endif /* XK_GEORGIAN */
+
+/*
+ * Azeri (and other Turkic or Caucasian languages)
+ */
+
+#ifdef XK_CAUCASUS
+/* latin */
+#define XK_Xabovedot                  0x1001e8a  /* U+1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE */
+#define XK_Ibreve                     0x100012c  /* U+012C LATIN CAPITAL LETTER I WITH BREVE */
+#define XK_Zstroke                    0x10001b5  /* U+01B5 LATIN CAPITAL LETTER Z WITH STROKE */
+#define XK_Gcaron                     0x10001e6  /* U+01E6 LATIN CAPITAL LETTER G WITH CARON */
+#define XK_Ocaron                     0x10001d1  /* U+01D2 LATIN CAPITAL LETTER O WITH CARON */
+#define XK_Obarred                    0x100019f  /* U+019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE */
+#define XK_xabovedot                  0x1001e8b  /* U+1E8B LATIN SMALL LETTER X WITH DOT ABOVE */
+#define XK_ibreve                     0x100012d  /* U+012D LATIN SMALL LETTER I WITH BREVE */
+#define XK_zstroke                    0x10001b6  /* U+01B6 LATIN SMALL LETTER Z WITH STROKE */
+#define XK_gcaron                     0x10001e7  /* U+01E7 LATIN SMALL LETTER G WITH CARON */
+#define XK_ocaron                     0x10001d2  /* U+01D2 LATIN SMALL LETTER O WITH CARON */
+#define XK_obarred                    0x1000275  /* U+0275 LATIN SMALL LETTER BARRED O */
+#define XK_SCHWA                      0x100018f  /* U+018F LATIN CAPITAL LETTER SCHWA */
+#define XK_schwa                      0x1000259  /* U+0259 LATIN SMALL LETTER SCHWA */
+/* those are not really Caucasus */
+/* For Inupiak */
+#define XK_Lbelowdot                  0x1001e36  /* U+1E36 LATIN CAPITAL LETTER L WITH DOT BELOW */
+#define XK_lbelowdot                  0x1001e37  /* U+1E37 LATIN SMALL LETTER L WITH DOT BELOW */
+#endif /* XK_CAUCASUS */
+
+/*
+ * Vietnamese
+ */
+#ifdef XK_VIETNAMESE
+#define XK_Abelowdot                  0x1001ea0  /* U+1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW */
+#define XK_abelowdot                  0x1001ea1  /* U+1EA1 LATIN SMALL LETTER A WITH DOT BELOW */
+#define XK_Ahook                      0x1001ea2  /* U+1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE */
+#define XK_ahook                      0x1001ea3  /* U+1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE */
+#define XK_Acircumflexacute           0x1001ea4  /* U+1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE */
+#define XK_acircumflexacute           0x1001ea5  /* U+1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE */
+#define XK_Acircumflexgrave           0x1001ea6  /* U+1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE */
+#define XK_acircumflexgrave           0x1001ea7  /* U+1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE */
+#define XK_Acircumflexhook            0x1001ea8  /* U+1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_acircumflexhook            0x1001ea9  /* U+1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Acircumflextilde           0x1001eaa  /* U+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE */
+#define XK_acircumflextilde           0x1001eab  /* U+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE */
+#define XK_Acircumflexbelowdot        0x1001eac  /* U+1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_acircumflexbelowdot        0x1001ead  /* U+1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Abreveacute                0x1001eae  /* U+1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE */
+#define XK_abreveacute                0x1001eaf  /* U+1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE */
+#define XK_Abrevegrave                0x1001eb0  /* U+1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE */
+#define XK_abrevegrave                0x1001eb1  /* U+1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE */
+#define XK_Abrevehook                 0x1001eb2  /* U+1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE */
+#define XK_abrevehook                 0x1001eb3  /* U+1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE */
+#define XK_Abrevetilde                0x1001eb4  /* U+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE */
+#define XK_abrevetilde                0x1001eb5  /* U+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE */
+#define XK_Abrevebelowdot             0x1001eb6  /* U+1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */
+#define XK_abrevebelowdot             0x1001eb7  /* U+1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW */
+#define XK_Ebelowdot                  0x1001eb8  /* U+1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW */
+#define XK_ebelowdot                  0x1001eb9  /* U+1EB9 LATIN SMALL LETTER E WITH DOT BELOW */
+#define XK_Ehook                      0x1001eba  /* U+1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE */
+#define XK_ehook                      0x1001ebb  /* U+1EBB LATIN SMALL LETTER E WITH HOOK ABOVE */
+#define XK_Etilde                     0x1001ebc  /* U+1EBC LATIN CAPITAL LETTER E WITH TILDE */
+#define XK_etilde                     0x1001ebd  /* U+1EBD LATIN SMALL LETTER E WITH TILDE */
+#define XK_Ecircumflexacute           0x1001ebe  /* U+1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE */
+#define XK_ecircumflexacute           0x1001ebf  /* U+1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE */
+#define XK_Ecircumflexgrave           0x1001ec0  /* U+1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE */
+#define XK_ecircumflexgrave           0x1001ec1  /* U+1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE */
+#define XK_Ecircumflexhook            0x1001ec2  /* U+1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_ecircumflexhook            0x1001ec3  /* U+1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Ecircumflextilde           0x1001ec4  /* U+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE */
+#define XK_ecircumflextilde           0x1001ec5  /* U+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE */
+#define XK_Ecircumflexbelowdot        0x1001ec6  /* U+1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_ecircumflexbelowdot        0x1001ec7  /* U+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Ihook                      0x1001ec8  /* U+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE */
+#define XK_ihook                      0x1001ec9  /* U+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE */
+#define XK_Ibelowdot                  0x1001eca  /* U+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW */
+#define XK_ibelowdot                  0x1001ecb  /* U+1ECB LATIN SMALL LETTER I WITH DOT BELOW */
+#define XK_Obelowdot                  0x1001ecc  /* U+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW */
+#define XK_obelowdot                  0x1001ecd  /* U+1ECD LATIN SMALL LETTER O WITH DOT BELOW */
+#define XK_Ohook                      0x1001ece  /* U+1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE */
+#define XK_ohook                      0x1001ecf  /* U+1ECF LATIN SMALL LETTER O WITH HOOK ABOVE */
+#define XK_Ocircumflexacute           0x1001ed0  /* U+1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE */
+#define XK_ocircumflexacute           0x1001ed1  /* U+1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE */
+#define XK_Ocircumflexgrave           0x1001ed2  /* U+1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE */
+#define XK_ocircumflexgrave           0x1001ed3  /* U+1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE */
+#define XK_Ocircumflexhook            0x1001ed4  /* U+1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_ocircumflexhook            0x1001ed5  /* U+1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Ocircumflextilde           0x1001ed6  /* U+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE */
+#define XK_ocircumflextilde           0x1001ed7  /* U+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE */
+#define XK_Ocircumflexbelowdot        0x1001ed8  /* U+1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_ocircumflexbelowdot        0x1001ed9  /* U+1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Ohornacute                 0x1001eda  /* U+1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE */
+#define XK_ohornacute                 0x1001edb  /* U+1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE */
+#define XK_Ohorngrave                 0x1001edc  /* U+1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE */
+#define XK_ohorngrave                 0x1001edd  /* U+1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE */
+#define XK_Ohornhook                  0x1001ede  /* U+1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE */
+#define XK_ohornhook                  0x1001edf  /* U+1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE */
+#define XK_Ohorntilde                 0x1001ee0  /* U+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE */
+#define XK_ohorntilde                 0x1001ee1  /* U+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE */
+#define XK_Ohornbelowdot              0x1001ee2  /* U+1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW */
+#define XK_ohornbelowdot              0x1001ee3  /* U+1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW */
+#define XK_Ubelowdot                  0x1001ee4  /* U+1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW */
+#define XK_ubelowdot                  0x1001ee5  /* U+1EE5 LATIN SMALL LETTER U WITH DOT BELOW */
+#define XK_Uhook                      0x1001ee6  /* U+1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE */
+#define XK_uhook                      0x1001ee7  /* U+1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE */
+#define XK_Uhornacute                 0x1001ee8  /* U+1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE */
+#define XK_uhornacute                 0x1001ee9  /* U+1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE */
+#define XK_Uhorngrave                 0x1001eea  /* U+1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE */
+#define XK_uhorngrave                 0x1001eeb  /* U+1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE */
+#define XK_Uhornhook                  0x1001eec  /* U+1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE */
+#define XK_uhornhook                  0x1001eed  /* U+1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE */
+#define XK_Uhorntilde                 0x1001eee  /* U+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE */
+#define XK_uhorntilde                 0x1001eef  /* U+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE */
+#define XK_Uhornbelowdot              0x1001ef0  /* U+1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW */
+#define XK_uhornbelowdot              0x1001ef1  /* U+1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW */
+#define XK_Ybelowdot                  0x1001ef4  /* U+1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW */
+#define XK_ybelowdot                  0x1001ef5  /* U+1EF5 LATIN SMALL LETTER Y WITH DOT BELOW */
+#define XK_Yhook                      0x1001ef6  /* U+1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE */
+#define XK_yhook                      0x1001ef7  /* U+1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE */
+#define XK_Ytilde                     0x1001ef8  /* U+1EF8 LATIN CAPITAL LETTER Y WITH TILDE */
+#define XK_ytilde                     0x1001ef9  /* U+1EF9 LATIN SMALL LETTER Y WITH TILDE */
+#define XK_Ohorn                      0x10001a0  /* U+01A0 LATIN CAPITAL LETTER O WITH HORN */
+#define XK_ohorn                      0x10001a1  /* U+01A1 LATIN SMALL LETTER O WITH HORN */
+#define XK_Uhorn                      0x10001af  /* U+01AF LATIN CAPITAL LETTER U WITH HORN */
+#define XK_uhorn                      0x10001b0  /* U+01B0 LATIN SMALL LETTER U WITH HORN */
+
+#endif /* XK_VIETNAMESE */
+
+#ifdef XK_CURRENCY
+#define XK_EcuSign                    0x10020a0  /* U+20A0 EURO-CURRENCY SIGN */
+#define XK_ColonSign                  0x10020a1  /* U+20A1 COLON SIGN */
+#define XK_CruzeiroSign               0x10020a2  /* U+20A2 CRUZEIRO SIGN */
+#define XK_FFrancSign                 0x10020a3  /* U+20A3 FRENCH FRANC SIGN */
+#define XK_LiraSign                   0x10020a4  /* U+20A4 LIRA SIGN */
+#define XK_MillSign                   0x10020a5  /* U+20A5 MILL SIGN */
+#define XK_NairaSign                  0x10020a6  /* U+20A6 NAIRA SIGN */
+#define XK_PesetaSign                 0x10020a7  /* U+20A7 PESETA SIGN */
+#define XK_RupeeSign                  0x10020a8  /* U+20A8 RUPEE SIGN */
+#define XK_WonSign                    0x10020a9  /* U+20A9 WON SIGN */
+#define XK_NewSheqelSign              0x10020aa  /* U+20AA NEW SHEQEL SIGN */
+#define XK_DongSign                   0x10020ab  /* U+20AB DONG SIGN */
+#define XK_EuroSign                      0x20ac  /* U+20AC EURO SIGN */
+#endif /* XK_CURRENCY */
+
+#ifdef XK_MATHEMATICAL
+/* one, two and three are defined above. */
+#define XK_zerosuperior               0x1002070  /* U+2070 SUPERSCRIPT ZERO */
+#define XK_foursuperior               0x1002074  /* U+2074 SUPERSCRIPT FOUR */
+#define XK_fivesuperior               0x1002075  /* U+2075 SUPERSCRIPT FIVE */
+#define XK_sixsuperior                0x1002076  /* U+2076 SUPERSCRIPT SIX */
+#define XK_sevensuperior              0x1002077  /* U+2077 SUPERSCRIPT SEVEN */
+#define XK_eightsuperior              0x1002078  /* U+2078 SUPERSCRIPT EIGHT */
+#define XK_ninesuperior               0x1002079  /* U+2079 SUPERSCRIPT NINE */
+#define XK_zerosubscript              0x1002080  /* U+2080 SUBSCRIPT ZERO */
+#define XK_onesubscript               0x1002081  /* U+2081 SUBSCRIPT ONE */
+#define XK_twosubscript               0x1002082  /* U+2082 SUBSCRIPT TWO */
+#define XK_threesubscript             0x1002083  /* U+2083 SUBSCRIPT THREE */
+#define XK_foursubscript              0x1002084  /* U+2084 SUBSCRIPT FOUR */
+#define XK_fivesubscript              0x1002085  /* U+2085 SUBSCRIPT FIVE */
+#define XK_sixsubscript               0x1002086  /* U+2086 SUBSCRIPT SIX */
+#define XK_sevensubscript             0x1002087  /* U+2087 SUBSCRIPT SEVEN */
+#define XK_eightsubscript             0x1002088  /* U+2088 SUBSCRIPT EIGHT */
+#define XK_ninesubscript              0x1002089  /* U+2089 SUBSCRIPT NINE */
+#define XK_partdifferential           0x1002202  /* U+2202 PARTIAL DIFFERENTIAL */
+#define XK_emptyset                   0x1002205  /* U+2205 NULL SET */
+#define XK_elementof                  0x1002208  /* U+2208 ELEMENT OF */
+#define XK_notelementof               0x1002209  /* U+2209 NOT AN ELEMENT OF */
+#define XK_containsas                 0x100220B  /* U+220B CONTAINS AS MEMBER */
+#define XK_squareroot                 0x100221A  /* U+221A SQUARE ROOT */
+#define XK_cuberoot                   0x100221B  /* U+221B CUBE ROOT */
+#define XK_fourthroot                 0x100221C  /* U+221C FOURTH ROOT */
+#define XK_dintegral                  0x100222C  /* U+222C DOUBLE INTEGRAL */
+#define XK_tintegral                  0x100222D  /* U+222D TRIPLE INTEGRAL */
+#define XK_because                    0x1002235  /* U+2235 BECAUSE */
+#define XK_approxeq                   0x1002248  /* U+2245 ALMOST EQUAL TO */
+#define XK_notapproxeq                0x1002247  /* U+2247 NOT ALMOST EQUAL TO */
+#define XK_notidentical               0x1002262  /* U+2262 NOT IDENTICAL TO */
+#define XK_stricteq                   0x1002263  /* U+2263 STRICTLY EQUIVALENT TO */          
+#endif /* XK_MATHEMATICAL */
+
+#ifdef XK_BRAILLE
+#define XK_braille_dot_1                 0xfff1
+#define XK_braille_dot_2                 0xfff2
+#define XK_braille_dot_3                 0xfff3
+#define XK_braille_dot_4                 0xfff4
+#define XK_braille_dot_5                 0xfff5
+#define XK_braille_dot_6                 0xfff6
+#define XK_braille_dot_7                 0xfff7
+#define XK_braille_dot_8                 0xfff8
+#define XK_braille_dot_9                 0xfff9
+#define XK_braille_dot_10                0xfffa
+#define XK_braille_blank              0x1002800  /* U+2800 BRAILLE PATTERN BLANK */
+#define XK_braille_dots_1             0x1002801  /* U+2801 BRAILLE PATTERN DOTS-1 */
+#define XK_braille_dots_2             0x1002802  /* U+2802 BRAILLE PATTERN DOTS-2 */
+#define XK_braille_dots_12            0x1002803  /* U+2803 BRAILLE PATTERN DOTS-12 */
+#define XK_braille_dots_3             0x1002804  /* U+2804 BRAILLE PATTERN DOTS-3 */
+#define XK_braille_dots_13            0x1002805  /* U+2805 BRAILLE PATTERN DOTS-13 */
+#define XK_braille_dots_23            0x1002806  /* U+2806 BRAILLE PATTERN DOTS-23 */
+#define XK_braille_dots_123           0x1002807  /* U+2807 BRAILLE PATTERN DOTS-123 */
+#define XK_braille_dots_4             0x1002808  /* U+2808 BRAILLE PATTERN DOTS-4 */
+#define XK_braille_dots_14            0x1002809  /* U+2809 BRAILLE PATTERN DOTS-14 */
+#define XK_braille_dots_24            0x100280a  /* U+280a BRAILLE PATTERN DOTS-24 */
+#define XK_braille_dots_124           0x100280b  /* U+280b BRAILLE PATTERN DOTS-124 */
+#define XK_braille_dots_34            0x100280c  /* U+280c BRAILLE PATTERN DOTS-34 */
+#define XK_braille_dots_134           0x100280d  /* U+280d BRAILLE PATTERN DOTS-134 */
+#define XK_braille_dots_234           0x100280e  /* U+280e BRAILLE PATTERN DOTS-234 */
+#define XK_braille_dots_1234          0x100280f  /* U+280f BRAILLE PATTERN DOTS-1234 */
+#define XK_braille_dots_5             0x1002810  /* U+2810 BRAILLE PATTERN DOTS-5 */
+#define XK_braille_dots_15            0x1002811  /* U+2811 BRAILLE PATTERN DOTS-15 */
+#define XK_braille_dots_25            0x1002812  /* U+2812 BRAILLE PATTERN DOTS-25 */
+#define XK_braille_dots_125           0x1002813  /* U+2813 BRAILLE PATTERN DOTS-125 */
+#define XK_braille_dots_35            0x1002814  /* U+2814 BRAILLE PATTERN DOTS-35 */
+#define XK_braille_dots_135           0x1002815  /* U+2815 BRAILLE PATTERN DOTS-135 */
+#define XK_braille_dots_235           0x1002816  /* U+2816 BRAILLE PATTERN DOTS-235 */
+#define XK_braille_dots_1235          0x1002817  /* U+2817 BRAILLE PATTERN DOTS-1235 */
+#define XK_braille_dots_45            0x1002818  /* U+2818 BRAILLE PATTERN DOTS-45 */
+#define XK_braille_dots_145           0x1002819  /* U+2819 BRAILLE PATTERN DOTS-145 */
+#define XK_braille_dots_245           0x100281a  /* U+281a BRAILLE PATTERN DOTS-245 */
+#define XK_braille_dots_1245          0x100281b  /* U+281b BRAILLE PATTERN DOTS-1245 */
+#define XK_braille_dots_345           0x100281c  /* U+281c BRAILLE PATTERN DOTS-345 */
+#define XK_braille_dots_1345          0x100281d  /* U+281d BRAILLE PATTERN DOTS-1345 */
+#define XK_braille_dots_2345          0x100281e  /* U+281e BRAILLE PATTERN DOTS-2345 */
+#define XK_braille_dots_12345         0x100281f  /* U+281f BRAILLE PATTERN DOTS-12345 */
+#define XK_braille_dots_6             0x1002820  /* U+2820 BRAILLE PATTERN DOTS-6 */
+#define XK_braille_dots_16            0x1002821  /* U+2821 BRAILLE PATTERN DOTS-16 */
+#define XK_braille_dots_26            0x1002822  /* U+2822 BRAILLE PATTERN DOTS-26 */
+#define XK_braille_dots_126           0x1002823  /* U+2823 BRAILLE PATTERN DOTS-126 */
+#define XK_braille_dots_36            0x1002824  /* U+2824 BRAILLE PATTERN DOTS-36 */
+#define XK_braille_dots_136           0x1002825  /* U+2825 BRAILLE PATTERN DOTS-136 */
+#define XK_braille_dots_236           0x1002826  /* U+2826 BRAILLE PATTERN DOTS-236 */
+#define XK_braille_dots_1236          0x1002827  /* U+2827 BRAILLE PATTERN DOTS-1236 */
+#define XK_braille_dots_46            0x1002828  /* U+2828 BRAILLE PATTERN DOTS-46 */
+#define XK_braille_dots_146           0x1002829  /* U+2829 BRAILLE PATTERN DOTS-146 */
+#define XK_braille_dots_246           0x100282a  /* U+282a BRAILLE PATTERN DOTS-246 */
+#define XK_braille_dots_1246          0x100282b  /* U+282b BRAILLE PATTERN DOTS-1246 */
+#define XK_braille_dots_346           0x100282c  /* U+282c BRAILLE PATTERN DOTS-346 */
+#define XK_braille_dots_1346          0x100282d  /* U+282d BRAILLE PATTERN DOTS-1346 */
+#define XK_braille_dots_2346          0x100282e  /* U+282e BRAILLE PATTERN DOTS-2346 */
+#define XK_braille_dots_12346         0x100282f  /* U+282f BRAILLE PATTERN DOTS-12346 */
+#define XK_braille_dots_56            0x1002830  /* U+2830 BRAILLE PATTERN DOTS-56 */
+#define XK_braille_dots_156           0x1002831  /* U+2831 BRAILLE PATTERN DOTS-156 */
+#define XK_braille_dots_256           0x1002832  /* U+2832 BRAILLE PATTERN DOTS-256 */
+#define XK_braille_dots_1256          0x1002833  /* U+2833 BRAILLE PATTERN DOTS-1256 */
+#define XK_braille_dots_356           0x1002834  /* U+2834 BRAILLE PATTERN DOTS-356 */
+#define XK_braille_dots_1356          0x1002835  /* U+2835 BRAILLE PATTERN DOTS-1356 */
+#define XK_braille_dots_2356          0x1002836  /* U+2836 BRAILLE PATTERN DOTS-2356 */
+#define XK_braille_dots_12356         0x1002837  /* U+2837 BRAILLE PATTERN DOTS-12356 */
+#define XK_braille_dots_456           0x1002838  /* U+2838 BRAILLE PATTERN DOTS-456 */
+#define XK_braille_dots_1456          0x1002839  /* U+2839 BRAILLE PATTERN DOTS-1456 */
+#define XK_braille_dots_2456          0x100283a  /* U+283a BRAILLE PATTERN DOTS-2456 */
+#define XK_braille_dots_12456         0x100283b  /* U+283b BRAILLE PATTERN DOTS-12456 */
+#define XK_braille_dots_3456          0x100283c  /* U+283c BRAILLE PATTERN DOTS-3456 */
+#define XK_braille_dots_13456         0x100283d  /* U+283d BRAILLE PATTERN DOTS-13456 */
+#define XK_braille_dots_23456         0x100283e  /* U+283e BRAILLE PATTERN DOTS-23456 */
+#define XK_braille_dots_123456        0x100283f  /* U+283f BRAILLE PATTERN DOTS-123456 */
+#define XK_braille_dots_7             0x1002840  /* U+2840 BRAILLE PATTERN DOTS-7 */
+#define XK_braille_dots_17            0x1002841  /* U+2841 BRAILLE PATTERN DOTS-17 */
+#define XK_braille_dots_27            0x1002842  /* U+2842 BRAILLE PATTERN DOTS-27 */
+#define XK_braille_dots_127           0x1002843  /* U+2843 BRAILLE PATTERN DOTS-127 */
+#define XK_braille_dots_37            0x1002844  /* U+2844 BRAILLE PATTERN DOTS-37 */
+#define XK_braille_dots_137           0x1002845  /* U+2845 BRAILLE PATTERN DOTS-137 */
+#define XK_braille_dots_237           0x1002846  /* U+2846 BRAILLE PATTERN DOTS-237 */
+#define XK_braille_dots_1237          0x1002847  /* U+2847 BRAILLE PATTERN DOTS-1237 */
+#define XK_braille_dots_47            0x1002848  /* U+2848 BRAILLE PATTERN DOTS-47 */
+#define XK_braille_dots_147           0x1002849  /* U+2849 BRAILLE PATTERN DOTS-147 */
+#define XK_braille_dots_247           0x100284a  /* U+284a BRAILLE PATTERN DOTS-247 */
+#define XK_braille_dots_1247          0x100284b  /* U+284b BRAILLE PATTERN DOTS-1247 */
+#define XK_braille_dots_347           0x100284c  /* U+284c BRAILLE PATTERN DOTS-347 */
+#define XK_braille_dots_1347          0x100284d  /* U+284d BRAILLE PATTERN DOTS-1347 */
+#define XK_braille_dots_2347          0x100284e  /* U+284e BRAILLE PATTERN DOTS-2347 */
+#define XK_braille_dots_12347         0x100284f  /* U+284f BRAILLE PATTERN DOTS-12347 */
+#define XK_braille_dots_57            0x1002850  /* U+2850 BRAILLE PATTERN DOTS-57 */
+#define XK_braille_dots_157           0x1002851  /* U+2851 BRAILLE PATTERN DOTS-157 */
+#define XK_braille_dots_257           0x1002852  /* U+2852 BRAILLE PATTERN DOTS-257 */
+#define XK_braille_dots_1257          0x1002853  /* U+2853 BRAILLE PATTERN DOTS-1257 */
+#define XK_braille_dots_357           0x1002854  /* U+2854 BRAILLE PATTERN DOTS-357 */
+#define XK_braille_dots_1357          0x1002855  /* U+2855 BRAILLE PATTERN DOTS-1357 */
+#define XK_braille_dots_2357          0x1002856  /* U+2856 BRAILLE PATTERN DOTS-2357 */
+#define XK_braille_dots_12357         0x1002857  /* U+2857 BRAILLE PATTERN DOTS-12357 */
+#define XK_braille_dots_457           0x1002858  /* U+2858 BRAILLE PATTERN DOTS-457 */
+#define XK_braille_dots_1457          0x1002859  /* U+2859 BRAILLE PATTERN DOTS-1457 */
+#define XK_braille_dots_2457          0x100285a  /* U+285a BRAILLE PATTERN DOTS-2457 */
+#define XK_braille_dots_12457         0x100285b  /* U+285b BRAILLE PATTERN DOTS-12457 */
+#define XK_braille_dots_3457          0x100285c  /* U+285c BRAILLE PATTERN DOTS-3457 */
+#define XK_braille_dots_13457         0x100285d  /* U+285d BRAILLE PATTERN DOTS-13457 */
+#define XK_braille_dots_23457         0x100285e  /* U+285e BRAILLE PATTERN DOTS-23457 */
+#define XK_braille_dots_123457        0x100285f  /* U+285f BRAILLE PATTERN DOTS-123457 */
+#define XK_braille_dots_67            0x1002860  /* U+2860 BRAILLE PATTERN DOTS-67 */
+#define XK_braille_dots_167           0x1002861  /* U+2861 BRAILLE PATTERN DOTS-167 */
+#define XK_braille_dots_267           0x1002862  /* U+2862 BRAILLE PATTERN DOTS-267 */
+#define XK_braille_dots_1267          0x1002863  /* U+2863 BRAILLE PATTERN DOTS-1267 */
+#define XK_braille_dots_367           0x1002864  /* U+2864 BRAILLE PATTERN DOTS-367 */
+#define XK_braille_dots_1367          0x1002865  /* U+2865 BRAILLE PATTERN DOTS-1367 */
+#define XK_braille_dots_2367          0x1002866  /* U+2866 BRAILLE PATTERN DOTS-2367 */
+#define XK_braille_dots_12367         0x1002867  /* U+2867 BRAILLE PATTERN DOTS-12367 */
+#define XK_braille_dots_467           0x1002868  /* U+2868 BRAILLE PATTERN DOTS-467 */
+#define XK_braille_dots_1467          0x1002869  /* U+2869 BRAILLE PATTERN DOTS-1467 */
+#define XK_braille_dots_2467          0x100286a  /* U+286a BRAILLE PATTERN DOTS-2467 */
+#define XK_braille_dots_12467         0x100286b  /* U+286b BRAILLE PATTERN DOTS-12467 */
+#define XK_braille_dots_3467          0x100286c  /* U+286c BRAILLE PATTERN DOTS-3467 */
+#define XK_braille_dots_13467         0x100286d  /* U+286d BRAILLE PATTERN DOTS-13467 */
+#define XK_braille_dots_23467         0x100286e  /* U+286e BRAILLE PATTERN DOTS-23467 */
+#define XK_braille_dots_123467        0x100286f  /* U+286f BRAILLE PATTERN DOTS-123467 */
+#define XK_braille_dots_567           0x1002870  /* U+2870 BRAILLE PATTERN DOTS-567 */
+#define XK_braille_dots_1567          0x1002871  /* U+2871 BRAILLE PATTERN DOTS-1567 */
+#define XK_braille_dots_2567          0x1002872  /* U+2872 BRAILLE PATTERN DOTS-2567 */
+#define XK_braille_dots_12567         0x1002873  /* U+2873 BRAILLE PATTERN DOTS-12567 */
+#define XK_braille_dots_3567          0x1002874  /* U+2874 BRAILLE PATTERN DOTS-3567 */
+#define XK_braille_dots_13567         0x1002875  /* U+2875 BRAILLE PATTERN DOTS-13567 */
+#define XK_braille_dots_23567         0x1002876  /* U+2876 BRAILLE PATTERN DOTS-23567 */
+#define XK_braille_dots_123567        0x1002877  /* U+2877 BRAILLE PATTERN DOTS-123567 */
+#define XK_braille_dots_4567          0x1002878  /* U+2878 BRAILLE PATTERN DOTS-4567 */
+#define XK_braille_dots_14567         0x1002879  /* U+2879 BRAILLE PATTERN DOTS-14567 */
+#define XK_braille_dots_24567         0x100287a  /* U+287a BRAILLE PATTERN DOTS-24567 */
+#define XK_braille_dots_124567        0x100287b  /* U+287b BRAILLE PATTERN DOTS-124567 */
+#define XK_braille_dots_34567         0x100287c  /* U+287c BRAILLE PATTERN DOTS-34567 */
+#define XK_braille_dots_134567        0x100287d  /* U+287d BRAILLE PATTERN DOTS-134567 */
+#define XK_braille_dots_234567        0x100287e  /* U+287e BRAILLE PATTERN DOTS-234567 */
+#define XK_braille_dots_1234567       0x100287f  /* U+287f BRAILLE PATTERN DOTS-1234567 */
+#define XK_braille_dots_8             0x1002880  /* U+2880 BRAILLE PATTERN DOTS-8 */
+#define XK_braille_dots_18            0x1002881  /* U+2881 BRAILLE PATTERN DOTS-18 */
+#define XK_braille_dots_28            0x1002882  /* U+2882 BRAILLE PATTERN DOTS-28 */
+#define XK_braille_dots_128           0x1002883  /* U+2883 BRAILLE PATTERN DOTS-128 */
+#define XK_braille_dots_38            0x1002884  /* U+2884 BRAILLE PATTERN DOTS-38 */
+#define XK_braille_dots_138           0x1002885  /* U+2885 BRAILLE PATTERN DOTS-138 */
+#define XK_braille_dots_238           0x1002886  /* U+2886 BRAILLE PATTERN DOTS-238 */
+#define XK_braille_dots_1238          0x1002887  /* U+2887 BRAILLE PATTERN DOTS-1238 */
+#define XK_braille_dots_48            0x1002888  /* U+2888 BRAILLE PATTERN DOTS-48 */
+#define XK_braille_dots_148           0x1002889  /* U+2889 BRAILLE PATTERN DOTS-148 */
+#define XK_braille_dots_248           0x100288a  /* U+288a BRAILLE PATTERN DOTS-248 */
+#define XK_braille_dots_1248          0x100288b  /* U+288b BRAILLE PATTERN DOTS-1248 */
+#define XK_braille_dots_348           0x100288c  /* U+288c BRAILLE PATTERN DOTS-348 */
+#define XK_braille_dots_1348          0x100288d  /* U+288d BRAILLE PATTERN DOTS-1348 */
+#define XK_braille_dots_2348          0x100288e  /* U+288e BRAILLE PATTERN DOTS-2348 */
+#define XK_braille_dots_12348         0x100288f  /* U+288f BRAILLE PATTERN DOTS-12348 */
+#define XK_braille_dots_58            0x1002890  /* U+2890 BRAILLE PATTERN DOTS-58 */
+#define XK_braille_dots_158           0x1002891  /* U+2891 BRAILLE PATTERN DOTS-158 */
+#define XK_braille_dots_258           0x1002892  /* U+2892 BRAILLE PATTERN DOTS-258 */
+#define XK_braille_dots_1258          0x1002893  /* U+2893 BRAILLE PATTERN DOTS-1258 */
+#define XK_braille_dots_358           0x1002894  /* U+2894 BRAILLE PATTERN DOTS-358 */
+#define XK_braille_dots_1358          0x1002895  /* U+2895 BRAILLE PATTERN DOTS-1358 */
+#define XK_braille_dots_2358          0x1002896  /* U+2896 BRAILLE PATTERN DOTS-2358 */
+#define XK_braille_dots_12358         0x1002897  /* U+2897 BRAILLE PATTERN DOTS-12358 */
+#define XK_braille_dots_458           0x1002898  /* U+2898 BRAILLE PATTERN DOTS-458 */
+#define XK_braille_dots_1458          0x1002899  /* U+2899 BRAILLE PATTERN DOTS-1458 */
+#define XK_braille_dots_2458          0x100289a  /* U+289a BRAILLE PATTERN DOTS-2458 */
+#define XK_braille_dots_12458         0x100289b  /* U+289b BRAILLE PATTERN DOTS-12458 */
+#define XK_braille_dots_3458          0x100289c  /* U+289c BRAILLE PATTERN DOTS-3458 */
+#define XK_braille_dots_13458         0x100289d  /* U+289d BRAILLE PATTERN DOTS-13458 */
+#define XK_braille_dots_23458         0x100289e  /* U+289e BRAILLE PATTERN DOTS-23458 */
+#define XK_braille_dots_123458        0x100289f  /* U+289f BRAILLE PATTERN DOTS-123458 */
+#define XK_braille_dots_68            0x10028a0  /* U+28a0 BRAILLE PATTERN DOTS-68 */
+#define XK_braille_dots_168           0x10028a1  /* U+28a1 BRAILLE PATTERN DOTS-168 */
+#define XK_braille_dots_268           0x10028a2  /* U+28a2 BRAILLE PATTERN DOTS-268 */
+#define XK_braille_dots_1268          0x10028a3  /* U+28a3 BRAILLE PATTERN DOTS-1268 */
+#define XK_braille_dots_368           0x10028a4  /* U+28a4 BRAILLE PATTERN DOTS-368 */
+#define XK_braille_dots_1368          0x10028a5  /* U+28a5 BRAILLE PATTERN DOTS-1368 */
+#define XK_braille_dots_2368          0x10028a6  /* U+28a6 BRAILLE PATTERN DOTS-2368 */
+#define XK_braille_dots_12368         0x10028a7  /* U+28a7 BRAILLE PATTERN DOTS-12368 */
+#define XK_braille_dots_468           0x10028a8  /* U+28a8 BRAILLE PATTERN DOTS-468 */
+#define XK_braille_dots_1468          0x10028a9  /* U+28a9 BRAILLE PATTERN DOTS-1468 */
+#define XK_braille_dots_2468          0x10028aa  /* U+28aa BRAILLE PATTERN DOTS-2468 */
+#define XK_braille_dots_12468         0x10028ab  /* U+28ab BRAILLE PATTERN DOTS-12468 */
+#define XK_braille_dots_3468          0x10028ac  /* U+28ac BRAILLE PATTERN DOTS-3468 */
+#define XK_braille_dots_13468         0x10028ad  /* U+28ad BRAILLE PATTERN DOTS-13468 */
+#define XK_braille_dots_23468         0x10028ae  /* U+28ae BRAILLE PATTERN DOTS-23468 */
+#define XK_braille_dots_123468        0x10028af  /* U+28af BRAILLE PATTERN DOTS-123468 */
+#define XK_braille_dots_568           0x10028b0  /* U+28b0 BRAILLE PATTERN DOTS-568 */
+#define XK_braille_dots_1568          0x10028b1  /* U+28b1 BRAILLE PATTERN DOTS-1568 */
+#define XK_braille_dots_2568          0x10028b2  /* U+28b2 BRAILLE PATTERN DOTS-2568 */
+#define XK_braille_dots_12568         0x10028b3  /* U+28b3 BRAILLE PATTERN DOTS-12568 */
+#define XK_braille_dots_3568          0x10028b4  /* U+28b4 BRAILLE PATTERN DOTS-3568 */
+#define XK_braille_dots_13568         0x10028b5  /* U+28b5 BRAILLE PATTERN DOTS-13568 */
+#define XK_braille_dots_23568         0x10028b6  /* U+28b6 BRAILLE PATTERN DOTS-23568 */
+#define XK_braille_dots_123568        0x10028b7  /* U+28b7 BRAILLE PATTERN DOTS-123568 */
+#define XK_braille_dots_4568          0x10028b8  /* U+28b8 BRAILLE PATTERN DOTS-4568 */
+#define XK_braille_dots_14568         0x10028b9  /* U+28b9 BRAILLE PATTERN DOTS-14568 */
+#define XK_braille_dots_24568         0x10028ba  /* U+28ba BRAILLE PATTERN DOTS-24568 */
+#define XK_braille_dots_124568        0x10028bb  /* U+28bb BRAILLE PATTERN DOTS-124568 */
+#define XK_braille_dots_34568         0x10028bc  /* U+28bc BRAILLE PATTERN DOTS-34568 */
+#define XK_braille_dots_134568        0x10028bd  /* U+28bd BRAILLE PATTERN DOTS-134568 */
+#define XK_braille_dots_234568        0x10028be  /* U+28be BRAILLE PATTERN DOTS-234568 */
+#define XK_braille_dots_1234568       0x10028bf  /* U+28bf BRAILLE PATTERN DOTS-1234568 */
+#define XK_braille_dots_78            0x10028c0  /* U+28c0 BRAILLE PATTERN DOTS-78 */
+#define XK_braille_dots_178           0x10028c1  /* U+28c1 BRAILLE PATTERN DOTS-178 */
+#define XK_braille_dots_278           0x10028c2  /* U+28c2 BRAILLE PATTERN DOTS-278 */
+#define XK_braille_dots_1278          0x10028c3  /* U+28c3 BRAILLE PATTERN DOTS-1278 */
+#define XK_braille_dots_378           0x10028c4  /* U+28c4 BRAILLE PATTERN DOTS-378 */
+#define XK_braille_dots_1378          0x10028c5  /* U+28c5 BRAILLE PATTERN DOTS-1378 */
+#define XK_braille_dots_2378          0x10028c6  /* U+28c6 BRAILLE PATTERN DOTS-2378 */
+#define XK_braille_dots_12378         0x10028c7  /* U+28c7 BRAILLE PATTERN DOTS-12378 */
+#define XK_braille_dots_478           0x10028c8  /* U+28c8 BRAILLE PATTERN DOTS-478 */
+#define XK_braille_dots_1478          0x10028c9  /* U+28c9 BRAILLE PATTERN DOTS-1478 */
+#define XK_braille_dots_2478          0x10028ca  /* U+28ca BRAILLE PATTERN DOTS-2478 */
+#define XK_braille_dots_12478         0x10028cb  /* U+28cb BRAILLE PATTERN DOTS-12478 */
+#define XK_braille_dots_3478          0x10028cc  /* U+28cc BRAILLE PATTERN DOTS-3478 */
+#define XK_braille_dots_13478         0x10028cd  /* U+28cd BRAILLE PATTERN DOTS-13478 */
+#define XK_braille_dots_23478         0x10028ce  /* U+28ce BRAILLE PATTERN DOTS-23478 */
+#define XK_braille_dots_123478        0x10028cf  /* U+28cf BRAILLE PATTERN DOTS-123478 */
+#define XK_braille_dots_578           0x10028d0  /* U+28d0 BRAILLE PATTERN DOTS-578 */
+#define XK_braille_dots_1578          0x10028d1  /* U+28d1 BRAILLE PATTERN DOTS-1578 */
+#define XK_braille_dots_2578          0x10028d2  /* U+28d2 BRAILLE PATTERN DOTS-2578 */
+#define XK_braille_dots_12578         0x10028d3  /* U+28d3 BRAILLE PATTERN DOTS-12578 */
+#define XK_braille_dots_3578          0x10028d4  /* U+28d4 BRAILLE PATTERN DOTS-3578 */
+#define XK_braille_dots_13578         0x10028d5  /* U+28d5 BRAILLE PATTERN DOTS-13578 */
+#define XK_braille_dots_23578         0x10028d6  /* U+28d6 BRAILLE PATTERN DOTS-23578 */
+#define XK_braille_dots_123578        0x10028d7  /* U+28d7 BRAILLE PATTERN DOTS-123578 */
+#define XK_braille_dots_4578          0x10028d8  /* U+28d8 BRAILLE PATTERN DOTS-4578 */
+#define XK_braille_dots_14578         0x10028d9  /* U+28d9 BRAILLE PATTERN DOTS-14578 */
+#define XK_braille_dots_24578         0x10028da  /* U+28da BRAILLE PATTERN DOTS-24578 */
+#define XK_braille_dots_124578        0x10028db  /* U+28db BRAILLE PATTERN DOTS-124578 */
+#define XK_braille_dots_34578         0x10028dc  /* U+28dc BRAILLE PATTERN DOTS-34578 */
+#define XK_braille_dots_134578        0x10028dd  /* U+28dd BRAILLE PATTERN DOTS-134578 */
+#define XK_braille_dots_234578        0x10028de  /* U+28de BRAILLE PATTERN DOTS-234578 */
+#define XK_braille_dots_1234578       0x10028df  /* U+28df BRAILLE PATTERN DOTS-1234578 */
+#define XK_braille_dots_678           0x10028e0  /* U+28e0 BRAILLE PATTERN DOTS-678 */
+#define XK_braille_dots_1678          0x10028e1  /* U+28e1 BRAILLE PATTERN DOTS-1678 */
+#define XK_braille_dots_2678          0x10028e2  /* U+28e2 BRAILLE PATTERN DOTS-2678 */
+#define XK_braille_dots_12678         0x10028e3  /* U+28e3 BRAILLE PATTERN DOTS-12678 */
+#define XK_braille_dots_3678          0x10028e4  /* U+28e4 BRAILLE PATTERN DOTS-3678 */
+#define XK_braille_dots_13678         0x10028e5  /* U+28e5 BRAILLE PATTERN DOTS-13678 */
+#define XK_braille_dots_23678         0x10028e6  /* U+28e6 BRAILLE PATTERN DOTS-23678 */
+#define XK_braille_dots_123678        0x10028e7  /* U+28e7 BRAILLE PATTERN DOTS-123678 */
+#define XK_braille_dots_4678          0x10028e8  /* U+28e8 BRAILLE PATTERN DOTS-4678 */
+#define XK_braille_dots_14678         0x10028e9  /* U+28e9 BRAILLE PATTERN DOTS-14678 */
+#define XK_braille_dots_24678         0x10028ea  /* U+28ea BRAILLE PATTERN DOTS-24678 */
+#define XK_braille_dots_124678        0x10028eb  /* U+28eb BRAILLE PATTERN DOTS-124678 */
+#define XK_braille_dots_34678         0x10028ec  /* U+28ec BRAILLE PATTERN DOTS-34678 */
+#define XK_braille_dots_134678        0x10028ed  /* U+28ed BRAILLE PATTERN DOTS-134678 */
+#define XK_braille_dots_234678        0x10028ee  /* U+28ee BRAILLE PATTERN DOTS-234678 */
+#define XK_braille_dots_1234678       0x10028ef  /* U+28ef BRAILLE PATTERN DOTS-1234678 */
+#define XK_braille_dots_5678          0x10028f0  /* U+28f0 BRAILLE PATTERN DOTS-5678 */
+#define XK_braille_dots_15678         0x10028f1  /* U+28f1 BRAILLE PATTERN DOTS-15678 */
+#define XK_braille_dots_25678         0x10028f2  /* U+28f2 BRAILLE PATTERN DOTS-25678 */
+#define XK_braille_dots_125678        0x10028f3  /* U+28f3 BRAILLE PATTERN DOTS-125678 */
+#define XK_braille_dots_35678         0x10028f4  /* U+28f4 BRAILLE PATTERN DOTS-35678 */
+#define XK_braille_dots_135678        0x10028f5  /* U+28f5 BRAILLE PATTERN DOTS-135678 */
+#define XK_braille_dots_235678        0x10028f6  /* U+28f6 BRAILLE PATTERN DOTS-235678 */
+#define XK_braille_dots_1235678       0x10028f7  /* U+28f7 BRAILLE PATTERN DOTS-1235678 */
+#define XK_braille_dots_45678         0x10028f8  /* U+28f8 BRAILLE PATTERN DOTS-45678 */
+#define XK_braille_dots_145678        0x10028f9  /* U+28f9 BRAILLE PATTERN DOTS-145678 */
+#define XK_braille_dots_245678        0x10028fa  /* U+28fa BRAILLE PATTERN DOTS-245678 */
+#define XK_braille_dots_1245678       0x10028fb  /* U+28fb BRAILLE PATTERN DOTS-1245678 */
+#define XK_braille_dots_345678        0x10028fc  /* U+28fc BRAILLE PATTERN DOTS-345678 */
+#define XK_braille_dots_1345678       0x10028fd  /* U+28fd BRAILLE PATTERN DOTS-1345678 */
+#define XK_braille_dots_2345678       0x10028fe  /* U+28fe BRAILLE PATTERN DOTS-2345678 */
+#define XK_braille_dots_12345678      0x10028ff  /* U+28ff BRAILLE PATTERN DOTS-12345678 */
+#endif /* XK_BRAILLE */
diff --git a/XOrg/headers/native/src/X11/xpm.h b/XOrg/headers/native/src/X11/xpm.h
new file mode 100644 (file)
index 0000000..ed46133
--- /dev/null
@@ -0,0 +1,478 @@
+/*
+ * Copyright (C) 1989-95 GROUPE BULL
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of GROUPE BULL shall not be
+ * used in advertising or otherwise to promote the sale, use or other dealings
+ * in this Software without prior written authorization from GROUPE BULL.
+ */
+/* $XFree86: xc/extras/Xpm/lib/xpm.h,v 1.2 2001/08/22 23:36:44 dawes Exp $ */
+
+/*****************************************************************************\
+* xpm.h:                                                                      *
+*                                                                             *
+*  XPM library                                                                *
+*  Include file                                                               *
+*                                                                             *
+*  Developed by Arnaud Le Hors                                                *
+\*****************************************************************************/
+
+/*
+ * The code related to FOR_MSW has been added by
+ * HeDu (hedu@cul-ipn.uni-kiel.de) 4/94
+ */
+
+/*
+ * The code related to AMIGA has been added by
+ * Lorens Younes (d93-hyo@nada.kth.se) 4/96
+ */
+
+#ifndef XPM_h
+#define XPM_h
+
+/*
+ * first some identification numbers:
+ * the version and revision numbers are determined with the following rule:
+ * SO Major number = LIB minor version number.
+ * SO Minor number = LIB sub-minor version number.
+ * e.g: Xpm version 3.2f
+ *      we forget the 3 which is the format number, 2 gives 2, and f gives 6.
+ *      thus we have XpmVersion = 2 and XpmRevision = 6
+ *      which gives  SOXPMLIBREV = 2.6
+ *
+ * Then the XpmIncludeVersion number is built from these numbers.
+ */
+#define XpmFormat 3
+#define XpmVersion 4
+#define XpmRevision 11
+#define XpmIncludeVersion ((XpmFormat * 100 + XpmVersion) * 100 + XpmRevision)
+
+#ifndef XPM_NUMBERS
+
+#ifdef FOR_MSW
+# define SYSV                  /* uses memcpy string.h etc. */
+# include <malloc.h>
+# include "simx.h"             /* defines some X stuff using MSW types */
+#define NEED_STRCASECMP                /* at least for MSVC++ */
+#else /* FOR_MSW */
+# ifdef AMIGA
+#  include "amigax.h"
+# else /* not AMIGA */
+#  include <X11/Xlib.h>
+#  include <X11/Xutil.h>
+# endif /* not AMIGA */
+#endif /* FOR_MSW */
+
+/* let's define Pixel if it is not done yet */
+#if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED)
+typedef unsigned long Pixel;   /* Index into colormap */
+# define PIXEL_ALREADY_TYPEDEFED
+#endif
+
+/* Return ErrorStatus codes:
+ * null     if full success
+ * positive if partial success
+ * negative if failure
+ */
+
+#define XpmColorError    1
+#define XpmSuccess       0
+#define XpmOpenFailed   -1
+#define XpmFileInvalid  -2
+#define XpmNoMemory     -3
+#define XpmColorFailed  -4
+
+typedef struct {
+    char *name;                        /* Symbolic color name */
+    char *value;               /* Color value */
+    Pixel pixel;               /* Color pixel */
+}      XpmColorSymbol;
+
+typedef struct {
+    char *name;                        /* name of the extension */
+    unsigned int nlines;       /* number of lines in this extension */
+    char **lines;              /* pointer to the extension array of strings */
+}      XpmExtension;
+
+typedef struct {
+    char *string;              /* characters string */
+    char *symbolic;            /* symbolic name */
+    char *m_color;             /* monochrom default */
+    char *g4_color;            /* 4 level grayscale default */
+    char *g_color;             /* other level grayscale default */
+    char *c_color;             /* color default */
+}      XpmColor;
+
+typedef struct {
+    unsigned int width;                /* image width */
+    unsigned int height;       /* image height */
+    unsigned int cpp;          /* number of characters per pixel */
+    unsigned int ncolors;      /* number of colors */
+    XpmColor *colorTable;      /* list of related colors */
+    unsigned int *data;                /* image data */
+}      XpmImage;
+
+typedef struct {
+    unsigned long valuemask;   /* Specifies which attributes are defined */
+    char *hints_cmt;           /* Comment of the hints section */
+    char *colors_cmt;          /* Comment of the colors section */
+    char *pixels_cmt;          /* Comment of the pixels section */
+    unsigned int x_hotspot;    /* Returns the x hotspot's coordinate */
+    unsigned int y_hotspot;    /* Returns the y hotspot's coordinate */
+    unsigned int nextensions;  /* number of extensions */
+    XpmExtension *extensions;  /* pointer to array of extensions */
+}      XpmInfo;
+
+typedef int (*XpmAllocColorFunc)(
+    Display*                   /* display */,
+    Colormap                   /* colormap */,
+    char*                      /* colorname */,
+    XColor*                    /* xcolor */,
+    void*                      /* closure */
+);
+
+typedef int (*XpmFreeColorsFunc)(
+    Display*                   /* display */,
+    Colormap                   /* colormap */,
+    Pixel*                     /* pixels */,
+    int                                /* npixels */,
+    void*                      /* closure */
+);
+
+typedef struct {
+    unsigned long valuemask;           /* Specifies which attributes are
+                                          defined */
+
+    Visual *visual;                    /* Specifies the visual to use */
+    Colormap colormap;                 /* Specifies the colormap to use */
+    unsigned int depth;                        /* Specifies the depth */
+    unsigned int width;                        /* Returns the width of the created
+                                          pixmap */
+    unsigned int height;               /* Returns the height of the created
+                                          pixmap */
+    unsigned int x_hotspot;            /* Returns the x hotspot's
+                                          coordinate */
+    unsigned int y_hotspot;            /* Returns the y hotspot's
+                                          coordinate */
+    unsigned int cpp;                  /* Specifies the number of char per
+                                          pixel */
+    Pixel *pixels;                     /* List of used color pixels */
+    unsigned int npixels;              /* Number of used pixels */
+    XpmColorSymbol *colorsymbols;      /* List of color symbols to override */
+    unsigned int numsymbols;           /* Number of symbols */
+    char *rgb_fname;                   /* RGB text file name */
+    unsigned int nextensions;          /* Number of extensions */
+    XpmExtension *extensions;          /* List of extensions */
+
+    unsigned int ncolors;               /* Number of colors */
+    XpmColor *colorTable;               /* List of colors */
+/* 3.2 backward compatibility code */
+    char *hints_cmt;                    /* Comment of the hints section */
+    char *colors_cmt;                   /* Comment of the colors section */
+    char *pixels_cmt;                   /* Comment of the pixels section */
+/* end 3.2 bc */
+    unsigned int mask_pixel;            /* Color table index of transparent
+                                           color */
+
+    /* Color Allocation Directives */
+    Bool exactColors;                  /* Only use exact colors for visual */
+    unsigned int closeness;            /* Allowable RGB deviation */
+    unsigned int red_closeness;                /* Allowable red deviation */
+    unsigned int green_closeness;      /* Allowable green deviation */
+    unsigned int blue_closeness;       /* Allowable blue deviation */
+    int color_key;                     /* Use colors from this color set */
+
+    Pixel *alloc_pixels;               /* Returns the list of alloc'ed color
+                                          pixels */
+    int nalloc_pixels;                 /* Returns the number of alloc'ed
+                                          color pixels */
+
+    Bool alloc_close_colors;           /* Specify whether close colors should
+                                          be allocated using XAllocColor
+                                          or not */
+    int bitmap_format;                 /* Specify the format of 1bit depth
+                                          images: ZPixmap or XYBitmap */
+
+    /* Color functions */
+    XpmAllocColorFunc alloc_color;     /* Application color allocator */
+    XpmFreeColorsFunc free_colors;     /* Application color de-allocator */
+    void *color_closure;               /* Application private data to pass to
+                                          alloc_color and free_colors */
+
+}      XpmAttributes;
+
+/* XpmAttributes value masks bits */
+#define XpmVisual         (1L<<0)
+#define XpmColormap       (1L<<1)
+#define XpmDepth          (1L<<2)
+#define XpmSize                   (1L<<3)      /* width & height */
+#define XpmHotspot        (1L<<4)      /* x_hotspot & y_hotspot */
+#define XpmCharsPerPixel   (1L<<5)
+#define XpmColorSymbols           (1L<<6)
+#define XpmRgbFilename    (1L<<7)
+/* 3.2 backward compatibility code */
+#define XpmInfos          (1L<<8)
+#define XpmReturnInfos    XpmInfos
+/* end 3.2 bc */
+#define XpmReturnPixels           (1L<<9)
+#define XpmExtensions      (1L<<10)
+#define XpmReturnExtensions XpmExtensions
+
+#define XpmExactColors     (1L<<11)
+#define XpmCloseness      (1L<<12)
+#define XpmRGBCloseness           (1L<<13)
+#define XpmColorKey       (1L<<14)
+
+#define XpmColorTable      (1L<<15)
+#define XpmReturnColorTable XpmColorTable
+
+#define XpmReturnAllocPixels (1L<<16)
+#define XpmAllocCloseColors (1L<<17)
+#define XpmBitmapFormat    (1L<<18)
+
+#define XpmAllocColor      (1L<<19)
+#define XpmFreeColors      (1L<<20)
+#define XpmColorClosure    (1L<<21)
+
+
+/* XpmInfo value masks bits */
+#define XpmComments        XpmInfos
+#define XpmReturnComments  XpmComments
+
+/* XpmAttributes mask_pixel value when there is no mask */
+#ifndef FOR_MSW
+#define XpmUndefPixel 0x80000000
+#else
+/* int is only 16 bit for MSW */
+#define XpmUndefPixel 0x8000
+#endif
+
+/*
+ * color keys for visual type, they must fit along with the number key of
+ * each related element in xpmColorKeys[] defined in XpmI.h
+ */
+#define XPM_MONO       2
+#define XPM_GREY4      3
+#define XPM_GRAY4      3
+#define XPM_GREY       4
+#define XPM_GRAY       4
+#define XPM_COLOR      5
+
+
+/* macros for forward declarations of functions with prototypes */
+#define FUNC(f, t, p) extern t f p
+#define LFUNC(f, t, p) static t f p
+
+
+/*
+ * functions declarations
+ */
+
+_XFUNCPROTOBEGIN
+
+/* FOR_MSW, all ..Pixmap.. are excluded, only the ..XImage.. are used */
+/* Same for Amiga! */
+
+#if !defined(FOR_MSW) && !defined(AMIGA)
+    FUNC(XpmCreatePixmapFromData, int, (Display *display,
+                                       Drawable d,
+                                       char **data,
+                                       Pixmap *pixmap_return,
+                                       Pixmap *shapemask_return,
+                                       XpmAttributes *attributes));
+
+    FUNC(XpmCreateDataFromPixmap, int, (Display *display,
+                                       char ***data_return,
+                                       Pixmap pixmap,
+                                       Pixmap shapemask,
+                                       XpmAttributes *attributes));
+
+    FUNC(XpmReadFileToPixmap, int, (Display *display,
+                                   Drawable d,
+                                   char *filename,
+                                   Pixmap *pixmap_return,
+                                   Pixmap *shapemask_return,
+                                   XpmAttributes *attributes));
+
+    FUNC(XpmWriteFileFromPixmap, int, (Display *display,
+                                      char *filename,
+                                      Pixmap pixmap,
+                                      Pixmap shapemask,
+                                      XpmAttributes *attributes));
+#endif
+
+    FUNC(XpmCreateImageFromData, int, (Display *display,
+                                      char **data,
+                                      XImage **image_return,
+                                      XImage **shapemask_return,
+                                      XpmAttributes *attributes));
+
+    FUNC(XpmCreateDataFromImage, int, (Display *display,
+                                      char ***data_return,
+                                      XImage *image,
+                                      XImage *shapeimage,
+                                      XpmAttributes *attributes));
+
+    FUNC(XpmReadFileToImage, int, (Display *display,
+                                  char *filename,
+                                  XImage **image_return,
+                                  XImage **shapeimage_return,
+                                  XpmAttributes *attributes));
+
+    FUNC(XpmWriteFileFromImage, int, (Display *display,
+                                     char *filename,
+                                     XImage *image,
+                                     XImage *shapeimage,
+                                     XpmAttributes *attributes));
+
+    FUNC(XpmCreateImageFromBuffer, int, (Display *display,
+                                        char *buffer,
+                                        XImage **image_return,
+                                        XImage **shapemask_return,
+                                        XpmAttributes *attributes));
+#if !defined(FOR_MSW) && !defined(AMIGA)
+    FUNC(XpmCreatePixmapFromBuffer, int, (Display *display,
+                                         Drawable d,
+                                         char *buffer,
+                                         Pixmap *pixmap_return,
+                                         Pixmap *shapemask_return,
+                                         XpmAttributes *attributes));
+
+    FUNC(XpmCreateBufferFromImage, int, (Display *display,
+                                        char **buffer_return,
+                                        XImage *image,
+                                        XImage *shapeimage,
+                                        XpmAttributes *attributes));
+
+    FUNC(XpmCreateBufferFromPixmap, int, (Display *display,
+                                         char **buffer_return,
+                                         Pixmap pixmap,
+                                         Pixmap shapemask,
+                                         XpmAttributes *attributes));
+#endif
+    FUNC(XpmReadFileToBuffer, int, (char *filename, char **buffer_return));
+    FUNC(XpmWriteFileFromBuffer, int, (char *filename, char *buffer));
+
+    FUNC(XpmReadFileToData, int, (char *filename, char ***data_return));
+    FUNC(XpmWriteFileFromData, int, (char *filename, char **data));
+
+    FUNC(XpmAttributesSize, int, (void));
+    FUNC(XpmFreeAttributes, void, (XpmAttributes *attributes));
+    FUNC(XpmFreeExtensions, void, (XpmExtension *extensions,
+                                  int nextensions));
+
+    FUNC(XpmFreeXpmImage, void, (XpmImage *image));
+    FUNC(XpmFreeXpmInfo, void, (XpmInfo *info));
+    FUNC(XpmGetErrorString, char *, (int errcode));
+    FUNC(XpmLibraryVersion, int, (void));
+
+    /* XpmImage functions */
+    FUNC(XpmReadFileToXpmImage, int, (char *filename,
+                                     XpmImage *image,
+                                     XpmInfo *info));
+
+    FUNC(XpmWriteFileFromXpmImage, int, (char *filename,
+                                        XpmImage *image,
+                                        XpmInfo *info));
+#if !defined(FOR_MSW) && !defined(AMIGA)
+    FUNC(XpmCreatePixmapFromXpmImage, int, (Display *display,
+                                           Drawable d,
+                                           XpmImage *image,
+                                           Pixmap *pixmap_return,
+                                           Pixmap *shapemask_return,
+                                           XpmAttributes *attributes));
+#endif
+    FUNC(XpmCreateImageFromXpmImage, int, (Display *display,
+                                          XpmImage *image,
+                                          XImage **image_return,
+                                          XImage **shapeimage_return,
+                                          XpmAttributes *attributes));
+
+    FUNC(XpmCreateXpmImageFromImage, int, (Display *display,
+                                          XImage *image,
+                                          XImage *shapeimage,
+                                          XpmImage *xpmimage,
+                                          XpmAttributes *attributes));
+#if !defined(FOR_MSW) && !defined(AMIGA)
+    FUNC(XpmCreateXpmImageFromPixmap, int, (Display *display,
+                                           Pixmap pixmap,
+                                           Pixmap shapemask,
+                                           XpmImage *xpmimage,
+                                           XpmAttributes *attributes));
+#endif
+    FUNC(XpmCreateDataFromXpmImage, int, (char ***data_return,
+                                         XpmImage *image,
+                                         XpmInfo *info));
+
+    FUNC(XpmCreateXpmImageFromData, int, (char **data,
+                                         XpmImage *image,
+                                         XpmInfo *info));
+
+    FUNC(XpmCreateXpmImageFromBuffer, int, (char *buffer,
+                                           XpmImage *image,
+                                           XpmInfo *info));
+
+    FUNC(XpmCreateBufferFromXpmImage, int, (char **buffer_return,
+                                           XpmImage *image,
+                                           XpmInfo *info));
+
+    FUNC(XpmGetParseError, int, (char *filename,
+                                int *linenum_return,
+                                int *charnum_return));
+
+    FUNC(XpmFree, void, (void *ptr));
+
+_XFUNCPROTOEND
+
+/* backward compatibility */
+
+/* for version 3.0c */
+#define XpmPixmapColorError  XpmColorError
+#define XpmPixmapSuccess     XpmSuccess
+#define XpmPixmapOpenFailed  XpmOpenFailed
+#define XpmPixmapFileInvalid XpmFileInvalid
+#define XpmPixmapNoMemory    XpmNoMemory
+#define XpmPixmapColorFailed XpmColorFailed
+
+#define XpmReadPixmapFile(dpy, d, file, pix, mask, att) \
+    XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
+#define XpmWritePixmapFile(dpy, file, pix, mask, att) \
+    XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
+
+/* for version 3.0b */
+#define PixmapColorError  XpmColorError
+#define PixmapSuccess     XpmSuccess
+#define PixmapOpenFailed  XpmOpenFailed
+#define PixmapFileInvalid XpmFileInvalid
+#define PixmapNoMemory    XpmNoMemory
+#define PixmapColorFailed XpmColorFailed
+
+#define ColorSymbol XpmColorSymbol
+
+#define XReadPixmapFile(dpy, d, file, pix, mask, att) \
+    XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
+#define XWritePixmapFile(dpy, file, pix, mask, att) \
+    XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
+#define XCreatePixmapFromData(dpy, d, data, pix, mask, att) \
+    XpmCreatePixmapFromData(dpy, d, data, pix, mask, att)
+#define XCreateDataFromPixmap(dpy, data, pix, mask, att) \
+    XpmCreateDataFromPixmap(dpy, data, pix, mask, att)
+
+#endif /* XPM_NUMBERS */
+#endif
diff --git a/XOrg/lib/common.mk b/XOrg/lib/common.mk
new file mode 100644 (file)
index 0000000..3359041
--- /dev/null
@@ -0,0 +1,52 @@
+# 
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org 
+
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+
+_CATEGORY:=libraries
+_DEPEND+=+xorg-headers-native +util-macros-X11R7.2 
+include ../../common.mk
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+endef
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               --enable-malloc0returnsnull; \
+       fi \
+       )
+endef
+
+define libXaw-X11R7.1/install
+       rm -f $(1)/usr/lib/libXaw.so.*
+       cd $(1)/usr/lib; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Package/${PKG_NAME}/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       if [ -d $(PKG_BUILD_DIR)/src/.libs/ ]; then \
+               cp -f $(PKG_BUILD_DIR)/src/.libs/lib*so* $(1)/usr/lib ; \
+       fi
+       if [ -d $(PKG_BUILD_DIR)/.libs/ ]; then \
+               cp -f $(PKG_BUILD_DIR)/.libs/lib*so* $(1)/usr/lib ; \
+       fi
+       $(call $(PKG_NAME)/install,$(1))
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/$(SUBPACKAGE)  $(MAKE_FLAGS) install
+       rm -rf $(STAGING_DIR)/usr/lib/*.la
+endef
+
diff --git a/XOrg/lib/libICE-X11R7.2/Makefile b/XOrg/lib/libICE-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..12d3b75
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libICE
+PKG_NAME:=libICE-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.3
+
+_DEPEND:= +xproto-X11R7.2 +xtrans-X11R7.2
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libSM-X11R7.2/Makefile b/XOrg/lib/libSM-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..bc039cc
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libSM
+PKG_NAME:=libSM-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.2
+
+_DEPEND:= +libICE-X11R7.2
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libX11-X11R7.2/Makefile b/XOrg/lib/libX11-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..b4d13c2
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libX11
+PKG_NAME:=libX11-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.1
+
+_DEPEND:= +bigreqsproto-X11R7.0 +xproto-X11R7.2 +xextproto-X11R7.0 +libXau-X11R7.2 +xtrans-X11R7.2 +xcmiscproto-X11R7.0 +libXdmcp-X11R7.2 +xf86bigfontproto-X11R7.0 +kbproto-X11R7.2 +inputproto-X11R7.0
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXau-X11R7.2/Makefile b/XOrg/lib/libXau-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..c6c1fec
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXau
+PKG_NAME:=libXau-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.3
+
+_DEPEND:= +xproto-X11R7.2
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXaw-X11R7.1/Makefile b/XOrg/lib/libXaw-X11R7.1/Makefile
new file mode 100644 (file)
index 0000000..ae8e8fb
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXaw
+PKG_NAME:=libXaw-X11R7.1
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.2
+
+_DEPEND:= +libXmu-X11R7.2 +libXpm-X11R7.2 +libXau-X11R7.2 +libXdmcp-X11R7.2
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXdmcp-X11R7.2/Makefile b/XOrg/lib/libXdmcp-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..cd367e0
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXdmcp
+PKG_NAME:=libXdmcp-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.2
+
+_DEPEND:= +xproto-X11R7.2
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXext-X11R7.2/Makefile b/XOrg/lib/libXext-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..bd6f6ef
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXext
+PKG_NAME:=libXext-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.2
+
+_DEPEND:= +xproto-X11R7.2 +xextproto-X11R7.0 +libXau-X11R7.2 +libX11-X11R7.2
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXfont-X11R7.2/Makefile b/XOrg/lib/libXfont-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..d3a384a
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXfont
+PKG_NAME:=libXfont-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.2.7
+
+_DEPEND:= +zlib +libfontenc-X11R7.2 +fontcacheproto-X11R7.0 +fontsproto-X11R7.0 +freetype
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXmu-X11R7.2/Makefile b/XOrg/lib/libXmu-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..e64e2a4
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXmu
+PKG_NAME:=libXmu-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.3
+
+_DEPEND:=
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXpm-X11R7.2/Makefile b/XOrg/lib/libXpm-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..76be73d
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXpm
+PKG_NAME:=libXpm-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=3.5.6
+
+_DEPEND:=
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXpm-X11R7.2/patches/100-ld.patch b/XOrg/lib/libXpm-X11R7.2/patches/100-ld.patch
new file mode 100644 (file)
index 0000000..7beb1d3
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN libXpm-X11R7.2-3.5.6.orig/sxpm/Makefile.in libXpm-X11R7.2-3.5.6/sxpm/Makefile.in
+--- libXpm-X11R7.2-3.5.6.orig/sxpm/Makefile.in 2007-09-14 18:57:22.000000000 +0200
++++ libXpm-X11R7.2-3.5.6/sxpm/Makefile.in      2007-09-14 18:58:38.000000000 +0200
+@@ -154,7 +154,7 @@
+ SHELL = @SHELL@
+ STRIP = @STRIP@
+ SXPM_CFLAGS = @SXPM_CFLAGS@
+-SXPM_LIBS = @SXPM_LIBS@
++SXPM_LIBS = @SXPM_LIBS@ -lXdmcp -lXau -shared
+ VERSION = @VERSION@
+ XPM_CFLAGS = @XPM_CFLAGS@
+ XPM_LIBS = @XPM_LIBS@
diff --git a/XOrg/lib/libXrandr-X11R7.2/Makefile b/XOrg/lib/libXrandr-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..0e08c68
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXrandr
+PKG_NAME:=libXrandr-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.2
+
+_DEPEND:= +libXext-X11R7.2 +libXrender-X11R7.2 +randrproto-X11R7.0 +renderproto-X11R7.0 +xextproto-X11R7.0 +libX11-X11R7.2
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXrender-X11R7.2/Makefile b/XOrg/lib/libXrender-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..bbf329d
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXrender
+PKG_NAME:=libXrender-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=0.9.2
+
+_DEPEND:= +freetype +zlib +xproto-X11R7.2 +libfontenc-X11R7.2 +xtrans-X11R7.2 +fontsproto-X11R7.0 +renderproto-X11R7.0
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXt-X11R7.2/Makefile b/XOrg/lib/libXt-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..1425d27
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXt
+PKG_NAME:=libXt-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.4
+
+_DEPEND:= +libSM-X11R7.2
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXxf86misc-X11R7.1/Makefile b/XOrg/lib/libXxf86misc-X11R7.1/Makefile
new file mode 100644 (file)
index 0000000..76343d6
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXxf86misc
+PKG_NAME:=libXxf86misc-X11R7.1
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.1
+
+_DEPEND:=
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libXxf86vm-X11R7.1/Makefile b/XOrg/lib/libXxf86vm-X11R7.1/Makefile
new file mode 100644 (file)
index 0000000..80b88c8
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libXxf86vm
+PKG_NAME:=libXxf86vm-X11R7.1
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.1
+
+_DEPEND:=
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libfontenc-X11R7.2/Makefile b/XOrg/lib/libfontenc-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..7bcfde0
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libfontenc
+PKG_NAME:=libfontenc-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.4
+
+_DEPEND:= +xproto-X11R7.2 +zlib
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libxkbfile-X11R7.2/Makefile b/XOrg/lib/libxkbfile-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..66632a9
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libxkbfile
+PKG_NAME:=libxkbfile-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.4
+
+_DEPEND:=
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/libxkbui-X11R7.1/Makefile b/XOrg/lib/libxkbui-X11R7.1/Makefile
new file mode 100644 (file)
index 0000000..4e7601c
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=libxkbui
+PKG_NAME:=libxkbui-X11R7.1
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.2
+
+_DEPEND:=
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/packages b/XOrg/lib/packages
new file mode 100644 (file)
index 0000000..d491035
--- /dev/null
@@ -0,0 +1,19 @@
+libXau-X11R7.2-1.0.3|+xproto-X11R7.2
+xtrans-X11R7.2-1.0.3|
+libXdmcp-X11R7.2-1.0.2|+xproto-X11R7.2
+libX11-X11R7.2-1.1.1|+bigreqsproto-X11R7.0+xproto-X11R7.2+xextproto-X11R7.0+libXau-X11R7.2+xtrans-X11R7.2+xcmiscproto-X11R7.0+libXdmcp-X11R7.2+xf86bigfontproto-X11R7.0+kbproto-X11R7.2+inputproto-X11R7.0
+libfontenc-X11R7.2-1.0.4|+xproto-X11R7.2+zlib
+libXfont-X11R7.2-1.2.7|+zlib+libfontenc-X11R7.2+fontcacheproto-X11R7.0+fontsproto-X11R7.0+freetype
+libXrender-X11R7.2-0.9.2|+freetype+zlib+xproto-X11R7.2+libfontenc-X11R7.2+xtrans-X11R7.2+fontsproto-X11R7.0+renderproto-X11R7.0
+libXrandr-X11R7.2-1.1.2|+libXext-X11R7.2+libXrender-X11R7.2+randrproto-X11R7.0+renderproto-X11R7.0+xextproto-X11R7.0+libX11-X11R7.2
+libXext-X11R7.2-1.0.2|+xproto-X11R7.2+xextproto-X11R7.0+libXau-X11R7.2+libX11-X11R7.2
+libxkbfile-X11R7.2-1.0.4|
+libXt-X11R7.2-1.0.4|+libSM-X11R7.2
+libSM-X11R7.2-1.0.2|+libICE-X11R7.2
+libICE-X11R7.2-1.0.3|+xproto-X11R7.2+xtrans-X11R7.2
+libxkbui-X11R7.1-1.0.2|
+libXxf86misc-X11R7.1-1.0.1|
+libXxf86vm-X11R7.1-1.0.1|
+libXaw-X11R7.1-1.0.2|+libXmu-X11R7.2+libXpm-X11R7.2+libXau-X11R7.2+libXdmcp-X11R7.2
+libXmu-X11R7.2-1.0.3|
+libXpm-X11R7.2-3.5.6|
diff --git a/XOrg/lib/patches/libXpm-X11R7.2/100-ld.patch b/XOrg/lib/patches/libXpm-X11R7.2/100-ld.patch
new file mode 100644 (file)
index 0000000..7beb1d3
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN libXpm-X11R7.2-3.5.6.orig/sxpm/Makefile.in libXpm-X11R7.2-3.5.6/sxpm/Makefile.in
+--- libXpm-X11R7.2-3.5.6.orig/sxpm/Makefile.in 2007-09-14 18:57:22.000000000 +0200
++++ libXpm-X11R7.2-3.5.6/sxpm/Makefile.in      2007-09-14 18:58:38.000000000 +0200
+@@ -154,7 +154,7 @@
+ SHELL = @SHELL@
+ STRIP = @STRIP@
+ SXPM_CFLAGS = @SXPM_CFLAGS@
+-SXPM_LIBS = @SXPM_LIBS@
++SXPM_LIBS = @SXPM_LIBS@ -lXdmcp -lXau -shared
+ VERSION = @VERSION@
+ XPM_CFLAGS = @XPM_CFLAGS@
+ XPM_LIBS = @XPM_LIBS@
diff --git a/XOrg/lib/patches/xtrans-X11R7.2/fix-missing-includepath.patch b/XOrg/lib/patches/xtrans-X11R7.2/fix-missing-includepath.patch
new file mode 100644 (file)
index 0000000..043d14f
--- /dev/null
@@ -0,0 +1,13 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- xtrans-X11R7.0-1.0.0/xtrans.pc.in~fix-missing-includepath  2005-07-02 20:00:50.000000000 +0200
++++ xtrans-X11R7.0-1.0.0/xtrans.pc.in  2006-08-11 19:27:58.000000000 +0200
+@@ -6,4 +6,4 @@
+ Name: XTrans
+ Description: Abstract network code for X
+ Version: @PACKAGE_VERSION@
+-Cflags: -I${includedir} -D_BSD_SOURCE @fchown_define@ @sticky_bit_define@
++Cflags: -I${includedir} -I${includedir}/X11/Xtrans -D_BSD_SOURCE @fchown_define@ @sticky_bit_define@
diff --git a/XOrg/lib/template.mk b/XOrg/lib/template.mk
new file mode 100644 (file)
index 0000000..672ae73
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=@BASE_NAME@
+PKG_NAME:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+
+_DEPEND:=@DEP@
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/xtrans-X11R7.2/Makefile b/XOrg/lib/xtrans-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..020cd92
--- /dev/null
@@ -0,0 +1,34 @@
+include $(TOPDIR)/rules.mk
+
+PKG_BASE_NAME:=xtrans
+PKG_NAME:=xtrans-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.3
+
+_DEPEND:=
+
+
+include ../common.mk
+
+ifeq ("$(PKG_NAME)","libX11-X11R7.2")
+ #CONFIGURE_ARGS_XTRA=--without-xcb --disable-udc --enable-xcms --disable-xlocale --disable-xkb
+ CONFIGURE_ARGS_XTRA=--without-xcb
+define Build/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
+               $(MAKE_FLAGS) \
+               all ;
+endef
+endif
+
+ifeq ("$(PKG_NAME)","libXt-X11R7.2")
+define Build/Compile
+       $(MAKE_VARS) \
+       $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+       make -C $(PKG_BUILD_DIR)
+endef
+endif
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/lib/xtrans-X11R7.2/patches/fix-missing-includepath.patch b/XOrg/lib/xtrans-X11R7.2/patches/fix-missing-includepath.patch
new file mode 100644 (file)
index 0000000..043d14f
--- /dev/null
@@ -0,0 +1,13 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- xtrans-X11R7.0-1.0.0/xtrans.pc.in~fix-missing-includepath  2005-07-02 20:00:50.000000000 +0200
++++ xtrans-X11R7.0-1.0.0/xtrans.pc.in  2006-08-11 19:27:58.000000000 +0200
+@@ -6,4 +6,4 @@
+ Name: XTrans
+ Description: Abstract network code for X
+ Version: @PACKAGE_VERSION@
+-Cflags: -I${includedir} -D_BSD_SOURCE @fchown_define@ @sticky_bit_define@
++Cflags: -I${includedir} -I${includedir}/X11/Xtrans -D_BSD_SOURCE @fchown_define@ @sticky_bit_define@
diff --git a/XOrg/meta/xorg-server-X11R7.2-essentials/Makefile b/XOrg/meta/xorg-server-X11R7.2-essentials/Makefile
new file mode 100644 (file)
index 0000000..4c351c5
--- /dev/null
@@ -0,0 +1,48 @@
+# 
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xorg-server-X11R7.2-essentials
+PKG_RELEASE:=1
+PKG_VERSION:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xorg-server-X11R7.2-essentials
+  SECTION:=xorg-meta
+  CATEGORY:=Xorg
+  TITLE:=Xorg server essentials 
+  URL:=http://xorg.freedesktop.org/
+  DEPENDS:=+xorg-server-X11R7.2 \
+               +font-alias-X11R7.0 \
+               +font-misc-misc-X11R7.0 \
+               +font-cursor-misc-X11R7.0 \
+               +xf86-input-mouse-X11R7.2 \
+               +xf86-video-vesa-X11R7.2 \
+               +xf86-video-vga-X11R7.1 \
+               +xf86-input-evdev-X11R7.1 \
+               +xf86-input-keyboard-X11R7.2 \
+               +font-bh-75dpi-X11R7.0 \
+               @TARGET_x86
+endef
+
+define Build/Configure
+       echo 
+endef
+
+define Build/Compile
+       echo 
+endef
+
+define Package/xorg-server-X11R7.2-essentials/install
+       $(INSTALL_DIR) $(1)/root
+       $(CP) files/xinitrc $(1)/root/.xinitrc
+endef
+
+$(eval $(call BuildPackage,xorg-server-X11R7.2-essentials))
diff --git a/XOrg/meta/xorg-server-X11R7.2-essentials/files/xinitrc b/XOrg/meta/xorg-server-X11R7.2-essentials/files/xinitrc
new file mode 100644 (file)
index 0000000..bb0a0e9
--- /dev/null
@@ -0,0 +1 @@
+fluxbox
diff --git a/XOrg/misc/Mesa/Makefile b/XOrg/misc/Mesa/Makefile
new file mode 100644 (file)
index 0000000..94b7223
--- /dev/null
@@ -0,0 +1,39 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=Mesa
+PKG_VERSION:=6.5
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)Lib-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://downloads.sourceforge.net/mesa3d/
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/Mesa
+  SECTION:=xorg-misc
+  CATEGORY:=Xorg
+  SUBMENU:=misc
+  TITLE:=OpenGL compatible 3-D graphics library
+endef
+
+define Build/Configure
+       echo
+endef
+
+define Build/Compile
+       echo "currently we only stage the headers in this package :-)"
+endef
+
+define Build/InstallDev
+       $(CP) -r $(PKG_BUILD_DIR)/include/* $(STAGING_DIR)/include
+endef
+
+$(eval $(call BuildPackage,Mesa))
diff --git a/XOrg/misc/freetype/Makefile b/XOrg/misc/freetype/Makefile
new file mode 100644 (file)
index 0000000..ad3f8b7
--- /dev/null
@@ -0,0 +1,57 @@
+# 
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=freetype
+PKG_VERSION:=2.1.10
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=@SF/freetype/
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/freetype
+  SECTION:=xorg-misc
+  CATEGORY:=Xorg
+  SUBMENU:=misc
+  TITLE:=Freetype font rendering library
+endef
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/builds/unix; \
+               ./configure --host=$(GNU_TARGET_NAME) ; \
+               $(TARGET_CONFIGURE_OPTS) \
+               AC_PROG_LIBTOOL="$(PKG_BUILD_DIR)/builds/unix/libtool"; \
+               aclocal -I . ); 
+       (cd  $(PKG_BUILD_DIR)/; \
+               $(TARGET_CONFIGURE_OPTS) \
+               ./configure --host=$(GNU_TARGET_NAME) --without-zlib);
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+               $(MAKE) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)" \
+               install
+endef
+
+define Build/InstallDev
+       $(CP) -r $(PKG_BUILD_DIR)/include/* $(STAGING_DIR)/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/local/lib/libfreetype.so* $(STAGING_DIR)/usr/lib/
+       $(CP) $(PKG_BUILD_DIR)/builds/unix/freetype2.pc $(STAGING_DIR)/usr/lib/pkgconfig/
+endef
+
+define Package/freetype/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/local/lib/libfreetype.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,freetype))
diff --git a/XOrg/misc/freetype/patches/configure.patch b/XOrg/misc/freetype/patches/configure.patch
new file mode 100644 (file)
index 0000000..f11cf96
--- /dev/null
@@ -0,0 +1,47 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+Index: freetype-2.1.8/builds/unix/configure.ac
+===================================================================
+--- freetype-2.1.8.orig/builds/unix/configure.ac       2004-04-14 04:49:11.000000000 -0400
++++ freetype-2.1.8/builds/unix/configure.ac    2005-03-12 03:14:23.000000000 -0500
+@@ -111,8 +111,8 @@
+ # Check for system zlib
+ AC_ARG_WITH([zlib],
+-  dnl don't quote AS_HELP_STRING!
+-  AS_HELP_STRING([--without-zlib],
++  dnl don't quote AC_HELP_STRING!
++  AC_HELP_STRING([--without-zlib],
+                  [use internal zlib instead of system-wide]))
+ if test x$with_zlib != xno && test -z "$LIBZ"; then
+   AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])])
+@@ -127,7 +127,7 @@
+ # Whether to use Mac OS resource-based fonts or not
+ AC_ARG_WITH([old-mac-fonts],
+-  dnl don't quote AS_HELP_STRING!
+-  AS_HELP_STRING([--with-old-mac-fonts],
++  dnl don't quote AC_HELP_STRING!
++  AC_HELP_STRING([--with-old-mac-fonts],
+                  [allow Mac resource-based fonts to be used]))
+ if test x$with_old_mac_fonts = xyes; then
+Index: freetype-2.1.8/builds/unix/unix-cc.in
+===================================================================
+--- freetype-2.1.8.orig/builds/unix/unix-cc.in 2003-11-09 03:37:13.000000000 -0500
++++ freetype-2.1.8/builds/unix/unix-cc.in      2005-03-12 18:37:24.613693760 -0500
+@@ -14,9 +14,11 @@
+ CC           := @CC@
+ COMPILER_SEP := $(SEP)
++SHELL        := @SHELL@
++top_builddir := $(BUILD_DIR)
+ ifndef LIBTOOL
+-  LIBTOOL := $(BUILD_DIR)/libtool
++  LIBTOOL := @LIBTOOL@
+ endif
diff --git a/XOrg/misc/freetype/patches/no-hardcode.patch b/XOrg/misc/freetype/patches/no-hardcode.patch
new file mode 100644 (file)
index 0000000..44ae450
--- /dev/null
@@ -0,0 +1,11 @@
+--- freetype-2.1.10/builds/unix/freetype-config.in.old 2006-05-01 12:39:20.000000000 +0100
++++ freetype-2.1.10/builds/unix/freetype-config.in     2006-05-01 12:39:34.000000000 +0100
+@@ -16,7 +16,7 @@
+ libdir=@libdir@
+ enable_shared=@enable_shared@
+ wl=@wl@
+-hardcode_libdir_flag_spec='@hardcode_libdir_flag_spec@'
++hardcode_libdir_flag_spec=''
+ usage()
+ {
diff --git a/XOrg/misc/libdrm/Makefile b/XOrg/misc/libdrm/Makefile
new file mode 100644 (file)
index 0000000..cad2e39
--- /dev/null
@@ -0,0 +1,47 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libdrm
+PKG_VERSION:=2.3.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://dri.freedesktop.org/libdrm/
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libdrm
+  SECTION:=xorg-misc
+  CATEGORY:=Xorg
+  SUBMENU:=misc
+  TITLE:=library for direct rendering
+endef
+
+define Build/Configure
+       cd  $(PKG_BUILD_DIR)/; $(TARGET_CONFIGURE_OPTS) ./configure  --host=$(GNU_TARGET_NAME) 
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR) 
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_BUILD_DIR)/libdrm/*.h $(STAGING_DIR)/include 
+       $(CP) $(PKG_BUILD_DIR)/shared-core/*.h $(STAGING_DIR)/include 
+       $(CP) $(PKG_BUILD_DIR)/libdrm/.libs/libdrm.so* $(STAGING_DIR)/usr/lib/
+       $(CP) $(PKG_BUILD_DIR)/libdrm.pc $(STAGING_DIR)/usr/lib/pkgconfig/
+endef
+
+define Package/libdrm/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_BUILD_DIR)/libdrm/.libs/libdrm.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libdrm))
diff --git a/XOrg/proto/bigreqsproto-X11R7.0/Makefile b/XOrg/proto/bigreqsproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..15a6f33
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=bigreqsproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/common.mk b/XOrg/proto/common.mk
new file mode 100644 (file)
index 0000000..6af50bb
--- /dev/null
@@ -0,0 +1,19 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+
+_CATEGORY:=proto
+
+include ../../common.mk
+
+define Build/Compile
+       true
+endef
+
+
diff --git a/XOrg/proto/compositeproto-X11R7.1/Makefile b/XOrg/proto/compositeproto-X11R7.1/Makefile
new file mode 100644 (file)
index 0000000..cf567c8
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=compositeproto-X11R7.1
+PKG_RELEASE:=1
+PKG_VERSION:=0.3.1
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/damageproto-X11R7.0/Makefile b/XOrg/proto/damageproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..eb64cdd
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=damageproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.3
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/evieext-X11R7.0/Makefile b/XOrg/proto/evieext-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..e2ad28c
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=evieext-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/fixesproto-X11R7.1/Makefile b/XOrg/proto/fixesproto-X11R7.1/Makefile
new file mode 100644 (file)
index 0000000..8004d3e
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fixesproto-X11R7.1
+PKG_RELEASE:=1
+PKG_VERSION:=4.0
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/fontcacheproto-X11R7.0/Makefile b/XOrg/proto/fontcacheproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..23f7c49
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fontcacheproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=0.1.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/fontsproto-X11R7.0/Makefile b/XOrg/proto/fontsproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..a927e74
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fontsproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=2.0.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/glproto-X11R7.2/Makefile b/XOrg/proto/glproto-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..b387eb4
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=glproto-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.4.8
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/inputproto-X11R7.0/Makefile b/XOrg/proto/inputproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..83b0ab8
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=inputproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.3.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/kbproto-X11R7.2/Makefile b/XOrg/proto/kbproto-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..7db2b04
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=kbproto-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.3
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/packages b/XOrg/proto/packages
new file mode 100644 (file)
index 0000000..9eeff8c
--- /dev/null
@@ -0,0 +1,26 @@
+compositeproto-X11R7.1-0.3.1|
+damageproto-X11R7.0-1.0.3|
+fixesproto-X11R7.1-4.0|
+recordproto-X11R7.0-1.13.2|
+resourceproto-X11R7.0-1.0.2|
+scrnsaverproto-X11R7.1-1.1.0|
+videoproto-X11R7.0-2.2.2|
+xextproto-X11R7.0-7.0.2|
+xproto-X11R7.2-7.0.10|
+bigreqsproto-X11R7.0-1.0.2|
+xcmiscproto-X11R7.0-1.1.2|
+xf86bigfontproto-X11R7.0-1.1.2|
+kbproto-X11R7.2-1.0.3|
+inputproto-X11R7.0-1.3.2|
+fontcacheproto-X11R7.0-0.1.2|
+fontsproto-X11R7.0-2.0.2|
+randrproto-X11R7.0-1.1.2|
+renderproto-X11R7.0-0.9.2|
+xf86driproto-X11R7.0-2.0.3|
+glproto-X11R7.2-1.4.8|
+xf86miscproto-X11R7.0-0.9.2|
+xf86vidmodeproto-X11R7.0-2.2.2|
+xf86dgaproto-X11R7.0-2.0.2|
+trapproto-X11R7.0-3.4.3|
+xineramaproto-X11R7.0-1.1.2|
+evieext-X11R7.0-1.0.2|
diff --git a/XOrg/proto/randrproto-X11R7.0/Makefile b/XOrg/proto/randrproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..20c759e
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=randrproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/recordproto-X11R7.0/Makefile b/XOrg/proto/recordproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..82423b6
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=recordproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.13.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/renderproto-X11R7.0/Makefile b/XOrg/proto/renderproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..b8ca521
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=renderproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=0.9.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/resourceproto-X11R7.0/Makefile b/XOrg/proto/resourceproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..0ba67a9
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=resourceproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.0.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/scrnsaverproto-X11R7.1/Makefile b/XOrg/proto/scrnsaverproto-X11R7.1/Makefile
new file mode 100644 (file)
index 0000000..56946b1
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=scrnsaverproto-X11R7.1
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.0
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/template.mk b/XOrg/proto/template.mk
new file mode 100644 (file)
index 0000000..8178837
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+
+_DEPEND:=@DEP@
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/trapproto-X11R7.0/Makefile b/XOrg/proto/trapproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..0091245
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=trapproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=3.4.3
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/videoproto-X11R7.0/Makefile b/XOrg/proto/videoproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..5e58fc7
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=videoproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=2.2.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/xcmiscproto-X11R7.0/Makefile b/XOrg/proto/xcmiscproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..91a2831
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xcmiscproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/xextproto-X11R7.0/Makefile b/XOrg/proto/xextproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..aa88212
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xextproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=7.0.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/xf86bigfontproto-X11R7.0/Makefile b/XOrg/proto/xf86bigfontproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..b17bd2c
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xf86bigfontproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/xf86dgaproto-X11R7.0/Makefile b/XOrg/proto/xf86dgaproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..41b6866
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xf86dgaproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=2.0.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/xf86driproto-X11R7.0/Makefile b/XOrg/proto/xf86driproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..3ea764b
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xf86driproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=2.0.3
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/xf86miscproto-X11R7.0/Makefile b/XOrg/proto/xf86miscproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..a6accbe
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xf86miscproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=0.9.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/xf86vidmodeproto-X11R7.0/Makefile b/XOrg/proto/xf86vidmodeproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..f6996c5
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xf86vidmodeproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=2.2.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/xineramaproto-X11R7.0/Makefile b/XOrg/proto/xineramaproto-X11R7.0/Makefile
new file mode 100644 (file)
index 0000000..b6e53fa
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xineramaproto-X11R7.0
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.2
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/proto/xproto-X11R7.2/Makefile b/XOrg/proto/xproto-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..b7a422d
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xproto-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=7.0.10
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/Makefile b/XOrg/server/xorg-kdrive-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..efe97d1
--- /dev/null
@@ -0,0 +1,61 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id: Makefile 8299 2007-08-01 12:32:53Z nico $
+
+include $(TOPDIR)/rules.mk
+
+
+PKG_NAME:=xorg-kdrive-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.2.0
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/xserver/
+PKG_SOURCE:=xorg-server-X11R7.2-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/server/kdrive/xorg-server-X11R7.2-$(PKG_VERSION)/
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xorg-kdrive-X11R7.2
+  SECTION:=xorg-server
+  CATEGORY:=Xorg
+  SUBMENU:=server
+  TITLE:=Xorg kdrive server
+  URL:=http://xorg.freedesktop.org/
+  DEPENDS:=+compositeproto-X11R7.1 +damageproto-X11R7.0 +fixesproto-X11R7.1 +recordproto-X11R7.0 +resourceproto-X11R7.0 +scrnsaverproto-X11R7.1 +videoproto-X11R7.0 +xextproto-X11R7.0 +xproto-X11R7.2 +libXext-X11R7.2 +libXdmcp-X11R7.2 +libXfont-X11R7.2 +libXrandr-X11R7.2 +xtrans-X11R7.2 +libX11-X11R7.2  @TARGET_x86 
+endef
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+               if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+                       --enable-composite --enable-kdrive \
+                       --disable-dga --disable-dri --disable-xinerama \
+                       --disable-xf86misc --disable-xf86vidmode \
+                       --disable-xorg --disable-xorgcfg \
+                       --disable-xkb --disable-xnest --disable-xvfb \
+                       --disable-xevie --disable-xprint --disable-xtrap \
+                       --disable-dmx --disable-w100 \
+                       --with-default-font-path=built-ins \
+                       --enable-tslib --enable-xcalibrate \
+                       ac_cv_file__usr_share_X11_sgml_defs_ent=no
+       fi;\
+       )
+endef
+
+define Build/Compile
+        $(MAKE) -C $(PKG_BUILD_DIR)
+endef
+
+define Package/xorg-kdrive-X11R7.2/install
+    $(INSTALL_DIR) $(1)/usr/lib
+           $(CP) $(PKG_INSTALL_DIR)/usr/local/lib/libfreetype.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,xorg-kdrive-X11R7.2))
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/disable-apm.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/disable-apm.patch
new file mode 100644 (file)
index 0000000..bd88427
--- /dev/null
@@ -0,0 +1,20 @@
+--- xserver/hw/kdrive/linux/linux.c.orig       2005-04-23 15:56:13.988849232 +0000
++++ xserver/hw/kdrive/linux/linux.c    2005-04-23 15:57:05.001094192 +0000
+@@ -342,7 +342,7 @@
+     /*
+      * Open the APM driver
+      */
+-    LinuxApmFd = open ("/dev/apm_bios", 2);
++    /*LinuxApmFd = open ("/dev/apm_bios", 2);
+     if (LinuxApmFd < 0 && errno == ENOENT)
+       LinuxApmFd = open ("/dev/misc/apm_bios", 2); 
+     if (LinuxApmFd >= 0)
+@@ -352,7 +352,7 @@
+       RegisterBlockAndWakeupHandlers (LinuxApmBlock, LinuxApmWakeup, 0);
+       AddEnabledDevice (LinuxApmFd);
+     }
+-      
++    */        
+     /*
+      * now get the VT
+      */
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/disable-xf86-dga-xorgcfg.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/disable-xf86-dga-xorgcfg.patch
new file mode 100644 (file)
index 0000000..9c43e52
--- /dev/null
@@ -0,0 +1,37 @@
+--- git/configure.ac.orig      2006-05-22 22:40:00.000000000 +0200
++++ git/configure.ac   2006-06-10 15:10:14.000000000 +0200
+@@ -505,7 +505,11 @@
+ XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la'
+ dnl Core modules for most extensions, et al.
++if test "$KDRIVE" = yes; then
++REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto"
++else
+ REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86miscproto xf86vidmodeproto xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto xf86dgaproto"
++fi
+ REQUIRED_LIBS="xfont xau fontenc"
+ AM_CONDITIONAL(XV, [test "x$XV" = xyes])
+@@ -1514,7 +1526,9 @@
+ AC_SUBST(XKB_COMPILED_DIR)
+ dnl and the rest of these are generic, so they're in config.h
++if test ! x"$KDRIVE" = xyes; then
+ AC_DEFINE(XFreeXDGA, 1, [Build XDGA support])
++fi
+ AC_DEFINE(XResExtension, 1, [Build XRes extension])
+ dnl CYGWIN does not define fd_set if _POSIX_SOURCE is defined
+@@ -1534,10 +1548,12 @@
+ AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix])
++if test ! "x$KDRIVE" = xyes ; then
+ dnl xorgconfig CLI configuration utility
+ PKG_CHECK_MODULES([XORGCONFIG_DEP], [xkbfile x11])
+ AC_SUBST(XORGCONFIG_DEP_CFLAGS)
+ AC_SUBST(XORGCONFIG_DEP_LIBS)
++fi
+ dnl xorgcfg GUI configuration utility
+ AC_ARG_ENABLE(xorgcfg, AS_HELP_STRING([--enable-xorgcfg], 
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/enable-builtin-fonts.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/enable-builtin-fonts.patch
new file mode 100644 (file)
index 0000000..13a6c2c
--- /dev/null
@@ -0,0 +1,12 @@
+--- xorg-server-X11R7.1-1.1.0/dix/dixfonts.c.orig      2006-06-08 14:49:12.158684250 +0200
++++ xorg-server-X11R7.1-1.1.0/dix/dixfonts.c   2006-06-08 14:49:52.493205000 +0200
+@@ -52,8 +52,8 @@
+ /* $Xorg: dixfonts.c,v 1.4 2000/08/17 19:48:18 cpqbld Exp $ */
+ #define NEED_REPLIES
+ #ifdef HAVE_DIX_CONFIG_H
+-#include <dix-config.h>
++#include <kdrive-config.h>
+ #endif
+ #include <X11/X.h>
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/enable-epson.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/enable-epson.patch
new file mode 100644 (file)
index 0000000..63b13a4
--- /dev/null
@@ -0,0 +1,11 @@
+--- /tmp/Makefile.am   2006-08-30 09:51:21.000000000 +0200
++++ git/hw/kdrive/Makefile.am  2006-08-30 09:51:44.425780000 +0200
+@@ -4,7 +4,7 @@
+ endif
+ if KDRIVEFBDEV
+-FBDEV_SUBDIRS = fbdev
++FBDEV_SUBDIRS = fbdev epson
+ endif
+ if XSDLSERVER
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/enable-tslib.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/enable-tslib.patch
new file mode 100644 (file)
index 0000000..e488657
--- /dev/null
@@ -0,0 +1,23 @@
+--- git/configure.ac.orig      2006-05-22 22:40:00.000000000 +0200
++++ git/configure.ac   2006-06-10 15:10:14.000000000 +0200
+@@ -1438,6 +1446,10 @@
+     fi
+     
+-    # tslib...
++    AC_CHECK_HEADERS([tslib.h])
++    if test "$ac_cv_header_tslib_h" = yes; then
++        AC_DEFINE(TSLIB, 1, [Build kdrive with tslib support])
++        AC_DEFINE(TOUCHSCREEN, 1, [Build kdrive with touchscreen support])
++    fi
+     # damage shadow extension glx (NOTYET) fb mi
+     KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src'
+@@ -1467,7 +1479,7 @@
+ AC_SUBST(KDRIVE_CFLAGS)
+ AC_SUBST(KDRIVE_PURE_LIBS)
+ AC_SUBST(KDRIVE_LIBS)
+-AM_CONDITIONAL(TSLIB, false)
++AM_CONDITIONAL(TSLIB, [test x"$ac_cv_header_tslib_h" = xyes])
+ AM_CONDITIONAL(H3600_TS, false)
+ AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes])
+ AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes])
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/fbdev-not-fix.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/fbdev-not-fix.patch
new file mode 100644 (file)
index 0000000..f87e7cc
--- /dev/null
@@ -0,0 +1,14 @@
+--- xserver/hw/kdrive/fbdev/fbdev.c~   2004-09-15 00:08:10.000000000 +0100
++++ xserver/hw/kdrive/fbdev/fbdev.c    2004-11-13 17:47:02.000000000 +0000
+@@ -198,6 +198,11 @@
+       return FALSE;
+     }
++    /* Re-get the "fixed" parameters since they might have changed */
++    k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix);
++    if (k < 0)
++        perror ("FBIOGET_FSCREENINFO");
++
+     /* Now get the new screeninfo */
+     ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var);
+     depth = priv->var.bits_per_pixel;
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/kdrive-evdev.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/kdrive-evdev.patch
new file mode 100644 (file)
index 0000000..2dc22bf
--- /dev/null
@@ -0,0 +1,515 @@
+# Kdrive evdev support patch, posted by Ander Conselvan de Oliveira at
+# http://lists.freedesktop.org/archives/xorg/2005-December/011635.html
+diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/linux/evdev.c xserver/hw/kdrive/linux/evdev.c
+--- xserver.original/hw/kdrive/linux/evdev.c   2005-12-16 10:36:05.000000000 -0200
++++ xserver/hw/kdrive/linux/evdev.c    2005-12-16 10:40:51.077410192 -0200
+@@ -31,9 +31,11 @@
+ #include <X11/X.h>
+ #include <X11/Xproto.h>
+ #include <X11/Xpoll.h>
++#include <X11/keysym.h>
+ #include "inputstr.h"
+ #include "scrnintstr.h"
+ #include "kdrive.h"
++#include "kkeymap.h"
+ #define NUM_EVENTS  128
+ #define ABS_UNSET   -65535
+@@ -105,9 +107,10 @@
+ {
+     KdMouseInfo               *mi = closure;
+     Kevdev            *ke = mi->driver;
+-    int                       i;
++    int                       i, j;
+     struct input_event        events[NUM_EVENTS];
+     int                       n;
++    int                 flags;
+     n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event));
+     if (n <= 0)
+@@ -115,22 +118,64 @@
+     n /= sizeof (struct input_event);
+     for (i = 0; i < n; i++)
+     {
++      flags = KD_MOUSE_DELTA | kdMouseInfo->buttonState;
+       switch (events[i].type) {
+       case EV_SYN:
+           break;
+       case EV_KEY:
+-          EvdevMotion (mi);
+-          ASSIGNBIT(ke->key,events[i].code, events[i].value);
+-          if (events[i].code < 0x100)
+-              ErrorF ("key %d %d\n", events[i].code, events[i].value);
+-          else
+-              ErrorF ("key 0x%x %d\n", events[i].code, events[i].value);
++        if (events[i].code >= BTN_MOUSE && events[i].code < BTN_JOYSTICK) {
++              switch (events[i].code) {
++              case BTN_LEFT:
++                if (events[i].value == 1)
++                  flags |= KD_BUTTON_1;
++                else
++                  flags &= ~KD_BUTTON_1;
++                break;
++              case BTN_MIDDLE:
++                if (events[i].value == 1)
++                  flags |= KD_BUTTON_2;
++                else
++                  flags &= ~KD_BUTTON_2;
++                break;
++              case BTN_RIGHT:
++                if (events[i].value == 1)
++                  flags |= KD_BUTTON_3;
++                else
++                  flags &= ~KD_BUTTON_3;
++                break;
++              default:
++                /* Unknow button */
++                break;
++                      }
++              KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
++          }
+           break;
+       case EV_REL:
+-          ke->rel[events[i].code] += events[i].value;
++          if (events[i].code == REL_X) {
++            KdEnqueueMouseEvent (kdMouseInfo, flags, events[i].value, 0);
++          }
++          else if (events[i].code == REL_Y) {
++            KdEnqueueMouseEvent (kdMouseInfo, flags, 0, events[i].value);
++          }
++          else if (events[i].code == REL_WHEEL) {           
++            for (j = 0; j < abs (events[i].value); j++) {
++              if (events[i].value > 0)
++                flags |= KD_BUTTON_4;
++              else
++                flags |= KD_BUTTON_5;
++
++              KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
++
++              if (events[i].value > 0)
++                flags &= ~KD_BUTTON_4;
++              else
++                flags &= ~KD_BUTTON_5;
++
++              KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
++            } /* events[i].code == REL_WHEEL */
++          }
+           break;
+       case EV_ABS:
+-          ke->abs[events[i].code] = events[i].value;
+           break;
+       }
+     }
+@@ -173,6 +218,12 @@
+               fd = open (kdefaultEvdev[i], 2);
+               if (fd >= 0)
+               {
++                    if (ioctl (fd, EVIOCGRAB, 1) < 0)
++                    {
++                        close (fd);
++                        continue;
++                    }
++
+                   mi->name = KdSaveString (kdefaultEvdev[i]);
+                   break;
+               }
+@@ -287,7 +338,319 @@
+     EvdevFini,
+ };
+-#if 0
++/* Keyboard */
++
++int kbd_fd = -1;
++int EvdevInputType = 0;
++
++KeySym evdevKeymap[(194 - 1 + 1) * 2] = {
++/* These are directly mapped from DOS scanset 0 */
++/*      1     8 */       XK_Escape, NoSymbol,
++/*      2     9 */       XK_1,  XK_exclam,
++/*      3    10 */       XK_2,  XK_at,
++/*      4    11 */       XK_3,  XK_numbersign,
++/*      5    12 */       XK_4,  XK_dollar,
++/*      6    13 */       XK_5,  XK_percent,
++/*      7    14 */       XK_6,  XK_asciicircum,
++/*      8    15 */       XK_7,  XK_ampersand,
++/*      9    16 */       XK_8,  XK_asterisk,
++/*     10    17 */       XK_9,  XK_parenleft,
++/*     11    18 */       XK_0,  XK_parenright,
++/*     12    19 */       XK_minus,      XK_underscore,
++/*     13    20 */       XK_equal,      XK_plus,
++/*     14    21 */       XK_BackSpace,  NoSymbol,
++/*     15    22 */       XK_Tab,        NoSymbol,
++/*     16    23 */       XK_Q,  NoSymbol,
++/*     17    24 */       XK_W,  NoSymbol,
++/*     18    25 */       XK_E,  NoSymbol,
++/*     19    26 */       XK_R,  NoSymbol,
++/*     20    27 */       XK_T,  NoSymbol,
++/*     21    28 */       XK_Y,  NoSymbol,
++/*     22    29 */       XK_U,  NoSymbol,
++/*     23    30 */       XK_I,  NoSymbol,
++/*     24    31 */       XK_O,  NoSymbol,
++/*     25    32 */       XK_P,  NoSymbol,
++/*     26    33 */       XK_bracketleft,        XK_braceleft,
++/*     27    34 */       XK_bracketright,       XK_braceright,
++/*     28    35 */       XK_Return,     NoSymbol,
++/*     29    36 */       XK_Control_L,  NoSymbol,
++/*     30    37 */       XK_A,  NoSymbol,
++/*     31    38 */       XK_S,  NoSymbol,
++/*     32    39 */       XK_D,  NoSymbol,
++/*     33    40 */       XK_F,  NoSymbol,
++/*     34    41 */       XK_G,  NoSymbol,
++/*     35    42 */       XK_H,  NoSymbol,
++/*     36    43 */       XK_J,  NoSymbol,
++/*     37    44 */       XK_K,  NoSymbol,
++/*     38    45 */       XK_L,  NoSymbol,
++/*     39    46 */       XK_semicolon,  XK_colon,
++/*     40    47 */       XK_apostrophe, XK_quotedbl,
++/*     41    48 */       XK_grave,      XK_asciitilde,
++/*     42    49 */       XK_Shift_L,    NoSymbol,
++/*     43    50 */       XK_backslash,  XK_bar,
++/*     44    51 */       XK_Z,  NoSymbol,
++/*     45    52 */       XK_X,  NoSymbol,
++/*     46    53 */       XK_C,  NoSymbol,
++/*     47    54 */       XK_V,  NoSymbol,
++/*     48    55 */       XK_B,  NoSymbol,
++/*     49    56 */       XK_N,  NoSymbol,
++/*     50    57 */       XK_M,  NoSymbol,
++/*     51    58 */       XK_comma,      XK_less,
++/*     52    59 */       XK_period,     XK_greater,
++/*     53    60 */       XK_slash,      XK_question,
++/*     54    61 */       XK_Shift_R,    NoSymbol,
++/*     55    62 */       XK_KP_Multiply,        NoSymbol,
++/*     56    63 */       XK_Alt_L,      XK_Meta_L,
++/*     57    64 */       XK_space,      NoSymbol,
++/*     58    65 */       XK_Caps_Lock,  NoSymbol,
++/*     59    66 */       XK_F1, NoSymbol,
++/*     60    67 */       XK_F2, NoSymbol,
++/*     61    68 */       XK_F3, NoSymbol,
++/*     62    69 */       XK_F4, NoSymbol,
++/*     63    70 */       XK_F5, NoSymbol,
++/*     64    71 */       XK_F6, NoSymbol,
++/*     65    72 */       XK_F7, NoSymbol,
++/*     66    73 */       XK_F8, NoSymbol,
++/*     67    74 */       XK_F9, NoSymbol,
++/*     68    75 */       XK_F10,        NoSymbol,
++/*     69    76 */       XK_Break,      XK_Pause,
++/*     70    77 */       XK_Scroll_Lock,        NoSymbol,
++/*     71    78 */       XK_KP_Home,    XK_KP_7,
++/*     72    79 */       XK_KP_Up,      XK_KP_8,
++/*     73    80 */       XK_KP_Page_Up, XK_KP_9,
++/*     74    81 */       XK_KP_Subtract,        NoSymbol,
++/*     75    82 */       XK_KP_Left,    XK_KP_4,
++/*     76    83 */       XK_KP_5,       NoSymbol,
++/*     77    84 */       XK_KP_Right,   XK_KP_6,
++/*     78    85 */       XK_KP_Add,     NoSymbol,
++/*     79    86 */       XK_KP_End,     XK_KP_1,
++/*     80    87 */       XK_KP_Down,    XK_KP_2,
++/*     81    88 */       XK_KP_Page_Down,       XK_KP_3,
++/*     82    89 */       XK_KP_Insert,  XK_KP_0,
++/*     83    90 */       XK_KP_Delete,  XK_KP_Decimal,
++/*     84    91 */     NoSymbol,        NoSymbol,
++/*     85    92 */     NoSymbol,        NoSymbol,
++/*     86    93 */     NoSymbol,        NoSymbol,
++/*     87    94 */       XK_F11,        NoSymbol,
++/*     88    95 */       XK_F12,        NoSymbol,
++
++/* These are remapped from the extended set (using ExtendMap) */
++
++/*     89    96 */       XK_Control_R,  NoSymbol,
++/*     90    97 */       XK_KP_Enter,   NoSymbol,
++/*     91    98 */       XK_KP_Divide,  NoSymbol,
++/*     92    99 */       XK_Sys_Req,    XK_Print,
++/*     93   100 */       XK_Alt_R,      XK_Meta_R,
++/*     94   101 */       XK_Num_Lock,   NoSymbol,
++/*     95   102 */       XK_Home,       NoSymbol,
++/*     96   103 */       XK_Up,         NoSymbol,
++/*     97   104 */       XK_Page_Up,    NoSymbol,
++/*     98   105 */       XK_Left,       NoSymbol,
++/*     99   106 */       XK_Right,      NoSymbol,
++/*    100   107 */       XK_End,        NoSymbol,
++/*    101   108 */       XK_Down,       NoSymbol,
++/*    102   109 */       XK_Page_Down,  NoSymbol,
++/*    103   110 */       XK_Insert,     NoSymbol,
++/*    104   111 */       XK_Delete,     NoSymbol,
++/*    105   112 */       XK_Super_L,    NoSymbol,
++/*    106   113 */       XK_Super_R,    NoSymbol,
++/*    107   114 */       XK_Menu,       NoSymbol,
++/*    108   115 */       NoSymbol,      NoSymbol,
++/*    109   116 */       NoSymbol,      NoSymbol,
++/*    110   117 */       NoSymbol,      NoSymbol,
++/*    111   118 */       NoSymbol,      NoSymbol,
++/*    112   119 */       NoSymbol,      NoSymbol,
++
++/*    113   120 */      NoSymbol,     NoSymbol,
++/*    114   121 */      NoSymbol,     NoSymbol,
++/*    115   122 */      NoSymbol,     NoSymbol,
++/*    116   123 */      NoSymbol,     NoSymbol,
++/*    117   124 */      NoSymbol,     NoSymbol,
++/*    118   125 */      NoSymbol,     NoSymbol,
++/*    119   126 */      NoSymbol,     NoSymbol,
++/*    120   127 */      NoSymbol,     NoSymbol,
++/*    121   128 */      NoSymbol,     NoSymbol,
++/*    122   129 */      NoSymbol,     NoSymbol,
++/*    123   130 */      NoSymbol,     NoSymbol,
++/*    124   131 */      NoSymbol,     NoSymbol,
++/*    125   132 */      NoSymbol,     NoSymbol,
++/*    126   133 */      NoSymbol,     NoSymbol,
++/*    127   134 */      NoSymbol,     NoSymbol,
++/*    128   135 */      NoSymbol,     NoSymbol,
++/*    129   136 */      NoSymbol,     NoSymbol,
++/*    130   137 */      NoSymbol,     NoSymbol,
++/*    131   138 */      NoSymbol,     NoSymbol,
++/*    132   139 */      NoSymbol,     NoSymbol,
++/*    133   140 */      NoSymbol,     NoSymbol,
++/*    134   141 */      NoSymbol,     NoSymbol,
++/*    135   142 */      NoSymbol,     NoSymbol,
++/*    136   143 */      NoSymbol,     NoSymbol,
++/*    137   144 */      NoSymbol,     NoSymbol,
++/*    138   145 */      NoSymbol,     NoSymbol,
++/*    139   146 */      NoSymbol,     NoSymbol,
++/*    140   147 */      NoSymbol,     NoSymbol,
++/*    141   148 */      NoSymbol,     NoSymbol,
++/*    142   149 */      NoSymbol,     NoSymbol,
++/*    143   150 */      NoSymbol,     NoSymbol,
++/*    144   151 */      NoSymbol,     NoSymbol,
++/*    145   152 */      NoSymbol,     NoSymbol,
++/*    146   153 */      NoSymbol,     NoSymbol,
++/*    147   154 */      NoSymbol,     NoSymbol,
++/*    148   155 */      NoSymbol,     NoSymbol,
++/*    149   156 */      NoSymbol,     NoSymbol,
++/*    150   157 */      NoSymbol,     NoSymbol,
++/*    151   158 */      NoSymbol,     NoSymbol,
++/*    152   159 */      NoSymbol,     NoSymbol,
++/*    153   160 */      NoSymbol,     NoSymbol,
++/*    154   161 */      NoSymbol,     NoSymbol,
++/*    155   162 */      NoSymbol,     NoSymbol,
++/*    156   163 */      NoSymbol,     NoSymbol,
++/*    157   164 */      NoSymbol,     NoSymbol,
++/*    158   165 */      NoSymbol,     NoSymbol,
++/*    159   166 */      NoSymbol,     NoSymbol,
++/*    160   167 */      NoSymbol,     NoSymbol,
++/*    161   168 */      NoSymbol,     NoSymbol,
++/*    162   169 */      NoSymbol,     NoSymbol,
++/*    163   170 */      NoSymbol,     NoSymbol,
++/*    164   171 */      NoSymbol,     NoSymbol,
++/*    165   172 */      NoSymbol,     NoSymbol,
++/*    166   173 */      NoSymbol,     NoSymbol,
++/*    167   174 */      NoSymbol,     NoSymbol,
++/*    168   175 */      NoSymbol,     NoSymbol,
++/*    169   176 */      NoSymbol,     NoSymbol,
++/*    170   177 */      NoSymbol,     NoSymbol,
++/*    171   178 */      NoSymbol,     NoSymbol,
++/*    172   179 */      NoSymbol,     NoSymbol,
++/*    173   180 */      NoSymbol,     NoSymbol,
++/*    174   181 */      NoSymbol,     NoSymbol,
++/*    175   182 */      NoSymbol,     NoSymbol,
++/*    176   183 */      NoSymbol,     NoSymbol,
++/*    177   184 */      NoSymbol,     NoSymbol,
++/*    178   185 */      NoSymbol,     NoSymbol,
++/*    179   186 */      NoSymbol,     NoSymbol,
++/*    180   187 */      NoSymbol,     NoSymbol,
++/*    181   188 */      NoSymbol,     NoSymbol,
++/*    182   189 */      NoSymbol,     NoSymbol,
++/*    183   190 */      NoSymbol,     NoSymbol,
++/*    184   191 */      NoSymbol,     NoSymbol,
++/*    185   192 */      NoSymbol,     NoSymbol,
++/*    186   193 */      NoSymbol,     NoSymbol,
++/*    187   194 */      NoSymbol,     NoSymbol,
++/*    188   195 */      NoSymbol,     NoSymbol,
++/*    189   196 */      NoSymbol,     NoSymbol,
++/*    190   197 */      NoSymbol,     NoSymbol,
++/*    191   198 */      NoSymbol,     NoSymbol,
++/*    192   199 */      NoSymbol,     NoSymbol,
++/*    193   200 */      NoSymbol,     NoSymbol,
++/*    194   201 */      NoSymbol,     NoSymbol,
++};
++
++static void
++EvdevKbdRead (int fd, void *closure)
++{
++    int i, n;
++    struct input_event events[NUM_EVENTS];
++
++    n = read (fd, &events, NUM_EVENTS * sizeof (struct input_event));
++    if (n <= 0)
++      return;
++
++    n /= sizeof (struct input_event);
++
++    for (i = 0; i < n; i++)
++    {
++        if (events[i].type == EV_KEY)
++                  KdEnqueueKeyboardEvent (events[i].code, !events[i].value);
++    }
++}
++
++static void
++EvdevKbdLoad (void)
++{
++    kdMinScanCode = 0;
++    kdMaxScanCode = 193;
++    kdKeymapWidth = 2;
++    memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap));
++}
++
++static int
++EvdevKbdInit (void)
++{
++    int fd, i;
++
++    if (!EvdevInputType)
++        EvdevInputType = KdAllocInputType ();
++
++    if (!kdKeyboard)
++    {
++        for (i = 0; i < NUM_DEFAULT_EVDEV; i++)
++        {
++            fd = open (kdefaultEvdev[i], 2);
++            if (fd >= 0)
++            {
++                kdKeyboard = KdSaveString (kdefaultEvdev[i]);
++                break;
++            }
++      }
++    }
++    else
++    {
++        fd = open (kdKeyboard, O_RDWR);
++        if (fd < 0)
++            return FALSE;
++    }
++
++    if (ioctl (fd, EVIOCGRAB, 1) < 0)
++    {
++        close (fd);
++      return FALSE;
++    }
++
++    if (!KdRegisterFd (EvdevInputType, fd, EvdevKbdRead, NULL))
++        return FALSE;
++
++    kbd_fd = fd;
++    return TRUE;
++}
++
++static void
++EvdevKbdFini (void)
++{
++}
++
++static void
++EvdevKbdLeds (int leds)
++{
++    struct input_event event;
++
++    memset(&event, 0, sizeof(event));
++
++    event.type = EV_LED;
++    event.code = LED_CAPSL;
++    event.value = leds & (1 << 0) ? 1 : 0;
++    write(kbd_fd, (char *) &event, sizeof(event));
++
++    event.type = EV_LED;
++    event.code = LED_NUML;
++    event.value = leds & (1 << 1) ? 1 : 0;
++    write(kbd_fd, (char *) &event, sizeof(event));
++
++    event.type = EV_LED;
++    event.code = LED_SCROLLL;
++    event.value = leds & (1 << 2) ? 1 : 0;
++    write(kbd_fd, (char *) &event, sizeof(event));
++
++    event.type = EV_LED;
++    event.code = LED_COMPOSE;
++    event.value = leds & (1 << 3) ? 1 : 0;
++    write(kbd_fd, (char *) &event, sizeof(event));
++}
++
++static void
++EvdevKbdBell (int volume, int frequency, int duration)
++{
++}
++
+ KdKeyboardFuncs LinuxEvdevKeyboardFuncs = {
+     EvdevKbdLoad,
+     EvdevKbdInit,
+@@ -296,4 +659,4 @@
+     EvdevKbdFini,
+     0,
+ };
+-#endif
++
+diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.c xserver/hw/kdrive/src/kdrive.c
+--- xserver.original/hw/kdrive/src/kdrive.c    2005-12-16 10:36:07.000000000 -0200
++++ xserver/hw/kdrive/src/kdrive.c     2005-12-16 10:37:09.000000000 -0200
+@@ -73,6 +73,7 @@
+ Bool              kdEnabled;
+ int               kdSubpixelOrder;
+ int               kdVirtualTerminal = -1;
++char              *kdKeyboard = 0;
+ Bool              kdSwitchPending;
+ char              *kdSwitchCmd;
+ DDXPointRec       kdOrigin;
+@@ -795,6 +796,14 @@
+           UseMsg ();
+       return 2;
+     }
++    if (!strcmp (argv[i], "-keyboard"))
++    {
++      if ((i+1) < argc)
++          kdKeyboard = argv[i+1];
++      else
++          UseMsg ();
++      return 2;
++    }
+     if (!strcmp (argv[i], "-rgba"))
+     {
+       if ((i+1) < argc)
+diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.h xserver/hw/kdrive/src/kdrive.h
+--- xserver.original/hw/kdrive/src/kdrive.h    2005-12-16 10:36:07.000000000 -0200
++++ xserver/hw/kdrive/src/kdrive.h     2005-12-16 10:37:09.000000000 -0200
+@@ -416,6 +416,7 @@
+ extern Bool           kdDisableZaphod;
+ extern Bool           kdDontZap;
+ extern int            kdVirtualTerminal;
++extern char           *kdKeyboard;
+ extern char           *kdSwitchCmd;
+ extern KdOsFuncs      *kdOsFuncs;
+@@ -769,7 +770,7 @@
+ ProcessInputEvents (void);
+ extern KdMouseFuncs   LinuxMouseFuncs;
+-extern KdMouseFuncs   LinuxEvdevFuncs;
++extern KdMouseFuncs   LinuxEvdevMouseFuncs;
+ extern KdMouseFuncs   Ps2MouseFuncs;
+ extern KdMouseFuncs   BusMouseFuncs;
+ extern KdMouseFuncs   MsMouseFuncs;
+@@ -777,6 +778,7 @@
+ extern KdMouseFuncs   TsFuncs;
+ #endif
+ extern KdKeyboardFuncs        LinuxKeyboardFuncs;
++extern KdKeyboardFuncs        LinuxEvdevKeyboardFuncs;
+ extern KdOsFuncs      LinuxFuncs;
+ extern KdMouseFuncs   VxWorksMouseFuncs;
+diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kinput.c xserver/hw/kdrive/src/kinput.c
+--- xserver.original/hw/kdrive/src/kinput.c    2005-12-16 10:36:07.000000000 -0200
++++ xserver/hw/kdrive/src/kinput.c     2005-12-16 10:37:09.000000000 -0200
+@@ -1300,6 +1300,7 @@
+           xE.u.u.type = KeyPress;
+       xE.u.u.detail = key_code;
+       
++#ifndef XKB
+       switch (KEYCOL1(key_code)) 
+       {
+       case XK_Num_Lock:
+@@ -1313,6 +1314,7 @@
+           else
+               xE.u.u.type = KeyPress;
+       }
++#endif
+       
+       /*
+        * Check pressed keys which are already down
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/kdrive-use-evdev.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/kdrive-use-evdev.patch
new file mode 100644 (file)
index 0000000..28d7325
--- /dev/null
@@ -0,0 +1,54 @@
+--- xserver/hw/kdrive/fbdev/fbinit.c~  2006-01-31 17:09:33.000000000 +0100
++++ xserver/hw/kdrive/fbdev/fbinit.c   2006-01-31 17:11:55.000000000 +0100
+@@ -28,6 +28,8 @@
+ #endif
+ #include <fbdev.h>
++extern int use_evdev;
++
+ void
+ InitCard (char *name)
+ {
+@@ -45,7 +47,10 @@
+ void
+ InitInput (int argc, char **argv)
+ {
+-    KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs);
++    if (use_evdev)
++        KdInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs);
++    else
++        KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs);
+ #ifdef TOUCHSCREEN
+     KdAddMouseDriver (&TsFuncs);
+ #endif
+--- xserver/hw/kdrive/src/kdrive.c.orig        2006-01-31 17:13:28.000000000 +0100
++++ xserver/hw/kdrive/src/kdrive.c     2006-01-31 17:15:28.000000000 +0100
+@@ -44,6 +44,8 @@
+ #include "dpmsproc.h"
+ #endif
++int use_evdev = 0;
++
+ typedef struct _kdDepths {
+     CARD8   depth;
+     CARD8   bpp;
+@@ -687,6 +689,7 @@
+     ErrorF("-videoTest       Start the server, pause momentarily and exit\n");
+     ErrorF("-origin X,Y      Locates the next screen in the the virtual screen (Xinerama)\n");
+     ErrorF("-mouse path[,n]  Filename of mouse device, n is number of buttons\n");
++    ErrorF("-use-evdev       Use Linux evdev input\n");
+     ErrorF("-switchCmd       Command to execute on vt switch\n");
+     ErrorF("-nozap           Don't terminate server on Ctrl+Alt+Backspace\n");
+     ErrorF("vtxx             Use virtual terminal xx instead of the next available\n");
+@@ -796,6 +799,11 @@
+           UseMsg ();
+       return 2;
+     }
++    if (!strcmp (argv[i], "-use-evdev"))
++    {
++      use_evdev = 1;
++      return 1;
++    }
+     if (!strcmp (argv[i], "-keyboard"))
+     {
+       if ((i+1) < argc)
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/kmode-palm.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/kmode-palm.patch
new file mode 100644 (file)
index 0000000..255e707
--- /dev/null
@@ -0,0 +1,34 @@
+--- kmode.c    2006-05-03 19:48:42.000000000 +0200
++++ xserver/hw/kdrive/src/kmode.c      2006-05-03 19:50:43.000000000 +0200
+@@ -32,6 +32,31 @@
+     /*        H       V       Hz      KHz */
+               /*  FP      BP      BLANK   POLARITY */
++      /* Treo 650 */
++
++    {   320,  320,    64,     16256,
++                  17,     12,     32,     KdSyncNegative,
++                  1,      11,     14,     KdSyncNegative,
++    },
++    
++    {   320,  320,    64,         0,
++                  0,      0,      0,     KdSyncNegative,
++                  0,      0,      0,     KdSyncNegative,
++    },
++      
++      /* LifeDrive/T3/TX modes */
++
++    {   320,  480,    64,     16256,
++                  17,     12,     32,     KdSyncNegative,
++                  1,      11,     14,     KdSyncNegative,
++    },
++    
++    {   480,  320,    64,         0,
++                  0,      0,      0,     KdSyncNegative,
++                  0,      0,      0,     KdSyncNegative,
++    },
++
++
+     /* IPAQ modeline:
+      *
+      * Modeline "320x240"      5.7222 320 337 340 352   240 241 244 254"
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/kmode.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/kmode.patch
new file mode 100644 (file)
index 0000000..5ad3e4e
--- /dev/null
@@ -0,0 +1,28 @@
+--- /tmp/kmode.c       2005-06-27 14:46:19.716843288 +0200
++++ xserver/hw/kdrive/src/kmode.c      2005-06-27 14:46:30.070269328 +0200
+@@ -41,6 +41,11 @@
+                   1,      11,     14,     KdSyncNegative,
+     },
+     
++    {   240,  320,    64,         0,
++                  0,      0,      0,     KdSyncNegative,
++                  0,      0,      0,     KdSyncNegative,
++    },
++
+     /* Other VESA modes */
+     { 640,    350,    85,     31500,                      /* VESA */
+                   32,     96,     192,    KdSyncPositive, /* 26.413 */
+@@ -80,6 +85,13 @@
+                  16,      48,     160,    KdSyncNegative, /* 31.469 */
+                  10,      33,     45,     KdSyncNegative, /* 59.940 */
+     },
++
++
++  {   480,    640,    60,     0,                      /* VESA */
++               0,      0,     0,    KdSyncNegative, /* 31.469 */
++               0,      0,     0,     KdSyncNegative, /* 59.940 */
++   },
++  
+     
+     /* 800x600 modes */
+     { 800,    600,    85,     56250,                      /* VESA */
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/no-serial-probing.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/no-serial-probing.patch
new file mode 100644 (file)
index 0000000..35ccada
--- /dev/null
@@ -0,0 +1,13 @@
+--- xserver/hw/kdrive/linux/mouse.c.orig       2004-05-13 14:25:51.000000000 -0700
++++ xserver/hw/kdrive/linux/mouse.c    2005-09-22 12:20:47.000000000 -0700
+@@ -927,8 +927,10 @@ char *kdefaultMouse[] =  {
+     "/dev/psaux",
+     "/dev/input/mice",
+     "/dev/adbmouse",
++#ifdef BREAK_MY_SERIAL_CONSOLE
+     "/dev/ttyS0",
+     "/dev/ttyS1",
++#endif
+ };
+ #define NUM_DEFAULT_MOUSE    (sizeof (kdefaultMouse) / sizeof (kdefaultMouse[0]))
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/optional-xkb.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/optional-xkb.patch
new file mode 100644 (file)
index 0000000..d9ef51c
--- /dev/null
@@ -0,0 +1,54 @@
+--- git/Makefile.am.orig       2006-06-09 16:01:51.000000000 +0200
++++ git/Makefile.am    2006-06-09 16:02:59.000000000 +0200
+@@ -35,6 +35,10 @@
+ XINPUT_DIR=Xi
+ endif
++if XKB
++XKB_DIR=xkb
++endif
++
+ if DBE
+ DBE_DIR=dbe
+ endif
+@@ -51,7 +55,7 @@
+       randr \
+       render  \
+       $(XINPUT_DIR) \
+-      xkb \
++      $(XKB_DIR) \
+       $(DBE_DIR) \
+       $(MFB_DIR) \
+       $(AFB_DIR) \
+--- git/configure.ac.orig      2006-05-22 22:40:00.000000000 +0200
++++ git/configure.ac   2006-06-10 15:10:14.000000000 +0200
+@@ -418,6 +418,7 @@
+ AC_ARG_ENABLE(xf86bigfont,    AS_HELP_STRING([--disable-xf86bigfont], [Build XF86 Big Font extension (default: enabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=yes])
+ AC_ARG_ENABLE(dpms,           AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMS=$enableval], [DPMSExtension=yes])
+ AC_ARG_ENABLE(xinput,         AS_HELP_STRING([--disable-xinput], [Build XInput Extension (default: enabled)]), [XINPUT=$enableval], [XINPUT=yes])
++AC_ARG_ENABLE(xkb,            AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes])
+ dnl DDXes.
+ AC_ARG_ENABLE(xorg,                 AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
+@@ -739,12 +740,15 @@
+ AC_DEFINE(SHAPE, 1, [Support SHAPE extension])
+-AC_DEFINE(XKB, 1, [Build XKB])
+-AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server])
+-AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default])
+-REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
+-XKB_LIB='$(top_builddir)/xkb/libxkb.la'
+-XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
++AM_CONDITIONAL(XKB, [test "x$XKB" = xyes])
++if test "x$XKB" = xyes; then
++      AC_DEFINE(XKB, 1, [Build XKB])
++      AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server])
++      AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default])
++      REQUIRED_MODULES="$REQUIRED_MODULES xkbfile"
++      XKB_LIB='$(top_builddir)/xkb/libxkb.la'
++      XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la'
++fi
+ AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1,
+                                         [Do not have `strcasecmp'.]))
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/w100.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/w100.patch
new file mode 100644 (file)
index 0000000..9a20fa1
--- /dev/null
@@ -0,0 +1,6388 @@
+Index: git/hw/kdrive/w100/ati.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/ati.c   2006-09-02 12:12:14.000000000 +0200
+@@ -0,0 +1,434 @@
++/*
++ * Copyright Â© 2006 Alberto Mardegan <mardy@users.sourceforge.net>
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Alberto Mardegan not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Alberto Mardegan makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL ALBERTO MARDEGAN 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.
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <kdrive-config.h>
++#endif
++#include "ati.h"
++#include "w100_regs.h"
++
++
++struct pci_id_entry ati_pci_ids[] = {
++    {0x1002, 0x5644, 0, "ATI Imageon 3200"},
++    {0x1002, 0x5741, 0, "ATI Imageon 100"},
++    {0x1002, 0x5744, 0, "ATI Imageon 3220"},
++    {0, 0, 0, NULL}
++};
++
++
++static Bool
++ATICardInit(KdCardInfo * card)
++{
++    ATICardInfo *atic;
++    int i;
++    Bool initialized = FALSE;
++
++    atic = xcalloc(sizeof(ATICardInfo), 1);
++    if (atic == NULL)
++        return FALSE;
++
++#ifdef KDRIVEFBDEV
++    if (!initialized && fbdevInitialize(card, &atic->backend_priv.fbdev)) {
++        atic->use_fbdev = TRUE;
++        initialized = TRUE;
++        atic->backend_funcs.cardfini = fbdevCardFini;
++        atic->backend_funcs.scrfini = fbdevScreenFini;
++        atic->backend_funcs.initScreen = fbdevInitScreen;
++        atic->backend_funcs.finishInitScreen = fbdevFinishInitScreen;
++        atic->backend_funcs.createRes = fbdevCreateResources;
++        atic->backend_funcs.preserve = fbdevPreserve;
++        atic->backend_funcs.restore = fbdevRestore;
++        atic->backend_funcs.dpms = fbdevDPMS;
++        atic->backend_funcs.enable = fbdevEnable;
++        atic->backend_funcs.disable = fbdevDisable;
++        atic->backend_funcs.getColors = fbdevGetColors;
++        atic->backend_funcs.putColors = fbdevPutColors;
++#ifdef RANDR
++        atic->backend_funcs.randrSetConfig = fbdevRandRSetConfig;
++#endif
++    }
++#endif
++#ifdef KDRIVEVESA
++    if (!initialized && vesaInitialize(card, &atic->backend_priv.vesa)) {
++        atic->use_vesa = TRUE;
++        initialized = TRUE;
++        atic->backend_funcs.cardfini = vesaCardFini;
++        atic->backend_funcs.scrfini = vesaScreenFini;
++        atic->backend_funcs.initScreen = vesaInitScreen;
++        atic->backend_funcs.finishInitScreen = vesaFinishInitScreen;
++        atic->backend_funcs.createRes = vesaCreateResources;
++        atic->backend_funcs.preserve = vesaPreserve;
++        atic->backend_funcs.restore = vesaRestore;
++        atic->backend_funcs.dpms = vesaDPMS;
++        atic->backend_funcs.enable = vesaEnable;
++        atic->backend_funcs.disable = vesaDisable;
++        atic->backend_funcs.getColors = vesaGetColors;
++        atic->backend_funcs.putColors = vesaPutColors;
++#ifdef RANDR
++        atic->backend_funcs.randrSetConfig = vesaRandRSetConfig;
++#endif
++    }
++#endif
++
++    if (!initialized || !ATIMap(card, atic)) {
++        xfree(atic);
++        return FALSE;
++    }
++
++    card->driver = atic;
++
++    for (i = 0; ati_pci_ids[i].name != NULL; i++) {
++        if (ati_pci_ids[i].device == card->attr.deviceID) {
++            atic->pci_id = &ati_pci_ids[i];
++            break;
++        }
++    }
++
++    ErrorF("Using ATI card: %s\n", atic->pci_id->name);
++
++    return TRUE;
++}
++
++static void
++ATICardFini(KdCardInfo * card)
++{
++    ATICardInfo *atic = (ATICardInfo *) card->driver;
++
++    ATIUnmap(card, atic);
++    atic->backend_funcs.cardfini(card);
++}
++
++/*
++ * Once screen->off_screen_base is set, this function
++ * allocates the remaining memory appropriately
++ */
++
++static void
++ATISetOffscreen(KdScreenInfo * screen)
++{
++    ATICardInfo(screen);
++    int screen_size;
++    char *mmio = atic->reg_base;
++
++    /* check (and adjust) pitch */
++    if (mmio) {
++        int byteStride = screen->fb[0].byteStride;
++        int bitStride;
++        int pixelStride;
++        int bpp = screen->fb[0].bitsPerPixel;
++
++        /*
++         * Ensure frame buffer is correctly aligned
++         */
++        if (byteStride & 0x3f) {
++            byteStride = (byteStride + 0x3f) & ~0x3f;
++            bitStride = byteStride * 8;
++            pixelStride = bitStride / bpp;
++
++            screen->fb[0].byteStride = byteStride;
++            screen->fb[0].pixelStride = pixelStride;
++        }
++    }
++
++    screen_size = screen->fb[0].byteStride * screen->height;
++
++    screen->off_screen_base = screen_size;
++
++}
++
++static Bool
++ATIScreenInit(KdScreenInfo * screen)
++{
++    ATIScreenInfo *atis;
++    ATICardInfo(screen);
++    Bool success = FALSE;
++
++    atis = xcalloc(sizeof(ATIScreenInfo), 1);
++    if (atis == NULL)
++        return FALSE;
++
++    atis->atic = atic;
++    atis->screen = screen;
++    screen->driver = atis;
++
++    if (screen->fb[0].depth == 0)
++        screen->fb[0].depth = 16;
++#ifdef KDRIVEFBDEV
++    if (atic->use_fbdev) {
++        success = fbdevScreenInitialize(screen, &atis->backend_priv.fbdev);
++    }
++#endif
++#ifdef KDRIVEVESA
++    if (atic->use_vesa) {
++        success = vesaScreenInitialize(screen, &atis->backend_priv.vesa);
++    }
++#endif
++
++    if (!success) {
++        screen->driver = NULL;
++        xfree(atis);
++        return FALSE;
++    }
++
++    ErrorF
++        ("Offscreen memory at offset %08x, memory base %08x, size %08x\n",
++         screen->off_screen_base, screen->memory_base,
++         screen->memory_size);
++    ATISetOffscreen(screen);
++
++    return TRUE;
++}
++
++#ifdef RANDR
++static Bool
++ATIRandRSetConfig(ScreenPtr pScreen,
++                  Rotation randr, int rate, RRScreenSizePtr pSize)
++{
++    KdScreenPriv(pScreen);
++    KdScreenInfo *screen = pScreenPriv->screen;
++    ATICardInfo *atic = screen->card->driver;
++    Bool ret;
++
++    ATIDrawDisable(pScreen);
++    ret = atic->backend_funcs.randrSetConfig(pScreen, randr, rate, pSize);
++    ATISetOffscreen(screen);
++    /*
++     * Set frame buffer mapping
++     */
++    (*pScreen->ModifyPixmapHeader) (fbGetScreenPixmap(pScreen),
++                                    pScreen->width,
++                                    pScreen->height,
++                                    screen->fb[0].depth,
++                                    screen->fb[0].bitsPerPixel,
++                                    screen->fb[0].byteStride,
++                                    screen->fb[0].frameBuffer);
++
++    ATIDrawEnable(pScreen);
++    return ret;
++}
++
++static Bool
++ATIRandRInit(ScreenPtr pScreen)
++{
++    rrScrPrivPtr pScrPriv;
++
++    pScrPriv = rrGetScrPriv(pScreen);
++    pScrPriv->rrSetConfig = ATIRandRSetConfig;
++    return TRUE;
++}
++#endif
++
++static void
++ATIScreenFini(KdScreenInfo * screen)
++{
++    ATIScreenInfo *atis = (ATIScreenInfo *) screen->driver;
++    ATICardInfo *atic = screen->card->driver;
++
++    atic->backend_funcs.scrfini(screen);
++    xfree(atis);
++    screen->driver = 0;
++}
++
++Bool
++ATIMap(KdCardInfo * card, ATICardInfo * atic)
++{
++    atic->mem_base = (CARD8 *) KdMapDevice(ATI_MEM_BASE(card),
++                                           ATI_MEM_SIZE(card));
++
++    if (atic->mem_base == NULL)
++        return FALSE;
++    atic->reg_base = atic->mem_base + 0x10000;  /* XXX */
++
++    KdSetMappedMode(ATI_MEM_BASE(card), ATI_MEM_SIZE(card),
++                    KD_MAPPED_MODE_REGISTERS);
++
++    return TRUE;
++}
++
++void
++ATIUnmap(KdCardInfo * card, ATICardInfo * atic)
++{
++    if (atic->reg_base) {
++        KdResetMappedMode(ATI_REG_BASE(card), ATI_REG_SIZE(card),
++                          KD_MAPPED_MODE_REGISTERS);
++        KdUnmapDevice((void *) atic->reg_base, ATI_REG_SIZE(card));
++        atic->reg_base = 0;
++    }
++}
++
++static Bool
++ATIInitScreen(ScreenPtr pScreen)
++{
++    KdScreenPriv(pScreen);
++    ATICardInfo(pScreenPriv);
++
++    return atic->backend_funcs.initScreen(pScreen);
++}
++
++static Bool
++ATIFinishInitScreen(ScreenPtr pScreen)
++{
++    KdScreenPriv(pScreen);
++    ATICardInfo(pScreenPriv);
++
++    if (!atic->backend_funcs.finishInitScreen(pScreen))
++        return FALSE;
++#ifdef RANDR
++    if (!ATIRandRInit(pScreen))
++        return FALSE;
++#endif
++    return TRUE;
++}
++
++static Bool
++ATICreateResources(ScreenPtr pScreen)
++{
++    KdScreenPriv(pScreen);
++    ATICardInfo(pScreenPriv);
++
++    return atic->backend_funcs.createRes(pScreen);
++}
++
++static void
++ATIPreserve(KdCardInfo * card)
++{
++    ATICardInfo *atic = card->driver;
++
++    atic->backend_funcs.preserve(card);
++}
++
++static void
++ATIRestore(KdCardInfo * card)
++{
++    ATICardInfo *atic = card->driver;
++
++    ATIUnmap(card, atic);
++
++    atic->backend_funcs.restore(card);
++}
++
++static Bool
++ATIDPMS(ScreenPtr pScreen, int mode)
++{
++    KdScreenPriv(pScreen);
++    ATICardInfo(pScreenPriv);
++
++    return atic->backend_funcs.dpms(pScreen, mode);
++}
++
++static Bool
++ATIEnable(ScreenPtr pScreen)
++{
++    KdScreenPriv(pScreen);
++    ATICardInfo(pScreenPriv);
++    mc_ext_mem_location_u eml;
++    char *mmio;
++
++    if (!atic->backend_funcs.enable(pScreen))
++        return FALSE;
++
++    if ((atic->reg_base == NULL)
++        && !ATIMap(pScreenPriv->screen->card, atic))
++        return FALSE;
++
++    mmio = atic->reg_base;
++    eml.val = MMIO_IN32(mmio, mmMC_EXT_MEM_LOCATION);
++    atic->ext_mem_location = eml.f.mc_ext_mem_start << 8;
++    ATISetOffscreen(pScreenPriv->screen);
++
++    return TRUE;
++}
++
++static void
++ATIDisable(ScreenPtr pScreen)
++{
++    KdScreenPriv(pScreen);
++    ATICardInfo(pScreenPriv);
++
++    ATIUnmap(pScreenPriv->card, atic);
++
++    atic->backend_funcs.disable(pScreen);
++}
++
++static void
++ATIGetColors(ScreenPtr pScreen, int fb, int n, xColorItem * pdefs)
++{
++    KdScreenPriv(pScreen);
++    ATICardInfo(pScreenPriv);
++
++    atic->backend_funcs.getColors(pScreen, fb, n, pdefs);
++}
++
++static void
++ATIPutColors(ScreenPtr pScreen, int fb, int n, xColorItem * pdefs)
++{
++    KdScreenPriv(pScreen);
++    ATICardInfo(pScreenPriv);
++
++    atic->backend_funcs.putColors(pScreen, fb, n, pdefs);
++}
++
++/* Compute log base 2 of val. */
++int
++ATILog2(int val)
++{
++    int bits;
++
++    for (bits = 0; val != 0; val >>= 1, ++bits);
++    return bits - 1;
++}
++
++
++
++KdCardFuncs ATIFuncs = {
++    ATICardInit,                /* cardinit */
++    ATIScreenInit,              /* scrinit */
++    ATIInitScreen,              /* initScreen */
++    ATIFinishInitScreen,        /* finishInitScreen */
++    ATICreateResources,         /* createRes */
++    ATIPreserve,                /* preserve */
++    ATIEnable,                  /* enable */
++    ATIDPMS,                    /* dpms */
++    ATIDisable,                 /* disable */
++    ATIRestore,                 /* restore */
++    ATIScreenFini,              /* scrfini */
++    ATICardFini,                /* cardfini */
++
++#define ATICursorInit 0
++#define ATICursorEnable 0
++#define ATICursorDisable 0
++#define ATICursorFini 0
++#define ATIRecolorCursor 0
++    ATICursorInit,              /* initCursor */
++    ATICursorEnable,            /* enableCursor */
++    ATICursorDisable,           /* disableCursor */
++    ATICursorFini,              /* finiCursor */
++    ATIRecolorCursor,           /* recolorCursor */
++
++    ATIDrawInit,                /* initAccel */
++    ATIDrawEnable,              /* enableAccel */
++    ATIDrawDisable,             /* disableAccel */
++    ATIDrawFini,                /* finiAccel */
++
++    ATIGetColors,               /* getColors */
++    ATIPutColors,               /* putColors */
++};
+Index: git/hw/kdrive/w100/ati_cursor.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/ati_cursor.c    2006-09-02 12:12:14.000000000 +0200
+@@ -0,0 +1,93 @@
++/*
++ * Copyright Â© 2006 Alberto Mardegan <mardy@users.sourceforge.net>
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Alberto Mardegan not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Alberto Mardegan makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL ALBERTO MARDEGAN 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.
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <kdrive-config.h>
++#endif
++#include "ati.h"
++#include "cursorstr.h"
++#include "ati_draw.h"
++
++static void
++ATIMoveCursor(ScreenPtr pScreen, int x, int y)
++{
++}
++
++
++static Bool
++ATIRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor)
++{
++    return FALSE;
++}
++
++
++static Bool
++ATIUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor)
++{
++    return TRUE;
++}
++
++
++static void
++ATISetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y)
++{
++}
++
++
++miPointerSpriteFuncRec ATIPointerSpriteFuncs = {
++    ATIRealizeCursor,
++    ATIUnrealizeCursor,
++    ATISetCursor,
++    ATIMoveCursor,
++};
++
++
++void
++ATICursorEnable(ScreenPtr pScreen)
++{
++}
++
++
++void
++ATICursorDisable(ScreenPtr pScreen)
++{
++}
++
++
++Bool
++ATICursorInit(ScreenPtr pScreen)
++{
++    return FALSE;
++}
++
++
++void
++ATIRecolorCursor(ScreenPtr pScreen, int ndef, xColorItem * pdef)
++{
++    return;
++}
++
++
++void
++ATICursorFini(ScreenPtr pScreen)
++{
++}
+Index: git/hw/kdrive/w100/ati_dma.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/ati_dma.c       2006-09-02 12:12:14.000000000 +0200
+@@ -0,0 +1,333 @@
++/*
++ * Copyright Â© 2006 Alberto Mardegan <mardy@users.sourceforge.net>
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Alberto Mardegan not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Alberto Mardegan makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL ALBERTO MARDEGAN 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.
++ */
++
++#include <sys/time.h>
++
++#include "ati.h"
++#include "w100_regs.h"
++#include "w100_const.h"
++#include "ati_dma.h"
++#include "ati_draw.h"
++
++
++#define DEBUG_FIFO 0
++
++extern CARD32 w100_microcode[][2];
++
++#if DEBUG_FIFO
++static void
++ATIDebugFifo(ATIScreenInfo * atis)
++{
++    ATICardInfo *atic = atis->atic;
++    char *mmio = atic->reg_base;
++
++    ErrorF("mmCP_CSQ_CNTL: 0x%08x\n", MMIO_IN32(mmio, mmCP_CSQ_CNTL));
++    ErrorF("mmCP_CSQ_STAT: 0x%08x\n", MMIO_IN32(mmio, mmCP_CSQ_STAT));
++    ErrorF("mmRBBM_STATUS: 0x%08x\n", MMIO_IN32(mmio, mmRBBM_STATUS));
++}
++#endif
++
++static void
++ATIUploadMicrocode(ATIScreenInfo * atis)
++{
++    ATICardInfo *atic = atis->atic;
++    char *mmio = atic->reg_base;
++    int i;
++
++    MMIO_OUT32(mmio, mmCP_ME_RAM_ADDR, 0);
++    for (i = 0; i < 256; i++) {
++        MMIO_OUT32(mmio, mmCP_ME_RAM_DATAH, w100_microcode[i][1]);
++        MMIO_OUT32(mmio, mmCP_ME_RAM_DATAL, w100_microcode[i][0]);
++    }
++}
++
++/* Required when reading from video memory after acceleration to make sure all
++ * data has been flushed to video memory from the pixel cache.
++ */
++static void
++ATIFlushPixelCache(ATIScreenInfo * atis)
++{
++    ATICardInfo *atic = atis->atic;
++    char *mmio = atic->reg_base;
++    rbbm_status_u rs;
++    TIMEOUT_LOCALS;
++
++    WHILE_NOT_TIMEOUT(.2) {
++        rs.val = MMIO_IN32(mmio, mmRBBM_STATUS);
++        if (!rs.f.gui_active)
++            break;
++    }
++    if (TIMEDOUT())
++        ErrorF("Timeout flushing pixel cache.\n");
++}
++
++static void
++ATIEngineReset(ATIScreenInfo * atis)
++{
++    ATICardInfo *atic = atis->atic;
++    char *mmio = atic->reg_base;
++    CARD32 sclk_cntl;
++    sclk_cntl_u sc;
++    rbbm_soft_reset_u rsr;
++
++#if DEBUG_FIFO
++    ErrorF("Engine Reset!\n");
++    ATIDebugFifo(atis);
++#endif
++
++    ATIFlushPixelCache(atis);
++
++    sc.val = sclk_cntl = MMIO_IN32(mmio, mmSCLK_CNTL);
++    sc.f.sclk_force_e2 = sc.f.sclk_force_e3 = sc.f.sclk_force_idct = 1;
++    MMIO_OUT32(mmio, mmSCLK_CNTL, sc.val);
++
++    rsr.val = 0;
++    rsr.f.soft_reset_e2 = 1;
++    MMIO_OUT32(mmio, mmRBBM_SOFT_RESET, rsr.val);
++    MMIO_OUT32(mmio, mmRBBM_SOFT_RESET, 0);
++
++    MMIO_OUT32(mmio, mmSCLK_CNTL, sclk_cntl);
++}
++
++inline void
++ATIWaitAvailMMIO(ATIScreenInfo * atis, int n)
++{
++    ATICardInfo *atic = atis->atic;
++    char *mmio = atic->reg_base;
++    rbbm_status_u rs;
++    TIMEOUT_LOCALS;
++
++    if (atis->mmio_avail >= n) {
++        atis->mmio_avail -= n;
++        return;
++    }
++    WHILE_NOT_TIMEOUT(.2) {
++        rs.val = MMIO_IN32(mmio, mmRBBM_STATUS);
++        atis->mmio_avail = rs.f.cmdfifo_avail;
++        if (atis->mmio_avail >= n)
++            break;
++        ErrorF("Available %d slots.\n", atis->mmio_avail);
++    }
++    if (TIMEDOUT()) {
++        ErrorF("Timeout waiting for %d MMIO slots.\n", n);
++        ATIEngineReset(atis);
++        ATIDrawSetup(atis->screen->pScreen);
++    }
++    atis->mmio_avail -= n;
++}
++
++
++void
++ATIWaitIdle(ATIScreenInfo * atis)
++{
++    ATICardInfo *atic = atis->atic;
++    char *mmio = atic->reg_base;
++    rbbm_status_u rs;
++    TIMEOUT_LOCALS;
++
++    /* Empty the fifo */
++    ATIWaitAvailMMIO(atis, 16);
++
++    WHILE_NOT_TIMEOUT(.2) {
++        rs.val = MMIO_IN32(mmio, mmRBBM_STATUS);
++        if (!rs.f.gui_active)
++            break;
++#if DEBUG_FIFO
++        ATIDebugFifo(atis);
++#endif
++        /* don't know if this is needed, but it's in aticore */
++        MMIO_IN32(mmio, mmCP_RB_RPTR);
++    }
++    if (TIMEDOUT()) {
++        ErrorF("Timeout idling accelerator, resetting...\n");
++        ATIEngineReset(atis);
++        ATIDrawSetup(atis->screen->pScreen);
++    }
++
++    ATIFlushPixelCache(atis);
++
++#if DEBUG_FIFO
++    ErrorF("Idle?\n");
++    ATIDebugFifo(atis);
++#endif
++}
++
++
++static Bool
++ATIDMAInit(ScreenPtr pScreen, Bool use_agp)
++{
++    KdScreenPriv(pScreen);
++    ATIScreenInfo(pScreenPriv);
++    ATICardInfo(pScreenPriv);
++    char *mmio = atic->reg_base;
++    int dma_offset, rbsize = 10;
++    wrap_start_dir_u wsd;
++    wrap_buf_a_u wba;
++    cp_rb_cntl_u rc;
++    cp_csq_cntl_u cc;
++    CARD32 mem_offset;
++
++    /* with rbsize = 10, DMA buffer will be of 0x2000 (8192) bytes */
++    atis->ring_count = 1 << (rbsize + 1);
++    atis->ring_mask = atis->ring_count - 1;
++    atis->ring_len = atis->ring_count * 4;
++    atis->dma_space = KdOffscreenAlloc(pScreen, atis->ring_len,
++                                       16, TRUE, NULL, NULL);
++    if (atis->dma_space == NULL)
++        return FALSE;
++
++    wsd.val = MMIO_IN32(mmio, mmWRAP_START_DIR);
++    atis->ring_addr =
++        (CARD32 *) (atic->mem_base + (wsd.f.start_addr << 1));
++    dma_offset = atis->dma_space->offset;
++
++    ATIUploadMicrocode(atis);
++    ATIEngineReset(atis);
++
++    atis->ring_read = 0;
++    atis->ring_write = 0;
++    atis->ring_free = atis->ring_count;
++
++    mem_offset = atic->ext_mem_location + atis->dma_space->offset;
++    MMIO_OUT32(mmio, mmCP_RB_BASE, mem_offset);
++    MMIO_OUT32(mmio, mmCP_RB_WPTR, atis->ring_write);
++    MMIO_OUT32(mmio, mmCP_RB_RPTR, atis->ring_read);
++    MMIO_OUT32(mmio, mmCP_RB_RPTR_ADDR, 0);
++
++    wba.val = 0;
++    wba.f.offset_addr_a = mem_offset;
++    switch (rbsize) {
++    case 9:
++        wba.f.block_size_a = WB_BLOCK_SIZE_A_0;
++        break;
++    case 10:
++        wba.f.block_size_a = WB_BLOCK_SIZE_A_1;
++        break;
++    case 11:
++        wba.f.block_size_a = WB_BLOCK_SIZE_A_2;
++        break;
++    case 12:
++        wba.f.block_size_a = WB_BLOCK_SIZE_A_3;
++        break;
++    case 13:
++        wba.f.block_size_a = WB_BLOCK_SIZE_A_4;
++        break;
++    }
++    MMIO_OUT32(mmio, mmWRAP_BUF_A, wba.val);
++
++    rc.val = 0;
++    rc.f.rb_no_update = 1;
++    rc.f.rb_bufsz = rbsize;
++    MMIO_OUT32(mmio, mmCP_RB_CNTL, rc.val);
++
++    cc.val = 0;
++    cc.f.csq_mode = CSQ_CNTL_MODE_FREERUN;
++    MMIO_OUT32(mmio, mmCP_CSQ_CNTL, cc.val);
++
++    return TRUE;
++}
++
++static Bool
++ATIDMAFini(ScreenPtr pScreen)
++{
++    KdScreenPriv(pScreen);
++    ATIScreenInfo(pScreenPriv);
++    ATICardInfo(pScreenPriv);
++    char *mmio = atic->reg_base;
++
++    MMIO_OUT32(mmio, mmCP_CSQ_CNTL, 0);
++
++    ATIEngineReset(atis);
++
++    //KdOffscreenFree(pScreen, atis->dma_space);
++
++    return TRUE;
++}
++
++void
++ATIDMASetup(ScreenPtr pScreen)
++{
++    KdScreenPriv(pScreen);
++    ATIScreenInfo(pScreenPriv);
++
++    atis->using_dma = FALSE;
++    atis->using_pio = FALSE;
++    if (ATIDMAInit(pScreen, FALSE))
++        atis->using_dma = TRUE;
++
++    if (atis->using_dma)
++        ErrorF("Initialized DMA\n");
++}
++
++void
++ATIDMATeardown(ScreenPtr pScreen)
++{
++    KdScreenPriv(pScreen);
++    ATIScreenInfo(pScreenPriv);
++
++    ATIWaitIdle(atis);
++
++    if (atis->using_dma)
++        ATIDMAFini(pScreen);
++
++    atis->using_pio = FALSE;
++    atis->using_dma = FALSE;
++}
++
++
++CARD32 *
++ATIRequestEntries(ATIScreenInfo * atis, int n)
++{
++    char *mmio = atis->atic->reg_base;
++    CARD32 *ptr;
++    TIMEOUT_LOCALS;
++
++    WHILE_NOT_TIMEOUT(1) {
++        if (atis->ring_free > n) {
++            ptr = atis->ring_addr + atis->ring_write;
++            return ptr;
++        }
++        atis->ring_read = MMIO_IN32(mmio, mmCP_RB_RPTR);
++        atis->ring_write = MMIO_IN32(mmio, mmCP_RB_WPTR);
++
++        if (atis->ring_read == atis->ring_write) {
++            atis->ring_free = atis->ring_count;
++        } else {
++            atis->ring_free =
++                (atis->ring_count +
++                 atis->ring_read - atis->ring_write) & atis->ring_mask;
++        }
++    }
++    if (TIMEDOUT())
++        ErrorF("Timeout waiting for %d entries.\n", n);
++    return NULL;
++}
++
++void
++ATISubmitEntries(ATIScreenInfo * atis, int n)
++{
++    char *mmio = atis->atic->reg_base;
++    atis->ring_free -= n;
++    atis->ring_write += n;
++    atis->ring_write &= atis->ring_mask;
++    MMIO_OUT32(mmio, mmCP_RB_WPTR, atis->ring_write);
++}
+Index: git/hw/kdrive/w100/ati_dma.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/ati_dma.h       2006-09-02 12:12:14.000000000 +0200
+@@ -0,0 +1,176 @@
++/*
++ * Copyright Â© 2004 Eric Anholt
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Eric Anholt not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Eric Anholt makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL ERIC ANHOLT 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.
++ */
++/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati_dma.h,v 1.5 2005-01-27 05:25:57 anholt Exp $ */
++
++#ifndef _ATI_DMA_H_
++#define _ATI_DMA_H_
++
++#define CCE_DEBUG 1
++
++/* CCE packet defines */
++
++#define ATI_CCE_PACKETTYPE_MASK                       0xc0000000
++#define ATI_CCE_PACKET0                               0x00000000
++#define ATI_CCE_PACKET0_COUNT_MASK            0x3fff0000
++#define ATI_CCE_PACKET0_ONE_REG_WR            0x00008000
++#define ATI_CCE_PACKET0_REG_MASK              0x000007ff
++#define ATI_CCE_PACKET1                               0x40000000
++#define ATI_CCE_PACKET1_REG_1                 0x000007ff
++#define ATI_CCE_PACKET1_REG_2                 0x003ff800
++#define ATI_CCE_PACKET1_REG_2_SHIFT           10
++#define ATI_CCE_PACKET2                               0x80000000
++#define ATI_CCE_PACKET3                               0xc0000000
++#define ATI_CCE_PACKET3_COUNT_MASK            0x3fff0000
++#define ATI_CCE_PACKET3_IT_OPCODE_MASK                0x0000ff00
++
++
++#if !CCE_DEBUG
++#define DMA_PACKET0(reg, count)                                               \
++      (ATI_CCE_PACKET0 | (((count) - 1) << 16) | ((reg) >> 2))
++#else
++#define DMA_PACKET0(reg, count)                                               \
++      (__packet0count = (count), __reg = (reg),                       \
++      ATI_CCE_PACKET0 | (((count) - 1) << 16) | ((reg) >> 2))
++#endif
++#define DMA_PACKET1(reg1, reg2)                                               \
++      (ATI_CCE_PACKET1 |                                              \
++      (((reg2) >> 2) << ATI_CCE_PACKET1_REG_2_SHIFT) |  ((reg1) >> 2))
++#define DMA_PACKET3(type, count)                                      \
++      ((type) | (((count) - 1) << 16))
++
++
++
++#ifdef USE_DMA
++
++#if !CCE_DEBUG
++
++#define RING_LOCALS   \
++      CARD32 *__head; int __count
++#define BEGIN_DMA(n) \
++do {  \
++    __head = ATIRequestEntries(atis, n);  \
++      __count = 0;                                                    \
++} while (0)
++#define END_DMA() do {                                                        \
++      ATISubmitEntries(atis, __count);    \
++} while (0)
++
++#else /* CCE_DEBUG */
++#define RING_LOCALS   \
++      CARD32 *__head; int __count, __total, __reg, __packet0count
++#define BEGIN_DMA(n) \
++do {  \
++    __head = ATIRequestEntries(atis, n);  \
++      __count = 0;                                                    \
++      __total = n;                                                    \
++      __reg = 0;                                                              \
++      __packet0count = 0;                                                             \
++} while (0)
++#define END_DMA() do {                                                        \
++      if (__count != __total)                                         \
++              FatalError("count != total (%d vs %d) at %s:%d\n",       \
++                   __count, __total, __FILE__, __LINE__);             \
++      ATISubmitEntries(atis, __count);    \
++} while (0)
++
++#endif /* CCE_DEBUG */
++
++#define BEGIN_DMA_REG(n) BEGIN_DMA(n * 2)
++#define END_DMA_REG() END_DMA()
++
++#define OUT_REG(reg, val)                                             \
++do {                                                                  \
++      OUT_RING(DMA_PACKET0(reg, 1));                                  \
++      OUT_RING(val);                                                  \
++} while (0)
++
++
++#else  /* USE_DMA */
++
++
++#define RING_LOCALS   char *__mmio = atis->atic->reg_base
++#define BEGIN_DMA_REG(n) \
++do {  \
++    ATIWaitAvailMMIO(atis, n); \
++} while (0)
++#define END_DMA_REG() do {} while (0)
++#define OUT_REG(reg, val) MMIO_OUT32(__mmio, reg, val)
++#endif  /* USE_DMA */
++
++
++#define OUT_RING(val) do {                                            \
++      __head[__count++] = (val);                                      \
++} while (0)
++
++#define OUT_RING_REG(reg, val) do {                                   \
++      if (__reg != reg)                                               \
++              FatalError("unexpected reg (0x%x vs 0x%x) at %s:%d\n",  \
++                  reg, __reg, __FILE__, __LINE__);                    \
++      if (__packet0count-- <= 0)                                      \
++              FatalError("overrun of packet0 at %s:%d\n",             \
++                  __FILE__, __LINE__);                                \
++      __head[__count++] = (val);                                      \
++      __reg += 4;                                                     \
++} while (0)
++
++#define OUT_RING_F(x) OUT_RING(GET_FLOAT_BITS(x))
++
++#define TIMEOUT_LOCALS struct timeval _target, _curtime
++
++static inline Bool
++tv_le(struct timeval *tv1, struct timeval *tv2)
++{
++      if (tv1->tv_sec < tv2->tv_sec ||
++          (tv1->tv_sec == tv2->tv_sec && tv1->tv_usec < tv2->tv_usec))
++              return TRUE;
++      else
++              return FALSE;
++}
++
++#define WHILE_NOT_TIMEOUT(_timeout)                                   \
++      gettimeofday(&_target, NULL);                                   \
++      _target.tv_usec += ((_timeout) * 1000000);                      \
++      _target.tv_sec += _target.tv_usec / 1000000;                    \
++      _target.tv_usec = _target.tv_usec % 1000000;                    \
++      while (gettimeofday(&_curtime, NULL), tv_le(&_curtime, &_target))
++
++#define TIMEDOUT()    (!tv_le(&_curtime, &_target))
++
++
++void
++ATIFlushIndirect(ATIScreenInfo *atis, Bool discard);
++
++void
++ATIDMASetup(ScreenPtr pScreen);
++
++void
++ATIDMATeardown(ScreenPtr pScreen);
++
++CARD32 *
++ATIRequestEntries(ATIScreenInfo *atis, int n);
++
++void
++ATISubmitEntries(ATIScreenInfo *atis, int n);
++
++inline void
++ATIWaitAvailMMIO(ATIScreenInfo *atis, int n);
++#endif /* _ATI_DMA_H_ */
+Index: git/hw/kdrive/w100/ati_draw.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/ati_draw.c      2006-09-02 12:12:14.000000000 +0200
+@@ -0,0 +1,477 @@
++/*
++ * Copyright Â© 2006 Alberto Mardegan <mardy@users.sourceforge.net>
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Alberto Mardegan not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Alberto Mardegan makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL ALBERTO MARDEGAN 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.
++ */
++
++#define USE_DMA
++#define DRAW_USING_PACKET3
++
++#ifdef HAVE_CONFIG_H
++#include <kdrive-config.h>
++#endif
++#include "ati.h"
++#include "w100_regs.h"
++#include "w100_const.h"
++#include "ati_dma.h"
++#include "ati_draw.h"
++#include "kaa.h"
++
++
++CARD8 ATISolidRop[16] = {
++                                /* GXclear      */ 0x00,
++                                /* 0 */
++                                /* GXand        */ 0xa0,
++                                /* src AND dst */
++                                /* GXandReverse */ 0x50,
++                                /* src AND NOT dst */
++                                /* GXcopy       */ 0xf0,
++                                /* src */
++                                /* GXandInverted */ 0x0a,
++                                /* NOT src AND dst */
++                                /* GXnoop       */ 0xaa,
++                                /* dst */
++                                /* GXxor        */ 0x5a,
++                                /* src XOR dst */
++                                /* GXor         */ 0xfa,
++                                /* src OR dst */
++                                /* GXnor        */ 0x05,
++                                /* NOT src AND NOT dst */
++                                /* GXequiv      */ 0xa5,
++                                /* NOT src XOR dst */
++                                /* GXinvert     */ 0x55,
++                                /* NOT dst */
++                                /* GXorReverse  */ 0xf5,
++                                /* src OR NOT dst */
++                                /* GXcopyInverted */ 0x0f,
++                                /* NOT src */
++                                /* GXorInverted */ 0xaf,
++                                /* NOT src OR dst */
++                                /* GXnand       */ 0x5f,
++                                /* NOT src OR NOT dst */
++                                /* GXset        */ 0xff,
++                                /* 1 */
++};
++
++CARD8 ATIBltRop[16] = {
++                                /* GXclear      */ 0x00,
++                                /* 0 */
++                                /* GXand        */ 0x88,
++                                /* src AND dst */
++                                /* GXandReverse */ 0x44,
++                                /* src AND NOT dst */
++                                /* GXcopy       */ 0xcc,
++                                /* src */
++                                /* GXandInverted */ 0x22,
++                                /* NOT src AND dst */
++                                /* GXnoop       */ 0xaa,
++                                /* dst */
++                                /* GXxor        */ 0x66,
++                                /* src XOR dst */
++                                /* GXor         */ 0xee,
++                                /* src OR dst */
++                                /* GXnor        */ 0x11,
++                                /* NOT src AND NOT dst */
++                                /* GXequiv      */ 0x99,
++                                /* NOT src XOR dst */
++                                /* GXinvert     */ 0x55,
++                                /* NOT dst */
++                                /* GXorReverse  */ 0xdd,
++                                /* src OR NOT dst */
++                                /* GXcopyInverted */ 0x33,
++                                /* NOT src */
++                                /* GXorInverted */ 0xbb,
++                                /* NOT src OR dst */
++                                /* GXnand       */ 0x77,
++                                /* NOT src OR NOT dst */
++                                /* GXset        */ 0xff,
++                                /* 1 */
++};
++
++static int copydx, copydy;
++static ATIScreenInfo *accel_atis;
++static char *accel_mmio;
++
++
++void
++ATIDrawSetup(ScreenPtr pScreen)
++{
++    KdScreenPriv(pScreen);
++    ATIScreenInfo(pScreenPriv);
++    default_sc_bottom_right_u dsbr;
++    RING_LOCALS;
++
++    dsbr.val = 0;
++    dsbr.f.default_sc_right = dsbr.f.default_sc_bottom = W100_MAXINT;
++
++    BEGIN_DMA_REG(2);
++    OUT_REG(mmDEFAULT_SC_BOTTOM_RIGHT, dsbr.val);
++    OUT_REG(mmSRC_SC_BOTTOM_RIGHT, dsbr.val);
++    END_DMA_REG();
++}
++
++static void
++ATIWaitMarker(ScreenPtr pScreen, int marker)
++{
++    KdScreenPriv(pScreen);
++    ATIScreenInfo(pScreenPriv);
++
++    ENTER_DRAW(0);
++    ATIWaitIdle(atis);
++    LEAVE_DRAW(0);
++}
++
++
++#if ATI_TRACE_DRAW
++void
++ATIEnterDraw(PixmapPtr pPix, const char *function)
++{
++    if (pPix != NULL) {
++        KdScreenPriv(pPix->drawable.pScreen);
++        CARD32 offset;
++
++        offset = ((CARD8 *) pPix->devPrivate.ptr -
++                  pScreenPriv->screen->memory_base);
++
++        ErrorF("Enter %s 0x%x (%dx%dx%d/%d)\n", function, offset,
++               pPix->drawable.width, pPix->drawable.height,
++               pPix->drawable.depth, pPix->drawable.bitsPerPixel);
++    } else
++        ErrorF("Enter %s\n", function);
++}
++
++void
++ATILeaveDraw(PixmapPtr pPix, const char *function)
++{
++    if (pPix != NULL) {
++        KdScreenPriv(pPix->drawable.pScreen);
++        CARD32 offset;
++
++        offset = ((CARD8 *) pPix->devPrivate.ptr -
++                  pScreenPriv->screen->memory_base);
++
++        ErrorF("Leave %s 0x%x\n", function, offset);
++    } else
++        ErrorF("Leave %s\n", function);
++}
++#endif
++
++/* Assumes that depth 15 and 16 can be used as depth 16, which is okay since we
++ * require src and dest datatypes to be equal.
++ */
++static Bool
++ATIGetDatatypeBpp(int bpp, CARD32 * type)
++{
++    switch (bpp) {
++    case 8:
++        *type = DATATYPE_8BPP;
++        return TRUE;
++    case 16:
++        *type = DATATYPE_ARGB1555;
++        return TRUE;
++    default:
++        ATI_FALLBACK(("Unsupported bpp: %d\n", bpp));
++        return FALSE;
++    }
++}
++
++
++Bool
++ATIGetPixmapOffsetPitch(PixmapPtr pPix, CARD32 * pitch, CARD32 * offset)
++{
++    KdScreenPriv(pPix->drawable.pScreen);
++    ATICardInfo(pScreenPriv);
++
++    /* XXX this only works for surfaces allocated in external memory */
++    *offset = ((CARD8 *) pPix->devPrivate.ptr -
++               pScreenPriv->screen->memory_base) + atic->ext_mem_location;
++    *pitch = pPix->devKind >> 1;
++
++    return TRUE;
++}
++
++
++static Bool
++ATIPrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg)
++{
++    KdScreenPriv(pPix->drawable.pScreen);
++    ATIScreenInfo(pScreenPriv);
++    ATICardInfo(pScreenPriv);
++    CARD32 datatype, dst_pitch, dst_offset;
++    dp_gui_master_cntl_u gmc;
++    dp_cntl_u dp_cntl;
++    RING_LOCALS;
++
++    accel_atis = atis;
++    accel_mmio = atic->reg_base;
++
++    if (!ATIGetDatatypeBpp(pPix->drawable.bitsPerPixel, &datatype))
++        return FALSE;
++    if (!ATIGetPixmapOffsetPitch(pPix, &dst_pitch, &dst_offset))
++        return FALSE;
++
++    ENTER_DRAW(pPix);
++
++    gmc.val = 0;
++    gmc.f.gmc_dst_pitch_offset_cntl = 1;
++    gmc.f.gmc_dst_clipping = 1;
++    gmc.f.gmc_brush_datatype = BRUSH_SOLIDCOLOR;
++    gmc.f.gmc_dst_datatype = datatype;
++    gmc.f.gmc_src_datatype = datatype;
++    gmc.f.gmc_byte_pix_order = 1;
++    gmc.f.gmc_rop3 = ATISolidRop[alu];
++    gmc.f.gmc_dp_src_source = SOURCE_MEM_RECTANGULAR;
++    gmc.f.gmc_clr_cmp_fcn_dis = 1;
++    gmc.f.gmc_dp_op = OP_ROP;
++
++    dp_cntl.val = 0;
++    dp_cntl.f.dst_x_dir = 1;
++    dp_cntl.f.dst_y_dir = 1;
++
++    BEGIN_DMA_REG(6);
++    OUT_REG(mmDST_PITCH, dst_pitch);
++    OUT_REG(mmDST_OFFSET, dst_offset);
++    OUT_REG(mmDP_GUI_MASTER_CNTL, gmc.val);
++    OUT_REG(mmDP_BRUSH_FRGD_CLR, fg);
++    OUT_REG(mmDP_WRITE_MSK, pm);
++    OUT_REG(mmDP_CNTL, dp_cntl.val);
++    END_DMA_REG();
++
++    LEAVE_DRAW(pPix);
++    return TRUE;
++}
++
++static void
++ATISolid(int x1, int y1, int x2, int y2)
++{
++    ENTER_DRAW(0);
++    ATIScreenInfo *atis = accel_atis;
++    RING_LOCALS;
++
++#ifdef DRAW_USING_PACKET3
++    BEGIN_DMA(3);
++    OUT_RING(DMA_PACKET3(W100_CCE_PACKET3_PAINT_MULTI, 2));
++    OUT_RING((x1 << 16) | y1);
++    OUT_RING(((x2 - x1) << 16) | (y2 - y1));
++    END_DMA();
++#elif defined DRAW_USING_PACKET0
++    BEGIN_DMA(3);
++    OUT_RING(DMA_PACKET0(mmDST_Y_X, 2));
++    OUT_RING_REG(mmDST_Y_X, (y1 << 16) | x1);
++    OUT_RING_REG(mmDST_HEIGHT_WIDTH, ((y2 - y1) << 16) | (x2 - x1));
++    END_DMA();
++#else
++    BEGIN_DMA_REG(2);
++    OUT_REG(mmDST_Y_X, (y1 << 16) | x1);
++    OUT_REG(mmDST_HEIGHT_WIDTH, ((y2 - y1) << 16) | (x2 - x1));
++    END_DMA_REG();
++#endif
++    LEAVE_DRAW(0);
++}
++
++
++static void
++ATIDoneSolid(void)
++{
++    ENTER_DRAW(0);
++    LEAVE_DRAW(0);
++}
++
++
++static Bool
++ATIPrepareCopy(PixmapPtr pSrc, PixmapPtr pDst, int dx, int dy, int alu,
++               Pixel pm)
++{
++    KdScreenPriv(pDst->drawable.pScreen);
++    ATIScreenInfo(pScreenPriv);
++    ATICardInfo(pScreenPriv);
++    CARD32 datatype, src_pitch, src_offset, dst_pitch, dst_offset;
++    dp_gui_master_cntl_u gmc;
++    dp_cntl_u dp_cntl;
++    dp_datatype_u dpdt;
++    RING_LOCALS;
++
++    accel_mmio = atic->reg_base;
++    copydx = dx;
++    copydy = dy;
++    accel_atis = atis;
++
++    if (!ATIGetDatatypeBpp(pDst->drawable.bitsPerPixel, &datatype))
++        return FALSE;
++    if (!ATIGetPixmapOffsetPitch(pSrc, &src_pitch, &src_offset))
++        return FALSE;
++    if (!ATIGetPixmapOffsetPitch(pDst, &dst_pitch, &dst_offset))
++        return FALSE;
++
++    ENTER_DRAW(pDst);
++
++    gmc.val = 0;
++    gmc.f.gmc_src_pitch_offset_cntl = 1;
++    gmc.f.gmc_dst_pitch_offset_cntl = 1;
++    gmc.f.gmc_src_clipping = 1;
++    gmc.f.gmc_dst_clipping = 1;
++    gmc.f.gmc_brush_datatype = BRUSH_NONE;
++    gmc.f.gmc_dst_datatype = datatype;
++    gmc.f.gmc_src_datatype = datatype;
++    gmc.f.gmc_byte_pix_order = 1;
++    gmc.f.gmc_rop3 = ATIBltRop[alu];
++    gmc.f.gmc_dp_src_source = SOURCE_MEM_RECTANGULAR;
++    gmc.f.gmc_clr_cmp_fcn_dis = 1;
++    gmc.f.gmc_dp_op = OP_ROP;
++
++    dp_cntl.val = 0;
++    if (dx >= 0)
++        dp_cntl.f.dst_x_dir = 1;
++    if (dy >= 0)
++        dp_cntl.f.dst_y_dir = 1;
++
++    dpdt.val = 0;
++    dpdt.f.dp_dst_datatype = datatype;
++    dpdt.f.dp_src_datatype = datatype;
++    dpdt.f.dp_byte_pix_order = 1;
++
++    BEGIN_DMA_REG(8);
++    OUT_REG(mmSRC_PITCH, src_pitch);
++    OUT_REG(mmSRC_OFFSET, src_offset);
++    OUT_REG(mmDST_PITCH, dst_pitch);
++    OUT_REG(mmDST_OFFSET, dst_offset);
++    OUT_REG(mmDP_GUI_MASTER_CNTL, gmc.val);
++    OUT_REG(mmDP_WRITE_MSK, pm);
++    OUT_REG(mmDP_CNTL, dp_cntl.val);
++    OUT_REG(mmDP_DATATYPE, dpdt.val);
++    END_DMA_REG();
++
++    LEAVE_DRAW(pDst);
++    return TRUE;
++}
++
++static void
++ATICopy(int srcX, int srcY, int dstX, int dstY, int w, int h)
++{
++    ATIScreenInfo *atis = accel_atis;
++    RING_LOCALS;
++
++    ENTER_DRAW(0);
++#ifndef DRAW_USING_PACKET3
++    if (copydx < 0) {
++        srcX += w - 1;
++        dstX += w - 1;
++    }
++    if (copydy < 0) {
++        srcY += h - 1;
++        dstY += h - 1;
++    }
++#endif
++
++#ifdef DRAW_USING_PACKET3
++    BEGIN_DMA(4);
++    OUT_RING(DMA_PACKET3(W100_CCE_PACKET3_BITBLT_MULTI, 3));
++    OUT_RING((srcX << 16) | srcY);
++    OUT_RING((dstX << 16) | dstY);
++    OUT_RING((w << 16) | h);
++    END_DMA();
++#elif defined DRAW_USING_PACKET0
++    BEGIN_DMA(4);
++    OUT_RING(DMA_PACKET0(mmSRC_Y_X, 3));
++    OUT_RING_REG(mmSRC_Y_X, (srcY << 16) | srcX);
++    OUT_RING_REG(mmDST_Y_X, (dstY << 16) | dstX);
++    OUT_RING_REG(mmDST_HEIGHT_WIDTH, (h << 16) | w);
++    END_DMA();
++#else
++    BEGIN_DMA_REG(3);
++    OUT_REG(mmSRC_Y_X, (srcY << 16) | srcX);
++    OUT_REG(mmDST_Y_X, (dstY << 16) | dstX);
++    OUT_REG(mmDST_HEIGHT_WIDTH, (h << 16) | w);
++    END_DMA_REG();
++#endif
++    LEAVE_DRAW(0);
++}
++
++
++static void
++ATIDoneCopy(void)
++{
++    ENTER_DRAW(0);
++    LEAVE_DRAW(0);
++}
++
++
++Bool
++ATIDrawInit(ScreenPtr pScreen)
++{
++    KdScreenPriv(pScreen);
++    ATIScreenInfo(pScreenPriv);
++
++    ErrorF("Screen: %d/%d depth/bpp\n", pScreenPriv->screen->fb[0].depth,
++           pScreenPriv->screen->fb[0].bitsPerPixel);
++
++    memset(&atis->kaa, 0, sizeof(KaaScreenInfoRec));
++    atis->kaa.waitMarker = ATIWaitMarker;
++    atis->kaa.PrepareSolid = ATIPrepareSolid;
++    atis->kaa.Solid = ATISolid;
++    atis->kaa.DoneSolid = ATIDoneSolid;
++    atis->kaa.PrepareCopy = ATIPrepareCopy;
++    atis->kaa.Copy = ATICopy;
++    atis->kaa.DoneCopy = ATIDoneCopy;
++    /* XXX if this flag isn't specified, Kdrive crashes in kaaPixmapUseMemory
++     * or kaaPixmapUseScreen. But this is probably caused by some bug in this
++     * driver...  */
++    atis->kaa.flags |= KAA_OFFSCREEN_PIXMAPS;
++    if (!kaaDrawInit(pScreen, &atis->kaa))
++        return FALSE;
++
++    return TRUE;
++}
++
++
++void
++ATIDrawEnable(ScreenPtr pScreen)
++{
++    KdScreenPriv(pScreen);
++    ATIScreenInfo(pScreenPriv);
++
++    ATIDMASetup(pScreen);
++    ATIDrawSetup(pScreen);
++
++    atis->scratch_area = NULL;
++    atis->kaa.PrepareBlend = NULL;
++    atis->kaa.Blend = NULL;
++    atis->kaa.DoneBlend = NULL;
++    atis->kaa.CheckComposite = NULL;
++    atis->kaa.PrepareComposite = NULL;
++    atis->kaa.Composite = NULL;
++    atis->kaa.DoneComposite = NULL;
++    atis->kaa.UploadToScreen = NULL;
++    atis->kaa.UploadToScratch = NULL;
++
++
++    kaaMarkSync(pScreen);
++}
++
++void
++ATIDrawDisable(ScreenPtr pScreen)
++{
++    ATIDMATeardown(pScreen);
++}
++
++void
++ATIDrawFini(ScreenPtr pScreen)
++{
++    kaaDrawFini(pScreen);
++}
+Index: git/hw/kdrive/w100/ati_draw.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/ati_draw.h      2006-09-02 12:12:14.000000000 +0200
+@@ -0,0 +1,107 @@
++/*
++ * Copyright Â© 2004 Eric Anholt
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Eric Anholt not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Eric Anholt makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL ERIC ANHOLT 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.
++ */
++/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati_draw.h,v 1.9 2005-02-21 03:44:10 anholt Exp $ */
++
++#ifndef _ATI_DRAW_H_
++#define _ATI_DRAW_H_
++
++Bool ATIGetOffsetPitch(ATIScreenInfo *atis, int bpp, CARD32 *pitch_offset,
++    int offset, int pitch);
++Bool ATIGetPixmapOffsetPitch(PixmapPtr pPix, CARD32 *pitch, CARD32 *offset);
++
++Bool R128CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture,
++    PicturePtr pDstPicture);
++Bool R128PrepareComposite(int op, PicturePtr pSrcPicture,
++    PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc,
++    PixmapPtr pMask, PixmapPtr pDst);
++void R128Composite(int srcX, int srcY, int maskX, int maskY, int dstX, int dstY,
++    int w, int h);
++void R128DoneComposite(void);
++
++Bool R128PrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst);
++void R128Trapezoids(KaaTrapezoid *traps, int ntraps);
++void R128DoneTrapezoids(void);
++
++Bool R100CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture,
++    PicturePtr pDstPicture);
++Bool R100PrepareComposite(int op, PicturePtr pSrcPicture,
++    PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc,
++    PixmapPtr pMask, PixmapPtr pDst);
++Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture,
++    PicturePtr pDstPicture);
++Bool R200PrepareComposite(int op, PicturePtr pSrcPicture,
++    PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc,
++    PixmapPtr pMask, PixmapPtr pDst);
++void RadeonComposite(int srcX, int srcY, int maskX, int maskY, int dstX,
++    int dstY, int w, int h);
++void RadeonDoneComposite(void);
++
++Bool RadeonPrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst);
++void RadeonTrapezoids(KaaTrapezoid *traps, int ntraps);
++void RadeonDoneTrapezoids(void);
++
++void RadeonSwitchTo2D(ATIScreenInfo *atis);
++void RadeonSwitchTo3D(ATIScreenInfo *atis);
++void ATIWaitIdle(ATIScreenInfo *atis);
++
++#define ATI_TRACE_FALL 0
++#define ATI_TRACE_DRAW 1
++
++#if ATI_TRACE_FALL
++#define ATI_FALLBACK(x)                       \
++do {                                  \
++      ErrorF("%s: ", __FUNCTION__);   \
++      ErrorF x;                       \
++      return FALSE;                   \
++} while (0)
++#else
++#define ATI_FALLBACK(x) return FALSE
++#endif
++
++#if ATI_TRACE_DRAW
++#define ENTER_DRAW(pix) ATIEnterDraw(pix, __FUNCTION__)
++#define LEAVE_DRAW(pix) ATILeaveDraw(pix, __FUNCTION__)
++
++void
++ATIEnterDraw (PixmapPtr pPixmap, const char *function);
++
++void
++ATILeaveDraw (PixmapPtr pPixmap, const char *function);
++#else /* ATI_TRACE */
++#define ENTER_DRAW(pix)
++#define LEAVE_DRAW(pix)
++#endif /* !ATI_TRACE */
++
++#ifndef USE_DMA
++/* if DMA is not going to be used, drawing using PACKET3 or PACKET0 won't
++ * be possible */
++#ifdef DRAW_USING_PACKET3
++#undef DRAW_USING_PACKET3
++#endif
++
++#ifdef DRAW_USING_PACKET0
++#undef DRAW_USING_PACKET0
++#endif
++
++#endif /* USE_DMA */
++
++#endif /* _ATI_DRAW_H_ */
+Index: git/hw/kdrive/w100/ati.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/ati.h   2006-09-02 12:12:14.000000000 +0200
+@@ -0,0 +1,256 @@
++/*
++ * $Id: ati.h,v 1.18 2005-06-10 02:14:44 anholt Exp $
++ *
++ * Copyright Â© 2003 Eric Anholt
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Eric Anholt not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Eric Anholt makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL ERIC ANHOLT 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.
++ */
++/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati.h,v 1.18 2005-06-10 02:14:44 anholt Exp $ */
++
++#ifndef _ATI_H_
++#define _ATI_H_
++
++#ifdef HAVE_CONFIG_H
++#include <kdrive-config.h>
++#endif
++
++#ifdef KDRIVEFBDEV
++#include <fbdev.h>
++#endif
++#ifdef KDRIVEVESA
++#include <vesa.h>
++#endif
++
++#include "kxv.h"
++
++
++#define ATI_MEM_BASE(c)    (0x08000000)
++#define ATI_MEM_SIZE(c)    (0x01000000)
++#define ATI_REG_BASE(c)               (ATI_MEM_BASE(c) + 0x10000) /* the 0x08000000 must be obtained from /proc/iomem, the 0x10000 from ReadCfgReg(cfgREG_BASE) << 16) & 0xff0000 */
++#define ATI_REG_SIZE(c)               (0x2000)
++
++#ifdef __powerpc__
++
++static __inline__ void
++MMIO_OUT32(__volatile__ void *base, const unsigned long offset,
++         const unsigned int val)
++{
++      __asm__ __volatile__(
++                      "stwbrx %1,%2,%3\n\t"
++                      "eieio"
++                      : "=m" (*((volatile unsigned char *)base+offset))
++                      : "r" (val), "b" (base), "r" (offset));
++}
++
++static __inline__ CARD32
++MMIO_IN32(__volatile__ void *base, const unsigned long offset)
++{
++      register unsigned int val;
++      __asm__ __volatile__(
++                      "lwbrx %0,%1,%2\n\t"
++                      "eieio"
++                      : "=r" (val)
++                      : "b" (base), "r" (offset),
++                      "m" (*((volatile unsigned char *)base+offset)));
++      return val;
++}
++
++#else
++
++#define MMIO_OUT32(mmio, a, v)                (*(VOL32 *)((mmio) + (a)) = (v))
++#define MMIO_IN32(mmio, a)            (*(VOL32 *)((mmio) + (a)))
++
++#endif
++
++#define MMIO_OUT8(mmio, a, v)         (*(VOL8 *)((mmio) + (a)) = (v))
++#define MMIO_IN8(mmio, a, v)          (*(VOL8 *)((mmio) + (a)))
++
++
++typedef volatile CARD8        VOL8;
++typedef volatile CARD16       VOL16;
++typedef volatile CARD32       VOL32;
++
++struct pci_id_entry {
++      CARD16 vendor;
++      CARD16 device;
++      CARD8 caps;
++      char *name;
++};
++
++struct backend_funcs {
++      void    (*cardfini)(KdCardInfo *);
++      void    (*scrfini)(KdScreenInfo *);
++      Bool    (*initScreen)(ScreenPtr);
++      Bool    (*finishInitScreen)(ScreenPtr pScreen);
++      Bool    (*createRes)(ScreenPtr);
++      void    (*preserve)(KdCardInfo *);
++      void    (*restore)(KdCardInfo *);
++      Bool    (*dpms)(ScreenPtr, int);
++      Bool    (*enable)(ScreenPtr);
++      void    (*disable)(ScreenPtr);
++      void    (*getColors)(ScreenPtr, int, int, xColorItem *);
++      void    (*putColors)(ScreenPtr, int, int, xColorItem *);
++#ifdef RANDR
++      Bool    (*randrSetConfig) (ScreenPtr, Rotation, int, RRScreenSizePtr);
++#endif
++};
++
++typedef struct _ATICardInfo {
++      union {
++#ifdef KDRIVEFBDEV
++              FbdevPriv fbdev;
++#endif
++#ifdef KDRIVEVESA
++              VesaCardPrivRec vesa;
++#endif
++      } backend_priv;
++      struct backend_funcs backend_funcs;
++
++      struct pci_id_entry *pci_id;
++      CARD8 *mem_base;
++      CARD8 *reg_base;
++    CARD32  fb_location;
++    CARD32  ext_mem_location;
++      Bool use_fbdev, use_vesa;
++} ATICardInfo;
++
++#define getATICardInfo(kd)    ((ATICardInfo *) ((kd)->card->driver))
++#define ATICardInfo(kd)               ATICardInfo *atic = getATICardInfo(kd)
++
++typedef struct _ATICursor {
++      int             width, height;
++      int             xhot, yhot;
++      
++      Bool            has_cursor;
++      CursorPtr       pCursor;
++      Pixel           source, mask;
++      KdOffscreenArea *area;
++} ATICursor;
++
++typedef struct _ATIPortPriv {
++      int brightness;
++      int saturation;
++      RegionRec clip;
++      CARD32 size;
++      KdOffscreenArea *off_screen;
++      DrawablePtr pDraw;
++      PixmapPtr pPixmap;
++
++      CARD32 src_offset;
++      CARD32 src_pitch;
++      CARD8 *src_addr;
++
++      int id;
++      int src_x1, src_y1, src_x2, src_y2;
++      int dst_x1, dst_y1, dst_x2, dst_y2;
++      int src_w, src_h, dst_w, dst_h;
++} ATIPortPrivRec, *ATIPortPrivPtr;
++
++typedef struct _ATIScreenInfo {
++      union {
++#ifdef KDRIVEFBDEV
++              FbdevScrPriv fbdev;
++#endif
++#ifdef KDRIVEVESA
++              VesaScreenPrivRec vesa;
++#endif
++      } backend_priv;
++      KaaScreenInfoRec kaa;
++
++      ATICardInfo *atic;
++      KdScreenInfo *screen;
++
++      int             scratch_offset;
++      int             scratch_next;
++      KdOffscreenArea *scratch_area;
++
++      ATICursor       cursor;
++
++      KdVideoAdaptorPtr pAdaptor;
++      int             num_texture_ports;
++
++      Bool            using_pio;      /* If we use decode DMA packets to MMIO. */
++      Bool            using_dma;      /* If we use non-DRI DMA to submit packets. */
++
++      KdOffscreenArea *dma_space;     /* For "DMA" from framebuffer. */
++      CARD32          *ring_addr;     /* Beginning of ring buffer. */
++      int             ring_write;     /* Index of write ptr in ring. */
++      int             ring_read;      /* Index of read ptr in ring. */
++      int             ring_len;
++      int             ring_mask;
++      int             ring_count;
++      int             ring_free;
++
++
++      int             mmio_avail;
++} ATIScreenInfo;
++
++#define getATIScreenInfo(kd)  ((ATIScreenInfo *) ((kd)->screen->driver))
++#define ATIScreenInfo(kd)     ATIScreenInfo *atis = getATIScreenInfo(kd)
++
++typedef union { float f; CARD32 i; } fi_type;
++
++
++/* ati.c */
++Bool
++ATIMap(KdCardInfo *card, ATICardInfo *atic);
++
++void
++ATIUnmap(KdCardInfo *card, ATICardInfo *atic);
++
++/* ati_draw.c */
++void
++ATIDrawSetup(ScreenPtr pScreen);
++
++Bool
++ATIDrawInit(ScreenPtr pScreen);
++
++void
++ATIDrawEnable(ScreenPtr pScreen);
++
++void
++ATIDrawDisable(ScreenPtr pScreen);
++
++void
++ATIDrawFini(ScreenPtr pScreen);
++
++
++/* ati_cursor.c */
++Bool
++ATICursorInit(ScreenPtr pScreen);
++
++void
++ATICursorEnable(ScreenPtr pScreen);
++
++void
++ATICursorDisable(ScreenPtr pScreen);
++
++void
++ATICursorFini(ScreenPtr pScreen);
++
++void
++ATIRecolorCursor(ScreenPtr pScreen, int ndef, xColorItem *pdef);
++
++int
++ATILog2(int val);
++
++
++extern KdCardFuncs ATIFuncs;
++
++#endif /* _ATI_H_ */
+Index: git/hw/kdrive/w100/ati_microcode.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/ati_microcode.c 2006-09-02 12:12:14.000000000 +0200
+@@ -0,0 +1,412 @@
++/*
++ * Copyright Â© 2006 Alberto Mardegan <mardy@users.sourceforge.net>
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Alberto Mardegan not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Alberto Mardegan makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL ALBERTO MARDEGAN 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.
++ */
++
++/* CCE microcode (from ATI) */
++
++#include "ati.h"
++
++
++CARD32 w100_microcode[][2] = {
++    {0x21007000, 0x00000000}
++    ,
++    {0x20007000, 0x00000000}
++    ,
++    {0x00000098, 0x00000004}
++    ,
++    {0x0000009c, 0x00000004}
++    ,
++    {0x66544a49, 0x00000000}
++    ,
++    {0x49494174, 0x00000000}
++    ,
++    {0x54517d83, 0x00000000}
++    ,
++    {0x498d8b64, 0x00000000}
++    ,
++    {0x49494949, 0x00000000}
++    ,
++    {0x49b6493c, 0x00000000}
++    ,
++    {0x49494949, 0x00000000}
++    ,
++    {0x49494949, 0x00000000}
++    ,
++    {0x49490d10, 0x00000000}
++    ,
++    {0x000f0000, 0x00000016}
++    ,
++    {0x30292027, 0x00000000}
++    ,
++    {0x00000012, 0x00000004}
++    ,
++    {0x000f0000, 0x00000016}
++    ,
++    {0x30292427, 0x00000000}
++    ,
++    {0x0000730f, 0x00000002}
++    ,                           /* mmIDCT_CONTROL */
++    {0x00061000, 0x00000002}
++    ,
++    {0x0000001d, 0x0000001a}
++    ,
++    {0x00004000, 0x0000001e}
++    ,
++    {0x00061000, 0x00000002}
++    ,
++    {0x0000001d, 0x0000001a}
++    ,
++    {0x00004000, 0x0000001e}
++    ,
++    {0x00061000, 0x00000002}
++    ,
++    {0x0000001d, 0x0000001a}
++    ,
++    {0x00004000, 0x0000001e}
++    ,
++    {0x00000013, 0x00000004}
++    ,
++    {0x0003803a, 0x00000002}
++    ,
++    {0x04006300, 0x00000002}
++    ,                           /* mmIDCT_RUNS */
++    {0x00000013, 0x00000004}
++    ,
++    {0x00007300, 0x00000002}
++    ,                           /* mmIDCT_RUNS */
++    {0x00065000, 0x00000002}
++    ,
++    {0x00003301, 0x00000002}
++    ,                           /* mmIDCT_LEVELS */
++    {0x04006301, 0x00000006}
++    ,                           /* mmIDCT_LEVELS */
++    {0x00007300, 0x00000002}
++    ,                           /* mmIDCT_RUNS */
++    {0x00007301, 0x00000002}
++    ,                           /* mmIDCT_LEVELS */
++    {0x00007301, 0x00000006}
++    ,                           /* mmIDCT_LEVELS */
++    {0x0003803a, 0x00000002}
++    ,
++    {0x04006300, 0x00000006}
++    ,                           /* mmIDCT_RUNS */
++    {0x00a05000, 0x00000002}
++    ,
++    {0x00000039, 0x0000000c}
++    ,
++    {0x00000000, 0x00000002}
++    ,
++    {0x00007300, 0x00000002}
++    ,                           /* mmIDCT_RUNS */
++    {0x00007301, 0x00000002}
++    ,                           /* mmIDCT_LEVELS */
++    {0x00007301, 0x00000002}
++    ,                           /* mmIDCT_LEVELS */
++    {0x0060002a, 0x00000004}
++    ,
++    {0x00007488, 0x00000002}
++    ,                           /* mmE2_ARITHMETIC_CNTL */
++    {0x0003803b, 0x00000002}
++    ,
++    {0x00098000, 0x00000002}
++    ,
++    {0x00200000, 0x00000002}
++    ,
++    {0x00000039, 0x0000000c}
++    ,
++    {0x00007465, 0x00000002}
++    ,                           /* mmDST_X_Y */
++    {0x00007464, 0x00000002}
++    ,                           /* mmSRC_X_Y */
++    {0x00007478, 0x00000002}
++    ,                           /* mmMVC_CNTL_START */
++    {0x00600034, 0x00000004}
++    ,
++    {0x00000000, 0x00000006}
++    ,
++    {0xffffffff, 0x00000000}
++    ,
++    {0x00000006, 0x00000000}
++    ,
++    {0x01605000, 0x00000002}
++    ,
++    {0x00065000, 0x00000002}
++    ,
++    {0x00098000, 0x00000002}
++    ,
++    {0x00061000, 0x00000002}
++    ,
++    {0x64c0603d, 0x00000004}
++    ,
++    {0x00080000, 0x00000016}
++    ,
++    {0x00000000, 0x00000000}
++    ,
++    {0x0400241d, 0x00000002}
++    ,                           /* mmBRUSH_Y_X */
++    {0x00007424, 0x00000002}
++    ,                           /* mmDST_LINE_START */
++    {0x00067425, 0x00000002}
++    ,                           /* mmDST_LINE_END */
++    {0x04002424, 0x00000002}
++    ,                           /* mmDST_LINE_START */
++    {0x00067425, 0x00000002}
++    ,                           /* mmDST_LINE_END */
++    {0x00000046, 0x00000004}
++    ,
++    {0x00005000, 0x00000000}
++    ,
++    {0x00061000, 0x00000002}
++    ,
++    {0x0000740e, 0x00000002}
++    ,                           /* mmDST_Y_X */
++    {0x00019000, 0x00000002}
++    ,
++    {0x00011050, 0x00000014}
++    ,
++    {0x00000050, 0x00000012}
++    ,
++    {0x0400240f, 0x00000002}
++    ,                           /* mmDST_HEIGHT_WIDTH */
++    {0x0000504a, 0x00000004}
++    ,
++    {0x00007465, 0x00000002}
++    ,                           /* mmDST_X_Y */
++    {0x00007466, 0x00000002}
++    ,                           /* mmDST_WIDTH_HEIGHT */
++    {0x00000051, 0x00000004}
++    ,
++    {0x01e65473, 0x00000002}
++    ,                           /* mmDP_CNTL_DST_DIR */
++    {0x4401b0b9, 0x00000002}
++    ,
++    {0x01c110b9, 0x00000002}
++    ,
++    {0x2666705d, 0x00000018}
++    ,
++    {0x040c2465, 0x00000002}
++    ,                           /* mmDST_X_Y */
++    {0x0000005d, 0x00000018}
++    ,
++    {0x04002464, 0x00000002}
++    ,                           /* mmSRC_X_Y */
++    {0x00007466, 0x00000002}
++    ,                           /* mmDST_WIDTH_HEIGHT */
++    {0x00000054, 0x00000004}
++    ,
++    {0x00401060, 0x00000008}
++    ,
++    {0x00101000, 0x00000002}
++    ,
++    {0x000d80ff, 0x00000002}
++    ,
++    {0x00800063, 0x00000008}
++    ,
++    {0x000f9000, 0x00000002}
++    ,
++    {0x000e00ff, 0x00000002}
++    ,
++    {0x00000000, 0x00000006}
++    ,
++    {0x00000080, 0x00000018}
++    ,
++    {0x00000054, 0x00000004}
++    ,
++    {0x00007490, 0x00000002}
++    ,                           /* mmDP_SRC_FRGD_CLR */
++    {0x00065000, 0x00000002}
++    ,
++    {0x00009000, 0x00000002}
++    ,
++    {0x00041000, 0x00000002}
++    ,
++    {0x0c00340e, 0x00000002}
++    ,                           /* mmDST_Y_X */
++    {0x00049000, 0x00000002}
++    ,
++    {0x00051000, 0x00000002}
++    ,
++    {0x01e784f8, 0x00000002}
++    ,
++    {0x00200000, 0x00000002}
++    ,
++    {0x00600073, 0x0000000c}
++    ,
++    {0x00007463, 0x00000002}
++    ,                           /* mmDST_HEIGHT_WIDTH_8 */
++    {0x006074f0, 0x00000021}
++    ,                           /* mmHOST_DATA0 */
++    {0x20007068, 0x00000004}
++    ,
++    {0x00005068, 0x00000004}
++    ,
++    {0x00007490, 0x00000002}
++    ,                           /* mmDP_SRC_FRGD_CLR */
++    {0x00007491, 0x00000002}
++    ,                           /* mmDP_SRC_BKGD_CLR */
++    {0x0000740e, 0x00000002}
++    ,                           /* mmDST_Y_X */
++    {0x0000740f, 0x00000002}
++    ,                           /* mmDST_HEIGHT_WIDTH */
++    {0x00a05000, 0x00000002}
++    ,
++    {0x00600076, 0x0000000c}
++    ,
++    {0x006074f0, 0x00000021}
++    ,                           /* mmHOST_DATA0 */
++    {0x000074f8, 0x00000002}
++    ,                           /* mmHOST_DATA_LAST */
++    {0x00000076, 0x00000004}
++    ,
++    {0x000a740e, 0x00000002}
++    ,                           /* mmDST_Y_X */
++    {0x0020740f, 0x00000002}
++    ,                           /* mmDST_HEIGHT_WIDTH */
++    {0x00600079, 0x00000004}
++    ,
++    {0x0000748c, 0x00000002}
++    ,                           /* mmCLR_CMP_CNTL */
++    {0x0000748d, 0x00000002}
++    ,                           /* mmCLR_CMP_CLR_SRC */
++    {0x0000748e, 0x00000006}
++    ,                           /* mmCLR_CMP_CLR_DST */
++    {0x00005000, 0x00000002}
++    ,
++    {0x00a05000, 0x00000002}
++    ,
++    {0x00007468, 0x00000002}
++    ,                           /* mmDST_HEIGHT_Y */
++    {0x00061000, 0x00000002}
++    ,
++    {0x00000084, 0x0000000c}
++    ,
++    {0x00058000, 0x00000002}
++    ,
++    {0x0c607462, 0x00000002}
++    ,                           /* mmDST_WIDTH_X */
++    {0x00000086, 0x00000004}
++    ,
++    {0x00600085, 0x00000004}
++    ,
++    {0x400070ba, 0x00000000}
++    ,
++    {0x000380ba, 0x00000002}
++    ,
++    {0x00000093, 0x0000001c}
++    ,
++    {0x00065095, 0x00000018}
++    ,
++    {0x0400246f, 0x00000002}
++    ,                           /* mmSC_TOP_LEFT */
++    {0x00061096, 0x00000018}
++    ,
++    {0x04007470, 0x00000000}
++    ,                           /* mmSC_BOTTOM_RIGHT */
++    {0x0000746f, 0x00000002}
++    ,                           /* mmSC_TOP_LEFT */
++    {0x00007470, 0x00000000}
++    ,                           /* mmSC_BOTTOM_RIGHT */
++    {0x00090000, 0x00000006}
++    ,
++    {0x00090000, 0x00000002}
++    ,
++    {0x000d8002, 0x00000006}
++    ,
++    {0x01200000, 0x00000002}
++    ,
++    {0x20077000, 0x00000002}
++    ,
++    {0x01200000, 0x00000002}
++    ,
++    {0x20007000, 0x00000002}
++    ,
++    {0x00061000, 0x00000002}
++    ,
++    {0x0120741b, 0x00000002}
++    ,                           /* mmDP_GUI_MASTER_CNTL */
++    {0x8040740a, 0x00000002}
++    ,                           /* mmSRC_PITCH_OFFSET */
++    {0x8040740b, 0x00000002}
++    ,                           /* mmDST_PITCH_OFFSET */
++    {0x00110000, 0x00000002}
++    ,
++    {0x000380ba, 0x00000002}
++    ,
++    {0x000000aa, 0x0000001c}
++    ,
++    {0x00061096, 0x00000018}
++    ,
++    {0x84407471, 0x00000002}
++    ,                           /* mmSRC_SC_BOTTOM_RIGHT */
++    {0x00061095, 0x00000018}
++    ,
++    {0x8400746f, 0x00000002}
++    ,                           /* mmSC_TOP_LEFT */
++    {0x00061096, 0x00000018}
++    ,
++    {0x84407470, 0x00000002}
++    ,                           /* mmSC_BOTTOM_RIGHT */
++    {0x000000ad, 0x00000004}
++    ,
++    {0x80407471, 0x00000002}
++    ,                           /* mmSRC_SC_BOTTOM_RIGHT */
++    {0x8000746f, 0x00000002}
++    ,                           /* mmSC_TOP_LEFT */
++    {0x80407470, 0x00000002}
++    ,                           /* mmSC_BOTTOM_RIGHT */
++    {0x00108000, 0x00000002}
++    ,
++    {0x01400000, 0x00000002}
++    ,
++    {0x006000b1, 0x0000000c}
++    ,
++    {0x20c07000, 0x00000020}
++    ,
++    {0x000000b3, 0x00000012}
++    ,
++    {0x00800000, 0x00000006}
++    ,
++    {0x0080741d, 0x00000006}
++    ,                           /* mmBRUSH_Y_X */
++    {0x00000000, 0x00000000}
++    ,
++    {0x00000001, 0x00000000}
++    ,
++    {0x000380b5, 0x00000002}
++    ,
++    {0x04002054, 0x00000002}
++    ,                           /* mmNQWAIT_UNTIL */
++    {0x00005000, 0x00000000}
++    ,
++    {0x00000000, 0x00000000}
++    ,
++    {0x00000000, 0x00000000}
++    ,
++    {0x00000000, 0x00000000}
++    ,
++    {0x00000000, 0x00000000}
++    ,
++    {0x00000000, 0x00000000}
++    ,
++    {0x00000000, 0x00000000}
++    ,
++    {0x00000000, 0x00000000}
++};
+Index: git/hw/kdrive/w100/ati_stub.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/ati_stub.c      2006-09-02 12:12:14.000000000 +0200
+@@ -0,0 +1,103 @@
++/*
++ * Copyright Â© 2006 Alberto Mardegan <mardy@users.sourceforge.net>
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Alberto Mardegan not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Alberto Mardegan makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL ALBERTO MARDEGAN 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.
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <kdrive-config.h>
++#endif
++#include "ati.h"
++#include "w100_regs.h"
++#include "klinux.h"
++
++extern struct pci_id_entry ati_pci_ids[];
++
++static Bool
++FindW100(CARD16 vendor, CARD16 device, CARD32 count, KdCardAttr * attr)
++{
++    char *mmio;
++    CARD32 chip_id;
++    Bool found = FALSE;
++
++    mmio = KdMapDevice(ATI_REG_BASE(0), ATI_REG_SIZE(0));
++    KdSetMappedMode((CARD32) mmio, ATI_REG_SIZE(0),
++                    KD_MAPPED_MODE_REGISTERS);
++
++    chip_id = MMIO_IN32(mmio, mmCHIP_ID);
++    if ((vendor | (device << 16)) == chip_id) {
++        ErrorF("Found Chip ID: %08x\n\n", chip_id);
++        attr->deviceID = device;
++        attr->vendorID = vendor;
++        found = TRUE;
++    }
++    KdUnmapDevice(mmio, ATI_REG_SIZE(0));
++    return found;
++}
++
++
++void
++InitCard(char *name)
++{
++    struct pci_id_entry *id;
++    KdCardAttr attr;
++
++    for (id = ati_pci_ids; id->name != NULL; id++) {
++        int j = 0;
++        if (FindW100(id->vendor, id->device, j++, &attr))
++            KdCardInfoAdd(&ATIFuncs, &attr, 0);
++    }
++}
++
++void
++InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
++{
++    KdInitOutput(pScreenInfo, argc, argv);
++}
++
++void
++InitInput(int argc, char **argv)
++{
++    KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs);
++#ifdef TOUCHSCREEN
++    KdAddMouseDriver(&TsFuncs);
++#endif
++}
++
++void
++ddxUseMsg(void)
++{
++    KdUseMsg();
++#ifdef KDRIVEVESA
++    vesaUseMsg();
++#endif
++}
++
++int
++ddxProcessArgument(int argc, char **argv, int i)
++{
++    int ret;
++
++#ifdef KDRIVEVESA
++    if (!(ret = vesaProcessArgument(argc, argv, i)))
++#endif
++        ret = KdProcessArgument(argc, argv, i);
++
++    return ret;
++}
+Index: git/hw/kdrive/w100/Makefile.am
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/Makefile.am     2006-09-02 12:42:38.000000000 +0200
+@@ -0,0 +1,56 @@
++if KDRIVEFBDEV
++FBDEV_INCLUDES =-I$(top_srcdir)/hw/kdrive/fbdev
++FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a
++endif
++
++if KDRIVEVESA
++VESA_INCLUDES = -I$(top_srcdir)/hw/kdrive/vesa
++VESA_LIBS = $(top_builddir)/hw/kdrive/vesa/libvesa.a
++endif
++
++INCLUDES =                                    \
++      @KDRIVE_INCS@                           \
++      $(FBDEV_INCLUDES)                       \
++      $(VESA_INCLUDES)                        \
++      @KDRIVE_CFLAGS@
++
++bin_PROGRAMS = Xw100
++
++if TSLIB
++TSLIB_FLAG = -lts
++endif
++
++noinst_LIBRARIES = libw100.a
++
++libw100_a_SOURCES =   \
++      ati_cursor.c    \
++      ati_dma.c       \
++      ati_dma.h       \
++      ati_draw.c      \
++      ati_draw.h      \
++      ati_microcode.c \
++      ati.c           \
++      ati.h           \
++      w100_regs.h \
++      w100_const.h
++
++Xw100_SOURCES = \
++      ati_stub.c
++
++W100_LIBS =                           \
++      libw100.a                       \
++      $(FBDEV_LIBS)                   \
++      $(VESA_LIBS)                    \
++      $(DRI_LIBS)                     \
++      @KDRIVE_LIBS@
++
++Xw100_LDADD = \
++      $(W100_LIBS)                    \
++      @XSERVER_LIBS@                  \
++      $(TSLIB_FLAG)
++
++
++Xw100_DEPENDENCIES =                  \
++        libw100.a                       \
++        $(FBDEV_LIBS)                   \
++        $(VESA_LIBS)
+Index: git/hw/kdrive/w100/w100_const.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/w100_const.h    2006-09-02 12:12:14.000000000 +0200
+@@ -0,0 +1,25 @@
++#define CSQ_CNTL_MODE_FREERUN   0x8
++
++#define WB_BLOCK_SIZE_A_0   0
++#define WB_BLOCK_SIZE_A_1   1
++#define WB_BLOCK_SIZE_A_2   2
++#define WB_BLOCK_SIZE_A_3   3
++#define WB_BLOCK_SIZE_A_4   4
++
++#define DATATYPE_8BPP      2
++#define DATATYPE_ARGB1555  3
++#define DATATYPE_ARGB4444  5
++
++#define BRUSH_SOLIDCOLOR    13
++#define BRUSH_NONE          15
++
++#define OP_ROP                   0
++#define OP_ARITHMETIC            1
++
++#define SOURCE_MEM_RECTANGULAR  2
++
++#define W100_MAXINT 0x1fff
++
++#define W100_CCE_PACKET3_PAINT_MULTI    0xc0001a00
++#define W100_CCE_PACKET3_BITBLT_MULTI   0xc0001b00
++
+Index: git/hw/kdrive/w100/w100_regs.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git/hw/kdrive/w100/w100_regs.h     2006-09-02 12:12:14.000000000 +0200
+@@ -0,0 +1,3802 @@
++#ifndef _W100_REGS_H_
++#define _W100_REGS_H_
++
++/* Block CIF Start: */
++#define mmCHIP_ID                                                    0x0000
++#define mmREVISION_ID                                                0x0004
++#define mmWRAP_BUF_A                                                 0x0008
++#define mmWRAP_BUF_B                                                 0x000C
++#define mmWRAP_TOP_DIR                                               0x0010
++#define mmWRAP_START_DIR                                             0x0014
++#define mmCIF_CNTL                                                   0x0018
++#define mmCFGREG_BASE                                                0x001C
++#define mmCIF_IO                                                     0x0020
++#define mmCIF_READ_DBG                                               0x0024
++#define mmCIF_WRITE_DBG                                              0x0028
++#define cfgIND_ADDR_A_0                                              0x0000
++#define cfgIND_ADDR_A_1                                              0x0001
++#define cfgIND_ADDR_A_2                                              0x0002
++#define cfgIND_DATA_A                                                0x0003
++#define cfgREG_BASE                                                  0x0004
++#define cfgINTF_CNTL                                                 0x0005
++#define cfgSTATUS                                                    0x0006
++#define cfgCPU_DEFAULTS                                              0x0007
++#define cfgIND_ADDR_B_0                                              0x0008
++#define cfgIND_ADDR_B_1                                              0x0009
++#define cfgIND_ADDR_B_2                                              0x000A
++#define cfgIND_DATA_B                                                0x000B
++#define cfgPM4_RPTR                                                  0x000C
++#define cfgSCRATCH                                                   0x000D
++#define cfgPM4_WRPTR_0                                               0x000E
++#define cfgPM4_WRPTR_1                                               0x000F
++/* Block CIF End: */
++
++/* Block CP Start: */
++#define mmCP_RB_CNTL                                                 0x0210
++#define mmCP_RB_BASE                                                 0x0214
++#define mmCP_RB_RPTR_ADDR                                            0x0218
++#define mmCP_RB_RPTR                                                 0x021C
++#define mmCP_RB_RPTR_WR                                              0x02F8
++#define mmCP_RB_WPTR                                                 0x0220
++#define mmCP_IB_BASE                                                 0x0228
++#define mmCP_IB_BUFSZ                                                0x022C
++#define mmCP_CSQ_CNTL                                                0x0230
++#define mmCP_CSQ_APER_PRIMARY                                        0x0300
++#define mmCP_CSQ_APER_INDIRECT                                       0x0340
++#define mmCP_ME_CNTL                                                 0x0240
++#define mmCP_ME_RAM_ADDR                                             0x0244
++#define mmCP_ME_RAM_RADDR                                            0x0248
++#define mmCP_ME_RAM_DATAH                                            0x024C
++#define mmCP_ME_RAM_DATAL                                            0x0250
++#define mmCP_DEBUG                                                   0x025C
++#define mmSCRATCH_REG0                                               0x0260
++#define mmSCRATCH_REG1                                               0x0264
++#define mmSCRATCH_REG2                                               0x0268
++#define mmSCRATCH_REG3                                               0x026C
++#define mmSCRATCH_REG4                                               0x0270
++#define mmSCRATCH_REG5                                               0x0274
++#define mmSCRATCH_UMSK                                               0x0280
++#define mmSCRATCH_ADDR                                               0x0284
++#define mmCP_CSQ_ADDR                                                0x02E4
++#define mmCP_CSQ_DATA                                                0x02E8
++#define mmCP_CSQ_STAT                                                0x02EC
++#define mmCP_STAT                                                    0x02F0
++#define mmGEN_INT_CNTL                                               0x0200
++#define mmGEN_INT_STATUS                                             0x0204
++/* Block CP End: */
++
++/* Block DISPLAY Start: */
++#define mmLCD_FORMAT                                                 0x0410
++#define mmGRAPHIC_CTRL                                               0x0414
++#define mmGRAPHIC_OFFSET                                             0x0418
++#define mmGRAPHIC_PITCH                                              0x041C
++#define mmCRTC_TOTAL                                                 0x0420
++#define mmACTIVE_H_DISP                                              0x0424
++#define mmACTIVE_V_DISP                                              0x0428
++#define mmGRAPHIC_H_DISP                                             0x042C
++#define mmGRAPHIC_V_DISP                                             0x0430
++#define mmVIDEO_CTRL                                                 0x0434
++#define mmGRAPHIC_KEY                                                0x0438
++#define mmVIDEO_Y_OFFSET                                             0x043C
++#define mmVIDEO_Y_PITCH                                              0x0440
++#define mmVIDEO_U_OFFSET                                             0x0444
++#define mmVIDEO_U_PITCH                                              0x0448
++#define mmVIDEO_V_OFFSET                                             0x044C
++#define mmVIDEO_V_PITCH                                              0x0450
++#define mmVIDEO_H_POS                                                0x0454
++#define mmVIDEO_V_POS                                                0x0458
++#define mmBRIGHTNESS_CNTL                                            0x045C
++#define mmCURSOR1_OFFSET                                             0x0460
++#define mmCURSOR1_H_POS                                              0x0464
++#define mmCURSOR1_V_POS                                              0x0468
++#define mmCURSOR1_COLOR0                                             0x046C
++#define mmCURSOR1_COLOR1                                             0x0470
++#define mmCURSOR2_OFFSET                                             0x0474
++#define mmCURSOR2_H_POS                                              0x0478
++#define mmCURSOR2_V_POS                                              0x047C
++#define mmCURSOR2_COLOR0                                             0x0480
++#define mmCURSOR2_COLOR1                                             0x0484
++#define mmDISP_INT_CNTL                                              0x0488
++#define mmCRTC_SS                                                    0x048C
++#define mmCRTC_LS                                                    0x0490
++#define mmCRTC_REV                                                   0x0494
++#define mmCRTC_DCLK                                                  0x049C
++#define mmCRTC_GS                                                    0x04A0
++#define mmCRTC_VPOS_GS                                               0x04A4
++#define mmCRTC_GCLK                                                  0x04A8
++#define mmCRTC_GOE                                                   0x04AC
++#define mmCRTC_FRAME                                                 0x04B0
++#define mmCRTC_FRAME_VPOS                                            0x04B4
++#define mmGPIO_DATA                                                  0x04B8
++#define mmGPIO_CNTL1                                                 0x04BC
++#define mmGPIO_CNTL2                                                 0x04C0
++#define mmLCDD_CNTL1                                                 0x04C4
++#define mmLCDD_CNTL2                                                 0x04C8
++#define mmGENLCD_CNTL1                                               0x04CC
++#define mmGENLCD_CNTL2                                               0x04D0
++#define mmDISP_DEBUG                                                 0x04D4
++#define mmDISP_DB_BUF_CNTL                                           0x04D8
++#define mmDISP_CRC_SIG                                               0x04DC
++#define mmCRTC_DEFAULT_COUNT                                         0x04E0
++#define mmLCD_BACKGROUND_COLOR                                       0x04E4
++#define mmCRTC_PS2                                                   0x04E8
++#define mmCRTC_PS2_VPOS                                              0x04EC
++#define mmCRTC_PS1_ACTIVE                                            0x04F0
++#define mmCRTC_PS1_NACTIVE                                           0x04F4
++#define mmCRTC_GCLK_EXT                                              0x04F8
++#define mmCRTC_ALW                                                   0x04FC
++#define mmCRTC_ALW_VPOS                                              0x0500
++#define mmCRTC_PSK                                                   0x0504
++#define mmCRTC_PSK_HPOS                                              0x0508
++#define mmCRTC_CV4_START                                             0x050C
++#define mmCRTC_CV4_END                                               0x0510
++#define mmCRTC_CV4_HPOS                                              0x0514
++#define mmCRTC_ECK                                                   0x051C
++#define mmREFRESH_CNTL                                               0x0520
++#define mmGENLCD_CNTL3                                               0x0524
++#define mmGPIO_DATA2                                                 0x0528
++#define mmGPIO_CNTL3                                                 0x052C
++#define mmGPIO_CNTL4                                                 0x0530
++#define mmCHIP_STRAP                                                 0x0534
++#define mmDISP_DEBUG2                                                0x0538
++#define mmDEBUG_BUS_CNTL                                             0x053C
++#define mmGAMMA_VALUE1                                               0x0540
++#define mmGAMMA_VALUE2                                               0x0544
++#define mmGAMMA_SLOPE                                                0x0548
++#define mmGEN_STATUS                                                 0x054C
++#define mmHW_INT                                                     0x0550
++/* Block DISPLAY End: */
++
++/* Block GFX Start: */
++#define mmDST_OFFSET                                                 0x1004
++#define mmDST_PITCH                                                  0x1008
++#define mmDST_PITCH_OFFSET                                           0x102C
++#define mmDST_X                                                      0x101C
++#define mmDST_Y                                                      0x1020
++#define mmDST_X_Y                                                    0x1194
++#define mmDST_Y_X                                                    0x1038
++#define mmDST_WIDTH                                                  0x100C
++#define mmDST_HEIGHT                                                 0x1010
++#define mmDST_WIDTH_HEIGHT                                           0x1198
++#define mmDST_HEIGHT_WIDTH                                           0x103C
++#define mmDST_HEIGHT_WIDTH_8                                         0x118C
++#define mmDST_HEIGHT_Y                                               0x11A0
++#define mmDST_WIDTH_X                                                0x1188
++#define mmDST_WIDTH_X_INCY                                           0x119C
++#define mmDST_LINE_START                                             0x1090
++#define mmDST_LINE_END                                               0x1094
++#define mmBRUSH_OFFSET                                               0x108C
++#define mmBRUSH_Y_X                                                  0x1074
++#define mmDP_BRUSH_FRGD_CLR                                          0x107C
++#define mmDP_BRUSH_BKGD_CLR                                          0x1078
++#define mmSRC2_OFFSET                                                0x1060
++#define mmSRC2_PITCH                                                 0x1064
++#define mmSRC2_PITCH_OFFSET                                          0x1068
++#define mmSRC2_X                                                     0x1050
++#define mmSRC2_Y                                                     0x1054
++#define mmSRC2_X_Y                                                   0x1058
++#define mmSRC2_WIDTH                                                 0x1080
++#define mmSRC2_HEIGHT                                                0x1084
++#define mmSRC2_INC                                                   0x1088
++#define mmSRC_OFFSET                                                 0x11AC
++#define mmSRC_PITCH                                                  0x11B0
++#define mmSRC_PITCH_OFFSET                                           0x1028
++#define mmSRC_X                                                      0x1014
++#define mmSRC_Y                                                      0x1018
++#define mmSRC_X_Y                                                    0x1190
++#define mmSRC_Y_X                                                    0x1034
++#define mmSRC_WIDTH                                                  0x1040
++#define mmSRC_HEIGHT                                                 0x1044
++#define mmSRC_INC                                                    0x1048
++#define mmHOST_DATA0                                                 0x13C0
++#define mmHOST_DATA1                                                 0x13C4
++#define mmHOST_DATA2                                                 0x13C8
++#define mmHOST_DATA3                                                 0x13CC
++#define mmHOST_DATA4                                                 0x13D0
++#define mmHOST_DATA5                                                 0x13D4
++#define mmHOST_DATA6                                                 0x13D8
++#define mmHOST_DATA7                                                 0x13DC
++#define mmHOST_DATA_LAST                                             0x13E0
++#define mmDP_SRC_FRGD_CLR                                            0x1240
++#define mmDP_SRC_BKGD_CLR                                            0x1244
++#define mmSC_LEFT                                                    0x1140
++#define mmSC_RIGHT                                                   0x1144
++#define mmSC_TOP                                                     0x1148
++#define mmSC_BOTTOM                                                  0x114C
++#define mmSRC_SC_RIGHT                                               0x1154
++#define mmSRC_SC_BOTTOM                                              0x115C
++#define mmDP_CNTL                                                    0x11C8
++#define mmDP_CNTL_DST_DIR                                            0x11CC
++#define mmDP_DATATYPE                                                0x12C4
++#define mmDP_MIX                                                     0x12C8
++#define mmDP_WRITE_MSK                                               0x12CC
++#define mmCLR_CMP_CLR_SRC                                            0x1234
++#define mmCLR_CMP_CLR_DST                                            0x1238
++#define mmCLR_CMP_CNTL                                               0x1230
++#define mmCLR_CMP_MSK                                                0x123C
++#define mmDEFAULT_PITCH_OFFSET                                       0x10A0
++#define mmDEFAULT_SC_BOTTOM_RIGHT                                    0x10A8
++#define mmDEFAULT2_SC_BOTTOM_RIGHT                                   0x10AC
++#define mmREF1_PITCH_OFFSET                                          0x10B8
++#define mmREF2_PITCH_OFFSET                                          0x10BC
++#define mmREF3_PITCH_OFFSET                                          0x10C0
++#define mmREF4_PITCH_OFFSET                                          0x10C4
++#define mmREF5_PITCH_OFFSET                                          0x10C8
++#define mmREF6_PITCH_OFFSET                                          0x10CC
++#define mmDP_GUI_MASTER_CNTL                                         0x106C
++#define mmSC_TOP_LEFT                                                0x11BC
++#define mmSC_BOTTOM_RIGHT                                            0x11C0
++#define mmSRC_SC_BOTTOM_RIGHT                                        0x11C4
++#define mmGLOBAL_ALPHA                                               0x1210
++#define mmFILTER_COEF                                                0x1214
++#define mmMVC_CNTL_START                                             0x11E0
++#define mmE2_ARITHMETIC_CNTL                                         0x1220
++#define mmDEBUG0                                                     0x1280
++#define mmDEBUG1                                                     0x1284
++#define mmDEBUG2                                                     0x1288
++#define mmDEBUG3                                                     0x128C
++#define mmDEBUG4                                                     0x1290
++#define mmDEBUG5                                                     0x1294
++#define mmDEBUG6                                                     0x1298
++#define mmDEBUG7                                                     0x129C
++#define mmDEBUG8                                                     0x12A0
++#define mmDEBUG9                                                     0x12A4
++#define mmDEBUG10                                                    0x12A8
++#define mmDEBUG11                                                    0x12AC
++#define mmDEBUG12                                                    0x12B0
++#define mmDEBUG13                                                    0x12B4
++#define mmDEBUG14                                                    0x12B8
++#define mmDEBUG15                                                    0x12BC
++#define mmENG_CNTL                                                   0x13E8
++#define mmENG_PERF_CNT                                               0x13F0
++/* Block GFX End: */
++
++/* Block IDCT Start: */
++#define mmIDCT_RUNS                                                  0x0C00
++#define mmIDCT_LEVELS                                                0x0C04
++#define mmIDCT_CONTROL                                               0x0C3C
++#define mmIDCT_AUTH_CONTROL                                          0x0C08
++#define mmIDCT_AUTH                                                  0x0C0C
++/* Block IDCT End: */
++
++/* Block MC Start: */
++#define mmMEM_CNTL                                                   0x0180
++#define mmMEM_ARB                                                    0x0184
++#define mmMC_FB_LOCATION                                             0x0188
++#define mmMEM_EXT_CNTL                                               0x018C
++#define mmMC_EXT_MEM_LOCATION                                        0x0190
++#define mmMEM_EXT_TIMING_CNTL                                        0x0194
++#define mmMEM_SDRAM_MODE_REG                                         0x0198
++#define mmMEM_IO_CNTL                                                0x019C
++#define mmMC_DEBUG                                                   0x01A0
++#define mmMC_BIST_CTRL                                               0x01A4
++#define mmMC_BIST_COLLAR_READ                                        0x01A8
++#define mmTC_MISMATCH                                                0x01AC
++#define mmMC_PERF_MON_CNTL                                           0x01B0
++#define mmMC_PERF_COUNTERS                                           0x01B4
++/* Block MC End: */
++
++/* Block RBBM Start: */
++#define mmWAIT_UNTIL                                                 0x1400
++#define mmISYNC_CNTL                                                 0x1404
++#define mmRBBM_GUICNTL                                               0x1408
++#define mmRBBM_STATUS                                                0x0140
++#define mmRBBM_STATUS_alt_1                                          0x140C
++#define mmRBBM_CNTL                                                  0x0144
++#define mmRBBM_SOFT_RESET                                            0x0148
++#define mmNQWAIT_UNTIL                                               0x0150
++#define mmRBBM_DEBUG                                                 0x016C
++#define mmRBBM_CMDFIFO_ADDR                                          0x0170
++#define mmRBBM_CMDFIFO_DATAL                                         0x0174
++#define mmRBBM_CMDFIFO_DATAH                                         0x0178
++#define mmRBBM_CMDFIFO_STAT                                          0x017C
++/* Block RBBM End: */
++
++/* Block CG Start: */
++#define mmCLK_PIN_CNTL                                               0x0080
++#define mmPLL_REF_FB_DIV                                             0x0084
++#define mmPLL_CNTL                                                   0x0088
++#define mmSCLK_CNTL                                                  0x008C
++#define mmPCLK_CNTL                                                  0x0090
++#define mmCLK_TEST_CNTL                                              0x0094
++#define mmPWRMGT_CNTL                                                0x0098
++#define mmPWRMGT_STATUS                                              0x009C
++/* Block CG End: */
++
++
++/* data structure definitions */
++
++typedef struct _chip_id_t {
++     unsigned long vendor_id                      : 16;
++     unsigned long device_id                      : 16;
++     } chip_id_t;
++
++typedef union {
++     unsigned long val : 32;
++     chip_id_t f;
++} chip_id_u;
++
++typedef struct _revision_id_t {
++     unsigned long minor_rev_id                   : 4;
++     unsigned long major_rev_id                   : 4;
++     unsigned long                                : 24;
++     } revision_id_t;
++
++typedef union {
++     unsigned long val : 32;
++     revision_id_t f;
++} revision_id_u;
++
++typedef struct _wrap_buf_a_t {
++     unsigned long offset_addr_a                  : 24;
++     unsigned long block_size_a                   : 3;
++     unsigned long                                : 5;
++     } wrap_buf_a_t;
++
++typedef union {
++     unsigned long val : 32;
++     wrap_buf_a_t f;
++} wrap_buf_a_u;
++
++typedef struct _wrap_buf_b_t {
++     unsigned long offset_addr_b                  : 24;
++     unsigned long block_size_b                   : 3;
++     unsigned long                                : 5;
++     } wrap_buf_b_t;
++
++typedef union {
++     unsigned long val : 32;
++     wrap_buf_b_t f;
++} wrap_buf_b_u;
++
++typedef struct _wrap_top_dir_t {
++     unsigned long top_addr                       : 23;
++     unsigned long                                : 9;
++     } wrap_top_dir_t;
++
++typedef union {
++     unsigned long val : 32;
++     wrap_top_dir_t f;
++} wrap_top_dir_u;
++
++typedef struct _wrap_start_dir_t {
++     unsigned long start_addr                     : 23;
++     unsigned long                                : 9;
++     } wrap_start_dir_t;
++
++typedef union {
++     unsigned long val : 32;
++     wrap_start_dir_t f;
++} wrap_start_dir_u;
++
++typedef struct _cif_cntl_t {
++     unsigned long swap_reg                       : 2;
++     unsigned long swap_fbuf_1                    : 2;
++     unsigned long swap_fbuf_2                    : 2;
++     unsigned long swap_fbuf_3                    : 2;
++     unsigned long pmi_int_disable                : 1;
++     unsigned long pmi_schmen_disable             : 1;
++     unsigned long intb_oe                        : 1;
++     unsigned long en_wait_to_compensate_dq_prop_dly : 1;
++     unsigned long compensate_wait_rd_size        : 2;
++     unsigned long wait_asserted_timeout_val      : 2;
++     unsigned long wait_masked_val                : 2;
++     unsigned long en_wait_timeout                : 1;
++     unsigned long en_one_clk_setup_before_wait   : 1;
++     unsigned long interrupt_active_high          : 1;
++     unsigned long en_overwrite_straps            : 1;
++     unsigned long strap_wait_active_hi           : 1;
++     unsigned long lat_busy_count                 : 2;
++     unsigned long lat_rd_pm4_sclk_busy           : 1;
++     unsigned long dis_system_bits                : 1;
++     unsigned long dis_mr                         : 1;
++     unsigned long cif_spare_1                    : 4;
++     } cif_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     cif_cntl_t f;
++} cif_cntl_u;
++
++typedef struct _cfgreg_base_t {
++     unsigned long cfgreg_base                    : 24;
++     unsigned long                                : 8;
++     } cfgreg_base_t;
++
++typedef union {
++     unsigned long val : 32;
++     cfgreg_base_t f;
++} cfgreg_base_u;
++
++typedef struct _cif_io_t {
++     unsigned long dq_srp                         : 1;
++     unsigned long dq_srn                         : 1;
++     unsigned long dq_sp                          : 4;
++     unsigned long dq_sn                          : 4;
++     unsigned long waitb_srp                      : 1;
++     unsigned long waitb_srn                      : 1;
++     unsigned long waitb_sp                       : 4;
++     unsigned long waitb_sn                       : 4;
++     unsigned long intb_srp                       : 1;
++     unsigned long intb_srn                       : 1;
++     unsigned long intb_sp                        : 4;
++     unsigned long intb_sn                        : 4;
++     unsigned long                                : 2;
++     } cif_io_t;
++
++typedef union {
++     unsigned long val : 32;
++     cif_io_t f;
++} cif_io_u;
++
++typedef struct _cif_read_dbg_t {
++     unsigned long unpacker_pre_fetch_trig_gen    : 2;
++     unsigned long dly_second_rd_fetch_trig       : 1;
++     unsigned long rst_rd_burst_id                : 1;
++     unsigned long dis_rd_burst_id                : 1;
++     unsigned long en_block_rd_when_packer_is_not_emp : 1;
++     unsigned long dis_pre_fetch_cntl_sm          : 1;
++     unsigned long rbbm_chrncy_dis                : 1;
++     unsigned long rbbm_rd_after_wr_lat           : 2;
++     unsigned long dis_be_during_rd               : 1;
++     unsigned long one_clk_invalidate_pulse       : 1;
++     unsigned long dis_chnl_priority              : 1;
++     unsigned long rst_read_path_a_pls            : 1;
++     unsigned long rst_read_path_b_pls            : 1;
++     unsigned long dis_reg_rd_fetch_trig          : 1;
++     unsigned long dis_rd_fetch_trig_from_ind_addr : 1;
++     unsigned long dis_rd_same_byte_to_trig_fetch : 1;
++     unsigned long dis_dir_wrap                   : 1;
++     unsigned long dis_ring_buf_to_force_dec      : 1;
++     unsigned long dis_addr_comp_in_16bit         : 1;
++     unsigned long clr_w                          : 1;
++     unsigned long err_rd_tag_is_3                : 1;
++     unsigned long err_load_when_ful_a            : 1;
++     unsigned long err_load_when_ful_b            : 1;
++     unsigned long                                : 7;
++     } cif_read_dbg_t;
++
++typedef union {
++     unsigned long val : 32;
++     cif_read_dbg_t f;
++} cif_read_dbg_u;
++
++typedef struct _cif_write_dbg_t {
++     unsigned long packer_timeout_count           : 2;
++     unsigned long en_upper_load_cond             : 1;
++     unsigned long en_chnl_change_cond            : 1;
++     unsigned long dis_addr_comp_cond             : 1;
++     unsigned long dis_load_same_byte_addr_cond   : 1;
++     unsigned long dis_timeout_cond               : 1;
++     unsigned long dis_timeout_during_rbbm        : 1;
++     unsigned long dis_packer_ful_during_rbbm_timeout : 1;
++     unsigned long en_dword_split_to_rbbm         : 1;
++     unsigned long en_dummy_val                   : 1;
++     unsigned long dummy_val_sel                  : 1;
++     unsigned long mask_pm4_wrptr_dec             : 1;
++     unsigned long dis_mc_clean_cond              : 1;
++     unsigned long err_two_reqi_during_ful        : 1;
++     unsigned long err_reqi_during_idle_clk       : 1;
++     unsigned long err_global                     : 1;
++     unsigned long en_wr_buf_dbg_load             : 1;
++     unsigned long en_wr_buf_dbg_path             : 1;
++     unsigned long sel_wr_buf_byte                : 3;
++     unsigned long dis_rd_flush_wr                : 1;
++     unsigned long dis_packer_ful_cond            : 1;
++     unsigned long dis_invalidate_by_ops_chnl     : 1;
++     unsigned long en_halt_when_reqi_err          : 1;
++     unsigned long cif_spare_2                    : 5;
++     unsigned long                                : 1;
++     } cif_write_dbg_t;
++
++typedef union {
++     unsigned long val : 32;
++     cif_write_dbg_t f;
++} cif_write_dbg_u;
++
++typedef struct _ind_addr_a_0_t {
++     unsigned char ind_addr_a_0                   : 8;
++     } ind_addr_a_0_t;
++
++typedef union {
++     unsigned char val : 8;
++     ind_addr_a_0_t f;
++} ind_addr_a_0_u;
++
++typedef struct _ind_addr_a_1_t {
++     unsigned char ind_addr_a_1                   : 8;
++     } ind_addr_a_1_t;
++
++typedef union {
++     unsigned char val : 8;
++     ind_addr_a_1_t f;
++} ind_addr_a_1_u;
++
++typedef struct _ind_addr_a_2_t {
++     unsigned char ind_addr_a_2                   : 8;
++     } ind_addr_a_2_t;
++
++typedef union {
++     unsigned char val : 8;
++     ind_addr_a_2_t f;
++} ind_addr_a_2_u;
++
++typedef struct _ind_data_a_t {
++     unsigned char ind_data_a                     : 8;
++     } ind_data_a_t;
++
++typedef union {
++     unsigned char val : 8;
++     ind_data_a_t f;
++} ind_data_a_u;
++
++typedef struct _reg_base_t {
++     unsigned char reg_base                       : 8;
++     } reg_base_t;
++
++typedef union {
++     unsigned char val : 8;
++     reg_base_t f;
++} reg_base_u;
++
++typedef struct _intf_cntl_t {
++     unsigned char ad_inc_a                       : 1;
++     unsigned char ring_buf_a                     : 1;
++     unsigned char rd_fetch_trigger_a             : 1;
++     unsigned char rd_data_rdy_a                  : 1;
++     unsigned char ad_inc_b                       : 1;
++     unsigned char ring_buf_b                     : 1;
++     unsigned char rd_fetch_trigger_b             : 1;
++     unsigned char rd_data_rdy_b                  : 1;
++     } intf_cntl_t;
++
++typedef union {
++     unsigned char val : 8;
++     intf_cntl_t f;
++} intf_cntl_u;
++
++typedef struct _status_t {
++     unsigned char wr_fifo_available_space        : 2;
++     unsigned char fbuf_wr_pipe_emp               : 1;
++     unsigned char soft_reset                     : 1;
++     unsigned char system_pwm_mode                : 2;
++     unsigned char mem_access_dis                 : 1;
++     unsigned char en_pre_fetch                   : 1;
++     } status_t;
++
++typedef union {
++     unsigned char val : 8;
++     status_t f;
++} status_u;
++
++typedef struct _cpu_defaults_t {
++     unsigned char unpack_rd_data                 : 1;
++     unsigned char access_ind_addr_a              : 1;
++     unsigned char access_ind_addr_b              : 1;
++     unsigned char access_scratch_reg             : 1;
++     unsigned char pack_wr_data                   : 1;
++     unsigned char transition_size                : 1;
++     unsigned char en_read_buf_mode               : 1;
++     unsigned char rd_fetch_scratch               : 1;
++     } cpu_defaults_t;
++
++typedef union {
++     unsigned char val : 8;
++     cpu_defaults_t f;
++} cpu_defaults_u;
++
++typedef struct _ind_addr_b_0_t {
++     unsigned char ind_addr_b_0                   : 8;
++     } ind_addr_b_0_t;
++
++typedef union {
++     unsigned char val : 8;
++     ind_addr_b_0_t f;
++} ind_addr_b_0_u;
++
++typedef struct _ind_addr_b_1_t {
++     unsigned char ind_addr_b_1                   : 8;
++     } ind_addr_b_1_t;
++
++typedef union {
++     unsigned char val : 8;
++     ind_addr_b_1_t f;
++} ind_addr_b_1_u;
++
++typedef struct _ind_addr_b_2_t {
++     unsigned char ind_addr_b_2                   : 8;
++     } ind_addr_b_2_t;
++
++typedef union {
++     unsigned char val : 8;
++     ind_addr_b_2_t f;
++} ind_addr_b_2_u;
++
++typedef struct _ind_data_b_t {
++     unsigned char ind_data_b                     : 8;
++     } ind_data_b_t;
++
++typedef union {
++     unsigned char val : 8;
++     ind_data_b_t f;
++} ind_data_b_u;
++
++typedef struct _pm4_rptr_t {
++     unsigned char pm4_rptr                       : 8;
++     } pm4_rptr_t;
++
++typedef union {
++     unsigned char val : 8;
++     pm4_rptr_t f;
++} pm4_rptr_u;
++
++typedef struct _scratch_t {
++     unsigned char scratch                        : 8;
++     } scratch_t;
++
++typedef union {
++     unsigned char val : 8;
++     scratch_t f;
++} scratch_u;
++
++typedef struct _pm4_wrptr_0_t {
++     unsigned char pm4_wrptr_0                    : 8;
++     } pm4_wrptr_0_t;
++
++typedef union {
++     unsigned char val : 8;
++     pm4_wrptr_0_t f;
++} pm4_wrptr_0_u;
++
++typedef struct _pm4_wrptr_1_t {
++     unsigned char pm4_wrptr_1                    : 6;
++     unsigned char rd_fetch_pm4_rptr              : 1;
++     unsigned char wrptr_atomic_update_w          : 1;
++     } pm4_wrptr_1_t;
++
++typedef union {
++     unsigned char val : 8;
++     pm4_wrptr_1_t f;
++} pm4_wrptr_1_u;
++
++typedef struct _cp_rb_cntl_t {
++     unsigned long rb_bufsz                       : 6;
++     unsigned long                                : 2;
++     unsigned long rb_blksz                       : 6;
++     unsigned long                                : 2;
++     unsigned long buf_swap                       : 2;
++     unsigned long max_fetch                      : 2;
++     unsigned long                                : 7;
++     unsigned long rb_no_update                   : 1;
++     unsigned long                                : 3;
++     unsigned long rb_rptr_wr_ena                 : 1;
++     } cp_rb_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_rb_cntl_t f;
++} cp_rb_cntl_u;
++
++typedef struct _cp_rb_base_t {
++     unsigned long                                : 2;
++     unsigned long rb_base                        : 22;
++     unsigned long                                : 8;
++     } cp_rb_base_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_rb_base_t f;
++} cp_rb_base_u;
++
++typedef struct _cp_rb_rptr_addr_t {
++     unsigned long rb_rptr_swap                   : 2;
++     unsigned long rb_rptr_addr                   : 22;
++     unsigned long                                : 8;
++     } cp_rb_rptr_addr_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_rb_rptr_addr_t f;
++} cp_rb_rptr_addr_u;
++
++typedef struct _cp_rb_rptr_t {
++     unsigned long rb_rptr                        : 23;
++     unsigned long                                : 9;
++     } cp_rb_rptr_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_rb_rptr_t f;
++} cp_rb_rptr_u;
++
++typedef struct _cp_rb_rptr_wr_t {
++     unsigned long rb_rptr_wr                     : 23;
++     unsigned long                                : 9;
++     } cp_rb_rptr_wr_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_rb_rptr_wr_t f;
++} cp_rb_rptr_wr_u;
++
++typedef struct _cp_rb_wptr_t {
++     unsigned long rb_wptr                        : 23;
++     unsigned long                                : 9;
++     } cp_rb_wptr_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_rb_wptr_t f;
++} cp_rb_wptr_u;
++
++typedef struct _cp_ib_base_t {
++     unsigned long                                : 2;
++     unsigned long ib_base                        : 22;
++     unsigned long                                : 8;
++     } cp_ib_base_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_ib_base_t f;
++} cp_ib_base_u;
++
++typedef struct _cp_ib_bufsz_t {
++     unsigned long ib_bufsz                       : 23;
++     unsigned long                                : 9;
++     } cp_ib_bufsz_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_ib_bufsz_t f;
++} cp_ib_bufsz_u;
++
++typedef struct _cp_csq_cntl_t {
++     unsigned long csq_cnt_primary                : 8;
++     unsigned long csq_cnt_indirect               : 8;
++     unsigned long                                : 12;
++     unsigned long csq_mode                       : 4;
++     } cp_csq_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_csq_cntl_t f;
++} cp_csq_cntl_u;
++
++typedef struct _cp_csq_aper_primary_t {
++     unsigned long cp_csq_aper_primary            : 32;
++     } cp_csq_aper_primary_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_csq_aper_primary_t f;
++} cp_csq_aper_primary_u;
++
++typedef struct _cp_csq_aper_indirect_t {
++     unsigned long cp_csq_aper_indirect           : 32;
++     } cp_csq_aper_indirect_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_csq_aper_indirect_t f;
++} cp_csq_aper_indirect_u;
++
++typedef struct _cp_me_cntl_t {
++     unsigned long me_stat                        : 16;
++     unsigned long me_statmux                     : 5;
++     unsigned long                                : 8;
++     unsigned long me_busy                        : 1;
++     unsigned long me_mode                        : 1;
++     unsigned long me_step                        : 1;
++     } cp_me_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_me_cntl_t f;
++} cp_me_cntl_u;
++
++typedef struct _cp_me_ram_addr_t {
++     unsigned long me_ram_addr                    : 8;
++     unsigned long                                : 24;
++     } cp_me_ram_addr_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_me_ram_addr_t f;
++} cp_me_ram_addr_u;
++
++typedef struct _cp_me_ram_raddr_t {
++     unsigned long me_ram_raddr                   : 8;
++     unsigned long                                : 24;
++     } cp_me_ram_raddr_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_me_ram_raddr_t f;
++} cp_me_ram_raddr_u;
++
++typedef struct _cp_me_ram_datah_t {
++     unsigned long me_ram_datah                   : 6;
++     unsigned long                                : 26;
++     } cp_me_ram_datah_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_me_ram_datah_t f;
++} cp_me_ram_datah_u;
++
++typedef struct _cp_me_ram_datal_t {
++     unsigned long me_ram_datal                   : 32;
++     } cp_me_ram_datal_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_me_ram_datal_t f;
++} cp_me_ram_datal_u;
++
++typedef struct _cp_debug_t {
++     unsigned long cp_debug                       : 32;
++     } cp_debug_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_debug_t f;
++} cp_debug_u;
++
++typedef struct _scratch_reg0_t {
++     unsigned long scratch_reg0                   : 32;
++     } scratch_reg0_t;
++
++typedef union {
++     unsigned long val : 32;
++     scratch_reg0_t f;
++} scratch_reg0_u;
++
++typedef struct _scratch_reg1_t {
++     unsigned long scratch_reg1                   : 32;
++     } scratch_reg1_t;
++
++typedef union {
++     unsigned long val : 32;
++     scratch_reg1_t f;
++} scratch_reg1_u;
++
++typedef struct _scratch_reg2_t {
++     unsigned long scratch_reg2                   : 32;
++     } scratch_reg2_t;
++
++typedef union {
++     unsigned long val : 32;
++     scratch_reg2_t f;
++} scratch_reg2_u;
++
++typedef struct _scratch_reg3_t {
++     unsigned long scratch_reg3                   : 32;
++     } scratch_reg3_t;
++
++typedef union {
++     unsigned long val : 32;
++     scratch_reg3_t f;
++} scratch_reg3_u;
++
++typedef struct _scratch_reg4_t {
++     unsigned long scratch_reg4                   : 32;
++     } scratch_reg4_t;
++
++typedef union {
++     unsigned long val : 32;
++     scratch_reg4_t f;
++} scratch_reg4_u;
++
++typedef struct _scratch_reg5_t {
++     unsigned long scratch_reg5                   : 32;
++     } scratch_reg5_t;
++
++typedef union {
++     unsigned long val : 32;
++     scratch_reg5_t f;
++} scratch_reg5_u;
++
++typedef struct _scratch_umsk_t {
++     unsigned long scratch_umsk                   : 6;
++     unsigned long                                : 10;
++     unsigned long scratch_swap                   : 2;
++     unsigned long                                : 14;
++     } scratch_umsk_t;
++
++typedef union {
++     unsigned long val : 32;
++     scratch_umsk_t f;
++} scratch_umsk_u;
++
++typedef struct _scratch_addr_t {
++     unsigned long                                : 5;
++     unsigned long scratch_addr                   : 27;
++     } scratch_addr_t;
++
++typedef union {
++     unsigned long val : 32;
++     scratch_addr_t f;
++} scratch_addr_u;
++
++typedef struct _cp_csq_addr_t {
++     unsigned long                                : 2;
++     unsigned long csq_addr                       : 8;
++     unsigned long                                : 22;
++     } cp_csq_addr_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_csq_addr_t f;
++} cp_csq_addr_u;
++
++typedef struct _cp_csq_data_t {
++     unsigned long csq_data                       : 32;
++     } cp_csq_data_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_csq_data_t f;
++} cp_csq_data_u;
++
++typedef struct _cp_csq_stat_t {
++     unsigned long csq_rptr_primary               : 8;
++     unsigned long csq_wptr_primary               : 8;
++     unsigned long csq_rptr_indirect              : 8;
++     unsigned long csq_wptr_indirect              : 8;
++     } cp_csq_stat_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_csq_stat_t f;
++} cp_csq_stat_u;
++
++typedef struct _cp_stat_t {
++     unsigned long mru_busy                       : 1;
++     unsigned long mwu_busy                       : 1;
++     unsigned long rsiu_busy                      : 1;
++     unsigned long rciu_busy                      : 1;
++     unsigned long                                : 5;
++     unsigned long csf_primary_busy               : 1;
++     unsigned long csf_indirect_busy              : 1;
++     unsigned long csq_primary_busy               : 1;
++     unsigned long csq_indirect_busy              : 1;
++     unsigned long csi_busy                       : 1;
++     unsigned long                                : 14;
++     unsigned long guidma_busy                    : 1;
++     unsigned long viddma_busy                    : 1;
++     unsigned long cmdstrm_busy                   : 1;
++     unsigned long cp_busy                        : 1;
++     } cp_stat_t;
++
++typedef union {
++     unsigned long val : 32;
++     cp_stat_t f;
++} cp_stat_u;
++
++typedef struct _gen_int_cntl_t {
++     unsigned long crtc_vblank_mask               : 1;
++     unsigned long crtc_vline_mask                : 1;
++     unsigned long crtc_hwint1_mask               : 1;
++     unsigned long crtc_hwint2_mask               : 1;
++     unsigned long                                : 15;
++     unsigned long gui_idle_mask                  : 1;
++     unsigned long                                : 8;
++     unsigned long pm4_idle_int_mask              : 1;
++     unsigned long dvi_i2c_int_mask               : 1;
++     unsigned long                                : 2;
++     } gen_int_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     gen_int_cntl_t f;
++} gen_int_cntl_u;
++
++typedef struct _gen_int_status_rd_t {
++     unsigned long crtc_vblank_stat               : 1;
++     unsigned long crtc_vline_stat                : 1;
++     unsigned long crtc_hwint1_stat               : 1;
++     unsigned long crtc_hwint2_stat               : 1;
++     unsigned long                                : 15;
++     unsigned long gui_idle_stat                  : 1;
++     unsigned long                                : 8;
++     unsigned long pm4_idle_int_stat              : 1;
++     unsigned long dvi_i2c_int_stat               : 1;
++     unsigned long                                : 2;
++     } gen_int_status_rd_t;
++
++typedef union {
++     unsigned long val : 32;
++     gen_int_status_rd_t f;
++} gen_int_status_rd_u;
++
++typedef struct _gen_int_status_wr_t {
++     unsigned long crtc_vblank_stat_ak            : 1;
++     unsigned long crtc_vline_stat_ak             : 1;
++     unsigned long crtc_hwint1_stat_ak            : 1;
++     unsigned long crtc_hwint2_stat_ak            : 1;
++     unsigned long                                : 15;
++     unsigned long gui_idle_stat_ak               : 1;
++     unsigned long                                : 8;
++     unsigned long pm4_idle_int_ak                : 1;
++     unsigned long dvi_i2c_int_ak                 : 1;
++     unsigned long                                : 2;
++     } gen_int_status_wr_t;
++
++typedef union {
++     unsigned long val : 32;
++     gen_int_status_wr_t f;
++} gen_int_status_wr_u;
++
++typedef struct _lcd_format_t {
++     unsigned long lcd_type                       : 4;
++     unsigned long color_to_mono                  : 1;
++     unsigned long data_inv                       : 1;
++     unsigned long stn_fm                         : 2;
++     unsigned long tft_fm                         : 2;
++     unsigned long scan_lr_en                     : 1;
++     unsigned long scan_ud_en                     : 1;
++     unsigned long pol_inv                        : 1;
++     unsigned long rst_fm                         : 1;
++     unsigned long yuv_to_rgb                     : 1;
++     unsigned long hr_tft                         : 1;
++     unsigned long ulc_panel                      : 1;
++     unsigned long                                : 15;
++     } lcd_format_t;
++
++typedef union {
++     unsigned long val : 32;
++     lcd_format_t f;
++} lcd_format_u;
++
++typedef struct _graphic_ctrl_t {
++     unsigned long color_depth                    : 3;
++     unsigned long portrait_mode                  : 2;
++     unsigned long low_power_on                   : 1;
++     unsigned long req_freq                       : 4;
++     unsigned long en_crtc                        : 1;
++     unsigned long en_graphic_req                 : 1;
++     unsigned long en_graphic_crtc                : 1;
++     unsigned long total_req_graphic              : 9;
++     unsigned long lcd_pclk_on                    : 1;
++     unsigned long lcd_sclk_on                    : 1;
++     unsigned long pclk_running                   : 1;
++     unsigned long sclk_running                   : 1;
++     unsigned long                                : 6;
++     } graphic_ctrl_t;
++
++typedef union {
++     unsigned long val : 32;
++     graphic_ctrl_t f;
++} graphic_ctrl_u;
++
++typedef struct _graphic_offset_t {
++     unsigned long graphic_offset                 : 24;
++     unsigned long                                : 8;
++     } graphic_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     graphic_offset_t f;
++} graphic_offset_u;
++
++typedef struct _graphic_pitch_t {
++     unsigned long graphic_pitch                  : 11;
++     unsigned long                                : 21;
++     } graphic_pitch_t;
++
++typedef union {
++     unsigned long val : 32;
++     graphic_pitch_t f;
++} graphic_pitch_u;
++
++typedef struct _crtc_total_t {
++     unsigned long crtc_h_total                   : 10;
++     unsigned long                                : 6;
++     unsigned long crtc_v_total                   : 10;
++     unsigned long                                : 6;
++     } crtc_total_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_total_t f;
++} crtc_total_u;
++
++typedef struct _active_h_disp_t {
++     unsigned long active_h_start                 : 10;
++     unsigned long                                : 6;
++     unsigned long active_h_end                   : 10;
++     unsigned long                                : 6;
++     } active_h_disp_t;
++
++typedef union {
++     unsigned long val : 32;
++     active_h_disp_t f;
++} active_h_disp_u;
++
++typedef struct _active_v_disp_t {
++     unsigned long active_v_start                 : 10;
++     unsigned long                                : 6;
++     unsigned long active_v_end                   : 10;
++     unsigned long                                : 6;
++     } active_v_disp_t;
++
++typedef union {
++     unsigned long val : 32;
++     active_v_disp_t f;
++} active_v_disp_u;
++
++typedef struct _graphic_h_disp_t {
++     unsigned long graphic_h_start                : 10;
++     unsigned long                                : 6;
++     unsigned long graphic_h_end                  : 10;
++     unsigned long                                : 6;
++     } graphic_h_disp_t;
++
++typedef union {
++     unsigned long val : 32;
++     graphic_h_disp_t f;
++} graphic_h_disp_u;
++
++typedef struct _graphic_v_disp_t {
++     unsigned long graphic_v_start                : 10;
++     unsigned long                                : 6;
++     unsigned long graphic_v_end                  : 10;
++     unsigned long                                : 6;
++     } graphic_v_disp_t;
++
++typedef union {
++     unsigned long val : 32;
++     graphic_v_disp_t f;
++} graphic_v_disp_u;
++
++typedef struct _video_ctrl_t {
++     unsigned long video_mode                     : 1;
++     unsigned long keyer_en                       : 1;
++     unsigned long en_video_req                   : 1;
++     unsigned long en_graphic_req_video           : 1;
++     unsigned long en_video_crtc                  : 1;
++     unsigned long video_hor_exp                  : 2;
++     unsigned long video_ver_exp                  : 2;
++     unsigned long uv_combine                     : 1;
++     unsigned long total_req_video                : 9;
++     unsigned long video_ch_sel                   : 1;
++     unsigned long video_portrait                 : 2;
++     unsigned long yuv2rgb_en                     : 1;
++     unsigned long yuv2rgb_option                 : 1;
++     unsigned long video_inv_hor                  : 1;
++     unsigned long video_inv_ver                  : 1;
++     unsigned long gamma_sel                      : 2;
++     unsigned long dis_limit                      : 1;
++     unsigned long en_uv_hblend                   : 1;
++     unsigned long rgb_gamma_sel                  : 2;
++     } video_ctrl_t;
++
++typedef union {
++     unsigned long val : 32;
++     video_ctrl_t f;
++} video_ctrl_u;
++
++typedef struct _graphic_key_t {
++     unsigned long keyer_color                    : 16;
++     unsigned long keyer_mask                     : 16;
++     } graphic_key_t;
++
++typedef union {
++     unsigned long val : 32;
++     graphic_key_t f;
++} graphic_key_u;
++
++typedef struct _video_y_offset_t {
++     unsigned long y_offset                       : 24;
++     unsigned long                                : 8;
++     } video_y_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     video_y_offset_t f;
++} video_y_offset_u;
++
++typedef struct _video_y_pitch_t {
++     unsigned long y_pitch                        : 11;
++     unsigned long                                : 21;
++     } video_y_pitch_t;
++
++typedef union {
++     unsigned long val : 32;
++     video_y_pitch_t f;
++} video_y_pitch_u;
++
++typedef struct _video_u_offset_t {
++     unsigned long u_offset                       : 24;
++     unsigned long                                : 8;
++     } video_u_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     video_u_offset_t f;
++} video_u_offset_u;
++
++typedef struct _video_u_pitch_t {
++     unsigned long u_pitch                        : 11;
++     unsigned long                                : 21;
++     } video_u_pitch_t;
++
++typedef union {
++     unsigned long val : 32;
++     video_u_pitch_t f;
++} video_u_pitch_u;
++
++typedef struct _video_v_offset_t {
++     unsigned long v_offset                       : 24;
++     unsigned long                                : 8;
++     } video_v_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     video_v_offset_t f;
++} video_v_offset_u;
++
++typedef struct _video_v_pitch_t {
++     unsigned long v_pitch                        : 11;
++     unsigned long                                : 21;
++     } video_v_pitch_t;
++
++typedef union {
++     unsigned long val : 32;
++     video_v_pitch_t f;
++} video_v_pitch_u;
++
++typedef struct _video_h_pos_t {
++     unsigned long video_h_start                  : 10;
++     unsigned long                                : 6;
++     unsigned long video_h_end                    : 10;
++     unsigned long                                : 6;
++     } video_h_pos_t;
++
++typedef union {
++     unsigned long val : 32;
++     video_h_pos_t f;
++} video_h_pos_u;
++
++typedef struct _video_v_pos_t {
++     unsigned long video_v_start                  : 10;
++     unsigned long                                : 6;
++     unsigned long video_v_end                    : 10;
++     unsigned long                                : 6;
++     } video_v_pos_t;
++
++typedef union {
++     unsigned long val : 32;
++     video_v_pos_t f;
++} video_v_pos_u;
++
++typedef struct _brightness_cntl_t {
++     unsigned long brightness                     : 7;
++     unsigned long                                : 25;
++     } brightness_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     brightness_cntl_t f;
++} brightness_cntl_u;
++
++typedef struct _cursor1_offset_t {
++     unsigned long cur1_offset                    : 24;
++     unsigned long cur1_x_offset                  : 4;
++     unsigned long cur1_y_offset                  : 4;
++     } cursor1_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     cursor1_offset_t f;
++} cursor1_offset_u;
++
++typedef struct _cursor1_h_pos_t {
++     unsigned long cur1_h_start                   : 10;
++     unsigned long                                : 6;
++     unsigned long cur1_h_end                     : 10;
++     unsigned long                                : 5;
++     unsigned long cur1_en                        : 1;
++     } cursor1_h_pos_t;
++
++typedef union {
++     unsigned long val : 32;
++     cursor1_h_pos_t f;
++} cursor1_h_pos_u;
++
++typedef struct _cursor1_v_pos_t {
++     unsigned long cur1_v_start                   : 10;
++     unsigned long                                : 6;
++     unsigned long cur1_v_end                     : 10;
++     unsigned long                                : 6;
++     } cursor1_v_pos_t;
++
++typedef union {
++     unsigned long val : 32;
++     cursor1_v_pos_t f;
++} cursor1_v_pos_u;
++
++typedef struct _cursor1_color0_t {
++     unsigned long cur1_color0_r                  : 8;
++     unsigned long cur1_color0_g                  : 8;
++     unsigned long cur1_color0_b                  : 8;
++     unsigned long                                : 8;
++     } cursor1_color0_t;
++
++typedef union {
++     unsigned long val : 32;
++     cursor1_color0_t f;
++} cursor1_color0_u;
++
++typedef struct _cursor1_color1_t {
++     unsigned long cur1_color1_r                  : 8;
++     unsigned long cur1_color1_g                  : 8;
++     unsigned long cur1_color1_b                  : 8;
++     unsigned long                                : 8;
++     } cursor1_color1_t;
++
++typedef union {
++     unsigned long val : 32;
++     cursor1_color1_t f;
++} cursor1_color1_u;
++
++typedef struct _cursor2_offset_t {
++     unsigned long cur2_offset                    : 24;
++     unsigned long cur2_x_offset                  : 4;
++     unsigned long cur2_y_offset                  : 4;
++     } cursor2_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     cursor2_offset_t f;
++} cursor2_offset_u;
++
++typedef struct _cursor2_h_pos_t {
++     unsigned long cur2_h_start                   : 10;
++     unsigned long                                : 6;
++     unsigned long cur2_h_end                     : 10;
++     unsigned long                                : 5;
++     unsigned long cur2_en                        : 1;
++     } cursor2_h_pos_t;
++
++typedef union {
++     unsigned long val : 32;
++     cursor2_h_pos_t f;
++} cursor2_h_pos_u;
++
++typedef struct _cursor2_v_pos_t {
++     unsigned long cur2_v_start                   : 10;
++     unsigned long                                : 6;
++     unsigned long cur2_v_end                     : 10;
++     unsigned long                                : 6;
++     } cursor2_v_pos_t;
++
++typedef union {
++     unsigned long val : 32;
++     cursor2_v_pos_t f;
++} cursor2_v_pos_u;
++
++typedef struct _cursor2_color0_t {
++     unsigned long cur2_color0_r                  : 8;
++     unsigned long cur2_color0_g                  : 8;
++     unsigned long cur2_color0_b                  : 8;
++     unsigned long                                : 8;
++     } cursor2_color0_t;
++
++typedef union {
++     unsigned long val : 32;
++     cursor2_color0_t f;
++} cursor2_color0_u;
++
++typedef struct _cursor2_color1_t {
++     unsigned long cur2_color1_r                  : 8;
++     unsigned long cur2_color1_g                  : 8;
++     unsigned long cur2_color1_b                  : 8;
++     unsigned long                                : 8;
++     } cursor2_color1_t;
++
++typedef union {
++     unsigned long val : 32;
++     cursor2_color1_t f;
++} cursor2_color1_u;
++
++typedef struct _disp_int_cntl_t {
++     unsigned long vline_int_pos                  : 10;
++     unsigned long                                : 6;
++     unsigned long hpos_int_pos                   : 10;
++     unsigned long                                : 4;
++     unsigned long vblank_int_pol                 : 1;
++     unsigned long frame_int_pol                  : 1;
++     } disp_int_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     disp_int_cntl_t f;
++} disp_int_cntl_u;
++
++typedef struct _crtc_ss_t {
++     unsigned long ss_start                       : 10;
++     unsigned long                                : 6;
++     unsigned long ss_end                         : 10;
++     unsigned long                                : 2;
++     unsigned long ss_align                       : 1;
++     unsigned long ss_pol                         : 1;
++     unsigned long ss_run_mode                    : 1;
++     unsigned long ss_en                          : 1;
++     } crtc_ss_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_ss_t f;
++} crtc_ss_u;
++
++typedef struct _crtc_ls_t {
++     unsigned long ls_start                       : 10;
++     unsigned long                                : 6;
++     unsigned long ls_end                         : 10;
++     unsigned long                                : 2;
++     unsigned long ls_align                       : 1;
++     unsigned long ls_pol                         : 1;
++     unsigned long ls_run_mode                    : 1;
++     unsigned long ls_en                          : 1;
++     } crtc_ls_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_ls_t f;
++} crtc_ls_u;
++
++typedef struct _crtc_rev_t {
++     unsigned long rev_pos                        : 10;
++     unsigned long                                : 6;
++     unsigned long rev_align                      : 1;
++     unsigned long rev_freq_nref                  : 5;
++     unsigned long rev_en                         : 1;
++     unsigned long                                : 9;
++     } crtc_rev_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_rev_t f;
++} crtc_rev_u;
++
++typedef struct _crtc_dclk_t {
++     unsigned long dclk_start                     : 10;
++     unsigned long                                : 6;
++     unsigned long dclk_end                       : 10;
++     unsigned long                                : 1;
++     unsigned long dclk_run_mode                  : 2;
++     unsigned long dclk_pol                       : 1;
++     unsigned long dclk_align                     : 1;
++     unsigned long dclk_en                        : 1;
++     } crtc_dclk_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_dclk_t f;
++} crtc_dclk_u;
++
++typedef struct _crtc_gs_t {
++     unsigned long gs_start                       : 10;
++     unsigned long                                : 6;
++     unsigned long gs_end                         : 10;
++     unsigned long                                : 3;
++     unsigned long gs_align                       : 1;
++     unsigned long gs_pol                         : 1;
++     unsigned long gs_en                          : 1;
++     } crtc_gs_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_gs_t f;
++} crtc_gs_u;
++
++typedef struct _crtc_vpos_gs_t {
++     unsigned long gs_vpos_start                  : 10;
++     unsigned long                                : 6;
++     unsigned long gs_vpos_end                    : 10;
++     unsigned long                                : 6;
++     } crtc_vpos_gs_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_vpos_gs_t f;
++} crtc_vpos_gs_u;
++
++typedef struct _crtc_gclk_t {
++     unsigned long gclk_start                     : 10;
++     unsigned long                                : 6;
++     unsigned long gclk_end                       : 10;
++     unsigned long                                : 3;
++     unsigned long gclk_align                     : 1;
++     unsigned long gclk_pol                       : 1;
++     unsigned long gclk_en                        : 1;
++     } crtc_gclk_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_gclk_t f;
++} crtc_gclk_u;
++
++typedef struct _crtc_goe_t {
++     unsigned long goe_start                      : 10;
++     unsigned long                                : 6;
++     unsigned long goe_end                        : 10;
++     unsigned long                                : 3;
++     unsigned long goe_align                      : 1;
++     unsigned long goe_pol                        : 1;
++     unsigned long goe_en                         : 1;
++     } crtc_goe_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_goe_t f;
++} crtc_goe_u;
++
++typedef struct _crtc_frame_t {
++     unsigned long crtc_fr_start                  : 10;
++     unsigned long                                : 6;
++     unsigned long crtc_fr_end                    : 10;
++     unsigned long                                : 4;
++     unsigned long crtc_frame_en                  : 1;
++     unsigned long crtc_frame_align               : 1;
++     } crtc_frame_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_frame_t f;
++} crtc_frame_u;
++
++typedef struct _crtc_frame_vpos_t {
++     unsigned long crtc_fr_vpos                   : 10;
++     unsigned long                                : 22;
++     } crtc_frame_vpos_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_frame_vpos_t f;
++} crtc_frame_vpos_u;
++
++typedef struct _gpio_data_t {
++     unsigned long gio_out                        : 16;
++     unsigned long gio_in                         : 16;
++     } gpio_data_t;
++
++typedef union {
++     unsigned long val : 32;
++     gpio_data_t f;
++} gpio_data_u;
++
++typedef struct _gpio_cntl1_t {
++     unsigned long gio_pd                         : 16;
++     unsigned long gio_schmen                     : 16;
++     } gpio_cntl1_t;
++
++typedef union {
++     unsigned long val : 32;
++     gpio_cntl1_t f;
++} gpio_cntl1_u;
++
++typedef struct _gpio_cntl2_t {
++     unsigned long gio_oe                         : 16;
++     unsigned long gio_srp                        : 1;
++     unsigned long gio_srn                        : 1;
++     unsigned long gio_sp                         : 4;
++     unsigned long gio_sn                         : 4;
++     unsigned long                                : 6;
++     } gpio_cntl2_t;
++
++typedef union {
++     unsigned long val : 32;
++     gpio_cntl2_t f;
++} gpio_cntl2_u;
++
++typedef struct _lcdd_cntl1_t {
++     unsigned long lcdd_pd                        : 18;
++     unsigned long lcdd_srp                       : 1;
++     unsigned long lcdd_srn                       : 1;
++     unsigned long lcdd_sp                        : 4;
++     unsigned long lcdd_sn                        : 4;
++     unsigned long lcdd_align                     : 1;
++     unsigned long                                : 3;
++     } lcdd_cntl1_t;
++
++typedef union {
++     unsigned long val : 32;
++     lcdd_cntl1_t f;
++} lcdd_cntl1_u;
++
++typedef struct _lcdd_cntl2_t {
++     unsigned long lcdd_oe                        : 18;
++     unsigned long                                : 14;
++     } lcdd_cntl2_t;
++
++typedef union {
++     unsigned long val : 32;
++     lcdd_cntl2_t f;
++} lcdd_cntl2_u;
++
++typedef struct _genlcd_cntl1_t {
++     unsigned long dclk_oe                        : 1;
++     unsigned long dclk_pd                        : 1;
++     unsigned long dclk_srp                       : 1;
++     unsigned long dclk_srn                       : 1;
++     unsigned long dclk_sp                        : 4;
++     unsigned long dclk_sn                        : 4;
++     unsigned long ss_oe                          : 1;
++     unsigned long ss_pd                          : 1;
++     unsigned long ls_oe                          : 1;
++     unsigned long ls_pd                          : 1;
++     unsigned long gs_oe                          : 1;
++     unsigned long gs_pd                          : 1;
++     unsigned long goe_oe                         : 1;
++     unsigned long goe_pd                         : 1;
++     unsigned long rev_oe                         : 1;
++     unsigned long rev_pd                         : 1;
++     unsigned long frame_oe                       : 1;
++     unsigned long frame_pd                       : 1;
++     unsigned long                                : 8;
++     } genlcd_cntl1_t;
++
++typedef union {
++     unsigned long val : 32;
++     genlcd_cntl1_t f;
++} genlcd_cntl1_u;
++
++typedef struct _genlcd_cntl2_t {
++     unsigned long gclk_oe                        : 1;
++     unsigned long gclk_pd                        : 1;
++     unsigned long gclk_srp                       : 1;
++     unsigned long gclk_srn                       : 1;
++     unsigned long gclk_sp                        : 4;
++     unsigned long gclk_sn                        : 4;
++     unsigned long genlcd_srp                     : 1;
++     unsigned long genlcd_srn                     : 1;
++     unsigned long genlcd_sp                      : 4;
++     unsigned long genlcd_sn                      : 4;
++     unsigned long                                : 10;
++     } genlcd_cntl2_t;
++
++typedef union {
++     unsigned long val : 32;
++     genlcd_cntl2_t f;
++} genlcd_cntl2_u;
++
++typedef struct _disp_debug_t {
++     unsigned long disp_debug                     : 32;
++     } disp_debug_t;
++
++typedef union {
++     unsigned long val : 32;
++     disp_debug_t f;
++} disp_debug_u;
++
++typedef struct _disp_db_buf_cntl_rd_t {
++     unsigned long en_db_buf                      : 1;
++     unsigned long update_db_buf_done             : 1;
++     unsigned long db_buf_cntl                    : 6;
++     unsigned long                                : 24;
++     } disp_db_buf_cntl_rd_t;
++
++typedef union {
++     unsigned long val : 32;
++     disp_db_buf_cntl_rd_t f;
++} disp_db_buf_cntl_rd_u;
++
++typedef struct _disp_db_buf_cntl_wr_t {
++     unsigned long en_db_buf                      : 1;
++     unsigned long update_db_buf                  : 1;
++     unsigned long db_buf_cntl                    : 6;
++     unsigned long                                : 24;
++     } disp_db_buf_cntl_wr_t;
++
++typedef union {
++     unsigned long val : 32;
++     disp_db_buf_cntl_wr_t f;
++} disp_db_buf_cntl_wr_u;
++
++typedef struct _disp_crc_sig_t {
++     unsigned long crc_sig_r                      : 6;
++     unsigned long crc_sig_g                      : 6;
++     unsigned long crc_sig_b                      : 6;
++     unsigned long crc_cont_en                    : 1;
++     unsigned long crc_en                         : 1;
++     unsigned long crc_mask_en                    : 1;
++     unsigned long crc_sig_cntl                   : 6;
++     unsigned long                                : 5;
++     } disp_crc_sig_t;
++
++typedef union {
++     unsigned long val : 32;
++     disp_crc_sig_t f;
++} disp_crc_sig_u;
++
++typedef struct _crtc_default_count_t {
++     unsigned long crtc_hcount_def                : 10;
++     unsigned long                                : 6;
++     unsigned long crtc_vcount_def                : 10;
++     unsigned long                                : 6;
++     } crtc_default_count_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_default_count_t f;
++} crtc_default_count_u;
++
++typedef struct _lcd_background_color_t {
++     unsigned long lcd_bg_red                     : 8;
++     unsigned long lcd_bg_green                   : 8;
++     unsigned long lcd_bg_blue                    : 8;
++     unsigned long                                : 8;
++     } lcd_background_color_t;
++
++typedef union {
++     unsigned long val : 32;
++     lcd_background_color_t f;
++} lcd_background_color_u;
++
++typedef struct _crtc_ps2_t {
++     unsigned long ps2_start                      : 10;
++     unsigned long                                : 6;
++     unsigned long ps2_end                        : 10;
++     unsigned long                                : 4;
++     unsigned long ps2_pol                        : 1;
++     unsigned long ps2_en                         : 1;
++     } crtc_ps2_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_ps2_t f;
++} crtc_ps2_u;
++
++typedef struct _crtc_ps2_vpos_t {
++     unsigned long ps2_vpos_start                 : 10;
++     unsigned long                                : 6;
++     unsigned long ps2_vpos_end                   : 10;
++     unsigned long                                : 6;
++     } crtc_ps2_vpos_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_ps2_vpos_t f;
++} crtc_ps2_vpos_u;
++
++typedef struct _crtc_ps1_active_t {
++     unsigned long ps1_h_start                    : 10;
++     unsigned long                                : 6;
++     unsigned long ps1_h_end                      : 10;
++     unsigned long                                : 3;
++     unsigned long ps1_pol                        : 1;
++     unsigned long ps1_en                         : 1;
++     unsigned long ps1_use_nactive                : 1;
++     } crtc_ps1_active_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_ps1_active_t f;
++} crtc_ps1_active_u;
++
++typedef struct _crtc_ps1_nactive_t {
++     unsigned long ps1_h_start_na                 : 10;
++     unsigned long                                : 6;
++     unsigned long ps1_h_end_na                   : 10;
++     unsigned long                                : 5;
++     unsigned long ps1_en_na                      : 1;
++     } crtc_ps1_nactive_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_ps1_nactive_t f;
++} crtc_ps1_nactive_u;
++
++typedef struct _crtc_gclk_ext_t {
++     unsigned long gclk_alter_start               : 10;
++     unsigned long                                : 6;
++     unsigned long gclk_alter_width               : 2;
++     unsigned long gclk_en_alter                  : 1;
++     unsigned long gclk_db_width                  : 2;
++     unsigned long                                : 11;
++     } crtc_gclk_ext_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_gclk_ext_t f;
++} crtc_gclk_ext_u;
++
++typedef struct _crtc_alw_t {
++     unsigned long alw_hstart                     : 10;
++     unsigned long                                : 6;
++     unsigned long alw_hend                       : 10;
++     unsigned long                                : 4;
++     unsigned long alw_delay                      : 1;
++     unsigned long alw_en                         : 1;
++     } crtc_alw_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_alw_t f;
++} crtc_alw_u;
++
++typedef struct _crtc_alw_vpos_t {
++     unsigned long alw_vstart                     : 10;
++     unsigned long                                : 6;
++     unsigned long alw_vend                       : 10;
++     unsigned long                                : 6;
++     } crtc_alw_vpos_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_alw_vpos_t f;
++} crtc_alw_vpos_u;
++
++typedef struct _crtc_psk_t {
++     unsigned long psk_vstart                     : 10;
++     unsigned long                                : 6;
++     unsigned long psk_vend                       : 10;
++     unsigned long                                : 4;
++     unsigned long psk_pol                        : 1;
++     unsigned long psk_en                         : 1;
++     } crtc_psk_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_psk_t f;
++} crtc_psk_u;
++
++typedef struct _crtc_psk_hpos_t {
++     unsigned long psk_hstart                     : 10;
++     unsigned long                                : 6;
++     unsigned long psk_hend                       : 10;
++     unsigned long                                : 6;
++     } crtc_psk_hpos_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_psk_hpos_t f;
++} crtc_psk_hpos_u;
++
++typedef struct _crtc_cv4_start_t {
++     unsigned long cv4_vstart                     : 10;
++     unsigned long                                : 20;
++     unsigned long cv4_pol                        : 1;
++     unsigned long cv4_en                         : 1;
++     } crtc_cv4_start_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_cv4_start_t f;
++} crtc_cv4_start_u;
++
++typedef struct _crtc_cv4_end_t {
++     unsigned long cv4_vend1                      : 10;
++     unsigned long                                : 6;
++     unsigned long cv4_vend2                      : 10;
++     unsigned long                                : 6;
++     } crtc_cv4_end_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_cv4_end_t f;
++} crtc_cv4_end_u;
++
++typedef struct _crtc_cv4_hpos_t {
++     unsigned long cv4_hstart                     : 10;
++     unsigned long                                : 6;
++     unsigned long cv4_hend                       : 10;
++     unsigned long                                : 6;
++     } crtc_cv4_hpos_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_cv4_hpos_t f;
++} crtc_cv4_hpos_u;
++
++typedef struct _crtc_eck_t {
++     unsigned long eck_freq1                      : 3;
++     unsigned long eck_en                         : 1;
++     unsigned long                                : 28;
++     } crtc_eck_t;
++
++typedef union {
++     unsigned long val : 32;
++     crtc_eck_t f;
++} crtc_eck_u;
++
++typedef struct _refresh_cntl_t {
++     unsigned long ref_frame                      : 3;
++     unsigned long nref_frame                     : 5;
++     unsigned long ref_cntl                       : 1;
++     unsigned long stop_sm_nref                   : 1;
++     unsigned long stop_req_nref                  : 1;
++     unsigned long                                : 21;
++     } refresh_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     refresh_cntl_t f;
++} refresh_cntl_u;
++
++typedef struct _genlcd_cntl3_t {
++     unsigned long ps1_oe                         : 1;
++     unsigned long ps1_pd                         : 1;
++     unsigned long ps2_oe                         : 1;
++     unsigned long ps2_pd                         : 1;
++     unsigned long rev2_oe                        : 1;
++     unsigned long rev2_pd                        : 1;
++     unsigned long awl_oe                         : 1;
++     unsigned long awl_pd                         : 1;
++     unsigned long dinv_oe                        : 1;
++     unsigned long dinv_pd                        : 1;
++     unsigned long psk_out                        : 1;
++     unsigned long psd_out                        : 1;
++     unsigned long eck_out                        : 1;
++     unsigned long cv4_out                        : 1;
++     unsigned long ps1_out                        : 1;
++     unsigned long ps2_out                        : 1;
++     unsigned long rev_out                        : 1;
++     unsigned long rev2_out                       : 1;
++     unsigned long                                : 14;
++     } genlcd_cntl3_t;
++
++typedef union {
++     unsigned long val : 32;
++     genlcd_cntl3_t f;
++} genlcd_cntl3_u;
++
++typedef struct _gpio_data2_t {
++     unsigned long gio2_out                       : 16;
++     unsigned long gio2_in                        : 16;
++     } gpio_data2_t;
++
++typedef union {
++     unsigned long val : 32;
++     gpio_data2_t f;
++} gpio_data2_u;
++
++typedef struct _gpio_cntl3_t {
++     unsigned long gio2_pd                        : 16;
++     unsigned long gio2_schmen                    : 16;
++     } gpio_cntl3_t;
++
++typedef union {
++     unsigned long val : 32;
++     gpio_cntl3_t f;
++} gpio_cntl3_u;
++
++typedef struct _gpio_cntl4_t {
++     unsigned long gio2_oe                        : 16;
++     unsigned long                                : 16;
++     } gpio_cntl4_t;
++
++typedef union {
++     unsigned long val : 32;
++     gpio_cntl4_t f;
++} gpio_cntl4_u;
++
++typedef struct _chip_strap_t {
++     unsigned long config_strap                   : 8;
++     unsigned long pkg_strap                      : 1;
++     unsigned long                                : 23;
++     } chip_strap_t;
++
++typedef union {
++     unsigned long val : 32;
++     chip_strap_t f;
++} chip_strap_u;
++
++typedef struct _disp_debug2_t {
++     unsigned long disp_debug2                    : 32;
++     } disp_debug2_t;
++
++typedef union {
++     unsigned long val : 32;
++     disp_debug2_t f;
++} disp_debug2_u;
++
++typedef struct _debug_bus_cntl_t {
++     unsigned long debug_testmux                  : 4;
++     unsigned long debug_testsel                  : 4;
++     unsigned long debug_gioa_sel                 : 2;
++     unsigned long debug_giob_sel                 : 2;
++     unsigned long debug_clk_sel                  : 1;
++     unsigned long debug_clk_inv                  : 1;
++     unsigned long                                : 2;
++     unsigned long debug_bus                      : 16;
++     } debug_bus_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     debug_bus_cntl_t f;
++} debug_bus_cntl_u;
++
++typedef struct _gamma_value1_t {
++     unsigned long gamma1                         : 8;
++     unsigned long gamma2                         : 8;
++     unsigned long gamma3                         : 8;
++     unsigned long gamma4                         : 8;
++     } gamma_value1_t;
++
++typedef union {
++     unsigned long val : 32;
++     gamma_value1_t f;
++} gamma_value1_u;
++
++typedef struct _gamma_value2_t {
++     unsigned long gamma5                         : 8;
++     unsigned long gamma6                         : 8;
++     unsigned long gamma7                         : 8;
++     unsigned long gamma8                         : 8;
++     } gamma_value2_t;
++
++typedef union {
++     unsigned long val : 32;
++     gamma_value2_t f;
++} gamma_value2_u;
++
++typedef struct _gamma_slope_t {
++     unsigned long slope1                         : 3;
++     unsigned long slope2                         : 3;
++     unsigned long slope3                         : 3;
++     unsigned long slope4                         : 3;
++     unsigned long slope5                         : 3;
++     unsigned long slope6                         : 3;
++     unsigned long slope7                         : 3;
++     unsigned long slope8                         : 3;
++     unsigned long                                : 8;
++     } gamma_slope_t;
++
++typedef union {
++     unsigned long val : 32;
++     gamma_slope_t f;
++} gamma_slope_u;
++
++typedef struct _gen_status_t {
++     unsigned long status                         : 16;
++     unsigned long                                : 16;
++     } gen_status_t;
++
++typedef union {
++     unsigned long val : 32;
++     gen_status_t f;
++} gen_status_u;
++
++typedef struct _hw_int_t {
++     unsigned long hwint1_pos                     : 5;
++     unsigned long hwint2_pos                     : 5;
++     unsigned long hwint1_pol                     : 1;
++     unsigned long hwint2_pol                     : 1;
++     unsigned long hwint1_en_db                   : 1;
++     unsigned long hwint2_en_db                   : 1;
++     unsigned long                                : 18;
++     } hw_int_t;
++
++typedef union {
++     unsigned long val : 32;
++     hw_int_t f;
++} hw_int_u;
++
++typedef struct _dst_offset_t {
++     unsigned long dst_offset                     : 24;
++     unsigned long                                : 8;
++     } dst_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_offset_t f;
++} dst_offset_u;
++
++typedef struct _dst_pitch_t {
++     unsigned long dst_pitch                      : 14;
++     unsigned long mc_dst_pitch_mul               : 2;
++     unsigned long                                : 16;
++     } dst_pitch_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_pitch_t f;
++} dst_pitch_u;
++
++typedef struct _dst_pitch_offset_t {
++     unsigned long dst_offset                     : 20;
++     unsigned long dst_pitch                      : 10;
++     unsigned long mc_dst_pitch_mul               : 2;
++     } dst_pitch_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_pitch_offset_t f;
++} dst_pitch_offset_u;
++
++typedef struct _dst_x_t {
++     unsigned long dst_x                          : 14;
++     unsigned long                                : 18;
++     } dst_x_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_x_t f;
++} dst_x_u;
++
++typedef struct _dst_y_t {
++     unsigned long dst_y                          : 14;
++     unsigned long                                : 18;
++     } dst_y_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_y_t f;
++} dst_y_u;
++
++typedef struct _dst_x_y_t {
++     unsigned long dst_y                          : 14;
++     unsigned long                                : 2;
++     unsigned long dst_x                          : 14;
++     unsigned long                                : 2;
++     } dst_x_y_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_x_y_t f;
++} dst_x_y_u;
++
++typedef struct _dst_y_x_t {
++     unsigned long dst_x                          : 14;
++     unsigned long                                : 2;
++     unsigned long dst_y                          : 14;
++     unsigned long                                : 2;
++     } dst_y_x_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_y_x_t f;
++} dst_y_x_u;
++
++typedef struct _dst_width_t {
++     unsigned long dst_width_b0                   : 8;
++     unsigned long dst_width_b1                   : 6;
++     unsigned long                                : 18;
++     } dst_width_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_width_t f;
++} dst_width_u;
++
++typedef struct _dst_height_t {
++     unsigned long dst_height                     : 14;
++     unsigned long                                : 18;
++     } dst_height_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_height_t f;
++} dst_height_u;
++
++typedef struct _dst_width_height_t {
++     unsigned long dst_height                     : 14;
++     unsigned long                                : 2;
++     unsigned long dst_width_b0                   : 8;
++     unsigned long dst_width_b1                   : 6;
++     unsigned long                                : 2;
++     } dst_width_height_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_width_height_t f;
++} dst_width_height_u;
++
++typedef struct _dst_height_width_t {
++     unsigned long dst_width_b0                   : 8;
++     unsigned long dst_width_b1                   : 6;
++     unsigned long                                : 2;
++     unsigned long dst_height                     : 14;
++     unsigned long                                : 2;
++     } dst_height_width_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_height_width_t f;
++} dst_height_width_u;
++
++typedef struct _dst_height_width_8_t {
++     unsigned long                                : 16;
++     unsigned long dst_width_b0                   : 8;
++     unsigned long dst_height                     : 8;
++     } dst_height_width_8_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_height_width_8_t f;
++} dst_height_width_8_u;
++
++typedef struct _dst_height_y_t {
++     unsigned long dst_y                          : 14;
++     unsigned long                                : 2;
++     unsigned long dst_height                     : 14;
++     unsigned long                                : 2;
++     } dst_height_y_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_height_y_t f;
++} dst_height_y_u;
++
++typedef struct _dst_width_x_t {
++     unsigned long dst_x                          : 14;
++     unsigned long                                : 2;
++     unsigned long dst_width_b0                   : 8;
++     unsigned long dst_width_b1                   : 6;
++     unsigned long                                : 2;
++     } dst_width_x_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_width_x_t f;
++} dst_width_x_u;
++
++typedef struct _dst_width_x_incy_t {
++     unsigned long dst_x                          : 14;
++     unsigned long                                : 2;
++     unsigned long dst_width_b0                   : 8;
++     unsigned long dst_width_b1                   : 6;
++     unsigned long                                : 2;
++     } dst_width_x_incy_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_width_x_incy_t f;
++} dst_width_x_incy_u;
++
++typedef struct _dst_line_start_t {
++     unsigned long dst_start_x                    : 14;
++     unsigned long                                : 2;
++     unsigned long dst_start_y                    : 14;
++     unsigned long                                : 2;
++     } dst_line_start_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_line_start_t f;
++} dst_line_start_u;
++
++typedef struct _dst_line_end_t {
++     unsigned long dst_end_x                      : 14;
++     unsigned long                                : 2;
++     unsigned long dst_end_y_b0                   : 8;
++     unsigned long dst_end_y_b1                   : 6;
++     unsigned long                                : 2;
++     } dst_line_end_t;
++
++typedef union {
++     unsigned long val : 32;
++     dst_line_end_t f;
++} dst_line_end_u;
++
++typedef struct _brush_offset_t {
++     unsigned long brush_offset                   : 24;
++     unsigned long                                : 8;
++     } brush_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     brush_offset_t f;
++} brush_offset_u;
++
++typedef struct _brush_y_x_t {
++     unsigned long brush_x                        : 5;
++     unsigned long                                : 3;
++     unsigned long brush_y                        : 3;
++     unsigned long                                : 21;
++     } brush_y_x_t;
++
++typedef union {
++     unsigned long val : 32;
++     brush_y_x_t f;
++} brush_y_x_u;
++
++typedef struct _dp_brush_frgd_clr_t {
++     unsigned long dp_brush_frgd_clr              : 32;
++     } dp_brush_frgd_clr_t;
++
++typedef union {
++     unsigned long val : 32;
++     dp_brush_frgd_clr_t f;
++} dp_brush_frgd_clr_u;
++
++typedef struct _dp_brush_bkgd_clr_t {
++     unsigned long dp_brush_bkgd_clr              : 32;
++     } dp_brush_bkgd_clr_t;
++
++typedef union {
++     unsigned long val : 32;
++     dp_brush_bkgd_clr_t f;
++} dp_brush_bkgd_clr_u;
++
++typedef struct _src2_offset_t {
++     unsigned long src2_offset                    : 24;
++     unsigned long                                : 8;
++     } src2_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     src2_offset_t f;
++} src2_offset_u;
++
++typedef struct _src2_pitch_t {
++     unsigned long src2_pitch                     : 14;
++     unsigned long src2_pitch_mul                 : 2;
++     unsigned long                                : 16;
++     } src2_pitch_t;
++
++typedef union {
++     unsigned long val : 32;
++     src2_pitch_t f;
++} src2_pitch_u;
++
++typedef struct _src2_pitch_offset_t {
++     unsigned long src2_offset                    : 20;
++     unsigned long                                : 2;
++     unsigned long src2_pitch                     : 8;
++     unsigned long src2_pitch_mul                 : 2;
++     } src2_pitch_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     src2_pitch_offset_t f;
++} src2_pitch_offset_u;
++
++typedef struct _src2_x_t {
++     unsigned long src_x                          : 14;
++     unsigned long                                : 18;
++     } src2_x_t;
++
++typedef union {
++     unsigned long val : 32;
++     src2_x_t f;
++} src2_x_u;
++
++typedef struct _src2_y_t {
++     unsigned long src_y                          : 14;
++     unsigned long                                : 18;
++     } src2_y_t;
++
++typedef union {
++     unsigned long val : 32;
++     src2_y_t f;
++} src2_y_u;
++
++typedef struct _src2_x_y_t {
++     unsigned long src_y                          : 14;
++     unsigned long                                : 2;
++     unsigned long src_x                          : 14;
++     unsigned long                                : 2;
++     } src2_x_y_t;
++
++typedef union {
++     unsigned long val : 32;
++     src2_x_y_t f;
++} src2_x_y_u;
++
++typedef struct _src2_width_t {
++     unsigned long src2_width                     : 14;
++     unsigned long                                : 18;
++     } src2_width_t;
++
++typedef union {
++     unsigned long val : 32;
++     src2_width_t f;
++} src2_width_u;
++
++typedef struct _src2_height_t {
++     unsigned long src2_height                    : 14;
++     unsigned long                                : 18;
++     } src2_height_t;
++
++typedef union {
++     unsigned long val : 32;
++     src2_height_t f;
++} src2_height_u;
++
++typedef struct _src2_inc_t {
++     unsigned long src2_xinc                      : 6;
++     unsigned long                                : 2;
++     unsigned long src2_yinc                      : 6;
++     unsigned long                                : 18;
++     } src2_inc_t;
++
++typedef union {
++     unsigned long val : 32;
++     src2_inc_t f;
++} src2_inc_u;
++
++typedef struct _src_offset_t {
++     unsigned long src_offset                     : 24;
++     unsigned long                                : 8;
++     } src_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_offset_t f;
++} src_offset_u;
++
++typedef struct _src_pitch_t {
++     unsigned long src_pitch                      : 14;
++     unsigned long src_pitch_mul                  : 2;
++     unsigned long                                : 16;
++     } src_pitch_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_pitch_t f;
++} src_pitch_u;
++
++typedef struct _src_pitch_offset_t {
++     unsigned long src_offset                     : 20;
++     unsigned long src_pitch                      : 10;
++     unsigned long src_pitch_mul                  : 2;
++     } src_pitch_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_pitch_offset_t f;
++} src_pitch_offset_u;
++
++typedef struct _src_x_t {
++     unsigned long src_x                          : 14;
++     unsigned long                                : 18;
++     } src_x_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_x_t f;
++} src_x_u;
++
++typedef struct _src_y_t {
++     unsigned long src_y                          : 14;
++     unsigned long                                : 18;
++     } src_y_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_y_t f;
++} src_y_u;
++
++typedef struct _src_x_y_t {
++     unsigned long src_y                          : 14;
++     unsigned long                                : 2;
++     unsigned long src_x                          : 14;
++     unsigned long                                : 2;
++     } src_x_y_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_x_y_t f;
++} src_x_y_u;
++
++typedef struct _src_y_x_t {
++     unsigned long src_x                          : 14;
++     unsigned long                                : 2;
++     unsigned long src_y                          : 14;
++     unsigned long                                : 2;
++     } src_y_x_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_y_x_t f;
++} src_y_x_u;
++
++typedef struct _src_width_t {
++     unsigned long src_width                      : 14;
++     unsigned long                                : 18;
++     } src_width_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_width_t f;
++} src_width_u;
++
++typedef struct _src_height_t {
++     unsigned long src_height                     : 14;
++     unsigned long                                : 18;
++     } src_height_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_height_t f;
++} src_height_u;
++
++typedef struct _src_inc_t {
++     unsigned long src_xinc                       : 6;
++     unsigned long                                : 2;
++     unsigned long src_yinc                       : 6;
++     unsigned long                                : 18;
++     } src_inc_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_inc_t f;
++} src_inc_u;
++
++typedef struct _host_data0_t {
++     unsigned long host_data                      : 32;
++     } host_data0_t;
++
++typedef union {
++     unsigned long val : 32;
++     host_data0_t f;
++} host_data0_u;
++
++typedef struct _host_data1_t {
++     unsigned long host_data                      : 32;
++     } host_data1_t;
++
++typedef union {
++     unsigned long val : 32;
++     host_data1_t f;
++} host_data1_u;
++
++typedef struct _host_data2_t {
++     unsigned long host_data                      : 32;
++     } host_data2_t;
++
++typedef union {
++     unsigned long val : 32;
++     host_data2_t f;
++} host_data2_u;
++
++typedef struct _host_data3_t {
++     unsigned long host_data                      : 32;
++     } host_data3_t;
++
++typedef union {
++     unsigned long val : 32;
++     host_data3_t f;
++} host_data3_u;
++
++typedef struct _host_data4_t {
++     unsigned long host_data                      : 32;
++     } host_data4_t;
++
++typedef union {
++     unsigned long val : 32;
++     host_data4_t f;
++} host_data4_u;
++
++typedef struct _host_data5_t {
++     unsigned long host_data                      : 32;
++     } host_data5_t;
++
++typedef union {
++     unsigned long val : 32;
++     host_data5_t f;
++} host_data5_u;
++
++typedef struct _host_data6_t {
++     unsigned long host_data                      : 32;
++     } host_data6_t;
++
++typedef union {
++     unsigned long val : 32;
++     host_data6_t f;
++} host_data6_u;
++
++typedef struct _host_data7_t {
++     unsigned long host_data                      : 32;
++     } host_data7_t;
++
++typedef union {
++     unsigned long val : 32;
++     host_data7_t f;
++} host_data7_u;
++
++typedef struct _host_data_last_t {
++     unsigned long host_data_last                 : 32;
++     } host_data_last_t;
++
++typedef union {
++     unsigned long val : 32;
++     host_data_last_t f;
++} host_data_last_u;
++
++typedef struct _dp_src_frgd_clr_t {
++     unsigned long dp_src_frgd_clr                : 32;
++     } dp_src_frgd_clr_t;
++
++typedef union {
++     unsigned long val : 32;
++     dp_src_frgd_clr_t f;
++} dp_src_frgd_clr_u;
++
++typedef struct _dp_src_bkgd_clr_t {
++     unsigned long dp_src_bkgd_clr                : 32;
++     } dp_src_bkgd_clr_t;
++
++typedef union {
++     unsigned long val : 32;
++     dp_src_bkgd_clr_t f;
++} dp_src_bkgd_clr_u;
++
++typedef struct _sc_left_t {
++     unsigned long sc_left                        : 14;
++     unsigned long                                : 18;
++     } sc_left_t;
++
++typedef union {
++     unsigned long val : 32;
++     sc_left_t f;
++} sc_left_u;
++
++typedef struct _sc_right_t {
++     unsigned long sc_right                       : 14;
++     unsigned long                                : 18;
++     } sc_right_t;
++
++typedef union {
++     unsigned long val : 32;
++     sc_right_t f;
++} sc_right_u;
++
++typedef struct _sc_top_t {
++     unsigned long sc_top                         : 14;
++     unsigned long                                : 18;
++     } sc_top_t;
++
++typedef union {
++     unsigned long val : 32;
++     sc_top_t f;
++} sc_top_u;
++
++typedef struct _sc_bottom_t {
++     unsigned long sc_bottom                      : 14;
++     unsigned long                                : 18;
++     } sc_bottom_t;
++
++typedef union {
++     unsigned long val : 32;
++     sc_bottom_t f;
++} sc_bottom_u;
++
++typedef struct _src_sc_right_t {
++     unsigned long sc_right                       : 14;
++     unsigned long                                : 18;
++     } src_sc_right_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_sc_right_t f;
++} src_sc_right_u;
++
++typedef struct _src_sc_bottom_t {
++     unsigned long sc_bottom                      : 14;
++     unsigned long                                : 18;
++     } src_sc_bottom_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_sc_bottom_t f;
++} src_sc_bottom_u;
++
++typedef struct _dp_cntl_t {
++     unsigned long dst_x_dir                      : 1;
++     unsigned long dst_y_dir                      : 1;
++     unsigned long src_x_dir                      : 1;
++     unsigned long src_y_dir                      : 1;
++     unsigned long dst_major_x                    : 1;
++     unsigned long src_major_x                    : 1;
++     unsigned long                                : 26;
++     } dp_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     dp_cntl_t f;
++} dp_cntl_u;
++
++typedef struct _dp_cntl_dst_dir_t {
++     unsigned long                                : 15;
++     unsigned long dst_y_dir                      : 1;
++     unsigned long                                : 15;
++     unsigned long dst_x_dir                      : 1;
++     } dp_cntl_dst_dir_t;
++
++typedef union {
++     unsigned long val : 32;
++     dp_cntl_dst_dir_t f;
++} dp_cntl_dst_dir_u;
++
++typedef struct _dp_datatype_t {
++     unsigned long dp_dst_datatype                : 4;
++     unsigned long                                : 4;
++     unsigned long dp_brush_datatype              : 4;
++     unsigned long dp_src2_type                   : 1;
++     unsigned long dp_src2_datatype               : 3;
++     unsigned long dp_src_datatype                : 3;
++     unsigned long                                : 11;
++     unsigned long dp_byte_pix_order              : 1;
++     unsigned long                                : 1;
++     } dp_datatype_t;
++
++typedef union {
++     unsigned long val : 32;
++     dp_datatype_t f;
++} dp_datatype_u;
++
++typedef struct _dp_mix_t {
++     unsigned long                                : 8;
++     unsigned long dp_src_source                  : 3;
++     unsigned long dp_src2_source                 : 3;
++     unsigned long                                : 2;
++     unsigned long dp_rop3                        : 8;
++     unsigned long dp_op                          : 1;
++     unsigned long                                : 7;
++     } dp_mix_t;
++
++typedef union {
++     unsigned long val : 32;
++     dp_mix_t f;
++} dp_mix_u;
++
++typedef struct _dp_write_msk_t {
++     unsigned long dp_write_msk                   : 32;
++     } dp_write_msk_t;
++
++typedef union {
++     unsigned long val : 32;
++     dp_write_msk_t f;
++} dp_write_msk_u;
++
++typedef struct _clr_cmp_clr_src_t {
++     unsigned long clr_cmp_clr_src                : 32;
++     } clr_cmp_clr_src_t;
++
++typedef union {
++     unsigned long val : 32;
++     clr_cmp_clr_src_t f;
++} clr_cmp_clr_src_u;
++
++typedef struct _clr_cmp_clr_dst_t {
++     unsigned long clr_cmp_clr_dst                : 32;
++     } clr_cmp_clr_dst_t;
++
++typedef union {
++     unsigned long val : 32;
++     clr_cmp_clr_dst_t f;
++} clr_cmp_clr_dst_u;
++
++typedef struct _clr_cmp_cntl_t {
++     unsigned long clr_cmp_fcn_src                : 3;
++     unsigned long                                : 5;
++     unsigned long clr_cmp_fcn_dst                : 3;
++     unsigned long                                : 13;
++     unsigned long clr_cmp_src                    : 2;
++     unsigned long                                : 6;
++     } clr_cmp_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     clr_cmp_cntl_t f;
++} clr_cmp_cntl_u;
++
++typedef struct _clr_cmp_msk_t {
++     unsigned long clr_cmp_msk                    : 32;
++     } clr_cmp_msk_t;
++
++typedef union {
++     unsigned long val : 32;
++     clr_cmp_msk_t f;
++} clr_cmp_msk_u;
++
++typedef struct _default_pitch_offset_t {
++     unsigned long default_offset                 : 20;
++     unsigned long default_pitch                  : 10;
++     unsigned long                                : 2;
++     } default_pitch_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     default_pitch_offset_t f;
++} default_pitch_offset_u;
++
++typedef struct _default_sc_bottom_right_t {
++     unsigned long default_sc_right               : 14;
++     unsigned long                                : 2;
++     unsigned long default_sc_bottom              : 14;
++     unsigned long                                : 2;
++     } default_sc_bottom_right_t;
++
++typedef union {
++     unsigned long val : 32;
++     default_sc_bottom_right_t f;
++} default_sc_bottom_right_u;
++
++typedef struct _default2_sc_bottom_right_t {
++     unsigned long default_sc_right               : 14;
++     unsigned long                                : 2;
++     unsigned long default_sc_bottom              : 14;
++     unsigned long                                : 2;
++     } default2_sc_bottom_right_t;
++
++typedef union {
++     unsigned long val : 32;
++     default2_sc_bottom_right_t f;
++} default2_sc_bottom_right_u;
++
++typedef struct _ref1_pitch_offset_t {
++     unsigned long offset                         : 20;
++     unsigned long                                : 2;
++     unsigned long pitch                          : 8;
++     unsigned long                                : 2;
++     } ref1_pitch_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     ref1_pitch_offset_t f;
++} ref1_pitch_offset_u;
++
++typedef struct _ref2_pitch_offset_t {
++     unsigned long offset                         : 20;
++     unsigned long                                : 2;
++     unsigned long pitch                          : 8;
++     unsigned long                                : 2;
++     } ref2_pitch_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     ref2_pitch_offset_t f;
++} ref2_pitch_offset_u;
++
++typedef struct _ref3_pitch_offset_t {
++     unsigned long offset                         : 20;
++     unsigned long                                : 2;
++     unsigned long pitch                          : 8;
++     unsigned long                                : 2;
++     } ref3_pitch_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     ref3_pitch_offset_t f;
++} ref3_pitch_offset_u;
++
++typedef struct _ref4_pitch_offset_t {
++     unsigned long offset                         : 20;
++     unsigned long                                : 2;
++     unsigned long pitch                          : 8;
++     unsigned long                                : 2;
++     } ref4_pitch_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     ref4_pitch_offset_t f;
++} ref4_pitch_offset_u;
++
++typedef struct _ref5_pitch_offset_t {
++     unsigned long offset                         : 20;
++     unsigned long                                : 2;
++     unsigned long pitch                          : 8;
++     unsigned long                                : 2;
++     } ref5_pitch_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     ref5_pitch_offset_t f;
++} ref5_pitch_offset_u;
++
++typedef struct _ref6_pitch_offset_t {
++     unsigned long offset                         : 20;
++     unsigned long                                : 2;
++     unsigned long pitch                          : 8;
++     unsigned long                                : 2;
++     } ref6_pitch_offset_t;
++
++typedef union {
++     unsigned long val : 32;
++     ref6_pitch_offset_t f;
++} ref6_pitch_offset_u;
++
++typedef struct _dp_gui_master_cntl_t {
++     unsigned long gmc_src_pitch_offset_cntl      : 1;
++     unsigned long gmc_dst_pitch_offset_cntl      : 1;
++     unsigned long gmc_src_clipping               : 1;
++     unsigned long gmc_dst_clipping               : 1;
++     unsigned long gmc_brush_datatype             : 4;
++     unsigned long gmc_dst_datatype               : 4;
++     unsigned long gmc_src_datatype               : 3;
++     unsigned long gmc_byte_pix_order             : 1;
++     unsigned long gmc_default_sel                : 1;
++     unsigned long gmc_rop3                       : 8;
++     unsigned long gmc_dp_src_source              : 3;
++     unsigned long gmc_clr_cmp_fcn_dis            : 1;
++     unsigned long                                : 1;
++     unsigned long gmc_wr_msk_dis                 : 1;
++     unsigned long gmc_dp_op                      : 1;
++     } dp_gui_master_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     dp_gui_master_cntl_t f;
++} dp_gui_master_cntl_u;
++
++typedef struct _sc_top_left_t {
++     unsigned long sc_left                        : 14;
++     unsigned long                                : 2;
++     unsigned long sc_top                         : 14;
++     unsigned long                                : 2;
++     } sc_top_left_t;
++
++typedef union {
++     unsigned long val : 32;
++     sc_top_left_t f;
++} sc_top_left_u;
++
++typedef struct _sc_bottom_right_t {
++     unsigned long sc_right                       : 14;
++     unsigned long                                : 2;
++     unsigned long sc_bottom                      : 14;
++     unsigned long                                : 2;
++     } sc_bottom_right_t;
++
++typedef union {
++    unsigned long val : 32;
++    sc_bottom_right_t f;
++} sc_bottom_right_u;
++
++typedef struct _src_sc_top_left_t {
++    unsigned short sc_left;
++    unsigned short sc_top;
++} src_sc_top_left_t;
++
++typedef union {
++    unsigned long val : 32;
++    src_sc_top_left_t f;
++} src_sc_top_left_u;
++
++typedef struct _src_sc_bottom_right_t {
++     unsigned long sc_right                       : 14;
++     unsigned long                                : 2;
++     unsigned long sc_bottom                      : 14;
++     unsigned long                                : 2;
++     } src_sc_bottom_right_t;
++
++typedef union {
++     unsigned long val : 32;
++     src_sc_bottom_right_t f;
++} src_sc_bottom_right_u;
++
++typedef struct _global_alpha_t {
++    unsigned long alpha_r                        : 8;
++    unsigned long alpha_g                        : 8;
++    unsigned long alpha_b                        : 8;
++    unsigned long alpha_a                        : 8;
++} global_alpha_t;
++
++typedef union {
++    unsigned long val : 32;
++    global_alpha_t f;
++} global_alpha_u;
++
++typedef struct _filter_coef_t {
++    unsigned long c_4                            : 4;
++    unsigned long c_3                            : 4;
++    unsigned long c_2                            : 4;
++    unsigned long c_1                            : 4;
++    unsigned long c1                             : 4;
++    unsigned long c2                             : 4;
++    unsigned long c3                             : 4;
++    unsigned long c4                             : 4;
++} filter_coef_t;
++
++typedef union {
++    unsigned long val : 32;
++    filter_coef_t f;
++} filter_coef_u;
++
++typedef struct _mvc_cntl_start_t {
++    unsigned long mc_cntl_src_1_index            : 4;
++    unsigned long mc_cntl_dst_offset             : 20;
++    unsigned long mc_dst_pitch_mul               : 2;
++    unsigned long mc_cntl_src_2_index            : 3;
++    unsigned long mc_cntl_width_height_sel       : 3;
++} mvc_cntl_start_t;
++
++typedef union {
++    unsigned long val : 32;
++    mvc_cntl_start_t f;
++} mvc_cntl_start_u;
++
++typedef struct _e2_arithmetic_cntl_t {
++    unsigned long opcode                         : 5;
++    unsigned long shiftright                     : 4;
++    unsigned long clamp                          : 1;
++    unsigned long rounding                       : 2;
++    unsigned long filter_n                       : 3;
++    unsigned long                                : 1;
++    unsigned long srcblend_inv                   : 1;
++    unsigned long srcblend                       : 4;
++    unsigned long                                : 3;
++    unsigned long dstblend_inv                   : 1;
++    unsigned long dstblend                       : 4;
++    unsigned long dst_signed                     : 1;
++    unsigned long autoinc                        : 1;
++    unsigned long                                : 1;
++} e2_arithmetic_cntl_t;
++
++typedef union {
++    unsigned long val : 32;
++    e2_arithmetic_cntl_t f;
++} e2_arithmetic_cntl_u;
++
++typedef struct _debug0_t {
++    unsigned long debug0_r                       : 8;
++    unsigned long                                : 8;
++    unsigned long debug0_rw                      : 8;
++    unsigned long                                : 8;
++} debug0_t;
++
++typedef union {
++    unsigned long val : 32;
++     debug0_t f;
++} debug0_u;
++
++typedef struct _debug1_t {
++    unsigned long debug1_r                       : 8;
++    unsigned long                                : 8;
++    unsigned long debug1_rw                      : 8;
++    unsigned long                                : 8;
++} debug1_t;
++
++typedef union {
++    unsigned long val : 32;
++    debug1_t f;
++} debug1_u;
++
++typedef struct _debug2_t {
++    unsigned long debug2_r                       : 8;
++    unsigned long                                : 8;
++    unsigned long debug2_rw                      : 8;
++    unsigned long                                : 8;
++} debug2_t;
++
++typedef union {
++    unsigned long val : 32;
++    debug2_t f;
++} debug2_u;
++
++typedef struct _debug3_t {
++    unsigned long                                : 32;
++} debug3_t;
++
++typedef union {
++    unsigned long val : 32;
++    debug3_t f;
++} debug3_u;
++
++typedef struct _debug4_t {
++    unsigned long                                : 32;
++} debug4_t;
++
++typedef union {
++    unsigned long val : 32;
++    debug4_t f;
++} debug4_u;
++
++typedef struct _debug5_t {
++    unsigned long                                : 32;
++} debug5_t;
++
++typedef union {
++    unsigned long val : 32;
++    debug5_t f;
++} debug5_u;
++
++typedef struct _debug6_t {
++    unsigned long                                : 32;
++} debug6_t;
++
++typedef union {
++    unsigned long val : 32;
++    debug6_t f;
++} debug6_u;
++
++typedef struct _debug7_t {
++    unsigned long                                : 32;
++} debug7_t;
++
++typedef union {
++    unsigned long val : 32;
++    debug7_t f;
++} debug7_u;
++
++typedef struct _debug8_t {
++     unsigned long                                : 32;
++} debug8_t;
++
++typedef union {
++    unsigned long val : 32;
++    debug8_t f;
++} debug8_u;
++
++typedef struct _debug9_t {
++    unsigned long                                : 32;
++} debug9_t;
++
++typedef union {
++    unsigned long val : 32;
++    debug9_t f;
++} debug9_u;
++
++typedef struct _debug10_t {
++     unsigned long                                : 32;
++     } debug10_t;
++
++typedef union {
++     unsigned long val : 32;
++     debug10_t f;
++} debug10_u;
++
++typedef struct _debug11_t {
++     unsigned long                                : 32;
++     } debug11_t;
++
++typedef union {
++     unsigned long val : 32;
++     debug11_t f;
++} debug11_u;
++
++typedef struct _debug12_t {
++     unsigned long                                : 32;
++     } debug12_t;
++
++typedef union {
++     unsigned long val : 32;
++     debug12_t f;
++} debug12_u;
++
++typedef struct _debug13_t {
++     unsigned long                                : 32;
++     } debug13_t;
++
++typedef union {
++     unsigned long val : 32;
++     debug13_t f;
++} debug13_u;
++
++typedef struct _debug14_t {
++     unsigned long                                : 32;
++     } debug14_t;
++
++typedef union {
++     unsigned long val : 32;
++     debug14_t f;
++} debug14_u;
++
++typedef struct _debug15_t {
++     unsigned long                                : 32;
++     } debug15_t;
++
++typedef union {
++     unsigned long val : 32;
++     debug15_t f;
++} debug15_u;
++
++typedef struct _eng_cntl_t {
++     unsigned long erc_reg_rd_ws                  : 1;
++     unsigned long erc_reg_wr_ws                  : 1;
++     unsigned long erc_idle_reg_wr                : 1;
++     unsigned long dis_engine_triggers            : 1;
++     unsigned long dis_rop_src_uses_dst_w_h       : 1;
++     unsigned long dis_src_uses_dst_dirmaj        : 1;
++     unsigned long                                : 6;
++     unsigned long force_3dclk_when_2dclk         : 1;
++     unsigned long                                : 19;
++     } eng_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     eng_cntl_t f;
++} eng_cntl_u;
++
++typedef struct _eng_perf_cnt_t {
++     unsigned long perf_cnt                       : 20;
++     unsigned long perf_sel                       : 4;
++     unsigned long perf_en                        : 1;
++     unsigned long                                : 3;
++     unsigned long perf_clr                       : 1;
++     unsigned long                                : 3;
++     } eng_perf_cnt_t;
++
++typedef union {
++     unsigned long val : 32;
++     eng_perf_cnt_t f;
++} eng_perf_cnt_u;
++
++typedef struct _idct_runs_t {
++     unsigned long idct_runs_3                    : 8;
++     unsigned long idct_runs_2                    : 8;
++     unsigned long idct_runs_1                    : 8;
++     unsigned long idct_runs_0                    : 8;
++     } idct_runs_t;
++
++typedef union {
++     unsigned long val : 32;
++     idct_runs_t f;
++} idct_runs_u;
++
++typedef struct _idct_levels_t {
++     unsigned long idct_level_hi                  : 16;
++     unsigned long idct_level_lo                  : 16;
++     } idct_levels_t;
++
++typedef union {
++     unsigned long val : 32;
++     idct_levels_t f;
++} idct_levels_u;
++
++typedef struct _idct_control_t {
++     unsigned long idct_ctl_luma_rd_format        : 2;
++     unsigned long idct_ctl_chroma_rd_format      : 2;
++     unsigned long idct_ctl_scan_pattern          : 1;
++     unsigned long idct_ctl_intra                 : 1;
++     unsigned long idct_ctl_flush                 : 1;
++     unsigned long idct_ctl_passthru              : 1;
++     unsigned long idct_ctl_sw_reset              : 1;
++     unsigned long idct_ctl_constreq              : 1;
++     unsigned long idct_ctl_scramble              : 1;
++     unsigned long idct_ctl_alt_scan              : 1;
++     unsigned long                                : 20;
++     } idct_control_t;
++
++typedef union {
++     unsigned long val : 32;
++     idct_control_t f;
++} idct_control_u;
++
++typedef struct _idct_auth_control_t {
++     unsigned long control_bits                   : 32;
++     } idct_auth_control_t;
++
++typedef union {
++     unsigned long val : 32;
++     idct_auth_control_t f;
++} idct_auth_control_u;
++
++typedef struct _idct_auth_t {
++     unsigned long auth                           : 32;
++     } idct_auth_t;
++
++typedef union {
++     unsigned long val : 32;
++     idct_auth_t f;
++} idct_auth_u;
++
++typedef struct _mem_cntl_t {
++     unsigned long                                : 1;
++     unsigned long en_mem_ch1                     : 1;
++     unsigned long en_mem_ch2                     : 1;
++     unsigned long int_mem_mapping                : 1;
++     unsigned long                                : 28;
++     } mem_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     mem_cntl_t f;
++} mem_cntl_u;
++
++typedef struct _mem_arb_t {
++     unsigned long disp_time_slot                 : 4;
++     unsigned long disp_timer                     : 4;
++     unsigned long arb_option                     : 1;
++     unsigned long                                : 23;
++     } mem_arb_t;
++
++typedef union {
++     unsigned long val : 32;
++     mem_arb_t f;
++} mem_arb_u;
++
++typedef struct _mc_fb_location_t {
++     unsigned long mc_fb_start                    : 16;
++     unsigned long mc_fb_top                      : 16;
++     } mc_fb_location_t;
++
++typedef union {
++     unsigned long val : 32;
++     mc_fb_location_t f;
++} mc_fb_location_u;
++
++typedef struct _mem_ext_cntl_t {
++     unsigned long mem_ext_enable                 : 1;
++     unsigned long mem_ap_enable                  : 1;
++     unsigned long mem_addr_mapping               : 2;
++     unsigned long mem_wdoe_cntl                  : 2;
++     unsigned long mem_wdoe_extend                : 1;
++     unsigned long                                : 1;
++     unsigned long mem_page_timer                 : 8;
++     unsigned long mem_dynamic_cke                : 1;
++     unsigned long mem_sdram_tri_en               : 1;
++     unsigned long mem_self_refresh_en            : 1;
++     unsigned long mem_power_down                 : 1;
++     unsigned long mem_hw_power_down_en           : 1;
++     unsigned long mem_power_down_stat            : 1;
++     unsigned long                                : 3;
++     unsigned long mem_pd_mck                     : 1;
++     unsigned long mem_pd_ma                      : 1;
++     unsigned long mem_pd_mdq                     : 1;
++     unsigned long mem_tristate_mck               : 1;
++     unsigned long mem_tristate_ma                : 1;
++     unsigned long mem_tristate_mcke              : 1;
++     unsigned long mem_invert_mck                 : 1;
++     } mem_ext_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     mem_ext_cntl_t f;
++} mem_ext_cntl_u;
++
++typedef struct _mc_ext_mem_location_t {
++     unsigned long mc_ext_mem_start               : 16;
++     unsigned long mc_ext_mem_top                 : 16;
++     } mc_ext_mem_location_t;
++
++typedef union {
++     unsigned long val : 32;
++     mc_ext_mem_location_t f;
++} mc_ext_mem_location_u;
++
++typedef struct _mem_ext_timing_cntl_t {
++     unsigned long mem_trp                        : 2;
++     unsigned long mem_trcd                       : 2;
++     unsigned long mem_tras                       : 3;
++     unsigned long                                : 1;
++     unsigned long mem_trrd                       : 2;
++     unsigned long mem_tr2w                       : 2;
++     unsigned long mem_twr                        : 2;
++     unsigned long                                : 4;
++     unsigned long mem_twr_mode                   : 1;
++     unsigned long                                : 1;
++     unsigned long mem_refresh_dis                : 1;
++     unsigned long                                : 3;
++     unsigned long mem_refresh_rate               : 8;
++     } mem_ext_timing_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     mem_ext_timing_cntl_t f;
++} mem_ext_timing_cntl_u;
++
++typedef struct _mem_sdram_mode_reg_t {
++     unsigned long mem_mode_reg                   : 14;
++     unsigned long                                : 2;
++     unsigned long mem_read_latency               : 2;
++     unsigned long mem_schmen_latency             : 2;
++     unsigned long mem_cas_latency                : 2;
++     unsigned long mem_schmen_extend              : 1;
++     unsigned long                                : 8;
++     unsigned long mem_sdram_reset                : 1;
++     } mem_sdram_mode_reg_t;
++
++typedef union {
++     unsigned long val : 32;
++     mem_sdram_mode_reg_t f;
++} mem_sdram_mode_reg_u;
++
++typedef struct _mem_io_cntl_t {
++     unsigned long mem_sn_mck                     : 4;
++     unsigned long mem_sn_ma                      : 4;
++     unsigned long mem_sn_mdq                     : 4;
++     unsigned long mem_srn_mck                    : 1;
++     unsigned long mem_srn_ma                     : 1;
++     unsigned long mem_srn_mdq                    : 1;
++     unsigned long                                : 1;
++     unsigned long mem_sp_mck                     : 4;
++     unsigned long mem_sp_ma                      : 4;
++     unsigned long mem_sp_mdq                     : 4;
++     unsigned long mem_srp_mck                    : 1;
++     unsigned long mem_srp_ma                     : 1;
++     unsigned long mem_srp_mdq                    : 1;
++     unsigned long                                : 1;
++     } mem_io_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     mem_io_cntl_t f;
++} mem_io_cntl_u;
++
++typedef struct _mc_debug_t {
++     unsigned long mc_debug                       : 32;
++     } mc_debug_t;
++
++typedef union {
++     unsigned long val : 32;
++     mc_debug_t f;
++} mc_debug_u;
++
++typedef struct _mc_bist_ctrl_t {
++     unsigned long mc_bist_ctrl                   : 32;
++     } mc_bist_ctrl_t;
++
++typedef union {
++     unsigned long val : 32;
++     mc_bist_ctrl_t f;
++} mc_bist_ctrl_u;
++
++typedef struct _mc_bist_collar_read_t {
++     unsigned long mc_bist_collar_read            : 32;
++     } mc_bist_collar_read_t;
++
++typedef union {
++     unsigned long val : 32;
++     mc_bist_collar_read_t f;
++} mc_bist_collar_read_u;
++
++typedef struct _tc_mismatch_t {
++     unsigned long tc_mismatch                    : 24;
++     unsigned long                                : 8;
++     } tc_mismatch_t;
++
++typedef union {
++     unsigned long val : 32;
++     tc_mismatch_t f;
++} tc_mismatch_u;
++
++typedef struct _mc_perf_mon_cntl_t {
++     unsigned long clr_perf                       : 1;
++     unsigned long en_perf                        : 1;
++     unsigned long                                : 2;
++     unsigned long perf_op_a                      : 2;
++     unsigned long perf_op_b                      : 2;
++     unsigned long                                : 8;
++     unsigned long monitor_period                 : 8;
++     unsigned long perf_count_a_overflow          : 1;
++     unsigned long perf_count_b_overflow          : 1;
++     unsigned long                                : 6;
++     } mc_perf_mon_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     mc_perf_mon_cntl_t f;
++} mc_perf_mon_cntl_u;
++
++typedef struct _mc_perf_counters_t {
++     unsigned long mc_perf_counter_a              : 16;
++     unsigned long mc_perf_counter_b              : 16;
++     } mc_perf_counters_t;
++
++typedef union {
++     unsigned long val : 32;
++     mc_perf_counters_t f;
++} mc_perf_counters_u;
++
++typedef struct _wait_until_t {
++     unsigned long wait_crtc_pflip                : 1;
++     unsigned long wait_re_crtc_vline             : 1;
++     unsigned long wait_fe_crtc_vline             : 1;
++     unsigned long wait_crtc_vline                : 1;
++     unsigned long wait_dma_viph0_idle            : 1;
++     unsigned long wait_dma_viph1_idle            : 1;
++     unsigned long wait_dma_viph2_idle            : 1;
++     unsigned long wait_dma_viph3_idle            : 1;
++     unsigned long wait_dma_vid_idle              : 1;
++     unsigned long wait_dma_gui_idle              : 1;
++     unsigned long wait_cmdfifo                   : 1;
++     unsigned long wait_ov0_flip                  : 1;
++     unsigned long wait_ov0_slicedone             : 1;
++     unsigned long                                : 1;
++     unsigned long wait_2d_idle                   : 1;
++     unsigned long wait_3d_idle                   : 1;
++     unsigned long wait_2d_idleclean              : 1;
++     unsigned long wait_3d_idleclean              : 1;
++     unsigned long wait_host_idleclean            : 1;
++     unsigned long wait_extern_sig                : 1;
++     unsigned long cmdfifo_entries                : 7;
++     unsigned long                                : 3;
++     unsigned long wait_both_crtc_pflip           : 1;
++     unsigned long eng_display_select             : 1;
++     } wait_until_t;
++
++typedef union {
++     unsigned long val : 32;
++     wait_until_t f;
++} wait_until_u;
++
++typedef struct _isync_cntl_t {
++     unsigned long isync_any2d_idle3d             : 1;
++     unsigned long isync_any3d_idle2d             : 1;
++     unsigned long isync_trig2d_idle3d            : 1;
++     unsigned long isync_trig3d_idle2d            : 1;
++     unsigned long isync_wait_idlegui             : 1;
++     unsigned long isync_cpscratch_idlegui        : 1;
++     unsigned long                                : 26;
++     } isync_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     isync_cntl_t f;
++} isync_cntl_u;
++
++typedef struct _rbbm_guicntl_t {
++     unsigned long host_data_swap                 : 2;
++     unsigned long                                : 30;
++     } rbbm_guicntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     rbbm_guicntl_t f;
++} rbbm_guicntl_u;
++
++typedef struct _rbbm_status_t {
++     unsigned long cmdfifo_avail                  : 7;
++     unsigned long                                : 1;
++     unsigned long hirq_on_rbb                    : 1;
++     unsigned long cprq_on_rbb                    : 1;
++     unsigned long cfrq_on_rbb                    : 1;
++     unsigned long hirq_in_rtbuf                  : 1;
++     unsigned long cprq_in_rtbuf                  : 1;
++     unsigned long cfrq_in_rtbuf                  : 1;
++     unsigned long cf_pipe_busy                   : 1;
++     unsigned long eng_ev_busy                    : 1;
++     unsigned long cp_cmdstrm_busy                : 1;
++     unsigned long e2_busy                        : 1;
++     unsigned long rb2d_busy                      : 1;
++     unsigned long rb3d_busy                      : 1;
++     unsigned long se_busy                        : 1;
++     unsigned long re_busy                        : 1;
++     unsigned long tam_busy                       : 1;
++     unsigned long tdm_busy                       : 1;
++     unsigned long pb_busy                        : 1;
++     unsigned long                                : 6;
++     unsigned long gui_active                     : 1;
++     } rbbm_status_t;
++
++typedef union {
++     unsigned long val : 32;
++     rbbm_status_t f;
++} rbbm_status_u;
++
++typedef struct _rbbm_cntl_t {
++     unsigned long rb_settle                      : 4;
++     unsigned long abortclks_hi                   : 3;
++     unsigned long                                : 1;
++     unsigned long abortclks_cp                   : 3;
++     unsigned long                                : 1;
++     unsigned long abortclks_cfifo                : 3;
++     unsigned long                                : 2;
++     unsigned long cpq_data_swap                  : 1;
++     unsigned long                                : 3;
++     unsigned long no_abort_idct                  : 1;
++     unsigned long no_abort_bios                  : 1;
++     unsigned long no_abort_fb                    : 1;
++     unsigned long no_abort_cp                    : 1;
++     unsigned long no_abort_hi                    : 1;
++     unsigned long no_abort_hdp                   : 1;
++     unsigned long no_abort_mc                    : 1;
++     unsigned long no_abort_aic                   : 1;
++     unsigned long no_abort_vip                   : 1;
++     unsigned long no_abort_disp                  : 1;
++     unsigned long no_abort_cg                    : 1;
++     } rbbm_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     rbbm_cntl_t f;
++} rbbm_cntl_u;
++
++typedef struct _rbbm_soft_reset_t {
++     unsigned long soft_reset_cp                  : 1;
++     unsigned long soft_reset_hi                  : 1;
++     unsigned long reserved3                      : 3;
++     unsigned long soft_reset_e2                  : 1;
++     unsigned long reserved2                      : 2;
++     unsigned long soft_reset_mc                  : 1;
++     unsigned long reserved1                      : 2;
++     unsigned long soft_reset_disp                : 1;
++     unsigned long soft_reset_cg                  : 1;
++     unsigned long                                : 19;
++     } rbbm_soft_reset_t;
++
++typedef union {
++     unsigned long val : 32;
++     rbbm_soft_reset_t f;
++} rbbm_soft_reset_u;
++
++typedef struct _nqwait_until_t {
++     unsigned long wait_gui_idle                  : 1;
++     unsigned long                                : 31;
++     } nqwait_until_t;
++
++typedef union {
++     unsigned long val : 32;
++     nqwait_until_t f;
++} nqwait_until_u;
++
++typedef struct _rbbm_debug_t {
++     unsigned long rbbm_debug                     : 32;
++     } rbbm_debug_t;
++
++typedef union {
++     unsigned long val : 32;
++     rbbm_debug_t f;
++} rbbm_debug_u;
++
++typedef struct _rbbm_cmdfifo_addr_t {
++     unsigned long cmdfifo_addr                   : 6;
++     unsigned long                                : 26;
++     } rbbm_cmdfifo_addr_t;
++
++typedef union {
++     unsigned long val : 32;
++     rbbm_cmdfifo_addr_t f;
++} rbbm_cmdfifo_addr_u;
++
++typedef struct _rbbm_cmdfifo_datal_t {
++     unsigned long cmdfifo_datal                  : 32;
++     } rbbm_cmdfifo_datal_t;
++
++typedef union {
++     unsigned long val : 32;
++     rbbm_cmdfifo_datal_t f;
++} rbbm_cmdfifo_datal_u;
++
++typedef struct _rbbm_cmdfifo_datah_t {
++     unsigned long cmdfifo_datah                  : 12;
++     unsigned long                                : 20;
++     } rbbm_cmdfifo_datah_t;
++
++typedef union {
++     unsigned long val : 32;
++     rbbm_cmdfifo_datah_t f;
++} rbbm_cmdfifo_datah_u;
++
++typedef struct _rbbm_cmdfifo_stat_t {
++     unsigned long cmdfifo_rptr                   : 6;
++     unsigned long                                : 2;
++     unsigned long cmdfifo_wptr                   : 6;
++     unsigned long                                : 18;
++     } rbbm_cmdfifo_stat_t;
++
++typedef union {
++     unsigned long val : 32;
++     rbbm_cmdfifo_stat_t f;
++} rbbm_cmdfifo_stat_u;
++
++typedef struct _clk_pin_cntl_t {
++     unsigned long osc_en                         : 1;
++     unsigned long osc_gain                       : 5;
++     unsigned long dont_use_xtalin                : 1;
++     unsigned long xtalin_pm_en                   : 1;
++     unsigned long xtalin_dbl_en                  : 1;
++     unsigned long                                : 7;
++     unsigned long cg_debug                       : 16;
++     } clk_pin_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     clk_pin_cntl_t f;
++} clk_pin_cntl_u;
++
++typedef struct _pll_ref_fb_div_t {
++     unsigned long pll_ref_div                    : 4;
++     unsigned long                                : 4;
++     unsigned long pll_fb_div_int                 : 6;
++     unsigned long                                : 2;
++     unsigned long pll_fb_div_frac                : 3;
++     unsigned long                                : 1;
++     unsigned long pll_reset_time                 : 4;
++     unsigned long pll_lock_time                  : 8;
++     } pll_ref_fb_div_t;
++
++typedef union {
++     unsigned long val : 32;
++     pll_ref_fb_div_t f;
++} pll_ref_fb_div_u;
++
++typedef struct _pll_cntl_t {
++     unsigned long pll_pwdn                       : 1;
++     unsigned long pll_reset                      : 1;
++     unsigned long pll_pm_en                      : 1;
++     unsigned long pll_mode                       : 1;
++     unsigned long pll_refclk_sel                 : 1;
++     unsigned long pll_fbclk_sel                  : 1;
++     unsigned long pll_tcpoff                     : 1;
++     unsigned long pll_pcp                        : 3;
++     unsigned long pll_pvg                        : 3;
++     unsigned long pll_vcofr                      : 1;
++     unsigned long pll_ioffset                    : 2;
++     unsigned long pll_pecc_mode                  : 2;
++     unsigned long pll_pecc_scon                  : 2;
++     unsigned long pll_dactal                     : 4;
++     unsigned long pll_cp_clip                    : 2;
++     unsigned long pll_conf                       : 3;
++     unsigned long pll_mbctrl                     : 2;
++     unsigned long pll_ring_off                   : 1;
++     } pll_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     pll_cntl_t f;
++} pll_cntl_u;
++
++typedef struct _sclk_cntl_t {
++     unsigned long sclk_src_sel                   : 2;
++     unsigned long                                : 2;
++     unsigned long sclk_post_div_fast             : 4;
++     unsigned long sclk_clkon_hys                 : 3;
++     unsigned long sclk_post_div_slow             : 4;
++     unsigned long disp_cg_ok2switch_en           : 1;
++     unsigned long sclk_force_reg                 : 1;
++     unsigned long sclk_force_disp                : 1;
++     unsigned long sclk_force_mc                  : 1;
++     unsigned long sclk_force_extmc               : 1;
++     unsigned long sclk_force_cp                  : 1;
++     unsigned long sclk_force_e2                  : 1;
++     unsigned long sclk_force_e3                  : 1;
++     unsigned long sclk_force_idct                : 1;
++     unsigned long sclk_force_bist                : 1;
++     unsigned long busy_extend_cp                 : 1;
++     unsigned long busy_extend_e2                 : 1;
++     unsigned long busy_extend_e3                 : 1;
++     unsigned long busy_extend_idct               : 1;
++     unsigned long                                : 3;
++     } sclk_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     sclk_cntl_t f;
++} sclk_cntl_u;
++
++typedef struct _pclk_cntl_t {
++     unsigned long pclk_src_sel                   : 2;
++     unsigned long                                : 2;
++     unsigned long pclk_post_div                  : 4;
++     unsigned long                                : 8;
++     unsigned long pclk_force_disp                : 1;
++     unsigned long                                : 15;
++     } pclk_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     pclk_cntl_t f;
++} pclk_cntl_u;
++
++typedef struct _clk_test_cntl_t {
++     unsigned long testclk_sel                    : 4;
++     unsigned long                                : 3;
++     unsigned long start_check_freq               : 1;
++     unsigned long tstcount_rst                   : 1;
++     unsigned long                                : 15;
++     unsigned long test_count                     : 8;
++     } clk_test_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     clk_test_cntl_t f;
++} clk_test_cntl_u;
++
++typedef struct _pwrmgt_cntl_t {
++     unsigned long pwm_enable                     : 1;
++     unsigned long                                : 1;
++     unsigned long pwm_mode_req                   : 2;
++     unsigned long pwm_wakeup_cond                : 2;
++     unsigned long pwm_fast_noml_hw_en            : 1;
++     unsigned long pwm_noml_fast_hw_en            : 1;
++     unsigned long pwm_fast_noml_cond             : 4;
++     unsigned long pwm_noml_fast_cond             : 4;
++     unsigned long pwm_idle_timer                 : 8;
++     unsigned long pwm_busy_timer                 : 8;
++     } pwrmgt_cntl_t;
++
++typedef union {
++     unsigned long val : 32;
++     pwrmgt_cntl_t f;
++} pwrmgt_cntl_u;
++
++typedef struct _pwrmgt_status_t {
++     unsigned long pwm_mode                       : 2;
++     unsigned long                                : 30;
++     } pwrmgt_status_t;
++
++typedef union {
++     unsigned long val : 32;
++     pwrmgt_status_t f;
++} pwrmgt_status_u;
++
++
++#endif //_W100_REGS_H_
+Index: git/hw/kdrive/Makefile.am
+===================================================================
+--- git.orig/hw/kdrive/Makefile.am     2006-09-02 12:12:13.000000000 +0200
++++ git/hw/kdrive/Makefile.am  2006-09-02 12:12:14.000000000 +0200
+@@ -7,6 +7,10 @@
+ FBDEV_SUBDIRS = fbdev epson
+ endif
++if KDRIVEW100
++W100_SUBDIRS = w100
++endif
++
+ if XSDLSERVER
+ XSDL_SUBDIRS = sdl
+ endif
+@@ -20,6 +24,7 @@
+       linux                   \
+       $(XSDL_SUBDIRS)         \
+       $(FBDEV_SUBDIRS)        \
++      $(W100_SUBDIRS)         \
+       $(VESA_SUBDIRS)         \
+       $(XEPHYR_SUBDIRS)       \
+       fake
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac      2006-09-02 12:12:14.000000000 +0200
++++ git/configure.ac   2006-09-02 12:12:14.000000000 +0200
+@@ -442,6 +442,7 @@
+ AC_ARG_ENABLE(kdrive,         AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no])
+ AC_ARG_ENABLE(xephyr,         AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto])
+ AC_ARG_ENABLE(xsdl,           AS_HELP_STRING([--enable-xsdl], [Build the kdrive Xsdl server (default: auto)]), [XSDL=$enableval], [XSDL=auto])
++AC_ARG_ENABLE(w100,           AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=no])
+ dnl xprint
+ AC_ARG_ENABLE(freetype,       AS_HELP_STRING([ --enable-freetype], [Build Xprint FreeType backend (default: yes)]), [XP_USE_FREETYPE=$enableval],[XP_USE_FREETYPE=no])
+ AC_ARG_WITH(freetype-config,  AS_HELP_STRING([ --with-freetype-config=PROG], [Use FreeType configuration program PROG (default: auto)]), freetype_config=$withval, freetype_config=auto)
+@@ -1519,6 +1520,10 @@
+ AC_SUBST([XSDL_LIBS])
+ AC_SUBST([XSDL_INCS])
++AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes])
++if test "x$KDRIVEW100" = xyes; then
++        AC_DEFINE(KDRIVEW100, 1, [Build Xw100 server])
++fi
+ dnl these only go in xkb-config.h (which is shared by the Xorg and Xnest servers)
+ AC_DEFINE(__XKBDEFRULES__, "xorg", [Default XKB rules])
+@@ -1753,6 +1758,7 @@
+ hw/kdrive/epson/Makefile
+ hw/kdrive/fake/Makefile
+ hw/kdrive/fbdev/Makefile
++hw/kdrive/w100/Makefile
+ hw/kdrive/i810/Makefile
+ hw/kdrive/linux/Makefile
+ hw/kdrive/mach64/Makefile
diff --git a/XOrg/server/xorg-kdrive-X11R7.2/patches/xcalibrate.patch b/XOrg/server/xorg-kdrive-X11R7.2/patches/xcalibrate.patch
new file mode 100644 (file)
index 0000000..5d44dd6
--- /dev/null
@@ -0,0 +1,351 @@
+--- xorg-server-X11R7.1-1.1.0/mi/miinitext.c.orig      2006-06-22 14:11:46.000000000 +0200
++++ xorg-server-X11R7.1-1.1.0/mi/miinitext.c   2006-06-22 15:26:17.000000000 +0200
+@@ -385,6 +385,9 @@
+ #ifdef DMXEXT
+ extern void DMXExtensionInit(INITARGS);
+ #endif
++#ifdef XCALIBRATE
++extern void XCalibrateExtensionInit(INITARGS);
++#endif
+ #ifdef XEVIE
+ extern void XevieExtensionInit(INITARGS);
+ #endif
+@@ -679,6 +682,9 @@
+ #ifdef DAMAGE
+     if (!noDamageExtension) DamageExtensionInit();
+ #endif
++#ifdef  XCALIBRATE
++    XCalibrateExtensionInit ();
++#endif
+ }
+ void
+--- xorg-server-X11R7.1-1.1.0/configure.ac.orig        2006-06-15 17:03:14.000000000 +0200
++++ xorg-server-X11R7.1-1.1.0/configure.ac     2006-06-24 08:21:25.000000000 +0200
+@@ -407,6 +407,7 @@
+ AC_ARG_ENABLE(xf86vidmode,    AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: enabled)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=yes])
+ AC_ARG_ENABLE(xf86misc,       AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: enabled)]), [XF86MISC=$enableval], [XF86MISC=yes])
+ AC_ARG_ENABLE(xcsecurity,     AS_HELP_STRING([--disable-xcsecurity], [Build Security extension (default: enabled)]), [XCSECURITY=$enableval], [XCSECURITY=yes])
++AC_ARG_ENABLE(xcalibrate,     AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no])
+ AC_ARG_ENABLE(xevie,          AS_HELP_STRING([--disable-xevie], [Build XEvIE extension (default: enabled)]), [XEVIE=$enableval], [XEVIE=yes])
+ AC_ARG_ENABLE(lbx,            AS_HELP_STRING([--disable-lbx], [Build LBX extension (default: no)]), [LBX=$enableval], [LBX=no])
+ AC_ARG_ENABLE(appgroup,       AS_HELP_STRING([--disable-appgroup], [Build XC-APPGROUP extension (default: enabled)]), [APPGROUP=$enableval], [APPGROUP=yes])
+@@ -641,6 +642,12 @@
+       AC_DEFINE(XCSECURITY, 1, [Build Security extension])
+ fi
++AM_CONDITIONAL(XCALIBRATE, [test "x$XCALIBRATE" = xyes])
++if test "x$XCALIBRATE" = xyes; then
++      AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
++      REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto"
++fi
++
+ AM_CONDITIONAL(XEVIE, [test "x$XEVIE" = xyes])
+ if test "x$XEVIE" = xyes; then
+       AC_DEFINE(XEVIE, 1, [Build XEvIE extension])
+@@ -1466,7 +1473,7 @@
+     KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a'
+     KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a'
+     KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a'
+-    KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB"
++    KDRIVE_LIBS="$DIX_LIB $KDRIVE_LIB $KDRIVE_PURE_LIBS $KDRIVE_OS_LIB $KDRIVE_STUB_LIB"
+     # check if we can build Xephyr
+     PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"])
+--- xorg-server-X11R7.1-1.1.0/include/kdrive-config.h.in.orig  2006-06-22 14:22:07.000000000 +0200
++++ xorg-server-X11R7.1-1.1.0/include/kdrive-config.h.in       2006-06-22 14:33:29.000000000 +0200
+@@ -22,4 +22,7 @@
+ /* Support tslib touchscreen abstraction library */
+ #undef TSLIB
++/* Enable XCalibrate extension */
++#undef XCALIBRATE
++
+ #endif /* _KDRIVE_CONFIG_H_ */
+--- xorg-server-X11R7.1-1.1.0/Xext/Makefile.am.orig    2006-06-15 17:06:43.000000000 +0200
++++ xorg-server-X11R7.1-1.1.0/Xext/Makefile.am 2006-06-15 18:12:40.000000000 +0200
+@@ -78,6 +78,11 @@
+ AM_CFLAGS += -DDEFAULTPOLICYFILE=\"$(SERVERCONFIGdir)/SecurityPolicy\"
+ endif
++XCALIBRATE_SRCS = xcalibrate.c
++if XCALIBRATE
++BUILTIN_SRCS += $(XCALIBRATE_SRCS)
++endif
++
+ # X EVent Interception Extension: allows accessibility helpers & composite
+ # managers to intercept events from input devices and transform as needed
+ # before the clients see them.
+@@ -155,6 +160,7 @@
+       $(SCREENSAVER_SRCS) \
+       $(XCSECURITY_SRCS) \
+       $(XINERAMA_SRCS) \
++      $(XCALIBRATE_SRCS) \
+       $(XEVIE_SRCS) \
+       $(XPRINT_SRCS) \
+       $(APPGROUP_SRCS) \
+--- xorg-server-X11R7.1-1.1.0/Xext/xcalibrate.c.orig   2006-06-15 17:05:19.000000000 +0200
++++ xorg-server-X11R7.1-1.1.0/Xext/xcalibrate.c        2006-06-22 15:15:09.000000000 +0200
+@@ -0,0 +1,262 @@
++/*
++ * $Id: xcalibrate.c,v 3.1 2004/06/02 20:49:50 pb Exp $
++ *
++ * Copyright Â© 2003 Philip Blundell
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Philip Blundell not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Philip Blundell makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL PHILIP BLUNDELL 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.
++ */
++
++#ifdef HAVE_KDRIVE_CONFIG_H
++#include <kdrive-config.h>
++#endif
++
++#define NEED_EVENTS
++#define NEED_REPLIES
++
++#include <X11/X.h>
++#include <X11/Xproto.h>
++#include "misc.h"
++#include "os.h"
++#include "dixstruct.h"
++#include "extnsionst.h"
++#include "swaprep.h"
++
++#include <X11/extensions/xcalibrateproto.h>
++#include <X11/extensions/xcalibratewire.h>
++
++extern void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure);
++extern void *tslib_raw_event_closure;
++
++static CARD8  XCalibrateReqCode;
++int           XCalibrateEventBase;
++int           XCalibrateReqBase;
++int           XCalibrateErrorBase;
++
++static ClientPtr xcalibrate_client;
++
++static void
++xcalibrate_event_hook (int x, int y, int pressure, void *closure)
++{
++  ClientPtr pClient = (ClientPtr) closure;
++  xXCalibrateRawTouchscreenEvent      ev;
++
++  ev.type = XCalibrateEventBase + X_XCalibrateRawTouchscreen;
++  ev.sequenceNumber = pClient->sequence;
++  ev.x = x;
++  ev.y = y;
++  ev.pressure = pressure;
++
++  if (!pClient->clientGone)
++    WriteEventsToClient (pClient, 1, (xEvent *) &ev);
++}
++
++static int
++ProcXCalibrateQueryVersion (ClientPtr client)
++{
++  REQUEST(xXCalibrateQueryVersionReq);
++  xXCalibrateQueryVersionReply rep;
++  CARD16 client_major, client_minor;  /* not used */
++
++  REQUEST_SIZE_MATCH (xXCalibrateQueryVersionReq);
++
++  client_major = stuff->majorVersion;
++  client_minor = stuff->minorVersion;
++
++  fprintf(stderr, "%s(): called\n", __func__); 
++
++  rep.type = X_Reply;
++  rep.length = 0;
++  rep.sequenceNumber = client->sequence;
++  rep.majorVersion = XCALIBRATE_MAJOR_VERSION;
++  rep.minorVersion = XCALIBRATE_MINOR_VERSION;   
++  if (client->swapped) { 
++    int n;
++    swaps(&rep.sequenceNumber, n);
++    swapl(&rep.length, n);     
++    swaps(&rep.majorVersion, n);
++    swaps(&rep.minorVersion, n);
++  }
++  WriteToClient(client, sizeof (xXCalibrateQueryVersionReply), (char *)&rep);
++  return (client->noClientException);
++}
++
++static int
++SProcXCalibrateQueryVersion (ClientPtr client)
++{
++    REQUEST(xXCalibrateQueryVersionReq);
++    int n;
++
++    REQUEST_SIZE_MATCH (xXCalibrateQueryVersionReq);
++    swaps(&stuff->majorVersion,n);
++    swaps(&stuff->minorVersion,n);
++    return ProcXCalibrateQueryVersion(client);
++}
++
++static int
++ProcXCalibrateSetRawMode (ClientPtr client)
++{
++  REQUEST(xXCalibrateRawModeReq);
++  xXCalibrateRawModeReply rep;
++
++  REQUEST_SIZE_MATCH (xXCalibrateRawModeReq);
++
++  memset (&rep, 0, sizeof (rep));
++  rep.type = X_Reply;
++  rep.sequenceNumber = client->sequence;
++
++  if (stuff->on)
++    {
++      if (xcalibrate_client == NULL)
++      {
++        /* Start calibrating.  */
++        xcalibrate_client = client;
++        tslib_raw_event_hook = xcalibrate_event_hook;
++        tslib_raw_event_closure = client;
++        rep.status = GrabSuccess;
++      }
++      else
++      {
++        rep.status = AlreadyGrabbed;
++      }
++    }
++  else
++    {
++      if (xcalibrate_client == client)
++      {
++        /* Stop calibrating.  */
++        xcalibrate_client = NULL;
++        tslib_raw_event_hook = NULL;
++        tslib_raw_event_closure = NULL;
++        rep.status = GrabSuccess;
++
++        /* Cycle input off and on to reload configuration.  */
++        KdDisableInput ();
++        KdEnableInput ();
++      }
++      else
++      {
++        rep.status = AlreadyGrabbed;
++      }
++    }
++
++  if (client->swapped)
++    {
++      int n;
++
++      swaps (&rep.sequenceNumber, n);
++      swaps (&rep.status, n);
++    }
++  WriteToClient(client, sizeof (rep), (char *) &rep);
++  return (client->noClientException);
++}
++
++
++static int
++SProcXCalibrateSetRawMode (ClientPtr client)
++{
++  REQUEST(xXCalibrateRawModeReq);
++  int n;
++
++  REQUEST_SIZE_MATCH (xXCalibrateRawModeReq);
++
++  swaps(&stuff->on, n);
++
++  return ProcXCalibrateSetRawMode(client);
++}
++
++static void
++XCalibrateResetProc (ExtensionEntry *extEntry) 
++{ 
++}
++
++static int
++ProcXCalibrateDispatch (ClientPtr client)
++{
++    REQUEST(xReq);
++    switch (stuff->data) {
++    case X_XCalibrateQueryVersion:
++        return ProcXCalibrateQueryVersion(client);
++    case X_XCalibrateRawMode:
++        return ProcXCalibrateSetRawMode(client);
++    default: break;
++    }
++
++    return BadRequest;
++}
++
++static int
++SProcXCalibrateDispatch (ClientPtr client)
++{
++    REQUEST(xReq);
++    int n;
++
++    swaps(&stuff->length,n);
++
++    switch (stuff->data) {
++    case X_XCalibrateQueryVersion:
++        return SProcXCalibrateQueryVersion(client);
++    case X_XCalibrateRawMode:
++        return SProcXCalibrateSetRawMode(client);
++
++    default: break;
++    }
++
++    return BadRequest;
++}
++
++static void
++XCalibrateClientCallback (CallbackListPtr     *list,
++                        pointer               closure,
++                        pointer               data)
++{
++    NewClientInfoRec  *clientinfo = (NewClientInfoRec *) data;
++    ClientPtr         pClient = clientinfo->client;
++
++    if (clientinfo->setup == NULL
++      && xcalibrate_client != NULL
++      && xcalibrate_client == pClient)
++      {
++      /* Stop calibrating.  */
++      xcalibrate_client = NULL;
++      tslib_raw_event_hook = NULL;
++      tslib_raw_event_closure = NULL;
++      }
++}
++
++void
++XCalibrateExtensionInit(void)
++{
++  ExtensionEntry *extEntry;
++
++  if (!AddCallback (&ClientStateCallback, XCalibrateClientCallback, 0))
++    return;  
++
++  extEntry = AddExtension(XCALIBRATE_NAME, XCalibrateNumberEvents, XCalibrateNumberErrors,
++                        ProcXCalibrateDispatch, SProcXCalibrateDispatch,
++                        XCalibrateResetProc, StandardMinorOpcode);
++
++  if (!extEntry)
++    return;
++
++  XCalibrateReqCode = (unsigned char)extEntry->base;
++  XCalibrateEventBase = extEntry->eventBase;
++  XCalibrateErrorBase = extEntry->errorBase;
++
++  xcalibrate_client = 0;
++}
diff --git a/XOrg/server/xorg-server-X11R7.2/120-xorgcfg.patch b/XOrg/server/xorg-server-X11R7.2/120-xorgcfg.patch
new file mode 100644 (file)
index 0000000..638e73b
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN xorg-server-X11R7.2-1.2.0.orig/hw/xfree86/utils/xorgcfg/Makefile.in xorg-server-X11R7.2-1.2.0/hw/xfree86/utils/xorgcfg/Makefile.in
+--- xorg-server-X11R7.2-1.2.0.orig/hw/xfree86/utils/xorgcfg/Makefile.in        2007-09-14 21:34:05.000000000 +0200
++++ xorg-server-X11R7.2-1.2.0/hw/xfree86/utils/xorgcfg/Makefile.in     2007-09-14 21:35:49.000000000 +0200
+@@ -474,7 +474,7 @@
+ XNEST_LIBS = @XNEST_LIBS@
+ XNEST_TRUE = @XNEST_TRUE@
+ XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@
+-XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@
++XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ -lXdmcp -lXau -shared
+ XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@
+ XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@
+ XORG_BUS_FREEBSDPCI_FALSE = @XORG_BUS_FREEBSDPCI_FALSE@
diff --git a/XOrg/server/xorg-server-X11R7.2/130-xorgconfig.patch b/XOrg/server/xorg-server-X11R7.2/130-xorgconfig.patch
new file mode 100644 (file)
index 0000000..779c152
--- /dev/null
@@ -0,0 +1,13 @@
+diff -urN xorg-server-X11R7.2-1.2.0.orig/hw/xfree86/utils/xorgconfig/Makefile.in xorg-server-X11R7.2-1.2.0/hw/xfree86/utils/xorgconfig/Makefile.in
+--- xorg-server-X11R7.2-1.2.0.orig/hw/xfree86/utils/xorgconfig/Makefile.in     2007-09-14 22:02:33.000000000 +0200
++++ xorg-server-X11R7.2-1.2.0/hw/xfree86/utils/xorgconfig/Makefile.in  2007-09-14 22:58:12.000000000 +0200
+@@ -585,7 +585,7 @@
+         -DFILEMANSUFFIX='"$(FILE_MAN_SUFFIX)"' \
+         -DXVERSIONSTRING='"$(PACKAGE_STRING)"'
+-xorgconfig_LDADD = @XORGCONFIG_DEP_LIBS@
++xorgconfig_LDADD = @XORGCONFIG_DEP_LIBS@  -lXdmcp -lXau -shared 
+ xorgconfig_SOURCES = \
+       cards.c         \
+       cards.h         \
+
diff --git a/XOrg/server/xorg-server-X11R7.2/140-xfree86.patch b/XOrg/server/xorg-server-X11R7.2/140-xfree86.patch
new file mode 100644 (file)
index 0000000..4f121c2
--- /dev/null
@@ -0,0 +1,11 @@
+diff -urN xorg-server-X11R7.2-1.2.0.orig/hw/xfree86/Makefile.in xorg-server-X11R7.2-1.2.0/hw/xfree86/Makefile.in
+--- xorg-server-X11R7.2-1.2.0.orig/hw/xfree86/Makefile.in      2007-09-15 15:37:21.000000000 +0200
++++ xorg-server-X11R7.2-1.2.0/hw/xfree86/Makefile.in   2007-09-15 15:40:39.000000000 +0200
+@@ -636,6 +636,7 @@
+ Xorg_LDADD = $(XORG_LIBS) \
+              @XSERVER_LIBS@ \
++                       -lfreetype -lz \
+            dixmods/libxorgxkb.la
+ Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
diff --git a/XOrg/server/xorg-server-X11R7.2/150-vfb.patch b/XOrg/server/xorg-server-X11R7.2/150-vfb.patch
new file mode 100644 (file)
index 0000000..4482352
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN xorg-server-X11R7.2-1.2.0.orig/hw/vfb/Makefile.in xorg-server-X11R7.2-1.2.0/hw/vfb/Makefile.in
+--- xorg-server-X11R7.2-1.2.0.orig/hw/vfb/Makefile.in  2007-09-15 16:12:28.000000000 +0200
++++ xorg-server-X11R7.2-1.2.0/hw/vfb/Makefile.in       2007-09-15 16:19:17.000000000 +0200
+@@ -459,7 +459,7 @@
+ XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@
+ XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@
+ XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@
+-XSERVER_LIBS = @XSERVER_LIBS@
++XSERVER_LIBS = @XSERVER_LIBS@ -lfreetype -lz 
+ XTRAP_FALSE = @XTRAP_FALSE@
+ XTRAP_TRUE = @XTRAP_TRUE@
+ XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@
diff --git a/XOrg/server/xorg-server-X11R7.2/160-xnest.patch b/XOrg/server/xorg-server-X11R7.2/160-xnest.patch
new file mode 100644 (file)
index 0000000..d8dfb4a
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN xorg-server-X11R7.2-1.2.0.orig/hw/xnest/Makefile.in xorg-server-X11R7.2-1.2.0/hw/xnest/Makefile.in
+--- xorg-server-X11R7.2-1.2.0.orig/hw/xnest/Makefile.in        2007-09-15 16:52:43.000000000 +0200
++++ xorg-server-X11R7.2-1.2.0/hw/xnest/Makefile.in     2007-09-15 17:04:07.000000000 +0200
+@@ -598,7 +598,7 @@
+ Xnest_SOURCES = $(SRCS)
+ Xnest_LDADD = $(XORG_CORE_LIBS) \
+               $(XNEST_LIBS) \
+-              $(XNESTMODULES_LIBS)
++              $(XNESTMODULES_LIBS)  -lz -lfreetype -lfontenc -shared
+ Xnest_LDFLAGS = 
+ AM_CFLAGS = -DHAVE_XNEST_CONFIG_H \
diff --git a/XOrg/server/xorg-server-X11R7.2/Makefile b/XOrg/server/xorg-server-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..d50b761
--- /dev/null
@@ -0,0 +1,108 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xorg-server-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.2.0
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/xserver/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/server/xorg-server-X11R7.2-$(PKG_VERSION)/
+
+include $(INCLUDE_DIR)/package.mk
+
+
+define Package/xorg-server-X11R7.2
+  SECTION:=xorg-server
+  CATEGORY:=Xorg
+  SUBMENU:=server
+  TITLE:=Xorg server
+  URL:=http://xorg.freedesktop.org/
+  DEPENDS:=+compositeproto-X11R7.1 \
+               +damageproto-X11R7.0 \
+               +fixesproto-X11R7.1 \
+               +recordproto-X11R7.0 \
+               +resourceproto-X11R7.0 \
+               +scrnsaverproto-X11R7.1 \
+               +videoproto-X11R7.0 \
+               +xextproto-X11R7.0 \
+               +xproto-X11R7.2 \
+               +libXext-X11R7.2 \
+               +libXdmcp-X11R7.2 \
+               +libXfont-X11R7.2 \
+               +libXrandr-X11R7.2 \
+               +xtrans-X11R7.2 \
+               +libX11-X11R7.2 \
+               +glproto-X11R7.2 \
+               +xf86driproto-X11R7.0 \
+               +libdrm \
+               +xf86miscproto-X11R7.0 \
+               +xf86vidmodeproto-X11R7.0 \
+               +xf86dgaproto-X11R7.0 \
+               +trapproto-X11R7.0 \
+               +xineramaproto-X11R7.0 \
+               +evieext-X11R7.0 \
+               +libxkbfile-X11R7.2 \
+               +libXt-X11R7.2 \
+               +libSM-X11R7.2 \
+               +libxkbui-X11R7.1 \
+               +libXxf86misc-X11R7.1 \
+               +libXxf86vm-X11R7.1 \
+               +libXaw-X11R7.1 \
+               +libXmu-X11R7.2 \
+               +libXpm-X11R7.2 \
+               +libnotimpl \
+               +Mesa \
+               @TARGET_x86
+endef
+
+EXTRA_CFLAGS+= -I${STAGING_DIR}/usr/include/X11/GL -I${STAGING_DIR}/usr/include/X11/dri/ -I${STAGING_DIR}/usr/include/X11/ -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
+
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR) \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               --with-default-font-path=built-ins \
+               as_ac_File=no \
+               );
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" install
+
+endef
+
+define Package/xorg-server-X11R7.2/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/usr/share
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/* $(1)/usr/share/
+       $(INSTALL_DIR) $(1)/usr/lib/xserver
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/xserver/* $(1)/usr/lib/xserver
+       $(INSTALL_DIR) $(1)/usr/lib/xorg/
+       $(CP) -r $(PKG_INSTALL_DIR)/usr/lib/xorg/* $(1)/usr/lib/xorg/
+       find $(1)/usr/lib/xorg/ -name *.la | xargs rm -rf
+       $(INSTALL_DIR) $(1)/usr/lib/X11/
+       $(CP) -r $(PKG_INSTALL_DIR)/usr/lib/X11/* $(1)/usr/lib/X11/
+       $(INSTALL_DIR) $(1)/var/log/
+       $(INSTALL_DIR) $(1)/etc/X11/
+       $(CP) files/xorg.conf $(1)/etc/X11/
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(STAGING_DIR)/usr/include/
+       $(CP) $(PKG_BUILD_DIR)/xorg-server.pc $(STAGING_DIR)/usr/lib/pkgconfig/
+endef
+
+$(eval $(call BuildPackage,xorg-server-X11R7.2))
diff --git a/XOrg/server/xorg-server-X11R7.2/files/xorg.conf b/XOrg/server/xorg-server-X11R7.2/files/xorg.conf
new file mode 100644 (file)
index 0000000..445279a
--- /dev/null
@@ -0,0 +1,93 @@
+# xorg configuration
+
+Section "ServerLayout"
+       Identifier     "Default Layout"
+       Screen      0  "Screen0" 0 0
+       InputDevice    "Mouse0" "CorePointer"
+       InputDevice    "Keyboard0" "CoreKeyboard"
+EndSection
+
+Section "Files"
+       FontPath     "/usr/lib/X11/fonts/misc"
+EndSection
+
+Section "Module"
+       Load  "dbe"
+       Load  "extmod"
+       Load  "fbdevhw"
+#      Load  "glx"
+       Load  "record"
+       Load  "freetype"
+       Load  "type1"
+EndSection
+
+Section "InputDevice"
+       Identifier  "Keyboard0"
+       Driver      "keyboard"
+       Option      "XkbModel" "pc105"
+       Option      "XkbLayout" "us"
+EndSection
+
+Section "InputDevice"
+       Identifier  "Mouse0"
+       Driver      "mouse"
+       Option      "Protocol" "PS/2"
+#      Option      "Protocol" "IMPS/2"
+       Option      "Device" "/dev/psaux"
+#      Option      "Device" "/dev/input/mice"
+       Option      "ZAxisMapping" "4 5"
+       Option      "Emulate3Buttons" "yes"
+EndSection
+
+Section "Monitor"
+       Identifier   "Monitor0"
+       VendorName   "Monitor Vendor"
+       ModelName    "OWRT"
+       Option       "dpms"
+EndSection
+
+Section "Device"
+       Identifier  "Videocard0"
+       Driver      "vesa"
+       VendorName  "Videocard vendor"
+       BoardName   "Vesa driver"
+EndSection
+
+Section "Device"
+       Identifier  "FBDev"
+       Driver      "fbdev"
+       #Option     "shadowfb" "off"
+       VideoRam    4096
+EndSection
+
+Section "Screen"
+    Identifier "Screen0"
+    Device     "Videocard0"
+    Monitor    "Monitor0"
+    DefaultDepth 8
+#    DefaultDepth 16
+#    DefaultDepth 24
+
+    SubSection "Display"
+        Depth          8
+        Modes          "1024x768" "800x600" "640x480"
+    EndSubsection
+
+    SubSection "Display"
+        Depth          16
+        Modes          "1024x768" "800x600" "640x480"
+    EndSubsection
+
+    SubSection "Display"
+        Depth          24
+       FbBpp           32
+        Modes          "1024x768" "800x600" "640x480"
+    EndSubsection
+
+EndSection
+
+Section "DRI"
+       Group        0
+       Mode         0666
+EndSection
+
diff --git a/XOrg/server/xorg-server-X11R7.2/patches/100-sgml-cross.patch b/XOrg/server/xorg-server-X11R7.2/patches/100-sgml-cross.patch
new file mode 100644 (file)
index 0000000..e3b4bd2
--- /dev/null
@@ -0,0 +1,29 @@
+--- xorg-server-X11R7.2-1.2.0.orig/configure   2007-09-09 20:43:17.000000000 +0200
++++ xorg-server-X11R7.2-1.2.0/configure        2007-09-09 21:55:49.000000000 +0200
+@@ -26114,23 +26114,10 @@
+ XORG_SGML_PATH=$prefix/share/sgml
+ HAVE_DEFS_ENT=
++eval "$as_ac_File=no"
++echo "$as_me:$LINENO: skipping checking for $XORG_SGML_PATH/X11/defs.ent" >&5
++echo $ECHO_N "skipping checking for $XORG_SGML_PATH/X11/defs.ent... $ECHO_C" >&6
+-as_ac_File=`echo "ac_cv_file_$XORG_SGML_PATH/X11/defs.ent" | $as_tr_sh`
+-echo "$as_me:$LINENO: checking for $XORG_SGML_PATH/X11/defs.ent" >&5
+-echo $ECHO_N "checking for $XORG_SGML_PATH/X11/defs.ent... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_File+set}\" = set"; then
+-  echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-  test "$cross_compiling" = yes &&
+-  { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
+-echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
+-   { (exit 1); exit 1; }; }
+-if test -r "$XORG_SGML_PATH/X11/defs.ent"; then
+-  eval "$as_ac_File=yes"
+-else
+-  eval "$as_ac_File=no"
+-fi
+-fi
+ echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_File'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_File'}'`" >&6
+ if test `eval echo '${'$as_ac_File'}'` = yes; then
diff --git a/XOrg/server/xorg-server-X11R7.2/patches/110-uclibc-lm.patch b/XOrg/server/xorg-server-X11R7.2/patches/110-uclibc-lm.patch
new file mode 100644 (file)
index 0000000..56bd78d
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN xorg-server-X11R7.2-1.2.0.orig/hw/xfree86/utils/gtf/Makefile.in xorg-server-X11R7.2-1.2.0/hw/xfree86/utils/gtf/Makefile.in
+--- xorg-server-X11R7.2-1.2.0.orig/hw/xfree86/utils/gtf/Makefile.in    2007-09-14 21:23:18.000000000 +0200
++++ xorg-server-X11R7.2-1.2.0/hw/xfree86/utils/gtf/Makefile.in 2007-09-14 21:23:42.000000000 +0200
+@@ -576,7 +576,7 @@
+ xpconfigdir = @xpconfigdir@
+ gtf_SOURCES = gtf.c
+ gtf_CFLAGS = $(XORG_CFLAGS)
+-gtf_LDADD = -lm
++gtf_LDADD = -lm -lnotimpl
+ appmandir = $(APP_MAN_DIR)
+ appman_PRE = gtf.man
+ appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
diff --git a/XOrg/utils/common.mk b/XOrg/utils/common.mk
new file mode 100644 (file)
index 0000000..7a5c00c
--- /dev/null
@@ -0,0 +1,23 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# blogic@openwrt.org
+
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/util/
+
+_CATEGORY:=utils
+
+include ../../common.mk
+
+define Build/Configure
+       cd $(PKG_BUILD_DIR); ./configure --prefix=${STAGING_DIR} --sysconfdir=/etc --mandir=${STAGING_DIR}/share/man --localstatedir=/var
+endef
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+endef
+
+
diff --git a/XOrg/utils/packages b/XOrg/utils/packages
new file mode 100644 (file)
index 0000000..ec64a06
--- /dev/null
@@ -0,0 +1 @@
+util-macros-X11R7.2-1.1.5|
diff --git a/XOrg/utils/patches/util-macros-X11R7.2/unbreak_cross_compile.patch b/XOrg/utils/patches/util-macros-X11R7.2/unbreak_cross_compile.patch
new file mode 100644 (file)
index 0000000..fd84aad
--- /dev/null
@@ -0,0 +1,26 @@
+---
+ xorg-macros.m4.in |    4 ----
+ 1 file changed, 4 deletions(-)
+
+Index: util-macros-1.1.5/xorg-macros.m4.in
+===================================================================
+--- util-macros-1.1.5.orig/xorg-macros.m4.in   2006-11-08 14:23:10.000000000 +0000
++++ util-macros-1.1.5/xorg-macros.m4.in        2007-01-31 15:28:55.000000000 +0000
+@@ -194,8 +194,6 @@ AC_DEFUN([XORG_CHECK_LINUXDOC],[
+ XORG_SGML_PATH=$prefix/share/sgml
+ HAVE_DEFS_ENT=
+-AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
+-
+ AC_PATH_PROG(LINUXDOC, linuxdoc)
+ AC_PATH_PROG(PS2PDF, ps2pdf)
+@@ -250,8 +248,6 @@ BUILDPDFDOC=no
+ BUILDPSDOC=no
+ BUILDHTMLDOC=no
+-AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
+-
+ AC_PATH_PROG(DOCBOOKPS, docbook2ps)
+ AC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
+ AC_PATH_PROG(DOCBOOKHTML, docbook2html)
diff --git a/XOrg/utils/template.mk b/XOrg/utils/template.mk
new file mode 100644 (file)
index 0000000..8178837
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+
+_DEPEND:=@DEP@
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/utils/util-macros-X11R7.2/Makefile b/XOrg/utils/util-macros-X11R7.2/Makefile
new file mode 100644 (file)
index 0000000..e8f05d6
--- /dev/null
@@ -0,0 +1,11 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=util-macros-X11R7.2
+PKG_RELEASE:=1
+PKG_VERSION:=1.1.5
+
+_DEPEND:=
+
+include ../common.mk
+
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/XOrg/utils/util-macros-X11R7.2/patches/unbreak_cross_compile.patch b/XOrg/utils/util-macros-X11R7.2/patches/unbreak_cross_compile.patch
new file mode 100644 (file)
index 0000000..fd84aad
--- /dev/null
@@ -0,0 +1,26 @@
+---
+ xorg-macros.m4.in |    4 ----
+ 1 file changed, 4 deletions(-)
+
+Index: util-macros-1.1.5/xorg-macros.m4.in
+===================================================================
+--- util-macros-1.1.5.orig/xorg-macros.m4.in   2006-11-08 14:23:10.000000000 +0000
++++ util-macros-1.1.5/xorg-macros.m4.in        2007-01-31 15:28:55.000000000 +0000
+@@ -194,8 +194,6 @@ AC_DEFUN([XORG_CHECK_LINUXDOC],[
+ XORG_SGML_PATH=$prefix/share/sgml
+ HAVE_DEFS_ENT=
+-AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
+-
+ AC_PATH_PROG(LINUXDOC, linuxdoc)
+ AC_PATH_PROG(PS2PDF, ps2pdf)
+@@ -250,8 +248,6 @@ BUILDPDFDOC=no
+ BUILDPSDOC=no
+ BUILDHTMLDOC=no
+-AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
+-
+ AC_PATH_PROG(DOCBOOKPS, docbook2ps)
+ AC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
+ AC_PATH_PROG(DOCBOOKHTML, docbook2html)