Reactos
1#ifndef _INPUT_H
2#define _INPUT_H
3
4#include <stdlib.h>
5#include <wchar.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 <wingdi.h>
14#include <commctrl.h>
15#include <windowsx.h>
16#include <setupapi.h>
17#include <strsafe.h>
18#include <cpl.h>
19#include <imm32_undoc.h>
20
21#include "resource.h"
22
23typedef struct
24{
25 int idIcon;
26 int idName;
27 int idDescription;
28 APPLET_PROC AppletProc;
29} APPLET, *PAPPLET;
30
31extern HINSTANCE hApplet;
32extern BOOL g_bRebootNeeded;
33
34// Character Count of a layout ID like "00000409"
35#define CCH_LAYOUT_ID 8
36
37// Maximum Character Count of a ULONG in decimal
38#define CCH_ULONG_DEC 10
39
40#define MAX_STR_LEN 256
41
42/* settings_page.c */
43INT_PTR CALLBACK
44SettingsPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
45BOOL EnableProcessPrivileges(LPCWSTR lpPrivilegeName, BOOL bEnable);
46
47/* advanced_settings_page.c */
48INT_PTR CALLBACK
49AdvancedSettingsPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
50
51/* add_dialog.c */
52INT_PTR CALLBACK
53AddDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
54
55/* edit_dialog.c */
56INT_PTR CALLBACK
57EditDialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
58
59/* key_settings_dialog.c */
60
61typedef struct
62{
63 DWORD dwAttributes;
64 DWORD dwLanguage;
65 DWORD dwLayout;
66} KEY_SETTINGS;
67
68INT_PTR CALLBACK
69KeySettingsDialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
70
71DWORD
72ReadAttributes(VOID);
73
74/* key_sequence_dialog.c */
75INT_PTR CALLBACK
76ChangeKeySeqDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
77
78
79static inline DWORD
80DWORDfromString(const WCHAR *pszString)
81{
82 WCHAR *pszEnd;
83
84 return wcstoul(pszString, &pszEnd, 16);
85}
86
87VOID GetSystemLibraryPath(LPWSTR pszPath, INT cchPath, LPCWSTR pszFileName);
88
89#endif /* _INPUT_H */