summaryrefslogtreecommitdiffstats
path: root/c/src/ada/rtems.ads
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-03-11 20:12:09 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-03-11 20:12:09 +0000
commita2f56a44eb314c86cb227fc87af436d27eeaac48 (patch)
tree3cacd21687486e29fad8df79acc690923f2b4f4b /c/src/ada/rtems.ads
parent2008-03-11 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-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.ads44
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