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.

60 lines
1.5 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. ntnls.h
  5. Abstract:
  6. NLS file formats and data types
  7. Author:
  8. Mark Lucovsky (markl) 09-Nov-1992
  9. Revision History:
  10. --*/
  11. #ifndef _NTNLS_
  12. #define _NTNLS_
  13. #if _MSC_VER > 1000
  14. #pragma once
  15. #endif
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. #define MAXIMUM_LEADBYTES 12
  20. typedef struct _CPTABLEINFO {
  21. USHORT CodePage; // code page number
  22. USHORT MaximumCharacterSize; // max length (bytes) of a char
  23. USHORT DefaultChar; // default character (MB)
  24. USHORT UniDefaultChar; // default character (Unicode)
  25. USHORT TransDefaultChar; // translation of default char (Unicode)
  26. USHORT TransUniDefaultChar; // translation of Unic default char (MB)
  27. USHORT DBCSCodePage; // Non 0 for DBCS code pages
  28. UCHAR LeadByte[MAXIMUM_LEADBYTES]; // lead byte ranges
  29. PUSHORT MultiByteTable; // pointer to MB translation table
  30. PVOID WideCharTable; // pointer to WC translation table
  31. PUSHORT DBCSRanges; // pointer to DBCS ranges
  32. PUSHORT DBCSOffsets; // pointer to DBCS offsets
  33. } CPTABLEINFO, *PCPTABLEINFO;
  34. typedef struct _NLSTABLEINFO {
  35. CPTABLEINFO OemTableInfo;
  36. CPTABLEINFO AnsiTableInfo;
  37. PUSHORT UpperCaseTable; // 844 format upcase table
  38. PUSHORT LowerCaseTable; // 844 format lower case table
  39. } NLSTABLEINFO, *PNLSTABLEINFO;
  40. #ifdef __cplusplus
  41. }
  42. #endif
  43. #endif // _NTNLS_