RTEMS 6.1-rc2
Loading...
Searching...
No Matches
sysstate.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
12/*
13 * COPYRIGHT (c) 1989-2011.
14 * On-Line Applications Research Corporation (OAR).
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
18 * are met:
19 * 1. Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 * 2. Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE.
36 */
37
38#ifndef _RTEMS_SCORE_SYSSTATE_H
39#define _RTEMS_SCORE_SYSSTATE_H
40
42
43#ifdef __cplusplus
44extern "C" {
45#endif
46
60typedef enum {
65
71
76
82
83#define SYSTEM_STATE_CODES_FIRST SYSTEM_STATE_BEFORE_INITIALIZATION
84
85#define SYSTEM_STATE_CODES_LAST SYSTEM_STATE_TERMINATED
86
87#if defined(RTEMS_MULTIPROCESSING)
88extern bool _System_state_Is_multiprocessing;
89#endif
90
91extern System_state_Codes _System_state_Current;
92
98static inline void _System_state_Set (
100)
101{
102 _System_state_Current = state;
103}
104
110static inline System_state_Codes _System_state_Get ( void )
111{
112 return _System_state_Current;
113}
114
123static inline bool _System_state_Is_before_initialization (
125)
126{
127 return (state == SYSTEM_STATE_BEFORE_INITIALIZATION);
128}
129
138static inline bool _System_state_Is_before_multitasking (
140)
141{
142 return (state == SYSTEM_STATE_BEFORE_MULTITASKING);
143}
144
153static inline bool _System_state_Is_up (
155)
156{
157 return (state == SYSTEM_STATE_UP);
158}
159
168static inline bool _System_state_Is_terminated (
170)
171{
172 return (state == SYSTEM_STATE_TERMINATED);
173}
174
177#ifdef __cplusplus
178}
179#endif
180
181#endif
182/* end of include file */
This header file provides basic definitions used by the API and the implementation.
System_state_Codes
System states.
Definition: sysstate.h:60
@ SYSTEM_STATE_TERMINATED
The system reached its terminal state.
Definition: sysstate.h:80
@ SYSTEM_STATE_UP
The system is up and operating normally.
Definition: sysstate.h:75
@ SYSTEM_STATE_BEFORE_MULTITASKING
The system is between end of the first phase of initialization but before multitasking is started.
Definition: sysstate.h:70
@ SYSTEM_STATE_BEFORE_INITIALIZATION
The system is before the end of the first phase of initialization.
Definition: sysstate.h:64