added new XOrg folders/makefiles
authorJohn Crispin <john@openwrt.org>
Tue, 25 Sep 2007 20:23:15 +0000 (20:23 +0000)
committerJohn Crispin <john@openwrt.org>
Tue, 25 Sep 2007 20:23:15 +0000 (20:23 +0000)
SVN-Revision: 9027

218 files changed:
XOrg/app/fluxbox/Makefile [new file with mode: 0644]
XOrg/app/fluxbox/files/menu [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/100-link.patch [new file with mode: 0644]
XOrg/app/template.mk [new file with mode: 0644]
XOrg/app/xcalc/Makefile [new file with mode: 0644]
XOrg/app/xclipboard/Makefile [new file with mode: 0644]
XOrg/app/xdm/Makefile [new file with mode: 0644]
XOrg/app/xeyes/Makefile [new file with mode: 0644]
XOrg/app/xinit/Makefile [new file with mode: 0644]
XOrg/app/xlogo/Makefile [new file with mode: 0644]
XOrg/app/xlogo/patches/100-link.patch [new file with mode: 0644]
XOrg/app/xset/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/driver/packages [new file with mode: 0644]
XOrg/driver/patches/xf86-video-i810/100-sdkdir.patch [new file with mode: 0644]
XOrg/driver/patches/xf86-video-vesa/100-include-fix.patch [new file with mode: 0644]
XOrg/driver/template.mk [new file with mode: 0644]
XOrg/driver/xf86-input-evdev/Makefile [new file with mode: 0644]
XOrg/driver/xf86-input-keyboard/Makefile [new file with mode: 0644]
XOrg/driver/xf86-input-mouse/Makefile [new file with mode: 0644]
XOrg/driver/xf86-video-ati/Makefile [new file with mode: 0644]
XOrg/driver/xf86-video-fbdev/Makefile [new file with mode: 0644]
XOrg/driver/xf86-video-i810/Makefile [new file with mode: 0644]
XOrg/driver/xf86-video-i810/patches/100-sdkdir.patch [new file with mode: 0644]
XOrg/driver/xf86-video-nv/Makefile [new file with mode: 0644]
XOrg/driver/xf86-video-vesa/Makefile [new file with mode: 0644]
XOrg/driver/xf86-video-vesa/patches/100-include-fix.patch [new file with mode: 0644]
XOrg/driver/xf86-video-vga/Makefile [new file with mode: 0644]
XOrg/font-native/font-util/Makefile [new file with mode: 0644]
XOrg/font/encodings/Makefile [new file with mode: 0644]
XOrg/font/font-alias/Makefile [new file with mode: 0644]
XOrg/font/font-bh-75dpi/Makefile [new file with mode: 0644]
XOrg/font/font-cursor-misc/Makefile [new file with mode: 0644]
XOrg/font/font-daewoo-misc/Makefile [new file with mode: 0644]
XOrg/font/font-dec-misc/Makefile [new file with mode: 0644]
XOrg/font/font-ibm-type1/Makefile [new file with mode: 0644]
XOrg/font/font-isas-misc/Makefile [new file with mode: 0644]
XOrg/font/font-jis-misc/Makefile [new file with mode: 0644]
XOrg/font/font-micro-misc/Makefile [new file with mode: 0644]
XOrg/font/font-misc-cyrillic/Makefile [new file with mode: 0644]
XOrg/font/font-misc-misc/Makefile [new file with mode: 0644]
XOrg/font/font-misc-misc/files/fonts.dir.font-base [new file with mode: 0644]
XOrg/font/font-misc-misc/files/fonts.dir.font-misc-misc [new file with mode: 0644]
XOrg/font/font-xfree86-type1/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/gtk-1.2.10/Makefile [new file with mode: 0644]
XOrg/lib/libICE/Makefile [new file with mode: 0644]
XOrg/lib/libSM/Makefile [new file with mode: 0644]
XOrg/lib/libX11/Makefile [new file with mode: 0644]
XOrg/lib/libXau/Makefile [new file with mode: 0644]
XOrg/lib/libXaw/Makefile [new file with mode: 0644]
XOrg/lib/libXdmcp/Makefile [new file with mode: 0644]
XOrg/lib/libXext/Makefile [new file with mode: 0644]
XOrg/lib/libXfont/Makefile [new file with mode: 0644]
XOrg/lib/libXmu/Makefile [new file with mode: 0644]
XOrg/lib/libXpm/Makefile [new file with mode: 0644]
XOrg/lib/libXpm/patches/100-ld.patch [new file with mode: 0644]
XOrg/lib/libXrandr/Makefile [new file with mode: 0644]
XOrg/lib/libXrender/Makefile [new file with mode: 0644]
XOrg/lib/libXt/Makefile [new file with mode: 0644]
XOrg/lib/libXv/Makefile [new file with mode: 0644]
XOrg/lib/libXvMC/Makefile [new file with mode: 0644]
XOrg/lib/libXxf86misc/Makefile [new file with mode: 0644]
XOrg/lib/libXxf86vm/Makefile [new file with mode: 0644]
XOrg/lib/libfontenc/Makefile [new file with mode: 0644]
XOrg/lib/libxkbfile/Makefile [new file with mode: 0644]
XOrg/lib/libxkbui/Makefile [new file with mode: 0644]
XOrg/lib/packages [new file with mode: 0644]
XOrg/lib/patches/libXpm/100-ld.patch [new file with mode: 0644]
XOrg/lib/patches/xtrans/fix-missing-includepath.patch [new file with mode: 0644]
XOrg/lib/template.mk [new file with mode: 0644]
XOrg/lib/xtrans/Makefile [new file with mode: 0644]
XOrg/lib/xtrans/patches/fix-missing-includepath.patch [new file with mode: 0644]
XOrg/meta/xorg-server-essentials/Makefile [new file with mode: 0644]
XOrg/meta/xorg-server-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/applewmproto/Makefile [new file with mode: 0644]
XOrg/proto/bigreqsproto/Makefile [new file with mode: 0644]
XOrg/proto/calibrateproto/Makefile [new file with mode: 0644]
XOrg/proto/calibrateproto/src/ChangeLog [new file with mode: 0644]
XOrg/proto/calibrateproto/src/Makefile [new file with mode: 0644]
XOrg/proto/calibrateproto/src/Makefile.am [new file with mode: 0644]
XOrg/proto/calibrateproto/src/Makefile.in [new file with mode: 0644]
XOrg/proto/calibrateproto/src/aclocal.m4 [new file with mode: 0644]
XOrg/proto/calibrateproto/src/autogen.sh [new file with mode: 0755]
XOrg/proto/calibrateproto/src/config.log [new file with mode: 0644]
XOrg/proto/calibrateproto/src/config.status [new file with mode: 0755]
XOrg/proto/calibrateproto/src/configure [new file with mode: 0755]
XOrg/proto/calibrateproto/src/configure.ac [new file with mode: 0644]
XOrg/proto/calibrateproto/src/install-sh [new file with mode: 0755]
XOrg/proto/calibrateproto/src/missing [new file with mode: 0755]
XOrg/proto/calibrateproto/src/xcalibrateproto.h [new file with mode: 0644]
XOrg/proto/calibrateproto/src/xcalibrateproto.pc [new file with mode: 0644]
XOrg/proto/calibrateproto/src/xcalibrateproto.pc.in [new file with mode: 0644]
XOrg/proto/calibrateproto/src/xcalibratewire.h [new file with mode: 0644]
XOrg/proto/compositeproto/Makefile [new file with mode: 0644]
XOrg/proto/damageproto/Makefile [new file with mode: 0644]
XOrg/proto/dmxproto/Makefile [new file with mode: 0644]
XOrg/proto/evieext/Makefile [new file with mode: 0644]
XOrg/proto/fixesproto/Makefile [new file with mode: 0644]
XOrg/proto/fontcacheproto/Makefile [new file with mode: 0644]
XOrg/proto/fontsproto/Makefile [new file with mode: 0644]
XOrg/proto/glproto/Makefile [new file with mode: 0644]
XOrg/proto/inputproto/Makefile [new file with mode: 0644]
XOrg/proto/kbproto/Makefile [new file with mode: 0644]
XOrg/proto/packages [new file with mode: 0644]
XOrg/proto/printproto/Makefile [new file with mode: 0644]
XOrg/proto/randrproto/Makefile [new file with mode: 0644]
XOrg/proto/recordproto/Makefile [new file with mode: 0644]
XOrg/proto/renderproto/Makefile [new file with mode: 0644]
XOrg/proto/resourceproto/Makefile [new file with mode: 0644]
XOrg/proto/scrnsaverproto/Makefile [new file with mode: 0644]
XOrg/proto/template.mk [new file with mode: 0644]
XOrg/proto/trapproto/Makefile [new file with mode: 0644]
XOrg/proto/videoproto/Makefile [new file with mode: 0644]
XOrg/proto/windowswmproto/Makefile [new file with mode: 0644]
XOrg/proto/xcmiscproto/Makefile [new file with mode: 0644]
XOrg/proto/xextproto/Makefile [new file with mode: 0644]
XOrg/proto/xf86bigfontproto/Makefile [new file with mode: 0644]
XOrg/proto/xf86dgaproto/Makefile [new file with mode: 0644]
XOrg/proto/xf86driproto/Makefile [new file with mode: 0644]
XOrg/proto/xf86miscproto/Makefile [new file with mode: 0644]
XOrg/proto/xf86rushproto/Makefile [new file with mode: 0644]
XOrg/proto/xf86vidmodeproto/Makefile [new file with mode: 0644]
XOrg/proto/xineramaproto/Makefile [new file with mode: 0644]
XOrg/proto/xproto/Makefile [new file with mode: 0644]
XOrg/proto/xproxymanagementprotocol/Makefile [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-uclibc-lm.patch [new file with mode: 0644]
XOrg/utils/packages [new file with mode: 0644]
XOrg/utils/template.mk [new file with mode: 0644]
XOrg/utils/util-macros/Makefile [new file with mode: 0644]

diff --git a/XOrg/app/fluxbox/Makefile b/XOrg/app/fluxbox/Makefile
new file mode 100644 (file)
index 0000000..68fd0f7
--- /dev/null
@@ -0,0 +1,89 @@
+# 
+# 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-xmb
+
+define Package/fluxbox/Default
+  SECTION:=xorg-wm
+  CATEGORY:=Xorg
+endef
+
+define Package/fluxbox
+$(call Package/fluxbox/Default)
+  DEPENDS:=+xorg-server-essentials +uclibcxx +xterm @TARGET_x86
+  TITLE:=fluxbox window manager
+  MENU:=1
+endef
+
+define Package/fbrun
+$(call Package/fluxbox/Default)
+  DEPENDS:=fluxbox
+  TITLE:=fluxbox tool to run applications
+endef
+
+define Package/fbsetroot
+$(call Package/fluxbox/Default)
+  DEPENDS:=fluxbox
+  TITLE:=set fluxbox background
+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/bin
+       $(INSTALL_DIR) $(1)/usr/share/fluxbox/styles/
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/{fluxbox,fbsetbg} $(1)/usr/bin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/fluxbox/{init,keys} $(1)/usr/share/fluxbox/
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/fluxbox/styles/* $(1)/usr/share/fluxbox/styles/
+       $(CP) files/menu $(1)/usr/share/fluxbox/
+endef
+
+define Package/fbsetroot/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/fbsetroot $(1)/usr/bin/
+endef
+
+define Package/fbrun/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/fbrun $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,fbrun))
+$(eval $(call BuildPackage,fbsetroot))
+$(eval $(call BuildPackage,fluxbox))
diff --git a/XOrg/app/fluxbox/files/menu b/XOrg/app/fluxbox/files/menu
new file mode 100644 (file)
index 0000000..3357552
--- /dev/null
@@ -0,0 +1,31 @@
+[begin] (Fluxbox-OpenWrt)
+      [exec] (xterm) {xterm}
+      [exec]   (vi) {xterm -e vi}
+      [exec]   (xmms) {xmms}
+      [exec]   (alsamixer) {xterm -e alsamixer}
+      [exec]   (vlc) {vlc}
+      [exec]   (xclock) {xclock}
+      [exec]   (xmag) {xmag}
+      [exec]   (xclock) {xclock}
+      [exec]   (xcalc) {xcalc}
+      [exec]   (xpdf) {xpdf}
+      [exec]   (top) {xterm -e top}
+[submenu] (fluxbox menu)
+      [config] (Configure)
+[submenu] (System Styles) {Choose a style...}
+      [stylesdir] (/usr/share/fluxbox/styles)
+[end]
+      [workspaces] (Workspace List)
+[submenu] (Tools)
+      [exec]   (fluxconf) {fluxconf}
+      [exec]   (fluxkeys) {fluxkeys}
+      [exec]   (fluxmenu) {fluxmenu}
+[end]
+      [commanddialog] (Fluxbox Command)
+      [reconfig] (Reload config)
+      [restart] (Restart)
+      [exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) 2> /dev/null | xmessage -file - -center}
+      [separator]
+      [exit] (Exit)
+[end]
+[end]
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..ad87ff3
--- /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|+font-misc-misc
+xdm-X11R7.2-1.1.3|
diff --git a/XOrg/app/patches/xlogo/100-link.patch b/XOrg/app/patches/xlogo/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..7a87f03
--- /dev/null
@@ -0,0 +1,74 @@
+# 
+# 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_BASE_NAME:=@BASE_NAME@
+PKG_NAME:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/app
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+
+_DEPEND:=@DEP@
+ifneq (@NAME@,xinit)
+_DEPEND+=xorg-server-essentials
+endif
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/@NAME@
+  SECTION:=xorg-app
+  CATEGORY:=Xorg
+  SUBMENU:=app
+  DEPENDS:=${_DEPEND} @TARGET_x86
+  TITLE:=@NAME@
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)  $(MAKE_FLAGS) install
+endef
+
+ifeq (@NAME@,xdm)
+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/@NAME@/install
+       $(INSTALL_DIR) $(1)
+       $(CP) $(PKG_INSTALL_DIR)/* $(1)
+       rm -rf $(1)/usr/man/
+endef
+
+define Package/xinit/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xinit $(1)/usr/bin/xinit
+       cd $(1)/usr/bin/; ln -s xinit startx
+endef
+
+$(eval $(call BuildPackage,@NAME@))
diff --git a/XOrg/app/xcalc/Makefile b/XOrg/app/xcalc/Makefile
new file mode 100644 (file)
index 0000000..c188526
--- /dev/null
@@ -0,0 +1,74 @@
+# 
+# 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_BASE_NAME:=xcalc
+PKG_NAME:=xcalc
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.1
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/app
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+
+_DEPEND:= +font-misc-misc
+ifneq (xcalc,xinit)
+_DEPEND+=xorg-server-essentials
+endif
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xcalc
+  SECTION:=xorg-app
+  CATEGORY:=Xorg
+  SUBMENU:=app
+  DEPENDS:=${_DEPEND} @TARGET_x86
+  TITLE:=xcalc
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)  $(MAKE_FLAGS) install
+endef
+
+ifeq (xcalc,xdm)
+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/xcalc/install
+       $(INSTALL_DIR) $(1)
+       $(CP) $(PKG_INSTALL_DIR)/* $(1)
+       rm -rf $(1)/usr/man/
+endef
+
+define Package/xinit/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xinit $(1)/usr/bin/xinit
+       cd $(1)/usr/bin/; ln -s xinit startx
+endef
+
+$(eval $(call BuildPackage,xcalc))
diff --git a/XOrg/app/xclipboard/Makefile b/XOrg/app/xclipboard/Makefile
new file mode 100644 (file)
index 0000000..a69e1b7
--- /dev/null
@@ -0,0 +1,74 @@
+# 
+# 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_BASE_NAME:=xclipboard
+PKG_NAME:=xclipboard
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.1
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/app
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+
+_DEPEND:=
+ifneq (xclipboard,xinit)
+_DEPEND+=xorg-server-essentials
+endif
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xclipboard
+  SECTION:=xorg-app
+  CATEGORY:=Xorg
+  SUBMENU:=app
+  DEPENDS:=${_DEPEND} @TARGET_x86
+  TITLE:=xclipboard
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)  $(MAKE_FLAGS) install
+endef
+
+ifeq (xclipboard,xdm)
+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/xclipboard/install
+       $(INSTALL_DIR) $(1)
+       $(CP) $(PKG_INSTALL_DIR)/* $(1)
+       rm -rf $(1)/usr/man/
+endef
+
+define Package/xinit/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xinit $(1)/usr/bin/xinit
+       cd $(1)/usr/bin/; ln -s xinit startx
+endef
+
+$(eval $(call BuildPackage,xclipboard))
diff --git a/XOrg/app/xdm/Makefile b/XOrg/app/xdm/Makefile
new file mode 100644 (file)
index 0000000..86718e6
--- /dev/null
@@ -0,0 +1,74 @@
+# 
+# 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_BASE_NAME:=xdm
+PKG_NAME:=xdm
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.1.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/app
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+
+_DEPEND:=
+ifneq (xdm,xinit)
+_DEPEND+=xorg-server-essentials
+endif
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xdm
+  SECTION:=xorg-app
+  CATEGORY:=Xorg
+  SUBMENU:=app
+  DEPENDS:=${_DEPEND} @TARGET_x86
+  TITLE:=xdm
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)  $(MAKE_FLAGS) install
+endef
+
+ifeq (xdm,xdm)
+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/xdm/install
+       $(INSTALL_DIR) $(1)
+       $(CP) $(PKG_INSTALL_DIR)/* $(1)
+       rm -rf $(1)/usr/man/
+endef
+
+define Package/xinit/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xinit $(1)/usr/bin/xinit
+       cd $(1)/usr/bin/; ln -s xinit startx
+endef
+
+$(eval $(call BuildPackage,xdm))
diff --git a/XOrg/app/xeyes/Makefile b/XOrg/app/xeyes/Makefile
new file mode 100644 (file)
index 0000000..92f2872
--- /dev/null
@@ -0,0 +1,74 @@
+# 
+# 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_BASE_NAME:=xeyes
+PKG_NAME:=xeyes
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.1
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/app
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+
+_DEPEND:=
+ifneq (xeyes,xinit)
+_DEPEND+=xorg-server-essentials
+endif
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xeyes
+  SECTION:=xorg-app
+  CATEGORY:=Xorg
+  SUBMENU:=app
+  DEPENDS:=${_DEPEND} @TARGET_x86
+  TITLE:=xeyes
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)  $(MAKE_FLAGS) install
+endef
+
+ifeq (xeyes,xdm)
+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/xeyes/install
+       $(INSTALL_DIR) $(1)
+       $(CP) $(PKG_INSTALL_DIR)/* $(1)
+       rm -rf $(1)/usr/man/
+endef
+
+define Package/xinit/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xinit $(1)/usr/bin/xinit
+       cd $(1)/usr/bin/; ln -s xinit startx
+endef
+
+$(eval $(call BuildPackage,xeyes))
diff --git a/XOrg/app/xinit/Makefile b/XOrg/app/xinit/Makefile
new file mode 100644 (file)
index 0000000..25ed59c
--- /dev/null
@@ -0,0 +1,74 @@
+# 
+# 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_BASE_NAME:=xinit
+PKG_NAME:=xinit
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/app
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+
+_DEPEND:=
+ifneq (xinit,xinit)
+_DEPEND+=xorg-server-essentials
+endif
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xinit
+  SECTION:=xorg-app
+  CATEGORY:=Xorg
+  SUBMENU:=app
+  DEPENDS:=${_DEPEND} @TARGET_x86
+  TITLE:=xinit
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)  $(MAKE_FLAGS) install
+endef
+
+ifeq (xinit,xdm)
+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/xinit/install
+       $(INSTALL_DIR) $(1)
+       $(CP) $(PKG_INSTALL_DIR)/* $(1)
+       rm -rf $(1)/usr/man/
+endef
+
+define Package/xinit/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xinit $(1)/usr/bin/xinit
+       cd $(1)/usr/bin/; ln -s xinit startx
+endef
+
+$(eval $(call BuildPackage,xinit))
diff --git a/XOrg/app/xlogo/Makefile b/XOrg/app/xlogo/Makefile
new file mode 100644 (file)
index 0000000..eed759f
--- /dev/null
@@ -0,0 +1,74 @@
+# 
+# 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_BASE_NAME:=xlogo
+PKG_NAME:=xlogo
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.1
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/app
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+
+_DEPEND:=
+ifneq (xlogo,xinit)
+_DEPEND+=xorg-server-essentials
+endif
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xlogo
+  SECTION:=xorg-app
+  CATEGORY:=Xorg
+  SUBMENU:=app
+  DEPENDS:=${_DEPEND} @TARGET_x86
+  TITLE:=xlogo
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)  $(MAKE_FLAGS) install
+endef
+
+ifeq (xlogo,xdm)
+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/xlogo/install
+       $(INSTALL_DIR) $(1)
+       $(CP) $(PKG_INSTALL_DIR)/* $(1)
+       rm -rf $(1)/usr/man/
+endef
+
+define Package/xinit/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xinit $(1)/usr/bin/xinit
+       cd $(1)/usr/bin/; ln -s xinit startx
+endef
+
+$(eval $(call BuildPackage,xlogo))
diff --git a/XOrg/app/xlogo/patches/100-link.patch b/XOrg/app/xlogo/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/Makefile b/XOrg/app/xset/Makefile
new file mode 100644 (file)
index 0000000..6c5412a
--- /dev/null
@@ -0,0 +1,74 @@
+# 
+# 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_BASE_NAME:=xset
+PKG_NAME:=xset
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.1-1.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/app
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+
+_DEPEND:=
+ifneq (xset,xinit)
+_DEPEND+=xorg-server-essentials
+endif
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xset
+  SECTION:=xorg-app
+  CATEGORY:=Xorg
+  SUBMENU:=app
+  DEPENDS:=${_DEPEND} @TARGET_x86
+  TITLE:=xset
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)  $(MAKE_FLAGS) install
+endef
+
+ifeq (xset,xdm)
+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/xset/install
+       $(INSTALL_DIR) $(1)
+       $(CP) $(PKG_INSTALL_DIR)/* $(1)
+       rm -rf $(1)/usr/man/
+endef
+
+define Package/xinit/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/xinit $(1)/usr/bin/xinit
+       cd $(1)/usr/bin/; ln -s xinit startx
+endef
+
+$(eval $(call BuildPackage,xset))
diff --git a/XOrg/app/xterm-233/Makefile b/XOrg/app/xterm-233/Makefile
new file mode 100644 (file)
index 0000000..d852d2c
--- /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-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/driver/packages b/XOrg/driver/packages
new file mode 100644 (file)
index 0000000..f140c8a
--- /dev/null
@@ -0,0 +1,10 @@
+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|
+xf86-video-i810-X11R7.2-1.6.5|+libXvMC
+xf86-video-nv-X11R7.2-1.2.2.1|
+xf86-video-ati-X11R7.2-6.6.3|
diff --git a/XOrg/driver/patches/xf86-video-i810/100-sdkdir.patch b/XOrg/driver/patches/xf86-video-i810/100-sdkdir.patch
new file mode 100644 (file)
index 0000000..1300a6a
--- /dev/null
@@ -0,0 +1,13 @@
+diff -urN xf86-video-i810-X11R7.2-1.6.5.orig/configure.ac xf86-video-i810-X11R7.2-1.6.5/configure.ac
+--- xf86-video-i810-X11R7.2-1.6.5.orig/configure.ac    2007-09-21 03:54:25.000000000 +0200
++++ xf86-video-i810-X11R7.2-1.6.5/configure.ac 2007-09-21 03:55:08.000000000 +0200
+@@ -72,7 +72,8 @@
+ # Checks for pkg-config packages
+ PKG_CHECK_MODULES(XORG, [xorg-server xproto xvmc fontsproto $REQUIRED_MODULES])
+-sdkdir=$(pkg-config --variable=sdkdir xorg-server)
++sdkdir=${SDKDIR}
++#$(pkg-config --variable=sdkdir xorg-server)
+ # Checks for libraries.
diff --git a/XOrg/driver/patches/xf86-video-vesa/100-include-fix.patch b/XOrg/driver/patches/xf86-video-vesa/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..4efac23
--- /dev/null
@@ -0,0 +1,71 @@
+# 
+# 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_BASE_NAME:=@BASE_NAME@
+PKG_NAME:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/driver
+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/@NAME@
+  SECTION:=xorg-driver
+  CATEGORY:=Xorg
+  SUBMENU:=driver
+  DEPENDS:=+xorg-server @DEP@ @TARGET_x86
+  TITLE:=@NAME@
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+EXTRA_CPPFLAGS= -I$(STAGING_DIR)/usr/include/xorg \
+               -I$(STAGING_DIR)/usr/include/X11/ \
+               -I$(STAGING_DIR)/usr/include/ \
+               -I$(STAGING_DIR)/include/
+
+EXTRA_CFLAGS+= $(EXTRA_CPPFLAGS)
+
+acvar=$(subst -,_,$(subst .,_,$(subst /,_,$(1))))
+
+CONFIGURE_VARS +=DRI_CFLAGS="-I$(STAGING_DIR)/usr/include/X11/dri/" ac_cv_file__usr_share_sgml_X11_defs_ent=yes \
+       sdkdir=$(STAGING_DIR) 
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(foreach a,dri.h sarea.h dristruct.h exa.h,export ac_cv_file_$(call acvar,$(STAGING_DIR)/usr/include/xorg/$(a))=yes;) \
+               sed -i "s|sdkdir=.*|sdkdir=$(STAGING_DIR)/usr/include/xorg|g" $(PKG_BUILD_DIR)/configure ;\
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               CPPFLAGS="$(EXTRA_CPPFLAGS)" ;\
+       fi \
+       )
+endef
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *a | xargs rm -rf
+endef
+
+define Package/@NAME@/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,@NAME@))
diff --git a/XOrg/driver/xf86-input-evdev/Makefile b/XOrg/driver/xf86-input-evdev/Makefile
new file mode 100644 (file)
index 0000000..7496cdb
--- /dev/null
@@ -0,0 +1,71 @@
+# 
+# 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_BASE_NAME:=xf86
+PKG_NAME:=xf86-input-evdev
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.1-1.1.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/driver
+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/xf86-input-evdev
+  SECTION:=xorg-driver
+  CATEGORY:=Xorg
+  SUBMENU:=driver
+  DEPENDS:=+xorg-server  @TARGET_x86
+  TITLE:=xf86-input-evdev
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+EXTRA_CPPFLAGS= -I$(STAGING_DIR)/usr/include/xorg \
+               -I$(STAGING_DIR)/usr/include/X11/ \
+               -I$(STAGING_DIR)/usr/include/ \
+               -I$(STAGING_DIR)/include/
+
+EXTRA_CFLAGS+= $(EXTRA_CPPFLAGS)
+
+acvar=$(subst -,_,$(subst .,_,$(subst /,_,$(1))))
+
+CONFIGURE_VARS +=DRI_CFLAGS="-I$(STAGING_DIR)/usr/include/X11/dri/" ac_cv_file__usr_share_sgml_X11_defs_ent=yes \
+       sdkdir=$(STAGING_DIR) 
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(foreach a,dri.h sarea.h dristruct.h exa.h,export ac_cv_file_$(call acvar,$(STAGING_DIR)/usr/include/xorg/$(a))=yes;) \
+               sed -i "s|sdkdir=.*|sdkdir=$(STAGING_DIR)/usr/include/xorg|g" $(PKG_BUILD_DIR)/configure ;\
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               CPPFLAGS="$(EXTRA_CPPFLAGS)" ;\
+       fi \
+       )
+endef
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *a | xargs rm -rf
+endef
+
+define Package/xf86-input-evdev/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,xf86-input-evdev))
diff --git a/XOrg/driver/xf86-input-keyboard/Makefile b/XOrg/driver/xf86-input-keyboard/Makefile
new file mode 100644 (file)
index 0000000..c0efedd
--- /dev/null
@@ -0,0 +1,71 @@
+# 
+# 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_BASE_NAME:=xf86
+PKG_NAME:=xf86-input-keyboard
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.1.1
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/driver
+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/xf86-input-keyboard
+  SECTION:=xorg-driver
+  CATEGORY:=Xorg
+  SUBMENU:=driver
+  DEPENDS:=+xorg-server  @TARGET_x86
+  TITLE:=xf86-input-keyboard
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+EXTRA_CPPFLAGS= -I$(STAGING_DIR)/usr/include/xorg \
+               -I$(STAGING_DIR)/usr/include/X11/ \
+               -I$(STAGING_DIR)/usr/include/ \
+               -I$(STAGING_DIR)/include/
+
+EXTRA_CFLAGS+= $(EXTRA_CPPFLAGS)
+
+acvar=$(subst -,_,$(subst .,_,$(subst /,_,$(1))))
+
+CONFIGURE_VARS +=DRI_CFLAGS="-I$(STAGING_DIR)/usr/include/X11/dri/" ac_cv_file__usr_share_sgml_X11_defs_ent=yes \
+       sdkdir=$(STAGING_DIR) 
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(foreach a,dri.h sarea.h dristruct.h exa.h,export ac_cv_file_$(call acvar,$(STAGING_DIR)/usr/include/xorg/$(a))=yes;) \
+               sed -i "s|sdkdir=.*|sdkdir=$(STAGING_DIR)/usr/include/xorg|g" $(PKG_BUILD_DIR)/configure ;\
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               CPPFLAGS="$(EXTRA_CPPFLAGS)" ;\
+       fi \
+       )
+endef
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *a | xargs rm -rf
+endef
+
+define Package/xf86-input-keyboard/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,xf86-input-keyboard))
diff --git a/XOrg/driver/xf86-input-mouse/Makefile b/XOrg/driver/xf86-input-mouse/Makefile
new file mode 100644 (file)
index 0000000..c4867b6
--- /dev/null
@@ -0,0 +1,71 @@
+# 
+# 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_BASE_NAME:=xf86
+PKG_NAME:=xf86-input-mouse
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.1.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/driver
+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/xf86-input-mouse
+  SECTION:=xorg-driver
+  CATEGORY:=Xorg
+  SUBMENU:=driver
+  DEPENDS:=+xorg-server  @TARGET_x86
+  TITLE:=xf86-input-mouse
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+EXTRA_CPPFLAGS= -I$(STAGING_DIR)/usr/include/xorg \
+               -I$(STAGING_DIR)/usr/include/X11/ \
+               -I$(STAGING_DIR)/usr/include/ \
+               -I$(STAGING_DIR)/include/
+
+EXTRA_CFLAGS+= $(EXTRA_CPPFLAGS)
+
+acvar=$(subst -,_,$(subst .,_,$(subst /,_,$(1))))
+
+CONFIGURE_VARS +=DRI_CFLAGS="-I$(STAGING_DIR)/usr/include/X11/dri/" ac_cv_file__usr_share_sgml_X11_defs_ent=yes \
+       sdkdir=$(STAGING_DIR) 
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(foreach a,dri.h sarea.h dristruct.h exa.h,export ac_cv_file_$(call acvar,$(STAGING_DIR)/usr/include/xorg/$(a))=yes;) \
+               sed -i "s|sdkdir=.*|sdkdir=$(STAGING_DIR)/usr/include/xorg|g" $(PKG_BUILD_DIR)/configure ;\
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               CPPFLAGS="$(EXTRA_CPPFLAGS)" ;\
+       fi \
+       )
+endef
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *a | xargs rm -rf
+endef
+
+define Package/xf86-input-mouse/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,xf86-input-mouse))
diff --git a/XOrg/driver/xf86-video-ati/Makefile b/XOrg/driver/xf86-video-ati/Makefile
new file mode 100644 (file)
index 0000000..c66a3df
--- /dev/null
@@ -0,0 +1,71 @@
+# 
+# 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_BASE_NAME:=xf86
+PKG_NAME:=xf86-video-ati
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-6.6.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/driver
+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/xf86-video-ati
+  SECTION:=xorg-driver
+  CATEGORY:=Xorg
+  SUBMENU:=driver
+  DEPENDS:=+xorg-server  @TARGET_x86
+  TITLE:=xf86-video-ati
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+EXTRA_CPPFLAGS= -I$(STAGING_DIR)/usr/include/xorg \
+               -I$(STAGING_DIR)/usr/include/X11/ \
+               -I$(STAGING_DIR)/usr/include/ \
+               -I$(STAGING_DIR)/include/
+
+EXTRA_CFLAGS+= $(EXTRA_CPPFLAGS)
+
+acvar=$(subst -,_,$(subst .,_,$(subst /,_,$(1))))
+
+CONFIGURE_VARS +=DRI_CFLAGS="-I$(STAGING_DIR)/usr/include/X11/dri/" ac_cv_file__usr_share_sgml_X11_defs_ent=yes \
+       sdkdir=$(STAGING_DIR) 
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(foreach a,dri.h sarea.h dristruct.h exa.h,export ac_cv_file_$(call acvar,$(STAGING_DIR)/usr/include/xorg/$(a))=yes;) \
+               sed -i "s|sdkdir=.*|sdkdir=$(STAGING_DIR)/usr/include/xorg|g" $(PKG_BUILD_DIR)/configure ;\
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               CPPFLAGS="$(EXTRA_CPPFLAGS)" ;\
+       fi \
+       )
+endef
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *a | xargs rm -rf
+endef
+
+define Package/xf86-video-ati/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,xf86-video-ati))
diff --git a/XOrg/driver/xf86-video-fbdev/Makefile b/XOrg/driver/xf86-video-fbdev/Makefile
new file mode 100644 (file)
index 0000000..c587671
--- /dev/null
@@ -0,0 +1,71 @@
+# 
+# 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_BASE_NAME:=xf86
+PKG_NAME:=xf86-video-fbdev
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-0.3.1
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/driver
+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/xf86-video-fbdev
+  SECTION:=xorg-driver
+  CATEGORY:=Xorg
+  SUBMENU:=driver
+  DEPENDS:=+xorg-server  @TARGET_x86
+  TITLE:=xf86-video-fbdev
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+EXTRA_CPPFLAGS= -I$(STAGING_DIR)/usr/include/xorg \
+               -I$(STAGING_DIR)/usr/include/X11/ \
+               -I$(STAGING_DIR)/usr/include/ \
+               -I$(STAGING_DIR)/include/
+
+EXTRA_CFLAGS+= $(EXTRA_CPPFLAGS)
+
+acvar=$(subst -,_,$(subst .,_,$(subst /,_,$(1))))
+
+CONFIGURE_VARS +=DRI_CFLAGS="-I$(STAGING_DIR)/usr/include/X11/dri/" ac_cv_file__usr_share_sgml_X11_defs_ent=yes \
+       sdkdir=$(STAGING_DIR) 
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(foreach a,dri.h sarea.h dristruct.h exa.h,export ac_cv_file_$(call acvar,$(STAGING_DIR)/usr/include/xorg/$(a))=yes;) \
+               sed -i "s|sdkdir=.*|sdkdir=$(STAGING_DIR)/usr/include/xorg|g" $(PKG_BUILD_DIR)/configure ;\
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               CPPFLAGS="$(EXTRA_CPPFLAGS)" ;\
+       fi \
+       )
+endef
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *a | xargs rm -rf
+endef
+
+define Package/xf86-video-fbdev/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,xf86-video-fbdev))
diff --git a/XOrg/driver/xf86-video-i810/Makefile b/XOrg/driver/xf86-video-i810/Makefile
new file mode 100644 (file)
index 0000000..d9d99c2
--- /dev/null
@@ -0,0 +1,71 @@
+# 
+# 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_BASE_NAME:=xf86
+PKG_NAME:=xf86-video-i810
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.6.5
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/driver
+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/xf86-video-i810
+  SECTION:=xorg-driver
+  CATEGORY:=Xorg
+  SUBMENU:=driver
+  DEPENDS:=+xorg-server  +libXvMC @TARGET_x86
+  TITLE:=xf86-video-i810
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+EXTRA_CPPFLAGS= -I$(STAGING_DIR)/usr/include/xorg \
+               -I$(STAGING_DIR)/usr/include/X11/ \
+               -I$(STAGING_DIR)/usr/include/ \
+               -I$(STAGING_DIR)/include/
+
+EXTRA_CFLAGS+= $(EXTRA_CPPFLAGS)
+
+acvar=$(subst -,_,$(subst .,_,$(subst /,_,$(1))))
+
+CONFIGURE_VARS +=DRI_CFLAGS="-I$(STAGING_DIR)/usr/include/X11/dri/" ac_cv_file__usr_share_sgml_X11_defs_ent=yes \
+       sdkdir=$(STAGING_DIR) 
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(foreach a,dri.h sarea.h dristruct.h exa.h,export ac_cv_file_$(call acvar,$(STAGING_DIR)/usr/include/xorg/$(a))=yes;) \
+               sed -i "s|sdkdir=.*|sdkdir=$(STAGING_DIR)/usr/include/xorg|g" $(PKG_BUILD_DIR)/configure ;\
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               CPPFLAGS="$(EXTRA_CPPFLAGS)" ;\
+       fi \
+       )
+endef
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *a | xargs rm -rf
+endef
+
+define Package/xf86-video-i810/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,xf86-video-i810))
diff --git a/XOrg/driver/xf86-video-i810/patches/100-sdkdir.patch b/XOrg/driver/xf86-video-i810/patches/100-sdkdir.patch
new file mode 100644 (file)
index 0000000..1300a6a
--- /dev/null
@@ -0,0 +1,13 @@
+diff -urN xf86-video-i810-X11R7.2-1.6.5.orig/configure.ac xf86-video-i810-X11R7.2-1.6.5/configure.ac
+--- xf86-video-i810-X11R7.2-1.6.5.orig/configure.ac    2007-09-21 03:54:25.000000000 +0200
++++ xf86-video-i810-X11R7.2-1.6.5/configure.ac 2007-09-21 03:55:08.000000000 +0200
+@@ -72,7 +72,8 @@
+ # Checks for pkg-config packages
+ PKG_CHECK_MODULES(XORG, [xorg-server xproto xvmc fontsproto $REQUIRED_MODULES])
+-sdkdir=$(pkg-config --variable=sdkdir xorg-server)
++sdkdir=${SDKDIR}
++#$(pkg-config --variable=sdkdir xorg-server)
+ # Checks for libraries.
diff --git a/XOrg/driver/xf86-video-nv/Makefile b/XOrg/driver/xf86-video-nv/Makefile
new file mode 100644 (file)
index 0000000..aefc759
--- /dev/null
@@ -0,0 +1,71 @@
+# 
+# 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_BASE_NAME:=xf86
+PKG_NAME:=xf86-video-nv
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.2.2.1
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/driver
+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/xf86-video-nv
+  SECTION:=xorg-driver
+  CATEGORY:=Xorg
+  SUBMENU:=driver
+  DEPENDS:=+xorg-server  @TARGET_x86
+  TITLE:=xf86-video-nv
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+EXTRA_CPPFLAGS= -I$(STAGING_DIR)/usr/include/xorg \
+               -I$(STAGING_DIR)/usr/include/X11/ \
+               -I$(STAGING_DIR)/usr/include/ \
+               -I$(STAGING_DIR)/include/
+
+EXTRA_CFLAGS+= $(EXTRA_CPPFLAGS)
+
+acvar=$(subst -,_,$(subst .,_,$(subst /,_,$(1))))
+
+CONFIGURE_VARS +=DRI_CFLAGS="-I$(STAGING_DIR)/usr/include/X11/dri/" ac_cv_file__usr_share_sgml_X11_defs_ent=yes \
+       sdkdir=$(STAGING_DIR) 
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(foreach a,dri.h sarea.h dristruct.h exa.h,export ac_cv_file_$(call acvar,$(STAGING_DIR)/usr/include/xorg/$(a))=yes;) \
+               sed -i "s|sdkdir=.*|sdkdir=$(STAGING_DIR)/usr/include/xorg|g" $(PKG_BUILD_DIR)/configure ;\
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               CPPFLAGS="$(EXTRA_CPPFLAGS)" ;\
+       fi \
+       )
+endef
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *a | xargs rm -rf
+endef
+
+define Package/xf86-video-nv/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,xf86-video-nv))
diff --git a/XOrg/driver/xf86-video-vesa/Makefile b/XOrg/driver/xf86-video-vesa/Makefile
new file mode 100644 (file)
index 0000000..f1ae0df
--- /dev/null
@@ -0,0 +1,71 @@
+# 
+# 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_BASE_NAME:=xf86
+PKG_NAME:=xf86-video-vesa
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.3.0
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/driver
+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/xf86-video-vesa
+  SECTION:=xorg-driver
+  CATEGORY:=Xorg
+  SUBMENU:=driver
+  DEPENDS:=+xorg-server  @TARGET_x86
+  TITLE:=xf86-video-vesa
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+EXTRA_CPPFLAGS= -I$(STAGING_DIR)/usr/include/xorg \
+               -I$(STAGING_DIR)/usr/include/X11/ \
+               -I$(STAGING_DIR)/usr/include/ \
+               -I$(STAGING_DIR)/include/
+
+EXTRA_CFLAGS+= $(EXTRA_CPPFLAGS)
+
+acvar=$(subst -,_,$(subst .,_,$(subst /,_,$(1))))
+
+CONFIGURE_VARS +=DRI_CFLAGS="-I$(STAGING_DIR)/usr/include/X11/dri/" ac_cv_file__usr_share_sgml_X11_defs_ent=yes \
+       sdkdir=$(STAGING_DIR) 
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(foreach a,dri.h sarea.h dristruct.h exa.h,export ac_cv_file_$(call acvar,$(STAGING_DIR)/usr/include/xorg/$(a))=yes;) \
+               sed -i "s|sdkdir=.*|sdkdir=$(STAGING_DIR)/usr/include/xorg|g" $(PKG_BUILD_DIR)/configure ;\
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               CPPFLAGS="$(EXTRA_CPPFLAGS)" ;\
+       fi \
+       )
+endef
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *a | xargs rm -rf
+endef
+
+define Package/xf86-video-vesa/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,xf86-video-vesa))
diff --git a/XOrg/driver/xf86-video-vesa/patches/100-include-fix.patch b/XOrg/driver/xf86-video-vesa/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/Makefile b/XOrg/driver/xf86-video-vga/Makefile
new file mode 100644 (file)
index 0000000..95291fc
--- /dev/null
@@ -0,0 +1,71 @@
+# 
+# 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_BASE_NAME:=xf86
+PKG_NAME:=xf86-video-vga
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.1-4.1.0
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/driver
+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/xf86-video-vga
+  SECTION:=xorg-driver
+  CATEGORY:=Xorg
+  SUBMENU:=driver
+  DEPENDS:=+xorg-server  @TARGET_x86
+  TITLE:=xf86-video-vga
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+EXTRA_CPPFLAGS= -I$(STAGING_DIR)/usr/include/xorg \
+               -I$(STAGING_DIR)/usr/include/X11/ \
+               -I$(STAGING_DIR)/usr/include/ \
+               -I$(STAGING_DIR)/include/
+
+EXTRA_CFLAGS+= $(EXTRA_CPPFLAGS)
+
+acvar=$(subst -,_,$(subst .,_,$(subst /,_,$(1))))
+
+CONFIGURE_VARS +=DRI_CFLAGS="-I$(STAGING_DIR)/usr/include/X11/dri/" ac_cv_file__usr_share_sgml_X11_defs_ent=yes \
+       sdkdir=$(STAGING_DIR) 
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH); \
+       if [ -x $(CONFIGURE_CMD) ]; then \
+               $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
+               $(foreach a,dri.h sarea.h dristruct.h exa.h,export ac_cv_file_$(call acvar,$(STAGING_DIR)/usr/include/xorg/$(a))=yes;) \
+               sed -i "s|sdkdir=.*|sdkdir=$(STAGING_DIR)/usr/include/xorg|g" $(PKG_BUILD_DIR)/configure ;\
+               $(CONFIGURE_VARS) \
+               $(CONFIGURE_CMD) \
+               $(CONFIGURE_ARGS_XTRA) \
+               $(CONFIGURE_ARGS) \
+               CPPFLAGS="$(EXTRA_CPPFLAGS)" ;\
+       fi \
+       )
+endef
+
+define Build/Compile
+       make -C $(PKG_BUILD_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *a | xargs rm -rf
+endef
+
+define Package/xf86-video-vga/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,xf86-video-vga))
diff --git a/XOrg/font-native/font-util/Makefile b/XOrg/font-native/font-util/Makefile
new file mode 100644 (file)
index 0000000..86e21a5
--- /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
+PKG_VERSION:=X11R7.1-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
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=fonts
+  TITLE:=misc tool to generate x fonts
+  DEPENDS:=+xorg-server @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))
diff --git a/XOrg/font/encodings/Makefile b/XOrg/font/encodings/Makefile
new file mode 100644 (file)
index 0000000..6e59663
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=encodings
+PKG_NAME:=encodings
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/encodings
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=encodings
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.encodings
+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/encodings/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/encodings/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.encodings`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (encodings,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,encodings))
+
diff --git a/XOrg/font/font-alias/Makefile b/XOrg/font/font-alias/Makefile
new file mode 100644 (file)
index 0000000..810b233
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=font
+PKG_NAME:=font-alias
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.1
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-alias
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=font-alias
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.font-alias
+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/font-alias/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/font-alias/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-alias`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (font-alias,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,font-alias))
+
diff --git a/XOrg/font/font-bh-75dpi/Makefile b/XOrg/font/font-bh-75dpi/Makefile
new file mode 100644 (file)
index 0000000..8da0a10
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=font
+PKG_NAME:=font-bh-75dpi
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.0
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-bh-75dpi
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=font-bh-75dpi
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.font-bh-75dpi
+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/font-bh-75dpi/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/font-bh-75dpi/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-bh-75dpi`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (font-bh-75dpi,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,font-bh-75dpi))
+
diff --git a/XOrg/font/font-cursor-misc/Makefile b/XOrg/font/font-cursor-misc/Makefile
new file mode 100644 (file)
index 0000000..df04eec
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=font
+PKG_NAME:=font-cursor-misc
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.0
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-cursor-misc
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=font-cursor-misc
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.font-cursor-misc
+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/font-cursor-misc/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/font-cursor-misc/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-cursor-misc`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (font-cursor-misc,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,font-cursor-misc))
+
diff --git a/XOrg/font/font-daewoo-misc/Makefile b/XOrg/font/font-daewoo-misc/Makefile
new file mode 100644 (file)
index 0000000..72ed513
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=font
+PKG_NAME:=font-daewoo-misc
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.0
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-daewoo-misc
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=font-daewoo-misc
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.font-daewoo-misc
+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/font-daewoo-misc/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/font-daewoo-misc/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-daewoo-misc`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (font-daewoo-misc,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,font-daewoo-misc))
+
diff --git a/XOrg/font/font-dec-misc/Makefile b/XOrg/font/font-dec-misc/Makefile
new file mode 100644 (file)
index 0000000..5fcb551
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=font
+PKG_NAME:=font-dec-misc
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.0
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-dec-misc
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=font-dec-misc
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.font-dec-misc
+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/font-dec-misc/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/font-dec-misc/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-dec-misc`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (font-dec-misc,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,font-dec-misc))
+
diff --git a/XOrg/font/font-ibm-type1/Makefile b/XOrg/font/font-ibm-type1/Makefile
new file mode 100644 (file)
index 0000000..bae954b
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=font
+PKG_NAME:=font-ibm-type1
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.0
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-ibm-type1
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=font-ibm-type1
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.font-ibm-type1
+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/font-ibm-type1/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/font-ibm-type1/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-ibm-type1`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (font-ibm-type1,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,font-ibm-type1))
+
diff --git a/XOrg/font/font-isas-misc/Makefile b/XOrg/font/font-isas-misc/Makefile
new file mode 100644 (file)
index 0000000..a589183
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=font
+PKG_NAME:=font-isas-misc
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.0
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-isas-misc
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=font-isas-misc
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.font-isas-misc
+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/font-isas-misc/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/font-isas-misc/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-isas-misc`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (font-isas-misc,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,font-isas-misc))
+
diff --git a/XOrg/font/font-jis-misc/Makefile b/XOrg/font/font-jis-misc/Makefile
new file mode 100644 (file)
index 0000000..b906481
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=font
+PKG_NAME:=font-jis-misc
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.0
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-jis-misc
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=font-jis-misc
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.font-jis-misc
+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/font-jis-misc/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/font-jis-misc/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-jis-misc`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (font-jis-misc,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,font-jis-misc))
+
diff --git a/XOrg/font/font-micro-misc/Makefile b/XOrg/font/font-micro-misc/Makefile
new file mode 100644 (file)
index 0000000..e6c96b7
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=font
+PKG_NAME:=font-micro-misc
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.0
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-micro-misc
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=font-micro-misc
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.font-micro-misc
+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/font-micro-misc/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/font-micro-misc/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-micro-misc`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (font-micro-misc,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,font-micro-misc))
+
diff --git a/XOrg/font/font-misc-cyrillic/Makefile b/XOrg/font/font-misc-cyrillic/Makefile
new file mode 100644 (file)
index 0000000..7c5e142
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=font
+PKG_NAME:=font-misc-cyrillic
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.0
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-misc-cyrillic
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=font-misc-cyrillic
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.font-misc-cyrillic
+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/font-misc-cyrillic/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/font-misc-cyrillic/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-misc-cyrillic`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (font-misc-cyrillic,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,font-misc-cyrillic))
+
diff --git a/XOrg/font/font-misc-misc/Makefile b/XOrg/font/font-misc-misc/Makefile
new file mode 100644 (file)
index 0000000..2edd9be
--- /dev/null
@@ -0,0 +1,125 @@
+# 
+# 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_BASE_NAME:=font-base
+PKG_NAME:=font-misc-misc
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.0
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+PKG_SOURCE:=font-misc-misc-X11R7.0-1.0.0.tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/fonts/font-misc-misc-X11R7.0-1.0.0/
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-misc-misc/Default
+  SECTION:=xorg-fonts
+  CATEGORY:=Xorg
+  SUBMENU:=font
+endef
+
+define Package/font-base
+  $(call Package/font-misc-misc/Default)
+  DEPENDS:=+xorg-server +font-util @TARGET_x86
+  TITLE:=font-base 
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Package/font-misc-misc
+  $(call Package/font-misc-misc/Default)
+  DEPENDS:=font-base
+  TITLE:=font-misc-misc 
+  URL:=http://xorg.freedesktop.org/
+endef
+
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs rm  
+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/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/  $(MAKE_FLAGS) install
+endef
+
+define Package/font-base/install
+       $(INSTALL_DIR) $(1)/usr/lib/X11/fonts/misc/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/X11/fonts/misc/6x13* $(1)/usr/lib/X11/fonts/misc/
+       $(CP) files/fonts.dir.font-base $(1)/usr/lib/X11/fonts/misc/
+endef
+
+define Package/font-misc-misc/install
+       $(INSTALL_DIR) $(1)/usr/lib/X11/fonts/misc/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/X11/fonts/misc/* $(1)/usr/lib/X11/fonts/misc/
+       rm $(1)/usr/lib/X11/fonts/misc/6x13*
+       $(CP) files/fonts.dir.font-misc-misc $(1)/usr/lib/X11/fonts/misc/
+endef
+
+define Package/font-base/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-base`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+define Package/font-misc-misc/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-misc-misc`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+$(eval $(call BuildPackage,font-misc-misc))
+$(eval $(call BuildPackage,font-base))
diff --git a/XOrg/font/font-misc-misc/files/fonts.dir.font-base b/XOrg/font/font-misc-misc/files/fonts.dir.font-base
new file mode 100644 (file)
index 0000000..0158265
--- /dev/null
@@ -0,0 +1,9 @@
+6x13-ISO8859-1.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
+6x13-ISO8859-15.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
+6x13.pcf.gz -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
+6x13B-ISO8859-1.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1
+6x13B-ISO8859-15.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-15
+6x13B.pcf.gz -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso10646-1
+6x13O-ISO8859-1.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-1
+6x13O-ISO8859-15.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-15
+6x13O.pcf.gz -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso10646-1
diff --git a/XOrg/font/font-misc-misc/files/fonts.dir.font-misc-misc b/XOrg/font/font-misc-misc/files/fonts.dir.font-misc-misc
new file mode 100644 (file)
index 0000000..1adf284
--- /dev/null
@@ -0,0 +1,62 @@
+10x20-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
+10x20-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-15
+10x20.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
+12x13ja.pcf.gz -misc-fixed-medium-r-normal-ja-13-120-75-75-c-120-iso10646-1
+18x18ja.pcf.gz -misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1
+18x18ko.pcf.gz -misc-fixed-medium-r-normal-ko-18-120-100-100-c-180-iso10646-1
+4x6-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-1
+4x6-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-15
+4x6.pcf.gz -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso10646-1
+5x7-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1
+5x7-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-15
+5x7.pcf.gz -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso10646-1
+5x8-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1
+5x8-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-15
+5x8.pcf.gz -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1
+6x10-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1
+6x10-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-15
+6x10.pcf.gz -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso10646-1
+6x12-ISO8859-1.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-1
+6x12-ISO8859-15.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-15
+6x12.pcf.gz -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso10646-1
+6x9-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-1
+6x9-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-15
+6x9.pcf.gz -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso10646-1
+7x13-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
+7x13-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-15
+7x13.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso10646-1
+7x13B-ISO8859-1.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-1
+7x13B-ISO8859-15.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-15
+7x13B.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso10646-1
+7x13O-ISO8859-1.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-1
+7x13O-ISO8859-15.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-15
+7x13O.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso10646-1
+7x14-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1
+7x14-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-15
+7x14.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
+7x14B-ISO8859-1.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-1
+7x14B-ISO8859-15.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-15
+7x14B.pcf.gz -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso10646-1
+8x13-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1
+8x13-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-15
+8x13.pcf.gz -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1
+8x13B-ISO8859-1.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-1
+8x13B-ISO8859-15.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-15
+8x13B.pcf.gz -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso10646-1
+8x13O-ISO8859-1.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-1
+8x13O-ISO8859-15.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-15
+8x13O.pcf.gz -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso10646-1
+9x15-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1
+9x15-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-15
+9x15.pcf.gz -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1
+9x15B-ISO8859-1.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1
+9x15B-ISO8859-15.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-15
+9x15B.pcf.gz -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1
+9x18-ISO8859-1.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-1
+9x18-ISO8859-15.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-15
+9x18.pcf.gz -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
+9x18B-ISO8859-1.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-1
+9x18B-ISO8859-15.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-15
+9x18B.pcf.gz -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso10646-1
+k14.pcf.gz -misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0
+nil2.pcf.gz -misc-nil-medium-r-normal--2-20-75-75-c-10-misc-fontspecific
diff --git a/XOrg/font/font-xfree86-type1/Makefile b/XOrg/font/font-xfree86-type1/Makefile
new file mode 100644 (file)
index 0000000..d8fb30c
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=font
+PKG_NAME:=font-xfree86-type1
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.0
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/font-xfree86-type1
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:= +xorg-server +font-util @TARGET_x86
+  TITLE:=font-xfree86-type1
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.font-xfree86-type1
+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/font-xfree86-type1/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/font-xfree86-type1/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.font-xfree86-type1`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (font-xfree86-type1,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,font-xfree86-type1))
+
diff --git a/XOrg/font/packages b/XOrg/font/packages
new file mode 100644 (file)
index 0000000..87b66b5
--- /dev/null
@@ -0,0 +1,12 @@
+encodings-X11R7.2-1.0.2|
+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..7eed063
--- /dev/null
@@ -0,0 +1,92 @@
+# 
+# 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_BASE_NAME:=@BASE_NAME@
+PKG_NAME:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_BUILD_DIR=$(BUILD_DIR)/Xorg/$(_CATEGORY)/${PKG_NAME}-$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/font
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/@NAME@
+  SECTION:=xorg-font
+  CATEGORY:=Xorg
+  SUBMENU:=font
+  DEPENDS:=@DEP@ +xorg-server +font-util @TARGET_x86
+  TITLE:=@NAME@
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+CONFIGURE_ARGS_XTRA+=--disable-iso8859-2 --disable-iso8859-3 --disable-iso8859-4  --disable-iso8859-5 --disable-iso8859-7 --disable-iso8859-8 --disable-iso8859-9 --disable-iso8859-10 --disable-iso8859-11 --disable-iso8859-13 --disable-iso8859-14 --disable-iso8859-16 --disable-koi8-r --disable-jisx0201
+
+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
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       sed -i '1d' {} 
+       find $(PKG_INSTALL_DIR) -name fonts.dir | \
+               xargs -i -t \
+                       mv {} {}.@NAME@
+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/@NAME@/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+endef
+
+define Package/@NAME@/postinst
+#!/bin/sh
+
+FILE_NEW=`find $${IPKG_INSTROOT} -name fonts.dir.@NAME@`
+FILE_OLD=`dirname $${FILE_NEW}`/fonts.dir
+
+echo found $${FILE}
+
+if [ ! -z $${FILE_NEW} ]; then
+       if [ -f $${FILE_OLD} ]; then
+               sed -i "1d" $${FILE_OLD}
+               cat $${FILE_NEW} >> $${FILE_OLD}
+               rm -rf $${FILE_NEW}
+               mv $${FILE_OLD} $${FILE_OLD}.tmp
+       else
+               mv $${FILE_NEW} $${FILE_OLD}.tmp
+       fi
+       (echo `wc -l $${FILE_OLD}.tmp | awk '{print($$1)}'`; cat $${FILE_OLD}.tmp) > $${FILE_OLD}
+       rm $${FILE_OLD}.tmp
+fi
+endef
+
+ifeq (@NAME@,font-util)
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)/ 
+endef
+endif
+
+$(eval $(call BuildPackage,@NAME@))
+
diff --git a/XOrg/generate.sh b/XOrg/generate.sh
new file mode 100755 (executable)
index 0000000..814e28e
--- /dev/null
@@ -0,0 +1,24 @@
+#!/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%-X11*}
+               BASE_NAME=${NAME%%-*}
+               _VER=${_NAME##*-X}
+               VER=X${_VER%%|*}
+               DEP=`echo ${p##*|} | sed "s/+/ +/g"`
+               echo generating Makefile for ${NAME}-${VER} with deps : ${DEP}
+               rm -rf ${NAME} 
+               if [ "$1" == "gen" ]; then
+                       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
+               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/gtk-1.2.10/Makefile b/XOrg/lib/gtk-1.2.10/Makefile
new file mode 100644 (file)
index 0000000..0e3c436
--- /dev/null
@@ -0,0 +1,60 @@
+# 
+# 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:=gtk-1.2.10
+PKG_VERSION:=1.2.10
+PKG_RELEASE:=1
+
+PKG_SOURCE:=gtk+-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://gd.tuwien.ac.at/graphics/gimp/gtk/v1.2/
+PKG_BUILD_DIR=$(BUILD_DIR)/gtk+-1.2.10
+
+include $(INCLUDE_DIR)/package.mk
+
+CONFIGURE_ARGS_XTRA+=--x-includes=$(STAGING_DIR)/usr/include/ \
+               --x-libraries=$(STAGING_DIR)/usr/lib \
+               --with-glib-prefix=$(STAGING_DIR)/usr/ \
+               --enable-static=yes \
+               --enable-static=yes
+
+EXTRA_CFLAGS+=-Wl,-rpath-link=$(STAGING_DIR)/usr/lib
+
+EXTRA_LDFLAGS+=-lnotimpl
+
+define Package/gtk-1.2.10
+  SECTION:=xorg-framework
+  CATEGORY:=Xorg
+  SUBMENU:=framework
+  TITLE:=GTK+ 1.2.10 package
+  DEPENDS:=glib1
+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)/ install DESTDIR=$(PKG_INSTALL_DIR)
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)/
+endef
+
+$(eval $(call BuildPackage,gtk-1.2.10))
diff --git a/XOrg/lib/libICE/Makefile b/XOrg/lib/libICE/Makefile
new file mode 100644 (file)
index 0000000..ac3ff23
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libICE
+PKG_NAME:=libICE
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libICE
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +xproto +xtrans @TARGET_x86
+  TITLE:=libICE
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libICE,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libICE/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libICE/install
+       $(call Package/libICE/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libICE/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libICE))
diff --git a/XOrg/lib/libSM/Makefile b/XOrg/lib/libSM/Makefile
new file mode 100644 (file)
index 0000000..af9ee7a
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libSM
+PKG_NAME:=libSM
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libSM
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +libICE @TARGET_x86
+  TITLE:=libSM
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libSM,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libSM/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libSM/install
+       $(call Package/libSM/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libSM/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libSM))
diff --git a/XOrg/lib/libX11/Makefile b/XOrg/lib/libX11/Makefile
new file mode 100644 (file)
index 0000000..562951e
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libX11
+PKG_NAME:=libX11
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.1.1
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libX11
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +bigreqsproto +xproto +xextproto +libXau +xtrans +xcmiscproto +libXdmcp +xf86bigfontproto +kbproto +inputproto @TARGET_x86
+  TITLE:=libX11
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libX11,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libX11/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libX11/install
+       $(call Package/libX11/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libX11/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libX11))
diff --git a/XOrg/lib/libXau/Makefile b/XOrg/lib/libXau/Makefile
new file mode 100644 (file)
index 0000000..857c9d0
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXau
+PKG_NAME:=libXau
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXau
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +xproto @TARGET_x86
+  TITLE:=libXau
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXau,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXau/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXau/install
+       $(call Package/libXau/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXau/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXau))
diff --git a/XOrg/lib/libXaw/Makefile b/XOrg/lib/libXaw/Makefile
new file mode 100644 (file)
index 0000000..dbf982c
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXaw
+PKG_NAME:=libXaw
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.1-1.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXaw
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +libXmu +libXpm +libXau +libXdmcp @TARGET_x86
+  TITLE:=libXaw
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXaw,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXaw/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXaw/install
+       $(call Package/libXaw/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXaw/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXaw))
diff --git a/XOrg/lib/libXdmcp/Makefile b/XOrg/lib/libXdmcp/Makefile
new file mode 100644 (file)
index 0000000..d38da0e
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXdmcp
+PKG_NAME:=libXdmcp
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXdmcp
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +xproto @TARGET_x86
+  TITLE:=libXdmcp
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXdmcp,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXdmcp/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXdmcp/install
+       $(call Package/libXdmcp/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXdmcp/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXdmcp))
diff --git a/XOrg/lib/libXext/Makefile b/XOrg/lib/libXext/Makefile
new file mode 100644 (file)
index 0000000..ff2603b
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXext
+PKG_NAME:=libXext
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXext
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +xproto +xextproto +libXau +libX11 @TARGET_x86
+  TITLE:=libXext
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXext,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXext/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXext/install
+       $(call Package/libXext/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXext/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXext))
diff --git a/XOrg/lib/libXfont/Makefile b/XOrg/lib/libXfont/Makefile
new file mode 100644 (file)
index 0000000..735d4c6
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXfont
+PKG_NAME:=libXfont
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.2.7
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXfont
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +zlib +libfontenc +fontcacheproto +fontsproto +freetype @TARGET_x86
+  TITLE:=libXfont
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXfont,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXfont/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXfont/install
+       $(call Package/libXfont/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXfont/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXfont))
diff --git a/XOrg/lib/libXmu/Makefile b/XOrg/lib/libXmu/Makefile
new file mode 100644 (file)
index 0000000..13437be
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXmu
+PKG_NAME:=libXmu
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXmu
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  @TARGET_x86
+  TITLE:=libXmu
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXmu,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXmu/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXmu/install
+       $(call Package/libXmu/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXmu/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXmu))
diff --git a/XOrg/lib/libXpm/Makefile b/XOrg/lib/libXpm/Makefile
new file mode 100644 (file)
index 0000000..f1b695e
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXpm
+PKG_NAME:=libXpm
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-3.5.6
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXpm
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  @TARGET_x86
+  TITLE:=libXpm
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXpm,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXpm/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXpm/install
+       $(call Package/libXpm/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXpm/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXpm))
diff --git a/XOrg/lib/libXpm/patches/100-ld.patch b/XOrg/lib/libXpm/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/Makefile b/XOrg/lib/libXrandr/Makefile
new file mode 100644 (file)
index 0000000..a01de5a
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXrandr
+PKG_NAME:=libXrandr
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.1.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXrandr
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +libXext +libXrender +randrproto +renderproto +xextproto +libX11 @TARGET_x86
+  TITLE:=libXrandr
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXrandr,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXrandr/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXrandr/install
+       $(call Package/libXrandr/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXrandr/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXrandr))
diff --git a/XOrg/lib/libXrender/Makefile b/XOrg/lib/libXrender/Makefile
new file mode 100644 (file)
index 0000000..2faa738
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXrender
+PKG_NAME:=libXrender
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-0.9.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXrender
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +freetype +zlib +xproto +libfontenc +xtrans +fontsproto +renderproto @TARGET_x86
+  TITLE:=libXrender
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXrender,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXrender/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXrender/install
+       $(call Package/libXrender/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXrender/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXrender))
diff --git a/XOrg/lib/libXt/Makefile b/XOrg/lib/libXt/Makefile
new file mode 100644 (file)
index 0000000..021fb0e
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXt
+PKG_NAME:=libXt
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.4
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXt
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +libSM @TARGET_x86
+  TITLE:=libXt
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXt,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXt/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXt/install
+       $(call Package/libXt/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXt/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXt))
diff --git a/XOrg/lib/libXv/Makefile b/XOrg/lib/libXv/Makefile
new file mode 100644 (file)
index 0000000..beeb9ad
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXv
+PKG_NAME:=libXv
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXv
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +libXext +videoproto @TARGET_x86
+  TITLE:=libXv
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXv,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXv/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXv/install
+       $(call Package/libXv/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXv/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXv))
diff --git a/XOrg/lib/libXvMC/Makefile b/XOrg/lib/libXvMC/Makefile
new file mode 100644 (file)
index 0000000..70ab572
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXvMC
+PKG_NAME:=libXvMC
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.4
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXvMC
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +libXext +videoproto +libXv @TARGET_x86
+  TITLE:=libXvMC
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXvMC,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXvMC/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXvMC/install
+       $(call Package/libXvMC/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXvMC/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXvMC))
diff --git a/XOrg/lib/libXxf86misc/Makefile b/XOrg/lib/libXxf86misc/Makefile
new file mode 100644 (file)
index 0000000..63d226b
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXxf86misc
+PKG_NAME:=libXxf86misc
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.1-1.0.1
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXxf86misc
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  @TARGET_x86
+  TITLE:=libXxf86misc
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXxf86misc,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXxf86misc/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXxf86misc/install
+       $(call Package/libXxf86misc/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXxf86misc/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXxf86misc))
diff --git a/XOrg/lib/libXxf86vm/Makefile b/XOrg/lib/libXxf86vm/Makefile
new file mode 100644 (file)
index 0000000..a84119f
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libXxf86vm
+PKG_NAME:=libXxf86vm
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.1-1.0.1
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libXxf86vm
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  @TARGET_x86
+  TITLE:=libXxf86vm
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libXxf86vm,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libXxf86vm/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libXxf86vm/install
+       $(call Package/libXxf86vm/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libXxf86vm/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libXxf86vm))
diff --git a/XOrg/lib/libfontenc/Makefile b/XOrg/lib/libfontenc/Makefile
new file mode 100644 (file)
index 0000000..c8f8606
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libfontenc
+PKG_NAME:=libfontenc
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.4
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libfontenc
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  +xproto +zlib @TARGET_x86
+  TITLE:=libfontenc
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libfontenc,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libfontenc/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libfontenc/install
+       $(call Package/libfontenc/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libfontenc/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libfontenc))
diff --git a/XOrg/lib/libxkbfile/Makefile b/XOrg/lib/libxkbfile/Makefile
new file mode 100644 (file)
index 0000000..4f55ad6
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libxkbfile
+PKG_NAME:=libxkbfile
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.4
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libxkbfile
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  @TARGET_x86
+  TITLE:=libxkbfile
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libxkbfile,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libxkbfile/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libxkbfile/install
+       $(call Package/libxkbfile/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libxkbfile/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libxkbfile))
diff --git a/XOrg/lib/libxkbui/Makefile b/XOrg/lib/libxkbui/Makefile
new file mode 100644 (file)
index 0000000..13cae9a
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=libxkbui
+PKG_NAME:=libxkbui
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.1-1.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/libxkbui
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  @TARGET_x86
+  TITLE:=libxkbui
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (libxkbui,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/libxkbui/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/libxkbui/install
+       $(call Package/libxkbui/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/libxkbui/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,libxkbui))
diff --git a/XOrg/lib/packages b/XOrg/lib/packages
new file mode 100644 (file)
index 0000000..9974c54
--- /dev/null
@@ -0,0 +1,21 @@
+libXau-X11R7.2-1.0.3|+xproto
+xtrans-X11R7.2-1.0.3|
+libXdmcp-X11R7.2-1.0.2|+xproto
+libX11-X11R7.2-1.1.1|+bigreqsproto+xproto+xextproto+libXau+xtrans+xcmiscproto+libXdmcp+xf86bigfontproto+kbproto+inputproto
+libfontenc-X11R7.2-1.0.4|+xproto+zlib
+libXfont-X11R7.2-1.2.7|+zlib+libfontenc+fontcacheproto+fontsproto+freetype
+libXrender-X11R7.2-0.9.2|+freetype+zlib+xproto+libfontenc+xtrans+fontsproto+renderproto
+libXrandr-X11R7.2-1.1.2|+libXext+libXrender+randrproto+renderproto+xextproto+libX11
+libXext-X11R7.2-1.0.2|+xproto+xextproto+libXau+libX11
+libxkbfile-X11R7.2-1.0.4|
+libXt-X11R7.2-1.0.4|+libSM
+libSM-X11R7.2-1.0.2|+libICE
+libICE-X11R7.2-1.0.3|+xproto+xtrans
+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+libXpm+libXau+libXdmcp
+libXmu-X11R7.2-1.0.3|
+libXpm-X11R7.2-3.5.6|
+libXvMC-X11R7.2-1.0.4|+libXext+videoproto+libXv
+libXv-X11R7.2-1.0.3|+libXext+videoproto
diff --git a/XOrg/lib/patches/libXpm/100-ld.patch b/XOrg/lib/patches/libXpm/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/fix-missing-includepath.patch b/XOrg/lib/patches/xtrans/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..86b449b
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=@BASE_NAME@
+PKG_NAME:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/@NAME@
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros @DEP@ @TARGET_x86
+  TITLE:=@NAME@
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (@NAME@,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/@NAME@/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/@NAME@/install
+       $(call Package/@NAME@/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/@NAME@/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,@NAME@))
diff --git a/XOrg/lib/xtrans/Makefile b/XOrg/lib/xtrans/Makefile
new file mode 100644 (file)
index 0000000..e80c504
--- /dev/null
@@ -0,0 +1,86 @@
+# 
+# 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_BASE_NAME:=xtrans
+PKG_NAME:=xtrans
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/lib/
+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/xtrans
+  SECTION:=xorg-libraries
+  CATEGORY:=Xorg
+  SUBMENU:=libraries
+  DEPENDS:=+xorg-headers-native +util-macros  @TARGET_x86
+  TITLE:=xtrans
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+ifeq (xtrans,libX11)
+ CONFIGURE_ARGS_XTRA=--without-xcb
+endif
+
+define libX11/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/src/util CFLAGS="" LDFLAGS="" CC="cc" makekeys 
+endef
+
+define libXt/Compile
+       $(MAKE_VARS) \
+               $(MAKE) -C $(PKG_BUILD_DIR)/util CFLAGS="" LDFLAGS="" CC="cc" 
+endef
+
+define Build/Compile
+       $(call $(PKG_NAME)/Compile)
+       make -C $(PKG_BUILD_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+       find $(PKG_INSTALL_DIR) -name *.la | xargs rm -rf
+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 Package/xtrans/install/Default
+       $(INSTALL_DIR) $(1)/usr/lib
+       find $(PKG_INSTALL_DIR)/usr/lib/ -name lib*so* | $(XARGS) -i -t cp -P {} $(1)/usr/lib 
+endef
+
+define Package/xtrans/install
+       $(call Package/xtrans/install/Default,$(1))
+endef
+
+define Package/libXaw/install
+       $(call Package/xtrans/install/Default,$(1))
+       cd $(1)/usr/lib; rm -f libXaw.so.7 libXaw.so.6; ln -s libXaw7.so.7.0.0 libXaw.so.7; ln -s libXaw6.so.6.0.1 libXaw.so.6
+endef
+
+define Build/InstallDev
+       $(CP) $(PKG_INSTALL_DIR)/* $(STAGING_DIR)
+endef
+
+$(eval $(call BuildPackage,xtrans))
diff --git a/XOrg/lib/xtrans/patches/fix-missing-includepath.patch b/XOrg/lib/xtrans/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-essentials/Makefile b/XOrg/meta/xorg-server-essentials/Makefile
new file mode 100644 (file)
index 0000000..219ded7
--- /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-essentials
+PKG_RELEASE:=1
+PKG_VERSION:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xorg-server-essentials
+  SECTION:=xorg-meta
+  CATEGORY:=Xorg
+  TITLE:=Xorg server essentials 
+  URL:=http://xorg.freedesktop.org/
+  DEPENDS:=+xorg-server \
+               +font-alias \
+               +font-base \
+               +font-cursor-misc \
+               +xf86-input-mouse \
+               +xf86-video-vesa \
+               +xf86-video-vga \
+               +xf86-input-evdev \
+               +xf86-input-keyboard \
+               +xinit \
+               @TARGET_x86
+endef
+
+define Build/Configure
+       echo 
+endef
+
+define Build/Compile
+       echo 
+endef
+
+define Package/xorg-server-essentials/install
+       $(INSTALL_DIR) $(1)/root
+       $(CP) files/xinitrc $(1)/root/.xinitrc
+endef
+
+$(eval $(call BuildPackage,xorg-server-essentials))
diff --git a/XOrg/meta/xorg-server-essentials/files/xinitrc b/XOrg/meta/xorg-server-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..cb96bc2
--- /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)/usr/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..c1279fb
--- /dev/null
@@ -0,0 +1,50 @@
+# 
+# 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/applewmproto/Makefile b/XOrg/proto/applewmproto/Makefile
new file mode 100644 (file)
index 0000000..e9552f1
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=applewmproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/applewmproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=applewmproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,applewmproto))
diff --git a/XOrg/proto/bigreqsproto/Makefile b/XOrg/proto/bigreqsproto/Makefile
new file mode 100644 (file)
index 0000000..b50993e
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=bigreqsproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/bigreqsproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=bigreqsproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,bigreqsproto))
diff --git a/XOrg/proto/calibrateproto/Makefile b/XOrg/proto/calibrateproto/Makefile
new file mode 100644 (file)
index 0000000..7952acd
--- /dev/null
@@ -0,0 +1,40 @@
+# 
+# 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:=calibrateproto
+PKG_RELEASE:=1
+PKG_VERSION:=git
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/calibrateproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:=@TARGET_x86
+  TITLE:=calibrateproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/Prepare
+$(call Build/Prepare/Default)
+       $(CP) src/* $(PKG_BUILD_DIR)
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/$(SUBPACKAGE)  $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       echo
+endef
+
+$(eval $(call BuildPackage,calibrateproto))
diff --git a/XOrg/proto/calibrateproto/src/ChangeLog b/XOrg/proto/calibrateproto/src/ChangeLog
new file mode 100644 (file)
index 0000000..b36632c
--- /dev/null
@@ -0,0 +1,5 @@
+2004-10-21  Daniel Stone  <daniel@freedesktop.org>
+
+       * configure.ac:
+       * xcalibratewire.h:
+       Bump version to 0.1.
diff --git a/XOrg/proto/calibrateproto/src/Makefile b/XOrg/proto/calibrateproto/src/Makefile
new file mode 100644 (file)
index 0000000..35611b3
--- /dev/null
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+#
+# 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.
+#
+
+
+
+pkgdatadir = $(datadir)/xcalibrateproto
+pkglibdir = $(libdir)/xcalibrateproto
+pkgincludedir = $(includedir)/xcalibrateproto
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = $(XCalibrateinclude_HEADERS) $(am__configure_deps) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(srcdir)/xcalibrateproto.pc.in $(top_srcdir)/configure \
+       ChangeLog install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = xcalibrateproto.pc
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)" \
+       "$(DESTDIR)$(XCalibrateincludedir)"
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgconfig_DATA)
+XCalibrateincludeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(XCalibrateinclude_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = ${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run aclocal-1.10
+AMTAR = ${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run tar
+AUTOCONF = ${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run autoconf
+AUTOHEADER = ${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run autoheader
+AUTOMAKE = ${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run automake-1.10
+AWK = gawk
+CYGPATH_W = echo
+DEFS = -DPACKAGE_NAME=\"xcalibrateproto\" -DPACKAGE_TARNAME=\"xcalibrateproto\" -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"xcalibrateproto\ 0.1.0\" -DPACKAGE_BUGREPORT=\"pb@nexus.co.uk\" -DPACKAGE=\"xcalibrateproto\" -DVERSION=\"0.1.0\"
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LIBOBJS = 
+LIBS = 
+LTLIBOBJS = 
+MAKEINFO = ${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run makeinfo
+MKDIR_P = /bin/mkdir -p
+PACKAGE = xcalibrateproto
+PACKAGE_BUGREPORT = pb@nexus.co.uk
+PACKAGE_NAME = xcalibrateproto
+PACKAGE_STRING = xcalibrateproto 0.1.0
+PACKAGE_TARNAME = xcalibrateproto
+PACKAGE_VERSION = 0.1.0
+PATH_SEPARATOR = :
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = 
+VERSION = 0.1.0
+abs_builddir = /var/src/owrt-X/build_dir/i386/calibrateproto-git
+abs_srcdir = /var/src/owrt-X/build_dir/i386/calibrateproto-git
+abs_top_builddir = /var/src/owrt-X/build_dir/i386/calibrateproto-git
+abs_top_srcdir = /var/src/owrt-X/build_dir/i386/calibrateproto-git
+am__leading_dot = .
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build_alias = 
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host_alias = 
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = $(SHELL) /var/src/owrt-X/build_dir/i386/calibrateproto-git/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = /bin/mkdir -p
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_builddir = .
+top_srcdir = .
+XCalibrateincludedir = $(includedir)/X11/extensions
+XCalibrateinclude_HEADERS = xcalibrateproto.h xcalibratewire.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xcalibrateproto.pc
+EXTRA_DIST = autogen.sh xcalibrateproto.pc.in
+all: all-am
+
+.SUFFIXES:
+am--refresh:
+       @:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+             cd $(srcdir) && $(AUTOMAKE) --foreign  \
+               && exit 0; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
+       cd $(top_srcdir) && \
+         $(AUTOMAKE) --foreign  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           echo ' $(SHELL) ./config.status'; \
+           $(SHELL) ./config.status;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+xcalibrateproto.pc: $(top_builddir)/config.status $(srcdir)/xcalibrateproto.pc.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
+install-pkgconfigDATA: $(pkgconfig_DATA)
+       @$(NORMAL_INSTALL)
+       test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+       @list='$(pkgconfig_DATA)'; for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         f=$(am__strip_dir) \
+         echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+         $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+       done
+
+uninstall-pkgconfigDATA:
+       @$(NORMAL_UNINSTALL)
+       @list='$(pkgconfig_DATA)'; for p in $$list; do \
+         f=$(am__strip_dir) \
+         echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+         rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+       done
+install-XCalibrateincludeHEADERS: $(XCalibrateinclude_HEADERS)
+       @$(NORMAL_INSTALL)
+       test -z "$(XCalibrateincludedir)" || $(MKDIR_P) "$(DESTDIR)$(XCalibrateincludedir)"
+       @list='$(XCalibrateinclude_HEADERS)'; for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         f=$(am__strip_dir) \
+         echo " $(XCalibrateincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(XCalibrateincludedir)/$$f'"; \
+         $(XCalibrateincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(XCalibrateincludedir)/$$f"; \
+       done
+
+uninstall-XCalibrateincludeHEADERS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(XCalibrateinclude_HEADERS)'; for p in $$list; do \
+         f=$(am__strip_dir) \
+         echo " rm -f '$(DESTDIR)$(XCalibrateincludedir)/$$f'"; \
+         rm -f "$(DESTDIR)$(XCalibrateincludedir)/$$f"; \
+       done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+           $$tags $$unique; \
+       fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(CTAGS_ARGS)$$tags$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$tags $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && cd $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+       $(am__remove_distdir)
+       test -d $(distdir) || mkdir $(distdir)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+         else \
+           test -f $(distdir)/$$file \
+           || cp -p $$d/$$file $(distdir)/$$file \
+           || exit 1; \
+         fi; \
+       done
+       -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+       || chmod -R a+r $(distdir)
+dist-gzip: distdir
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       $(am__remove_distdir)
+dist-bzip2: distdir
+       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
+
+dist-tarZ: distdir
+       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+       $(am__remove_distdir)
+
+dist-shar: distdir
+       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+       $(am__remove_distdir)
+
+dist-zip: distdir
+       -rm -f $(distdir).zip
+       zip -rq $(distdir).zip $(distdir)
+       $(am__remove_distdir)
+
+dist dist-all: distdir
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+       case '$(DIST_ARCHIVES)' in \
+       *.tar.gz*) \
+         GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+       *.tar.bz2*) \
+         bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+       *.tar.Z*) \
+         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+       *.shar.gz*) \
+         GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+       *.zip*) \
+         unzip $(distdir).zip ;;\
+       esac
+       chmod -R a-w $(distdir); chmod a+w $(distdir)
+       mkdir $(distdir)/_build
+       mkdir $(distdir)/_inst
+       chmod a-w $(distdir)
+       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+         && cd $(distdir)/_build \
+         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+           $(DISTCHECK_CONFIGURE_FLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) dvi \
+         && $(MAKE) $(AM_MAKEFLAGS) check \
+         && $(MAKE) $(AM_MAKEFLAGS) install \
+         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+               distuninstallcheck \
+         && chmod -R a-w "$$dc_install_base" \
+         && ({ \
+              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+             } || { rm -rf "$$dc_destdir"; exit 1; }) \
+         && rm -rf "$$dc_destdir" \
+         && $(MAKE) $(AM_MAKEFLAGS) dist \
+         && rm -rf $(DIST_ARCHIVES) \
+         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+       $(am__remove_distdir)
+       @(echo "$(distdir) archives ready for distribution: "; \
+         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+       @cd $(distuninstallcheck_dir) \
+       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+          || { echo "ERROR: files left after uninstall:" ; \
+               if test -n "$(DESTDIR)"; then \
+                 echo "  (check DESTDIR support)"; \
+               fi ; \
+               $(distuninstallcheck_listfiles) ; \
+               exit 1; } >&2
+distcleancheck: distclean
+       @if test '$(srcdir)' = . ; then \
+         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+         exit 1 ; \
+       fi
+       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+         || { echo "ERROR: files left in build directory after distclean:" ; \
+              $(distcleancheck_listfiles) ; \
+              exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA) $(HEADERS)
+installdirs:
+       for dir in "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(XCalibrateincludedir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-XCalibrateincludeHEADERS \
+       install-pkgconfigDATA
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -rf $(top_srcdir)/autom4te.cache
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-XCalibrateincludeHEADERS \
+       uninstall-pkgconfigDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+       clean-generic ctags dist dist-all dist-bzip2 dist-gzip \
+       dist-shar dist-tarZ dist-zip distcheck distclean \
+       distclean-generic distclean-tags distcleancheck distdir \
+       distuninstallcheck dvi dvi-am html html-am info info-am \
+       install install-XCalibrateincludeHEADERS install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+       uninstall-XCalibrateincludeHEADERS uninstall-am \
+       uninstall-pkgconfigDATA
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/XOrg/proto/calibrateproto/src/Makefile.am b/XOrg/proto/calibrateproto/src/Makefile.am
new file mode 100644 (file)
index 0000000..87bcd58
--- /dev/null
@@ -0,0 +1,29 @@
+#
+# 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.
+#
+
+XCalibrateincludedir = $(includedir)/X11/extensions
+XCalibrateinclude_HEADERS = xcalibrateproto.h xcalibratewire.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xcalibrateproto.pc
+
+EXTRA_DIST = autogen.sh xcalibrateproto.pc.in
diff --git a/XOrg/proto/calibrateproto/src/Makefile.in b/XOrg/proto/calibrateproto/src/Makefile.in
new file mode 100644 (file)
index 0000000..73a01dc
--- /dev/null
@@ -0,0 +1,527 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# 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.
+#
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = $(XCalibrateinclude_HEADERS) $(am__configure_deps) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(srcdir)/xcalibrateproto.pc.in $(top_srcdir)/configure \
+       ChangeLog install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = xcalibrateproto.pc
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)" \
+       "$(DESTDIR)$(XCalibrateincludedir)"
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgconfig_DATA)
+XCalibrateincludeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(XCalibrateinclude_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+XCalibrateincludedir = $(includedir)/X11/extensions
+XCalibrateinclude_HEADERS = xcalibrateproto.h xcalibratewire.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xcalibrateproto.pc
+EXTRA_DIST = autogen.sh xcalibrateproto.pc.in
+all: all-am
+
+.SUFFIXES:
+am--refresh:
+       @:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+             cd $(srcdir) && $(AUTOMAKE) --foreign  \
+               && exit 0; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
+       cd $(top_srcdir) && \
+         $(AUTOMAKE) --foreign  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           echo ' $(SHELL) ./config.status'; \
+           $(SHELL) ./config.status;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+xcalibrateproto.pc: $(top_builddir)/config.status $(srcdir)/xcalibrateproto.pc.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
+install-pkgconfigDATA: $(pkgconfig_DATA)
+       @$(NORMAL_INSTALL)
+       test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+       @list='$(pkgconfig_DATA)'; for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         f=$(am__strip_dir) \
+         echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+         $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+       done
+
+uninstall-pkgconfigDATA:
+       @$(NORMAL_UNINSTALL)
+       @list='$(pkgconfig_DATA)'; for p in $$list; do \
+         f=$(am__strip_dir) \
+         echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+         rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+       done
+install-XCalibrateincludeHEADERS: $(XCalibrateinclude_HEADERS)
+       @$(NORMAL_INSTALL)
+       test -z "$(XCalibrateincludedir)" || $(MKDIR_P) "$(DESTDIR)$(XCalibrateincludedir)"
+       @list='$(XCalibrateinclude_HEADERS)'; for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         f=$(am__strip_dir) \
+         echo " $(XCalibrateincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(XCalibrateincludedir)/$$f'"; \
+         $(XCalibrateincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(XCalibrateincludedir)/$$f"; \
+       done
+
+uninstall-XCalibrateincludeHEADERS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(XCalibrateinclude_HEADERS)'; for p in $$list; do \
+         f=$(am__strip_dir) \
+         echo " rm -f '$(DESTDIR)$(XCalibrateincludedir)/$$f'"; \
+         rm -f "$(DESTDIR)$(XCalibrateincludedir)/$$f"; \
+       done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+           $$tags $$unique; \
+       fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(CTAGS_ARGS)$$tags$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$tags $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && cd $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+       $(am__remove_distdir)
+       test -d $(distdir) || mkdir $(distdir)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+         else \
+           test -f $(distdir)/$$file \
+           || cp -p $$d/$$file $(distdir)/$$file \
+           || exit 1; \
+         fi; \
+       done
+       -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+       || chmod -R a+r $(distdir)
+dist-gzip: distdir
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       $(am__remove_distdir)
+dist-bzip2: distdir
+       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
+
+dist-tarZ: distdir
+       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+       $(am__remove_distdir)
+
+dist-shar: distdir
+       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+       $(am__remove_distdir)
+
+dist-zip: distdir
+       -rm -f $(distdir).zip
+       zip -rq $(distdir).zip $(distdir)
+       $(am__remove_distdir)
+
+dist dist-all: distdir
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+       case '$(DIST_ARCHIVES)' in \
+       *.tar.gz*) \
+         GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+       *.tar.bz2*) \
+         bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+       *.tar.Z*) \
+         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+       *.shar.gz*) \
+         GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+       *.zip*) \
+         unzip $(distdir).zip ;;\
+       esac
+       chmod -R a-w $(distdir); chmod a+w $(distdir)
+       mkdir $(distdir)/_build
+       mkdir $(distdir)/_inst
+       chmod a-w $(distdir)
+       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+         && cd $(distdir)/_build \
+         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+           $(DISTCHECK_CONFIGURE_FLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) dvi \
+         && $(MAKE) $(AM_MAKEFLAGS) check \
+         && $(MAKE) $(AM_MAKEFLAGS) install \
+         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+               distuninstallcheck \
+         && chmod -R a-w "$$dc_install_base" \
+         && ({ \
+              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+             } || { rm -rf "$$dc_destdir"; exit 1; }) \
+         && rm -rf "$$dc_destdir" \
+         && $(MAKE) $(AM_MAKEFLAGS) dist \
+         && rm -rf $(DIST_ARCHIVES) \
+         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+       $(am__remove_distdir)
+       @(echo "$(distdir) archives ready for distribution: "; \
+         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+       @cd $(distuninstallcheck_dir) \
+       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+          || { echo "ERROR: files left after uninstall:" ; \
+               if test -n "$(DESTDIR)"; then \
+                 echo "  (check DESTDIR support)"; \
+               fi ; \
+               $(distuninstallcheck_listfiles) ; \
+               exit 1; } >&2
+distcleancheck: distclean
+       @if test '$(srcdir)' = . ; then \
+         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+         exit 1 ; \
+       fi
+       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+         || { echo "ERROR: files left in build directory after distclean:" ; \
+              $(distcleancheck_listfiles) ; \
+              exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA) $(HEADERS)
+installdirs:
+       for dir in "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(XCalibrateincludedir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-XCalibrateincludeHEADERS \
+       install-pkgconfigDATA
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -rf $(top_srcdir)/autom4te.cache
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-XCalibrateincludeHEADERS \
+       uninstall-pkgconfigDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+       clean-generic ctags dist dist-all dist-bzip2 dist-gzip \
+       dist-shar dist-tarZ dist-zip distcheck distclean \
+       distclean-generic distclean-tags distcleancheck distdir \
+       distuninstallcheck dvi dvi-am html html-am info info-am \
+       install install-XCalibrateincludeHEADERS install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+       uninstall-XCalibrateincludeHEADERS uninstall-am \
+       uninstall-pkgconfigDATA
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/XOrg/proto/calibrateproto/src/aclocal.m4 b/XOrg/proto/calibrateproto/src/aclocal.m4
new file mode 100644 (file)
index 0000000..2981344
--- /dev/null
@@ -0,0 +1,548 @@
+# generated automatically by aclocal 1.10 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_if(m4_PACKAGE_VERSION, [2.61],,
+[m4_fatal([this file was generated for autoconf 2.61.
+You have another version of autoconf.  If you want to use that,
+you should regenerate the build system entirely.], [63])])
+
+# Copyright (C) 2002, 2003, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.10], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.10])dnl
+_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+                            [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+                  [_AM_DEPENDENCIES(OBJC)],
+                  [define([AC_PROG_OBJC],
+                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
diff --git a/XOrg/proto/calibrateproto/src/autogen.sh b/XOrg/proto/calibrateproto/src/autogen.sh
new file mode 100755 (executable)
index 0000000..904cd67
--- /dev/null
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/XOrg/proto/calibrateproto/src/config.log b/XOrg/proto/calibrateproto/src/config.log
new file mode 100644 (file)
index 0000000..3b696e2
--- /dev/null
@@ -0,0 +1,165 @@
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by xcalibrateproto configure 0.1.0, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  $ ./configure --enable-maintainer-mode
+
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = blap
+uname -m = i686
+uname -r = 2.6.22.5
+uname -s = Linux
+uname -v = #12 Fri Aug 31 21:30:17 CEST 2007
+
+/usr/bin/uname -p = unknown
+/bin/uname -X     = unknown
+
+/bin/arch              = i686
+/usr/bin/arch -k       = unknown
+/usr/convex/getsysinfo = unknown
+/usr/bin/hostinfo      = unknown
+/bin/machine           = unknown
+/usr/bin/oslevel       = unknown
+/bin/universe          = unknown
+
+PATH: /usr/local/bin
+PATH: /usr/bin
+PATH: /bin
+PATH: /usr/bin/X11
+PATH: /usr/games
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+configure:1692: checking for a BSD-compatible install
+configure:1748: result: /usr/bin/install -c
+configure:1759: checking whether build environment is sane
+configure:1802: result: yes
+configure:1830: checking for a thread-safe mkdir -p
+configure:1869: result: /bin/mkdir -p
+configure:1882: checking for gawk
+configure:1898: found /usr/bin/gawk
+configure:1909: result: gawk
+configure:1920: checking whether make sets $(MAKE)
+configure:1941: result: yes
+configure:2262: creating ./config.status
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by xcalibrateproto config.status 0.1.0, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  CONFIG_FILES    = 
+  CONFIG_HEADERS  = 
+  CONFIG_LINKS    = 
+  CONFIG_COMMANDS = 
+  $ ./config.status 
+
+on blap
+
+config.status:589: creating Makefile
+config.status:589: creating xcalibrateproto.pc
+
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+
+ac_cv_env_build_alias_set=
+ac_cv_env_build_alias_value=
+ac_cv_env_host_alias_set=
+ac_cv_env_host_alias_value=
+ac_cv_env_target_alias_set=
+ac_cv_env_target_alias_value=
+ac_cv_path_install='/usr/bin/install -c'
+ac_cv_path_mkdir=/bin/mkdir
+ac_cv_prog_AWK=gawk
+ac_cv_prog_make_make_set=yes
+
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+
+ACLOCAL='${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run aclocal-1.10'
+AMTAR='${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run tar'
+AUTOCONF='${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run autoconf'
+AUTOHEADER='${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run autoheader'
+AUTOMAKE='${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run automake-1.10'
+AWK='gawk'
+CYGPATH_W='echo'
+DEFS='-DPACKAGE_NAME=\"xcalibrateproto\" -DPACKAGE_TARNAME=\"xcalibrateproto\" -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"xcalibrateproto\ 0.1.0\" -DPACKAGE_BUGREPORT=\"pb@nexus.co.uk\" -DPACKAGE=\"xcalibrateproto\" -DVERSION=\"0.1.0\"'
+ECHO_C=''
+ECHO_N='-n'
+ECHO_T=''
+INSTALL_DATA='${INSTALL} -m 644'
+INSTALL_PROGRAM='${INSTALL}'
+INSTALL_SCRIPT='${INSTALL}'
+INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
+LIBOBJS=''
+LIBS=''
+LTLIBOBJS=''
+MAKEINFO='${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run makeinfo'
+PACKAGE='xcalibrateproto'
+PACKAGE_BUGREPORT='pb@nexus.co.uk'
+PACKAGE_NAME='xcalibrateproto'
+PACKAGE_STRING='xcalibrateproto 0.1.0'
+PACKAGE_TARNAME='xcalibrateproto'
+PACKAGE_VERSION='0.1.0'
+PATH_SEPARATOR=':'
+SET_MAKE=''
+SHELL='/bin/sh'
+STRIP=''
+VERSION='0.1.0'
+am__isrc=''
+am__leading_dot='.'
+am__tar='${AMTAR} chof - "$$tardir"'
+am__untar='${AMTAR} xf -'
+bindir='${exec_prefix}/bin'
+build_alias=''
+datadir='${datarootdir}'
+datarootdir='${prefix}/share'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+dvidir='${docdir}'
+exec_prefix='${prefix}'
+host_alias=''
+htmldir='${docdir}'
+includedir='${prefix}/include'
+infodir='${datarootdir}/info'
+install_sh='$(SHELL) /var/src/owrt-X/build_dir/i386/calibrateproto-git/install-sh'
+libdir='${exec_prefix}/lib'
+libexecdir='${exec_prefix}/libexec'
+localedir='${datarootdir}/locale'
+localstatedir='${prefix}/var'
+mandir='${datarootdir}/man'
+mkdir_p='/bin/mkdir -p'
+oldincludedir='/usr/include'
+pdfdir='${docdir}'
+prefix='/usr/local'
+program_transform_name='s,x,x,'
+psdir='${docdir}'
+sbindir='${exec_prefix}/sbin'
+sharedstatedir='${prefix}/com'
+sysconfdir='${prefix}/etc'
+target_alias=''
+
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+
+#define PACKAGE_NAME "xcalibrateproto"
+#define PACKAGE_TARNAME "xcalibrateproto"
+#define PACKAGE_VERSION "0.1.0"
+#define PACKAGE_STRING "xcalibrateproto 0.1.0"
+#define PACKAGE_BUGREPORT "pb@nexus.co.uk"
+#define PACKAGE "xcalibrateproto"
+#define VERSION "0.1.0"
+
+configure: exit 0
diff --git a/XOrg/proto/calibrateproto/src/config.status b/XOrg/proto/calibrateproto/src/config.status
new file mode 100755 (executable)
index 0000000..8d86324
--- /dev/null
@@ -0,0 +1,786 @@
+#! /bin/sh
+# Generated by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=${CONFIG_SHELL-/bin/sh}
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+    as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+       case $1 in
+        -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by xcalibrateproto $as_me 0.1.0, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+# Files that config.status was made for.
+config_files=" Makefile xcalibrateproto.pc"
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+                  instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+ac_cs_version="\
+xcalibrateproto config.status 0.1.0
+configured by ./configure, generated by GNU Autoconf 2.61,
+  with options \"'--enable-maintainer-mode'\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='/var/src/owrt-X/build_dir/i386/calibrateproto-git'
+srcdir='.'
+INSTALL='/usr/bin/install -c'
+MKDIR_P='/bin/mkdir -p'
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --he | --h |  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+if $ac_cs_recheck; then
+  echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure " '--enable-maintainer-mode' $ac_configure_extra_args " --no-create --no-recursion" >&6
+  CONFIG_SHELL=/bin/sh
+  export CONFIG_SHELL
+  exec /bin/sh "./configure" '--enable-maintainer-mode' $ac_configure_extra_args --no-create --no-recursion
+fi
+
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  echo "$ac_log"
+} >&5
+
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "xcalibrateproto.pc") CONFIG_FILES="$CONFIG_FILES xcalibrateproto.pc" ;;
+
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+cat >"$tmp/subs-1.sed" <<\CEOF
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+s,@SHELL@,|#_!!_#|/bin/sh,g
+s,@PATH_SEPARATOR@,|#_!!_#|:,g
+s,@PACKAGE_NAME@,|#_!!_#|xcalibrateproto,g
+s,@PACKAGE_TARNAME@,|#_!!_#|xcalibrateproto,g
+s,@PACKAGE_VERSION@,|#_!!_#|0.1.0,g
+s,@PACKAGE_STRING@,|#_!!_#|xcalibrateproto 0.1.0,g
+s,@PACKAGE_BUGREPORT@,|#_!!_#|pb@|#_!!_#|nexus.co.uk,g
+s,@exec_prefix@,|#_!!_#|${prefix},g
+s,@prefix@,|#_!!_#|/usr/local,g
+s,@program_transform_name@,|#_!!_#|s\,x\,x\,,g
+s,@bindir@,|#_!!_#|${exec_prefix}/bin,g
+s,@sbindir@,|#_!!_#|${exec_prefix}/sbin,g
+s,@libexecdir@,|#_!!_#|${exec_prefix}/libexec,g
+s,@datarootdir@,|#_!!_#|${prefix}/share,g
+s,@datadir@,|#_!!_#|${datarootdir},g
+s,@sysconfdir@,|#_!!_#|${prefix}/etc,g
+s,@sharedstatedir@,|#_!!_#|${prefix}/com,g
+s,@localstatedir@,|#_!!_#|${prefix}/var,g
+s,@includedir@,|#_!!_#|${prefix}/include,g
+s,@oldincludedir@,|#_!!_#|/usr/include,g
+s,@docdir@,|#_!!_#|${datarootdir}/doc/${PACKAGE_TARNAME},g
+s,@infodir@,|#_!!_#|${datarootdir}/info,g
+s,@htmldir@,|#_!!_#|${docdir},g
+s,@dvidir@,|#_!!_#|${docdir},g
+s,@pdfdir@,|#_!!_#|${docdir},g
+s,@psdir@,|#_!!_#|${docdir},g
+s,@libdir@,|#_!!_#|${exec_prefix}/lib,g
+s,@localedir@,|#_!!_#|${datarootdir}/locale,g
+s,@mandir@,|#_!!_#|${datarootdir}/man,g
+s,@DEFS@,|#_!!_#|-DPACKAGE_NAME=\\"xcalibrateproto\\" -DPACKAGE_TARNAME=\\"xcalibrateproto\\" -DPACKAGE_VERSION=\\"0.1.0\\" -DPACKAGE_STRING=\\"xcalibrateproto\\ 0.1.0\\" -DPACKAGE_BUGREPORT=\\"pb@|#_!!_#|nexus.co.uk\\" -DPACKAGE=\\"xcalibrateproto\\" -DVERSION=\\"0.1.0\\",g
+s,@ECHO_C@,|#_!!_#|,g
+s,@ECHO_N@,|#_!!_#|-n,g
+s,@ECHO_T@,|#_!!_#|,g
+s,@LIBS@,|#_!!_#|,g
+s,@build_alias@,|#_!!_#|,g
+s,@host_alias@,|#_!!_#|,g
+s,@target_alias@,|#_!!_#|,g
+s,@INSTALL_PROGRAM@,|#_!!_#|${INSTALL},g
+s,@INSTALL_SCRIPT@,|#_!!_#|${INSTALL},g
+s,@INSTALL_DATA@,|#_!!_#|${INSTALL} -m 644,g
+s,@am__isrc@,|#_!!_#|,g
+s,@CYGPATH_W@,|#_!!_#|echo,g
+s,@PACKAGE@,|#_!!_#|xcalibrateproto,g
+s,@VERSION@,|#_!!_#|0.1.0,g
+s,@ACLOCAL@,|#_!!_#|${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run aclocal-1.10,g
+s,@AUTOCONF@,|#_!!_#|${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run autoconf,g
+s,@AUTOMAKE@,|#_!!_#|${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run automake-1.10,g
+s,@AUTOHEADER@,|#_!!_#|${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run autoheader,g
+s,@MAKEINFO@,|#_!!_#|${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run makeinfo,g
+s,@install_sh@,|#_!!_#|$(SHELL) /var/src/owrt-X/build_dir/i386/calibrateproto-git/install-sh,g
+s,@STRIP@,|#_!!_#|,g
+s,@INSTALL_STRIP_PROGRAM@,|#_!!_#|$(install_sh) -c -s,g
+s,@mkdir_p@,|#_!!_#|/bin/mkdir -p,g
+s,@AWK@,|#_!!_#|gawk,g
+s,@SET_MAKE@,|#_!!_#|,g
+s,@am__leading_dot@,|#_!!_#|.,g
+s,@AMTAR@,|#_!!_#|${SHELL} /var/src/owrt-X/build_dir/i386/calibrateproto-git/missing --run tar,g
+s,@am__tar@,|#_!!_#|${AMTAR} chof - "$$tardir",g
+s,@am__untar@,|#_!!_#|${AMTAR} xf -,g
+s,@LIBOBJS@,|#_!!_#|,g
+s,@LTLIBOBJS@,|#_!!_#|,g
+:end
+s/|#_!!_#|//g
+CEOF
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in  :F $CONFIG_FILES
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+        # (if the path is not absolute).  The absolute path cannot be DOS-style,
+        # because $ac_f cannot contain `:'.
+        test -f "$ac_f" ||
+          case $ac_f in
+          [\\/$]*) false;;
+          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+          esac ||
+          { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      ac_file_inputs="$ac_file_inputs $ac_f"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input="Generated from "`IFS=:
+         echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    fi
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin";;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$ac_file" : 'X\(//\)[^/]' \| \
+        X"$ac_file" : 'X\(//\)$' \| \
+        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+   { (exit 1); exit 1; }; }; }
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+  ac_datarootdir_hack='
+  s&@datadir@&${datarootdir}&g
+  s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g
+  s&@infodir@&${datarootdir}/info&g
+  s&@localedir@&${datarootdir}/locale&g
+  s&@mandir@&${datarootdir}/man&g
+    s&\${datarootdir}&${prefix}/share&g' ;;
+esac
+  sed "/^[      ]*VPATH[        ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[    ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[      ]*$//
+}
+
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out"; rm -f "$tmp/out";;
+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+  esac
+ ;;
+
+
+
+  esac
+
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
diff --git a/XOrg/proto/calibrateproto/src/configure b/XOrg/proto/calibrateproto/src/configure
new file mode 100755 (executable)
index 0000000..d1f2c77
--- /dev/null
@@ -0,0 +1,3163 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.61 for xcalibrateproto 0.1.0.
+#
+# Report bugs to <pb@nexus.co.uk>.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+
+  if test $as_have_required = yes &&    (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  case $as_dir in
+        /*)
+          for as_base in sh bash ksh sh5; do
+            as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+          done;;
+       esac
+done
+IFS=$as_save_IFS
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+        # Try only shells that exist, to save several forks.
+        if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+               { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+              as_have_required=yes
+              if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+        done
+        export CONFIG_SHELL
+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell autoconf@gnu.org about your system,
+  echo including any error possibly output before this
+  echo message
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+    as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+       case $1 in
+        -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME='xcalibrateproto'
+PACKAGE_TARNAME='xcalibrateproto'
+PACKAGE_VERSION='0.1.0'
+PACKAGE_STRING='xcalibrateproto 0.1.0'
+PACKAGE_BUGREPORT='pb@nexus.co.uk'
+
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+am__isrc
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files=''
+      ac_precious_vars='build_alias
+host_alias
+target_alias'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)   ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute directory names.
+for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
+               datadir sysconfdir sharedstatedir localstatedir includedir \
+               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+               libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  { echo "$as_me: error: Working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$0" ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$0" : 'X\(//\)[^/]' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+       cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+   { (exit 1); exit 1; }; }
+       pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures xcalibrateproto 0.1.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                         [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                         [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR          info documentation [DATAROOTDIR/info]
+  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR           man documentation [DATAROOTDIR/man]
+  --docdir=DIR           documentation root [DATAROOTDIR/doc/xcalibrateproto]
+  --htmldir=DIR          html documentation [DOCDIR]
+  --dvidir=DIR           dvi documentation [DOCDIR]
+  --pdfdir=DIR           pdf documentation [DOCDIR]
+  --psdir=DIR            ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of xcalibrateproto 0.1.0:";;
+   esac
+  cat <<\_ACEOF
+
+Report bugs to <pb@nexus.co.uk>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" || continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+xcalibrateproto configure 0.1.0
+generated by GNU Autoconf 2.61
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by xcalibrateproto $as_me 0.1.0, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+       ac_must_keep_next=false # Got value, back to normal.
+      else
+       case $ac_arg in
+         *=* | --config-cache | -C | -disable-* | --disable-* \
+         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+         | -with-* | --with-* | -without-* | --without-* | --x)
+           case "$ac_configure_args0 " in
+             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+           esac
+           ;;
+         -* ) ac_must_keep_next=true ;;
+       esac
+      fi
+      ac_configure_args="$ac_configure_args '$ac_arg'"
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+       "s/'\''/'\''\\\\'\'''\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+       eval ac_val=\$$ac_var
+       case $ac_val in
+       *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+       esac
+       echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+  set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+  set x "$ac_default_prefix/share/config.site" \
+       "$ac_default_prefix/etc/config.site"
+fi
+shift
+for ac_site_file
+do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+       { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+       { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+       { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+       ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+am__api_version='1.10'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+         if test $ac_prog = install &&
+           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           :
+         elif test $ac_prog = install &&
+           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # program-specific install script used by HP pwplus--don't use.
+           :
+         else
+           ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+           break 3
+         fi
+       fi
+      done
+    done
+    ;;
+esac
+done
+IFS=$as_save_IFS
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.  echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm -f conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+if test -z "$MKDIR_P"; then
+  if test "${ac_cv_path_mkdir+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in mkdir gmkdir; do
+        for ac_exec_ext in '' $ac_executable_extensions; do
+          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+            'mkdir (GNU coreutils) '* | \
+            'mkdir (coreutils) '* | \
+            'mkdir (fileutils) '4.1*)
+              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+              break 3;;
+          esac
+        done
+       done
+done
+IFS=$as_save_IFS
+
+fi
+
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    test -d ./--version && rmdir ./--version
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+echo "${ECHO_T}$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AWK="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+       @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+  SET_MAKE=
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='xcalibrateproto'
+ VERSION='0.1.0'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+ac_config_files="$ac_config_files Makefile xcalibrateproto.pc"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+       "s/'/'\\\\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
+    cat confcache >$cache_file
+  else
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+t clear
+:clear
+s/^[    ]*#[    ]*define[       ][      ]*\([^  (][^    (]*([^)]*)\)[   ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[    ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[     `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+       g
+       s/^\n//
+       s/\n/ /g
+       p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+    as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+       case $1 in
+        -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by xcalibrateproto $as_me 0.1.0, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+# Files that config.status was made for.
+config_files="$ac_config_files"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+                  instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+xcalibrateproto config.status 0.1.0
+configured by $0, generated by GNU Autoconf 2.61,
+  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --he | --h |  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  CONFIG_SHELL=$SHELL
+  export CONFIG_SHELL
+  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "xcalibrateproto.pc") CONFIG_FILES="$CONFIG_FILES xcalibrateproto.pc" ;;
+
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+am__isrc!$am__isrc$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+AMTAR!$AMTAR$ac_delim
+am__tar!$am__tar$ac_delim
+am__untar!$am__untar$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 61; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[         ]*VPATH[        ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[    ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[      ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in  :F $CONFIG_FILES
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+        # (if the path is not absolute).  The absolute path cannot be DOS-style,
+        # because $ac_f cannot contain `:'.
+        test -f "$ac_f" ||
+          case $ac_f in
+          [\\/$]*) false;;
+          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+          esac ||
+          { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      ac_file_inputs="$ac_file_inputs $ac_f"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input="Generated from "`IFS=:
+         echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    fi
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin";;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$ac_file" : 'X\(//\)[^/]' \| \
+        X"$ac_file" : 'X\(//\)$' \| \
+        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+   { (exit 1); exit 1; }; }; }
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+    s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out"; rm -f "$tmp/out";;
+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+  esac
+ ;;
+
+
+
+  esac
+
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/XOrg/proto/calibrateproto/src/configure.ac b/XOrg/proto/calibrateproto/src/configure.ac
new file mode 100644 (file)
index 0000000..eb41072
--- /dev/null
@@ -0,0 +1,6 @@
+AC_PREREQ([2.59])
+AC_INIT([xcalibrateproto], [0.1.0], [pb@nexus.co.uk])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+
+AC_OUTPUT([Makefile
+           xcalibrateproto.pc])
diff --git a/XOrg/proto/calibrateproto/src/install-sh b/XOrg/proto/calibrateproto/src/install-sh
new file mode 100755 (executable)
index 0000000..4fbbae7
--- /dev/null
@@ -0,0 +1,507 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2006-10-14.15
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# 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 THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" ""       $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+if test -z "$doit"; then
+  doit_exec=exec
+else
+  doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+posix_glob=
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chmodcmd=$chmodprog
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+  case $1 in
+    -c) shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+        shift
+        shift
+       case $mode in
+         *' '* | *'    '* | *'
+'*       | *'*'* | *'?'* | *'['*)
+           echo "$0: invalid mode: $mode" >&2
+           exit 1;;
+       esac
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+       shift
+       shift
+       continue;;
+
+    -T) no_target_directory=true
+       shift
+       continue;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    --)        shift
+       break;;
+
+    -*)        echo "$0: invalid option: $1" >&2
+       exit 1;;
+
+    *)  break;;
+  esac
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dstarg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dstarg"
+      shift # fnord
+    fi
+    shift # arg
+    dstarg=$arg
+  done
+fi
+
+if test $# -eq 0; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+if test -z "$dir_arg"; then
+  trap '(exit $?); exit' 1 2 13 15
+
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+       u_plus_rw=
+      else
+       u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+       u_plus_rw=
+      else
+       u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+  else
+
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+       echo "$0: $dstarg: Is a directory" >&2
+       exit 1
+      fi
+      dstdir=$dst
+      dst=$dstdir/`basename "$src"`
+      dstdir_status=0
+    else
+      # Prefer dirname, but fall back on a substitute if dirname fails.
+      dstdir=`
+       (dirname "$dst") 2>/dev/null ||
+       expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+            X"$dst" : 'X\(//\)[^/]' \| \
+            X"$dst" : 'X\(//\)$' \| \
+            X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+       echo X"$dst" |
+           sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\/\)[^/].*/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\/\)$/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\).*/{
+                  s//\1/
+                  q
+                }
+                s/.*/./; q'
+      `
+
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
+
+  obsolete_mkdir_used=false
+
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+       # Create intermediate dirs using mode 755 as modified by the umask.
+       # This is like FreeBSD 'install' as of 1997-10-28.
+       umask=`umask`
+       case $stripcmd.$umask in
+         # Optimize common cases.
+         *[2367][2367]) mkdir_umask=$umask;;
+         .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+         *[0-7])
+           mkdir_umask=`expr $umask + 22 \
+             - $umask % 100 % 40 + $umask % 20 \
+             - $umask % 10 % 4 + $umask % 2
+           `;;
+         *) mkdir_umask=$umask,go-w;;
+       esac
+
+       # With -d, create the new directory with the user-specified mode.
+       # Otherwise, rely on $mkdir_umask.
+       if test -n "$dir_arg"; then
+         mkdir_mode=-m$mode
+       else
+         mkdir_mode=
+       fi
+
+       posix_mkdir=false
+       case $umask in
+         *[123567][0-7][0-7])
+           # POSIX mkdir -p sets u+wx bits regardless of umask, which
+           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+           ;;
+         *)
+           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+           trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+           if (umask $mkdir_umask &&
+               exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+           then
+             if test -z "$dir_arg" || {
+                  # Check for POSIX incompatibilities with -m.
+                  # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                  # other-writeable bit of parent directory when it shouldn't.
+                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                  ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                  case $ls_ld_tmpdir in
+                    d????-?r-*) different_mode=700;;
+                    d????-?--*) different_mode=755;;
+                    *) false;;
+                  esac &&
+                  $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                    ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                  }
+                }
+             then posix_mkdir=:
+             fi
+             rmdir "$tmpdir/d" "$tmpdir"
+           else
+             # Remove any dirs left behind by ancient mkdir implementations.
+             rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+           fi
+           trap '' 0;;
+       esac;;
+    esac
+
+    if
+      $posix_mkdir && (
+       umask $mkdir_umask &&
+       $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
+
+      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
+
+      case $dstdir in
+       /*) prefix=/ ;;
+       -*) prefix=./ ;;
+       *)  prefix= ;;
+      esac
+
+      case $posix_glob in
+        '')
+         if (set -f) 2>/dev/null; then
+           posix_glob=true
+         else
+           posix_glob=false
+         fi ;;
+      esac
+
+      oIFS=$IFS
+      IFS=/
+      $posix_glob && set -f
+      set fnord $dstdir
+      shift
+      $posix_glob && set +f
+      IFS=$oIFS
+
+      prefixes=
+
+      for d
+      do
+       test -z "$d" && continue
+
+       prefix=$prefix$d
+       if test -d "$prefix"; then
+         prefixes=
+       else
+         if $posix_mkdir; then
+           (umask=$mkdir_umask &&
+            $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+           # Don't fail if two instances are running concurrently.
+           test -d "$prefix" || exit 1
+         else
+           case $prefix in
+             *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+             *) qprefix=$prefix;;
+           esac
+           prefixes="$prefixes '$qprefix'"
+         fi
+       fi
+       prefix=$prefix/
+      done
+
+      if test -n "$prefixes"; then
+       # Don't fail if two instances are running concurrently.
+       (umask $mkdir_umask &&
+        eval "\$doit_exec \$mkdirprog $prefixes") ||
+         test -d "$dstdir" || exit 1
+       obsolete_mkdir_used=true
+      fi
+    fi
+  fi
+
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+    # Copy the file name to the temp name.
+    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
+      || {
+          # The rename failed, perhaps because mv can't rename something else
+          # to itself, or perhaps because mv is so ancient that it does not
+          # support -f.
+
+          # Now remove or move aside any old file at destination location.
+          # We try this two ways since rm can't unlink itself on some
+          # systems and the destination file might be busy for other
+          # reasons.  In this case, the final cleanup might fail but the new
+          # file should still install successfully.
+          {
+            if test -f "$dst"; then
+              $doit $rmcmd -f "$dst" 2>/dev/null \
+              || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
+                    && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
+              || {
+                echo "$0: cannot unlink or rename $dst" >&2
+                (exit 1); exit 1
+              }
+            else
+              :
+            fi
+          } &&
+
+          # Now rename the file to the real destination.
+          $doit $mvcmd "$dsttmp" "$dst"
+        }
+    } || exit 1
+
+    trap '' 0
+  fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/XOrg/proto/calibrateproto/src/missing b/XOrg/proto/calibrateproto/src/missing
new file mode 100755 (executable)
index 0000000..1c8ff70
--- /dev/null
@@ -0,0 +1,367 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2006-05-10.23
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  autom4te     touch the output file, or create a stub one
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case $1 in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $1 in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case $f in
+      *:*) touch_files="$touch_files "`echo "$f" |
+                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+          sed 's/\.am$/.in/' |
+          while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+       touch $file
+    else
+       test -z "$file" || exec >$file
+       echo "#! /bin/sh"
+       echo "# Created by GNU Automake missing as a replacement of"
+       echo "#  $ $@"
+       echo "exit 0"
+       chmod +x $file
+       exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+       case $LASTARG in
+       *.y)
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" y.tab.c
+           fi
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" y.tab.h
+           fi
+         ;;
+       esac
+    fi
+    if test ! -f y.tab.h; then
+       echo >y.tab.h
+    fi
+    if test ! -f y.tab.c; then
+       echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+       case $LASTARG in
+       *.l)
+           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" lex.yy.c
+           fi
+         ;;
+       esac
+    fi
+    if test ! -f lex.yy.c; then
+       echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+        you modified a dependency of a manual page.  You may need the
+        \`Help2man' package in order for those modifications to take
+        effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+       touch $file
+    else
+       test -z "$file" || exec >$file
+       echo ".ab help2man is required to generate this page"
+       exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '
+       /^@setfilename/{
+         s/.* \([^ ]*\) *$/\1/
+         p
+         q
+       }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+       case $firstarg in
+       *o*)
+           firstarg=`echo "$firstarg" | sed s/o//`
+           tar "$firstarg" "$@" && exit 0
+           ;;
+       esac
+       case $firstarg in
+       *h*)
+           firstarg=`echo "$firstarg" | sed s/h//`
+           tar "$firstarg" "$@" && exit 0
+           ;;
+       esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/XOrg/proto/calibrateproto/src/xcalibrateproto.h b/XOrg/proto/calibrateproto/src/xcalibrateproto.h
new file mode 100644 (file)
index 0000000..9a174a4
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+ * $Id: xcalibrateproto.h,v 1.1.1.1 2004/06/02 19:18:47 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.
+ */
+
+#ifndef XCALIBRATEPROTO_H
+#define XCALIBRATEPROTO_H
+
+/* 
+ * requests and replies
+ */
+typedef struct {
+    CARD8   reqType;
+    CARD8   xCalibrateReqType;
+    CARD16  length B16;
+    CARD32  majorVersion B32;
+    CARD32  minorVersion B32;
+} xXCalibrateQueryVersionReq;
+
+#define sz_xXCalibrateQueryVersionReq   12
+
+typedef struct {
+    BYTE    type;   /* X_Reply */
+    BYTE    pad1;
+    CARD16  sequenceNumber B16;
+    CARD32  length B32;
+    CARD32  majorVersion B32;
+    CARD32  minorVersion B32;
+    CARD32  pad2 B32;
+    CARD32  pad3 B32;
+    CARD32  pad4 B32;
+    CARD32  pad5 B32;
+} xXCalibrateQueryVersionReply;
+
+#define sz_xXCalibrateQueryVersionReply        32
+
+typedef struct {
+    CARD8   reqType;
+    CARD8   xCalibrateReqType;
+    CARD16  length B16;
+    CARD16  on B16;
+    CARD16  pad B16;
+} xXCalibrateRawModeReq;
+
+#define sz_xXCalibrateRawModeReq       8
+
+typedef struct {
+    BYTE    type;   /* X_Reply */
+    BYTE    pad1;
+    CARD16  sequenceNumber B16;
+    CARD32  status;
+    CARD32  pad2 B32;
+    CARD32  pad3 B32;
+    CARD32  pad4 B32;
+    CARD32  pad5 B32;
+    CARD32  pad6 B32;
+    CARD32  pad7 B32;
+} xXCalibrateRawModeReply;
+
+#define sz_xXCalibrateRawModeReply     32
+
+/* Events */
+
+typedef struct {
+    CARD8      type;
+    CARD8      pad1;
+    CARD16     sequenceNumber B16;
+    CARD16     x;
+    CARD16     y;
+    CARD16     pressure;
+    CARD16      pad2;
+} xXCalibrateRawTouchscreenEvent;
+
+#define sz_xXCalibrateRawTouchscreenEvent 12
+
+#endif
diff --git a/XOrg/proto/calibrateproto/src/xcalibrateproto.pc b/XOrg/proto/calibrateproto/src/xcalibrateproto.pc
new file mode 100644 (file)
index 0000000..5dde3ef
--- /dev/null
@@ -0,0 +1,9 @@
+prefix=/usr/local
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: XCalibrate
+Description: XCalibrate extension headers
+Version: 0.1.0
+Cflags: -I${includedir}
diff --git a/XOrg/proto/calibrateproto/src/xcalibrateproto.pc.in b/XOrg/proto/calibrateproto/src/xcalibrateproto.pc.in
new file mode 100644 (file)
index 0000000..f17f8d7
--- /dev/null
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: XCalibrate
+Description: XCalibrate extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/XOrg/proto/calibrateproto/src/xcalibratewire.h b/XOrg/proto/calibrateproto/src/xcalibratewire.h
new file mode 100644 (file)
index 0000000..a5b1aec
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * $Id: xcalibratewire.h,v 1.1.1.1 2004/06/02 19:18:47 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.
+ */
+
+#ifndef XCALIBRATEWIRE_H
+#define XCALIBRATEWIRE_H
+
+#define XCALIBRATE_MAJOR_VERSION 0
+#define XCALIBRATE_MINOR_VERSION 0
+#define XCALIBRATE_NAME "XCALIBRATE"
+
+#define X_XCalibrateQueryVersion               0
+#define X_XCalibrateRawMode                    1
+
+#define XCalibrateNumberRequests               (X_XCalibrateSetRawMode + 1)
+
+#define X_XCalibrateRawTouchscreen             0
+
+#define XCalibrateNumberEvents                 (X_XCalibrateRawTouchscreen + 1)
+
+#define XCalibrateNumberErrors                 0
+
+#endif
diff --git a/XOrg/proto/compositeproto/Makefile b/XOrg/proto/compositeproto/Makefile
new file mode 100644 (file)
index 0000000..439c2dd
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=compositeproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.1-0.3.1
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/compositeproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=compositeproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,compositeproto))
diff --git a/XOrg/proto/damageproto/Makefile b/XOrg/proto/damageproto/Makefile
new file mode 100644 (file)
index 0000000..c5446ce
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=damageproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/damageproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=damageproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,damageproto))
diff --git a/XOrg/proto/dmxproto/Makefile b/XOrg/proto/dmxproto/Makefile
new file mode 100644 (file)
index 0000000..2ad1c8e
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=dmxproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-2.2.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/dmxproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=dmxproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,dmxproto))
diff --git a/XOrg/proto/evieext/Makefile b/XOrg/proto/evieext/Makefile
new file mode 100644 (file)
index 0000000..8b83905
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=evieext
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/evieext
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=evieext
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,evieext))
diff --git a/XOrg/proto/fixesproto/Makefile b/XOrg/proto/fixesproto/Makefile
new file mode 100644 (file)
index 0000000..70e11ba
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=fixesproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.1-4.0
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/fixesproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=fixesproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,fixesproto))
diff --git a/XOrg/proto/fontcacheproto/Makefile b/XOrg/proto/fontcacheproto/Makefile
new file mode 100644 (file)
index 0000000..33784c2
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=fontcacheproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-0.1.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/fontcacheproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=fontcacheproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,fontcacheproto))
diff --git a/XOrg/proto/fontsproto/Makefile b/XOrg/proto/fontsproto/Makefile
new file mode 100644 (file)
index 0000000..a64f7be
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=fontsproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-2.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/fontsproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=fontsproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,fontsproto))
diff --git a/XOrg/proto/glproto/Makefile b/XOrg/proto/glproto/Makefile
new file mode 100644 (file)
index 0000000..03c0105
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=glproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.4.8
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/glproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=glproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,glproto))
diff --git a/XOrg/proto/inputproto/Makefile b/XOrg/proto/inputproto/Makefile
new file mode 100644 (file)
index 0000000..5834055
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=inputproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.3.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/inputproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=inputproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,inputproto))
diff --git a/XOrg/proto/kbproto/Makefile b/XOrg/proto/kbproto/Makefile
new file mode 100644 (file)
index 0000000..5c6f4a2
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=kbproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/kbproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=kbproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,kbproto))
diff --git a/XOrg/proto/packages b/XOrg/proto/packages
new file mode 100644 (file)
index 0000000..990a6ce
--- /dev/null
@@ -0,0 +1,32 @@
+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|
+applewmproto-X11R7.0-1.0.3|
+dmxproto-X11R7.0-2.2.2|
+printproto-X11R7.0-1.0.3|
+windowswmproto-X11R7.0-1.0.3|
+xf86rushproto-X11R7.0-1.1.2|
+xproxymanagementprotocol-X11R7.0-1.0.2|
diff --git a/XOrg/proto/printproto/Makefile b/XOrg/proto/printproto/Makefile
new file mode 100644 (file)
index 0000000..9280a66
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=printproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/printproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=printproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,printproto))
diff --git a/XOrg/proto/randrproto/Makefile b/XOrg/proto/randrproto/Makefile
new file mode 100644 (file)
index 0000000..a5cd5d8
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=randrproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.1.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/randrproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=randrproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,randrproto))
diff --git a/XOrg/proto/recordproto/Makefile b/XOrg/proto/recordproto/Makefile
new file mode 100644 (file)
index 0000000..1b07a4c
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=recordproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.13.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/recordproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=recordproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,recordproto))
diff --git a/XOrg/proto/renderproto/Makefile b/XOrg/proto/renderproto/Makefile
new file mode 100644 (file)
index 0000000..ade9fa2
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=renderproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-0.9.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/renderproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=renderproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,renderproto))
diff --git a/XOrg/proto/resourceproto/Makefile b/XOrg/proto/resourceproto/Makefile
new file mode 100644 (file)
index 0000000..d4e9324
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=resourceproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/resourceproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=resourceproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,resourceproto))
diff --git a/XOrg/proto/scrnsaverproto/Makefile b/XOrg/proto/scrnsaverproto/Makefile
new file mode 100644 (file)
index 0000000..f1dba50
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=scrnsaverproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.1-1.1.0
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/scrnsaverproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=scrnsaverproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,scrnsaverproto))
diff --git a/XOrg/proto/template.mk b/XOrg/proto/template.mk
new file mode 100644 (file)
index 0000000..924339a
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/@NAME@
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:=@DEP@ @TARGET_x86
+  TITLE:=@NAME@
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,@NAME@))
diff --git a/XOrg/proto/trapproto/Makefile b/XOrg/proto/trapproto/Makefile
new file mode 100644 (file)
index 0000000..71cbe55
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=trapproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-3.4.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/trapproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=trapproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,trapproto))
diff --git a/XOrg/proto/videoproto/Makefile b/XOrg/proto/videoproto/Makefile
new file mode 100644 (file)
index 0000000..2a442dd
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=videoproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-2.2.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/videoproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=videoproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,videoproto))
diff --git a/XOrg/proto/windowswmproto/Makefile b/XOrg/proto/windowswmproto/Makefile
new file mode 100644 (file)
index 0000000..c42de84
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=windowswmproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/windowswmproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=windowswmproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,windowswmproto))
diff --git a/XOrg/proto/xcmiscproto/Makefile b/XOrg/proto/xcmiscproto/Makefile
new file mode 100644 (file)
index 0000000..0fdeec4
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=xcmiscproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.1.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/xcmiscproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=xcmiscproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,xcmiscproto))
diff --git a/XOrg/proto/xextproto/Makefile b/XOrg/proto/xextproto/Makefile
new file mode 100644 (file)
index 0000000..4e40dd9
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=xextproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-7.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/xextproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=xextproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,xextproto))
diff --git a/XOrg/proto/xf86bigfontproto/Makefile b/XOrg/proto/xf86bigfontproto/Makefile
new file mode 100644 (file)
index 0000000..b09902e
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=xf86bigfontproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.1.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/xf86bigfontproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=xf86bigfontproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,xf86bigfontproto))
diff --git a/XOrg/proto/xf86dgaproto/Makefile b/XOrg/proto/xf86dgaproto/Makefile
new file mode 100644 (file)
index 0000000..85de8e5
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=xf86dgaproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-2.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/xf86dgaproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=xf86dgaproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,xf86dgaproto))
diff --git a/XOrg/proto/xf86driproto/Makefile b/XOrg/proto/xf86driproto/Makefile
new file mode 100644 (file)
index 0000000..4a9a57f
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=xf86driproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-2.0.3
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/xf86driproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=xf86driproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,xf86driproto))
diff --git a/XOrg/proto/xf86miscproto/Makefile b/XOrg/proto/xf86miscproto/Makefile
new file mode 100644 (file)
index 0000000..583d342
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=xf86miscproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-0.9.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/xf86miscproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=xf86miscproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,xf86miscproto))
diff --git a/XOrg/proto/xf86rushproto/Makefile b/XOrg/proto/xf86rushproto/Makefile
new file mode 100644 (file)
index 0000000..d95c583
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=xf86rushproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.1.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/xf86rushproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=xf86rushproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,xf86rushproto))
diff --git a/XOrg/proto/xf86vidmodeproto/Makefile b/XOrg/proto/xf86vidmodeproto/Makefile
new file mode 100644 (file)
index 0000000..f86cd34
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=xf86vidmodeproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-2.2.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/xf86vidmodeproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=xf86vidmodeproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,xf86vidmodeproto))
diff --git a/XOrg/proto/xineramaproto/Makefile b/XOrg/proto/xineramaproto/Makefile
new file mode 100644 (file)
index 0000000..a79f7cf
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=xineramaproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.1.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/xineramaproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=xineramaproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,xineramaproto))
diff --git a/XOrg/proto/xproto/Makefile b/XOrg/proto/xproto/Makefile
new file mode 100644 (file)
index 0000000..6daacd0
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=xproto
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-7.0.10
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/xproto
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=xproto
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,xproto))
diff --git a/XOrg/proto/xproxymanagementprotocol/Makefile b/XOrg/proto/xproxymanagementprotocol/Makefile
new file mode 100644 (file)
index 0000000..6c21b04
--- /dev/null
@@ -0,0 +1,36 @@
+# 
+# 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:=xproxymanagementprotocol
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.0-1.0.2
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/proto/
+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/xproxymanagementprotocol
+  SECTION:=xorg-proto
+  CATEGORY:=Xorg
+  SUBMENU:=proto
+  DEPENDS:= @TARGET_x86
+  TITLE:=xproxymanagementprotocol
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR)/ $(MAKE_FLAGS) install
+endef
+
+define Build/Compile
+       true
+endef
+
+$(eval $(call BuildPackage,xproxymanagementprotocol))
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..44e92ac
--- /dev/null
@@ -0,0 +1,169 @@
+# 
+# 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
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-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-$(PKG_VERSION)/
+
+include $(INCLUDE_DIR)/package.mk
+
+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
+
+CONFIGURE_ARGS_KDRIVE=--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 
+
+CONFIGURE_VARS+=ac_cv_file__usr_share_sgml_X11_defs_ent=yes 
+CONFIGURE_ARGS+=$(if $(CONFIG_XORG_BUILD_KDRIVE), $(CONFIGURE_ARGS_KDRIVE))
+
+DEPENDS_SERVER:=+calibrateproto \
+               +compositeproto \
+               +damageproto \
+               +fixesproto \
+               +recordproto \
+               +resourceproto \
+               +scrnsaverproto \
+               +videoproto \
+               +xextproto \
+               +xproto \
+               +libXext \
+               +libXdmcp \
+               +libXfont \
+               +libXrandr \
+               +xtrans \
+               +libX11 \
+               +glproto \
+               +xf86driproto \
+               +applewmproto \
+               +dmxproto \
+               +printproto \
+               +windowswmproto \
+               +xf86rushproto \
+               +xproxymanagementprotocol \
+               +libdrm \
+               +xf86miscproto \
+               +xf86vidmodeproto \
+               +xf86dgaproto \
+               +trapproto \
+               +xineramaproto \
+               +evieext \
+               +libxkbfile \
+               +libXt \
+               +libSM \
+               +libxkbui \
+               +libXxf86misc \
+               +libXxf86vm \
+               +libXaw \
+               +libXmu \
+               +libXpm \
+               +libnotimpl \
+               +Mesa \
+               @TARGET_x86
+
+DEPENDS_KDRIVE:=+calibrateproto \
+               +compositeproto \
+               +damageproto \
+               +fixesproto \
+               +recordproto \
+               +resourceproto \
+               +scrnsaverproto \
+               +videoproto \
+               +xextproto \
+               +xproto \
+               +libXext \
+               +libXdmcp \
+               +libXfont \
+               +libXrandr \
+               +xtrans \
+               +libX11 \
+               @TARGET_x86 
+
+define Package/xorg-server/config
+       config XORG_BUILD_KDRIVE
+               bool "Build kdrive instead of xserver"
+               depends PACKAGE_xorg-server
+endef
+
+define Package/xorg-server/Default
+  SECTION:=xorg-server
+  CATEGORY:=Xorg
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Package/xorg-server
+$(call Package/xorg-server/Default) 
+  TITLE:=Xorg server
+  MENU:=1
+  DEPENDS:=$(if $(CONFIG_XORG_BUILD_KDRIVE), $(DEPENDS_KDRIVE), $(DEPENDS_SERVER))
+endef
+
+define Package/xorg-server-config
+$(call Package/xorg-server/Default) 
+  TITLE:=Xorg server configuration tools 
+  DEPENDS:=xorg-server
+endef
+
+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 \
+               );
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" install
+
+endef
+
+define Package/xorg-server/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/Xorg $(1)/usr/bin/
+       cd $(1)/usr/bin; ln -s Xorg X
+       $(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/
+       rm -rf $(1)/usr/share/X11 $(1)/usr/lib/X11/xserver      
+       $(INSTALL_DIR) $(1)/var/log/
+       $(INSTALL_DIR) $(1)/etc/X11/
+       $(CP) files/xorg.conf $(1)/etc/X11/
+endef
+
+define Packages/xorg-server-config/install
+       $(INSTALL_DIR) $(1)/usr/bin
+    $(CP) $(PKG_INSTALL_DIR)/usr/bin/xorgconfig $(1)/usr/bin/
+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))
+$(eval $(call BuildPackage,xorg-server-config))
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-uclibc-lm.patch b/XOrg/server/xorg-server-X11R7.2/patches/100-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/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/template.mk b/XOrg/utils/template.mk
new file mode 100644 (file)
index 0000000..3504b3b
--- /dev/null
@@ -0,0 +1,45 @@
+# 
+# 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:=@NAME@
+PKG_RELEASE:=1
+PKG_VERSION:=@VER@
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/util/
+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/@NAME@
+  SECTION:=xorg-utils
+  CATEGORY:=Xorg
+  SUBMENU:=utils
+  DEPENDS:=@DEP@ @TARGET_x86
+  TITLE:=${PKG_NAME}
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+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
+
+$(eval $(call BuildPackage,@NAME@))
diff --git a/XOrg/utils/util-macros/Makefile b/XOrg/utils/util-macros/Makefile
new file mode 100644 (file)
index 0000000..06d0d7b
--- /dev/null
@@ -0,0 +1,45 @@
+# 
+# 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:=util-macros
+PKG_RELEASE:=1
+PKG_VERSION:=X11R7.2-1.1.5
+PKG_SOURCE_URL:=http://xorg.freedesktop.org/releases/X11R7.2/src/util/
+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/util-macros
+  SECTION:=xorg-utils
+  CATEGORY:=Xorg
+  SUBMENU:=utils
+  DEPENDS:= @TARGET_x86
+  TITLE:=${PKG_NAME}
+  URL:=http://xorg.freedesktop.org/
+endef
+
+define Build/InstallDev
+       DESTDIR=$(STAGING_DIR) $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) install
+endef
+
+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
+
+$(eval $(call BuildPackage,util-macros))