/** * sysconf.h -- system-dependent macros and settings * * Copyright (C) 2002-2004 Cosmin Truta. * Permission to use and distribute freely. * No warranty. **/ #ifndef SYSCONF_H #define SYSCONF_H /*****************************************************************************/ /* Platform identifiers */ /* Detect Unix. */ #if defined(unix) || defined(__linux__) || defined(BSD) || defined(__CYGWIN__) /* Add more systems here. */ # ifndef UNIX # define UNIX # endif #endif /* Detect MS-DOS. */ #if defined(__MSDOS__) # ifndef MSDOS # define MSDOS # endif #endif /* TO DO: Detect OS/2. */ /* Detect Windows. */ #if defined(_WIN32) || defined(__WIN32__) # ifndef WIN32 # define WIN32 # endif #endif #if defined(_WIN64) # ifndef WIN64 # define WIN64 # endif #endif #if defined(_WINDOWS) || defined(WIN32) || defined(WIN64) # ifndef WINDOWS # define WINDOWS # endif #endif /* Enable POSIX-friendly symbols on Microsoft (Visual) C. */ #ifdef _MSC_VER # define _POSIX_ #endif /*****************************************************************************/ /* Library access */ #if defined(UNIX) # include #endif #if defined(_POSIX_VERSION) # include # ifndef HAVE_ISATTY # define HAVE_ISATTY # endif #endif #if defined(MSDOS) || defined(OS2) || defined(WINDOWS) || defined(__CYGWIN__) /* Add more systems here, e.g. MacOS 9 and earlier. */ # include # include # ifndef HAVE_ISATTY # define HAVE_ISATTY # endif # ifndef HAVE_SETMODE # define HAVE_SETMODE # endif #endif /* Standard I/O handles. */ #define STDIN 0 #define STDOUT 1 #define STDERR 2 /* Provide a placeholder for O_BINARY, if it doesn't exist. */ #ifndef O_BINARY # define O_BINARY 0 #endif #endif /* SYSCONF_H */