|
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 - download
Length: 14336 (0x3800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Krn_Call_I, seg_04cdf0
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
-- Copyright 1991 Verdix Corporation with System; use System; with Krn_Defs; use Krn_Defs; with Krn_Entries; use Krn_Entries; with Unchecked_Conversion; package Krn_Call_I is pragma Suppress (All_Checks); pragma Suppress (Exception_Tables); pragma Not_Elaborated; -- Interface to the routines resident in the user program that call the -- kernel services -- Kernel services are restricted to only two parameters. No OUT -- parameters. May return an integer'size result. ------------------------------------------------------------------------- -- Program services ------------------------------------------------------------------------- procedure Krn_Program_Init (Arg : A_Program_Init_Arg_T); pragma Interface (Ada, Krn_Program_Init); pragma Interface_Name (Krn_Program_Init, "__KRN_CALL_PROGRAM_INIT"); procedure Krn_Program_Exit (Status : Integer); pragma Interface (Ada, Krn_Program_Exit); pragma Interface_Name (Krn_Program_Exit, "__KRN_CALL_PROGRAM_EXIT"); procedure Krn_Program_Diagnostic (S_A : Address; S_Len : Natural); pragma Interface (Ada, Krn_Program_Diagnostic); pragma Interface_Name (Krn_Program_Diagnostic, "__KRN_CALL_PROGRAM_DIAGNOSTIC"); function Krn_Program_Start (Arg : A_Program_Start_Arg_T) return A_Krn_Pcb_T; pragma Interface (Ada, Krn_Program_Start); pragma Interface_Name (Krn_Program_Start, "__KRN_CALL_PROGRAM_START"); procedure Krn_Program_Terminate (Prg : A_Krn_Pcb_T; Status : Integer); pragma Interface (Ada, Krn_Program_Terminate); pragma Interface_Name (Krn_Program_Terminate, "__KRN_CALL_PROGRAM_TERMINATE"); procedure Krn_Program_Set_Is_Server; pragma Interface (Ada, Krn_Program_Set_Is_Server); pragma Interface_Name (Krn_Program_Set_Is_Server, "__KRN_CALL_PROGRAM_SET_IS_SERVER"); ------------------------------------------------------------------------- -- Task services ------------------------------------------------------------------------- procedure Krn_Task_Set_Priority (T : A_Krn_Tcb_T; Prio : Priority); pragma Interface (Ada, Krn_Task_Set_Priority); pragma Interface_Name (Krn_Task_Set_Priority, "__KRN_CALL_TASK_SET_PRIORITY"); function Krn_Task_Create (Arg : A_Task_Create_Arg_T) return A_Krn_Tcb_T; pragma Interface (Ada, Krn_Task_Create); pragma Interface_Name (Krn_Task_Create, "__KRN_CALL_TASK_CREATE"); procedure Krn_Task_Activate (T : A_Krn_Tcb_T); pragma Interface (Ada, Krn_Task_Activate); pragma Interface_Name (Krn_Task_Activate, "__KRN_CALL_TASK_ACTIVATE"); procedure Krn_Task_Terminate (T : A_Krn_Tcb_T); pragma Interface (Ada, Krn_Task_Terminate); pragma Interface_Name (Krn_Task_Terminate, "__KRN_CALL_TASK_TERMINATE"); procedure Krn_Task_Suspend (T : A_Krn_Tcb_T); pragma Interface (Ada, Krn_Task_Suspend); pragma Interface_Name (Krn_Task_Suspend, "__KRN_CALL_TASK_SUSPEND"); procedure Krn_Task_Resume (T : A_Krn_Tcb_T); pragma Interface (Ada, Krn_Task_Resume); pragma Interface_Name (Krn_Task_Resume, "__KRN_CALL_TASK_RESUME"); function Krn_Task_Get_Supervisor_State return Boolean; pragma Interface (Ada, Krn_Task_Get_Supervisor_State); pragma Interface_Name (Krn_Task_Get_Supervisor_State, "__KRN_CALL_TASK_GET_SUPERVISOR_STATE"); procedure Krn_Task_Enter_Supervisor_State; pragma Interface (Ada, Krn_Task_Enter_Supervisor_State); pragma Interface_Name (Krn_Task_Enter_Supervisor_State, "__KRN_CALL_TASK_ENTER_SUPERVISOR_STATE"); procedure Krn_Task_Leave_Supervisor_State; pragma Interface (Ada, Krn_Task_Leave_Supervisor_State); pragma Interface_Name (Krn_Task_Leave_Supervisor_State, "__KRN_CALL_TASK_LEAVE_SUPERVISOR_STATE"); procedure Krn_Task_Wait; pragma Interface (Ada, Krn_Task_Wait); pragma Interface_Name (Krn_Task_Wait, "__KRN_CALL_TASK_WAIT"); function Krn_Task_Timed_Wait (Sec : Duration) return Boolean; pragma Interface (Ada, Krn_Task_Timed_Wait); pragma Interface_Name (Krn_Task_Timed_Wait, "__KRN_CALL_TASK_TIMED_WAIT"); procedure Krn_Task_Signal (T : A_Krn_Tcb_T); pragma Interface (Ada, Krn_Task_Signal); pragma Interface_Name (Krn_Task_Signal, "__KRN_CALL_TASK_SIGNAL"); procedure Krn_Task_Signal_Unlock (T : A_Krn_Tcb_T; Mutex : A_Mutex_T); pragma Interface (Ada, Krn_Task_Signal_Unlock); pragma Interface_Name (Krn_Task_Signal_Unlock, "__KRN_CALL_TASK_SIGNAL_UNLOCK"); procedure Krn_Task_Signal_Wait_Unlock (T : A_Krn_Tcb_T; Mutex : A_Mutex_T); pragma Interface (Ada, Krn_Task_Signal_Wait_Unlock); pragma Interface_Name (Krn_Task_Signal_Wait_Unlock, "__KRN_CALL_TASK_SIGNAL_WAIT_UNLOCK"); ------------------------------------------------------------------------- -- Kernel scheduling services ------------------------------------------------------------------------- procedure Krn_Kernel_Set_Time_Slicing_Enabled (New_Value : Boolean); pragma Interface (Ada, Krn_Kernel_Set_Time_Slicing_Enabled); pragma Interface_Name (Krn_Kernel_Set_Time_Slicing_Enabled, "__KRN_CALL_KERNEL_SET_TIME_SLICING_ENABLED"); function Krn_Kernel_Get_Time_Slicing_Enabled return Boolean; pragma Interface (Ada, Krn_Kernel_Get_Time_Slicing_Enabled); pragma Interface_Name (Krn_Kernel_Get_Time_Slicing_Enabled, "__KRN_CALL_KERNEL_GET_TIME_SLICING_ENABLED"); ------------------------------------------------------------------------- -- Time services ------------------------------------------------------------------------- procedure Krn_Time_Set (Arg : A_Time_Set_Arg_T); pragma Interface (Ada, Krn_Time_Set); pragma Interface_Name (Krn_Time_Set, "__KRN_CALL_TIME_SET"); procedure Krn_Time_Get (Arg : A_Time_Get_Arg_T); pragma Interface (Ada, Krn_Time_Get); pragma Interface_Name (Krn_Time_Get, "__KRN_CALL_TIME_GET"); procedure Krn_Time_Delay (Day : Day_T; Sec : Duration); pragma Interface (Ada, Krn_Time_Delay); pragma Interface_Name (Krn_Time_Delay, "__KRN_CALL_TIME_DELAY"); ------------------------------------------------------------------------- -- Callout and task storage services ------------------------------------------------------------------------- -- Service to install a callout. function Krn_Callout_Install (Event : Callout_Event_T; Proc : Address) return Integer; pragma Interface (Ada, Krn_Callout_Install); pragma Interface_Name (Krn_Callout_Install, "__KRN_CALL_CALLOUT_INSTALL"); -- Service to allocate storage in the task control block function Krn_Task_Storage_Alloc (Size : Natural) return Task_Storage_Id; pragma Interface (Ada, Krn_Task_Storage_Alloc); pragma Interface_Name (Krn_Task_Storage_Alloc, "__KRN_CALL_TASK_STORAGE_ALLOC"); ------------------------------------------------------------------------- -- Allocation services ------------------------------------------------------------------------- function Krn_Alloc (Size : Natural) return Address; pragma Interface (Ada, Krn_Alloc); pragma Interface_Name (Krn_Alloc, "__KRN_CALL_ALLOC"); procedure Krn_Free (A : Address); pragma Interface (Ada, Krn_Free); pragma Interface_Name (Krn_Free, "__KRN_CALL_FREE"); ------------------------------------------------------------------------- -- Interrupt services ------------------------------------------------------------------------- function Krn_Isr_Attach (Iv : Intr_Vector_Id_T; Isr : Address) return Address; pragma Interface (Ada, Krn_Isr_Attach); pragma Interface_Name (Krn_Isr_Attach, "__KRN_CALL_ISR_ATTACH"); function Krn_Isr_Detach (Iv : Intr_Vector_Id_T) return Address; pragma Interface (Ada, Krn_Isr_Detach); pragma Interface_Name (Krn_Isr_Detach, "__KRN_CALL_ISR_DETACH"); function Krn_Isr_Get (Iv : Intr_Vector_Id_T) return Address; pragma Interface (Ada, Krn_Isr_Get); pragma Interface_Name (Krn_Isr_Get, "__KRN_CALL_ISR_GET"); function Krn_Isr_Get_Ivt return Address; pragma Interface (Ada, Krn_Isr_Get_Ivt); pragma Interface_Name (Krn_Isr_Get_Ivt, "__KRN_CALL_ISR_GET_IVT"); ------------------------------------------------------------------------- -- Semaphore services ------------------------------------------------------------------------- procedure Krn_Semaphore_Wait (S : A_Semaphore_T); pragma Interface (Ada, Krn_Semaphore_Wait); pragma Interface_Name (Krn_Semaphore_Wait, "__KRN_CALL_SEMAPHORE_WAIT"); function Krn_Semaphore_Timed_Wait (S : A_Semaphore_T; Sec : Duration) return Boolean; pragma Interface (Ada, Krn_Semaphore_Timed_Wait); pragma Interface_Name (Krn_Semaphore_Timed_Wait, "__KRN_CALL_SEMAPHORE_TIMED_WAIT"); procedure Krn_Semaphore_Signal (S : A_Semaphore_T); pragma Interface (Ada, Krn_Semaphore_Signal); pragma Interface_Name (Krn_Semaphore_Signal, "__KRN_CALL_SEMAPHORE_SIGNAL"); ------------------------------------------------------------------------- -- Mutex services ------------------------------------------------------------------------- procedure Krn_Mutex_Lock (Mutex : A_Mutex_T); pragma Interface (Ada, Krn_Mutex_Lock); pragma Interface_Name (Krn_Mutex_Lock, "__KRN_CALL_MUTEX_LOCK"); procedure Krn_Mutex_Unlock (Mutex : A_Mutex_T); pragma Interface (Ada, Krn_Mutex_Unlock); pragma Interface_Name (Krn_Mutex_Unlock, "__KRN_CALL_MUTEX_UNLOCK"); procedure Krn_Cond_Wait (Cond : A_Cond_T; Mutex : A_Mutex_T); pragma Interface (Ada, Krn_Cond_Wait); pragma Interface_Name (Krn_Cond_Wait, "__KRN_CALL_COND_WAIT"); function Krn_Cond_Timed_Wait (Arg : A_Cond_Timed_Wait_Arg_T) return Boolean; pragma Interface (Ada, Krn_Cond_Timed_Wait); pragma Interface_Name (Krn_Cond_Timed_Wait, "__KRN_CALL_COND_TIMED_WAIT"); procedure Krn_Cond_Signal (Cond : A_Cond_T); pragma Interface (Ada, Krn_Cond_Signal); pragma Interface_Name (Krn_Cond_Signal, "__KRN_CALL_COND_SIGNAL"); procedure Krn_Cond_Broadcast (Cond : A_Cond_T); pragma Interface (Ada, Krn_Cond_Broadcast); pragma Interface_Name (Krn_Cond_Broadcast, "__KRN_CALL_COND_BROADCAST"); ------------------------------------------------------------------------- -- Mutex service combinations ------------------------------------------------------------------------- -- cond_signal, mutex_unlock procedure Krn_Cond_Signal_Unlock (Cond : A_Cond_T; Mutex : A_Mutex_T); pragma Interface (Ada, Krn_Cond_Signal_Unlock); pragma Interface_Name (Krn_Cond_Signal_Unlock, "__KRN_CALL_COND_SIGNAL_UNLOCK"); ------------------------------------------------------------------------- -- Pending interrupt services ------------------------------------------------------------------------- procedure Krn_Pending_Handle; pragma Interface (Ada, Krn_Pending_Handle); pragma Interface_Name (Krn_Pending_Handle, "__KRN_CALL_PENDING_HANDLE"); ------------------------------------------------------------------------- -- Name services ------------------------------------------------------------------------- procedure Krn_Name_Services (Srv : K_Name_Srv_T; Arg : Address); pragma Interface (Ada, Krn_Name_Services); pragma Interface_Name (Krn_Name_Services, "__KRN_CALL_NAME_SERVICES"); end Krn_Call_I;
nblk1=d nid=0 hdr6=1a [0x00] rec0=1e rec1=00 rec2=01 rec3=058 [0x01] rec0=16 rec1=00 rec2=02 rec3=00a [0x02] rec0=10 rec1=00 rec2=03 rec3=04a [0x03] rec0=11 rec1=00 rec2=04 rec3=048 [0x04] rec0=11 rec1=00 rec2=05 rec3=026 [0x05] rec0=11 rec1=00 rec2=06 rec3=02e [0x06] rec0=13 rec1=00 rec2=07 rec3=04c [0x07] rec0=14 rec1=00 rec2=08 rec3=03e [0x08] rec0=12 rec1=00 rec2=09 rec3=040 [0x09] rec0=12 rec1=00 rec2=0a rec3=042 [0x0a] rec0=11 rec1=00 rec2=0b rec3=032 [0x0b] rec0=15 rec1=00 rec2=0c rec3=00e [0x0c] rec0=01 rec1=00 rec2=0d rec3=000 tail 0x217542062874f7bc92b7e 0x42a00088462060003