Source
pub fn getData(
self: *const Ip6Config,
comptime data_type: std.meta.Tag(DataType),
) GetDataError!std.meta.TagPayload(DataType, data_type) {
const DataPayload = std.meta.TagPayload(DataType, data_type);
var payload: DataPayload = undefined;
var payload_size: usize = @sizeOf(DataPayload);
switch (self._get_data(self, data_type, &payload_size, @ptrCast(&payload))) {
.success => return payload,
.invalid_parameter => return Error.InvalidParameter,
.buffer_too_small => return Error.BufferTooSmall,
.not_ready => return Error.NotReady,
.not_found => return Error.NotFound,
else => |status| return uefi.unexpectedStatus(status),
}
}