diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-03-11 20:12:09 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-03-11 20:12:09 +0000 |
commit | a2f56a44eb314c86cb227fc87af436d27eeaac48 (patch) | |
tree | 3cacd21687486e29fad8df79acc690923f2b4f4b /c/src/ada/rtems.ads | |
parent | 2008-03-11 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-a2f56a44eb314c86cb227fc87af436d27eeaac48.tar.bz2 |
2008-03-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems.adb, rtems.ads: Refactored rtems_clock_get into 5 methods
which are single purpose and more strongly typed. They are:
rtems_clock_get_tod - Get TOD in Classic API structure
rtems_clock_get_tod_timeval - Get TOD in struct timeval
rtems_clock_get_seconds_since_epoch - Get TOD as seconds since 1988
rtems_clock_get_ticks_since_boot - Get ticks since boot
rtems_clock_get_ticks_per_second - Get ticks per second
Also switch from using 'Unchecked_Access to 'Access.
Added pragma Convention C as required by gcc > 4.3.
Changed style of parenthese on subprogram calls to match GNAT.
Diffstat (limited to 'c/src/ada/rtems.ads')
-rw-r--r-- | c/src/ada/rtems.ads | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/c/src/ada/rtems.ads b/c/src/ada/rtems.ads index 21fc1563a9..2e554b9860 100644 --- a/c/src/ada/rtems.ads +++ b/c/src/ada/rtems.ads @@ -109,6 +109,7 @@ pragma Elaborate_Body (RTEMS); 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; @@ -259,42 +260,51 @@ pragma Elaborate_Body (RTEMS); Current_Task : in RTEMS.TCB_Pointer; New_Task : in RTEMS.TCB_Pointer ) return RTEMS.Boolean; + pragma Convention (C, Thread_Create_Extension); type Thread_Start_Extension is access procedure ( Current_Task : in RTEMS.TCB_Pointer; Started_Task : in RTEMS.TCB_Pointer ); + pragma Convention (C, Thread_Start_Extension); type Thread_Restart_Extension is access procedure ( Current_Task : in RTEMS.TCB_Pointer; Restarted_Task : in RTEMS.TCB_Pointer ); + pragma Convention (C, Thread_Restart_Extension); type Thread_Delete_Extension is access procedure ( Current_Task : in RTEMS.TCB_Pointer; Deleted_Task : in RTEMS.TCB_Pointer ); + pragma Convention (C, Thread_Delete_Extension); type Thread_Switch_Extension is access procedure ( Current_Task : in RTEMS.TCB_Pointer; Heir_Task : in RTEMS.TCB_Pointer ); + pragma Convention (C, Thread_Switch_Extension); type Thread_Post_Switch_Extension is access procedure ( Current_Task : in RTEMS.TCB_Pointer ); + pragma Convention (C, Thread_Post_Switch_Extension); type Thread_Begin_Extension is access procedure ( Current_Task : in RTEMS.TCB_Pointer ); + pragma Convention (C, Thread_Begin_Extension); type Thread_Exitted_Extension is access procedure ( Current_Task : in RTEMS.TCB_Pointer ); + pragma Convention (C, Thread_Exitted_Extension); type Fatal_Error_Extension is access procedure ( Error : in RTEMS.Unsigned32 ); + pragma Convention (C, Fatal_Error_Extension); type Extensions_Table is record @@ -319,6 +329,7 @@ pragma Elaborate_Body (RTEMS); 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. @@ -327,6 +338,7 @@ pragma Elaborate_Body (RTEMS); type ASR_Handler is access procedure ( Signals : in RTEMS.Signal_Set ); + pragma Convention (C, ASR_Handler); -- -- The following type defines the status information returned @@ -663,6 +675,7 @@ pragma Elaborate_Body (RTEMS); 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; @@ -734,6 +747,37 @@ pragma Elaborate_Body (RTEMS); 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 |