/* p4port.h (c)Copyright Sequiter Software Inc., 1988-1996.  All rights reserved.

   Declarations for non-standard C runtime library functions.

   CB 6.1.1 SUN - GENERIC RELEASE DATE: JULY 17/96
*/
#ifdef S4UNIX
   #define S4LOCKF           /* use function lockf() for locking */
   #define S4ERRNO           /* use global variable, 'errno' */
   #define S4NO_DUP          /* use if dup() not found/not required */
/* #define S4LSEEK        */ /* use if lseek() cannot seek past EOF */
   #define S4NO_FLOCK        /* use if flock() not found */
   #define S4CASE_SEN

/* CodeBase Multi-Platform defines */
/* #define S464BIT           */ /* use for 64 bit systems */
/* #define S4BYTEORDER_2301  */ /* use for 2301 systems */
/* #define S4BYTEORDER_3210  */ /* use for 3210 systems */
/* #define S4BYTE_SWAP       */ /* use for swapping bytes on 3210 or 2301 systems */
   #define S4NO_NEGATIVE_LOCK   /* use if negative locking not supported */
   #define S4DATA_ALIGN         /* Use if data needs to be on byte boundaries */
/* #define S4MEMCMP          */ /* use if memcmp() uses signed byte comparison */

   #define S4LOCKF
/* #define S4NO_ATOF         */ /* use if atof() not found */
   #define S4NO_CHSIZE          /* use if chsize() not found */
/* #define S4NO_ECVT         */ /* use if ecvt() not found */
/* #define S4NO_FCVT         */ /* use if fcvt() not found */
   #define S4NO_FILELENGTH      /* use if filelength() not found */
/* #define S4NO_FTIME        */ /* Use if ftime() is not supported */
   #define S4NO_MEMMOVE         /* use if memmove() not found */
   #define S4NO_POW             /* use if pow() not found */
   #define S4NO_RENAME          /* use if rename() not found */
   #define S4NO_REMOVE          /* use if remove() not found */
/* #define S4NO_SIZE_T       */ /* use if variable size_t not found */
   #define S4NO_STRLWR          /* use if strlwr() not found */
   #define S4NO_STRUPR          /* use if strupr() not found */
   #define S4NO_STRNICMP        /* use if strnicmp() not found */

   #include <unistd.h>
   #ifndef S4NO_ECVT
      char *ecvt( double, int, int*, int* ) ;
   #endif
   #ifndef S4NO_FCVT
      char *fcvt( double, int, int*, int* ) ;
   #endif
#endif

#ifdef S4MACINTOSH
   #define S4BYTEORDER_3210
   #define S4BYTE_SWAP
   #define S4CASE_SEN
   #define S4NO_FCVT
   #define S4NO_ECVT
   #define S4NO_FLOCK
   #define S4NO_STRUPR
   #define S4NO_STRLWR
   #define S4NO_STRNICMP

   long MAClseek(int, long, int, int) ;
   #include <errors.h>
   #include <files.h>
#endif

   #define  S4CMP_PARM  const void *

   #ifndef USHRT_MAX
      #define USHRT_MAX      0xFFFF
   #endif
   #ifndef INT_MAX
      #define INT_MAX        0x7FFF
   #endif
   #ifndef UINT_MAX
      #define UINT_MAX       0xFFFF
   #endif
   #ifndef LONG_MAX
      #define LONG_MAX       2147483647
   #endif

#ifdef S4LOCKF
   #define S4LOCKING
#endif

#ifdef S4MULTIC4
   #include <sys/wait.h>
#endif

#ifndef S4NO_FLOCK
   #include <sys/file.h>
#endif

#ifdef S4NO_SIZE_T
   typedef unsigned size_t ;
#endif

#ifdef __cplusplus
   extern "C"   {
#endif

#ifdef S4NO_STRNICMP
   int strnicmp(char *, char *, size_t ) ;
#endif

#ifdef S4NO_MEMMOVE
   void *c4memmove(void *, const void *, size_t) ;
#endif

#ifdef S4LSEEK
   #define S4OFF_OPTIMIZE
   long f4lseek(FILE4 *, long, int, int ) ;
#endif

#ifdef S4NO_FCVT
   char *f4fcvt( double, int, int *, int * ) ;
#endif

#ifdef S4NO_ECVT
   char *f4ecvt( double, int, int *, int * ) ;
#endif

#ifdef S4NO_ATOF
   double c4atof(char *) ;
#endif

#ifdef __cplusplus
   }
#endif

#ifdef S4BYTEORDER_3210
   #define S4DO_BYTEORDER
#endif

#ifdef S4BYTEORDER_2301
   #define S4DO_BYTEORDER
#endif