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
119#define NROS_SERIALIZATION_FORMAT_ID 1
120
124#define NROS_MAX_PARAM_NAME_LEN 64
125
129#define NROS_MAX_PARAM_STRING_LEN 128
130
134#define NROS_LIFECYCLE_STATE_UNCONFIGURED 1
135
139#define NROS_LIFECYCLE_STATE_INACTIVE 2
140
144#define NROS_LIFECYCLE_STATE_ACTIVE 3
145
149#define NROS_LIFECYCLE_STATE_FINALIZED 4
150
154#define NROS_LIFECYCLE_STATE_ERROR_PROCESSING 5
155
159#define NROS_LIFECYCLE_TRANSITION_CONFIGURE 1
160
164#define NROS_LIFECYCLE_TRANSITION_ACTIVATE 2
165
169#define NROS_LIFECYCLE_TRANSITION_DEACTIVATE 3
170
174#define NROS_LIFECYCLE_TRANSITION_CLEANUP 4
175
179#define NROS_LIFECYCLE_TRANSITION_SHUTDOWN_UNCONFIGURED 5
180
184#define NROS_LIFECYCLE_TRANSITION_SHUTDOWN_INACTIVE 6
185
189#define NROS_LIFECYCLE_TRANSITION_SHUTDOWN_ACTIVE 7
190
194#define NROS_LIFECYCLE_TRANSITION_ERROR_RECOVERY 8
195
199#define NROS_LIFECYCLE_RET_OK 0
200
204#define NROS_LIFECYCLE_RET_FAILURE 1
205
209#define NROS_LIFECYCLE_RET_ERROR 2
210
215#define NROS_DOMAIN_ID_INHERIT UINT32_MAX
216
224#define NROS_DOMAIN_ID_EXPLICIT_ZERO 255
225
247
265
283
329
351
372
390
416
452
470
496
514
528
542
556
570
592
608
634
652
666
688
714
742
760
766#if defined(__cplusplus) || __STDC_VERSION__ >= 202311L
767 : uint8_t
768#endif // defined(__cplusplus) || __STDC_VERSION__ >= 202311L
769 {
775};
776#ifndef __cplusplus
777#if __STDC_VERSION__ >= 202311L
779#else
780typedef uint8_t nros_sched_class_t;
781#endif // __STDC_VERSION__ >= 202311L
782#endif // __cplusplus
783
789#if defined(__cplusplus) || __STDC_VERSION__ >= 202311L
790 : uint8_t
791#endif // defined(__cplusplus) || __STDC_VERSION__ >= 202311L
792 {
796};
797#ifndef __cplusplus
798#if __STDC_VERSION__ >= 202311L
800#else
801typedef uint8_t nros_sched_priority_t;
802#endif // __STDC_VERSION__ >= 202311L
803#endif // __cplusplus
804
810#if defined(__cplusplus) || __STDC_VERSION__ >= 202311L
811 : uint8_t
812#endif // defined(__cplusplus) || __STDC_VERSION__ >= 202311L
813 {
817};
818#ifndef __cplusplus
819#if __STDC_VERSION__ >= 202311L
821#else
823#endif // __STDC_VERSION__ >= 202311L
824#endif // __cplusplus
825
843
849typedef int nros_ret_t;
850
854typedef struct nros_time_t {
858 int32_t sec;
862 uint32_t nanosec;
864
868typedef struct nros_duration_t {
872 int32_t sec;
876 uint32_t nanosec;
878
889 const void *data;
893 size_t len;
895
921
939
943typedef bool (*nros_parameter_callback_t)(const char *name,
944 const struct nros_parameter_t *param,
945 void *context);
946
976
983typedef struct nros_support_t {
991 uint8_t domain_id;
1004 uint64_t _opaque[SESSION_OPAQUE_U64S];
1006
1023typedef bool (*nros_executor_trigger_t)(const bool *ready, size_t count, void *context);
1024
1097
1122typedef struct nros_transport_ops_t {
1123 uint32_t abi_version;
1124 uint32_t _reserved;
1126 nros_ret_t (*open)(void *user_data, const void *params);
1127 void (*close)(void *user_data);
1128 nros_ret_t (*write)(void *user_data, const uint8_t *buf, size_t len);
1129 int32_t (*read)(void *user_data, uint8_t *buf, size_t len, uint32_t timeout_ms);
1131
1135typedef struct nros_goal_uuid_t {
1139 uint8_t uuid[16];
1141
1146typedef void (*nros_goal_response_callback_t)(const struct nros_goal_uuid_t *goal_uuid,
1147 bool accepted,
1148 void *context);
1149
1153typedef void (*nros_feedback_callback_t)(const struct nros_goal_uuid_t *goal_uuid,
1154 const uint8_t *feedback,
1155 size_t feedback_len,
1156 void *context);
1157
1161typedef void (*nros_result_callback_t)(const struct nros_goal_uuid_t *goal_uuid,
1162 enum nros_goal_status_t status,
1163 const uint8_t *result,
1164 size_t result_len,
1165 void *context);
1166
1191typedef struct nros_node_ref_t {
1195 uint8_t node_id;
1199 uint32_t generation;
1201
1208
1227
1300
1314typedef struct nros_qos_override_t {
1319 const char *topic;
1323 uint8_t role;
1330 uint8_t policy;
1339 uint32_t value;
1341
1424
1450
1469
1478typedef struct nros_wake_state_t {
1479 uint64_t _opaque[2];
1481
1500
1508 const struct nros_goal_handle_t *goal,
1509 const uint8_t *goal_request,
1510 size_t goal_len,
1511 void *context);
1512
1520 const struct nros_goal_handle_t *goal,
1521 void *context);
1522
1529typedef void (*nros_accepted_callback_t)(struct nros_action_server_t *server,
1530 const struct nros_goal_handle_t *goal,
1531 void *context);
1532
1590
1636
1718
1737
1746typedef void (*nros_subscription_callback_t)(const uint8_t *data, size_t len, void *context);
1747
1817
1827
1833 void *user_context);
1834
1842
1848 struct nros_count_status_t status,
1849 void *user_context);
1850
1893
1899 struct nros_count_status_t status,
1900 void *user_context);
1901
1912typedef bool (*nros_node_visit_fn)(void *ctx,
1913 const char *node_name,
1914 const char *node_namespace,
1915 const char *enclave);
1916
1924typedef bool (*nros_names_and_types_visit_fn)(void *ctx,
1925 const char *name,
1926 const char *const *types,
1927 size_t types_count);
1928
1938typedef struct nros_endpoint_info_t {
1942 const char *node_name;
1946 const char *node_namespace;
1950 const char *topic_type;
1958 uint8_t endpoint_gid[24];
1960
1964typedef bool (*nros_endpoint_info_visit_fn)(void *ctx, const struct nros_endpoint_info_t *info);
1965
2019
2033typedef void (*nros_subscription_info_callback_t)(const uint8_t *data,
2034 size_t len,
2035 const uint8_t *attachment,
2036 size_t attachment_len,
2037 void *context);
2038
2046typedef void (*nros_timer_callback_t)(struct nros_timer_t *timer, void *context);
2047
2085
2101typedef bool (*nros_service_callback_t)(const uint8_t *request_data,
2102 size_t request_len,
2103 uint8_t *response_data,
2104 size_t response_capacity,
2105 size_t *response_len,
2106 void *context);
2107
2128
2200
2209typedef void (*nros_response_callback_t)(const uint8_t *response, size_t response_len, void *context);
2210
2232
2305
2310
2349
2391
2398typedef void (*nros_shutdown_callback_t)(void *context);
2399
2408
2425 uint8_t _pad[7];
2429 uint64_t storage[NROS_LIFECYCLE_CTX_OPAQUE_U64S];
2431
2457typedef uint8_t (*nros_lifecycle_callback_t)(void *context);
2458
2482
2503
2510typedef struct nros_service_type_t {
2514 const char *type_name;
2518 const char *type_hash;
2520
2545
2564
2600
2621
2625#define NROS_RET_OK 0
2626
2630#define NROS_RET_ERROR -1
2631
2635#define NROS_RET_TIMEOUT -2
2636
2640#define NROS_RET_INVALID_ARGUMENT -3
2641
2645#define NROS_RET_NOT_FOUND -4
2646
2650#define NROS_RET_ALREADY_EXISTS -5
2651
2655#define NROS_RET_FULL -6
2656
2660#define NROS_RET_NOT_INIT -7
2661
2665#define NROS_RET_BAD_SEQUENCE -8
2666
2678#define NROS_RET_STALE_NODE -17
2679
2683#define NROS_RET_SERVICE_FAILED -9
2684
2688#define NROS_RET_PUBLISH_FAILED -10
2689
2693#define NROS_RET_SUBSCRIPTION_FAILED -11
2694
2698#define NROS_RET_NOT_ALLOWED -12
2699
2703#define NROS_RET_REJECTED -13
2704
2709#define NROS_RET_TRY_AGAIN -14
2710
2717#define NROS_RET_REENTRANT -15
2718
2724#define NROS_RET_UNSUPPORTED -16
2725
2729#define NROS_SHUTDOWN_CALLBACK_HANDLE_INVALID 4294967295
2730
2731#ifdef __cplusplus
2732extern "C" {
2733#endif // __cplusplus
2734
2738extern const struct nros_qos_t NROS_QOS_DEFAULT;
2739
2743extern const struct nros_qos_t NROS_QOS_SENSOR_DATA;
2744
2748extern const struct nros_qos_t NROS_QOS_SERVICES;
2749
2760extern const uint32_t NROS_TRANSPORT_OPS_ABI_VERSION_V1;
2761
2763
2765
2770
2775
2783
2789
2791
2792extern void nros_platform_critical_section_release(uint32_t token);
2793
2803NROS_PUBLIC int32_t nros_cdr_write_encaps_header(uint8_t **ptr, const uint8_t *end);
2804
2817int64_t nros_cdr_begin_dheader(uint8_t **ptr,
2818 const uint8_t *end,
2819 const uint8_t *origin);
2820
2830int32_t nros_cdr_end_dheader(int64_t mark,
2831 uint8_t **ptr,
2832 const uint8_t *end,
2833 const uint8_t *origin);
2834
2845int64_t nros_cdr_begin_dheader_read(const uint8_t **ptr,
2846 const uint8_t *end,
2847 const uint8_t *origin);
2848
2859int32_t nros_cdr_end_dheader_read(int64_t scope,
2860 const uint8_t **ptr,
2861 const uint8_t *end,
2862 const uint8_t *origin);
2863
2871int32_t nros_cdr_write_bool(uint8_t **ptr,
2872 const uint8_t *end,
2873 const uint8_t *origin,
2874 bool value);
2875
2881int32_t nros_cdr_write_u8(uint8_t **ptr,
2882 const uint8_t *end,
2883 const uint8_t *origin,
2884 uint8_t value);
2885
2890int32_t nros_cdr_write_i8(uint8_t **ptr,
2891 const uint8_t *end,
2892 const uint8_t *origin,
2893 int8_t value);
2894
2900int32_t nros_cdr_write_u16(uint8_t **ptr,
2901 const uint8_t *end,
2902 const uint8_t *origin,
2903 uint16_t value);
2904
2909int32_t nros_cdr_write_i16(uint8_t **ptr,
2910 const uint8_t *end,
2911 const uint8_t *origin,
2912 int16_t value);
2913
2919int32_t nros_cdr_write_u32(uint8_t **ptr,
2920 const uint8_t *end,
2921 const uint8_t *origin,
2922 uint32_t value);
2923
2928int32_t nros_cdr_write_i32(uint8_t **ptr,
2929 const uint8_t *end,
2930 const uint8_t *origin,
2931 int32_t value);
2932
2938int32_t nros_cdr_write_u64(uint8_t **ptr,
2939 const uint8_t *end,
2940 const uint8_t *origin,
2941 uint64_t value);
2942
2947int32_t nros_cdr_write_i64(uint8_t **ptr,
2948 const uint8_t *end,
2949 const uint8_t *origin,
2950 int64_t value);
2951
2957int32_t nros_cdr_write_f32(uint8_t **ptr,
2958 const uint8_t *end,
2959 const uint8_t *origin,
2960 float value);
2961
2967int32_t nros_cdr_write_f64(uint8_t **ptr,
2968 const uint8_t *end,
2969 const uint8_t *origin,
2970 double value);
2971
2976int32_t nros_cdr_write_string(uint8_t **ptr,
2977 const uint8_t *end,
2978 const uint8_t *origin,
2979 const char *value);
2980
2985int32_t nros_cdr_write_string_n(uint8_t **ptr,
2986 const uint8_t *end,
2987 const uint8_t *origin,
2988 const char *data,
2989 size_t data_len);
2990
2999int32_t nros_cdr_read_bool(const uint8_t **ptr,
3000 const uint8_t *end,
3001 const uint8_t *origin,
3002 bool *value);
3003
3009int32_t nros_cdr_read_u8(const uint8_t **ptr,
3010 const uint8_t *end,
3011 const uint8_t *origin,
3012 uint8_t *value);
3013
3018int32_t nros_cdr_read_i8(const uint8_t **ptr,
3019 const uint8_t *end,
3020 const uint8_t *origin,
3021 int8_t *value);
3022
3027int32_t nros_cdr_read_u16(const uint8_t **ptr,
3028 const uint8_t *end,
3029 const uint8_t *origin,
3030 uint16_t *value);
3031
3036int32_t nros_cdr_read_i16(const uint8_t **ptr,
3037 const uint8_t *end,
3038 const uint8_t *origin,
3039 int16_t *value);
3040
3045int32_t nros_cdr_read_u32(const uint8_t **ptr,
3046 const uint8_t *end,
3047 const uint8_t *origin,
3048 uint32_t *value);
3049
3054int32_t nros_cdr_read_i32(const uint8_t **ptr,
3055 const uint8_t *end,
3056 const uint8_t *origin,
3057 int32_t *value);
3058
3063int32_t nros_cdr_read_u64(const uint8_t **ptr,
3064 const uint8_t *end,
3065 const uint8_t *origin,
3066 uint64_t *value);
3067
3072int32_t nros_cdr_read_i64(const uint8_t **ptr,
3073 const uint8_t *end,
3074 const uint8_t *origin,
3075 int64_t *value);
3076
3081int32_t nros_cdr_read_f32(const uint8_t **ptr,
3082 const uint8_t *end,
3083 const uint8_t *origin,
3084 float *value);
3085
3090int32_t nros_cdr_read_f64(const uint8_t **ptr,
3091 const uint8_t *end,
3092 const uint8_t *origin,
3093 double *value);
3094
3100int32_t nros_cdr_read_string(const uint8_t **ptr,
3101 const uint8_t *end,
3102 const uint8_t *origin,
3103 char *value,
3104 size_t max_len);
3105
3110
3116 enum nros_clock_type_t clock_type);
3117
3123 struct nros_time_t *time_out);
3124
3130 int64_t *nanoseconds);
3131
3136
3141
3146
3156
3166
3175 bool *is_enabled);
3176
3188 int64_t nanoseconds);
3189
3202 int64_t *nanoseconds);
3203
3214
3219
3232
3237
3243 struct nros_duration_t duration);
3244
3250 struct nros_duration_t duration);
3251
3256
3261
3267 struct nros_parameter_t *storage,
3268 size_t capacity);
3269
3276 void *context);
3277
3283 const char *name,
3284 const char *default_value);
3285
3291 const char *name,
3292 char *value,
3293 size_t max_len);
3294
3300 const char *name,
3301 const char *value);
3302
3306NROS_PUBLIC bool nros_parameter_has(const struct nros_parameter_server_t *server, const char *name);
3307
3313 const char *name);
3314
3319
3324
3333
3339 const char *name,
3340 const char *value);
3341
3347 const char *name,
3348 char *out_value,
3349 size_t max_len);
3350
3356 const char *name,
3357 const char *value);
3358
3362NROS_PUBLIC bool nros_executor_has_param(struct nros_executor_t *executor, const char *name);
3363
3367extern uint64_t nros_platform_clock_ns(void);
3368
3372extern void nros_platform_sleep_us(size_t us);
3373
3381extern uint64_t nros_platform_time_now_ns(void);
3382
3410NROS_PUBLIC void nros_set_trace_sink(void (*sink)(uint32_t, uint32_t));
3411
3434
3441
3449
3454
3460 const struct nros_node_t *node,
3461 const char *action_name,
3462 const struct nros_action_type_t *type_info);
3463
3468
3481 const struct nros_node_t *node,
3482 const char *action_name,
3483 const struct nros_action_type_t *type_info,
3484 const struct nros_action_client_options_t *options);
3485
3492 void *context);
3493
3500 void *context);
3501
3523 struct nros_executor_t *executor,
3524 uint32_t timeout_ms);
3525
3534 struct nros_executor_t *executor);
3535
3560 struct nros_executor_t *executor,
3561 const uint8_t *goal,
3562 size_t goal_len,
3563 struct nros_goal_uuid_t *goal_uuid);
3564
3570 const struct nros_goal_uuid_t *goal_uuid);
3571
3580 struct nros_executor_t *executor,
3581 const struct nros_goal_uuid_t *goal_uuid,
3582 enum nros_goal_status_t *status,
3583 uint8_t *result,
3584 size_t result_capacity,
3585 size_t *result_len);
3586
3595
3612 const uint8_t *goal,
3613 size_t goal_len,
3614 struct nros_goal_uuid_t *goal_uuid);
3615
3629 const struct nros_goal_uuid_t *goal_uuid);
3630
3643 void *context);
3644
3656
3661
3684 const struct nros_node_t *node,
3685 const struct nros_action_type_t *type_info,
3686 const char *action_name);
3687
3695 const uint8_t *goal_cdr,
3696 size_t goal_len,
3697 uint8_t (*goal_id_out)[16]);
3698
3706 uint8_t *buf,
3707 size_t buf_len);
3708
3715 const uint8_t (*goal_id)[16]);
3716
3724 uint8_t *buf,
3725 size_t buf_len);
3726
3732 const uint8_t (*goal_id)[16]);
3733
3741 uint8_t *buf,
3742 size_t buf_len);
3743
3750 struct nros_wake_state_t *state,
3751 void (*cb)(void*),
3752 void *ctx);
3753
3759 struct nros_wake_state_t *state,
3760 void (*cb)(void*),
3761 void *ctx);
3762
3768 struct nros_wake_state_t *state,
3769 void (*cb)(void*),
3770 void *ctx);
3771
3777 struct nros_wake_state_t *state,
3778 void (*cb)(void*),
3779 void *ctx);
3780
3788 uint8_t *buf,
3789 size_t buf_len,
3790 uint8_t (*goal_id_out)[16]);
3791
3796
3802 const struct nros_goal_uuid_t *b);
3803
3808
3818
3827 const struct nros_node_t *node,
3828 const char *action_name,
3829 const struct nros_action_type_t *type_info,
3833 void *context);
3834
3847 const struct nros_node_t *node,
3848 const char *action_name,
3849 const struct nros_action_type_t *type_info,
3853 void *context,
3854 const struct nros_qos_t *qos);
3855
3860
3873 const struct nros_node_t *node,
3874 const char *action_name,
3875 const struct nros_action_type_t *type_info,
3876 nros_goal_callback_t goal_callback,
3877 nros_cancel_callback_t cancel_callback,
3878 nros_accepted_callback_t accepted_callback,
3879 void *context,
3880 const struct nros_qos_t *qos,
3881 const struct nros_action_server_options_t *options);
3882
3892 const struct nros_goal_handle_t *goal,
3893 const uint8_t *feedback,
3894 size_t feedback_len);
3895
3904 const struct nros_goal_handle_t *goal,
3905 const uint8_t *result,
3906 size_t result_len);
3907
3915 const struct nros_goal_handle_t *goal,
3916 const uint8_t *result,
3917 size_t result_len);
3918
3926 const struct nros_goal_handle_t *goal,
3927 const uint8_t *result,
3928 size_t result_len);
3929
3940 const struct nros_goal_handle_t *goal);
3941
3981 size_t *out);
3982
3997 const struct nros_goal_handle_t *goal,
3998 enum nros_goal_status_t *status);
3999
4004
4027 const struct nros_node_t *node,
4028 const struct nros_action_type_t *type_info,
4029 const char *action_name);
4030
4045 uint8_t *buf,
4046 size_t buf_len,
4047 uint8_t (*goal_id_out)[16],
4048 int64_t *sequence_number_out);
4049
4056 const uint8_t (*goal_id)[16],
4057 int64_t sequence_number);
4058
4065 int64_t sequence_number);
4066
4075 const uint8_t (*goal_id)[16],
4076 const uint8_t *feedback_cdr,
4077 size_t feedback_len);
4078
4088 const uint8_t (*goal_id)[16],
4089 enum nros_goal_status_t status,
4090 const uint8_t *result_cdr,
4091 size_t result_len);
4092
4108 uint8_t (*goal_id_out)[16],
4109 int64_t *sequence_number_out,
4110 enum nros_goal_status_t *current_status_out);
4111
4123 int64_t sequence_number,
4124 enum nros_cancel_return_code_t return_code,
4125 const uint8_t (*accepted)[16],
4126 size_t accepted_count);
4127
4140 const uint8_t *default_result_cdr,
4141 size_t default_result_len);
4142
4151 struct nros_wake_state_t *state,
4152 void (*cb)(void*),
4153 void *ctx);
4154
4163 struct nros_wake_state_t *state,
4164 void (*cb)(void*),
4165 void *ctx);
4166
4173 struct nros_wake_state_t *state,
4174 void (*cb)(void*),
4175 void *ctx);
4176
4193 void *_user_context);
4194
4208 uint32_t _deadline_ms,
4210 void *_user_context);
4211
4222 void *_user_context);
4223
4235 void *_user_context);
4236
4248 uint32_t _deadline_ms,
4250 void *_user_context);
4251
4256
4275 const struct nros_support_t *support,
4276 size_t max_handles);
4277
4286 uint64_t timeout_ns);
4287
4307NROS_PUBLIC nros_ret_t nros_executor_ping(struct nros_executor_t *executor, int32_t timeout_ms);
4308
4336 nros_node_visit_fn visit,
4337 void *ctx);
4338
4363 void *ctx);
4364
4376 void *ctx);
4377
4392 const char *topic_name,
4393 size_t *out_count);
4394
4406 const char *topic_name,
4407 size_t *out_count);
4408
4419 const char *node_name,
4420 const char *node_namespace,
4422 void *ctx);
4423
4441 const char *node_name,
4442 const char *node_namespace,
4444 void *ctx);
4445
4454 const char *node_name,
4455 const char *node_namespace,
4457 void *ctx);
4458
4467 const char *node_name,
4468 const char *node_namespace,
4470 void *ctx);
4471
4482 const char *topic_name,
4484 void *ctx);
4485
4494 const char *topic_name,
4496 void *ctx);
4497
4507
4549 struct nros_node_t *node,
4550 const char *name,
4551 const struct nros_node_options_t *options);
4552
4562 void *context);
4563
4570NROS_PUBLIC bool nros_executor_trigger_any(const bool *ready, size_t count, void *context);
4571
4578NROS_PUBLIC bool nros_executor_trigger_all(const bool *ready, size_t count, void *context);
4579
4586NROS_PUBLIC bool nros_executor_trigger_always(const bool *ready, size_t count, void *context);
4587
4606NROS_PUBLIC bool nros_executor_trigger_one(const bool *ready, size_t count, void *context);
4607
4620 struct nros_subscription_t *subscription,
4621 enum nros_executor_handle_invocation_t invocation);
4622
4643 const struct nros_node_t *node,
4644 const char *topic_name,
4645 const char *type_name,
4646 const char *type_hash,
4647 const struct nros_qos_t *qos,
4649 void *context);
4650
4662 struct nros_timer_t *timer);
4663
4677 struct nros_subscription_t *subscription,
4678 enum nros_executor_handle_invocation_t invocation,
4679 const char *callback_group);
4680
4694 struct nros_timer_t *timer,
4695 const char *callback_group);
4696
4708 struct nros_service_t *service);
4709
4728 struct nros_client_t *client);
4729
4738 struct nros_guard_condition_t *guard);
4739
4751 struct nros_action_server_t *server);
4752
4770 struct nros_action_client_t *client);
4771
4782 uint64_t timeout_ns);
4783
4791
4800 uint64_t period_ns);
4801
4810 uint64_t period_ns);
4811
4819
4827
4832
4837
4842
4849
4859 uint32_t major_frame_us);
4860
4873 const struct nros_sched_context_t *cfg,
4874 nros_sched_context_id_t *out_sc_id);
4875
4895 size_t handle,
4897
4922 void *context,
4924
4938 void *context,
4940
4955
4966
4971
4977 const struct nros_support_t *support);
4978
4985 void *context);
4986
4995
5000
5005
5010
5015
5020
5043
5048
5054 uint8_t transition_id);
5055
5061
5068 void *context);
5069
5076 void *context);
5077
5084 void *context);
5085
5092 void *context);
5093
5100 void *context);
5101
5108 void *context);
5109
5119
5132
5143 uint8_t transition_id);
5144
5151 void *context);
5152
5159 void *context);
5160
5167 void *context);
5168
5175 void *context);
5176
5183 void *context);
5184
5191 void *context);
5192
5213 const struct nros_qos_override_t *overrides,
5214 size_t len);
5215
5224
5232
5260 const struct nros_support_t *support,
5261 const char *name,
5262 const char *namespace_);
5263
5305 const struct nros_support_t *support,
5306 const char *name,
5307 const struct nros_node_options_t *options);
5308
5324
5337NROS_PUBLIC const char *nros_node_get_name(const struct nros_node_t *node);
5338
5351NROS_PUBLIC const char *nros_node_get_namespace(const struct nros_node_t *node);
5352
5380
5399NROS_PUBLIC const void *nros_node_get_logger(const struct nros_node_t *node);
5400
5409
5414
5439 const struct nros_node_t *node,
5440 const struct nros_message_type_t *type_info,
5441 const char *topic_name);
5442
5465 const struct nros_node_t *node,
5466 const struct nros_message_type_t *type_info,
5467 const char *topic_name,
5468 const struct nros_qos_t *qos);
5469
5502 const struct nros_node_t *node,
5503 const struct nros_message_type_t *type_info,
5504 const char *topic_name,
5505 const struct nros_qos_t *qos,
5506 const struct nros_publisher_options_t *options);
5507
5528 const uint8_t *data,
5529 size_t len);
5530
5564 void (*size_cb)(size_t *out_total_len, void *user_ctx),
5565 void (*chunk_cb)(uint8_t *out_buf,
5566 size_t cap,
5567 size_t *out_written,
5568 void *user_ctx),
5569 void *user_ctx);
5570
5593
5653 size_t requested_len,
5654 uint8_t **out_buf,
5655 size_t *out_cap,
5656 void **out_token);
5657
5674 void *token,
5675 size_t actual_len);
5676
5692 void *token);
5693
5709
5720
5731
5736
5756 const struct nros_node_t *node,
5757 const struct nros_service_type_t *type_info,
5758 const char *service_name,
5760 void *context);
5761
5773 const struct nros_node_t *node,
5774 const struct nros_service_type_t *type_info,
5775 const char *service_name,
5777 void *context,
5778 const struct nros_qos_t *qos);
5779
5784
5799 const struct nros_node_t *node,
5800 const struct nros_service_type_t *type_info,
5801 const char *service_name,
5803 void *context,
5804 const struct nros_qos_t *qos,
5805 const struct nros_service_options_t *options);
5806
5819
5846 const struct nros_node_t *node,
5847 const struct nros_service_type_t *type_info,
5848 const char *service_name);
5849
5854
5870 struct nros_wake_state_t *state,
5871 void (*cb)(void*),
5872 void *ctx);
5873
5881 struct nros_wake_state_t *state,
5882 void (*cb)(void*),
5883 void *ctx);
5884
5901 uint8_t *buf,
5902 size_t buf_len,
5903 int64_t *sequence_number);
5904
5918 int64_t sequence_number,
5919 const uint8_t *data,
5920 size_t len);
5921
5933 uint8_t *_request_data,
5934 size_t _request_capacity,
5935 size_t *_request_len,
5936 int64_t *_sequence_number);
5937
5948
5959
5964
5986 const struct nros_node_t *node,
5987 const struct nros_service_type_t *type_info,
5988 const char *service_name);
5989
6001 const struct nros_node_t *node,
6002 const struct nros_service_type_t *type_info,
6003 const char *service_name,
6004 const struct nros_qos_t *qos);
6005
6010
6023 const struct nros_node_t *node,
6024 const struct nros_service_type_t *type_info,
6025 const char *service_name,
6026 const struct nros_qos_t *qos,
6027 const struct nros_client_options_t *options);
6028
6045
6072 const struct nros_node_t *node,
6073 const struct nros_service_type_t *type_info,
6074 const char *service_name);
6075
6087 const uint8_t *data,
6088 size_t len);
6089
6105 uint8_t *buf,
6106 size_t buf_len);
6107
6115 void *context);
6116
6121
6142
6166 uint32_t timeout_ms);
6167
6177
6193 const uint8_t *request_data,
6194 size_t request_len);
6195
6207 uint8_t *response_data,
6208 size_t response_capacity,
6209 size_t *response_len);
6210
6237 const uint8_t *request_data,
6238 size_t request_len,
6239 uint8_t *response_data,
6240 size_t response_capacity,
6241 size_t *response_len);
6242
6253
6264
6269
6279
6307 const struct nros_node_t *node,
6308 const struct nros_message_type_t *type_info,
6309 const char *topic_name,
6311 void *context);
6312
6321 const struct nros_node_t *node,
6322 const struct nros_message_type_t *type_info,
6323 const char *topic_name,
6325 void *context,
6326 const struct nros_qos_t *qos);
6327
6364 const struct nros_node_t *node,
6365 const struct nros_message_type_t *type_info,
6366 const char *topic_name,
6368 void *context,
6369 const struct nros_qos_t *qos,
6370 const struct nros_subscription_options_t *options);
6371
6400 const struct nros_node_t *node,
6401 const struct nros_message_type_t *type_info,
6402 const char *topic_name);
6403
6415 const struct nros_node_t *node,
6416 const struct nros_message_type_t *type_info,
6417 const char *topic_name,
6418 const struct nros_qos_t *qos);
6419
6434 struct nros_wake_state_t *state,
6435 void (*cb)(void*),
6436 void *ctx);
6437
6460 uint8_t *buf,
6461 size_t buf_len);
6462
6487 uint8_t *buf,
6488 size_t buf_len,
6490
6530 const uint8_t **out_buf,
6531 size_t *out_len,
6532 void **out_token);
6533
6553 void *token);
6554
6577 uint8_t *buf,
6578 size_t per_msg_cap,
6579 size_t max_msgs,
6580 size_t *out_lens);
6581
6587
6598const char *nros_subscription_get_topic_name(const struct nros_subscription_t *subscription);
6599
6610
6618
6641 const char *locator,
6642 uint8_t domain_id);
6643
6664 const char *locator,
6665 uint8_t domain_id,
6666 const char *session_name);
6667
6689 const char *locator,
6690 uint8_t domain_id,
6691 const char *session_name,
6692 const char *rmw);
6693
6711
6722
6727
6749 const struct nros_support_t *support,
6750 uint64_t period_ns,
6752 void *context);
6753
6769
6786
6799
6810
6820NROS_PUBLIC uint64_t nros_timer_get_period(const struct nros_timer_t *timer);
6821
6834 uint64_t current_time_ns);
6835
6836#ifdef __cplusplus
6837} // extern "C"
6838#endif // __cplusplus
6839
6840#endif /* NROS_GENERATED_H */
uint8_t size_t response_capacity
Definition client.h:55
enum nros_parameter_type_t nros_parameter_get_type(const struct nros_parameter_server_t *server, const char *name)
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)
nros_ret_t nros_get_ros_time_override(const struct nros_clock_t *clock, int64_t *nanoseconds)
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:2101
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:2309
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:2033
void(* nros_accepted_callback_t)(struct nros_action_server_t *server, const struct nros_goal_handle_t *goal, void *context)
Definition nros_generated.h:1529
nros_ret_t nros_executor_get_topic_names_and_types(struct nros_executor_t *executor, nros_names_and_types_visit_fn visit, void *ctx)
nros_ret_t nros_executor_lifecycle_register_on_activate(struct nros_executor_t *executor, nros_lifecycle_callback_t cb, void *context)
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)
struct nros_duration_t nros_duration_from_nanoseconds(int64_t nanoseconds)
nros_ret_t nros_lifecycle_init(struct nros_lifecycle_state_machine_t *sm)
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_lifecycle_register_on_shutdown(struct nros_lifecycle_state_machine_t *sm, nros_lifecycle_callback_t cb, void *context)
nros_ret_t nros_executor_register_parameter_services(struct nros_executor_t *executor)
#define NROS_MAX_PARAM_NAME_LEN
Definition nros_generated.h:124
bool(* nros_parameter_callback_t)(const char *name, const struct nros_parameter_t *param, void *context)
Definition nros_generated.h:943
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)
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)
bool(* nros_node_visit_fn)(void *ctx, const char *node_name, const char *node_namespace, const char *enclave)
Definition nros_generated.h:1912
nros_ret_t nros_node_init(struct nros_node_t *node, const struct nros_support_t *support, const char *name, const char *namespace_)
nros_ret_t nros_parameter_set_string(struct nros_parameter_server_t *server, const char *name, const char *value)
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:251
@ NROS_CLOCK_STATE_SHUTDOWN
Definition nros_generated.h:263
@ NROS_CLOCK_STATE_UNINITIALIZED
Definition nros_generated.h:255
@ NROS_CLOCK_STATE_READY
Definition nros_generated.h:259
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)
bool nros_clock_is_valid(const struct nros_clock_t *clock)
nros_ret_t nros_executor_add_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)
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:1507
nros_ret_t nros_executor_add_timer_in_group(struct nros_executor_t *executor, struct nros_timer_t *timer, const char *callback_group)
bool nros_executor_trigger_all(const bool *ready, size_t count, void *context)
nros_ret_t nros_executor_add_on_shutdown_callback(struct nros_executor_t *executor, nros_shutdown_callback_t callback, void *context, nros_shutdown_callback_handle_t *out_handle)
void nros_platform_critical_section_release(uint32_t token)
nros_sched_class_t
Definition nros_generated.h:769
@ NROS_SCHED_CLASS_SPORADIC
Definition nros_generated.h:772
@ NROS_SCHED_CLASS_FIFO
Definition nros_generated.h:770
@ NROS_SCHED_CLASS_BEST_EFFORT
Definition nros_generated.h:773
@ NROS_SCHED_CLASS_EDF
Definition nros_generated.h:771
@ NROS_SCHED_CLASS_TIME_TRIGGERED
Definition nros_generated.h:774
void(* nros_subscription_callback_t)(const uint8_t *data, size_t len, void *context)
Definition nros_generated.h:1746
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:746
@ NROS_GUARD_CONDITION_STATE_SHUTDOWN
Definition nros_generated.h:758
@ NROS_GUARD_CONDITION_STATE_INITIALIZED
Definition nros_generated.h:754
@ NROS_GUARD_CONDITION_STATE_UNINITIALIZED
Definition nros_generated.h:750
struct nros_action_client_options_t nros_action_client_get_default_options(void)
int32_t nros_subscription_take_sequence(struct nros_subscription_t *subscription, uint8_t *buf, size_t per_msg_cap, size_t max_msgs, size_t *out_lens)
nros_ret_t nros_executor_count_subscribers(struct nros_executor_t *executor, const char *topic_name, size_t *out_count)
uint64_t nros_timer_get_time_until_next_call(const struct nros_timer_t *timer, uint64_t current_time_ns)
int32_t nros_subscription_take_validated(struct nros_subscription_t *subscription, uint8_t *buf, size_t buf_len, struct nros_integrity_status_t *out_status)
nros_action_server_state_t
Definition nros_generated.h:474
@ NROS_ACTION_SERVER_STATE_INITIALIZED
Definition nros_generated.h:484
@ NROS_ACTION_SERVER_STATE_SHUTDOWN
Definition nros_generated.h:488
@ NROS_ACTION_SERVER_STATE_POLLING
Definition nros_generated.h:494
@ NROS_ACTION_SERVER_STATE_UNINITIALIZED
Definition nros_generated.h:478
nros_ret_t nros_guard_condition_clear(struct nros_guard_condition_t *guard)
nros_ret_t nros_executor_add_guard_condition(struct nros_executor_t *executor, struct nros_guard_condition_t *guard)
const struct nros_qos_t NROS_QOS_SERVICES
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_cdr_write_bool(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, bool value)
uint8_t(* nros_lifecycle_callback_t)(void *context)
Definition nros_generated.h:2457
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)
const char * nros_node_get_serialization_format(const struct nros_node_t *node)
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_remove_pre_shutdown_callback(struct nros_executor_t *executor, nros_shutdown_callback_handle_t handle)
uint8_t nros_sched_context_id_t
Definition nros_generated.h:1207
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:1153
size_t nros_heap_platform_used_bytes(void)
uint64_t nros_timer_get_period(const struct nros_timer_t *timer)
bool nros_clock_time_started(const struct nros_clock_t *clock)
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)
nros_ret_t nros_parameter_server_init(struct nros_parameter_server_t *server, struct nros_parameter_t *storage, size_t capacity)
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)
nros_ret_t nros_action_client_set_goal_response_callback(struct nros_action_client_t *client, nros_goal_response_callback_t callback, void *context)
nros_ret_t nros_executor_add_time_triggered_dispatcher(struct nros_executor_t *executor, uint32_t major_frame_us)
bool nros_action_client_action_server_is_ready(const struct nros_action_client_t *client, struct nros_executor_t *executor)
nros_ret_t nros_executor_get_subscriptions_info_by_topic(struct nros_executor_t *executor, const char *topic_name, nros_endpoint_info_visit_fn visit, void *ctx)
int32_t nros_client_take_response_raw(struct nros_client_t *client, uint8_t *buf, size_t buf_len)
bool(* nros_endpoint_info_visit_fn)(void *ctx, const struct nros_endpoint_info_t *info)
Definition nros_generated.h:1964
void nros_set_trace_sink(void(*sink)(uint32_t, uint32_t))
nros_ret_t nros_parameter_server_set_callback(struct nros_parameter_server_t *server, nros_parameter_callback_t callback, void *context)
nros_ret_t nros_node_fini(struct nros_node_t *node)
nros_executor_state_t
Definition nros_generated.h:333
@ NROS_EXECUTOR_STATE_SHUTDOWN
Definition nros_generated.h:349
@ NROS_EXECUTOR_STATE_UNINITIALIZED
Definition nros_generated.h:337
@ NROS_EXECUTOR_STATE_SPINNING
Definition nros_generated.h:345
@ NROS_EXECUTOR_STATE_INITIALIZED
Definition nros_generated.h:341
nros_ret_t nros_clock_get_now(const struct nros_clock_t *clock, struct nros_time_t *time_out)
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)
size_t nros_parameter_server_get_count(const struct nros_parameter_server_t *server)
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_executor_get_publisher_names_and_types_by_node(struct nros_executor_t *executor, const char *node_name, const char *node_namespace, nros_names_and_types_visit_fn visit, void *ctx)
nros_ret_t nros_executor_add_action_server(struct nros_executor_t *executor, struct nros_action_server_t *server)
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:574
@ NROS_QOS_LIVELINESS_NONE
Definition nros_generated.h:578
@ NROS_QOS_LIVELINESS_MANUAL_BY_TOPIC
Definition nros_generated.h:586
@ NROS_QOS_LIVELINESS_MANUAL_BY_NODE
Definition nros_generated.h:590
@ NROS_QOS_LIVELINESS_AUTOMATIC
Definition nros_generated.h:582
uint8_t nros_executor_lifecycle_get_current_state(struct nros_executor_t *executor)
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_is_enabled_ros_time_override(const struct nros_clock_t *clock, bool *is_enabled)
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)
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_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)
nros_ret_t nros_executor_get_subscriber_names_and_types_by_node(struct nros_executor_t *executor, const char *node_name, const char *node_namespace, nros_names_and_types_visit_fn visit, void *ctx)
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_executor_add_service(struct nros_executor_t *executor, struct nros_service_t *service)
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)
nros_ret_t nros_executor_count_publishers(struct nros_executor_t *executor, const char *topic_name, size_t *out_count)
int32_t nros_cdr_end_dheader_read(int64_t scope, const uint8_t **ptr, const uint8_t *end, const uint8_t *origin)
nros_ret_t nros_lifecycle_register_on_configure(struct nros_lifecycle_state_machine_t *sm, nros_lifecycle_callback_t cb, void *context)
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_parameter_server_fini(struct nros_parameter_server_t *server)
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:560
@ NROS_QOS_HISTORY_KEEP_LAST
Definition nros_generated.h:564
@ NROS_QOS_HISTORY_KEEP_ALL
Definition nros_generated.h:568
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_executor_get_publishers_info_by_topic(struct nros_executor_t *executor, const char *topic_name, nros_endpoint_info_visit_fn visit, void *ctx)
nros_action_client_state_t
Definition nros_generated.h:394
@ NROS_ACTION_CLIENT_STATE_UNINITIALIZED
Definition nros_generated.h:398
@ NROS_ACTION_CLIENT_STATE_POLLING
Definition nros_generated.h:414
@ NROS_ACTION_CLIENT_STATE_INITIALIZED
Definition nros_generated.h:404
@ NROS_ACTION_CLIENT_STATE_SHUTDOWN
Definition nros_generated.h:408
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:1146
nros_ret_t nros_publisher_commit(const struct nros_publisher_t *publisher, void *token, size_t actual_len)
uint64_t nros_platform_clock_ns(void)
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:638
@ NROS_PUBLISHER_STATE_INITIALIZED
Definition nros_generated.h:646
@ NROS_PUBLISHER_STATE_SHUTDOWN
Definition nros_generated.h:650
@ NROS_PUBLISHER_STATE_UNINITIALIZED
Definition nros_generated.h:642
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_executor_add_subscription_in_group(struct nros_executor_t *executor, struct nros_subscription_t *subscription, enum nros_executor_handle_invocation_t invocation, const char *callback_group)
nros_ret_t nros_guard_condition_init(struct nros_guard_condition_t *guard, const struct nros_support_t *support)
nros_ret_t nros_set_ros_time_override(const struct nros_clock_t *clock, int64_t nanoseconds)
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)
nros_ret_t nros_executor_get_client_names_and_types_by_node(struct nros_executor_t *executor, const char *node_name, const char *node_namespace, nros_names_and_types_visit_fn visit, void *ctx)
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)
nros_ret_t nros_parameter_declare_string(struct nros_parameter_server_t *server, const char *name, const char *default_value)
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)
uint8_t nros_lifecycle_get_current_state(const struct nros_lifecycle_state_machine_t *sm)
nros_client_state_t
Definition nros_generated.h:718
@ NROS_CLIENT_STATE_INITIALIZED
Definition nros_generated.h:726
@ NROS_CLIENT_STATE_UNINITIALIZED
Definition nros_generated.h:722
@ NROS_CLIENT_STATE_REGISTERED
Definition nros_generated.h:730
@ NROS_CLIENT_STATE_POLLING
Definition nros_generated.h:740
@ NROS_CLIENT_STATE_SHUTDOWN
Definition nros_generated.h:734
nros_service_state_t
Definition nros_generated.h:692
@ NROS_SERVICE_STATE_SHUTDOWN
Definition nros_generated.h:705
@ NROS_SERVICE_STATE_INITIALIZED
Definition nros_generated.h:701
@ NROS_SERVICE_STATE_POLLING
Definition nros_generated.h:712
@ NROS_SERVICE_STATE_UNINITIALIZED
Definition nros_generated.h:696
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)
void(* nros_shutdown_callback_t)(void *context)
Definition nros_generated.h:2398
bool(* nros_executor_trigger_t)(const bool *ready, size_t count, void *context)
Definition nros_generated.h:1023
int nros_ret_t
Definition nros_generated.h:849
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:602
@ NROS_CANCEL_RC_UNKNOWN_GOAL
Definition nros_generated.h:605
@ NROS_CANCEL_RC_OK
Definition nros_generated.h:603
@ NROS_CANCEL_RC_GOAL_TERMINATED
Definition nros_generated.h:606
@ NROS_CANCEL_RC_REJECTED
Definition nros_generated.h:604
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:500
@ NROS_GOAL_REJECT
Definition nros_generated.h:504
@ NROS_GOAL_ACCEPT_AND_EXECUTE
Definition nros_generated.h:508
@ NROS_GOAL_ACCEPT_AND_DEFER
Definition nros_generated.h:512
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)
uint32_t nros_shutdown_callback_handle_t
Definition nros_generated.h:2407
nros_ret_t nros_action_server_get_active_goal_count(struct nros_action_server_t *server, size_t *out)
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)
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)
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)
nros_parameter_server_state_t
Definition nros_generated.h:269
@ NROS_PARAM_SERVER_STATE_SHUTDOWN
Definition nros_generated.h:281
@ NROS_PARAM_SERVER_STATE_READY
Definition nros_generated.h:277
@ NROS_PARAM_SERVER_STATE_UNINITIALIZED
Definition nros_generated.h:273
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:670
@ NROS_TIMER_STATE_SHUTDOWN
Definition nros_generated.h:686
@ NROS_TIMER_STATE_UNINITIALIZED
Definition nros_generated.h:674
@ NROS_TIMER_STATE_CANCELED
Definition nros_generated.h:682
@ NROS_TIMER_STATE_RUNNING
Definition nros_generated.h:678
nros_ret_t nros_lifecycle_register_on_cleanup(struct nros_lifecycle_state_machine_t *sm, nros_lifecycle_callback_t cb, void *context)
const char * nros_client_get_service_name(const struct nros_client_t *client)
int32_t nros_cdr_end_dheader(int64_t mark, uint8_t **ptr, const uint8_t *end, const uint8_t *origin)
nros_ret_t nros_service_send_response_raw(struct nros_service_t *service, int64_t sequence_number, const uint8_t *data, size_t len)
nros_deadline_policy_t
Definition nros_generated.h:813
@ NROS_DEADLINE_POLICY_RELEASED
Definition nros_generated.h:814
@ NROS_DEADLINE_POLICY_INHERITED
Definition nros_generated.h:816
@ NROS_DEADLINE_POLICY_ACTIVATED
Definition nros_generated.h:815
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:532
@ NROS_QOS_RELIABILITY_BEST_EFFORT
Definition nros_generated.h:536
@ NROS_QOS_RELIABILITY_RELIABLE
Definition nros_generated.h:540
#define NROS_MAX_SERVICE_NAME_LEN
Definition nros_generated.h:88
nros_executor_semantics_t
Definition nros_generated.h:357
@ NROS_SEMANTICS_RCLCPP_EXECUTOR
Definition nros_generated.h:362
@ NROS_SEMANTICS_LOGICAL_EXECUTION_TIME
Definition nros_generated.h:370
nros_parameter_type_t
Definition nros_generated.h:287
@ NROS_PARAMETER_STRING
Definition nros_generated.h:307
@ NROS_PARAMETER_INTEGER
Definition nros_generated.h:299
@ NROS_PARAMETER_DOUBLE_ARRAY
Definition nros_generated.h:323
@ NROS_PARAMETER_INTEGER_ARRAY
Definition nros_generated.h:319
@ NROS_PARAMETER_BOOL_ARRAY
Definition nros_generated.h:315
@ NROS_PARAMETER_BYTE_ARRAY
Definition nros_generated.h:311
@ NROS_PARAMETER_BOOL
Definition nros_generated.h:295
@ NROS_PARAMETER_NOT_SET
Definition nros_generated.h:291
@ NROS_PARAMETER_STRING_ARRAY
Definition nros_generated.h:327
@ NROS_PARAMETER_DOUBLE
Definition nros_generated.h:303
nros_ret_t nros_executor_lifecycle_register_on_deactivate(struct nros_executor_t *executor, nros_lifecycle_callback_t cb, void *context)
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)
int32_t nros_subscription_take_serialized(struct nros_subscription_t *subscription, uint8_t *buf, size_t buf_len)
nros_executor_handle_invocation_t
Definition nros_generated.h:656
@ NROS_EXECUTOR_ALWAYS
Definition nros_generated.h:664
@ NROS_EXECUTOR_ON_NEW_DATA
Definition nros_generated.h:660
bool nros_goal_uuid_equal(const struct nros_goal_uuid_t *a, const struct nros_goal_uuid_t *b)
bool nros_parameter_has(const struct nros_parameter_server_t *server, const char *name)
nros_ret_t nros_lifecycle_register_on_activate(struct nros_lifecycle_state_machine_t *sm, nros_lifecycle_callback_t cb, void *context)
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:422
@ NROS_GOAL_STATUS_EXECUTING
Definition nros_generated.h:434
@ NROS_GOAL_STATUS_SUCCEEDED
Definition nros_generated.h:442
@ NROS_GOAL_STATUS_ABORTED
Definition nros_generated.h:450
@ NROS_GOAL_STATUS_UNKNOWN
Definition nros_generated.h:426
@ NROS_GOAL_STATUS_ACCEPTED
Definition nros_generated.h:430
@ NROS_GOAL_STATUS_CANCELED
Definition nros_generated.h:446
@ NROS_GOAL_STATUS_CANCELING
Definition nros_generated.h:438
const char * nros_node_get_namespace(const struct nros_node_t *node)
bool(* nros_names_and_types_visit_fn)(void *ctx, const char *name, const char *const *types, size_t types_count)
Definition nros_generated.h:1924
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:1831
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_lifecycle_register_on_error(struct nros_lifecycle_state_machine_t *sm, nros_lifecycle_callback_t cb, void *context)
int32_t nros_service_take_request_raw(struct nros_service_t *service, uint8_t *buf, size_t buf_len, int64_t *sequence_number)
struct nros_clock_t nros_clock_get_zero_initialized(void)
int32_t nros_cdr_write_encaps_header(uint8_t **ptr, const uint8_t *end)
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_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:612
@ NROS_SUBSCRIPTION_STATE_SHUTDOWN
Definition nros_generated.h:625
@ NROS_SUBSCRIPTION_STATE_POLLING
Definition nros_generated.h:632
@ NROS_SUBSCRIPTION_STATE_INITIALIZED
Definition nros_generated.h:621
@ NROS_SUBSCRIPTION_STATE_UNINITIALIZED
Definition nros_generated.h:616
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)
#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_support_init_rmw(struct nros_support_t *support, const char *locator, uint8_t domain_id, const char *session_name, const char *rmw)
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_client_set_timeout(struct nros_client_t *client, uint32_t timeout_ms)
nros_ret_t nros_action_client_poll(struct nros_action_client_t *client)
nros_ret_t nros_lifecycle_register_on_deactivate(struct nros_lifecycle_state_machine_t *sm, nros_lifecycle_callback_t cb, void *context)
#define NROS_MAX_PARAM_STRING_LEN
Definition nros_generated.h:129
size_t nros_heap_total_bytes(void)
nros_node_state_t
Definition nros_generated.h:456
@ NROS_NODE_STATE_SHUTDOWN
Definition nros_generated.h:468
@ NROS_NODE_STATE_UNINITIALIZED
Definition nros_generated.h:460
@ NROS_NODE_STATE_INITIALIZED
Definition nros_generated.h:464
int32_t nros_cdr_write_i8(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, int8_t value)
int64_t nros_cdr_begin_dheader(uint8_t **ptr, const uint8_t *end, const uint8_t *origin)
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)
nros_ret_t nros_clear_custom_transport(void)
nros_ret_t nros_subscription_fini(struct nros_subscription_t *subscription)
nros_ret_t nros_has_custom_transport(void)
nros_ret_t nros_executor_add_action_client(struct nros_executor_t *executor, struct nros_action_client_t *client)
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)
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_add_pre_shutdown_callback(struct nros_executor_t *executor, nros_shutdown_callback_t callback, void *context, nros_shutdown_callback_handle_t *out_handle)
nros_ret_t nros_executor_get_node_names(struct nros_executor_t *executor, nros_node_visit_fn visit, void *ctx)
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_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:229
@ NROS_CLOCK_STEADY_TIME
Definition nros_generated.h:245
@ NROS_CLOCK_ROS_TIME
Definition nros_generated.h:237
@ NROS_CLOCK_UNINITIALIZED
Definition nros_generated.h:233
@ NROS_CLOCK_SYSTEM_TIME
Definition nros_generated.h:241
#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)
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:1898
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_disable_ros_time_override(const struct nros_clock_t *clock)
int64_t nros_cdr_begin_dheader_read(const uint8_t **ptr, const uint8_t *end, const uint8_t *origin)
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:518
@ NROS_CANCEL_REJECT
Definition nros_generated.h:522
@ NROS_CANCEL_ACCEPT
Definition nros_generated.h:526
uint64_t nros_platform_time_now_ns(void)
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_clock_get_now_ns(const struct nros_clock_t *clock, int64_t *nanoseconds)
bool nros_executor_is_valid(const struct nros_executor_t *executor)
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_executor_get_service_names_and_types_by_node(struct nros_executor_t *executor, const char *node_name, const char *node_namespace, nros_names_and_types_visit_fn visit, void *ctx)
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_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_ret_t nros_executor_get_service_names_and_types(struct nros_executor_t *executor, nros_names_and_types_visit_fn visit, void *ctx)
nros_ret_t nros_parameter_get_string(const struct nros_parameter_server_t *server, const char *name, char *value, size_t max_len)
nros_sched_context_id_t nros_executor_default_sched_context_id(void)
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_executor_add_timer(struct nros_executor_t *executor, struct nros_timer_t *timer)
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)
nros_ret_t nros_executor_lifecycle_register_on_cleanup(struct nros_executor_t *executor, nros_lifecycle_callback_t cb, void *context)
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:792
@ NROS_SCHED_PRIORITY_NORMAL
Definition nros_generated.h:794
@ NROS_SCHED_PRIORITY_CRITICAL
Definition nros_generated.h:793
@ NROS_SCHED_PRIORITY_BEST_EFFORT
Definition nros_generated.h:795
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_parameter_server_t nros_parameter_server_get_zero_initialized(void)
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_client_take_response(struct nros_client_t *client, uint8_t *response_data, size_t response_capacity, size_t *response_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_shutdown(struct nros_executor_t *executor, nros_lifecycle_callback_t cb, void *context)
nros_ret_t nros_executor_lifecycle_register_on_error(struct nros_executor_t *executor, nros_lifecycle_callback_t 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:1161
struct nros_action_server_options_t nros_action_server_get_default_options(void)
nros_ret_t nros_executor_add_subscription(struct nros_executor_t *executor, struct nros_subscription_t *subscription, enum nros_executor_handle_invocation_t invocation)
size_t nros_heap_peak_bytes(void)
void(* nros_timer_callback_t)(struct nros_timer_t *timer, void *context)
Definition nros_generated.h:2046
#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)
nros_ret_t nros_executor_lifecycle_register_on_configure(struct nros_executor_t *executor, nros_lifecycle_callback_t cb, void *context)
void(* nros_response_callback_t)(const uint8_t *response, size_t response_len, void *context)
Definition nros_generated.h:2209
nros_ret_t nros_executor_remove_on_shutdown_callback(struct nros_executor_t *executor, nros_shutdown_callback_handle_t handle)
nros_support_state_t
Definition nros_generated.h:376
@ NROS_SUPPORT_STATE_INITIALIZED
Definition nros_generated.h:384
@ NROS_SUPPORT_STATE_SHUTDOWN
Definition nros_generated.h:388
@ NROS_SUPPORT_STATE_UNINITIALIZED
Definition nros_generated.h:380
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)
int nros_executor_get_remaining_handles(const struct nros_executor_t *executor)
nros_ret_t nros_executor_spin_period(struct nros_executor_t *executor, uint64_t period_ns)
nros_qos_durability_t
Definition nros_generated.h:546
@ NROS_QOS_DURABILITY_VOLATILE
Definition nros_generated.h:550
@ NROS_QOS_DURABILITY_TRANSIENT_LOCAL
Definition nros_generated.h:554
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:1519
nros_ret_t nros_enable_ros_time_override(const struct nros_clock_t *clock)
int32_t nros_cdr_write_f64(uint8_t **ptr, const uint8_t *end, const uint8_t *origin, double value)
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:1847
struct nros_parameter_t size_t capacity
Definition parameter.h:511
struct nros_parameter_t * storage
Definition parameter.h:511
const char char size_t max_len
Definition parameter.h:570
nros_parameter_callback_t callback
Definition parameter.h:518
const char bool default_value
Definition parameter.h:525
nros_parameter_callback_t void * context
Definition parameter.h:519
const char bool * value
Definition parameter.h:552
const char * name
Definition parameter.h:525
int64_t const uint8_t * data
Definition service.h:68
int64_t const uint8_t * response_data
Definition service.h:91
int64_t sequence_number
Definition service.h:68
int64_t const uint8_t size_t len
Definition service.h:69
int64_t const uint8_t size_t response_len
Definition service.h:92
Definition nros_generated.h:1216
int32_t arena_entry_index
Definition nros_generated.h:1221
void * executor_ptr
Definition nros_generated.h:1225
Definition nros_generated.h:1601
void * c_context
Definition nros_generated.h:1630
struct nros_action_server_t * server_ptr
Definition nros_generated.h:1634
nros_cancel_callback_t c_cancel_callback
Definition nros_generated.h:1622
nros_accepted_callback_t c_accepted_callback
Definition nros_generated.h:1626
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:1614
ActionServerRawHandle handle
Definition nros_generated.h:1606
void * executor_ptr
Definition nros_generated.h:1610
Definition nros_generated.h:2218
void * executor_ptr
Definition nros_generated.h:2226
int32_t arena_entry_index
Definition nros_generated.h:2222
uint32_t timeout_ms
Definition nros_generated.h:2230
Definition nros_generated.h:2118
int32_t arena_entry_index
Definition nros_generated.h:2122
void * executor_ptr
Definition nros_generated.h:2126
Definition nros_generated.h:1455
nros_sched_context_id_t sched_context
Definition nros_generated.h:1463
uint8_t _reserved[3]
Definition nros_generated.h:1467
Definition nros_generated.h:1231
void * context
Definition nros_generated.h:1275
struct ActionClientInternal _internal
Definition nros_generated.h:1292
size_t type_name_len
Definition nros_generated.h:1251
uint8_t action_name[256]
Definition nros_generated.h:1239
size_t type_hash_len
Definition nros_generated.h:1259
struct nros_node_ref_t node
Definition nros_generated.h:1279
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:1287
size_t action_name_len
Definition nros_generated.h:1243
uint8_t type_name[256]
Definition nros_generated.h:1247
uint64_t _opaque[ACTION_CLIENT_OPAQUE_U64S]
Definition nros_generated.h:1298
nros_feedback_callback_t feedback_callback
Definition nros_generated.h:1267
nros_result_callback_t result_callback
Definition nros_generated.h:1271
enum nros_action_client_state_t state
Definition nros_generated.h:1235
uint8_t type_hash[128]
Definition nros_generated.h:1255
nros_goal_response_callback_t goal_response_callback
Definition nros_generated.h:1263
Definition nros_generated.h:1723
uint8_t _reserved[3]
Definition nros_generated.h:1735
nros_sched_context_id_t sched_context
Definition nros_generated.h:1731
Definition nros_generated.h:1640
struct nros_qos_t qos
Definition nros_generated.h:1696
size_t action_name_len
Definition nros_generated.h:1652
size_t type_hash_len
Definition nros_generated.h:1668
struct ActionServerInternal _internal
Definition nros_generated.h:1710
uint8_t action_name[256]
Definition nros_generated.h:1648
nros_cancel_callback_t cancel_callback
Definition nros_generated.h:1676
void * context
Definition nros_generated.h:1684
size_t type_name_len
Definition nros_generated.h:1660
uint8_t type_name[256]
Definition nros_generated.h:1656
enum nros_action_server_state_t state
Definition nros_generated.h:1644
nros_accepted_callback_t accepted_callback
Definition nros_generated.h:1680
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:1705
uint64_t _opaque[ACTION_SERVER_OPAQUE_U64S]
Definition nros_generated.h:1716
uint8_t type_hash[128]
Definition nros_generated.h:1664
struct nros_node_ref_t node
Definition nros_generated.h:1688
nros_goal_callback_t goal_callback
Definition nros_generated.h:1672
Definition nros_generated.h:1428
const char * type_hash
Definition nros_generated.h:1436
size_t result_serialized_size_max
Definition nros_generated.h:1444
size_t goal_serialized_size_max
Definition nros_generated.h:1440
const char * type_name
Definition nros_generated.h:1432
size_t feedback_serialized_size_max
Definition nros_generated.h:1448
Definition nros_generated.h:2551
nros_sched_context_id_t sched_context
Definition nros_generated.h:2558
uint8_t _reserved[3]
Definition nros_generated.h:2562
Definition nros_generated.h:2236
size_t type_name_len
Definition nros_generated.h:2256
uint8_t type_hash[128]
Definition nros_generated.h:2260
void * context
Definition nros_generated.h:2273
enum nros_client_state_t state
Definition nros_generated.h:2240
struct ServiceClientInternal _internal
Definition nros_generated.h:2296
uint64_t _opaque[SERVICE_CLIENT_OPAQUE_U64S]
Definition nros_generated.h:2303
struct nros_qos_t qos
Definition nros_generated.h:2283
uint8_t type_name[256]
Definition nros_generated.h:2252
size_t type_hash_len
Definition nros_generated.h:2264
uint8_t service_name[256]
Definition nros_generated.h:2244
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:2291
nros_response_callback_t response_callback
Definition nros_generated.h:2269
size_t service_name_len
Definition nros_generated.h:2248
struct nros_node_ref_t node
Definition nros_generated.h:2277
Definition nros_generated.h:829
enum nros_clock_state_t state
Definition nros_generated.h:837
enum nros_clock_type_t type
Definition nros_generated.h:833
uint64_t _steady_epoch_ns
Definition nros_generated.h:841
Definition nros_generated.h:1838
uint32_t total_count
Definition nros_generated.h:1839
uint32_t total_count_change
Definition nros_generated.h:1840
Definition nros_generated.h:868
uint32_t nanosec
Definition nros_generated.h:876
int32_t sec
Definition nros_generated.h:872
Definition nros_generated.h:1938
uint8_t endpoint_gid[24]
Definition nros_generated.h:1958
const char * topic_type
Definition nros_generated.h:1950
bool is_publisher
Definition nros_generated.h:1954
const char * node_name
Definition nros_generated.h:1942
const char * node_namespace
Definition nros_generated.h:1946
Definition nros_generated.h:1036
const struct nros_support_t * support
Definition nros_generated.h:1052
nros_executor_trigger_t trigger
Definition nros_generated.h:1056
void * trigger_context
Definition nros_generated.h:1060
uint64_t _opaque[EXECUTOR_OPAQUE_U64S]
Definition nros_generated.h:1095
size_t max_handles
Definition nros_generated.h:1068
bool in_dispatch
Definition nros_generated.h:1090
size_t timer_count
Definition nros_generated.h:1076
enum nros_executor_state_t state
Definition nros_generated.h:1040
size_t handle_count
Definition nros_generated.h:1064
uint64_t timeout_ns
Definition nros_generated.h:1044
size_t subscription_count
Definition nros_generated.h:1072
uint64_t invocation_time_ns
Definition nros_generated.h:1084
enum nros_executor_semantics_t semantics
Definition nros_generated.h:1048
size_t service_count
Definition nros_generated.h:1080
Definition nros_generated.h:1494
struct nros_goal_uuid_t uuid
Definition nros_generated.h:1498
Definition nros_generated.h:1135
uint8_t uuid[16]
Definition nros_generated.h:1139
Definition nros_generated.h:2314
bool _guard_valid
Definition nros_generated.h:2342
void * context
Definition nros_generated.h:2330
nros_guard_condition_callback_t callback
Definition nros_generated.h:2326
size_t handle_id
Definition nros_generated.h:2338
uint64_t _guard_opaque[GUARD_HANDLE_OPAQUE_U64S]
Definition nros_generated.h:2347
const struct nros_support_t * _support
Definition nros_generated.h:2334
enum nros_guard_condition_state_t state
Definition nros_generated.h:2318
bool triggered
Definition nros_generated.h:2322
Definition nros_generated.h:2606
int8_t crc_valid
Definition nros_generated.h:2619
int64_t gap
Definition nros_generated.h:2610
bool duplicate
Definition nros_generated.h:2614
Definition nros_generated.h:2417
uint64_t storage[NROS_LIFECYCLE_CTX_OPAQUE_U64S]
Definition nros_generated.h:2429
bool initialized
Definition nros_generated.h:2421
uint8_t _pad[7]
Definition nros_generated.h:2425
Definition nros_generated.h:1821
int16_t not_alive_count_change
Definition nros_generated.h:1825
int16_t alive_count_change
Definition nros_generated.h:1824
uint16_t not_alive_count
Definition nros_generated.h:1823
uint16_t alive_count
Definition nros_generated.h:1822
Definition nros_generated.h:2489
const char * type_hash
Definition nros_generated.h:2497
const char * type_name
Definition nros_generated.h:2493
size_t serialized_size_max
Definition nros_generated.h:2501
Definition nros_generated.h:1979
size_t namespace_len
Definition nros_generated.h:1987
size_t locator_len
Definition nros_generated.h:2005
uint8_t locator[128]
Definition nros_generated.h:2001
uint8_t _reserved[3]
Definition nros_generated.h:2017
size_t rmw_name_len
Definition nros_generated.h:1996
uint32_t domain_id_override
Definition nros_generated.h:2009
uint8_t sched_context_id
Definition nros_generated.h:2013
uint8_t rmw_name[32]
Definition nros_generated.h:1992
uint8_t namespace_[128]
Definition nros_generated.h:1983
Definition nros_generated.h:1191
uint8_t node_id
Definition nros_generated.h:1195
uint32_t generation
Definition nros_generated.h:1199
Definition nros_generated.h:1347
uint8_t sched_context_id
Definition nros_generated.h:1390
uint8_t node_id
Definition nros_generated.h:1401
const struct nros_executor_t * executor
Definition nros_generated.h:1412
size_t rmw_name_len
Definition nros_generated.h:1380
uint8_t rmw_name[32]
Definition nros_generated.h:1376
uint32_t domain_id_override
Definition nros_generated.h:1385
const struct nros_qos_override_t * qos_overrides
Definition nros_generated.h:1418
uint8_t _reserved[3]
Definition nros_generated.h:1394
size_t name_len
Definition nros_generated.h:1359
enum nros_node_state_t state
Definition nros_generated.h:1351
size_t namespace_len
Definition nros_generated.h:1367
uint8_t name[64]
Definition nros_generated.h:1355
uint8_t namespace_[128]
Definition nros_generated.h:1363
const struct nros_support_t * support
Definition nros_generated.h:1371
size_t qos_overrides_len
Definition nros_generated.h:1422
Definition nros_generated.h:885
size_t len
Definition nros_generated.h:893
const void * data
Definition nros_generated.h:889
Definition nros_generated.h:950
size_t count
Definition nros_generated.h:962
struct nros_parameter_t * parameters
Definition nros_generated.h:966
nros_parameter_callback_t callback
Definition nros_generated.h:970
void * callback_context
Definition nros_generated.h:974
size_t capacity
Definition nros_generated.h:958
enum nros_parameter_server_state_t state
Definition nros_generated.h:954
Definition nros_generated.h:925
enum nros_parameter_type_t type
Definition nros_generated.h:933
uint8_t name[64]
Definition nros_generated.h:929
union nros_parameter_value_t value
Definition nros_generated.h:937
Definition nros_generated.h:2474
uint8_t _reserved[4]
Definition nros_generated.h:2480
Definition nros_generated.h:1854
uint8_t type_name[256]
Definition nros_generated.h:1870
uint8_t topic_name[256]
Definition nros_generated.h:1862
enum nros_publisher_state_t state
Definition nros_generated.h:1858
size_t topic_name_len
Definition nros_generated.h:1866
size_t type_hash_len
Definition nros_generated.h:1882
uint64_t _opaque[PUBLISHER_OPAQUE_U64S]
Definition nros_generated.h:1891
size_t type_name_len
Definition nros_generated.h:1874
uint8_t type_hash[128]
Definition nros_generated.h:1878
struct nros_node_ref_t node
Definition nros_generated.h:1886
Definition nros_generated.h:1314
uint8_t policy
Definition nros_generated.h:1330
const char * topic
Definition nros_generated.h:1319
uint8_t role
Definition nros_generated.h:1323
uint32_t value
Definition nros_generated.h:1339
Definition nros_generated.h:1544
enum nros_qos_reliability_t reliability
Definition nros_generated.h:1548
uint32_t liveliness_lease_ms
Definition nros_generated.h:1577
uint8_t avoid_ros_namespace_conventions
Definition nros_generated.h:1581
enum nros_qos_liveliness_t liveliness_kind
Definition nros_generated.h:1560
int depth
Definition nros_generated.h:1564
enum nros_qos_history_t history
Definition nros_generated.h:1556
enum nros_qos_durability_t durability
Definition nros_generated.h:1552
uint8_t tx_express
Definition nros_generated.h:1588
uint32_t deadline_ms
Definition nros_generated.h:1569
uint32_t lifespan_ms
Definition nros_generated.h:1573
Definition nros_generated.h:2357
uint8_t os_pri
Definition nros_generated.h:2378
nros_sched_class_t class_
Definition nros_generated.h:2358
uint32_t tt_window_offset_us
Definition nros_generated.h:2384
uint32_t period_us
Definition nros_generated.h:2364
nros_deadline_policy_t deadline_policy
Definition nros_generated.h:2360
uint32_t budget_us
Definition nros_generated.h:2368
nros_sched_priority_t priority
Definition nros_generated.h:2359
uint32_t tt_window_duration_us
Definition nros_generated.h:2389
uint32_t deadline_us
Definition nros_generated.h:2372
Definition nros_generated.h:2530
uint8_t _reserved[3]
Definition nros_generated.h:2543
nros_sched_context_id_t sched_context
Definition nros_generated.h:2539
Definition nros_generated.h:2132
uint8_t type_hash[128]
Definition nros_generated.h:2156
uint8_t type_name[256]
Definition nros_generated.h:2148
size_t service_name_len
Definition nros_generated.h:2144
nros_service_callback_t callback
Definition nros_generated.h:2164
size_t type_hash_len
Definition nros_generated.h:2160
enum nros_service_state_t state
Definition nros_generated.h:2136
struct ServiceServerInternal _internal
Definition nros_generated.h:2191
uint8_t service_name[256]
Definition nros_generated.h:2140
struct nros_qos_t qos
Definition nros_generated.h:2178
struct nros_node_ref_t node
Definition nros_generated.h:2172
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:2186
size_t type_name_len
Definition nros_generated.h:2152
uint64_t _opaque[SERVICE_SERVER_OPAQUE_U64S]
Definition nros_generated.h:2198
void * context
Definition nros_generated.h:2168
Definition nros_generated.h:2510
const char * type_hash
Definition nros_generated.h:2518
const char * type_name
Definition nros_generated.h:2514
Definition nros_generated.h:2575
nros_sched_context_id_t sched_context
Definition nros_generated.h:2585
uint8_t _reserved[2]
Definition nros_generated.h:2598
uint8_t message_info
Definition nros_generated.h:2593
Definition nros_generated.h:1751
struct nros_node_ref_t node
Definition nros_generated.h:1791
nros_sched_context_id_t sched_context_id
Definition nros_generated.h:1809
enum nros_subscription_state_t state
Definition nros_generated.h:1755
size_t type_hash_len
Definition nros_generated.h:1779
size_t handle_id
Definition nros_generated.h:1799
struct nros_qos_t qos
Definition nros_generated.h:1795
uint8_t topic_name[256]
Definition nros_generated.h:1759
uint64_t _opaque[SUBSCRIPTION_OPAQUE_U64S]
Definition nros_generated.h:1815
void * context
Definition nros_generated.h:1787
nros_subscription_callback_t callback
Definition nros_generated.h:1783
size_t type_name_len
Definition nros_generated.h:1771
size_t topic_name_len
Definition nros_generated.h:1763
uint8_t type_name[256]
Definition nros_generated.h:1767
uint8_t type_hash[128]
Definition nros_generated.h:1775
Definition nros_generated.h:983
uint8_t locator[128]
Definition nros_generated.h:995
uint8_t domain_id
Definition nros_generated.h:991
uint64_t _opaque[SESSION_OPAQUE_U64S]
Definition nros_generated.h:1004
size_t locator_len
Definition nros_generated.h:999
enum nros_support_state_t state
Definition nros_generated.h:987
Definition nros_generated.h:854
int32_t sec
Definition nros_generated.h:858
uint32_t nanosec
Definition nros_generated.h:862
Definition nros_generated.h:2051
void * context
Definition nros_generated.h:2071
uint64_t last_call_time_ns
Definition nros_generated.h:2063
const struct nros_support_t * support
Definition nros_generated.h:2075
size_t handle_id
Definition nros_generated.h:2079
enum nros_timer_state_t state
Definition nros_generated.h:2055
uint64_t period_ns
Definition nros_generated.h:2059
nros_timer_callback_t callback
Definition nros_generated.h:2067
void * _executor
Definition nros_generated.h:2083
Definition nros_generated.h:1122
uint32_t _reserved
Definition nros_generated.h:1124
nros_ret_t(* write)(void *user_data, const uint8_t *buf, size_t len)
Definition nros_generated.h:1128
void(* close)(void *user_data)
Definition nros_generated.h:1127
nros_ret_t(* open)(void *user_data, const void *params)
Definition nros_generated.h:1126
uint32_t abi_version
Definition nros_generated.h:1123
void * user_data
Definition nros_generated.h:1125
int32_t(* read)(void *user_data, uint8_t *buf, size_t len, uint32_t timeout_ms)
Definition nros_generated.h:1129
Definition nros_generated.h:1478
uint64_t _opaque[2]
Definition nros_generated.h:1479
uint8_t size_t per_msg_cap
Definition subscription.h:69
uint8_t size_t size_t max_msgs
Definition subscription.h:70
uint8_t size_t size_t size_t * out_lens
Definition subscription.h:70
uint8_t size_t struct nros_integrity_status_t * out_status
Definition subscription.h:78
uint8_t size_t buf_len
Definition subscription.h:62
uint8_t * buf
Definition subscription.h:62
Definition nros_generated.h:899
double double_value
Definition nros_generated.h:911
uint8_t string_value[128]
Definition nros_generated.h:915
struct nros_parameter_array_t array_value
Definition nros_generated.h:919
bool bool_value
Definition nros_generated.h:903
int64_t integer_value
Definition nros_generated.h:907
#define NROS_PUBLIC
Definition visibility.h:33