Runtime services are provided by the firmware before and after exitBootServices has been called.
As the runtime_services table may grow with new UEFI versions, it is important to check hdr.header_size.
Some functions may not be supported. Check the RuntimeServicesSupported variable using getVariable. getVariable is one of the functions that may not be supported.
Some functions may not be called while other functions are running.
Fields
hdr: TableHeader,
getTime: *const fn (*uefi.Time, ?*TimeCapabilities) callconv(cc) Status,
Returns the current time and date information, and the time-keeping capabilities of the hardware platform.
Sets the current local time and date information
Returns the current wakeup alarm clock setting
Sets the system wakeup alarm clock time
setVirtualAddressMap: *const fn (usize, usize, u32, [*]MemoryDescriptor) callconv(cc) Status,
Changes the runtime addressing mode of EFI firmware from physical to virtual.
Determines the new virtual address that is to be used on subsequent memory accesses.
getVariable: *const fn ([*:0]const u16, *const align(8) Guid, ?*u32, *usize, ?*anyopaque) callconv(cc) Status,
Returns the value of a variable.
Enumerates the current variable names.
setVariable: *const fn ([*:0]const u16, *const align(8) Guid, u32, usize, *anyopaque) callconv(cc) Status,
Sets the value of a variable.
Return the next high 32 bits of the platform’s monotonic counter
Resets the entire platform.
updateCapsule: *const fn (**CapsuleHeader, usize, EfiPhysicalAddress) callconv(cc) Status,
Passes capsules to the firmware with both virtual and physical mapping. Depending on the intended consumption, the firmware may process the capsule immediately. If the payload should persist across a system reset, the reset value returned from queryCapsuleCapabilities
must be passed into resetSystem and will cause the capsule to be processed by the firmware as part of the reset process.
queryCapsuleCapabilities: *const fn (**CapsuleHeader, usize, *usize, ResetType) callconv(cc) Status,
Returns if the capsule can be supported via updateCapsule