|
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: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body V_I_Tasks, seg_04ce1a
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with System; use System; with Ada_Krn_I; with V_I_Types; package body V_I_Tasks is pragma Suppress (All_Checks); pragma Suppress (Exception_Tables); function Get_User_Universal_Field (Tsk : Task_Id) return V_I_Types.Universal_Scalar; pragma Interface (Ada, Get_User_Universal_Field); pragma Interface_Name (Get_User_Universal_Field, "__GET_USER_UNIVERSAL_FIELD"); procedure Set_User_Universal_Field (Tsk : Task_Id; New_Value : V_I_Types.Universal_Scalar); pragma Interface (Ada, Set_User_Universal_Field); pragma Interface_Name (Set_User_Universal_Field, "__SET_USER_UNIVERSAL_FIELD"); function Get_User_Field (Tsk : Task_Id) return Integer is begin return V_I_Types.From_Universal_Scalar (Get_User_Universal_Field (Tsk)); end Get_User_Field; function Get_User_Field (Tsk : Task_Id) return Address is begin return V_I_Types.From_Universal_Scalar (Get_User_Universal_Field (Tsk)); end Get_User_Field; procedure Set_User_Field (Tsk : Task_Id; New_Value : Integer) is begin Set_User_Universal_Field (Tsk, V_I_Types.To_Universal_Scalar (New_Value)); end Set_User_Field; procedure Set_User_Field (Tsk : Task_Id; New_Value : Address) is begin Set_User_Universal_Field (Tsk, V_I_Types.To_Universal_Scalar (New_Value)); end Set_User_Field; function Get_Task (Id : System.Task_Id) return Task_Id is begin return Id; end Get_Task; function Get_Current_Program return Program_Id is begin return Ada_Krn_I.Program_Self; end Get_Current_Program; function Get_Program (Tsk : Task_Id) return Program_Id is begin if Task_Is_Completed (Tsk) then return Get_Current_Program; else return Ada_Krn_I.Program_Get (Tsk); end if; end Get_Program; procedure Terminate_Program (Status : Integer; -- exit status Prg : Program_Id := Get_Current_Program) is begin Ada_Krn_I.Program_Terminate (Prg, Status); end Terminate_Program; function Get_Program_Key (Prg : Program_Id := Get_Current_Program) return System.Address is begin return Ada_Krn_I.Program_Get_Key (Prg); end Get_Program_Key; function Suspend_Task (Tsk : Task_Id) return Boolean is begin if Task_Is_Completed (Tsk) then return False; else return Ada_Krn_I.Task_Suspend (Tsk); end if; end Suspend_Task; function Resume_Task (Tsk : Task_Id) return Boolean is begin if Task_Is_Completed (Tsk) then return False; else return Ada_Krn_I.Task_Resume (Tsk); end if; end Resume_Task; function Get_Time_Slice (Tsk : Task_Id) return Duration is begin if Task_Is_Completed (Tsk) then return 0.0; else return Ada_Krn_I.Task_Get_Time_Slice (Tsk); end if; end Get_Time_Slice; procedure Set_Time_Slice (Tsk : Task_Id; New_Time_Slice : Duration) is begin if not Task_Is_Completed (Tsk) then Ada_Krn_I.Task_Set_Time_Slice (Tsk, New_Time_Slice); end if; end Set_Time_Slice; function Get_Time_Slicing return Boolean is begin return Ada_Krn_I.Kernel_Get_Time_Slicing_Enabled; end Get_Time_Slicing; procedure Set_Time_Slicing (Enabled : Boolean) is begin Ada_Krn_I.Kernel_Set_Time_Slicing_Enabled (Enabled); end Set_Time_Slicing; procedure Disable_Preemption is begin Ada_Krn_I.Task_Disable_Preemption; end Disable_Preemption; procedure Enable_Preemption is begin Ada_Krn_I.Task_Enable_Preemption; end Enable_Preemption; end V_I_Tasks;
nblk1=5 nid=0 hdr6=a [0x00] rec0=1b rec1=00 rec2=01 rec3=042 [0x01] rec0=1e rec1=00 rec2=02 rec3=01e [0x02] rec0=20 rec1=00 rec2=03 rec3=004 [0x03] rec0=1f rec1=00 rec2=04 rec3=00e [0x04] rec0=06 rec1=00 rec2=05 rec3=000 tail 0x21754240a874f7c2091ca 0x42a00088462060003