nros C API
Lightweight ROS 2 client for embedded real-time systems
Loading...
Searching...
No Matches
rclc.h
Go to the documentation of this file.
1
12#ifndef RCLC_H
13#define RCLC_H
14
15#include "rclc/types.h"
16#include "rclc/check.h"
17#include "rclc/detail/app_main.h"
18#include "rclc/init.h"
19#include "rclc/node.h"
20#include "rclc/publisher.h"
21#include "rclc/subscription.h"
22#include "rclc/service.h"
23#include "rclc/client.h"
24#include "rclc/executor.h"
25#include "rclc/timer.h"
26#include "rclc/types.h"
27#include "rclc/types.h"
28#include "rclc/action.h"
29#include "rclc/detail/node_pkg.h"
30/* `RCLC_C_COMPONENT` — so a C component includes only <rclc/rclc.h>; the nros/
31 * headers are internal (phase-492, maintainer ruling 2026-10-13). */
32#include "rclc/component.h"
33#include "rclc/detail/cdr.h"
34/* issue 0795 — the RFC-0033 zero-copy reader (`nros_cdr_borrow_*`,
35 * `rclc_view_str_t`, the `rclc_le_slice_view_*_t` family). Reached only
36 * from generated message headers until now, so a user who included the
37 * umbrella had no zero-copy read path and the C surface read as lacking one. */
38#include "rclc/detail/view.h"
39#include "rclc/types.h"
40/* issue 0795 — `nros.hpp` has always included its C++ twin; C had no logging
41 * surface through the umbrella at all. A C author who finds no logger reaches
42 * for `printf`, and issue 0589 makes the equivalent fatal on Zephyr
43 * native_sim, so the logger has to be the thing found first. */
44#include "rclc/log.h"
45#include "rclc/rosout.h"
46#include "rclc/detail/boot_config.h"
47/* The rcl spellings of the return codes (`RMW_RET_*`). Refuses to compile
48 * beside a real `<rcl/types.h>`. */
49#include "rclc/detail/rcl_compat.h"
50
51#endif /* RCLC_H */
Action server and client API.
CDR serialization helpers.
Error-check convenience macros for the nros C API.
Service client API.
Callback executor (polling) API.
<rclc/init.h> at upstream's include path (phase-492 W2, phase-501).
Phase 88.12 — ROS 2 style leveled logging surface for the C API.
<rclc/node.h> at upstream's include path (phase-492 W2, phase-501).
Topic publisher API.
Service server API.
Topic subscription API.
Periodic timer API.
Shared types and constants for the nros C API.