1// Copyright 2016 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#pragma once
6
7#include <efi/types.h>
8
9#define EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID \
10    {0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}
11extern efi_guid SimpleTextInputProtocol;
12
13typedef struct {
14    uint16_t ScanCode;
15    char16_t UnicodeChar;
16} efi_input_key;
17
18typedef struct efi_simple_text_input_protocol {
19    efi_status (*Reset) (struct efi_simple_text_input_protocol* self,
20                         bool extendend_verification) EFIAPI;
21
22    efi_status (*ReadKeyStroke) (struct efi_simple_text_input_protocol* self,
23                                 efi_input_key* key) EFIAPI;
24
25    efi_event WaitForKey;
26} efi_simple_text_input_protocol;
27