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

Data Fields | |
| struct ServiceClientInternal | _internal |
| uint64_t | _opaque [SERVICE_CLIENT_OPAQUE_U64S] |
| void * | context |
| const struct nros_node_t * | node |
| struct nros_qos_t | qos |
| nros_response_callback_t | response_callback |
| nros_sched_context_id_t | sched_context_id |
| uint8_t | service_name [256] |
| size_t | service_name_len |
| enum nros_client_state_t | state |
| uint8_t | type_hash [128] |
| size_t | type_hash_len |
| uint8_t | type_name [256] |
| size_t | type_name_len |
Service client structure.
| struct ServiceClientInternal nros_client_t::_internal |
Internal state (arena entry index + executor pointer + timeout). Typed C-ABI handle field.
| uint64_t nros_client_t::_opaque[SERVICE_CLIENT_OPAQUE_U64S] |
Phase 122.3.c.5 — inline opaque storage for the L1 polling-mode RawServiceClient<MESSAGE_BUFFER_SIZE, MESSAGE_BUFFER_SIZE>. Zeroed in L2 (callback + executor arena) mode; populated by nros_client_init_polling.
| void* nros_client_t::context |
User context pointer passed to response_callback.
| const struct nros_node_t* nros_client_t::node |
Pointer to parent node
| struct nros_qos_t nros_client_t::qos |
Phase 193.4b — service-client QoS (applied to both request + reply endpoints). Defaults to the services profile (RELIABLE+VOLATILE+KEEP_LAST(10)); set via nros_client_init_with_qos.
| nros_response_callback_t nros_client_t::response_callback |
User response callback, fired from nros_executor_spin_some when a response to a previously-sent async request arrives.
| nros_sched_context_id_t nros_client_t::sched_context_id |
Phase 189.M3.3.a — scheduling-context slot to bind the client's executor handle to. 0 = inherit the executor / Node default; set via nros_client_init_with_options. When non-zero, nros_executor_register_client binds the freshly-created handle to this SC after registration. No effect on the L1 polling path.
| uint8_t nros_client_t::service_name[256] |
Service name storage
| size_t nros_client_t::service_name_len |
Service name length
| enum nros_client_state_t nros_client_t::state |
Current state
| uint8_t nros_client_t::type_hash[128] |
Type hash storage
| size_t nros_client_t::type_hash_len |
Type hash length
| uint8_t nros_client_t::type_name[256] |
Type name storage
| size_t nros_client_t::type_name_len |
Type name length