fix con_in difinition and add EFI_SIMPLE_TEXT_INPUT_PROTOCOL difinition

This commit is contained in:
Heppokoyuki 2019-12-09 14:26:13 +09:00 committed by Andrew Kelley
parent 0d99744acc
commit 5ada11449a
3 changed files with 33 additions and 2 deletions

View File

@ -5,6 +5,7 @@ pub const DevicePathProtocol = @import("protocols/device_path_protocol.zig").Dev
pub const InputKey = @import("protocols/simple_text_input_ex_protocol.zig").InputKey;
pub const KeyData = @import("protocols/simple_text_input_ex_protocol.zig").KeyData;
pub const KeyState = @import("protocols/simple_text_input_ex_protocol.zig").KeyState;
pub const SimpleTextInputProtocol = @import("protocols/simple_text_input_protocol.zig").SimpleTextInputProtocol;
pub const SimpleTextInputExProtocol = @import("protocols/simple_text_input_ex_protocol.zig").SimpleTextInputExProtocol;
pub const SimpleTextOutputMode = @import("protocols/simple_text_output_protocol.zig").SimpleTextOutputMode;

View File

@ -0,0 +1,30 @@
const uefi = @import("std").os.uefi;
const Event = uefi.Event;
const Guid = uefi.Guid;
/// Character input devices, e.g. Keyboard
pub const SimpleTextInputProtocol = extern struct {
_reset: extern fn (*const SimpleTextInputProtocol, bool) usize,
_read_key_stroke: extern fn (*const SimpleTextInputProtocol, *uefi.protocols.InputKey) usize,
wait_for_key: Event,
/// Resets the input device hardware.
pub fn reset(self: *const SimpleTextInputProtocol, verify: bool) usize {
return self._reset(self, verify);
}
/// Reads the next keystroke from the input device.
pub fn readKeyStroke(self: *const SimpleTextInputProtocol, input_key: *uefi.protocols.InputKey) usize {
return self._read_key_stroke(self, input_key);
}
pub const guid align(8) = Guid{
.time_low = 0x387477c1,
.time_mid = 0x69c7,
.time_high_and_version = 0x11d2,
.clock_seq_high_and_reserved = 0x8e,
.clock_seq_low = 0x39,
.node = [_]u8{ 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b },
};
};

View File

@ -3,7 +3,7 @@ const BootServices = uefi.tables.BootServices;
const ConfigurationTable = uefi.tables.ConfigurationTable;
const Handle = uefi.Handle;
const RuntimeServices = uefi.tables.RuntimeServices;
const SimpleTextInputExProtocol = uefi.protocols.SimpleTextInputExProtocol;
const SimpleTextInputProtocol = uefi.protocols.SimpleTextInputProtocol;
const SimpleTextOutputProtocol = uefi.protocols.SimpleTextOutputProtocol;
const TableHeader = uefi.tables.TableHeader;
@ -22,7 +22,7 @@ pub const SystemTable = extern struct {
firmware_vendor: [*]u16,
firmware_revision: u32,
console_in_handle: ?Handle,
con_in: ?*SimpleTextInputExProtocol,
con_in: ?*SimpleTextInputProtocol,
console_out_handle: ?Handle,
con_out: ?*SimpleTextOutputProtocol,
standard_error_handle: ?Handle,