17 #ifndef RCL__VALIDATE_TOPIC_NAME_H_
18 #define RCL__VALIDATE_TOPIC_NAME_H_
27 #include "rcl/macros.h"
29 #include "rcl/visibility_control.h"
32 #define RCL_TOPIC_NAME_VALID 0
35 #define RCL_TOPIC_NAME_INVALID_IS_EMPTY_STRING 1
38 #define RCL_TOPIC_NAME_INVALID_ENDS_WITH_FORWARD_SLASH 2
41 #define RCL_TOPIC_NAME_INVALID_CONTAINS_UNALLOWED_CHARACTERS 3
44 #define RCL_TOPIC_NAME_INVALID_NAME_TOKEN_STARTS_WITH_NUMBER 4
47 #define RCL_TOPIC_NAME_INVALID_UNMATCHED_CURLY_BRACE 5
50 #define RCL_TOPIC_NAME_INVALID_MISPLACED_TILDE 6
53 #define RCL_TOPIC_NAME_INVALID_TILDE_NOT_FOLLOWED_BY_FORWARD_SLASH 7
56 #define RCL_TOPIC_NAME_INVALID_SUBSTITUTION_CONTAINS_UNALLOWED_CHARACTERS 8
59 #define RCL_TOPIC_NAME_INVALID_SUBSTITUTION_STARTS_WITH_NUMBER 9
116 const char * topic_name,
117 int * validation_result,
118 size_t * invalid_index);
137 const char * topic_name,
138 size_t topic_name_length,
139 int * validation_result,
140 size_t * invalid_index);
rmw_ret_t rcl_ret_t
The type that holds an rcl return code.
RCL_PUBLIC RCL_WARN_UNUSED rcl_ret_t rcl_validate_topic_name(const char *topic_name, int *validation_result, size_t *invalid_index)
Validate a given topic name.
RCL_PUBLIC RCL_WARN_UNUSED rcl_ret_t rcl_validate_topic_name_with_size(const char *topic_name, size_t topic_name_length, int *validation_result, size_t *invalid_index)
Validate a given topic name.
RCL_PUBLIC RCL_WARN_UNUSED const char * rcl_topic_name_validation_result_string(int validation_result)
Return a validation result description, or NULL if unknown or RCL_TOPIC_NAME_VALID.