TIME_$INTRO Domain/OS TIME_$INTRO
NAME
intro - the Domain/OS time service
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/time.h>
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/time.ins.pas';
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/time.ins.ftn'
DESCRIPTION
Domain/OS represents time as the number of 4-microsecond intervals that
have elapsed since midnight (00:00) on 1 January 1980 (UTC). ("UTC" is
an abbreviation for "Coordinated Universal Time," which is just another,
less parochial, term for Greenwich Mean Time or "GMT.") The count of
elapsed 4-microsecond intervals is a 48-bit integer value of type
time_$clock_t. An integer of type time_$clock_t is called a "clock
value."
The Domain/OS time service reports system time, provides an eventcount
that is advanced at regular intervals, and allows the timed suspension of
processes.
The following is a list of the time_$ calls.
time_$clock get the system clock value
time_$get_ec get a pointer to the time eventcount
time_$wait wait for an interval
Data Types
time_$clock_t
A record type for system clock values. A value of type
time_$clock_t is a 48-bit integer count of 4-microsecond clock
periods. A clock value has the following format:
15 0
______________________________________________________________
| high |
|_____________________________________________________________|
| high |
|_____________________________________________________________|
| low |
______________________________________________________________
15 0
high The most significant 32 bits of the clock value.
low The least significant 16 bits of the clock value.
time_$clockh_t
A 32-bit unsigned integer for holding the most significant bits of a
clock value.
time_$key_t
An enumerated type for choosing a time eventcount. It currently can
take on only one value:
time_$clockh_key
An eventcount that is advanced about every 1/4 second.
time_$rel_abs_t
An enumerated type for specifying the type of clock value passed in
an argument. It can take one of the following values:
time_$relative
The clock value specifies an interval.
time_$absolute
The clock value specifies a UTC time.
User Errors
time_$bad_key
Bad key to time_$get_ec.
time_$bad_relative_time
The specified relative time is too large.
time_$wait_quit
Wait interrupted by quit fault.
Internal Errors
The following error codes are caused by inconsistencies in the time_$
routines, not by user errors.
time_$alarm_fault
time_$bad_delta
time_$bad_int
time_$cpu_limit_f
time_$itimer_real
time_$itimer_virtual
time_$no_q_entry
time_$not_found
time_$q_elem_in_use
time_$q_elem_not_in_use
time_$q_elem_not_found