Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:24:42

0001 /* SPDX-License-Identifier: BSD-2-Clause */
0002 
0003 /*  system.h
0004  *
0005  *  This include file contains information that is included in every
0006  *  function in the test set.
0007  *
0008  *  COPYRIGHT (c) 1989-2008.
0009  *  On-Line Applications Research Corporation (OAR).
0010  *
0011  * Redistribution and use in source and binary forms, with or without
0012  * modification, are permitted provided that the following conditions
0013  * are met:
0014  * 1. Redistributions of source code must retain the above copyright
0015  *    notice, this list of conditions and the following disclaimer.
0016  * 2. Redistributions in binary form must reproduce the above copyright
0017  *    notice, this list of conditions and the following disclaimer in the
0018  *    documentation and/or other materials provided with the distribution.
0019  *
0020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0022  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0023  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0024  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0025  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0026  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0027  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0028  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0029  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0030  * POSSIBILITY OF SUCH DAMAGE.
0031  */
0032 
0033 #include <rtems.h>
0034 
0035 /* functions */
0036 
0037 rtems_task Init(
0038   rtems_task_argument argument
0039 );
0040 
0041 rtems_task test_task(
0042   rtems_task_argument my_number
0043 );
0044 
0045 void
0046 destroy_all_tasks(
0047   const char *who
0048 );
0049 
0050 bool status_code_bad(
0051   rtems_status_code status_code
0052 );
0053 
0054 extern void test1(void);
0055 extern void test2(void);
0056 extern void test3(void);
0057 
0058 /* configuration information */
0059 
0060 #include <bsp.h> /* for device driver prototypes */
0061 
0062 /* NOTICE: the clock driver is explicitly disabled */
0063 #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
0064 #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
0065 
0066 #define CONFIGURE_UNIFIED_WORK_AREAS
0067 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
0068 
0069 #define TASK_ALLOCATION_SIZE     (5)
0070 #define CONFIGURE_UNLIMITED_OBJECTS
0071 #define CONFIGURE_UNLIMITED_ALLOCATION_SIZE TASK_ALLOCATION_SIZE
0072 
0073 
0074 #include <rtems/confdefs.h>
0075 
0076 /*
0077  * Keep track of the task id's created, use a large array.
0078  */
0079 
0080 #define MAX_TASKS         (1000)
0081 #define TASK_INDEX_OFFSET (1)
0082 
0083 extern rtems_id task_id[MAX_TASKS];
0084 
0085 /*
0086  * Increment the task name.
0087  */
0088 
0089 #define NEXT_TASK_NAME(c1, c2, c3, c4)  \
0090                  if (c4 == '9') {       \
0091                    if (c3 == '9') {     \
0092                      if (c2 == 'z') {   \
0093                        if (c1 == 'z') { \
0094                          printf("not enough task letters for names !!!\n"); \
0095                          exit( 1 );     \
0096                        } else           \
0097                          c1++;          \
0098                        c2 = 'a';        \
0099                      } else             \
0100                       c2++;             \
0101                      c3 = '0';          \
0102                    } else               \
0103                      c3++;              \
0104                    c4 = '0';            \
0105                  }                      \
0106                  else                   \
0107                    c4++                 \
0108 
0109 
0110 /* end of include file */