Artifact Content

Not logged in

Artifact 50bd587780b74515b5d1751f9bebbc80df1b67f5


     1  module win32.winnls;
     2  
     3  // Translated from Microsoft Platform SDK August 2001 Edition
     4  // by Y.Tomino
     5  
     6  import win32.windef;
     7  import win32.winbase;
     8  
     9  // #ifndef _WINNLS_
    10  // #define _WINNLS_
    11  
    12  // #ifdef __cplusplus
    13  // extern "C" {
    14  // #endif
    15  
    16  // #ifndef NONLS
    17  
    18  // #ifdef _MAC
    19  // #...
    20  // #endif
    21  
    22  enum : uint { MAX_LEADBYTES = 12 }
    23  enum : uint { MAX_DEFAULTCHAR = 2 }
    24  
    25  enum : uint { MB_PRECOMPOSED = 0x00000001 }
    26  enum : uint { MB_COMPOSITE = 0x00000002 }
    27  enum : uint { MB_USEGLYPHCHARS = 0x00000004 }
    28  enum : uint { MB_ERR_INVALID_CHARS = 0x00000008 }
    29  
    30  enum : uint { WC_COMPOSITECHECK = 0x00000200 }
    31  enum : uint { WC_DISCARDNS = 0x00000010 }
    32  enum : uint { WC_SEPCHARS = 0x00000020 }
    33  enum : uint { WC_DEFAULTCHAR = 0x00000040 }
    34  
    35  // #if(WINVER >= 0x0500)
    36  enum : uint { WC_NO_BEST_FIT_CHARS = 0x00000400 }
    37  // #endif /* WINVER >= 0x0500 */
    38  
    39  enum : uint { CT_CTYPE1 = 0x00000001 }
    40  enum : uint { CT_CTYPE2 = 0x00000002 }
    41  enum : uint { CT_CTYPE3 = 0x00000004 }
    42  
    43  enum : uint { C1_UPPER = 0x0001 }
    44  enum : uint { C1_LOWER = 0x0002 }
    45  enum : uint { C1_DIGIT = 0x0004 }
    46  enum : uint { C1_SPACE = 0x0008 }
    47  enum : uint { C1_PUNCT = 0x0010 }
    48  enum : uint { C1_CNTRL = 0x0020 }
    49  enum : uint { C1_BLANK = 0x0040 }
    50  enum : uint { C1_XDIGIT = 0x0080 }
    51  enum : uint { C1_ALPHA = 0x0100 }
    52  enum : uint { C1_DEFINED = 0x0200 }
    53  
    54  enum : uint { C2_LEFTTORIGHT = 0x0001 }
    55  enum : uint { C2_RIGHTTOLEFT = 0x0002 }
    56  
    57  enum : uint { C2_EUROPENUMBER = 0x0003 }
    58  enum : uint { C2_EUROPESEPARATOR = 0x0004 }
    59  enum : uint { C2_EUROPETERMINATOR = 0x0005 }
    60  enum : uint { C2_ARABICNUMBER = 0x0006 }
    61  enum : uint { C2_COMMONSEPARATOR = 0x0007 }
    62  
    63  enum : uint { C2_BLOCKSEPARATOR = 0x0008 }
    64  enum : uint { C2_SEGMENTSEPARATOR = 0x0009 }
    65  enum : uint { C2_WHITESPACE = 0x000A }
    66  enum : uint { C2_OTHERNEUTRAL = 0x000B }
    67  
    68  enum : uint { C2_NOTAPPLICABLE = 0x0000 }
    69  
    70  enum : uint { C3_NONSPACING = 0x0001 }
    71  enum : uint { C3_DIACRITIC = 0x0002 }
    72  enum : uint { C3_VOWELMARK = 0x0004 }
    73  enum : uint { C3_SYMBOL = 0x0008 }
    74  
    75  enum : uint { C3_KATAKANA = 0x0010 }
    76  enum : uint { C3_HIRAGANA = 0x0020 }
    77  enum : uint { C3_HALFWIDTH = 0x0040 }
    78  enum : uint { C3_FULLWIDTH = 0x0080 }
    79  enum : uint { C3_IDEOGRAPH = 0x0100 }
    80  enum : uint { C3_KASHIDA = 0x0200 }
    81  enum : uint { C3_LEXICAL = 0x0400 }
    82  
    83  enum : uint { C3_ALPHA = 0x8000 }
    84  
    85  enum : uint { C3_NOTAPPLICABLE = 0x0000 }
    86  
    87  enum : uint { NORM_IGNORECASE = 0x00000001 }
    88  enum : uint { NORM_IGNORENONSPACE = 0x00000002 }
    89  enum : uint { NORM_IGNORESYMBOLS = 0x00000004 }
    90  
    91  enum : uint { NORM_IGNOREKANATYPE = 0x00010000 }
    92  enum : uint { NORM_IGNOREWIDTH = 0x00020000 }
    93  
    94  enum : uint { MAP_FOLDCZONE = 0x00000010 }
    95  enum : uint { MAP_PRECOMPOSED = 0x00000020 }
    96  enum : uint { MAP_COMPOSITE = 0x00000040 }
    97  enum : uint { MAP_FOLDDIGITS = 0x00000080 }
    98  
    99  // #if(WINVER >= 0x0500)
   100  enum : uint { MAP_EXPAND_LIGATURES = 0x00002000 }
   101  // #endif /* WINVER >= 0x0500 */
   102  
   103  enum : uint { LCMAP_LOWERCASE = 0x00000100 }
   104  enum : uint { LCMAP_UPPERCASE = 0x00000200 }
   105  enum : uint { LCMAP_SORTKEY = 0x00000400 }
   106  enum : uint { LCMAP_BYTEREV = 0x00000800 }
   107  
   108  enum : uint { LCMAP_HIRAGANA = 0x00100000 }
   109  enum : uint { LCMAP_KATAKANA = 0x00200000 }
   110  enum : uint { LCMAP_HALFWIDTH = 0x00400000 }
   111  enum : uint { LCMAP_FULLWIDTH = 0x00800000 }
   112  
   113  enum : uint { LCMAP_LINGUISTIC_CASING = 0x01000000 }
   114  
   115  enum : uint { LCMAP_SIMPLIFIED_CHINESE = 0x02000000 }
   116  enum : uint { LCMAP_TRADITIONAL_CHINESE = 0x04000000 }
   117  
   118  enum : uint { LGRPID_INSTALLED = 0x00000001 }
   119  enum : uint { LGRPID_SUPPORTED = 0x00000002 }
   120  
   121  enum : uint { LCID_INSTALLED = 0x00000001 }
   122  enum : uint { LCID_SUPPORTED = 0x00000002 }
   123  enum : uint { LCID_ALTERNATE_SORTS = 0x00000004 }
   124  
   125  enum : uint { CP_INSTALLED = 0x00000001 }
   126  enum : uint { CP_SUPPORTED = 0x00000002 }
   127  
   128  enum : uint { SORT_STRINGSORT = 0x00001000 }
   129  
   130  enum : uint { CSTR_LESS_THAN = 1 }
   131  enum : uint { CSTR_EQUAL = 2 }
   132  enum : uint { CSTR_GREATER_THAN = 3 }
   133  
   134  enum : uint { CP_ACP = 0 }
   135  enum : uint { CP_OEMCP = 1 }
   136  enum : uint { CP_MACCP = 2 }
   137  enum : uint { CP_THREAD_ACP = 3 }
   138  enum : uint { CP_SYMBOL = 42 }
   139  
   140  enum : uint { CP_UTF7 = 65000 }
   141  enum : uint { CP_UTF8 = 65001 }
   142  
   143  enum : uint { CTRY_DEFAULT = 0 }
   144  
   145  enum : uint { CTRY_ALBANIA = 355 }
   146  enum : uint { CTRY_ALGERIA = 213 }
   147  enum : uint { CTRY_ARGENTINA = 54 }
   148  enum : uint { CTRY_ARMENIA = 374 }
   149  enum : uint { CTRY_AUSTRALIA = 61 }
   150  enum : uint { CTRY_AUSTRIA = 43 }
   151  enum : uint { CTRY_AZERBAIJAN = 994 }
   152  enum : uint { CTRY_BAHRAIN = 973 }
   153  enum : uint { CTRY_BELARUS = 375 }
   154  enum : uint { CTRY_BELGIUM = 32 }
   155  enum : uint { CTRY_BELIZE = 501 }
   156  enum : uint { CTRY_BOLIVIA = 591 }
   157  enum : uint { CTRY_BRAZIL = 55 }
   158  enum : uint { CTRY_BRUNEI_DARUSSALAM = 673 }
   159  enum : uint { CTRY_BULGARIA = 359 }
   160  enum : uint { CTRY_CANADA = 2 }
   161  enum : uint { CTRY_CARIBBEAN = 1 }
   162  enum : uint { CTRY_CHILE = 56 }
   163  enum : uint { CTRY_COLOMBIA = 57 }
   164  enum : uint { CTRY_COSTA_RICA = 506 }
   165  enum : uint { CTRY_CROATIA = 385 }
   166  enum : uint { CTRY_CZECH = 420 }
   167  enum : uint { CTRY_DENMARK = 45 }
   168  enum : uint { CTRY_DOMINICAN_REPUBLIC = 1 }
   169  enum : uint { CTRY_ECUADOR = 593 }
   170  enum : uint { CTRY_EGYPT = 20 }
   171  enum : uint { CTRY_EL_SALVADOR = 503 }
   172  enum : uint { CTRY_ESTONIA = 372 }
   173  enum : uint { CTRY_FAEROE_ISLANDS = 298 }
   174  enum : uint { CTRY_FINLAND = 358 }
   175  enum : uint { CTRY_FRANCE = 33 }
   176  enum : uint { CTRY_GEORGIA = 995 }
   177  enum : uint { CTRY_GERMANY = 49 }
   178  enum : uint { CTRY_GREECE = 30 }
   179  enum : uint { CTRY_GUATEMALA = 502 }
   180  enum : uint { CTRY_HONDURAS = 504 }
   181  enum : uint { CTRY_HONG_KONG = 852 }
   182  enum : uint { CTRY_HUNGARY = 36 }
   183  enum : uint { CTRY_ICELAND = 354 }
   184  enum : uint { CTRY_INDIA = 91 }
   185  enum : uint { CTRY_INDONESIA = 62 }
   186  enum : uint { CTRY_IRAN = 981 }
   187  enum : uint { CTRY_IRAQ = 964 }
   188  enum : uint { CTRY_IRELAND = 353 }
   189  enum : uint { CTRY_ISRAEL = 972 }
   190  enum : uint { CTRY_ITALY = 39 }
   191  enum : uint { CTRY_JAMAICA = 1 }
   192  enum : uint { CTRY_JAPAN = 81 }
   193  enum : uint { CTRY_JORDAN = 962 }
   194  enum : uint { CTRY_KAZAKSTAN = 7 }
   195  enum : uint { CTRY_KENYA = 254 }
   196  enum : uint { CTRY_KUWAIT = 965 }
   197  enum : uint { CTRY_KYRGYZSTAN = 996 }
   198  enum : uint { CTRY_LATVIA = 371 }
   199  enum : uint { CTRY_LEBANON = 961 }
   200  enum : uint { CTRY_LIBYA = 218 }
   201  enum : uint { CTRY_LIECHTENSTEIN = 41 }
   202  enum : uint { CTRY_LITHUANIA = 370 }
   203  enum : uint { CTRY_LUXEMBOURG = 352 }
   204  enum : uint { CTRY_MACAU = 853 }
   205  enum : uint { CTRY_MACEDONIA = 389 }
   206  enum : uint { CTRY_MALAYSIA = 60 }
   207  enum : uint { CTRY_MALDIVES = 960 }
   208  enum : uint { CTRY_MEXICO = 52 }
   209  enum : uint { CTRY_MONACO = 33 }
   210  enum : uint { CTRY_MONGOLIA = 976 }
   211  enum : uint { CTRY_MOROCCO = 212 }
   212  enum : uint { CTRY_NETHERLANDS = 31 }
   213  enum : uint { CTRY_NEW_ZEALAND = 64 }
   214  enum : uint { CTRY_NICARAGUA = 505 }
   215  enum : uint { CTRY_NORWAY = 47 }
   216  enum : uint { CTRY_OMAN = 968 }
   217  enum : uint { CTRY_PAKISTAN = 92 }
   218  enum : uint { CTRY_PANAMA = 507 }
   219  enum : uint { CTRY_PARAGUAY = 595 }
   220  enum : uint { CTRY_PERU = 51 }
   221  enum : uint { CTRY_PHILIPPINES = 63 }
   222  enum : uint { CTRY_POLAND = 48 }
   223  enum : uint { CTRY_PORTUGAL = 351 }
   224  enum : uint { CTRY_PRCHINA = 86 }
   225  enum : uint { CTRY_PUERTO_RICO = 1 }
   226  enum : uint { CTRY_QATAR = 974 }
   227  enum : uint { CTRY_ROMANIA = 40 }
   228  enum : uint { CTRY_RUSSIA = 7 }
   229  enum : uint { CTRY_SAUDI_ARABIA = 966 }
   230  enum : uint { CTRY_SERBIA = 381 }
   231  enum : uint { CTRY_SINGAPORE = 65 }
   232  enum : uint { CTRY_SLOVAK = 421 }
   233  enum : uint { CTRY_SLOVENIA = 386 }
   234  enum : uint { CTRY_SOUTH_AFRICA = 27 }
   235  enum : uint { CTRY_SOUTH_KOREA = 82 }
   236  enum : uint { CTRY_SPAIN = 34 }
   237  enum : uint { CTRY_SWEDEN = 46 }
   238  enum : uint { CTRY_SWITZERLAND = 41 }
   239  enum : uint { CTRY_SYRIA = 963 }
   240  enum : uint { CTRY_TAIWAN = 886 }
   241  enum : uint { CTRY_TATARSTAN = 7 }
   242  enum : uint { CTRY_THAILAND = 66 }
   243  enum : uint { CTRY_TRINIDAD_Y_TOBAGO = 1 }
   244  enum : uint { CTRY_TUNISIA = 216 }
   245  enum : uint { CTRY_TURKEY = 90 }
   246  enum : uint { CTRY_UAE = 971 }
   247  enum : uint { CTRY_UKRAINE = 380 }
   248  enum : uint { CTRY_UNITED_KINGDOM = 44 }
   249  enum : uint { CTRY_UNITED_STATES = 1 }
   250  enum : uint { CTRY_URUGUAY = 598 }
   251  enum : uint { CTRY_UZBEKISTAN = 7 }
   252  enum : uint { CTRY_VENEZUELA = 58 }
   253  enum : uint { CTRY_VIET_NAM = 84 }
   254  enum : uint { CTRY_YEMEN = 967 }
   255  enum : uint { CTRY_ZIMBABWE = 263 }
   256  
   257  enum : uint { LOCALE_NOUSEROVERRIDE = 0x80000000 }
   258  enum : uint { LOCALE_USE_CP_ACP = 0x40000000 }
   259  
   260  // #if(WINVER >= 0x0400)
   261  enum : uint { LOCALE_RETURN_NUMBER = 0x20000000 }
   262  // #endif /* WINVER >= 0x0400 */
   263  
   264  enum : uint { LOCALE_ILANGUAGE = 0x00000001 }
   265  enum : uint { LOCALE_SLANGUAGE = 0x00000002 }
   266  enum : uint { LOCALE_SENGLANGUAGE = 0x00001001 }
   267  enum : uint { LOCALE_SABBREVLANGNAME = 0x00000003 }
   268  enum : uint { LOCALE_SNATIVELANGNAME = 0x00000004 }
   269  
   270  enum : uint { LOCALE_ICOUNTRY = 0x00000005 }
   271  enum : uint { LOCALE_SCOUNTRY = 0x00000006 }
   272  enum : uint { LOCALE_SENGCOUNTRY = 0x00001002 }
   273  enum : uint { LOCALE_SABBREVCTRYNAME = 0x00000007 }
   274  enum : uint { LOCALE_SNATIVECTRYNAME = 0x00000008 }
   275  
   276  enum : uint { LOCALE_IDEFAULTLANGUAGE = 0x00000009 }
   277  enum : uint { LOCALE_IDEFAULTCOUNTRY = 0x0000000A }
   278  enum : uint { LOCALE_IDEFAULTCODEPAGE = 0x0000000B }
   279  enum : uint { LOCALE_IDEFAULTANSICODEPAGE = 0x00001004 }
   280  enum : uint { LOCALE_IDEFAULTMACCODEPAGE = 0x00001011 }
   281  
   282  enum : uint { LOCALE_SLIST = 0x0000000C }
   283  enum : uint { LOCALE_IMEASURE = 0x0000000D }
   284  
   285  enum : uint { LOCALE_SDECIMAL = 0x0000000E }
   286  enum : uint { LOCALE_STHOUSAND = 0x0000000F }
   287  enum : uint { LOCALE_SGROUPING = 0x00000010 }
   288  enum : uint { LOCALE_IDIGITS = 0x00000011 }
   289  enum : uint { LOCALE_ILZERO = 0x00000012 }
   290  enum : uint { LOCALE_INEGNUMBER = 0x00001010 }
   291  enum : uint { LOCALE_SNATIVEDIGITS = 0x00000013 }
   292  
   293  enum : uint { LOCALE_SCURRENCY = 0x00000014 }
   294  enum : uint { LOCALE_SINTLSYMBOL = 0x00000015 }
   295  enum : uint { LOCALE_SMONDECIMALSEP = 0x00000016 }
   296  enum : uint { LOCALE_SMONTHOUSANDSEP = 0x00000017 }
   297  enum : uint { LOCALE_SMONGROUPING = 0x00000018 }
   298  enum : uint { LOCALE_ICURRDIGITS = 0x00000019 }
   299  enum : uint { LOCALE_IINTLCURRDIGITS = 0x0000001A }
   300  enum : uint { LOCALE_ICURRENCY = 0x0000001B }
   301  enum : uint { LOCALE_INEGCURR = 0x0000001C }
   302  
   303  enum : uint { LOCALE_SDATE = 0x0000001D }
   304  enum : uint { LOCALE_STIME = 0x0000001E }
   305  enum : uint { LOCALE_SSHORTDATE = 0x0000001F }
   306  enum : uint { LOCALE_SLONGDATE = 0x00000020 }
   307  enum : uint { LOCALE_STIMEFORMAT = 0x00001003 }
   308  enum : uint { LOCALE_IDATE = 0x00000021 }
   309  enum : uint { LOCALE_ILDATE = 0x00000022 }
   310  enum : uint { LOCALE_ITIME = 0x00000023 }
   311  enum : uint { LOCALE_ITIMEMARKPOSN = 0x00001005 }
   312  enum : uint { LOCALE_ICENTURY = 0x00000024 }
   313  enum : uint { LOCALE_ITLZERO = 0x00000025 }
   314  enum : uint { LOCALE_IDAYLZERO = 0x00000026 }
   315  enum : uint { LOCALE_IMONLZERO = 0x00000027 }
   316  enum : uint { LOCALE_S1159 = 0x00000028 }
   317  enum : uint { LOCALE_S2359 = 0x00000029 }
   318  
   319  enum : uint { LOCALE_ICALENDARTYPE = 0x00001009 }
   320  enum : uint { LOCALE_IOPTIONALCALENDAR = 0x0000100B }
   321  enum : uint { LOCALE_IFIRSTDAYOFWEEK = 0x0000100C }
   322  enum : uint { LOCALE_IFIRSTWEEKOFYEAR = 0x0000100D }
   323  
   324  enum : uint { LOCALE_SDAYNAME1 = 0x0000002A }
   325  enum : uint { LOCALE_SDAYNAME2 = 0x0000002B }
   326  enum : uint { LOCALE_SDAYNAME3 = 0x0000002C }
   327  enum : uint { LOCALE_SDAYNAME4 = 0x0000002D }
   328  enum : uint { LOCALE_SDAYNAME5 = 0x0000002E }
   329  enum : uint { LOCALE_SDAYNAME6 = 0x0000002F }
   330  enum : uint { LOCALE_SDAYNAME7 = 0x00000030 }
   331  enum : uint { LOCALE_SABBREVDAYNAME1 = 0x00000031 }
   332  enum : uint { LOCALE_SABBREVDAYNAME2 = 0x00000032 }
   333  enum : uint { LOCALE_SABBREVDAYNAME3 = 0x00000033 }
   334  enum : uint { LOCALE_SABBREVDAYNAME4 = 0x00000034 }
   335  enum : uint { LOCALE_SABBREVDAYNAME5 = 0x00000035 }
   336  enum : uint { LOCALE_SABBREVDAYNAME6 = 0x00000036 }
   337  enum : uint { LOCALE_SABBREVDAYNAME7 = 0x00000037 }
   338  enum : uint { LOCALE_SMONTHNAME1 = 0x00000038 }
   339  enum : uint { LOCALE_SMONTHNAME2 = 0x00000039 }
   340  enum : uint { LOCALE_SMONTHNAME3 = 0x0000003A }
   341  enum : uint { LOCALE_SMONTHNAME4 = 0x0000003B }
   342  enum : uint { LOCALE_SMONTHNAME5 = 0x0000003C }
   343  enum : uint { LOCALE_SMONTHNAME6 = 0x0000003D }
   344  enum : uint { LOCALE_SMONTHNAME7 = 0x0000003E }
   345  enum : uint { LOCALE_SMONTHNAME8 = 0x0000003F }
   346  enum : uint { LOCALE_SMONTHNAME9 = 0x00000040 }
   347  enum : uint { LOCALE_SMONTHNAME10 = 0x00000041 }
   348  enum : uint { LOCALE_SMONTHNAME11 = 0x00000042 }
   349  enum : uint { LOCALE_SMONTHNAME12 = 0x00000043 }
   350  enum : uint { LOCALE_SMONTHNAME13 = 0x0000100E }
   351  enum : uint { LOCALE_SABBREVMONTHNAME1 = 0x00000044 }
   352  enum : uint { LOCALE_SABBREVMONTHNAME2 = 0x00000045 }
   353  enum : uint { LOCALE_SABBREVMONTHNAME3 = 0x00000046 }
   354  enum : uint { LOCALE_SABBREVMONTHNAME4 = 0x00000047 }
   355  enum : uint { LOCALE_SABBREVMONTHNAME5 = 0x00000048 }
   356  enum : uint { LOCALE_SABBREVMONTHNAME6 = 0x00000049 }
   357  enum : uint { LOCALE_SABBREVMONTHNAME7 = 0x0000004A }
   358  enum : uint { LOCALE_SABBREVMONTHNAME8 = 0x0000004B }
   359  enum : uint { LOCALE_SABBREVMONTHNAME9 = 0x0000004C }
   360  enum : uint { LOCALE_SABBREVMONTHNAME10 = 0x0000004D }
   361  enum : uint { LOCALE_SABBREVMONTHNAME11 = 0x0000004E }
   362  enum : uint { LOCALE_SABBREVMONTHNAME12 = 0x0000004F }
   363  enum : uint { LOCALE_SABBREVMONTHNAME13 = 0x0000100F }
   364  
   365  enum : uint { LOCALE_SPOSITIVESIGN = 0x00000050 }
   366  enum : uint { LOCALE_SNEGATIVESIGN = 0x00000051 }
   367  enum : uint { LOCALE_IPOSSIGNPOSN = 0x00000052 }
   368  enum : uint { LOCALE_INEGSIGNPOSN = 0x00000053 }
   369  enum : uint { LOCALE_IPOSSYMPRECEDES = 0x00000054 }
   370  enum : uint { LOCALE_IPOSSEPBYSPACE = 0x00000055 }
   371  enum : uint { LOCALE_INEGSYMPRECEDES = 0x00000056 }
   372  enum : uint { LOCALE_INEGSEPBYSPACE = 0x00000057 }
   373  
   374  // #if(WINVER >= 0x0400)
   375  enum : uint { LOCALE_FONTSIGNATURE = 0x00000058 }
   376  enum : uint { LOCALE_SISO639LANGNAME = 0x00000059 }
   377  enum : uint { LOCALE_SISO3166CTRYNAME = 0x0000005A }
   378  // #endif /* WINVER >= 0x0400 */
   379  
   380  // #if(WINVER >= 0x0500)
   381  enum : uint { LOCALE_IDEFAULTEBCDICCODEPAGE = 0x00001012 }
   382  enum : uint { LOCALE_IPAPERSIZE = 0x0000100A }
   383  enum : uint { LOCALE_SENGCURRNAME = 0x00001007 }
   384  enum : uint { LOCALE_SNATIVECURRNAME = 0x00001008 }
   385  enum : uint { LOCALE_SYEARMONTH = 0x00001006 }
   386  enum : uint { LOCALE_SSORTNAME = 0x00001013 }
   387  enum : uint { LOCALE_IDIGITSUBSTITUTION = 0x00001014 }
   388  
   389  // #endif /* WINVER >= 0x0500 */
   390  
   391  enum : uint { TIME_NOMINUTESORSECONDS = 0x00000001 }
   392  enum : uint { TIME_NOSECONDS = 0x00000002 }
   393  enum : uint { TIME_NOTIMEMARKER = 0x00000004 }
   394  enum : uint { TIME_FORCE24HOURFORMAT = 0x00000008 }
   395  
   396  enum : uint { DATE_SHORTDATE = 0x00000001 }
   397  enum : uint { DATE_LONGDATE = 0x00000002 }
   398  enum : uint { DATE_USE_ALT_CALENDAR = 0x00000004 }
   399  
   400  // #if(WINVER >= 0x0500)
   401  enum : uint { DATE_YEARMONTH = 0x00000008 }
   402  enum : uint { DATE_LTRREADING = 0x00000010 }
   403  enum : uint { DATE_RTLREADING = 0x00000020 }
   404  // #endif /* WINVER >= 0x0500 */
   405  
   406  // #if(WINVER >= 0x0500)
   407  alias LOCALE_NOUSEROVERRIDE CAL_NOUSEROVERRIDE;
   408  alias LOCALE_USE_CP_ACP CAL_USE_CP_ACP;
   409  alias LOCALE_RETURN_NUMBER CAL_RETURN_NUMBER;
   410  // #endif /* WINVER >= 0x0500 */
   411  
   412  enum : uint { CAL_ICALINTVALUE = 0x00000001 }
   413  enum : uint { CAL_SCALNAME = 0x00000002 }
   414  enum : uint { CAL_IYEAROFFSETRANGE = 0x00000003 }
   415  enum : uint { CAL_SERASTRING = 0x00000004 }
   416  enum : uint { CAL_SSHORTDATE = 0x00000005 }
   417  enum : uint { CAL_SLONGDATE = 0x00000006 }
   418  enum : uint { CAL_SDAYNAME1 = 0x00000007 }
   419  enum : uint { CAL_SDAYNAME2 = 0x00000008 }
   420  enum : uint { CAL_SDAYNAME3 = 0x00000009 }
   421  enum : uint { CAL_SDAYNAME4 = 0x0000000a }
   422  enum : uint { CAL_SDAYNAME5 = 0x0000000b }
   423  enum : uint { CAL_SDAYNAME6 = 0x0000000c }
   424  enum : uint { CAL_SDAYNAME7 = 0x0000000d }
   425  enum : uint { CAL_SABBREVDAYNAME1 = 0x0000000e }
   426  enum : uint { CAL_SABBREVDAYNAME2 = 0x0000000f }
   427  enum : uint { CAL_SABBREVDAYNAME3 = 0x00000010 }
   428  enum : uint { CAL_SABBREVDAYNAME4 = 0x00000011 }
   429  enum : uint { CAL_SABBREVDAYNAME5 = 0x00000012 }
   430  enum : uint { CAL_SABBREVDAYNAME6 = 0x00000013 }
   431  enum : uint { CAL_SABBREVDAYNAME7 = 0x00000014 }
   432  enum : uint { CAL_SMONTHNAME1 = 0x00000015 }
   433  enum : uint { CAL_SMONTHNAME2 = 0x00000016 }
   434  enum : uint { CAL_SMONTHNAME3 = 0x00000017 }
   435  enum : uint { CAL_SMONTHNAME4 = 0x00000018 }
   436  enum : uint { CAL_SMONTHNAME5 = 0x00000019 }
   437  enum : uint { CAL_SMONTHNAME6 = 0x0000001a }
   438  enum : uint { CAL_SMONTHNAME7 = 0x0000001b }
   439  enum : uint { CAL_SMONTHNAME8 = 0x0000001c }
   440  enum : uint { CAL_SMONTHNAME9 = 0x0000001d }
   441  enum : uint { CAL_SMONTHNAME10 = 0x0000001e }
   442  enum : uint { CAL_SMONTHNAME11 = 0x0000001f }
   443  enum : uint { CAL_SMONTHNAME12 = 0x00000020 }
   444  enum : uint { CAL_SMONTHNAME13 = 0x00000021 }
   445  enum : uint { CAL_SABBREVMONTHNAME1 = 0x00000022 }
   446  enum : uint { CAL_SABBREVMONTHNAME2 = 0x00000023 }
   447  enum : uint { CAL_SABBREVMONTHNAME3 = 0x00000024 }
   448  enum : uint { CAL_SABBREVMONTHNAME4 = 0x00000025 }
   449  enum : uint { CAL_SABBREVMONTHNAME5 = 0x00000026 }
   450  enum : uint { CAL_SABBREVMONTHNAME6 = 0x00000027 }
   451  enum : uint { CAL_SABBREVMONTHNAME7 = 0x00000028 }
   452  enum : uint { CAL_SABBREVMONTHNAME8 = 0x00000029 }
   453  enum : uint { CAL_SABBREVMONTHNAME9 = 0x0000002a }
   454  enum : uint { CAL_SABBREVMONTHNAME10 = 0x0000002b }
   455  enum : uint { CAL_SABBREVMONTHNAME11 = 0x0000002c }
   456  enum : uint { CAL_SABBREVMONTHNAME12 = 0x0000002d }
   457  enum : uint { CAL_SABBREVMONTHNAME13 = 0x0000002e }
   458  
   459  // #if(WINVER >= 0x0500)
   460  enum : uint { CAL_SYEARMONTH = 0x0000002f }
   461  enum : uint { CAL_ITWODIGITYEARMAX = 0x00000030 }
   462  // #endif /* WINVER >= 0x0500 */
   463  
   464  enum : uint { ENUM_ALL_CALENDARS = 0xffffffff }
   465  
   466  enum : uint { CAL_GREGORIAN = 1 }
   467  enum : uint { CAL_GREGORIAN_US = 2 }
   468  enum : uint { CAL_JAPAN = 3 }
   469  enum : uint { CAL_TAIWAN = 4 }
   470  enum : uint { CAL_KOREA = 5 }
   471  enum : uint { CAL_HIJRI = 6 }
   472  enum : uint { CAL_THAI = 7 }
   473  enum : uint { CAL_HEBREW = 8 }
   474  enum : uint { CAL_GREGORIAN_ME_FRENCH = 9 }
   475  enum : uint { CAL_GREGORIAN_ARABIC = 10 }
   476  enum : uint { CAL_GREGORIAN_XLIT_ENGLISH = 11 }
   477  enum : uint { CAL_GREGORIAN_XLIT_FRENCH = 12 }
   478  
   479  enum : uint { LGRPID_WESTERN_EUROPE = 0x0001 }
   480  enum : uint { LGRPID_CENTRAL_EUROPE = 0x0002 }
   481  enum : uint { LGRPID_BALTIC = 0x0003 }
   482  enum : uint { LGRPID_GREEK = 0x0004 }
   483  enum : uint { LGRPID_CYRILLIC = 0x0005 }
   484  enum : uint { LGRPID_TURKISH = 0x0006 }
   485  enum : uint { LGRPID_JAPANESE = 0x0007 }
   486  enum : uint { LGRPID_KOREAN = 0x0008 }
   487  enum : uint { LGRPID_TRADITIONAL_CHINESE = 0x0009 }
   488  enum : uint { LGRPID_SIMPLIFIED_CHINESE = 0x000a }
   489  enum : uint { LGRPID_THAI = 0x000b }
   490  enum : uint { LGRPID_HEBREW = 0x000c }
   491  enum : uint { LGRPID_ARABIC = 0x000d }
   492  enum : uint { LGRPID_VIETNAMESE = 0x000e }
   493  enum : uint { LGRPID_INDIC = 0x000f }
   494  enum : uint { LGRPID_GEORGIAN = 0x0010 }
   495  enum : uint { LGRPID_ARMENIAN = 0x0011 }
   496  
   497  alias DWORD LGRPID;
   498  
   499  alias DWORD LCTYPE;
   500  
   501  alias DWORD CALTYPE;
   502  
   503  alias DWORD CALID;
   504  
   505  struct _cpinfo {
   506    UINT MaxCharSize;
   507    BYTE DefaultChar[MAX_DEFAULTCHAR];
   508    BYTE LeadByte[MAX_LEADBYTES];
   509  }
   510  alias _cpinfo CPINFO;
   511  alias _cpinfo* LPCPINFO;
   512  
   513  struct _cpinfoexA {
   514    UINT MaxCharSize;
   515    BYTE DefaultChar[MAX_DEFAULTCHAR];
   516    BYTE LeadByte[MAX_LEADBYTES];
   517    WCHAR UnicodeDefaultChar;
   518    UINT CodePage;
   519    CHAR CodePageName[MAX_PATH];
   520  }
   521  alias _cpinfoexA CPINFOEXA;
   522  alias _cpinfoexA* LPCPINFOEXA;
   523  
   524  struct _cpinfoexW {
   525    UINT MaxCharSize;
   526    BYTE DefaultChar[MAX_DEFAULTCHAR];
   527    BYTE LeadByte[MAX_LEADBYTES];
   528    WCHAR UnicodeDefaultChar;
   529    UINT CodePage;
   530    WCHAR CodePageName[MAX_PATH];
   531  }
   532  alias _cpinfoexW CPINFOEXW;
   533  alias _cpinfoexW* LPCPINFOEXW;
   534  
   535  // #ifdef UNICODE
   536  alias CPINFOEXW CPINFOEX;
   537  alias LPCPINFOEXW LPCPINFOEX;
   538  // #else
   539  // ...
   540  // #endif // UNICODE
   541  
   542  struct _numberfmtA {
   543    UINT NumDigits;
   544    UINT LeadingZero;
   545    UINT Grouping;
   546    LPSTR lpDecimalSep;
   547    LPSTR lpThousandSep;
   548    UINT NegativeOrder;
   549  }
   550  alias _numberfmtA NUMBERFMTA;
   551  alias _numberfmtA* LPNUMBERFMTA;
   552  
   553  struct _numberfmtW {
   554    UINT NumDigits;
   555    UINT LeadingZero;
   556    UINT Grouping;
   557    LPWSTR lpDecimalSep;
   558    LPWSTR lpThousandSep;
   559    UINT NegativeOrder;
   560  }
   561  alias _numberfmtW NUMBERFMTW;
   562  alias _numberfmtW* LPNUMBERFMTW;
   563  
   564  // #ifdef UNICODE
   565  alias NUMBERFMTW NUMBERFMT;
   566  alias LPNUMBERFMTW LPNUMBERFMT;
   567  // #else
   568  // ...
   569  // #endif // UNICODE
   570  
   571  struct _currencyfmtA {
   572    UINT NumDigits;
   573    UINT LeadingZero;
   574    UINT Grouping;
   575    LPSTR lpDecimalSep;
   576    LPSTR lpThousandSep;
   577    UINT NegativeOrder;
   578    UINT PositiveOrder;
   579    LPSTR lpCurrencySymbol;
   580  }
   581  alias _currencyfmtA CURRENCYFMTA;
   582  alias _currencyfmtA* LPCURRENCYFMTA;
   583  
   584  struct _currencyfmtW {
   585    UINT NumDigits;
   586    UINT LeadingZero;
   587    UINT Grouping;
   588    LPWSTR lpDecimalSep;
   589    LPWSTR lpThousandSep;
   590    UINT NegativeOrder;
   591    UINT PositiveOrder;
   592    LPWSTR lpCurrencySymbol;
   593  }
   594  alias _currencyfmtW CURRENCYFMTW;
   595  alias _currencyfmtW* LPCURRENCYFMTW;
   596  
   597  // #ifdef UNICODE
   598  alias CURRENCYFMTW CURRENCYFMT;
   599  alias LPCURRENCYFMTW LPCURRENCYFMT;
   600  // #else
   601  // ...
   602  // #endif // UNICODE
   603  
   604  alias LONG GEOID;
   605  alias DWORD GEOTYPE;
   606  alias DWORD GEOCLASS;
   607  
   608  enum { GEOID_NOT_AVAILABLE = -1 }
   609  
   610  enum SYSGEOTYPE {
   611    GEO_NATION = 0x0001,
   612    GEO_LATITUDE = 0x0002,
   613    GEO_LONGITUDE = 0x0003,
   614    GEO_ISO2 = 0x0004,
   615    GEO_ISO3 = 0x0005,
   616    GEO_RFC1766 = 0x0006,
   617    GEO_LCID = 0x0007,
   618    GEO_FRIENDLYNAME = 0x0008,
   619    GEO_OFFICIALNAME = 0x0009,
   620    GEO_TIMEZONES = 0x000A,
   621    GEO_OFFICIALLANGUAGES = 0x000B,
   622  }
   623  
   624  enum SYSGEOCLASS {
   625    GEOCLASS_NATION = 16,
   626    GEOCLASS_REGION = 14,
   627  }
   628  
   629  // #ifdef STRICT
   630  
   631  // ...
   632  
   633  // ...
   634  
   635  // #else // !STRICT
   636  
   637  alias FARPROC LANGUAGEGROUP_ENUMPROCA;
   638  alias FARPROC LANGGROUPLOCALE_ENUMPROCA;
   639  alias FARPROC UILANGUAGE_ENUMPROCA;
   640  alias FARPROC LOCALE_ENUMPROCA;
   641  alias FARPROC CODEPAGE_ENUMPROCA;
   642  alias FARPROC DATEFMT_ENUMPROCA;
   643  alias FARPROC DATEFMT_ENUMPROCEXA;
   644  alias FARPROC TIMEFMT_ENUMPROCA;
   645  alias FARPROC CALINFO_ENUMPROCA;
   646  alias FARPROC CALINFO_ENUMPROCEXA;
   647  alias FARPROC GEO_ENUMPROC;
   648  
   649  alias FARPROC LANGUAGEGROUP_ENUMPROCW;
   650  alias FARPROC LANGGROUPLOCALE_ENUMPROCW;
   651  alias FARPROC UILANGUAGE_ENUMPROCW;
   652  alias FARPROC LOCALE_ENUMPROCW;
   653  alias FARPROC CODEPAGE_ENUMPROCW;
   654  alias FARPROC DATEFMT_ENUMPROCW;
   655  alias FARPROC DATEFMT_ENUMPROCEXW;
   656  alias FARPROC TIMEFMT_ENUMPROCW;
   657  alias FARPROC CALINFO_ENUMPROCW;
   658  alias FARPROC CALINFO_ENUMPROCEXW;
   659  
   660  // #endif // !STRICT
   661  
   662  // #ifdef UNICODE
   663  
   664  alias LANGUAGEGROUP_ENUMPROCW LANGUAGEGROUP_ENUMPROC;
   665  alias LANGGROUPLOCALE_ENUMPROCW LANGGROUPLOCALE_ENUMPROC;
   666  alias UILANGUAGE_ENUMPROCW UILANGUAGE_ENUMPROC;
   667  alias LOCALE_ENUMPROCW LOCALE_ENUMPROC;
   668  alias CODEPAGE_ENUMPROCW CODEPAGE_ENUMPROC;
   669  alias DATEFMT_ENUMPROCW DATEFMT_ENUMPROC;
   670  alias DATEFMT_ENUMPROCEXW DATEFMT_ENUMPROCEX;
   671  alias TIMEFMT_ENUMPROCW TIMEFMT_ENUMPROC;
   672  alias CALINFO_ENUMPROCW CALINFO_ENUMPROC;
   673  alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX;
   674  
   675  // #else
   676  
   677  // #...
   678  // #...
   679  // #...
   680  // #...
   681  // #...
   682  // #...
   683  // #...
   684  // #...
   685  // #...
   686  // #...
   687  
   688  // #endif // !UNICODE
   689  
   690  extern(Windows) export BOOL IsValidCodePage(
   691       UINT  CodePage);
   692  
   693  extern(Windows) export UINT GetACP();
   694  
   695  extern(Windows) export UINT GetOEMCP();
   696  
   697  extern(Windows) export BOOL GetCPInfo(
   698       UINT       CodePage,
   699       LPCPINFO  lpCPInfo);
   700  
   701  extern(Windows) export BOOL GetCPInfoExA(
   702       UINT          CodePage,
   703       DWORD         dwFlags,
   704       LPCPINFOEXA  lpCPInfoEx);
   705  extern(Windows) export BOOL GetCPInfoExW(
   706       UINT          CodePage,
   707       DWORD         dwFlags,
   708       LPCPINFOEXW  lpCPInfoEx);
   709  // #ifdef UNICODE
   710  alias GetCPInfoExW GetCPInfoEx;
   711  // #else
   712  // #...
   713  // #endif // !UNICODE
   714  
   715  extern(Windows) export BOOL IsDBCSLeadByte(
   716       BYTE  TestChar);
   717  
   718  extern(Windows) export BOOL IsDBCSLeadByteEx(
   719       UINT  CodePage,
   720       BYTE  TestChar);
   721  
   722  extern(Windows) export int MultiByteToWideChar(
   723       UINT     CodePage,
   724       DWORD    dwFlags,
   725       LPCSTR   lpMultiByteStr,
   726       int      cbMultiByte,
   727       LPWSTR  lpWideCharStr,
   728       int      cchWideChar);
   729  
   730  extern(Windows) export int WideCharToMultiByte(
   731       UINT     CodePage,
   732       DWORD    dwFlags,
   733       LPCWSTR  lpWideCharStr,
   734       int      cchWideChar,
   735       LPSTR   lpMultiByteStr,
   736       int      cbMultiByte,
   737       LPCSTR   lpDefaultChar,
   738       LPBOOL  lpUsedDefaultChar);
   739  
   740  extern(Windows) export int CompareStringA(
   741       LCID     Locale,
   742       DWORD    dwCmpFlags,
   743       LPCSTR  lpString1,
   744       int      cchCount1,
   745       LPCSTR  lpString2,
   746       int      cchCount2);
   747  extern(Windows) export int CompareStringW(
   748       LCID     Locale,
   749       DWORD    dwCmpFlags,
   750       LPCWSTR  lpString1,
   751       int      cchCount1,
   752       LPCWSTR  lpString2,
   753       int      cchCount2);
   754  // #ifdef UNICODE
   755  alias CompareStringW CompareString;
   756  // #else
   757  // #...
   758  // #endif // !UNICODE
   759  
   760  extern(Windows) export int LCMapStringA(
   761       LCID     Locale,
   762       DWORD    dwMapFlags,
   763       LPCSTR  lpSrcStr,
   764       int      cchSrc,
   765       LPSTR  lpDestStr,
   766       int      cchDest);
   767  extern(Windows) export int LCMapStringW(
   768       LCID     Locale,
   769       DWORD    dwMapFlags,
   770       LPCWSTR  lpSrcStr,
   771       int      cchSrc,
   772       LPWSTR  lpDestStr,
   773       int      cchDest);
   774  // #ifdef UNICODE
   775  alias LCMapStringW LCMapString;
   776  // #else
   777  // #...
   778  // #endif // !UNICODE
   779  
   780  extern(Windows) export int GetLocaleInfoA(
   781       LCID     Locale,
   782       LCTYPE   LCType,
   783       LPSTR  lpLCData,
   784       int      cchData);
   785  extern(Windows) export int GetLocaleInfoW(
   786       LCID     Locale,
   787       LCTYPE   LCType,
   788       LPWSTR  lpLCData,
   789       int      cchData);
   790  // #ifdef UNICODE
   791  alias GetLocaleInfoW GetLocaleInfo;
   792  // #else
   793  // #...
   794  // #endif // !UNICODE
   795  
   796  extern(Windows) export BOOL SetLocaleInfoA(
   797       LCID     Locale,
   798       LCTYPE   LCType,
   799       LPCSTR  lpLCData);
   800  extern(Windows) export BOOL SetLocaleInfoW(
   801       LCID     Locale,
   802       LCTYPE   LCType,
   803       LPCWSTR  lpLCData);
   804  // #ifdef UNICODE
   805  alias SetLocaleInfoW SetLocaleInfo;
   806  // #else
   807  // #...
   808  // #endif // !UNICODE
   809  
   810  // #if (WINVER >= 0x040A)
   811  extern(Windows) export int GetCalendarInfoA(
   812      LCID     Locale,
   813      CALID    Calendar,
   814      CALTYPE  CalType,
   815      LPSTR   lpCalData,
   816      int      cchData,
   817      LPDWORD  lpValue);
   818  extern(Windows) export int GetCalendarInfoW(
   819      LCID     Locale,
   820      CALID    Calendar,
   821      CALTYPE  CalType,
   822      LPWSTR   lpCalData,
   823      int      cchData,
   824      LPDWORD  lpValue);
   825  // #ifdef UNICODE
   826  alias GetCalendarInfoW GetCalendarInfo;
   827  // #else
   828  // #...
   829  // #endif // !UNICODE
   830  
   831  extern(Windows) export BOOL SetCalendarInfoA(
   832      LCID     Locale,
   833      CALID    Calendar,
   834      CALTYPE  CalType,
   835      LPCSTR  lpCalData);
   836  extern(Windows) export BOOL SetCalendarInfoW(
   837      LCID     Locale,
   838      CALID    Calendar,
   839      CALTYPE  CalType,
   840      LPCWSTR  lpCalData);
   841  // #ifdef UNICODE
   842  alias SetCalendarInfoW SetCalendarInfo;
   843  // #else
   844  // #...
   845  // #endif // !UNICODE
   846  // #endif
   847  
   848  extern(Windows) export int GetTimeFormatA(
   849       LCID             Locale,
   850       DWORD            dwFlags,
   851        SYSTEMTIME *lpTime,
   852       LPCSTR          lpFormat,
   853       LPSTR          lpTimeStr,
   854       int              cchTime);
   855  extern(Windows) export int GetTimeFormatW(
   856       LCID             Locale,
   857       DWORD            dwFlags,
   858        SYSTEMTIME *lpTime,
   859       LPCWSTR          lpFormat,
   860       LPWSTR          lpTimeStr,
   861       int              cchTime);
   862  // #ifdef UNICODE
   863  alias GetTimeFormatW GetTimeFormat;
   864  // #else
   865  // #...
   866  // #endif // !UNICODE
   867  
   868  extern(Windows) export int GetDateFormatA(
   869       LCID             Locale,
   870       DWORD            dwFlags,
   871        SYSTEMTIME *lpDate,
   872       LPCSTR          lpFormat,
   873       LPSTR          lpDateStr,
   874       int              cchDate);
   875  extern(Windows) export int GetDateFormatW(
   876       LCID             Locale,
   877       DWORD            dwFlags,
   878        SYSTEMTIME *lpDate,
   879       LPCWSTR          lpFormat,
   880       LPWSTR          lpDateStr,
   881       int              cchDate);
   882  // #ifdef UNICODE
   883  alias GetDateFormatW GetDateFormat;
   884  // #else
   885  // #...
   886  // #endif // !UNICODE
   887  
   888  extern(Windows) export int GetNumberFormatA(
   889       LCID             Locale,
   890       DWORD            dwFlags,
   891       LPCSTR          lpValue,
   892        NUMBERFMTA *lpFormat,
   893       LPSTR          lpNumberStr,
   894       int              cchNumber);
   895  extern(Windows) export int GetNumberFormatW(
   896       LCID             Locale,
   897       DWORD            dwFlags,
   898       LPCWSTR          lpValue,
   899        NUMBERFMTW *lpFormat,
   900       LPWSTR          lpNumberStr,
   901       int              cchNumber);
   902  // #ifdef UNICODE
   903  alias GetNumberFormatW GetNumberFormat;
   904  // #else
   905  // #...
   906  // #endif // !UNICODE
   907  
   908  extern(Windows) export int GetCurrencyFormatA(
   909       LCID               Locale,
   910       DWORD              dwFlags,
   911       LPCSTR            lpValue,
   912        CURRENCYFMTA *lpFormat,
   913       LPSTR            lpCurrencyStr,
   914       int                cchCurrency);
   915  extern(Windows) export int GetCurrencyFormatW(
   916       LCID               Locale,
   917       DWORD              dwFlags,
   918       LPCWSTR            lpValue,
   919        CURRENCYFMTW *lpFormat,
   920       LPWSTR            lpCurrencyStr,
   921       int                cchCurrency);
   922  // #ifdef UNICODE
   923  alias GetCurrencyFormatW GetCurrencyFormat;
   924  // #else
   925  // #...
   926  // #endif // !UNICODE
   927  
   928  extern(Windows) export BOOL EnumCalendarInfoA(
   929       CALINFO_ENUMPROCA lpCalInfoEnumProc,
   930       LCID              Locale,
   931       CALID             Calendar,
   932       CALTYPE           CalType);
   933  extern(Windows) export BOOL EnumCalendarInfoW(
   934       CALINFO_ENUMPROCW lpCalInfoEnumProc,
   935       LCID              Locale,
   936       CALID             Calendar,
   937       CALTYPE           CalType);
   938  // #ifdef UNICODE
   939  alias EnumCalendarInfoW EnumCalendarInfo;
   940  // #else
   941  // #...
   942  // #endif // !UNICODE
   943  
   944  // #if(WINVER >= 0x0500)
   945  extern(Windows) export BOOL EnumCalendarInfoExA(
   946       CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx,
   947       LCID                Locale,
   948       CALID               Calendar,
   949       CALTYPE             CalType);
   950  extern(Windows) export BOOL EnumCalendarInfoExW(
   951       CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx,
   952       LCID                Locale,
   953       CALID               Calendar,
   954       CALTYPE             CalType);
   955  // #ifdef UNICODE
   956  alias EnumCalendarInfoExW EnumCalendarInfoEx;
   957  // #else
   958  // #...
   959  // #endif // !UNICODE
   960  // #endif /* WINVER >= 0x0500 */
   961  
   962  extern(Windows) export BOOL EnumTimeFormatsA(
   963       TIMEFMT_ENUMPROCA lpTimeFmtEnumProc,
   964       LCID              Locale,
   965       DWORD             dwFlags);
   966  extern(Windows) export BOOL EnumTimeFormatsW(
   967       TIMEFMT_ENUMPROCW lpTimeFmtEnumProc,
   968       LCID              Locale,
   969       DWORD             dwFlags);
   970  // #ifdef UNICODE
   971  alias EnumTimeFormatsW EnumTimeFormats;
   972  // #else
   973  // #...
   974  // #endif // !UNICODE
   975  
   976  extern(Windows) export BOOL EnumDateFormatsA(
   977       DATEFMT_ENUMPROCA lpDateFmtEnumProc,
   978       LCID              Locale,
   979       DWORD             dwFlags);
   980  extern(Windows) export BOOL EnumDateFormatsW(
   981       DATEFMT_ENUMPROCW lpDateFmtEnumProc,
   982       LCID              Locale,
   983       DWORD             dwFlags);
   984  // #ifdef UNICODE
   985  alias EnumDateFormatsW EnumDateFormats;
   986  // #else
   987  // #...
   988  // #endif // !UNICODE
   989  
   990  // #if(WINVER >= 0x0500)
   991  extern(Windows) export BOOL EnumDateFormatsExA(
   992       DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx,
   993       LCID                Locale,
   994       DWORD               dwFlags);
   995  extern(Windows) export BOOL EnumDateFormatsExW(
   996       DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx,
   997       LCID                Locale,
   998       DWORD               dwFlags);
   999  // #ifdef UNICODE
  1000  alias EnumDateFormatsExW EnumDateFormatsEx;
  1001  // #else
  1002  // #...
  1003  // #endif // !UNICODE
  1004  // #endif /* WINVER >= 0x0500 */
  1005  
  1006  // #if(WINVER >= 0x0500)
  1007  extern(Windows) export BOOL IsValidLanguageGroup(
  1008       LGRPID  LanguageGroup,
  1009       DWORD   dwFlags);
  1010  // #endif /* WINVER >= 0x0500 */
  1011  
  1012  extern(Windows) export BOOL IsValidLocale(
  1013       LCID   Locale,
  1014       DWORD  dwFlags);
  1015  
  1016  extern(Windows) export int GetGeoInfoA(
  1017      GEOID       Location,
  1018      GEOTYPE     GeoType,
  1019      LPSTR     lpGeoData,
  1020      int         cchData,
  1021      LANGID      LangId);
  1022  extern(Windows) export int GetGeoInfoW(
  1023      GEOID       Location,
  1024      GEOTYPE     GeoType,
  1025      LPWSTR     lpGeoData,
  1026      int         cchData,
  1027      LANGID      LangId);
  1028  // #ifdef UNICODE
  1029  alias GetGeoInfoW GetGeoInfo;
  1030  // #else
  1031  // #...
  1032  // #endif // !UNICODE
  1033  
  1034  extern(Windows) export BOOL EnumSystemGeoID(
  1035      GEOCLASS        GeoClass,
  1036      GEOID           ParentGeoId,
  1037      GEO_ENUMPROC    lpGeoEnumProc);
  1038  
  1039  extern(Windows) export GEOID GetUserGeoID(
  1040      GEOCLASS    GeoClass);
  1041  
  1042  extern(Windows) export BOOL SetUserGeoID(
  1043      GEOID       GeoId);
  1044  
  1045  extern(Windows) export LCID ConvertDefaultLocale(
  1046        LCID   Locale);
  1047  
  1048  extern(Windows) export LCID GetThreadLocale();
  1049  
  1050  extern(Windows) export BOOL SetThreadLocale(
  1051       LCID  Locale
  1052      );
  1053  
  1054  // #if(WINVER >= 0x0500)
  1055  extern(Windows) export LANGID GetSystemDefaultUILanguage();
  1056  
  1057  extern(Windows) export LANGID GetUserDefaultUILanguage();
  1058  // #endif /* WINVER >= 0x0500 */
  1059  
  1060  extern(Windows) export LANGID GetSystemDefaultLangID();
  1061  
  1062  extern(Windows) export LANGID GetUserDefaultLangID();
  1063  
  1064  extern(Windows) export LCID GetSystemDefaultLCID();
  1065  
  1066  extern(Windows) export LCID GetUserDefaultLCID();
  1067  
  1068  extern(Windows) export BOOL GetStringTypeExA(
  1069       LCID     Locale,
  1070       DWORD    dwInfoType,
  1071       LPCSTR  lpSrcStr,
  1072       int      cchSrc,
  1073       LPWORD  lpCharType);
  1074  extern(Windows) export BOOL GetStringTypeExW(
  1075       LCID     Locale,
  1076       DWORD    dwInfoType,
  1077       LPCWSTR  lpSrcStr,
  1078       int      cchSrc,
  1079       LPWORD  lpCharType);
  1080  // #ifdef UNICODE
  1081  alias GetStringTypeExW GetStringTypeEx;
  1082  // #else
  1083  // #...
  1084  // #endif // !UNICODE
  1085  
  1086  extern(Windows) export BOOL GetStringTypeA(
  1087       LCID     Locale,
  1088       DWORD    dwInfoType,
  1089       LPCSTR   lpSrcStr,
  1090       int      cchSrc,
  1091       LPWORD  lpCharType);
  1092  
  1093  extern(Windows) export BOOL GetStringTypeW(
  1094       DWORD    dwInfoType,
  1095       LPCWSTR  lpSrcStr,
  1096       int      cchSrc,
  1097       LPWORD  lpCharType);
  1098  
  1099  extern(Windows) export int FoldStringA(
  1100       DWORD    dwMapFlags,
  1101       LPCSTR  lpSrcStr,
  1102       int      cchSrc,
  1103       LPSTR  lpDestStr,
  1104       int      cchDest);
  1105  extern(Windows) export int FoldStringW(
  1106       DWORD    dwMapFlags,
  1107       LPCWSTR  lpSrcStr,
  1108       int      cchSrc,
  1109       LPWSTR  lpDestStr,
  1110       int      cchDest);
  1111  // #ifdef UNICODE
  1112  alias FoldStringW FoldString;
  1113  // #else
  1114  // #...
  1115  // #endif // !UNICODE
  1116  
  1117  // #if(WINVER >= 0x0500)
  1118  extern(Windows) export BOOL EnumSystemLanguageGroupsA(
  1119       LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc,
  1120       DWORD                   dwFlags,
  1121       LONG_PTR                lParam);
  1122  extern(Windows) export BOOL EnumSystemLanguageGroupsW(
  1123       LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc,
  1124       DWORD                   dwFlags,
  1125       LONG_PTR                lParam);
  1126  // #ifdef UNICODE
  1127  alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups;
  1128  // #else
  1129  // #...
  1130  // #endif // !UNICODE
  1131  
  1132  extern(Windows) export BOOL EnumLanguageGroupLocalesA(
  1133       LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc,
  1134       LGRPID                    LanguageGroup,
  1135       DWORD                     dwFlags,
  1136       LONG_PTR                  lParam);
  1137  extern(Windows) export BOOL EnumLanguageGroupLocalesW(
  1138       LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc,
  1139       LGRPID                    LanguageGroup,
  1140       DWORD                     dwFlags,
  1141       LONG_PTR                  lParam);
  1142  // #ifdef UNICODE
  1143  alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales;
  1144  // #else
  1145  // #...
  1146  // #endif // !UNICODE
  1147  
  1148  extern(Windows) export BOOL EnumUILanguagesA(
  1149       UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,
  1150       DWORD                dwFlags,
  1151       LONG_PTR             lParam);
  1152  extern(Windows) export BOOL EnumUILanguagesW(
  1153       UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,
  1154       DWORD                dwFlags,
  1155       LONG_PTR             lParam);
  1156  // #ifdef UNICODE
  1157  alias EnumUILanguagesW EnumUILanguages;
  1158  // #else
  1159  // #...
  1160  // #endif // !UNICODE
  1161  // #endif /* WINVER >= 0x0500 */
  1162  
  1163  extern(Windows) export BOOL EnumSystemLocalesA(
  1164       LOCALE_ENUMPROCA lpLocaleEnumProc,
  1165       DWORD            dwFlags);
  1166  extern(Windows) export BOOL EnumSystemLocalesW(
  1167       LOCALE_ENUMPROCW lpLocaleEnumProc,
  1168       DWORD            dwFlags);
  1169  // #ifdef UNICODE
  1170  alias EnumSystemLocalesW EnumSystemLocales;
  1171  // #else
  1172  // #...
  1173  // #endif // !UNICODE
  1174  
  1175  extern(Windows) export BOOL EnumSystemCodePagesA(
  1176       CODEPAGE_ENUMPROCA lpCodePageEnumProc,
  1177       DWORD              dwFlags);
  1178  extern(Windows) export BOOL EnumSystemCodePagesW(
  1179       CODEPAGE_ENUMPROCW lpCodePageEnumProc,
  1180       DWORD              dwFlags);
  1181  // #ifdef UNICODE
  1182  alias EnumSystemCodePagesW EnumSystemCodePages;
  1183  // #else
  1184  // #...
  1185  // #endif // !UNICODE
  1186  
  1187  // #endif // NONLS
  1188  
  1189  // #ifdef __cplusplus
  1190  // }
  1191  // #endif
  1192  
  1193  // #endif // _WINNLS_