home *** CD-ROM | disk | FTP | other *** search
/ Fractal Creations (Second Edition) / FRACTALS_2E.iso / frasrc.exe / PORT.H < prev    next >
C/C++ Source or Header  |  1992-09-26  |  5KB  |  164 lines

  1. /**************************************
  2. **
  3. ** PORT.H : Miscellaneous definitions for portability.    Please add
  4. ** to this file for any new machines/compilers you may have.
  5. **
  6. ** XFRACT file "SHARED.H" merged into PORT.H on 3/14/92 by --CWM--
  7. */
  8.  
  9. #ifndef PORT_H        /* If this is defined, this file has been    */
  10. #define PORT_H         /* included already in this module.        */
  11.  
  12. #ifdef XFRACT        /* XFRACT forces unix configuration! --CWM-- */
  13. #ifdef MSDOS
  14. #undef MSDOS
  15. #endif
  16. #ifdef __MSDOS__
  17. #undef __MSDOS__
  18. #endif
  19. #ifndef unix
  20. #define unix
  21. #endif
  22. #endif
  23.  
  24. #ifdef MSDOS        /* Microsoft C 5.1 for OS/2 and MSDOS */
  25.     typedef unsigned char  U8;
  26.     typedef signed char    S8;
  27.     typedef unsigned short U16;
  28.     typedef signed short   S16;
  29.     typedef unsigned long  U32;
  30.     typedef signed long    S32;
  31.     typedef unsigned char  BYTE;
  32.     typedef unsigned char  CHAR;
  33.     typedef void          *VOIDPTR;
  34.     typedef void far      *VOIDFARPTR;
  35.     typedef void const    *VOIDCONSTPTR;
  36.  
  37.     #define CONST          const
  38.     #define PRINTER        "/dev/prn"
  39.     #define LOBYTEFIRST    1
  40.     #define SLASHC         '\\'
  41.     #define SLASH          "\\"
  42.     #define SLASHSLASH     "\\\\"
  43.     #define SLASHDOT       "\\."
  44.     #define DOTSLASH       ".\\"
  45.     #define DOTDOTSLASH    "..\\"
  46.     #define READMODE    "rb"    /* Correct DOS text-mode        */
  47.     #define WRITEMODE    "wb"    /* file open "feature".         */
  48.  
  49.     #define write1(ptr,len,n,stream) fwrite(ptr,len,n,stream)
  50.     #define write2(ptr,len,n,stream) fwrite(ptr,len,n,stream)
  51.     #define rand15() rand()
  52.  
  53. #else            /* may be Turbo-C */
  54. #ifdef __MSDOS__        /* TURBO-C */
  55.     typedef unsigned char  U8;
  56.     typedef signed char    S8;
  57.     typedef unsigned short U16;
  58.     typedef signed short   S16;
  59.     typedef unsigned long  U32;
  60.     typedef signed long    S32;
  61.     typedef unsigned char  BYTE;
  62.     typedef unsigned char  CHAR;
  63.     typedef void          *VOIDPTR;
  64.     typedef void far      *VOIDFARPTR;
  65.     typedef void const    *VOIDCONSTPTR;
  66.  
  67.     #define CONST          const
  68.     #define PRINTER        "/dev/prn"
  69.     #define LOBYTEFIRST    1
  70.     #define SLASHC         '\\'
  71.     #define SLASH          "\\"
  72.     #define SLASHSLASH     "\\\\"
  73.     #define SLASHDOT       "\\."
  74.     #define DOTSLASH       ".\\"
  75.     #define DOTDOTSLASH    "..\\"
  76.     #define READMODE    "rb"    /* Correct DOS text-mode        */
  77.     #define WRITEMODE    "wb"    /* file open "feature".         */
  78.  
  79.     #define write1(ptr,len,n,stream) fwrite(ptr,len,n,stream)
  80.     #define write2(ptr,len,n,stream) fwrite(ptr,len,n,stream)
  81.     #define rand15() rand()
  82.  
  83. #else            /* Have to nest because #elif is not portable */
  84. #ifdef AMIGA        /* Lattice C 3.02 for Amiga */
  85.     typedef UBYTE          U8;
  86.     typedef BYTE           S8;
  87.     typedef UWORD          U16;
  88.     typedef WORD           S16;
  89.     typedef unsigned int   U32;
  90.     typedef int            S32;
  91.     typedef UBYTE          BYTE;
  92.     typedef UBYTE          CHAR;
  93.     typedef void          *VOIDPTR;
  94.     typedef void          *VOIDFARPTR;
  95.     typedef void          *VOIDCONSTPTR;
  96.  
  97.     #define CONST
  98.     #define PRINTER        "PRT:"
  99.     #define LOBYTEFIRST    0
  100.     #define SLASHC         '/'
  101.     #define SLASH          "/"
  102.     #define SLASHSLASH     "//"
  103.     #define SLASHDOT       "/."
  104.     #define DOTSLASH       "./"
  105.     #define DOTDOTSLASH    "../"
  106.     #define READMODE    "rb"
  107.     #define WRITEMODE    "wb"
  108.  
  109.     #define write1(ptr,len,n,stream) (fputc(*(ptr),stream),1)
  110.     #define write2(ptr,len,n,stream) (fputc((*(ptr))&255,stream),fputc((*(ptr))>>8,stream),1)
  111.     #define rand15() (rand()&0x7FFF)
  112.  
  113. #else
  114. #ifdef unix            /* Unix machine */
  115.     typedef unsigned char  U8;
  116.     typedef char           S8;
  117.     typedef unsigned short U16;
  118.     typedef short          S16;
  119.     typedef unsigned long  U32;
  120.     typedef long           S32;
  121.     typedef unsigned char  BYTE;
  122.     typedef char           CHAR;
  123. #ifdef BADVOID
  124.     typedef char          *VOIDPTR;
  125.     typedef char          *VOIDFARPTR;
  126.     typedef char          *VOIDCONSTPTR;
  127. #else
  128.     typedef void          *VOIDPTR;
  129.     typedef void          *VOIDFARPTR;
  130.     typedef void          *VOIDCONSTPTR;
  131. #endif
  132.  
  133. #    define CONST
  134. #    define PRINTER        "/dev/lp"
  135. #    define SLASHC         '/'
  136. #    define SLASH          "/"
  137. #    define SLASHSLASH     "//"
  138. #    define SLASHDOT       "/."
  139. #    define DOTSLASH       "./"
  140. #    define DOTDOTSLASH    "../"
  141. #    define READMODE    "r"
  142. #    define WRITEMODE    "w"
  143.  
  144. #    define write1(ptr,len,n,stream) (fputc(*(ptr),stream),1)
  145. #    define write2(ptr,len,n,stream) (fputc((*(ptr))&255,stream),fputc((*(ptr))>>8,stream),1)
  146. #    define rand15() (rand()&0x7FFF)
  147.  
  148. #    include "unix.h"
  149.  
  150.  
  151. #endif
  152. #endif
  153. #endif
  154. #endif
  155.  
  156. #ifdef LOBYTEFIRST
  157. #define GET16(c,i)        (i) = *((U16*)(&(c)))
  158. #else
  159. #define GET16(c,i)              (i) = (*(unsigned char *)&(c))+\
  160.                 ((*((unsigned char*)&(c)+1))<<8)
  161. #endif
  162.  
  163. #endif    /* PORT_H */
  164.