home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 14 / hacker14.iso / programacao / cwin / c.exe / $INSTDIR / include / winnls.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-12-15  |  20.8 KB  |  655 lines

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