gm2-libs-iso/SysClock
DEFINITION MODULE SysClock;
(* Facilities for accessing a system clock that records the date
and time of day *)
CONST
maxSecondParts = 1000000 ;
TYPE
Month = [1 .. 12];
Day = [1 .. 31];
Hour = [0 .. 23];
Min = [0 .. 59];
Sec = [0 .. 59];
Fraction = [0 .. maxSecondParts];
UTCDiff = [-780 .. 720];
DateTime =
RECORD
year: CARDINAL;
month: Month;
day: Day;
hour: Hour;
minute: Min;
second: Sec;
fractions: Fraction; (* parts of a second *)
zone: UTCDiff; (* Time zone differential
factor which is the number
of minutes to add to local
time to obtain UTC. *)
summerTimeFlag: BOOLEAN; (* Interpretation of flag
depends on local usage. *)
END;
PROCEDURE CanGetClock(): BOOLEAN;
(* Tests if the clock can be read *)
PROCEDURE CanSetClock(): BOOLEAN;
(* Tests if the clock can be set *)
PROCEDURE IsValidDateTime(userData: DateTime): BOOLEAN;
(* Tests if the value of userData is a valid *)
PROCEDURE GetClock(VAR userData: DateTime);
(* Assigns local date and time of the day to userData *)
PROCEDURE SetClock(userData: DateTime);
(* Sets the system time clock to the given local date and
time *)
END SysClock.