home *** CD-ROM | disk | FTP | other *** search
/ Mega A/V / mega_av.zip / mega_av / GRAPHUTL / FRPOR172.ZIP / PORT.H < prev    next >
C/C++ Source or Header  |  1992-03-15  |  5KB  |  161 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 1    /* 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. #define unix
  20. #endif
  21.  
  22. #ifdef MSDOS        /* Microsoft C 5.1 for OS/2 and MSDOS */
  23.     typedef unsigned char  U8;
  24.     typedef signed char    S8;
  25.     typedef unsigned short U16;
  26.     typedef signed short   S16;
  27.     typedef unsigned long  U32;
  28.     typedef signed long    S32;
  29.     typedef unsigned char  BYTE;
  30.     typedef unsigned char  CHAR;
  31.     typedef void          *VOIDPTR;
  32.     typedef void far      *VOIDFARPTR;
  33.     typedef void const    *VOIDCONSTPTR;
  34.  
  35.     #define CONST          const
  36.     #define PRINTER        "/dev/prn"
  37.     #define LOBYTEFIRST    1
  38.     #define SLASHC         '\\'
  39.     #define SLASH          "\\"
  40.     #define SLASHSLASH     "\\\\"
  41.     #define SLASHDOT       "\\."
  42.     #define DOTSLASH       ".\\"
  43.     #define DOTDOTSLASH    "..\\"
  44.     #define READMODE    "rb"    /* Correct DOS text-mode        */
  45.     #define WRITEMODE    "wb"    /* file open "feature".         */
  46.  
  47.     #define write1(ptr,len,n,stream) fwrite(ptr,len,n,stream)
  48.     #define write2(ptr,len,n,stream) fwrite(ptr,len,n,stream)
  49.     #define rand15() rand()
  50.  
  51. #else            /* may be Turbo-C */
  52. #ifdef __MSDOS__        /* TURBO-C */
  53.     typedef unsigned char  U8;
  54.     typedef signed char    S8;
  55.     typedef unsigned short U16;
  56.     typedef signed short   S16;
  57.     typedef unsigned long  U32;
  58.     typedef signed long    S32;
  59.     typedef unsigned char  BYTE;
  60.     typedef unsigned char  CHAR;
  61.     typedef void          *VOIDPTR;
  62.     typedef void far      *VOIDFARPTR;
  63.     typedef void const    *VOIDCONSTPTR;
  64.  
  65.     #define CONST          const
  66.     #define PRINTER        "/dev/prn"
  67.     #define LOBYTEFIRST    1
  68.     #define SLASHC         '\\'
  69.     #define SLASH          "\\"
  70.     #define SLASHSLASH     "\\\\"
  71.     #define SLASHDOT       "\\."
  72.     #define DOTSLASH       ".\\"
  73.     #define DOTDOTSLASH    "..\\"
  74.     #define READMODE    "rb"    /* Correct DOS text-mode        */
  75.     #define WRITEMODE    "wb"    /* file open "feature".         */
  76.  
  77.     #define write1(ptr,len,n,stream) fwrite(ptr,len,n,stream)
  78.     #define write2(ptr,len,n,stream) fwrite(ptr,len,n,stream)
  79.     #define rand15() rand()
  80.  
  81. #else            /* Have to nest because #elif is not portable */
  82. #ifdef AMIGA        /* Lattice C 3.02 for Amiga */
  83.     typedef UBYTE          U8;
  84.     typedef BYTE           S8;
  85.     typedef UWORD          U16;
  86.     typedef WORD           S16;
  87.     typedef unsigned int   U32;
  88.     typedef int            S32;
  89.     typedef UBYTE          BYTE;
  90.     typedef UBYTE          CHAR;
  91.     typedef void          *VOIDPTR;
  92.     typedef void          *VOIDFARPTR;
  93.     typedef void          *VOIDCONSTPTR;
  94.  
  95.     #define CONST
  96.     #define PRINTER        "PRT:"
  97.     #define LOBYTEFIRST    0
  98.     #define SLASHC         '/'
  99.     #define SLASH          "/"
  100.     #define SLASHSLASH     "//"
  101.     #define SLASHDOT       "/."
  102.     #define DOTSLASH       "./"
  103.     #define DOTDOTSLASH    "../"
  104.     #define READMODE    "rb"
  105.     #define WRITEMODE    "wb"
  106.  
  107.     #define write1(ptr,len,n,stream) (fputc(*(ptr),stream),1)
  108.     #define write2(ptr,len,n,stream) (fputc((*(ptr))&255,stream),fputc((*(ptr))>>8,stream),1)
  109.     #define rand15() (rand()&0x7FFF)
  110.  
  111. #else
  112. #ifdef unix            /* AT&T 7300 (Unix PC) */
  113.     #include "unix.h"
  114.  
  115.     typedef unsigned char  U8;
  116.     typedef char           S8;
  117.     typedef unsigned short U16;
  118.     typedef short          S16;
  119.     typedef long           U32;    /* May cause some problems */
  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 LOBYTEFIRST    1
  136.     #define SLASHC         '/'
  137.     #define SLASH          "/"
  138.     #define SLASHSLASH     "//"
  139.     #define SLASHDOT       "/."
  140.     #define DOTSLASH       "./"
  141.     #define DOTDOTSLASH    "../"
  142.     #define READMODE    "r"
  143.     #define WRITEMODE    "w"
  144.  
  145.     #define write1(ptr,len,n,stream) (fputc(*(ptr),stream),1)
  146.     #define write2(ptr,len,n,stream) (fputc((*(ptr))&255,stream),fputc((*(ptr))>>8,stream),1)
  147.     #define rand15() (rand()&0x7FFF)
  148.  
  149. #endif
  150. #endif
  151. #endif
  152. #endif
  153.  
  154. #ifdef LOBYTEFIRST
  155. #define GET16(c,i)        (i)=*((U16*)(&(c)))
  156. #else
  157. #define GET16(c,i)        (i)=(c)+(*((char*)&(c)+1))<<8
  158. #endif
  159.  
  160. #endif    /* PORT_H */
  161.