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

4.115
Last change on this file since c499856 was c499856, checked in by Chris Johns <chrisj@…>, on Mar 20, 2014 at 9:10:47 PM

Change all references of rtems.com to rtems.org.

  • 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.org/license/LICENSE.
20--
21
22package RTEMS.Tasks is
23
24   subtype Priority       is RTEMS.Unsigned32;
25
26   Current_Priority : constant Priority := 0;
27   No_Priority      : constant Priority := 0;
28
29   subtype Argument       is RTEMS.Unsigned32;
30   type Argument_PTR      is access all Argument;
31
32   type Entry_Point is access procedure (
33      Argument : RTEMS.Unsigned32
34   );
35   pragma Convention (C, Entry_Point);
36
37
38   --
39   --  Task Manager
40   --
41
42   procedure Create (
43      Name             : in     RTEMS.Name;
44      Initial_Priority : in     Priority;
45      Stack_Size       : in     Unsigned32;
46      Initial_Modes    : in     RTEMS.Mode;
47      Attribute_Set    : in     RTEMS.Attribute;
48      ID               :    out RTEMS.ID;
49      Result           :    out RTEMS.Status_Codes
50   );
51
52   procedure Ident (
53      Name   : in     RTEMS.Name;
54      Node   : in     RTEMS.Node;
55      ID     :    out RTEMS.ID;
56      Result :    out RTEMS.Status_Codes
57   );
58
59   procedure Start (
60      ID          : in     RTEMS.ID;
61      Entry_Point : in     RTEMS.Tasks.Entry_Point;
62      Argument    : in     RTEMS.Tasks.Argument;
63      Result      :    out RTEMS.Status_Codes
64   );
65
66   procedure Restart (
67      ID       : in     RTEMS.ID;
68      Argument : in     RTEMS.Tasks.Argument;
69      Result   :    out RTEMS.Status_Codes
70   );
71
72   procedure Delete (
73      ID     : in     RTEMS.ID;
74      Result :    out RTEMS.Status_Codes
75   );
76
77   procedure Suspend (
78      ID     : in     RTEMS.ID;
79      Result :    out RTEMS.Status_Codes
80   );
81
82   procedure Resume (
83      ID     : in     RTEMS.ID;
84      Result :    out RTEMS.Status_Codes
85   );
86
87   procedure Is_Suspended (
88      ID     : in     RTEMS.ID;
89      Result :    out RTEMS.Status_Codes
90   );
91
92   procedure Set_Priority (
93      ID           : in     RTEMS.ID;
94      New_Priority : in     Priority;
95      Old_Priority :    out Priority;
96      Result       :    out RTEMS.Status_Codes
97   );
98
99   procedure Mode (
100      Mode_Set          : in     RTEMS.Mode;
101      Mask              : in     RTEMS.Mode;
102      Previous_Mode_Set :    out RTEMS.Mode;
103      Result            :    out RTEMS.Status_Codes
104   );
105
106   procedure Get_Note (
107      ID      : in     RTEMS.ID;
108      Notepad : in     RTEMS.Notepad_Index;
109      Note    :    out RTEMS.Unsigned32;
110      Result  :    out RTEMS.Status_Codes
111   );
112
113   procedure Set_Note (
114      ID      : in     RTEMS.ID;
115      Notepad : in     RTEMS.Notepad_Index;
116      Note    : in     RTEMS.Unsigned32;
117      Result  :    out RTEMS.Status_Codes
118   );
119
120   type Variable_Dtor is access procedure (
121      Argument : in     RTEMS.Address
122   );
123   pragma Convention (C, Variable_Dtor);
124
125   procedure Variable_Add (
126      ID            : in     RTEMS.ID;
127      Task_Variable : in     RTEMS.Address;
128      Dtor          : in     Variable_Dtor;
129      Result        :    out RTEMS.Status_Codes
130   );
131
132   procedure Variable_Get (
133      ID                  : in     RTEMS.ID;
134      Task_Variable       :    out RTEMS.Address;
135      Task_Variable_Value :    out RTEMS.Address;
136      Result              :    out RTEMS.Status_Codes
137   );
138
139   procedure Variable_Delete (
140      ID                  : in     RTEMS.ID;
141      Task_Variable       :    out RTEMS.Address;
142      Result              :    out RTEMS.Status_Codes
143   );
144
145   procedure Wake_When (
146      Time_Buffer : in     RTEMS.Time_Of_Day;
147      Result      :    out RTEMS.Status_Codes
148   );
149
150   procedure Wake_After (
151      Ticks  : in     RTEMS.Interval;
152      Result :    out RTEMS.Status_Codes
153   );
154
155end RTEMS.Tasks;
156
Note: See TracBrowser for help on using the repository browser.