|
|
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: 3373 (0xd2d)
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 Runtime_Ids;
with System;
package Process_Ops is
subtype Status is Integer;
Success : constant Status := 0;
E_Noram : constant Status := 237;
-- Ada interfaces to OS system calls for process
-- manipulation and information.
--
procedure Fork (Parameter_Ref : System.Address;
Parameter_Size : Integer;
Priority : Integer;
Memory_Size : Integer;
Result : out Status);
--
-- Spawn a new process with the specified characteristics
--
procedure Suicide;
--
-- The calling process dies
--
function Current_Process_Id return Integer;
function Current_Priority return Integer;
function Get_Fp return Integer;
-- Get frame pointer one level up.
procedure Set_Priority (Process_Id : Integer; Priority : Integer);
procedure Verify_Stack;
--
-- Verify that the current stack pointer does not
-- exceed the limits for the process; if it does
-- then issue an error message and die. This routine
-- is called only from runtime routines which do not
-- do normal stack checking, but must be able to execute
-- in order to insure correct program semantics.
--
Global_Base_Address : System.Address;
private
pragma Interface (Asm, Fork);
pragma Import_Procedure (Fork, "__FORK_PROCESS",
Mechanism => (Value, Value, Value, Value, Value));
pragma Interface (Asm, Suicide);
pragma Import_Procedure (Suicide, "__PROCESS_EXIT");
pragma Interface (Asm, Current_Process_Id);
pragma Import_Function (Current_Process_Id, "__CURRENT_PROCESS_ID");
pragma Interface (Asm, Current_Priority);
pragma Import_Function (Current_Priority, "__CURRENT_PROCESS_PRIORITY");
pragma Interface (Asm, Get_Fp);
pragma Import_Function (Get_Fp, "__GET_FP");
pragma Interface (Asm, Set_Priority);
pragma Import_Procedure
(Set_Priority, "__SET_PROCESS_PRIORITY", Mechanism => (Value, Value));
pragma Interface (Asm, Verify_Stack);
pragma Import_Procedure (Verify_Stack, "__VERIFY_STACK");
pragma Import_Object (Global_Base_Address, "__GLOBAL_BASE");
end Process_Ops;
pragma Export_Elaboration_Procedure ("__PROCESS_OPS_SPEC_ELAB");
pragma Runtime_Unit (Unit_Number => Runtime_Ids.Runtime_Compunit,
Elab_Routine_Number => Runtime_Ids.Internal);