home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Aktief 1995 #6 / CDA_6.iso / shell / utils / disked29.arj / SOURCE.ZIP / GENERAL.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-08  |  2.8 KB  |  121 lines

  1. /***
  2. *general.h - definitions/declarations for general C programs
  3. *
  4. *for Public Domain, 1995, Gregg Jennings.  All wrongs reserved.
  5. *   P O Box 200, Falmouth, MA 02541-0200
  6. *
  7. *Purpose:
  8. *   Compiler specifics.
  9. *
  10. *Notice:
  11. *   This source file may be freely used and distributed without restriction.
  12. *******************************************************************************/
  13.  
  14. /*
  15.  
  16.    Versions
  17.  
  18.    This will change very often (the more compiler testing
  19.    I do, ...).
  20.  
  21.    Notes:   I like the use of leading underscores for all
  22.             non-ANSI library functions and typedefs.  Only
  23.             CL 7.00+ adheres to this "standard".
  24.  
  25. */
  26.  
  27.  
  28. #ifndef GENERAL_H
  29. #define GENERAL_H
  30.  
  31.  
  32. /* compiler dependencies -- see ALLOC.H for more */
  33.  
  34. #if defined(_MSC_VER)
  35.  
  36.  #if defined(M_I86LM) || defined(M_I86CM)       /* determine memory model */
  37.   #define __LARGE__                             /* (easier to remember) */
  38.  #endif
  39.  
  40.  #if _MSC_VER >= 600
  41.   #define _ASM_DEFINED
  42.  #endif
  43.  
  44.  #if _MSC_VER < 700
  45.   #define __far    _far
  46.   #define __huge   _huge
  47.   #define _MK_FP(seg, offset) (void __far *)(((unsigned long)seg << 16) \
  48.     + (unsigned long)(unsigned)offset)
  49.  #endif
  50.  
  51. #elif defined(__BORLANDC__) || defined(__TURBOC__)
  52.  
  53.  #if !defined(__BORLANDC__)
  54.   #define __BORLANDC__  __TURBOC__              /* stupid Turbo C! */
  55.  #endif
  56.  
  57. #endif
  58.  
  59.  
  60. #if (defined(_MSC_VER) && (_MSC_VER < 700)) || !defined(_MSC_VER)
  61.  
  62.  #ifndef __WATCOMC__
  63.    #define _ASM_DEFINED
  64.  #endif
  65.  #define __inline
  66.  #define _chdir      chdir
  67.  #define _getcwd     getcwd
  68.  #define _intdos     intdos
  69.  #define _intdosx    intdosx
  70.  #define _int86      int86
  71.  #define _int86x     int86x
  72.  #define _segread    segread
  73.  #ifndef _FP_OFF
  74.    #define _FP_OFF     FP_OFF
  75.    #define _FP_SEG     FP_SEG
  76.  #endif
  77.  #ifndef _MK_FP
  78.    #define _MK_FP(seg, offset) (void __far *)(((unsigned long)seg << 16) \
  79.     + (unsigned long)(unsigned)offset)
  80.  #endif
  81.  #define _REGS       REGS
  82.  #define _SREGS      SREGS
  83.  #define _access     access
  84.  #define _file_t     file_t
  85.  #define _find_t     find_t
  86.  #define _diskfree_t diskfree_t
  87.  #define _open       open
  88.  #define _write      write
  89.  #define _read       read
  90.  #define _close      close
  91.  #define _filelength filelength
  92.  #define _O_RDONLY   O_RDONLY
  93.  #define _O_BINARY   O_BINARY
  94.  #define _O_CREAT    O_CREAT
  95.  #define _O_TRUNC    O_TRUNC
  96.  #define _O_RDWR     O_RDWR
  97.  #define _S_IWRITE   S_IWRITE
  98.  #define _S_IREAD    S_IREAD
  99.  
  100. #endif
  101.  
  102. #define OK    1
  103. #define FALSE 0
  104. #define TRUE  1
  105. #define ERROR (-1)
  106. #define ABORT (-2)
  107. #define ESC   0x1b
  108.  
  109.  
  110. /*
  111.    These are for (potentially) moving to a 32-bit compiler.
  112.    word will then have to be unsigned short (if done now,
  113.    there will be many "integral mismatch" warnings).
  114. */
  115.  
  116. typedef unsigned char byte;
  117. typedef unsigned int word;
  118. typedef unsigned long dword;
  119.  
  120. #endif
  121.