RTE RBC 2oo2 Reference Application
0.1.0 build 0006685
SIL 4 2oo2 Dual-Site Fault-Tolerant ERTMS Radio Block Centre Reference Architecture
Toggle main menu visibility
Loading...
Searching...
No Matches
ab_gp_site_status.h
Go to the documentation of this file.
1
9
#ifndef AB_GP_SITE_STATUS_H
10
#define AB_GP_SITE_STATUS_H
11
12
#include <stddef.h>
13
14
#include "
ab_gp_channel_types.h
"
15
#include "rte/redundancy/site_role/rte_site_role_policy.h"
16
18
typedef
enum
19
{
20
AB_GP_SITE_WAIT_NOTHING
= 0,
21
AB_GP_SITE_WAIT_DISPATCHER
,
22
AB_GP_SITE_WAIT_LINK
,
23
AB_GP_SITE_WAIT_READY
24
}
ab_gp_site_wait_t
;
25
26
typedef
struct
27
{
28
bool
role_online
;
29
bool
role_faulted
;
30
bool
link_up
;
31
bool
peer_answering
;
32
bool
peer_online_now
;
33
bool
sibling_known
;
34
bool
sibling_online
;
35
bool
standby_warm
;
36
bool
standby_healthy
;
37
ab_gp_site_wait_t
waiting_for
;
38
rte_site_role_reason_t
last_reason
;
39
}
ab_gp_site_status_t
;
40
45
bool
ab_gp_site_status_ready_for_online
(
const
ab_gp_channel_context_t
*ctx);
46
48
void
ab_gp_site_status_collect
(
const
ab_gp_channel_context_t
*ctx,
ab_gp_site_status_t
*out);
49
54
size_t
ab_gp_site_status_append_text
(
const
ab_gp_site_status_t
*st,
char
*buf,
size_t
size);
55
56
#endif
/* AB_GP_SITE_STATUS_H */
ab_gp_channel_types.h
Modular type definitions for AB channel components (Com, Train, DB, Redundancy).
ab_gp_site_status_append_text
size_t ab_gp_site_status_append_text(const ab_gp_site_status_t *st, char *buf, size_t size)
Appends " site_wait=<none|dispatcher|link> site_why=<short reason>" to a status payload.
Definition
ab_gp_site_status.c:52
ab_gp_site_status_collect
void ab_gp_site_status_collect(const ab_gp_channel_context_t *ctx, ab_gp_site_status_t *out)
Definition
ab_gp_site_status.c:19
ab_gp_site_status_ready_for_online
bool ab_gp_site_status_ready_for_online(const ab_gp_channel_context_t *ctx)
Whether this channel confirms it is ready to be ONLINE: the Gateway relay delivered a frame within th...
Definition
ab_gp_site_status.c:9
ab_gp_site_wait_t
ab_gp_site_wait_t
Definition
ab_gp_site_status.h:19
AB_GP_SITE_WAIT_READY
@ AB_GP_SITE_WAIT_READY
Definition
ab_gp_site_status.h:23
AB_GP_SITE_WAIT_NOTHING
@ AB_GP_SITE_WAIT_NOTHING
Definition
ab_gp_site_status.h:20
AB_GP_SITE_WAIT_DISPATCHER
@ AB_GP_SITE_WAIT_DISPATCHER
Definition
ab_gp_site_status.h:21
AB_GP_SITE_WAIT_LINK
@ AB_GP_SITE_WAIT_LINK
Definition
ab_gp_site_status.h:22
ab_gp_channel_context_t
Central application context owned by composition root (main.c).
Definition
ab_gp_channel_types.h:155
ab_gp_site_status_t
Definition
ab_gp_site_status.h:27
ab_gp_site_status_t::last_reason
rte_site_role_reason_t last_reason
Definition
ab_gp_site_status.h:38
ab_gp_site_status_t::link_up
bool link_up
Definition
ab_gp_site_status.h:30
ab_gp_site_status_t::peer_online_now
bool peer_online_now
Definition
ab_gp_site_status.h:32
ab_gp_site_status_t::standby_warm
bool standby_warm
Definition
ab_gp_site_status.h:35
ab_gp_site_status_t::sibling_online
bool sibling_online
Definition
ab_gp_site_status.h:34
ab_gp_site_status_t::standby_healthy
bool standby_healthy
Definition
ab_gp_site_status.h:36
ab_gp_site_status_t::role_faulted
bool role_faulted
Definition
ab_gp_site_status.h:29
ab_gp_site_status_t::sibling_known
bool sibling_known
Definition
ab_gp_site_status.h:33
ab_gp_site_status_t::role_online
bool role_online
Definition
ab_gp_site_status.h:28
ab_gp_site_status_t::peer_answering
bool peer_answering
Definition
ab_gp_site_status.h:31
ab_gp_site_status_t::waiting_for
ab_gp_site_wait_t waiting_for
Definition
ab_gp_site_status.h:37
src
application
AB
GP
com
ab_gp_site_status.h
Generated by
1.18.0