Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:34

0001 /*
0002  * O/S-dependent (mis)feature macro definitions
0003  *
0004 Copyright 1991, 1998  The Open Group
0005 
0006 Permission to use, copy, modify, distribute, and sell this software and its
0007 documentation for any purpose is hereby granted without fee, provided that
0008 the above copyright notice appear in all copies and that both that
0009 copyright notice and this permission notice appear in supporting
0010 documentation.
0011 
0012 The above copyright notice and this permission notice shall be included in
0013 all copies or substantial portions of the Software.
0014 
0015 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
0016 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
0017 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
0018 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
0019 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
0020 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
0021 
0022 Except as contained in this notice, the name of The Open Group shall not be
0023 used in advertising or otherwise to promote the sale, use or other dealings
0024 in this Software without prior written authorization from The Open Group.
0025  */
0026 
0027 #ifndef _XOSDEFS_H_
0028 # define _XOSDEFS_H_
0029 
0030 /*
0031  * X_NOT_POSIX means does not have POSIX header files.  Lack of this
0032  * symbol does NOT mean that the POSIX environment is the default.
0033  * You may still have to define _POSIX_SOURCE to get it.
0034  */
0035 
0036 
0037 # ifdef _SCO_DS
0038 #  ifndef __SCO__
0039 #   define __SCO__
0040 #  endif
0041 # endif
0042 
0043 # ifdef __i386__
0044 #  ifdef SYSV
0045 #   if !defined(__SCO__) && \
0046     !defined(__UNIXWARE__) && !defined(__sun)
0047 #    if !defined(_POSIX_SOURCE)
0048 #     define X_NOT_POSIX
0049 #    endif
0050 #   endif
0051 #  endif
0052 # endif
0053 
0054 # ifdef __sun
0055 /* Imake configs define SVR4 on Solaris, but cc & gcc only define __SVR4
0056  * This check allows non-Imake configured programs to build correctly.
0057  */
0058 #  if defined(__SVR4) && !defined(SVR4)
0059 #   define SVR4 1
0060 #  endif
0061 #  ifdef SVR4
0062 /* define this to whatever it needs to be */
0063 #   define X_POSIX_C_SOURCE 199300L
0064 #  endif
0065 # endif
0066 
0067 # ifdef WIN32
0068 #  ifndef _POSIX_
0069 #   define X_NOT_POSIX
0070 #  endif
0071 # endif
0072 
0073 
0074 # ifdef __APPLE__
0075 #  define NULL_NOT_ZERO
0076 
0077 /* Defining any of these will sanitize the namespace to JUST want is defined by
0078  * that particular standard.  If that happens, we don't get some expected
0079  * prototypes, typedefs, etc (like fd_mask).  We can define _DARWIN_C_SOURCE to
0080  * loosen our belts a tad.
0081  */
0082 #  if defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE)
0083 #   ifndef _DARWIN_C_SOURCE
0084 #    define _DARWIN_C_SOURCE
0085 #   endif
0086 #  endif
0087 
0088 # endif
0089 
0090 # ifdef __GNU__
0091 #  ifndef PATH_MAX
0092 #   define PATH_MAX 4096
0093 #  endif
0094 #  ifndef MAXPATHLEN
0095 #   define MAXPATHLEN 4096
0096 #  endif
0097 # endif
0098 
0099 # if defined(__SCO__) || defined(__UNIXWARE__)
0100 #  ifndef PATH_MAX
0101 #   define PATH_MAX 1024
0102 #  endif
0103 #  ifndef MAXPATHLEN
0104 #   define MAXPATHLEN   1024
0105 #  endif
0106 # endif
0107 
0108 # if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) \
0109     || defined(__APPLE__) || defined(__DragonFly__)
0110 #  ifndef CSRG_BASED
0111 #   define CSRG_BASED
0112 #  endif
0113 # endif
0114 
0115 #endif /* _XOSDEFS_H_ */
0116