diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-02-16 15:52:29 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-02-16 15:52:29 +0000 |
commit | 19870208342778aecf570dfe008aa2747c46110e (patch) | |
tree | 48f0cc573732a4e8dddca3bdf91c3488d0b13649 /c/src/ada/rtems.ads | |
parent | 2011-02-16 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-19870208342778aecf570dfe008aa2747c46110e.tar.bz2 |
2011-02-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* ada/Makefile.am, ada/preinstall.am, ada/rtems.adb, ada/rtems.ads:
Split RTEMS Ada95 binding into a master package and a child package
per Manager. This is better Ada style.
* ada/rtems-barrier.adb, ada/rtems-barrier.ads, ada/rtems-clock.adb,
ada/rtems-clock.ads, ada/rtems-cpu_usage.ads, ada/rtems-debug.adb,
ada/rtems-debug.ads, ada/rtems-event.adb, ada/rtems-event.ads,
ada/rtems-extension.adb, ada/rtems-extension.ads,
ada/rtems-fatal.adb, ada/rtems-fatal.ads, ada/rtems-interrupt.ads,
ada/rtems-io.adb, ada/rtems-io.ads, ada/rtems-message_queue.adb,
ada/rtems-message_queue.ads, ada/rtems-object.adb,
ada/rtems-object.ads, ada/rtems-partition.adb,
ada/rtems-partition.ads, ada/rtems-port.adb, ada/rtems-port.ads,
ada/rtems-rate_monotonic.adb, ada/rtems-rate_monotonic.ads,
ada/rtems-region.adb, ada/rtems-region.ads, ada/rtems-semaphore.adb,
ada/rtems-semaphore.ads, ada/rtems-signal.adb, ada/rtems-signal.ads,
ada/rtems-stack_checker.ads, ada/rtems-tasks.adb,
ada/rtems-tasks.ads, ada/rtems-timer.adb, ada/rtems-timer.ads: New
files.
Diffstat (limited to '')
-rw-r--r-- | c/src/ada/rtems.ads | 962 |
1 files changed, 20 insertions, 942 deletions
diff --git a/c/src/ada/rtems.ads b/c/src/ada/rtems.ads index 0df60fdf46..32dc642100 100644 --- a/c/src/ada/rtems.ads +++ b/c/src/ada/rtems.ads @@ -1,4 +1,4 @@ --- + -- RTEMS / Specification -- -- DESCRIPTION: @@ -11,7 +11,7 @@ -- RTEMS initialization and configuration are called from -- the BSP side, therefore should never be called from ADA. -- --- COPYRIGHT (c) 1997-2008. +-- COPYRIGHT (c) 1997-2011. -- On-Line Applications Research Corporation (OAR). -- -- The license and distribution terms for this file may in @@ -87,12 +87,10 @@ pragma Elaborate_Body (RTEMS); subtype Attribute is RTEMS.Unsigned32; subtype Mode is RTEMS.Unsigned32; subtype Option is RTEMS.Unsigned32; - subtype Task_Priority is RTEMS.Unsigned32; subtype Notepad_Index is RTEMS.Unsigned32 range 0 .. 15; subtype Event_Set is RTEMS.Unsigned32; subtype Signal_Set is RTEMS.Unsigned32; - subtype Debug_Set is RTEMS.Unsigned32; subtype Device_Major_Number is RTEMS.Unsigned32; subtype Device_Minor_Number is RTEMS.Unsigned32; subtype ISR_Level is RTEMS.Unsigned32; @@ -113,19 +111,11 @@ pragma Elaborate_Body (RTEMS); -- Task Related Types -- - subtype Task_Argument is RTEMS.Unsigned32; - type Task_Argument_PTR is access all Task_Argument; - - type Task_Entry is access procedure ( - Argument : RTEMS.Unsigned32 - ); - pragma Convention (C, Task_Entry); - subtype TCB is RTEMS.Unsigned32; type TCB_Pointer is access all RTEMS.TCB; -- - -- Clock and Time of Day Types + -- Time of Day Type -- type Time_Of_Day is @@ -139,20 +129,6 @@ pragma Elaborate_Body (RTEMS); Ticks : RTEMS.Unsigned32; -- elapsed ticks between seconds end record; - type Clock_Time_Value is - record - Seconds : RTEMS.Unsigned32; - Microseconds : RTEMS.Unsigned32; - end record; - - type Clock_Get_Options is ( - Clock_Get_TOD, - Clock_Get_Seconds_Since_Epoch, - Clock_Get_Ticks_Since_Boot, - Clock_Get_Ticks_Per_Second, - Clock_Get_Time_Value - ); - type Time_T is new Interfaces.C.Long; type Timespec is record @@ -161,6 +137,12 @@ pragma Elaborate_Body (RTEMS); end record; pragma Convention (C, Timespec); + type Time_Value is + record + Seconds : RTEMS.Unsigned32; + Microseconds : RTEMS.Unsigned32; + end record; + -- -- Ident Options -- @@ -255,12 +237,11 @@ pragma Elaborate_Body (RTEMS); -- Miscellaneous -- - No_Timeout : constant RTEMS.Interval := 0; - Self : constant RTEMS.ID := 0; - Period_Status : constant RTEMS.Interval := 0; - Yield_Processor : constant RTEMS.Interval := 0; - Current_Priority : constant RTEMS.Task_Priority := 0; - No_Priority : constant RTEMS.Task_Priority := 0; + No_Timeout : constant RTEMS.Interval := 0; + Self : constant RTEMS.ID := 0; + Yield_Processor : constant RTEMS.Interval := 0; + Rate_Monotonic_Period_Status : constant RTEMS.Interval := 0; + -- -- Extension Callouts and Table @@ -332,16 +313,6 @@ pragma Elaborate_Body (RTEMS); type Extensions_Table_Pointer is access all Extensions_Table; -- - -- The following type define a pointer to a watchdog/timer service routine. - -- - - type Timer_Service_Routine is access procedure ( - ID : in RTEMS.ID; - User_Data : in RTEMS.Address - ); - pragma Convention (C, Timer_Service_Routine); - - -- -- The following type define a pointer to a signal service routine. -- @@ -351,38 +322,6 @@ pragma Elaborate_Body (RTEMS); pragma Convention (C, ASR_Handler); -- - -- The following type defines the status information returned - -- about a period. - -- - - type Rate_Monotonic_Period_States is ( - Inactive, -- off chain, never initialized - Owner_Is_Blocking, -- on chain, owner is blocking on it - Active, -- on chain, running continuously - Expired_While_Blocking, -- on chain, expired while owner was was blocking - Expired -- off chain, will be reset by next - -- rtems_rate_monotonic_period - ); - - for Rate_Monotonic_Period_States'Size use 32; - - for Rate_Monotonic_Period_States use ( - Inactive => 0, - Owner_Is_Blocking => 1, - Active => 2, - Expired_While_Blocking => 3, - Expired => 4 - ); - - type Rate_Monotonic_Period_Status is - record - Owner : RTEMS.ID; - State : RTEMS.Rate_Monotonic_Period_States; - Ticks_Since_Last_Period : RTEMS.Unsigned32; - Ticks_Executed_Since_Last_Period : RTEMS.Unsigned32; - end record; - - -- -- Method Completions Status Codes -- @@ -588,793 +527,10 @@ pragma Elaborate_Body (RTEMS); Right : in RTEMS.Address ) return Standard.Boolean; - -- -- RTEMS API -- - -- - -- Initialization Manager -- Shutdown Only - -- - procedure Shutdown_Executive ( - Status : in RTEMS.Unsigned32 - ); - - -- - -- Task Manager - -- - - procedure Task_Create ( - Name : in RTEMS.Name; - Initial_Priority : in RTEMS.Task_Priority; - Stack_Size : in Unsigned32; - Initial_Modes : in RTEMS.Mode; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Node; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Start ( - ID : in RTEMS.ID; - Entry_Point : in RTEMS.Task_Entry; - Argument : in RTEMS.Task_Argument; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Restart ( - ID : in RTEMS.ID; - Argument : in RTEMS.Task_Argument; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Suspend ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Resume ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Is_Suspended ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Set_Priority ( - ID : in RTEMS.ID; - New_Priority : in RTEMS.Task_Priority; - Old_Priority : out RTEMS.Task_Priority; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Mode ( - Mode_Set : in RTEMS.Mode; - Mask : in RTEMS.Mode; - Previous_Mode_Set : out RTEMS.Mode; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Get_Note ( - ID : in RTEMS.ID; - Notepad : in RTEMS.Notepad_Index; - Note : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Set_Note ( - ID : in RTEMS.ID; - Notepad : in RTEMS.Notepad_Index; - Note : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - type Task_Variable_Dtor is access procedure ( - Argument : in RTEMS.Address - ); - pragma Convention (C, Task_Variable_Dtor); - - procedure Task_Variable_Add ( - ID : in RTEMS.ID; - Task_Variable : in RTEMS.Address; - Dtor : in RTEMS.Task_Variable_Dtor; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Variable_Get ( - ID : in RTEMS.ID; - Task_Variable : out RTEMS.Address; - Task_Variable_Value : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Variable_Delete ( - ID : in RTEMS.ID; - Task_Variable : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Wake_When ( - Time_Buffer : in RTEMS.Time_Of_Day; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Wake_After ( - Ticks : in RTEMS.Interval; - Result : out RTEMS.Status_Codes - ); - - -- - -- Interrupt Manager - -- - - function Interrupt_Disable return RTEMS.ISR_Level; - pragma Interface (C, Interrupt_Disable); - pragma Interface_Name (Interrupt_Disable, "rtems_interrupt_disable"); - - procedure Interrupt_Enable ( - Level : in RTEMS.ISR_Level - ); - pragma Interface (C, Interrupt_Enable); - pragma Interface_Name (Interrupt_Enable, "rtems_interrupt_enable"); - - procedure Interrupt_Flash ( - Level : in RTEMS.ISR_Level - ); - pragma Interface (C, Interrupt_Flash); - pragma Interface_Name (Interrupt_Flash, "rtems_interrupt_flash"); - - function Interrupt_Is_In_Progress return RTEMS.Boolean; - pragma Interface (C, Interrupt_Is_In_Progress); - pragma Interface_Name - (Interrupt_Is_In_Progress, "rtems_interrupt_is_in_progress"); - - -- - -- Clock Manager - -- - - procedure Clock_Set ( - Time_Buffer : in RTEMS.Time_Of_Day; - Result : out RTEMS.Status_Codes - ); - - procedure Clock_Get ( - Option : in RTEMS.Clock_Get_Options; - Time_Buffer : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Clock_Get_TOD ( - Time : out RTEMS.Time_Of_Day; - Result : out RTEMS.Status_Codes - ); - - procedure Clock_Get_TOD_Time_Value ( - Time : out RTEMS.Clock_Time_Value; - Result : out RTEMS.Status_Codes - ); - - procedure Clock_Get_Seconds_Since_Epoch( - The_Interval : out RTEMS.Interval; - Result : out RTEMS.Status_Codes - ); - - function Clock_Get_Ticks_Per_Second - return RTEMS.Interval; - pragma Import ( - C, - Clock_Get_Ticks_Per_Second, - "rtems_clock_get_ticks_per_second" - ); - - function Clock_Get_Ticks_Since_Boot - return RTEMS.Interval; - pragma Import ( - C, - Clock_Get_Ticks_Since_Boot, - "rtems_clock_get_ticks_since_boot" - ); - - procedure Clock_Get_Uptime ( - Uptime : out RTEMS.Timespec; - Result : out RTEMS.Status_Codes - ); - - procedure Clock_Tick ( - Result : out RTEMS.Status_Codes - ); - - -- - -- Extension Manager - -- - - procedure Extension_Create ( - Name : in RTEMS.Name; - Table : in RTEMS.Extensions_Table_Pointer; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Extension_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Extension_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - -- - -- Timer Manager - -- - - procedure Timer_Create ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Fire_After ( - ID : in RTEMS.ID; - Ticks : in RTEMS.Interval; - Routine : in RTEMS.Timer_Service_Routine; - User_Data : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Server_Fire_After ( - ID : in RTEMS.ID; - Ticks : in RTEMS.Interval; - Routine : in RTEMS.Timer_Service_Routine; - User_Data : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Fire_When ( - ID : in RTEMS.ID; - Wall_Time : in RTEMS.Time_Of_Day; - Routine : in RTEMS.Timer_Service_Routine; - User_Data : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Server_Fire_When ( - ID : in RTEMS.ID; - Wall_Time : in RTEMS.Time_Of_Day; - Routine : in RTEMS.Timer_Service_Routine; - User_Data : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Reset ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Cancel ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Initiate_Server ( - Server_Priority : in RTEMS.Task_Priority; - Stack_Size : in Unsigned32; - Attribute_Set : in RTEMS.Attribute; - Result : out RTEMS.Status_Codes - ); - - -- - -- Semaphore Manager - -- - - procedure Semaphore_Create ( - Name : in RTEMS.Name; - Count : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - Priority_Ceiling : in RTEMS.Task_Priority; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Semaphore_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Semaphore_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Semaphore_Obtain ( - ID : in RTEMS.ID; - Option_Set : in RTEMS.Option; - Timeout : in RTEMS.Interval; - Result : out RTEMS.Status_Codes - ); - - procedure Semaphore_Release ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Semaphore_Flush ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - -- - -- Message Queue Manager - -- - - procedure Message_Queue_Create ( - Name : in RTEMS.Name; - Count : in RTEMS.Unsigned32; - Max_Message_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Send ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Size : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Urgent ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Size : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Broadcast ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Size : in RTEMS.Unsigned32; - Count : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Receive ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Option_Set : in RTEMS.Option; - Timeout : in RTEMS.Interval; - Size : in out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Get_Number_Pending ( - ID : in RTEMS.ID; - Count : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Flush ( - ID : in RTEMS.ID; - Count : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - -- - -- Event Manager - -- - - procedure Event_Send ( - ID : in RTEMS.ID; - Event_In : in RTEMS.Event_Set; - Result : out RTEMS.Status_Codes - ); - - procedure Event_Receive ( - Event_In : in RTEMS.Event_Set; - Option_Set : in RTEMS.Option; - Ticks : in RTEMS.Interval; - Event_Out : out RTEMS.Event_Set; - Result : out RTEMS.Status_Codes - ); - - -- - -- Signal Manager - -- - - procedure Signal_Catch ( - ASR_Handler : in RTEMS.ASR_Handler; - Mode_Set : in RTEMS.Mode; - Result : out RTEMS.Status_Codes - ); - - procedure Signal_Send ( - ID : in RTEMS.ID; - Signal_Set : in RTEMS.Signal_Set; - Result : out RTEMS.Status_Codes - ); - - -- - -- Partition Manager - -- - - procedure Partition_Create ( - Name : in RTEMS.Name; - Starting_Address : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - Buffer_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Partition_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Partition_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Partition_Get_Buffer ( - ID : in RTEMS.ID; - Buffer : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Partition_Return_Buffer ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - -- - -- Region Manager - -- - - procedure Region_Create ( - Name : in RTEMS.Name; - Starting_Address : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - Page_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Extend ( - ID : in RTEMS.ID; - Starting_Address : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Get_Segment ( - ID : in RTEMS.ID; - Size : in RTEMS.Unsigned32; - Option_Set : in RTEMS.Option; - Timeout : in RTEMS.Interval; - Segment : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Get_Segment_Size ( - ID : in RTEMS.ID; - Segment : in RTEMS.Address; - Size : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Return_Segment ( - ID : in RTEMS.ID; - Segment : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Resize_Segment ( - ID : in RTEMS.ID; - Segment : in RTEMS.Address; - Size : in RTEMS.Unsigned32; - Old_Size : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - -- - -- Dual Ported Memory Manager - -- - - procedure Port_Create ( - Name : in RTEMS.Name; - Internal_Start : in RTEMS.Address; - External_Start : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Port_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Port_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Port_External_To_Internal ( - ID : in RTEMS.ID; - External : in RTEMS.Address; - Internal : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Port_Internal_To_External ( - ID : in RTEMS.ID; - Internal : in RTEMS.Address; - External : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - -- - -- Input/Output Manager - -- - - procedure IO_Register_Name ( - Name : in String; - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Result : out RTEMS.Status_Codes - ); - - procedure IO_Lookup_Name ( - Name : in String; - Device_Info : out RTEMS.Driver_Name_t; - Result : out RTEMS.Status_Codes - ); - - procedure IO_Open ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - pragma Inline (IO_Open); - - procedure IO_Close ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - pragma Inline (IO_Close); - - procedure IO_Read ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - pragma Inline (IO_Read); - - procedure IO_Write ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - pragma Inline (IO_Write); - - procedure IO_Control ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - pragma Inline (IO_Control); - - -- - -- Fatal Error Manager - -- - - procedure Fatal_Error_Occurred ( - The_Error : in RTEMS.Unsigned32 - ); - - -- - -- Rate Monotonic Manager - -- - - procedure Rate_Monotonic_Create ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Cancel ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Period ( - ID : in RTEMS.ID; - Length : in RTEMS.Interval; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Get_Status ( - ID : in RTEMS.ID; - Status : out RTEMS.Rate_Monotonic_Period_Status; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Reset_Statistics ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Reset_All_Statistics; - pragma Import ( - C, - Rate_Monotonic_Reset_All_Statistics, - "rtems_rate_monotonic_reset_all_statistics" - ); - - procedure Rate_Monotonic_Report_Statistics; - pragma Import ( - C, - Rate_Monotonic_Report_Statistics, - "rtems_rate_monotonic_report_statistics" - ); - - -- - -- Barrier Manager - -- - - procedure Barrier_Create ( - Name : in RTEMS.Name; - Attribute_Set : in RTEMS.Attribute; - Maximum_Waiters : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Barrier_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Barrier_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Barrier_Wait ( - ID : in RTEMS.ID; - Timeout : in RTEMS.Interval; - Result : out RTEMS.Status_Codes - ); - - procedure Barrier_Release ( - ID : in RTEMS.ID; - Released : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - -- - -- Stack Bounds Checker - -- - - function Stack_Checker_Is_Blown return RTEMS.Boolean; - pragma Interface (C, Stack_Checker_Is_Blown); - pragma Interface_Name - (Interrupt_Is_In_Progress, "rtems_stack_checker_is_blown"); - - procedure Stack_Checker_Report_Usage; - pragma Import ( - C, Stack_Checker_Report_Usage, "rtems_stack_checker_report_usage" - ); - - -- - -- CPU Usage Statistics - -- - - procedure CPU_Usage_Report; - pragma Import (C, CPU_Usage_Report, "rtems_cpu_usage_report"); - - procedure CPU_Usage_Reset; - pragma Import (C, CPU_Usage_Reset, "rtems_cpu_usage_reset"); - - -- - -- Debug Manager - -- - - Debug_All_Mask : constant RTEMS.Debug_Set := 16#ffffffff#; - Debug_Region : constant RTEMS.Debug_Set := 16#00000001#; - - procedure Debug_Enable ( - To_Be_Enabled : in RTEMS.Debug_Set - ); - - procedure Debug_Disable ( - To_Be_Disabled : in RTEMS.Debug_Set - ); - - function Debug_Is_Enabled ( - Level : in RTEMS.Debug_Set - ) return RTEMS.Boolean; - - -- - -- Object Services - -- - function Build_Name ( C1 : in Character; C2 : in Character; @@ -1382,90 +538,12 @@ pragma Elaborate_Body (RTEMS); C4 : in Character ) return RTEMS.Name; - procedure Object_Get_Classic_Name( - ID : in RTEMS.ID; - Name : out RTEMS.Name; - Result : out RTEMS.Status_Codes - ); - - procedure Object_Get_Name( - ID : in RTEMS.ID; - Name : out String; - Result : out RTEMS.Address - ); - - procedure Object_Set_Name( - ID : in RTEMS.ID; - Name : in String; - Result : out RTEMS.Status_Codes - ); - - procedure Object_Id_Get_API( - ID : in RTEMS.ID; - API : out RTEMS.Unsigned32 - ); - - procedure Object_Id_Get_Class( - ID : in RTEMS.ID; - The_Class : out RTEMS.Unsigned32 - ); - - procedure Object_Id_Get_Node( - ID : in RTEMS.ID; - Node : out RTEMS.Unsigned32 - ); - - procedure Object_Id_Get_Index( - ID : in RTEMS.ID; - Index : out RTEMS.Unsigned32 - ); - - function Build_Id( - The_API : in RTEMS.Unsigned32; - The_Class : in RTEMS.Unsigned32; - The_Node : in RTEMS.Unsigned32; - The_Index : in RTEMS.Unsigned32 - ) return RTEMS.Id; - - function Object_Id_API_Minimum return RTEMS.Unsigned32; - - function Object_Id_API_Maximum return RTEMS.Unsigned32; - - procedure Object_API_Minimum_Class( - API : in RTEMS.Unsigned32; - Minimum : out RTEMS.Unsigned32 - ); - - procedure Object_API_Maximum_Class( - API : in RTEMS.Unsigned32; - Maximum : out RTEMS.Unsigned32 - ); - - procedure Object_Get_API_Name( - API : in RTEMS.Unsigned32; - Name : out String - ); - - procedure Object_Get_API_Class_Name( - The_API : in RTEMS.Unsigned32; - The_Class : in RTEMS.Unsigned32; - Name : out String - ); - - type Object_API_Class_Information is - record - Minimum_Id : RTEMS.Id; - Maximum_Id : RTEMS.Id; - Maximum : RTEMS.Unsigned32; - AutoExtend : RTEMS.Boolean; - Unallocated : RTEMS.Unsigned32; - end record; - - procedure Object_Get_Class_Information( - The_API : in RTEMS.Unsigned32; - The_Class : in RTEMS.Unsigned32; - Info : out RTEMS.Object_API_Class_Information; - Result : out RTEMS.Status_Codes + -- + -- Initialization Manager -- Shutdown Only + -- + procedure Shutdown_Executive ( + Status : in RTEMS.Unsigned32 ); end RTEMS; + |