diff options
author | marha <marha@users.sourceforge.net> | 2009-09-24 16:26:20 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2009-09-24 16:26:20 +0000 |
commit | 82967ab5e087a2fdfcb984f990ba117da68a5b60 (patch) | |
tree | 52ca72e09a0d1d0ecacfb51a8b0b5d1c8193449c /X11/Xos.h | |
parent | f02db4f3b9d748e1fd06e3ae2985b9cf1547cc7e (diff) | |
parent | 67b353c9ce039b254ba2e92cd6f842c505a8bd21 (diff) | |
download | vcxsrv-82967ab5e087a2fdfcb984f990ba117da68a5b60.tar.gz vcxsrv-82967ab5e087a2fdfcb984f990ba117da68a5b60.tar.bz2 vcxsrv-82967ab5e087a2fdfcb984f990ba117da68a5b60.zip |
svn merge https://vcxsrv.svn.sourceforge.net/svnroot/vcxsrv/branches/released
Diffstat (limited to 'X11/Xos.h')
-rw-r--r-- | X11/Xos.h | 444 |
1 files changed, 148 insertions, 296 deletions
@@ -1,296 +1,148 @@ -/* - * $XdotOrg: proto/X11/Xos.h,v 1.8 2005/11/08 06:33:25 jkj Exp $ - * $Xorg: Xos.h,v 1.6 2001/02/09 02:03:22 xorgcvs Exp $ - * - * -Copyright 1987, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - * - * The X Window System is a Trademark of The Open Group. - * - */ -/* $XFree86: xc/include/Xos.h,v 3.41tsi Exp $ */ - -/* This is a collection of things to try and minimize system dependencies - * in a "significant" number of source files. - */ - -#ifndef _XOS_H_ -#define _XOS_H_ - -#include <X11/Xosdefs.h> - -/* - * Get major data types (esp. caddr_t) - */ - -#ifdef USG -#ifndef __TYPES__ -#ifdef CRAY -#define word word_t -#endif /* CRAY */ -#include <sys/types.h> /* forgot to protect it... */ -#define __TYPES__ -#endif /* __TYPES__ */ -#else /* USG */ -#if defined(_POSIX_SOURCE) && defined(MOTOROLA) -#undef _POSIX_SOURCE -#include <sys/types.h> -#define _POSIX_SOURCE -#else -# include <sys/types.h> -#endif -#endif /* USG */ - -#ifndef sgi -#if defined(__SCO__) || defined(__UNIXWARE__) -#include <stdint.h> -#endif -#endif - -#ifdef _SEQUENT_ -/* - * in_systm.h compatibility between SysV and BSD types u_char u_short u_long - * select.h for typedef of args to select, fd_set, may use SVR4 later - */ -#include <netinet/in_systm.h> -#include <sys/select.h> -#endif /* _SEQUENT_ */ - -/* - * Just about everyone needs the strings routines. We provide both forms here, - * index/rindex and strchr/strrchr, so any systems that don't provide them all - * need to have #defines here. - * - * These macros are defined this way, rather than, e.g.: - * #defined index(s,c) strchr(s,c) - * because someone might be using them as function pointers, and such - * a change would break compatibility for anyone who's relying on them - * being the way they currently are. So we're stuck with them this way, - * which can be really inconvenient. :-( - */ - -#ifndef X_NOT_STDC_ENV - -#include <string.h> -#if defined(__SCO__) || defined(__UNIXWARE__) -#include <strings.h> -#else -#if (defined(sun) && defined(__SVR4)) -#include <strings.h> -#endif -#ifdef __STDC__ -#ifndef index -#define index(s,c) (strchr((s),(c))) -#endif -#ifndef rindex -#define rindex(s,c) (strrchr((s),(c))) -#endif -#else -#ifndef index -#define index strchr -#endif -#ifndef rindex -#define rindex strrchr -#endif -#endif -#endif - -#else - -#ifdef SYSV -#if defined(clipper) || defined(__clipper__) -#include <malloc.h> -#endif -#include <string.h> -#define index strchr -#define rindex strrchr -#else -#include <strings.h> -#define strchr index -#define strrchr rindex -#endif - -#endif /* X_NOT_STDC_ENV */ - -/* - * strerror() - */ -#if (defined(X_NOT_STDC_ENV) || (defined(sun) && !defined(SVR4)) || defined(macII)) && !defined(__GLIBC__) -#ifndef strerror -extern char *sys_errlist[]; -extern int sys_nerr; -#define strerror(n) \ - (((n) >= 0 && (n) < sys_nerr) ? sys_errlist[n] : "unknown error") -#endif -#endif - -/* - * Get open(2) constants - */ -#if defined(X_NOT_POSIX) -#include <fcntl.h> -#if defined(USL) || defined(CRAY) || defined(MOTOROLA) || (defined(__i386__) && (defined(SYSV) || defined(SVR4))) || defined(__sxg__) -#include <unistd.h> -#endif -#ifdef WIN32 -#include <X11/Xw32defs.h> -#else -#include <sys/file.h> -#endif -#else /* X_NOT_POSIX */ -#if !defined(_POSIX_SOURCE) && defined(macII) -#define _POSIX_SOURCE -#include <fcntl.h> -#include <unistd.h> -#undef _POSIX_SOURCE -#else -#include <fcntl.h> -#include <unistd.h> -#endif -#endif /* X_NOT_POSIX else */ - -/* - * Get struct timeval and struct tm - */ - -#if defined(SYSV) && !defined(_SEQUENT_) - -#ifndef USL -#include <sys/time.h> -#endif -#include <time.h> -#ifdef CRAY -#undef word -#endif /* CRAY */ -#if defined(USG) && !defined(CRAY) && !defined(MOTOROLA) && !defined(uniosu) && !defined(__sxg__) && !defined(clipper) && !defined(__clipper__) -struct timeval { - long tv_sec; - long tv_usec; -}; -#ifndef USL_SHARELIB -struct timezone { - int tz_minuteswest; - int tz_dsttime; -}; -#endif /* USL_SHARELIB */ -#endif /* USG */ - -#ifdef _SEQUENT_ -struct timezone { - int tz_minuteswest; - int tz_dsttime; -}; -#endif /* _SEQUENT_ */ - -#else /* not SYSV */ - -#if defined(_POSIX_SOURCE) && defined(SVR4) -/* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */ -#undef _POSIX_SOURCE -#include <sys/time.h> -#define _POSIX_SOURCE -#elif defined(WIN32) -#include <time.h> -#if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_) && !defined(_TIMEVAL_DEFINED) && !defined(_STRUCT_TIMEVAL) -struct timeval { - long tv_sec; /* seconds */ - long tv_usec; /* and microseconds */ -}; -#define _TIMEVAL_DEFINED -#endif -#include <sys/timeb.h> -#define gettimeofday(t) \ -{ \ - struct _timeb _gtodtmp; \ - _ftime (&_gtodtmp); \ - (t)->tv_sec = _gtodtmp.time; \ - (t)->tv_usec = _gtodtmp.millitm * 1000; \ -} -#elif defined(_SEQUENT_) || defined(Lynx) -#include <time.h> -#elif defined (__QNX__) -typedef unsigned long fd_mask; -/* Make sure we get 256 bit select masks */ -#define FD_SETSIZE 256 -#include <sys/select.h> -#include <sys/time.h> -#include <time.h> -#else -#include <sys/time.h> -#include <time.h> -#endif /* defined(_POSIX_SOURCE) && defined(SVR4) */ - -#endif /* SYSV */ - -/* define X_GETTIMEOFDAY macro, a portable gettimeofday() */ -#if defined(_XOPEN_XPG4) || defined(_XOPEN_UNIX) /* _XOPEN_UNIX is XPG4.2 */ -#define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0) -#else -#if defined(SVR4) || defined(VMS) || defined(WIN32) -#define X_GETTIMEOFDAY(t) gettimeofday(t) -#else -#define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0) -#endif -#endif /* XPG4 else */ - -#ifdef __UNIXOS2__ -typedef unsigned long fd_mask; -#include <limits.h> -#define MAX_PATH _POSIX_PATH_MAX -#endif - -#ifdef __GNU__ -#define PATH_MAX 4096 -#define MAXPATHLEN 4096 -#define OPEN_MAX 256 /* We define a reasonable limit. */ -#endif - -/* use POSIX name for signal */ -#if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD) && !defined(ISC) -#define SIGCHLD SIGCLD -#endif - -#ifdef ISC -#include <sys/bsdtypes.h> -#include <sys/limits.h> -#define NGROUPS 16 -#endif - -#if defined(_MSC_VER) || defined(ISC) || defined(__UNIXOS2__) || \ - (defined(__linux__) && !defined(__GLIBC__)) || \ - (defined(__QNX__) && !defined(UNIXCONN)) -/* - * Some OS's may not have this - */ - -#define X_NO_SYS_UN 1 - -struct sockaddr_un { - short sun_family; - char sun_path[108]; -}; -#endif - -#include <X11/Xarch.h> - -#endif /* _XOS_H_ */ +/*
+ *
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ * The X Window System is a Trademark of The Open Group.
+ *
+ */
+
+/* This is a collection of things to try and minimize system dependencies
+ * in a "significant" number of source files.
+ */
+
+#ifndef _XOS_H_
+# define _XOS_H_
+
+# include <X11/Xosdefs.h>
+
+/*
+ * Get major data types (esp. caddr_t)
+ */
+
+# include <sys/types.h>
+
+# if defined(__SCO__) || defined(__UNIXWARE__)
+# include <stdint.h>
+# endif
+
+
+/*
+ * Just about everyone needs the strings routines. We provide both forms here,
+ * index/rindex and strchr/strrchr, so any systems that don't provide them all
+ * need to have #defines here.
+ *
+ * These macros are defined this way, rather than, e.g.:
+ * #defined index(s,c) strchr(s,c)
+ * because someone might be using them as function pointers, and such
+ * a change would break compatibility for anyone who's relying on them
+ * being the way they currently are. So we're stuck with them this way,
+ * which can be really inconvenient. :-(
+ */
+
+# include <string.h>
+# if defined(__SCO__) || defined(__UNIXWARE__) || defined(__sun)
+# include <strings.h>
+# else
+# ifndef index
+# define index(s,c) (strchr((s),(c)))
+# endif
+# ifndef rindex
+# define rindex(s,c) (strrchr((s),(c)))
+# endif
+# endif
+
+/*
+ * Get open(2) constants
+ */
+# if defined(X_NOT_POSIX)
+# include <fcntl.h>
+# if defined(USL) || defined(__i386__) && (defined(SYSV) || defined(SVR4))
+# include <unistd.h>
+# endif
+# ifdef WIN32
+# include <X11/Xw32defs.h>
+# else
+# include <sys/file.h>
+# endif
+# else /* X_NOT_POSIX */
+# include <fcntl.h>
+# include <unistd.h>
+# endif /* X_NOT_POSIX else */
+
+/*
+ * Get struct timeval and struct tm
+ */
+
+# if defined(_POSIX_SOURCE) && defined(SVR4)
+/* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */
+# undef _POSIX_SOURCE
+# include <sys/time.h>
+# define _POSIX_SOURCE
+# elif defined(WIN32)
+# include <time.h>
+# if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_) && !defined(_TIMEVAL_DEFINED) && !defined(_STRUCT_TIMEVAL)
+struct timeval {
+ long tv_sec; /* seconds */
+ long tv_usec; /* and microseconds */
+};
+# define _TIMEVAL_DEFINED
+# endif
+# include <sys/timeb.h>
+# define gettimeofday(t) \
+{ \
+ struct _timeb _gtodtmp; \
+ _ftime (&_gtodtmp); \
+ (t)->tv_sec = _gtodtmp.time; \
+ (t)->tv_usec = _gtodtmp.millitm * 1000; \
+}
+# else
+# include <sys/time.h>
+# include <time.h>
+# endif /* defined(_POSIX_SOURCE) && defined(SVR4) */
+
+/* define X_GETTIMEOFDAY macro, a portable gettimeofday() */
+# if defined(_XOPEN_XPG4) || defined(_XOPEN_UNIX) /* _XOPEN_UNIX is XPG4.2 */
+# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+# else
+# if defined(SVR4) || defined(__SVR4) || defined(WIN32)
+# define X_GETTIMEOFDAY(t) gettimeofday(t)
+# else
+# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+# endif
+# endif /* XPG4 else */
+
+
+# ifdef __GNU__
+# define PATH_MAX 4096
+# define MAXPATHLEN 4096
+# define OPEN_MAX 256 /* We define a reasonable limit. */
+# endif
+
+/* use POSIX name for signal */
+# if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD)
+# define SIGCHLD SIGCLD
+# endif
+
+# include <X11/Xarch.h>
+
+#endif /* _XOS_H_ */
|