|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 2827 (0xb0b)
Types: TextFile
Names: »V«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
└─⟦77aa8350c⟧ »DATA«
└─⟦f794ecd1d⟧
└─⟦24d1ddd49⟧
└─⟦this⟧
-- The use of this system is subject to the software license terms and
-- conditions agreed upon between Rational and the Customer.
--
-- Copyright 1988 by Rational.
--
-- RESTRICTED RIGHTS LEGEND
--
-- Use, duplication, or disclosure by the Government is subject to
-- restrictions as set forth in subdivision (b)(3)(ii) of the Rights in
-- Technical Data and Computer Software clause at 52.227-7013.
--
--
-- Rational
-- 3320 Scott Boulevard
-- Santa Clara, California 95054-3197
--
-- PROPRIETARY AND CONFIDENTIAL INFORMATION OF RATIONAL;
-- USE OR COPYING WITHOUT EXPRESS WRITTEN AUTHORIZATION
-- IS STRICTLY PROHIBITED. THIS MATERIAL IS PROTECTED AS
-- AN UNPUBLISHED WORK UNDER THE U.S. COPYRIGHT ACT OF
-- 1976. CREATED 1988. ALL RIGHTS RESERVED.
--
--
with Message_Queues;
with Runtime_Ids;
package Timer is
type Id is new Integer;
Nil : constant Id := 0;
subtype Delay_Time is Duration range 0.0 .. Duration'Last;
subtype Timeout_Message is Integer;
-- Commented out until backend bug generating bad assembly for
-- image tables is fixed
--
-- type Status is (Successful, No_Free_Timers, Delay_Too_Large,
-- Illegal_Timer_Type, No_Free_Queue_Slot, Bad_Timer_Id);
-- Until enumeration rep specs work, we have to use Stratus instead
-- of Status.
subtype Stratus is Integer;
Ti_Success : constant := 16#0000#;
Ti_Nofrte : constant := 16#200A#;
Ti_Deltl : constant := 16#200B#;
Ti_Illtt : constant := 16#200C#;
Ti_Nofrqs : constant := 16#200D#;
Ti_Btmrid : constant := 16#2014#;
procedure Start (Time : Delay_Time;
Queue : Message_Queues.Id;
Signal : Timeout_Message;
Result : out Stratus;
Handle : out Id);
procedure Stop (Handle : Id; Result : out Stratus);
private
pragma Interface (Asm, Start);
pragma Import_Procedure
(Start, "__TIMER$START",
Mechanism => (Value, Reference, Value, Value, Value));
pragma Interface (Asm, Stop);
pragma Import_Procedure (Stop, "__TIMER$STOP", Mechanism => (Value, Value));
-- for Status use (Successful => Ti_Success,
-- No_Free_Timers => Ti_Nofrte,
-- Delay_Too_Large => Ti_Deltl,
-- Illegal_Timer_Type => Ti_Illtt,
-- No_Free_Queue_Slot => Ti_Nofrqs,
-- Bad_Timer_Id => Ti_Btmrid);
end Timer;
pragma Export_Elaboration_Procedure ("__TIMER_SPEC_ELAB");
pragma Runtime_Unit (Unit_Number => Runtime_Ids.Runtime_Compunit,
Elab_Routine_Number => Runtime_Ids.Internal);