Create the AHCI branch for Aman's work
[reactos.git] / sdk / tools / kbdtool / kbdtool.h
1 /*
2 * PROJECT: ReactOS Build Tools [Keyboard Layout Compiler]
3 * LICENSE: BSD - See COPYING.BSD in the top level directory
4 * FILE: tools/kbdtool/kbdtool.h
5 * PURPOSE: Main Header File
6 * PROGRAMMERS: ReactOS Foundation
7 */
8
9 /* INCLUDES *******************************************************************/
10
11 #include <string.h>
12 #include <stdarg.h>
13 #include <stdio.h>
14 #include <stdlib.h>
15 #include <time.h>
16 #include <typedefs.h>
17
18 #define KEYWORD_COUNT 17
19
20 #define CHAR_NORMAL_KEY 0
21 #define CHAR_DEAD_KEY 1
22 #define CHAR_OTHER_KEY 2
23 #define CHAR_INVALID_KEY 3
24 #define CHAR_LIGATURE_KEY 4
25
26 typedef struct tagKEYNAME
27 {
28 ULONG Code;
29 PCHAR Name;
30 struct tagKEYNAME* Next;
31 } KEYNAME, *PKEYNAME;
32
33 typedef struct tagSCVK
34 {
35 USHORT ScanCode;
36 USHORT VirtualKey;
37 PCHAR Name;
38 BOOLEAN Processed;
39 } SCVK, *PSCVK;
40
41 typedef struct tagVKNAME
42 {
43 ULONG VirtualKey;
44 PCHAR Name;
45 } VKNAME, *PVKNAME;
46
47 typedef struct tagLAYOUTENTRY
48 {
49 USHORT ScanCode;
50 UCHAR VirtualKey;
51 UCHAR OriginalVirtualKey;
52 ULONG Cap;
53 ULONG StateCount;
54 ULONG CharData[8];
55 ULONG DeadCharData[8];
56 UCHAR LigatureCharData[8];
57 ULONG OtherCharData[8];
58 struct LAYOUTENTRY* CapData;
59 PCHAR Name;
60 ULONG Processed;
61 ULONG LineCount;
62 } LAYOUTENTRY, *PLAYOUTENTRY;
63
64 typedef struct tagLAYOUT
65 {
66 LAYOUTENTRY Entry[110];
67 } LAYOUT, *PLAYOUT;
68
69 PCHAR
70 getVKName(
71 IN ULONG VirtualKey,
72 IN BOOLEAN Prefix
73 );
74
75 extern BOOLEAN Verbose, UnicodeFile, SanityCheck, FallbackDriver;
76 extern PCHAR gpszFileName;
77 extern FILE* gfpInput;
78 extern VKNAME VKName[];
79 extern VKNAME Modifiers[];
80 extern SCVK ScVk[];
81 extern PCHAR StateLabel[];
82 extern PCHAR CapState[];
83 extern LAYOUT g_Layout;
84 extern CHAR gVKeyName[32];
85 extern CHAR gKBDName[10];
86 extern CHAR gCopyright[256];
87 extern CHAR gDescription[256];
88 extern CHAR gCompany[256];
89 extern CHAR gLocaleName[256];
90 extern ULONG gVersion, gSubVersion;
91
92 /* EOF */