|
OpenLcbCLib 1.0 Alpha
OpenSource C Library to create OpenLcb/Lcc Nodes
|
Callback interface for the login state machine. All pointers are REQUIRED unless noted. Internal function pointers are exposed for unit testing. More...
Data Fields | |
| bool(* | send_openlcb_msg )(openlcb_msg_t *outgoing_msg) |
| Queue a message for transmission. Return false if buffer full (retried next tick). REQUIRED. | |
| openlcb_node_t *(* | openlcb_node_get_first )(uint8_t key) |
| Return the first node in the pool (NULL if empty). key separates iteration contexts. REQUIRED. | |
| openlcb_node_t *(* | openlcb_node_get_next )(uint8_t key) |
| Return the next node in the pool (NULL at end). REQUIRED. | |
| void(* | load_initialization_complete )(openlcb_login_statemachine_info_t *openlcb_statemachine_info) |
| Build Initialization Complete message for the current node. REQUIRED. | |
| void(* | load_producer_events )(openlcb_login_statemachine_info_t *openlcb_statemachine_info) |
| Build the next Producer Identified message; set enumerate flag if more remain. REQUIRED. | |
| void(* | load_consumer_events )(openlcb_login_statemachine_info_t *openlcb_statemachine_info) |
| Build the next Consumer Identified message; set enumerate flag if more remain. REQUIRED. | |
| void(* | process_login_statemachine )(openlcb_login_statemachine_info_t *statemachine_info) |
| Dispatches to the handler matching node->run_state. | |
| bool(* | handle_outgoing_openlcb_message )(void) |
| Try to send the pending outgoing message; return true if one was pending. | |
| bool(* | handle_try_reenumerate )(void) |
| Re-enter the state processor if the enumerate flag is set. | |
| bool(* | handle_try_enumerate_first_node )(void) |
| Start enumeration from the first node if no current node is active. | |
| bool(* | handle_try_enumerate_next_node )(void) |
| Advance to the next node that needs login processing. | |
| bool(* | on_login_complete )(openlcb_node_t *openlcb_node) |
| Called after login completes, just before RUNSTATE_RUN. Optional (may be NULL). | |
Callback interface for the login state machine. All pointers are REQUIRED unless noted. Internal function pointers are exposed for unit testing.
| bool(* send_openlcb_msg) (openlcb_msg_t *outgoing_msg) |
Queue a message for transmission. Return false if buffer full (retried next tick). REQUIRED.
| openlcb_node_t *(* openlcb_node_get_first) (uint8_t key) |
Return the first node in the pool (NULL if empty). key separates iteration contexts. REQUIRED.
| openlcb_node_t *(* openlcb_node_get_next) (uint8_t key) |
Return the next node in the pool (NULL at end). REQUIRED.
| void(* load_initialization_complete) (openlcb_login_statemachine_info_t *openlcb_statemachine_info) |
Build Initialization Complete message for the current node. REQUIRED.
| void(* load_producer_events) (openlcb_login_statemachine_info_t *openlcb_statemachine_info) |
Build the next Producer Identified message; set enumerate flag if more remain. REQUIRED.
| void(* load_consumer_events) (openlcb_login_statemachine_info_t *openlcb_statemachine_info) |
Build the next Consumer Identified message; set enumerate flag if more remain. REQUIRED.
| void(* process_login_statemachine) (openlcb_login_statemachine_info_t *statemachine_info) |
Dispatches to the handler matching node->run_state.
| bool(* handle_outgoing_openlcb_message) (void) |
Try to send the pending outgoing message; return true if one was pending.
| bool(* handle_try_reenumerate) (void) |
Re-enter the state processor if the enumerate flag is set.
| bool(* handle_try_enumerate_first_node) (void) |
Start enumeration from the first node if no current node is active.
| bool(* handle_try_enumerate_next_node) (void) |
Advance to the next node that needs login processing.
| bool(* on_login_complete) (openlcb_node_t *openlcb_node) |
Called after login completes, just before RUNSTATE_RUN. Optional (may be NULL).
Copyright (c) 2026 Jim Kueneman all rights reserved. See the License