home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c082_144 / 1.ddi / INCLUDE.ZIP / _DEFS.H next >
Encoding:
C/C++ Source or Header  |  1992-06-10  |  2.2 KB  |  105 lines

  1. /*  _defs.h
  2.  
  3.     Common definitions for pointer size and calling conventions.
  4.  
  5.     Copyright (c) 1991, 1992 by Borland International
  6.     All Rights Reserved.
  7. */
  8.  
  9. #if !defined(___DEFS_H)
  10. #define ___DEFS_H
  11.  
  12. #if __STDC__
  13. #  define _Cdecl
  14. #else
  15. #  define _Cdecl  cdecl
  16. #endif
  17.  
  18. #ifndef __PAS__
  19. #  define _CType _Cdecl
  20. #else
  21. #  define _CType pascal
  22. #endif
  23.  
  24. #ifdef __MSC
  25. #  define _emit db
  26. #  define __far _far
  27. #  define __near _near
  28. #  define __cdecl _cdecl
  29. #  define __pascal _pascal
  30. #  define __export _export
  31. #  ifdef __SMALL__
  32. #    define _M_I86SM
  33. #  endif
  34. #  ifdef __COMPACT__
  35. #    define _M_I86CM
  36. #  endif
  37. #  ifdef __MEDIUM__
  38. #    define _M_I86MM
  39. #  endif
  40. #  ifdef __LARGE__
  41. #    define _M_I86LM
  42. #  endif
  43. #  ifndef _Windows
  44. #    define _DOS
  45. #  else
  46. #    define _WINDOWS
  47. #  endif
  48. #endif
  49.  
  50. #if defined(__STDC__)
  51. #  define _FAR
  52. #  define _FARFUNC
  53. #  define _CLASSTYPE
  54. #else
  55. #  if defined(_BUILDRTLDLL)
  56. #    define _FARFUNC _export
  57. #  elif defined(_RTLDLL)
  58. #    define _FARFUNC far
  59. #  else
  60. #    define _FARFUNC
  61. #  endif
  62. #  if defined(__DLL__)
  63. #    if defined(_RTLDLL) || defined(_CLASSDLL)
  64. #      define _CLASSTYPE _export
  65. #    else
  66. #      define _CLASSTYPE far
  67. #    endif
  68. #    define _FAR far
  69. #  elif defined(_RTLDLL) || defined(_CLASSDLL)
  70. #    define _CLASSTYPE huge
  71. #    define _FAR far
  72. #  else
  73. #    define _FAR
  74. #    if   defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__)
  75. #      define _CLASSTYPE  near
  76. #    elif defined(__COMPACT__) || defined(__LARGE__)
  77. #      define _CLASSTYPE  far
  78. #    else
  79. #      define _CLASSTYPE  huge
  80. #    endif
  81. #  endif
  82. #endif    /* __STDC__ */
  83.  
  84. #if defined(_BUILDRTLDLL)
  85. #  define _FARCALL _export
  86. #else
  87. #  define _FARCALL far
  88. #endif
  89.  
  90. #if defined( __cplusplus )
  91. #  define _PTRDEF(name) typedef name _FAR * P##name;
  92. #  define _REFDEF(name) typedef name _FAR & R##name;
  93. #  define _REFPTRDEF(name) typedef name _FAR * _FAR & RP##name;
  94. #  define _PTRCONSTDEF(name) typedef const name _FAR * PC##name;
  95. #  define _REFCONSTDEF(name) typedef const name _FAR & RC##name;
  96. #  define _CLASSDEF(name) class _CLASSTYPE name; \
  97.         _PTRDEF(name) \
  98.     _REFDEF(name) \
  99.     _REFPTRDEF(name) \
  100.     _PTRCONSTDEF(name) \
  101.     _REFCONSTDEF(name)
  102. #endif
  103.  
  104. #endif  /* ___DEFS_H */
  105.