Back to home page

LXR

 
 

    


Warning, /testsuites/ada/sptests/sp07/sptest.ads is written in an unsupported language. File is not indexed.

0001 -- SPDX-License-Identifier: BSD-2-Clause
0002 
0003 --
0004 --  SPTEST / SPECIFICATION
0005 --
0006 --  DESCRIPTION:
0007 --
0008 --  This package is the specification for Test 7 of the RTEMS
0009 --  Single Processor Test Suite.
0010 --
0011 --  DEPENDENCIES: 
0012 --
0013 --  
0014 --
0015 --  COPYRIGHT (c) 1989-2011.
0016 --  On-Line Applications Research Corporation (OAR).
0017 --
0018 --  Redistribution and use in source and binary forms, with or without
0019 --  modification, are permitted provided that the following conditions
0020 --  are met:
0021 --  1. Redistributions of source code must retain the above copyright
0022 --     notice, this list of conditions and the following disclaimer.
0023 --  2. Redistributions in binary form must reproduce the above copyright
0024 --     notice, this list of conditions and the following disclaimer in the
0025 --     documentation and/or other materials provided with the distribution.
0026 --
0027 --  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0028 --  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0029 --  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0030 --  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0031 --  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0032 --  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0033 --  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0034 --  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0035 --  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0036 --  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0037 --  POSSIBILITY OF SUCH DAMAGE.
0038 --
0039 
0040 with RTEMS;
0041 with RTEMS.TASKS;
0042 
0043 package SPTEST is
0044 
0045 --
0046 --  These arrays contain the IDs and NAMEs of all RTEMS tasks created
0047 --  by this test.
0048 --
0049 
0050    TASK_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID;
0051    TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME;
0052 
0053 --
0054 --  These arrays contain the IDs and NAMEs of all RTEMS extensions created
0055 --  by this test.
0056 --
0057  
0058    EXTENSION_ID   : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID;
0059    EXTENSION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME;
0060  
0061 --
0062 --  INIT
0063 --
0064 --  DESCRIPTION:
0065 --
0066 --  This RTEMS task initializes the application.
0067 --
0068 
0069    procedure INIT (
0070       ARGUMENT : in     RTEMS.TASKS.ARGUMENT
0071    );
0072    pragma Convention (C, INIT);
0073 
0074 --
0075 --  TASK_1
0076 --
0077 --  DESCRIPTION:
0078 --
0079 --  This RTEMS task tests some of the capabilities of the Task Manager.
0080 --
0081 
0082    procedure TASK_1 (
0083       ARGUMENT : in     RTEMS.TASKS.ARGUMENT
0084    );
0085    pragma Convention (C, TASK_1);
0086 
0087 --
0088 --  TASK_2
0089 --
0090 --  DESCRIPTION:
0091 --
0092 --  This RTEMS task tests some of the capabilities of the Task Manager.
0093 --
0094 
0095    procedure TASK_2 (
0096       ARGUMENT : in     RTEMS.TASKS.ARGUMENT
0097    );
0098    pragma Convention (C, TASK_2);
0099 
0100 --
0101 --  TASK_3
0102 --
0103 --  DESCRIPTION:
0104 --
0105 --  This RTEMS task tests some of the capabilities of the Task Manager.
0106 --
0107 
0108    procedure TASK_3 (
0109       ARGUMENT : in     RTEMS.TASKS.ARGUMENT
0110    );
0111    pragma Convention (C, TASK_3);
0112 
0113 --
0114 --  TASK_4
0115 --
0116 --  DESCRIPTION:
0117 --
0118 --  This RTEMS task tests the Message Queue Manager.
0119 --
0120 
0121    procedure TASK_4 (
0122       ARGUMENT : in     RTEMS.TASKS.ARGUMENT
0123    );
0124    pragma Convention (C, TASK_4);
0125 
0126 --
0127 --  TASK_CREATE_EXTENSION
0128 --
0129 --  DESCRIPTION:
0130 --
0131 --  This subprogram is the TASK_CREATE extension for this test.
0132 --
0133 
0134    function TASK_CREATE_EXTENSION (
0135       UNUSED       : in     RTEMS.TCB_POINTER;
0136       CREATED_TASK : in     RTEMS.TCB_POINTER
0137    ) return RTEMS.Boolean;
0138    pragma Convention (C, TASK_CREATE_EXTENSION);
0139 
0140 --
0141 --  TASK_DELETE_EXTENSION
0142 --
0143 --  DESCRIPTION:
0144 --
0145 --  This subprogram is the TASK_DELETE extension for this test.
0146 --
0147 
0148    procedure TASK_DELETE_EXTENSION (
0149       RUNNING_TASK : in     RTEMS.TCB_POINTER;
0150       DELETED_TASK : in     RTEMS.TCB_POINTER
0151    );
0152    pragma Convention (C, TASK_DELETE_EXTENSION);
0153 
0154 --
0155 --  TASK_RESTART_EXTENSION
0156 --
0157 --  DESCRIPTION:
0158 --
0159 --  This subprogram is the TASK_RESTART extension for this test.
0160 --
0161 
0162    procedure TASK_RESTART_EXTENSION (
0163       UNUSED         : in     RTEMS.TCB_POINTER;
0164       RESTARTED_TASK : in     RTEMS.TCB_POINTER
0165    );
0166    pragma Convention (C, TASK_RESTART_EXTENSION);
0167 
0168 --
0169 --  TASK_START_EXTENSION
0170 --
0171 --  DESCRIPTION:
0172 --
0173 --  This subprogram is the TASK_START extension for this test.
0174 --
0175 
0176    procedure TASK_START_EXTENSION (
0177       UNUSED       : in     RTEMS.TCB_POINTER;
0178       STARTED_TASK : in     RTEMS.TCB_POINTER
0179    );
0180    pragma Convention (C, TASK_START_EXTENSION);
0181 
0182 --
0183 --  TASK_EXIT_EXTENSION
0184 --
0185 --  DESCRIPTION:
0186 --
0187 --  This subprogram is the TASK_EXIT extension for this test.
0188 --  It is invoked when a RTEMS task exits from its entry point.
0189 --
0190 
0191    procedure TASK_EXIT_EXTENSION (
0192       RUNNING_TASK : in     RTEMS.TCB_POINTER
0193    );
0194    pragma Convention (C, TASK_EXIT_EXTENSION);
0195 
0196 --
0197 --  This is the User Extension Table for this test.
0198 --
0199 
0200    EXTENSIONS : aliased RTEMS.EXTENSIONS_TABLE :=
0201    (
0202         SPTEST.TASK_CREATE_EXTENSION'ACCESS,         -- Task create
0203         SPTEST.TASK_START_EXTENSION'ACCESS,          -- Task start
0204         SPTEST.TASK_RESTART_EXTENSION'ACCESS,        -- Task restart
0205         SPTEST.TASK_DELETE_EXTENSION'ACCESS,         -- Task delete
0206         NULL,                                        -- Task switch
0207         NULL,                                        -- Task begin
0208         SPTEST.TASK_EXIT_EXTENSION'ACCESS,           -- Task exitted
0209         NULL,                                        -- Fatal error
0210         NULL                                         -- Task terminate
0211    );
0212 
0213 end SPTEST;