TianoCore EDK2 master
Loading...
Searching...
No Matches
VirtualRealTimeClockLib.c File Reference

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI LibGetTime (OUT EFI_TIME *Time, OUT EFI_TIME_CAPABILITIES *Capabilities)
 
EFI_STATUS EFIAPI LibSetTime (IN EFI_TIME *Time)
 
EFI_STATUS EFIAPI LibGetWakeupTime (OUT BOOLEAN *Enabled, OUT BOOLEAN *Pending, OUT EFI_TIME *Time)
 
EFI_STATUS EFIAPI LibSetWakeupTime (IN BOOLEAN Enabled, OUT EFI_TIME *Time)
 
EFI_STATUS EFIAPI LibRtcInitialize (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
 

Variables

STATIC CONST CHAR16 mEpochVariableName [] = L"RtcEpochSeconds"
 
STATIC CONST CHAR16 mTimeZoneVariableName [] = L"RtcTimeZone"
 
STATIC CONST CHAR16 mDaylightVariableName [] = L"RtcDaylight"
 

Detailed Description

Implement virtual EFI RealTimeClock runtime services.

Copyright (c) 2019, Pete Batard pete@.nosp@m.akeo.nosp@m..ie Copyright (c) 2018, Andrei Warkentin andre.nosp@m.y.wa.nosp@m.rkent.nosp@m.in@g.nosp@m.mail..nosp@m.com Copyright (c) 2011-2021, ARM Ltd. All rights reserved. Copyright (c) 2008-2010, Apple Inc. All rights reserved. Copyright (c) Microsoft Corporation. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Based on ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf

Definition in file VirtualRealTimeClockLib.c.

Function Documentation

◆ LibGetTime()

EFI_STATUS EFIAPI LibGetTime ( OUT EFI_TIME Time,
OUT EFI_TIME_CAPABILITIES Capabilities 
)

Returns the current time and date information, and the time-keeping capabilities of the virtual RTC.

Parameters
TimeA pointer to storage to receive a snapshot of the current time.
CapabilitiesAn optional pointer to a buffer to receive the real time clock device's capabilities.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_INVALID_PARAMETERTime is NULL.
EFI_DEVICE_ERRORThe time could not be retrieved due to hardware error.

Definition at line 45 of file VirtualRealTimeClockLib.c.

◆ LibGetWakeupTime()

EFI_STATUS EFIAPI LibGetWakeupTime ( OUT BOOLEAN *  Enabled,
OUT BOOLEAN *  Pending,
OUT EFI_TIME Time 
)

Returns the current wakeup alarm clock setting.

Parameters
EnabledIndicates if the alarm is currently enabled or disabled.
PendingIndicates if the alarm signal is pending and requires acknowledgement.
TimeThe current alarm setting.
Return values
EFI_SUCCESSThe alarm settings were returned.
EFI_INVALID_PARAMETERAny parameter is NULL.
EFI_DEVICE_ERRORThe wakeup time could not be retrieved due to a hardware error.

Definition at line 354 of file VirtualRealTimeClockLib.c.

◆ LibRtcInitialize()

EFI_STATUS EFIAPI LibRtcInitialize ( IN EFI_HANDLE  ImageHandle,
IN EFI_SYSTEM_TABLE SystemTable 
)

This is the declaration of an EFI image entry point. This can be the entry point to an application written to this specification, an EFI boot service driver, or an EFI runtime driver.

Parameters
ImageHandleHandle that identifies the loaded image.
SystemTableSystem Table for this image.
Return values
EFI_SUCCESSThe operation completed successfully.

Definition at line 398 of file VirtualRealTimeClockLib.c.

◆ LibSetTime()

EFI_STATUS EFIAPI LibSetTime ( IN EFI_TIME Time)

Sets the current local time and date information.

Parameters
TimeA pointer to the current time.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_INVALID_PARAMETERA time field is out of range.
EFI_DEVICE_ERRORThe time could not be set due to hardware error.

Definition at line 241 of file VirtualRealTimeClockLib.c.

◆ LibSetWakeupTime()

EFI_STATUS EFIAPI LibSetWakeupTime ( IN BOOLEAN  Enabled,
OUT EFI_TIME Time 
)

Sets the system wakeup alarm clock time.

Parameters
EnabledEnable or disable the wakeup alarm.
TimeIf Enable is TRUE, the time to set the wakeup alarm for.
Return values
EFI_SUCCESSIf Enable is TRUE, then the wakeup alarm was enabled. If Enable is FALSE, then the wakeup alarm was disabled.
EFI_INVALID_PARAMETERA time field is out of range.
EFI_DEVICE_ERRORThe wakeup time could not be set due to a hardware error.
EFI_UNSUPPORTEDA wakeup timer is not supported on this platform.

Definition at line 378 of file VirtualRealTimeClockLib.c.

Variable Documentation

◆ mDaylightVariableName

STATIC CONST CHAR16 mDaylightVariableName[] = L"RtcDaylight"

Definition at line 28 of file VirtualRealTimeClockLib.c.

◆ mEpochVariableName

STATIC CONST CHAR16 mEpochVariableName[] = L"RtcEpochSeconds"

Definition at line 26 of file VirtualRealTimeClockLib.c.

◆ mTimeZoneVariableName

STATIC CONST CHAR16 mTimeZoneVariableName[] = L"RtcTimeZone"

Definition at line 27 of file VirtualRealTimeClockLib.c.