[INTL]
[reactos.git] / reactos / dll / cpl / intl / intl.h
1 #ifndef _INTL_H
2 #define _INTL_H
3
4 #include <stdarg.h>
5 #include <stdlib.h>
6
7 #define WIN32_NO_STATUS
8 #include <windef.h>
9 #include <winbase.h>
10 #include <winnls.h>
11 #include <winreg.h>
12 #include <winuser.h>
13 #include <cpl.h>
14 #include <setupapi.h>
15 #include <tchar.h>
16 #include <malloc.h>
17 #include <ndk/exfuncs.h>
18
19 #include "resource.h"
20
21 #define DECIMAL_RADIX 10
22
23 /* Limits */
24 #define MAX_FMT_SIZE 30
25 #define MAX_STR_SIZE 128
26 #define MAX_SAMPLES_STR_SIZE 70
27
28 #define MAX_NUMBERDSYMBOL 3
29 #define MAX_NUMBERSDIGITGRSYM 3
30 #define MAX_NUMBERSNSIGNSYM 4
31 #define MAX_NUMBERSLSEP 3
32
33 #define MAX_CURRENCYSYMBOL 5
34 #define MAX_CURRENCYDECSEP 3
35 #define MAX_CURRENCYGRPSEP 3
36
37 #define MAX_TIMEFORMAT 80
38 #define MAX_TIMESEPARATOR 3
39 #define MAX_TIMEAMSYMBOL 12
40 #define MAX_TIMEPMSYMBOL 12
41
42 #define MAX_SHRTDATEFMT 80
43 #define MAX_SHRTDATESEP 3
44 #define MAX_LONGDATEFMT 80
45 #define MAX_YEAR_EDIT 4
46
47 typedef struct _APPLET
48 {
49 UINT idIcon;
50 UINT idName;
51 UINT idDescription;
52 APPLET_PROC AppletProc;
53 } APPLET, *PAPPLET;
54
55 typedef struct _GLOBALDATA
56 {
57 BOOL bApplyToDefaultUser;
58
59 GEOID geoid;
60 BOOL fGeoIdChanged;
61
62 LCID lcid;
63 DWORD dwLocaleCount;
64 PWSTR *pLocaleArray;
65 BOOL fUserLocaleChanged;
66 } GLOBALDATA, *PGLOBALDATA;
67
68 extern HINSTANCE hApplet;
69 extern DWORD IsUnattendedSetupEnabled;
70 extern DWORD UnattendLCID;
71
72 /* intl.c */
73 VOID PrintErrorMsgBox(UINT msg);
74
75 VOID
76 ResourceMessageBox(
77 HWND hwnd,
78 UINT uType,
79 UINT uCaptionId,
80 UINT uMessageId);
81
82 /* languages.c */
83 INT_PTR CALLBACK
84 LanguagesPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
85
86 /* advanced.c */
87 INT_PTR CALLBACK
88 AdvancedPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
89 VOID
90 SetNonUnicodeLang(HWND hwnd, LCID lcid);
91
92 /* currency.c */
93 INT_PTR CALLBACK
94 CurrencyPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
95
96 /* date.c */
97 INT_PTR CALLBACK
98 DatePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
99
100 /* general.c */
101 INT_PTR CALLBACK
102 GeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
103
104 /* locale.c */
105 INT_PTR CALLBACK
106 InpLocalePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
107
108 /* numbers.h */
109 INT_PTR CALLBACK
110 NumbersPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
111
112 /* time.c */
113 INT_PTR CALLBACK
114 TimePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
115
116 /* sort.c */
117 BOOL
118 IsSortPageNeeded(LCID lcid);
119
120 INT_PTR CALLBACK
121 SortPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
122
123 /* misc.c */
124 LPTSTR
125 InsSpacesFmt(LPCTSTR szSourceStr, LPCTSTR szFmtStr);
126
127 LPTSTR
128 ReplaceSubStr(LPCTSTR szSourceStr, LPCTSTR szStrToReplace, LPCTSTR szTempl);
129
130 LONG
131 APIENTRY
132 SetupApplet(HWND hwndDlg, PGLOBALDATA pGlobalData);
133
134 /* kblayouts.c */
135 VOID AddNewKbLayoutsByLcid(LCID Lcid);
136
137 #endif /* _INTL_H */