| author | |
| committer | |
| log | 5ada11449af8dac711bb977662ad5738fde44c14 |
| tree | 699c7e9a96f5ba3966ad8af36d56e255bed98833 |
| parent | 0d99744acc63ff44091f9664888b788c29b7c72a |
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 | ... | @@ -5,6 +5,7 @@ pub const DevicePathProtocol = @import("protocols/device_path_protocol.zig").Dev |
| 5 | pub const InputKey = @import("protocols/simple_text_input_ex_protocol.zig").InputKey; | 5 | pub const InputKey = @import("protocols/simple_text_input_ex_protocol.zig").InputKey; |
| 6 | pub const KeyData = @import("protocols/simple_text_input_ex_protocol.zig").KeyData; | 6 | pub const KeyData = @import("protocols/simple_text_input_ex_protocol.zig").KeyData; |
| 7 | pub const KeyState = @import("protocols/simple_text_input_ex_protocol.zig").KeyState; | 7 | pub const KeyState = @import("protocols/simple_text_input_ex_protocol.zig").KeyState; |
| 8 | pub const SimpleTextInputProtocol = @import("protocols/simple_text_input_protocol.zig").SimpleTextInputProtocol; | ||
| 8 | pub const SimpleTextInputExProtocol = @import("protocols/simple_text_input_ex_protocol.zig").SimpleTextInputExProtocol; | 9 | pub const SimpleTextInputExProtocol = @import("protocols/simple_text_input_ex_protocol.zig").SimpleTextInputExProtocol; |
| 9 | 10 | ||
| 10 | pub const SimpleTextOutputMode = @import("protocols/simple_text_output_protocol.zig").SimpleTextOutputMode; | 11 | pub 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 @@ | ||
| 1 | const uefi = @import("std").os.uefi; | ||
| 2 | const Event = uefi.Event; | ||
| 3 | const Guid = uefi.Guid; | ||
| 4 | |||
| 5 | /// Character input devices, e.g. Keyboard | ||
| 6 | pub 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; | ... | @@ -3,7 +3,7 @@ const BootServices = uefi.tables.BootServices; |
| 3 | const ConfigurationTable = uefi.tables.ConfigurationTable; | 3 | const ConfigurationTable = uefi.tables.ConfigurationTable; |
| 4 | const Handle = uefi.Handle; | 4 | const Handle = uefi.Handle; |
| 5 | const RuntimeServices = uefi.tables.RuntimeServices; | 5 | const RuntimeServices = uefi.tables.RuntimeServices; |
| 6 | const SimpleTextInputExProtocol = uefi.protocols.SimpleTextInputExProtocol; | 6 | const SimpleTextInputProtocol = uefi.protocols.SimpleTextInputProtocol; |
| 7 | const SimpleTextOutputProtocol = uefi.protocols.SimpleTextOutputProtocol; | 7 | const SimpleTextOutputProtocol = uefi.protocols.SimpleTextOutputProtocol; |
| 8 | const TableHeader = uefi.tables.TableHeader; | 8 | const TableHeader = uefi.tables.TableHeader; |
| 9 | 9 | ||
| ... | @@ -22,7 +22,7 @@ pub const SystemTable = extern struct { | ... | @@ -22,7 +22,7 @@ pub const SystemTable = extern struct { |
| 22 | firmware_vendor: [*]u16, | 22 | firmware_vendor: [*]u16, |
| 23 | firmware_revision: u32, | 23 | firmware_revision: u32, |
| 24 | console_in_handle: ?Handle, | 24 | console_in_handle: ?Handle, |
| 25 | con_in: ?*SimpleTextInputExProtocol, | 25 | con_in: ?*SimpleTextInputProtocol, |
| 26 | console_out_handle: ?Handle, | 26 | console_out_handle: ?Handle, |
| 27 | con_out: ?*SimpleTextOutputProtocol, | 27 | con_out: ?*SimpleTextOutputProtocol, |
| 28 | standard_error_handle: ?Handle, | 28 | standard_error_handle: ?Handle, |