RBC_Test_CommServer 0.1.0 build fe9835b
Non-vital customer-network access point in front of the RBC's role-C gateways
Loading...
Searching...
No Matches
main.c File Reference

CommServer — access-point stub: relays a train's TCP link to the RBC role-C train gateway (dual-homed WEST + EAST). More...

#include <arpa/inet.h>
#include <errno.h>
#include <netinet/in.h>
#include <poll.h>
#include <signal.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <unistd.h>
#include "safecomm/config/config.h"
#include "safecomm/ale/ale.h"
#include "rte/oal/netlink/rte_netlink.h"
#include "rte/posix_osadapter/rte_posix_osadapter.h"
#include "cs_config.h"

Go to the source code of this file.

Macros

#define CS_DRAIN_MAX   256U

Functions

int main (int argc, char **argv)

Detailed Description

CommServer — access-point stub: relays a train's TCP link to the RBC role-C train gateway (dual-homed WEST + EAST).

Non-vital. Sits below the Safety Functional Module (safecomm::safety, which runs in the RBC's vital A/B core) — see CLAUDE.md and safeCommFreamwork/docs/architecture/ADR-002.

Stub limits: one train at a time; fixed 96-byte framing on the train side (the real SaF PDU framing lands with safecomm::safety); no ISDN / FRMCS / TLS.

Definition in file main.c.

Macro Definition Documentation

◆ CS_DRAIN_MAX

#define CS_DRAIN_MAX   256U

Max RBC->train datagrams drained from one site per relay pass.

Definition at line 35 of file main.c.

Function Documentation

◆ main()

int main ( int argc,
char ** argv )

Definition at line 248 of file main.c.