authorgravatar for yuki@uefi.jpHeppokoyuki <yuki@uefi.jp> 2019-12-09 14:26:13+09:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-12-10 13:25:28-05:00
log5ada11449af8dac711bb977662ad5738fde44c14
tree699c7e9a96f5ba3966ad8af36d56e255bed98833
parent0d99744acc63ff44091f9664888b788c29b7c72a

fix con_in difinition and add EFI_SIMPLE_TEXT_INPUT_PROTOCOL difinition


3 files changed, 33 insertions(+), 2 deletions(-)

lib/std/os/uefi/protocols.zig+1
......@@ -5,6 +5,7 @@ pub const DevicePathProtocol = @import("protocols/device_path_protocol.zig").Dev
55pub const InputKey = @import("protocols/simple_text_input_ex_protocol.zig").InputKey;
66pub const KeyData = @import("protocols/simple_text_input_ex_protocol.zig").KeyData;
77pub const KeyState = @import("protocols/simple_text_input_ex_protocol.zig").KeyState;
8pub const SimpleTextInputProtocol = @import("protocols/simple_text_input_protocol.zig").SimpleTextInputProtocol;
89pub const SimpleTextInputExProtocol = @import("protocols/simple_text_input_ex_protocol.zig").SimpleTextInputExProtocol;
910
1011pub const SimpleTextOutputMode = @import("protocols/simple_text_output_protocol.zig").SimpleTextOutputMode;
lib/std/os/uefi/protocols/simple_text_input_protocol.zig created+30
......@@ -0,0 +1,30 @@
1const uefi = @import("std").os.uefi;
2const Event = uefi.Event;
3const Guid = uefi.Guid;
4
5/// Character input devices, e.g. Keyboard
6pub const SimpleTextInputProtocol = extern struct {
7 _reset: extern fn (*const SimpleTextInputProtocol, bool) usize,
8 _read_key_stroke: extern fn (*const SimpleTextInputProtocol, *uefi.protocols.InputKey) usize,
9 wait_for_key: Event,
10
11 /// Resets the input device hardware.
12 pub fn reset(self: *const SimpleTextInputProtocol, verify: bool) usize {
13 return self._reset(self, verify);
14 }
15
16 /// Reads the next keystroke from the input device.
17 pub fn readKeyStroke(self: *const SimpleTextInputProtocol, input_key: *uefi.protocols.InputKey) usize {
18 return self._read_key_stroke(self, input_key);
19 }
20
21 pub const guid align(8) = Guid{
22 .time_low = 0x387477c1,
23 .time_mid = 0x69c7,
24 .time_high_and_version = 0x11d2,
25 .clock_seq_high_and_reserved = 0x8e,
26 .clock_seq_low = 0x39,
27 .node = [_]u8{ 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b },
28 };
29};
30
lib/std/os/uefi/tables/system_table.zig+2-2
......@@ -3,7 +3,7 @@ const BootServices = uefi.tables.BootServices;
33const ConfigurationTable = uefi.tables.ConfigurationTable;
44const Handle = uefi.Handle;
55const RuntimeServices = uefi.tables.RuntimeServices;
6const SimpleTextInputExProtocol = uefi.protocols.SimpleTextInputExProtocol;
6const SimpleTextInputProtocol = uefi.protocols.SimpleTextInputProtocol;
77const SimpleTextOutputProtocol = uefi.protocols.SimpleTextOutputProtocol;
88const TableHeader = uefi.tables.TableHeader;
99
......@@ -22,7 +22,7 @@ pub const SystemTable = extern struct {
2222 firmware_vendor: [*]u16,
2323 firmware_revision: u32,
2424 console_in_handle: ?Handle,
25 con_in: ?*SimpleTextInputExProtocol,
25 con_in: ?*SimpleTextInputProtocol,
2626 console_out_handle: ?Handle,
2727 con_out: ?*SimpleTextOutputProtocol,
2828 standard_error_handle: ?Handle,