cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/*
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * O/S-dependent (mis)feature macro definitions
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync *
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCopyright 1991, 1998 The Open Group
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncPermission to use, copy, modify, distribute, and sell this software and its
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncdocumentation for any purpose is hereby granted without fee, provided that
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncthe above copyright notice appear in all copies and that both that
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsynccopyright notice and this permission notice appear in supporting
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncdocumentation.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncThe above copyright notice and this permission notice shall be included in
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncall copies or substantial portions of the Software.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncExcept as contained in this notice, the name of The Open Group shall not be
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncused in advertising or otherwise to promote the sale, use or other dealings
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncin this Software without prior written authorization from The Open Group.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#ifndef _XOSDEFS_H_
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define _XOSDEFS_H_
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/*
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * X_NOT_POSIX means does not have POSIX header files. Lack of this
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * symbol does NOT mean that the POSIX environment is the default.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * You may still have to define _POSIX_SOURCE to get it.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifdef _SCO_DS
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifndef __SCO__
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define __SCO__
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifdef __i386__
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifdef SYSV
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# if !defined(__SCO__) && \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync !defined(__UNIXWARE__) && !defined(__sun)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# if !defined(_POSIX_SOURCE)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define X_NOT_POSIX
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifdef __sun
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* Imake configs define SVR4 on Solaris, but cc & gcc only define __SVR4
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * This check allows non-Imake configured programs to build correctly.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# if defined(__SVR4) && !defined(SVR4)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define SVR4 1
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifdef SVR4
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* define this to whatever it needs to be */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define X_POSIX_C_SOURCE 199300L
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifdef WIN32
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifndef _POSIX_
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define X_NOT_POSIX
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifdef __APPLE__
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define NULL_NOT_ZERO
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/* Defining any of these will sanitize the namespace to JUST want is defined by
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * that particular standard. If that happens, we don't get some expected
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * prototypes, typedefs, etc (like fd_mask). We can define _DARWIN_C_SOURCE to
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync * loosen our belts a tad.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# if defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifndef _DARWIN_C_SOURCE
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define _DARWIN_C_SOURCE
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifdef __GNU__
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifndef PATH_MAX
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define PATH_MAX 4096
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifndef MAXPATHLEN
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define MAXPATHLEN 4096
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# if defined(__SCO__) || defined(__UNIXWARE__)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifndef PATH_MAX
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define PATH_MAX 1024
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifndef MAXPATHLEN
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define MAXPATHLEN 1024
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync || defined(__APPLE__) || defined(__DragonFly__)
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# ifndef CSRG_BASED
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# define CSRG_BASED
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync# endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#endif /* _XOSDEFS_H_ */
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync