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

Data Fields | |
| struct ActionServerInternal | _internal |
| rclc_accepted_callback_t | accepted_callback |
| uint8_t | action_name [256] |
| size_t | action_name_len |
| rclc_cancel_callback_t | cancel_callback |
| void * | context |
| struct rclc_action_endpoint_hashes_t | endpoint_hashes |
| rclc_goal_callback_t | goal_callback |
| struct rclc_node_ref_t | node |
| struct rclc_qos_t | qos |
| rclc_sched_context_id_t | sched_context_id |
| enum rclc_action_server_state_t | state |
| uint8_t | type_hash [128] |
| size_t | type_hash_len |
| uint8_t | type_name [256] |
| size_t | type_name_len |
An action server the executor dispatches.
phase-487 W4 (RFC-0096 D9, the C half): the executor arena owns the five channels, the goal table and every buffer; this struct holds the arena handle (_internal), the registration description and the one callback record, which the arena's trampolines read with this struct as their context. That record stays here, as the C++ action server's does (phase-456 W3b-ii refused moving it into the arena: the trampolines translate the ABI and reframe the goal payload). A server the caller drives itself is a [rclc_polling_action_server_t].
| struct ActionServerInternal rcl_action_server_t::_internal |
Internal state — set by rclc_executor_attach_action_server. Typed C-ABI handle field (was an opaque blob in earlier versions).
| rclc_accepted_callback_t rcl_action_server_t::accepted_callback |
Accepted callback
| uint8_t rcl_action_server_t::action_name[256] |
Action name storage
| size_t rcl_action_server_t::action_name_len |
Action name length
| rclc_cancel_callback_t rcl_action_server_t::cancel_callback |
Cancel callback
| void* rcl_action_server_t::context |
User context pointer
| struct rclc_action_endpoint_hashes_t rcl_action_server_t::endpoint_hashes |
Issue 1913 — the per-endpoint hashes, copied from the type support at init (static-storage pointers; NULL falls back to type_hash).
| rclc_goal_callback_t rcl_action_server_t::goal_callback |
Goal callback
| struct rclc_node_ref_t rcl_action_server_t::node |
Pointer to parent node
| struct rclc_qos_t rcl_action_server_t::qos |
Phase 193.4b — action-server QoS, applied to the three underlying service servers (send_goal / cancel_goal / get_result). The feedback + status publishers keep their own profiles. Defaults to the services profile (RELIABLE+VOLATILE+KEEP_LAST(10)); set via rclc_action_server_init_with_qos.
| rclc_sched_context_id_t rcl_action_server_t::sched_context_id |
Phase 189.M3.3.b — scheduling-context slot to bind the action server's executor handle to (the goal-service slot; governs the action's callback dispatch). 0 = inherit the executor / Node default; set via rclc_action_server_init_with_options. When non-zero, rclc_executor_attach_action_server binds the handle after registration. No effect on the L1 polling path.
| enum rclc_action_server_state_t rcl_action_server_t::state |
Current state
| uint8_t rcl_action_server_t::type_hash[128] |
Type hash storage
| size_t rcl_action_server_t::type_hash_len |
Type hash length
| uint8_t rcl_action_server_t::type_name[256] |
Type name storage
| size_t rcl_action_server_t::type_name_len |
Type name length