Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
2.3 KiB

  1. /*
  2. * REFERENCES:
  3. *
  4. * NOTES:
  5. *
  6. * REVISIONS:
  7. * ajr08Mar93: modified to handle unix....
  8. * rct05Nov93: made _Cdecl definition conditional
  9. * dpf24May94: added C_WINDOWS
  10. */
  11. #if !defined( __DEFS_H )
  12. #define __DEFS_H
  13. #ifndef _Cdecl
  14. # if __STDC__
  15. # define _Cdecl
  16. # else
  17. # ifdef __OS2__
  18. # define _Cdecl _stdcall
  19. # else
  20. # define _Cdecl cdecl
  21. # endif
  22. # endif
  23. #endif
  24. #ifndef __PAS__
  25. # define _CType _Cdecl
  26. #else
  27. # define _CType pascal
  28. #endif
  29. #if (C_OS & (C_OS2 | C_NLM | C_UNIX | C_NT ))
  30. # define _FAR
  31. # define _FARFUNC
  32. # define _CLASSTYPE
  33. #elif (C_OS & (C_WIN311 | C_WINDOWS))
  34. # define _FAR far
  35. # define _FARFUNC EXPORT
  36. # define _CLASSTYPE
  37. #else
  38. # if defined(__STDC__)
  39. # define _FAR
  40. # define _FARFUNC
  41. # define _CLASSTYPE
  42. # else
  43. # if defined(_BUILDRTLDLL)
  44. # define _FARFUNC _export
  45. # elif defined(_RTLDLL)
  46. # define _FARFUNC far
  47. # else
  48. # define _FARFUNC
  49. # endif
  50. # if defined(__DLL__)
  51. # if defined(_RTLDLL) || defined(_CLASSDLL)
  52. # define _CLASSTYPE _export
  53. # else
  54. # define _CLASSTYPE far
  55. # endif
  56. # define _FAR far
  57. # elif defined(_RTLDLL) || defined(_CLASSDLL)
  58. # define _CLASSTYPE huge
  59. # define _FAR far
  60. # else
  61. # define _FAR
  62. # if defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__)
  63. # define _CLASSTYPE near
  64. # elif defined(__COMPACT__) || defined(__LARGE__)
  65. # define _CLASSTYPE far
  66. # else
  67. # define _CLASSTYPE huge
  68. # endif
  69. # endif
  70. # endif /* __STDC__ */
  71. #endif /* __OS2__ */
  72. #if defined(_BUILDRTLDLL)
  73. # define _FARCALL _export
  74. #else
  75. # define _FARCALL far
  76. #endif
  77. #if defined( __cplusplus )
  78. # define _PTRDEF(name) typedef name _FAR * P##name;
  79. # define _REFDEF(name) typedef name _FAR & R##name;
  80. # define _REFPTRDEF(name) typedef name _FAR * _FAR & RP##name;
  81. # define _PTRCONSTDEF(name) typedef const name _FAR * PC##name;
  82. # define _REFCONSTDEF(name) typedef const name _FAR & RC##name;
  83. # define _CLASSDEF(name) class _CLASSTYPE name; \
  84. _PTRDEF(name) \
  85. _REFDEF(name) \
  86. _REFPTRDEF(name) \
  87. _PTRCONSTDEF(name) \
  88. _REFCONSTDEF(name)
  89. #endif
  90. #endif /* __DEFS_H */