Commit 5ada11449a

Heppokoyuki <yuki@uefi.jp>
2019-12-09 06:26:13
fix con_in difinition and add EFI_SIMPLE_TEXT_INPUT_PROTOCOL difinition
1 parent 0d99744
Changed files (3)
lib/std/os/uefi/protocols/simple_text_input_protocol.zig
@@ -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 },
+    };
+};
+
lib/std/os/uefi/tables/system_table.zig
@@ -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,
lib/std/os/uefi/protocols.zig
@@ -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;