/* sysdep.h * * Copyright (c) 1994-1996, Marko Macek * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #ifndef __SYSDEP_H #define __SYSDEP_H #include #include #include #include #include #if defined(AIX) || defined(SCO) || defined(NCR) #include #endif #include #include #include #include #include #include #ifdef DBMALLOC #include #endif #if !defined(OS2) && \ !defined(NT) && \ !defined(DOSP32) && \ !defined(LINUX) && \ !defined(HPUX) && \ !defined(AIX) && \ !defined(IRIX) && \ !defined(SCO) && \ !defined(SUNOS) && \ !defined(NCR) # error Target not supported. #endif #if defined(UNIX) || defined(DJGPP) || defined(WATCOM) # define USE_DIRENT #endif #if defined(USE_DIRENT) // also needs fnmatch #ifdef WATCOM # include #else # include #endif #endif #if defined(UNIX) # include # include # if defined(__CYGWIN__) # include "fnmatch.h" # else # include # endif # define strnicmp strncasecmp # define stricmp strcasecmp # define filecmp strcmp //# define memicmp strncasecmp // FIX, fails for nulls extern "C" int memicmp(const void *s1, const void *s2, size_t n); #endif #if defined(OS2) # include # if !defined(__TOS_OS2__) # include # endif # include # include # if defined(BCPP) || defined(WATCOM) || defined(__TOS_OS2__) # include # endif # if defined(BCPP) # include # endif # define filecmp stricmp # if !defined(__EMX__) # define NO_NEW_CPP_FEATURES # endif #endif #if defined(DOS) || defined(DOSP32) # include # include # include # include # define NO_NEW_CPP_FEATURES # if defined(BCPP) # include # endif # if defined(WATCOM) # include # endif # if defined(DJGPP) # include # include # undef MAXPATH extern "C" int memicmp(const void *s1, const void *s2, size_t n); # endif # define filecmp stricmp #endif #if defined(NT) # include # include # include # include # if defined(MSVC) # include # endif # if defined(WATCOM) # include # endif # if defined(BCPP) # include # endif # if defined(MINGW) # include # endif # define filecmp stricmp # define popen _popen # define pclose _pclose #endif #ifndef MAXPATH # define MAXPATH 1024 #endif #ifndef O_BINARY # define O_BINARY 0 /* defined on OS/2, no difference on unix */ #endif #if defined(OS2) || defined(NT) # if defined(__EMX__) || defined(WATCOM) || defined(__TOS_OS2__) # define FAKE_BEGINTHREAD_NULL NULL, # else # define FAKE_BEGINTHREAD_NULL # endif #endif #if !defined(__IBMC__) && !defined(__IBMCPP__) # define _LNK_CONV #endif #define PT_UNIXISH 0 #define PT_DOSISH 1 #ifndef S_ISDIR // NT, DOS, DOSP32 # ifdef S_IFDIR # define S_ISDIR(mode) ((mode) & S_IFDIR) # else # define S_ISDIR(mode) ((mode) & _S_IFDIR) # endif #endif #ifndef S_IWGRP #define S_IWGRP 0 #define S_IWOTH 0 #endif #if defined(OS2) || defined(NT) || defined(DOSP32) || defined(DOS) #define PATHTYPE PT_DOSISH #else #define PATHTYPE PT_UNIXISH #endif #endif