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