|
nros C API
Lightweight ROS 2 client for embedded real-time systems
|
#include <nros_generated.h>

Data Fields | |
| uint8_t | _reserved [3] |
| uint32_t | domain_id_override |
| const struct nros_executor_t * | executor |
| uint8_t | name [64] |
| size_t | name_len |
| uint8_t | namespace_ [128] |
| size_t | namespace_len |
| uint8_t | node_id |
| const struct nros_qos_override_t * | qos_overrides |
| size_t | qos_overrides_len |
| uint8_t | rmw_name [32] |
| size_t | rmw_name_len |
| uint8_t | sched_context_id |
| enum nros_node_state_t | state |
| const struct nros_support_t * | support |
Node structure.
Represents a ROS 2 node with a name and namespace.
| uint8_t nros_node_t::_reserved[3] |
Reserved for future use (alignment + ABI stability).
| uint32_t nros_node_t::domain_id_override |
Per-Node domain ID. NROS_DOMAIN_ID_INHERIT (== u32::MAX) means "use the support context's domain_id".
| const struct nros_executor_t* nros_node_t::executor |
Phase 156 / 104.C.8.b — executor pointer for the multi-Session dispatch path. nros_executor_node_init populates this when the Node is bound; per-entity nros_*_init paths (nros_publisher_init, nros_subscription_init, etc.) branch on node_id != 0 && !executor.is_null() to route through Executor::node_session_mut(NodeId) instead of the legacy support-based dispatch. NULL = legacy single-Node path (nros_node_init / nros_node_init_ex).
| uint8_t nros_node_t::name[64] |
Node name storage
| size_t nros_node_t::name_len |
Node name length
| uint8_t nros_node_t::namespace_[128] |
Namespace storage
| size_t nros_node_t::namespace_len |
Namespace length
| uint8_t nros_node_t::node_id |
Opaque NodeId slot returned by Executor::node_builder(...).build() when this Node is bound to an Executor. 0 = primary Node (legacy single-Node path). Internal use only — readers should treat as opaque.
| const struct nros_qos_override_t* nros_node_t::qos_overrides |
Pointer to a &'static-lifetime array of [nros_qos_override_t], or null. The caller (a generated entry / a hand-written app) owns the storage for the node's lifetime.
| size_t nros_node_t::qos_overrides_len |
Number of entries in qos_overrides. 0 = none.
| uint8_t nros_node_t::rmw_name[32] |
RMW backend name (UTF-8, NUL-terminated within rmw_name_len). Empty (rmw_name_len == 0) selects the first-registered backend.
| size_t nros_node_t::rmw_name_len |
Length of rmw_name in bytes (excluding NUL). 0 = inherit.
| uint8_t nros_node_t::sched_context_id |
SchedContext slot to inherit on every handle created by this Node (Phase 104.C.4). 0 = inherit the executor's default Fifo context.
| enum nros_node_state_t nros_node_t::state |
Current state
| const struct nros_support_t* nros_node_t::support |
Pointer to parent support context