// // lib.h // // lib: Contains typical declarations and header inclusions used by // most sources in this directory. // // Part of the ht://Dig package // Copyright (c) 1999-2004 The ht://Dig Group // For copyright details, see the file COPYING in your distribution // or the GNU Library General Public License (LGPL) version 2 or later // // // $Id: lib.h,v 1.16 2004/05/28 13:15:21 lha Exp $ // #ifndef _lib_h #define _lib_h #ifndef _MSC_VER /* _WIN32 */ #include "clib.h" #endif #include #ifdef _MSC_VER /* _WIN32 */ #include "dirent_local.h" #define S_ISDIR(v) ((v)&_S_IFDIR) #define S_ISREG(v) ((v)&_S_IFREG) #else #include // for scandir #endif #ifdef _MSC_VER /* _WIN32 */ #include #include #define S_IFIFO _S_IFIFO // pipe #define S_IFBLK 0060000 // block special #define S_IFLNK 0120000 // symbolic link #define S_IFSOCK 0140000 // socket #define S_IFWHT 0160000 // whiteout #define R_OK 02 #define popen _popen #define pclose _pclose #define lstat stat #define readlink(x,y,z) {-1} #define sleep(t) _sleep((t) * 1000) #endif #if TIME_WITH_SYS_TIME # include # include #else # if HAVE_SYS_TIME_H # include # else # include # endif #endif // // Other defines used throughout the library // #define OK 0 #define NOTOK (-1) // // To get rid of inconsistencies between different machines we will ALWAYS // use our own version of the following routines // int mystrcasecmp(const char *, const char *); int mystrncasecmp(const char *, const char *, int); // // The standard strstr() function is limited in that it does case-sensitive // searches. This version will ignore case. // const char *mystrcasestr(const char *s, const char *pattern); // // Too many problems with system strptime() functions... Just use our own // version of it. // char *mystrptime(const char *buf, const char *fmt, struct tm *tm); // // timegm() is quite rare, so provide our own. // extern "C" time_t Httimegm(struct tm *tm); #endif