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 Jan 23, 2018 at 8:53:06 AM

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
Line 
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--
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;
23with SYSTEM;
24with System.Storage_Elements;
25
26package SPTEST is
27
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
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;
123   for INTERNAL_PORT_AREA'Address use INTERNAL_PORT_AREA_ADDRESS;
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;
135   for EXTERNAL_PORT_AREA'Address use EXTERNAL_PORT_AREA_ADDRESS;
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;
156   for PARTITION_BAD_AREA'Address use PARTITION_BAD_AREA_ADDRESS;
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
164   REGION_GOOD_AREA : array ( RTEMS.Size range 0 .. 4095 )
165      of RTEMS.Size;
166   for REGION_GOOD_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT;
167
168   REGION_START_OFFSET : constant RTEMS.Size := 2048;
169   REGION_LENGTH       : constant RTEMS.Size := 512;
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 :=
177       System.Storage_Elements.To_Address(16#00000000#);
178
179   REGION_BAD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 )
180      of RTEMS.UNSIGNED8;
181   for REGION_BAD_AREA'Address use REGION_BAD_AREA_ADDRESS;
182
183--
184--  INIT
185--
186--  DESCRIPTION:
187--
188--  This RTEMS task initializes the application.
189--
190
191   procedure INIT (
192      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
193   );
194   pragma Convention (C, INIT);
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   );
209   pragma Convention (C, DELAYED_SUBPROGRAM);
210
211--
212--  TASK_1
213--
214--  DESCRIPTION:
215--
216--  This RTEMS task tests numerous error conditions.
217--
218
219   procedure TASK_1 (
220      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
221   );
222   pragma Convention (C, TASK_1);
223
224--
225--  TASK_2
226--
227--  DESCRIPTION:
228--
229--  This RTEMS task tests numerous error conditions.
230--
231
232   procedure TASK_2 (
233      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
234   );
235   pragma Convention (C, TASK_2);
236
237--
238--  TASK_3
239--
240--  DESCRIPTION:
241--
242--  This RTEMS task tests numerous error conditions.
243--
244
245   procedure TASK_3 (
246      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
247   );
248   pragma Convention (C, TASK_3);
249
250--
251--  TASK_4
252--
253--  DESCRIPTION:
254--
255--  This RTEMS task tests numerous error conditions.
256--
257
258   procedure TASK_4 (
259      ARGUMENT : in     RTEMS.TASKS.ARGUMENT
260   );
261   pragma Convention (C, TASK_4);
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.