ArmPkg: only attempt buildin MmCommunicationDxe for AArch64
[mirror_edk2.git] / EmbeddedPkg / Include / Protocol / PlatformVirtualKeyboard.h
CommitLineData
1df5fb2d
HZ
1/** @file\r
2\r
3 Copyright (c) 2018, Linaro. All rights reserved.\r
4\r
878b807a 5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
1df5fb2d
HZ
6\r
7**/\r
8\r
9#ifndef __PLATFORM_VIRTUAL_KEYBOARD_H__\r
10#define __PLATFORM_VIRTUAL_KEYBOARD_H__\r
11\r
12//\r
13// Protocol interface structure\r
14//\r
15typedef struct _PLATFORM_VIRTUAL_KBD_PROTOCOL PLATFORM_VIRTUAL_KBD_PROTOCOL;\r
16\r
17typedef struct _VIRTUAL_KBD_KEY VIRTUAL_KBD_KEY;\r
18\r
19#define VIRTUAL_KEYBOARD_KEY_SIGNATURE SIGNATURE_32 ('v', 'k', 'b', 'd')\r
20\r
21struct _VIRTUAL_KBD_KEY {\r
22 UINTN Signature;\r
23 EFI_INPUT_KEY Key;\r
24};\r
25\r
26typedef\r
27EFI_STATUS\r
28(EFIAPI *PLATFORM_VIRTUAL_KBD_REGISTER) (\r
29 IN VOID\r
30 );\r
31\r
32typedef\r
33EFI_STATUS\r
34(EFIAPI *PLATFORM_VIRTUAL_KBD_RESET) (\r
35 IN VOID\r
36 );\r
37\r
38typedef\r
39BOOLEAN\r
40(EFIAPI *PLATFORM_VIRTUAL_KBD_QUERY) (\r
41 IN VIRTUAL_KBD_KEY *VirtualKey\r
42 );\r
43\r
44typedef\r
45EFI_STATUS\r
46(EFIAPI *PLATFORM_VIRTUAL_KBD_CLEAR) (\r
47 IN VIRTUAL_KBD_KEY *VirtualKey\r
48 );\r
49\r
50struct _PLATFORM_VIRTUAL_KBD_PROTOCOL {\r
51 PLATFORM_VIRTUAL_KBD_REGISTER Register;\r
52 PLATFORM_VIRTUAL_KBD_RESET Reset;\r
53 PLATFORM_VIRTUAL_KBD_QUERY Query;\r
54 PLATFORM_VIRTUAL_KBD_CLEAR Clear;\r
55};\r
56\r
57extern EFI_GUID gPlatformVirtualKeyboardProtocolGuid;\r
58\r
59#endif /* __PLATFORM_VIRTUAL_KEYBOARD_H__ */\r