|
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 |
| uint8_t | locator [128] |
| size_t | locator_len |
| uint8_t | namespace_ [128] |
| size_t | namespace_len |
| uint8_t | rmw_name [32] |
| size_t | rmw_name_len |
| uint8_t | sched_context_id |
Phase 104.C.8 — extended node-creation options.
Mirrors the Rust Executor::node_builder(name).rmw(rmw_name). locator(...).domain_id(...).namespace(...).sched(...) chain. Pass an instance to [nros_node_init_ex] to bind a Node to a specific RMW backend, locator, domain, and default SchedContext. Zero fields keep the legacy single-Node single-backend behaviour for back-compat callers.
The struct contains plain inline buffers — no pointer fields — so it is safe to stack-allocate, memcpy, and pass across the FFI.
| uint8_t nros_node_options_t::_reserved[3] |
Reserved for future use; must be zero.
| uint32_t nros_node_options_t::domain_id_override |
Per-Node domain ID. NROS_DOMAIN_ID_INHERIT = inherit support's.
| uint8_t nros_node_options_t::locator[128] |
Optional per-Node locator override (tcp/..., udp/..., …). Empty inherits the support context's locator.
| size_t nros_node_options_t::locator_len |
Length of locator.
| uint8_t nros_node_options_t::namespace_[128] |
Namespace storage (UTF-8, NUL-terminated within namespace_len).
| size_t nros_node_options_t::namespace_len |
Length of namespace in bytes (excluding NUL).
| uint8_t nros_node_options_t::rmw_name[32] |
RMW backend name (e.g. "zenoh", "cyclonedds"). Empty selects first- registered (single-backend convenience).
| size_t nros_node_options_t::rmw_name_len |
Length of rmw_name.
| uint8_t nros_node_options_t::sched_context_id |
SchedContext slot for handle inheritance. 0 = executor default.