Safe API Framework
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
Toggle main menu visibility
Loading...
Searching...
No Matches
sapi_lifecycle.c
Go to the documentation of this file.
1
7
#include "
safeapi/utils/lifecycle/sapi_lifecycle.h
"
8
10
12
17
static
bool
g_setup_locked
=
false
;
18
20
22
23
25
void
sapi_lifecycle_lock
(
void
)
26
{
27
g_setup_locked
=
true
;
28
}
29
30
void
sapi_lifecycle_unlock
(
void
)
31
{
32
g_setup_locked
=
false
;
33
}
34
35
bool
sapi_lifecycle_is_locked
(
void
)
36
{
37
return
g_setup_locked
;
38
}
39
40
sapi_status_t
sapi_lifecycle_check_setup_allowed
(
void
)
41
{
42
return
g_setup_locked
?
SAPI_STATUS_INVALID_STATE
:
SAPI_STATUS_OK
;
43
}
sapi_lifecycle_lock
void sapi_lifecycle_lock(void)
Locks the application's setup phase.
Definition
sapi_lifecycle.c:25
sapi_lifecycle_is_locked
bool sapi_lifecycle_is_locked(void)
Definition
sapi_lifecycle.c:35
sapi_lifecycle_check_setup_allowed
sapi_status_t sapi_lifecycle_check_setup_allowed(void)
Convenience check for a setup-only constructor: call this as one of the first checks in any function ...
Definition
sapi_lifecycle.c:40
sapi_lifecycle_unlock
void sapi_lifecycle_unlock(void)
Unlocks the application's setup phase (setup is allowed again).
Definition
sapi_lifecycle.c:30
sapi_status_t
sapi_status_t
Common result/status codes.
Definition
sapi_status.h:27
SAPI_STATUS_INVALID_STATE
@ SAPI_STATUS_INVALID_STATE
Definition
sapi_status.h:40
SAPI_STATUS_OK
@ SAPI_STATUS_OK
Definition
sapi_status.h:28
g_setup_locked
static bool g_setup_locked
Single, process-wide setup-phase flag (single instance; no dynamic allocation - same posture as sapi_...
Definition
sapi_lifecycle.c:17
sapi_lifecycle.h
Process-wide application setup-phase lock (ADR-026).
src
utils
lifecycle
sapi_lifecycle.c
Generated by
1.18.0