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

Data Fields | |
| struct ServiceClientInternal | _internal |
| struct rclc_node_ref_t | node |
| struct rclc_qos_t | qos |
| rclc_sched_context_id_t | sched_context_id |
| uint8_t | service_name [256] |
| size_t | service_name_len |
| enum rclc_client_state_t | state |
| uint8_t | type_hash [128] |
| size_t | type_hash_len |
| uint8_t | type_name [256] |
| size_t | type_name_len |
A service client the executor dispatches (rclc's rcl_client_t).
phase-487 W2 (RFC-0096 D9, the C half): the arena entry owns the client, its reply buffer, the response callback and its context. This struct keeps the arena handle (_internal, with the rclc_client_call timeout) and the description the registration reads. Before W2 the arena entry's callback was a trampoline that read the callback out of THIS struct, a back-reference that made a late reply after rcl_client_fini a use-after-free (issue 1631); the entry now holds the user's callback directly. A client the caller drives itself is a [rclc_polling_client_t].
| struct ServiceClientInternal rcl_client_t::_internal |
Internal state (arena entry index + executor pointer + timeout). Typed C-ABI handle field.
| struct rclc_node_ref_t rcl_client_t::node |
Pointer to parent node
| struct rclc_qos_t rcl_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 rclc_client_init_with_qos.
| rclc_sched_context_id_t rcl_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 rclc_client_init_with_options. When non-zero, rclc_executor_attach_client binds the freshly-created handle to this SC after registration.
| uint8_t rcl_client_t::service_name[256] |
Service name storage
| size_t rcl_client_t::service_name_len |
Service name length
| enum rclc_client_state_t rcl_client_t::state |
Current state
| uint8_t rcl_client_t::type_hash[128] |
Type hash storage
| size_t rcl_client_t::type_hash_len |
Type hash length
| uint8_t rcl_client_t::type_name[256] |
Type name storage
| size_t rcl_client_t::type_name_len |
Type name length