|
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: 30720 (0x7800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Ada_Krn_Defs, seg_04bb62
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
-- Copyright 1991 Verdix Corporation with System; use System; with Unchecked_Conversion; with Krn_Defs; package Ada_Krn_Defs is pragma Suppress (All_Checks); pragma Suppress (Exception_Tables); pragma Not_Elaborated; pragma Local_Access; -------------------------------------------------------------------------- -- Ada kernel type definitions for VADS_MICRO/RS6000 -------------------------------------------------------------------------- -- Kernel's task id (OS DEPENDENT) subtype Krn_Task_Id is Krn_Defs.A_Krn_Tcb_T; -- NO_KRN_TASK_ID: constant krn_task_id := null; function No_Krn_Task_Id return Krn_Task_Id; pragma Inline_Only (No_Krn_Task_Id); -- Kernel's program id (OS DEPENDENT) subtype Krn_Program_Id is Krn_Defs.A_Krn_Pcb_T; -- NO_KRN_PROGRAM_ID: constant krn_program_id := null; function No_Krn_Program_Id return Krn_Program_Id; pragma Inline_Only (No_Krn_Program_Id); -------------------------------------------------------------------------- -- Interrupt types (OS DEPENDENT) -------------------------------------------------------------------------- -- Interrupt Vector ID's. For Unix: signal number. subtype Intr_Vector_Id_T is Krn_Defs.Intr_Vector_Id_T; -- Interrupt enable/disable status. For SYSV: sigset_t mask subtype Intr_Status_T is Krn_Defs.Intr_Status_T; -- All the asynchronous signals disabled Disable_Mask : constant Integer := Krn_Defs.Disable_Mask; Disable_33_64_Mask : constant Integer := Krn_Defs.Disable_33_64_Mask; -- DISABLE_INTR_STATUS\x09: constant intr_status_t := --\x09\x09(DISABLE_MASK, DISABLE_33_64_MASK, others => 0); function Disable_Intr_Status return Intr_Status_T; pragma Inline_Only (Disable_Intr_Status); -- All signals enabled Enable_Mask : constant Integer := Krn_Defs.Enable_Mask; Enable_33_64_Mask : constant Integer := Krn_Defs.Enable_33_64_Mask;- ENABLE_INTR_STATUS\x09: constant intr_status_t := --\x09\x09(ENABLE_MASK, ENABLE_33_64_MASK, others => 0); function Enable_Intr_Status return Intr_Status_T; pragma Inline_Only (Enable_Intr_Status); -- Value return for a bad intr_vector passed to the interrupt -- service routines Bad_Intr_Vector : constant Address := Krn_Defs.Bad_Intr_Vector; -------------------------------------------------------------------------- -- Interrupt entry types -------------------------------------------------------------------------- -- This record type is used for interrupt entries type Intr_Entry_T is record Intr_Vector : Intr_Vector_Id_T; -- this field is referenced by Ada rts Prio : Priority; -- this field is referenced by Ada rts end record; type A_Intr_Entry_T is access Intr_Entry_T; function To_A_Intr_Entry_T is new Unchecked_Conversion (Address, A_Intr_Entry_T); function To_Address is new Unchecked_Conversion (A_Intr_Entry_T, Address); -------------------------------------------------------------------------- -- intr_entry_t: init subprograms -------------------------------------------------------------------------- procedure Intr_Entry_Init (Intr_Entry : A_Intr_Entry_T; Intr_Vector : Intr_Vector_Id_T; Prio : Priority := Priority'Last); function Intr_Entry_Init (Intr_Entry : A_Intr_Entry_T; Intr_Vector : Intr_Vector_Id_T; Prio : Priority := Priority'Last) return Address; function Intr_Entry_Init ( -- does an implicit "intr_entry: a_intr_entry_t := new intr_entry_t;" Intr_Vector : Intr_Vector_Id_T; Prio : Priority := Priority'Last) return Address; pragma Inline_Only (Intr_Entry_Init); -------------------------------------------------------------------------- -- Condition variable and mutex types -------------------------------------------------------------------------- subtype Cond_Attr_T is Krn_Defs.Cond_Attr_T; subtype A_Cond_Attr_T is Krn_Defs.A_Cond_Attr_T; function To_A_Cond_Attr_T is new Unchecked_Conversion (Address, A_Cond_Attr_T); function To_Address is new Unchecked_Conversion (A_Cond_Attr_T, Address); subtype Cond_T is Krn_Defs.Cond_T; subtype A_Cond_T is Krn_Defs.A_Cond_T; function To_A_Cond_T is new Unchecked_Conversion (Address, A_Cond_T); function To_Address is new Unchecked_Conversion (A_Cond_T, Address); subtype Mutex_Attr_T is Krn_Defs.Mutex_Attr_T; subtype A_Mutex_Attr_T is Krn_Defs.A_Mutex_Attr_T; function To_A_Mutex_Attr_T is new Unchecked_Conversion (Address, A_Mutex_Attr_T); function To_Address is new Unchecked_Conversion (A_Mutex_Attr_T, Address); subtype Intr_Attr_T is Krn_Defs.Intr_Attr_T; subtype A_Intr_Attr_T is Krn_Defs.A_Intr_Attr_T; function To_A_Intr_Attr_T is new Unchecked_Conversion (Address, A_Intr_Attr_T); function To_A_Intr_Attr_T is new Unchecked_Conversion (A_Mutex_Attr_T, A_Intr_Attr_T); function To_A_Mutex_Attr_T is new Unchecked_Conversion (A_Intr_Attr_T, A_Mutex_Attr_T); function To_Address is new Unchecked_Conversion (A_Intr_Attr_T, Address); subtype Prio_Ceiling_Attr_T is Krn_Defs.Prio_Ceiling_Attr_T; subtype A_Prio_Ceiling_Attr_T is Krn_Defs.A_Prio_Ceiling_Attr_T; function To_A_Prio_Ceiling_Attr_T is new Unchecked_Conversion (Address, A_Prio_Ceiling_Attr_T); function To_A_Prio_Ceiling_Attr_T is new Unchecked_Conversion (A_Mutex_Attr_T, A_Prio_Ceiling_Attr_T); function To_A_Mutex_Attr_T is new Unchecked_Conversion (A_Prio_Ceiling_Attr_T, A_Mutex_Attr_T); function To_Address is new Unchecked_Conversion (A_Prio_Ceiling_Attr_T, Address); subtype Mutex_T is Krn_Defs.Mutex_T; subtype A_Mutex_T is Krn_Defs.A_Mutex_T; function To_A_Mutex_T is new Unchecked_Conversion (Address, A_Mutex_T); function To_Address is new Unchecked_Conversion (A_Mutex_T, Address); subtype Intr_Mutex_T is Krn_Defs.Intr_Mutex_T; subtype A_Intr_Mutex_T is Krn_Defs.A_Intr_Mutex_T; function To_A_Intr_Mutex_T is new Unchecked_Conversion (A_Mutex_T, A_Intr_Mutex_T); function To_A_Mutex_T is new Unchecked_Conversion (A_Intr_Mutex_T, A_Mutex_T); function To_Address is new Unchecked_Conversion (A_Intr_Mutex_T, Address); -------------------------------------------------------------------------- -- cond_attr_t: DEFAULT and init subprograms -------------------------------------------------------------------------- function Default_Cond_Attr return A_Cond_Attr_T; pragma Inline_Only (Default_Cond_Attr); procedure Fifo_Cond_Attr_Init (Attr : A_Cond_Attr_T); function Fifo_Cond_Attr_Init (Attr : A_Cond_Attr_T) return A_Cond_Attr_T; function Fifo_Cond_Attr_Init return A_Cond_Attr_T; -- does an implicit "attr: a_cond_attr_t := new cond_attr_t;" pragma Inline_Only (Fifo_Cond_Attr_Init); procedure Prio_Cond_Attr_Init (Attr : A_Cond_Attr_T); function Prio_Cond_Attr_Init (Attr : A_Cond_Attr_T) return A_Cond_Attr_T; function Prio_Cond_Attr_Init return A_Cond_Attr_T; -- does an implicit "attr: a_cond_attr_t := new cond_attr_t;" pragma Inline_Only (Prio_Cond_Attr_Init); -------------------------------------------------------------------------- -- mutex_attr_t: DEFAULT and init subprograms -------------------------------------------------------------------------- function Default_Mutex_Attr return A_Mutex_Attr_T; function Default_Mutex_Attr return Address; pragma Inline_Only (Default_Mutex_Attr); function Default_Intr_Attr return A_Mutex_Attr_T; function Default_Intr_Attr return Address; pragma Inline_Only (Default_Intr_Attr); procedure Fifo_Mutex_Attr_Init (Attr : A_Mutex_Attr_T); function Fifo_Mutex_Attr_Init (Attr : A_Mutex_Attr_T) return A_Mutex_Attr_T; function Fifo_Mutex_Attr_Init (Attr : A_Mutex_Attr_T) return Address; function Fifo_Mutex_Attr_Init return A_Mutex_Attr_T; -- does an implicit "attr: a_mutex_attr_t := new mutex_attr_t;" function Fifo_Mutex_Attr_Init return Address; -- does an implicit "attr: a_mutex_attr_t := new mutex_attr_t;" pragma Inline_Only (Fifo_Mutex_Attr_Init); procedure Prio_Mutex_Attr_Init (Attr : A_Mutex_Attr_T); function Prio_Mutex_Attr_Init (Attr : A_Mutex_Attr_T) return A_Mutex_Attr_T; function Prio_Mutex_Attr_Init (Attr : A_Mutex_Attr_T) return Address; function Prio_Mutex_Attr_Init return A_Mutex_Attr_T; -- does an implicit "attr: a_mutex_attr_t := new mutex_attr_t;" function Prio_Mutex_Attr_Init return Address; -- does an implicit "attr: a_mutex_attr_t := new mutex_attr_t;" pragma Inline_Only (Prio_Mutex_Attr_Init); procedure Prio_Inherit_Mutex_Attr_Init (Attr : A_Mutex_Attr_T); function Prio_Inherit_Mutex_Attr_Init (Attr : A_Mutex_Attr_T) return A_Mutex_Attr_T; function Prio_Inherit_Mutex_Attr_Init (Attr : A_Mutex_Attr_T) return Address; function Prio_Inherit_Mutex_Attr_Init return A_Mutex_Attr_T; -- does an implicit "attr: a_mutex_attr_t := new mutex_attr_t;" function Prio_Inherit_Mutex_Attr_Init return Address; -- does an implicit "attr: a_mutex_attr_t := new mutex_attr_t;" pragma Inline_Only (Prio_Inherit_Mutex_Attr_Init); -- If the archive linked by the application doesn't support -- priority inheritance or if the CIFO -- "pragma SET_PRIORITY_INHERITANCE_CRITERIA" isn't defined in -- the main procedure, then, raises PROGRAM_ERROR exception. -- -- The priority inheritance protocol is only supported in the CIFO -- add-on product. procedure Prio_Ceiling_Mutex_Attr_Init (Attr : A_Mutex_Attr_T; Ceiling_Prio : Priority := Priority'Last); function Prio_Ceiling_Mutex_Attr_Init (Attr : A_Mutex_Attr_T; Ceiling_Prio : Priority := Priority'Last) return A_Mutex_Attr_T; function Prio_Ceiling_Mutex_Attr_Init (Attr : A_Mutex_Attr_T; Ceiling_Prio : Priority := Priority'Last) return Address; function Prio_Ceiling_Mutex_Attr_Init ( -- does an implicit "attr: a_mutex_attr_t := new mutex_attr_t;" Ceiling_Prio : Priority := Priority'Last) return A_Mutex_Attr_T; function Prio_Ceiling_Mutex_Attr_Init ( -- does an implicit "attr: a_mutex_attr_t := new mutex_attr_t;" Ceiling_Prio : Priority := Priority'Last) return Address; pragma Inline_Only (Prio_Ceiling_Mutex_Attr_Init); -- If the archive linked by the application doesn't support -- the priority ceiling protocol, then, raises PROGRAM_ERROR exception. -- -- The priority ceiling protocol is only supported in the CIFO -- add-on product. procedure Intr_Attr_Init (Attr : A_Mutex_Attr_T; Disable_Status : Intr_Status_T := Disable_Intr_Status); function Intr_Attr_Init (Attr : A_Mutex_Attr_T; Disable_Status : Intr_Status_T := Disable_Intr_Status) return A_Mutex_Attr_T; function Intr_Attr_Init (Attr : A_Mutex_Attr_T; Disable_Status : Intr_Status_T := Disable_Intr_Status) return Address; function Intr_Attr_Init ( -- does an implicit "attr: a_mutex_attr_t := new mutex_attr_t;" Disable_Status : Intr_Status_T := Disable_Intr_Status) return A_Mutex_Attr_T; function Intr_Attr_Init ( -- does an implicit "attr: a_mutex_attr_t := new mutex_attr_t;" Disable_Status : Intr_Status_T := Disable_Intr_Status) return Address; pragma Inline_Only (Intr_Attr_Init); -------------------------------------------------------------------------- -- Task attribute types -------------------------------------------------------------------------- -- This record type is used for passing OS specific task information -- at task create. -- -- Note: the priority in the task_attr_t record takes precedence over -- that specified by "pragma priority()". -- -- The prio and cond_attr_address fields are referenced by the Ada rts. -- -- The mutex_attr_address is the address of a mutex_attr_t record. -- The cond_attr_address is the address of a cond_attr_t record. Setting -- these fields to NO_ADDR selects the default values specified -- by the DEFAULT_TASK_ATTRIBUTES parameter in v_usr_conf's -- configuration_table. -- -- The sporadic_attr_address is the address of a sporadic_attr_t -- record. Setting sporadic_attr_address to NO_ADDR selects the -- normal, non-sporadic task. A sporadic task is only supported -- in the CIFO add-on product. type Task_Attr_T is record Prio : Priority; Sporadic_Attr_Address : Address := No_Addr; Mutex_Attr_Address : Address := No_Addr; Cond_Attr_Address : Address := No_Addr; end record; type A_Task_Attr_T is access Task_Attr_T; function To_A_Task_Attr_T is new Unchecked_Conversion (Address, A_Task_Attr_T); function To_Address is new Unchecked_Conversion (A_Task_Attr_T, Address); -- Sporadic task attributes. -- -- If the Ada task is to be sporadic, then, -- the sporadic_attr_address field in the task_attr_t record -- points to a sporadic_attr_t record. -- -- Here's an overview of the fields in the sporadic_attr_t record: -- -- If the available execution capacity is greater than -- zero, then, the sporadic task's normal Ada priority is used; otherwise, -- the priority specified by the low_prio field is used. -- -- The replenish_period field specifies the sporadic task's -- period. Its the amount of time to wait before the sporadic task's -- consumed execution time is replenished. -- -- The initial_budget field specifies the maximum execution time -- in any sporadic task period. The available execution time is -- initialized with the initial_budget. When this time is totally consumed, -- the task's priority is lowered to low_prio until its replenished. -- -- The last two fields, min_replenishment and replenishment_count, -- control how replenishments may be combined so as to reduce the number -- of replenishment timer events. If the previous replenishment amount -- is less than min_replenishment, then, the current replenishment -- amount is added to the previous replenishment amount and the time of -- the previous replenishment is set to the time of the current -- replenishment. If we already have replenishment_count replenishments, -- then, the current replenishment amount is added to the previous -- replenishment amount and the time of the previous -- replenishment is set to the time of the current replenishment. -- -- Note: sporadic tasks are only supported in the CIFO add-on product. type Sporadic_Attr_T is record Low_Prio : Priority := Priority'First; Replenish_Period : Duration := 10.0; Initial_Budget : Duration := 2.0; Min_Replenishment : Duration := 0.0; Replenishment_Count : Natural := 2; end record; type A_Sporadic_Attr_T is access Sporadic_Attr_T; function To_A_Sporadic_Attr_T is new Unchecked_Conversion (Address, A_Sporadic_Attr_T); function To_Address is new Unchecked_Conversion (A_Sporadic_Attr_T, Address); -------------------------------------------------------------------------- -- task_attr_t: DEFAULT and init subprograms -------------------------------------------------------------------------- function Default_Task_Attr return A_Task_Attr_T; function Default_Task_Attr return Address; pragma Inline_Only (Default_Task_Attr); procedure Task_Attr_Init (Task_Attr : A_Task_Attr_T; Prio : Priority := Priority'First; Mutex_Attr : A_Mutex_Attr_T := null; Cond_Attr : A_Cond_Attr_T := null); function Task_Attr_Init (Task_Attr : A_Task_Attr_T; Prio : Priority := Priority'First; Mutex_Attr : A_Mutex_Attr_T := null; Cond_Attr : A_Cond_Attr_T := null) return Address; function Task_Attr_Init ( -- does an implicit "task_attr: a_task_attr_t := new task_attr_t;" Prio : Priority := Priority'First; Mutex_Attr : A_Mutex_Attr_T := null; Cond_Attr : A_Cond_Attr_T := null) return Address; procedure Sporadic_Task_Attr_Init (Task_Attr : A_Task_Attr_T; Sporadic_Attr : A_Sporadic_Attr_T; Prio : Priority; Low_Prio : Priority; Replenish_Period : Duration; Initial_Budget : Duration; Min_Replenishment : Duration := 0.0; Replenishment_Count : Natural := 2; Mutex_Attr : A_Mutex_Attr_T := null; Cond_Attr : A_Cond_Attr_T := null); function Sporadic_Task_Attr_Init (Task_Attr : A_Task_Attr_T; Sporadic_Attr : A_Sporadic_Attr_T; Prio : Priority; Low_Prio : Priority; Replenish_Period : Duration; Initial_Budget : Duration; Min_Replenishment : Duration := 0.0; Replenishment_Count : Natural := 2; Mutex_Attr : A_Mutex_Attr_T := null; Cond_Attr : A_Cond_Attr_T := null) return Address; function Sporadic_Task_Attr_Init ( -- does an implicit "task_attr: a_task_attr_t := new task_attr_t;" -- does an implicit "sporadic_attr: a_sporadic_attr_t := --\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09new sporadic_attr_t;" Prio : Priority; Low_Prio : Priority; Replenish_Period : Duration; Initial_Budget : Duration; Min_Replenishment : Duration := 0.0; Replenishment_Count : Natural := 2; Mutex_Attr : A_Mutex_Attr_T := null; Cond_Attr : A_Cond_Attr_T := null) return Address; pragma Inline_Only (Sporadic_Task_Attr_Init); -- If the CIFO add-on product archive isn't linked by the application -- program, then, raises the PROGRAM_ERROR exception. -------------------------------------------------------------------------- -- Semaphore types -------------------------------------------------------------------------- subtype Semaphore_T is Krn_Defs.Semaphore_T; subtype A_Semaphore_T is Krn_Defs.A_Semaphore_T; function To_A_Semaphore_T is new Unchecked_Conversion (Address, A_Semaphore_T); function To_Address is new Unchecked_Conversion (A_Semaphore_T, Address); subtype Semaphore_State_T is Krn_Defs.Test_And_Set_T; Semaphore_Full : constant Semaphore_State_T := Krn_Defs.Test_And_Set_False; Semaphore_Empty : constant Semaphore_State_T := Krn_Defs.Test_And_Set_True; subtype Semaphore_Attr_T is Krn_Defs.Semaphore_Attr_T; subtype A_Semaphore_Attr_T is Krn_Defs.A_Semaphore_Attr_T; function To_A_Semaphore_Attr_T is new Unchecked_Conversion (Address, A_Semaphore_Attr_T); function To_Address is new Unchecked_Conversion (A_Semaphore_Attr_T, Address); -------------------------------------------------------------------------- -- semaphore_attr_t: DEFAULT subprogram -------------------------------------------------------------------------- function Default_Semaphore_Attr return A_Semaphore_Attr_T; pragma Inline_Only (Default_Semaphore_Attr); -------------------------------------------------------------------------- -- Count semaphore types (VADS EXEC augmentation) -------------------------------------------------------------------------- subtype Count_Semaphore_T is Krn_Defs.Count_Semaphore_T; subtype A_Count_Semaphore_T is Krn_Defs.A_Count_Semaphore_T; function To_A_Count_Semaphore_T is new Unchecked_Conversion (Address, A_Count_Semaphore_T); function To_Address is new Unchecked_Conversion (A_Count_Semaphore_T, Address); subtype Count_Semaphore_Attr_T is Ada_Krn_Defs.Mutex_Attr_T; subtype A_Count_Semaphore_Attr_T is Ada_Krn_Defs.A_Mutex_Attr_T; subtype Count_Intr_Attr_T is Ada_Krn_Defs.Intr_Attr_T; subtype A_Count_Intr_Attr_T is Ada_Krn_Defs.A_Intr_Attr_T; function To_A_Count_Semaphore_Attr_T is new Unchecked_Conversion (Address, A_Count_Semaphore_Attr_T); function To_A_Count_Intr_Attr_T is new Unchecked_Conversion (Address, A_Count_Intr_Attr_T); function To_A_Count_Intr_Attr_T is new Unchecked_Conversion (A_Count_Semaphore_Attr_T, A_Count_Intr_Attr_T); function To_A_Count_Semaphore_Attr_T is new Unchecked_Conversion (A_Count_Intr_Attr_T, A_Count_Semaphore_Attr_T); -------------------------------------------------------------------------- -- count_semaphore_attr_t: DEFAULT and init subprograms -------------------------------------------------------------------------- function Default_Count_Semaphore_Attr return A_Count_Semaphore_Attr_T; pragma Inline_Only (Default_Count_Semaphore_Attr); function Default_Count_Intr_Attr return A_Count_Semaphore_Attr_T; pragma Inline_Only (Default_Count_Intr_Attr); procedure Count_Intr_Attr_Init (Attr : A_Count_Semaphore_Attr_T; Disable_Status : Intr_Status_T := Disable_Intr_Status); function Count_Intr_Attr_Init (Attr : A_Count_Semaphore_Attr_T; Disable_Status : Intr_Status_T := Disable_Intr_Status) return A_Count_Semaphore_Attr_T; function Count_Intr_Attr_Init ( -- does an implicit -- "attr: a_count_semaphore_attr_t := new count_semaphore_attr_t;" Disable_Status : Intr_Status_T := Disable_Intr_Status) return A_Count_Semaphore_Attr_T; pragma Inline_Only (Count_Intr_Attr_Init); -------------------------------------------------------------------------- -- Mailbox types (VADS EXEC augmentation) -------------------------------------------------------------------------- subtype Mailbox_T is Krn_Defs.Mailbox_T; subtype A_Mailbox_T is Krn_Defs.A_Mailbox_T; function To_A_Mailbox_T is new Unchecked_Conversion (Address, A_Mailbox_T); function To_Address is new Unchecked_Conversion (A_Mailbox_T, Address); subtype Mailbox_Attr_T is Ada_Krn_Defs.Mutex_Attr_T; subtype A_Mailbox_Attr_T is Ada_Krn_Defs.A_Mutex_Attr_T; subtype Mailbox_Intr_Attr_T is Ada_Krn_Defs.Intr_Attr_T; subtype A_Mailbox_Intr_Attr_T is Ada_Krn_Defs.A_Intr_Attr_T; function To_A_Mailbox_Attr_T is new Unchecked_Conversion (Address, A_Mailbox_Attr_T); function To_A_Mailbox_Intr_Attr_T is new Unchecked_Conversion (Address, A_Mailbox_Intr_Attr_T); function To_A_Mailbox_Intr_Attr_T is new Unchecked_Conversion (A_Mailbox_Attr_T, A_Mailbox_Intr_Attr_T); function To_A_Mailbox_Attr_T is new Unchecked_Conversion (A_Mailbox_Intr_Attr_T, A_Mailbox_Attr_T); -------------------------------------------------------------------------- -- mailbox_attr_t: DEFAULT and init subprograms -------------------------------------------------------------------------- function Default_Mailbox_Attr return A_Mailbox_Attr_T; pragma Inline_Only (Default_Mailbox_Attr); function Default_Mailbox_Intr_Attr return A_Mailbox_Attr_T; pragma Inline_Only (Default_Mailbox_Intr_Attr); procedure Mailbox_Intr_Attr_Init (Attr : A_Mailbox_Attr_T; Disable_Status : Intr_Status_T := Disable_Intr_Status); function Mailbox_Intr_Attr_Init (Attr : A_Mailbox_Attr_T; Disable_Status : Intr_Status_T := Disable_Intr_Status) return A_Mailbox_Attr_T; function Mailbox_Intr_Attr_Init ( -- does an implicit -- "attr: a_mailbox_attr_t := new mailbox_attr_t;" Disable_Status : Intr_Status_T := Disable_Intr_Status) return A_Mailbox_Attr_T; pragma Inline_Only (Mailbox_Intr_Attr_Init); -------------------------------------------------------------------------- -- Callout and task storage types (VADS EXEC augmentation) -------------------------------------------------------------------------- -- The Ada RTS assumes callout_event_t is an enumeration type -- supporting the following program exit events as a minimum: --\x09\x09type callout_event_t is ( -- EXIT_EVENT, -- UNEXPECTED_EXIT_EVENT --\x09\x09); -- Callout events type Callout_Event_T is new Krn_Defs.Callout_Event_T; -- Id for accessing user defined storage in the task control block subtype Task_Storage_Id is Krn_Defs.Task_Storage_Id; No_Task_Storage_Id : constant Task_Storage_Id := Krn_Defs.No_Task_Storage_Id; -------------------------------------------------------------------------- -- Name service status types (VADS EXEC augmentation) -------------------------------------------------------------------------- -- Status returned by ada_krn_i.name_bind(). type Name_Bind_Status_T is (Name_Bind_Ok, Name_Bind_Not_Supported, Name_Bind_Bad_Arg, Name_Bind_Out_Of_Memory, Name_Bind_Already_Bound); for Name_Bind_Status_T'Size use Integer'Size; -- Status returned by ada_krn_i.name_resolve(). type Name_Resolve_Status_T is (Name_Resolve_Ok, Name_Resolve_Not_Supported, Name_Resolve_Bad_Arg, Name_Resolve_Timed_Out, Name_Resolve_Failed); for Name_Resolve_Status_T'Size use Integer'Size; end Ada_Krn_Defs;
nblk1=1d nid=1d hdr6=38 [0x00] rec0=1f rec1=00 rec2=01 rec3=004 [0x01] rec0=14 rec1=00 rec2=02 rec3=002 [0x02] rec0=16 rec1=00 rec2=03 rec3=06a [0x03] rec0=12 rec1=00 rec2=04 rec3=052 [0x04] rec0=15 rec1=00 rec2=05 rec3=094 [0x05] rec0=13 rec1=00 rec2=06 rec3=060 [0x06] rec0=13 rec1=00 rec2=07 rec3=088 [0x07] rec0=13 rec1=00 rec2=08 rec3=06c [0x08] rec0=14 rec1=00 rec2=09 rec3=024 [0x09] rec0=12 rec1=00 rec2=0a rec3=020 [0x0a] rec0=15 rec1=00 rec2=0b rec3=048 [0x0b] rec0=16 rec1=00 rec2=0c rec3=02a [0x0c] rec0=17 rec1=00 rec2=0d rec3=040 [0x0d] rec0=15 rec1=00 rec2=0e rec3=052 [0x0e] rec0=15 rec1=00 rec2=0f rec3=080 [0x0f] rec0=11 rec1=00 rec2=10 rec3=05e [0x10] rec0=15 rec1=00 rec2=11 rec3=01e [0x11] rec0=12 rec1=00 rec2=12 rec3=028 [0x12] rec0=12 rec1=00 rec2=13 rec3=008 [0x13] rec0=14 rec1=00 rec2=14 rec3=078 [0x14] rec0=14 rec1=00 rec2=15 rec3=006 [0x15] rec0=12 rec1=00 rec2=16 rec3=04c [0x16] rec0=14 rec1=00 rec2=17 rec3=026 [0x17] rec0=14 rec1=00 rec2=18 rec3=04c [0x18] rec0=13 rec1=00 rec2=19 rec3=008 [0x19] rec0=17 rec1=00 rec2=1a rec3=006 [0x1a] rec0=15 rec1=00 rec2=1b rec3=098 [0x1b] rec0=0f rec1=00 rec2=1c rec3=000 [0x1c] rec0=0f rec1=00 rec2=1c rec3=000 tail 0x21548dcbc868472d34f8f 0x42a00088462060003 Free Block Chain: 0x1d: 0000 00 00 00 04 80 01 20 01 02 00 00 00 00 80 00 01 ┆ ┆