home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c063 / 1.ddi / INCLUDE.ZIP / _DEFS.H next >
Encoding:
C/C++ Source or Header  |  1992-02-18  |  1.1 KB  |  52 lines

  1. /*  _defs.h
  2.  
  3.     Common definitions for pointer size and calling conventions.
  4.  
  5.     Copyright (c) 1991 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. #if !__STDC__
  25. #  if defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__)
  26. #    define _CLASSTYPE  near
  27. #  elif defined(__COMPACT__) || defined(__LARGE__)
  28. #    define _CLASSTYPE  far
  29. #  else
  30. #    define _CLASSTYPE  huge
  31. #  endif
  32. #endif
  33.  
  34. #define _FAR
  35. #define _FARFUNC
  36.  
  37. #if defined( __cplusplus )
  38. #  define _PTRDEF(name) typedef name * P##name;
  39. #  define _REFDEF(name) typedef name & R##name;
  40. #  define _REFPTRDEF(name) typedef name * & RP##name;
  41. #  define _PTRCONSTDEF(name) typedef const name * PC##name;
  42. #  define _REFCONSTDEF(name) typedef const name & RC##name;
  43. #  define _CLASSDEF(name) class _CLASSTYPE name; \
  44.     _PTRDEF(name) \
  45.     _REFDEF(name) \
  46.     _REFPTRDEF(name) \
  47.     _PTRCONSTDEF(name) \
  48.     _REFCONSTDEF(name)
  49. #endif
  50.  
  51. #endif  /* __DEFS_H */
  52.