Source code of Windows XP (NT5)
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.

90 lines
2.8 KiB

  1. /***
  2. *nlsint.h - national language support internal defintions
  3. *
  4. * Copyright (c) 1991-2001, Microsoft Corporation. All rights reserved.
  5. *
  6. *Purpose:
  7. * Contains internal definitions/declarations for international functions,
  8. * shared between run-time and math libraries, in particular,
  9. * the localized decimal point.
  10. *
  11. * [Internal]
  12. *
  13. *Revision History:
  14. * 10-16-91 ETC Created.
  15. * 11-15-91 JWM Added _PREPUTDECIMAL macro.
  16. * 02-23-93 SKS Update copyright to 1993
  17. * 02-23-93 CFW Added size_t definition for decimal_point_length.
  18. * 09-15-93 CFW Use ANSI conformant "__" names.
  19. * 09-23-93 CFW Fix history tabs.
  20. * 04-08-94 GJF Made declarations of __decimal_point_length and
  21. * __decimal_point conditional on ndef DLL_FOR_WIN32S.
  22. * Also, added conditional include of win32s.h.
  23. * 09-27-94 SKS Change declaration of __decimal_point from char * to
  24. * char [ ], to match CFW's change in misc/nlsdata1.c.
  25. * 02-14-95 CFW Clean up Mac merge.
  26. * 03-29-95 CFW Add error message to internal headers.
  27. * 12-14-95 JWM Add "#pragma once".
  28. * 02-05-97 GJF Cleaned out obsolete support for Win32s. Also,
  29. * detab-ed.
  30. * 12-15-98 GJF Changes for 64-bit size_t.
  31. * 10-06-99 PML Add _W64 modifier to types which are 32 bits in Win32,
  32. * 64 bits in Win64.
  33. *
  34. ****/
  35. #if _MSC_VER > 1000 /*IFSTRIP=IGN*/
  36. #pragma once
  37. #endif
  38. #ifndef _INC_NLSINT
  39. #define _INC_NLSINT
  40. #ifndef _CRTBLD
  41. /*
  42. * This is an internal C runtime header file. It is used when building
  43. * the C runtimes only. It is not to be used as a public header file.
  44. */
  45. #error ERROR: Use of C runtime library internal header file.
  46. #endif /* _CRTBLD */
  47. #ifdef __cplusplus
  48. extern "C" {
  49. #endif
  50. #if !defined(_W64)
  51. #if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 /*IFSTRIP=IGN*/
  52. #define _W64 __w64
  53. #else
  54. #define _W64
  55. #endif
  56. #endif
  57. #ifndef _SIZE_T_DEFINED
  58. #ifdef _WIN64
  59. typedef unsigned __int64 size_t;
  60. #else
  61. typedef _W64 unsigned int size_t;
  62. #endif
  63. #define _SIZE_T_DEFINED
  64. #endif
  65. /*
  66. * Definitions for a localized decimal point.
  67. * Currently, run-times only support a single character decimal point.
  68. */
  69. #define ___decimal_point __decimal_point
  70. extern char __decimal_point[]; /* localized decimal point string */
  71. #define ___decimal_point_length __decimal_point_length
  72. extern size_t __decimal_point_length; /* not including terminating null */
  73. #define _ISDECIMAL(p) (*(p) == *___decimal_point)
  74. #define _PUTDECIMAL(p) (*(p)++ = *___decimal_point)
  75. #define _PREPUTDECIMAL(p) (*(++p) = *___decimal_point)
  76. #ifdef __cplusplus
  77. }
  78. #endif
  79. #endif /* _INC_NLSINT */