|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2688 (0xa80)
Types: TextFile
Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦fe0f18216⟧
└─⟦this⟧
-- Copyright 1988 Verdix Corporation
------------------------------------------------------------------------------
-- User interface to the RTS time subprograms
------------------------------------------------------------------------------
with system; use system;
package v_i_time is
pragma suppress(ALL_CHECKS);
pragma suppress(EXCEPTION_TABLES);
pragma not_elaborated;
--------------------------------------------------------------------------
-- Sets the current time for the RTS time procedures. Note, if
-- the calendar package is used, then its set_time procedure must
-- be called.
--
-- The time of delta delay entries on the time event queue are
-- moved forward/backward by (set_time - current_time). The time
-- of the delay until entries aren't changed. However, the delay until
-- entries are reorderd on the queue.
--
-- On self-hosts, if timer_support_arg /= NO_ADDR, then, its
-- the address of the OS's time record. This allows, set_time()
-- to be atomically set with the OS's current time. For an
-- example, see how set_time() is called in calendar_s.a.
--------------------------------------------------------------------------
procedure set_time(day: day_t; sec: duration;
timer_support_arg: address := NO_ADDR);
--------------------------------------------------------------------------
-- Returns current time, whereby, duration_time is normalized to be
-- less than the duration for a day (86400.0), ie. day is incremented by
-- one every 24 hours.
--------------------------------------------------------------------------
procedure current_time(day: out day_t; sec: out duration);
--------------------------------------------------------------------------
-- This returns after delaying for at least the amount of time
-- specified by 'sec'. This procedure is implicitly invoked
-- by an Ada delay statement.
--------------------------------------------------------------------------
procedure delay_for(sec: duration);
--------------------------------------------------------------------------
-- This delays until an absolute time in the future.
--------------------------------------------------------------------------
procedure delay_until(day: day_t; sec: duration);
private
pragma interface(ADA, set_time);
pragma interface_name(set_time, "TS_SET_TIME");
pragma interface(ADA, current_time);
pragma interface_name(current_time, "TS_CURRENT_TIME");
pragma interface(ADA, delay_for);
pragma interface_name(delay_for, "TS_DELAY");
pragma interface(ADA, delay_until);
pragma interface_name(delay_until, "TS_DELAY_UNTIL");
end