source: rtems/cpukit/include/rtems/rtems/tasksdata.h @ 9520ec3

5
Last change on this file since 9520ec3 was 9520ec3, checked in by Sebastian Huber <sebastian.huber@…>, on 02/14/20 at 08:31:44

config: Simplify initialization task config

With the removal of the CONFIGURE_HAS_OWN_INIT_TASK_TABLE configuration
option at most one Classic API user initialization task can be
configured.

Provide an RTEMS API configuration table for backward compatibility.

Update #3873.

  • Property mode set to 100644
File size: 1.8 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup ClassicTasksImpl
5 *
6 * @brief Classic Tasks Manager Data Structures
7 */
8
9/*
10 * COPYRIGHT (c) 1989-2014.
11 * On-Line Applications Research Corporation (OAR).
12 *
13 * The license and distribution terms for this file may be
14 * found in the file LICENSE in this distribution or at
15 * http://www.rtems.org/license/LICENSE.
16 */
17
18#ifndef _RTEMS_RTEMS_TASKSDATA_H
19#define _RTEMS_RTEMS_TASKSDATA_H
20
21#include <rtems/rtems/tasks.h>
22#include <rtems/rtems/asrdata.h>
23#include <rtems/rtems/eventdata.h>
24#include <rtems/score/thread.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30/**
31 * @addtogroup ClassicTasksImpl
32 *
33 * @{
34 */
35
36/**
37 *  This is the API specific information required by each thread for
38 *  the RTEMS API to function correctly.
39 *
40 */
41typedef struct {
42  /** This field contains the event control for this task. */
43  Event_Control            Event;
44  /** This field contains the system event control for this task. */
45  Event_Control            System_event;
46  /** This field contains the Classic API Signal information for this task. */
47  ASR_Information          Signal;
48
49  /**
50   * @brief Signal post-switch action in case signals are pending.
51   */
52  Thread_Action            Signal_action;
53}  RTEMS_API_Control;
54
55/**
56 * @brief Initialization table for the first user task.
57 *
58 * This table is used by _RTEMS_tasks_Initialize_user_task() and initialized
59 * via <rtems/confdefs.h>.
60 */
61extern const rtems_initialization_tasks_table _RTEMS_tasks_User_task_table;
62
63/**
64 * @brief System initialization handler to create and start the first user
65 * task.
66 */
67extern void _RTEMS_tasks_Initialize_user_task( void );
68
69/**
70 *  The following instantiates the information control block used to
71 *  manage this class of objects.
72 */
73extern Thread_Information _RTEMS_tasks_Information;
74
75/** @} */
76
77#ifdef __cplusplus
78}
79#endif
80
81#endif
82/* end of include file */
Note: See TracBrowser for help on using the repository browser.