15 #ifndef RCL__ARGUMENTS_H_
16 #define RCL__ARGUMENTS_H_
18 #include "rcl/allocator.h"
19 #include "rcl/macros.h"
20 #include "rcl/types.h"
21 #include "rcl/visibility_control.h"
22 #include "rcl_yaml_param_parser/types.h"
29 struct rcl_arguments_impl_t;
35 struct rcl_arguments_impl_t *
impl;
38 #define RCL_ROS_ARGS_FLAG "--ros-args"
39 #define RCL_ROS_ARGS_EXPLICIT_END_TOKEN "--"
40 #define RCL_PARAM_FLAG "--param"
41 #define RCL_SHORT_PARAM_FLAG "-p"
42 #define RCL_PARAM_FILE_FLAG "--params-file"
43 #define RCL_REMAP_FLAG "--remap"
44 #define RCL_SHORT_REMAP_FLAG "-r"
45 #define RCL_ENCLAVE_FLAG "--enclave"
46 #define RCL_SHORT_ENCLAVE_FLAG "-e"
47 #define RCL_LOG_LEVEL_FLAG "--log-level"
48 #define RCL_EXTERNAL_LOG_CONFIG_FLAG "--log-config-file"
50 #define RCL_LOG_STDOUT_FLAG_SUFFIX "stdout-logs"
51 #define RCL_LOG_ROSOUT_FLAG_SUFFIX "rosout-logs"
52 #define RCL_LOG_EXT_LIB_FLAG_SUFFIX "external-lib-logs"
58 rcl_get_zero_initialized_arguments(
void);
122 const char *
const argv[],
143 rcl_arguments_get_count_unparsed(
174 rcl_arguments_get_unparsed(
177 int ** output_unparsed_indices);
196 rcl_arguments_get_count_unparsed_ros(
226 rcl_arguments_get_unparsed_ros(
229 int ** output_unparsed_ros_indices);
248 rcl_arguments_get_param_files_count(
275 rcl_arguments_get_param_files(
278 char *** parameter_files);
305 rcl_arguments_get_param_overrides(
307 rcl_params_t ** parameter_overrides);
339 rcl_remove_ros_arguments(
340 char const *
const argv[],
344 const char ** nonros_argv[]);
396 #endif // RCL__ARGUMENTS_H_