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_safety_violation.c
Go to the documentation of this file.
1
6
#include "
safeapi/utils/safestate/sapi_safety_violation.h
"
7
8
static
sapi_safety_violation_handler_t
s_handler = NULL;
9
10
sapi_status_t
sapi_safety_violation_register_handler
(
sapi_safety_violation_handler_t
handler)
11
{
12
if
(handler == NULL)
13
{
14
return
SAPI_STATUS_INVALID_PARAM
;
15
}
16
s_handler = handler;
17
return
SAPI_STATUS_OK
;
18
}
19
20
void
sapi_safety_violation_report
(
sapi_safety_violation_kind_t
kind,
21
const
char
*file,
22
int32_t line,
23
const
char
*message)
24
{
25
if
(s_handler == NULL)
26
{
27
return
;
28
}
29
s_handler(kind, file, line, message);
30
}
sapi_safety_violation_report
void sapi_safety_violation_report(sapi_safety_violation_kind_t kind, const char *file, int32_t line, const char *message)
Reports one violation to the registered handler, if any.
Definition
sapi_safety_violation.c:20
sapi_safety_violation_register_handler
sapi_status_t sapi_safety_violation_register_handler(sapi_safety_violation_handler_t handler)
Registers the single handler invoked by sapi_safety_violation_report(). Registering again replaces th...
Definition
sapi_safety_violation.c:10
sapi_safety_violation_handler_t
void(*) sapi_safety_violation_handler_t(sapi_safety_violation_kind_t kind, const char *file, int32_t line, const char *message)
Handler invoked by sapi_safety_violation_report().
Definition
sapi_safety_violation.h:99
sapi_safety_violation_kind_t
sapi_safety_violation_kind_t
Which safety primitive detected the violation.
Definition
sapi_safety_violation.h:66
sapi_status_t
sapi_status_t
Common result/status codes.
Definition
sapi_status.h:27
SAPI_STATUS_INVALID_PARAM
@ SAPI_STATUS_INVALID_PARAM
Definition
sapi_status.h:29
SAPI_STATUS_OK
@ SAPI_STATUS_OK
Definition
sapi_status.h:28
sapi_safety_violation.h
Opt-in notification hook for the three new safety primitives (safe pointer, checked integer arithmeti...
src
utils
safestate
sapi_safety_violation.c
Generated by
1.18.0