source: rtems/testsuites/samples/unlimited/system.h @ 3d9f688e

4.104.114.84.95
Last change on this file since 3d9f688e was 3d9f688e, checked in by Joel Sherrill <joel.sherrill@…>, on Jan 3, 2003 at 8:51:34 PM

2002-10-31 Chris Johns <ccj@…>

  • unlimited/test1.c: PR296. Only fails if more tasks than allowed can be created.
  • unlimited/system.h: PR296. Reference the number of tasks in the configuration table rather than a hardcoded number.
  • Property mode set to 100644
File size: 2.2 KB
Line 
1/*  system.h
2 *
3 *  This include file contains information that is included in every
4 *  function in the test set.
5 *
6 *  COPYRIGHT (c) 1989-1997.
7 *  On-Line Applications Research Corporation (OAR).
8 *
9 *  The license and distribution terms for this file may in
10 *  the file LICENSE in this distribution or at
11 *  http://www.OARcorp.com/rtems/license.html.
12 *
13 *  $Id$
14 */
15
16#include <rtems.h>
17
18/* functions */
19
20rtems_task Init(
21  rtems_task_argument argument
22);
23
24rtems_task test_task(
25  rtems_task_argument my_number
26);
27
28void
29destory_all_tasks(
30  const char *who
31);
32
33boolean status_code_bad(
34  rtems_status_code status_code
35);
36
37void test1();
38void test2();
39void test3();
40
41/* configuration information */
42
43#include <bsp.h> /* for device driver prototypes */
44
45#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
46
47#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
48
49#define TASK_ALLOCATION_SIZE \
50    (rtems_configuration_get_rtems_api_configuration()->maximum_tasks & \
51                                    ~RTEMS_UNLIMITED_OBJECTS)
52#define CONFIGURE_MAXIMUM_TASKS  rtems_resource_unlimited(TASK_ALLOCATION_SIZE)
53#define CONFIGURE_EXTRA_TASK_STACKS (62 * RTEMS_MINIMUM_STACK_SIZE)
54
55
56#include <confdefs.h>
57
58/*
59 * Keep track of the task id's created, use a large array.
60 */
61
62#define MAX_TASKS         (1000)
63#define TASK_INDEX_OFFSET (1)
64
65extern rtems_id task_id[MAX_TASKS];
66
67/*
68 * Increment the task name.
69 */
70
71#define NEXT_TASK_NAME(c1, c2, c3, c4)  \
72                 if (c4 == '9') {       \
73                   if (c3 == '9') {     \
74                     if (c2 == 'z') {   \
75                       if (c1 == 'z') { \
76                         printf("not enough task letters for names !!!\n"); \
77                         exit( 1 );     \
78                       } else           \
79                         c1++;          \
80                       c2 = 'a';        \
81                     } else             \
82                      c2++;             \
83                     c3 = '0';          \
84                   } else               \
85                     c3++;              \
86                   c4 = '0';            \
87                 }                      \
88                 else                   \
89                   c4++                 \
90
91
92/* end of include file */
Note: See TracBrowser for help on using the repository browser.