home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / _defs.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  3KB  |  101 lines

  1. /*  _defs.h
  2.  
  3.     Common definitions for pointer size and calling conventions.
  4.  
  5.     Calling conventions:
  6.     _RTLENTRY       Specifies the calling convention used by the RTL
  7.  
  8.     _USERENTRY      Specifies the calling convention the RTL expects user
  9.                     compiled functions to use (for callbacks)
  10.  
  11.     Export (and size for DOS) information:
  12.     _EXPCLASS       Exports class if building DLL version of library
  13.                     For DOS16 also provides size information
  14.  
  15.     _EXPDATA        Exports data if building DLL version of library
  16.  
  17.     _EXPFUNC        Exports function if building DLL version of library
  18.                     For DOS16 also provides size information
  19.  
  20.     _FAR            Promotes data pointers to far in DLLs (DOS16 only)
  21.  
  22.     Obsolete versions:
  23.     _Cdecl          Use _RTLENTRY
  24.     _CLASSTYPE      Use _EXPCLASS
  25.     _FARFUNC        Use _EXPFUNC
  26.     _FARCALL        Use _EXPFUNC and declare function explicity __far
  27. */
  28.  
  29. /*
  30.  *      C/C++ Run Time Library - Version 10.0
  31.  *
  32.  *      Copyright (c) 1991, 2000 by Inprise Corporation
  33.  *      All Rights Reserved.
  34.  *
  35.  */
  36.  
  37. /* $Revision:   9.4  $ */
  38.  
  39. #ifndef ___DEFS_H
  40. #define ___DEFS_H
  41.  
  42. #define _RTLENTRY  __cdecl
  43. #define _USERENTRY __cdecl
  44.  
  45. #if defined(__PAS__)
  46. #    define _RTLENTRYF  __pascal
  47. #    define _USERENTRYF __pascal
  48. #else
  49. #    define _RTLENTRYF  _RTLENTRY
  50. #    define _USERENTRYF _USERENTRY
  51. #endif
  52.  
  53. #define _FAR
  54. #if defined(_BUILDRTLDLL)
  55. #    define _EXPCLASS  __export
  56. #    define _EXPDATA   __export
  57. #    define _EXPFUNC   __export
  58. #    define _RWSTDBUILDDLL
  59. #elif defined(_RTLDLL)
  60. #    define _EXPCLASS  __import
  61. #    define _EXPDATA   __import
  62. #    define _EXPFUNC
  63. #    define _RWSTDDLL
  64. #else
  65. #    define _EXPCLASS
  66. #    define _EXPDATA
  67. #    define _EXPFUNC
  68. #endif
  69.  
  70.  
  71. #define _EXPFUNC32  _EXPFUNC
  72. #define _EXPFUNC16
  73.  
  74.  
  75. #define _Cdecl      _RTLENTRY
  76. #define _CType      _RTLENTRYF
  77. #define _CLASSTYPE  _EXPCLASS
  78. #define _FARFUNC    _EXPFUNC
  79. #define _FARCALL    _EXPFUNC __far
  80.  
  81.  
  82. #if defined(__cplusplus)
  83. #   define _PTRDEF(name) typedef name _FAR * P##name;
  84. #   define _REFDEF(name) typedef name _FAR & R##name;
  85. #   define _REFPTRDEF(name) typedef name _FAR * _FAR & RP##name;
  86. #   define _PTRCONSTDEF(name) typedef const name _FAR * PC##name;
  87. #   define _REFCONSTDEF(name) typedef const name _FAR & RC##name;
  88.  
  89. #if 0
  90. /*********** Obsolete definitions for OWL 1.0 *************/
  91. #   define _CLASSDEF(name) class _EXPCLASS name; \
  92.            _PTRDEF(name) \
  93.            _REFDEF(name) \
  94.            _REFPTRDEF(name) \
  95.            _PTRCONSTDEF(name) \
  96.            _REFCONSTDEF(name)
  97. #endif /* 0 */
  98. #endif
  99.  
  100. #endif  /* ___DEFS_H */
  101.