source: rtems/testsuites/ada/sptests/sp07/sptest.ads @ 76bd25e

5
Last change on this file since 76bd25e was 5e05fa0, checked in by Sebastian Huber <sebastian.huber@…>, on Dec 1, 2017 at 2:21:34 PM

ada: Fix user extension support

  • Property mode set to 100644
File size: 4.2 KB
Line 
1--
2--  SPTEST / SPECIFICATION
3--
4--  DESCRIPTION:
5--
6--  This package is the specification for Test 7 of the RTEMS
7--  Single Processor Test Suite.
8--
9--  DEPENDENCIES:
10--
11-- 
12--
13--  COPYRIGHT (c) 1989-2011.
14--  On-Line Applications Research Corporation (OAR).
15--
16--  The license and distribution terms for this file may in
17--  the file LICENSE in this distribution or at
18--  http://www.rtems.org/license/LICENSE.
19--
20
21with RTEMS;
22with RTEMS.TASKS;
23
24package SPTEST is
25
26--
27--  These arrays contain the IDs and NAMEs of all RTEMS tasks created
28--  by this test.
29--
30
31   TASK_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID;
32   TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME;
33
34--
35--  These arrays contain the IDs and NAMEs of all RTEMS extensions created
36--  by this test.
37--
38 
39   EXTENSION_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID;
40   EXTENSION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME;
41 
42--
43--  INIT
44--
45--  DESCRIPTION:
46--
47--  This RTEMS task initializes the application.
48--
49
50   procedure INIT (
51      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
52   );
53   pragma Convention (C, INIT);
54
55--
56--  TASK_1
57--
58--  DESCRIPTION:
59--
60--  This RTEMS task tests some of the capabilities of the Task Manager.
61--
62
63   procedure TASK_1 (
64      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
65   );
66   pragma Convention (C, TASK_1);
67
68--
69--  TASK_2
70--
71--  DESCRIPTION:
72--
73--  This RTEMS task tests some of the capabilities of the Task Manager.
74--
75
76   procedure TASK_2 (
77      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
78   );
79   pragma Convention (C, TASK_2);
80
81--
82--  TASK_3
83--
84--  DESCRIPTION:
85--
86--  This RTEMS task tests some of the capabilities of the Task Manager.
87--
88
89   procedure TASK_3 (
90      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
91   );
92   pragma Convention (C, TASK_3);
93
94--
95--  TASK_4
96--
97--  DESCRIPTION:
98--
99--  This RTEMS task tests the Message Queue Manager.
100--
101
102   procedure TASK_4 (
103      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
104   );
105   pragma Convention (C, TASK_4);
106
107--
108--  TASK_CREATE_EXTENSION
109--
110--  DESCRIPTION:
111--
112--  This subprogram is the TASK_CREATE extension for this test.
113--
114
115   function TASK_CREATE_EXTENSION (
116      UNUSED       : in     RTEMS.TCB_POINTER;
117      CREATED_TASK : in     RTEMS.TCB_POINTER
118   ) return RTEMS.Boolean;
119   pragma Convention (C, TASK_CREATE_EXTENSION);
120
121--
122--  TASK_DELETE_EXTENSION
123--
124--  DESCRIPTION:
125--
126--  This subprogram is the TASK_DELETE extension for this test.
127--
128
129   procedure TASK_DELETE_EXTENSION (
130      RUNNING_TASK : in     RTEMS.TCB_POINTER;
131      DELETED_TASK : in     RTEMS.TCB_POINTER
132   );
133   pragma Convention (C, TASK_DELETE_EXTENSION);
134
135--
136--  TASK_RESTART_EXTENSION
137--
138--  DESCRIPTION:
139--
140--  This subprogram is the TASK_RESTART extension for this test.
141--
142
143   procedure TASK_RESTART_EXTENSION (
144      UNUSED         : in     RTEMS.TCB_POINTER;
145      RESTARTED_TASK : in     RTEMS.TCB_POINTER
146   );
147   pragma Convention (C, TASK_RESTART_EXTENSION);
148
149--
150--  TASK_START_EXTENSION
151--
152--  DESCRIPTION:
153--
154--  This subprogram is the TASK_START extension for this test.
155--
156
157   procedure TASK_START_EXTENSION (
158      UNUSED       : in     RTEMS.TCB_POINTER;
159      STARTED_TASK : in     RTEMS.TCB_POINTER
160   );
161   pragma Convention (C, TASK_START_EXTENSION);
162
163--
164--  TASK_EXIT_EXTENSION
165--
166--  DESCRIPTION:
167--
168--  This subprogram is the TASK_EXIT extension for this test.
169--  It is invoked when a RTEMS task exits from its entry point.
170--
171
172   procedure TASK_EXIT_EXTENSION (
173      RUNNING_TASK : in     RTEMS.TCB_POINTER
174   );
175   pragma Convention (C, TASK_EXIT_EXTENSION);
176
177--
178--  This is the User Extension Table for this test.
179--
180
181   EXTENSIONS : aliased RTEMS.EXTENSIONS_TABLE :=
182   (
183        SPTEST.TASK_CREATE_EXTENSION'ACCESS,         -- Task create
184        SPTEST.TASK_START_EXTENSION'ACCESS,          -- Task start
185        SPTEST.TASK_RESTART_EXTENSION'ACCESS,        -- Task restart
186        SPTEST.TASK_DELETE_EXTENSION'ACCESS,         -- Task delete
187        NULL,                                        -- Task switch
188        NULL,                                        -- Task begin
189        SPTEST.TASK_EXIT_EXTENSION'ACCESS,           -- Task exitted
190        NULL,                                        -- Fatal error
191        NULL                                         -- Task terminate
192   );
193
194end SPTEST;
Note: See TracBrowser for help on using the repository browser.