Services
Version 1.02 12/12/00 87
//*******************************************************
// 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 devices 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
SetTime().
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 One of the parameters has an invalid value.
EFI_DEVICE_ERROR The time could not be retrieved due to a hardware error.