aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/os
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/os')
-rw-r--r--xorg-server/os/Makefile.am3
-rw-r--r--xorg-server/os/Makefile.in95
-rw-r--r--xorg-server/os/WaitFor.c16
-rw-r--r--xorg-server/os/access.c286
-rw-r--r--xorg-server/os/auth.c43
-rw-r--r--xorg-server/os/connection.c117
-rw-r--r--xorg-server/os/io.c97
-rw-r--r--xorg-server/os/log.c69
-rw-r--r--xorg-server/os/oscolor.c1565
-rw-r--r--xorg-server/os/oscolor.h1508
-rw-r--r--xorg-server/os/osdep.h17
-rw-r--r--xorg-server/os/osinit.c25
-rw-r--r--xorg-server/os/rpcauth.c11
-rw-r--r--xorg-server/os/strcasecmp.c70
-rw-r--r--xorg-server/os/strcasestr.c64
-rw-r--r--xorg-server/os/strlcat.c1
-rw-r--r--xorg-server/os/strlcpy.c1
-rw-r--r--xorg-server/os/utils.c390
-rw-r--r--xorg-server/os/xdmauth.c14
-rw-r--r--xorg-server/os/xdmcp.c12
20 files changed, 1864 insertions, 2540 deletions
diff --git a/xorg-server/os/Makefile.am b/xorg-server/os/Makefile.am
index d6d748577..f89da6ba2 100644
--- a/xorg-server/os/Makefile.am
+++ b/xorg-server/os/Makefile.am
@@ -16,10 +16,11 @@ libos_la_SOURCES = \
io.c \
mitauth.c \
oscolor.c \
- oscolor.h \
osdep.h \
osinit.c \
utils.c \
+ strcasecmp.c \
+ strcasestr.c \
xdmauth.c \
xstrans.c \
xprintf.c \
diff --git a/xorg-server/os/Makefile.in b/xorg-server/os/Makefile.in
index bc2eefdc7..7451117dd 100644
--- a/xorg-server/os/Makefile.in
+++ b/xorg-server/os/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -48,7 +48,6 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \
$(top_builddir)/include/xorg-server.h \
$(top_builddir)/include/dix-config.h \
- $(top_builddir)/include/xgl-config.h \
$(top_builddir)/include/xorg-config.h \
$(top_builddir)/include/xkb-config.h \
$(top_builddir)/include/xwin-config.h \
@@ -57,9 +56,9 @@ CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libos_la_LIBADD =
am__libos_la_SOURCES_DIST = WaitFor.c access.c auth.c backtrace.c \
- connection.c io.c mitauth.c oscolor.c oscolor.h osdep.h \
- osinit.c utils.c xdmauth.c xstrans.c xprintf.c log.c rpcauth.c \
- xdmcp.c strlcat.c strlcpy.c
+ connection.c io.c mitauth.c oscolor.c osdep.h osinit.c utils.c \
+ strcasecmp.c strcasestr.c xdmauth.c xstrans.c xprintf.c log.c \
+ rpcauth.c xdmcp.c strlcat.c strlcpy.c
am__objects_1 = log.lo
am__objects_2 = rpcauth.lo
@SECURE_RPC_TRUE@am__objects_3 = $(am__objects_2)
@@ -69,8 +68,9 @@ am__objects_6 = strlcat.lo strlcpy.lo
@NEED_STRLCAT_TRUE@am__objects_7 = $(am__objects_6)
am_libos_la_OBJECTS = WaitFor.lo access.lo auth.lo backtrace.lo \
connection.lo io.lo mitauth.lo oscolor.lo osinit.lo utils.lo \
- xdmauth.lo xstrans.lo xprintf.lo $(am__objects_1) \
- $(am__objects_3) $(am__objects_5) $(am__objects_7)
+ strcasecmp.lo strcasestr.lo xdmauth.lo xstrans.lo xprintf.lo \
+ $(am__objects_1) $(am__objects_3) $(am__objects_5) \
+ $(am__objects_7)
libos_la_OBJECTS = $(am_libos_la_OBJECTS)
PROGRAMS = $(noinst_PROGRAMS)
os_O_SOURCES = os.c
@@ -81,9 +81,6 @@ depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
@@ -98,8 +95,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
-APPDEFAULTDIR = @APPDEFAULTDIR@
APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@
+APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@
+APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@
APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AR = @AR@
@@ -120,10 +118,6 @@ CFLAGS = @CFLAGS@
COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DARWIN_LIBS = @DARWIN_LIBS@
DBUS_CFLAGS = @DBUS_CFLAGS@
@@ -145,6 +139,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@
DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@
DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@
DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@
+DOLT_BASH = @DOLT_BASH@
DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@
DRI2PROTO_LIBS = @DRI2PROTO_LIBS@
DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@
@@ -154,18 +149,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DRI_DRIVER_PATH = @DRI_DRIVER_PATH@
DSYMUTIL = @DSYMUTIL@
DTRACE = @DTRACE@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
-FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
-FREETYPE_LIBS = @FREETYPE_LIBS@
GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@
GLX_DEFINES = @GLX_DEFINES@
GL_CFLAGS = @GL_CFLAGS@
@@ -184,7 +176,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@
KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@
KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@
KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@
-LAUNCHD = @LAUNCHD@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@
LEX = @LEX@
@@ -198,7 +190,10 @@ LIBTOOL = @LIBTOOL@
LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LINUXDOC = @LINUXDOC@
+LIPO = @LIPO@
LN_S = @LN_S@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
@@ -210,8 +205,7 @@ MESA_SOURCE = @MESA_SOURCE@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
MKDIR_P = @MKDIR_P@
-MKFONTDIR = @MKFONTDIR@
-MKFONTSCALE = @MKFONTSCALE@
+NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCCLD = @OBJCCLD@
@@ -220,8 +214,8 @@ OBJCFLAGS = @OBJCFLAGS@
OBJCLINK = @OBJCLINK@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
-OPENSSL_LIBS = @OPENSSL_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -254,7 +248,6 @@ VENDOR_NAME = @VENDOR_NAME@
VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@
VENDOR_RELEASE = @VENDOR_RELEASE@
VERSION = @VERSION@
-X11APP_ARCHS = @X11APP_ARCHS@
X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@
X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@
XDMCP_CFLAGS = @XDMCP_CFLAGS@
@@ -264,27 +257,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@
XDMX_CFLAGS = @XDMX_CFLAGS@
XDMX_LIBS = @XDMX_LIBS@
XDMX_SYS_LIBS = @XDMX_SYS_LIBS@
-XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@
-XEGL_LIBS = @XEGL_LIBS@
-XEGL_SYS_LIBS = @XEGL_SYS_LIBS@
XEPHYR_CFLAGS = @XEPHYR_CFLAGS@
-XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@
XEPHYR_INCS = @XEPHYR_INCS@
XEPHYR_LIBS = @XEPHYR_LIBS@
XF86CONFIGFILE = @XF86CONFIGFILE@
-XF86MISC_CFLAGS = @XF86MISC_CFLAGS@
-XF86MISC_LIBS = @XF86MISC_LIBS@
XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@
XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@
-XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@
-XGLMODULES_LIBS = @XGLMODULES_LIBS@
-XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@
-XGLXMODULES_LIBS = @XGLXMODULES_LIBS@
-XGLX_LIBS = @XGLX_LIBS@
-XGLX_SYS_LIBS = @XGLX_SYS_LIBS@
-XGL_LIBS = @XGL_LIBS@
-XGL_MODULE_PATH = @XGL_MODULE_PATH@
-XGL_SYS_LIBS = @XGL_SYS_LIBS@
XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@
XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@
XKB_COMPILED_DIR = @XKB_COMPILED_DIR@
@@ -295,10 +273,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@
XNESTMODULES_LIBS = @XNESTMODULES_LIBS@
XNEST_LIBS = @XNEST_LIBS@
XNEST_SYS_LIBS = @XNEST_SYS_LIBS@
-XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@
-XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@
-XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@
-XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@
XORG_CFLAGS = @XORG_CFLAGS@
XORG_INCS = @XORG_INCS@
XORG_LIBS = @XORG_LIBS@
@@ -307,13 +281,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@
XORG_OS = @XORG_OS@
XORG_OS_SUBDIR = @XORG_OS_SUBDIR@
XORG_SYS_LIBS = @XORG_SYS_LIBS@
-XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@
-XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@
-XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@
-XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@
-XPRINT_CFLAGS = @XPRINT_CFLAGS@
-XPRINT_LIBS = @XPRINT_LIBS@
-XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@
+XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@
+XPBPROXY_LIBS = @XPBPROXY_LIBS@
XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@
XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@
XSDL_INCS = @XSDL_INCS@
@@ -346,8 +315,7 @@ abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -367,7 +335,6 @@ driverdir = @driverdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
extdir = @extdir@
-ft_config = @ft_config@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -377,12 +344,12 @@ htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
-launchagentsdir = @launchagentsdir@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
logdir = @logdir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
moduledir = @moduledir@
@@ -400,8 +367,6 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-xglmoduledir = @xglmoduledir@
-xpconfigdir = @xpconfigdir@
noinst_LTLIBRARIES = libos.la
AM_CFLAGS = $(DIX_CFLAGS)
SECURERPC_SRCS = rpcauth.c
@@ -409,9 +374,9 @@ XDMCP_SRCS = xdmcp.c
STRLCAT_SRCS = strlcat.c strlcpy.c
XORG_SRCS = log.c
libos_la_SOURCES = WaitFor.c access.c auth.c backtrace.c connection.c \
- io.c mitauth.c oscolor.c oscolor.h osdep.h osinit.c utils.c \
- xdmauth.c xstrans.c xprintf.c $(XORG_SRCS) $(am__append_1) \
- $(am__append_2) $(am__append_3)
+ io.c mitauth.c oscolor.c osdep.h osinit.c utils.c strcasecmp.c \
+ strcasestr.c xdmauth.c xstrans.c xprintf.c $(XORG_SRCS) \
+ $(am__append_1) $(am__append_2) $(am__append_3)
EXTRA_DIST = $(SECURERPC_SRCS) $(INTERNALMALLOC_SRCS) \
$(XDMCP_SRCS) $(STRLCAT_SRCS)
@@ -424,8 +389,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
@@ -489,6 +454,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oscolor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osinit.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpcauth.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasecmp.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasestr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strlcat.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strlcpy.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Plo@am__quote@
@@ -529,7 +496,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
diff --git a/xorg-server/os/WaitFor.c b/xorg-server/os/WaitFor.c
index 0ce1db698..7235708f7 100644
--- a/xorg-server/os/WaitFor.c
+++ b/xorg-server/os/WaitFor.c
@@ -155,9 +155,7 @@ WaitForSomething(int *pClientsReady)
int nready;
fd_set devicesReadable;
CARD32 now = 0;
-#ifdef SMART_SCHEDULE
Bool someReady = FALSE;
-#endif
FD_ZERO(&clientsReadable);
@@ -170,7 +168,6 @@ WaitForSomething(int *pClientsReady)
ProcessWorkQueue();
if (XFD_ANYSET (&ClientsWithInput))
{
-#ifdef SMART_SCHEDULE
if (!SmartScheduleDisable)
{
someReady = TRUE;
@@ -179,13 +176,11 @@ WaitForSomething(int *pClientsReady)
wt = &waittime;
}
else
-#endif
{
XFD_COPYSET (&ClientsWithInput, &clientsReadable);
break;
}
}
-#ifdef SMART_SCHEDULE
if (someReady)
{
XFD_COPYSET(&AllSockets, &LastSelectMask);
@@ -193,7 +188,6 @@ WaitForSomething(int *pClientsReady)
}
else
{
-#endif
wt = NULL;
if (timers)
{
@@ -221,11 +215,9 @@ WaitForSomething(int *pClientsReady)
waittime.tv_usec = 100;
}
XFD_COPYSET(&AllSockets, &LastSelectMask);
-#ifdef SMART_SCHEDULE
}
SmartScheduleStopTimer ();
-#endif
BlockHandler((pointer)&wt, (pointer)&LastSelectMask);
if (NewOutputPending)
FlushAllOutput();
@@ -243,9 +235,7 @@ WaitForSomething(int *pClientsReady)
}
selecterr = GetErrno();
WakeupHandler(i, (pointer)&LastSelectMask);
-#ifdef SMART_SCHEDULE
SmartScheduleStartTimer ();
-#endif
if (i <= 0) /* An error or timeout occurred */
{
if (dispatchException)
@@ -269,7 +259,6 @@ WaitForSomething(int *pClientsReady)
strerror(selecterr));
}
}
-#ifdef SMART_SCHEDULE
else if (someReady)
{
/*
@@ -279,7 +268,6 @@ WaitForSomething(int *pClientsReady)
XFD_COPYSET(&ClientsWithInput, &clientsReadable);
break;
}
-#endif
if (*checkForInput[0] != *checkForInput[1])
return 0;
@@ -316,10 +304,8 @@ WaitForSomething(int *pClientsReady)
return 0;
}
}
-#ifdef SMART_SCHEDULE
if (someReady)
XFD_ORSET(&LastSelectMask, &ClientsWithInput, &LastSelectMask);
-#endif
if (AnyClientsWriteBlocked && XFD_ANYSET (&clientsWritable))
{
NewOutputPending = TRUE;
@@ -370,7 +356,6 @@ WaitForSomething(int *pClientsReady)
curclient = XFD_FD(&savedClientsReadable, i);
client_index = GetConnectionTranslation(curclient);
#endif
-#ifdef XSYNC
/* We implement "strict" priorities.
* Only the highest priority client is returned to
* dix. If multiple clients at the same priority are
@@ -397,7 +382,6 @@ WaitForSomething(int *pClientsReady)
* clients get batched together
*/
else if (client_priority == highest_priority)
-#endif
{
pClientsReady[nready++] = client_index;
}
diff --git a/xorg-server/os/access.c b/xorg-server/os/access.c
index e91dd37e4..50fc5f9f2 100644
--- a/xorg-server/os/access.c
+++ b/xorg-server/os/access.c
@@ -76,15 +76,11 @@ SOFTWARE.
#include <errno.h>
#include <sys/types.h>
#ifndef WIN32
-#ifndef Lynx
#include <sys/socket.h>
-#else
-#include <socket.h>
-#endif
#include <sys/ioctl.h>
#include <ctype.h>
-#if defined(TCPCONN) || defined(STREAMSCONN) || defined(ISC) || defined(__SCO__)
+#if defined(TCPCONN) || defined(STREAMSCONN) || defined(__SCO__)
#include <netinet/in.h>
#endif /* TCPCONN || STREAMSCONN || ISC || __SCO__ */
#ifdef DNETCONN
@@ -99,35 +95,11 @@ SOFTWARE.
# endif
#endif
-#if defined(DGUX)
-#include <sys/ioctl.h>
-#include <sys/socket.h>
-#include <net/if.h>
-#include <netinet/in.h>
-#include <ctype.h>
-#include <sys/utsname.h>
-#include <sys/stream.h>
-#include <sys/stropts.h>
-#include <sys/param.h>
-#include <sys/sockio.h>
-#endif
-
-
-#if defined(hpux) || defined(QNX4)
-# include <sys/utsname.h>
-# ifdef HAS_IFREQ
-# include <net/if.h>
-# endif
-#else
#if defined(SVR4) || (defined(SYSV) && defined(__i386__)) || defined(__GNU__)
# include <sys/utsname.h>
#endif
#if defined(SYSV) && defined(__i386__)
# include <sys/stream.h>
-# ifdef ISC
-# include <sys/stropts.h>
-# include <sys/sioctl.h>
-# endif /* ISC */
#endif
#ifdef __GNU__
#undef SIOCGIFCONF
@@ -135,7 +107,6 @@ SOFTWARE.
#else /*!__GNU__*/
# include <net/if.h>
#endif /*__GNU__ */
-#endif /* hpux */
#ifdef SVR4
#include <sys/sockio.h>
@@ -177,11 +148,7 @@ SOFTWARE.
#endif /* WIN32 */
#ifndef PATH_MAX
-#ifndef Lynx
#include <sys/param.h>
-#else
-#include <param.h>
-#endif
#ifndef PATH_MAX
#ifdef MAXPATHLEN
#define PATH_MAX MAXPATHLEN
@@ -312,7 +279,7 @@ AccessUsingXdmcp (void)
}
-#if ((defined(SVR4) && !defined(DGUX) && !defined(SCO325) && !defined(sun) && !defined(NCR)) || defined(ISC)) && !defined(__sgi) && defined(SIOCGIFCONF) && !defined(USE_SIOCGLIFCONF)
+#if defined(SVR4) && !defined(SCO325) && !defined(sun) && defined(SIOCGIFCONF) && !defined(USE_SIOCGLIFCONF)
/* Deal with different SIOCGIFCONF ioctl semantics on these OSs */
@@ -329,17 +296,6 @@ ifioctl (int fd, int cmd, char *arg)
{
ioc.ic_len = ((struct ifconf *) arg)->ifc_len;
ioc.ic_dp = ((struct ifconf *) arg)->ifc_buf;
-#ifdef ISC
- /* SIOCGIFCONF is somewhat brain damaged on ISC. The argument
- * buffer must contain the ifconf structure as header. Ifc_req
- * is also not a pointer but a one element array of ifreq
- * structures. On return this array is extended by enough
- * ifreq fields to hold all interfaces. The return buffer length
- * is placed in the buffer header.
- */
- ((struct ifconf *) ioc.ic_dp)->ifc_len =
- ioc.ic_len - sizeof(struct ifconf);
-#endif
}
else
{
@@ -351,19 +307,11 @@ ifioctl (int fd, int cmd, char *arg)
#ifdef SVR4
((struct ifconf *) arg)->ifc_len = ioc.ic_len;
#endif
-#ifdef ISC
- {
- ((struct ifconf *) arg)->ifc_len =
- ((struct ifconf *)ioc.ic_dp)->ifc_len;
- ((struct ifconf *) arg)->ifc_buf =
- (caddr_t)((struct ifconf *)ioc.ic_dp)->ifc_req;
- }
-#endif
return(ret);
}
-#else /* Case DGUX, sun, SCO325 NCR and others */
+#else /* Case sun, SCO325 and others */
#define ifioctl ioctl
-#endif /* ((SVR4 && !DGUX !sun !SCO325 !NCR) || ISC) && SIOCGIFCONF */
+#endif /* ((SVR4 && !sun !SCO325) || ISC) && SIOCGIFCONF */
/*
* DefineSelf (fd):
@@ -372,153 +320,7 @@ ifioctl (int fd, int cmd, char *arg)
* for this fd and add them to the selfhosts list.
*/
-#ifdef WINTCP /* NCR Wollongong based TCP */
-
-#include <sys/un.h>
-#include <stropts.h>
-#include <tiuser.h>
-
-#include <sys/stream.h>
-#include <net/if.h>
-#include <netinet/ip.h>
-#include <netinet/ip_var.h>
-#include <netinet/in.h>
-#include <netinet/in_var.h>
-
-void
-DefineSelf (int fd)
-{
- /*
- * The Wolongong drivers used by NCR SVR4/MP-RAS don't understand the
- * socket IO calls that most other drivers seem to like. Because of
- * this, this routine must be special cased for NCR. Eventually,
- * this will be cleared up.
- */
-
- struct ipb ifnet;
- struct in_ifaddr ifaddr;
- struct strioctl str;
- unsigned char *addr;
- register HOST *host;
- int family, len;
-
- if ((fd = open ("/dev/ip", O_RDWR, 0 )) < 0)
- Error ("Getting interface configuration (1)");
-
- /* Indicate that we want to start at the begining */
- ifnet.ib_next = (struct ipb *) 1;
-
- while (ifnet.ib_next)
- {
- str.ic_cmd = IPIOC_GETIPB;
- str.ic_timout = 0;
- str.ic_len = sizeof (struct ipb);
- str.ic_dp = (char *) &ifnet;
-
- if (ioctl (fd, (int) I_STR, (char *) &str) < 0)
- {
- close (fd);
- Error ("Getting interface configuration (2)");
- }
-
- ifaddr.ia_next = (struct in_ifaddr *) ifnet.if_addrlist;
- str.ic_cmd = IPIOC_GETINADDR;
- str.ic_timout = 0;
- str.ic_len = sizeof (struct in_ifaddr);
- str.ic_dp = (char *) &ifaddr;
-
- if (ioctl (fd, (int) I_STR, (char *) &str) < 0)
- {
- close (fd);
- Error ("Getting interface configuration (3)");
- }
-
- len = sizeof(struct sockaddr_in);
- family = ConvertAddr (IA_SIN(&ifaddr), &len, (pointer *)&addr);
- if (family == -1 || family == FamilyLocal)
- continue;
- for (host = selfhosts;
- host && !addrEqual (family, addr, len, host);
- host = host->next)
- ;
- if (host)
- continue;
- MakeHost(host,len)
- if (host)
- {
- host->family = family;
- host->len = len;
- acopy(addr, host->addr, len);
- host->next = selfhosts;
- selfhosts = host;
- }
-#ifdef XDMCP
- {
- struct sockaddr broad_addr;
-
- /*
- * If this isn't an Internet Address, don't register it.
- */
- if (family != FamilyInternet)
- continue;
-
- /*
- * Ignore 'localhost' entries as they're not useful
- * on the other end of the wire.
- */
- if (len == 4 &&
- addr[0] == 127 && addr[1] == 0 &&
- addr[2] == 0 && addr[3] == 1)
- continue;
-
- /*
- * Ignore '0.0.0.0' entries as they are
- * returned by some OSes for unconfigured NICs but they are
- * not useful on the other end of the wire.
- */
- if (len == 4 &&
- addr[0] == 0 && addr[1] == 0 &&
- addr[2] == 0 && addr[3] == 0)
- continue;
-
- XdmcpRegisterConnection (family, (char *)addr, len);
-
-
-#define IA_BROADADDR(ia) ((struct sockaddr_in *)(&((struct in_ifaddr *)ia)->ia_broadaddr))
-
- XdmcpRegisterBroadcastAddress (
- (struct sockaddr_in *) IA_BROADADDR(&ifaddr));
-
-#undef IA_BROADADDR
- }
-#endif /* XDMCP */
- }
-
- close(fd);
-
- /*
- * add something of FamilyLocalHost
- */
- for (host = selfhosts;
- host && !addrEqual(FamilyLocalHost, "", 0, host);
- host = host->next);
- if (!host)
- {
- MakeHost(host, 0);
- if (host)
- {
- host->family = FamilyLocalHost;
- host->len = 0;
- acopy("", host->addr, 0);
- host->next = selfhosts;
- selfhosts = host;
- }
- }
-}
-
-#else /* WINTCP */
-
-#if !defined(SIOCGIFCONF) || (defined (hpux) && ! defined (HAS_IFREQ)) || defined(QNX4)
+#if !defined(SIOCGIFCONF)
void
DefineSelf (int fd)
{
@@ -561,19 +363,11 @@ DefineSelf (int fd)
* uname() lets me access to the whole string (it smashes release, you
* see), whereas gethostname() kindly truncates it for me.
*/
-#ifndef QNX4
#ifndef WIN32
uname(&name);
#else
gethostname(name.nodename, sizeof(name.nodename));
#endif
-#else
- /* QNX4's uname returns node number in name.nodename, not the hostname
- have to overwrite it */
- char hname[1024];
- gethostname(hname, 1024);
- name.nodename = hname;
-#endif
hp = _XGethostbyname(name.nodename, hparams);
if (hp != NULL)
@@ -682,16 +476,11 @@ DefineLocalHost:
p->ifr_addr.sa_len - sizeof (p->ifr_addr) : 0))
#define ifraddr_size(a) (a.sa_len)
#else
-#ifdef QNX4
-#define ifr_size(p) (p->ifr_addr.sa_len + IFNAMSIZ)
-#define ifraddr_size(a) (a.sa_len)
-#else
#define ifr_size(p) (sizeof (ifr_type))
#define ifraddr_size(a) (sizeof (a))
#endif
-#endif
-#if defined(DEF_SELF_DEBUG) || (defined(IPv6) && defined(AF_INET6))
+#if defined(IPv6) && defined(AF_INET6)
#include <arpa/inet.h>
#endif
@@ -713,19 +502,21 @@ void
DefineSelf (int fd)
{
#ifndef HAS_GETIFADDRS
- char buf[2048], *cp, *cplim;
- void * bufptr = buf;
-#ifdef USE_SIOCGLIFCONF
+ char *cp, *cplim;
+# ifdef USE_SIOCGLIFCONF
+ struct sockaddr_storage buf[16];
struct lifconf ifc;
register struct lifreq *ifr;
-#ifdef SIOCGLIFNUM
+# ifdef SIOCGLIFNUM
struct lifnum ifn;
-#endif
-#else
+# endif
+# else /* !USE_SIOCGLIFCONF */
+ char buf[2048];
struct ifconf ifc;
register struct ifreq *ifr;
-#endif
-#else
+# endif
+ void * bufptr = buf;
+#else /* HAS_GETIFADDRS */
struct ifaddrs * ifap, *ifr;
#endif
int len;
@@ -795,11 +586,7 @@ DefineSelf (int fd)
ifc.ifc_buf = bufptr;
#define IFC_IOCTL_REQ SIOCGIFCONF
-#ifdef ISC
-#define IFC_IFC_REQ (struct ifreq *) ifc.ifc_buf
-#else
#define IFC_IFC_REQ ifc.ifc_req
-#endif /* ISC */
#define IFC_IFC_LEN ifc.ifc_len
#define IFR_IFR_ADDR ifr->ifr_addr
#define IFR_IFR_NAME ifr->ifr_name
@@ -829,19 +616,6 @@ DefineSelf (int fd)
if (family == FamilyInternet6)
in6_fillscopeid((struct sockaddr_in6 *)&IFR_IFR_ADDR);
#endif
-#ifdef DEF_SELF_DEBUG
- if (family == FamilyInternet)
- ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n",
- IFR_IFR_NAME, addr[0], addr[1], addr[2], addr[3]);
-#if defined(IPv6) && defined(AF_INET6)
- else if (family == FamilyInternet6) {
- char cp[INET6_ADDRSTRLEN] = "";
- inet_ntop(AF_INET6, addr, cp, sizeof(cp));
- ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %s\n",
- IFR_IFR_NAME, cp);
- }
-#endif
-#endif /* DEF_SELF_DEBUG */
for (host = selfhosts;
host && !addrEqual (family, addr, len, host);
host = host->next)
@@ -951,11 +725,6 @@ DefineSelf (int fd)
continue;
}
#endif /* SIOCGIFBRDADDR */
-#ifdef DEF_SELF_DEBUG
- ErrorF("Xserver: DefineSelf(): ifname = %s, baddr = %s\n",
- IFR_IFR_NAME,
- inet_ntoa(((struct sockaddr_in *) &broad_addr)->sin_addr));
-#endif /* DEF_SELF_DEBUG */
XdmcpRegisterBroadcastAddress ((struct sockaddr_in *) &broad_addr);
}
#endif /* XDMCP */
@@ -983,20 +752,6 @@ DefineSelf (int fd)
in6_fillscopeid((struct sockaddr_in6 *)ifr->ifa_addr);
#endif
-#ifdef DEF_SELF_DEBUG
- if (family == FamilyInternet)
- ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n",
- ifr->ifa_name, addr[0], addr[1], addr[2], addr[3]);
-#if defined(IPv6) && defined(AF_INET6)
- else if (family == FamilyInternet6) {
- char cp[INET6_ADDRSTRLEN];
-
- inet_ntop(AF_INET6, addr, cp, sizeof(cp));
- ErrorF("Xserver: DefineSelf(): ifname = %s addr = %s\n",
- ifr->ifa_name, cp);
- }
-#endif
-#endif /* DEF_SELF_DEBUG */
for (host = selfhosts;
host != NULL && !addrEqual(family, addr, len, host);
host = host->next)
@@ -1061,11 +816,6 @@ DefineSelf (int fd)
broad_addr = *ifr->ifa_broadaddr;
else
continue;
-#ifdef DEF_SELF_DEBUG
- ErrorF("Xserver: DefineSelf(): ifname = %s, baddr = %s\n",
- ifr->ifa_name,
- inet_ntoa(((struct sockaddr_in *) &broad_addr)->sin_addr));
-#endif /* DEF_SELF_DEBUG */
XdmcpRegisterBroadcastAddress((struct sockaddr_in *)
&broad_addr);
}
@@ -1095,7 +845,6 @@ DefineSelf (int fd)
}
}
#endif /* hpux && !HAS_IFREQ */
-#endif /* WINTCP */
#ifdef XDMCP
void
@@ -1188,7 +937,8 @@ ResetHosts (char *display)
strlen(display) + 1;
if (fnamelen > sizeof(fname))
FatalError("Display name `%s' is too long\n", display);
- sprintf(fname, ETC_HOST_PREFIX "%s" ETC_HOST_SUFFIX, display);
+ snprintf(fname, sizeof(fname), ETC_HOST_PREFIX "%s" ETC_HOST_SUFFIX,
+ display);
if ((fd = fopen (fname, "r")) != 0)
{
diff --git a/xorg-server/os/auth.c b/xorg-server/os/auth.c
index dab4f60bd..a852e1c3b 100644
--- a/xorg-server/os/auth.c
+++ b/xorg-server/os/auth.c
@@ -314,8 +314,6 @@ GenerateAuthorization(
return -1;
}
-#ifdef HAVE_URANDOM
-
void
GenerateRandomData (int len, char *buf)
{
@@ -326,45 +324,4 @@ GenerateRandomData (int len, char *buf)
close(fd);
}
-#else /* !HAVE_URANDOM */
-
-/* A random number generator that is more unpredictable
- than that shipped with some systems.
- This code is taken from the C standard. */
-
-static unsigned long int next = 1;
-
-static int
-xdm_rand(void)
-{
- next = next * 1103515245 + 12345;
- return (unsigned int)(next/65536) % 32768;
-}
-
-static void
-xdm_srand(unsigned int seed)
-{
- next = seed;
-}
-
-void
-GenerateRandomData (int len, char *buf)
-{
- static int seed;
- int value;
- int i;
-
- seed += GetTimeInMillis();
- xdm_srand (seed);
- for (i = 0; i < len; i++)
- {
- value = xdm_rand ();
- buf[i] ^= (value & 0xff00) >> 8;
- }
-
- /* XXX add getrusage, popen("ps -ale") */
-}
-
-#endif /* HAVE_URANDOM */
-
#endif /* XCSECURITY */
diff --git a/xorg-server/os/connection.c b/xorg-server/os/connection.c
index 1ae50fef0..8f1f73e43 100644
--- a/xorg-server/os/connection.c
+++ b/xorg-server/os/connection.c
@@ -74,46 +74,20 @@ SOFTWARE.
#define TRANS_SERVER
#define TRANS_REOPEN
#include <X11/Xtrans/Xtrans.h>
-#ifdef HAVE_LAUNCHD
#include <X11/Xtrans/Xtransint.h>
-#endif
#include <errno.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#ifndef WIN32
-#if defined(Lynx)
-#include <socket.h>
-#else
#include <sys/socket.h>
-#endif
-#ifdef hpux
-#include <sys/utsname.h>
-#include <sys/ioctl.h>
-#endif
-#if defined(DGUX)
-#include <sys/ioctl.h>
-#include <sys/utsname.h>
-#include <sys/socket.h>
-#include <sys/uio.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
-#include <sys/param.h>
-#include <unistd.h>
-#endif
-
-
-#ifdef AIXV3
-#include <sys/ioctl.h>
-#endif
#if defined(TCPCONN) || defined(STREAMSCONN)
# include <netinet/in.h>
# include <arpa/inet.h>
-# if !defined(hpux)
# ifdef apollo
# ifndef NO_TCP_H
# include <netinet/tcp.h>
@@ -124,31 +98,20 @@ SOFTWARE.
# endif
# include <netinet/tcp.h>
# endif
-# endif
# include <arpa/inet.h>
#endif
-#ifndef Lynx
#include <sys/uio.h>
-#else
-#include <uio.h>
-#endif
+
#endif /* WIN32 */
#include "misc.h" /* for typedef of pointer */
#include "osdep.h"
#include <X11/Xpoll.h>
#include "opaque.h"
#include "dixstruct.h"
-#ifdef XAPPGROUP
-#include "appgroup.h"
-#endif
#include "xace.h"
-#ifdef X_NOT_POSIX
-#define Pid_t int
-#else
#define Pid_t pid_t
-#endif
#ifdef DNETCONN
#include <netdnet/dn.h>
@@ -639,8 +602,8 @@ AuthAudit (ClientPtr client, Bool letin,
#ifdef XSERVER_DTRACE
XSERVER_CLIENT_AUTH(client->index, addr, client_pid, client_zid);
- if (auditTrailLevel > 1) {
#endif
+ if (auditTrailLevel > 1) {
if (proto_n)
AuditF("client %d %s from %s%s\n Auth name: %.*s ID: %d\n",
client->index, letin ? "connected" : "rejected", addr,
@@ -650,9 +613,7 @@ AuthAudit (ClientPtr client, Bool letin,
client->index, letin ? "connected" : "rejected", addr,
client_uid_string);
-#ifdef XSERVER_DTRACE
}
-#endif
}
XID
@@ -696,23 +657,17 @@ ClientAuthorized(ClientPtr client,
XID auth_id;
char *reason = NULL;
XtransConnInfo trans_conn;
-#ifdef HAVE_LAUNCHD
- struct sockaddr *saddr;
-#endif
priv = (OsCommPtr)client->osPrivate;
trans_conn = priv->trans_conn;
-#ifdef HAVE_LAUNCHD
- saddr = (struct sockaddr *) (trans_conn->addr);
/* Allow any client to connect without authorization on a launchd socket,
because it is securely created -- this prevents a race condition on launch */
- if (saddr->sa_len > 11 && saddr->sa_family == AF_UNIX &&
- !strncmp(saddr->sa_data, "/tmp/launch", 11)) goto done;
-#endif
-
- auth_id = CheckAuthorization (proto_n, auth_proto,
- string_n, auth_string, client, &reason);
+ if(trans_conn->flags & TRANS_NOXAUTH) {
+ auth_id = (XID) 0L;
+ } else {
+ auth_id = CheckAuthorization (proto_n, auth_proto, string_n, auth_string, client, &reason);
+ }
if (auth_id == (XID) ~0L)
{
@@ -760,7 +715,6 @@ ClientAuthorized(ClientPtr client,
}
}
priv->auth_id = auth_id;
- done:
priv->conn_time = 0;
#ifdef XDMCP
@@ -917,6 +871,10 @@ EstablishNewConnections(ClientPtr clientUnused, pointer closure)
ErrorConnMax(new_trans_conn);
_XSERVTransClose(new_trans_conn);
}
+
+ if(trans_conn->flags & TRANS_NOXAUTH)
+ new_trans_conn->flags = new_trans_conn->flags | TRANS_NOXAUTH;
+
}
#ifndef WIN32
}
@@ -1253,7 +1211,7 @@ AttendClient (ClientPtr client)
/* make client impervious to grabs; assume only executing client calls this */
-_X_EXPORT void
+void
MakeClientGrabImpervious(ClientPtr client)
{
OsCommPtr oc = (OsCommPtr)client->osPrivate;
@@ -1272,7 +1230,7 @@ MakeClientGrabImpervious(ClientPtr client)
/* make client pervious to grabs; assume only executing client calls this */
-_X_EXPORT void
+void
MakeClientGrabPervious(ClientPtr client)
{
OsCommPtr oc = (OsCommPtr)client->osPrivate;
@@ -1300,3 +1258,52 @@ MakeClientGrabPervious(ClientPtr client)
}
}
+#ifdef XQUARTZ
+/* Add a fd (from launchd) to our listeners */
+_X_EXPORT void ListenOnOpenFD(int fd, int noxauth) {
+ char port[256];
+ XtransConnInfo ciptr;
+
+ if(!strncmp(getenv("DISPLAY"), "/tmp/launch", 11)) {
+ /* Make the path the launchd socket if our DISPLAY is set right */
+ strcpy(port, getenv("DISPLAY"));
+ } else {
+ /* Just some default so things don't break and die. */
+ sprintf(port, ":%d", atoi(display));
+ }
+
+ /* Make our XtransConnInfo
+ * TRANS_SOCKET_LOCAL_INDEX = 5 from Xtrans.c
+ */
+ ciptr = _XSERVTransReopenCOTSServer(5, fd, port);
+ if(ciptr == NULL) {
+ ErrorF("Got NULL while trying to Reopen launchd port.\n");
+ return;
+ }
+
+ if(noxauth)
+ ciptr->flags = ciptr->flags | TRANS_NOXAUTH;
+
+ /* Allocate space to store it */
+ ListenTransFds = (int *) xrealloc(ListenTransFds, (ListenTransCount + 1) * sizeof (int));
+ ListenTransConns = (XtransConnInfo *) xrealloc(ListenTransConns, (ListenTransCount + 1) * sizeof (XtransConnInfo));
+
+ /* Store it */
+ ListenTransConns[ListenTransCount] = ciptr;
+ ListenTransFds[ListenTransCount] = fd;
+
+ FD_SET(fd, &WellKnownConnections);
+ FD_SET(fd, &AllSockets);
+
+ /* Increment the count */
+ ListenTransCount++;
+
+ /* This *might* not be needed... /shrug */
+ ResetAuthorization();
+ ResetHosts(display);
+#ifdef XDMCP
+ XdmcpReset();
+#endif
+}
+
+#endif
diff --git a/xorg-server/os/io.c b/xorg-server/os/io.c
index d32096704..afe6d99d4 100644
--- a/xorg-server/os/io.c
+++ b/xorg-server/os/io.c
@@ -70,11 +70,7 @@ SOFTWARE.
#include <X11/Xmd.h>
#include <errno.h>
#if !defined(WIN32)
-#ifndef Lynx
#include <sys/uio.h>
-#else
-#include <uio.h>
-#endif
#endif
#include <X11/X.h>
#define NEED_REPLIES
@@ -96,15 +92,7 @@ static ConnectionOutputPtr AllocateOutputBuffer(void);
* systems are broken and return EWOULDBLOCK when they should return EAGAIN
*/
#ifndef WIN32
-#if defined(EAGAIN) && defined(EWOULDBLOCK)
#define ETEST(err) (err == EAGAIN || err == EWOULDBLOCK)
-#else
-#ifdef EAGAIN
-#define ETEST(err) (err == EAGAIN)
-#else
-#define ETEST(err) (err == EWOULDBLOCK)
-#endif
-#endif
#else /* WIN32 The socket errorcodes differ from the normal errors*/
#define ETEST(err) (err == EAGAIN || err == WSAEWOULDBLOCK)
#endif
@@ -118,13 +106,11 @@ static OsCommPtr AvailableInput = (OsCommPtr)NULL;
#define get_req_len(req,cli) ((cli)->swapped ? \
lswaps((req)->length) : (req)->length)
-#ifdef BIGREQS
#include <X11/extensions/bigreqstr.h>
#define get_big_req_len(req,cli) ((cli)->swapped ? \
lswapl(((xBigReq *)(req))->length) : \
((xBigReq *)(req))->length)
-#endif
#define MAX_TIMES_PER 10
@@ -185,14 +171,25 @@ static OsCommPtr AvailableInput = (OsCommPtr)NULL;
* a partial request) because others clients need to be scheduled.
*****************************************************************/
-#define YieldControl() \
- { isItTimeToYield = TRUE; \
- timesThisConnection = 0; }
-#define YieldControlNoInput() \
- { YieldControl(); \
- FD_CLR(fd, &ClientsWithInput); }
-#define YieldControlDeath() \
- { timesThisConnection = 0; }
+static void
+YieldControl(void)
+{
+ isItTimeToYield = TRUE;
+ timesThisConnection = 0;
+}
+
+static void
+YieldControlNoInput(int fd)
+{
+ YieldControl();
+ FD_CLR(fd, &ClientsWithInput);
+}
+
+static void
+YieldControlDeath(void)
+{
+ timesThisConnection = 0;
+}
int
ReadRequestFromClient(ClientPtr client)
@@ -204,9 +201,7 @@ ReadRequestFromClient(ClientPtr client)
int result;
register xReq *request;
Bool need_header;
-#ifdef BIGREQS
Bool move_header;
-#endif
/* If an input buffer was empty, either free it if it is too big
* or link it into our list of free input buffers. This means that
@@ -255,9 +250,7 @@ ReadRequestFromClient(ClientPtr client)
oci->bufptr += oci->lenLastReq;
need_header = FALSE;
-#ifdef BIGREQS
move_header = FALSE;
-#endif
gotnow = oci->bufcnt + oci->buffer - oci->bufptr;
if (gotnow < sizeof(xReq))
{
@@ -274,7 +267,6 @@ ReadRequestFromClient(ClientPtr client)
*/
request = (xReq *)oci->bufptr;
needed = get_req_len(request, client);
-#ifdef BIGREQS
if (!needed && client->big_requests)
{
/* It's a Big Request. */
@@ -288,7 +280,6 @@ ReadRequestFromClient(ClientPtr client)
else
needed = get_big_req_len(request, client);
}
-#endif
client->req_len = needed;
needed <<= 2; /* needed is in bytes now */
}
@@ -301,14 +292,12 @@ ReadRequestFromClient(ClientPtr client)
*/
oci->lenLastReq = 0;
-#ifdef BIGREQS
if (needed > maxBigRequestSize << 2)
{
/* request is too big for us to handle */
YieldControlDeath();
return -1;
}
-#endif
if ((gotnow == 0) ||
((oci->bufptr - oci->buffer + needed) > oci->size))
{
@@ -357,7 +346,7 @@ ReadRequestFromClient(ClientPtr client)
if (0)
#endif
{
- YieldControlNoInput();
+ YieldControlNoInput(fd);
return 0;
}
}
@@ -385,7 +374,6 @@ ReadRequestFromClient(ClientPtr client)
/* We wanted an xReq, now we've gotten it. */
request = (xReq *)oci->bufptr;
needed = get_req_len(request, client);
-#ifdef BIGREQS
if (!needed && client->big_requests)
{
move_header = TRUE;
@@ -394,24 +382,21 @@ ReadRequestFromClient(ClientPtr client)
else
needed = get_big_req_len(request, client);
}
-#endif
client->req_len = needed;
needed <<= 2;
}
if (gotnow < needed)
{
/* Still don't have enough; punt. */
- YieldControlNoInput();
+ YieldControlNoInput(fd);
return 0;
}
}
if (needed == 0)
{
-#ifdef BIGREQS
if (client->big_requests)
needed = sizeof(xBigReq);
else
-#endif
needed = sizeof(xReq);
}
oci->lenLastReq = needed;
@@ -429,41 +414,32 @@ ReadRequestFromClient(ClientPtr client)
{
request = (xReq *)(oci->bufptr + needed);
if (gotnow >= (result = (get_req_len(request, client) << 2))
-#ifdef BIGREQS
&& (result ||
(client->big_requests &&
(gotnow >= sizeof(xBigReq) &&
gotnow >= (get_big_req_len(request, client) << 2))))
-#endif
)
FD_SET(fd, &ClientsWithInput);
else
{
-#ifdef SMART_SCHEDULE
if (!SmartScheduleDisable)
FD_CLR(fd, &ClientsWithInput);
else
-#endif
- YieldControlNoInput();
+ YieldControlNoInput(fd);
}
}
else
{
if (!gotnow)
AvailableInput = oc;
-#ifdef SMART_SCHEDULE
if (!SmartScheduleDisable)
FD_CLR(fd, &ClientsWithInput);
else
-#endif
- YieldControlNoInput();
+ YieldControlNoInput(fd);
}
-#ifdef SMART_SCHEDULE
if (SmartScheduleDisable)
-#endif
if (++timesThisConnection >= MAX_TIMES_PER)
YieldControl();
-#ifdef BIGREQS
if (move_header)
{
request = (xReq *)oci->bufptr;
@@ -472,7 +448,6 @@ ReadRequestFromClient(ClientPtr client)
oci->lenLastReq -= (sizeof(xBigReq) - sizeof(xReq));
client->req_len -= (sizeof(xBigReq) - sizeof(xReq)) >> 2;
}
-#endif
client->requestBuffer = (pointer)oci->bufptr;
#ifdef DEBUG_COMMUNICATION
{
@@ -554,7 +529,7 @@ InsertFakeRequest(ClientPtr client, char *data, int count)
(gotnow >= (int)(get_req_len((xReq *)oci->bufptr, client) << 2)))
FD_SET(fd, &ClientsWithInput);
else
- YieldControlNoInput();
+ YieldControlNoInput(fd);
return(TRUE);
}
@@ -578,13 +553,12 @@ ResetCurrentRequest(ClientPtr client)
gotnow = oci->bufcnt + oci->buffer - oci->bufptr;
if (gotnow < sizeof(xReq))
{
- YieldControlNoInput();
+ YieldControlNoInput(fd);
}
else
{
request = (xReq *)oci->bufptr;
needed = get_req_len(request, client);
-#ifdef BIGREQS
if (!needed && client->big_requests)
{
oci->bufptr -= sizeof(xBigReq) - sizeof(xReq);
@@ -596,7 +570,6 @@ ResetCurrentRequest(ClientPtr client)
swapl(&((xBigReq *)oci->bufptr)->length, n);
}
}
-#endif
if (gotnow >= (needed << 2))
{
if (FD_ISSET(fd, &AllClients))
@@ -610,17 +583,11 @@ ResetCurrentRequest(ClientPtr client)
YieldControl();
}
else
- YieldControlNoInput();
+ YieldControlNoInput(fd);
}
}
-
-
-_X_EXPORT CallbackListPtr SkippedRequestsCallback = NULL;
-
- /* lookup table for adding padding bytes to data that is read from
- or written to the X socket. */
-static int padlength[4] = {0, 3, 2, 1};
+static const int padlength[4] = {0, 3, 2, 1};
/********************
* FlushAllOutput()
@@ -730,11 +697,12 @@ SetCriticalOutputPending(void)
*****************/
_X_EXPORT int
-WriteToClient (ClientPtr who, int count, char *buf)
+WriteToClient (ClientPtr who, int count, const void *__buf)
{
OsCommPtr oc = (OsCommPtr)who->osPrivate;
ConnectionOutputPtr oco = oc->output;
int padBytes;
+ const char *buf = __buf;
#ifdef DEBUG_COMMUNICATION
Bool multicount = FALSE;
#endif
@@ -871,13 +839,14 @@ WriteToClient (ClientPtr who, int count, char *buf)
**********************/
int
-FlushClient(ClientPtr who, OsCommPtr oc, char *extraBuf, int extraCount)
+FlushClient(ClientPtr who, OsCommPtr oc, const void *__extraBuf, int extraCount)
{
ConnectionOutputPtr oco = oc->output;
int connection = oc->fd;
XtransConnInfo trans_conn = oc->trans_conn;
struct iovec iov[3];
static char padBuffer[3];
+ const char *extraBuf = __extraBuf;
long written;
long padsize;
long notWritten;
@@ -916,14 +885,14 @@ FlushClient(ClientPtr who, OsCommPtr oc, char *extraBuf, int extraCount)
before = (-len); \
} else { \
iov[i].iov_len = len; \
- iov[i].iov_base = (pointer) + before; \
+ iov[i].iov_base = (pointer) + before; \
i++; \
remain -= len; \
before = 0; \
}
InsertIOV ((char *)oco->buf, oco->count)
- InsertIOV (extraBuf, extraCount)
+ InsertIOV ((char *)extraBuf, extraCount)
InsertIOV (padBuffer, padsize)
errno = 0;
diff --git a/xorg-server/os/log.c b/xorg-server/os/log.c
index 282d2b97c..ef34b1afe 100644
--- a/xorg-server/os/log.c
+++ b/xorg-server/os/log.c
@@ -318,7 +318,7 @@ _X_EXPORT void
LogVMessageVerb(MessageType type, int verb, const char *format, va_list args)
{
const char *s = X_UNKNOWN_STRING;
- char *tmpBuf = NULL;
+ char tmpBuf[1024];
/* Ignore verbosity for X_ERROR */
if (logVerbosity >= verb || logFileVerbosity >= verb || type == X_ERROR) {
@@ -360,21 +360,11 @@ LogVMessageVerb(MessageType type, int verb, const char *format, va_list args)
break;
}
- /*
- * Prefix the format string with the message type. We do it this way
- * so that LogVWrite() is only called once per message.
- */
- if (s) {
- tmpBuf = malloc(strlen(format) + strlen(s) + 1 + 1);
- /* Silently return if malloc fails here. */
- if (!tmpBuf)
- return;
- sprintf(tmpBuf, "%s ", s);
- strcat(tmpBuf, format);
- LogVWrite(verb, tmpBuf, args);
- free(tmpBuf);
- } else
- LogVWrite(verb, format, args);
+ /* if s is not NULL we need a space before format */
+ snprintf(tmpBuf, sizeof(tmpBuf), "%s%s%s", s ? s : "",
+ s ? " " : "",
+ format);
+ LogVWrite(verb, tmpBuf, args);
}
}
@@ -417,9 +407,7 @@ AbortServer(void)
exit (1);
}
-#ifndef AUDIT_PREFIX
-#define AUDIT_PREFIX "AUDIT: %s: %ld %s: "
-#endif
+#define AUDIT_PREFIX "AUDIT: %s: %ld: "
#ifndef AUDIT_TIMEOUT
#define AUDIT_TIMEOUT ((CARD32)(120 * 1000)) /* 2 mn */
#endif
@@ -451,15 +439,11 @@ AuditPrefix(void)
autime = ctime(&tm);
if ((s = strchr(autime, '\n')))
*s = '\0';
- if ((s = strrchr(argvGlobal[0], '/')))
- s++;
- else
- s = argvGlobal[0];
- len = strlen(AUDIT_PREFIX) + strlen(autime) + 10 + strlen(s) + 1;
+ len = strlen(AUDIT_PREFIX) + strlen(autime) + 10 + 1;
tmpBuf = malloc(len);
if (!tmpBuf)
return NULL;
- snprintf(tmpBuf, len, AUDIT_PREFIX, autime, (unsigned long)getpid(), s);
+ snprintf(tmpBuf, len, AUDIT_PREFIX, autime, (unsigned long)getpid());
return tmpBuf;
}
@@ -505,15 +489,6 @@ VAuditF(const char *f, va_list args)
prefix = AuditPrefix();
len = vsnprintf(buf, sizeof(buf), f, args);
-#if 1
- /* XXX Compressing duplicated messages is temporarily disabled to
- * work around bugzilla 964:
- * https://freedesktop.org/bugzilla/show_bug.cgi?id=964
- */
- ErrorF("%s%s", prefix != NULL ? prefix : "", buf);
- oldlen = -1;
- nrepeat = 0;
-#else
if (len == oldlen && strcmp(buf, oldbuf) == 0) {
/* Message already seen */
nrepeat++;
@@ -527,7 +502,6 @@ VAuditF(const char *f, va_list args)
nrepeat = 0;
auditTimer = TimerSet(auditTimer, 0, AUDIT_TIMEOUT, AuditFlush, NULL);
}
-#endif
if (prefix != NULL)
free(prefix);
}
@@ -547,13 +521,8 @@ FatalError(const char *f, ...)
VErrorF(f, args);
va_end(args);
ErrorF("\n");
-#ifdef DDXOSFATALERROR
if (!beenhere)
OsVendorFatalError();
-#endif
-#ifdef ABORTONFATALERROR
- abort();
-#endif
if (!beenhere) {
beenhere = TRUE;
AbortServer();
@@ -587,21 +556,6 @@ ErrorF(const char * f, ...)
/* A perror() workalike. */
-#ifndef NEED_STRERROR
-#ifdef SYSV
-#if !defined(ISC) || defined(ISC202) || defined(ISC22)
-#define NEED_STRERROR
-#endif
-#endif
-#endif
-
-#if defined(NEED_STRERROR) && !defined(strerror)
-extern char *sys_errlist[];
-extern int sys_nerr;
-#define strerror(n) \
- ((n) >= 0 && (n) < sys_nerr) ? sys_errlist[(n)] : "unknown error"
-#endif
-
_X_EXPORT void
Error(char *str)
{
@@ -614,9 +568,10 @@ Error(char *str)
return;
sprintf(err, "%s: ", str);
strcat(err, strerror(saveErrno));
- LogWrite(-1, err);
+ LogWrite(-1, "%s", err);
+ free(err);
} else
- LogWrite(-1, strerror(saveErrno));
+ LogWrite(-1, "%s", strerror(saveErrno));
}
void
diff --git a/xorg-server/os/oscolor.c b/xorg-server/os/oscolor.c
index f3ff9beac..7f6b93880 100644
--- a/xorg-server/os/oscolor.c
+++ b/xorg-server/os/oscolor.c
@@ -59,60 +59,1527 @@ typedef struct _builtinColor {
unsigned short name;
} BuiltinColor;
-/* These have to come after the struct definition because despair. */
-#include "oscolor.h"
-#define NUM_BUILTIN_COLORS (sizeof (BuiltinColors) / sizeof (BuiltinColors[0]))
+static const char BuiltinColorNames[] = {
+ "alice blue\0"
+ "AliceBlue\0"
+ "antique white\0"
+ "AntiqueWhite\0"
+ "AntiqueWhite1\0"
+ "AntiqueWhite2\0"
+ "AntiqueWhite3\0"
+ "AntiqueWhite4\0"
+ "aquamarine\0"
+ "aquamarine1\0"
+ "aquamarine2\0"
+ "aquamarine3\0"
+ "aquamarine4\0"
+ "azure\0"
+ "azure1\0"
+ "azure2\0"
+ "azure3\0"
+ "azure4\0"
+ "beige\0"
+ "bisque\0"
+ "bisque1\0"
+ "bisque2\0"
+ "bisque3\0"
+ "bisque4\0"
+ "black\0"
+ "blanched almond\0"
+ "BlanchedAlmond\0"
+ "blue\0"
+ "blue violet\0"
+ "blue1\0"
+ "blue2\0"
+ "blue3\0"
+ "blue4\0"
+ "BlueViolet\0"
+ "brown\0"
+ "brown1\0"
+ "brown2\0"
+ "brown3\0"
+ "brown4\0"
+ "burlywood\0"
+ "burlywood1\0"
+ "burlywood2\0"
+ "burlywood3\0"
+ "burlywood4\0"
+ "cadet blue\0"
+ "CadetBlue\0"
+ "CadetBlue1\0"
+ "CadetBlue2\0"
+ "CadetBlue3\0"
+ "CadetBlue4\0"
+ "chartreuse\0"
+ "chartreuse1\0"
+ "chartreuse2\0"
+ "chartreuse3\0"
+ "chartreuse4\0"
+ "chocolate\0"
+ "chocolate1\0"
+ "chocolate2\0"
+ "chocolate3\0"
+ "chocolate4\0"
+ "coral\0"
+ "coral1\0"
+ "coral2\0"
+ "coral3\0"
+ "coral4\0"
+ "cornflower blue\0"
+ "CornflowerBlue\0"
+ "cornsilk\0"
+ "cornsilk1\0"
+ "cornsilk2\0"
+ "cornsilk3\0"
+ "cornsilk4\0"
+ "cyan\0"
+ "cyan1\0"
+ "cyan2\0"
+ "cyan3\0"
+ "cyan4\0"
+ "dark blue\0"
+ "dark cyan\0"
+ "dark goldenrod\0"
+ "dark gray\0"
+ "dark green\0"
+ "dark grey\0"
+ "dark khaki\0"
+ "dark magenta\0"
+ "dark olive green\0"
+ "dark orange\0"
+ "dark orchid\0"
+ "dark red\0"
+ "dark salmon\0"
+ "dark sea green\0"
+ "dark slate blue\0"
+ "dark slate gray\0"
+ "dark slate grey\0"
+ "dark turquoise\0"
+ "dark violet\0"
+ "DarkBlue\0"
+ "DarkCyan\0"
+ "DarkGoldenrod\0"
+ "DarkGoldenrod1\0"
+ "DarkGoldenrod2\0"
+ "DarkGoldenrod3\0"
+ "DarkGoldenrod4\0"
+ "DarkGray\0"
+ "DarkGreen\0"
+ "DarkGrey\0"
+ "DarkKhaki\0"
+ "DarkMagenta\0"
+ "DarkOliveGreen\0"
+ "DarkOliveGreen1\0"
+ "DarkOliveGreen2\0"
+ "DarkOliveGreen3\0"
+ "DarkOliveGreen4\0"
+ "DarkOrange\0"
+ "DarkOrange1\0"
+ "DarkOrange2\0"
+ "DarkOrange3\0"
+ "DarkOrange4\0"
+ "DarkOrchid\0"
+ "DarkOrchid1\0"
+ "DarkOrchid2\0"
+ "DarkOrchid3\0"
+ "DarkOrchid4\0"
+ "DarkRed\0"
+ "DarkSalmon\0"
+ "DarkSeaGreen\0"
+ "DarkSeaGreen1\0"
+ "DarkSeaGreen2\0"
+ "DarkSeaGreen3\0"
+ "DarkSeaGreen4\0"
+ "DarkSlateBlue\0"
+ "DarkSlateGray\0"
+ "DarkSlateGray1\0"
+ "DarkSlateGray2\0"
+ "DarkSlateGray3\0"
+ "DarkSlateGray4\0"
+ "DarkSlateGrey\0"
+ "DarkTurquoise\0"
+ "DarkViolet\0"
+ "deep pink\0"
+ "deep sky blue\0"
+ "DeepPink\0"
+ "DeepPink1\0"
+ "DeepPink2\0"
+ "DeepPink3\0"
+ "DeepPink4\0"
+ "DeepSkyBlue\0"
+ "DeepSkyBlue1\0"
+ "DeepSkyBlue2\0"
+ "DeepSkyBlue3\0"
+ "DeepSkyBlue4\0"
+ "dim gray\0"
+ "dim grey\0"
+ "DimGray\0"
+ "DimGrey\0"
+ "dodger blue\0"
+ "DodgerBlue\0"
+ "DodgerBlue1\0"
+ "DodgerBlue2\0"
+ "DodgerBlue3\0"
+ "DodgerBlue4\0"
+ "firebrick\0"
+ "firebrick1\0"
+ "firebrick2\0"
+ "firebrick3\0"
+ "firebrick4\0"
+ "floral white\0"
+ "FloralWhite\0"
+ "forest green\0"
+ "ForestGreen\0"
+ "gainsboro\0"
+ "ghost white\0"
+ "GhostWhite\0"
+ "gold\0"
+ "gold1\0"
+ "gold2\0"
+ "gold3\0"
+ "gold4\0"
+ "goldenrod\0"
+ "goldenrod1\0"
+ "goldenrod2\0"
+ "goldenrod3\0"
+ "goldenrod4\0"
+ "gray\0"
+ "gray0\0"
+ "gray1\0"
+ "gray10\0"
+ "gray100\0"
+ "gray11\0"
+ "gray12\0"
+ "gray13\0"
+ "gray14\0"
+ "gray15\0"
+ "gray16\0"
+ "gray17\0"
+ "gray18\0"
+ "gray19\0"
+ "gray2\0"
+ "gray20\0"
+ "gray21\0"
+ "gray22\0"
+ "gray23\0"
+ "gray24\0"
+ "gray25\0"
+ "gray26\0"
+ "gray27\0"
+ "gray28\0"
+ "gray29\0"
+ "gray3\0"
+ "gray30\0"
+ "gray31\0"
+ "gray32\0"
+ "gray33\0"
+ "gray34\0"
+ "gray35\0"
+ "gray36\0"
+ "gray37\0"
+ "gray38\0"
+ "gray39\0"
+ "gray4\0"
+ "gray40\0"
+ "gray41\0"
+ "gray42\0"
+ "gray43\0"
+ "gray44\0"
+ "gray45\0"
+ "gray46\0"
+ "gray47\0"
+ "gray48\0"
+ "gray49\0"
+ "gray5\0"
+ "gray50\0"
+ "gray51\0"
+ "gray52\0"
+ "gray53\0"
+ "gray54\0"
+ "gray55\0"
+ "gray56\0"
+ "gray57\0"
+ "gray58\0"
+ "gray59\0"
+ "gray6\0"
+ "gray60\0"
+ "gray61\0"
+ "gray62\0"
+ "gray63\0"
+ "gray64\0"
+ "gray65\0"
+ "gray66\0"
+ "gray67\0"
+ "gray68\0"
+ "gray69\0"
+ "gray7\0"
+ "gray70\0"
+ "gray71\0"
+ "gray72\0"
+ "gray73\0"
+ "gray74\0"
+ "gray75\0"
+ "gray76\0"
+ "gray77\0"
+ "gray78\0"
+ "gray79\0"
+ "gray8\0"
+ "gray80\0"
+ "gray81\0"
+ "gray82\0"
+ "gray83\0"
+ "gray84\0"
+ "gray85\0"
+ "gray86\0"
+ "gray87\0"
+ "gray88\0"
+ "gray89\0"
+ "gray9\0"
+ "gray90\0"
+ "gray91\0"
+ "gray92\0"
+ "gray93\0"
+ "gray94\0"
+ "gray95\0"
+ "gray96\0"
+ "gray97\0"
+ "gray98\0"
+ "gray99\0"
+ "green\0"
+ "green yellow\0"
+ "green1\0"
+ "green2\0"
+ "green3\0"
+ "green4\0"
+ "GreenYellow\0"
+ "grey\0"
+ "grey0\0"
+ "grey1\0"
+ "grey10\0"
+ "grey100\0"
+ "grey11\0"
+ "grey12\0"
+ "grey13\0"
+ "grey14\0"
+ "grey15\0"
+ "grey16\0"
+ "grey17\0"
+ "grey18\0"
+ "grey19\0"
+ "grey2\0"
+ "grey20\0"
+ "grey21\0"
+ "grey22\0"
+ "grey23\0"
+ "grey24\0"
+ "grey25\0"
+ "grey26\0"
+ "grey27\0"
+ "grey28\0"
+ "grey29\0"
+ "grey3\0"
+ "grey30\0"
+ "grey31\0"
+ "grey32\0"
+ "grey33\0"
+ "grey34\0"
+ "grey35\0"
+ "grey36\0"
+ "grey37\0"
+ "grey38\0"
+ "grey39\0"
+ "grey4\0"
+ "grey40\0"
+ "grey41\0"
+ "grey42\0"
+ "grey43\0"
+ "grey44\0"
+ "grey45\0"
+ "grey46\0"
+ "grey47\0"
+ "grey48\0"
+ "grey49\0"
+ "grey5\0"
+ "grey50\0"
+ "grey51\0"
+ "grey52\0"
+ "grey53\0"
+ "grey54\0"
+ "grey55\0"
+ "grey56\0"
+ "grey57\0"
+ "grey58\0"
+ "grey59\0"
+ "grey6\0"
+ "grey60\0"
+ "grey61\0"
+ "grey62\0"
+ "grey63\0"
+ "grey64\0"
+ "grey65\0"
+ "grey66\0"
+ "grey67\0"
+ "grey68\0"
+ "grey69\0"
+ "grey7\0"
+ "grey70\0"
+ "grey71\0"
+ "grey72\0"
+ "grey73\0"
+ "grey74\0"
+ "grey75\0"
+ "grey76\0"
+ "grey77\0"
+ "grey78\0"
+ "grey79\0"
+ "grey8\0"
+ "grey80\0"
+ "grey81\0"
+ "grey82\0"
+ "grey83\0"
+ "grey84\0"
+ "grey85\0"
+ "grey86\0"
+ "grey87\0"
+ "grey88\0"
+ "grey89\0"
+ "grey9\0"
+ "grey90\0"
+ "grey91\0"
+ "grey92\0"
+ "grey93\0"
+ "grey94\0"
+ "grey95\0"
+ "grey96\0"
+ "grey97\0"
+ "grey98\0"
+ "grey99\0"
+ "honeydew\0"
+ "honeydew1\0"
+ "honeydew2\0"
+ "honeydew3\0"
+ "honeydew4\0"
+ "hot pink\0"
+ "HotPink\0"
+ "HotPink1\0"
+ "HotPink2\0"
+ "HotPink3\0"
+ "HotPink4\0"
+ "indian red\0"
+ "IndianRed\0"
+ "IndianRed1\0"
+ "IndianRed2\0"
+ "IndianRed3\0"
+ "IndianRed4\0"
+ "ivory\0"
+ "ivory1\0"
+ "ivory2\0"
+ "ivory3\0"
+ "ivory4\0"
+ "khaki\0"
+ "khaki1\0"
+ "khaki2\0"
+ "khaki3\0"
+ "khaki4\0"
+ "lavender\0"
+ "lavender blush\0"
+ "LavenderBlush\0"
+ "LavenderBlush1\0"
+ "LavenderBlush2\0"
+ "LavenderBlush3\0"
+ "LavenderBlush4\0"
+ "lawn green\0"
+ "LawnGreen\0"
+ "lemon chiffon\0"
+ "LemonChiffon\0"
+ "LemonChiffon1\0"
+ "LemonChiffon2\0"
+ "LemonChiffon3\0"
+ "LemonChiffon4\0"
+ "light blue\0"
+ "light coral\0"
+ "light cyan\0"
+ "light goldenrod\0"
+ "light goldenrod yellow\0"
+ "light gray\0"
+ "light green\0"
+ "light grey\0"
+ "light pink\0"
+ "light salmon\0"
+ "light sea green\0"
+ "light sky blue\0"
+ "light slate blue\0"
+ "light slate gray\0"
+ "light slate grey\0"
+ "light steel blue\0"
+ "light yellow\0"
+ "LightBlue\0"
+ "LightBlue1\0"
+ "LightBlue2\0"
+ "LightBlue3\0"
+ "LightBlue4\0"
+ "LightCoral\0"
+ "LightCyan\0"
+ "LightCyan1\0"
+ "LightCyan2\0"
+ "LightCyan3\0"
+ "LightCyan4\0"
+ "LightGoldenrod\0"
+ "LightGoldenrod1\0"
+ "LightGoldenrod2\0"
+ "LightGoldenrod3\0"
+ "LightGoldenrod4\0"
+ "LightGoldenrodYellow\0"
+ "LightGray\0"
+ "LightGreen\0"
+ "LightGrey\0"
+ "LightPink\0"
+ "LightPink1\0"
+ "LightPink2\0"
+ "LightPink3\0"
+ "LightPink4\0"
+ "LightSalmon\0"
+ "LightSalmon1\0"
+ "LightSalmon2\0"
+ "LightSalmon3\0"
+ "LightSalmon4\0"
+ "LightSeaGreen\0"
+ "LightSkyBlue\0"
+ "LightSkyBlue1\0"
+ "LightSkyBlue2\0"
+ "LightSkyBlue3\0"
+ "LightSkyBlue4\0"
+ "LightSlateBlue\0"
+ "LightSlateGray\0"
+ "LightSlateGrey\0"
+ "LightSteelBlue\0"
+ "LightSteelBlue1\0"
+ "LightSteelBlue2\0"
+ "LightSteelBlue3\0"
+ "LightSteelBlue4\0"
+ "LightYellow\0"
+ "LightYellow1\0"
+ "LightYellow2\0"
+ "LightYellow3\0"
+ "LightYellow4\0"
+ "lime green\0"
+ "LimeGreen\0"
+ "linen\0"
+ "magenta\0"
+ "magenta1\0"
+ "magenta2\0"
+ "magenta3\0"
+ "magenta4\0"
+ "maroon\0"
+ "maroon1\0"
+ "maroon2\0"
+ "maroon3\0"
+ "maroon4\0"
+ "medium aquamarine\0"
+ "medium blue\0"
+ "medium orchid\0"
+ "medium purple\0"
+ "medium sea green\0"
+ "medium slate blue\0"
+ "medium spring green\0"
+ "medium turquoise\0"
+ "medium violet red\0"
+ "MediumAquamarine\0"
+ "MediumBlue\0"
+ "MediumOrchid\0"
+ "MediumOrchid1\0"
+ "MediumOrchid2\0"
+ "MediumOrchid3\0"
+ "MediumOrchid4\0"
+ "MediumPurple\0"
+ "MediumPurple1\0"
+ "MediumPurple2\0"
+ "MediumPurple3\0"
+ "MediumPurple4\0"
+ "MediumSeaGreen\0"
+ "MediumSlateBlue\0"
+ "MediumSpringGreen\0"
+ "MediumTurquoise\0"
+ "MediumVioletRed\0"
+ "midnight blue\0"
+ "MidnightBlue\0"
+ "mint cream\0"
+ "MintCream\0"
+ "misty rose\0"
+ "MistyRose\0"
+ "MistyRose1\0"
+ "MistyRose2\0"
+ "MistyRose3\0"
+ "MistyRose4\0"
+ "moccasin\0"
+ "navajo white\0"
+ "NavajoWhite\0"
+ "NavajoWhite1\0"
+ "NavajoWhite2\0"
+ "NavajoWhite3\0"
+ "NavajoWhite4\0"
+ "navy\0"
+ "navy blue\0"
+ "NavyBlue\0"
+ "old lace\0"
+ "OldLace\0"
+ "olive drab\0"
+ "OliveDrab\0"
+ "OliveDrab1\0"
+ "OliveDrab2\0"
+ "OliveDrab3\0"
+ "OliveDrab4\0"
+ "orange\0"
+ "orange red\0"
+ "orange1\0"
+ "orange2\0"
+ "orange3\0"
+ "orange4\0"
+ "OrangeRed\0"
+ "OrangeRed1\0"
+ "OrangeRed2\0"
+ "OrangeRed3\0"
+ "OrangeRed4\0"
+ "orchid\0"
+ "orchid1\0"
+ "orchid2\0"
+ "orchid3\0"
+ "orchid4\0"
+ "pale goldenrod\0"
+ "pale green\0"
+ "pale turquoise\0"
+ "pale violet red\0"
+ "PaleGoldenrod\0"
+ "PaleGreen\0"
+ "PaleGreen1\0"
+ "PaleGreen2\0"
+ "PaleGreen3\0"
+ "PaleGreen4\0"
+ "PaleTurquoise\0"
+ "PaleTurquoise1\0"
+ "PaleTurquoise2\0"
+ "PaleTurquoise3\0"
+ "PaleTurquoise4\0"
+ "PaleVioletRed\0"
+ "PaleVioletRed1\0"
+ "PaleVioletRed2\0"
+ "PaleVioletRed3\0"
+ "PaleVioletRed4\0"
+ "papaya whip\0"
+ "PapayaWhip\0"
+ "peach puff\0"
+ "PeachPuff\0"
+ "PeachPuff1\0"
+ "PeachPuff2\0"
+ "PeachPuff3\0"
+ "PeachPuff4\0"
+ "peru\0"
+ "pink\0"
+ "pink1\0"
+ "pink2\0"
+ "pink3\0"
+ "pink4\0"
+ "plum\0"
+ "plum1\0"
+ "plum2\0"
+ "plum3\0"
+ "plum4\0"
+ "powder blue\0"
+ "PowderBlue\0"
+ "purple\0"
+ "purple1\0"
+ "purple2\0"
+ "purple3\0"
+ "purple4\0"
+ "red\0"
+ "red1\0"
+ "red2\0"
+ "red3\0"
+ "red4\0"
+ "rosy brown\0"
+ "RosyBrown\0"
+ "RosyBrown1\0"
+ "RosyBrown2\0"
+ "RosyBrown3\0"
+ "RosyBrown4\0"
+ "royal blue\0"
+ "RoyalBlue\0"
+ "RoyalBlue1\0"
+ "RoyalBlue2\0"
+ "RoyalBlue3\0"
+ "RoyalBlue4\0"
+ "saddle brown\0"
+ "SaddleBrown\0"
+ "salmon\0"
+ "salmon1\0"
+ "salmon2\0"
+ "salmon3\0"
+ "salmon4\0"
+ "sandy brown\0"
+ "SandyBrown\0"
+ "sea green\0"
+ "SeaGreen\0"
+ "SeaGreen1\0"
+ "SeaGreen2\0"
+ "SeaGreen3\0"
+ "SeaGreen4\0"
+ "seashell\0"
+ "seashell1\0"
+ "seashell2\0"
+ "seashell3\0"
+ "seashell4\0"
+ "sienna\0"
+ "sienna1\0"
+ "sienna2\0"
+ "sienna3\0"
+ "sienna4\0"
+ "sky blue\0"
+ "SkyBlue\0"
+ "SkyBlue1\0"
+ "SkyBlue2\0"
+ "SkyBlue3\0"
+ "SkyBlue4\0"
+ "slate blue\0"
+ "slate gray\0"
+ "slate grey\0"
+ "SlateBlue\0"
+ "SlateBlue1\0"
+ "SlateBlue2\0"
+ "SlateBlue3\0"
+ "SlateBlue4\0"
+ "SlateGray\0"
+ "SlateGray1\0"
+ "SlateGray2\0"
+ "SlateGray3\0"
+ "SlateGray4\0"
+ "SlateGrey\0"
+ "snow\0"
+ "snow1\0"
+ "snow2\0"
+ "snow3\0"
+ "snow4\0"
+ "spring green\0"
+ "SpringGreen\0"
+ "SpringGreen1\0"
+ "SpringGreen2\0"
+ "SpringGreen3\0"
+ "SpringGreen4\0"
+ "steel blue\0"
+ "SteelBlue\0"
+ "SteelBlue1\0"
+ "SteelBlue2\0"
+ "SteelBlue3\0"
+ "SteelBlue4\0"
+ "tan\0"
+ "tan1\0"
+ "tan2\0"
+ "tan3\0"
+ "tan4\0"
+ "thistle\0"
+ "thistle1\0"
+ "thistle2\0"
+ "thistle3\0"
+ "thistle4\0"
+ "tomato\0"
+ "tomato1\0"
+ "tomato2\0"
+ "tomato3\0"
+ "tomato4\0"
+ "turquoise\0"
+ "turquoise1\0"
+ "turquoise2\0"
+ "turquoise3\0"
+ "turquoise4\0"
+ "violet\0"
+ "violet red\0"
+ "VioletRed\0"
+ "VioletRed1\0"
+ "VioletRed2\0"
+ "VioletRed3\0"
+ "VioletRed4\0"
+ "wheat\0"
+ "wheat1\0"
+ "wheat2\0"
+ "wheat3\0"
+ "wheat4\0"
+ "white\0"
+ "white smoke\0"
+ "WhiteSmoke\0"
+ "yellow\0"
+ "yellow green\0"
+ "yellow1\0"
+ "yellow2\0"
+ "yellow3\0"
+ "yellow4\0"
+ "YellowGreen\0"
+};
-static unsigned char
-OsToLower (unsigned char a)
-{
- if ((a >= XK_A) && (a <= XK_Z))
- return a + (XK_a - XK_A);
- else if ((a >= XK_Agrave) && (a <= XK_Odiaeresis))
- return a + (XK_agrave - XK_Agrave);
- else if ((a >= XK_Ooblique) && (a <= XK_Thorn))
- return a + (XK_oslash - XK_Ooblique);
- else
- return a;
-}
-
-static int
-OsStrCaseCmp (const unsigned char *s1, const unsigned char *s2, int l2)
-{
- unsigned char c1, c2;
-
- for (;;)
- {
- c1 = OsToLower (*s1++);
- if (l2 == 0)
- c2 = '\0';
- else
- c2 = OsToLower (*s2++);
- if (!c1 || !c2)
- break;
- if (c1 != c2)
- break;
- l2--;
- }
- return c2 - c1;
-}
+static const BuiltinColor BuiltinColors[] = {
+ { 240, 248, 255, 0 }, /* alice blue */
+ { 240, 248, 255, 11 }, /* AliceBlue */
+ { 250, 235, 215, 21 }, /* antique white */
+ { 250, 235, 215, 35 }, /* AntiqueWhite */
+ { 255, 239, 219, 48 }, /* AntiqueWhite1 */
+ { 238, 223, 204, 62 }, /* AntiqueWhite2 */
+ { 205, 192, 176, 76 }, /* AntiqueWhite3 */
+ { 139, 131, 120, 90 }, /* AntiqueWhite4 */
+ { 127, 255, 212, 104 }, /* aquamarine */
+ { 127, 255, 212, 115 }, /* aquamarine1 */
+ { 118, 238, 198, 127 }, /* aquamarine2 */
+ { 102, 205, 170, 139 }, /* aquamarine3 */
+ { 69, 139, 116, 151 }, /* aquamarine4 */
+ { 240, 255, 255, 163 }, /* azure */
+ { 240, 255, 255, 169 }, /* azure1 */
+ { 224, 238, 238, 176 }, /* azure2 */
+ { 193, 205, 205, 183 }, /* azure3 */
+ { 131, 139, 139, 190 }, /* azure4 */
+ { 245, 245, 220, 197 }, /* beige */
+ { 255, 228, 196, 203 }, /* bisque */
+ { 255, 228, 196, 210 }, /* bisque1 */
+ { 238, 213, 183, 218 }, /* bisque2 */
+ { 205, 183, 158, 226 }, /* bisque3 */
+ { 139, 125, 107, 234 }, /* bisque4 */
+ { 0, 0, 0, 242 }, /* black */
+ { 255, 235, 205, 248 }, /* blanched almond */
+ { 255, 235, 205, 264 }, /* BlanchedAlmond */
+ { 0, 0, 255, 279 }, /* blue */
+ { 138, 43, 226, 284 }, /* blue violet */
+ { 0, 0, 255, 296 }, /* blue1 */
+ { 0, 0, 238, 302 }, /* blue2 */
+ { 0, 0, 205, 308 }, /* blue3 */
+ { 0, 0, 139, 314 }, /* blue4 */
+ { 138, 43, 226, 320 }, /* BlueViolet */
+ { 165, 42, 42, 331 }, /* brown */
+ { 255, 64, 64, 337 }, /* brown1 */
+ { 238, 59, 59, 344 }, /* brown2 */
+ { 205, 51, 51, 351 }, /* brown3 */
+ { 139, 35, 35, 358 }, /* brown4 */
+ { 222, 184, 135, 365 }, /* burlywood */
+ { 255, 211, 155, 375 }, /* burlywood1 */
+ { 238, 197, 145, 386 }, /* burlywood2 */
+ { 205, 170, 125, 397 }, /* burlywood3 */
+ { 139, 115, 85, 408 }, /* burlywood4 */
+ { 95, 158, 160, 419 }, /* cadet blue */
+ { 95, 158, 160, 430 }, /* CadetBlue */
+ { 152, 245, 255, 440 }, /* CadetBlue1 */
+ { 142, 229, 238, 451 }, /* CadetBlue2 */
+ { 122, 197, 205, 462 }, /* CadetBlue3 */
+ { 83, 134, 139, 473 }, /* CadetBlue4 */
+ { 127, 255, 0, 484 }, /* chartreuse */
+ { 127, 255, 0, 495 }, /* chartreuse1 */
+ { 118, 238, 0, 507 }, /* chartreuse2 */
+ { 102, 205, 0, 519 }, /* chartreuse3 */
+ { 69, 139, 0, 531 }, /* chartreuse4 */
+ { 210, 105, 30, 543 }, /* chocolate */
+ { 255, 127, 36, 553 }, /* chocolate1 */
+ { 238, 118, 33, 564 }, /* chocolate2 */
+ { 205, 102, 29, 575 }, /* chocolate3 */
+ { 139, 69, 19, 586 }, /* chocolate4 */
+ { 255, 127, 80, 597 }, /* coral */
+ { 255, 114, 86, 603 }, /* coral1 */
+ { 238, 106, 80, 610 }, /* coral2 */
+ { 205, 91, 69, 617 }, /* coral3 */
+ { 139, 62, 47, 624 }, /* coral4 */
+ { 100, 149, 237, 631 }, /* cornflower blue */
+ { 100, 149, 237, 647 }, /* CornflowerBlue */
+ { 255, 248, 220, 662 }, /* cornsilk */
+ { 255, 248, 220, 671 }, /* cornsilk1 */
+ { 238, 232, 205, 681 }, /* cornsilk2 */
+ { 205, 200, 177, 691 }, /* cornsilk3 */
+ { 139, 136, 120, 701 }, /* cornsilk4 */
+ { 0, 255, 255, 711 }, /* cyan */
+ { 0, 255, 255, 716 }, /* cyan1 */
+ { 0, 238, 238, 722 }, /* cyan2 */
+ { 0, 205, 205, 728 }, /* cyan3 */
+ { 0, 139, 139, 734 }, /* cyan4 */
+ { 0, 0, 139, 740 }, /* dark blue */
+ { 0, 139, 139, 750 }, /* dark cyan */
+ { 184, 134, 11, 760 }, /* dark goldenrod */
+ { 169, 169, 169, 775 }, /* dark gray */
+ { 0, 100, 0, 785 }, /* dark green */
+ { 169, 169, 169, 796 }, /* dark grey */
+ { 189, 183, 107, 806 }, /* dark khaki */
+ { 139, 0, 139, 817 }, /* dark magenta */
+ { 85, 107, 47, 830 }, /* dark olive green */
+ { 255, 140, 0, 847 }, /* dark orange */
+ { 153, 50, 204, 859 }, /* dark orchid */
+ { 139, 0, 0, 871 }, /* dark red */
+ { 233, 150, 122, 880 }, /* dark salmon */
+ { 143, 188, 143, 892 }, /* dark sea green */
+ { 72, 61, 139, 907 }, /* dark slate blue */
+ { 47, 79, 79, 923 }, /* dark slate gray */
+ { 47, 79, 79, 939 }, /* dark slate grey */
+ { 0, 206, 209, 955 }, /* dark turquoise */
+ { 148, 0, 211, 970 }, /* dark violet */
+ { 0, 0, 139, 982 }, /* DarkBlue */
+ { 0, 139, 139, 991 }, /* DarkCyan */
+ { 184, 134, 11, 1000 }, /* DarkGoldenrod */
+ { 255, 185, 15, 1014 }, /* DarkGoldenrod1 */
+ { 238, 173, 14, 1029 }, /* DarkGoldenrod2 */
+ { 205, 149, 12, 1044 }, /* DarkGoldenrod3 */
+ { 139, 101, 8, 1059 }, /* DarkGoldenrod4 */
+ { 169, 169, 169, 1074 }, /* DarkGray */
+ { 0, 100, 0, 1083 }, /* DarkGreen */
+ { 169, 169, 169, 1093 }, /* DarkGrey */
+ { 189, 183, 107, 1102 }, /* DarkKhaki */
+ { 139, 0, 139, 1112 }, /* DarkMagenta */
+ { 85, 107, 47, 1124 }, /* DarkOliveGreen */
+ { 202, 255, 112, 1139 }, /* DarkOliveGreen1 */
+ { 188, 238, 104, 1155 }, /* DarkOliveGreen2 */
+ { 162, 205, 90, 1171 }, /* DarkOliveGreen3 */
+ { 110, 139, 61, 1187 }, /* DarkOliveGreen4 */
+ { 255, 140, 0, 1203 }, /* DarkOrange */
+ { 255, 127, 0, 1214 }, /* DarkOrange1 */
+ { 238, 118, 0, 1226 }, /* DarkOrange2 */
+ { 205, 102, 0, 1238 }, /* DarkOrange3 */
+ { 139, 69, 0, 1250 }, /* DarkOrange4 */
+ { 153, 50, 204, 1262 }, /* DarkOrchid */
+ { 191, 62, 255, 1273 }, /* DarkOrchid1 */
+ { 178, 58, 238, 1285 }, /* DarkOrchid2 */
+ { 154, 50, 205, 1297 }, /* DarkOrchid3 */
+ { 104, 34, 139, 1309 }, /* DarkOrchid4 */
+ { 139, 0, 0, 1321 }, /* DarkRed */
+ { 233, 150, 122, 1329 }, /* DarkSalmon */
+ { 143, 188, 143, 1340 }, /* DarkSeaGreen */
+ { 193, 255, 193, 1353 }, /* DarkSeaGreen1 */
+ { 180, 238, 180, 1367 }, /* DarkSeaGreen2 */
+ { 155, 205, 155, 1381 }, /* DarkSeaGreen3 */
+ { 105, 139, 105, 1395 }, /* DarkSeaGreen4 */
+ { 72, 61, 139, 1409 }, /* DarkSlateBlue */
+ { 47, 79, 79, 1423 }, /* DarkSlateGray */
+ { 151, 255, 255, 1437 }, /* DarkSlateGray1 */
+ { 141, 238, 238, 1452 }, /* DarkSlateGray2 */
+ { 121, 205, 205, 1467 }, /* DarkSlateGray3 */
+ { 82, 139, 139, 1482 }, /* DarkSlateGray4 */
+ { 47, 79, 79, 1497 }, /* DarkSlateGrey */
+ { 0, 206, 209, 1511 }, /* DarkTurquoise */
+ { 148, 0, 211, 1525 }, /* DarkViolet */
+ { 255, 20, 147, 1536 }, /* deep pink */
+ { 0, 191, 255, 1546 }, /* deep sky blue */
+ { 255, 20, 147, 1560 }, /* DeepPink */
+ { 255, 20, 147, 1569 }, /* DeepPink1 */
+ { 238, 18, 137, 1579 }, /* DeepPink2 */
+ { 205, 16, 118, 1589 }, /* DeepPink3 */
+ { 139, 10, 80, 1599 }, /* DeepPink4 */
+ { 0, 191, 255, 1609 }, /* DeepSkyBlue */
+ { 0, 191, 255, 1621 }, /* DeepSkyBlue1 */
+ { 0, 178, 238, 1634 }, /* DeepSkyBlue2 */
+ { 0, 154, 205, 1647 }, /* DeepSkyBlue3 */
+ { 0, 104, 139, 1660 }, /* DeepSkyBlue4 */
+ { 105, 105, 105, 1673 }, /* dim gray */
+ { 105, 105, 105, 1682 }, /* dim grey */
+ { 105, 105, 105, 1691 }, /* DimGray */
+ { 105, 105, 105, 1699 }, /* DimGrey */
+ { 30, 144, 255, 1707 }, /* dodger blue */
+ { 30, 144, 255, 1719 }, /* DodgerBlue */
+ { 30, 144, 255, 1730 }, /* DodgerBlue1 */
+ { 28, 134, 238, 1742 }, /* DodgerBlue2 */
+ { 24, 116, 205, 1754 }, /* DodgerBlue3 */
+ { 16, 78, 139, 1766 }, /* DodgerBlue4 */
+ { 178, 34, 34, 1778 }, /* firebrick */
+ { 255, 48, 48, 1788 }, /* firebrick1 */
+ { 238, 44, 44, 1799 }, /* firebrick2 */
+ { 205, 38, 38, 1810 }, /* firebrick3 */
+ { 139, 26, 26, 1821 }, /* firebrick4 */
+ { 255, 250, 240, 1832 }, /* floral white */
+ { 255, 250, 240, 1845 }, /* FloralWhite */
+ { 34, 139, 34, 1857 }, /* forest green */
+ { 34, 139, 34, 1870 }, /* ForestGreen */
+ { 220, 220, 220, 1882 }, /* gainsboro */
+ { 248, 248, 255, 1892 }, /* ghost white */
+ { 248, 248, 255, 1904 }, /* GhostWhite */
+ { 255, 215, 0, 1915 }, /* gold */
+ { 255, 215, 0, 1920 }, /* gold1 */
+ { 238, 201, 0, 1926 }, /* gold2 */
+ { 205, 173, 0, 1932 }, /* gold3 */
+ { 139, 117, 0, 1938 }, /* gold4 */
+ { 218, 165, 32, 1944 }, /* goldenrod */
+ { 255, 193, 37, 1954 }, /* goldenrod1 */
+ { 238, 180, 34, 1965 }, /* goldenrod2 */
+ { 205, 155, 29, 1976 }, /* goldenrod3 */
+ { 139, 105, 20, 1987 }, /* goldenrod4 */
+ { 190, 190, 190, 1998 }, /* gray */
+ { 0, 0, 0, 2003 }, /* gray0 */
+ { 3, 3, 3, 2009 }, /* gray1 */
+ { 26, 26, 26, 2015 }, /* gray10 */
+ { 255, 255, 255, 2022 }, /* gray100 */
+ { 28, 28, 28, 2030 }, /* gray11 */
+ { 31, 31, 31, 2037 }, /* gray12 */
+ { 33, 33, 33, 2044 }, /* gray13 */
+ { 36, 36, 36, 2051 }, /* gray14 */
+ { 38, 38, 38, 2058 }, /* gray15 */
+ { 41, 41, 41, 2065 }, /* gray16 */
+ { 43, 43, 43, 2072 }, /* gray17 */
+ { 46, 46, 46, 2079 }, /* gray18 */
+ { 48, 48, 48, 2086 }, /* gray19 */
+ { 5, 5, 5, 2093 }, /* gray2 */
+ { 51, 51, 51, 2099 }, /* gray20 */
+ { 54, 54, 54, 2106 }, /* gray21 */
+ { 56, 56, 56, 2113 }, /* gray22 */
+ { 59, 59, 59, 2120 }, /* gray23 */
+ { 61, 61, 61, 2127 }, /* gray24 */
+ { 64, 64, 64, 2134 }, /* gray25 */
+ { 66, 66, 66, 2141 }, /* gray26 */
+ { 69, 69, 69, 2148 }, /* gray27 */
+ { 71, 71, 71, 2155 }, /* gray28 */
+ { 74, 74, 74, 2162 }, /* gray29 */
+ { 8, 8, 8, 2169 }, /* gray3 */
+ { 77, 77, 77, 2175 }, /* gray30 */
+ { 79, 79, 79, 2182 }, /* gray31 */
+ { 82, 82, 82, 2189 }, /* gray32 */
+ { 84, 84, 84, 2196 }, /* gray33 */
+ { 87, 87, 87, 2203 }, /* gray34 */
+ { 89, 89, 89, 2210 }, /* gray35 */
+ { 92, 92, 92, 2217 }, /* gray36 */
+ { 94, 94, 94, 2224 }, /* gray37 */
+ { 97, 97, 97, 2231 }, /* gray38 */
+ { 99, 99, 99, 2238 }, /* gray39 */
+ { 10, 10, 10, 2245 }, /* gray4 */
+ { 102, 102, 102, 2251 }, /* gray40 */
+ { 105, 105, 105, 2258 }, /* gray41 */
+ { 107, 107, 107, 2265 }, /* gray42 */
+ { 110, 110, 110, 2272 }, /* gray43 */
+ { 112, 112, 112, 2279 }, /* gray44 */
+ { 115, 115, 115, 2286 }, /* gray45 */
+ { 117, 117, 117, 2293 }, /* gray46 */
+ { 120, 120, 120, 2300 }, /* gray47 */
+ { 122, 122, 122, 2307 }, /* gray48 */
+ { 125, 125, 125, 2314 }, /* gray49 */
+ { 13, 13, 13, 2321 }, /* gray5 */
+ { 127, 127, 127, 2327 }, /* gray50 */
+ { 130, 130, 130, 2334 }, /* gray51 */
+ { 133, 133, 133, 2341 }, /* gray52 */
+ { 135, 135, 135, 2348 }, /* gray53 */
+ { 138, 138, 138, 2355 }, /* gray54 */
+ { 140, 140, 140, 2362 }, /* gray55 */
+ { 143, 143, 143, 2369 }, /* gray56 */
+ { 145, 145, 145, 2376 }, /* gray57 */
+ { 148, 148, 148, 2383 }, /* gray58 */
+ { 150, 150, 150, 2390 }, /* gray59 */
+ { 15, 15, 15, 2397 }, /* gray6 */
+ { 153, 153, 153, 2403 }, /* gray60 */
+ { 156, 156, 156, 2410 }, /* gray61 */
+ { 158, 158, 158, 2417 }, /* gray62 */
+ { 161, 161, 161, 2424 }, /* gray63 */
+ { 163, 163, 163, 2431 }, /* gray64 */
+ { 166, 166, 166, 2438 }, /* gray65 */
+ { 168, 168, 168, 2445 }, /* gray66 */
+ { 171, 171, 171, 2452 }, /* gray67 */
+ { 173, 173, 173, 2459 }, /* gray68 */
+ { 176, 176, 176, 2466 }, /* gray69 */
+ { 18, 18, 18, 2473 }, /* gray7 */
+ { 179, 179, 179, 2479 }, /* gray70 */
+ { 181, 181, 181, 2486 }, /* gray71 */
+ { 184, 184, 184, 2493 }, /* gray72 */
+ { 186, 186, 186, 2500 }, /* gray73 */
+ { 189, 189, 189, 2507 }, /* gray74 */
+ { 191, 191, 191, 2514 }, /* gray75 */
+ { 194, 194, 194, 2521 }, /* gray76 */
+ { 196, 196, 196, 2528 }, /* gray77 */
+ { 199, 199, 199, 2535 }, /* gray78 */
+ { 201, 201, 201, 2542 }, /* gray79 */
+ { 20, 20, 20, 2549 }, /* gray8 */
+ { 204, 204, 204, 2555 }, /* gray80 */
+ { 207, 207, 207, 2562 }, /* gray81 */
+ { 209, 209, 209, 2569 }, /* gray82 */
+ { 212, 212, 212, 2576 }, /* gray83 */
+ { 214, 214, 214, 2583 }, /* gray84 */
+ { 217, 217, 217, 2590 }, /* gray85 */
+ { 219, 219, 219, 2597 }, /* gray86 */
+ { 222, 222, 222, 2604 }, /* gray87 */
+ { 224, 224, 224, 2611 }, /* gray88 */
+ { 227, 227, 227, 2618 }, /* gray89 */
+ { 23, 23, 23, 2625 }, /* gray9 */
+ { 229, 229, 229, 2631 }, /* gray90 */
+ { 232, 232, 232, 2638 }, /* gray91 */
+ { 235, 235, 235, 2645 }, /* gray92 */
+ { 237, 237, 237, 2652 }, /* gray93 */
+ { 240, 240, 240, 2659 }, /* gray94 */
+ { 242, 242, 242, 2666 }, /* gray95 */
+ { 245, 245, 245, 2673 }, /* gray96 */
+ { 247, 247, 247, 2680 }, /* gray97 */
+ { 250, 250, 250, 2687 }, /* gray98 */
+ { 252, 252, 252, 2694 }, /* gray99 */
+ { 0, 255, 0, 2701 }, /* green */
+ { 173, 255, 47, 2707 }, /* green yellow */
+ { 0, 255, 0, 2720 }, /* green1 */
+ { 0, 238, 0, 2727 }, /* green2 */
+ { 0, 205, 0, 2734 }, /* green3 */
+ { 0, 139, 0, 2741 }, /* green4 */
+ { 173, 255, 47, 2748 }, /* GreenYellow */
+ { 190, 190, 190, 2760 }, /* grey */
+ { 0, 0, 0, 2765 }, /* grey0 */
+ { 3, 3, 3, 2771 }, /* grey1 */
+ { 26, 26, 26, 2777 }, /* grey10 */
+ { 255, 255, 255, 2784 }, /* grey100 */
+ { 28, 28, 28, 2792 }, /* grey11 */
+ { 31, 31, 31, 2799 }, /* grey12 */
+ { 33, 33, 33, 2806 }, /* grey13 */
+ { 36, 36, 36, 2813 }, /* grey14 */
+ { 38, 38, 38, 2820 }, /* grey15 */
+ { 41, 41, 41, 2827 }, /* grey16 */
+ { 43, 43, 43, 2834 }, /* grey17 */
+ { 46, 46, 46, 2841 }, /* grey18 */
+ { 48, 48, 48, 2848 }, /* grey19 */
+ { 5, 5, 5, 2855 }, /* grey2 */
+ { 51, 51, 51, 2861 }, /* grey20 */
+ { 54, 54, 54, 2868 }, /* grey21 */
+ { 56, 56, 56, 2875 }, /* grey22 */
+ { 59, 59, 59, 2882 }, /* grey23 */
+ { 61, 61, 61, 2889 }, /* grey24 */
+ { 64, 64, 64, 2896 }, /* grey25 */
+ { 66, 66, 66, 2903 }, /* grey26 */
+ { 69, 69, 69, 2910 }, /* grey27 */
+ { 71, 71, 71, 2917 }, /* grey28 */
+ { 74, 74, 74, 2924 }, /* grey29 */
+ { 8, 8, 8, 2931 }, /* grey3 */
+ { 77, 77, 77, 2937 }, /* grey30 */
+ { 79, 79, 79, 2944 }, /* grey31 */
+ { 82, 82, 82, 2951 }, /* grey32 */
+ { 84, 84, 84, 2958 }, /* grey33 */
+ { 87, 87, 87, 2965 }, /* grey34 */
+ { 89, 89, 89, 2972 }, /* grey35 */
+ { 92, 92, 92, 2979 }, /* grey36 */
+ { 94, 94, 94, 2986 }, /* grey37 */
+ { 97, 97, 97, 2993 }, /* grey38 */
+ { 99, 99, 99, 3000 }, /* grey39 */
+ { 10, 10, 10, 3007 }, /* grey4 */
+ { 102, 102, 102, 3013 }, /* grey40 */
+ { 105, 105, 105, 3020 }, /* grey41 */
+ { 107, 107, 107, 3027 }, /* grey42 */
+ { 110, 110, 110, 3034 }, /* grey43 */
+ { 112, 112, 112, 3041 }, /* grey44 */
+ { 115, 115, 115, 3048 }, /* grey45 */
+ { 117, 117, 117, 3055 }, /* grey46 */
+ { 120, 120, 120, 3062 }, /* grey47 */
+ { 122, 122, 122, 3069 }, /* grey48 */
+ { 125, 125, 125, 3076 }, /* grey49 */
+ { 13, 13, 13, 3083 }, /* grey5 */
+ { 127, 127, 127, 3089 }, /* grey50 */
+ { 130, 130, 130, 3096 }, /* grey51 */
+ { 133, 133, 133, 3103 }, /* grey52 */
+ { 135, 135, 135, 3110 }, /* grey53 */
+ { 138, 138, 138, 3117 }, /* grey54 */
+ { 140, 140, 140, 3124 }, /* grey55 */
+ { 143, 143, 143, 3131 }, /* grey56 */
+ { 145, 145, 145, 3138 }, /* grey57 */
+ { 148, 148, 148, 3145 }, /* grey58 */
+ { 150, 150, 150, 3152 }, /* grey59 */
+ { 15, 15, 15, 3159 }, /* grey6 */
+ { 153, 153, 153, 3165 }, /* grey60 */
+ { 156, 156, 156, 3172 }, /* grey61 */
+ { 158, 158, 158, 3179 }, /* grey62 */
+ { 161, 161, 161, 3186 }, /* grey63 */
+ { 163, 163, 163, 3193 }, /* grey64 */
+ { 166, 166, 166, 3200 }, /* grey65 */
+ { 168, 168, 168, 3207 }, /* grey66 */
+ { 171, 171, 171, 3214 }, /* grey67 */
+ { 173, 173, 173, 3221 }, /* grey68 */
+ { 176, 176, 176, 3228 }, /* grey69 */
+ { 18, 18, 18, 3235 }, /* grey7 */
+ { 179, 179, 179, 3241 }, /* grey70 */
+ { 181, 181, 181, 3248 }, /* grey71 */
+ { 184, 184, 184, 3255 }, /* grey72 */
+ { 186, 186, 186, 3262 }, /* grey73 */
+ { 189, 189, 189, 3269 }, /* grey74 */
+ { 191, 191, 191, 3276 }, /* grey75 */
+ { 194, 194, 194, 3283 }, /* grey76 */
+ { 196, 196, 196, 3290 }, /* grey77 */
+ { 199, 199, 199, 3297 }, /* grey78 */
+ { 201, 201, 201, 3304 }, /* grey79 */
+ { 20, 20, 20, 3311 }, /* grey8 */
+ { 204, 204, 204, 3317 }, /* grey80 */
+ { 207, 207, 207, 3324 }, /* grey81 */
+ { 209, 209, 209, 3331 }, /* grey82 */
+ { 212, 212, 212, 3338 }, /* grey83 */
+ { 214, 214, 214, 3345 }, /* grey84 */
+ { 217, 217, 217, 3352 }, /* grey85 */
+ { 219, 219, 219, 3359 }, /* grey86 */
+ { 222, 222, 222, 3366 }, /* grey87 */
+ { 224, 224, 224, 3373 }, /* grey88 */
+ { 227, 227, 227, 3380 }, /* grey89 */
+ { 23, 23, 23, 3387 }, /* grey9 */
+ { 229, 229, 229, 3393 }, /* grey90 */
+ { 232, 232, 232, 3400 }, /* grey91 */
+ { 235, 235, 235, 3407 }, /* grey92 */
+ { 237, 237, 237, 3414 }, /* grey93 */
+ { 240, 240, 240, 3421 }, /* grey94 */
+ { 242, 242, 242, 3428 }, /* grey95 */
+ { 245, 245, 245, 3435 }, /* grey96 */
+ { 247, 247, 247, 3442 }, /* grey97 */
+ { 250, 250, 250, 3449 }, /* grey98 */
+ { 252, 252, 252, 3456 }, /* grey99 */
+ { 240, 255, 240, 3463 }, /* honeydew */
+ { 240, 255, 240, 3472 }, /* honeydew1 */
+ { 224, 238, 224, 3482 }, /* honeydew2 */
+ { 193, 205, 193, 3492 }, /* honeydew3 */
+ { 131, 139, 131, 3502 }, /* honeydew4 */
+ { 255, 105, 180, 3512 }, /* hot pink */
+ { 255, 105, 180, 3521 }, /* HotPink */
+ { 255, 110, 180, 3529 }, /* HotPink1 */
+ { 238, 106, 167, 3538 }, /* HotPink2 */
+ { 205, 96, 144, 3547 }, /* HotPink3 */
+ { 139, 58, 98, 3556 }, /* HotPink4 */
+ { 205, 92, 92, 3565 }, /* indian red */
+ { 205, 92, 92, 3576 }, /* IndianRed */
+ { 255, 106, 106, 3586 }, /* IndianRed1 */
+ { 238, 99, 99, 3597 }, /* IndianRed2 */
+ { 205, 85, 85, 3608 }, /* IndianRed3 */
+ { 139, 58, 58, 3619 }, /* IndianRed4 */
+ { 255, 255, 240, 3630 }, /* ivory */
+ { 255, 255, 240, 3636 }, /* ivory1 */
+ { 238, 238, 224, 3643 }, /* ivory2 */
+ { 205, 205, 193, 3650 }, /* ivory3 */
+ { 139, 139, 131, 3657 }, /* ivory4 */
+ { 240, 230, 140, 3664 }, /* khaki */
+ { 255, 246, 143, 3670 }, /* khaki1 */
+ { 238, 230, 133, 3677 }, /* khaki2 */
+ { 205, 198, 115, 3684 }, /* khaki3 */
+ { 139, 134, 78, 3691 }, /* khaki4 */
+ { 230, 230, 250, 3698 }, /* lavender */
+ { 255, 240, 245, 3707 }, /* lavender blush */
+ { 255, 240, 245, 3722 }, /* LavenderBlush */
+ { 255, 240, 245, 3736 }, /* LavenderBlush1 */
+ { 238, 224, 229, 3751 }, /* LavenderBlush2 */
+ { 205, 193, 197, 3766 }, /* LavenderBlush3 */
+ { 139, 131, 134, 3781 }, /* LavenderBlush4 */
+ { 124, 252, 0, 3796 }, /* lawn green */
+ { 124, 252, 0, 3807 }, /* LawnGreen */
+ { 255, 250, 205, 3817 }, /* lemon chiffon */
+ { 255, 250, 205, 3831 }, /* LemonChiffon */
+ { 255, 250, 205, 3844 }, /* LemonChiffon1 */
+ { 238, 233, 191, 3858 }, /* LemonChiffon2 */
+ { 205, 201, 165, 3872 }, /* LemonChiffon3 */
+ { 139, 137, 112, 3886 }, /* LemonChiffon4 */
+ { 173, 216, 230, 3900 }, /* light blue */
+ { 240, 128, 128, 3911 }, /* light coral */
+ { 224, 255, 255, 3923 }, /* light cyan */
+ { 238, 221, 130, 3934 }, /* light goldenrod */
+ { 250, 250, 210, 3950 }, /* light goldenrod yellow */
+ { 211, 211, 211, 3973 }, /* light gray */
+ { 144, 238, 144, 3984 }, /* light green */
+ { 211, 211, 211, 3996 }, /* light grey */
+ { 255, 182, 193, 4007 }, /* light pink */
+ { 255, 160, 122, 4018 }, /* light salmon */
+ { 32, 178, 170, 4031 }, /* light sea green */
+ { 135, 206, 250, 4047 }, /* light sky blue */
+ { 132, 112, 255, 4062 }, /* light slate blue */
+ { 119, 136, 153, 4079 }, /* light slate gray */
+ { 119, 136, 153, 4096 }, /* light slate grey */
+ { 176, 196, 222, 4113 }, /* light steel blue */
+ { 255, 255, 224, 4130 }, /* light yellow */
+ { 173, 216, 230, 4143 }, /* LightBlue */
+ { 191, 239, 255, 4153 }, /* LightBlue1 */
+ { 178, 223, 238, 4164 }, /* LightBlue2 */
+ { 154, 192, 205, 4175 }, /* LightBlue3 */
+ { 104, 131, 139, 4186 }, /* LightBlue4 */
+ { 240, 128, 128, 4197 }, /* LightCoral */
+ { 224, 255, 255, 4208 }, /* LightCyan */
+ { 224, 255, 255, 4218 }, /* LightCyan1 */
+ { 209, 238, 238, 4229 }, /* LightCyan2 */
+ { 180, 205, 205, 4240 }, /* LightCyan3 */
+ { 122, 139, 139, 4251 }, /* LightCyan4 */
+ { 238, 221, 130, 4262 }, /* LightGoldenrod */
+ { 255, 236, 139, 4277 }, /* LightGoldenrod1 */
+ { 238, 220, 130, 4293 }, /* LightGoldenrod2 */
+ { 205, 190, 112, 4309 }, /* LightGoldenrod3 */
+ { 139, 129, 76, 4325 }, /* LightGoldenrod4 */
+ { 250, 250, 210, 4341 }, /* LightGoldenrodYellow */
+ { 211, 211, 211, 4362 }, /* LightGray */
+ { 144, 238, 144, 4372 }, /* LightGreen */
+ { 211, 211, 211, 4383 }, /* LightGrey */
+ { 255, 182, 193, 4393 }, /* LightPink */
+ { 255, 174, 185, 4403 }, /* LightPink1 */
+ { 238, 162, 173, 4414 }, /* LightPink2 */
+ { 205, 140, 149, 4425 }, /* LightPink3 */
+ { 139, 95, 101, 4436 }, /* LightPink4 */
+ { 255, 160, 122, 4447 }, /* LightSalmon */
+ { 255, 160, 122, 4459 }, /* LightSalmon1 */
+ { 238, 149, 114, 4472 }, /* LightSalmon2 */
+ { 205, 129, 98, 4485 }, /* LightSalmon3 */
+ { 139, 87, 66, 4498 }, /* LightSalmon4 */
+ { 32, 178, 170, 4511 }, /* LightSeaGreen */
+ { 135, 206, 250, 4525 }, /* LightSkyBlue */
+ { 176, 226, 255, 4538 }, /* LightSkyBlue1 */
+ { 164, 211, 238, 4552 }, /* LightSkyBlue2 */
+ { 141, 182, 205, 4566 }, /* LightSkyBlue3 */
+ { 96, 123, 139, 4580 }, /* LightSkyBlue4 */
+ { 132, 112, 255, 4594 }, /* LightSlateBlue */
+ { 119, 136, 153, 4609 }, /* LightSlateGray */
+ { 119, 136, 153, 4624 }, /* LightSlateGrey */
+ { 176, 196, 222, 4639 }, /* LightSteelBlue */
+ { 202, 225, 255, 4654 }, /* LightSteelBlue1 */
+ { 188, 210, 238, 4670 }, /* LightSteelBlue2 */
+ { 162, 181, 205, 4686 }, /* LightSteelBlue3 */
+ { 110, 123, 139, 4702 }, /* LightSteelBlue4 */
+ { 255, 255, 224, 4718 }, /* LightYellow */
+ { 255, 255, 224, 4730 }, /* LightYellow1 */
+ { 238, 238, 209, 4743 }, /* LightYellow2 */
+ { 205, 205, 180, 4756 }, /* LightYellow3 */
+ { 139, 139, 122, 4769 }, /* LightYellow4 */
+ { 50, 205, 50, 4782 }, /* lime green */
+ { 50, 205, 50, 4793 }, /* LimeGreen */
+ { 250, 240, 230, 4803 }, /* linen */
+ { 255, 0, 255, 4809 }, /* magenta */
+ { 255, 0, 255, 4817 }, /* magenta1 */
+ { 238, 0, 238, 4826 }, /* magenta2 */
+ { 205, 0, 205, 4835 }, /* magenta3 */
+ { 139, 0, 139, 4844 }, /* magenta4 */
+ { 176, 48, 96, 4853 }, /* maroon */
+ { 255, 52, 179, 4860 }, /* maroon1 */
+ { 238, 48, 167, 4868 }, /* maroon2 */
+ { 205, 41, 144, 4876 }, /* maroon3 */
+ { 139, 28, 98, 4884 }, /* maroon4 */
+ { 102, 205, 170, 4892 }, /* medium aquamarine */
+ { 0, 0, 205, 4910 }, /* medium blue */
+ { 186, 85, 211, 4922 }, /* medium orchid */
+ { 147, 112, 219, 4936 }, /* medium purple */
+ { 60, 179, 113, 4950 }, /* medium sea green */
+ { 123, 104, 238, 4967 }, /* medium slate blue */
+ { 0, 250, 154, 4985 }, /* medium spring green */
+ { 72, 209, 204, 5005 }, /* medium turquoise */
+ { 199, 21, 133, 5022 }, /* medium violet red */
+ { 102, 205, 170, 5040 }, /* MediumAquamarine */
+ { 0, 0, 205, 5057 }, /* MediumBlue */
+ { 186, 85, 211, 5068 }, /* MediumOrchid */
+ { 224, 102, 255, 5081 }, /* MediumOrchid1 */
+ { 209, 95, 238, 5095 }, /* MediumOrchid2 */
+ { 180, 82, 205, 5109 }, /* MediumOrchid3 */
+ { 122, 55, 139, 5123 }, /* MediumOrchid4 */
+ { 147, 112, 219, 5137 }, /* MediumPurple */
+ { 171, 130, 255, 5150 }, /* MediumPurple1 */
+ { 159, 121, 238, 5164 }, /* MediumPurple2 */
+ { 137, 104, 205, 5178 }, /* MediumPurple3 */
+ { 93, 71, 139, 5192 }, /* MediumPurple4 */
+ { 60, 179, 113, 5206 }, /* MediumSeaGreen */
+ { 123, 104, 238, 5221 }, /* MediumSlateBlue */
+ { 0, 250, 154, 5237 }, /* MediumSpringGreen */
+ { 72, 209, 204, 5255 }, /* MediumTurquoise */
+ { 199, 21, 133, 5271 }, /* MediumVioletRed */
+ { 25, 25, 112, 5287 }, /* midnight blue */
+ { 25, 25, 112, 5301 }, /* MidnightBlue */
+ { 245, 255, 250, 5314 }, /* mint cream */
+ { 245, 255, 250, 5325 }, /* MintCream */
+ { 255, 228, 225, 5335 }, /* misty rose */
+ { 255, 228, 225, 5346 }, /* MistyRose */
+ { 255, 228, 225, 5356 }, /* MistyRose1 */
+ { 238, 213, 210, 5367 }, /* MistyRose2 */
+ { 205, 183, 181, 5378 }, /* MistyRose3 */
+ { 139, 125, 123, 5389 }, /* MistyRose4 */
+ { 255, 228, 181, 5400 }, /* moccasin */
+ { 255, 222, 173, 5409 }, /* navajo white */
+ { 255, 222, 173, 5422 }, /* NavajoWhite */
+ { 255, 222, 173, 5434 }, /* NavajoWhite1 */
+ { 238, 207, 161, 5447 }, /* NavajoWhite2 */
+ { 205, 179, 139, 5460 }, /* NavajoWhite3 */
+ { 139, 121, 94, 5473 }, /* NavajoWhite4 */
+ { 0, 0, 128, 5486 }, /* navy */
+ { 0, 0, 128, 5491 }, /* navy blue */
+ { 0, 0, 128, 5501 }, /* NavyBlue */
+ { 253, 245, 230, 5510 }, /* old lace */
+ { 253, 245, 230, 5519 }, /* OldLace */
+ { 107, 142, 35, 5527 }, /* olive drab */
+ { 107, 142, 35, 5538 }, /* OliveDrab */
+ { 192, 255, 62, 5548 }, /* OliveDrab1 */
+ { 179, 238, 58, 5559 }, /* OliveDrab2 */
+ { 154, 205, 50, 5570 }, /* OliveDrab3 */
+ { 105, 139, 34, 5581 }, /* OliveDrab4 */
+ { 255, 165, 0, 5592 }, /* orange */
+ { 255, 69, 0, 5599 }, /* orange red */
+ { 255, 165, 0, 5610 }, /* orange1 */
+ { 238, 154, 0, 5618 }, /* orange2 */
+ { 205, 133, 0, 5626 }, /* orange3 */
+ { 139, 90, 0, 5634 }, /* orange4 */
+ { 255, 69, 0, 5642 }, /* OrangeRed */
+ { 255, 69, 0, 5652 }, /* OrangeRed1 */
+ { 238, 64, 0, 5663 }, /* OrangeRed2 */
+ { 205, 55, 0, 5674 }, /* OrangeRed3 */
+ { 139, 37, 0, 5685 }, /* OrangeRed4 */
+ { 218, 112, 214, 5696 }, /* orchid */
+ { 255, 131, 250, 5703 }, /* orchid1 */
+ { 238, 122, 233, 5711 }, /* orchid2 */
+ { 205, 105, 201, 5719 }, /* orchid3 */
+ { 139, 71, 137, 5727 }, /* orchid4 */
+ { 238, 232, 170, 5735 }, /* pale goldenrod */
+ { 152, 251, 152, 5750 }, /* pale green */
+ { 175, 238, 238, 5761 }, /* pale turquoise */
+ { 219, 112, 147, 5776 }, /* pale violet red */
+ { 238, 232, 170, 5792 }, /* PaleGoldenrod */
+ { 152, 251, 152, 5806 }, /* PaleGreen */
+ { 154, 255, 154, 5816 }, /* PaleGreen1 */
+ { 144, 238, 144, 5827 }, /* PaleGreen2 */
+ { 124, 205, 124, 5838 }, /* PaleGreen3 */
+ { 84, 139, 84, 5849 }, /* PaleGreen4 */
+ { 175, 238, 238, 5860 }, /* PaleTurquoise */
+ { 187, 255, 255, 5874 }, /* PaleTurquoise1 */
+ { 174, 238, 238, 5889 }, /* PaleTurquoise2 */
+ { 150, 205, 205, 5904 }, /* PaleTurquoise3 */
+ { 102, 139, 139, 5919 }, /* PaleTurquoise4 */
+ { 219, 112, 147, 5934 }, /* PaleVioletRed */
+ { 255, 130, 171, 5948 }, /* PaleVioletRed1 */
+ { 238, 121, 159, 5963 }, /* PaleVioletRed2 */
+ { 205, 104, 137, 5978 }, /* PaleVioletRed3 */
+ { 139, 71, 93, 5993 }, /* PaleVioletRed4 */
+ { 255, 239, 213, 6008 }, /* papaya whip */
+ { 255, 239, 213, 6020 }, /* PapayaWhip */
+ { 255, 218, 185, 6031 }, /* peach puff */
+ { 255, 218, 185, 6042 }, /* PeachPuff */
+ { 255, 218, 185, 6052 }, /* PeachPuff1 */
+ { 238, 203, 173, 6063 }, /* PeachPuff2 */
+ { 205, 175, 149, 6074 }, /* PeachPuff3 */
+ { 139, 119, 101, 6085 }, /* PeachPuff4 */
+ { 205, 133, 63, 6096 }, /* peru */
+ { 255, 192, 203, 6101 }, /* pink */
+ { 255, 181, 197, 6106 }, /* pink1 */
+ { 238, 169, 184, 6112 }, /* pink2 */
+ { 205, 145, 158, 6118 }, /* pink3 */
+ { 139, 99, 108, 6124 }, /* pink4 */
+ { 221, 160, 221, 6130 }, /* plum */
+ { 255, 187, 255, 6135 }, /* plum1 */
+ { 238, 174, 238, 6141 }, /* plum2 */
+ { 205, 150, 205, 6147 }, /* plum3 */
+ { 139, 102, 139, 6153 }, /* plum4 */
+ { 176, 224, 230, 6159 }, /* powder blue */
+ { 176, 224, 230, 6171 }, /* PowderBlue */
+ { 160, 32, 240, 6182 }, /* purple */
+ { 155, 48, 255, 6189 }, /* purple1 */
+ { 145, 44, 238, 6197 }, /* purple2 */
+ { 125, 38, 205, 6205 }, /* purple3 */
+ { 85, 26, 139, 6213 }, /* purple4 */
+ { 255, 0, 0, 6221 }, /* red */
+ { 255, 0, 0, 6225 }, /* red1 */
+ { 238, 0, 0, 6230 }, /* red2 */
+ { 205, 0, 0, 6235 }, /* red3 */
+ { 139, 0, 0, 6240 }, /* red4 */
+ { 188, 143, 143, 6245 }, /* rosy brown */
+ { 188, 143, 143, 6256 }, /* RosyBrown */
+ { 255, 193, 193, 6266 }, /* RosyBrown1 */
+ { 238, 180, 180, 6277 }, /* RosyBrown2 */
+ { 205, 155, 155, 6288 }, /* RosyBrown3 */
+ { 139, 105, 105, 6299 }, /* RosyBrown4 */
+ { 65, 105, 225, 6310 }, /* royal blue */
+ { 65, 105, 225, 6321 }, /* RoyalBlue */
+ { 72, 118, 255, 6331 }, /* RoyalBlue1 */
+ { 67, 110, 238, 6342 }, /* RoyalBlue2 */
+ { 58, 95, 205, 6353 }, /* RoyalBlue3 */
+ { 39, 64, 139, 6364 }, /* RoyalBlue4 */
+ { 139, 69, 19, 6375 }, /* saddle brown */
+ { 139, 69, 19, 6388 }, /* SaddleBrown */
+ { 250, 128, 114, 6400 }, /* salmon */
+ { 255, 140, 105, 6407 }, /* salmon1 */
+ { 238, 130, 98, 6415 }, /* salmon2 */
+ { 205, 112, 84, 6423 }, /* salmon3 */
+ { 139, 76, 57, 6431 }, /* salmon4 */
+ { 244, 164, 96, 6439 }, /* sandy brown */
+ { 244, 164, 96, 6451 }, /* SandyBrown */
+ { 46, 139, 87, 6462 }, /* sea green */
+ { 46, 139, 87, 6472 }, /* SeaGreen */
+ { 84, 255, 159, 6481 }, /* SeaGreen1 */
+ { 78, 238, 148, 6491 }, /* SeaGreen2 */
+ { 67, 205, 128, 6501 }, /* SeaGreen3 */
+ { 46, 139, 87, 6511 }, /* SeaGreen4 */
+ { 255, 245, 238, 6521 }, /* seashell */
+ { 255, 245, 238, 6530 }, /* seashell1 */
+ { 238, 229, 222, 6540 }, /* seashell2 */
+ { 205, 197, 191, 6550 }, /* seashell3 */
+ { 139, 134, 130, 6560 }, /* seashell4 */
+ { 160, 82, 45, 6570 }, /* sienna */
+ { 255, 130, 71, 6577 }, /* sienna1 */
+ { 238, 121, 66, 6585 }, /* sienna2 */
+ { 205, 104, 57, 6593 }, /* sienna3 */
+ { 139, 71, 38, 6601 }, /* sienna4 */
+ { 135, 206, 235, 6609 }, /* sky blue */
+ { 135, 206, 235, 6618 }, /* SkyBlue */
+ { 135, 206, 255, 6626 }, /* SkyBlue1 */
+ { 126, 192, 238, 6635 }, /* SkyBlue2 */
+ { 108, 166, 205, 6644 }, /* SkyBlue3 */
+ { 74, 112, 139, 6653 }, /* SkyBlue4 */
+ { 106, 90, 205, 6662 }, /* slate blue */
+ { 112, 128, 144, 6673 }, /* slate gray */
+ { 112, 128, 144, 6684 }, /* slate grey */
+ { 106, 90, 205, 6695 }, /* SlateBlue */
+ { 131, 111, 255, 6705 }, /* SlateBlue1 */
+ { 122, 103, 238, 6716 }, /* SlateBlue2 */
+ { 105, 89, 205, 6727 }, /* SlateBlue3 */
+ { 71, 60, 139, 6738 }, /* SlateBlue4 */
+ { 112, 128, 144, 6749 }, /* SlateGray */
+ { 198, 226, 255, 6759 }, /* SlateGray1 */
+ { 185, 211, 238, 6770 }, /* SlateGray2 */
+ { 159, 182, 205, 6781 }, /* SlateGray3 */
+ { 108, 123, 139, 6792 }, /* SlateGray4 */
+ { 112, 128, 144, 6803 }, /* SlateGrey */
+ { 255, 250, 250, 6813 }, /* snow */
+ { 255, 250, 250, 6818 }, /* snow1 */
+ { 238, 233, 233, 6824 }, /* snow2 */
+ { 205, 201, 201, 6830 }, /* snow3 */
+ { 139, 137, 137, 6836 }, /* snow4 */
+ { 0, 255, 127, 6842 }, /* spring green */
+ { 0, 255, 127, 6855 }, /* SpringGreen */
+ { 0, 255, 127, 6867 }, /* SpringGreen1 */
+ { 0, 238, 118, 6880 }, /* SpringGreen2 */
+ { 0, 205, 102, 6893 }, /* SpringGreen3 */
+ { 0, 139, 69, 6906 }, /* SpringGreen4 */
+ { 70, 130, 180, 6919 }, /* steel blue */
+ { 70, 130, 180, 6930 }, /* SteelBlue */
+ { 99, 184, 255, 6940 }, /* SteelBlue1 */
+ { 92, 172, 238, 6951 }, /* SteelBlue2 */
+ { 79, 148, 205, 6962 }, /* SteelBlue3 */
+ { 54, 100, 139, 6973 }, /* SteelBlue4 */
+ { 210, 180, 140, 6984 }, /* tan */
+ { 255, 165, 79, 6988 }, /* tan1 */
+ { 238, 154, 73, 6993 }, /* tan2 */
+ { 205, 133, 63, 6998 }, /* tan3 */
+ { 139, 90, 43, 7003 }, /* tan4 */
+ { 216, 191, 216, 7008 }, /* thistle */
+ { 255, 225, 255, 7016 }, /* thistle1 */
+ { 238, 210, 238, 7025 }, /* thistle2 */
+ { 205, 181, 205, 7034 }, /* thistle3 */
+ { 139, 123, 139, 7043 }, /* thistle4 */
+ { 255, 99, 71, 7052 }, /* tomato */
+ { 255, 99, 71, 7059 }, /* tomato1 */
+ { 238, 92, 66, 7067 }, /* tomato2 */
+ { 205, 79, 57, 7075 }, /* tomato3 */
+ { 139, 54, 38, 7083 }, /* tomato4 */
+ { 64, 224, 208, 7091 }, /* turquoise */
+ { 0, 245, 255, 7101 }, /* turquoise1 */
+ { 0, 229, 238, 7112 }, /* turquoise2 */
+ { 0, 197, 205, 7123 }, /* turquoise3 */
+ { 0, 134, 139, 7134 }, /* turquoise4 */
+ { 238, 130, 238, 7145 }, /* violet */
+ { 208, 32, 144, 7152 }, /* violet red */
+ { 208, 32, 144, 7163 }, /* VioletRed */
+ { 255, 62, 150, 7173 }, /* VioletRed1 */
+ { 238, 58, 140, 7184 }, /* VioletRed2 */
+ { 205, 50, 120, 7195 }, /* VioletRed3 */
+ { 139, 34, 82, 7206 }, /* VioletRed4 */
+ { 245, 222, 179, 7217 }, /* wheat */
+ { 255, 231, 186, 7223 }, /* wheat1 */
+ { 238, 216, 174, 7230 }, /* wheat2 */
+ { 205, 186, 150, 7237 }, /* wheat3 */
+ { 139, 126, 102, 7244 }, /* wheat4 */
+ { 255, 255, 255, 7251 }, /* white */
+ { 245, 245, 245, 7257 }, /* white smoke */
+ { 245, 245, 245, 7269 }, /* WhiteSmoke */
+ { 255, 255, 0, 7280 }, /* yellow */
+ { 154, 205, 50, 7287 }, /* yellow green */
+ { 255, 255, 0, 7300 }, /* yellow1 */
+ { 238, 238, 0, 7308 }, /* yellow2 */
+ { 205, 205, 0, 7316 }, /* yellow3 */
+ { 139, 139, 0, 7324 }, /* yellow4 */
+ { 154, 205, 50, 7332 }, /* YellowGreen */
+};
-Bool
-OsInitColors(void)
-{
- return TRUE;
-}
+#define NUM_BUILTIN_COLORS (sizeof (BuiltinColors) / sizeof (BuiltinColors[0]))
Bool
-OsLookupColor(int screen,
- char *s_name,
- unsigned int len,
+OsLookupColor(int screen,
+ char *name,
+ unsigned int len,
unsigned short *pred,
unsigned short *pgreen,
unsigned short *pblue)
{
const BuiltinColor *c;
- unsigned char *name = (unsigned char *) s_name;
int low, mid, high;
int r;
@@ -122,8 +1589,8 @@ OsLookupColor(int screen,
{
mid = (low + high) / 2;
c = &BuiltinColors[mid];
- r = OsStrCaseCmp (&BuiltinColorNames[c->name], name, len);
- if (r == 0)
+ r = strncasecmp (&BuiltinColorNames[c->name], name, len);
+ if (r == 0 && len == strlen (&BuiltinColorNames[c->name]))
{
*pred = c->red * 0x101;
*pgreen = c->green * 0x101;
@@ -131,9 +1598,9 @@ OsLookupColor(int screen,
return TRUE;
}
if (r < 0)
- high = mid - 1;
- else
low = mid + 1;
+ else
+ high = mid - 1;
}
return FALSE;
}
diff --git a/xorg-server/os/oscolor.h b/xorg-server/os/oscolor.h
deleted file mode 100644
index 3d0a76222..000000000
--- a/xorg-server/os/oscolor.h
+++ /dev/null
@@ -1,1508 +0,0 @@
-static const unsigned char BuiltinColorNames[] = {
- "alice blue\0"
- "AliceBlue\0"
- "antique white\0"
- "AntiqueWhite\0"
- "AntiqueWhite1\0"
- "AntiqueWhite2\0"
- "AntiqueWhite3\0"
- "AntiqueWhite4\0"
- "aquamarine\0"
- "aquamarine1\0"
- "aquamarine2\0"
- "aquamarine3\0"
- "aquamarine4\0"
- "azure\0"
- "azure1\0"
- "azure2\0"
- "azure3\0"
- "azure4\0"
- "beige\0"
- "bisque\0"
- "bisque1\0"
- "bisque2\0"
- "bisque3\0"
- "bisque4\0"
- "black\0"
- "blanched almond\0"
- "BlanchedAlmond\0"
- "blue\0"
- "blue violet\0"
- "blue1\0"
- "blue2\0"
- "blue3\0"
- "blue4\0"
- "BlueViolet\0"
- "brown\0"
- "brown1\0"
- "brown2\0"
- "brown3\0"
- "brown4\0"
- "burlywood\0"
- "burlywood1\0"
- "burlywood2\0"
- "burlywood3\0"
- "burlywood4\0"
- "cadet blue\0"
- "CadetBlue\0"
- "CadetBlue1\0"
- "CadetBlue2\0"
- "CadetBlue3\0"
- "CadetBlue4\0"
- "chartreuse\0"
- "chartreuse1\0"
- "chartreuse2\0"
- "chartreuse3\0"
- "chartreuse4\0"
- "chocolate\0"
- "chocolate1\0"
- "chocolate2\0"
- "chocolate3\0"
- "chocolate4\0"
- "coral\0"
- "coral1\0"
- "coral2\0"
- "coral3\0"
- "coral4\0"
- "cornflower blue\0"
- "CornflowerBlue\0"
- "cornsilk\0"
- "cornsilk1\0"
- "cornsilk2\0"
- "cornsilk3\0"
- "cornsilk4\0"
- "cyan\0"
- "cyan1\0"
- "cyan2\0"
- "cyan3\0"
- "cyan4\0"
- "dark blue\0"
- "dark cyan\0"
- "dark goldenrod\0"
- "dark gray\0"
- "dark green\0"
- "dark grey\0"
- "dark khaki\0"
- "dark magenta\0"
- "dark olive green\0"
- "dark orange\0"
- "dark orchid\0"
- "dark red\0"
- "dark salmon\0"
- "dark sea green\0"
- "dark slate blue\0"
- "dark slate gray\0"
- "dark slate grey\0"
- "dark turquoise\0"
- "dark violet\0"
- "DarkBlue\0"
- "DarkCyan\0"
- "DarkGoldenrod\0"
- "DarkGoldenrod1\0"
- "DarkGoldenrod2\0"
- "DarkGoldenrod3\0"
- "DarkGoldenrod4\0"
- "DarkGray\0"
- "DarkGreen\0"
- "DarkGrey\0"
- "DarkKhaki\0"
- "DarkMagenta\0"
- "DarkOliveGreen\0"
- "DarkOliveGreen1\0"
- "DarkOliveGreen2\0"
- "DarkOliveGreen3\0"
- "DarkOliveGreen4\0"
- "DarkOrange\0"
- "DarkOrange1\0"
- "DarkOrange2\0"
- "DarkOrange3\0"
- "DarkOrange4\0"
- "DarkOrchid\0"
- "DarkOrchid1\0"
- "DarkOrchid2\0"
- "DarkOrchid3\0"
- "DarkOrchid4\0"
- "DarkRed\0"
- "DarkSalmon\0"
- "DarkSeaGreen\0"
- "DarkSeaGreen1\0"
- "DarkSeaGreen2\0"
- "DarkSeaGreen3\0"
- "DarkSeaGreen4\0"
- "DarkSlateBlue\0"
- "DarkSlateGray\0"
- "DarkSlateGray1\0"
- "DarkSlateGray2\0"
- "DarkSlateGray3\0"
- "DarkSlateGray4\0"
- "DarkSlateGrey\0"
- "DarkTurquoise\0"
- "DarkViolet\0"
- "deep pink\0"
- "deep sky blue\0"
- "DeepPink\0"
- "DeepPink1\0"
- "DeepPink2\0"
- "DeepPink3\0"
- "DeepPink4\0"
- "DeepSkyBlue\0"
- "DeepSkyBlue1\0"
- "DeepSkyBlue2\0"
- "DeepSkyBlue3\0"
- "DeepSkyBlue4\0"
- "dim gray\0"
- "dim grey\0"
- "DimGray\0"
- "DimGrey\0"
- "dodger blue\0"
- "DodgerBlue\0"
- "DodgerBlue1\0"
- "DodgerBlue2\0"
- "DodgerBlue3\0"
- "DodgerBlue4\0"
- "firebrick\0"
- "firebrick1\0"
- "firebrick2\0"
- "firebrick3\0"
- "firebrick4\0"
- "floral white\0"
- "FloralWhite\0"
- "forest green\0"
- "ForestGreen\0"
- "gainsboro\0"
- "ghost white\0"
- "GhostWhite\0"
- "gold\0"
- "gold1\0"
- "gold2\0"
- "gold3\0"
- "gold4\0"
- "goldenrod\0"
- "goldenrod1\0"
- "goldenrod2\0"
- "goldenrod3\0"
- "goldenrod4\0"
- "gray\0"
- "gray0\0"
- "gray1\0"
- "gray10\0"
- "gray100\0"
- "gray11\0"
- "gray12\0"
- "gray13\0"
- "gray14\0"
- "gray15\0"
- "gray16\0"
- "gray17\0"
- "gray18\0"
- "gray19\0"
- "gray2\0"
- "gray20\0"
- "gray21\0"
- "gray22\0"
- "gray23\0"
- "gray24\0"
- "gray25\0"
- "gray26\0"
- "gray27\0"
- "gray28\0"
- "gray29\0"
- "gray3\0"
- "gray30\0"
- "gray31\0"
- "gray32\0"
- "gray33\0"
- "gray34\0"
- "gray35\0"
- "gray36\0"
- "gray37\0"
- "gray38\0"
- "gray39\0"
- "gray4\0"
- "gray40\0"
- "gray41\0"
- "gray42\0"
- "gray43\0"
- "gray44\0"
- "gray45\0"
- "gray46\0"
- "gray47\0"
- "gray48\0"
- "gray49\0"
- "gray5\0"
- "gray50\0"
- "gray51\0"
- "gray52\0"
- "gray53\0"
- "gray54\0"
- "gray55\0"
- "gray56\0"
- "gray57\0"
- "gray58\0"
- "gray59\0"
- "gray6\0"
- "gray60\0"
- "gray61\0"
- "gray62\0"
- "gray63\0"
- "gray64\0"
- "gray65\0"
- "gray66\0"
- "gray67\0"
- "gray68\0"
- "gray69\0"
- "gray7\0"
- "gray70\0"
- "gray71\0"
- "gray72\0"
- "gray73\0"
- "gray74\0"
- "gray75\0"
- "gray76\0"
- "gray77\0"
- "gray78\0"
- "gray79\0"
- "gray8\0"
- "gray80\0"
- "gray81\0"
- "gray82\0"
- "gray83\0"
- "gray84\0"
- "gray85\0"
- "gray86\0"
- "gray87\0"
- "gray88\0"
- "gray89\0"
- "gray9\0"
- "gray90\0"
- "gray91\0"
- "gray92\0"
- "gray93\0"
- "gray94\0"
- "gray95\0"
- "gray96\0"
- "gray97\0"
- "gray98\0"
- "gray99\0"
- "green\0"
- "green yellow\0"
- "green1\0"
- "green2\0"
- "green3\0"
- "green4\0"
- "GreenYellow\0"
- "grey\0"
- "grey0\0"
- "grey1\0"
- "grey10\0"
- "grey100\0"
- "grey11\0"
- "grey12\0"
- "grey13\0"
- "grey14\0"
- "grey15\0"
- "grey16\0"
- "grey17\0"
- "grey18\0"
- "grey19\0"
- "grey2\0"
- "grey20\0"
- "grey21\0"
- "grey22\0"
- "grey23\0"
- "grey24\0"
- "grey25\0"
- "grey26\0"
- "grey27\0"
- "grey28\0"
- "grey29\0"
- "grey3\0"
- "grey30\0"
- "grey31\0"
- "grey32\0"
- "grey33\0"
- "grey34\0"
- "grey35\0"
- "grey36\0"
- "grey37\0"
- "grey38\0"
- "grey39\0"
- "grey4\0"
- "grey40\0"
- "grey41\0"
- "grey42\0"
- "grey43\0"
- "grey44\0"
- "grey45\0"
- "grey46\0"
- "grey47\0"
- "grey48\0"
- "grey49\0"
- "grey5\0"
- "grey50\0"
- "grey51\0"
- "grey52\0"
- "grey53\0"
- "grey54\0"
- "grey55\0"
- "grey56\0"
- "grey57\0"
- "grey58\0"
- "grey59\0"
- "grey6\0"
- "grey60\0"
- "grey61\0"
- "grey62\0"
- "grey63\0"
- "grey64\0"
- "grey65\0"
- "grey66\0"
- "grey67\0"
- "grey68\0"
- "grey69\0"
- "grey7\0"
- "grey70\0"
- "grey71\0"
- "grey72\0"
- "grey73\0"
- "grey74\0"
- "grey75\0"
- "grey76\0"
- "grey77\0"
- "grey78\0"
- "grey79\0"
- "grey8\0"
- "grey80\0"
- "grey81\0"
- "grey82\0"
- "grey83\0"
- "grey84\0"
- "grey85\0"
- "grey86\0"
- "grey87\0"
- "grey88\0"
- "grey89\0"
- "grey9\0"
- "grey90\0"
- "grey91\0"
- "grey92\0"
- "grey93\0"
- "grey94\0"
- "grey95\0"
- "grey96\0"
- "grey97\0"
- "grey98\0"
- "grey99\0"
- "honeydew\0"
- "honeydew1\0"
- "honeydew2\0"
- "honeydew3\0"
- "honeydew4\0"
- "hot pink\0"
- "HotPink\0"
- "HotPink1\0"
- "HotPink2\0"
- "HotPink3\0"
- "HotPink4\0"
- "indian red\0"
- "IndianRed\0"
- "IndianRed1\0"
- "IndianRed2\0"
- "IndianRed3\0"
- "IndianRed4\0"
- "ivory\0"
- "ivory1\0"
- "ivory2\0"
- "ivory3\0"
- "ivory4\0"
- "khaki\0"
- "khaki1\0"
- "khaki2\0"
- "khaki3\0"
- "khaki4\0"
- "lavender\0"
- "lavender blush\0"
- "LavenderBlush\0"
- "LavenderBlush1\0"
- "LavenderBlush2\0"
- "LavenderBlush3\0"
- "LavenderBlush4\0"
- "lawn green\0"
- "LawnGreen\0"
- "lemon chiffon\0"
- "LemonChiffon\0"
- "LemonChiffon1\0"
- "LemonChiffon2\0"
- "LemonChiffon3\0"
- "LemonChiffon4\0"
- "light blue\0"
- "light coral\0"
- "light cyan\0"
- "light goldenrod\0"
- "light goldenrod yellow\0"
- "light gray\0"
- "light green\0"
- "light grey\0"
- "light pink\0"
- "light salmon\0"
- "light sea green\0"
- "light sky blue\0"
- "light slate blue\0"
- "light slate gray\0"
- "light slate grey\0"
- "light steel blue\0"
- "light yellow\0"
- "LightBlue\0"
- "LightBlue1\0"
- "LightBlue2\0"
- "LightBlue3\0"
- "LightBlue4\0"
- "LightCoral\0"
- "LightCyan\0"
- "LightCyan1\0"
- "LightCyan2\0"
- "LightCyan3\0"
- "LightCyan4\0"
- "LightGoldenrod\0"
- "LightGoldenrod1\0"
- "LightGoldenrod2\0"
- "LightGoldenrod3\0"
- "LightGoldenrod4\0"
- "LightGoldenrodYellow\0"
- "LightGray\0"
- "LightGreen\0"
- "LightGrey\0"
- "LightPink\0"
- "LightPink1\0"
- "LightPink2\0"
- "LightPink3\0"
- "LightPink4\0"
- "LightSalmon\0"
- "LightSalmon1\0"
- "LightSalmon2\0"
- "LightSalmon3\0"
- "LightSalmon4\0"
- "LightSeaGreen\0"
- "LightSkyBlue\0"
- "LightSkyBlue1\0"
- "LightSkyBlue2\0"
- "LightSkyBlue3\0"
- "LightSkyBlue4\0"
- "LightSlateBlue\0"
- "LightSlateGray\0"
- "LightSlateGrey\0"
- "LightSteelBlue\0"
- "LightSteelBlue1\0"
- "LightSteelBlue2\0"
- "LightSteelBlue3\0"
- "LightSteelBlue4\0"
- "LightYellow\0"
- "LightYellow1\0"
- "LightYellow2\0"
- "LightYellow3\0"
- "LightYellow4\0"
- "lime green\0"
- "LimeGreen\0"
- "linen\0"
- "magenta\0"
- "magenta1\0"
- "magenta2\0"
- "magenta3\0"
- "magenta4\0"
- "maroon\0"
- "maroon1\0"
- "maroon2\0"
- "maroon3\0"
- "maroon4\0"
- "medium aquamarine\0"
- "medium blue\0"
- "medium orchid\0"
- "medium purple\0"
- "medium sea green\0"
- "medium slate blue\0"
- "medium spring green\0"
- "medium turquoise\0"
- "medium violet red\0"
- "MediumAquamarine\0"
- "MediumBlue\0"
- "MediumOrchid\0"
- "MediumOrchid1\0"
- "MediumOrchid2\0"
- "MediumOrchid3\0"
- "MediumOrchid4\0"
- "MediumPurple\0"
- "MediumPurple1\0"
- "MediumPurple2\0"
- "MediumPurple3\0"
- "MediumPurple4\0"
- "MediumSeaGreen\0"
- "MediumSlateBlue\0"
- "MediumSpringGreen\0"
- "MediumTurquoise\0"
- "MediumVioletRed\0"
- "midnight blue\0"
- "MidnightBlue\0"
- "mint cream\0"
- "MintCream\0"
- "misty rose\0"
- "MistyRose\0"
- "MistyRose1\0"
- "MistyRose2\0"
- "MistyRose3\0"
- "MistyRose4\0"
- "moccasin\0"
- "navajo white\0"
- "NavajoWhite\0"
- "NavajoWhite1\0"
- "NavajoWhite2\0"
- "NavajoWhite3\0"
- "NavajoWhite4\0"
- "navy\0"
- "navy blue\0"
- "NavyBlue\0"
- "old lace\0"
- "OldLace\0"
- "olive drab\0"
- "OliveDrab\0"
- "OliveDrab1\0"
- "OliveDrab2\0"
- "OliveDrab3\0"
- "OliveDrab4\0"
- "orange\0"
- "orange red\0"
- "orange1\0"
- "orange2\0"
- "orange3\0"
- "orange4\0"
- "OrangeRed\0"
- "OrangeRed1\0"
- "OrangeRed2\0"
- "OrangeRed3\0"
- "OrangeRed4\0"
- "orchid\0"
- "orchid1\0"
- "orchid2\0"
- "orchid3\0"
- "orchid4\0"
- "pale goldenrod\0"
- "pale green\0"
- "pale turquoise\0"
- "pale violet red\0"
- "PaleGoldenrod\0"
- "PaleGreen\0"
- "PaleGreen1\0"
- "PaleGreen2\0"
- "PaleGreen3\0"
- "PaleGreen4\0"
- "PaleTurquoise\0"
- "PaleTurquoise1\0"
- "PaleTurquoise2\0"
- "PaleTurquoise3\0"
- "PaleTurquoise4\0"
- "PaleVioletRed\0"
- "PaleVioletRed1\0"
- "PaleVioletRed2\0"
- "PaleVioletRed3\0"
- "PaleVioletRed4\0"
- "papaya whip\0"
- "PapayaWhip\0"
- "peach puff\0"
- "PeachPuff\0"
- "PeachPuff1\0"
- "PeachPuff2\0"
- "PeachPuff3\0"
- "PeachPuff4\0"
- "peru\0"
- "pink\0"
- "pink1\0"
- "pink2\0"
- "pink3\0"
- "pink4\0"
- "plum\0"
- "plum1\0"
- "plum2\0"
- "plum3\0"
- "plum4\0"
- "powder blue\0"
- "PowderBlue\0"
- "purple\0"
- "purple1\0"
- "purple2\0"
- "purple3\0"
- "purple4\0"
- "red\0"
- "red1\0"
- "red2\0"
- "red3\0"
- "red4\0"
- "rosy brown\0"
- "RosyBrown\0"
- "RosyBrown1\0"
- "RosyBrown2\0"
- "RosyBrown3\0"
- "RosyBrown4\0"
- "royal blue\0"
- "RoyalBlue\0"
- "RoyalBlue1\0"
- "RoyalBlue2\0"
- "RoyalBlue3\0"
- "RoyalBlue4\0"
- "saddle brown\0"
- "SaddleBrown\0"
- "salmon\0"
- "salmon1\0"
- "salmon2\0"
- "salmon3\0"
- "salmon4\0"
- "sandy brown\0"
- "SandyBrown\0"
- "sea green\0"
- "SeaGreen\0"
- "SeaGreen1\0"
- "SeaGreen2\0"
- "SeaGreen3\0"
- "SeaGreen4\0"
- "seashell\0"
- "seashell1\0"
- "seashell2\0"
- "seashell3\0"
- "seashell4\0"
- "sienna\0"
- "sienna1\0"
- "sienna2\0"
- "sienna3\0"
- "sienna4\0"
- "sky blue\0"
- "SkyBlue\0"
- "SkyBlue1\0"
- "SkyBlue2\0"
- "SkyBlue3\0"
- "SkyBlue4\0"
- "slate blue\0"
- "slate gray\0"
- "slate grey\0"
- "SlateBlue\0"
- "SlateBlue1\0"
- "SlateBlue2\0"
- "SlateBlue3\0"
- "SlateBlue4\0"
- "SlateGray\0"
- "SlateGray1\0"
- "SlateGray2\0"
- "SlateGray3\0"
- "SlateGray4\0"
- "SlateGrey\0"
- "snow\0"
- "snow1\0"
- "snow2\0"
- "snow3\0"
- "snow4\0"
- "spring green\0"
- "SpringGreen\0"
- "SpringGreen1\0"
- "SpringGreen2\0"
- "SpringGreen3\0"
- "SpringGreen4\0"
- "steel blue\0"
- "SteelBlue\0"
- "SteelBlue1\0"
- "SteelBlue2\0"
- "SteelBlue3\0"
- "SteelBlue4\0"
- "tan\0"
- "tan1\0"
- "tan2\0"
- "tan3\0"
- "tan4\0"
- "thistle\0"
- "thistle1\0"
- "thistle2\0"
- "thistle3\0"
- "thistle4\0"
- "tomato\0"
- "tomato1\0"
- "tomato2\0"
- "tomato3\0"
- "tomato4\0"
- "turquoise\0"
- "turquoise1\0"
- "turquoise2\0"
- "turquoise3\0"
- "turquoise4\0"
- "violet\0"
- "violet red\0"
- "VioletRed\0"
- "VioletRed1\0"
- "VioletRed2\0"
- "VioletRed3\0"
- "VioletRed4\0"
- "wheat\0"
- "wheat1\0"
- "wheat2\0"
- "wheat3\0"
- "wheat4\0"
- "white\0"
- "white smoke\0"
- "WhiteSmoke\0"
- "yellow\0"
- "yellow green\0"
- "yellow1\0"
- "yellow2\0"
- "yellow3\0"
- "yellow4\0"
- "YellowGreen\0"
-};
-static const BuiltinColor BuiltinColors[] = {
- { 240, 248, 255, 0 }, /* alice blue */
- { 240, 248, 255, 11 }, /* AliceBlue */
- { 250, 235, 215, 21 }, /* antique white */
- { 250, 235, 215, 35 }, /* AntiqueWhite */
- { 255, 239, 219, 48 }, /* AntiqueWhite1 */
- { 238, 223, 204, 62 }, /* AntiqueWhite2 */
- { 205, 192, 176, 76 }, /* AntiqueWhite3 */
- { 139, 131, 120, 90 }, /* AntiqueWhite4 */
- { 127, 255, 212, 104 }, /* aquamarine */
- { 127, 255, 212, 115 }, /* aquamarine1 */
- { 118, 238, 198, 127 }, /* aquamarine2 */
- { 102, 205, 170, 139 }, /* aquamarine3 */
- { 69, 139, 116, 151 }, /* aquamarine4 */
- { 240, 255, 255, 163 }, /* azure */
- { 240, 255, 255, 169 }, /* azure1 */
- { 224, 238, 238, 176 }, /* azure2 */
- { 193, 205, 205, 183 }, /* azure3 */
- { 131, 139, 139, 190 }, /* azure4 */
- { 245, 245, 220, 197 }, /* beige */
- { 255, 228, 196, 203 }, /* bisque */
- { 255, 228, 196, 210 }, /* bisque1 */
- { 238, 213, 183, 218 }, /* bisque2 */
- { 205, 183, 158, 226 }, /* bisque3 */
- { 139, 125, 107, 234 }, /* bisque4 */
- { 0, 0, 0, 242 }, /* black */
- { 255, 235, 205, 248 }, /* blanched almond */
- { 255, 235, 205, 264 }, /* BlanchedAlmond */
- { 0, 0, 255, 279 }, /* blue */
- { 138, 43, 226, 284 }, /* blue violet */
- { 0, 0, 255, 296 }, /* blue1 */
- { 0, 0, 238, 302 }, /* blue2 */
- { 0, 0, 205, 308 }, /* blue3 */
- { 0, 0, 139, 314 }, /* blue4 */
- { 138, 43, 226, 320 }, /* BlueViolet */
- { 165, 42, 42, 331 }, /* brown */
- { 255, 64, 64, 337 }, /* brown1 */
- { 238, 59, 59, 344 }, /* brown2 */
- { 205, 51, 51, 351 }, /* brown3 */
- { 139, 35, 35, 358 }, /* brown4 */
- { 222, 184, 135, 365 }, /* burlywood */
- { 255, 211, 155, 375 }, /* burlywood1 */
- { 238, 197, 145, 386 }, /* burlywood2 */
- { 205, 170, 125, 397 }, /* burlywood3 */
- { 139, 115, 85, 408 }, /* burlywood4 */
- { 95, 158, 160, 419 }, /* cadet blue */
- { 95, 158, 160, 430 }, /* CadetBlue */
- { 152, 245, 255, 440 }, /* CadetBlue1 */
- { 142, 229, 238, 451 }, /* CadetBlue2 */
- { 122, 197, 205, 462 }, /* CadetBlue3 */
- { 83, 134, 139, 473 }, /* CadetBlue4 */
- { 127, 255, 0, 484 }, /* chartreuse */
- { 127, 255, 0, 495 }, /* chartreuse1 */
- { 118, 238, 0, 507 }, /* chartreuse2 */
- { 102, 205, 0, 519 }, /* chartreuse3 */
- { 69, 139, 0, 531 }, /* chartreuse4 */
- { 210, 105, 30, 543 }, /* chocolate */
- { 255, 127, 36, 553 }, /* chocolate1 */
- { 238, 118, 33, 564 }, /* chocolate2 */
- { 205, 102, 29, 575 }, /* chocolate3 */
- { 139, 69, 19, 586 }, /* chocolate4 */
- { 255, 127, 80, 597 }, /* coral */
- { 255, 114, 86, 603 }, /* coral1 */
- { 238, 106, 80, 610 }, /* coral2 */
- { 205, 91, 69, 617 }, /* coral3 */
- { 139, 62, 47, 624 }, /* coral4 */
- { 100, 149, 237, 631 }, /* cornflower blue */
- { 100, 149, 237, 647 }, /* CornflowerBlue */
- { 255, 248, 220, 662 }, /* cornsilk */
- { 255, 248, 220, 671 }, /* cornsilk1 */
- { 238, 232, 205, 681 }, /* cornsilk2 */
- { 205, 200, 177, 691 }, /* cornsilk3 */
- { 139, 136, 120, 701 }, /* cornsilk4 */
- { 0, 255, 255, 711 }, /* cyan */
- { 0, 255, 255, 716 }, /* cyan1 */
- { 0, 238, 238, 722 }, /* cyan2 */
- { 0, 205, 205, 728 }, /* cyan3 */
- { 0, 139, 139, 734 }, /* cyan4 */
- { 0, 0, 139, 740 }, /* dark blue */
- { 0, 139, 139, 750 }, /* dark cyan */
- { 184, 134, 11, 760 }, /* dark goldenrod */
- { 169, 169, 169, 775 }, /* dark gray */
- { 0, 100, 0, 785 }, /* dark green */
- { 169, 169, 169, 796 }, /* dark grey */
- { 189, 183, 107, 806 }, /* dark khaki */
- { 139, 0, 139, 817 }, /* dark magenta */
- { 85, 107, 47, 830 }, /* dark olive green */
- { 255, 140, 0, 847 }, /* dark orange */
- { 153, 50, 204, 859 }, /* dark orchid */
- { 139, 0, 0, 871 }, /* dark red */
- { 233, 150, 122, 880 }, /* dark salmon */
- { 143, 188, 143, 892 }, /* dark sea green */
- { 72, 61, 139, 907 }, /* dark slate blue */
- { 47, 79, 79, 923 }, /* dark slate gray */
- { 47, 79, 79, 939 }, /* dark slate grey */
- { 0, 206, 209, 955 }, /* dark turquoise */
- { 148, 0, 211, 970 }, /* dark violet */
- { 0, 0, 139, 982 }, /* DarkBlue */
- { 0, 139, 139, 991 }, /* DarkCyan */
- { 184, 134, 11, 1000 }, /* DarkGoldenrod */
- { 255, 185, 15, 1014 }, /* DarkGoldenrod1 */
- { 238, 173, 14, 1029 }, /* DarkGoldenrod2 */
- { 205, 149, 12, 1044 }, /* DarkGoldenrod3 */
- { 139, 101, 8, 1059 }, /* DarkGoldenrod4 */
- { 169, 169, 169, 1074 }, /* DarkGray */
- { 0, 100, 0, 1083 }, /* DarkGreen */
- { 169, 169, 169, 1093 }, /* DarkGrey */
- { 189, 183, 107, 1102 }, /* DarkKhaki */
- { 139, 0, 139, 1112 }, /* DarkMagenta */
- { 85, 107, 47, 1124 }, /* DarkOliveGreen */
- { 202, 255, 112, 1139 }, /* DarkOliveGreen1 */
- { 188, 238, 104, 1155 }, /* DarkOliveGreen2 */
- { 162, 205, 90, 1171 }, /* DarkOliveGreen3 */
- { 110, 139, 61, 1187 }, /* DarkOliveGreen4 */
- { 255, 140, 0, 1203 }, /* DarkOrange */
- { 255, 127, 0, 1214 }, /* DarkOrange1 */
- { 238, 118, 0, 1226 }, /* DarkOrange2 */
- { 205, 102, 0, 1238 }, /* DarkOrange3 */
- { 139, 69, 0, 1250 }, /* DarkOrange4 */
- { 153, 50, 204, 1262 }, /* DarkOrchid */
- { 191, 62, 255, 1273 }, /* DarkOrchid1 */
- { 178, 58, 238, 1285 }, /* DarkOrchid2 */
- { 154, 50, 205, 1297 }, /* DarkOrchid3 */
- { 104, 34, 139, 1309 }, /* DarkOrchid4 */
- { 139, 0, 0, 1321 }, /* DarkRed */
- { 233, 150, 122, 1329 }, /* DarkSalmon */
- { 143, 188, 143, 1340 }, /* DarkSeaGreen */
- { 193, 255, 193, 1353 }, /* DarkSeaGreen1 */
- { 180, 238, 180, 1367 }, /* DarkSeaGreen2 */
- { 155, 205, 155, 1381 }, /* DarkSeaGreen3 */
- { 105, 139, 105, 1395 }, /* DarkSeaGreen4 */
- { 72, 61, 139, 1409 }, /* DarkSlateBlue */
- { 47, 79, 79, 1423 }, /* DarkSlateGray */
- { 151, 255, 255, 1437 }, /* DarkSlateGray1 */
- { 141, 238, 238, 1452 }, /* DarkSlateGray2 */
- { 121, 205, 205, 1467 }, /* DarkSlateGray3 */
- { 82, 139, 139, 1482 }, /* DarkSlateGray4 */
- { 47, 79, 79, 1497 }, /* DarkSlateGrey */
- { 0, 206, 209, 1511 }, /* DarkTurquoise */
- { 148, 0, 211, 1525 }, /* DarkViolet */
- { 255, 20, 147, 1536 }, /* deep pink */
- { 0, 191, 255, 1546 }, /* deep sky blue */
- { 255, 20, 147, 1560 }, /* DeepPink */
- { 255, 20, 147, 1569 }, /* DeepPink1 */
- { 238, 18, 137, 1579 }, /* DeepPink2 */
- { 205, 16, 118, 1589 }, /* DeepPink3 */
- { 139, 10, 80, 1599 }, /* DeepPink4 */
- { 0, 191, 255, 1609 }, /* DeepSkyBlue */
- { 0, 191, 255, 1621 }, /* DeepSkyBlue1 */
- { 0, 178, 238, 1634 }, /* DeepSkyBlue2 */
- { 0, 154, 205, 1647 }, /* DeepSkyBlue3 */
- { 0, 104, 139, 1660 }, /* DeepSkyBlue4 */
- { 105, 105, 105, 1673 }, /* dim gray */
- { 105, 105, 105, 1682 }, /* dim grey */
- { 105, 105, 105, 1691 }, /* DimGray */
- { 105, 105, 105, 1699 }, /* DimGrey */
- { 30, 144, 255, 1707 }, /* dodger blue */
- { 30, 144, 255, 1719 }, /* DodgerBlue */
- { 30, 144, 255, 1730 }, /* DodgerBlue1 */
- { 28, 134, 238, 1742 }, /* DodgerBlue2 */
- { 24, 116, 205, 1754 }, /* DodgerBlue3 */
- { 16, 78, 139, 1766 }, /* DodgerBlue4 */
- { 178, 34, 34, 1778 }, /* firebrick */
- { 255, 48, 48, 1788 }, /* firebrick1 */
- { 238, 44, 44, 1799 }, /* firebrick2 */
- { 205, 38, 38, 1810 }, /* firebrick3 */
- { 139, 26, 26, 1821 }, /* firebrick4 */
- { 255, 250, 240, 1832 }, /* floral white */
- { 255, 250, 240, 1845 }, /* FloralWhite */
- { 34, 139, 34, 1857 }, /* forest green */
- { 34, 139, 34, 1870 }, /* ForestGreen */
- { 220, 220, 220, 1882 }, /* gainsboro */
- { 248, 248, 255, 1892 }, /* ghost white */
- { 248, 248, 255, 1904 }, /* GhostWhite */
- { 255, 215, 0, 1915 }, /* gold */
- { 255, 215, 0, 1920 }, /* gold1 */
- { 238, 201, 0, 1926 }, /* gold2 */
- { 205, 173, 0, 1932 }, /* gold3 */
- { 139, 117, 0, 1938 }, /* gold4 */
- { 218, 165, 32, 1944 }, /* goldenrod */
- { 255, 193, 37, 1954 }, /* goldenrod1 */
- { 238, 180, 34, 1965 }, /* goldenrod2 */
- { 205, 155, 29, 1976 }, /* goldenrod3 */
- { 139, 105, 20, 1987 }, /* goldenrod4 */
- { 190, 190, 190, 1998 }, /* gray */
- { 0, 0, 0, 2003 }, /* gray0 */
- { 3, 3, 3, 2009 }, /* gray1 */
- { 26, 26, 26, 2015 }, /* gray10 */
- { 255, 255, 255, 2022 }, /* gray100 */
- { 28, 28, 28, 2030 }, /* gray11 */
- { 31, 31, 31, 2037 }, /* gray12 */
- { 33, 33, 33, 2044 }, /* gray13 */
- { 36, 36, 36, 2051 }, /* gray14 */
- { 38, 38, 38, 2058 }, /* gray15 */
- { 41, 41, 41, 2065 }, /* gray16 */
- { 43, 43, 43, 2072 }, /* gray17 */
- { 46, 46, 46, 2079 }, /* gray18 */
- { 48, 48, 48, 2086 }, /* gray19 */
- { 5, 5, 5, 2093 }, /* gray2 */
- { 51, 51, 51, 2099 }, /* gray20 */
- { 54, 54, 54, 2106 }, /* gray21 */
- { 56, 56, 56, 2113 }, /* gray22 */
- { 59, 59, 59, 2120 }, /* gray23 */
- { 61, 61, 61, 2127 }, /* gray24 */
- { 64, 64, 64, 2134 }, /* gray25 */
- { 66, 66, 66, 2141 }, /* gray26 */
- { 69, 69, 69, 2148 }, /* gray27 */
- { 71, 71, 71, 2155 }, /* gray28 */
- { 74, 74, 74, 2162 }, /* gray29 */
- { 8, 8, 8, 2169 }, /* gray3 */
- { 77, 77, 77, 2175 }, /* gray30 */
- { 79, 79, 79, 2182 }, /* gray31 */
- { 82, 82, 82, 2189 }, /* gray32 */
- { 84, 84, 84, 2196 }, /* gray33 */
- { 87, 87, 87, 2203 }, /* gray34 */
- { 89, 89, 89, 2210 }, /* gray35 */
- { 92, 92, 92, 2217 }, /* gray36 */
- { 94, 94, 94, 2224 }, /* gray37 */
- { 97, 97, 97, 2231 }, /* gray38 */
- { 99, 99, 99, 2238 }, /* gray39 */
- { 10, 10, 10, 2245 }, /* gray4 */
- { 102, 102, 102, 2251 }, /* gray40 */
- { 105, 105, 105, 2258 }, /* gray41 */
- { 107, 107, 107, 2265 }, /* gray42 */
- { 110, 110, 110, 2272 }, /* gray43 */
- { 112, 112, 112, 2279 }, /* gray44 */
- { 115, 115, 115, 2286 }, /* gray45 */
- { 117, 117, 117, 2293 }, /* gray46 */
- { 120, 120, 120, 2300 }, /* gray47 */
- { 122, 122, 122, 2307 }, /* gray48 */
- { 125, 125, 125, 2314 }, /* gray49 */
- { 13, 13, 13, 2321 }, /* gray5 */
- { 127, 127, 127, 2327 }, /* gray50 */
- { 130, 130, 130, 2334 }, /* gray51 */
- { 133, 133, 133, 2341 }, /* gray52 */
- { 135, 135, 135, 2348 }, /* gray53 */
- { 138, 138, 138, 2355 }, /* gray54 */
- { 140, 140, 140, 2362 }, /* gray55 */
- { 143, 143, 143, 2369 }, /* gray56 */
- { 145, 145, 145, 2376 }, /* gray57 */
- { 148, 148, 148, 2383 }, /* gray58 */
- { 150, 150, 150, 2390 }, /* gray59 */
- { 15, 15, 15, 2397 }, /* gray6 */
- { 153, 153, 153, 2403 }, /* gray60 */
- { 156, 156, 156, 2410 }, /* gray61 */
- { 158, 158, 158, 2417 }, /* gray62 */
- { 161, 161, 161, 2424 }, /* gray63 */
- { 163, 163, 163, 2431 }, /* gray64 */
- { 166, 166, 166, 2438 }, /* gray65 */
- { 168, 168, 168, 2445 }, /* gray66 */
- { 171, 171, 171, 2452 }, /* gray67 */
- { 173, 173, 173, 2459 }, /* gray68 */
- { 176, 176, 176, 2466 }, /* gray69 */
- { 18, 18, 18, 2473 }, /* gray7 */
- { 179, 179, 179, 2479 }, /* gray70 */
- { 181, 181, 181, 2486 }, /* gray71 */
- { 184, 184, 184, 2493 }, /* gray72 */
- { 186, 186, 186, 2500 }, /* gray73 */
- { 189, 189, 189, 2507 }, /* gray74 */
- { 191, 191, 191, 2514 }, /* gray75 */
- { 194, 194, 194, 2521 }, /* gray76 */
- { 196, 196, 196, 2528 }, /* gray77 */
- { 199, 199, 199, 2535 }, /* gray78 */
- { 201, 201, 201, 2542 }, /* gray79 */
- { 20, 20, 20, 2549 }, /* gray8 */
- { 204, 204, 204, 2555 }, /* gray80 */
- { 207, 207, 207, 2562 }, /* gray81 */
- { 209, 209, 209, 2569 }, /* gray82 */
- { 212, 212, 212, 2576 }, /* gray83 */
- { 214, 214, 214, 2583 }, /* gray84 */
- { 217, 217, 217, 2590 }, /* gray85 */
- { 219, 219, 219, 2597 }, /* gray86 */
- { 222, 222, 222, 2604 }, /* gray87 */
- { 224, 224, 224, 2611 }, /* gray88 */
- { 227, 227, 227, 2618 }, /* gray89 */
- { 23, 23, 23, 2625 }, /* gray9 */
- { 229, 229, 229, 2631 }, /* gray90 */
- { 232, 232, 232, 2638 }, /* gray91 */
- { 235, 235, 235, 2645 }, /* gray92 */
- { 237, 237, 237, 2652 }, /* gray93 */
- { 240, 240, 240, 2659 }, /* gray94 */
- { 242, 242, 242, 2666 }, /* gray95 */
- { 245, 245, 245, 2673 }, /* gray96 */
- { 247, 247, 247, 2680 }, /* gray97 */
- { 250, 250, 250, 2687 }, /* gray98 */
- { 252, 252, 252, 2694 }, /* gray99 */
- { 0, 255, 0, 2701 }, /* green */
- { 173, 255, 47, 2707 }, /* green yellow */
- { 0, 255, 0, 2720 }, /* green1 */
- { 0, 238, 0, 2727 }, /* green2 */
- { 0, 205, 0, 2734 }, /* green3 */
- { 0, 139, 0, 2741 }, /* green4 */
- { 173, 255, 47, 2748 }, /* GreenYellow */
- { 190, 190, 190, 2760 }, /* grey */
- { 0, 0, 0, 2765 }, /* grey0 */
- { 3, 3, 3, 2771 }, /* grey1 */
- { 26, 26, 26, 2777 }, /* grey10 */
- { 255, 255, 255, 2784 }, /* grey100 */
- { 28, 28, 28, 2792 }, /* grey11 */
- { 31, 31, 31, 2799 }, /* grey12 */
- { 33, 33, 33, 2806 }, /* grey13 */
- { 36, 36, 36, 2813 }, /* grey14 */
- { 38, 38, 38, 2820 }, /* grey15 */
- { 41, 41, 41, 2827 }, /* grey16 */
- { 43, 43, 43, 2834 }, /* grey17 */
- { 46, 46, 46, 2841 }, /* grey18 */
- { 48, 48, 48, 2848 }, /* grey19 */
- { 5, 5, 5, 2855 }, /* grey2 */
- { 51, 51, 51, 2861 }, /* grey20 */
- { 54, 54, 54, 2868 }, /* grey21 */
- { 56, 56, 56, 2875 }, /* grey22 */
- { 59, 59, 59, 2882 }, /* grey23 */
- { 61, 61, 61, 2889 }, /* grey24 */
- { 64, 64, 64, 2896 }, /* grey25 */
- { 66, 66, 66, 2903 }, /* grey26 */
- { 69, 69, 69, 2910 }, /* grey27 */
- { 71, 71, 71, 2917 }, /* grey28 */
- { 74, 74, 74, 2924 }, /* grey29 */
- { 8, 8, 8, 2931 }, /* grey3 */
- { 77, 77, 77, 2937 }, /* grey30 */
- { 79, 79, 79, 2944 }, /* grey31 */
- { 82, 82, 82, 2951 }, /* grey32 */
- { 84, 84, 84, 2958 }, /* grey33 */
- { 87, 87, 87, 2965 }, /* grey34 */
- { 89, 89, 89, 2972 }, /* grey35 */
- { 92, 92, 92, 2979 }, /* grey36 */
- { 94, 94, 94, 2986 }, /* grey37 */
- { 97, 97, 97, 2993 }, /* grey38 */
- { 99, 99, 99, 3000 }, /* grey39 */
- { 10, 10, 10, 3007 }, /* grey4 */
- { 102, 102, 102, 3013 }, /* grey40 */
- { 105, 105, 105, 3020 }, /* grey41 */
- { 107, 107, 107, 3027 }, /* grey42 */
- { 110, 110, 110, 3034 }, /* grey43 */
- { 112, 112, 112, 3041 }, /* grey44 */
- { 115, 115, 115, 3048 }, /* grey45 */
- { 117, 117, 117, 3055 }, /* grey46 */
- { 120, 120, 120, 3062 }, /* grey47 */
- { 122, 122, 122, 3069 }, /* grey48 */
- { 125, 125, 125, 3076 }, /* grey49 */
- { 13, 13, 13, 3083 }, /* grey5 */
- { 127, 127, 127, 3089 }, /* grey50 */
- { 130, 130, 130, 3096 }, /* grey51 */
- { 133, 133, 133, 3103 }, /* grey52 */
- { 135, 135, 135, 3110 }, /* grey53 */
- { 138, 138, 138, 3117 }, /* grey54 */
- { 140, 140, 140, 3124 }, /* grey55 */
- { 143, 143, 143, 3131 }, /* grey56 */
- { 145, 145, 145, 3138 }, /* grey57 */
- { 148, 148, 148, 3145 }, /* grey58 */
- { 150, 150, 150, 3152 }, /* grey59 */
- { 15, 15, 15, 3159 }, /* grey6 */
- { 153, 153, 153, 3165 }, /* grey60 */
- { 156, 156, 156, 3172 }, /* grey61 */
- { 158, 158, 158, 3179 }, /* grey62 */
- { 161, 161, 161, 3186 }, /* grey63 */
- { 163, 163, 163, 3193 }, /* grey64 */
- { 166, 166, 166, 3200 }, /* grey65 */
- { 168, 168, 168, 3207 }, /* grey66 */
- { 171, 171, 171, 3214 }, /* grey67 */
- { 173, 173, 173, 3221 }, /* grey68 */
- { 176, 176, 176, 3228 }, /* grey69 */
- { 18, 18, 18, 3235 }, /* grey7 */
- { 179, 179, 179, 3241 }, /* grey70 */
- { 181, 181, 181, 3248 }, /* grey71 */
- { 184, 184, 184, 3255 }, /* grey72 */
- { 186, 186, 186, 3262 }, /* grey73 */
- { 189, 189, 189, 3269 }, /* grey74 */
- { 191, 191, 191, 3276 }, /* grey75 */
- { 194, 194, 194, 3283 }, /* grey76 */
- { 196, 196, 196, 3290 }, /* grey77 */
- { 199, 199, 199, 3297 }, /* grey78 */
- { 201, 201, 201, 3304 }, /* grey79 */
- { 20, 20, 20, 3311 }, /* grey8 */
- { 204, 204, 204, 3317 }, /* grey80 */
- { 207, 207, 207, 3324 }, /* grey81 */
- { 209, 209, 209, 3331 }, /* grey82 */
- { 212, 212, 212, 3338 }, /* grey83 */
- { 214, 214, 214, 3345 }, /* grey84 */
- { 217, 217, 217, 3352 }, /* grey85 */
- { 219, 219, 219, 3359 }, /* grey86 */
- { 222, 222, 222, 3366 }, /* grey87 */
- { 224, 224, 224, 3373 }, /* grey88 */
- { 227, 227, 227, 3380 }, /* grey89 */
- { 23, 23, 23, 3387 }, /* grey9 */
- { 229, 229, 229, 3393 }, /* grey90 */
- { 232, 232, 232, 3400 }, /* grey91 */
- { 235, 235, 235, 3407 }, /* grey92 */
- { 237, 237, 237, 3414 }, /* grey93 */
- { 240, 240, 240, 3421 }, /* grey94 */
- { 242, 242, 242, 3428 }, /* grey95 */
- { 245, 245, 245, 3435 }, /* grey96 */
- { 247, 247, 247, 3442 }, /* grey97 */
- { 250, 250, 250, 3449 }, /* grey98 */
- { 252, 252, 252, 3456 }, /* grey99 */
- { 240, 255, 240, 3463 }, /* honeydew */
- { 240, 255, 240, 3472 }, /* honeydew1 */
- { 224, 238, 224, 3482 }, /* honeydew2 */
- { 193, 205, 193, 3492 }, /* honeydew3 */
- { 131, 139, 131, 3502 }, /* honeydew4 */
- { 255, 105, 180, 3512 }, /* hot pink */
- { 255, 105, 180, 3521 }, /* HotPink */
- { 255, 110, 180, 3529 }, /* HotPink1 */
- { 238, 106, 167, 3538 }, /* HotPink2 */
- { 205, 96, 144, 3547 }, /* HotPink3 */
- { 139, 58, 98, 3556 }, /* HotPink4 */
- { 205, 92, 92, 3565 }, /* indian red */
- { 205, 92, 92, 3576 }, /* IndianRed */
- { 255, 106, 106, 3586 }, /* IndianRed1 */
- { 238, 99, 99, 3597 }, /* IndianRed2 */
- { 205, 85, 85, 3608 }, /* IndianRed3 */
- { 139, 58, 58, 3619 }, /* IndianRed4 */
- { 255, 255, 240, 3630 }, /* ivory */
- { 255, 255, 240, 3636 }, /* ivory1 */
- { 238, 238, 224, 3643 }, /* ivory2 */
- { 205, 205, 193, 3650 }, /* ivory3 */
- { 139, 139, 131, 3657 }, /* ivory4 */
- { 240, 230, 140, 3664 }, /* khaki */
- { 255, 246, 143, 3670 }, /* khaki1 */
- { 238, 230, 133, 3677 }, /* khaki2 */
- { 205, 198, 115, 3684 }, /* khaki3 */
- { 139, 134, 78, 3691 }, /* khaki4 */
- { 230, 230, 250, 3698 }, /* lavender */
- { 255, 240, 245, 3707 }, /* lavender blush */
- { 255, 240, 245, 3722 }, /* LavenderBlush */
- { 255, 240, 245, 3736 }, /* LavenderBlush1 */
- { 238, 224, 229, 3751 }, /* LavenderBlush2 */
- { 205, 193, 197, 3766 }, /* LavenderBlush3 */
- { 139, 131, 134, 3781 }, /* LavenderBlush4 */
- { 124, 252, 0, 3796 }, /* lawn green */
- { 124, 252, 0, 3807 }, /* LawnGreen */
- { 255, 250, 205, 3817 }, /* lemon chiffon */
- { 255, 250, 205, 3831 }, /* LemonChiffon */
- { 255, 250, 205, 3844 }, /* LemonChiffon1 */
- { 238, 233, 191, 3858 }, /* LemonChiffon2 */
- { 205, 201, 165, 3872 }, /* LemonChiffon3 */
- { 139, 137, 112, 3886 }, /* LemonChiffon4 */
- { 173, 216, 230, 3900 }, /* light blue */
- { 240, 128, 128, 3911 }, /* light coral */
- { 224, 255, 255, 3923 }, /* light cyan */
- { 238, 221, 130, 3934 }, /* light goldenrod */
- { 250, 250, 210, 3950 }, /* light goldenrod yellow */
- { 211, 211, 211, 3973 }, /* light gray */
- { 144, 238, 144, 3984 }, /* light green */
- { 211, 211, 211, 3996 }, /* light grey */
- { 255, 182, 193, 4007 }, /* light pink */
- { 255, 160, 122, 4018 }, /* light salmon */
- { 32, 178, 170, 4031 }, /* light sea green */
- { 135, 206, 250, 4047 }, /* light sky blue */
- { 132, 112, 255, 4062 }, /* light slate blue */
- { 119, 136, 153, 4079 }, /* light slate gray */
- { 119, 136, 153, 4096 }, /* light slate grey */
- { 176, 196, 222, 4113 }, /* light steel blue */
- { 255, 255, 224, 4130 }, /* light yellow */
- { 173, 216, 230, 4143 }, /* LightBlue */
- { 191, 239, 255, 4153 }, /* LightBlue1 */
- { 178, 223, 238, 4164 }, /* LightBlue2 */
- { 154, 192, 205, 4175 }, /* LightBlue3 */
- { 104, 131, 139, 4186 }, /* LightBlue4 */
- { 240, 128, 128, 4197 }, /* LightCoral */
- { 224, 255, 255, 4208 }, /* LightCyan */
- { 224, 255, 255, 4218 }, /* LightCyan1 */
- { 209, 238, 238, 4229 }, /* LightCyan2 */
- { 180, 205, 205, 4240 }, /* LightCyan3 */
- { 122, 139, 139, 4251 }, /* LightCyan4 */
- { 238, 221, 130, 4262 }, /* LightGoldenrod */
- { 255, 236, 139, 4277 }, /* LightGoldenrod1 */
- { 238, 220, 130, 4293 }, /* LightGoldenrod2 */
- { 205, 190, 112, 4309 }, /* LightGoldenrod3 */
- { 139, 129, 76, 4325 }, /* LightGoldenrod4 */
- { 250, 250, 210, 4341 }, /* LightGoldenrodYellow */
- { 211, 211, 211, 4362 }, /* LightGray */
- { 144, 238, 144, 4372 }, /* LightGreen */
- { 211, 211, 211, 4383 }, /* LightGrey */
- { 255, 182, 193, 4393 }, /* LightPink */
- { 255, 174, 185, 4403 }, /* LightPink1 */
- { 238, 162, 173, 4414 }, /* LightPink2 */
- { 205, 140, 149, 4425 }, /* LightPink3 */
- { 139, 95, 101, 4436 }, /* LightPink4 */
- { 255, 160, 122, 4447 }, /* LightSalmon */
- { 255, 160, 122, 4459 }, /* LightSalmon1 */
- { 238, 149, 114, 4472 }, /* LightSalmon2 */
- { 205, 129, 98, 4485 }, /* LightSalmon3 */
- { 139, 87, 66, 4498 }, /* LightSalmon4 */
- { 32, 178, 170, 4511 }, /* LightSeaGreen */
- { 135, 206, 250, 4525 }, /* LightSkyBlue */
- { 176, 226, 255, 4538 }, /* LightSkyBlue1 */
- { 164, 211, 238, 4552 }, /* LightSkyBlue2 */
- { 141, 182, 205, 4566 }, /* LightSkyBlue3 */
- { 96, 123, 139, 4580 }, /* LightSkyBlue4 */
- { 132, 112, 255, 4594 }, /* LightSlateBlue */
- { 119, 136, 153, 4609 }, /* LightSlateGray */
- { 119, 136, 153, 4624 }, /* LightSlateGrey */
- { 176, 196, 222, 4639 }, /* LightSteelBlue */
- { 202, 225, 255, 4654 }, /* LightSteelBlue1 */
- { 188, 210, 238, 4670 }, /* LightSteelBlue2 */
- { 162, 181, 205, 4686 }, /* LightSteelBlue3 */
- { 110, 123, 139, 4702 }, /* LightSteelBlue4 */
- { 255, 255, 224, 4718 }, /* LightYellow */
- { 255, 255, 224, 4730 }, /* LightYellow1 */
- { 238, 238, 209, 4743 }, /* LightYellow2 */
- { 205, 205, 180, 4756 }, /* LightYellow3 */
- { 139, 139, 122, 4769 }, /* LightYellow4 */
- { 50, 205, 50, 4782 }, /* lime green */
- { 50, 205, 50, 4793 }, /* LimeGreen */
- { 250, 240, 230, 4803 }, /* linen */
- { 255, 0, 255, 4809 }, /* magenta */
- { 255, 0, 255, 4817 }, /* magenta1 */
- { 238, 0, 238, 4826 }, /* magenta2 */
- { 205, 0, 205, 4835 }, /* magenta3 */
- { 139, 0, 139, 4844 }, /* magenta4 */
- { 176, 48, 96, 4853 }, /* maroon */
- { 255, 52, 179, 4860 }, /* maroon1 */
- { 238, 48, 167, 4868 }, /* maroon2 */
- { 205, 41, 144, 4876 }, /* maroon3 */
- { 139, 28, 98, 4884 }, /* maroon4 */
- { 102, 205, 170, 4892 }, /* medium aquamarine */
- { 0, 0, 205, 4910 }, /* medium blue */
- { 186, 85, 211, 4922 }, /* medium orchid */
- { 147, 112, 219, 4936 }, /* medium purple */
- { 60, 179, 113, 4950 }, /* medium sea green */
- { 123, 104, 238, 4967 }, /* medium slate blue */
- { 0, 250, 154, 4985 }, /* medium spring green */
- { 72, 209, 204, 5005 }, /* medium turquoise */
- { 199, 21, 133, 5022 }, /* medium violet red */
- { 102, 205, 170, 5040 }, /* MediumAquamarine */
- { 0, 0, 205, 5057 }, /* MediumBlue */
- { 186, 85, 211, 5068 }, /* MediumOrchid */
- { 224, 102, 255, 5081 }, /* MediumOrchid1 */
- { 209, 95, 238, 5095 }, /* MediumOrchid2 */
- { 180, 82, 205, 5109 }, /* MediumOrchid3 */
- { 122, 55, 139, 5123 }, /* MediumOrchid4 */
- { 147, 112, 219, 5137 }, /* MediumPurple */
- { 171, 130, 255, 5150 }, /* MediumPurple1 */
- { 159, 121, 238, 5164 }, /* MediumPurple2 */
- { 137, 104, 205, 5178 }, /* MediumPurple3 */
- { 93, 71, 139, 5192 }, /* MediumPurple4 */
- { 60, 179, 113, 5206 }, /* MediumSeaGreen */
- { 123, 104, 238, 5221 }, /* MediumSlateBlue */
- { 0, 250, 154, 5237 }, /* MediumSpringGreen */
- { 72, 209, 204, 5255 }, /* MediumTurquoise */
- { 199, 21, 133, 5271 }, /* MediumVioletRed */
- { 25, 25, 112, 5287 }, /* midnight blue */
- { 25, 25, 112, 5301 }, /* MidnightBlue */
- { 245, 255, 250, 5314 }, /* mint cream */
- { 245, 255, 250, 5325 }, /* MintCream */
- { 255, 228, 225, 5335 }, /* misty rose */
- { 255, 228, 225, 5346 }, /* MistyRose */
- { 255, 228, 225, 5356 }, /* MistyRose1 */
- { 238, 213, 210, 5367 }, /* MistyRose2 */
- { 205, 183, 181, 5378 }, /* MistyRose3 */
- { 139, 125, 123, 5389 }, /* MistyRose4 */
- { 255, 228, 181, 5400 }, /* moccasin */
- { 255, 222, 173, 5409 }, /* navajo white */
- { 255, 222, 173, 5422 }, /* NavajoWhite */
- { 255, 222, 173, 5434 }, /* NavajoWhite1 */
- { 238, 207, 161, 5447 }, /* NavajoWhite2 */
- { 205, 179, 139, 5460 }, /* NavajoWhite3 */
- { 139, 121, 94, 5473 }, /* NavajoWhite4 */
- { 0, 0, 128, 5486 }, /* navy */
- { 0, 0, 128, 5491 }, /* navy blue */
- { 0, 0, 128, 5501 }, /* NavyBlue */
- { 253, 245, 230, 5510 }, /* old lace */
- { 253, 245, 230, 5519 }, /* OldLace */
- { 107, 142, 35, 5527 }, /* olive drab */
- { 107, 142, 35, 5538 }, /* OliveDrab */
- { 192, 255, 62, 5548 }, /* OliveDrab1 */
- { 179, 238, 58, 5559 }, /* OliveDrab2 */
- { 154, 205, 50, 5570 }, /* OliveDrab3 */
- { 105, 139, 34, 5581 }, /* OliveDrab4 */
- { 255, 165, 0, 5592 }, /* orange */
- { 255, 69, 0, 5599 }, /* orange red */
- { 255, 165, 0, 5610 }, /* orange1 */
- { 238, 154, 0, 5618 }, /* orange2 */
- { 205, 133, 0, 5626 }, /* orange3 */
- { 139, 90, 0, 5634 }, /* orange4 */
- { 255, 69, 0, 5642 }, /* OrangeRed */
- { 255, 69, 0, 5652 }, /* OrangeRed1 */
- { 238, 64, 0, 5663 }, /* OrangeRed2 */
- { 205, 55, 0, 5674 }, /* OrangeRed3 */
- { 139, 37, 0, 5685 }, /* OrangeRed4 */
- { 218, 112, 214, 5696 }, /* orchid */
- { 255, 131, 250, 5703 }, /* orchid1 */
- { 238, 122, 233, 5711 }, /* orchid2 */
- { 205, 105, 201, 5719 }, /* orchid3 */
- { 139, 71, 137, 5727 }, /* orchid4 */
- { 238, 232, 170, 5735 }, /* pale goldenrod */
- { 152, 251, 152, 5750 }, /* pale green */
- { 175, 238, 238, 5761 }, /* pale turquoise */
- { 219, 112, 147, 5776 }, /* pale violet red */
- { 238, 232, 170, 5792 }, /* PaleGoldenrod */
- { 152, 251, 152, 5806 }, /* PaleGreen */
- { 154, 255, 154, 5816 }, /* PaleGreen1 */
- { 144, 238, 144, 5827 }, /* PaleGreen2 */
- { 124, 205, 124, 5838 }, /* PaleGreen3 */
- { 84, 139, 84, 5849 }, /* PaleGreen4 */
- { 175, 238, 238, 5860 }, /* PaleTurquoise */
- { 187, 255, 255, 5874 }, /* PaleTurquoise1 */
- { 174, 238, 238, 5889 }, /* PaleTurquoise2 */
- { 150, 205, 205, 5904 }, /* PaleTurquoise3 */
- { 102, 139, 139, 5919 }, /* PaleTurquoise4 */
- { 219, 112, 147, 5934 }, /* PaleVioletRed */
- { 255, 130, 171, 5948 }, /* PaleVioletRed1 */
- { 238, 121, 159, 5963 }, /* PaleVioletRed2 */
- { 205, 104, 137, 5978 }, /* PaleVioletRed3 */
- { 139, 71, 93, 5993 }, /* PaleVioletRed4 */
- { 255, 239, 213, 6008 }, /* papaya whip */
- { 255, 239, 213, 6020 }, /* PapayaWhip */
- { 255, 218, 185, 6031 }, /* peach puff */
- { 255, 218, 185, 6042 }, /* PeachPuff */
- { 255, 218, 185, 6052 }, /* PeachPuff1 */
- { 238, 203, 173, 6063 }, /* PeachPuff2 */
- { 205, 175, 149, 6074 }, /* PeachPuff3 */
- { 139, 119, 101, 6085 }, /* PeachPuff4 */
- { 205, 133, 63, 6096 }, /* peru */
- { 255, 192, 203, 6101 }, /* pink */
- { 255, 181, 197, 6106 }, /* pink1 */
- { 238, 169, 184, 6112 }, /* pink2 */
- { 205, 145, 158, 6118 }, /* pink3 */
- { 139, 99, 108, 6124 }, /* pink4 */
- { 221, 160, 221, 6130 }, /* plum */
- { 255, 187, 255, 6135 }, /* plum1 */
- { 238, 174, 238, 6141 }, /* plum2 */
- { 205, 150, 205, 6147 }, /* plum3 */
- { 139, 102, 139, 6153 }, /* plum4 */
- { 176, 224, 230, 6159 }, /* powder blue */
- { 176, 224, 230, 6171 }, /* PowderBlue */
- { 160, 32, 240, 6182 }, /* purple */
- { 155, 48, 255, 6189 }, /* purple1 */
- { 145, 44, 238, 6197 }, /* purple2 */
- { 125, 38, 205, 6205 }, /* purple3 */
- { 85, 26, 139, 6213 }, /* purple4 */
- { 255, 0, 0, 6221 }, /* red */
- { 255, 0, 0, 6225 }, /* red1 */
- { 238, 0, 0, 6230 }, /* red2 */
- { 205, 0, 0, 6235 }, /* red3 */
- { 139, 0, 0, 6240 }, /* red4 */
- { 188, 143, 143, 6245 }, /* rosy brown */
- { 188, 143, 143, 6256 }, /* RosyBrown */
- { 255, 193, 193, 6266 }, /* RosyBrown1 */
- { 238, 180, 180, 6277 }, /* RosyBrown2 */
- { 205, 155, 155, 6288 }, /* RosyBrown3 */
- { 139, 105, 105, 6299 }, /* RosyBrown4 */
- { 65, 105, 225, 6310 }, /* royal blue */
- { 65, 105, 225, 6321 }, /* RoyalBlue */
- { 72, 118, 255, 6331 }, /* RoyalBlue1 */
- { 67, 110, 238, 6342 }, /* RoyalBlue2 */
- { 58, 95, 205, 6353 }, /* RoyalBlue3 */
- { 39, 64, 139, 6364 }, /* RoyalBlue4 */
- { 139, 69, 19, 6375 }, /* saddle brown */
- { 139, 69, 19, 6388 }, /* SaddleBrown */
- { 250, 128, 114, 6400 }, /* salmon */
- { 255, 140, 105, 6407 }, /* salmon1 */
- { 238, 130, 98, 6415 }, /* salmon2 */
- { 205, 112, 84, 6423 }, /* salmon3 */
- { 139, 76, 57, 6431 }, /* salmon4 */
- { 244, 164, 96, 6439 }, /* sandy brown */
- { 244, 164, 96, 6451 }, /* SandyBrown */
- { 46, 139, 87, 6462 }, /* sea green */
- { 46, 139, 87, 6472 }, /* SeaGreen */
- { 84, 255, 159, 6481 }, /* SeaGreen1 */
- { 78, 238, 148, 6491 }, /* SeaGreen2 */
- { 67, 205, 128, 6501 }, /* SeaGreen3 */
- { 46, 139, 87, 6511 }, /* SeaGreen4 */
- { 255, 245, 238, 6521 }, /* seashell */
- { 255, 245, 238, 6530 }, /* seashell1 */
- { 238, 229, 222, 6540 }, /* seashell2 */
- { 205, 197, 191, 6550 }, /* seashell3 */
- { 139, 134, 130, 6560 }, /* seashell4 */
- { 160, 82, 45, 6570 }, /* sienna */
- { 255, 130, 71, 6577 }, /* sienna1 */
- { 238, 121, 66, 6585 }, /* sienna2 */
- { 205, 104, 57, 6593 }, /* sienna3 */
- { 139, 71, 38, 6601 }, /* sienna4 */
- { 135, 206, 235, 6609 }, /* sky blue */
- { 135, 206, 235, 6618 }, /* SkyBlue */
- { 135, 206, 255, 6626 }, /* SkyBlue1 */
- { 126, 192, 238, 6635 }, /* SkyBlue2 */
- { 108, 166, 205, 6644 }, /* SkyBlue3 */
- { 74, 112, 139, 6653 }, /* SkyBlue4 */
- { 106, 90, 205, 6662 }, /* slate blue */
- { 112, 128, 144, 6673 }, /* slate gray */
- { 112, 128, 144, 6684 }, /* slate grey */
- { 106, 90, 205, 6695 }, /* SlateBlue */
- { 131, 111, 255, 6705 }, /* SlateBlue1 */
- { 122, 103, 238, 6716 }, /* SlateBlue2 */
- { 105, 89, 205, 6727 }, /* SlateBlue3 */
- { 71, 60, 139, 6738 }, /* SlateBlue4 */
- { 112, 128, 144, 6749 }, /* SlateGray */
- { 198, 226, 255, 6759 }, /* SlateGray1 */
- { 185, 211, 238, 6770 }, /* SlateGray2 */
- { 159, 182, 205, 6781 }, /* SlateGray3 */
- { 108, 123, 139, 6792 }, /* SlateGray4 */
- { 112, 128, 144, 6803 }, /* SlateGrey */
- { 255, 250, 250, 6813 }, /* snow */
- { 255, 250, 250, 6818 }, /* snow1 */
- { 238, 233, 233, 6824 }, /* snow2 */
- { 205, 201, 201, 6830 }, /* snow3 */
- { 139, 137, 137, 6836 }, /* snow4 */
- { 0, 255, 127, 6842 }, /* spring green */
- { 0, 255, 127, 6855 }, /* SpringGreen */
- { 0, 255, 127, 6867 }, /* SpringGreen1 */
- { 0, 238, 118, 6880 }, /* SpringGreen2 */
- { 0, 205, 102, 6893 }, /* SpringGreen3 */
- { 0, 139, 69, 6906 }, /* SpringGreen4 */
- { 70, 130, 180, 6919 }, /* steel blue */
- { 70, 130, 180, 6930 }, /* SteelBlue */
- { 99, 184, 255, 6940 }, /* SteelBlue1 */
- { 92, 172, 238, 6951 }, /* SteelBlue2 */
- { 79, 148, 205, 6962 }, /* SteelBlue3 */
- { 54, 100, 139, 6973 }, /* SteelBlue4 */
- { 210, 180, 140, 6984 }, /* tan */
- { 255, 165, 79, 6988 }, /* tan1 */
- { 238, 154, 73, 6993 }, /* tan2 */
- { 205, 133, 63, 6998 }, /* tan3 */
- { 139, 90, 43, 7003 }, /* tan4 */
- { 216, 191, 216, 7008 }, /* thistle */
- { 255, 225, 255, 7016 }, /* thistle1 */
- { 238, 210, 238, 7025 }, /* thistle2 */
- { 205, 181, 205, 7034 }, /* thistle3 */
- { 139, 123, 139, 7043 }, /* thistle4 */
- { 255, 99, 71, 7052 }, /* tomato */
- { 255, 99, 71, 7059 }, /* tomato1 */
- { 238, 92, 66, 7067 }, /* tomato2 */
- { 205, 79, 57, 7075 }, /* tomato3 */
- { 139, 54, 38, 7083 }, /* tomato4 */
- { 64, 224, 208, 7091 }, /* turquoise */
- { 0, 245, 255, 7101 }, /* turquoise1 */
- { 0, 229, 238, 7112 }, /* turquoise2 */
- { 0, 197, 205, 7123 }, /* turquoise3 */
- { 0, 134, 139, 7134 }, /* turquoise4 */
- { 238, 130, 238, 7145 }, /* violet */
- { 208, 32, 144, 7152 }, /* violet red */
- { 208, 32, 144, 7163 }, /* VioletRed */
- { 255, 62, 150, 7173 }, /* VioletRed1 */
- { 238, 58, 140, 7184 }, /* VioletRed2 */
- { 205, 50, 120, 7195 }, /* VioletRed3 */
- { 139, 34, 82, 7206 }, /* VioletRed4 */
- { 245, 222, 179, 7217 }, /* wheat */
- { 255, 231, 186, 7223 }, /* wheat1 */
- { 238, 216, 174, 7230 }, /* wheat2 */
- { 205, 186, 150, 7237 }, /* wheat3 */
- { 139, 126, 102, 7244 }, /* wheat4 */
- { 255, 255, 255, 7251 }, /* white */
- { 245, 245, 245, 7257 }, /* white smoke */
- { 245, 245, 245, 7269 }, /* WhiteSmoke */
- { 255, 255, 0, 7280 }, /* yellow */
- { 154, 205, 50, 7287 }, /* yellow green */
- { 255, 255, 0, 7300 }, /* yellow1 */
- { 238, 238, 0, 7308 }, /* yellow2 */
- { 205, 205, 0, 7316 }, /* yellow3 */
- { 139, 139, 0, 7324 }, /* yellow4 */
- { 154, 205, 50, 7332 }, /* YellowGreen */
-};
diff --git a/xorg-server/os/osdep.h b/xorg-server/os/osdep.h
index b6894c146..e719f9a70 100644
--- a/xorg-server/os/osdep.h
+++ b/xorg-server/os/osdep.h
@@ -58,8 +58,6 @@ SOFTWARE.
#include <X11/Xdmcp.h>
-#ifndef sgi /* SGI defines OPEN_MAX in a useless way */
-#ifndef X_NOT_POSIX
#ifdef _POSIX_SOURCE
#include <limits.h>
#else
@@ -67,18 +65,7 @@ SOFTWARE.
#include <limits.h>
#undef _POSIX_SOURCE
#endif
-#else /* X_NOT_POSIX */
-#ifdef WIN32
-#define _POSIX_
-#include <limits.h>
-#undef _POSIX_
-#endif
-#endif /* X_NOT_POSIX */
-#endif
-#ifdef __QNX__
-#define NOFILES_MAX 256
-#endif
#ifndef OPEN_MAX
#ifdef SVR4
#define OPEN_MAX 256
@@ -115,7 +102,7 @@ SOFTWARE.
#define MAXSELECT (sizeof(fd_set) * NBBY)
#ifndef HAS_GETDTABLESIZE
-#if !defined(hpux) && !defined(SVR4) && !defined(SYSV)
+#if !defined(SVR4) && !defined(SYSV)
#define HAS_GETDTABLESIZE
#endif
#endif
@@ -184,7 +171,7 @@ typedef struct _osComm {
extern int FlushClient(
ClientPtr /*who*/,
OsCommPtr /*oc*/,
- char* /*extraBuf*/,
+ const void * /*extraBuf*/,
int /*extraCount*/
);
diff --git a/xorg-server/os/osinit.c b/xorg-server/os/osinit.c
index 1bc8624dc..74e2457f2 100644
--- a/xorg-server/os/osinit.c
+++ b/xorg-server/os/osinit.c
@@ -55,9 +55,7 @@ SOFTWARE.
#include "osdep.h"
#include <X11/Xos.h>
-#ifdef SMART_SCHEDULE
#include "dixstruct.h"
-#endif
#ifndef PATH_MAX
#ifdef MAXPATHLEN
@@ -67,11 +65,11 @@ SOFTWARE.
#endif
#endif
-#if defined(Lynx) || defined(__SCO__)
+#if defined(__SCO__)
#include <sys/wait.h>
#endif
-#if !defined(SYSV) && !defined(WIN32) && !defined(Lynx) && !defined(QNX4)
+#if !defined(SYSV) && !defined(WIN32)
#include <sys/resource.h>
#endif
@@ -90,8 +88,6 @@ int limitStackSpace = -1;
int limitNoFile = -1;
#endif
-Bool OsDelayInitColors = FALSE;
-
void
OsInit(void)
{
@@ -143,15 +139,8 @@ OsInit(void)
#endif
}
-#ifndef X_NOT_POSIX
if (getpgrp () == 0)
setpgid (0, 0);
-#else
-#if !defined(SYSV) && !defined(WIN32)
- if (getpgrp (0) == 0)
- setpgrp (0, getpid ());
-#endif
-#endif
#ifdef RLIMIT_DATA
if (limitDataSpace >= 0)
@@ -198,36 +187,26 @@ OsInit(void)
}
}
#endif
-#ifdef SERVER_LOCK
LockServer();
-#endif
been_here = TRUE;
}
TimerInit();
-#ifdef DDXOSINIT
OsVendorInit();
-#endif
/*
* No log file by default. OsVendorInit() should call LogInit() with the
* log file name if logging to a file is desired.
*/
LogInit(NULL, NULL);
-#ifdef SMART_SCHEDULE
if (!SmartScheduleDisable)
if (!SmartScheduleInit ())
SmartScheduleDisable = TRUE;
-#endif
- OsInitAllocator();
- if (!OsDelayInitColors) OsInitColors();
}
void
OsCleanup(Bool terminating)
{
-#ifdef SERVER_LOCK
if (terminating)
{
UnlockServer();
}
-#endif
}
diff --git a/xorg-server/os/rpcauth.c b/xorg-server/os/rpcauth.c
index 3451ac18b..1a27c5882 100644
--- a/xorg-server/os/rpcauth.c
+++ b/xorg-server/os/rpcauth.c
@@ -42,6 +42,7 @@ from The Open Group.
#include <X11/Xauth.h>
#include "misc.h"
#include "os.h"
+#include "osdep.h"
#include "dixstruct.h"
#include <rpc/rpc.h>
@@ -51,16 +52,6 @@ from The Open Group.
extern bool_t xdr_opaque_auth(XDR *, struct opaque_auth *);
#endif
-#if defined(DGUX)
-#include <time.h>
-#include <rpc/auth_des.h>
-#endif /* DGUX */
-
-#ifdef ultrix
-#include <time.h>
-#include <rpc/auth_des.h>
-#endif
-
static enum auth_stat why;
static char *
diff --git a/xorg-server/os/strcasecmp.c b/xorg-server/os/strcasecmp.c
new file mode 100644
index 000000000..ca1051dc1
--- /dev/null
+++ b/xorg-server/os/strcasecmp.c
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 1987, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include <ctype.h>
+#include "dix.h"
+
+#ifdef NEED_STRCASECMP
+int
+xstrcasecmp(const char *str1, const char *str2)
+{
+ const u_char *us1 = (const u_char *)str1, *us2 = (const u_char *)str2;
+
+ while (tolower(*us1) == tolower(*us2)) {
+ if (*us1++ == '\0')
+ return (0);
+ us2++;
+ }
+
+ return (tolower(*us1) - tolower(*us2));
+}
+#endif
+
+#ifdef NEED_STRNCASECMP
+int
+xstrncasecmp(const char *s1, const char *s2, size_t n)
+{
+ if (n != 0) {
+ const u_char *us1 = (const u_char *)s1, *us2 = (const u_char *)s2;
+
+ do {
+ if (tolower(*us1) != tolower(*us2++))
+ return (tolower(*us1) - tolower(*--us2));
+ if (*us1++ == '\0')
+ break;
+ } while (--n != 0);
+ }
+
+ return 0;
+}
+#endif
diff --git a/xorg-server/os/strcasestr.c b/xorg-server/os/strcasestr.c
new file mode 100644
index 000000000..b3d45495c
--- /dev/null
+++ b/xorg-server/os/strcasestr.c
@@ -0,0 +1,64 @@
+/*-
+ * Copyright (c) 1990, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Chris Torek.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#include <ctype.h>
+#include <string.h>
+#include "dix.h"
+
+/*
+ * Find the first occurrence of find in s, ignore case.
+ */
+#ifdef NEED_STRCASESTR
+char *
+xstrcasestr(const char *s, const char *find)
+{
+ char c, sc;
+ size_t len;
+
+ if ((c = *find++) != 0) {
+ c = tolower((unsigned char)c);
+ len = strlen(find);
+ do {
+ do {
+ if ((sc = *s++) == 0)
+ return (NULL);
+ } while ((char)tolower((unsigned char)sc) != c);
+ } while (strncasecmp(s, find, len) != 0);
+ s--;
+ }
+ return ((char *)s);
+}
+#endif
diff --git a/xorg-server/os/strlcat.c b/xorg-server/os/strlcat.c
index b57fcc563..91ceabb1c 100644
--- a/xorg-server/os/strlcat.c
+++ b/xorg-server/os/strlcat.c
@@ -21,6 +21,7 @@
#include <sys/types.h>
#include <string.h>
+#include "os.h"
/*
* Appends src to string dst of size siz (unlike strncat, siz is the
diff --git a/xorg-server/os/strlcpy.c b/xorg-server/os/strlcpy.c
index 989d0385e..aa9d042e0 100644
--- a/xorg-server/os/strlcpy.c
+++ b/xorg-server/os/strlcpy.c
@@ -20,6 +20,7 @@
#include <sys/types.h>
#include <string.h>
+#include "os.h"
/*
* Copy src to string dst of size siz. At most siz-1 characters
diff --git a/xorg-server/os/utils.c b/xorg-server/os/utils.c
index f2b54d8dc..a02b73a2b 100644
--- a/xorg-server/os/utils.c
+++ b/xorg-server/os/utils.c
@@ -84,7 +84,7 @@ __stdcall unsigned long GetTickCount(void);
#include <signal.h>
#undef _POSIX_C_SOURCE
#else
-#if defined(X_NOT_POSIX) || defined(_POSIX_SOURCE)
+#if defined(_POSIX_SOURCE)
#include <signal.h>
#else
#define _POSIX_SOURCE
@@ -95,18 +95,13 @@ __stdcall unsigned long GetTickCount(void);
#ifndef WIN32
#include <sys/wait.h>
#endif
-#if !defined(SYSV) && !defined(WIN32) && !defined(Lynx) && !defined(QNX4)
+#if !defined(SYSV) && !defined(WIN32)
#include <sys/resource.h>
#endif
#include <sys/stat.h>
#include <ctype.h> /* for isspace */
#include <stdarg.h>
-#if defined(DGUX)
-#include <sys/resource.h>
-#include <netdb.h>
-#endif
-
#include <stdlib.h> /* for malloc() */
#if defined(TCPCONN) || defined(STREAMSCONN)
@@ -117,9 +112,7 @@ __stdcall unsigned long GetTickCount(void);
#include "opaque.h"
-#ifdef SMART_SCHEDULE
#include "dixstruct.h"
-#endif
#ifdef XKB
#include <xkbsrv.h>
@@ -129,14 +122,7 @@ __stdcall unsigned long GetTickCount(void);
#include "picture.h"
#endif
-#ifdef XPRINT
-#include "DiPrint.h"
-#endif
-
_X_EXPORT Bool noTestExtensions;
-#ifdef BIGREQS
-_X_EXPORT Bool noBigReqExtension = FALSE;
-#endif
#ifdef COMPOSITE
_X_EXPORT Bool noCompositeExtension = FALSE;
#endif
@@ -150,12 +136,6 @@ _X_EXPORT Bool noDbeExtension = FALSE;
#ifdef DPMSExtension
_X_EXPORT Bool noDPMSExtension = FALSE;
#endif
-#ifdef EVI
-_X_EXPORT Bool noEVIExtension = FALSE;
-#endif
-#ifdef FONTCACHE
-_X_EXPORT Bool noFontCacheExtension = FALSE;
-#endif
#ifdef GLXEXT
_X_EXPORT Bool noGlxExtension = FALSE;
_X_EXPORT Bool noGlxVisualInit = FALSE;
@@ -166,9 +146,6 @@ _X_EXPORT Bool noScreenSaverExtension = FALSE;
#ifdef MITSHM
_X_EXPORT Bool noMITShmExtension = FALSE;
#endif
-#ifdef MITMISC
-_X_EXPORT Bool noMITMiscExtension = FALSE;
-#endif
#ifdef MULTIBUFFER
_X_EXPORT Bool noMultibufferExtension = FALSE;
#endif
@@ -178,32 +155,12 @@ _X_EXPORT Bool noRRExtension = FALSE;
#ifdef RENDER
_X_EXPORT Bool noRenderExtension = FALSE;
#endif
-#ifdef SHAPE
-_X_EXPORT Bool noShapeExtension = FALSE;
-#endif
#ifdef XCSECURITY
_X_EXPORT Bool noSecurityExtension = FALSE;
#endif
-#ifdef XSYNC
-_X_EXPORT Bool noSyncExtension = FALSE;
-#endif
-#ifdef TOGCUP
-_X_EXPORT Bool noXcupExtension = FALSE;
-#endif
#ifdef RES
_X_EXPORT Bool noResExtension = FALSE;
#endif
-#ifdef XAPPGROUP
-_X_EXPORT Bool noXagExtension = FALSE;
-#endif
-#ifdef XCMISC
-_X_EXPORT Bool noXCMiscExtension = FALSE;
-#endif
-#ifdef XEVIE
-/* Xevie is disabled by default for now until the
- * interface is stable */
-_X_EXPORT Bool noXevieExtension = TRUE;
-#endif
#ifdef XF86BIGFONT
_X_EXPORT Bool noXFree86BigfontExtension = FALSE;
#endif
@@ -213,9 +170,6 @@ _X_EXPORT Bool noXFree86DGAExtension = FALSE;
#ifdef XF86DRI
_X_EXPORT Bool noXFree86DRIExtension = FALSE;
#endif
-#ifdef XF86MISC
-_X_EXPORT Bool noXFree86MiscExtension = FALSE;
-#endif
#ifdef XF86VIDMODE
_X_EXPORT Bool noXFree86VidModeExtension = FALSE;
#endif
@@ -227,14 +181,8 @@ _X_EXPORT Bool noXFixesExtension = FALSE;
/* Xinerama is disabled by default unless enabled via +xinerama */
_X_EXPORT Bool noPanoramiXExtension = TRUE;
#endif
-#ifdef XINPUT
-_X_EXPORT Bool noXInputExtension = FALSE;
-#endif
-#ifdef XIDLE
-_X_EXPORT Bool noXIdleExtension = FALSE;
-#endif
#ifdef XSELINUX
-_X_EXPORT Bool noSELinuxExtension = TRUE;
+_X_EXPORT Bool noSELinuxExtension = FALSE;
_X_EXPORT int selinuxEnforcingState = SELINUX_MODE_DEFAULT;
#endif
#ifdef XV
@@ -244,6 +192,8 @@ _X_EXPORT Bool noXvExtension = FALSE;
_X_EXPORT Bool noDRI2Extension = FALSE;
#endif
+_X_EXPORT Bool noGEExtension = FALSE;
+
#define X_INCLUDE_NETDB_H
#include <X11/Xos_r.h>
@@ -257,23 +207,10 @@ Bool PanoramiXExtensionDisabledHack = FALSE;
int auditTrailLevel = 1;
-_X_EXPORT Bool Must_have_memory = FALSE;
-
-#ifdef AIXV3
-int SyncOn = 0;
-extern int SelectWaitTime;
-#endif
-
#if defined(SVR4) || defined(__linux__) || defined(CSRG_BASED)
#define HAS_SAVED_IDS_AND_SETEUID
#endif
-#ifdef MEMBUG
-#define MEM_FAIL_SCALE 100000
-long Memory_fail = 0;
-#include <stdlib.h> /* for random() */
-#endif
-
static char *dev_tty_from_init = NULL; /* since we need to parse it anyway */
OsSigHandlerPtr
@@ -281,9 +218,6 @@ OsSignal(sig, handler)
int sig;
OsSigHandlerPtr handler;
{
-#ifdef X_NOT_POSIX
- return signal(sig, handler);
-#else
struct sigaction act, oact;
sigemptyset(&act.sa_mask);
@@ -294,10 +228,8 @@ OsSignal(sig, handler)
if (sigaction(sig, &act, &oact))
perror("sigaction");
return oact.sa_handler;
-#endif
}
-
-#ifdef SERVER_LOCK
+
/*
* Explicit support for a server lock file like the ones used for UUCP.
* For architectures with virtual terminals that can run more than one
@@ -309,17 +241,8 @@ OsSignal(sig, handler)
#define LOCK_PREFIX "/.X"
#define LOCK_SUFFIX "-lock"
-#if defined(DGUX)
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
#ifndef PATH_MAX
-#ifndef Lynx
#include <sys/param.h>
-#else
-#include <param.h>
-#endif
#ifndef PATH_MAX
#ifdef MAXPATHLEN
#define PATH_MAX MAXPATHLEN
@@ -393,11 +316,7 @@ LockServer(void)
FatalError("Could not create lock file in %s\n", tmp);
(void) sprintf(pid_str, "%10ld\n", (long)getpid());
(void) write(lfd, pid_str, 11);
-#ifndef USE_CHMOD
- (void) fchmod(lfd, 0444);
-#else
(void) chmod(tmp, 0444);
-#endif
(void) close(lfd);
/*
@@ -479,7 +398,6 @@ UnlockServer(void)
(void) unlink(LockFile);
}
}
-#endif /* SERVER_LOCK */
/* Force connections to close on SIGHUP from init */
@@ -491,13 +409,6 @@ AutoResetServer (int sig)
dispatchException |= DE_RESET;
isItTimeToYield = TRUE;
-#ifdef GPROF
- chdir ("/tmp");
- exit (0);
-#endif
-#if defined(SYSV) && defined(X_NOT_POSIX)
- OsSignal (SIGHUP, AutoResetServer);
-#endif
errno = olderrno;
}
@@ -511,10 +422,6 @@ GiveUp(int sig)
dispatchException |= DE_TERMINATE;
isItTimeToYield = TRUE;
-#if defined(SYSV) && defined(X_NOT_POSIX)
- if (sig)
- OsSignal(sig, SIG_IGN);
-#endif
errno = olderrno;
}
@@ -567,13 +474,9 @@ AdjustWaitForDelay (pointer waitTime, unsigned long newdelay)
void UseMsg(void)
{
-#if !defined(AIXrt) && !defined(AIX386)
ErrorF("use: X [:<display>] [option]\n");
ErrorF("-a # mouse acceleration (pixels)\n");
ErrorF("-ac disable access control restrictions\n");
-#ifdef MEMBUG
- ErrorF("-alloc int chance alloc should fail\n");
-#endif
ErrorF("-audit int set audit trail level\n");
ErrorF("-auth file select authorization file\n");
ErrorF("-br create root window with black background\n");
@@ -582,9 +485,6 @@ void UseMsg(void)
ErrorF("-c turns off key-click\n");
ErrorF("c # key-click volume (0-100)\n");
ErrorF("-cc int default color visual class\n");
-#ifdef COMMANDLINE_CHALLENGED_OPERATING_SYSTEMS
- ErrorF("-config file read options from file\n");
-#endif
ErrorF("-core generate core dump on fatal error\n");
ErrorF("-dpi int screen resolution in dots per inch\n");
#ifdef DPMSExtension
@@ -625,11 +525,8 @@ void UseMsg(void)
#ifdef RENDER
ErrorF("-render [default|mono|gray|color] set render color alloc policy\n");
#endif
+ ErrorF("-retro start with classic stipple and cursor\n");
ErrorF("-s # screen-saver timeout (minutes)\n");
-#ifdef XPRINT
- PrinterUseMsg();
-#endif
- ErrorF("-su disable any save under support\n");
ErrorF("-t # mouse threshold (pixels)\n");
ErrorF("-terminate terminate at server reset\n");
ErrorF("-to # connection time out\n");
@@ -645,16 +542,13 @@ void UseMsg(void)
ErrorF("+xinerama Enable XINERAMA extension\n");
ErrorF("-xinerama Disable XINERAMA extension\n");
#endif
-#ifdef SMART_SCHEDULE
ErrorF("-dumbSched Disable smart scheduling, enable old behavior\n");
ErrorF("-schedInterval int Set scheduler interval in msec\n");
-#endif
ErrorF("+extension name Enable extension\n");
ErrorF("-extension name Disable extension\n");
#ifdef XDMCP
XdmcpUseMsg();
#endif
-#endif /* !AIXrt && ! AIX386 */
#ifdef XKB
XkbUseMsg();
#endif
@@ -680,17 +574,6 @@ VerifyDisplayName(const char *d)
}
/*
- * This function is responsible for doing initalisation of any global
- * variables at an very early point of server startup (even before
- * |ProcessCommandLine()|.
- */
-void InitGlobals(void)
-{
- ddxInitGlobals();
-}
-
-
-/*
* This function parses the command line. Handles device-independent fields
* and allows ddx to handle additional fields. It is not allowed to modify
* argc or any of the strings pointed to by argv.
@@ -737,15 +620,6 @@ ProcessCommandLine(int argc, char *argv[])
{
defeatAccessControl = TRUE;
}
-#ifdef MEMBUG
- else if ( strcmp( argv[i], "-alloc") == 0)
- {
- if(++i < argc)
- Memory_fail = atoi(argv[i]);
- else
- UseMsg();
- }
-#endif
else if ( strcmp( argv[i], "-audit") == 0)
{
if(++i < argc)
@@ -760,8 +634,7 @@ ProcessCommandLine(int argc, char *argv[])
else
UseMsg();
}
- else if ( strcmp( argv[i], "-br") == 0)
- blackRoot = TRUE;
+ else if ( strcmp( argv[i], "-br") == 0) ; /* default */
else if ( strcmp( argv[i], "+bs") == 0)
enableBackingStore = TRUE;
else if ( strcmp( argv[i], "-bs") == 0)
@@ -947,6 +820,8 @@ ProcessCommandLine(int argc, char *argv[])
defaultKeyboardControl.autoRepeat = TRUE;
else if ( strcmp( argv[i], "-r") == 0)
defaultKeyboardControl.autoRepeat = FALSE;
+ else if ( strcmp( argv[i], "-retro") == 0)
+ party_like_its_1989 = TRUE;
else if ( strcmp( argv[i], "-s") == 0)
{
if(++i < argc)
@@ -955,8 +830,6 @@ ProcessCommandLine(int argc, char *argv[])
else
UseMsg();
}
- else if ( strcmp( argv[i], "-su") == 0)
- disableSaveUnders = TRUE;
else if ( strcmp( argv[i], "-t") == 0)
{
if(++i < argc)
@@ -1040,26 +913,6 @@ ProcessCommandLine(int argc, char *argv[])
i = skip - 1;
}
#endif
-#ifdef XPRINT
- else if ((skip = PrinterOptions(argc, argv, i)) != i)
- {
- i = skip - 1;
- }
-#endif
-#ifdef AIXV3
- else if ( strcmp( argv[i], "-timeout") == 0)
- {
- if(++i < argc)
- SelectWaitTime = atoi(argv[i]);
- else
- UseMsg();
- }
- else if ( strcmp( argv[i], "-sync") == 0)
- {
- SyncOn++;
- }
-#endif
-#ifdef SMART_SCHEDULE
else if ( strcmp( argv[i], "-dumbSched") == 0)
{
SmartScheduleDisable = TRUE;
@@ -1083,7 +936,6 @@ ProcessCommandLine(int argc, char *argv[])
else
UseMsg();
}
-#endif
#ifdef RENDER
else if ( strcmp( argv[i], "-render" ) == 0)
{
@@ -1129,118 +981,6 @@ ProcessCommandLine(int argc, char *argv[])
}
}
-#ifdef COMMANDLINE_CHALLENGED_OPERATING_SYSTEMS
-static void
-InsertFileIntoCommandLine(
- int *resargc, char ***resargv,
- int prefix_argc, char **prefix_argv,
- char *filename,
- int suffix_argc, char **suffix_argv)
-{
- struct stat st;
- FILE *f;
- char *p;
- char *q;
- int insert_argc;
- char *buf;
- int len;
- int i;
-
- f = fopen(filename, "r");
- if (!f)
- FatalError("Can't open option file %s\n", filename);
-
- fstat(fileno(f), &st);
-
- buf = (char *) xalloc((unsigned) st.st_size + 1);
- if (!buf)
- FatalError("Out of Memory\n");
-
- len = fread(buf, 1, (unsigned) st.st_size, f);
-
- fclose(f);
-
- if (len < 0)
- FatalError("Error reading option file %s\n", filename);
-
- buf[len] = '\0';
-
- p = buf;
- q = buf;
- insert_argc = 0;
-
- while (*p)
- {
- while (isspace(*p))
- p++;
- if (!*p)
- break;
- if (*p == '#')
- {
- while (*p && *p != '\n')
- p++;
- } else
- {
- while (*p && !isspace(*p))
- *q++ = *p++;
- /* Since p and q might still be pointing at the same place, we */
- /* need to step p over the whitespace now before we add the null. */
- if (*p)
- p++;
- *q++ = '\0';
- insert_argc++;
- }
- }
-
- buf = (char *) xrealloc(buf, q - buf);
- if (!buf)
- FatalError("Out of memory reallocing option buf\n");
-
- *resargc = prefix_argc + insert_argc + suffix_argc;
- *resargv = (char **) xalloc((*resargc + 1) * sizeof(char *));
- if (!*resargv)
- FatalError("Out of Memory\n");
-
- memcpy(*resargv, prefix_argv, prefix_argc * sizeof(char *));
-
- p = buf;
- for (i = 0; i < insert_argc; i++)
- {
- (*resargv)[prefix_argc + i] = p;
- p += strlen(p) + 1;
- }
-
- memcpy(*resargv + prefix_argc + insert_argc,
- suffix_argv, suffix_argc * sizeof(char *));
-
- (*resargv)[*resargc] = NULL;
-} /* end InsertFileIntoCommandLine */
-
-
-void
-ExpandCommandLine(int *pargc, char ***pargv)
-{
- int i;
-
-#if !defined(WIN32) && !defined(__CYGWIN__)
- if (getuid() != geteuid())
- return;
-#endif
-
- for (i = 1; i < *pargc; i++)
- {
- if ( (0 == strcmp((*pargv)[i], "-config")) && (i < (*pargc - 1)) )
- {
- InsertFileIntoCommandLine(pargc, pargv,
- i, *pargv,
- (*pargv)[i+1], /* filename */
- *pargc - i - 2, *pargv + i + 2);
- i--;
- }
- }
-} /* end ExpandCommandLine */
-#endif
-
/* Implement a simple-minded font authorization scheme. The authorization
name is "hp-hostname-1", the contents are simply the host name. */
int
@@ -1308,65 +1048,40 @@ set_font_authorizations(char **authorizations, int *authlen, pointer client)
#endif /* TCPCONN */
}
-/* XALLOC -- X's internal memory allocator. Why does it return unsigned
- * long * instead of the more common char *? Well, if you read K&R you'll
- * see they say that alloc must return a pointer "suitable for conversion"
- * to whatever type you really want. In a full-blown generic allocator
- * there's no way to solve the alignment problems without potentially
- * wasting lots of space. But we have a more limited problem. We know
- * we're only ever returning pointers to structures which will have to
- * be long word aligned. So we are making a stronger guarantee. It might
- * have made sense to make Xalloc return char * to conform with people's
- * expectations of malloc, but this makes lint happier.
- */
-
#ifndef INTERNAL_MALLOC
_X_EXPORT void *
Xalloc(unsigned long amount)
{
- register pointer ptr;
-
+ void *ptr;
+
if ((long)amount <= 0) {
- return (unsigned long *)NULL;
+ return NULL;
}
/* aligned extra on long word boundary */
amount = (amount + (sizeof(long) - 1)) & ~(sizeof(long) - 1);
-#ifdef MEMBUG
- if (!Must_have_memory && Memory_fail &&
- ((random() % MEM_FAIL_SCALE) < Memory_fail))
- return (unsigned long *)NULL;
-#endif
- if ((ptr = (pointer)malloc(amount))) {
- return (unsigned long *)ptr;
- }
- if (Must_have_memory)
- FatalError("Out of memory");
- return (unsigned long *)NULL;
+ ptr = malloc(amount);
+ return ptr;
}
/*****************
* XNFalloc
- * "no failure" realloc, alternate interface to Xalloc w/o Must_have_memory
+ * "no failure" realloc
*****************/
_X_EXPORT void *
XNFalloc(unsigned long amount)
{
- register pointer ptr;
+ void *ptr;
if ((long)amount <= 0)
- {
- return (unsigned long *)NULL;
- }
+ return NULL;
/* aligned extra on long word boundary */
amount = (amount + (sizeof(long) - 1)) & ~(sizeof(long) - 1);
- ptr = (pointer)malloc(amount);
+ ptr = malloc(amount);
if (!ptr)
- {
FatalError("Out of memory");
- }
- return ((unsigned long *)ptr);
+ return ptr;
}
/*****************
@@ -1376,11 +1091,11 @@ XNFalloc(unsigned long amount)
_X_EXPORT void *
Xcalloc(unsigned long amount)
{
- unsigned long *ret;
+ void *ret;
ret = Xalloc (amount);
if (ret)
- bzero ((char *) ret, (int) amount);
+ bzero (ret, (int) amount);
return ret;
}
@@ -1391,11 +1106,11 @@ Xcalloc(unsigned long amount)
_X_EXPORT void *
XNFcalloc(unsigned long amount)
{
- unsigned long *ret;
+ void *ret;
ret = Xalloc (amount);
if (ret)
- bzero ((char *) ret, (int) amount);
+ bzero (ret, (int) amount);
else if ((long)amount > 0)
FatalError("Out of memory");
return ret;
@@ -1408,43 +1123,35 @@ XNFcalloc(unsigned long amount)
_X_EXPORT void *
Xrealloc(pointer ptr, unsigned long amount)
{
-#ifdef MEMBUG
- if (!Must_have_memory && Memory_fail &&
- ((random() % MEM_FAIL_SCALE) < Memory_fail))
- return (unsigned long *)NULL;
-#endif
if ((long)amount <= 0)
{
if (ptr && !amount)
free(ptr);
- return (unsigned long *)NULL;
+ return NULL;
}
amount = (amount + (sizeof(long) - 1)) & ~(sizeof(long) - 1);
if (ptr)
- ptr = (pointer)realloc((char *)ptr, amount);
+ ptr = realloc(ptr, amount);
else
- ptr = (pointer)malloc(amount);
- if (ptr)
- return (unsigned long *)ptr;
- if (Must_have_memory)
- FatalError("Out of memory");
- return (unsigned long *)NULL;
+ ptr = malloc(amount);
+
+ return ptr;
}
/*****************
* XNFrealloc
- * "no failure" realloc, alternate interface to Xrealloc w/o Must_have_memory
+ * "no failure" realloc
*****************/
_X_EXPORT void *
XNFrealloc(pointer ptr, unsigned long amount)
{
- if (( ptr = (pointer)Xrealloc( ptr, amount ) ) == NULL)
+ if ((ptr = Xrealloc(ptr, amount)) == NULL)
{
if ((long)amount > 0)
FatalError( "Out of memory" );
}
- return ((unsigned long *)ptr);
+ return ptr;
}
/*****************
@@ -1456,21 +1163,7 @@ _X_EXPORT void
Xfree(pointer ptr)
{
if (ptr)
- free((char *)ptr);
-}
-
-void
-OsInitAllocator (void)
-{
-#ifdef MEMBUG
- static int been_here;
-
- /* Check the memory system after each generation */
- if (been_here)
- CheckMemory ();
- else
- been_here = 1;
-#endif
+ free(ptr);
}
#endif /* !INTERNAL_MALLOC */
@@ -1483,7 +1176,7 @@ Xstrdup(const char *s)
if (s == NULL)
return NULL;
- sd = (char *)Xalloc(strlen(s) + 1);
+ sd = Xalloc(strlen(s) + 1);
if (sd != NULL)
strcpy(sd, s);
return sd;
@@ -1498,12 +1191,11 @@ XNFstrdup(const char *s)
if (s == NULL)
return NULL;
- sd = (char *)XNFalloc(strlen(s) + 1);
+ sd = XNFalloc(strlen(s) + 1);
strcpy(sd, s);
return sd;
}
-#ifdef SMART_SCHEDULE
#if defined(SIGVTALRM) && !defined(__CYGWIN__)
#define SMART_SCHEDULE_POSSIBLE
@@ -1579,7 +1271,6 @@ SmartScheduleInit (void)
return FALSE;
#endif
}
-#endif
#ifdef SIG_BLOCK
static sigset_t PreviousSignalMask;
@@ -1703,7 +1394,7 @@ static struct pid {
int pid;
} *pidlist;
-void (*old_alarm)(int) = NULL; /* XXX horrible awful hack */
+OsSigHandlerPtr old_alarm = NULL; /* XXX horrible awful hack */
pointer
Popen(char *command, char *type)
@@ -1727,7 +1418,7 @@ Popen(char *command, char *type)
}
/* Ignore the smart scheduler while this is going on */
- old_alarm = signal(SIGALRM, SIG_IGN);
+ old_alarm = OsSignal(SIGALRM, SIG_IGN);
if (old_alarm == SIG_ERR) {
perror("signal");
return NULL;
@@ -1738,7 +1429,7 @@ Popen(char *command, char *type)
close(pdes[0]);
close(pdes[1]);
xfree(cur);
- if (signal(SIGALRM, old_alarm) == SIG_ERR)
+ if (OsSignal(SIGALRM, old_alarm) == SIG_ERR)
perror("signal");
return NULL;
case 0: /* child */
@@ -1915,7 +1606,7 @@ Pclose(pointer iop)
/* allow EINTR again */
OsReleaseSignals ();
- if (old_alarm && signal(SIGALRM, old_alarm) == SIG_ERR) {
+ if (old_alarm && OsSignal(SIGALRM, old_alarm) == SIG_ERR) {
perror("signal");
return -1;
}
@@ -2018,9 +1709,6 @@ CheckUserParameters(int argc, char **argv, char **envp)
enum BadCode bad = NotBad;
int i = 0, j;
char *a, *e = NULL;
-#if defined(__QNX__) && !defined(__QNXNTO__)
- char cmd_name[64];
-#endif
#if CHECK_EUID
if (geteuid() == 0 && getuid() != geteuid())
diff --git a/xorg-server/os/xdmauth.c b/xorg-server/os/xdmauth.c
index d143ddefc..8cbcd581f 100644
--- a/xorg-server/os/xdmauth.c
+++ b/xorg-server/os/xdmauth.c
@@ -69,7 +69,7 @@ XdmAuthenticationValidator (ARRAY8Ptr privateData, ARRAY8Ptr incomingData,
{
XdmAuthKeyPtr incoming;
- XdmcpUnwrap (incomingData->data, &privateKey,
+ XdmcpUnwrap (incomingData->data, (unsigned char *)&privateKey,
incomingData->data,incomingData->length);
if (packet_type == ACCEPT) {
if (incomingData->length != 8)
@@ -89,7 +89,8 @@ XdmAuthenticationGenerator (ARRAY8Ptr privateData, ARRAY8Ptr outgoingData,
outgoingData->data = 0;
if (packet_type == REQUEST) {
if (XdmcpAllocARRAY8 (outgoingData, 8))
- XdmcpWrap (&rho, &privateKey, outgoingData->data, 8);
+ XdmcpWrap ((unsigned char *)&rho, (unsigned char *)&privateKey,
+ outgoingData->data, 8);
}
return TRUE;
}
@@ -99,7 +100,8 @@ XdmAuthenticationAddAuth (int name_len, char *name,
int data_len, char *data)
{
Bool ret;
- XdmcpUnwrap (data, (unsigned char *)&privateKey, data, data_len);
+ XdmcpUnwrap ((unsigned char *)data, (unsigned char *)&privateKey,
+ (unsigned char *)data, data_len);
authFromXDMCP = TRUE;
ret = AddAuthorization (name_len, name, data_len, data);
authFromXDMCP = FALSE;
@@ -152,7 +154,7 @@ XdmAuthenticationInit (char *cookie, int cookie_len)
}
XdmcpGenerateKey (&rho);
XdmcpRegisterAuthentication (XdmAuthenticationName, XdmAuthenticationNameLen,
- (unsigned char *)&rho,
+ (char *)&rho,
sizeof (rho),
(ValidatorFunc)XdmAuthenticationValidator,
(GeneratorFunc)XdmAuthenticationGenerator,
@@ -387,7 +389,7 @@ XdmCheckCookie (unsigned short cookie_length, char *cookie,
if (!plain)
return (XID) -1;
for (auth = xdmAuth; auth; auth=auth->next) {
- XdmcpUnwrap (cookie, (unsigned char *)&auth->key, plain, cookie_length);
+ XdmcpUnwrap ((unsigned char *)cookie, (unsigned char *)&auth->key, plain, cookie_length);
if ((client = XdmAuthorizationValidate (plain, cookie_length, &auth->rho, xclient, reason)) != NULL)
{
client->next = xdmClients;
@@ -432,7 +434,7 @@ XdmToID (unsigned short cookie_length, char *cookie)
if (!plain)
return (XID) -1;
for (auth = xdmAuth; auth; auth=auth->next) {
- XdmcpUnwrap (cookie, (unsigned char *)&auth->key, plain, cookie_length);
+ XdmcpUnwrap ((unsigned char *)cookie, (unsigned char *)&auth->key, plain, cookie_length);
if ((client = XdmAuthorizationValidate (plain, cookie_length, &auth->rho, NULL, NULL)) != NULL)
{
xfree (client);
diff --git a/xorg-server/os/xdmcp.c b/xorg-server/os/xdmcp.c
index 310f33bc0..736cd3e11 100644
--- a/xorg-server/os/xdmcp.c
+++ b/xorg-server/os/xdmcp.c
@@ -24,12 +24,8 @@
#include <X11/Xos.h>
#if !defined(WIN32)
-#ifndef Lynx
#include <sys/param.h>
#include <sys/socket.h>
-#else
-#include <socket.h>
-#endif
#include <netinet/in.h>
#include <netdb.h>
#endif
@@ -44,11 +40,7 @@
#include "input.h"
#include "dixstruct.h"
#include "opaque.h"
-
-#if defined(DGUX)
-#include <net/net_ioctl.h>
-#include <sys/ioctl.h>
-#endif
+#include "site.h"
#ifdef STREAMSCONN
#include <tiuser.h>
@@ -68,7 +60,7 @@
#define X_INCLUDE_NETDB_H
#include <X11/Xos_r.h>
-extern char *defaultDisplayClass;
+static char *defaultDisplayClass = COMPILEDDISPLAYCLASS;
static int xdmcpSocket, sessionSocket;
static xdmcp_states state;