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
183
201
219
265
287
308
326
352
388
406
432
450
464
478
492
506
528
542
568
586
600
622
648
676
694
700#if defined(__cplusplus) || __STDC_VERSION__ >= 202311L
701 : uint8_t
702#endif // defined(__cplusplus) || __STDC_VERSION__ >= 202311L
703 {
709};
710#ifndef __cplusplus
711#if __STDC_VERSION__ >= 202311L
713#else
714typedef uint8_t nros_sched_class_t;
715#endif // __STDC_VERSION__ >= 202311L
716#endif // __cplusplus
717
723#if defined(__cplusplus) || __STDC_VERSION__ >= 202311L
724 : uint8_t
725#endif // defined(__cplusplus) || __STDC_VERSION__ >= 202311L
726 {
730};
731#ifndef __cplusplus
732#if __STDC_VERSION__ >= 202311L
734#else
735typedef uint8_t nros_sched_priority_t;
736#endif // __STDC_VERSION__ >= 202311L
737#endif // __cplusplus
738
744#if defined(__cplusplus) || __STDC_VERSION__ >= 202311L
745 : uint8_t
746#endif // defined(__cplusplus) || __STDC_VERSION__ >= 202311L
747 {
751};
752#ifndef __cplusplus
753#if __STDC_VERSION__ >= 202311L
755#else
757#endif // __STDC_VERSION__ >= 202311L
758#endif // __cplusplus
759
761
779
785typedef int nros_ret_t;
786
790typedef struct nros_time_t {
794 int32_t sec;
798 uint32_t nanosec;
800
804typedef struct nros_duration_t {
808 int32_t sec;
812 uint32_t nanosec;
814
821typedef struct nros_param_array_t {
825 const void *data;
829 size_t len;
831
857
875
879typedef bool (*nros_param_callback_t)(const char *name,
880 const struct nros_parameter_t *param,
881 void *context);
882
912
919typedef struct nros_support_t {
927 uint8_t domain_id;
940 uint64_t _opaque[SESSION_OPAQUE_U64S];
942
959typedef bool (*nros_executor_trigger_t)(const bool *ready, size_t count, void *context);
960
1033
1058typedef struct nros_transport_ops_t {
1059 uint32_t abi_version;
1060 uint32_t _reserved;
1062 nros_ret_t (*open)(void *user_data, const void *params);
1063 void (*close)(void *user_data);
1064 nros_ret_t (*write)(void *user_data, const uint8_t *buf, size_t len);
1065 int32_t (*read)(void *user_data, uint8_t *buf, size_t len, uint32_t timeout_ms);
1067
1071typedef struct nros_goal_uuid_t {
1075 uint8_t uuid[16];
1077
1082typedef void (*nros_goal_response_callback_t)(const struct nros_goal_uuid_t *goal_uuid,
1083 bool accepted,
1084 void *context);
1085
1089typedef void (*nros_feedback_callback_t)(const struct nros_goal_uuid_t *goal_uuid,
1090 const uint8_t *feedback,
1091 size_t feedback_len,
1092 void *context);
1093
1097typedef void (*nros_result_callback_t)(const struct nros_goal_uuid_t *goal_uuid,
1098 enum nros_goal_status_t status,
1099 const uint8_t *result,
1100 size_t result_len,
1101 void *context);
1102
1116typedef struct nros_qos_override_t {
1121 const char *topic;
1125 uint8_t role;
1129 uint8_t policy;
1135 uint32_t value;
1137
1220
1227
1246
1319
1345
1364
1373typedef struct nros_wake_state_t {
1374 uint64_t _opaque[2];
1376
1395
1403 const struct nros_goal_handle_t *goal,
1404 const uint8_t *goal_request,
1405 size_t goal_len,
1406 void *context);
1407
1415 const struct nros_goal_handle_t *goal,
1416 void *context);
1417
1424typedef void (*nros_accepted_callback_t)(struct nros_action_server_t *server,
1425 const struct nros_goal_handle_t *goal,
1426 void *context);
1427
1478
1524
1606
1625
1634typedef void (*nros_subscription_callback_t)(const uint8_t *data, size_t len, void *context);
1635
1705
1715
1721 void *user_context);
1722
1730
1736 struct nros_count_status_t status,
1737 void *user_context);
1738
1781
1787 struct nros_count_status_t status,
1788 void *user_context);
1789
1843
1857typedef void (*nros_subscription_info_callback_t)(const uint8_t *data,
1858 size_t len,
1859 const uint8_t *attachment,
1860 size_t attachment_len,
1861 void *context);
1862
1870typedef void (*nros_timer_callback_t)(struct nros_timer_t *timer, void *context);
1871
1909
1925typedef bool (*nros_service_callback_t)(const uint8_t *request_data,
1926 size_t request_len,
1927 uint8_t *response_data,
1928 size_t response_capacity,
1929 size_t *response_len,
1930 void *context);
1931
1952
2024
2033typedef void (*nros_response_callback_t)(const uint8_t *response, size_t response_len, void *context);
2034
2056
2129
2133typedef void (*nros_guard_condition_callback_t)(void *context);
2134
2173
2215
2232 uint8_t _pad[7];
2236 uint64_t storage[NROS_LIFECYCLE_CTX_OPAQUE_U64S];
2238
2262
2283
2290typedef struct nros_service_type_t {
2294 const char *type_name;
2298 const char *type_hash;
2300
2325
2344
2380
2401
2405#define NROS_RET_OK 0
2406
2410#define NROS_RET_ERROR -1
2411
2415#define NROS_RET_TIMEOUT -2
2416
2420#define NROS_RET_INVALID_ARGUMENT -3
2421
2425#define NROS_RET_NOT_FOUND -4
2426
2430#define NROS_RET_ALREADY_EXISTS -5
2431
2435#define NROS_RET_FULL -6
2436
2440#define NROS_RET_NOT_INIT -7
2441
2445#define NROS_RET_BAD_SEQUENCE -8
2446
2450#define NROS_RET_SERVICE_FAILED -9
2451
2455#define NROS_RET_PUBLISH_FAILED -10
2456
2460#define NROS_RET_SUBSCRIPTION_FAILED -11
2461
2465#define NROS_RET_NOT_ALLOWED -12
2466
2470#define NROS_RET_REJECTED -13
2471
2476#define NROS_RET_TRY_AGAIN -14
2477
2484#define NROS_RET_REENTRANT -15
2485
2491#define NROS_RET_UNSUPPORTED -16
2492
2493#ifdef __cplusplus
2494extern "C" {
2495#endif // __cplusplus
2496
2500extern const struct nros_qos_t NROS_QOS_DEFAULT;
2501
2505extern const struct nros_qos_t NROS_QOS_SENSOR_DATA;
2506
2510extern const struct nros_qos_t NROS_QOS_SERVICES;
2511
2522extern const uint32_t NROS_TRANSPORT_OPS_ABI_VERSION_V1;
2523
2525
2527
2532
2537
2545
2551
2552extern void *nros_platform_alloc(size_t size);
2553
2554extern void nros_platform_dealloc(void *ptr);
2555
2557
2558extern void nros_platform_critical_section_release(uint32_t token);
2559
2567int32_t nros_cdr_write_bool(uint8_t **ptr,
2568 const uint8_t *end,
2569 const uint8_t *origin,
2570 bool value);
2571
2577int32_t nros_cdr_write_u8(uint8_t **ptr,
2578 const uint8_t *end,
2579 const uint8_t *origin,
2580 uint8_t value);
2581
2586int32_t nros_cdr_write_i8(uint8_t **ptr,
2587 const uint8_t *end,
2588 const uint8_t *origin,
2589 int8_t value);
2590
2596int32_t nros_cdr_write_u16(uint8_t **ptr,
2597 const uint8_t *end,
2598 const uint8_t *origin,
2599 uint16_t value);
2600
2605int32_t nros_cdr_write_i16(uint8_t **ptr,
2606 const uint8_t *end,
2607 const uint8_t *origin,
2608 int16_t value);
2609
2615int32_t nros_cdr_write_u32(uint8_t **ptr,
2616 const uint8_t *end,
2617 const uint8_t *origin,
2618 uint32_t value);
2619
2624int32_t nros_cdr_write_i32(uint8_t **ptr,
2625 const uint8_t *end,
2626 const uint8_t *origin,
2627 int32_t value);
2628
2634int32_t nros_cdr_write_u64(uint8_t **ptr,
2635 const uint8_t *end,
2636 const uint8_t *origin,
2637 uint64_t value);
2638
2643int32_t nros_cdr_write_i64(uint8_t **ptr,
2644 const uint8_t *end,
2645 const uint8_t *origin,
2646 int64_t value);
2647
2653int32_t nros_cdr_write_f32(uint8_t **ptr,
2654 const uint8_t *end,
2655 const uint8_t *origin,
2656 float value);
2657
2663int32_t nros_cdr_write_f64(uint8_t **ptr,
2664 const uint8_t *end,
2665 const uint8_t *origin,
2666 double value);
2667
2672int32_t nros_cdr_write_string(uint8_t **ptr,
2673 const uint8_t *end,
2674 const uint8_t *origin,
2675 const char *value);
2676
2681int32_t nros_cdr_write_string_n(uint8_t **ptr,
2682 const uint8_t *end,
2683 const uint8_t *origin,
2684 const char *data,
2685 size_t data_len);
2686
2695int32_t nros_cdr_read_bool(const uint8_t **ptr,
2696 const uint8_t *end,
2697 const uint8_t *origin,
2698 bool *value);
2699
2705int32_t nros_cdr_read_u8(const uint8_t **ptr,
2706 const uint8_t *end,
2707 const uint8_t *origin,
2708 uint8_t *value);
2709
2714int32_t nros_cdr_read_i8(const uint8_t **ptr,
2715 const uint8_t *end,
2716 const uint8_t *origin,
2717 int8_t *value);
2718
2723int32_t nros_cdr_read_u16(const uint8_t **ptr,
2724 const uint8_t *end,
2725 const uint8_t *origin,
2726 uint16_t *value);
2727
2732int32_t nros_cdr_read_i16(const uint8_t **ptr,
2733 const uint8_t *end,
2734 const uint8_t *origin,
2735 int16_t *value);
2736
2741int32_t nros_cdr_read_u32(const uint8_t **ptr,
2742 const uint8_t *end,
2743 const uint8_t *origin,
2744 uint32_t *value);
2745
2750int32_t nros_cdr_read_i32(const uint8_t **ptr,
2751 const uint8_t *end,
2752 const uint8_t *origin,
2753 int32_t *value);
2754
2759int32_t nros_cdr_read_u64(const uint8_t **ptr,
2760 const uint8_t *end,
2761 const uint8_t *origin,
2762 uint64_t *value);
2763
2768int32_t nros_cdr_read_i64(const uint8_t **ptr,
2769 const uint8_t *end,
2770 const uint8_t *origin,
2771 int64_t *value);
2772
2777int32_t nros_cdr_read_f32(const uint8_t **ptr,
2778 const uint8_t *end,
2779 const uint8_t *origin,
2780 float *value);
2781
2786int32_t nros_cdr_read_f64(const uint8_t **ptr,
2787 const uint8_t *end,
2788 const uint8_t *origin,
2789 double *value);
2790
2796int32_t nros_cdr_read_string(const uint8_t **ptr,
2797 const uint8_t *end,
2798 const uint8_t *origin,
2799 char *value,
2800 size_t max_len);
2801
2806
2812 enum nros_clock_type_t clock_type);
2813
2819 struct nros_time_t *time_out);
2820
2826 int64_t *nanoseconds);
2827
2832
2837
2842
2847
2852
2858 struct nros_duration_t duration);
2859
2865 struct nros_duration_t duration);
2866
2871
2876
2882 struct nros_parameter_t *storage,
2883 size_t capacity);
2884
2891 void *context);
2892
2898 const char *name,
2899 const char *default_value);
2900
2906 const char *name,
2907 char *value,
2908 size_t max_len);
2909
2915 const char *name,
2916 const char *value);
2917
2921NROS_PUBLIC bool nros_param_has(const struct nros_param_server_t *server, const char *name);
2922
2928 const char *name);
2929
2934
2939
2948
2954 const char *name,
2955 const char *value);
2956
2962 const char *name,
2963 char *out_value,
2964 size_t max_len);
2965
2971 const char *name,
2972 const char *value);
2973
2977NROS_PUBLIC bool nros_executor_has_param(struct nros_executor_t *executor, const char *name);
2978
2982extern uint64_t nros_platform_clock_us(void);
2983
2987extern void nros_platform_sleep_us(size_t us);
2988
3011
3018
3026
3031
3037 const struct nros_node_t *node,
3038 const char *action_name,
3039 const struct nros_action_type_t *type_info);
3040
3045
3058 const struct nros_node_t *node,
3059 const char *action_name,
3060 const struct nros_action_type_t *type_info,
3061 const struct nros_action_client_options_t *options);
3062
3068 nros_feedback_callback_t callback,
3069 void *context);
3070
3076 nros_result_callback_t callback,
3077 void *context);
3078
3100 struct nros_executor_t *executor,
3101 uint32_t timeout_ms);
3102
3111 struct nros_executor_t *executor);
3112
3125 struct nros_executor_t *executor,
3126 const uint8_t *goal,
3127 size_t goal_len,
3128 struct nros_goal_uuid_t *goal_uuid);
3129
3135 const struct nros_goal_uuid_t *goal_uuid);
3136
3145 struct nros_executor_t *executor,
3146 const struct nros_goal_uuid_t *goal_uuid,
3147 enum nros_goal_status_t *status,
3148 uint8_t *result,
3149 size_t result_capacity,
3150 size_t *result_len);
3151
3160
3177 const uint8_t *goal,
3178 size_t goal_len,
3179 struct nros_goal_uuid_t *goal_uuid);
3180
3194 const struct nros_goal_uuid_t *goal_uuid);
3195
3208 void *context);
3209
3221
3226
3249 const struct nros_node_t *node,
3250 const struct nros_action_type_t *type_info,
3251 const char *action_name);
3252
3260 const uint8_t *goal_cdr,
3261 size_t goal_len,
3262 uint8_t (*goal_id_out)[16]);
3263
3271 uint8_t *buf,
3272 size_t buf_len);
3273
3280 const uint8_t (*goal_id)[16]);
3281
3289 uint8_t *buf,
3290 size_t buf_len);
3291
3297 const uint8_t (*goal_id)[16]);
3298
3306 uint8_t *buf,
3307 size_t buf_len);
3308
3315 struct nros_wake_state_t *state,
3316 void (*cb)(void*),
3317 void *ctx);
3318
3324 struct nros_wake_state_t *state,
3325 void (*cb)(void*),
3326 void *ctx);
3327
3333 struct nros_wake_state_t *state,
3334 void (*cb)(void*),
3335 void *ctx);
3336
3342 struct nros_wake_state_t *state,
3343 void (*cb)(void*),
3344 void *ctx);
3345
3353 uint8_t *buf,
3354 size_t buf_len,
3355 uint8_t (*goal_id_out)[16]);
3356
3361
3367 const struct nros_goal_uuid_t *b);
3368
3373
3383
3392 const struct nros_node_t *node,
3393 const char *action_name,
3394 const struct nros_action_type_t *type_info,
3398 void *context);
3399
3412 const struct nros_node_t *node,
3413 const char *action_name,
3414 const struct nros_action_type_t *type_info,
3418 void *context,
3419 const struct nros_qos_t *qos);
3420
3425
3438 const struct nros_node_t *node,
3439 const char *action_name,
3440 const struct nros_action_type_t *type_info,
3441 nros_goal_callback_t goal_callback,
3442 nros_cancel_callback_t cancel_callback,
3443 nros_accepted_callback_t accepted_callback,
3444 void *context,
3445 const struct nros_qos_t *qos,
3446 const struct nros_action_server_options_t *options);
3447
3457 const struct nros_goal_handle_t *goal,
3458 const uint8_t *feedback,
3459 size_t feedback_len);
3460
3469 const struct nros_goal_handle_t *goal,
3470 const uint8_t *result,
3471 size_t result_len);
3472
3480 const struct nros_goal_handle_t *goal,
3481 const uint8_t *result,
3482 size_t result_len);
3483
3491 const struct nros_goal_handle_t *goal,
3492 const uint8_t *result,
3493 size_t result_len);
3494
3505 const struct nros_goal_handle_t *goal);
3506
3515
3530 const struct nros_goal_handle_t *goal,
3531 enum nros_goal_status_t *status);
3532
3537
3560 const struct nros_node_t *node,
3561 const struct nros_action_type_t *type_info,
3562 const char *action_name);
3563
3578 uint8_t *buf,
3579 size_t buf_len,
3580 uint8_t (*goal_id_out)[16],
3581 int64_t *sequence_number_out);
3582
3589 const uint8_t (*goal_id)[16],
3590 int64_t sequence_number);
3591
3598 int64_t sequence_number);
3599
3608 const uint8_t (*goal_id)[16],
3609 const uint8_t *feedback_cdr,
3610 size_t feedback_len);
3611
3621 const uint8_t (*goal_id)[16],
3622 enum nros_goal_status_t status,
3623 const uint8_t *result_cdr,
3624 size_t result_len);
3625
3641 uint8_t (*goal_id_out)[16],
3642 int64_t *sequence_number_out,
3643 enum nros_goal_status_t *current_status_out);
3644
3656 int64_t sequence_number,
3657 enum nros_cancel_return_code_t return_code,
3658 const uint8_t (*accepted)[16],
3659 size_t accepted_count);
3660
3673 const uint8_t *default_result_cdr,
3674 size_t default_result_len);
3675
3684 struct nros_wake_state_t *state,
3685 void (*cb)(void*),
3686 void *ctx);
3687
3696 struct nros_wake_state_t *state,
3697 void (*cb)(void*),
3698 void *ctx);
3699
3706 struct nros_wake_state_t *state,
3707 void (*cb)(void*),
3708 void *ctx);
3709
3714
3731 void *_user_context);
3732
3746 uint32_t _deadline_ms,
3748 void *_user_context);
3749
3760 void *_user_context);
3761
3773 void *_user_context);
3774
3786 uint32_t _deadline_ms,
3788 void *_user_context);
3789
3794
3813 const struct nros_support_t *support,
3814 size_t max_handles);
3815
3824 uint64_t timeout_ns);
3825
3845NROS_PUBLIC nros_ret_t nros_executor_ping(struct nros_executor_t *executor, int32_t timeout_ms);
3846
3856
3898 struct nros_node_t *node,
3899 const char *name,
3900 const struct nros_node_options_t *options);
3901
3911 void *context);
3912
3919NROS_PUBLIC bool nros_executor_trigger_any(const bool *ready, size_t count, void *context);
3920
3927NROS_PUBLIC bool nros_executor_trigger_all(const bool *ready, size_t count, void *context);
3928
3935NROS_PUBLIC bool nros_executor_trigger_always(const bool *ready, size_t count, void *context);
3936
3955NROS_PUBLIC bool nros_executor_trigger_one(const bool *ready, size_t count, void *context);
3956
3969 struct nros_subscription_t *subscription,
3970 enum nros_executor_invocation_t invocation);
3971
3992 const struct nros_node_t *node,
3993 const char *topic_name,
3994 const char *type_name,
3995 const char *type_hash,
3996 const struct nros_qos_t *qos,
3998 void *context);
3999
4011 struct nros_timer_t *timer);
4012
4024 struct nros_service_t *service);
4025
4044 struct nros_client_t *client);
4045
4054 struct nros_guard_condition_t *guard);
4055
4067 struct nros_action_server_t *server);
4068
4086 struct nros_action_client_t *client);
4087
4098 uint64_t timeout_ns);
4099
4107
4116 uint64_t period_ns);
4117
4126 uint64_t period_ns);
4127
4135
4143
4148
4153
4158
4165
4175 uint32_t major_frame_us);
4176
4189 const struct nros_sched_context_t *cfg,
4190 nros_sched_context_id_t *out_sc_id);
4191
4211 size_t handle,
4213
4218
4224 const struct nros_support_t *support);
4225
4232 void *context);
4233
4242
4247
4252
4257
4262
4267
4273 const struct nros_node_t *node);
4274
4279
4285 uint8_t transition_id);
4286
4291
4298 void *context);
4299
4306 void *context);
4307
4314 void *context);
4315
4322 void *context);
4323
4330 void *context);
4331
4338 void *context);
4339
4346 const struct nros_node_t *node);
4347
4357
4370
4381 uint8_t transition_id);
4382
4389 void *context);
4390
4397 void *context);
4398
4405 void *context);
4406
4413 void *context);
4414
4421 void *context);
4422
4429 void *context);
4430
4451 const struct nros_qos_override_t *overrides,
4452 size_t len);
4453
4462
4470
4498 const struct nros_support_t *support,
4499 const char *name,
4500 const char *namespace_);
4501
4543 const struct nros_support_t *support,
4544 const char *name,
4545 const struct nros_node_options_t *options);
4546
4562
4575NROS_PUBLIC const char *nros_node_get_name(const struct nros_node_t *node);
4576
4589NROS_PUBLIC const char *nros_node_get_namespace(const struct nros_node_t *node);
4590
4609NROS_PUBLIC const void *nros_node_get_logger(const struct nros_node_t *node);
4610
4619
4624
4649 const struct nros_node_t *node,
4650 const struct nros_message_type_t *type_info,
4651 const char *topic_name);
4652
4675 const struct nros_node_t *node,
4676 const struct nros_message_type_t *type_info,
4677 const char *topic_name,
4678 const struct nros_qos_t *qos);
4679
4712 const struct nros_node_t *node,
4713 const struct nros_message_type_t *type_info,
4714 const char *topic_name,
4715 const struct nros_qos_t *qos,
4716 const struct nros_publisher_options_t *options);
4717
4738 const uint8_t *data,
4739 size_t len);
4740
4774 void (*size_cb)(size_t *out_total_len, void *user_ctx),
4775 void (*chunk_cb)(uint8_t *out_buf,
4776 size_t cap,
4777 size_t *out_written,
4778 void *user_ctx),
4779 void *user_ctx);
4780
4803
4833 size_t requested_len,
4834 uint8_t **out_buf,
4835 size_t *out_cap,
4836 void **out_token);
4837
4851 void *token,
4852 size_t actual_len);
4853
4866 void *token);
4867
4883
4894
4905
4910
4930 const struct nros_node_t *node,
4931 const struct nros_service_type_t *type_info,
4932 const char *service_name,
4934 void *context);
4935
4947 const struct nros_node_t *node,
4948 const struct nros_service_type_t *type_info,
4949 const char *service_name,
4951 void *context,
4952 const struct nros_qos_t *qos);
4953
4958
4973 const struct nros_node_t *node,
4974 const struct nros_service_type_t *type_info,
4975 const char *service_name,
4976 nros_service_callback_t callback,
4977 void *context,
4978 const struct nros_qos_t *qos,
4979 const struct nros_service_options_t *options);
4980
4993
5020 const struct nros_node_t *node,
5021 const struct nros_service_type_t *type_info,
5022 const char *service_name);
5023
5028
5044 struct nros_wake_state_t *state,
5045 void (*cb)(void*),
5046 void *ctx);
5047
5055 struct nros_wake_state_t *state,
5056 void (*cb)(void*),
5057 void *ctx);
5058
5075 uint8_t *buf,
5076 size_t buf_len,
5077 int64_t *sequence_number);
5078
5092 int64_t sequence_number,
5093 const uint8_t *data,
5094 size_t len);
5095
5107 uint8_t *_request_data,
5108 size_t _request_capacity,
5109 size_t *_request_len,
5110 int64_t *_sequence_number);
5111
5124 int64_t _sequence_number,
5125 const uint8_t *_response_data,
5126 size_t _response_len);
5127
5138
5149
5154
5176 const struct nros_node_t *node,
5177 const struct nros_service_type_t *type_info,
5178 const char *service_name);
5179
5191 const struct nros_node_t *node,
5192 const struct nros_service_type_t *type_info,
5193 const char *service_name,
5194 const struct nros_qos_t *qos);
5195
5200
5213 const struct nros_node_t *node,
5214 const struct nros_service_type_t *type_info,
5215 const char *service_name,
5216 const struct nros_qos_t *qos,
5217 const struct nros_client_options_t *options);
5218
5235
5262 const struct nros_node_t *node,
5263 const struct nros_service_type_t *type_info,
5264 const char *service_name);
5265
5277 const uint8_t *data,
5278 size_t len);
5279
5295 uint8_t *buf,
5296 size_t buf_len);
5297
5304 nros_response_callback_t callback,
5305 void *context);
5306
5311
5332
5356 uint32_t timeout_ms);
5357
5367
5383 const uint8_t *request_data,
5384 size_t request_len);
5385
5397 uint8_t *response_data,
5398 size_t response_capacity,
5399 size_t *response_len);
5400
5427 const uint8_t *request_data,
5428 size_t request_len,
5429 uint8_t *response_data,
5430 size_t response_capacity,
5431 size_t *response_len);
5432
5443
5454
5459
5469
5497 const struct nros_node_t *node,
5498 const struct nros_message_type_t *type_info,
5499 const char *topic_name,
5501 void *context);
5502
5511 const struct nros_node_t *node,
5512 const struct nros_message_type_t *type_info,
5513 const char *topic_name,
5515 void *context,
5516 const struct nros_qos_t *qos);
5517
5554 const struct nros_node_t *node,
5555 const struct nros_message_type_t *type_info,
5556 const char *topic_name,
5558 void *context,
5559 const struct nros_qos_t *qos,
5560 const struct nros_subscription_options_t *options);
5561
5590 const struct nros_node_t *node,
5591 const struct nros_message_type_t *type_info,
5592 const char *topic_name);
5593
5605 const struct nros_node_t *node,
5606 const struct nros_message_type_t *type_info,
5607 const char *topic_name,
5608 const struct nros_qos_t *qos);
5609
5624 struct nros_wake_state_t *state,
5625 void (*cb)(void*),
5626 void *ctx);
5627
5650 uint8_t *buf,
5651 size_t buf_len);
5652
5677 uint8_t *buf,
5678 size_t buf_len,
5679 struct nros_integrity_status_t *out_status);
5680
5705 const uint8_t **out_buf,
5706 size_t *out_len,
5707 void **out_token);
5708
5722 void *token);
5723
5746 uint8_t *buf,
5747 size_t per_msg_cap,
5748 size_t max_msgs,
5749 size_t *out_lens);
5750
5756
5767const char *nros_subscription_get_topic_name(const struct nros_subscription_t *subscription);
5768
5779
5787
5810 const char *locator,
5811 uint8_t domain_id);
5812
5833 const char *locator,
5834 uint8_t domain_id,
5835 const char *session_name);
5836
5854
5865
5870
5892 const struct nros_support_t *support,
5893 uint64_t period_ns,
5895 void *context);
5896
5912
5929
5942
5953
5963NROS_PUBLIC uint64_t nros_timer_get_period(const struct nros_timer_t *timer);
5964
5977 uint64_t current_time_ns);
5978
5979#ifdef __cplusplus
5980} // extern "C"
5981#endif // __cplusplus
5982
5983#endif /* NROS_GENERATED_H */
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:1925
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:2133
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:1857
void(* nros_accepted_callback_t)(struct nros_action_server_t *server, const struct nros_goal_handle_t *goal, void *context)
Definition nros_generated.h:1424
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:760
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:187
@ NROS_CLOCK_STATE_SHUTDOWN
Definition nros_generated.h:199
@ NROS_CLOCK_STATE_UNINITIALIZED
Definition nros_generated.h:191
@ NROS_CLOCK_STATE_READY
Definition nros_generated.h:195
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:1402
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:703
@ NROS_SCHED_CLASS_SPORADIC
Definition nros_generated.h:706
@ NROS_SCHED_CLASS_FIFO
Definition nros_generated.h:704
@ NROS_SCHED_CLASS_BEST_EFFORT
Definition nros_generated.h:707
@ NROS_SCHED_CLASS_EDF
Definition nros_generated.h:705
@ NROS_SCHED_CLASS_TIME_TRIGGERED
Definition nros_generated.h:708
void(* nros_subscription_callback_t)(const uint8_t *data, size_t len, void *context)
Definition nros_generated.h:1634
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:680
@ NROS_GUARD_CONDITION_STATE_SHUTDOWN
Definition nros_generated.h:692
@ NROS_GUARD_CONDITION_STATE_INITIALIZED
Definition nros_generated.h:688
@ NROS_GUARD_CONDITION_STATE_UNINITIALIZED
Definition nros_generated.h:684
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:410
@ NROS_ACTION_SERVER_STATE_INITIALIZED
Definition nros_generated.h:420
@ NROS_ACTION_SERVER_STATE_SHUTDOWN
Definition nros_generated.h:424
@ NROS_ACTION_SERVER_STATE_POLLING
Definition nros_generated.h:430
@ NROS_ACTION_SERVER_STATE_UNINITIALIZED
Definition nros_generated.h:414
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:1226
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:1089
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:269
@ NROS_EXECUTOR_STATE_SHUTDOWN
Definition nros_generated.h:285
@ NROS_EXECUTOR_STATE_UNINITIALIZED
Definition nros_generated.h:273
@ NROS_EXECUTOR_STATE_SPINNING
Definition nros_generated.h:281
@ NROS_EXECUTOR_STATE_INITIALIZED
Definition nros_generated.h:277
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:510
@ NROS_QOS_LIVELINESS_NONE
Definition nros_generated.h:514
@ NROS_QOS_LIVELINESS_MANUAL_BY_TOPIC
Definition nros_generated.h:522
@ NROS_QOS_LIVELINESS_MANUAL_BY_NODE
Definition nros_generated.h:526
@ NROS_QOS_LIVELINESS_AUTOMATIC
Definition nros_generated.h:518
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:496
@ NROS_QOS_HISTORY_KEEP_LAST
Definition nros_generated.h:500
@ NROS_QOS_HISTORY_KEEP_ALL
Definition nros_generated.h:504
nros_param_server_state_t
Definition nros_generated.h:205
@ NROS_PARAM_SERVER_STATE_SHUTDOWN
Definition nros_generated.h:217
@ NROS_PARAM_SERVER_STATE_READY
Definition nros_generated.h:213
@ NROS_PARAM_SERVER_STATE_UNINITIALIZED
Definition nros_generated.h:209
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:330
@ NROS_ACTION_CLIENT_STATE_UNINITIALIZED
Definition nros_generated.h:334
@ NROS_ACTION_CLIENT_STATE_POLLING
Definition nros_generated.h:350
@ NROS_ACTION_CLIENT_STATE_INITIALIZED
Definition nros_generated.h:340
@ NROS_ACTION_CLIENT_STATE_SHUTDOWN
Definition nros_generated.h:344
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:1082
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:572
@ NROS_PUBLISHER_STATE_INITIALIZED
Definition nros_generated.h:580
@ NROS_PUBLISHER_STATE_SHUTDOWN
Definition nros_generated.h:584
@ NROS_PUBLISHER_STATE_UNINITIALIZED
Definition nros_generated.h:576
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:652
@ NROS_CLIENT_STATE_INITIALIZED
Definition nros_generated.h:660
@ NROS_CLIENT_STATE_UNINITIALIZED
Definition nros_generated.h:656
@ NROS_CLIENT_STATE_REGISTERED
Definition nros_generated.h:664
@ NROS_CLIENT_STATE_POLLING
Definition nros_generated.h:674
@ NROS_CLIENT_STATE_SHUTDOWN
Definition nros_generated.h:668
nros_service_state_t
Definition nros_generated.h:626
@ NROS_SERVICE_STATE_SHUTDOWN
Definition nros_generated.h:639
@ NROS_SERVICE_STATE_INITIALIZED
Definition nros_generated.h:635
@ NROS_SERVICE_STATE_POLLING
Definition nros_generated.h:646
@ NROS_SERVICE_STATE_UNINITIALIZED
Definition nros_generated.h:630
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:959
int nros_ret_t
Definition nros_generated.h:785
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:536
@ NROS_CANCEL_RC_UNKNOWN_GOAL
Definition nros_generated.h:539
@ NROS_CANCEL_RC_OK
Definition nros_generated.h:537
@ NROS_CANCEL_RC_GOAL_TERMINATED
Definition nros_generated.h:540
@ NROS_CANCEL_RC_REJECTED
Definition nros_generated.h:538
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:436
@ NROS_GOAL_REJECT
Definition nros_generated.h:440
@ NROS_GOAL_ACCEPT_AND_EXECUTE
Definition nros_generated.h:444
@ NROS_GOAL_ACCEPT_AND_DEFER
Definition nros_generated.h:448
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:604
@ NROS_TIMER_STATE_SHUTDOWN
Definition nros_generated.h:620
@ NROS_TIMER_STATE_UNINITIALIZED
Definition nros_generated.h:608
@ NROS_TIMER_STATE_CANCELED
Definition nros_generated.h:616
@ NROS_TIMER_STATE_RUNNING
Definition nros_generated.h:612
const char * nros_client_get_service_name(const struct nros_client_t *client)
nros_deadline_policy_t
Definition nros_generated.h:747
@ NROS_DEADLINE_POLICY_RELEASED
Definition nros_generated.h:748
@ NROS_DEADLINE_POLICY_INHERITED
Definition nros_generated.h:750
@ NROS_DEADLINE_POLICY_ACTIVATED
Definition nros_generated.h:749
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:468
@ NROS_QOS_RELIABILITY_BEST_EFFORT
Definition nros_generated.h:472
@ NROS_QOS_RELIABILITY_RELIABLE
Definition nros_generated.h:476
#define NROS_MAX_SERVICE_NAME_LEN
Definition nros_generated.h:88
nros_executor_semantics_t
Definition nros_generated.h:293
@ NROS_SEMANTICS_RCLCPP_EXECUTOR
Definition nros_generated.h:298
@ NROS_SEMANTICS_LOGICAL_EXECUTION_TIME
Definition nros_generated.h:306
nros_parameter_type_t
Definition nros_generated.h:223
@ NROS_PARAMETER_STRING
Definition nros_generated.h:243
@ NROS_PARAMETER_INTEGER
Definition nros_generated.h:235
@ NROS_PARAMETER_DOUBLE_ARRAY
Definition nros_generated.h:259
@ NROS_PARAMETER_INTEGER_ARRAY
Definition nros_generated.h:255
@ NROS_PARAMETER_BOOL_ARRAY
Definition nros_generated.h:251
@ NROS_PARAMETER_BYTE_ARRAY
Definition nros_generated.h:247
@ NROS_PARAMETER_BOOL
Definition nros_generated.h:231
@ NROS_PARAMETER_NOT_SET
Definition nros_generated.h:227
@ NROS_PARAMETER_STRING_ARRAY
Definition nros_generated.h:263
@ NROS_PARAMETER_DOUBLE
Definition nros_generated.h:239
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:358
@ NROS_GOAL_STATUS_EXECUTING
Definition nros_generated.h:370
@ NROS_GOAL_STATUS_SUCCEEDED
Definition nros_generated.h:378
@ NROS_GOAL_STATUS_ABORTED
Definition nros_generated.h:386
@ NROS_GOAL_STATUS_UNKNOWN
Definition nros_generated.h:362
@ NROS_GOAL_STATUS_ACCEPTED
Definition nros_generated.h:366
@ NROS_GOAL_STATUS_CANCELED
Definition nros_generated.h:382
@ NROS_GOAL_STATUS_CANCELING
Definition nros_generated.h:374
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:1719
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:546
@ NROS_SUBSCRIPTION_STATE_SHUTDOWN
Definition nros_generated.h:559
@ NROS_SUBSCRIPTION_STATE_POLLING
Definition nros_generated.h:566
@ NROS_SUBSCRIPTION_STATE_INITIALIZED
Definition nros_generated.h:555
@ NROS_SUBSCRIPTION_STATE_UNINITIALIZED
Definition nros_generated.h:550
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:392
@ NROS_NODE_STATE_SHUTDOWN
Definition nros_generated.h:404
@ NROS_NODE_STATE_UNINITIALIZED
Definition nros_generated.h:396
@ NROS_NODE_STATE_INITIALIZED
Definition nros_generated.h:400
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:165
@ NROS_CLOCK_STEADY_TIME
Definition nros_generated.h:181
@ NROS_CLOCK_ROS_TIME
Definition nros_generated.h:173
@ NROS_CLOCK_UNINITIALIZED
Definition nros_generated.h:169
@ NROS_CLOCK_SYSTEM_TIME
Definition nros_generated.h:177
#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:1786
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:454
@ NROS_CANCEL_REJECT
Definition nros_generated.h:458
@ NROS_CANCEL_ACCEPT
Definition nros_generated.h:462
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:879
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:726
@ NROS_SCHED_PRIORITY_NORMAL
Definition nros_generated.h:728
@ NROS_SCHED_PRIORITY_CRITICAL
Definition nros_generated.h:727
@ NROS_SCHED_PRIORITY_BEST_EFFORT
Definition nros_generated.h:729
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:1097
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:1870
nros_executor_invocation_t
Definition nros_generated.h:590
@ NROS_EXECUTOR_ALWAYS
Definition nros_generated.h:598
@ NROS_EXECUTOR_ON_NEW_DATA
Definition nros_generated.h:594
#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:2033
void * nros_platform_alloc(size_t size)
nros_support_state_t
Definition nros_generated.h:312
@ NROS_SUPPORT_STATE_INITIALIZED
Definition nros_generated.h:320
@ NROS_SUPPORT_STATE_SHUTDOWN
Definition nros_generated.h:324
@ NROS_SUPPORT_STATE_UNINITIALIZED
Definition nros_generated.h:316
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:482
@ NROS_QOS_DURABILITY_VOLATILE
Definition nros_generated.h:486
@ NROS_QOS_DURABILITY_TRANSIENT_LOCAL
Definition nros_generated.h:490
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:1414
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:1735
Definition nros_generated.h:1235
int32_t arena_entry_index
Definition nros_generated.h:1240
void * executor_ptr
Definition nros_generated.h:1244
Definition nros_generated.h:1489
void * c_context
Definition nros_generated.h:1518
struct nros_action_server_t * server_ptr
Definition nros_generated.h:1522
nros_cancel_callback_t c_cancel_callback
Definition nros_generated.h:1510
nros_accepted_callback_t c_accepted_callback
Definition nros_generated.h:1514
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:1502
ActionServerRawHandle handle
Definition nros_generated.h:1494
void * executor_ptr
Definition nros_generated.h:1498
Definition nros_generated.h:2042
void * executor_ptr
Definition nros_generated.h:2050
int32_t arena_entry_index
Definition nros_generated.h:2046
uint32_t timeout_ms
Definition nros_generated.h:2054
Definition nros_generated.h:1942
int32_t arena_entry_index
Definition nros_generated.h:1946
void * executor_ptr
Definition nros_generated.h:1950
Definition nros_generated.h:1350
nros_sched_context_id_t sched_context
Definition nros_generated.h:1358
uint8_t _reserved[3]
Definition nros_generated.h:1362
Definition nros_generated.h:1250
void * context
Definition nros_generated.h:1294
struct ActionClientInternal _internal
Definition nros_generated.h:1311
size_t type_name_len
Definition nros_generated.h:1270
uint8_t action_name[256]
Definition nros_generated.h:1258
size_t type_hash_len
Definition nros_generated.h:1278
const struct nros_node_t * node
Definition nros_generated.h:1298
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:1306
size_t action_name_len
Definition nros_generated.h:1262
uint8_t type_name[256]
Definition nros_generated.h:1266
uint64_t _opaque[ACTION_CLIENT_OPAQUE_U64S]
Definition nros_generated.h:1317
nros_feedback_callback_t feedback_callback
Definition nros_generated.h:1286
nros_result_callback_t result_callback
Definition nros_generated.h:1290
enum nros_action_client_state_t state
Definition nros_generated.h:1254
uint8_t type_hash[128]
Definition nros_generated.h:1274
nros_goal_response_callback_t goal_response_callback
Definition nros_generated.h:1282
Definition nros_generated.h:1611
uint8_t _reserved[3]
Definition nros_generated.h:1623
nros_sched_context_id_t sched_context
Definition nros_generated.h:1619
Definition nros_generated.h:1528
struct nros_qos_t qos
Definition nros_generated.h:1584
size_t action_name_len
Definition nros_generated.h:1540
size_t type_hash_len
Definition nros_generated.h:1556
struct ActionServerInternal _internal
Definition nros_generated.h:1598
uint8_t action_name[256]
Definition nros_generated.h:1536
nros_cancel_callback_t cancel_callback
Definition nros_generated.h:1564
void * context
Definition nros_generated.h:1572
size_t type_name_len
Definition nros_generated.h:1548
uint8_t type_name[256]
Definition nros_generated.h:1544
enum nros_action_server_state_t state
Definition nros_generated.h:1532
nros_accepted_callback_t accepted_callback
Definition nros_generated.h:1568
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:1593
const struct nros_node_t * node
Definition nros_generated.h:1576
uint64_t _opaque[ACTION_SERVER_OPAQUE_U64S]
Definition nros_generated.h:1604
uint8_t type_hash[128]
Definition nros_generated.h:1552
nros_goal_callback_t goal_callback
Definition nros_generated.h:1560
Definition nros_generated.h:1323
const char * type_hash
Definition nros_generated.h:1331
size_t result_serialized_size_max
Definition nros_generated.h:1339
size_t goal_serialized_size_max
Definition nros_generated.h:1335
const char * type_name
Definition nros_generated.h:1327
size_t feedback_serialized_size_max
Definition nros_generated.h:1343
Definition nros_generated.h:2331
nros_sched_context_id_t sched_context
Definition nros_generated.h:2338
uint8_t _reserved[3]
Definition nros_generated.h:2342
Definition nros_generated.h:2060
size_t type_name_len
Definition nros_generated.h:2080
const struct nros_node_t * node
Definition nros_generated.h:2101
uint8_t type_hash[128]
Definition nros_generated.h:2084
void * context
Definition nros_generated.h:2097
enum nros_client_state_t state
Definition nros_generated.h:2064
struct ServiceClientInternal _internal
Definition nros_generated.h:2120
uint64_t _opaque[SERVICE_CLIENT_OPAQUE_U64S]
Definition nros_generated.h:2127
struct nros_qos_t qos
Definition nros_generated.h:2107
uint8_t type_name[256]
Definition nros_generated.h:2076
size_t type_hash_len
Definition nros_generated.h:2088
uint8_t service_name[256]
Definition nros_generated.h:2068
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:2115
nros_response_callback_t response_callback
Definition nros_generated.h:2093
size_t service_name_len
Definition nros_generated.h:2072
Definition nros_generated.h:765
enum nros_clock_state_t state
Definition nros_generated.h:773
enum nros_clock_type_t type
Definition nros_generated.h:769
uint64_t _steady_epoch_ns
Definition nros_generated.h:777
Definition nros_generated.h:1726
uint32_t total_count
Definition nros_generated.h:1727
uint32_t total_count_change
Definition nros_generated.h:1728
Definition nros_generated.h:804
uint32_t nanosec
Definition nros_generated.h:812
int32_t sec
Definition nros_generated.h:808
Definition nros_generated.h:972
const struct nros_support_t * support
Definition nros_generated.h:988
nros_executor_trigger_t trigger
Definition nros_generated.h:992
void * trigger_context
Definition nros_generated.h:996
uint64_t _opaque[EXECUTOR_OPAQUE_U64S]
Definition nros_generated.h:1031
size_t max_handles
Definition nros_generated.h:1004
bool in_dispatch
Definition nros_generated.h:1026
size_t timer_count
Definition nros_generated.h:1012
enum nros_executor_state_t state
Definition nros_generated.h:976
size_t handle_count
Definition nros_generated.h:1000
uint64_t timeout_ns
Definition nros_generated.h:980
size_t subscription_count
Definition nros_generated.h:1008
uint64_t invocation_time_ns
Definition nros_generated.h:1020
enum nros_executor_semantics_t semantics
Definition nros_generated.h:984
size_t service_count
Definition nros_generated.h:1016
Definition nros_generated.h:1389
struct nros_goal_uuid_t uuid
Definition nros_generated.h:1393
Definition nros_generated.h:1071
uint8_t uuid[16]
Definition nros_generated.h:1075
Definition nros_generated.h:2138
bool _guard_valid
Definition nros_generated.h:2166
void * context
Definition nros_generated.h:2154
nros_guard_condition_callback_t callback
Definition nros_generated.h:2150
size_t handle_id
Definition nros_generated.h:2162
uint64_t _guard_opaque[GUARD_HANDLE_OPAQUE_U64S]
Definition nros_generated.h:2171
const struct nros_support_t * _support
Definition nros_generated.h:2158
enum nros_guard_condition_state_t state
Definition nros_generated.h:2142
bool triggered
Definition nros_generated.h:2146
Definition nros_generated.h:2386
int8_t crc_valid
Definition nros_generated.h:2399
int64_t gap
Definition nros_generated.h:2390
bool duplicate
Definition nros_generated.h:2394
Definition nros_generated.h:2224
uint64_t storage[NROS_LIFECYCLE_CTX_OPAQUE_U64S]
Definition nros_generated.h:2236
bool initialized
Definition nros_generated.h:2228
uint8_t _pad[7]
Definition nros_generated.h:2232
Definition nros_generated.h:1709
int16_t not_alive_count_change
Definition nros_generated.h:1713
int16_t alive_count_change
Definition nros_generated.h:1712
uint16_t not_alive_count
Definition nros_generated.h:1711
uint16_t alive_count
Definition nros_generated.h:1710
Definition nros_generated.h:2269
const char * type_hash
Definition nros_generated.h:2277
const char * type_name
Definition nros_generated.h:2273
size_t serialized_size_max
Definition nros_generated.h:2281
Definition nros_generated.h:1803
size_t namespace_len
Definition nros_generated.h:1811
size_t locator_len
Definition nros_generated.h:1829
uint8_t locator[128]
Definition nros_generated.h:1825
uint8_t _reserved[3]
Definition nros_generated.h:1841
size_t rmw_name_len
Definition nros_generated.h:1820
uint32_t domain_id_override
Definition nros_generated.h:1833
uint8_t sched_context_id
Definition nros_generated.h:1837
uint8_t rmw_name[32]
Definition nros_generated.h:1816
uint8_t namespace_[128]
Definition nros_generated.h:1807
Definition nros_generated.h:1143
uint8_t sched_context_id
Definition nros_generated.h:1186
uint8_t node_id
Definition nros_generated.h:1197
const struct nros_executor_t * executor
Definition nros_generated.h:1208
size_t rmw_name_len
Definition nros_generated.h:1176
uint8_t rmw_name[32]
Definition nros_generated.h:1172
uint32_t domain_id_override
Definition nros_generated.h:1181
const struct nros_qos_override_t * qos_overrides
Definition nros_generated.h:1214
uint8_t _reserved[3]
Definition nros_generated.h:1190
size_t name_len
Definition nros_generated.h:1155
enum nros_node_state_t state
Definition nros_generated.h:1147
size_t namespace_len
Definition nros_generated.h:1163
uint8_t name[64]
Definition nros_generated.h:1151
uint8_t namespace_[128]
Definition nros_generated.h:1159
const struct nros_support_t * support
Definition nros_generated.h:1167
size_t qos_overrides_len
Definition nros_generated.h:1218
Definition nros_generated.h:821
size_t len
Definition nros_generated.h:829
const void * data
Definition nros_generated.h:825
Definition nros_generated.h:886
enum nros_param_server_state_t state
Definition nros_generated.h:890
size_t count
Definition nros_generated.h:898
struct nros_parameter_t * parameters
Definition nros_generated.h:902
void * callback_context
Definition nros_generated.h:910
nros_param_callback_t callback
Definition nros_generated.h:906
size_t capacity
Definition nros_generated.h:894
Definition nros_generated.h:861
enum nros_parameter_type_t type
Definition nros_generated.h:869
uint8_t name[64]
Definition nros_generated.h:865
union nros_parameter_value_t value
Definition nros_generated.h:873
Definition nros_generated.h:2254
uint8_t _reserved[4]
Definition nros_generated.h:2260
Definition nros_generated.h:1742
uint8_t type_name[256]
Definition nros_generated.h:1758
uint8_t topic_name[256]
Definition nros_generated.h:1750
enum nros_publisher_state_t state
Definition nros_generated.h:1746
size_t topic_name_len
Definition nros_generated.h:1754
size_t type_hash_len
Definition nros_generated.h:1770
uint64_t _opaque[PUBLISHER_OPAQUE_U64S]
Definition nros_generated.h:1779
size_t type_name_len
Definition nros_generated.h:1762
uint8_t type_hash[128]
Definition nros_generated.h:1766
const struct nros_node_t * node
Definition nros_generated.h:1774
Definition nros_generated.h:1116
uint8_t policy
Definition nros_generated.h:1129
const char * topic
Definition nros_generated.h:1121
uint8_t role
Definition nros_generated.h:1125
uint32_t value
Definition nros_generated.h:1135
Definition nros_generated.h:1439
enum nros_qos_reliability_t reliability
Definition nros_generated.h:1443
uint32_t liveliness_lease_ms
Definition nros_generated.h:1472
uint8_t avoid_ros_namespace_conventions
Definition nros_generated.h:1476
enum nros_qos_liveliness_t liveliness_kind
Definition nros_generated.h:1455
int depth
Definition nros_generated.h:1459
enum nros_qos_history_t history
Definition nros_generated.h:1451
enum nros_qos_durability_t durability
Definition nros_generated.h:1447
uint32_t deadline_ms
Definition nros_generated.h:1464
uint32_t lifespan_ms
Definition nros_generated.h:1468
Definition nros_generated.h:2181
uint8_t os_pri
Definition nros_generated.h:2202
nros_sched_class_t class_
Definition nros_generated.h:2182
uint32_t tt_window_offset_us
Definition nros_generated.h:2208
uint32_t period_us
Definition nros_generated.h:2188
nros_deadline_policy_t deadline_policy
Definition nros_generated.h:2184
uint32_t budget_us
Definition nros_generated.h:2192
nros_sched_priority_t priority
Definition nros_generated.h:2183
uint32_t tt_window_duration_us
Definition nros_generated.h:2213
uint32_t deadline_us
Definition nros_generated.h:2196
Definition nros_generated.h:2310
uint8_t _reserved[3]
Definition nros_generated.h:2323
nros_sched_context_id_t sched_context
Definition nros_generated.h:2319
Definition nros_generated.h:1956
uint8_t type_hash[128]
Definition nros_generated.h:1980
uint8_t type_name[256]
Definition nros_generated.h:1972
const struct nros_node_t * node
Definition nros_generated.h:1996
size_t service_name_len
Definition nros_generated.h:1968
nros_service_callback_t callback
Definition nros_generated.h:1988
size_t type_hash_len
Definition nros_generated.h:1984
enum nros_service_state_t state
Definition nros_generated.h:1960
struct ServiceServerInternal _internal
Definition nros_generated.h:2015
uint8_t service_name[256]
Definition nros_generated.h:1964
struct nros_qos_t qos
Definition nros_generated.h:2002
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:2010
size_t type_name_len
Definition nros_generated.h:1976
uint64_t _opaque[SERVICE_SERVER_OPAQUE_U64S]
Definition nros_generated.h:2022
void * context
Definition nros_generated.h:1992
Definition nros_generated.h:2290
const char * type_hash
Definition nros_generated.h:2298
const char * type_name
Definition nros_generated.h:2294
Definition nros_generated.h:2355
nros_sched_context_id_t sched_context
Definition nros_generated.h:2365
uint8_t _reserved[2]
Definition nros_generated.h:2378
uint8_t message_info
Definition nros_generated.h:2373
Definition nros_generated.h:1639
const struct nros_node_t * node
Definition nros_generated.h:1679
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:1697
enum nros_subscription_state_t state
Definition nros_generated.h:1643
size_t type_hash_len
Definition nros_generated.h:1667
size_t handle_id
Definition nros_generated.h:1687
struct nros_qos_t qos
Definition nros_generated.h:1683
uint8_t topic_name[256]
Definition nros_generated.h:1647
uint64_t _opaque[SUBSCRIPTION_OPAQUE_U64S]
Definition nros_generated.h:1703
void * context
Definition nros_generated.h:1675
nros_subscription_callback_t callback
Definition nros_generated.h:1671
size_t type_name_len
Definition nros_generated.h:1659
size_t topic_name_len
Definition nros_generated.h:1651
uint8_t type_name[256]
Definition nros_generated.h:1655
uint8_t type_hash[128]
Definition nros_generated.h:1663
Definition nros_generated.h:919
uint8_t locator[128]
Definition nros_generated.h:931
uint8_t domain_id
Definition nros_generated.h:927
uint64_t _opaque[SESSION_OPAQUE_U64S]
Definition nros_generated.h:940
size_t locator_len
Definition nros_generated.h:935
enum nros_support_state_t state
Definition nros_generated.h:923
Definition nros_generated.h:790
int32_t sec
Definition nros_generated.h:794
uint32_t nanosec
Definition nros_generated.h:798
Definition nros_generated.h:1875
void * context
Definition nros_generated.h:1895
uint64_t last_call_time_ns
Definition nros_generated.h:1887
const struct nros_support_t * support
Definition nros_generated.h:1899
size_t handle_id
Definition nros_generated.h:1903
enum nros_timer_state_t state
Definition nros_generated.h:1879
uint64_t period_ns
Definition nros_generated.h:1883
nros_timer_callback_t callback
Definition nros_generated.h:1891
void * _executor
Definition nros_generated.h:1907
Definition nros_generated.h:1058
uint32_t _reserved
Definition nros_generated.h:1060
nros_ret_t(* write)(void *user_data, const uint8_t *buf, size_t len)
Definition nros_generated.h:1064
void(* close)(void *user_data)
Definition nros_generated.h:1063
nros_ret_t(* open)(void *user_data, const void *params)
Definition nros_generated.h:1062
uint32_t abi_version
Definition nros_generated.h:1059
void * user_data
Definition nros_generated.h:1061
int32_t(* read)(void *user_data, uint8_t *buf, size_t len, uint32_t timeout_ms)
Definition nros_generated.h:1065
Definition nros_generated.h:1373
uint64_t _opaque[2]
Definition nros_generated.h:1374
Definition nros_generated.h:835
double double_value
Definition nros_generated.h:847
uint8_t string_value[128]
Definition nros_generated.h:851
struct nros_param_array_t array_value
Definition nros_generated.h:855
bool bool_value
Definition nros_generated.h:839
int64_t integer_value
Definition nros_generated.h:843
#define NROS_PUBLIC
Definition visibility.h:33