|
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: 13312 (0x3400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Krn_Entries, seg_04b946
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
-- Copyright 1991, 1993 Verdix Corporation with System; use System; with Krn_Defs; use Krn_Defs; with Link_Block; with Unchecked_Conversion; package Krn_Entries is pragma Suppress (All_Checks); pragma Suppress (Exception_Tables); pragma Not_Elaborated; pragma Local_Access; -- Kernel service entry IDs and arguments K_Invalid : constant := 0; ------------------------------------------------------------------------- -- Program services ------------------------------------------------------------------------- K_Program_Init : constant := 1; -- arg_1 =>\x09arg: a_program_init_arg_t type Program_Init_Arg_T is record Usr_Link_Block : Link_Block.A_Link_Block_T; -- link_block has pointers to stack_limit, -- raise_interrupt_exception, predefined Ada exceptions, -- main_task_priority. -- Values for the following parameters were extracted from the -- user's configuration table or were set via pragmas in the -- main procedure Main_Stack_Size : Natural; Main_Prio : Priority; Exception_Stack_Size : Natural; Idle_Stack_Size : Natural; Main_Stack_Area : Address; end record; type A_Program_Init_Arg_T is access Program_Init_Arg_T; function To_A_Program_Init_Arg_T is new Unchecked_Conversion (Address, A_Program_Init_Arg_T); K_Program_Exit : constant := 2; -- arg_1 => status: integer K_Program_Diagnostic : constant := 3; -- arg_1 => s_a: address, arg_2 => s_len: natural K_Program_Start : constant := 4; -- arg_1 =>\x09arg: a_program_start_arg_t, returns a_krn_pcb_t type Program_Start_Arg_T is record Usr_Link_Block : Link_Block.A_Link_Block_T; Key : Address; Terminate_Callout : Address; Ada_Program_Id : Program_Id; end record; type A_Program_Start_Arg_T is access Program_Start_Arg_T; function To_A_Program_Start_Arg_T is new Unchecked_Conversion (Address, A_Program_Start_Arg_T); K_Program_Terminate : constant := 5; -- arg_1 => prg: a_krn_pcb_t, arg_2 => status: integer K_Program_Set_Is_Server : constant := 6; -- no arg ------------------------------------------------------------------------- -- Task services ------------------------------------------------------------------------- K_Task_Set_Priority : constant := 7; -- arg_1 => t: a_krn_tcb_t, arg_2 => prio: priority K_Task_Create : constant := 8; -- arg_1 => arg: a_task_create_arg_t, returns a_krn_tcb_t -- SPORADIC_TASK type Sporadic_Create_Arg_T is record Low_Prio : Priority; Replenish_Period : Duration; Initial_Budget : Duration; Min_Replenishment : Duration; Replenishment_Count : Natural; end record; type A_Sporadic_Create_Arg_T is access Sporadic_Create_Arg_T; function To_A_Sporadic_Create_Arg_T is new Unchecked_Conversion (Address, A_Sporadic_Create_Arg_T); -- SPORADIC_TASK type Task_Create_Arg_T is record Prio : Priority; Stack_Size : Natural; Start : Address; Ada_Task_Id : Task_Id; -- SPORADIC_TASK Sporadic_Arg : A_Sporadic_Create_Arg_T; -- null indicates a normal, non-sporadic task -- SPORADIC_TASK end record; type A_Task_Create_Arg_T is access Task_Create_Arg_T; function To_A_Task_Create_Arg_T is new Unchecked_Conversion (Address, A_Task_Create_Arg_T); K_Task_Activate : constant := 9; -- arg_1 => t: a_krn_tcb_t K_Task_Terminate : constant := 10; -- arg_1 => t: a_krn_tcb_t K_Task_Suspend : constant := 11; -- arg_1 => t: a_krn_tcb_t K_Task_Resume : constant := 12; -- arg_1 => t: a_krn_tcb_t K_Task_Get_Supervisor_State : constant := 13; -- returns boolean (TRUE if current task is in supervisor state) K_Task_Enter_Supervisor_State : constant := 14; -- no args K_Task_Leave_Supervisor_State : constant := 15; -- no args K_Task_Wait : constant := 16; -- no args K_Task_Timed_Wait : constant := 17; -- arg_1 => sec: duration, returns boolean K_Task_Signal : constant := 18; -- arg_1 => t: a_krn_tcb_t K_Task_Signal_Unlock : constant := 19; -- arg_1 => t: a_krn_tcb_t, arg_2 => mutex: a_mutex_t K_Task_Signal_Wait_Unlock : constant := 20; -- arg_1 => t: a_krn_tcb_t, arg_2 => mutex: a_mutex_t ------------------------------------------------------------------------- -- Kernel scheduling services ------------------------------------------------------------------------- K_Kernel_Set_Time_Slicing_Enabled : constant := 21; -- arg_1 => new_value: boolean K_Kernel_Get_Time_Slicing_Enabled : constant := 22; -- returns boolean ------------------------------------------------------------------------- -- Time services ------------------------------------------------------------------------- K_Time_Set : constant := 23; -- arg_1 => arg: a_time_set_arg_t type Time_Set_Arg_T is record Day : Day_T; Sec : Duration; Timer_Support_Arg : Address; end record; type A_Time_Set_Arg_T is access Time_Set_Arg_T; function To_A_Time_Set_Arg_T is new Unchecked_Conversion (Address, A_Time_Set_Arg_T); K_Time_Get : constant := 24; -- arg_1 => arg: a_time_get_arg_t type Time_Get_Arg_T is record Day : Day_T; Sec : Duration; end record; type A_Time_Get_Arg_T is access Time_Get_Arg_T; function To_A_Time_Get_Arg_T is new Unchecked_Conversion (Address, A_Time_Get_Arg_T); K_Time_Delay : constant := 25; -- arg_1 => day: day_t, arg_2 => sec: duration Delta_Delay : constant Day_T := -1; ------------------------------------------------------------------------- -- Mutex services ------------------------------------------------------------------------- K_Mutex_Lock : constant := 26; -- arg_1 => mutex: a_mutex_t K_Mutex_Unlock : constant := 27; -- arg_1 => mutex: a_mutex_t K_Cond_Wait : constant := 28; -- arg_1 => cond: a_cond_t, arg_2 => mutex: a_mutex_t K_Cond_Timed_Wait : constant := 29; -- arg_1 => arg: a_cond_timed_wait_arg_t, returns boolean type Cond_Timed_Wait_Arg_T is record Cond : A_Cond_T; Mutex : A_Mutex_T; Sec : Duration; end record; type A_Cond_Timed_Wait_Arg_T is access Cond_Timed_Wait_Arg_T; function To_A_Cond_Timed_Wait_Arg_T is new Unchecked_Conversion (Address, A_Cond_Timed_Wait_Arg_T); K_Cond_Signal : constant := 30; -- arg_1 => cond: a_cond_t K_Cond_Broadcast : constant := 31; -- arg_1 => cond: a_cond_t ------------------------------------------------------------------------- -- Mutex service combinations ------------------------------------------------------------------------- K_Cond_Signal_Unlock : constant := 32; -- arg_1 => cond: a_cond_t, arg_2 => mutex: a_mutex_t ------------------------------------------------------------------------- -- Semaphore services ------------------------------------------------------------------------- K_Semaphore_Wait : constant := 33; -- arg_1 => s: a_semaphore_t K_Semaphore_Timed_Wait : constant := 34; -- arg_1 => s: a_semaphore_t, arg_2 => sec: duration, returns boolean K_Semaphore_Signal : constant := 35; -- arg_1 => s: a_semaphore_t ------------------------------------------------------------------------- -- Allocation services ------------------------------------------------------------------------- K_Alloc : constant := 36; -- arg_1 => size: natural, returns address K_Free : constant := 37; -- arg_1 => a: address ------------------------------------------------------------------------- -- Interrupt services ------------------------------------------------------------------------- K_Isr_Attach : constant := 38; -- arg_1 => iv: intr_vector_id_t, arg_2 => isr: address, returns address K_Isr_Detach : constant := 39; -- arg_1 => iv: intr_vector_id_t, returns address ------------------------------------------------------------------------- -- Pending interrupt services ------------------------------------------------------------------------- K_Pending_Handle : constant := 40; -- no arg ------------------------------------------------------------------------- -- Callout and task storage services ------------------------------------------------------------------------- K_Callout_Install : constant := 41; -- arg_1 => event: callout_event_t, arg_2 => proc: address, -- returns integer K_Task_Storage_Alloc : constant := 42; -- arg_1 => natural, returns task_storage_id ------------------------------------------------------------------------- -- Name services ------------------------------------------------------------------------- K_Name_Services : constant := 43; -- arg_1 => srv: k_name_srv_t, -- arg_2 => arg: a_k_name_bind_arg_t | a_k_name_resolve_arg_t type K_Name_Srv_T is (K_Name_Bind, K_Name_Resolve); for K_Name_Srv_T'Size use Integer'Size; type K_Name_Bind_Status_T is (K_Name_Bind_Ok, K_Name_Bind_Out_Of_Memory, K_Name_Bind_Already_Bound); type K_Name_Resolve_Status_T is (K_Name_Resolve_Ok, K_Name_Resolve_Timed_Out, K_Name_Resolve_Failed); type K_Name_Bind_Arg_T is record Name_Len : Natural; Name_Addr : Address; Prg : A_Krn_Pcb_T; Addr : Address; Status : K_Name_Bind_Status_T; -- out end record; type A_K_Name_Bind_Arg_T is access K_Name_Bind_Arg_T; function To_A_K_Name_Bind_Arg_T is new Unchecked_Conversion (Address, A_K_Name_Bind_Arg_T); function To_Address is new Unchecked_Conversion (A_K_Name_Bind_Arg_T, Address); type K_Name_Resolve_Arg_T is record Name_Len : Natural; Name_Addr : Address; Wait_Time : Duration; Prg : A_Krn_Pcb_T; -- out Addr : Address; -- out Status : K_Name_Resolve_Status_T; -- out end record; type A_K_Name_Resolve_Arg_T is access K_Name_Resolve_Arg_T; function To_A_K_Name_Resolve_Arg_T is new Unchecked_Conversion (Address, A_K_Name_Resolve_Arg_T); function To_Address is new Unchecked_Conversion (A_K_Name_Resolve_Arg_T, Address); K_Last : constant := 43; K_User_Services : constant := 44; end Krn_Entries;
nblk1=c nid=0 hdr6=18 [0x00] rec0=21 rec1=00 rec2=01 rec3=078 [0x01] rec0=18 rec1=00 rec2=02 rec3=044 [0x02] rec0=18 rec1=00 rec2=03 rec3=02a [0x03] rec0=1a rec1=00 rec2=04 rec3=034 [0x04] rec0=17 rec1=00 rec2=05 rec3=028 [0x05] rec0=1b rec1=00 rec2=06 rec3=052 [0x06] rec0=18 rec1=00 rec2=07 rec3=05c [0x07] rec0=16 rec1=00 rec2=08 rec3=092 [0x08] rec0=17 rec1=00 rec2=09 rec3=02a [0x09] rec0=18 rec1=00 rec2=0a rec3=00c [0x0a] rec0=19 rec1=00 rec2=0b rec3=05e [0x0b] rec0=09 rec1=00 rec2=0c rec3=000 tail 0x21750b87486843527853c 0x42a00088462060003