home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / cecko / install / devcpp4920.exe / include / winnls.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-09-14  |  21.3 KB  |  648 lines

  1. #ifndef _WINNLS_H
  2. #define _WINNLS_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6.  
  7. #define MAX_LEADBYTES     12
  8. #define MAX_DEFAULTCHAR    2
  9. #define LOCALE_NOUSEROVERRIDE    0x80000000
  10. #define LOCALE_USE_CP_ACP    0x40000000
  11. #define LOCALE_ILANGUAGE    1
  12. #define LOCALE_SLANGUAGE    2
  13. #define LOCALE_SENGLANGUAGE    0x1001
  14. #define LOCALE_SABBREVLANGNAME    3
  15. #define LOCALE_SNATIVELANGNAME    4
  16. #define LOCALE_ICOUNTRY    5
  17. #define LOCALE_SCOUNTRY    6
  18. #define LOCALE_SENGCOUNTRY    0x1002
  19. #define LOCALE_SABBREVCTRYNAME    7
  20. #define LOCALE_SNATIVECTRYNAME    8
  21. #define LOCALE_IDEFAULTLANGUAGE    9
  22. #define LOCALE_IDEFAULTCOUNTRY    10
  23. #define LOCALE_IDEFAULTCODEPAGE    11
  24. #define LOCALE_IDEFAULTANSICODEPAGE 0x1004
  25. #define LOCALE_SLIST    12
  26. #define LOCALE_IMEASURE    13
  27. #define LOCALE_SDECIMAL    14
  28. #define LOCALE_STHOUSAND    15
  29. #define LOCALE_SGROUPING    16
  30. #define LOCALE_IDIGITS    17
  31. #define LOCALE_ILZERO    18
  32. #define LOCALE_INEGNUMBER    0x1010
  33. #define LOCALE_SNATIVEDIGITS    19
  34. #define LOCALE_SCURRENCY    20
  35. #define LOCALE_SINTLSYMBOL    21
  36. #define LOCALE_SMONDECIMALSEP    22
  37. #define LOCALE_SMONTHOUSANDSEP    23
  38. #define LOCALE_SMONGROUPING    24
  39. #define LOCALE_ICURRDIGITS    25
  40. #define LOCALE_IINTLCURRDIGITS    26
  41. #define LOCALE_ICURRENCY    27
  42. #define LOCALE_INEGCURR    28
  43. #define LOCALE_SDATE    29
  44. #define LOCALE_STIME    30
  45. #define LOCALE_SSHORTDATE    31
  46. #define LOCALE_SLONGDATE    32
  47. #define LOCALE_STIMEFORMAT    0x1003
  48. #define LOCALE_IDATE    33
  49. #define LOCALE_ILDATE    34
  50. #define LOCALE_ITIME    35
  51. #define LOCALE_ITIMEMARKPOSN    0x1005
  52. #define LOCALE_ICENTURY    36
  53. #define LOCALE_ITLZERO    37
  54. #define LOCALE_IDAYLZERO    38
  55. #define LOCALE_IMONLZERO    39
  56. #define LOCALE_S1159    40
  57. #define LOCALE_S2359    41
  58. #define LOCALE_ICALENDARTYPE    0x1009
  59. #define LOCALE_IOPTIONALCALENDAR    0x100B
  60. #define LOCALE_IFIRSTDAYOFWEEK    0x100C
  61. #define LOCALE_IFIRSTWEEKOFYEAR    0x100D
  62. #define LOCALE_SDAYNAME1    42
  63. #define LOCALE_SDAYNAME2    43
  64. #define LOCALE_SDAYNAME3    44
  65. #define LOCALE_SDAYNAME4    45
  66. #define LOCALE_SDAYNAME5    46
  67. #define LOCALE_SDAYNAME6    47
  68. #define LOCALE_SDAYNAME7    48
  69. #define LOCALE_SABBREVDAYNAME1    49
  70. #define LOCALE_SABBREVDAYNAME2    50
  71. #define LOCALE_SABBREVDAYNAME3    51
  72. #define LOCALE_SABBREVDAYNAME4    52
  73. #define LOCALE_SABBREVDAYNAME5    53
  74. #define LOCALE_SABBREVDAYNAME6    54
  75. #define LOCALE_SABBREVDAYNAME7    55
  76. #define LOCALE_SMONTHNAME1    56
  77. #define LOCALE_SMONTHNAME2    57
  78. #define LOCALE_SMONTHNAME3    58
  79. #define LOCALE_SMONTHNAME4    59
  80. #define LOCALE_SMONTHNAME5    60
  81. #define LOCALE_SMONTHNAME6    61
  82. #define LOCALE_SMONTHNAME7    62
  83. #define LOCALE_SMONTHNAME8    63
  84. #define LOCALE_SMONTHNAME9    64
  85. #define LOCALE_SMONTHNAME10    65
  86. #define LOCALE_SMONTHNAME11    66
  87. #define LOCALE_SMONTHNAME12    67
  88. #define LOCALE_SMONTHNAME13    0x100E
  89. #define LOCALE_SABBREVMONTHNAME1    68
  90. #define LOCALE_SABBREVMONTHNAME2    69
  91. #define LOCALE_SABBREVMONTHNAME3    70
  92. #define LOCALE_SABBREVMONTHNAME4    71
  93. #define LOCALE_SABBREVMONTHNAME5    72
  94. #define LOCALE_SABBREVMONTHNAME6    73
  95. #define LOCALE_SABBREVMONTHNAME7    74
  96. #define LOCALE_SABBREVMONTHNAME8    75
  97. #define LOCALE_SABBREVMONTHNAME9    76
  98. #define LOCALE_SABBREVMONTHNAME10    77
  99. #define LOCALE_SABBREVMONTHNAME11    78
  100. #define LOCALE_SABBREVMONTHNAME12    79
  101. #define LOCALE_SABBREVMONTHNAME13    0x100F
  102. #define LOCALE_SPOSITIVESIGN    80
  103. #define LOCALE_SNEGATIVESIGN    81
  104. #define LOCALE_IPOSSIGNPOSN    82
  105. #define LOCALE_INEGSIGNPOSN    83
  106. #define LOCALE_IPOSSYMPRECEDES    84
  107. #define LOCALE_IPOSSEPBYSPACE    85
  108. #define LOCALE_INEGSYMPRECEDES    86
  109. #define LOCALE_INEGSEPBYSPACE    87
  110. #define LOCALE_FONTSIGNATURE    88
  111. #define LOCALE_SISO639LANGNAME 89
  112. #define LOCALE_SISO3166CTRYNAME 90
  113. #define LOCALE_SYSTEM_DEFAULT    0x800
  114. #define LOCALE_USER_DEFAULT    0x400
  115. #define NORM_IGNORECASE    1
  116. #define NORM_IGNOREKANATYPE    65536
  117. #define NORM_IGNORENONSPACE    2
  118. #define NORM_IGNORESYMBOLS    4
  119. #define NORM_IGNOREWIDTH    131072
  120. #define SORT_STRINGSORT    4096
  121. #define LCMAP_LOWERCASE 0x00000100
  122. #define LCMAP_UPPERCASE 0x00000200
  123. #define LCMAP_SORTKEY 0x00000400
  124. #define LCMAP_BYTEREV 0x00000800
  125. #define LCMAP_HIRAGANA 0x00100000
  126. #define LCMAP_KATAKANA 0x00200000
  127. #define LCMAP_HALFWIDTH 0x00400000
  128. #define LCMAP_FULLWIDTH 0x00800000
  129. #define LCMAP_LINGUISTIC_CASING 0x01000000
  130. #define LCMAP_SIMPLIFIED_CHINESE 0x02000000
  131. #define LCMAP_TRADITIONAL_CHINESE 0x04000000
  132. #define ENUM_ALL_CALENDARS (-1)
  133. #define DATE_SHORTDATE 1
  134. #define DATE_LONGDATE 2
  135. #define DATE_USE_ALT_CALENDAR 4
  136. #define CP_INSTALLED 1
  137. #define CP_SUPPORTED 2
  138. #define LCID_INSTALLED 1
  139. #define LCID_SUPPORTED 2
  140. #define LCID_ALTERNATE_SORTS 4
  141. #define MAP_FOLDCZONE 16
  142. #define MAP_FOLDDIGITS 128
  143. #define MAP_PRECOMPOSED 32
  144. #define MAP_COMPOSITE 64
  145. #define CP_ACP 0
  146. #define CP_OEMCP 1
  147. #define CP_MACCP 2
  148. #define CP_THREAD_ACP 3
  149. #define CP_SYMBOL 42
  150. #define CP_UTF7 65000
  151. #define CP_UTF8 65001
  152. #define CT_CTYPE1 1
  153. #define CT_CTYPE2 2
  154. #define CT_CTYPE3 4
  155. #define C1_UPPER 1
  156. #define C1_LOWER 2
  157. #define C1_DIGIT 4
  158. #define C1_SPACE 8
  159. #define C1_PUNCT 16
  160. #define C1_CNTRL 32
  161. #define C1_BLANK 64
  162. #define C1_XDIGIT 128
  163. #define C1_ALPHA 256
  164. #define C2_LEFTTORIGHT 1
  165. #define C2_RIGHTTOLEFT 2
  166. #define C2_EUROPENUMBER 3
  167. #define C2_EUROPESEPARATOR 4
  168. #define C2_EUROPETERMINATOR 5
  169. #define C2_ARABICNUMBER 6
  170. #define C2_COMMONSEPARATOR 7
  171. #define C2_BLOCKSEPARATOR 8
  172. #define C2_SEGMENTSEPARATOR 9
  173. #define C2_WHITESPACE 10
  174. #define C2_OTHERNEUTRAL 11
  175. #define C2_NOTAPPLICABLE 0
  176. #define C3_NONSPACING 1
  177. #define C3_DIACRITIC 2
  178. #define C3_VOWELMARK 4
  179. #define C3_SYMBOL 8
  180. #define C3_KATAKANA 16
  181. #define C3_HIRAGANA 32
  182. #define C3_HALFWIDTH 64
  183. #define C3_FULLWIDTH 128
  184. #define C3_IDEOGRAPH 256
  185. #define C3_KASHIDA 512
  186. #define C3_LEXICAL 1024
  187. #define C3_ALPHA 32768
  188. #define C3_NOTAPPLICABLE 0
  189. #define TIME_NOMINUTESORSECONDS 1
  190. #define TIME_NOSECONDS 2
  191. #define TIME_NOTIMEMARKER 4
  192. #define TIME_FORCE24HOURFORMAT 8
  193. #define MB_PRECOMPOSED 1
  194. #define MB_COMPOSITE 2
  195. #define MB_ERR_INVALID_CHARS 8
  196. #define MB_USEGLYPHCHARS 4
  197. #define WC_COMPOSITECHECK 512
  198. #define WC_DISCARDNS 16
  199. #define WC_SEPCHARS 32
  200. #define WC_DEFAULTCHAR 64
  201. #define CTRY_DEFAULT 0
  202. #define CTRY_ALBANIA 355
  203. #define CTRY_ALGERIA 213
  204. #define CTRY_ARGENTINA 54
  205. #define CTRY_ARMENIA 374
  206. #define CTRY_AUSTRALIA 61
  207. #define CTRY_AUSTRIA 43
  208. #define CTRY_AZERBAIJAN 994
  209. #define CTRY_BAHRAIN 973
  210. #define CTRY_BELARUS 375
  211. #define CTRY_BELGIUM 32
  212. #define CTRY_BELIZE 501
  213. #define CTRY_BOLIVIA 591
  214. #define CTRY_BRAZIL 55
  215. #define CTRY_BRUNEI_DARUSSALAM 673
  216. #define CTRY_BULGARIA 359
  217. #define CTRY_CANADA 2
  218. #define CTRY_CARIBBEAN 1
  219. #define CTRY_CHILE 56
  220. #define CTRY_COLOMBIA 57
  221. #define CTRY_COSTA_RICA 506
  222. #define CTRY_CROATIA 385
  223. #define CTRY_CZECH 420
  224. #define CTRY_DENMARK 45
  225. #define CTRY_DOMINICAN_REPUBLIC 1
  226. #define CTRY_ECUADOR 593
  227. #define CTRY_EGYPT 20
  228. #define CTRY_EL_SALVADOR 503
  229. #define CTRY_ESTONIA 372
  230. #define CTRY_FAEROE_ISLANDS 298
  231. #define CTRY_FINLAND 358
  232. #define CTRY_FRANCE 33
  233. #define CTRY_GEORGIA 995
  234. #define CTRY_GERMANY 49
  235. #define CTRY_GREECE 30
  236. #define CTRY_GUATEMALA 502
  237. #define CTRY_HONDURAS 504
  238. #define CTRY_HONG_KONG 852
  239. #define CTRY_HUNGARY 36
  240. #define CTRY_ICELAND 354
  241. #define CTRY_INDIA 91
  242. #define CTRY_INDONESIA 62
  243. #define CTRY_IRAN 981
  244. #define CTRY_IRAQ 964
  245. #define CTRY_IRELAND 353
  246. #define CTRY_ISRAEL 972
  247. #define CTRY_ITALY 39
  248. #define CTRY_JAMAICA 1
  249. #define CTRY_JAPAN 81
  250. #define CTRY_JORDAN 962
  251. #define CTRY_KAZAKSTAN 7
  252. #define CTRY_KENYA 254
  253. #define CTRY_KUWAIT 965
  254. #define CTRY_LATVIA 371
  255. #define CTRY_LEBANON 961
  256. #define CTRY_LIBYA 218
  257. #define CTRY_LIECHTENSTEIN 41
  258. #define CTRY_LITHUANIA 370
  259. #define CTRY_LUXEMBOURG 352
  260. #define CTRY_MACAU 853
  261. #define CTRY_MACEDONIA 389
  262. #define CTRY_MALAYSIA 60
  263. #define CTRY_MEXICO 52
  264. #define CTRY_MONACO 33
  265. #define CTRY_MOROCCO 212
  266. #define CTRY_NETHERLANDS 31
  267. #define CTRY_NEW_ZEALAND 64
  268. #define CTRY_NICARAGUA 505
  269. #define CTRY_NORWAY 47
  270. #define CTRY_OMAN 968
  271. #define CTRY_PAKISTAN 92
  272. #define CTRY_PANAMA 507
  273. #define CTRY_PARAGUAY 595
  274. #define CTRY_PERU 51
  275. #define CTRY_PHILIPPINES 63
  276. #define CTRY_POLAND 48
  277. #define CTRY_PORTUGAL 351
  278. #define CTRY_PRCHINA 86
  279. #define CTRY_PUERTO_RICO 1
  280. #define CTRY_QATAR 974
  281. #define CTRY_ROMANIA 40
  282. #define CTRY_RUSSIA 7
  283. #define CTRY_SAUDI_ARABIA 966
  284. #define CTRY_SERBIA 381
  285. #define CTRY_SINGAPORE 65
  286. #define CTRY_SLOVAK 421
  287. #define CTRY_SLOVENIA 386
  288. #define CTRY_SOUTH_AFRICA 27
  289. #define CTRY_SOUTH_KOREA 82
  290. #define CTRY_SPAIN 34
  291. #define CTRY_SWEDEN 46
  292. #define CTRY_SWITZERLAND 41
  293. #define CTRY_SYRIA 963
  294. #define CTRY_TAIWAN 886
  295. #define CTRY_TATARSTAN 7
  296. #define CTRY_THAILAND 66
  297. #define CTRY_TRINIDAD_Y_TOBAGO 1
  298. #define CTRY_TUNISIA 216
  299. #define CTRY_TURKEY 90
  300. #define CTRY_UAE 971
  301. #define CTRY_UKRAINE 380
  302. #define CTRY_UNITED_KINGDOM 44
  303. #define CTRY_UNITED_STATES 1
  304. #define CTRY_URUGUAY 598
  305. #define CTRY_UZBEKISTAN 7
  306. #define CTRY_VENEZUELA 58
  307. #define CTRY_VIET_NAM 84
  308. #define CTRY_YEMEN 967
  309. #define CTRY_ZIMBABWE 263
  310. #define CAL_ICALINTVALUE 1
  311. #define CAL_SCALNAME 2
  312. #define CAL_IYEAROFFSETRANGE 3
  313. #define CAL_SERASTRING 4
  314. #define CAL_SSHORTDATE 5
  315. #define CAL_SLONGDATE 6
  316. #define CAL_SDAYNAME1 7
  317. #define CAL_SDAYNAME2 8
  318. #define CAL_SDAYNAME3 9
  319. #define CAL_SDAYNAME4 10
  320. #define CAL_SDAYNAME5 11
  321. #define CAL_SDAYNAME6 12
  322. #define CAL_SDAYNAME7 13
  323. #define CAL_SABBREVDAYNAME1 14
  324. #define CAL_SABBREVDAYNAME2 15
  325. #define CAL_SABBREVDAYNAME3 16
  326. #define CAL_SABBREVDAYNAME4 17
  327. #define CAL_SABBREVDAYNAME5 18
  328. #define CAL_SABBREVDAYNAME6 19
  329. #define CAL_SABBREVDAYNAME7 20
  330. #define CAL_SMONTHNAME1 21
  331. #define CAL_SMONTHNAME2 22
  332. #define CAL_SMONTHNAME3 23
  333. #define CAL_SMONTHNAME4 24
  334. #define CAL_SMONTHNAME5 25
  335. #define CAL_SMONTHNAME6 26
  336. #define CAL_SMONTHNAME7 27
  337. #define CAL_SMONTHNAME8 28
  338. #define CAL_SMONTHNAME9 29
  339. #define CAL_SMONTHNAME10 30
  340. #define CAL_SMONTHNAME11 31
  341. #define CAL_SMONTHNAME12 32
  342. #define CAL_SMONTHNAME13 33
  343. #define CAL_SABBREVMONTHNAME1 34
  344. #define CAL_SABBREVMONTHNAME2 35
  345. #define CAL_SABBREVMONTHNAME3 36
  346. #define CAL_SABBREVMONTHNAME4 37
  347. #define CAL_SABBREVMONTHNAME5 38
  348. #define CAL_SABBREVMONTHNAME6 39
  349. #define CAL_SABBREVMONTHNAME7 40
  350. #define CAL_SABBREVMONTHNAME8 41
  351. #define CAL_SABBREVMONTHNAME9 42
  352. #define CAL_SABBREVMONTHNAME10 43
  353. #define CAL_SABBREVMONTHNAME11 44
  354. #define CAL_SABBREVMONTHNAME12 45
  355. #define CAL_SABBREVMONTHNAME13 46
  356. #define CAL_GREGORIAN 1
  357. #define CAL_GREGORIAN_US 2
  358. #define CAL_JAPAN 3
  359. #define CAL_TAIWAN 4
  360. #define CAL_KOREA 5
  361. #define CAL_HIJRI 6
  362. #define CAL_THAI 7
  363. #define CAL_HEBREW 8
  364. #define CAL_GREGORIAN_ME_FRENCH 9
  365. #define CAL_GREGORIAN_ARABIC 10
  366. #define CAL_GREGORIAN_XLIT_ENGLISH 11
  367. #define CAL_GREGORIAN_XLIT_FRENCH 12
  368. #define CSTR_LESS_THAN 1
  369. #define CSTR_EQUAL 2
  370. #define CSTR_GREATER_THAN 3
  371. #define LGRPID_INSTALLED 1
  372. #define LGRPID_SUPPORTED 2
  373. #define LGRPID_WESTERN_EUROPE 1
  374. #define LGRPID_CENTRAL_EUROPE 2
  375. #define LGRPID_BALTIC 3
  376. #define LGRPID_GREEK 4
  377. #define LGRPID_CYRILLIC 5
  378. #define LGRPID_TURKISH 6
  379. #define LGRPID_JAPANESE 7
  380. #define LGRPID_KOREAN 8
  381. #define LGRPID_TRADITIONAL_CHINESE 9
  382. #define LGRPID_SIMPLIFIED_CHINESE 10
  383. #define LGRPID_THAI 11
  384. #define LGRPID_HEBREW 12
  385. #define LGRPID_ARABIC 13
  386. #define LGRPID_VIETNAMESE 14
  387. #define LGRPID_INDIC 15
  388. #define LGRPID_GEORGIAN 16
  389. #define LGRPID_ARMENIAN 17
  390.  
  391. #if(WINVER >= 0x0500)
  392. #define LOCALE_SYEARMONTH 0x1006
  393. #define LOCALE_SENGCURRNAME 0x1007
  394. #define LOCALE_SNATIVECURRNAME 0x1008
  395. #define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
  396. #define LOCALE_SSORTNAME 0x1013
  397. #define LOCALE_IDIGITSUBSTITUTION 0x1014
  398. #define LOCALE_IPAPERSIZE 0x100A
  399. #define DATE_YEARMONTH 8
  400. #define DATE_LTRREADING 16
  401. #define DATE_RTLREADING 32
  402. #define MAP_EXPAND_LIGATURES   0x2000
  403. #define WC_NO_BEST_FIT_CHARS 1024
  404. #define CAL_SYEARMONTH 47
  405. #define CAL_ITWODIGITYEARMAX 48
  406. #define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
  407. #define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
  408. #define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
  409. #endif /* WINVER >= 0x0500 */
  410. #ifndef  _BASETSD_H
  411. typedef long LONG_PTR;
  412. #endif 
  413.  
  414. #ifndef RC_INVOKED
  415. typedef DWORD LCTYPE;
  416. typedef DWORD CALTYPE;
  417. typedef DWORD CALID;
  418. typedef DWORD LGRPID;
  419. typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
  420. typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
  421. typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXA)(LPSTR, CALID);
  422. typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
  423. typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
  424. typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
  425. typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
  426. typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
  427. typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
  428. typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
  429. typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
  430. typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
  431. typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
  432. typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
  433. typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR);
  434. typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR);
  435. typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
  436. typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
  437. typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR);
  438. typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR);
  439.  
  440. typedef struct _cpinfo {
  441.     UINT MaxCharSize;
  442.     BYTE DefaultChar[MAX_DEFAULTCHAR];
  443.     BYTE LeadByte[MAX_LEADBYTES];
  444. } CPINFO,*LPCPINFO;
  445. typedef struct _cpinfoexA {
  446.     UINT MaxCharSize;
  447.     BYTE DefaultChar[MAX_DEFAULTCHAR];
  448.     BYTE LeadByte[MAX_LEADBYTES];
  449.     WCHAR UnicodeDefaultChar;
  450.     UINT CodePage;
  451.     CHAR CodePageName[MAX_PATH];
  452. } CPINFOEXA, *LPCPINFOEXA;
  453. typedef struct _cpinfoexW {
  454.     UINT MaxCharSize;
  455.     BYTE DefaultChar[MAX_DEFAULTCHAR];
  456.     BYTE LeadByte[MAX_LEADBYTES];
  457.     WCHAR UnicodeDefaultChar;
  458.     UINT CodePage;
  459.     WCHAR CodePageName[MAX_PATH];
  460. } CPINFOEXW, *LPCPINFOEXW;
  461. typedef struct _currencyfmtA {
  462.     UINT NumDigits;
  463.     UINT LeadingZero;
  464.     UINT Grouping;
  465.     LPSTR lpDecimalSep;
  466.     LPSTR lpThousandSep;
  467.     UINT NegativeOrder;
  468.     UINT PositiveOrder;
  469.     LPSTR lpCurrencySymbol;
  470. } CURRENCYFMTA, *LPCURRENCYFMTA;
  471. typedef struct _currencyfmtW {
  472.     UINT NumDigits;
  473.     UINT LeadingZero;
  474.     UINT Grouping;
  475.     LPWSTR lpDecimalSep;
  476.     LPWSTR lpThousandSep;
  477.     UINT NegativeOrder;
  478.     UINT PositiveOrder;
  479.     LPWSTR lpCurrencySymbol;
  480. } CURRENCYFMTW, *LPCURRENCYFMTW;
  481. typedef struct _numberfmtA {
  482.     UINT NumDigits;
  483.     UINT LeadingZero;
  484.     UINT Grouping;
  485.     LPSTR lpDecimalSep;
  486.     LPSTR lpThousandSep;
  487.     UINT NegativeOrder;
  488. } NUMBERFMTA, *LPNUMBERFMTA;
  489. typedef struct _numberfmtW {
  490.     UINT NumDigits;
  491.     UINT LeadingZero;
  492.     UINT Grouping;
  493.     LPWSTR lpDecimalSep;
  494.     LPWSTR lpThousandSep;
  495.     UINT NegativeOrder;
  496. } NUMBERFMTW, *LPNUMBERFMTW;
  497.  
  498. int WINAPI CompareStringA(LCID,DWORD,LPCSTR,int,LPCSTR,int);
  499. int WINAPI CompareStringW(LCID,DWORD,LPCWSTR,int,LPCWSTR,int);
  500. LCID WINAPI ConvertDefaultLocale(LCID);
  501. BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE);
  502. BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE);
  503. BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD);
  504. BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD);
  505. BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD);
  506. BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD);
  507. BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
  508. BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD);
  509. BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD);
  510. BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD);
  511. int WINAPI FoldStringA(DWORD,LPCSTR,int,LPSTR,int);
  512. int WINAPI FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int);
  513. UINT WINAPI GetACP(void);
  514. BOOL WINAPI GetCPInfo(UINT,LPCPINFO);
  515. BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA);
  516. BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW);
  517. int WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int);
  518. int WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int);
  519. int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
  520. int WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
  521. int WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,int);
  522. int WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,int);
  523. int WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int);
  524. int WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int);
  525. UINT WINAPI GetOEMCP(void);
  526. BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,int,LPWORD);
  527. BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,int,LPWORD);
  528. BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,int,LPWORD);
  529. BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,int,LPWORD);
  530. LANGID WINAPI GetSystemDefaultLangID(void);
  531. LCID WINAPI GetSystemDefaultLCID(void);
  532. LCID WINAPI GetThreadLocale(void);
  533. int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
  534. int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
  535. LANGID WINAPI GetUserDefaultLangID(void);
  536. LCID WINAPI GetUserDefaultLCID(void);
  537. BOOL WINAPI IsDBCSLeadByte(BYTE);
  538. BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
  539. BOOL WINAPI IsValidCodePage(UINT);
  540. BOOL WINAPI IsValidLocale(LCID,DWORD);
  541. int WINAPI LCMapStringA(LCID,DWORD,LPCSTR,int,LPSTR,int);
  542. int WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,int,LPWSTR,int);
  543. int WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int);
  544. BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR);
  545. BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
  546. BOOL WINAPI SetThreadLocale(LCID);
  547. int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL);
  548. #if (WINVER >= 0x0500)
  549. BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE);
  550. BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE);
  551. BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD);
  552. BOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW,LCID,DWORD);
  553. BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA,DWORD,LONG_PTR);
  554. BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW,DWORD,LONG_PTR);
  555. BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA,LGRPID,DWORD,LONG_PTR);
  556. BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW,LGRPID,DWORD,LONG_PTR);
  557. BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA,DWORD,LONG_PTR);
  558. BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW,DWORD,LONG_PTR);
  559. LANGID WINAPI GetSystemDefaultUILanguage(void);
  560. LANGID WINAPI GetUserDefaultUILanguage(void);
  561. BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD);
  562. #endif /* (WINVER >= 0x0500) */
  563.  
  564. #ifdef UNICODE
  565. #define CALINFO_ENUMPROC CALINFO_ENUMPROCW
  566. #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
  567. #define LOCALE_ENUMPROC LOCALE_ENUMPROCW
  568. #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
  569. #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
  570. #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
  571. #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
  572. #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
  573. #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
  574. #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
  575. typedef CPINFOEXW CPINFOEX;
  576. typedef LPCPINFOEXW LPCPINFOEX;
  577. typedef CURRENCYFMTW CURRENCYFMT;
  578. typedef LPCURRENCYFMTW LPCURRENCYFMT;
  579. typedef NUMBERFMTW NUMBERFMT;
  580. typedef LPNUMBERFMTW LPNUMBERFMT;
  581. #define CompareString CompareStringW
  582. #define EnumCalendarInfo EnumCalendarInfoW
  583. #define EnumSystemCodePages EnumSystemCodePagesW
  584. #define EnumSystemLocales EnumSystemLocalesW
  585. #define EnumTimeFormats EnumTimeFormatsW
  586. #define FoldString FoldStringW
  587. #define GetCPInfoEx GetCPInfoExW
  588. #define GetCurrencyFormat GetCurrencyFormatW
  589. #define GetDateFormat GetDateFormatW
  590. #define GetLocaleInfo GetLocaleInfoW
  591. #define GetNumberFormat GetNumberFormatW
  592. #define GetStringTypeEx GetStringTypeExW
  593. #define GetTimeFormat GetTimeFormatW
  594. #define LCMapString LCMapStringW
  595. #define SetLocaleInfo SetLocaleInfoW
  596. #if (WINVER >= 0x0500)
  597. #define EnumCalendarInfoEx EnumCalendarInfoExW;
  598. #define EnumDateFormatsEx EnumDateFormatsExW;
  599. #define EnumSystemLanguageGroups EnumSystemLanguageGroupsW;
  600. #define EnumLanguageGroupLocales EnumLanguageGroupLocalesW;
  601. #define EnumUILanguages EnumUILanguagesW;
  602. #endif /* (WINVER >= 0x0500) */
  603. #else
  604. #define CALINFO_ENUMPROC CALINFO_ENUMPROCA
  605. #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
  606. #define LOCALE_ENUMPROC LOCALE_ENUMPROCA
  607. #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
  608. #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
  609. #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
  610. #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
  611. #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
  612. #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
  613. #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
  614. typedef CPINFOEXA CPINFOEX;
  615. typedef LPCPINFOEXA LPCPINFOEX;
  616. typedef CURRENCYFMTA CURRENCYFMT;
  617. typedef LPCURRENCYFMTA LPCURRENCYFMT;
  618. typedef NUMBERFMTA NUMBERFMT;
  619. typedef LPNUMBERFMTA LPNUMBERFMT;
  620. #define CompareString CompareStringA
  621. #define EnumCalendarInfo EnumCalendarInfoA
  622. #define EnumSystemCodePages EnumSystemCodePagesA
  623. #define EnumSystemLocales EnumSystemLocalesA
  624. #define EnumTimeFormats EnumTimeFormatsA
  625. #define FoldString FoldStringA
  626. #define GetCPInfoEx GetCPInfoExA
  627. #define GetCurrencyFormat GetCurrencyFormatA
  628. #define GetDateFormat GetDateFormatA
  629. #define GetLocaleInfo GetLocaleInfoA
  630. #define GetNumberFormat GetNumberFormatA
  631. #define GetStringTypeEx GetStringTypeExA
  632. #define GetTimeFormat GetTimeFormatA
  633. #define LCMapString LCMapStringA
  634. #define SetLocaleInfo SetLocaleInfoA
  635. #if (WINVER >= 0x0500)
  636. #define EnumCalendarInfoEx EnumCalendarInfoExA;
  637. #define EnumDateFormatsEx EnumDateFormatsExA;
  638. #define EnumSystemLanguageGroups EnumSystemLanguageGroupsA;
  639. #define EnumLanguageGroupLocales EnumLanguageGroupLocalesA;
  640. #define EnumUILanguages EnumUILanguagesA;
  641. #endif /* (WINVER >= 0x0500) */
  642. #endif /* UNICODE */
  643. #endif /* RC_INVOKED */
  644. #ifdef __cplusplus
  645. }
  646. #endif
  647. #endif
  648.