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.

53 lines
1.4 KiB

  1. /* INTERN.h
  2. *
  3. * Copyright (c) 1991-2001, Larry Wall
  4. *
  5. * You may distribute under the terms of either the GNU General Public
  6. * License or the Artistic License, as specified in the README file.
  7. *
  8. */
  9. /*
  10. * EXT designates a global var which is defined in perl.h
  11. * dEXT designates a global var which is defined in another
  12. * file, so we can't count on finding it in perl.h
  13. * (this practice should be avoided).
  14. */
  15. #undef EXT
  16. #undef dEXT
  17. #undef EXTCONST
  18. #undef dEXTCONST
  19. #if defined(VMS) && !defined(__GNUC__)
  20. /* Suppress portability warnings from DECC for VMS-specific extensions */
  21. # ifdef __DECC
  22. # pragma message disable (GLOBALEXT,NOSHAREEXT,READONLYEXT)
  23. # endif
  24. # define EXT globaldef {"$GLOBAL_RW_VARS"} noshare
  25. # define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
  26. # define EXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
  27. # define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
  28. #else
  29. #if defined(WIN32) && defined(__MINGW32__)
  30. # define EXT __declspec(dllexport)
  31. # define dEXT
  32. # define EXTCONST __declspec(dllexport) const
  33. # define dEXTCONST const
  34. #else
  35. #ifdef __cplusplus
  36. # define EXT
  37. # define dEXT
  38. # define EXTCONST extern const
  39. # define dEXTCONST const
  40. #else
  41. # define EXT
  42. # define dEXT
  43. # define EXTCONST const
  44. # define dEXTCONST const
  45. #endif
  46. #endif
  47. #endif
  48. #undef INIT
  49. #define INIT(x) = x
  50. #define DOINIT