mirror of
https://github.com/ziglang/zig.git
synced 2025-12-15 02:33:07 +00:00
Beyond adding default zero-initialization, this commit changes undefined initialization to zero, as some cases reserved the padding and on other cases, I've found some systems act strange when giving uninit instead of zero even when it shouldn't be an issue, one example being FileProtocol.Open's attributes, which *should* be ignored when not creating a file, but ended up giving an unrelated error.
31 lines
1.1 KiB
Zig
31 lines
1.1 KiB
Zig
const uefi = @import("std").os.uefi;
|
|
const Guid = uefi.Guid;
|
|
const Handle = uefi.Handle;
|
|
const Status = uefi.Status;
|
|
|
|
/// Override EDID information
|
|
pub const EdidOverrideProtocol = extern struct {
|
|
_get_edid: fn (*const EdidOverrideProtocol, Handle, *u32, *usize, *?[*]u8) callconv(.C) Status,
|
|
|
|
/// Returns policy information and potentially a replacement EDID for the specified video output device.
|
|
/// attributes must be align(4)
|
|
pub fn getEdid(self: *const EdidOverrideProtocol, handle: Handle, attributes: *EdidOverrideProtocolAttributes, edid_size: *usize, edid: *?[*]u8) Status {
|
|
return self._get_edid(self, handle, attributes, edid_size, edid);
|
|
}
|
|
|
|
pub const guid align(8) = Guid{
|
|
.time_low = 0x48ecb431,
|
|
.time_mid = 0xfb72,
|
|
.time_high_and_version = 0x45c0,
|
|
.clock_seq_high_and_reserved = 0xa9,
|
|
.clock_seq_low = 0x22,
|
|
.node = [_]u8{ 0xf4, 0x58, 0xfe, 0x04, 0x0b, 0xd5 },
|
|
};
|
|
};
|
|
|
|
pub const EdidOverrideProtocolAttributes = packed struct {
|
|
dont_override: bool,
|
|
enable_hot_plug: bool,
|
|
_pad: u30 = 0,
|
|
};
|