269 void *pvFailureUserData
#define JUNO_MODULE_EMPTY
Helper for module definitions with no additional members.
Definition module.h:87
#define JUNO_MODULE_ROOT(API_T,...)
Implement a module root struct containing ptApi and failure fields.
Definition module.h:129
void(* JUNO_FAILURE_HANDLER_T)(JUNO_STATUS_T tStatus, const char *pcCustomMessage, JUNO_USER_DATA_T *pvUserData)
Failure handler callback signature.
Definition status.h:110
int32_t JUNO_STATUS_T
Canonical status type for LibJuno functions.
Definition status.h:51
Module system and dependency injection primitives for LibJuno.
Status codes and failure-handling helpers for LibJuno.
Vtable defining the UDP socket module interface.
Definition udp_api.h:159
JUNO_STATUS_T(* Free)(JUNO_UDP_ROOT_T *ptRoot)
Release all resources held by the module (RAII cleanup).
Definition udp_api.h:186
JUNO_STATUS_T(* Receive)(JUNO_UDP_ROOT_T *ptRoot, UDP_THREAD_MSG_T *ptMsg)
Receive exactly one UDP_THREAD_MSG_T datagram.
Definition udp_api.h:176
JUNO_STATUS_T(* Send)(JUNO_UDP_ROOT_T *ptRoot, const UDP_THREAD_MSG_T *ptMsg)
Send exactly one UDP_THREAD_MSG_T datagram.
Definition udp_api.h:166
Configuration passed to JunoUdp_LinuxInit to open and configure a UDP socket.
Definition udp_api.h:131
const char * pcAddress
IPv4 address string (e.g. "127.0.0.1"); NULL or "0.0.0.0" for receiver.
Definition udp_api.h:133
uint16_t uPort
UDP port number in host byte order.
Definition udp_api.h:135
bool bIsReceiver
true = bind to local port (receiver); false = connect to remote (sender).
Definition udp_api.h:137
Fixed-size UDP datagram message transferred between sender and receiver.
Definition udp_api.h:101
uint32_t uSeqNum
Monotonically increasing sequence number; wraps at UINT32_MAX.
Definition udp_api.h:103
uint8_t arrPayload[64]
Fixed-size application-defined payload (64 bytes).
Definition udp_api.h:109
uint32_t uTimestampSubSec
Sub-second component of the sender's timestamp (units defined by application).
Definition udp_api.h:107
uint32_t uTimestampSec
Whole-second component of the sender's timestamp.
Definition udp_api.h:105
Common module result type aliases used throughout LibJuno.
struct UDP_THREAD_MSG_TAG UDP_THREAD_MSG_T
Fixed-size UDP datagram message transferred between sender and receiver.
struct JUNO_UDP_ROOT_TAG JUNO_UDP_ROOT_T
Forward declaration of the UDP module root type.
Definition udp_api.h:71
JUNO_STATUS_T JunoUdp_Init(JUNO_UDP_ROOT_T *ptRoot, const JUNO_UDP_API_T *ptApi, JUNO_FAILURE_HANDLER_T pfcnFailureHandler, void *pvFailureUserData)
Type-safe polymorphic handle for a UDP module instance.
Definition juno_udp_init.cpp:51
struct JUNO_UDP_LINUX_TAG JUNO_UDP_LINUX_T
Forward declaration of the Linux derivation type.
Definition udp_api.h:74
struct JUNO_UDP_CFG_TAG JUNO_UDP_CFG_T
Configuration passed to JunoUdp_LinuxInit to open and configure a UDP socket.
union JUNO_UDP_TAG JUNO_UDP_T
Forward declaration of the UDP module union type.
Definition udp_api.h:81