source: rtems/cpukit/score/include/rtems/score/sysstate.h @ b5f1b24

5
Last change on this file since b5f1b24 was 358bd740, checked in by Sebastian Huber <sebastian.huber@…>, on 02/03/16 at 11:41:02

score: Avoid SCORE_EXTERN

Delete SCORE_INIT. This finally removes the

some.h:

#ifndef SOME_XYZ_EXTERN
#define SOME_XYZ_EXTERN extern
#endif
SOME_XYZ_EXTERN type xyz;

some_xyz.c:

#define SOME_XYZ_EXTERN
#include <some.h>

pattern in favour of

some.h:

extern type xyz;

some_xyz.c

#include <some.h>
type xyz;

Update #2559.

  • Property mode set to 100644
File size: 2.2 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup ScoreSysState
5 *
6 * @brief System State Handler API
7 */
8
9/*
10 *  COPYRIGHT (c) 1989-2011.
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_SCORE_SYSSTATE_H
19#define _RTEMS_SCORE_SYSSTATE_H
20
21#include <rtems/score/basedefs.h>
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/**
28 * @defgroup ScoreSysState System State Handler
29 *
30 * @ingroup Score
31 *
32 * @brief Management of the internal system state of RTEMS.
33 */
34/**@{**/
35
36/**
37 * @brief System states.
38 */
39typedef enum {
40  /**
41   * @brief The system is before the end of the first phase of initialization.
42   */
43  SYSTEM_STATE_BEFORE_INITIALIZATION,
44
45  /**
46   * @brief The system is between end of the first phase of initialization but
47   * before  multitasking is started.
48   */
49  SYSTEM_STATE_BEFORE_MULTITASKING,
50
51  /**
52   * @brief The system is up and operating normally.
53   */
54  SYSTEM_STATE_UP,
55
56  /**
57   * @brief The system reached its terminal state.
58   */
59  SYSTEM_STATE_TERMINATED
60} System_state_Codes;
61
62#define SYSTEM_STATE_CODES_FIRST SYSTEM_STATE_BEFORE_INITIALIZATION
63
64#define SYSTEM_STATE_CODES_LAST SYSTEM_STATE_TERMINATED
65
66#if defined(RTEMS_MULTIPROCESSING)
67extern bool _System_state_Is_multiprocessing;
68#endif
69
70extern System_state_Codes _System_state_Current;
71
72RTEMS_INLINE_ROUTINE void _System_state_Set (
73  System_state_Codes state
74)
75{
76  _System_state_Current = state;
77}
78
79RTEMS_INLINE_ROUTINE System_state_Codes _System_state_Get ( void )
80{
81  return _System_state_Current;
82}
83
84RTEMS_INLINE_ROUTINE bool _System_state_Is_before_initialization (
85  System_state_Codes state
86)
87{
88  return (state == SYSTEM_STATE_BEFORE_INITIALIZATION);
89}
90
91RTEMS_INLINE_ROUTINE bool _System_state_Is_before_multitasking (
92  System_state_Codes state
93)
94{
95  return (state == SYSTEM_STATE_BEFORE_MULTITASKING);
96}
97
98RTEMS_INLINE_ROUTINE bool _System_state_Is_up (
99  System_state_Codes state
100)
101{
102  return (state == SYSTEM_STATE_UP);
103}
104
105RTEMS_INLINE_ROUTINE bool _System_state_Is_terminated (
106  System_state_Codes state
107)
108{
109  return (state == SYSTEM_STATE_TERMINATED);
110}
111
112/** @} */
113
114#ifdef __cplusplus
115}
116#endif
117
118#endif
119/* end of include file */
Note: See TracBrowser for help on using the repository browser.