34b875e6ba6fda79bb06bcbe351f1b51ecca1c7a
[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 GEOID geoid;
58 BOOL fGeoIdChanged;
59
60 LCID lcid;
61 DWORD dwLocaleCount;
62 PWSTR *pLocaleArray;
63 BOOL fUserLocaleChanged;
64 } GLOBALDATA, *PGLOBALDATA;
65
66 extern HINSTANCE hApplet;
67 extern DWORD IsUnattendedSetupEnabled;
68 extern DWORD UnattendLCID;
69
70 /* intl.c */
71 VOID PrintErrorMsgBox(UINT msg);
72
73 /* languages.c */
74 INT_PTR CALLBACK
75 LanguagesPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
76
77 /* advanced.c */
78 INT_PTR CALLBACK
79 AdvancedPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
80 VOID
81 SetNonUnicodeLang(HWND hwnd, LCID lcid);
82
83 /* currency.c */
84 INT_PTR CALLBACK
85 CurrencyPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
86
87 /* date.c */
88 INT_PTR CALLBACK
89 DatePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
90
91 /* general.c */
92 INT_PTR CALLBACK
93 GeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
94
95 /* locale.c */
96 INT_PTR CALLBACK
97 InpLocalePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
98
99 /* numbers.h */
100 INT_PTR CALLBACK
101 NumbersPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
102
103 /* time.c */
104 INT_PTR CALLBACK
105 TimePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
106
107 /* sort.c */
108 BOOL
109 IsSortPageNeeded(LCID lcid);
110
111 INT_PTR CALLBACK
112 SortPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
113
114 /* misc.c */
115 LPTSTR
116 InsSpacesFmt(LPCTSTR szSourceStr, LPCTSTR szFmtStr);
117
118 LPTSTR
119 ReplaceSubStr(LPCTSTR szSourceStr, LPCTSTR szStrToReplace, LPCTSTR szTempl);
120
121 LONG
122 APIENTRY
123 SetupApplet(HWND hwndDlg, PGLOBALDATA pGlobalData);
124
125 /* kblayouts.c */
126 VOID AddNewKbLayoutsByLcid(LCID Lcid);
127
128 #endif /* _INTL_H */