/* p4port.h (c)Copyright Sequiter Software Inc., 1990-1994. All rights reserved. Declarations for non-standard C runtime library functions. CB 5.1 MULTI-PLATFORM RELEASE DATE: JULY 15/94 */ #ifdef S4UNIX #define S4OPTIMIZE_OFF #ifdef S4MACINTOSH #define S4BYTEORDER_3210 #define S4NO_ATOF #define S4NO_FCVT #define S4NO_ECVT #else #define S4LOCKF /* use function lockf() for locking */ #define S4NO_MEMMOVE /* use if memmove() not found */ #endif /* CodeBase Multi-Platform defines */ #define S4ERRNO /* use global variable, 'errno' */ #define S4NO_CHSIZE /* use if chsize() not found */ #define S4NO_DUP /* use if dup() not found/not required */ #define S4NO_FILELENGTH /* use if filelength() not found */ #define S4NO_NEGATIVE_LOCK /* use if negative locking not supported */ #define S4NO_POW /* use if pow() not found */ #define S4NO_REMOVE /* use if remove() not found */ #define S4NO_RENAME /* use if rename() not found */ #define S4NO_STRLWR /* use if strlwr() not found */ #define S4NO_STRNICMP /* use if strnicmp() not found */ #define S4NO_STRUPR /* use if strupr() not found */ /* #define S4BYTEORDER_2301 */ /* use for 2301 systems */ /* #define S4BYTEORDER_3210 */ /* use for 3210 systems */ /* #define S464BIT */ /* use for 64 bit systems */ /* #define S4BYTE_SWAP */ /* use for swapping bytes on 3210 or 2301 systems */ /* #define S4MEMCMP */ /* use if memcmp() uses signed byte comparison */ /* #define S4LSEEK */ /* use if lseek() cannot seek past EOF */ /* #define S4NO_ATOF */ /* use if atof() not found */ /* #define S4NO_ECVT */ /* use if ecvt() not found */ /* #define S4NO_FCVT */ /* use if fcvt() not found */ /* #define S4NO_SIZE_T */ /* use if variable size_t not found */ #endif #ifdef S4UNIX #define S4CMP_PARM void * /* These functions are usually declared */ #ifndef S4MACINTOSH /* in other system header files, and */ extern long filelength() ; /* therefore most of these declarations */ extern int atoi() ; /* are redundant. Sometimes, however, */ extern long atol() ; /* the declaration is in a header file */ extern int chsize() ; /* not included in the compile. In that */ extern int close() ; /* case, compile and/or run-time errors */ extern void exit() ; /* will be avoided because of these */ extern int lock() ; /* declarations. */ extern int locking() ; extern void *malloc() ; /* malloc(), calloc() and realloc() may */ extern void *calloc() ; /* return a 'char *' in some compilers. */ extern void *realloc() ; /* if so, change 'void *' to 'char *' */ extern void free() ; extern int read() ; extern long time() ; extern int unlink() ; extern int write() ; #ifndef S4NO_ECVT extern char *ecvt() ; #ifndef S4NO_FCVT extern char *fcvt() ; #endif #endif #ifndef S4LSEEK extern long lseek() ; #endif #ifndef S4MEMCMP extern int memcmp() ; #endif #else long filelength(int) ; long MAClseek(int, long, int, int) ; #include #include #endif #define USHRT_MAX 0xFFFF /* may comment these out if compiler */ #define INT_MAX 0x7FFF /* error occurs */ #define UINT_MAX 0xFFFF #endif #ifdef S4LOCKF #define S4LOCKING #endif #ifdef S4NO_SIZE_T typedef unsigned size_t ; #endif #ifdef S4NO_STRNICMP int strnicmp() ; #endif #ifdef S4NO_MEMMOVE void *memmove() ; #endif #ifdef S4LSEEK #define S4OFF_OPTIMIZE long f4seek() ; #endif #ifdef S4NO_FCVT char *f4fcvt() ; #endif #ifdef S4NO_ECVT char *f4ecvt() ; #endif #ifdef S4NO_ATOF double c4atof() ; #endif #ifdef S4BYTEORDER_3210 #define S4DO_BYTEORDER #endif #ifdef S4BYTEORDER_2301 #define S4DO_BYTEORDER #endif