I tested this and this definitely compiles and these changes were done programmatically but if there's still anything wrong it shouldn't be hard to fix. With this change it's going to be very easy to make further adjustments to the calling conventions of all these external UEFI functions. Closes #16309
34 lines
1.1 KiB
Zig
34 lines
1.1 KiB
Zig
const std = @import("std");
|
|
const uefi = std.os.uefi;
|
|
const Event = uefi.Event;
|
|
const Guid = uefi.Guid;
|
|
const InputKey = uefi.protocols.InputKey;
|
|
const Status = uefi.Status;
|
|
const cc = uefi.cc;
|
|
|
|
/// Character input devices, e.g. Keyboard
|
|
pub const SimpleTextInputProtocol = extern struct {
|
|
_reset: *const fn (*const SimpleTextInputProtocol, bool) callconv(cc) Status,
|
|
_read_key_stroke: *const fn (*const SimpleTextInputProtocol, *InputKey) callconv(cc) Status,
|
|
wait_for_key: Event,
|
|
|
|
/// Resets the input device hardware.
|
|
pub fn reset(self: *const SimpleTextInputProtocol, verify: bool) Status {
|
|
return self._reset(self, verify);
|
|
}
|
|
|
|
/// Reads the next keystroke from the input device.
|
|
pub fn readKeyStroke(self: *const SimpleTextInputProtocol, input_key: *InputKey) Status {
|
|
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 },
|
|
};
|
|
};
|