source: rtems/c/src/ada/rtems-tasks.ads @ 4778c6e0

4.115
Last change on this file since 4778c6e0 was 1987020, checked in by Joel Sherrill <joel.sherrill@…>, on 02/16/11 at 15:52:29

2011-02-16 Joel Sherrill <joel.sherrill@…>

  • 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.
  • Property mode set to 100644
File size: 3.9 KB
Line 
1--
2--  RTEMS / Specification
3--
4--  DESCRIPTION:
5--
6--  This package provides the interface to the RTEMS API.
7--
8--  DEPENDENCIES:
9--
10--  NOTES:
11--    RTEMS initialization and configuration are called from
12--    the BSP side, therefore should never be called from ADA.
13--
14--  COPYRIGHT (c) 1997-2008.
15--  On-Line Applications Research Corporation (OAR).
16--
17--  The license and distribution terms for this file may in
18--  the file LICENSE in this distribution or at
19--  http://www.rtems.com/license/LICENSE.
20--
21--  $Id$
22--
23
24package RTEMS.Tasks is
25
26   subtype Priority       is RTEMS.Unsigned32;
27
28   Current_Priority : constant Priority := 0;
29   No_Priority      : constant Priority := 0;
30
31   subtype Argument       is RTEMS.Unsigned32;
32   type Argument_PTR      is access all Argument;
33
34   type Entry_Point is access procedure (
35      Argument : RTEMS.Unsigned32
36   );
37   pragma Convention (C, Entry_Point);
38
39
40   --
41   --  Task Manager
42   --
43
44   procedure Create (
45      Name             : in     RTEMS.Name;
46      Initial_Priority : in     Priority;
47      Stack_Size       : in     Unsigned32;
48      Initial_Modes    : in     RTEMS.Mode;
49      Attribute_Set    : in     RTEMS.Attribute;
50      ID               :    out RTEMS.ID;
51      Result           :    out RTEMS.Status_Codes
52   );
53
54   procedure Ident (
55      Name   : in     RTEMS.Name;
56      Node   : in     RTEMS.Node;
57      ID     :    out RTEMS.ID;
58      Result :    out RTEMS.Status_Codes
59   );
60
61   procedure Start (
62      ID          : in     RTEMS.ID;
63      Entry_Point : in     RTEMS.Tasks.Entry_Point;
64      Argument    : in     RTEMS.Tasks.Argument;
65      Result      :    out RTEMS.Status_Codes
66   );
67
68   procedure Restart (
69      ID       : in     RTEMS.ID;
70      Argument : in     RTEMS.Tasks.Argument;
71      Result   :    out RTEMS.Status_Codes
72   );
73
74   procedure Delete (
75      ID     : in     RTEMS.ID;
76      Result :    out RTEMS.Status_Codes
77   );
78
79   procedure Suspend (
80      ID     : in     RTEMS.ID;
81      Result :    out RTEMS.Status_Codes
82   );
83
84   procedure Resume (
85      ID     : in     RTEMS.ID;
86      Result :    out RTEMS.Status_Codes
87   );
88
89   procedure Is_Suspended (
90      ID     : in     RTEMS.ID;
91      Result :    out RTEMS.Status_Codes
92   );
93
94   procedure Set_Priority (
95      ID           : in     RTEMS.ID;
96      New_Priority : in     Priority;
97      Old_Priority :    out Priority;
98      Result       :    out RTEMS.Status_Codes
99   );
100
101   procedure Mode (
102      Mode_Set          : in     RTEMS.Mode;
103      Mask              : in     RTEMS.Mode;
104      Previous_Mode_Set :    out RTEMS.Mode;
105      Result            :    out RTEMS.Status_Codes
106   );
107
108   procedure Get_Note (
109      ID      : in     RTEMS.ID;
110      Notepad : in     RTEMS.Notepad_Index;
111      Note    :    out RTEMS.Unsigned32;
112      Result  :    out RTEMS.Status_Codes
113   );
114
115   procedure Set_Note (
116      ID      : in     RTEMS.ID;
117      Notepad : in     RTEMS.Notepad_Index;
118      Note    : in     RTEMS.Unsigned32;
119      Result  :    out RTEMS.Status_Codes
120   );
121
122   type Variable_Dtor is access procedure (
123      Argument : in     RTEMS.Address
124   );
125   pragma Convention (C, Variable_Dtor);
126
127   procedure Variable_Add (
128      ID            : in     RTEMS.ID;
129      Task_Variable : in     RTEMS.Address;
130      Dtor          : in     Variable_Dtor;
131      Result        :    out RTEMS.Status_Codes
132   );
133
134   procedure Variable_Get (
135      ID                  : in     RTEMS.ID;
136      Task_Variable       :    out RTEMS.Address;
137      Task_Variable_Value :    out RTEMS.Address;
138      Result              :    out RTEMS.Status_Codes
139   );
140
141   procedure Variable_Delete (
142      ID                  : in     RTEMS.ID;
143      Task_Variable       :    out RTEMS.Address;
144      Result              :    out RTEMS.Status_Codes
145   );
146
147   procedure Wake_When (
148      Time_Buffer : in     RTEMS.Time_Of_Day;
149      Result      :    out RTEMS.Status_Codes
150   );
151
152   procedure Wake_After (
153      Ticks  : in     RTEMS.Interval;
154      Result :    out RTEMS.Status_Codes
155   );
156
157end RTEMS.Tasks;
158
Note: See TracBrowser for help on using the repository browser.