source: rtems/testsuites/ada/sptests/sp09/sptest.ads @ bc96f3b4

5
Last change on this file since bc96f3b4 was bc96f3b4, checked in by Sebastian Huber <sebastian.huber@…>, on 01/23/18 at 08:53:06

ada: Introduce RTEMS.Size type

Some time ago the Classic API object size related parameters were
changed to use size_t. Reflect this in the Ada bindings.

Update #3082.

  • Property mode set to 100644
File size: 8.2 KB
RevLine 
[6d4e604b]1--
2--  SPTEST / SPECIFICATION
3--
4--  DESCRIPTION:
5--
6--  This package is the specification for Test 9 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]23with SYSTEM;
24with System.Storage_Elements;
25
26package SPTEST is
27
[c1ef834]28--
29--  Buffer Record similar to that used by RTEMS 3.2.1.  Using this
30--  avoids changes to the test.
31--
32
33   type BUFFER is
34      record
35         FIELD1 : RTEMS.UNSIGNED32;   -- TEMPORARY UNTIL VARIABLE LENGTH
36         FIELD2 : RTEMS.UNSIGNED32;
37         FIELD3 : RTEMS.UNSIGNED32;
38         FIELD4 : RTEMS.UNSIGNED32;
39      end record;
40
[6d4e604b]41--
42--  These arrays contain the IDs and NAMEs of all RTEMS tasks created
43--  by this test.
44--
45
46   TASK_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 11 ) of RTEMS.ID;
47   TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 11 ) of RTEMS.NAME;
48
49--
50--  These arrays contain the IDs and NAMEs of all RTEMS timers created
51--  by this test.
52--
53
54   TIMER_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID;
55   TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME;
56
57--
58--  These arrays contain the IDs and NAMEs of all RTEMS semaphores created
59--  by this test.
60--
61
62   SEMAPHORE_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID;
63   SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME;
64
65--
66--  These arrays contain the IDs and NAMEs of all RTEMS message queues
67--  created by this test.
68--
69
70   QUEUE_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID;
71   QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME;
72
73--
74--  These arrays contain the IDs and NAMEs of all RTEMS partitions created
75--  by this test.
76--
77
78   PARTITION_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID;
79   PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME;
80
81--
82--  These arrays contain the IDs and NAMEs of all RTEMS regions created
83--  by this test.
84--
85
86   REGION_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID;
87   REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME;
88
89--
90--  These arrays contain the IDs and NAMEs of all RTEMS ports created
91--  by this test.
92--
93
94   PORT_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID;
95   PORT_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME;
96
97--
98--  These arrays contain the IDs and NAMEs of all RTEMS periods created
99--  by this test.
100--
101
102   PERIOD_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID;
103   PERIOD_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME;
104
105--
106--  This variable is used as the output ID on directives which return
107--  an ID but are invoked in a manner which returns a non-SUCCESSFUL
108--  status code.
109--
110
111   JUNK_ID : RTEMS.ID;
112
113--
114--  The following area defines a memory area to be used as the
115--  internal address space of the port.
116--
117
118   INTERNAL_PORT_AREA_ADDRESS : constant System.Address :=
119       System.Storage_Elements.To_Address(16#00001000#);
120
121   INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 )
122      of RTEMS.UNSIGNED8;
[3c4d8cd1]123   for INTERNAL_PORT_AREA'Address use INTERNAL_PORT_AREA_ADDRESS;
[6d4e604b]124
125--
126--  The following area defines a memory area to be used as the
127--  external address space of the port.
128--
129
130   EXTERNAL_PORT_AREA_ADDRESS : constant System.Address :=
131       System.Storage_Elements.To_Address(16#00002000#);
132
133   EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 )
134      of RTEMS.UNSIGNED8;
[3c4d8cd1]135   for EXTERNAL_PORT_AREA'Address use EXTERNAL_PORT_AREA_ADDRESS;
[6d4e604b]136
137--
138--  The following area defines a memory area to be used as the
139--  memory space for a partition.
140--
141
142   PARTITION_GOOD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 )
143      of RTEMS.UNSIGNED8;
144   for PARTITION_GOOD_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT;
145
146--
147--  The following area defines a memory area to be used as the
148--  memory space for a partition which starts at an invalid address.
149--
150
151   PARTITION_BAD_AREA_ADDRESS : constant System.Address :=
152       System.Storage_Elements.To_Address(16#00000006#);
153
154   PARTITION_BAD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 )
155      of RTEMS.UNSIGNED8;
[3c4d8cd1]156   for PARTITION_BAD_AREA'Address use PARTITION_BAD_AREA_ADDRESS;
[6d4e604b]157
158--
159--  The following area defines a memory area to be used as the
160--  memory space for a region and constants used to define the regions
161--  starting area and length.
162--
163
[bc96f3b4]164   REGION_GOOD_AREA : array ( RTEMS.Size range 0 .. 4095 )
165      of RTEMS.Size;
[6d4e604b]166   for REGION_GOOD_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT;
167
[bc96f3b4]168   REGION_START_OFFSET : constant RTEMS.Size := 2048;
169   REGION_LENGTH       : constant RTEMS.Size := 512;
[6d4e604b]170
171--
172--  The following area defines a memory area to be used as the
173--  memory space for a region which starts at an invalid address.
174--
175
176   REGION_BAD_AREA_ADDRESS : constant System.Address :=
[535d0183]177       System.Storage_Elements.To_Address(16#00000000#);
[6d4e604b]178
179   REGION_BAD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 )
180      of RTEMS.UNSIGNED8;
[3c4d8cd1]181   for REGION_BAD_AREA'Address use REGION_BAD_AREA_ADDRESS;
[6d4e604b]182
183--
184--  INIT
185--
186--  DESCRIPTION:
187--
188--  This RTEMS task initializes the application.
189--
190
191   procedure INIT (
[3c4d8cd1]192      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
[6d4e604b]193   );
[d43dd82]194   pragma Convention (C, INIT);
[6d4e604b]195
196--
197--  DELAYED_SUBPROGRAM
198--
199--  DESCRIPTION:
200--
201--  This subprogram is scheduled as a timer service routine.
202--  It performs no actions if it fires.
203--
204
205   procedure DELAYED_SUBPROGRAM (
206      IGNORED_ID      : in     RTEMS.ID; 
207      IGNORED_ADDRESS : in     RTEMS.ADDRESS
208   );
[d43dd82]209   pragma Convention (C, DELAYED_SUBPROGRAM);
[6d4e604b]210
211--
212--  TASK_1
213--
214--  DESCRIPTION:
215--
216--  This RTEMS task tests numerous error conditions.
217--
218
219   procedure TASK_1 (
[3c4d8cd1]220      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
[6d4e604b]221   );
[d43dd82]222   pragma Convention (C, TASK_1);
[6d4e604b]223
224--
225--  TASK_2
226--
227--  DESCRIPTION:
228--
229--  This RTEMS task tests numerous error conditions.
230--
231
232   procedure TASK_2 (
[3c4d8cd1]233      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
[6d4e604b]234   );
[d43dd82]235   pragma Convention (C, TASK_2);
[6d4e604b]236
237--
238--  TASK_3
239--
240--  DESCRIPTION:
241--
242--  This RTEMS task tests numerous error conditions.
243--
244
245   procedure TASK_3 (
[3c4d8cd1]246      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
[6d4e604b]247   );
[d43dd82]248   pragma Convention (C, TASK_3);
[6d4e604b]249
250--
251--  TASK_4
252--
253--  DESCRIPTION:
254--
255--  This RTEMS task tests numerous error conditions.
256--
257
258   procedure TASK_4 (
[3c4d8cd1]259      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
[6d4e604b]260   );
[d43dd82]261   pragma Convention (C, TASK_4);
[6d4e604b]262
263--
264--  SCREEN_1
265--
266--  DESCRIPTION:
267--
268--  This subprogram processes the a single output screen of this test.
269--
270
271   procedure SCREEN_1;
272
273--
274--  SCREEN_2
275--
276--  DESCRIPTION:
277--
278--  This subprogram processes the a single output screen of this test.
279--
280
281   procedure SCREEN_2;
282
283--
284--  SCREEN_3
285--
286--  DESCRIPTION:
287--
288--  This subprogram processes the a single output screen of this test.
289--
290
291   procedure SCREEN_3;
292
293--
294--  SCREEN_4
295--
296--  DESCRIPTION:
297--
298--  This subprogram processes the a single output screen of this test.
299--
300
301   procedure SCREEN_4;
302
303--
304--  SCREEN_5
305--
306--  DESCRIPTION:
307--
308--  This subprogram processes the a single output screen of this test.
309--
310
311   procedure SCREEN_5;
312
313--
314--  SCREEN_6
315--
316--  DESCRIPTION:
317--
318--  This subprogram processes the a single output screen of this test.
319--
320
321   procedure SCREEN_6;
322
323--
324--  SCREEN_7
325--
326--  DESCRIPTION:
327--
328--  This subprogram processes the a single output screen of this test.
329--
330
331   procedure SCREEN_7;
332
333--
334--  SCREEN_8
335--
336--  DESCRIPTION:
337--
338--  This subprogram processes the a single output screen of this test.
339--
340
341   procedure SCREEN_8;
342
343--
344--  SCREEN_9
345--
346--  DESCRIPTION:
347--
348--  This subprogram processes the a single output screen of this test.
349--
350
351   procedure SCREEN_9;
352
353--
354--  SCREEN_10
355--
356--  DESCRIPTION:
357--
358--  This subprogram processes the a single output screen of this test.
359--
360
361   procedure SCREEN_10;
362
363--
364--  SCREEN_11
365--
366--  DESCRIPTION:
367--
368--  This subprogram processes the a single output screen of this test.
369--
370
371   procedure SCREEN_11;
372
373--
374--  SCREEN_12
375--
376--  DESCRIPTION:
377--
378--  This subprogram processes the a single output screen of this test.
379--
380
381   procedure SCREEN_12;
382
383--
384--  SCREEN_13
385--
386--  DESCRIPTION:
387--
388--  This subprogram processes the a single output screen of this test.
389--
390
391   procedure SCREEN_13;
392
393end SPTEST;
Note: See TracBrowser for help on using the repository browser.