diff options
Diffstat (limited to 'lib/std/os/uefi.zig')
| -rw-r--r-- | lib/std/os/uefi.zig | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/std/os/uefi.zig b/lib/std/os/uefi.zig new file mode 100644 index 0000000000..db46d50c1f --- /dev/null +++ b/lib/std/os/uefi.zig @@ -0,0 +1,45 @@ +pub const protocols = @import("uefi/protocols.zig"); +pub const status = @import("uefi/status.zig"); +pub const tables = @import("uefi/tables.zig"); + +const builtin = @import("builtin"); +pub const is_the_target = builtin.os == .uefi; + +pub var handle: Handle = undefined; +pub var system_table: *tables.SystemTable = undefined; + +pub const Event = *@OpaqueType(); +// GUIDs must be align(8) +pub const Guid = extern struct { + time_low: u32, + time_mid: u16, + time_high_and_version: u16, + clock_seq_high_and_reserved: u8, + clock_seq_low: u8, + node: [6]u8, +}; +pub const Handle = *@OpaqueType(); +pub const Time = extern struct { + year: u16, + month: u8, + day: u8, + hour: u8, + minute: u8, + second: u8, + _pad1: u8, + nanosecond: u32, + timezone: i16, + daylight: packed struct { + _pad1: u6, + in_daylight: bool, + adjust_daylight: bool, + }, + _pad2: u8, + + pub const unspecified_timezone: i16 = 0x7ff; +}; +pub const TimeCapabilities = extern struct { + resolution: u32, + accuracy: u32, + sets_to_zero: bool, +}; |
