nros C API
Lightweight ROS 2 client for embedded real-time systems
Loading...
Searching...
No Matches
nros_generated.h
Go to the documentation of this file.
1
13#include <stdarg.h>
14#include <stdbool.h>
15#include <stdint.h>
16#include <stddef.h>
17
18#include "nros/visibility.h"
19#include "nros/nros_config_generated.h"
20
21/* Forward declarations for callback typedefs that reference these
22 * structs before they appear in source-order output. Without these,
23 * gcc treats `struct nros_timer_t *` inside a callback parameter list
24 * as a parameter-local incomplete type that doesn't match the later
25 * file-scope struct definition. */
26#ifdef __cplusplus
27extern "C" {
28#endif
29struct nros_executor_t;
30struct nros_node_t;
31struct nros_publisher_t;
33struct nros_service_t;
34struct nros_client_t;
35struct nros_timer_t;
40struct nros_support_t;
41struct nros_clock_t;
42struct nros_parameter_t;
45struct nros_goal_uuid_t;
46#ifdef __cplusplus
47}
48#endif
49
50
51#ifndef NROS_GENERATED_H
52#define NROS_GENERATED_H
53
54/* Warning: this file is autogenerated. Don't modify this manually. */
55
59#define NROS_MAX_LOCATOR_LEN 128
60
64#define NROS_MAX_NAME_LEN 64
65
69#define NROS_MAX_NAMESPACE_LEN 128
70
78#define MAX_RMW_NAME_LEN 32
79
83#define NROS_MAX_TOPIC_LEN 256
84
88#define NROS_MAX_SERVICE_NAME_LEN 256
89
93#define NROS_MAX_ACTION_NAME_LEN 256
94
98#define NROS_MAX_TYPE_NAME_LEN 256
99
103#define NROS_MAX_TYPE_HASH_LEN 128
104
112#define NROS_MAX_CONCURRENT_GOALS 4
113
117#define NROS_MAX_PARAM_NAME_LEN 64
118
122#define NROS_MAX_PARAM_STRING_LEN 128
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
160#define NROS_DOMAIN_ID_INHERIT UINT32_MAX
161
169#define NROS_DOMAIN_ID_EXPLICIT_ZERO 255
170
192
210
228
274
296
317
335
361
397
415
441
459
473
487
501
515
537
551
577
595
609
631
657
685
703
709#if defined(__cplusplus) || __STDC_VERSION__ >= 202311L
710 : uint8_t
711#endif // defined(__cplusplus) || __STDC_VERSION__ >= 202311L
712 {
718};
719#ifndef __cplusplus
720#if __STDC_VERSION__ >= 202311L
722#else
723typedef uint8_t nros_sched_class_t;
724#endif // __STDC_VERSION__ >= 202311L
725#endif // __cplusplus
726
732#if defined(__cplusplus) || __STDC_VERSION__ >= 202311L
733 : uint8_t
734#endif // defined(__cplusplus) || __STDC_VERSION__ >= 202311L
735 {
739};
740#ifndef __cplusplus
741#if __STDC_VERSION__ >= 202311L
743#else
744typedef uint8_t nros_sched_priority_t;
745#endif // __STDC_VERSION__ >= 202311L
746#endif // __cplusplus
747
753#if defined(__cplusplus) || __STDC_VERSION__ >= 202311L
754 : uint8_t
755#endif // defined(__cplusplus) || __STDC_VERSION__ >= 202311L
756 {
760};
761#ifndef __cplusplus
762#if __STDC_VERSION__ >= 202311L
764#else
766#endif // __STDC_VERSION__ >= 202311L
767#endif // __cplusplus
768
770
788
794typedef int nros_ret_t;
795
799typedef struct nros_time_t {
803 int32_t sec;
807 uint32_t nanosec;
809
813typedef struct nros_duration_t {
817 int32_t sec;
821 uint32_t nanosec;
823
830typedef struct nros_param_array_t {
834 const void *data;
838 size_t len;
840
866
884
888typedef bool (*nros_param_callback_t)(const char *name,
889 const struct nros_parameter_t *param,
890 void *context);
891
921
928typedef struct nros_support_t {
936 uint8_t domain_id;
949 uint64_t _opaque[SESSION_OPAQUE_U64S];
951
968typedef bool (*nros_executor_trigger_t)(const bool *ready, size_t count, void *context);
969
1042
1067typedef struct nros_transport_ops_t {
1068 uint32_t abi_version;
1069 uint32_t _reserved;
1071 nros_ret_t (*open)(void *user_data, const void *params);
1072 void (*close)(void *user_data);
1073 nros_ret_t (*write)(void *user_data, const uint8_t *buf, size_t len);
1074 int32_t (*read)(void *user_data, uint8_t *buf, size_t len, uint32_t timeout_ms);
1076
1080typedef struct nros_goal_uuid_t {
1084 uint8_t uuid[16];
1086
1091typedef void (*nros_goal_response_callback_t)(const struct nros_goal_uuid_t *goal_uuid,
1092 bool accepted,
1093 void *context);
1094
1098typedef void (*nros_feedback_callback_t)(const struct nros_goal_uuid_t *goal_uuid,
1099 const uint8_t *feedback,
1100 size_t feedback_len,
1101 void *context);
1102
1106typedef void (*nros_result_callback_t)(const struct nros_goal_uuid_t *goal_uuid,
1107 enum nros_goal_status_t status,
1108 const uint8_t *result,
1109 size_t result_len,
1110 void *context);
1111
1125typedef struct nros_qos_override_t {
1130 const char *topic;
1134 uint8_t role;
1138 uint8_t policy;
1144 uint32_t value;
1146
1229
1236
1255
1328
1354
1373
1382typedef struct nros_wake_state_t {
1383 uint64_t _opaque[2];
1385
1404
1412 const struct nros_goal_handle_t *goal,
1413 const uint8_t *goal_request,
1414 size_t goal_len,
1415 void *context);
1416
1424 const struct nros_goal_handle_t *goal,
1425 void *context);
1426
1433typedef void (*nros_accepted_callback_t)(struct nros_action_server_t *server,
1434 const struct nros_goal_handle_t *goal,
1435 void *context);
1436
1494
1540
1622
1641
1650typedef void (*nros_subscription_callback_t)(const uint8_t *data, size_t len, void *context);
1651
1721
1731
1737 void *user_context);
1738
1746
1752 struct nros_count_status_t status,
1753 void *user_context);
1754
1797
1803 struct nros_count_status_t status,
1804 void *user_context);
1805
1859
1873typedef void (*nros_subscription_info_callback_t)(const uint8_t *data,
1874 size_t len,
1875 const uint8_t *attachment,
1876 size_t attachment_len,
1877 void *context);
1878
1886typedef void (*nros_timer_callback_t)(struct nros_timer_t *timer, void *context);
1887
1925
1941typedef bool (*nros_service_callback_t)(const uint8_t *request_data,
1942 size_t request_len,
1943 uint8_t *response_data,
1944 size_t response_capacity,
1945 size_t *response_len,
1946 void *context);
1947
1968
2040
2049typedef void (*nros_response_callback_t)(const uint8_t *response, size_t response_len, void *context);
2050
2072
2145
2149typedef void (*nros_guard_condition_callback_t)(void *context);
2150
2189
2231
2248 uint8_t _pad[7];
2252 uint64_t storage[NROS_LIFECYCLE_CTX_OPAQUE_U64S];
2254
2278
2299
2306typedef struct nros_service_type_t {
2310 const char *type_name;
2314 const char *type_hash;
2316
2341
2360
2396
2417
2421#define NROS_RET_OK 0
2422
2426#define NROS_RET_ERROR -1
2427
2431#define NROS_RET_TIMEOUT -2
2432
2436#define NROS_RET_INVALID_ARGUMENT -3
2437
2441#define NROS_RET_NOT_FOUND -4
2442
2446#define NROS_RET_ALREADY_EXISTS -5
2447
2451#define NROS_RET_FULL -6
2452
2456#define NROS_RET_NOT_INIT -7
2457
2461#define NROS_RET_BAD_SEQUENCE -8
2462
2466#define NROS_RET_SERVICE_FAILED -9
2467
2471#define NROS_RET_PUBLISH_FAILED -10
2472
2476#define NROS_RET_SUBSCRIPTION_FAILED -11
2477
2481#define NROS_RET_NOT_ALLOWED -12
2482
2486#define NROS_RET_REJECTED -13
2487
2492#define NROS_RET_TRY_AGAIN -14
2493
2500#define NROS_RET_REENTRANT -15
2501
2507#define NROS_RET_UNSUPPORTED -16
2508
2509#ifdef __cplusplus
2510extern "C" {
2511#endif // __cplusplus
2512
2516extern const struct nros_qos_t NROS_QOS_DEFAULT;
2517
2521extern const struct nros_qos_t NROS_QOS_SENSOR_DATA;
2522
2526extern const struct nros_qos_t NROS_QOS_SERVICES;
2527
2538extern const uint32_t NROS_TRANSPORT_OPS_ABI_VERSION_V1;
2539
2541
2543
2548
2553
2561
2567
2568extern void *nros_platform_alloc(size_t size);
2569
2570extern void nros_platform_dealloc(void *ptr);
2571
2573
2574extern void nros_platform_critical_section_release(uint32_t token);
2575
2583int32_t nros_cdr_write_bool(uint8_t **ptr,
2584 const uint8_t *end,
2585 const uint8_t *origin,
2586 bool value);
2587
2593int32_t nros_cdr_write_u8(uint8_t **ptr,
2594 const uint8_t *end,
2595 const uint8_t *origin,
2596 uint8_t value);
2597
2602int32_t nros_cdr_write_i8(uint8_t **ptr,
2603 const uint8_t *end,
2604 const uint8_t *origin,
2605 int8_t value);
2606
2612int32_t nros_cdr_write_u16(uint8_t **ptr,
2613 const uint8_t *end,
2614 const uint8_t *origin,
2615 uint16_t value);
2616
2621int32_t nros_cdr_write_i16(uint8_t **ptr,
2622 const uint8_t *end,
2623 const uint8_t *origin,
2624 int16_t value);
2625
2631int32_t nros_cdr_write_u32(uint8_t **ptr,
2632 const uint8_t *end,
2633 const uint8_t *origin,
2634 uint32_t value);
2635
2640int32_t nros_cdr_write_i32(uint8_t **ptr,
2641 const uint8_t *end,
2642 const uint8_t *origin,
2643 int32_t value);
2644
2650int32_t nros_cdr_write_u64(uint8_t **ptr,
2651 const uint8_t *end,
2652 const uint8_t *origin,
2653 uint64_t value);
2654
2659int32_t nros_cdr_write_i64(uint8_t **ptr,
2660 const uint8_t *end,
2661 const uint8_t *origin,
2662 int64_t value);
2663
2669int32_t nros_cdr_write_f32(uint8_t **ptr,
2670 const uint8_t *end,
2671 const uint8_t *origin,
2672 float value);
2673
2679int32_t nros_cdr_write_f64(uint8_t **ptr,
2680 const uint8_t *end,
2681 const uint8_t *origin,
2682 double value);
2683
2688int32_t nros_cdr_write_string(uint8_t **ptr,
2689 const uint8_t *end,
2690 const uint8_t *origin,
2691 const char *value);
2692
2697int32_t nros_cdr_write_string_n(uint8_t **ptr,
2698 const uint8_t *end,
2699 const uint8_t *origin,
2700 const char *data,
2701 size_t data_len);
2702
2711int32_t nros_cdr_read_bool(const uint8_t **ptr,
2712 const uint8_t *end,
2713 const uint8_t *origin,
2714 bool *value);
2715
2721int32_t nros_cdr_read_u8(const uint8_t **ptr,
2722 const uint8_t *end,
2723 const uint8_t *origin,
2724 uint8_t *value);
2725
2730int32_t nros_cdr_read_i8(const uint8_t **ptr,
2731 const uint8_t *end,
2732 const uint8_t *origin,
2733 int8_t *value);
2734
2739int32_t nros_cdr_read_u16(const uint8_t **ptr,
2740 const uint8_t *end,
2741 const uint8_t *origin,
2742 uint16_t *value);
2743
2748int32_t nros_cdr_read_i16(const uint8_t **ptr,
2749 const uint8_t *end,
2750 const uint8_t *origin,
2751 int16_t *value);
2752
2757int32_t nros_cdr_read_u32(const uint8_t **ptr,
2758 const uint8_t *end,
2759 const uint8_t *origin,
2760 uint32_t *value);
2761
2766int32_t nros_cdr_read_i32(const uint8_t **ptr,
2767 const uint8_t *end,
2768 const uint8_t *origin,
2769 int32_t *value);
2770
2775int32_t nros_cdr_read_u64(const uint8_t **ptr,
2776 const uint8_t *end,
2777 const uint8_t *origin,
2778 uint64_t *value);
2779
2784int32_t nros_cdr_read_i64(const uint8_t **ptr,
2785 const uint8_t *end,
2786 const uint8_t *origin,
2787 int64_t *value);
2788
2793int32_t nros_cdr_read_f32(const uint8_t **ptr,
2794 const uint8_t *end,
2795 const uint8_t *origin,
2796 float *value);
2797
2802int32_t nros_cdr_read_f64(const uint8_t **ptr,
2803 const uint8_t *end,
2804 const uint8_t *origin,
2805 double *value);
2806
2812int32_t nros_cdr_read_string(const uint8_t **ptr,
2813 const uint8_t *end,
2814 const uint8_t *origin,
2815 char *value,
2816 size_t max_len);
2817
2822
2828 enum nros_clock_type_t clock_type);
2829
2835 struct nros_time_t *time_out);
2836
2842 int64_t *nanoseconds);
2843
2848
2853
2858
2863
2868
2874 struct nros_duration_t duration);
2875
2881 struct nros_duration_t duration);
2882
2887
2892
2898 struct nros_parameter_t *storage,
2899 size_t capacity);
2900
2907 void *context);
2908
2914 const char *name,
2915 const char *default_value);
2916
2922 const char *name,
2923 char *value,
2924 size_t max_len);
2925
2931 const char *name,
2932 const char *value);
2933
2937NROS_PUBLIC bool nros_param_has(const struct nros_param_server_t *server, const char *name);
2938
2944 const char *name);
2945
2950
2955
2964
2970 const char *name,
2971 const char *value);
2972
2978 const char *name,
2979 char *out_value,
2980 size_t max_len);
2981
2987 const char *name,
2988 const char *value);
2989
2993NROS_PUBLIC bool nros_executor_has_param(struct nros_executor_t *executor, const char *name);
2994
2998extern uint64_t nros_platform_clock_us(void);
2999
3003extern void nros_platform_sleep_us(size_t us);
3004
3027
3034
3042
3047
3053 const struct nros_node_t *node,
3054 const char *action_name,
3055 const struct nros_action_type_t *type_info);
3056
3061
3074 const struct nros_node_t *node,
3075 const char *action_name,
3076 const struct nros_action_type_t *type_info,
3077 const struct nros_action_client_options_t *options);
3078
3084 nros_feedback_callback_t callback,
3085 void *context);
3086
3092 nros_result_callback_t callback,
3093 void *context);
3094
3116 struct nros_executor_t *executor,
3117 uint32_t timeout_ms);
3118
3127 struct nros_executor_t *executor);
3128
3141 struct nros_executor_t *executor,
3142 const uint8_t *goal,
3143 size_t goal_len,
3144 struct nros_goal_uuid_t *goal_uuid);
3145
3151 const struct nros_goal_uuid_t *goal_uuid);
3152
3161 struct nros_executor_t *executor,
3162 const struct nros_goal_uuid_t *goal_uuid,
3163 enum nros_goal_status_t *status,
3164 uint8_t *result,
3165 size_t result_capacity,
3166 size_t *result_len);
3167
3176
3193 const uint8_t *goal,
3194 size_t goal_len,
3195 struct nros_goal_uuid_t *goal_uuid);
3196
3210 const struct nros_goal_uuid_t *goal_uuid);
3211
3224 void *context);
3225
3237
3242
3265 const struct nros_node_t *node,
3266 const struct nros_action_type_t *type_info,
3267 const char *action_name);
3268
3276 const uint8_t *goal_cdr,
3277 size_t goal_len,
3278 uint8_t (*goal_id_out)[16]);
3279
3287 uint8_t *buf,
3288 size_t buf_len);
3289
3296 const uint8_t (*goal_id)[16]);
3297
3305 uint8_t *buf,
3306 size_t buf_len);
3307
3313 const uint8_t (*goal_id)[16]);
3314
3322 uint8_t *buf,
3323 size_t buf_len);
3324
3331 struct nros_wake_state_t *state,
3332 void (*cb)(void*),
3333 void *ctx);
3334
3340 struct nros_wake_state_t *state,
3341 void (*cb)(void*),
3342 void *ctx);
3343
3349 struct nros_wake_state_t *state,
3350 void (*cb)(void*),
3351 void *ctx);
3352
3358 struct nros_wake_state_t *state,
3359 void (*cb)(void*),
3360 void *ctx);
3361
3369 uint8_t *buf,
3370 size_t buf_len,
3371 uint8_t (*goal_id_out)[16]);
3372
3377
3383 const struct nros_goal_uuid_t *b);
3384
3389
3399
3408 const struct nros_node_t *node,
3409 const char *action_name,
3410 const struct nros_action_type_t *type_info,
3414 void *context);
3415
3428 const struct nros_node_t *node,
3429 const char *action_name,
3430 const struct nros_action_type_t *type_info,
3434 void *context,
3435 const struct nros_qos_t *qos);
3436
3441
3454 const struct nros_node_t *node,
3455 const char *action_name,
3456 const struct nros_action_type_t *type_info,
3457 nros_goal_callback_t goal_callback,
3458 nros_cancel_callback_t cancel_callback,
3459 nros_accepted_callback_t accepted_callback,
3460 void *context,
3461 const struct nros_qos_t *qos,
3462 const struct nros_action_server_options_t *options);
3463
3473 const struct nros_goal_handle_t *goal,
3474 const uint8_t *feedback,
3475 size_t feedback_len);
3476
3485 const struct nros_goal_handle_t *goal,
3486 const uint8_t *result,
3487 size_t result_len);
3488
3496 const struct nros_goal_handle_t *goal,
3497 const uint8_t *result,
3498 size_t result_len);
3499
3507 const struct nros_goal_handle_t *goal,
3508 const uint8_t *result,
3509 size_t result_len);
3510
3521 const struct nros_goal_handle_t *goal);
3522
3531
3546 const struct nros_goal_handle_t *goal,
3547 enum nros_goal_status_t *status);
3548
3553
3576 const struct nros_node_t *node,
3577 const struct nros_action_type_t *type_info,
3578 const char *action_name);
3579
3594 uint8_t *buf,
3595 size_t buf_len,
3596 uint8_t (*goal_id_out)[16],
3597 int64_t *sequence_number_out);
3598
3605 const uint8_t (*goal_id)[16],
3606 int64_t sequence_number);
3607
3614 int64_t sequence_number);
3615
3624 const uint8_t (*goal_id)[16],
3625 const uint8_t *feedback_cdr,
3626 size_t feedback_len);
3627
3637 const uint8_t (*goal_id)[16],
3638 enum nros_goal_status_t status,
3639 const uint8_t *result_cdr,
3640 size_t result_len);
3641
3657 uint8_t (*goal_id_out)[16],
3658 int64_t *sequence_number_out,
3659 enum nros_goal_status_t *current_status_out);
3660
3672 int64_t sequence_number,
3673 enum nros_cancel_return_code_t return_code,
3674 const uint8_t (*accepted)[16],
3675 size_t accepted_count);
3676
3689 const uint8_t *default_result_cdr,
3690 size_t default_result_len);
3691
3700 struct nros_wake_state_t *state,
3701 void (*cb)(void*),
3702 void *ctx);
3703
3712 struct nros_wake_state_t *state,
3713 void (*cb)(void*),
3714 void *ctx);
3715
3722 struct nros_wake_state_t *state,
3723 void (*cb)(void*),
3724 void *ctx);
3725
3730
3747 void *_user_context);
3748
3762 uint32_t _deadline_ms,
3764 void *_user_context);
3765
3776 void *_user_context);
3777
3789 void *_user_context);
3790
3802 uint32_t _deadline_ms,
3804 void *_user_context);
3805
3810
3829 const struct nros_support_t *support,
3830 size_t max_handles);
3831
3840 uint64_t timeout_ns);
3841
3861NROS_PUBLIC nros_ret_t nros_executor_ping(struct nros_executor_t *executor, int32_t timeout_ms);
3862
3872
3914 struct nros_node_t *node,
3915 const char *name,
3916 const struct nros_node_options_t *options);
3917
3927 void *context);
3928
3935NROS_PUBLIC bool nros_executor_trigger_any(const bool *ready, size_t count, void *context);
3936
3943NROS_PUBLIC bool nros_executor_trigger_all(const bool *ready, size_t count, void *context);
3944
3951NROS_PUBLIC bool nros_executor_trigger_always(const bool *ready, size_t count, void *context);
3952
3971NROS_PUBLIC bool nros_executor_trigger_one(const bool *ready, size_t count, void *context);
3972
3985 struct nros_subscription_t *subscription,
3986 enum nros_executor_invocation_t invocation);
3987
4008 const struct nros_node_t *node,
4009 const char *topic_name,
4010 const char *type_name,
4011 const char *type_hash,
4012 const struct nros_qos_t *qos,
4014 void *context);
4015
4027 struct nros_timer_t *timer);
4028
4042 struct nros_subscription_t *subscription,
4043 enum nros_executor_invocation_t invocation,
4044 const char *callback_group);
4045
4059 struct nros_timer_t *timer,
4060 const char *callback_group);
4061
4073 struct nros_service_t *service);
4074
4093 struct nros_client_t *client);
4094
4103 struct nros_guard_condition_t *guard);
4104
4116 struct nros_action_server_t *server);
4117
4135 struct nros_action_client_t *client);
4136
4147 uint64_t timeout_ns);
4148
4156
4165 uint64_t period_ns);
4166
4175 uint64_t period_ns);
4176
4184
4192
4197
4202
4207
4214
4224 uint32_t major_frame_us);
4225
4238 const struct nros_sched_context_t *cfg,
4239 nros_sched_context_id_t *out_sc_id);
4240
4260 size_t handle,
4262
4267
4273 const struct nros_support_t *support);
4274
4281 void *context);
4282
4291
4296
4301
4306
4311
4316
4322 const struct nros_node_t *node);
4323
4328
4334 uint8_t transition_id);
4335
4340
4347 void *context);
4348
4355 void *context);
4356
4363 void *context);
4364
4371 void *context);
4372
4379 void *context);
4380
4387 void *context);
4388
4395 const struct nros_node_t *node);
4396
4406
4419
4430 uint8_t transition_id);
4431
4438 void *context);
4439
4446 void *context);
4447
4454 void *context);
4455
4462 void *context);
4463
4470 void *context);
4471
4478 void *context);
4479
4500 const struct nros_qos_override_t *overrides,
4501 size_t len);
4502
4511
4519
4547 const struct nros_support_t *support,
4548 const char *name,
4549 const char *namespace_);
4550
4592 const struct nros_support_t *support,
4593 const char *name,
4594 const struct nros_node_options_t *options);
4595
4611
4624NROS_PUBLIC const char *nros_node_get_name(const struct nros_node_t *node);
4625
4638NROS_PUBLIC const char *nros_node_get_namespace(const struct nros_node_t *node);
4639
4658NROS_PUBLIC const void *nros_node_get_logger(const struct nros_node_t *node);
4659
4668
4673
4698 const struct nros_node_t *node,
4699 const struct nros_message_type_t *type_info,
4700 const char *topic_name);
4701
4724 const struct nros_node_t *node,
4725 const struct nros_message_type_t *type_info,
4726 const char *topic_name,
4727 const struct nros_qos_t *qos);
4728
4761 const struct nros_node_t *node,
4762 const struct nros_message_type_t *type_info,
4763 const char *topic_name,
4764 const struct nros_qos_t *qos,
4765 const struct nros_publisher_options_t *options);
4766
4787 const uint8_t *data,
4788 size_t len);
4789
4823 void (*size_cb)(size_t *out_total_len, void *user_ctx),
4824 void (*chunk_cb)(uint8_t *out_buf,
4825 size_t cap,
4826 size_t *out_written,
4827 void *user_ctx),
4828 void *user_ctx);
4829
4852
4882 size_t requested_len,
4883 uint8_t **out_buf,
4884 size_t *out_cap,
4885 void **out_token);
4886
4900 void *token,
4901 size_t actual_len);
4902
4915 void *token);
4916
4932
4943
4954
4959
4979 const struct nros_node_t *node,
4980 const struct nros_service_type_t *type_info,
4981 const char *service_name,
4983 void *context);
4984
4996 const struct nros_node_t *node,
4997 const struct nros_service_type_t *type_info,
4998 const char *service_name,
5000 void *context,
5001 const struct nros_qos_t *qos);
5002
5007
5022 const struct nros_node_t *node,
5023 const struct nros_service_type_t *type_info,
5024 const char *service_name,
5025 nros_service_callback_t callback,
5026 void *context,
5027 const struct nros_qos_t *qos,
5028 const struct nros_service_options_t *options);
5029
5042
5069 const struct nros_node_t *node,
5070 const struct nros_service_type_t *type_info,
5071 const char *service_name);
5072
5077
5093 struct nros_wake_state_t *state,
5094 void (*cb)(void*),
5095 void *ctx);
5096
5104 struct nros_wake_state_t *state,
5105 void (*cb)(void*),
5106 void *ctx);
5107
5124 uint8_t *buf,
5125 size_t buf_len,
5126 int64_t *sequence_number);
5127
5141 int64_t sequence_number,
5142 const uint8_t *data,
5143 size_t len);
5144
5156 uint8_t *_request_data,
5157 size_t _request_capacity,
5158 size_t *_request_len,
5159 int64_t *_sequence_number);
5160
5173 int64_t _sequence_number,
5174 const uint8_t *_response_data,
5175 size_t _response_len);
5176
5187
5198
5203
5225 const struct nros_node_t *node,
5226 const struct nros_service_type_t *type_info,
5227 const char *service_name);
5228
5240 const struct nros_node_t *node,
5241 const struct nros_service_type_t *type_info,
5242 const char *service_name,
5243 const struct nros_qos_t *qos);
5244
5249
5262 const struct nros_node_t *node,
5263 const struct nros_service_type_t *type_info,
5264 const char *service_name,
5265 const struct nros_qos_t *qos,
5266 const struct nros_client_options_t *options);
5267
5284
5311 const struct nros_node_t *node,
5312 const struct nros_service_type_t *type_info,
5313 const char *service_name);
5314
5326 const uint8_t *data,
5327 size_t len);
5328
5344 uint8_t *buf,
5345 size_t buf_len);
5346
5353 nros_response_callback_t callback,
5354 void *context);
5355
5360
5381
5405 uint32_t timeout_ms);
5406
5416
5432 const uint8_t *request_data,
5433 size_t request_len);
5434
5446 uint8_t *response_data,
5447 size_t response_capacity,
5448 size_t *response_len);
5449
5476 const uint8_t *request_data,
5477 size_t request_len,
5478 uint8_t *response_data,
5479 size_t response_capacity,
5480 size_t *response_len);
5481
5492
5503
5508
5518
5546 const struct nros_node_t *node,
5547 const struct nros_message_type_t *type_info,
5548 const char *topic_name,
5550 void *context);
5551
5560 const struct nros_node_t *node,
5561 const struct nros_message_type_t *type_info,
5562 const char *topic_name,
5564 void *context,
5565 const struct nros_qos_t *qos);
5566
5603 const struct nros_node_t *node,
5604 const struct nros_message_type_t *type_info,
5605 const char *topic_name,
5607 void *context,
5608 const struct nros_qos_t *qos,
5609 const struct nros_subscription_options_t *options);
5610
5639 const struct nros_node_t *node,
5640 const struct nros_message_type_t *type_info,
5641 const char *topic_name);
5642
5654 const struct nros_node_t *node,
5655 const struct nros_message_type_t *type_info,
5656 const char *topic_name,
5657 const struct nros_qos_t *qos);
5658
5673 struct nros_wake_state_t *state,
5674 void (*cb)(void*),
5675 void *ctx);
5676
5699 uint8_t *buf,
5700 size_t buf_len);
5701
5726 uint8_t *buf,
5727 size_t buf_len,
5728 struct nros_integrity_status_t *out_status);
5729
5754 const uint8_t **out_buf,
5755 size_t *out_len,
5756 void **out_token);
5757
5771 void *token);
5772
5795 uint8_t *buf,
5796 size_t per_msg_cap,
5797 size_t max_msgs,
5798 size_t *out_lens);
5799
5805
5816const char *nros_subscription_get_topic_name(const struct nros_subscription_t *subscription);
5817
5828
5836
5859 const char *locator,
5860 uint8_t domain_id);
5861
5882 const char *locator,
5883 uint8_t domain_id,
5884 const char *session_name);
5885
5903
5914
5919
5941 const struct nros_support_t *support,
5942 uint64_t period_ns,
5944 void *context);
5945
5961
5978
5991
6002
6012NROS_PUBLIC uint64_t nros_timer_get_period(const struct nros_timer_t *timer);
6013
6026 uint64_t current_time_ns);
6027
6028#ifdef __cplusplus
6029} // extern "C"
6030#endif // __cplusplus
6031
6032#endif /* NROS_GENERATED_H */
nros_ret_t nros_executor_register_subscription_in_group(struct nros_executor_t *executor, struct nros_subscription_t *subscription, enum nros_executor_invocation_t invocation, const char *callback_group)
nros_ret_t nros_set_custom_transport(const struct nros_transport_ops_t *ops)
nros_ret_t nros_executor_init(struct nros_executor_t *executor, const struct nros_support_t *support, size_t max_handles)
nros_ret_t nros_action_server_accept_goal_raw(struct nros_action_server_t *server, const uint8_t(*goal_id)[16], int64_t sequence_number)
nros_ret_t nros_action_server_set_get_result_wake_callback(struct nros_action_server_t *server, struct nros_wake_state_t *state, void(*cb)(void *), void *ctx)
bool(* nros_service_callback_t)(const uint8_t *request_data, size_t request_len, uint8_t *response_data, size_t response_capacity, size_t *response_len, void *context)
Definition nros_generated.h:1941
nros_ret_t nros_executor_fini(struct nros_executor_t *executor)
int32_t nros_action_client_try_recv_goal_response_raw(struct nros_action_client_t *client, uint8_t *buf, size_t buf_len)
int32_t nros_cdr_write_u32(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, uint32_t value)
void(* nros_guard_condition_callback_t)(void *context)
Definition nros_generated.h:2149
int nros_executor_get_handle_count(const struct nros_executor_t *executor)
void(* nros_subscription_info_callback_t)(const uint8_t *data, size_t len, const uint8_t *attachment, size_t attachment_len, void *context)
Definition nros_generated.h:1873
void(* nros_accepted_callback_t)(struct nros_action_server_t *server, const struct nros_goal_handle_t *goal, void *context)
Definition nros_generated.h:1433
nros_ret_t nros_node_set_qos_overrides(struct nros_node_t *node, const struct nros_qos_override_t *overrides, size_t len)
int32_t nros_action_server_try_recv_cancel_request_raw(struct nros_action_server_t *server, uint8_t(*goal_id_out)[16], int64_t *sequence_number_out, enum nros_goal_status_t *current_status_out)
nros_ret_t nros_action_server_publish_feedback_raw(struct nros_action_server_t *server, const uint8_t(*goal_id)[16], const uint8_t *feedback_cdr, size_t feedback_len)
nros_ret_t nros_publisher_fini(struct nros_publisher_t *publisher)
struct nros_service_options_t nros_service_get_default_options(void)
#define MAX_RMW_NAME_LEN
Definition nros_generated.h:78
#define NROS_MAX_TYPE_NAME_LEN
Definition nros_generated.h:98
int32_t nros_cdr_write_u64(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, uint64_t value)
nros_ret_t nros_executor_register_parameter_services(struct nros_executor_t *executor)
#define NROS_MAX_PARAM_NAME_LEN
Definition nros_generated.h:117
int32_t nros_cdr_read_f64(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, double *value)
nros_ret_t nros_executor_ping(struct nros_executor_t *executor, int32_t timeout_ms)
struct Option_LifecycleCallbackFnCtx Option_LifecycleCallbackFnCtx
Definition nros_generated.h:769
nros_ret_t nros_action_client_set_feedback_wake_callback(struct nros_action_client_t *client, struct nros_wake_state_t *state, void(*cb)(void *), void *ctx)
nros_ret_t nros_subscription_init_with_options(struct nros_subscription_t *subscription, const struct nros_node_t *node, const struct nros_message_type_t *type_info, const char *topic_name, nros_subscription_callback_t callback, void *context, const struct nros_qos_t *qos, const struct nros_subscription_options_t *options)
nros_ret_t nros_node_init(struct nros_node_t *node, const struct nros_support_t *support, const char *name, const char *namespace_)
int32_t nros_cdr_read_string(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, char *value, size_t max_len)
int32_t nros_cdr_read_u16(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, uint16_t *value)
nros_ret_t nros_client_init_polling(struct nros_client_t *client, const struct nros_node_t *node, const struct nros_service_type_t *type_info, const char *service_name)
nros_ret_t nros_client_wait_for_service(struct nros_client_t *client, uint32_t timeout_ms)
nros_clock_state_t
Definition nros_generated.h:196
@ NROS_CLOCK_STATE_SHUTDOWN
Definition nros_generated.h:208
@ NROS_CLOCK_STATE_UNINITIALIZED
Definition nros_generated.h:200
@ NROS_CLOCK_STATE_READY
Definition nros_generated.h:204
nros_ret_t nros_clock_fini(struct nros_clock_t *clock)
const char * nros_service_get_service_name(const struct nros_service_t *service)
nros_ret_t nros_publisher_init(struct nros_publisher_t *publisher, const struct nros_node_t *node, const struct nros_message_type_t *type_info, const char *topic_name)
int32_t nros_action_server_try_handle_get_result_raw(struct nros_action_server_t *server, const uint8_t *default_result_cdr, size_t default_result_len)
nros_ret_t nros_guard_condition_trigger(struct nros_guard_condition_t *guard)
nros_ret_t nros_lifecycle_register_on_cleanup(struct nros_lifecycle_state_machine_t *sm, struct Option_LifecycleCallbackFnCtx cb, void *context)
nros_ret_t nros_executor_register_service(struct nros_executor_t *executor, struct nros_service_t *service)
bool nros_clock_is_valid(const struct nros_clock_t *clock)
bool nros_timer_is_valid(const struct nros_timer_t *timer)
#define NROS_MAX_LOCATOR_LEN
Definition nros_generated.h:59
nros_ret_t nros_support_fini(struct nros_support_t *support)
enum nros_goal_response_t(* nros_goal_callback_t)(struct nros_action_server_t *server, const struct nros_goal_handle_t *goal, const uint8_t *goal_request, size_t goal_len, void *context)
Definition nros_generated.h:1411
bool nros_executor_trigger_all(const bool *ready, size_t count, void *context)
void nros_platform_critical_section_release(uint32_t token)
nros_sched_class_t
Definition nros_generated.h:712
@ NROS_SCHED_CLASS_SPORADIC
Definition nros_generated.h:715
@ NROS_SCHED_CLASS_FIFO
Definition nros_generated.h:713
@ NROS_SCHED_CLASS_BEST_EFFORT
Definition nros_generated.h:716
@ NROS_SCHED_CLASS_EDF
Definition nros_generated.h:714
@ NROS_SCHED_CLASS_TIME_TRIGGERED
Definition nros_generated.h:717
void(* nros_subscription_callback_t)(const uint8_t *data, size_t len, void *context)
Definition nros_generated.h:1650
int32_t nros_cdr_read_i16(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, int16_t *value)
nros_guard_condition_state_t
Definition nros_generated.h:689
@ NROS_GUARD_CONDITION_STATE_SHUTDOWN
Definition nros_generated.h:701
@ NROS_GUARD_CONDITION_STATE_INITIALIZED
Definition nros_generated.h:697
@ NROS_GUARD_CONDITION_STATE_UNINITIALIZED
Definition nros_generated.h:693
struct nros_action_client_options_t nros_action_client_get_default_options(void)
uint64_t nros_timer_get_time_until_next_call(const struct nros_timer_t *timer, uint64_t current_time_ns)
nros_action_server_state_t
Definition nros_generated.h:419
@ NROS_ACTION_SERVER_STATE_INITIALIZED
Definition nros_generated.h:429
@ NROS_ACTION_SERVER_STATE_SHUTDOWN
Definition nros_generated.h:433
@ NROS_ACTION_SERVER_STATE_POLLING
Definition nros_generated.h:439
@ NROS_ACTION_SERVER_STATE_UNINITIALIZED
Definition nros_generated.h:423
nros_ret_t nros_guard_condition_clear(struct nros_guard_condition_t *guard)
const struct nros_qos_t NROS_QOS_SERVICES
int32_t nros_subscription_try_recv_sequence(struct nros_subscription_t *subscription, uint8_t *buf, size_t per_msg_cap, size_t max_msgs, size_t *out_lens)
int32_t nros_subscription_borrow(struct nros_subscription_t *subscription, const uint8_t **out_buf, size_t *out_len, void **out_token)
struct nros_node_t nros_node_get_zero_initialized(void)
nros_ret_t nros_subscription_init(struct nros_subscription_t *subscription, const struct nros_node_t *node, const struct nros_message_type_t *type_info, const char *topic_name, nros_subscription_callback_t callback, void *context)
nros_ret_t nros_publisher_set_liveliness_lost_callback(struct nros_publisher_t *_pub_, nros_event_publisher_count_cb_t _cb, void *_user_context)
int32_t nros_service_try_recv_request_raw(struct nros_service_t *service, uint8_t *buf, size_t buf_len, int64_t *sequence_number)
int32_t nros_cdr_write_bool(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, bool value)
nros_ret_t nros_service_send_reply_raw(struct nros_service_t *service, int64_t sequence_number, const uint8_t *data, size_t len)
uint8_t nros_lifecycle_get_state(const struct nros_lifecycle_state_machine_t *sm)
bool nros_publisher_is_valid(const struct nros_publisher_t *publisher)
nros_ret_t nros_action_client_set_result_callback(struct nros_action_client_t *client, nros_result_callback_t callback, void *context)
struct nros_client_options_t nros_client_get_default_options(void)
struct nros_subscription_options_t nros_subscription_get_default_options(void)
int32_t nros_cdr_read_i8(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, int8_t *value)
bool nros_executor_trigger_any(const bool *ready, size_t count, void *context)
nros_ret_t nros_support_init_named(struct nros_support_t *support, const char *locator, uint8_t domain_id, const char *session_name)
nros_ret_t nros_service_init(struct nros_service_t *service, const struct nros_node_t *node, const struct nros_service_type_t *type_info, const char *service_name, nros_service_callback_t callback, void *context)
nros_ret_t nros_action_client_set_feedback_callback(struct nros_action_client_t *client, nros_feedback_callback_t callback, void *context)
nros_ret_t nros_executor_register_timer(struct nros_executor_t *executor, struct nros_timer_t *timer)
nros_ret_t nros_lifecycle_register_on_configure(struct nros_lifecycle_state_machine_t *sm, struct Option_LifecycleCallbackFnCtx cb, void *context)
uint8_t nros_sched_context_id_t
Definition nros_generated.h:1235
int32_t nros_cdr_read_i64(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, int64_t *value)
int32_t nros_cdr_read_i32(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, int32_t *value)
nros_ret_t nros_action_canceled(struct nros_action_server_t *server, const struct nros_goal_handle_t *goal, const uint8_t *result, size_t result_len)
struct nros_support_t nros_support_get_zero_initialized(void)
nros_ret_t nros_guard_condition_set_callback(struct nros_guard_condition_t *guard, nros_guard_condition_callback_t callback, void *context)
void(* nros_feedback_callback_t)(const struct nros_goal_uuid_t *goal_uuid, const uint8_t *feedback, size_t feedback_len, void *context)
Definition nros_generated.h:1098
size_t nros_heap_platform_used_bytes(void)
uint64_t nros_timer_get_period(const struct nros_timer_t *timer)
nros_ret_t nros_client_init_with_qos(struct nros_client_t *client, const struct nros_node_t *node, const struct nros_service_type_t *type_info, const char *service_name, const struct nros_qos_t *qos)
nros_ret_t nros_client_fini(struct nros_client_t *client)
struct nros_timer_t nros_timer_get_zero_initialized(void)
#define NROS_MAX_TOPIC_LEN
Definition nros_generated.h:83
nros_ret_t nros_action_client_init_with_options(struct nros_action_client_t *client, const struct nros_node_t *node, const char *action_name, const struct nros_action_type_t *type_info, const struct nros_action_client_options_t *options)
size_t nros_param_server_get_count(const struct nros_param_server_t *server)
nros_ret_t nros_executor_register_action_client(struct nros_executor_t *executor, struct nros_action_client_t *client)
nros_ret_t nros_action_client_set_goal_response_callback(struct nros_action_client_t *client, nros_goal_response_callback_t callback, void *context)
bool nros_action_client_action_server_is_ready(const struct nros_action_client_t *client, struct nros_executor_t *executor)
nros_ret_t nros_node_fini(struct nros_node_t *node)
nros_executor_state_t
Definition nros_generated.h:278
@ NROS_EXECUTOR_STATE_SHUTDOWN
Definition nros_generated.h:294
@ NROS_EXECUTOR_STATE_UNINITIALIZED
Definition nros_generated.h:282
@ NROS_EXECUTOR_STATE_SPINNING
Definition nros_generated.h:290
@ NROS_EXECUTOR_STATE_INITIALIZED
Definition nros_generated.h:286
nros_ret_t nros_clock_get_now(const struct nros_clock_t *clock, struct nros_time_t *time_out)
nros_ret_t nros_param_declare_string(struct nros_param_server_t *server, const char *name, const char *default_value)
nros_ret_t nros_action_server_init_polling(struct nros_action_server_t *server, const struct nros_node_t *node, const struct nros_action_type_t *type_info, const char *action_name)
nros_ret_t nros_timer_cancel(struct nros_timer_t *timer)
nros_ret_t nros_executor_register_time_triggered_dispatcher(struct nros_executor_t *executor, uint32_t major_frame_us)
struct nros_subscription_t nros_subscription_get_zero_initialized(void)
nros_ret_t nros_executor_set_timeout(struct nros_executor_t *executor, uint64_t timeout_ns)
bool nros_subscription_is_valid(const struct nros_subscription_t *subscription)
nros_ret_t nros_action_send_goal_async(struct nros_action_client_t *client, const uint8_t *goal, size_t goal_len, struct nros_goal_uuid_t *goal_uuid)
nros_qos_liveliness_t
Definition nros_generated.h:519
@ NROS_QOS_LIVELINESS_NONE
Definition nros_generated.h:523
@ NROS_QOS_LIVELINESS_MANUAL_BY_TOPIC
Definition nros_generated.h:531
@ NROS_QOS_LIVELINESS_MANUAL_BY_NODE
Definition nros_generated.h:535
@ NROS_QOS_LIVELINESS_AUTOMATIC
Definition nros_generated.h:527
nros_ret_t nros_lifecycle_register_on_shutdown(struct nros_lifecycle_state_machine_t *sm, struct Option_LifecycleCallbackFnCtx cb, void *context)
int32_t nros_action_client_try_recv_result_raw(struct nros_action_client_t *client, uint8_t *buf, size_t buf_len)
int32_t nros_action_server_try_recv_goal_request_raw(struct nros_action_server_t *server, uint8_t *buf, size_t buf_len, uint8_t(*goal_id_out)[16], int64_t *sequence_number_out)
nros_ret_t nros_executor_stop(struct nros_executor_t *executor)
struct nros_time_t nros_time_add(struct nros_time_t time, struct nros_duration_t duration)
nros_ret_t nros_action_client_set_result_wake_callback(struct nros_action_client_t *client, struct nros_wake_state_t *state, void(*cb)(void *), void *ctx)
nros_ret_t nros_subscription_set_wake_callback(struct nros_subscription_t *subscription, struct nros_wake_state_t *state, void(*cb)(void *), void *ctx)
nros_ret_t nros_client_init_with_options(struct nros_client_t *client, const struct nros_node_t *node, const struct nros_service_type_t *type_info, const char *service_name, const struct nros_qos_t *qos, const struct nros_client_options_t *options)
bool nros_executor_trigger_always(const bool *ready, size_t count, void *context)
nros_ret_t nros_executor_lifecycle_register_on_deactivate(struct nros_executor_t *executor, struct Option_LifecycleCallbackFnCtx cb, void *context)
int32_t nros_cdr_write_f32(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, float value)
size_t nros_platform_heap_used_bytes(void)
nros_ret_t nros_executor_register_action_server(struct nros_executor_t *executor, struct nros_action_server_t *server)
nros_ret_t nros_guard_condition_fini(struct nros_guard_condition_t *guard)
nros_ret_t nros_client_set_response_callback(struct nros_client_t *client, nros_response_callback_t callback, void *context)
bool nros_executor_has_param(struct nros_executor_t *executor, const char *name)
nros_ret_t nros_publisher_publish_streamed(const struct nros_publisher_t *publisher, void(*size_cb)(size_t *out_total_len, void *user_ctx), void(*chunk_cb)(uint8_t *out_buf, size_t cap, size_t *out_written, void *user_ctx), void *user_ctx)
nros_ret_t nros_client_server_available(struct nros_client_t *client, int32_t *out)
nros_ret_t nros_lifecycle_change_state(struct nros_lifecycle_state_machine_t *sm, uint8_t transition_id)
nros_ret_t nros_subscription_init_polling_with_qos(struct nros_subscription_t *subscription, const struct nros_node_t *node, const struct nros_message_type_t *type_info, const char *topic_name, const struct nros_qos_t *qos)
nros_ret_t nros_subscription_set_requested_deadline_missed_callback(struct nros_subscription_t *_sub, uint32_t _deadline_ms, nros_event_subscriber_count_cb_t _cb, void *_user_context)
nros_ret_t nros_subscription_set_liveliness_changed_callback(struct nros_subscription_t *_sub, nros_event_liveliness_changed_cb_t _cb, void *_user_context)
nros_ret_t nros_executor_set_trigger(struct nros_executor_t *executor, nros_executor_trigger_t trigger, void *context)
int32_t nros_client_try_recv_reply_raw(struct nros_client_t *client, uint8_t *buf, size_t buf_len)
nros_ret_t nros_subscription_release(struct nros_subscription_t *subscription, void *token)
nros_ret_t nros_action_try_recv_feedback(struct nros_action_client_t *client)
nros_ret_t nros_executor_spin_one_period(struct nros_executor_t *executor, uint64_t period_ns)
nros_ret_t nros_action_server_set_goal_wake_callback(struct nros_action_server_t *server, struct nros_wake_state_t *state, void(*cb)(void *), void *ctx)
nros_ret_t nros_publish_raw(const struct nros_publisher_t *publisher, const uint8_t *data, size_t len)
nros_qos_history_t
Definition nros_generated.h:505
@ NROS_QOS_HISTORY_KEEP_LAST
Definition nros_generated.h:509
@ NROS_QOS_HISTORY_KEEP_ALL
Definition nros_generated.h:513
nros_param_server_state_t
Definition nros_generated.h:214
@ NROS_PARAM_SERVER_STATE_SHUTDOWN
Definition nros_generated.h:226
@ NROS_PARAM_SERVER_STATE_READY
Definition nros_generated.h:222
@ NROS_PARAM_SERVER_STATE_UNINITIALIZED
Definition nros_generated.h:218
nros_ret_t nros_executor_create_sched_context(struct nros_executor_t *executor, const struct nros_sched_context_t *cfg, nros_sched_context_id_t *out_sc_id)
nros_ret_t nros_param_server_set_callback(struct nros_param_server_t *server, nros_param_callback_t callback, void *context)
void nros_platform_dealloc(void *ptr)
nros_action_client_state_t
Definition nros_generated.h:339
@ NROS_ACTION_CLIENT_STATE_UNINITIALIZED
Definition nros_generated.h:343
@ NROS_ACTION_CLIENT_STATE_POLLING
Definition nros_generated.h:359
@ NROS_ACTION_CLIENT_STATE_INITIALIZED
Definition nros_generated.h:349
@ NROS_ACTION_CLIENT_STATE_SHUTDOWN
Definition nros_generated.h:353
int32_t nros_action_server_active_goal_count_raw(struct nros_action_server_t *server)
struct nros_publisher_options_t nros_publisher_get_default_options(void)
void(* nros_goal_response_callback_t)(const struct nros_goal_uuid_t *goal_uuid, bool accepted, void *context)
Definition nros_generated.h:1091
nros_ret_t nros_publisher_commit(const struct nros_publisher_t *publisher, void *token, size_t actual_len)
nros_ret_t nros_action_server_init(struct nros_action_server_t *server, const struct nros_node_t *node, const char *action_name, const struct nros_action_type_t *type_info, nros_goal_callback_t goal_callback, nros_cancel_callback_t cancel_callback, nros_accepted_callback_t accepted_callback, void *context)
bool nros_client_is_valid(const struct nros_client_t *client)
nros_publisher_state_t
Definition nros_generated.h:581
@ NROS_PUBLISHER_STATE_INITIALIZED
Definition nros_generated.h:589
@ NROS_PUBLISHER_STATE_SHUTDOWN
Definition nros_generated.h:593
@ NROS_PUBLISHER_STATE_UNINITIALIZED
Definition nros_generated.h:585
nros_ret_t nros_executor_declare_param_string(struct nros_executor_t *executor, const char *name, const char *value)
nros_ret_t nros_service_init_with_qos(struct nros_service_t *service, const struct nros_node_t *node, const struct nros_service_type_t *type_info, const char *service_name, nros_service_callback_t callback, void *context, const struct nros_qos_t *qos)
nros_ret_t nros_guard_condition_init(struct nros_guard_condition_t *guard, const struct nros_support_t *support)
int32_t nros_cdr_read_f32(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, float *value)
const struct nros_qos_t NROS_QOS_DEFAULT
nros_ret_t nros_support_init(struct nros_support_t *support, const char *locator, uint8_t domain_id)
nros_ret_t nros_action_server_complete_goal_raw(struct nros_action_server_t *server, const uint8_t(*goal_id)[16], enum nros_goal_status_t status, const uint8_t *result_cdr, size_t result_len)
const struct nros_qos_t NROS_QOS_SENSOR_DATA
bool nros_service_is_valid(const struct nros_service_t *service)
uint64_t nros_platform_clock_us(void)
nros_ret_t nros_executor_register_lifecycle_services(struct nros_executor_t *executor)
const char * nros_publisher_get_topic_name(const struct nros_publisher_t *publisher)
struct nros_publisher_t nros_publisher_get_zero_initialized(void)
nros_ret_t nros_action_execute(struct nros_action_server_t *server, const struct nros_goal_handle_t *goal)
int64_t nros_time_to_nanoseconds(const struct nros_time_t *time)
nros_client_state_t
Definition nros_generated.h:661
@ NROS_CLIENT_STATE_INITIALIZED
Definition nros_generated.h:669
@ NROS_CLIENT_STATE_UNINITIALIZED
Definition nros_generated.h:665
@ NROS_CLIENT_STATE_REGISTERED
Definition nros_generated.h:673
@ NROS_CLIENT_STATE_POLLING
Definition nros_generated.h:683
@ NROS_CLIENT_STATE_SHUTDOWN
Definition nros_generated.h:677
nros_service_state_t
Definition nros_generated.h:635
@ NROS_SERVICE_STATE_SHUTDOWN
Definition nros_generated.h:648
@ NROS_SERVICE_STATE_INITIALIZED
Definition nros_generated.h:644
@ NROS_SERVICE_STATE_POLLING
Definition nros_generated.h:655
@ NROS_SERVICE_STATE_UNINITIALIZED
Definition nros_generated.h:639
nros_ret_t nros_action_get_result(struct nros_action_client_t *client, struct nros_executor_t *executor, const struct nros_goal_uuid_t *goal_uuid, enum nros_goal_status_t *status, uint8_t *result, size_t result_capacity, size_t *result_len)
struct nros_guard_condition_t nros_guard_condition_get_zero_initialized(void)
bool(* nros_executor_trigger_t)(const bool *ready, size_t count, void *context)
Definition nros_generated.h:968
int nros_ret_t
Definition nros_generated.h:794
nros_ret_t nros_executor_register_timer_in_group(struct nros_executor_t *executor, struct nros_timer_t *timer, const char *callback_group)
nros_ret_t nros_action_get_goal_status(const struct nros_action_server_t *server, const struct nros_goal_handle_t *goal, enum nros_goal_status_t *status)
nros_cancel_return_code_t
Definition nros_generated.h:545
@ NROS_CANCEL_RC_UNKNOWN_GOAL
Definition nros_generated.h:548
@ NROS_CANCEL_RC_OK
Definition nros_generated.h:546
@ NROS_CANCEL_RC_GOAL_TERMINATED
Definition nros_generated.h:549
@ NROS_CANCEL_RC_REJECTED
Definition nros_generated.h:547
int32_t nros_cdr_write_string_n(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, const char *data, size_t data_len)
int32_t nros_cdr_write_u8(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, uint8_t value)
nros_ret_t nros_action_server_send_cancel_reply_raw(struct nros_action_server_t *server, int64_t sequence_number, enum nros_cancel_return_code_t return_code, const uint8_t(*accepted)[16], size_t accepted_count)
nros_goal_response_t
Definition nros_generated.h:445
@ NROS_GOAL_REJECT
Definition nros_generated.h:449
@ NROS_GOAL_ACCEPT_AND_EXECUTE
Definition nros_generated.h:453
@ NROS_GOAL_ACCEPT_AND_DEFER
Definition nros_generated.h:457
struct nros_service_t nros_service_get_zero_initialized(void)
const void * nros_node_get_logger(const struct nros_node_t *node)
struct nros_executor_t nros_executor_get_zero_initialized(void)
const char * nros_goal_status_to_string(enum nros_goal_status_t status)
int32_t nros_cdr_write_i64(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, int64_t value)
nros_ret_t nros_subscription_init_polling(struct nros_subscription_t *subscription, const struct nros_node_t *node, const struct nros_message_type_t *type_info, const char *topic_name)
nros_ret_t nros_publisher_assert_liveliness(const struct nros_publisher_t *publisher)
enum nros_parameter_type_t nros_param_get_type(const struct nros_param_server_t *server, const char *name)
nros_ret_t nros_action_client_init(struct nros_action_client_t *client, const struct nros_node_t *node, const char *action_name, const struct nros_action_type_t *type_info)
struct nros_time_t nros_time_sub(struct nros_time_t time, struct nros_duration_t duration)
nros_ret_t nros_action_succeed(struct nros_action_server_t *server, const struct nros_goal_handle_t *goal, const uint8_t *result, size_t result_len)
int32_t nros_cdr_read_u8(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, uint8_t *value)
struct nros_action_server_t nros_action_server_get_zero_initialized(void)
uint8_t nros_executor_lifecycle_get_state(struct nros_executor_t *executor)
nros_ret_t nros_publisher_init_with_options(struct nros_publisher_t *publisher, const struct nros_node_t *node, const struct nros_message_type_t *type_info, const char *topic_name, const struct nros_qos_t *qos, const struct nros_publisher_options_t *options)
nros_ret_t nros_publisher_set_offered_deadline_missed_callback(struct nros_publisher_t *_pub_, uint32_t _deadline_ms, nros_event_publisher_count_cb_t _cb, void *_user_context)
int32_t nros_cdr_write_string(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, const char *value)
struct nros_action_client_t nros_action_client_get_zero_initialized(void)
nros_ret_t nros_action_client_send_get_result_request_raw(struct nros_action_client_t *client, const uint8_t(*goal_id)[16])
nros_timer_state_t
Definition nros_generated.h:613
@ NROS_TIMER_STATE_SHUTDOWN
Definition nros_generated.h:629
@ NROS_TIMER_STATE_UNINITIALIZED
Definition nros_generated.h:617
@ NROS_TIMER_STATE_CANCELED
Definition nros_generated.h:625
@ NROS_TIMER_STATE_RUNNING
Definition nros_generated.h:621
const char * nros_client_get_service_name(const struct nros_client_t *client)
nros_deadline_policy_t
Definition nros_generated.h:756
@ NROS_DEADLINE_POLICY_RELEASED
Definition nros_generated.h:757
@ NROS_DEADLINE_POLICY_INHERITED
Definition nros_generated.h:759
@ NROS_DEADLINE_POLICY_ACTIVATED
Definition nros_generated.h:758
nros_ret_t nros_action_client_fini(struct nros_action_client_t *client)
struct nros_wake_state_t nros_wake_state_get_zero_initialized(void)
nros_ret_t nros_action_server_set_cancel_wake_callback(struct nros_action_server_t *server, struct nros_wake_state_t *state, void(*cb)(void *), void *ctx)
int32_t nros_action_client_try_recv_cancel_response_raw(struct nros_action_client_t *client, uint8_t *buf, size_t buf_len)
nros_qos_reliability_t
Definition nros_generated.h:477
@ NROS_QOS_RELIABILITY_BEST_EFFORT
Definition nros_generated.h:481
@ NROS_QOS_RELIABILITY_RELIABLE
Definition nros_generated.h:485
#define NROS_MAX_SERVICE_NAME_LEN
Definition nros_generated.h:88
nros_executor_semantics_t
Definition nros_generated.h:302
@ NROS_SEMANTICS_RCLCPP_EXECUTOR
Definition nros_generated.h:307
@ NROS_SEMANTICS_LOGICAL_EXECUTION_TIME
Definition nros_generated.h:315
nros_parameter_type_t
Definition nros_generated.h:232
@ NROS_PARAMETER_STRING
Definition nros_generated.h:252
@ NROS_PARAMETER_INTEGER
Definition nros_generated.h:244
@ NROS_PARAMETER_DOUBLE_ARRAY
Definition nros_generated.h:268
@ NROS_PARAMETER_INTEGER_ARRAY
Definition nros_generated.h:264
@ NROS_PARAMETER_BOOL_ARRAY
Definition nros_generated.h:260
@ NROS_PARAMETER_BYTE_ARRAY
Definition nros_generated.h:256
@ NROS_PARAMETER_BOOL
Definition nros_generated.h:240
@ NROS_PARAMETER_NOT_SET
Definition nros_generated.h:236
@ NROS_PARAMETER_STRING_ARRAY
Definition nros_generated.h:272
@ NROS_PARAMETER_DOUBLE
Definition nros_generated.h:248
nros_ret_t nros_lifecycle_fini(struct nros_lifecycle_state_machine_t *sm)
const char * nros_subscription_get_topic_name(const struct nros_subscription_t *subscription)
struct nros_node_options_t nros_node_get_default_options(void)
nros_ret_t nros_executor_spin(struct nros_executor_t *executor)
nros_ret_t nros_param_set_string(struct nros_param_server_t *server, const char *name, const char *value)
bool nros_goal_uuid_equal(const struct nros_goal_uuid_t *a, const struct nros_goal_uuid_t *b)
nros_ret_t nros_timer_reset(struct nros_timer_t *timer)
nros_ret_t nros_service_take_request(struct nros_service_t *service, uint8_t *_request_data, size_t _request_capacity, size_t *_request_len, int64_t *_sequence_number)
nros_goal_status_t
Definition nros_generated.h:367
@ NROS_GOAL_STATUS_EXECUTING
Definition nros_generated.h:379
@ NROS_GOAL_STATUS_SUCCEEDED
Definition nros_generated.h:387
@ NROS_GOAL_STATUS_ABORTED
Definition nros_generated.h:395
@ NROS_GOAL_STATUS_UNKNOWN
Definition nros_generated.h:371
@ NROS_GOAL_STATUS_ACCEPTED
Definition nros_generated.h:375
@ NROS_GOAL_STATUS_CANCELED
Definition nros_generated.h:391
@ NROS_GOAL_STATUS_CANCELING
Definition nros_generated.h:383
const char * nros_node_get_namespace(const struct nros_node_t *node)
void(* nros_event_liveliness_changed_cb_t)(struct nros_subscription_t *sub, struct nros_liveliness_changed_status_t status, void *user_context)
Definition nros_generated.h:1735
int32_t nros_cdr_read_u64(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, uint64_t *value)
nros_ret_t nros_client_try_recv_response(struct nros_client_t *client, uint8_t *response_data, size_t response_capacity, size_t *response_len)
nros_ret_t nros_executor_register_subscription(struct nros_executor_t *executor, struct nros_subscription_t *subscription, enum nros_executor_invocation_t invocation)
struct nros_clock_t nros_clock_get_zero_initialized(void)
nros_ret_t nros_publisher_discard(const struct nros_publisher_t *publisher, void *token)
void nros_platform_sleep_us(size_t us)
nros_ret_t nros_executor_lifecycle_register_on_error(struct nros_executor_t *executor, struct Option_LifecycleCallbackFnCtx cb, void *context)
size_t nros_action_server_get_active_goal_count(const struct nros_action_server_t *server)
nros_ret_t nros_action_send_goal(struct nros_action_client_t *client, struct nros_executor_t *executor, const uint8_t *goal, size_t goal_len, struct nros_goal_uuid_t *goal_uuid)
nros_subscription_state_t
Definition nros_generated.h:555
@ NROS_SUBSCRIPTION_STATE_SHUTDOWN
Definition nros_generated.h:568
@ NROS_SUBSCRIPTION_STATE_POLLING
Definition nros_generated.h:575
@ NROS_SUBSCRIPTION_STATE_INITIALIZED
Definition nros_generated.h:564
@ NROS_SUBSCRIPTION_STATE_UNINITIALIZED
Definition nros_generated.h:559
uint32_t nros_platform_critical_section_acquire(void)
nros_ret_t nros_action_client_set_cancel_response_wake_callback(struct nros_action_client_t *client, struct nros_wake_state_t *state, void(*cb)(void *), void *ctx)
const uint32_t NROS_TRANSPORT_OPS_ABI_VERSION_V1
int32_t nros_cdr_write_i32(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, int32_t value)
bool nros_guard_condition_is_triggered(const struct nros_guard_condition_t *guard)
bool nros_client_service_is_ready(const struct nros_client_t *client)
nros_ret_t nros_action_abort(struct nros_action_server_t *server, const struct nros_goal_handle_t *goal, const uint8_t *result, size_t result_len)
struct nros_param_server_t nros_param_server_get_zero_initialized(void)
#define NROS_MAX_NAME_LEN
Definition nros_generated.h:64
nros_ret_t nros_executor_lifecycle_change_state(struct nros_executor_t *executor, uint8_t transition_id)
const char * nros_node_get_name(const struct nros_node_t *node)
nros_ret_t nros_executor_spin_some(struct nros_executor_t *executor, uint64_t timeout_ns)
int32_t nros_cdr_write_i16(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, int16_t value)
nros_ret_t nros_service_send_response(struct nros_service_t *service, int64_t _sequence_number, const uint8_t *_response_data, size_t _response_len)
nros_ret_t nros_client_set_timeout(struct nros_client_t *client, uint32_t timeout_ms)
nros_ret_t nros_executor_register_subscription_raw_with_info(struct nros_executor_t *executor, const struct nros_node_t *node, const char *topic_name, const char *type_name, const char *type_hash, const struct nros_qos_t *qos, nros_subscription_info_callback_t callback, void *context)
nros_ret_t nros_action_client_poll(struct nros_action_client_t *client)
#define NROS_MAX_PARAM_STRING_LEN
Definition nros_generated.h:122
size_t nros_heap_total_bytes(void)
nros_node_state_t
Definition nros_generated.h:401
@ NROS_NODE_STATE_SHUTDOWN
Definition nros_generated.h:413
@ NROS_NODE_STATE_UNINITIALIZED
Definition nros_generated.h:405
@ NROS_NODE_STATE_INITIALIZED
Definition nros_generated.h:409
int32_t nros_cdr_write_i8(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, int8_t value)
nros_ret_t nros_action_server_init_with_qos(struct nros_action_server_t *server, const struct nros_node_t *node, const char *action_name, const struct nros_action_type_t *type_info, nros_goal_callback_t goal_callback, nros_cancel_callback_t cancel_callback, nros_accepted_callback_t accepted_callback, void *context, const struct nros_qos_t *qos)
nros_ret_t nros_action_get_result_async(struct nros_action_client_t *client, const struct nros_goal_uuid_t *goal_uuid)
bool nros_param_has(const struct nros_param_server_t *server, const char *name)
nros_ret_t nros_clear_custom_transport(void)
int32_t nros_subscription_try_recv_validated(struct nros_subscription_t *subscription, uint8_t *buf, size_t buf_len, struct nros_integrity_status_t *out_status)
nros_ret_t nros_param_server_init(struct nros_param_server_t *server, struct nros_parameter_t *storage, size_t capacity)
nros_ret_t nros_subscription_fini(struct nros_subscription_t *subscription)
nros_ret_t nros_has_custom_transport(void)
nros_ret_t nros_action_client_init_polling(struct nros_action_client_t *client, const struct nros_node_t *node, const struct nros_action_type_t *type_info, const char *action_name)
int nros_time_compare(struct nros_time_t a, struct nros_time_t b)
size_t nros_platform_heap_total_bytes(void)
nros_ret_t nros_action_client_send_cancel_request_raw(struct nros_action_client_t *client, const uint8_t(*goal_id)[16])
nros_ret_t nros_executor_add_client(struct nros_executor_t *executor, struct nros_client_t *client)
int32_t nros_subscription_try_recv_raw(struct nros_subscription_t *subscription, uint8_t *buf, size_t buf_len)
nros_ret_t nros_action_client_send_goal_raw(struct nros_action_client_t *client, const uint8_t *goal_cdr, size_t goal_len, uint8_t(*goal_id_out)[16])
nros_ret_t nros_executor_register_guard_condition(struct nros_executor_t *executor, struct nros_guard_condition_t *guard)
nros_ret_t nros_lifecycle_register_on_error(struct nros_lifecycle_state_machine_t *sm, struct Option_LifecycleCallbackFnCtx cb, void *context)
nros_ret_t nros_executor_set_param_string(struct nros_executor_t *executor, const char *name, const char *value)
nros_ret_t nros_client_init(struct nros_client_t *client, const struct nros_node_t *node, const struct nros_service_type_t *type_info, const char *service_name)
nros_ret_t nros_make_node_a_lifecycle_node(struct nros_lifecycle_state_machine_t *sm, const struct nros_node_t *node)
nros_ret_t nros_executor_get_param_string(struct nros_executor_t *executor, const char *name, char *out_value, size_t max_len)
nros_clock_type_t
Definition nros_generated.h:174
@ NROS_CLOCK_STEADY_TIME
Definition nros_generated.h:190
@ NROS_CLOCK_ROS_TIME
Definition nros_generated.h:182
@ NROS_CLOCK_UNINITIALIZED
Definition nros_generated.h:178
@ NROS_CLOCK_SYSTEM_TIME
Definition nros_generated.h:186
#define NROS_MAX_NAMESPACE_LEN
Definition nros_generated.h:69
#define NROS_MAX_ACTION_NAME_LEN
Definition nros_generated.h:93
nros_ret_t nros_clock_init(struct nros_clock_t *clock, enum nros_clock_type_t clock_type)
nros_ret_t nros_action_cancel_goal(struct nros_action_client_t *client, const struct nros_goal_uuid_t *goal_uuid)
nros_ret_t nros_lifecycle_register_on_deactivate(struct nros_lifecycle_state_machine_t *sm, struct Option_LifecycleCallbackFnCtx cb, void *context)
bool nros_support_is_valid(const struct nros_support_t *support)
nros_ret_t nros_client_set_wake_callback(struct nros_client_t *client, struct nros_wake_state_t *state, void(*cb)(void *), void *ctx)
nros_ret_t nros_subscription_set_message_lost_callback(struct nros_subscription_t *_sub, nros_event_subscriber_count_cb_t _cb, void *_user_context)
struct nros_lifecycle_state_machine_t nros_lifecycle_get_zero_initialized(void)
bool nros_executor_trigger_one(const bool *ready, size_t count, void *context)
void(* nros_event_publisher_count_cb_t)(struct nros_publisher_t *pub_, struct nros_count_status_t status, void *user_context)
Definition nros_generated.h:1802
nros_ret_t nros_service_init_polling(struct nros_service_t *service, const struct nros_node_t *node, const struct nros_service_type_t *type_info, const char *service_name)
nros_ret_t nros_publisher_loan(const struct nros_publisher_t *publisher, size_t requested_len, uint8_t **out_buf, size_t *out_cap, void **out_token)
nros_cancel_response_t
Definition nros_generated.h:463
@ NROS_CANCEL_REJECT
Definition nros_generated.h:467
@ NROS_CANCEL_ACCEPT
Definition nros_generated.h:471
nros_ret_t nros_publisher_init_with_qos(struct nros_publisher_t *publisher, const struct nros_node_t *node, const struct nros_message_type_t *type_info, const char *topic_name, const struct nros_qos_t *qos)
nros_ret_t nros_executor_lifecycle_register_on_shutdown(struct nros_executor_t *executor, struct Option_LifecycleCallbackFnCtx cb, void *context)
nros_ret_t nros_param_server_fini(struct nros_param_server_t *server)
nros_ret_t nros_clock_get_now_ns(const struct nros_clock_t *clock, int64_t *nanoseconds)
bool nros_executor_is_valid(const struct nros_executor_t *executor)
nros_ret_t nros_executor_lifecycle_register_on_cleanup(struct nros_executor_t *executor, struct Option_LifecycleCallbackFnCtx cb, void *context)
int32_t nros_action_client_try_recv_feedback_raw(struct nros_action_client_t *client, uint8_t *buf, size_t buf_len, uint8_t(*goal_id_out)[16])
nros_ret_t nros_subscription_init_with_qos(struct nros_subscription_t *subscription, const struct nros_node_t *node, const struct nros_message_type_t *type_info, const char *topic_name, nros_subscription_callback_t callback, void *context, const struct nros_qos_t *qos)
nros_ret_t nros_executor_set_semantics(struct nros_executor_t *executor, enum nros_executor_semantics_t semantics)
nros_ret_t nros_action_client_wait_for_action_server(struct nros_action_client_t *client, struct nros_executor_t *executor, uint32_t timeout_ms)
nros_ret_t nros_executor_lifecycle_register_on_activate(struct nros_executor_t *executor, struct Option_LifecycleCallbackFnCtx cb, void *context)
nros_ret_t nros_timer_fini(struct nros_timer_t *timer)
nros_ret_t nros_client_call(struct nros_client_t *client, const uint8_t *request_data, size_t request_len, uint8_t *response_data, size_t response_capacity, size_t *response_len)
nros_sched_context_id_t nros_executor_default_sched_context_id(void)
bool(* nros_param_callback_t)(const char *name, const struct nros_parameter_t *param, void *context)
Definition nros_generated.h:888
nros_ret_t nros_goal_uuid_generate(struct nros_goal_uuid_t *uuid)
nros_ret_t nros_service_set_wake_callback(struct nros_service_t *service, struct nros_wake_state_t *state, void(*cb)(void *), void *ctx)
nros_ret_t nros_client_send_request_raw(struct nros_client_t *client, const uint8_t *data, size_t len)
nros_ret_t nros_service_fini(struct nros_service_t *service)
nros_ret_t nros_service_init_with_options(struct nros_service_t *service, const struct nros_node_t *node, const struct nros_service_type_t *type_info, const char *service_name, nros_service_callback_t callback, void *context, const struct nros_qos_t *qos, const struct nros_service_options_t *options)
int32_t nros_cdr_read_bool(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, bool *value)
nros_ret_t nros_action_client_set_goal_response_wake_callback(struct nros_action_client_t *client, struct nros_wake_state_t *state, void(*cb)(void *), void *ctx)
struct nros_client_t nros_client_get_zero_initialized(void)
int32_t nros_cdr_read_u32(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin, uint32_t *value)
int32_t nros_cdr_write_u16(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, uint16_t value)
nros_sched_priority_t
Definition nros_generated.h:735
@ NROS_SCHED_PRIORITY_NORMAL
Definition nros_generated.h:737
@ NROS_SCHED_PRIORITY_CRITICAL
Definition nros_generated.h:736
@ NROS_SCHED_PRIORITY_BEST_EFFORT
Definition nros_generated.h:738
nros_ret_t nros_executor_node_init(struct nros_executor_t *executor, struct nros_node_t *node, const char *name, const struct nros_node_options_t *options)
enum nros_clock_type_t nros_clock_get_type(const struct nros_clock_t *clock)
nros_ret_t nros_node_init_ex(struct nros_node_t *node, const struct nros_support_t *support, const char *name, const struct nros_node_options_t *options)
struct nros_time_t nros_time_from_nanoseconds(int64_t nanoseconds)
nros_ret_t nros_client_send_request_async(struct nros_client_t *client, const uint8_t *request_data, size_t request_len)
nros_ret_t nros_action_publish_feedback(struct nros_action_server_t *server, const struct nros_goal_handle_t *goal, const uint8_t *feedback, size_t feedback_len)
nros_ret_t nros_executor_lifecycle_register_on_configure(struct nros_executor_t *executor, struct Option_LifecycleCallbackFnCtx cb, void *context)
void(* nros_result_callback_t)(const struct nros_goal_uuid_t *goal_uuid, enum nros_goal_status_t status, const uint8_t *result, size_t result_len, void *context)
Definition nros_generated.h:1106
struct nros_action_server_options_t nros_action_server_get_default_options(void)
size_t nros_heap_peak_bytes(void)
void(* nros_timer_callback_t)(struct nros_timer_t *timer, void *context)
Definition nros_generated.h:1886
nros_executor_invocation_t
Definition nros_generated.h:599
@ NROS_EXECUTOR_ALWAYS
Definition nros_generated.h:607
@ NROS_EXECUTOR_ON_NEW_DATA
Definition nros_generated.h:603
#define NROS_MAX_TYPE_HASH_LEN
Definition nros_generated.h:103
nros_ret_t nros_executor_bind_handle_to_sched_context(struct nros_executor_t *executor, size_t handle, nros_sched_context_id_t sc_id)
void(* nros_response_callback_t)(const uint8_t *response, size_t response_len, void *context)
Definition nros_generated.h:2049
void * nros_platform_alloc(size_t size)
nros_support_state_t
Definition nros_generated.h:321
@ NROS_SUPPORT_STATE_INITIALIZED
Definition nros_generated.h:329
@ NROS_SUPPORT_STATE_SHUTDOWN
Definition nros_generated.h:333
@ NROS_SUPPORT_STATE_UNINITIALIZED
Definition nros_generated.h:325
bool nros_guard_condition_is_valid(const struct nros_guard_condition_t *guard)
nros_ret_t nros_timer_init(struct nros_timer_t *timer, const struct nros_support_t *support, uint64_t period_ns, nros_timer_callback_t callback, void *context)
nros_ret_t nros_action_server_reject_goal_raw(struct nros_action_server_t *server, int64_t sequence_number)
nros_ret_t nros_lifecycle_init(struct nros_lifecycle_state_machine_t *sm, const struct nros_node_t *node)
int nros_executor_get_remaining_handles(const struct nros_executor_t *executor)
nros_ret_t nros_param_get_string(const struct nros_param_server_t *server, const char *name, char *value, size_t max_len)
nros_ret_t nros_executor_spin_period(struct nros_executor_t *executor, uint64_t period_ns)
nros_qos_durability_t
Definition nros_generated.h:491
@ NROS_QOS_DURABILITY_VOLATILE
Definition nros_generated.h:495
@ NROS_QOS_DURABILITY_TRANSIENT_LOCAL
Definition nros_generated.h:499
enum nros_cancel_response_t(* nros_cancel_callback_t)(struct nros_action_server_t *server, const struct nros_goal_handle_t *goal, void *context)
Definition nros_generated.h:1423
int32_t nros_cdr_write_f64(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, double value)
nros_ret_t nros_lifecycle_register_on_activate(struct nros_lifecycle_state_machine_t *sm, struct Option_LifecycleCallbackFnCtx cb, void *context)
nros_ret_t nros_action_server_fini(struct nros_action_server_t *server)
nros_ret_t nros_action_server_init_with_options(struct nros_action_server_t *server, const struct nros_node_t *node, const char *action_name, const struct nros_action_type_t *type_info, nros_goal_callback_t goal_callback, nros_cancel_callback_t cancel_callback, nros_accepted_callback_t accepted_callback, void *context, const struct nros_qos_t *qos, const struct nros_action_server_options_t *options)
size_t nros_heap_used_bytes(void)
void(* nros_event_subscriber_count_cb_t)(struct nros_subscription_t *sub, struct nros_count_status_t status, void *user_context)
Definition nros_generated.h:1751
Definition nros_generated.h:1244
int32_t arena_entry_index
Definition nros_generated.h:1249
void * executor_ptr
Definition nros_generated.h:1253
Definition nros_generated.h:1505
void * c_context
Definition nros_generated.h:1534
struct nros_action_server_t * server_ptr
Definition nros_generated.h:1538
nros_cancel_callback_t c_cancel_callback
Definition nros_generated.h:1526
nros_accepted_callback_t c_accepted_callback
Definition nros_generated.h:1530
enum nros_goal_response_t(* c_goal_callback)(struct nros_action_server_t *, const struct nros_goal_handle_t *, const uint8_t *, size_t, void *)
Definition nros_generated.h:1518
ActionServerRawHandle handle
Definition nros_generated.h:1510
void * executor_ptr
Definition nros_generated.h:1514
Definition nros_generated.h:2058
void * executor_ptr
Definition nros_generated.h:2066
int32_t arena_entry_index
Definition nros_generated.h:2062
uint32_t timeout_ms
Definition nros_generated.h:2070
Definition nros_generated.h:1958
int32_t arena_entry_index
Definition nros_generated.h:1962
void * executor_ptr
Definition nros_generated.h:1966
Definition nros_generated.h:1359
nros_sched_context_id_t sched_context
Definition nros_generated.h:1367
uint8_t _reserved[3]
Definition nros_generated.h:1371
Definition nros_generated.h:1259
void * context
Definition nros_generated.h:1303
struct ActionClientInternal _internal
Definition nros_generated.h:1320
size_t type_name_len
Definition nros_generated.h:1279
uint8_t action_name[256]
Definition nros_generated.h:1267
size_t type_hash_len
Definition nros_generated.h:1287
const struct nros_node_t * node
Definition nros_generated.h:1307
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:1315
size_t action_name_len
Definition nros_generated.h:1271
uint8_t type_name[256]
Definition nros_generated.h:1275
uint64_t _opaque[ACTION_CLIENT_OPAQUE_U64S]
Definition nros_generated.h:1326
nros_feedback_callback_t feedback_callback
Definition nros_generated.h:1295
nros_result_callback_t result_callback
Definition nros_generated.h:1299
enum nros_action_client_state_t state
Definition nros_generated.h:1263
uint8_t type_hash[128]
Definition nros_generated.h:1283
nros_goal_response_callback_t goal_response_callback
Definition nros_generated.h:1291
Definition nros_generated.h:1627
uint8_t _reserved[3]
Definition nros_generated.h:1639
nros_sched_context_id_t sched_context
Definition nros_generated.h:1635
Definition nros_generated.h:1544
struct nros_qos_t qos
Definition nros_generated.h:1600
size_t action_name_len
Definition nros_generated.h:1556
size_t type_hash_len
Definition nros_generated.h:1572
struct ActionServerInternal _internal
Definition nros_generated.h:1614
uint8_t action_name[256]
Definition nros_generated.h:1552
nros_cancel_callback_t cancel_callback
Definition nros_generated.h:1580
void * context
Definition nros_generated.h:1588
size_t type_name_len
Definition nros_generated.h:1564
uint8_t type_name[256]
Definition nros_generated.h:1560
enum nros_action_server_state_t state
Definition nros_generated.h:1548
nros_accepted_callback_t accepted_callback
Definition nros_generated.h:1584
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:1609
const struct nros_node_t * node
Definition nros_generated.h:1592
uint64_t _opaque[ACTION_SERVER_OPAQUE_U64S]
Definition nros_generated.h:1620
uint8_t type_hash[128]
Definition nros_generated.h:1568
nros_goal_callback_t goal_callback
Definition nros_generated.h:1576
Definition nros_generated.h:1332
const char * type_hash
Definition nros_generated.h:1340
size_t result_serialized_size_max
Definition nros_generated.h:1348
size_t goal_serialized_size_max
Definition nros_generated.h:1344
const char * type_name
Definition nros_generated.h:1336
size_t feedback_serialized_size_max
Definition nros_generated.h:1352
Definition nros_generated.h:2347
nros_sched_context_id_t sched_context
Definition nros_generated.h:2354
uint8_t _reserved[3]
Definition nros_generated.h:2358
Definition nros_generated.h:2076
size_t type_name_len
Definition nros_generated.h:2096
const struct nros_node_t * node
Definition nros_generated.h:2117
uint8_t type_hash[128]
Definition nros_generated.h:2100
void * context
Definition nros_generated.h:2113
enum nros_client_state_t state
Definition nros_generated.h:2080
struct ServiceClientInternal _internal
Definition nros_generated.h:2136
uint64_t _opaque[SERVICE_CLIENT_OPAQUE_U64S]
Definition nros_generated.h:2143
struct nros_qos_t qos
Definition nros_generated.h:2123
uint8_t type_name[256]
Definition nros_generated.h:2092
size_t type_hash_len
Definition nros_generated.h:2104
uint8_t service_name[256]
Definition nros_generated.h:2084
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:2131
nros_response_callback_t response_callback
Definition nros_generated.h:2109
size_t service_name_len
Definition nros_generated.h:2088
Definition nros_generated.h:774
enum nros_clock_state_t state
Definition nros_generated.h:782
enum nros_clock_type_t type
Definition nros_generated.h:778
uint64_t _steady_epoch_ns
Definition nros_generated.h:786
Definition nros_generated.h:1742
uint32_t total_count
Definition nros_generated.h:1743
uint32_t total_count_change
Definition nros_generated.h:1744
Definition nros_generated.h:813
uint32_t nanosec
Definition nros_generated.h:821
int32_t sec
Definition nros_generated.h:817
Definition nros_generated.h:981
const struct nros_support_t * support
Definition nros_generated.h:997
nros_executor_trigger_t trigger
Definition nros_generated.h:1001
void * trigger_context
Definition nros_generated.h:1005
uint64_t _opaque[EXECUTOR_OPAQUE_U64S]
Definition nros_generated.h:1040
size_t max_handles
Definition nros_generated.h:1013
bool in_dispatch
Definition nros_generated.h:1035
size_t timer_count
Definition nros_generated.h:1021
enum nros_executor_state_t state
Definition nros_generated.h:985
size_t handle_count
Definition nros_generated.h:1009
uint64_t timeout_ns
Definition nros_generated.h:989
size_t subscription_count
Definition nros_generated.h:1017
uint64_t invocation_time_ns
Definition nros_generated.h:1029
enum nros_executor_semantics_t semantics
Definition nros_generated.h:993
size_t service_count
Definition nros_generated.h:1025
Definition nros_generated.h:1398
struct nros_goal_uuid_t uuid
Definition nros_generated.h:1402
Definition nros_generated.h:1080
uint8_t uuid[16]
Definition nros_generated.h:1084
Definition nros_generated.h:2154
bool _guard_valid
Definition nros_generated.h:2182
void * context
Definition nros_generated.h:2170
nros_guard_condition_callback_t callback
Definition nros_generated.h:2166
size_t handle_id
Definition nros_generated.h:2178
uint64_t _guard_opaque[GUARD_HANDLE_OPAQUE_U64S]
Definition nros_generated.h:2187
const struct nros_support_t * _support
Definition nros_generated.h:2174
enum nros_guard_condition_state_t state
Definition nros_generated.h:2158
bool triggered
Definition nros_generated.h:2162
Definition nros_generated.h:2402
int8_t crc_valid
Definition nros_generated.h:2415
int64_t gap
Definition nros_generated.h:2406
bool duplicate
Definition nros_generated.h:2410
Definition nros_generated.h:2240
uint64_t storage[NROS_LIFECYCLE_CTX_OPAQUE_U64S]
Definition nros_generated.h:2252
bool initialized
Definition nros_generated.h:2244
uint8_t _pad[7]
Definition nros_generated.h:2248
Definition nros_generated.h:1725
int16_t not_alive_count_change
Definition nros_generated.h:1729
int16_t alive_count_change
Definition nros_generated.h:1728
uint16_t not_alive_count
Definition nros_generated.h:1727
uint16_t alive_count
Definition nros_generated.h:1726
Definition nros_generated.h:2285
const char * type_hash
Definition nros_generated.h:2293
const char * type_name
Definition nros_generated.h:2289
size_t serialized_size_max
Definition nros_generated.h:2297
Definition nros_generated.h:1819
size_t namespace_len
Definition nros_generated.h:1827
size_t locator_len
Definition nros_generated.h:1845
uint8_t locator[128]
Definition nros_generated.h:1841
uint8_t _reserved[3]
Definition nros_generated.h:1857
size_t rmw_name_len
Definition nros_generated.h:1836
uint32_t domain_id_override
Definition nros_generated.h:1849
uint8_t sched_context_id
Definition nros_generated.h:1853
uint8_t rmw_name[32]
Definition nros_generated.h:1832
uint8_t namespace_[128]
Definition nros_generated.h:1823
Definition nros_generated.h:1152
uint8_t sched_context_id
Definition nros_generated.h:1195
uint8_t node_id
Definition nros_generated.h:1206
const struct nros_executor_t * executor
Definition nros_generated.h:1217
size_t rmw_name_len
Definition nros_generated.h:1185
uint8_t rmw_name[32]
Definition nros_generated.h:1181
uint32_t domain_id_override
Definition nros_generated.h:1190
const struct nros_qos_override_t * qos_overrides
Definition nros_generated.h:1223
uint8_t _reserved[3]
Definition nros_generated.h:1199
size_t name_len
Definition nros_generated.h:1164
enum nros_node_state_t state
Definition nros_generated.h:1156
size_t namespace_len
Definition nros_generated.h:1172
uint8_t name[64]
Definition nros_generated.h:1160
uint8_t namespace_[128]
Definition nros_generated.h:1168
const struct nros_support_t * support
Definition nros_generated.h:1176
size_t qos_overrides_len
Definition nros_generated.h:1227
Definition nros_generated.h:830
size_t len
Definition nros_generated.h:838
const void * data
Definition nros_generated.h:834
Definition nros_generated.h:895
enum nros_param_server_state_t state
Definition nros_generated.h:899
size_t count
Definition nros_generated.h:907
struct nros_parameter_t * parameters
Definition nros_generated.h:911
void * callback_context
Definition nros_generated.h:919
nros_param_callback_t callback
Definition nros_generated.h:915
size_t capacity
Definition nros_generated.h:903
Definition nros_generated.h:870
enum nros_parameter_type_t type
Definition nros_generated.h:878
uint8_t name[64]
Definition nros_generated.h:874
union nros_parameter_value_t value
Definition nros_generated.h:882
Definition nros_generated.h:2270
uint8_t _reserved[4]
Definition nros_generated.h:2276
Definition nros_generated.h:1758
uint8_t type_name[256]
Definition nros_generated.h:1774
uint8_t topic_name[256]
Definition nros_generated.h:1766
enum nros_publisher_state_t state
Definition nros_generated.h:1762
size_t topic_name_len
Definition nros_generated.h:1770
size_t type_hash_len
Definition nros_generated.h:1786
uint64_t _opaque[PUBLISHER_OPAQUE_U64S]
Definition nros_generated.h:1795
size_t type_name_len
Definition nros_generated.h:1778
uint8_t type_hash[128]
Definition nros_generated.h:1782
const struct nros_node_t * node
Definition nros_generated.h:1790
Definition nros_generated.h:1125
uint8_t policy
Definition nros_generated.h:1138
const char * topic
Definition nros_generated.h:1130
uint8_t role
Definition nros_generated.h:1134
uint32_t value
Definition nros_generated.h:1144
Definition nros_generated.h:1448
enum nros_qos_reliability_t reliability
Definition nros_generated.h:1452
uint32_t liveliness_lease_ms
Definition nros_generated.h:1481
uint8_t avoid_ros_namespace_conventions
Definition nros_generated.h:1485
enum nros_qos_liveliness_t liveliness_kind
Definition nros_generated.h:1464
int depth
Definition nros_generated.h:1468
enum nros_qos_history_t history
Definition nros_generated.h:1460
enum nros_qos_durability_t durability
Definition nros_generated.h:1456
uint8_t tx_express
Definition nros_generated.h:1492
uint32_t deadline_ms
Definition nros_generated.h:1473
uint32_t lifespan_ms
Definition nros_generated.h:1477
Definition nros_generated.h:2197
uint8_t os_pri
Definition nros_generated.h:2218
nros_sched_class_t class_
Definition nros_generated.h:2198
uint32_t tt_window_offset_us
Definition nros_generated.h:2224
uint32_t period_us
Definition nros_generated.h:2204
nros_deadline_policy_t deadline_policy
Definition nros_generated.h:2200
uint32_t budget_us
Definition nros_generated.h:2208
nros_sched_priority_t priority
Definition nros_generated.h:2199
uint32_t tt_window_duration_us
Definition nros_generated.h:2229
uint32_t deadline_us
Definition nros_generated.h:2212
Definition nros_generated.h:2326
uint8_t _reserved[3]
Definition nros_generated.h:2339
nros_sched_context_id_t sched_context
Definition nros_generated.h:2335
Definition nros_generated.h:1972
uint8_t type_hash[128]
Definition nros_generated.h:1996
uint8_t type_name[256]
Definition nros_generated.h:1988
const struct nros_node_t * node
Definition nros_generated.h:2012
size_t service_name_len
Definition nros_generated.h:1984
nros_service_callback_t callback
Definition nros_generated.h:2004
size_t type_hash_len
Definition nros_generated.h:2000
enum nros_service_state_t state
Definition nros_generated.h:1976
struct ServiceServerInternal _internal
Definition nros_generated.h:2031
uint8_t service_name[256]
Definition nros_generated.h:1980
struct nros_qos_t qos
Definition nros_generated.h:2018
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:2026
size_t type_name_len
Definition nros_generated.h:1992
uint64_t _opaque[SERVICE_SERVER_OPAQUE_U64S]
Definition nros_generated.h:2038
void * context
Definition nros_generated.h:2008
Definition nros_generated.h:2306
const char * type_hash
Definition nros_generated.h:2314
const char * type_name
Definition nros_generated.h:2310
Definition nros_generated.h:2371
nros_sched_context_id_t sched_context
Definition nros_generated.h:2381
uint8_t _reserved[2]
Definition nros_generated.h:2394
uint8_t message_info
Definition nros_generated.h:2389
Definition nros_generated.h:1655
const struct nros_node_t * node
Definition nros_generated.h:1695
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:1713
enum nros_subscription_state_t state
Definition nros_generated.h:1659
size_t type_hash_len
Definition nros_generated.h:1683
size_t handle_id
Definition nros_generated.h:1703
struct nros_qos_t qos
Definition nros_generated.h:1699
uint8_t topic_name[256]
Definition nros_generated.h:1663
uint64_t _opaque[SUBSCRIPTION_OPAQUE_U64S]
Definition nros_generated.h:1719
void * context
Definition nros_generated.h:1691
nros_subscription_callback_t callback
Definition nros_generated.h:1687
size_t type_name_len
Definition nros_generated.h:1675
size_t topic_name_len
Definition nros_generated.h:1667
uint8_t type_name[256]
Definition nros_generated.h:1671
uint8_t type_hash[128]
Definition nros_generated.h:1679
Definition nros_generated.h:928
uint8_t locator[128]
Definition nros_generated.h:940
uint8_t domain_id
Definition nros_generated.h:936
uint64_t _opaque[SESSION_OPAQUE_U64S]
Definition nros_generated.h:949
size_t locator_len
Definition nros_generated.h:944
enum nros_support_state_t state
Definition nros_generated.h:932
Definition nros_generated.h:799
int32_t sec
Definition nros_generated.h:803
uint32_t nanosec
Definition nros_generated.h:807
Definition nros_generated.h:1891
void * context
Definition nros_generated.h:1911
uint64_t last_call_time_ns
Definition nros_generated.h:1903
const struct nros_support_t * support
Definition nros_generated.h:1915
size_t handle_id
Definition nros_generated.h:1919
enum nros_timer_state_t state
Definition nros_generated.h:1895
uint64_t period_ns
Definition nros_generated.h:1899
nros_timer_callback_t callback
Definition nros_generated.h:1907
void * _executor
Definition nros_generated.h:1923
Definition nros_generated.h:1067
uint32_t _reserved
Definition nros_generated.h:1069
nros_ret_t(* write)(void *user_data, const uint8_t *buf, size_t len)
Definition nros_generated.h:1073
void(* close)(void *user_data)
Definition nros_generated.h:1072
nros_ret_t(* open)(void *user_data, const void *params)
Definition nros_generated.h:1071
uint32_t abi_version
Definition nros_generated.h:1068
void * user_data
Definition nros_generated.h:1070
int32_t(* read)(void *user_data, uint8_t *buf, size_t len, uint32_t timeout_ms)
Definition nros_generated.h:1074
Definition nros_generated.h:1382
uint64_t _opaque[2]
Definition nros_generated.h:1383
Definition nros_generated.h:844
double double_value
Definition nros_generated.h:856
uint8_t string_value[128]
Definition nros_generated.h:860
struct nros_param_array_t array_value
Definition nros_generated.h:864
bool bool_value
Definition nros_generated.h:848
int64_t integer_value
Definition nros_generated.h:852
#define NROS_PUBLIC
Definition visibility.h:33