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-tasks.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 'c/src/ada/rtems-tasks.ads')
-rw-r--r-- | c/src/ada/rtems-tasks.ads | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/c/src/ada/rtems-tasks.ads b/c/src/ada/rtems-tasks.ads new file mode 100644 index 0000000000..46ada12313 --- /dev/null +++ b/c/src/ada/rtems-tasks.ads @@ -0,0 +1,158 @@ +-- +-- RTEMS / Specification +-- +-- DESCRIPTION: +-- +-- This package provides the interface to the RTEMS API. +-- +-- DEPENDENCIES: +-- +-- NOTES: +-- RTEMS initialization and configuration are called from +-- the BSP side, therefore should never be called from ADA. +-- +-- COPYRIGHT (c) 1997-2008. +-- On-Line Applications Research Corporation (OAR). +-- +-- The license and distribution terms for this file may in +-- the file LICENSE in this distribution or at +-- http://www.rtems.com/license/LICENSE. +-- +-- $Id$ +-- + +package RTEMS.Tasks is + + subtype Priority is RTEMS.Unsigned32; + + Current_Priority : constant Priority := 0; + No_Priority : constant Priority := 0; + + subtype Argument is RTEMS.Unsigned32; + type Argument_PTR is access all Argument; + + type Entry_Point is access procedure ( + Argument : RTEMS.Unsigned32 + ); + pragma Convention (C, Entry_Point); + + + -- + -- Task Manager + -- + + procedure Create ( + Name : in RTEMS.Name; + Initial_Priority : in 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 Ident ( + Name : in RTEMS.Name; + Node : in RTEMS.Node; + ID : out RTEMS.ID; + Result : out RTEMS.Status_Codes + ); + + procedure Start ( + ID : in RTEMS.ID; + Entry_Point : in RTEMS.Tasks.Entry_Point; + Argument : in RTEMS.Tasks.Argument; + Result : out RTEMS.Status_Codes + ); + + procedure Restart ( + ID : in RTEMS.ID; + Argument : in RTEMS.Tasks.Argument; + Result : out RTEMS.Status_Codes + ); + + procedure Delete ( + ID : in RTEMS.ID; + Result : out RTEMS.Status_Codes + ); + + procedure Suspend ( + ID : in RTEMS.ID; + Result : out RTEMS.Status_Codes + ); + + procedure Resume ( + ID : in RTEMS.ID; + Result : out RTEMS.Status_Codes + ); + + procedure Is_Suspended ( + ID : in RTEMS.ID; + Result : out RTEMS.Status_Codes + ); + + procedure Set_Priority ( + ID : in RTEMS.ID; + New_Priority : in Priority; + Old_Priority : out Priority; + Result : out RTEMS.Status_Codes + ); + + procedure Mode ( + Mode_Set : in RTEMS.Mode; + Mask : in RTEMS.Mode; + Previous_Mode_Set : out RTEMS.Mode; + Result : out RTEMS.Status_Codes + ); + + procedure Get_Note ( + ID : in RTEMS.ID; + Notepad : in RTEMS.Notepad_Index; + Note : out RTEMS.Unsigned32; + Result : out RTEMS.Status_Codes + ); + + procedure Set_Note ( + ID : in RTEMS.ID; + Notepad : in RTEMS.Notepad_Index; + Note : in RTEMS.Unsigned32; + Result : out RTEMS.Status_Codes + ); + + type Variable_Dtor is access procedure ( + Argument : in RTEMS.Address + ); + pragma Convention (C, Variable_Dtor); + + procedure Variable_Add ( + ID : in RTEMS.ID; + Task_Variable : in RTEMS.Address; + Dtor : in Variable_Dtor; + Result : out RTEMS.Status_Codes + ); + + procedure Variable_Get ( + ID : in RTEMS.ID; + Task_Variable : out RTEMS.Address; + Task_Variable_Value : out RTEMS.Address; + Result : out RTEMS.Status_Codes + ); + + procedure Variable_Delete ( + ID : in RTEMS.ID; + Task_Variable : out RTEMS.Address; + Result : out RTEMS.Status_Codes + ); + + procedure Wake_When ( + Time_Buffer : in RTEMS.Time_Of_Day; + Result : out RTEMS.Status_Codes + ); + + procedure Wake_After ( + Ticks : in RTEMS.Interval; + Result : out RTEMS.Status_Codes + ); + +end RTEMS.Tasks; + |