Description, Status codes returned – Intel Extensible Firmware Interface User Manual
Page 204

Extensible Firmware Interface Specification
6-12
12/01/02
Version 1.10
//*******************************************************
// EFI_TIME_CAPABILITIES
//*******************************************************
// This provides the capabilities of the
// real time clock device as exposed through the EFI interfaces.
typedef struct {
UINT32
Resolution;
UINT32
Accuracy;
BOOLEAN
SetsToZero;
} EFI_TIME_CAPABILITIES;
Resolution
Provides the reporting resolution of the real-time clock device in counts
per second. For a normal PC-AT CMOS RTC device, this value would
be 1 Hz, or 1, to indicate that the device only reports the time to the
resolution of 1 second.
Accuracy
Provides the timekeeping accuracy of the real-time clock in an error rate
of 1E-6 parts per million. For a clock with an accuracy of 50 parts per
million, the value in this field would be 50,000,000.
SetsToZero
A
TRUE
indicates that a time set operation clears the device’s time below
the
Resolution
reporting level. A
FALSE
indicates that the state
below the
Resolution
level of the device is not cleared when the time
is set. Normal PC-AT CMOS RTC devices set this value to
FALSE
.
Description
The
GetTime()
function returns a time that was valid sometime during the call to the function.
While the returned
EFI_TIME
structure contains
TimeZone
and
Daylight
savings time
information, the actual clock does not maintain these values. The current time zone and daylight
saving time information returned by
GetTime()
are the values that were last set via
The
GetTime()
function should take approximately the same amount of time to read the time
each time it is called. All reported device capabilities are to be rounded up.
During runtime, if a PC-AT CMOS device is present in the platform the caller must synchronize
access to the device before calling
GetTime()
.
Status Codes Returned
EFI_SUCCESS
The operation completed successfully.
EFI_INVALID_PARAMETER
Time
is
NULL
.
EFI_DEVICE_ERROR
The time could not be retrieved due to a hardware error.