home *** CD-ROM | disk | FTP | other *** search
- /**************************************
- **
- ** PORT.H : Miscellaneous definitions for portability. Please add
- ** to this file for any new machines/compilers you may have.
- **
- ** XFRACT file "SHARED.H" merged into PORT.H on 3/14/92 by --CWM--
- */
-
- #ifndef PORT_H /* If this is defined, this file has been */
- #define PORT_H 1 /* included already in this module. */
-
- #ifdef XFRACT /* XFRACT forces unix configuration! --CWM-- */
- #ifdef MSDOS
- #undef MSDOS
- #endif
- #ifdef __MSDOS__
- #undef __MSDOS__
- #endif
- #define unix
- #endif
-
- #ifdef MSDOS /* Microsoft C 5.1 for OS/2 and MSDOS */
- typedef unsigned char U8;
- typedef signed char S8;
- typedef unsigned short U16;
- typedef signed short S16;
- typedef unsigned long U32;
- typedef signed long S32;
- typedef unsigned char BYTE;
- typedef unsigned char CHAR;
- typedef void *VOIDPTR;
- typedef void far *VOIDFARPTR;
- typedef void const *VOIDCONSTPTR;
-
- #define CONST const
- #define PRINTER "/dev/prn"
- #define LOBYTEFIRST 1
- #define SLASHC '\\'
- #define SLASH "\\"
- #define SLASHSLASH "\\\\"
- #define SLASHDOT "\\."
- #define DOTSLASH ".\\"
- #define DOTDOTSLASH "..\\"
- #define READMODE "rb" /* Correct DOS text-mode */
- #define WRITEMODE "wb" /* file open "feature". */
-
- #define write1(ptr,len,n,stream) fwrite(ptr,len,n,stream)
- #define write2(ptr,len,n,stream) fwrite(ptr,len,n,stream)
- #define rand15() rand()
-
- #else /* may be Turbo-C */
- #ifdef __MSDOS__ /* TURBO-C */
- typedef unsigned char U8;
- typedef signed char S8;
- typedef unsigned short U16;
- typedef signed short S16;
- typedef unsigned long U32;
- typedef signed long S32;
- typedef unsigned char BYTE;
- typedef unsigned char CHAR;
- typedef void *VOIDPTR;
- typedef void far *VOIDFARPTR;
- typedef void const *VOIDCONSTPTR;
-
- #define CONST const
- #define PRINTER "/dev/prn"
- #define LOBYTEFIRST 1
- #define SLASHC '\\'
- #define SLASH "\\"
- #define SLASHSLASH "\\\\"
- #define SLASHDOT "\\."
- #define DOTSLASH ".\\"
- #define DOTDOTSLASH "..\\"
- #define READMODE "rb" /* Correct DOS text-mode */
- #define WRITEMODE "wb" /* file open "feature". */
-
- #define write1(ptr,len,n,stream) fwrite(ptr,len,n,stream)
- #define write2(ptr,len,n,stream) fwrite(ptr,len,n,stream)
- #define rand15() rand()
-
- #else /* Have to nest because #elif is not portable */
- #ifdef AMIGA /* Lattice C 3.02 for Amiga */
- typedef UBYTE U8;
- typedef BYTE S8;
- typedef UWORD U16;
- typedef WORD S16;
- typedef unsigned int U32;
- typedef int S32;
- typedef UBYTE BYTE;
- typedef UBYTE CHAR;
- typedef void *VOIDPTR;
- typedef void *VOIDFARPTR;
- typedef void *VOIDCONSTPTR;
-
- #define CONST
- #define PRINTER "PRT:"
- #define LOBYTEFIRST 0
- #define SLASHC '/'
- #define SLASH "/"
- #define SLASHSLASH "//"
- #define SLASHDOT "/."
- #define DOTSLASH "./"
- #define DOTDOTSLASH "../"
- #define READMODE "rb"
- #define WRITEMODE "wb"
-
- #define write1(ptr,len,n,stream) (fputc(*(ptr),stream),1)
- #define write2(ptr,len,n,stream) (fputc((*(ptr))&255,stream),fputc((*(ptr))>>8,stream),1)
- #define rand15() (rand()&0x7FFF)
-
- #else
- #ifdef unix /* AT&T 7300 (Unix PC) */
- #include "unix.h"
-
- typedef unsigned char U8;
- typedef char S8;
- typedef unsigned short U16;
- typedef short S16;
- typedef long U32; /* May cause some problems */
- typedef long S32;
- typedef unsigned char BYTE;
- typedef char CHAR;
- #ifdef BADVOID
- typedef char *VOIDPTR;
- typedef char *VOIDFARPTR;
- typedef char *VOIDCONSTPTR;
- #else
- typedef void *VOIDPTR;
- typedef void *VOIDFARPTR;
- typedef void *VOIDCONSTPTR;
- #endif
-
- #define CONST
- #define PRINTER "/dev/lp"
- #define LOBYTEFIRST 1
- #define SLASHC '/'
- #define SLASH "/"
- #define SLASHSLASH "//"
- #define SLASHDOT "/."
- #define DOTSLASH "./"
- #define DOTDOTSLASH "../"
- #define READMODE "r"
- #define WRITEMODE "w"
-
- #define write1(ptr,len,n,stream) (fputc(*(ptr),stream),1)
- #define write2(ptr,len,n,stream) (fputc((*(ptr))&255,stream),fputc((*(ptr))>>8,stream),1)
- #define rand15() (rand()&0x7FFF)
-
- #endif
- #endif
- #endif
- #endif
-
- #ifdef LOBYTEFIRST
- #define GET16(c,i) (i)=*((U16*)(&(c)))
- #else
- #define GET16(c,i) (i)=(c)+(*((char*)&(c)+1))<<8
- #endif
-
- #endif /* PORT_H */
-