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 12/01/17 at 14:21:34

ada: Fix user extension support

  • Property mode set to 100644
File size: 4.2 KB
RevLine 
[6d4e604b]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--
[3c4d8cd1]13--  COPYRIGHT (c) 1989-2011.
[6d4e604b]14--  On-Line Applications Research Corporation (OAR).
15--
[bf9ae83]16--  The license and distribution terms for this file may in
17--  the file LICENSE in this distribution or at
[c499856]18--  http://www.rtems.org/license/LICENSE.
[6d4e604b]19--
20
21with RTEMS;
[3c4d8cd1]22with RTEMS.TASKS;
[6d4e604b]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 (
[3c4d8cd1]51      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
[6d4e604b]52   );
[d43dd82]53   pragma Convention (C, INIT);
[6d4e604b]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 (
[3c4d8cd1]64      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
[6d4e604b]65   );
[d43dd82]66   pragma Convention (C, TASK_1);
[6d4e604b]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 (
[3c4d8cd1]77      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
[6d4e604b]78   );
[d43dd82]79   pragma Convention (C, TASK_2);
[6d4e604b]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 (
[3c4d8cd1]90      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
[6d4e604b]91   );
[d43dd82]92   pragma Convention (C, TASK_3);
[6d4e604b]93
94--
95--  TASK_4
96--
97--  DESCRIPTION:
98--
99--  This RTEMS task tests the Message Queue Manager.
100--
101
102   procedure TASK_4 (
[3c4d8cd1]103      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
[6d4e604b]104   );
[d43dd82]105   pragma Convention (C, TASK_4);
[6d4e604b]106
107--
108--  TASK_CREATE_EXTENSION
109--
110--  DESCRIPTION:
111--
112--  This subprogram is the TASK_CREATE extension for this test.
113--
114
[ba3e1a4f]115   function TASK_CREATE_EXTENSION (
[6d4e604b]116      UNUSED       : in     RTEMS.TCB_POINTER;
117      CREATED_TASK : in     RTEMS.TCB_POINTER
[ba3e1a4f]118   ) return RTEMS.Boolean;
[d43dd82]119   pragma Convention (C, TASK_CREATE_EXTENSION);
[6d4e604b]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   );
[d43dd82]133   pragma Convention (C, TASK_DELETE_EXTENSION);
[6d4e604b]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   );
[d43dd82]147   pragma Convention (C, TASK_RESTART_EXTENSION);
[6d4e604b]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   );
[d43dd82]161   pragma Convention (C, TASK_START_EXTENSION);
[6d4e604b]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   );
[d43dd82]175   pragma Convention (C, TASK_EXIT_EXTENSION);
[6d4e604b]176
[e56a2ef]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
[5e05fa0]190        NULL,                                        -- Fatal error
191        NULL                                         -- Task terminate
[e56a2ef]192   );
193
[6d4e604b]194end SPTEST;
Note: See TracBrowser for help on using the repository browser.