DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦47713ce90⟧ TextFile

    Length: 2688 (0xa80)
    Types: TextFile
    Notes: R1k Text-file segment

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦fe0f18216⟧ 
            └─⟦this⟧ 

TextFile

-- 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