OpenLcbCLib 1.0 Alpha
OpenSource C Library to create OpenLcb/Lcc Nodes
Loading...
Searching...
No Matches
Data Structures
Here are the data structures with brief descriptions:
 Calias_mapping_info_struct
 Calias_mapping_struct
 Cbroadcast_clock_state_tComplete state for one Broadcast Time clock
 Cbroadcast_clock_tA clock slot with state and subscription flags
 Cbroadcast_date_tBroadcast Time month/day
 Cbroadcast_rate_tBroadcast Time clock rate (12-bit signed fixed point, 2 fractional bits)
 Cbroadcast_time_tBroadcast Time hour/minute
 Cbroadcast_year_tBroadcast Time year
 Ccan_config_tCAN bus transport configuration
 Ccan_fifo_tInternal circular buffer for queuing can_msg_t pointers
 Ccan_main_statemachine_struct
 Ccan_msg_state_struct
 Ccan_msg_struct
 Ccan_statemachine_info_struct
 Cconfig_mem_operations_request_info_TAGRequest info for Get Options / Get Address Space Info commands
 Cconfig_mem_read_request_info_TAGRequest info for a configuration memory read operation
 Cconfig_mem_write_request_info_TAGRequest info for a configuration memory write operation
 Cevent_id_consumer_list_tList of events consumed by a node
 Cevent_id_enum_tEvent list enumeration state
 Cevent_id_producer_list_tList of events produced by a node
 Cevent_id_range_tContiguous range of Event IDs starting at a base address
 Cevent_id_struct_tEvent ID paired with its current status
 Cinterface_can_login_message_handler_tDependency-injection interface for the CAN login message handler
 Cinterface_can_login_state_machine_tDependency-injection interface for the CAN login state machine
 Cinterface_can_main_statemachine_tDependency-injection interface for the CAN main state machine
 Cinterface_can_rx_message_handler_tDependency-injection interface for the CAN receive message handlers
 Cinterface_can_rx_statemachine_tDependency-injection interface for the CAN receive state machine
 Cinterface_can_tx_message_handler_tDependency-injection interface for the CAN transmit message handlers
 Cinterface_can_tx_statemachine_tDependency-injection interface for the CAN transmit state machine
 Cinterface_openlcb_application_broadcast_time_tApplication-provided callbacks for broadcast time events
 Cinterface_openlcb_application_tApplication-provided callbacks required by the OpenLCB library
 Cinterface_openlcb_application_train_tApplication-provided callbacks for the train module
 Cinterface_openlcb_login_message_handler_tCallbacks that map event state to the correct Identified MTI. Both REQUIRED
 Cinterface_openlcb_login_state_machine_tCallback interface for the login state machine. All pointers are REQUIRED unless noted. Internal function pointers are exposed for unit testing
 Cinterface_openlcb_main_statemachine_tDependency-injection interface for the main state machine. Required pointers must be non-NULL; optional ones may be NULL (causes automatic Interaction Rejected). Internal pointers are exposed for unit testing
 Cinterface_openlcb_node_tDependency injection interface for the OpenLCB Node module
 Cinterface_openlcb_protocol_broadcast_time_handler_tApplication callbacks for broadcast time events
 Cinterface_openlcb_protocol_event_transport_tApplication callbacks for event transport notifications. All optional (NULL = ignored)
 Cinterface_openlcb_protocol_message_network_tCallback interface for message network protocol notifications
 Cinterface_openlcb_protocol_snip_tCallback interface for SNIP. config_memory_read is REQUIRED
 Cinterface_protocol_config_mem_operations_handler_tCallback interface for memory-config operations
 Cinterface_protocol_config_mem_read_handler_tCallback interface for config memory reads. Datagram ACK and config_memory_read are REQUIRED; SNIP loaders and per-space handlers are optional
 Cinterface_protocol_config_mem_write_handler_tCallback interface for memory-config write operations
 Cinterface_protocol_datagram_handler_tCallback interface for the datagram handler. lock/unlock are REQUIRED; all memory-operation pointers are optional (NULL = rejected)
 Cinterface_protocol_train_handler_tCallback interface for train protocol events
 Cinterface_protocol_train_search_handler_tApplication callbacks for train search events
 Clistener_alias_entry_struct
 Cmessage_buffer_tMaster buffer storage: message structures + segregated payload pools
 Cnode_parameters_TAGComplete node configuration parameters (typically const/flash)
 Copenlcb_basic_message_tMessage with inline BASIC-sized payload
 Copenlcb_config_tUser configuration for OpenLcbCLib
 Copenlcb_incoming_msg_info_tIncoming message context
 Copenlcb_login_statemachine_info_tLogin state machine context
 Copenlcb_msg_fifo_tCircular buffer of message pointers with head/tail indices
 Copenlcb_msg_state_tMessage buffer allocation/assembly state flags
 Copenlcb_msg_tCore OpenLCB message structure
 Copenlcb_msg_timer_tTimer field union for openlcb_msg_t
 Copenlcb_node_state_tBit-packed node state flags
 Copenlcb_node_TAGOpenLCB virtual node
 Copenlcb_nodes_tCollection of all virtual nodes
 Copenlcb_outgoing_basic_msg_info_tOutgoing message context for the login state machine
 Copenlcb_outgoing_stream_msg_info_tOutgoing message context for the main state machine
 Copenlcb_statemachine_info_tComplete context passed to protocol handler functions
 Copenlcb_statemachine_worker_tState machine temporary working buffers
 Copenlcb_stream_message_tMessage with inline STREAM-sized payload
 CStringList
 Ctrain_listener_entry_tA single listener entry for a train consist
 Ctrain_state_TAGMutable runtime state for a single train node
 Cuser_address_space_info_tProperties of a single configuration memory address space
 Cuser_configuration_optionsCapability flags returned by Get Configuration Options command
 Cuser_snip_struct_tSNIP identification strings (manufacturer + user version byte)

Copyright (c) 2026 Jim Kueneman all rights reserved. See the License