source: trunk/include/win/winnls.h@ 21388

Last change on this file since 21388 was 21360, checked in by vladest, 16 years ago
  1. Security interface constants and structures added
  2. Fixed conflicts of data definitions in security interface
File size: 22.7 KB
Line 
1#ifndef __WINE_WINNLS_H
2#define __WINE_WINNLS_H
3
4#ifdef HAVE_WCTYPE_H
5
6/* Sun Bug Workaround */
7#ifdef __WINE__
8# undef wsprintf
9#endif
10#include <wctype.h> /* needed for towupper */
11#endif
12
13#ifndef OS2_INCLUDED
14#include <windef.h>
15#include <winbase.h>
16#endif
17
18/* CompareString results */
19#define CSTR_LESS_THAN 1
20#define CSTR_EQUAL 2
21#define CSTR_GREATER_THAN 3
22
23#define MB_PRECOMPOSED 0x00000001
24#define MB_COMPOSITE 0x00000002
25#define MB_USEGLYPHCHARS 0x00000004
26#define MB_ERR_INVALID_CHARS 0x00000008
27
28#define LCID_INSTALLED 0x00000001
29
30/* flags to GetLocaleInfo */
31#define LOCALE_NOUSEROVERRIDE 0x80000000
32#define LOCALE_USE_CP_ACP 0x40000000
33
34#define LOCALE_LOCALEINFOFLAGSMASK 0xC0000000
35
36/* When adding new defines, don't forget to add an entry to the
37 * locale2id map in misc/ole2nls.c
38 */
39#define LOCALE_ILANGUAGE 0x00000001
40#define LOCALE_SLANGUAGE 0x00000002
41#define LOCALE_SENGLANGUAGE 0x00001001
42#define LOCALE_SABBREVLANGNAME 0x00000003
43#define LOCALE_SNATIVELANGNAME 0x00000004
44#define LOCALE_ICOUNTRY 0x00000005
45#define LOCALE_SCOUNTRY 0x00000006
46#define LOCALE_SENGCOUNTRY 0x00001002
47#define LOCALE_SABBREVCTRYNAME 0x00000007
48#define LOCALE_SNATIVECTRYNAME 0x00000008
49#define LOCALE_IDEFAULTLANGUAGE 0x00000009
50#define LOCALE_IDEFAULTCOUNTRY 0x0000000A
51#define LOCALE_IDEFAULTCODEPAGE 0x0000000B
52#define LOCALE_IDEFAULTANSICODEPAGE 0x00001004
53#define LOCALE_IDEFAULTMACCODEPAGE 0x00001011
54#define LOCALE_SLIST 0x0000000C
55#define LOCALE_IMEASURE 0x0000000D
56#define LOCALE_SDECIMAL 0x0000000E
57#define LOCALE_STHOUSAND 0x0000000F
58#define LOCALE_SGROUPING 0x00000010
59#define LOCALE_IDIGITS 0x00000011
60#define LOCALE_ILZERO 0x00000012
61#define LOCALE_INEGNUMBER 0x00001010
62#define LOCALE_SNATIVEDIGITS 0x00000013
63#define LOCALE_SCURRENCY 0x00000014
64#define LOCALE_SINTLSYMBOL 0x00000015
65#define LOCALE_SMONDECIMALSEP 0x00000016
66#define LOCALE_SMONTHOUSANDSEP 0x00000017
67#define LOCALE_SMONGROUPING 0x00000018
68#define LOCALE_ICURRDIGITS 0x00000019
69#define LOCALE_IINTLCURRDIGITS 0x0000001A
70#define LOCALE_ICURRENCY 0x0000001B
71#define LOCALE_INEGCURR 0x0000001C
72#define LOCALE_SDATE 0x0000001D
73#define LOCALE_STIME 0x0000001E
74#define LOCALE_SSHORTDATE 0x0000001F
75#define LOCALE_SLONGDATE 0x00000020
76#define LOCALE_STIMEFORMAT 0x00001003
77#define LOCALE_IDATE 0x00000021
78#define LOCALE_ILDATE 0x00000022
79#define LOCALE_ITIME 0x00000023
80#define LOCALE_ITIMEMARKPOSN 0x00001005
81#define LOCALE_ICENTURY 0x00000024
82#define LOCALE_ITLZERO 0x00000025
83#define LOCALE_IDAYLZERO 0x00000026
84#define LOCALE_IMONLZERO 0x00000027
85#define LOCALE_S1159 0x00000028
86#define LOCALE_S2359 0x00000029
87#define LOCALE_ICALENDARTYPE 0x00001009
88#define LOCALE_IOPTIONALCALENDAR 0x0000100B
89#define LOCALE_IFIRSTDAYOFWEEK 0x0000100C
90#define LOCALE_IFIRSTWEEKOFYEAR 0x0000100D
91#define LOCALE_SDAYNAME1 0x0000002A
92#define LOCALE_SDAYNAME2 0x0000002B
93#define LOCALE_SDAYNAME3 0x0000002C
94#define LOCALE_SDAYNAME4 0x0000002D
95#define LOCALE_SDAYNAME5 0x0000002E
96#define LOCALE_SDAYNAME6 0x0000002F
97#define LOCALE_SDAYNAME7 0x00000030
98#define LOCALE_SABBREVDAYNAME1 0x00000031
99#define LOCALE_SABBREVDAYNAME2 0x00000032
100#define LOCALE_SABBREVDAYNAME3 0x00000033
101#define LOCALE_SABBREVDAYNAME4 0x00000034
102#define LOCALE_SABBREVDAYNAME5 0x00000035
103#define LOCALE_SABBREVDAYNAME6 0x00000036
104#define LOCALE_SABBREVDAYNAME7 0x00000037
105#define LOCALE_SMONTHNAME1 0x00000038
106#define LOCALE_SMONTHNAME2 0x00000039
107#define LOCALE_SMONTHNAME3 0x0000003A
108#define LOCALE_SMONTHNAME4 0x0000003B
109#define LOCALE_SMONTHNAME5 0x0000003C
110#define LOCALE_SMONTHNAME6 0x0000003D
111#define LOCALE_SMONTHNAME7 0x0000003E
112#define LOCALE_SMONTHNAME8 0x0000003F
113#define LOCALE_SMONTHNAME9 0x00000040
114#define LOCALE_SMONTHNAME10 0x00000041
115#define LOCALE_SMONTHNAME11 0x00000042
116#define LOCALE_SMONTHNAME12 0x00000043
117#define LOCALE_SMONTHNAME13 0x0000100E
118#define LOCALE_SABBREVMONTHNAME1 0x00000044
119#define LOCALE_SABBREVMONTHNAME2 0x00000045
120#define LOCALE_SABBREVMONTHNAME3 0x00000046
121#define LOCALE_SABBREVMONTHNAME4 0x00000047
122#define LOCALE_SABBREVMONTHNAME5 0x00000048
123#define LOCALE_SABBREVMONTHNAME6 0x00000049
124#define LOCALE_SABBREVMONTHNAME7 0x0000004A
125#define LOCALE_SABBREVMONTHNAME8 0x0000004B
126#define LOCALE_SABBREVMONTHNAME9 0x0000004C
127#define LOCALE_SABBREVMONTHNAME10 0x0000004D
128#define LOCALE_SABBREVMONTHNAME11 0x0000004E
129#define LOCALE_SABBREVMONTHNAME12 0x0000004F
130#define LOCALE_SABBREVMONTHNAME13 0x0000100F
131#define LOCALE_SPOSITIVESIGN 0x00000050
132#define LOCALE_SNEGATIVESIGN 0x00000051
133#define LOCALE_IPOSSIGNPOSN 0x00000052
134#define LOCALE_INEGSIGNPOSN 0x00000053
135#define LOCALE_IPOSSYMPRECEDES 0x00000054
136#define LOCALE_IPOSSEPBYSPACE 0x00000055
137#define LOCALE_INEGSYMPRECEDES 0x00000056
138#define LOCALE_INEGSEPBYSPACE 0x00000057
139#define LOCALE_FONTSIGNATURE 0x00000058
140#define LOCALE_SISO639LANGNAME 0x00000059
141#define LOCALE_SISO3166CTRYNAME 0x0000005A
142
143#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x00001012
144#define LOCALE_IPAPERSIZE 0x0000100A
145#define LOCALE_SENGCURRNAME 0x00001007
146#define LOCALE_SNATIVECURRNAME 0x00001008
147#define LOCALE_SYEARMONTH 0x00001006
148#define LOCALE_SSORTNAME 0x00001013
149#define LOCALE_IDIGITSUBSTITUTION 0x00001014
150
151#ifdef __WIN32OS2__
152#define LCID_INSTALLED 0x00000001 /* installed locale ids */
153#define LCID_SUPPORTED 0x00000002 /* supported locale ids */
154#endif
155
156#define NORM_IGNORECASE 1
157#define NORM_IGNORENONSPACE 2
158#define NORM_IGNORESYMBOLS 4
159#define NORM_STRINGSORT 0x1000
160#define NORM_IGNOREKANATYPE 0x00010000
161#define NORM_IGNOREWIDTH 0x00020000
162
163#define CP_ACP 0
164#define CP_OEMCP 1
165#define CP_MACCP 2
166#define CP_THREAD_ACP 3
167#define CP_SYMBOL 42
168#define CP_UTF7 65000
169#define CP_UTF8 65001
170
171#define WC_DISCARDNS 0x00000010
172#define WC_SEPCHARS 0x00000020
173#define WC_DEFAULTCHAR 0x00000040
174#define WC_COMPOSITECHECK 0x00000200
175#define WC_NO_BEST_FIT_CHARS 0x00000400
176
177#define WC_DEFAULTCHECK 0x00000100
178
179/* Locale Dependent Mapping Flags */
180#define LCMAP_LOWERCASE 0x00000100 /* lower case letters */
181#define LCMAP_UPPERCASE 0x00000200 /* upper case letters */
182#define LCMAP_SORTKEY 0x00000400 /* WC sort key (normalize) */
183#define LCMAP_BYTEREV 0x00000800 /* byte reversal */
184
185#define SORT_STRINGSORT 0x00001000 /* take punctuation into account */
186
187#define LCMAP_HIRAGANA 0x00100000 /* map katakana to hiragana */
188#define LCMAP_KATAKANA 0x00200000 /* map hiragana to katakana */
189#define LCMAP_HALFWIDTH 0x00400000 /* map double byte to single byte */
190#define LCMAP_FULLWIDTH 0x00800000 /* map single byte to double byte */
191
192/* Date Flags for GetDateFormat. */
193
194#define DATE_SHORTDATE 0x00000001 /* use short date picture */
195#define DATE_LONGDATE 0x00000002 /* use long date picture */
196#define DATE_USE_ALT_CALENDAR 0x00000004 /* use alternate calendar */
197 /* alt. calendar support is broken anyway */
198
199#define TIME_FORCE24HOURFORMAT 0x00000008 /* force 24 hour format*/
200#define TIME_NOTIMEMARKER 0x00000004 /* show no AM/PM */
201#define TIME_NOSECONDS 0x00000002 /* show no seconds */
202#define TIME_NOMINUTESORSECONDS 0x0000001 /* show no minutes either */
203
204/* internal flags for GetDateFormat system */
205#define DATE_DATEVARSONLY 0x00000100 /* only date stuff: yMdg */
206#define TIME_TIMEVARSONLY 0x00000200 /* only time stuff: hHmst */
207/* use this in a WineLib program if you really want all types */
208#define LOCALE_TIMEDATEBOTH 0x00000300 /* full set */
209
210/* Definitions for IsTextUnicode() function */
211#define IS_TEXT_UNICODE_ASCII16 0x0001
212#define IS_TEXT_UNICODE_SIGNATURE 0x0008
213#define IS_TEXT_UNICODE_REVERSE_ASCII16 0x0010
214#define IS_TEXT_UNICODE_REVERSE_SIGNATURE 0x0080
215#define IS_TEXT_UNICODE_ILLEGAL_CHARS 0x0100
216#define IS_TEXT_UNICODE_ODD_LENGTH 0x0200
217
218/* Tests that we currently implement */
219#define ITU_IMPLEMENTED_TESTS \
220 IS_TEXT_UNICODE_SIGNATURE| \
221 IS_TEXT_UNICODE_ODD_LENGTH
222
223
224/* Character Type Flags */
225#ifdef CT_CTYPE1
226# undef CT_CTYPE1
227#endif
228
229#ifdef CT_CTYPE2
230# undef CT_CTYPE2
231#endif
232
233#ifdef CT_CTYPE3
234# undef CT_CTYPE3
235#endif
236
237
238#define CT_CTYPE1 0x00000001 /* usual ctype */
239#define CT_CTYPE2 0x00000002 /* bidirectional layout info */
240#define CT_CTYPE3 0x00000004 /* textprocessing info */
241
242
243
244/* CType 1 Flag Bits */
245#ifdef C1_UPPER
246# undef C1_UPPER
247#endif
248
249#ifdef C1_LOWER
250# undef C1_LOWER
251#endif
252
253#ifdef C1_DIGIT
254# undef C1_DIGIT
255#endif
256
257#ifdef C1_SPACE
258# undef C1_SPACE
259#endif
260
261#ifdef C1_PUNCT
262# undef C1_PUNCT
263#endif
264
265#ifdef C1_CNTRL
266# undef C1_CNTRL
267#endif
268
269#ifdef C1_BLANK
270# undef C1_BLANK
271#endif
272
273#ifdef C1_XDIGIT
274# undef C1_XDIGIT
275#endif
276
277#ifdef C1_ALPHA
278# undef C1_ALPHA
279#endif
280
281
282#define C1_UPPER 0x0001
283#define C1_LOWER 0x0002
284#define C1_DIGIT 0x0004
285#define C1_SPACE 0x0008
286#define C1_PUNCT 0x0010
287#define C1_CNTRL 0x0020
288#define C1_BLANK 0x0040
289#define C1_XDIGIT 0x0080
290#define C1_ALPHA 0x0100
291
292
293/* CType 2 Flag Bits */
294#ifdef C2_LEFTTORIGHT
295# undef C2_LEFTTORIGHT
296#endif
297
298#ifdef C2_RIGHTTOLEFT
299# undef C2_RIGHTTOLEFT
300#endif
301
302#ifdef C2_EUROPENUMBER
303# undef C2_EUROPENUMBER
304#endif
305
306#ifdef C2_EUROPESEPARATOR
307# undef C2_EUROPESEPARATOR
308#endif
309
310#ifdef C2_EUROPETERMINATOR
311# undef C2_EUROPETERMINATOR
312#endif
313
314#ifdef C2_ARABICNUMBER
315# undef C2_ARABICNUMBER
316#endif
317
318#ifdef C2_COMMONSEPARATOR
319# undef C2_COMMONSEPARATOR
320#endif
321
322#ifdef C2_BLOCKSEPARATOR
323# undef C2_BLOCKSEPARATOR
324#endif
325
326#ifdef C2_SEGMENTSEPARATOR
327# undef C2_SEGMENTSEPARATOR
328#endif
329
330#ifdef C2_WHITESPACE
331# undef C2_WHITESPACE
332#endif
333
334#ifdef C2_OTHERNEUTRAL
335# undef C2_OTHERNEUTRAL
336#endif
337
338#ifdef C2_NOTAPPLICABLE
339# undef C2_NOTAPPLICABLE
340#endif
341
342
343#define C2_LEFTTORIGHT 0x0001
344#define C2_RIGHTTOLEFT 0x0002
345#define C2_EUROPENUMBER 0x0003
346#define C2_EUROPESEPARATOR 0x0004
347#define C2_EUROPETERMINATOR 0x0005
348#define C2_ARABICNUMBER 0x0006
349#define C2_COMMONSEPARATOR 0x0007
350#define C2_BLOCKSEPARATOR 0x0008
351#define C2_SEGMENTSEPARATOR 0x0009
352#define C2_WHITESPACE 0x000A
353#define C2_OTHERNEUTRAL 0x000B
354#define C2_NOTAPPLICABLE 0x0000
355
356/* CType 3 Flag Bits */
357#define C3_NONSPACING 0x0001
358#define C3_DIACRITIC 0x0002
359#define C3_VOWELMARK 0x0004
360#define C3_SYMBOL 0x0008
361#define C3_KATAKANA 0x0010
362#define C3_HIRAGANA 0x0020
363#define C3_HALFWIDTH 0x0040
364#define C3_FULLWIDTH 0x0080
365#define C3_IDEOGRAPH 0x0100
366#define C3_KASHIDA 0x0200
367#define C3_LEXICAL 0x0400
368#define C3_ALPHA 0x8000
369#define C3_NOTAPPLICABLE 0x0000
370
371/* Code page information.
372 */
373#define MAX_LEADBYTES 12
374#define MAX_DEFAULTCHAR 2
375
376/* Defines for calendar handling */
377#define CAL_ICALINTVALUE 0x00000001
378#define CAL_SCALNAME 0x00000002
379#define CAL_IYEAROFFSETRANGE 0x00000003
380#define CAL_SERASTRING 0x00000004
381#define CAL_SSHORTDATE 0x00000005
382#define CAL_SLONGDATE 0x00000006
383#define CAL_SDAYNAME1 0x00000007
384#define CAL_SDAYNAME2 0x00000008
385#define CAL_SDAYNAME3 0x00000009
386#define CAL_SDAYNAME4 0x0000000a
387#define CAL_SDAYNAME5 0x0000000b
388#define CAL_SDAYNAME6 0x0000000c
389#define CAL_SDAYNAME7 0x0000000d
390#define CAL_SABBREVDAYNAME1 0x0000000e
391#define CAL_SABBREVDAYNAME2 0x0000000f
392#define CAL_SABBREVDAYNAME3 0x00000010
393#define CAL_SABBREVDAYNAME4 0x00000011
394#define CAL_SABBREVDAYNAME5 0x00000012
395#define CAL_SABBREVDAYNAME6 0x00000013
396#define CAL_SABBREVDAYNAME7 0x00000014
397#define CAL_SMONTHNAME1 0x00000015
398#define CAL_SMONTHNAME2 0x00000016
399#define CAL_SMONTHNAME3 0x00000017
400#define CAL_SMONTHNAME4 0x00000018
401#define CAL_SMONTHNAME5 0x00000019
402#define CAL_SMONTHNAME6 0x0000001a
403#define CAL_SMONTHNAME7 0x0000001b
404#define CAL_SMONTHNAME8 0x0000001c
405#define CAL_SMONTHNAME9 0x0000001d
406#define CAL_SMONTHNAME10 0x0000001e
407#define CAL_SMONTHNAME11 0x0000001f
408#define CAL_SMONTHNAME12 0x00000020
409#define CAL_SMONTHNAME13 0x00000021
410#define CAL_SABBREVMONTHNAME1 0x00000022
411#define CAL_SABBREVMONTHNAME2 0x00000023
412#define CAL_SABBREVMONTHNAME3 0x00000024
413#define CAL_SABBREVMONTHNAME4 0x00000025
414#define CAL_SABBREVMONTHNAME5 0x00000026
415#define CAL_SABBREVMONTHNAME6 0x00000027
416#define CAL_SABBREVMONTHNAME7 0x00000028
417#define CAL_SABBREVMONTHNAME8 0x00000029
418#define CAL_SABBREVMONTHNAME9 0x0000002a
419#define CAL_SABBREVMONTHNAME10 0x0000002b
420#define CAL_SABBREVMONTHNAME11 0x0000002c
421#define CAL_SABBREVMONTHNAME12 0x0000002d
422#define CAL_SABBREVMONTHNAME13 0x0000002e
423#define CAL_SYEARMONTH 0x0000002f
424#define CAL_GREGORIAN 1
425#define CAL_GREGORIAN_US 2
426#define CAL_JAPAN 3
427#define CAL_TAIWAN 4
428#define CAL_KOREA 5
429#define CAL_HIJRI 6
430#define CAL_THAI 7
431#define CAL_HEBREW 8
432#define CAL_GREGORIAN_ME_FRENCH 9
433#define CAL_GREGORIAN_ARABIC 10
434#define CAL_GREGORIAN_XLIT_ENGLISH 11
435#define CAL_GREGORIAN_XLIT_FRENCH 12
436
437typedef DWORD CALTYPE;
438typedef DWORD CALID;
439
440
441#ifndef OS2_INCLUDED
442
443/* Define a bunch of callback types */
444
445#if defined(STRICT) || defined(__WINE__)
446typedef BOOL (* CALLBACK CALINFO_ENUMPROCA)(LPSTR);
447typedef BOOL (* CALLBACK CALINFO_ENUMPROCW)(LPWSTR);
448typedef BOOL (* CALLBACK CALINFO_ENUMPROCEXA)(LPSTR,CALID);
449typedef BOOL (* CALLBACK CALINFO_ENUMPROCEXW)(LPWSTR,CALID);
450typedef BOOL (* CALLBACK CODEPAGE_ENUMPROCA)(LPSTR);
451typedef BOOL (* CALLBACK CODEPAGE_ENUMPROCW)(LPWSTR);
452typedef BOOL (* CALLBACK DATEFMT_ENUMPROCA)(LPSTR);
453typedef BOOL (* CALLBACK DATEFMT_ENUMPROCW)(LPWSTR);
454typedef BOOL (* CALLBACK DATEFMT_ENUMPROCEXA)(LPSTR,CALID);
455typedef BOOL (* CALLBACK DATEFMT_ENUMPROCEXW)(LPWSTR,CALID);
456typedef BOOL (* CALLBACK LOCALE_ENUMPROCA)(LPSTR);
457typedef BOOL (* CALLBACK LOCALE_ENUMPROCW)(LPWSTR);
458typedef BOOL (* CALLBACK TIMEFMT_ENUMPROCA)(LPSTR);
459typedef BOOL (* CALLBACK TIMEFMT_ENUMPROCW)(LPWSTR);
460#else
461typedef FARPROC CALINFO_ENUMPROCA;
462typedef FARPROC CALINFO_ENUMPROCW;
463typedef FARPROC CALINFO_ENUMPROCEXA;
464typedef FARPROC CALINFO_ENUMPROCEXW;
465typedef FARPROC CODEPAGE_ENUMPROCA;
466typedef FARPROC CODEPAGE_ENUMPROCW;
467typedef FARPROC DATEFMT_ENUMPROCA;
468typedef FARPROC DATEFMT_ENUMPROCW;
469typedef FARPROC DATEFMT_ENUMPROCEXA;
470typedef FARPROC DATEFMT_ENUMPROCEXW;
471typedef FARPROC LOCALE_ENUMPROCA;
472typedef FARPROC LOCALE_ENUMPROCW;
473typedef FARPROC TIMEFMT_ENUMPROCA;
474typedef FARPROC TIMEFMT_ENUMPROCW;
475#endif /* STRICT || __WINE__ */
476
477DECL_WINELIB_TYPE_AW(CALINFO_ENUMPROC)
478DECL_WINELIB_TYPE_AW(CALINFO_ENUMPROCEX)
479DECL_WINELIB_TYPE_AW(CODEPAGE_ENUMPROC)
480DECL_WINELIB_TYPE_AW(DATEFMT_ENUMPROC)
481DECL_WINELIB_TYPE_AW(DATEFMT_ENUMPROCEX)
482DECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC)
483DECL_WINELIB_TYPE_AW(TIMEFMT_ENUMPROC)
484
485
486typedef struct
487{
488 UINT MaxCharSize;
489 BYTE DefaultChar[MAX_DEFAULTCHAR];
490 BYTE LeadByte[MAX_LEADBYTES];
491} CPINFO, *LPCPINFO;
492
493typedef struct
494{
495 UINT MaxCharSize;
496 BYTE DefaultChar[MAX_DEFAULTCHAR];
497 BYTE LeadByte[MAX_LEADBYTES];
498 WCHAR UnicodeDefaultChar;
499 UINT CodePage;
500 CHAR CodePageName[MAX_PATH];
501} CPINFOEXA, *LPCPINFOEXA;
502
503typedef struct
504{
505 UINT MaxCharSize;
506 BYTE DefaultChar[MAX_DEFAULTCHAR];
507 BYTE LeadByte[MAX_LEADBYTES];
508 WCHAR UnicodeDefaultChar;
509 UINT CodePage;
510 WCHAR CodePageName[MAX_PATH];
511} CPINFOEXW, *LPCPINFOEXW;
512
513DECL_WINELIB_TYPE_AW(CPINFOEX)
514DECL_WINELIB_TYPE_AW(LPCPINFOEX)
515
516typedef struct _numberfmtA {
517 UINT NumDigits;
518 UINT LeadingZero;
519 UINT Grouping;
520 LPSTR lpDecimalSep;
521 LPSTR lpThousandSep;
522 UINT NegativeOrder;
523} NUMBERFMTA, *LPNUMBERFMTA;
524
525typedef struct _numberfmtW {
526 UINT NumDigits;
527 UINT LeadingZero;
528 UINT Grouping;
529 LPWSTR lpDecimalSep;
530 LPWSTR lpThousandSep;
531 UINT NegativeOrder;
532} NUMBERFMTW, *LPNUMBERFMTW;
533
534DECL_WINELIB_TYPE_AW(NUMBERFMT)
535DECL_WINELIB_TYPE_AW(LPNUMBERFMT)
536
537typedef struct _currencyfmtA {
538 UINT NumDigits;
539 UINT LeadingZero;
540 UINT Grouping;
541 LPSTR lpDecimalSep;
542 LPSTR lpThousandSep;
543 UINT NegativeOrder;
544 UINT PositiveOrder;
545 LPSTR lpCurrencySymbol;
546} CURRENCYFMTA, *LPCURRENCYFMTA;
547
548typedef struct _currencyfmtW {
549 UINT NumDigits;
550 UINT LeadingZero;
551 UINT Grouping;
552 LPWSTR lpDecimalSep;
553 LPWSTR lpThousandSep;
554 UINT NegativeOrder;
555 UINT PositiveOrder;
556 LPWSTR lpCurrencySymbol;
557} CURRENCYFMTW, *LPCURRENCYFMTW;
558
559/* APIs
560 */
561
562UINT WINAPI CompareStringA(LCID,DWORD,LPCSTR,DWORD,LPCSTR,DWORD);
563UINT WINAPI CompareStringW(LCID,DWORD,LPCWSTR,DWORD,LPCWSTR,DWORD);
564#define CompareString WINELIB_NAME_AW(CompareString)
565LCID WINAPI ConvertDefaultLocale(LCID);
566BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE);
567BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE);
568#define EnumCalendarInfo WINELIB_NAME_AW(EnumCalendarInfo)
569BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE);
570BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE);
571#define EnumCalendarInfoEx WINELIB_NAME_AW(EnumCalendarInfoEx)
572BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD);
573BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD);
574#define EnumDateFormats WINELIB_NAME_AW(EnumDateFormats)
575BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD);
576BOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW,LCID,DWORD);
577#define EnumDateFormatsEx WINELIB_NAME_AW(EnumDateFormatsEx)
578BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD);
579BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD);
580#define EnumSystemCodePages WINELIB_NAME_AW(EnumSystemCodePages)
581BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
582BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD);
583#define EnumSystemLocales WINELIB_NAME_AW(EnumSystemLocales)
584BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD);
585BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD);
586#define EnumTimeFormats WINELIB_NAME_AW(EnumTimeFormats)
587int WINAPI FoldStringA(DWORD,LPCSTR,int,LPSTR,int);
588int WINAPI FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int);
589#define FoldString WINELIB_NAME_AW(FoldString)
590UINT WINAPI GetACP(void);
591BOOL WINAPI GetCPInfo(UINT,LPCPINFO);
592BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA);
593BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW);
594#define GetCPInfoEx WINELIB_NAME_AW(GetCPInfoEx)
595INT WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int);
596INT WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int);
597#define GetCurrencyFormat WINELIB_NAME_AW(GetCurrencyFormat)
598INT WINAPI GetDateFormatA(LCID,DWORD,CONST SYSTEMTIME*,LPCSTR,LPSTR,INT);
599INT WINAPI GetDateFormatW(LCID,DWORD,CONST SYSTEMTIME*,LPCWSTR,LPWSTR,INT);
600#define GetDateFormat WINELIB_NAME_AW(GetDateFormat)
601INT WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,INT);
602INT WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,INT);
603#define GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo)
604INT WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int);
605INT WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int);
606#define GetNumberFormat WINELIB_NAME_AW(GetNumberFormat)
607UINT WINAPI GetOEMCP(void);
608BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,INT,LPWORD);
609BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,INT,LPWORD);
610BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,INT,LPWORD);
611BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,INT,LPWORD);
612#define GetStringTypeEx WINELIB_NAME_AW(GetStringTypeEx)
613LANGID WINAPI GetSystemDefaultLangID(void);
614LCID WINAPI GetSystemDefaultLCID(void);
615LCID WINAPI GetThreadLocale(void);
616INT WINAPI GetTimeFormatA(LCID,DWORD,CONST SYSTEMTIME*,LPCSTR,LPSTR,INT);
617INT WINAPI GetTimeFormatW(LCID,DWORD,CONST SYSTEMTIME*,LPCWSTR,LPWSTR,INT);
618#define GetTimeFormat WINELIB_NAME_AW(GetTimeFormat)
619LANGID WINAPI GetUserDefaultLangID(void);
620LCID WINAPI GetUserDefaultLCID(void);
621BOOL WINAPI IsDBCSLeadByte(BYTE);
622BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
623BOOL WINAPI IsValidCodePage(UINT);
624BOOL WINAPI IsValidLocale(LCID,DWORD);
625INT WINAPI LCMapStringA(LCID,DWORD,LPCSTR,INT,LPSTR,INT);
626INT WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,INT,LPWSTR,INT);
627#define LCMapString WINELIB_NAME_AW(LCMapString)
628INT WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,INT,LPWSTR,INT);
629BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR);
630BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
631#define SetLocaleInfo WINELIB_NAME_AW(SetLocaleInfo)
632BOOL WINAPI SetThreadLocale(LCID);
633INT WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,INT,LPSTR,INT,LPCSTR,LPBOOL);
634
635#endif //#ifndef OS2_INCLUDED
636
637#endif /* __WINE_WINNLS_H */
Note: See TracBrowser for help on using the repository browser.