From e46c252cb16f8d1297b0ea0c293b56b59bab98b2 Mon Sep 17 00:00:00 2001 From: Lucian Copeland Date: Sun, 5 Jan 2025 15:32:41 -0500 Subject: [PATCH 1/5] gitignore change --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 9679ed5e0e2bc..87f312d848806 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ *.o *.a !atmel-samd/asf/**/*.a +!ports/espressif/microros-ext/**/*.a *.elf *.bin !*.toml.bin From 14a2e6dfdad997b7d3b042b710491d1d7e4e800c Mon Sep 17 00:00:00 2001 From: Lucian Copeland Date: Sun, 5 Jan 2025 15:36:22 -0500 Subject: [PATCH 2/5] add microros precompiled libs --- .../microros-ext/esp32/libmicroros.a | Bin 0 -> 1010708 bytes .../microros-ext/esp32s2/libmicroros.a | Bin 0 -> 1007622 bytes .../microros-ext/esp32s3/libmicroros.a | Bin 0 -> 1012668 bytes .../rcl_logging_interface.h | 123 ++ .../visibility_control.h | 57 + .../include/rcutils/rcutils/allocator.h | 166 ++ .../include/rcutils/rcutils/cmdline_parser.h | 57 + .../rcutils/rcutils/configuration_flags.h | 18 + .../rcutils/rcutils/configuration_flags.h.in | 18 + .../include/rcutils/rcutils/env.h | 122 ++ .../include/rcutils/rcutils/error_handling.h | 414 ++++ .../include/rcutils/rcutils/filesystem.h | 300 +++ .../include/rcutils/rcutils/find.h | 92 + .../include/rcutils/rcutils/format_string.h | 83 + .../rcutils/rcutils/isalnum_no_locale.h | 49 + .../include/rcutils/rcutils/logging.h | 587 ++++++ .../include/rcutils/rcutils/logging_macros.h | 1447 +++++++++++++ .../include/rcutils/rcutils/macros.h | 237 +++ .../include/rcutils/rcutils/process.h | 61 + .../include/rcutils/rcutils/qsort.h | 53 + .../include/rcutils/rcutils/repl_str.h | 142 ++ .../rcutils/rcutils/security_directory.h | 67 + .../include/rcutils/rcutils/sha256.h | 100 + .../include/rcutils/rcutils/shared_library.h | 166 ++ .../include/rcutils/rcutils/snprintf.h | 75 + .../include/rcutils/rcutils/split.h | 69 + .../rcutils/rcutils/stdatomic_helper.h | 180 ++ .../rcutils/stdatomic_helper/gcc/stdatomic.h | 400 ++++ .../stdatomic_helper/win32/stdatomic.h | 444 ++++ .../include/rcutils/rcutils/strcasecmp.h | 80 + .../include/rcutils/rcutils/strdup.h | 78 + .../include/rcutils/rcutils/strerror.h | 48 + .../rcutils/rcutils/testing/fault_injection.h | 219 ++ .../include/rcutils/rcutils/time.h | 189 ++ .../include/rcutils/rcutils/types.h | 35 + .../rcutils/rcutils/types/array_list.h | 288 +++ .../rcutils/rcutils/types/char_array.h | 246 +++ .../include/rcutils/rcutils/types/hash_map.h | 427 ++++ .../rcutils/rcutils/types/rcutils_ret.h | 66 + .../rcutils/rcutils/types/string_array.h | 221 ++ .../rcutils/rcutils/types/string_map.h | 443 ++++ .../rcutils/rcutils/types/uint8_array.h | 121 ++ .../rcutils/rcutils/visibility_control.h | 32 + .../rcutils/visibility_control_macros.h | 65 + .../action_type_support_struct.h | 73 + .../rosidl_runtime_c/message_initialization.h | 35 + .../message_type_support_struct.h | 106 + .../rosidl_runtime_c/primitives_sequence.h | 57 + .../primitives_sequence_functions.h | 216 ++ .../rosidl_runtime_c/sequence_bound.h | 82 + .../service_type_support_struct.h | 154 ++ .../rosidl_runtime_c/string.h | 35 + .../rosidl_runtime_c/string_bound.h | 27 + .../rosidl_runtime_c/string_functions.h | 210 ++ .../type_description/field__functions.h | 205 ++ .../type_description/field__struct.h | 56 + .../type_description/field_type__functions.h | 205 ++ .../type_description/field_type__struct.h | 660 ++++++ .../individual_type_description__functions.h | 205 ++ .../individual_type_description__struct.h | 64 + .../type_description/key_value__functions.h | 205 ++ .../type_description/key_value__struct.h | 49 + .../type_description__functions.h | 205 ++ .../type_description__struct.h | 51 + .../type_description/type_source__functions.h | 205 ++ .../type_description/type_source__struct.h | 60 + .../rosidl_runtime_c/type_description_utils.h | 656 ++++++ .../rosidl_runtime_c/type_hash.h | 86 + .../rosidl_runtime_c/u16string.h | 35 + .../rosidl_runtime_c/u16string_functions.h | 258 +++ .../rosidl_runtime_c/visibility_control.h | 58 + .../rosidl_typesupport_interface/macros.h | 62 + .../include/tracetools/tracetools/config.h | 21 + .../tracetools/tracetools/tracetools.h | 622 ++++++ .../include/tracetools/tracetools/utils.hpp | 87 + .../tracetools/visibility_control.hpp | 56 + .../microros-ext/include/ucdr/config.h | 27 + .../microros-ext/include/ucdr/microcdr.h | 219 ++ .../microros-ext/include/ucdr/visibility.h | 33 + .../microros-ext/include/uxr/client/client.h | 34 + .../microros-ext/include/uxr/client/config.h | 84 + .../client/core/communication/communication.h | 63 + .../core/session/common_create_entities.h | 55 + .../client/core/session/create_entities_bin.h | 279 +++ .../client/core/session/create_entities_ref.h | 186 ++ .../client/core/session/create_entities_xml.h | 234 +++ .../uxr/client/core/session/object_id.h | 70 + .../uxr/client/core/session/read_access.h | 111 + .../include/uxr/client/core/session/session.h | 573 +++++ .../uxr/client/core/session/session_info.h | 64 + .../session/stream/input_best_effort_stream.h | 47 + .../session/stream/input_reliable_stream.h | 67 + .../stream/output_best_effort_stream.h | 53 + .../session/stream/output_reliable_stream.h | 63 + .../core/session/stream/reliable_stream.h | 38 + .../uxr/client/core/session/stream/seq_num.h | 31 + .../client/core/session/stream/stream_id.h | 121 ++ .../core/session/stream/stream_storage.h | 47 + .../uxr/client/core/session/time_sync.h | 0 .../uxr/client/core/session/write_access.h | 145 ++ .../include/uxr/client/core/type/xrce_types.h | 1840 +++++++++++++++++ .../microros-ext/include/uxr/client/defines.h | 24 + .../uxr/client/profile/discovery/discovery.h | 87 + .../client/profile/multithread/multithread.h | 136 ++ .../profile/transport/can/can_transport.h | 74 + .../transport/can/can_transport_posix.h | 40 + .../transport/custom/custom_transport.h | 146 ++ .../uxr/client/profile/transport/ip/ip.h | 85 + .../profile/transport/ip/tcp/tcp_transport.h | 93 + .../ip/tcp/tcp_transport_freertos_plus_tcp.h | 40 + .../transport/ip/tcp/tcp_transport_posix.h | 37 + .../ip/tcp/tcp_transport_posix_nopoll.h | 32 + .../ip/tcp/tcp_transport_rtems_bsd_net.h | 40 + .../transport/ip/tcp/tcp_transport_windows.h | 35 + .../profile/transport/ip/udp/udp_transport.h | 74 + .../ip/udp/udp_transport_freertos_plus_tcp.h | 41 + .../transport/ip/udp/udp_transport_posix.h | 37 + .../ip/udp/udp_transport_posix_nopoll.h | 32 + .../ip/udp/udp_transport_rtems_bsd_net.h | 39 + .../transport/ip/udp/udp_transport_windows.h | 35 + .../transport/serial/serial_transport.h | 79 + .../serial/serial_transport_platform.h | 50 + .../transport/serial/serial_transport_posix.h | 35 + .../serial/serial_transport_rtems_bsd_net.h | 35 + .../stream_framing/stream_framing_protocol.h | 62 + .../include/uxr/client/transport.h | 68 + .../include/uxr/client/util/ping.h | 95 + .../include/uxr/client/util/time.h | 36 + .../include/uxr/client/visibility.h | 33 + 129 files changed, 19295 insertions(+) create mode 100644 ports/espressif/microros-ext/esp32/libmicroros.a create mode 100644 ports/espressif/microros-ext/esp32s2/libmicroros.a create mode 100644 ports/espressif/microros-ext/esp32s3/libmicroros.a create mode 100644 ports/espressif/microros-ext/include/rcl_logging_interface/rcl_logging_interface/rcl_logging_interface.h create mode 100644 ports/espressif/microros-ext/include/rcl_logging_interface/rcl_logging_interface/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/allocator.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/cmdline_parser.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/configuration_flags.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/configuration_flags.h.in create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/env.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/error_handling.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/filesystem.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/find.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/format_string.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/isalnum_no_locale.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/logging.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/logging_macros.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/macros.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/process.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/qsort.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/repl_str.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/security_directory.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/sha256.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/shared_library.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/snprintf.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/split.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper/gcc/stdatomic.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper/win32/stdatomic.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/strcasecmp.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/strdup.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/strerror.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/testing/fault_injection.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/time.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/types.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/types/array_list.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/types/char_array.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/types/hash_map.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/types/rcutils_ret.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/types/string_array.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/types/string_map.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/types/uint8_array.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/visibility_control_macros.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/action_type_support_struct.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/message_initialization.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/message_type_support_struct.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/primitives_sequence.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/primitives_sequence_functions.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/sequence_bound.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/service_type_support_struct.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string_bound.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string_functions.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field__functions.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field__struct.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field_type__functions.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field_type__struct.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/individual_type_description__functions.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/individual_type_description__struct.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/key_value__functions.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/key_value__struct.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_description__functions.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_description__struct.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_source__functions.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_source__struct.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description_utils.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_hash.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/u16string.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/u16string_functions.h create mode 100644 ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_interface/rosidl_typesupport_interface/macros.h create mode 100644 ports/espressif/microros-ext/include/tracetools/tracetools/config.h create mode 100644 ports/espressif/microros-ext/include/tracetools/tracetools/tracetools.h create mode 100644 ports/espressif/microros-ext/include/tracetools/tracetools/utils.hpp create mode 100644 ports/espressif/microros-ext/include/tracetools/tracetools/visibility_control.hpp create mode 100644 ports/espressif/microros-ext/include/ucdr/config.h create mode 100644 ports/espressif/microros-ext/include/ucdr/microcdr.h create mode 100644 ports/espressif/microros-ext/include/ucdr/visibility.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/client.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/config.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/communication/communication.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/common_create_entities.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_bin.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_ref.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_xml.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/object_id.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/read_access.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/session.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/session_info.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/stream/input_best_effort_stream.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/stream/input_reliable_stream.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/stream/output_best_effort_stream.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/stream/output_reliable_stream.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/stream/reliable_stream.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/stream/seq_num.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/stream/stream_id.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/stream/stream_storage.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/time_sync.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/session/write_access.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/core/type/xrce_types.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/defines.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/discovery/discovery.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/multithread/multithread.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/can/can_transport.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/can/can_transport_posix.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/custom/custom_transport.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/ip.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_freertos_plus_tcp.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_posix.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_posix_nopoll.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_rtems_bsd_net.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_windows.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_freertos_plus_tcp.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_posix.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_posix_nopoll.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_rtems_bsd_net.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_windows.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_platform.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_posix.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_rtems_bsd_net.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/profile/transport/stream_framing/stream_framing_protocol.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/transport.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/util/ping.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/util/time.h create mode 100644 ports/espressif/microros-ext/include/uxr/client/visibility.h diff --git a/ports/espressif/microros-ext/esp32/libmicroros.a b/ports/espressif/microros-ext/esp32/libmicroros.a new file mode 100644 index 0000000000000000000000000000000000000000..fd71bed8c54a3cd772df1b2bb7275d4030f37a3b GIT binary patch literal 1010708 zcmeFa4R~EunKr!Blcc4jrIZ5}DH=n83T+8#t(6~5leDC?KuKFE2&VZtA%QfB`6&ev zJ6KDB>Y#&8arm%e)yfnHusR*4_(iAIjsu^}T+H<`Bd=2(W?tqM=f!uJ`A|{6`(A(h z+3T!*&Pf{>(5$Pw`(Dp_*1ewftY@#i_TR}nE@~U>=zj0i^Qx1nR%A7n|5sNpeE0da zbxLQ$)F{gAjG_nDzNxpe*6q=od7ISnWHheZ)@PzgZ{jUeULPg48KY5#+go=P-Y$Sn zXuIs`C{t+5y%=Tec2jMXvDiL6{T*Mc1IOK2yJ`8!R^nh^)|XWs+ia&d@vCMV~T+(Uu=%1eC_4@ z?a(99ltSA-Jr_+0ZU2dSC2YsdIS{FBL3ebV-7a_}ImSICF9AMK8&9>aG0+q)yRox3|ap4;N;mDQ=&q=0Vk_AP)3(1F zsqGJ+j;3+@?7^{ZPjyGro@Ys{7P4gVq7p2LmBN;U%kwOW)qG1z2ob50Z$(;Z!Um}nupl&K ze*IV{XhXO-og`pIXt;cWSSM&jxHz38U`1%Ce1cdfXhpaX~F=h6kAZ>ED;yU7Q<50Qd}6f5Sp!xdR!!12ut&- z#4V&u#->K1RJM~^5UQALEk5>Qxu_Kv`|X8Gf>mQ?8X6yGv0PM(i~SbECBdpOGh2+0 zsaP(m#l?P$;gVq0m^nOOno6=zww5LjR7%^sATj7FG#h4Z*#v>4m<4SR< z*IKwBR57MSYq9rZaa<`b^;!!Tgeu0g!70sD5oNNa6mfo~xRvm{WopPm*-n}~P_3go z*KuQO`$$(;Zm_j&Q(I4O8)oCyu70z6*5zG2eQmu~t3B7 zM_X@idt1kidQR`@>lwCH`v-fj@9Asp@9JVTZB7xbwBkIu7IgFv+-zFYfxb+6Hs<=wxzIW#DOF0X!~MF7(HX*pM?%n>>$`rqJ0Tj(ZES-t`mWc~0*=*J zC|a$pb5mPiM=sGN)2Mb|Uv6k9(N1^UP-|{*FdiR!VKkKc&`6G4q4Sgpjew2}tRltf zBym7Hiugnq7y1OTPSA>QaXLxdkh3Cj8jQ<*j)Yp!mQ;;`RB?+5i{iO9RtWLLdZ{*r zRSJ{EjV7#$=j2!+L=@|#S`}6)OcpnquqvLrV}%e=te0w4Sfwyo+^Dlko|xlepGIm0 zElN`;L=-nCt%+kGE)TH8YH9X_H40M2ElP{x@sG;`G_hKmMPZGCRB?;aqIm4%@&HY& zmS#~{qaan>qO(XW72;B#L?{KVNhvQt6Sw6ok&B7A*yoU1L0i%k3K7N44Gj;vGiNNd zbwy#K?G(9JZS$aAo^cF#9U5sL>KN>4PgUq_8*aO4uxGfS0=m$d zsxZj4!B9HEU~ZtdC$+Zh{$Q>vwfo^RVST!Su|BL2Tc1|0tq+$<>o;%2z1uh-%<$^L z3zx-%7cLir7giA6PggMA4=cpoPb=5mx20SVcZ>`T_it<+9&GCy8t5N{z%1Iam_+~8 zqTSa~B^|x}Ls&w3)m4!^_BwlpI{G)|25)X%aryEqT35H-jGIiITFn);U5`U;sI@cK z)i%*+!zRMzzL4UFLELX@`Vx^R6m+=@vd*S1k<=v96Zm5yA`Cak0d!$vHg z(T?B9V6L}ET?VDJ5H8pBu1s?GUxVKr&N0TJKBbM2>^+~tl2Z5B>n9-gxYiJI$1lK zV{1=QJvt(itw{y=&oybIDG?t-)&vnu*JDO-frv23r&BHqg`8)!%B53Y_qUbA3q}y<|*n9q8wUG6crwW{zX*w@G;i zua0}Qn3H5H=3CPSZ(?jTM-Wyst$iaKTiZHy%-cM)6`Rd>82_u-k-g=diQyR@8FDkF zsW^<|gXeZTfyQEtXui~TBu|~ESUk6M_fF7vbNaENEha7z#z`d?f%zH*XGg>0%~66R zH_+eF-MX=-7bB;-s0Dp(ef>J$)!R1IZDUJU9E$uQVGO9+gCl)5npEfqh3I&md<2U# zGu{jj$)k&SAf;FA=vix;Ujl0-^mr!4J%&fID;6-R|qli{t7K_xYZT7cG+B+XNG z)Bq=INWZA!WHni=COjMFw%0iKVWFznb$Osb$CaLqIElIn36Z(c7*`tHrX7!l3wU=VmGHT>H zTQ?5r$fQuyZ+HjC{sxmuycVaNXLY-U1+%Z z$1BdCe1Zz0>hyP@eQl{55u@PWrHxK8AIMtZdrE7nnw{4i`V6WALScg4{d1h}-lqvV+7X?>*i1D`TdG9_s zF7hBZL#58M+Hn2UL!G{rz|NkD5l=7i+l-exb_F5^TwWXnisQN>GE%CCHDZRfTzKe- zNwzA)v2FvN>#tGwSPIk+D#Z00aa*Bpcx6tXh^4v7lDNhd>f&XE zxt0{~ZY2tQ{nfbk@7b)zQZ}ONh{Cwu`oWG|V}JjRJ^ETp*7Ayyb>5#FbZcb4k}UIU z^>y|S271M|-j9RP6~^_}+Ua1GzS>)}5zCgmE~aaxGhLSJ>>1I=t?YtNCDhWnR<#Y9 zE9^p4u~s^h4yEE9G`IaQou+dYWl;+0^%3z!DXdP+vU;$8AUA04ElPJJ3i9cn9 zi)%HmTCwc%wXH2V%x9R#u}ZbqY_fj3R?M{Yk`jngm13SN8ZKSw*|TuDx;nG#-qLjo zYPRIMmiBe7ziibQ*n@Qnwt_iv%&i3L6l}%W)!Kk%YhJVkd>W`xumxvR$t?tG6l`H( z$;?92W4!W;HLF{$SiWM_GB1R}E-9?;aj(64b!n_=iXLCn6_+htad}C0rmK3KOINR6 zwW4w9+7(xnMqEVSV_&_lVbzK?&C6O!GPm-K>ZL7fS2V6zy|nmTT#CNOzV?dMD;i50vs6uwv1Qqn z>z1u4!LNGeDWsjpj0i67UBjEI>#;WV^M#t#;?WysCoE>e(?UUQk9n=Sp;w44Ps3wa z?H=iAmewoHT{3wF)}x-LS%fj%OTS&E^A14+wE?u=4XV|t@$v(G zR%i@T^gPR&a9Mekel}XHx9O?@&KCVRwG_^mk;o>KSrjo;)4FqOSbj--Z|3_>Lad_lct^uQaaNh+7F<1Yg$QnZJZy|BXGXqWA$ zsKgvRW190@L83x>Nj7t)F3Ogs7qdxICIIG-e>5UO9GrYZ{6fiKM?KpEO=M3c7MuT3wfwCIXLb?g;( zetWEDOZ}QDEd~2!Ir3YuB|dv0FT`cRTA)<#0jC(KYA1AJmeqJXo9ooR&cAZcFO6&J zIz}UK?<7W+Hp!a{ll*>ni!9aRB7p;?eoPA?^xm_Jvfwry35uxdlCazR`3 z5B?(D`4wV*Ind!z3Tvb=2!BhX5*$J&g(Yn?5;RgNg(vCMA_nFAKG9sh6I1!}Rb%^> zHm;m*U-%T}i{gf&78Ez4G~y1E3Oe7%_M zl98TH{ZJ_I94)UfuD49RIlQ7XP|GWd>s+#KMN>duh+|zugF1EVgFM8Gphy`WlH<#_o{${R>_cMoFeJveUw9cdR02~|#I5S1GW6?4yfn9w-X7_bxz<*^ z;kgknp7F)n)+Le4^WBY{6y!GJi?6=x6SA({Fka{4iyKQ^`$4zyV=?nVnjOYilysYr zC)_6Fcp$}3y%-iXYI~G&F$E0EXj%7R>Nb$3PsBq69B)q?h#J zYAVzeE6I}Hp4R>WUU#+THp>v|Kmq-x3mp?9J=eF%<*DN5yZiB&9>-F2{V)z8+uh-A zgmb5QX}4D%PDw5GfuDMlDirT$A`84w6GQN)Y(g- zgt_*uA=?+_1%8TXEVXiNir0p6Q9xPBRj(|Ieql*}>S$%^MRK@}?>BR>XhBCmUJP_2 z;cJk-umUn8D#m>Cxl%+_zeVGNrf0* zo;0&7iWw7pBVEe)>WnY5daXQ`@)T~sZPnI+Hhh?BsqxlMA8se$wfKbC9E>A4b2!zF zH!@ajMZBllF@pDdR0Qj@fu696DYV|yGu+L$h(`2l5>_ANt?COF+?N=Phs%li#+_^3 zN%3NY6VlamW6}=HM6n7peXas?t$1rS=5-RGq#jcvfYou++p`gGU|XBV)6M*2EZHSm5hK9v>ycp&CWVRn3yvX#}e)X_H3*1=PKp2=)DF&Ddf z^1ye(k-nh##@x+%LX4x;RY42kX4T7+tjQqlHi(Na>2z;ugn$ByETqP-zu^^MLknaVdfiHGABV(RPH>+T4 zrVvwMu8)&mr}~Kk8`UV4J;ezCpR(a63#3p*jy~zRuMli~S~?(Bl+5QgV~$c2tcpWN z^`Rkrd*pI_n~;aU6AX2?)xB$Ra$#g-`aNP_69=y_lr87Y2dF=Y9{2XN5Ayk@wOTFw zQp(6Pbo0h`+-$b$I52$?SCsr_BFwM6V&37jjVFD9;Yik1i&3$78|w2`Y@6~VLwMp7 z`%~qTlQO*9fu|$7M_(-@W?+3xo07yV zoG9^3kIB5{aH0~!OszRE_Rf?-M&m@}^b8ZvO{|i48t}>!CjwE%CDx$0a1lizKd`xw z7bx%O#V2hc`#2-@;S00mm4RqUo_K^fc}5Zifpb!@G@h_TF}xKr65=#<{o+3w4b|h% zkvKWOOu>gue6)=V*b#iUhl?G4Ka;~rs}qNkesR$Tc}P7)b?9b%O@*&H*+5_aO|C^q z+d6N~mj}a0|AIv_^o1-rrOATCkjnx)ru{=boxS{2M;X}B+B$sm02Yope$}ims#=%# zRj{f;t|Fqrqo^oY$66oDK|DL{9KlcBH2y! zO4sLin7FOPb5QA(bX<=?9~UOLavDPm7)LxR#lcg0BlhN3s|nSksX12f#ck@3ppMSo zW9sZt4WO`FO;M%#YAui4qdiQ$%13pm#vJ2$xW=r*{?w$8{4pG|nrm!_t*$e+;L~-E zV)S*zu^qyu&KM74U2DwIt*gZ$dNjU_YafkQ0--KoQPyni7h%qTC=XZyn1NQGmPTFfYJSayUo{8&4Fv;!+TAP(u^4Ga4jwF>y5kpcBPR{Dm2#0s)}OvUOE zje5y8|LRlyre14nY-Y*`=jo*kW}aRl$K@%f90vNw_DZlaUopkZe8oa`=4+=I+KZq0 zY0cM8@o9>7ipeS3h3rnLl487i$Dnv5_-ZNU`f7#j^mS7Vyvf%~@oS!5iivr8g>1}I zPBD@{;+w;tWhw5+fM$xJ0nI|D2GmoGRX_Psf~k3WDTe0h6*4nVImJkQ3%0mF^Yl`T z%+o7mWS(-0k+=)Kqy$I$YAGiAYK1KHbyEyvNAP>MrMWSwm||o;V<9v1wNnf&)y_P< z6f^Vm3R#(_oMI$O5$j*H26hlk3GfywY%sjn9R^};8A8JpBBWNcEisIf_PWh}2+ zhRi$Ot?hVku~WZkiI+UnO5$r3tunZ&2Y=#$mqdX}9zM+v7soXDmpp6qOA%>L)ogK! zYiw~Le>ffdyy*3Pc+#HtI4Y@8Kp|z&ZT+IxZTX5t`V}*l(!*H0WJ6OgHx;qx+9_FJAVda?a;pZ`?%pZA;wC2@J39b@q7K*kKs;7isDK$&K zkCxZnV+zpt*g1NC#~erR`Isa1&@91?G0QkP@ zY87aG%v^mr{yaQh0>%4sseT_C6D>zuo!aA-hyES-@oGQ~enE5jRYGrD==G|UKp4Qg zWVymF7&E6HT)fe0J}&c@AStF4I!TS0EU%3*Gj#Ol@SYlfja79c|Ck)JU-TR|#>383 zD&U-w4T$D=FxtVi7|PDjEzpNFrO`m&Nerrv2U&|l50 zKF+|zF~&nzk>hKNJo5^%vbT9}#jF0ww^4@FbxKbcUU=o1NEYcI_;zCVs;z&J=Ub(g zY-`lppGWiF+gezXS6i$*^9Q8_6AF!uei!AaXq9_}ZDU>&+m4QDd1fn(X+35ujeX5y zYlas&MVvpz^`32OtP4C_FJ6)zl}F?1N9EhN`cZZ}COCEn9Q{DYR-_F1y7L#?E9n$B z3yl;{3XMXRO10Em9r;T712R6$3mn&Z>V$e{rH%odJA6G}N=Xh#CS1pIhP& zd==A6`%7M>)f=1b{DVd0rn_~Yi z3;w{?aDPXCvADy+6o06$_;46K^D_#?OmTl#q=+Ivx+ELX z%;y)&{L&M@RUk;s$9?nN_vWE8_e(XQLj9vJix;)`3@43H_sHg}SAP5xh;6lFBY(An zKlXsXcN8)UzflrsQ~zFv{mqYng7-rhAr1U6gZ@e}SlB0LDr>FzSX*D#1*-7^kGHx4 zMaKDo67x6l0wwCh?tt8W;vFc$$ItlKJ6s^X*bXU}52Hgx{2)3cci%yW3-PscxIhhG zxX68qoL(Guus5mLAyXfCj`Sr?P_~RO4J^^$O3T)~OYr&nKAe0uQ-U^sQ-d#TCXR?O zv%1P18@;YlQX7RX%}Z^xAV*17+=w67(4QEW+NP*cQVa6kTKsi6_3mw+H-+#fc>n5FAm91Y`+t4tpwtD#Vmrxz;f%=IG=w{g7 z#T5t6fnZO~6Xj1;K-7%(u4%ev;fiE?3-j8`nD%PFq1)S++FoA&9?tA9*uVXO{#DIZ zHdjU;nYw!S=u?v)`r`ZFJ%;}6uX#AVe`qhSe`qhG{P~fowO?X;yHnfC>)-1z(+!>0^iLskF_TE^>Ue&pF?tEhE!;@Mj%|cY~Z)s_m zb=GN9Pnk0Xb6izL<*A%yFKrr^d3IjjJX>`}UBj$x6;bq^lcI+wowg1ZoV)O{Up$H`GU>^^B~RV8HCf2OPQbk5e- ztQ(j4TH75T@E81A* zzbFUY)p@Q&A0L{X;^VQOGv)=(8Or8E8Jx`%F8<%1!N$ic zi^uXd70XAOPORUjV#Y2T-fB)e^#`lHb%Q$(gjNl!^m!m&Hk|Y8sz!wKq4Makb@NID zbA@tqS}fDjJ*M zyFgrb>N#5b`suv5z92QOt*=wo!#h-b#DR_Z?qhnMKAd^>Br}8Dt>@`&1?FkmUL>}c zzm0Rq)8iN0+V(_j)Ar>!D9fMCx|!r|MEB1UGl`i;3i;cd6I1!EfAC(dW*+`bNv1R&nlA z7x01DPOQ`OulJAox@cm~PQ6cZs9a-YxhuEf3MiR=BqbIahptfRl)zofD8g6g?=gMA3^ulD!Ozx zVWZD`u`x~fIrh(+H4f)v9C>_k&%`k$UVx2b{Q+z&r~Eo>HXeq7Psc``PhsQyN}W$* z%VJ}lFPlB(d$3KzM*VMKW1`$9dz_A!J>(@nZF?Iww)GiV5j@Q?8vtw$v4t40mR#BJO#=|CH>*srg4zcyaSAcDt>;blZIGT8n_Rz=l zVH-AU&t_oT-_HOuQHR*dAEOXyEdD>1cC8=ScP6$={QKsIlhJ36*+XVeKkUV3{qPsS zOqAPHY<@VFad|r$VQlX+jlEv&z8T|TVm%f`8;>GR&-ZC%tsuvpWHJswuz5r-k$J-Ue8RNPqiN=;$gxM zc5dN1e=(BMKC=>1U z@}Kka_j~yVy!K=y7pAct&GSP`%p694IWg@QS;*?R>hcbU^oB_&2r+Ina+lo^r;#?c2O!SU81C)u* z@bY|?5~oabcANpqMDO(S=X!a&zSrW6dWI0IWYn`8nO_)ZfHKj$y!^Yp{Cm9og z1C)sldin2q`9og*a3bPopj1Wx^R=P|^VZ^xz%!%H=tHJl=eyjDsPo;Cok4W|hUjk- z`n}OlO`d0-nK<86nL}9X4@7el`N3#qB0n5;C-R%39f|zr=uZ>*TcW=;c{a=b{7*0c zD=+`nNz~L&HD==cw8Z3jcVuRCTXdbtQ-^%Fnf#-wd`t9z$jRy!O}q(J5w% z*8Y7Uy1?YE{xv4A^>;-#o4oe#gVE6>dcfqhf4>%e$J76b$!mKaiOS3=Nb^4yoh?pD2t-mk& zU_$?!(H2ktfrS44=r0rck4OLH>A!07+WrI4EVEqa>V0PPt>{9re5XCvn7p=UG}>(P z+Wzn0F%5seY(Ymfg5R=i?dZ;R+}PSa(uJR^Z*AMu*3;Y8-kWR1Z+k@>a~nGbZkB5J z{m-^utK6RJZrjw;k6Pr@YWR(xp0?heTktDz>POPlZ=$Mp;u8GYcMtxaps#?RyGgAq z%TlWQmHDTee47$gV+F~stqPZ=RQFrfzoRu=up{Wl0j*FU;-HF4UDZ&b--lR7+88@2Tpnm5 zP(7d(TNyVIhf`eYs)h>vKEyf!BQOr(@<0=T>H)3TN@IxnGj{$wsw)PI67~y?K=Uc3 zdE|krc{+J^>%ZX~HauLGuw1GH+D|LicBPeuTEO~+sj^4!x%8|wx4^iJsk~9k`Tv9t z??=8t{9|q#Dtm6$W2DB*jANCslWSBvj#*-Hi?Q;J!1EDpKmR`_d&Y}r%Q)FHUOXQg zCws<=XWKa0GhRG*j*~r-=Z!WW9?Nlh&p7#Kym08oAohmIL+fr)puZLC$Qr@L2w$m;)L9B0z1xnVJEP& z6WDR$BFXjL$Q38#juY5%E)|@>t7ML-04)KZl>!A5Y&UO)|N(WR?lff9KXgx9X z@5G*VkcaY58u=dVzi9BMv46Y4ejw~?kpJTAI z9}eItN!bq_XFo9O)f;_hKlGjb&~f$~9%VBy`Oaot;7?(%YzB5V1JmZu3ms*1BLqm( zuw{Xr&w-uICuvS)Gvv-@VCQpSXEXGj%|@<#4*71h^98nLIFL~jmclHC* z{`-YahPVm;At|2&mjlniM!B;efNd)KA$RrzJD&qP`=RgbH*#ga;ZZgNlTY~^*!diI z7;+USz%EXVjm^NQa4E-J0 zw+cCJqI?hbyA8evmg4OfUHf(KTT|Sl+D28Q$7d&46w2pcr)-_MxPuH8cZE! zGaZIB4O}-aNZY zeqh?a%hYu~Z-xL#`5f5!9N5`EOZXh}DbQCj1MGYb?CgiWv){;-{f0-`3{0EP#+C(k zJ_p_mnesWX^SRMcK3@R^q-of)z|QBu&gN5v&mng<13RAsJDZ{JY&LRbGvs^G&R5u$ z;Z*hm(|+Z1qoaHd?Cb}2_8T2#|D~viq@;zur#kt{B_5;&?<#VH>d=BjF2d4eIuw{*ovVRo>NXqBH&ga0+{@EhVA$Rrz zJD&qrfk(}a(0BG5xw7BzD4T(4v+_Bx^Et4y8Q8^%(NQ*EMvINlfoabyY*}F1Kacoy zeJ(g($Y&aPGxpaQ%yPwfIRMf$Y*}D(vj4=6^KF9D$Q38#juY5%UI79m#R=@}1a_Qo z2G3c_P9s;GkULIb$GKWjYEEEhC$QtJ7Mw<|I3ahOz>f1u!3j*BGqGiXT@1WKf7LeM z$l30D44#2~lfjIE^~BKMj{OIO{1ZmL8~ZO9d=K_29-vQd6~n;PQEL+5LEw*LBPaRp zH<&tV>{L{Dn03c1nmIbEG%ICn&<}<`P5OQZTu=6>vvl;r%W+PWN zLr!0Pfo&O1Wk0a$T&VFF$bEBi|=VXSYd=Bh<4(#loD|`;Qvme;`9N5_peP_RsEBg(P zvKg2*!;~ls?0gQq8M3>K-1*$-D4VZFA<{H#SzzaLU}y6?h0h_M0$mm7z|QBu&SvO4 zn~hxA4EbKv{R-PMoXUP++OK?Wbd=A5o&CVhexsx8=gApK`5f5!9N5{9gOzQvjV$EO zeqiTwU}rz{o&83x>^D5hW?=Fup94Fe13R06Y4dKjYjl*&JTW0n!@a--C8koEuJMKQQfAJ~ukb=fKW>VA{V6Th{0(`#G5*DW3y7 zp94Gl=ZQFn+}RK8d=BjFhrYAl$d&zuN7)Qao0ZRjozH=t&A={BjE=IIlRVNiY*}FE zb6{sP$lcrmxw9GA`5d?k956A;LjM!kvpsTBu55X|Z{*5;!=r2lh8f!Dz|QBu&Sqe8 zsQKLJD4Sa$M4E;z3+#Lj>})8JIS!I0tq< z2X;0CJD(dJWiy3H)39ZMozH=t&F2fBL+)$_o`HIon7Ynp=sTOCL%FgU^1Z-cp}yf% z_5;&?<#VI6)aW?-AqSO?8Ka}@Z-)?xc4UEFoC7=i>+~;Au?^}t`+-@n(a4?s(BAzrIreVthJD&qPn->b7L+)$_ zc0LDoHbegt;G>VoN%^OVA>V_&n$HcVvLBfC*9aYDKjhBmz~tK{bTY)9_zy|>9N76B z*xA2G#5v^7eqiTwU}rz{o&83x>^D5hW?W^!nA~#Csm|+Vw_Kznu&34Vp>hi0}yFF z@dgE>4a994^INd8c8v#!aqKW{CPp0EWaEeNYU5`Xv5B8K#7nexEwPCohKP+H4v&o= zy2i%O24WLGy~HMdHWQop*-BiG|B&v%X5;66ViP}mh)w+LBR26fN^IiiNn#T}&k~#X zd7hXCBB^mS@$)M3Hh$FDnfS@lKPGyH6F+J! zO#BQ}ZsKPPv56mkt7qe9C$Wj2-NfrP|0BdEehv_u_&H2$;^!G+6F*0YP5it_Y~tq? zViP~*lYlp9{u#t=8qX$f*LW_miJwKpomyT`T%qwQf!7P%De!>6w+g(SxKi`nEATFX z_X@mU;DZ7`O*~oiJSXrA0>3OUPg+*LO5j<8Q3%rMTs^-}z@TkE2meJ}wEAaCIzeIez=6O}%Ddn*|D{!^I^8{W(%n1Xj zN#NB2Un_98z{3J>A)cmrb_mSxCarw8z>f%gK;Xl~(>2dC0v{3hMS))txE%3o>&_rP zLG#QOc&@;U1g;l&mB8zXXK0>Ifd>S>Rp9Lc-z)Gg;uAH`UV--ud{E%01%6K87X*G; z;0VW@<*yQWmcVlat|gwS?YT(cW`WlVyg}ezfj0}hRp5IBzF*)y#3$)?_X#{I@RI^R zEAaCIza;Rh0#Cu5VfnKHR|`B(;3dRaZBLWHs|CJR;BJA31?KmvmS=~+I|be?@FT=0 z>vj(ad|2RT1U@40ivqtQa5?5V%Q-{f*#gfMc#**M#HVO`Rtdab;7)-D1in?^?E>E` z@GgP(3cR2AExO%<0zWPAa{|90@XG@8gMZ6YCGaeP=LlRY@I?YQ6VKB2tQB~Jz`X)* z7I>?`_XvEyzz)usOuG@W1;1>jbSzunITKy`4 zXA!?m^UM*rR^W>SZWeg0z#E9)u6cR|-YoD|f$tIceu4K8S8JYq0*?y(q`=P#{Jg*~ z5x+z8yejY%tU;_iD{!^I^8{WZaFf8R1-@3`Zh?md-a=fX?b#vlPJwp|{D{B@1U@YA zGXftG_(g$VAwEO5TaI;;#WMt+E%01{7YST1@G61V3*0I2fWWs3yq$QCw&z}fcL}^# z;Qaz06!>X@pA+~6fnOFl!dkEFOx?Qs8F=eqP|01b$WEDOjtPovqu=3S2GlJb{-8+$8X7fv**~Ti{`V zw+OsL;GM*CwLQB9enj8{0v{Im8G(-o{G!0G2waZ!wQXw#@jG?9vjv_j@FIch1zsia zdVxCy9uW9efwv2MufV&A&(Zem6?nhE2L*mw;O7K>LEx7K#*dmf{wjfI5udBuog;9q zz!wSJEbv-^HwfG-@MeLx3Ve^i_Y1s-c%HUrpTMI6KPm9D0zWVCO9HE`@GgP(3cR1VR@-w>;HL$C zPT&^=epz7t1fAun5_p!ta|Es>K3}(ck-*IYuN8QMz`X)*7I>?`_XvEyza> z(O|B(Z9#9(aBi@zcY*i2O!~(f)GszID5RJ8*@iTA`6Cg9iKS*q)bVdyXkztaO{H6$ zrY`L$Oe{4M7N=4B7V{^Bmf*L2N;kSd4QY+GyF}%L=>_V9tXIEhGdANigKw91gtL}WIlOXjiB|VD3{tm!203==98z@2wGo?a;XjY z*6Uw*D*cd6)z7!QB-Mo7sWp77&CfTLZgzTwe7j52O&D&g4CglE6x!J~+!ifp9~v@e zQ%Z}jY(h$jHpH?f*3GxRs9JGS-`iph5w{#GB?yDM`BoNHD^4045L#jsH8i=ph}H9L zEk!e7Zd!$q#bREKZHN`~c!T<3n~SQJMjjgz`&rDVC0QNR4_jSSHP7l`jgZx19xci0 zpnlluqN;gT2W$9NCsqJOZBEh7x3~nwguN;H0c(RX7wh?~LG_@$MKw#JjxEu#jE)tF z9-lU-9<;cqW=Yfmi;F~#Pa9MZT3l4KBx>Jcc~UPL!eQlnYm4h8Yz?dXmfEwpy3dEMss{yJ-&NW_&)0KbqhW`o^gDC=JD-H;d{vA+adUHtKaec*yG!q!uOoV_lV%b zZDYqbo$pd2Z;y}tDSXF4Pmaekf)BS-9bbdTcMxUfwHhF;$Nj|~-z(tbvC89@ufwn{ z##x`o_Z(y)z8;USes#=e=L+(D!Q*>5h3|fkZ@b{*>lxO*A9#FKaAwH9?|Xbt3qHPH zVfo7WPABqqJa`<0_hvadf!#>U6jIiF50CH_1Ks;2);9rxAt{-_N`6f z`=H0SNAU4+z2*Cq$Jd*}x5MLmN$~Npx8*zJ@$q;L`S05v-;$Qte|&sw`Tmc`cYg}s z&pf^@f{%}3E#H{{pm5{6FNLofdaP5Ajp?x9jczFDtFZdqw_+Cokd)VWOEEcin4cd^I!0{HCw$Imm^7VX&R@y$!&>-P9+ z*T#Go3O@cl8QI^a6u!@Se47OyKL@e)J?ZgXo5J@!k8f1)@iP+3$AOUc4X5z^%Hx}| zF7EGA!FR65wbcZ-|iH?^&a0&!M9BC-R1EeNa6dq$9F{VT_X6t z|fiF@=xsXiNVM2)>nq?=&n{<@oY^7dk#pfu7{sFZeDK ze9a!;>=Zu!-66@xKm28nH!M9=8IQMHJ-$ULd^dS~&4Lf7CdcIsH z!SVgQ$Jd#{_q50Ntl&fFIKF5~ay)KL;ro@xSG_*=AE+H)oyT`?3g3L_$?@nGeEd9$ zWgL%dJ-)pud{=pVj|jdG2)<8vdHRv;?nc#;{*U%Cy#hVym+j~WrgGJf zPV8+zYH$%LkMm9xg!oQ}p5%K@@O25k%RN4RBNXCW;qlet`#Ni1x8NJ`_?mD&3Goeh zd|L(I4TA5B9^bwcz6U(MX9Zuc;5+Q`@f#kN+eDu+{guZz55aEx+lO-M@i=;`w|~2a}H--&+LV zuRK0}=kg7d+eDu+{g=nL8GNIVe;?be*z9=B!A%=^{JsFbKSQ}qmhbJ*ljE@j->2?_ z68Ub!X8G27eEdG-QA=j@n7zW|dl7u2kdtokB{GOd=2F`QIF{sk8dv~TWjC# zD7So%dVH@UAMzi+;b5J5Y)l(A#P)4P-tzsU$H#9T9%BWQsK@m89$$4^Y~MDNTfV8N zFUN!5BZTa$fFA4AV`F*-e52UYf7`KHzISs+9SQQ4tc1k(>N##US-!hHzA2rteV>G~KecC;0xx;~M~9Xnr~5@ofR$D0n!&_Y1!N@c8Cr!}H(2dwlg+WZ3!T0l`;; z<3Wz^GvEu^cRKXs_`VFjQSi{dUD&Mu)VDgwS7Kw@esXyJyTs$$*Av_KAnIAZk9hX+ z{ov5?vDxG6z9F`6x8VDd$M+KWLdOTc50d?zdt+?hmjxf^6Y0O*ZwcG?1CQ@H@Qs3p z{@Ww?e&g|7J1cD8FFd~cdt>_^5`5=jevDKK=IyHp};j$G7CPu>bzl<$JaX;+xNKOyW6wxAoxP(-)$aW^-yfz z0m1i}$F~I!DZY+!o9Gv&hdsU{;Isbw7Rs&v)OTFS+x{-94*Tzi9^bvgv3;Y0?>L+v z<@mk`zR>)_Z^PvHt{sW(`;OpK--IDwi;d}lcf^=^w#DsY@ZnOzrT+(dOI%LtFnfiu z&lXkIM9~%!m}KFlo_$j`Ar>d;7tNGIDanoa0!|HCNCQD~CYJFo6t z)iTwJjK=!^#fuiHlEsVPwRnj_8>W7A*{bDbWtNG){-7EY+eY*}5N>oVQi8eBQ_+*I zXaY=l;LYfP#Y>|lJVB_3dBv zgVi+jq3tzQr+sHiw6mdV>gb>T(SwcA@;Le8H^`lj1U31^+uF*Sd(9C@ePgH8|Q>Kra%{SMr?dbwIP98&l^UpUz(m#r##%b<&Kw zvZ$^psw*q2YbxU_4jLBl*L?VEea#);=-b(_dNcfW%Y6fR{yOmevrd{$&SjvB>XwyN zRU+9B~y_^b_JL)lV+2D#(Q={35O@;48+}e){T*F0MRZogDDh4C$*IwEZVa z`%PSV9bnXYadlFynD<>=Nq@D(hoSb@rRy;^)7vYex{9)P1XdG|L0|;glA1cern2od z%?;;nKevgVTESDy@>;~y=9)YH{FXfp13O1Q_fXYY_b{fu+Q6f*?1@T6y|e6;3(6T+ zlSx)LnN-^<8COpo_r&D;${sF9Ko~BXAS0K7t z&_36rSDN^$Kzy+eC&)gi_)2sl7+=}?Jb$gkyww(*w^o|D<dGe7HBG83%hWYxw&5a8q0)zAc|As>x#o^VlPb@` zXw+lcTrQ{04d3L{gTo5r(RI?PcBW)JbEX`4bPLcn+-%Y9Dr?HlddoC5<4wA-sq5^# z@o28m_G`D;NyCi?4}pOuPO#<>z<6+iRX!+J;{hMcPV>PbUZ@s!LhYHuuSD9^Ou5Yfj+Igbxc#ymc_=kZ}C=L{!j#0DqlMm0I> z<3o+eavmRfBVwkUQ_iVe-_mvRTQD~~QLg6W3OgTHMB9#!T4)0PpVZP=*7cUE=9&xF z=$5xlif%72yKv3zjgz|0hCOxVI18GCBRLq$PgnC%VlbBDmLZ43_&|-vvHKu!d<5qA z;^T2n1*gZ;-1OL9frF#0t|HTpL&O{(6*y9GeAH!F#66~LOjm0D&v5=#|Tdn>KLiu zF+xAgPV<94MhZG2c#H(jA$LDK>FN_#l%*UeQ_OMl{VDo9QkQlfX(%giXe@6it7vGf zXeg^}Xsm1~o7~VidHD&L=mFG(2C+K7KuMinP$k2e9>-TX_c*>P%*ga&jK7 zN{%D8qHFDRtREB+ve7o`V})1w;e}nDGY~AQgiF3dzx^#+ivX82tgpFyVLg@<>oA*q z>}oFcww*|jti?ICN*Rwy+r*eUT2zdwzGb@JJ^c_a{22K-G9peXTosgeUBVcnm?t8}q&iDi zbX{d)OdUClF?G_e{BTp(^(MyjMI~ZPp0n>>XipP*)DUC&=j=1pIa|dT&Jl<)jLo94 zj?E#A%`py6@fg$Rdc;_fIqdN%`aDR$hjGt2jC;;u+;a}&9&3b3?m35Xjez5XYlM&KHG&JUZJfgDv4p+@ zOK6^ycvaHyggGUha!x#ll|RKbv|1xfzTt}ixS8HU6Y)Riu&z_8*4JFv*iylH3~PiI zc4bo6S<^3UTwinAqLzyCmZnI_)qJ*i`pSinL!a}OlB@Y_`ScGM{Yh3|&1dhQe&fRC zn$z?eg!)*6d>Ctx%C4@&8su&+(ACLK2iNj*Rd8)+;sV`X6P;z(AnN?0;_JU}Yyxvw zVC_;oz8;#wb9P%AayzE5CPo*qS<*nDmNb~;)RKm^ zxU}IkV3s^ML#ibQ&X8)!Gnq@CySLxn#Mn|xo^5zLU?}-C3ps?6_z<);yTP)S71s7N)!`*pAEGyLLatHP804$~joq(7L)x+SWCT zL55(eXlY`Q)m75cuDR1MT%?1ECr2fxcn8clF}?tmoh+(kxt{ zt0z*)`>cnK*Ozqq0xo%*^#m-N%*_wp6p$BeE8PW~zR6nZeLY^YP26XlxX)^zqs8~V zC+@T2-r2-`R@|d_^W10E_r}z1S6&*nlgS?Z|~** z{@iDszFggcclTNCZB}*vRh?{kpA}&u@3Sg7Z?r18x-Ic~-)F5G>wQ+uasMlh<1A+TpQXHom_92D;ChDSID-kC~2zvEt4%5&6-ccv!ZnR2hqPP{WU@y=BI&Jb({9 z1{L31v9Co0vRj|%o$e&U@ed;_J|DY(um;k~@isrPbT|LeuPxAL~RH(HhlUzxHm zz21el4QAu!_>4!Z2fkOW-Z$7&v*A#+c@Oz$-kH+Dr{9@U*X;2-Q^9L_ds6^!>M$si z?@ZY{@CazUx1z7Z^~Le;<)x|LnQQsqvv;N@uIDG-neyLii|o0yr6n+$6)`^&~Sf$@BGUzsm=`z%s;$8TUo zHQ3&TjY<4INL2oNsy`2Ypntfx{&^2DQ^-GK)u&tE%>J)8_H)lfpVVVx9C2&M#zZ+W zeMkA9VB?%YIe)N?exv*_HYUo6d0bHb95yD(i7Dgu8*F^4O*wy42ET8lD57{6~6^naa^^9Pccs84MD z|07_wL-`SG)!4{S=hMBEA5HvRhI-`Xo{2of)}D_7TmCJ;P1xA3A1C-7G9~{p_Dtj< z#_x(M`HR?F`~Tfw=J_Krw(c}Ggv7eUw(su{a^hN)(}pXBocKH=-vVrpolgiI6su&9 zot4PZ2JWfGc2{AueZLKuiE?86=9FspuduiJ^n^Xux6YV*I&HDdmz}7!g=`BeTq?r~ry%8Bj# z^IKr6Pw;w<9hz45a2%~~uL8FAywS&QIqc^cWiT!rnxh@N9O|+@_e|s=wqy6_6e3Yh zY{%|Z3Xv!$wsQ;DOH7m#&%&N|)(SbXl{X7Hv6XKSa$+mrEab#CK0gj@crja{dUaou9eR zVN&e^TOXb-H4?c*v~x^$Fv?>joI3ra81C@1Fe%I#;^Y~50?P3-!7;`&P; zW8-;!ZO`w2jd5Y(coEz4`@c|#L^-iN|4v+gX`j4S*I(A>ycXjz#bc*mtc8f}^%vJg zEawd%OzFM15jAxA2;aiE?7Q=6|DHe_7jjEp`bqHQ0VFY$mqX zU#s94do6G^orJ`G*%Z3|A{BKyu~{GTnv03@iR-Vh4=;mn=wj}f=qutnY#gJB`{&vx zx4{?7j8C{`v+*`@|6Iq(5%`3O@pA;5J$`=%Jk~Yp#QpOqdNbWW#}KP==e=~hzIq=I z5F;nHYlfA;oNv@TBlOn`ePXNs`*Q!>`il3`?fL63C`6*Ki0#_rzw`b%hv~H(JJ2hB zJ_oU}bSJQF_gJ5OSRcL~_s^}(zYFU(d(7@fr(TQu=hjyf>$lRbBY2#cMAz9=9{rrN zgG-sH&0&I!x(OYNGVbApmSxleT9$Xk8K8`Mz!!@$(G77%mG^r2J}*DuXFix51#5e<# z;U9DrDHEM6ax52rybdLq=v1$q57*8^YTl*e504=MPQsV z>Sl(_^W+$(jC$xR^Sro@Q%2qNka^xnic=<96K8-j(K;`Gm6yNT%YVSjU+3jpz5GEh z|6MPC$jcvAf7{RsX8@dIGJK3X6X%onCh}d8wNRILNBxQN8zMV{>hj)bSE9U6y%Izb zM|x&75dEzw*ZD#9c!(lhe>kczhqTUbiq1&nH%AvG^0!3Snmjq!pFuCb&C7q;%Rg-L z^Rb_azXtzZlRs1CZ;PH!ly8ZClgQs5y`5_Cj|NPhuUXBE z?utHT@@?49gg3vM$bT|AZ1Q}yVJ7|>_fHb#pN=wS%G3V3H##+u|7^54k>43zp2&YL z+Gz5+|My2*O(Q8Tb?Y}*V)t7CyF|Ap$bx(S0%2{jxU@1R*iaGB)P)U zyee@EBRze?OIn9h8cCGOc2WyWQ;BlpMmX*IzKyv)(^y;QrnbJ0oN=;rzSZB<*3;Y8 z-kWRfg6}uxHg*i$?Ayt9&R<;6{S#c+veF;+;nxOh>) z7UN>S#c+veF;<9MEEp5AP_~vPH*Lw{L`xwj$93XTudQ%FsA8hEkb~n&ajDl@xFA$9 z(OSs4aizG_Yb{(5su;J{)!W~eb{LB?*;0zwv?EI6RyzAfa6tM;p{XGYWjkr|WHmL3 zSN7<+od3Teu(=%ODW~!#Z5waLRhrAFu!)(8`AyI56Xyc$hd0`}kC&}kUPL1?R4Bv9j}vmfCv4?Yh1}c@VdPT48M)1+u_XuxImG+!DPUd)}!c zuEu>1E`6xOG3Om|${)p^cfTno-*=6i`u`yCb4G`Ce`Vw+K!-MwryctR2G?WXWiab) zHTW?0cN)w#|J7i&^`gQ2%tQIM0Rkk|M_|`SVD^zilAS5~2+UWwR3D*3J3nJ|9>!kv z7jp7_+sLW^_X0mlZ0i1}kxzz>>Ld8uA)9C9_1LRELe6@skH80kw_&4gZ1X1uvn|zM z$bSKu>SH4Sk{Wkl_Hj10EU@b%Ze_c11a{*H9rjW63vxG(kh^g-`f3~vR^w>us&Ryz z<9HU^1$KP|u7^zZ5!j6*up38UH;%w=9D&_9Hh~05^%2 z5JSg}BXqtFnd&d(?Bn-@{tpE{LTu{(+Q?lW!Sg}Lc)ykHUW7gSOne0Uj~V=Z?A16z z&Nly-k<+$+H`w)Y83afwR)Ncb)$s_-KC*AwlcVTH>~A%A3wTstpu;}yr5xDBC-nad zvL6|Jw)t-Y^VM~7l82wtTKo=T!+E)p^HtrsrtTK(`SgJLmtnuv;JdKD!(ejkHh3EF zR}DUh{nG~j7<=V&@Vo>(4|>)HzT!%JCH5KWFUNmK%0Ix)Kfv@)Gq&t0k$NinVT0MP z&k{q2{&~n?a*Pr~-}wjF`Nv@8A7JMngOz^_CqHK-kMj@kZQ!17_*Y?nyTRMB|G2@< zKhURtzGCFgKal?zGUXp&=O19&bG~WU`R5WSBdKEqnEsiKEelNlsQ7t{h#z3`sQ7`7 ziyvV6=i96co&Ui8e;E8z>^YZF&bs{M*Wzko!=qvbI?gB5M_m;&z%FKhUCaQJW4CFG zzE?2=x$_C|5tP4Rbbf}tiW$ghkBS*!=Mx46lJW_#^9k@2$XT47C1M7cuYW0@ppZU! zm^#4p$swcvOYDDQ@XxWIjymLF-5P;;-<@^Iv)agqu%Bz{x;Q~y7bn2mQLf?ym>gd* z`X>Ub7>4|>A^UqH{}=4ld;AVu)%y4=?;PU9Ef#k=i>rDL5x1q=1C}{P9yg7Xg}})>=zo`gZ-$%9Ou6>m>fq8 z=BM5CHS0#eRpbZe=k6yP%un1G7+jD2a)Z}n|3QNXu-|O(4(tybO#6ReFh2`dd=&-$eUdCp=t4Mw~UcisT_VbPX-PnK2;DgwI z+h8|d(C2vlvyr>;g4~T4up2L6H(tPQynx+!0lV=6ru|PDKe+K)i3X9>oCD19Qu8n{ z$EzJ%_OvMaBKG?X=4a18AchXd>v@AYUcVrQ{@rLt#TYQ3qt0i$z!ze_%-}WHUuW=* z*pC?eG3-BYFx&dN!25|!yL=u>&i6rQu4$JsrRHtObHIOT!u#0oZU7Q2EIKK=HBGF%2EL3T`8jH&* zHS)I!`4w8O#^~)rzFNquh5Sk_SNy;nQ#2E0fjOoZ6Td@T*8o?;_M40j$8@LBc@+Em zjhuYnHFE0zgTT)j9oGGok)Hq^H7?+9hirk7*JIyhFzanK_%QZ&8q7A;+>5$w>qR5y z7%5-1K!BwB2<-X@%syU-En6e{2+ZS1^$|L>^D{>0VeD0ZAt&Frjhy;wonY!dOS!50 zpGJpkI@L$$v_m$}$m_9JeT1C#R3Cv40&l}c+t}t$3}#!ZzmRj@Qhi(lfTYG9n0=g$ zEeq`Wc!uaBFny)^2p#rO^$T)0j*z=?H2P{B4OZi5>Z);soa1;F+XZgNUiA^U9$57e z*o`Bw8%JO_j=*jlf!#Q+1qqVsBe3fuF#Gr(Y}q;D`V^QvBa}nOjU(h=hfMVsa`y3i zrY`k=DDV+tQ}@?K?)nIx4?=d1kza&8`%D{-VE-|LzmL5dN66Xc|1xs6rPh;>yFRW% zA(Dz!;BsJfJOZzCee4+)Eu`7oX7iFUWpm>axv$6PVWkwXeEC&_4`Tnc!9T`c`5Zhi z0ndY;wP&Hh?povhP(V`t0e1cYrhl5TWf6ckVET(h z{}lTd1XkB#&>_!hw8!9TV#CQb9OceGz_)>8zTsJg{p|*C$Nu96lSBCj`W%O^82Mje zuhuG%9|8VHBmWup%0H0P9<_!9cK*2v3P|c00j7UuW6J{5KPrCC7V!g29u+^(aq$C8 z|9qQuq2v4mO#djKn7Ya*1}mQ!9u+f?JD*Sobyds&yO;rXF#}8vW?l5v< zwGM>btpg3_8jgLW&FcCT@<#M!9_K82je#Z5-O1N*}U)BYbA?AC$Tpe-adUchd=fH_{B*s|w{ z>r-Iz{2k@cVc-ANV2;r;b2%)S7- z@iJJA7qA;IgVlH$o7K7<@}+jXfFFnL=NtRGvHzCA2eJRQ!EU^u&++TiYyX#ZvyX#Y6UUMv?4ZytSxXxgAeG0j|J_Tl5UpG3$-y}Be z{?f=VgnX`PcR%)O-bURVFpn9w^&Ra0Z-dG4oWbt;6grHxDTb44SGC4~objcuPl20( z)%gN=18^5M^3&g24E{LwqXyIF?-~4S?3K^2MMFr+=fKYA!1VbBY*`%i4`R>tA2G*H z`5Zd*xjL?a>GR(h9d~^SeID29`V^RPaw%;9W}K+&Q((r4nxla41Xghl?Bd*D73Zd1 z73Yw1UQ#{>{wCU=Z*1tqo^j8%MzMdwU~;JIQ^*(Q+`V^SQIAeu! z9@mT&Vjj!t`V{yhz}t-6#X00I&Vk*$bR8N*qQA1h^!e!q)905GqZ2n`f2+Y9&z;23 zufl$>!Q}WhG4%fn`yUzX)~k>cPo-_ZQaoY~;BM z`#TIK$8Lk^zpom65PKCT(El;;4~_gK?B}sv$Z5|)gWcNWgHS+H{sArrR{jB|f10sn z7l^e7FnK;pIdtfshYTjiC^2-Le}MlTvVSvjV&xymoqr5g{xO`ZXeZ>(Kft%4F1n%Q ztFXV_;O*Fd++gP)=+i%HO#v?D*pgG{{Yh-wFUro{%M6W(ll&YVESja!7hF< zXfA$$$)n;2`YwKe>7Q@2E_B>_75Jx+O-3EcSy!!B4X&o#@Ti!9-1&q$sEeJddl~jy z4R$euLUQaja{6Ay4CDtPd)mm4VE=-_Kf_+d4Edq2Vg}gxWCIkClutGYp8(S*&DgTF zB4&WO=2Sj`4t?@4b%5y;u4AbGOYGJB0PNPQrfv=DQ-?ff5~D78RvY;c_Hzx7iY}EI zHB_pIsHtK%rcsflE=ATCTd5lnyIAQib-BCjF5R2$a{aNp*hLq2@m{p|^Eq?QJfG)e zCP}sa`Q29!Oy+&geCIRYbLPyMGiTIs+{rfz`G1DiSw{sC-Ee-+HO z_9d$s^;eNjAJ|UOANDUy+ujI61k?Wk7l6~4O2I6Xm1J}ZxJ{m`$ZW4ne-$>&%L%4~ zi!uMDwTb#au;|E9l+^ys|Mgl!?5hp7}C?JqF*S2NRR z1i@D@=Xs7yo#)B0;r{v;%iLdQ$*_s`7npU#>@Uk^e}TD=uBUI77g&z=7t+aQe}O*? zzSr82&Hh3<_mMddS~mL&9PKa5W`9|q&3PQ@(f$JeIebUa7=P}@{AtVFR|A%*@q%UU zuR+Vv{(?@lzrfM{0%u@zEyo5COq&Dd{xa<_nEMOa z3rbPx9>;u-W!@t=Ook2j*Ky0-U#7nb`>4MPj{2)$_CZV?1G5iu7ySW8{Z(+(Uj;|^ zQ!MYLz1{Aw?7GqY6xgs0K$B`TS76R#hWh(4{|n31IA%HOufm3Pt^jE>$cc#o? z!!kF=HJD}oD{CM1S7Fb3V*0CK){~p*4|oaYroReiJu&@N@J6ty=isQGTQ>FFZr9Xv zq(}W#FpuMD)(4n{{Z*t7fK8nTQ{#VH8`kp|E$4w>hl##jjJfHrf_aRyt}va)HR}qQ z$FJ$HfLOy*K1~GWvK7toL~h2F-Ds*BEjO)0;x(@sNkMg`tzo%4~zHKRota z{V5~c`cp}+4UMbGw*Ih+xcbB0%pe`?6hVS0u< zCS;CZI9?*$EZjyO8``fE?iSuE+)F+uwBISbSNMSNVRB(;e@ys<@M+;71^aQKeUWgP zaHViHd37~MH^6NwUslv6wb;9-J;?RDnaEow6D?>aX*mSa_0fm2i!4hFlW*zfgFIaIf&L3p$9HsS5UdxQtbrJ?_agpUdz z7d|C?R=5ytjML$7I2@;irwZ2!*9q4PFBNVP?hx)GpC9_aNw`P2UwD`BKH-DHM}!B3 zPYRzAE!o9*fh4%^{5I!t?O!$QG zX<@zy#raSqTqay8TrE6Xc)svr;RfMW;ZE`eVcs_gZx-Gryj^&Y@PP0k;iJOGg-;2e z6)wa%&G}O*oEDxcTq|5BTra$oTo&fBMYuz_OL&uTk8r>6F5!K`2ZfIa4+@_YJ|kR! z^Rx4_Sa_0fm2i!4hJ0a|$A!X6gqwxigx3jo3vU(f72YYlSNMSNVc}!KCxlN6^Mc#? zUnE>6Tq#^FJX?6a@M7Tx;a1^J;SIu@g|`WB7v3X0Abd#psPJ*&Q^IG-<>9_7L?6m= zsc>3&s&K7vop8PIQsEZi4&g50O~O6G{ldG1_X!^qJ|a9Qd{X#~Z~^**F7L&{lZ2~; zYlJhx3x$^mHw(83uM_ST-YVQHyi<5D`J!;&9S}Y&d`$R+@M&Rw&%x;w36}|13Rery z7M?G>ShzvBRk%}lgYahIZNl4y_XrON9}+$)d|ddH@LBRCTmR8#cU&r*7M?0xD_kdB zFT7N^MYuz_OL&uTk8r>6F5!K`2ZfIa4+@_YJ|kR!>kpUrV&O@`Rl+sG8S=%p{TE&$ z+$`Kieq(6APPkimt8g#*O`-ix;l08Kgb$O`q5U!86T+v3@iMI-Z*pi~BwQw3DO@c) zTX??kV&MkiR^d+J4Z@p+w+U|--XlCft_b}C)_Q(Rk&Apr|@3k1Hy-ej|ra;J}t~wbLL%Y>%VZBaHVjy@ND7v z!i$9)gjg*OOq7TzYjU3ic1fbb#Vqr%69PYItTPYLs0i0d%N{7tIkwD45nTH!k3 zdf}zQEy5kbUBa7$dxZOicM0zkJ}7)dcu@GH@EP)DVcrXH9p<=Lc#?3HaE)+Ac%kqT z;b!4B;dR2@!dr!Vg?9??6+R$*Soj#ZD$L^v;nTwW=8Ur`5-t<26s{JYEj(X%v2cTM zt8l0A2I0-Z+l03Z?-3p#UmoW1knmCACA?4gpzsmlLE)3aXM_uI4dn7$EIdiLO1MTiBfL;}iEy)UoA5gF z72&??7Tzk{E4)*9ukZok!@|dePY9nD=68&p4@JUd!j;0+!n1|v3ojOK5N;Lj6y6}b zS$Lc9cHuq31Hy-dj|v|bJ|%osxDeL?t{nJ#KF4X{slv77E5m(PCtNSQRJcXBL%2(L zlW>o4zwj>MeZmKYj|dM6pA&R1W{TJRU z+$+3Oc(3pQ;lskmgii>c77lPN;(RC)E)%X4t`?pxJYRURaD#BGaHsGF;myL^gtrUt z5gs568kmg{KPF3fBqO3ojLJ5$+J~65b@-Bit{%OL!l7 zdYJcv!bgM$g-;5f5iUq)b&7>230Dc%2xo*B3NI0E7H$(>C)_Q(Rk&Apr|@3#Re=cy zgbxcJ6Fwn)S~$S9uhS_KE)%X4t`?pxJYRURaD#BGaHsGF;myL^$kl-f+lBWC4+tL; zJ}P`%_>}Nj;X+(PyKV8exsKDqQ-y1V>xAotmkPHCcL;ZpuMYFLNw`P2UwD`BKH-DH zM}!B3PYRzAF2MD-^PyOHl5mx9jc`VIq3{ynX5lvBb;8}kTZMatcM9(nJ|KKp_?Yks z;nTtauH9YUi-gOBD}}3tXOm}y`)2rm>~BHS$8CcI9#TX?H*ukcRcy}}2C4+|d?J|TQsIKUWy z%X^V!C1NU|`Heue;9?n}FwXbMxoZh;sV?}#o>vZ#7 zh3q@T&1Vy)4`*Rt44!1D?-n18%?NT?&&<~oM&ntMp?WqN8|zt;Y1T9MJ%!OYH;k?N zH%c?>;xN{^UYhsvkJim3W8crw*omV_=DD7lclwXk(wtX`6>=i_M1Mi$NSa^z}}6-=`A zyc~_$$f7x3j$9?Of=RZXm!mNoSv2cq_z{cIRLMk3^>9>1*1tsCtatXq7^877*;M@- zot1Ua8F#Gc>_hC~1X4_?$nc(zRBBpv7(HmozQSVcjR4-$fVP=BUdl)g* zTPS+x*k#mv3X|&9*=3lS;Pn0sG1XfldgJUe>K((Rdh_iv%uH~4e}|arHH#h|*EY+j zHwI#=x6m%b%mk-LBh|xK56%AM{>7uek>2H=UcFsr#Dw`y0@Yh5dU%X9(p&85Efx)G zI{)73>2-_Vd7}4#r?*5jRFA)@RR6Y$9v*dz{QHWhw=_Yo*VF42z4Jxykf+y>p!b)a z-cHfO<2aFjd`}hrN5^k77>}z(!Ij_7J-xlqU+?6mw& zi=JyMsP}eHZ&QNad{3|XgIWJB#yZZw`#ing1U>$4RQ+oeJ>1HS^!h!$Jqdb$?CEV6 zy~(2YtfzM{LGSyX-f_{x?Uu;D|Mv9QKE&;hpLu%eKgyOLhVCQ1H=%LW`f@5kuN-z- zeoI9U!@!XqzYDB-1&GA?x4_fu5xvVrufx+TOVC^6=^YV0K4#+T%a=Vp{w6!lKmK-B z^INp4w;VA61Tw0KiGNkjo)r^VDcwRW`=}m2--`qv|REm+g}H_y{!e=E+vw|aWJMDHHad!MIwBtdVb zr*}~FT1D?+Pp=4$$NBd$Pj684R*T*)Pmk|BVL!tKmJ7q5czS0{Kr!diRT7 zou@Yy=g&C*-sb5o5j|eJI{#WcJ-%ZlPH(xV*Cu+nM2qx3dU~xN&FY~G5a|tidZ%&R$NBe)&w< zg2m~*)6=W{cvcV6k=}eJ-x-B%Ia+qy?Z^q z%JTU3pvBWW2&dfncdO`q($ia-ptsS}8x+0IiQcz7J^sciuDyEF(>o)2J)-ybp5CDZ zy(6Ap@u#!-{etMFP-%336kHVF9{kGFtAgHf=&=566TM44y_!k!?Oz&pT3?E=Q=Q&p zqW2C@Z|TMH{w?tIPKjQx=(T%#o8B0&cdw^+C*Q2 z=oh`e@bnf=j@Nt2(>wavtln2e?}Vp!tRi0TUp&1tsKl=Q+b()VXg{^S@Y(LT_U|0n z`6t4aIhUl&L^bTGT z1b4)=e;@Mnx^Pgq_HUQyebv*eoEGojmp#4HU&`w37QN>^y>1Lj#?`+=o?gozXY0!z z(fg^VSB62!I6b~oM)z-bZ&vSHqE~iqZhhH4BVO+fuv5M5U(VK-y`p!Wr&n7OU;p0h z>FvWo>+0WAqPN`BJA}qLuKvB((>wflw!Z8Wy$zmTb#1)fM?Af*uVnSUBYNiDH;B9Q z<<{%s&%a;u^s2v>tuF(j_t&0(r)S6e_pGPak4C`N=l!B*-l>ClH717J-j-#?*;a7+ zCG^mBjl#!ZhoXrBZ5UpU{*+_JpN3tRBsd%oJFPEeXjC#dE_ptB1{0T|Ned=fZOiqvXa`*=WtAc=i^dBM}XzYqHM^ZF)01SH9;(htJws661 z_dF!vk~a!RkKlX>UtDl@SG~D9twCcUhks|))EKkcnb*z=?Hk5_k_j}hrk&gl^D(iZ<8g_kiFMK91C@Opin=2~gT6iz{ zoZ#B_1?!3Adp=WCc=NnFS6-W6lv+^oXvG~fR?U52(Tqh!8{0P;BiKBMwcqrUu`i5y zuHfkuHc%K~ZJT~>n40cOhsiGebwh2ZE_^zbW7m`4J>$AZuj?*KJzBAGF1Bg?m=PH>FpsZJT!WjOjC`S1+4UJ!59|jOyCU(_w-+ zUenm;d6<@%CuEi_;1e>p-Fm~aIdgA)=fc|-->_`qg2gv1nzQiM>#N7lnY#dgVT{1z zli`)l3&YjSdfYApHC_#-w$m}XXipd}#Kbm)a~}H@n9xl&+a;$lF*x7I1$Ny^FxTar z=LFhcfr)|kWHvKQzX}t#&vdrW&VCk{Ax@v|7WFx2h_j(KZ8&F$vtg4$8_pTxY$hU| zHk>oW*}MViwBei~&ZY$EwBei~&So^*VzWyf*Zjumux+Oe=L~T+Wk{zD=d4Q=n7Dr# z;_NR$I_)`Uh_m6jj5eGz{5EZ<&24e+>Jl26s4n4D9&mE`a_rYb9-6e_dBxR3Ui-4_ zn0^B$25yJUZF0H^6GL1cwO%<*mNWMmH7~>D(yMG5({IMa5U0t03Af8RL!1rMXycZ- zIqhBGc3mh4e)_Uw&Qk%;^x2S#YHOI5ifXuvmu8JYspu$i%bDwJNSW3|7Pf zFge8+KuAahX^GLErIrn;sCI^Fso>J=LQskqZW2=HM`%bztyGwr3a-?}SbwS)pXSBc znq@=EJT0MdTv$j*nOcxdNMQ>aQl@5SQ&Q3157San3+Un)0FjU~Pt#=+Qc#C@DGp4f3|V9qa~;hKeO?0{fc0Mt>8S?N>Cpz zwsEdog8IN`av0dwm7qS%wQ;siC<~1FR;k8aV4k^{ALjY+k+B( zjpa!j=doOZv)lJ=oX2em>I0uCVBoP?5}-ctdD}Isr!No8k4TrdtXTfOWli_3T)Cos zS>yeUt6CeIT30Mvxu#v0uUxgdvDH~Mt!Qbyf0Z*>yP{*+n$^oz-q#u#EN^UWZE9Tp zzEEM+>QxU|&TGp{9T*ca~UG>2gISH*RR^Q#xl9SZF;@(CS z$?Chq)Uf>TgTq+GQ)++p(L%FjktL zv6tIK%*MI{iY(2|*y&<}@eUWp%0TT{+uZSdK9&b00_$1nn6SR{m?E=JcNrO-E!4p9 zyS$d!|6)4b;4wh1#@wt6W}l9&6yHO}VAwX}hA}o9rP~gLNynHdgYgFkBhL&b-8S*# z5idPIJjXJL@3~N&#YnhucJ|msy_!3E{TeN3hSd`>9V~)%9NXPh)Mgjuc zjM8-2AL5yf?;5-YbLN>m4|Dc0$n-yB+3iaAu4?)hy|b8X%Y^H=ce$p?woJIbd+#dC z+Pzb?mYl{P8=OA(i_lmB9uPhxd{p?j@G0T5WHz7(g=jw=mkOuJEO-RA@s4YS>&W(^f$hBG zrNS*_Rz`#l;V$7#WP7UZ5$+e}IBgzx6v94XKBMN+kC0iR5C(-$3ZEgfVk7W*FUQ5g zlgO;R2vx#0!WnXLXtPk*d<(~>H%mI7X?EWo;d4liyM?!sdB7p`3hxv)-@>sMMhBQ~ z`LOUYG7mU}6T+v3*;wS^_+>EP!m(_=g=4u=Y|OWCZ2D|TpD%2_g=1|RB;9-q$EKTa z;aJ`vHs)J6Hl5FxxbHM<7dGF*L0iEvAnE2?I5ypU3&-+tu`%Dmu@|OinQpnTAj_p> zHUJ1|Ve>5s}pT33gxsy13C**>73t0CP%-ymBR$h+g{?(1=+r$zmZ{ft?f4YYsA&F zaQ_eOM-KHQ+nb#J2l#uvlQ{43)ORf=oW9KX660^Taobfe_g2tsMZq!qDCCS?az^yf z6h?Y$!PIwp?B_TQV8p8}XPAgkfOD?%k6j+F!}u0Vs+U1LPVW($&gBfnqQ`EE(|Z!E zdUbXgW+pi8orsY$CKY{k(PMYT={*ltJy%Y4waC{)cAbn}P$hcowm7|?fK_jyU1nE{ z^iJ6Hj9pM8dca7p0%EFHk7c$?X4Z81~6Dqu3k|ujmZU<5B4E7A4?=3?9RA+ba{H6ST@UvSvyAg9c0yO zgC6TN%Y|J8r}s5aZx@!?ZY?OZD|(Zx9raCr6?3Oo3~}3yL~2&=CQt8x z=<)K$`N!w<)xSzaY&SMXZ@H&;SoG4O_YqHz*Bo*AecZES{juHlob5j5ZTFaL_Y&Fe zw>`ZE=-IA(j^6+9?Al<*@^yjb!oWVc?vE3)-6>e^%J08CJzfvdFBhENPd&ZUqE`iD zr#Bu4BqXB!y9*KScNd)AWY3P*RdIILd3LsqyFu8m@;_30a>}I!)wPUo~)9ZxZe56zFDojrAYn~qKt-TC}Ro1@)o*l2<;@aIo zYgcX7Mjl}2m`TXKnf?`ax}EK?tF`MmJI?=))pLsmVV7|c%&EulU$E2i8$f;=kk0(R z8I#Mexwb*vg*4XVw>({NdMTu-UK$4x?Wo7`8ZP7hrafGW!V+Yv7n;{0rHilG(=YiF32^yjEC}M-NyXqSISVQ=5Lwcm=AZE^Z^Q_Qj{P$D>v*rYQ7d?o&e;{ohx4(Pp^LYkr6O<+bv5b?dcy!b9w}#9IO8#WUx;#^s!Y zKn$*4lYd=%KAS*&`;3CoB=drt+j0XdWIp)85Vze|ONZN`Kb*goUlf83ukGK_)rVKB z9==*Suhr+*+AAKyuN}Xy9lyWL^X6;qRoI7lrTv!I+UNf_+h^Br!rWbUm}Yp$Z*3aI zlDBl4y!di2-t5I!dhr%7evcP#_2PUgCL2;gTQ&kp1?^tE!;9bV#d$|G8&bgsvk_3r zyn!g2lnOqajhN+KUVOb5-{8d`^5WfI{9!M?$%}u|i*NSgd>SYlQo+`21e6Ls=f!)x z_!qqRHZT5|7w`4reO|oZi+|ONZ};Lmy!cKp{tYj_%Zu;!;(NUKx4igXFaDGl=hG+I zkP5z&jet_YfEVBI#r0^Sz21ps+&;W+*LwATE5*CN*)a6CaQ0zfYm&-&f`W!uq@oMqFfkR_hxDyYDwr(RT>la;&O6%KkTSoV(D>!q2x#bU+jzm94Jq>^g2vrN zc$hZyw`07MpAG!2n1+P#J8rh^&Fee)^%jbFV8@#wa$w9pZ z-g5U#wJY&rJ|DuhD`fb5eIq`P$n+dx~;~#$?!4T?q1bn_M8^1re z#m1RNf8KB7p?+uZnVk3sgMFU;Kihbyzb?qPO;8yBaBzh*Nz{LrjfeVO0pB;y5XRRB zk9qdrv++=GL%`nyFof}k0=_5G1?tbV@ldZjxIHKSaM0!1f5pZ_y-mS0Iq^>hFM0Oo z+a@*C-yGED#J2=ZHcp@D&&O;$)ZZHP=fpo3JnPy2hmD8&JwfqUD!KCcLQretOr!o% z8xQrj1?zI+j|Go=_CK)kP`@|$_ndfNP$~~OQNPy4r+`a>{(#R5F@*821|RY4zhdK| z{`P?HcV!6UJAzZ5eW|?;3-xveH97Hb1n;qNYS5ntZ9LT56+E63-yQJ%n=a7)B^wX* z_XI_Jun8fIe=E4!#+gR@+iX14-y7VQ6Mrh$=Gp&+jfZ;sf`7`1eQPQ7Q=2Z>$jh`Y~9Y<=*Hrf$80KV7UNTtw|J}g z&Bf@%8)p5^$y@lnzoY{#cB!8)F^cgf%vFL-#xmd(-Ebk+Y*g1)A!ewWxMrK|o !rbsiG?q;%EUDE3L|sw2b1Ipw42s`IG? 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

)t$9x4d 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⁢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%0DGT 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

>=NscffOjFBU%WCj?W5zMwqw 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 literal 0 HcmV?d00001 diff --git a/ports/espressif/microros-ext/esp32s2/libmicroros.a b/ports/espressif/microros-ext/esp32s2/libmicroros.a new file mode 100644 index 0000000000000000000000000000000000000000..755dfece298a4c94736a4a67ff6a16c911ffe77d GIT binary patch literal 1007622 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 Nwo`XeRztH6WhLXUb6bc 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 i3GaI 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�z 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 =xXJn(koK4W{BH2jx;T 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 z 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

bOV_tHU0wfI*PMf4!4}}E`Tw&8IT#jf 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�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 literal 0 HcmV?d00001 diff --git a/ports/espressif/microros-ext/include/rcl_logging_interface/rcl_logging_interface/rcl_logging_interface.h b/ports/espressif/microros-ext/include/rcl_logging_interface/rcl_logging_interface/rcl_logging_interface.h new file mode 100644 index 0000000000000..074f86affe5db --- /dev/null +++ b/ports/espressif/microros-ext/include/rcl_logging_interface/rcl_logging_interface/rcl_logging_interface.h @@ -0,0 +1,123 @@ +// Copyright 2020 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef RCL_LOGGING_INTERFACE__RCL_LOGGING_INTERFACE_H_ +#define RCL_LOGGING_INTERFACE__RCL_LOGGING_INTERFACE_H_ + +#include "rcl_logging_interface/visibility_control.h" +#include "rcutils/allocator.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum +{ + RCL_LOGGING_RET_OK = 0, + RCL_LOGGING_RET_ERROR = 2, + RCL_LOGGING_RET_INVALID_ARGUMENT = 11, + RCL_LOGGING_RET_CONFIG_FILE_DOESNT_EXIST = 21, + RCL_LOGGING_RET_CONFIG_FILE_INVALID = 22, +} rcl_logging_ret_t; + +/// Initialize the external logging library. +/** + * \param[in] config_file The location of a config file that the external + * logging library should use to configure itself. + * If provided, it must be a null terminated C string. + * If set to NULL or the empty string, the logging library will use defaults. + * \param[in] allocator The allocator to use for memory allocation. This is + * an rcutils_allocator_t rather than an rcl_allocator_t to ensure that the + * rcl_logging_* packages don't have a circular dependency back to rcl. + * \return RCL_LOGGING_RET_OK if initialized successfully. + * \return RCL_LOGGING_RET_ERROR if an unspecified error occurs. + * \return RCL_LOGGING_RET_CONFIG_FILE_DOESNT_EXIST if a config_file is provided + * but the file doesn't exist. + * \return RCL_LOGGING_RET_CONFIG_FILE_INVALID if a config_file is provided but + * the logging backend doesn't understand it. + */ +RCL_LOGGING_INTERFACE_PUBLIC +RCUTILS_WARN_UNUSED +rcl_logging_ret_t +rcl_logging_external_initialize(const char * config_file, rcutils_allocator_t allocator); + +/// Free the resources allocated for the external logging system. +/** + * This puts the system into a state equivalent to being uninitialized. + * + * \return RCL_LOGGING_RET_OK if successfully shutdown, or + * \return RCL_LOGGING_RET_ERROR if an unspecified error occurs. + */ +RCL_LOGGING_INTERFACE_PUBLIC +RCUTILS_WARN_UNUSED +rcl_logging_ret_t +rcl_logging_external_shutdown(); + +/// Log a message. +/** + * \param[in] severity The severity level of the message being logged. + * \param[in] name The name of the logger, must either be a null terminated + * C string or NULL. + * If NULL or empty the root logger will be used. + * \param[in] msg The message to be logged. Must be a null terminated C string. + */ +RCL_LOGGING_INTERFACE_PUBLIC +void +rcl_logging_external_log(int severity, const char * name, const char * msg); + +/// Set the severity level for a logger. +/** + * This function sets the severity level for the specified logger. + * If the name provided is an empty string or NULL it will change the level of + * the root logger. + * + * \param[in] name The name of the logger. + * Must be a null terminated C string or NULL. + * \param[in] level The severity level to be used for the specified logger. + * \return RCL_LOGGING_RET_OK if set successfully, or + * \return RCL_LOGGING_RET_ERROR if an unspecified error occurs. + */ +RCL_LOGGING_INTERFACE_PUBLIC +RCUTILS_WARN_UNUSED +rcl_logging_ret_t rcl_logging_external_set_logger_level(const char * name, int level); + +/// Get the logging directory. +/** + * Uses various environment variables to construct a logging directory path. + * + * Use $ROS_LOG_DIR if ROS_LOG_DIR is set and not empty. + * Otherwise, use $ROS_HOME/log, using ~/.ros for ROS_HOME if not set or if empty. + * + * It also expands an initial '~' to the current user's home directory, + * and converts the path separator if necessary. + * + * If successful, the directory C string should be deallocated using the given allocator when it is + * no longer needed. + * + * \param[in] allocator The allocator to use for memory allocation. + * \param[out] directory The C string pointer at which to write the directory path. + * Only meaningful if the call is successful. Must not be nullptr and must point to nullptr. + * \return RCL_LOGGING_RET_OK if successful, or + * \return RCL_LOGGING_RET_INVALID_ARGUMENT if any arguments are invalid, or + * \return RCL_LOGGING_RET_ERROR if an unspecified error occurs. + */ +RCL_LOGGING_INTERFACE_PUBLIC +rcl_logging_ret_t +rcl_logging_get_logging_directory(rcutils_allocator_t allocator, char ** directory); + +#ifdef __cplusplus +} +#endif + +#endif // RCL_LOGGING_INTERFACE__RCL_LOGGING_INTERFACE_H_ diff --git a/ports/espressif/microros-ext/include/rcl_logging_interface/rcl_logging_interface/visibility_control.h b/ports/espressif/microros-ext/include/rcl_logging_interface/rcl_logging_interface/visibility_control.h new file mode 100644 index 0000000000000..ddb436c569c7c --- /dev/null +++ b/ports/espressif/microros-ext/include/rcl_logging_interface/rcl_logging_interface/visibility_control.h @@ -0,0 +1,57 @@ +// Copyright 2020 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef RCL_LOGGING_INTERFACE__VISIBILITY_CONTROL_H_ +#define RCL_LOGGING_INTERFACE__VISIBILITY_CONTROL_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +// This logic was borrowed (then namespaced) from the examples on the gcc wiki: +// https://gcc.gnu.org/wiki/Visibility + +#if defined _WIN32 || defined __CYGWIN__ + #ifdef __GNUC__ + #define RCL_LOGGING_INTERFACE_EXPORT __attribute__ ((dllexport)) + #define RCL_LOGGING_INTERFACE_IMPORT __attribute__ ((dllimport)) + #else + #define RCL_LOGGING_INTERFACE_EXPORT __declspec(dllexport) + #define RCL_LOGGING_INTERFACE_IMPORT __declspec(dllimport) + #endif + #ifdef RCL_LOGGING_INTERFACE_BUILDING_DLL + #define RCL_LOGGING_INTERFACE_PUBLIC RCL_LOGGING_INTERFACE_EXPORT + #else + #define RCL_LOGGING_INTERFACE_PUBLIC RCL_LOGGING_INTERFACE_IMPORT + #endif + #define RCL_LOGGING_INTERFACE_PUBLIC_TYPE RCL_LOGGING_INTERFACE_PUBLIC + #define RCL_LOGGING_INTERFACE_LOCAL +#else + #define RCL_LOGGING_INTERFACE_EXPORT __attribute__ ((visibility("default"))) + #define RCL_LOGGING_INTERFACE_IMPORT + #if __GNUC__ >= 4 + #define RCL_LOGGING_INTERFACE_PUBLIC __attribute__ ((visibility("default"))) + #define RCL_LOGGING_INTERFACE_LOCAL __attribute__ ((visibility("hidden"))) + #else + #define RCL_LOGGING_INTERFACE_PUBLIC + #define RCL_LOGGING_INTERFACE_LOCAL + #endif + #define RCL_LOGGING_INTERFACE_PUBLIC_TYPE +#endif + +#ifdef __cplusplus +} +#endif + +#endif // RCL_LOGGING_INTERFACE__VISIBILITY_CONTROL_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/allocator.h b/ports/espressif/microros-ext/include/rcutils/rcutils/allocator.h new file mode 100644 index 0000000000000..5547db2844ed7 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/allocator.h @@ -0,0 +1,166 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__ALLOCATOR_H_ +#define RCUTILS__ALLOCATOR_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "rcutils/macros.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/visibility_control.h" + +/// Encapsulation of an allocator. +/** + * The default allocator uses malloc(), free(), calloc(), and realloc(). + * It can be obtained using rcutils_get_default_allocator(). + * + * The allocator should be trivially copyable. + * Meaning that the struct should continue to work after being assignment + * copied into a new struct. + * Specifically the object pointed to by the state pointer should remain valid + * until all uses of the allocator have been made. + * Particular care should be taken when giving an allocator to functions like + * rcutils_*_init() where it is stored within another object and used later. + * Developers should note that, while the fields of a const-qualified allocator + * struct cannot be modified, the state of the allocator can be modified. + */ +typedef struct rcutils_allocator_s +{ + /// Allocate memory, given a size and the `state` pointer. + /** An error should be indicated by returning `NULL`. */ + void * (*allocate)(size_t size, void * state); + /// Deallocate previously allocated memory, mimicking free(). + /** Also takes the `state` pointer. */ + void (* deallocate)(void * pointer, void * state); + /// Reallocate if possible, otherwise it deallocates and allocates. + /** + * Also takes the `state` pointer. + * + * If unsupported then do deallocate and then allocate. + * This should behave as realloc() does, as opposed to posix's + * [reallocf](https://linux.die.net/man/3/reallocf), i.e. the memory given + * by pointer will not be free'd automatically if realloc() fails. + * For reallocf-like behavior use rcutils_reallocf(). + * This function must be able to take an input pointer of `NULL` and succeed. + */ + void * (*reallocate)(void * pointer, size_t size, void * state); + /// Allocate memory with all elements set to zero, given a number of elements and their size. + /** An error should be indicated by returning `NULL`. */ + void * (*zero_allocate)(size_t number_of_elements, size_t size_of_element, void * state); + /// Implementation defined state storage. + /** + * This is passed as the final parameter to other allocator functions. + * Note that the contents of the state can be modified even in const-qualified + * allocator objects. + */ + void * state; +} rcutils_allocator_t; + +/// Return a zero initialized allocator. +/** + * Note that this is an invalid allocator and should only be used as a placeholder. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_allocator_t +rcutils_get_zero_initialized_allocator(void); + +/// Set rcutils default allocators. +/** + *


+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | Yes + * Uses Atomics | No + * Lock-Free | Yes + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +bool +rcutils_set_default_allocator(rcutils_allocator_t * allocator); + +/// Return a properly initialized rcutils_allocator_t with default values. +/** + * This defaults to: + * + * - allocate = wraps malloc() + * - deallocate = wraps free() + * - reallocate = wraps realloc() + * - zero_allocate = wraps calloc() + * - state = `NULL` + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | Yes + * Uses Atomics | No + * Lock-Free | Yes + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_allocator_t +rcutils_get_default_allocator(void); + +/// Return true if the given allocator has non-null function pointers. +/** + * \param[in] allocator to be checked by the function + * \return `true` if the allocator is valid, `false` otherwise. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +bool +rcutils_allocator_is_valid(const rcutils_allocator_t * allocator); + +/// Check the given allocator and run fail_statement if it is not valid. +#define RCUTILS_CHECK_ALLOCATOR(allocator, fail_statement) \ + if (!rcutils_allocator_is_valid(allocator)) { \ + fail_statement; \ + } + +/// Check the given allocator, and set the message in msg and run fail_statement if it is not valid. +#define RCUTILS_CHECK_ALLOCATOR_WITH_MSG(allocator, msg, fail_statement) \ + if (!rcutils_allocator_is_valid(allocator)) { \ + RCUTILS_SET_ERROR_MSG(msg); \ + fail_statement; \ + } + +/// Emulate the behavior of [reallocf](https://linux.die.net/man/3/reallocf). +/** + * This function will return `NULL` if the allocator is `NULL` or has `NULL` for + * function pointer fields. + * \param[inout] pointer to the memory which will be reallocated + * \param[in] size in bytes + * \param[in] allocator to be used to allocate and deallocate memory + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +void * +rcutils_reallocf(void * pointer, size_t size, rcutils_allocator_t * allocator); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__ALLOCATOR_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/cmdline_parser.h b/ports/espressif/microros-ext/include/rcutils/rcutils/cmdline_parser.h new file mode 100644 index 0000000000000..1cf9a26244c09 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/cmdline_parser.h @@ -0,0 +1,57 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__CMDLINE_PARSER_H_ +#define RCUTILS__CMDLINE_PARSER_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/visibility_control.h" + +/// Return `true` if the option is defined in the command line arguments or `false` otherwise. +/** + * \param[in] begin first element to check in the array + * \param[in] end last element to check in the array + * \param[in] option string to find in the array of arguments + * \return `true` if the option exists, or + * \return `false` otherwise. + */ +RCUTILS_PUBLIC +bool +rcutils_cli_option_exist(char ** begin, char ** end, const char * option); + +/// Return the value for a specific option of the command line arguments. +/** + * \param[in] begin first element to check in the array + * \param[in] end last element to check in the array + * \param[in] option string to find in the array of arguments + * \return the value for a specific option of the command line arguments, or + * \return `NULL` if the option doesn't exist. + */ +RCUTILS_PUBLIC +char * +rcutils_cli_get_option(char ** begin, char ** end, const char * option); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__CMDLINE_PARSER_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/configuration_flags.h b/ports/espressif/microros-ext/include/rcutils/rcutils/configuration_flags.h new file mode 100644 index 0000000000000..6f16b1dfd90eb --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/configuration_flags.h @@ -0,0 +1,18 @@ + +#ifndef RCUTILS__CONFIGURATION_FLAGS_H_ +#define RCUTILS__CONFIGURATION_FLAGS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define RCUTILS_NO_FILESYSTEM +#define RCUTILS_AVOID_DYNAMIC_ALLOCATION +#define RCUTILS_NO_THREAD_SUPPORT + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__CONFIGURATION_FLAGS_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/configuration_flags.h.in b/ports/espressif/microros-ext/include/rcutils/rcutils/configuration_flags.h.in new file mode 100644 index 0000000000000..346c6a33e276f --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/configuration_flags.h.in @@ -0,0 +1,18 @@ + +#ifndef RCUTILS__CONFIGURATION_FLAGS_H_ +#define RCUTILS__CONFIGURATION_FLAGS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#cmakedefine RCUTILS_NO_FILESYSTEM +#cmakedefine RCUTILS_AVOID_DYNAMIC_ALLOCATION +#cmakedefine RCUTILS_NO_THREAD_SUPPORT + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__CONFIGURATION_FLAGS_H_ \ No newline at end of file diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/env.h b/ports/espressif/microros-ext/include/rcutils/rcutils/env.h new file mode 100644 index 0000000000000..b82b3e0c8bfb4 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/env.h @@ -0,0 +1,122 @@ +// Copyright 2020 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__ENV_H_ +#define RCUTILS__ENV_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +/// Set or un-set a process-scoped environment variable. +/** + * This function modifies the environment variables for the current process by + * copying given string values into the process' global environment variable + * store. + * + * \par Thread Safety: + * This function is not thread-safe. Take care not to modify the environment variables while + * another thread might be reading or writing environment variables. + * + * \par Platform Consistency: + * The behavior when setting a variable to an empty string (`""`) differs + * between platforms. On Windows, the variable is un-set (as if \p env_value was + * `NULL`), while on other platforms the variable is set to an empty string as + * expected. + * + * \param[in] env_name Name of the environment variable to modify. + * \param[in] env_value Value to set the environment variable to, or `NULL` to + * un-set. + * \return `true` if success, or + * \return `false` if env_name is invalid or NULL, or + * \return `false` on failure. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +bool +rcutils_set_env(const char * env_name, const char * env_value); + +/// Retrieve the value of the given environment variable if it exists, or "". +/** The c-string which is returned in the env_value output parameter is only + * valid until the next time this function is called, because it is a direct + * pointer to the static storage. + * The variable env_value populated by this function should never have free() + * called on it. + * If the environment variable is not set, an empty string will be returned. + * + * In both cases, environment variable set or unset, NULL is returned unless + * an exception has occurred, in which case the error string is returned. + * For example: + * + * ```c + * #include + * #include + * const char * env_value; + * const char * error_str; + * error_str = rcutils_get_env("SOME_ENV_VAR", &env_value); + * if (error_str != NULL) { + * fprintf(stderr, "Error getting env var: %s\n", error_str); + * } + * printf("Valued of 'SOME_ENV_VAR': %s\n", env_value); + * ``` + * + * This function cannot be concurrently called together with rcutils_set_env (or any platform specific equivalent) + * on different threads, but multiple concurrent calls to this function are thread safe. + * + * \param[in] env_name the name of the environment variable + * \param[out] env_value pointer to the value cstring, or "" if unset + * \return NULL on success (success can be returning an empty string), or + * \return an error string on failure. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +const char * +rcutils_get_env(const char * env_name, const char ** env_value); + +/// Retrieve the full path to the home directory. +/** + * The c-string which is returned is only valid until the next time this + * function is called, because it is a direct pointer to the static storage. + * Also note that the string returned here should *not* be freed. + * + * The function first tries to get the HOME environment variable. + * If that variable exists and is non-empty, that will be returned. + * Otherwise, on Windows, the function tries to get the USERPROFILE environment variable. + * If that variable exists and is non-empty, that will be returned. + * Otherwise, NULL will be returned. + * + * This function cannot be thread-safely called together with rcutils_set_env + * (or any platform specific equivalent), but multiple calls to this function are thread safe. + * + * \return The home directory on success, or + * \return `NULL` on failure. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +const char * +rcutils_get_home_dir(void); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__ENV_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/error_handling.h b/ports/espressif/microros-ext/include/rcutils/rcutils/error_handling.h new file mode 100644 index 0000000000000..2c7075e38fbc4 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/error_handling.h @@ -0,0 +1,414 @@ +// Copyright 2014 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__ERROR_HANDLING_H_ +#define RCUTILS__ERROR_HANDLING_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#ifndef __STDC_WANT_LIB_EXT1__ +#define __STDC_WANT_LIB_EXT1__ 1 // indicate we would like strnlen_s if available +#endif +#include +#include +#include +#include +#include +#include +#include + +#include "rcutils/allocator.h" +#include "rcutils/macros.h" +#include "rcutils/snprintf.h" +#include "rcutils/testing/fault_injection.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/visibility_control.h" +#include "rcutils/configuration_flags.h" + +#if defined(__STDC_LIB_EXT1__) && !defined(RCUTILS_NO_FILESYSTEM) +/// Write the given msg out to stderr, limiting the buffer size in the `fwrite`. +/** + * This ensures that there is an upper bound to a buffer overrun if `msg` is + * non-null terminated. + */ +#define RCUTILS_SAFE_FWRITE_TO_STDERR(msg) \ + do {fwrite(msg, sizeof(char), strnlen_s(msg, 4096), stderr);} while (0) +#elif !defined(RCUTILS_NO_FILESYSTEM) +#define RCUTILS_SAFE_FWRITE_TO_STDERR(msg) \ + do {fwrite(msg, sizeof(char), strlen(msg), stderr);} while (0) +#else + #define RCUTILS_SAFE_FWRITE_TO_STDERR(msg) +#endif + +/// Set the error message to stderr using a format string and format arguments. +/** + * This function sets the error message to stderr using the given format string. + * The resulting formatted string is silently truncated at + * RCUTILS_ERROR_MESSAGE_MAX_LENGTH. + * + * \param[in] format_string The string to be used as the format of the error message. + * \param[in] ... Arguments for the format string. + */ + +#if !defined(RCUTILS_AVOID_DYNAMIC_ALLOCATION) +#define RCUTILS_SAFE_FWRITE_TO_STDERR_WITH_FORMAT_STRING(format_string, ...) \ + do { \ + char output_msg[RCUTILS_ERROR_MESSAGE_MAX_LENGTH]; \ + int ret = rcutils_snprintf(output_msg, sizeof(output_msg), format_string, __VA_ARGS__); \ + if (ret < 0) { \ + RCUTILS_SAFE_FWRITE_TO_STDERR("Failed to call snprintf for error message formatting\n"); \ + } else { \ + RCUTILS_SAFE_FWRITE_TO_STDERR(output_msg); \ + } \ + } while (0) +#else +#define RCUTILS_SAFE_FWRITE_TO_STDERR_WITH_FORMAT_STRING(format_string, ...) +#endif + +#if !defined(RCUTILS_AVOID_DYNAMIC_ALLOCATION) +/// The maximum length a formatted number is allowed to have. +#define RCUTILS_ERROR_STATE_LINE_NUMBER_STR_MAX_LENGTH 20 // "18446744073709551615" + +/// The maximum number of formatting characters allowed. +#define RCUTILS_ERROR_FORMATTING_CHARACTERS 6 // ', at ' + ':' + +/// The maximum formatted string length. +#define RCUTILS_ERROR_MESSAGE_MAX_LENGTH 1024 + +/// The maximum length for user defined error message +/** + * Remember that "chained" errors will include previously specified file paths + * e.g. "some error, at /path/to/a.c:42, at /path/to/b.c:42" + */ +#define RCUTILS_ERROR_STATE_MESSAGE_MAX_LENGTH 768 + +/// The calculated maximum length for the filename. +/** + * With RCUTILS_ERROR_STATE_MESSAGE_MAX_LENGTH = 768, RCUTILS_ERROR_STATE_FILE_MAX_LENGTH == 229 + */ +#define RCUTILS_ERROR_STATE_FILE_MAX_LENGTH ( \ + RCUTILS_ERROR_MESSAGE_MAX_LENGTH - \ + RCUTILS_ERROR_STATE_MESSAGE_MAX_LENGTH - \ + RCUTILS_ERROR_STATE_LINE_NUMBER_STR_MAX_LENGTH - \ + RCUTILS_ERROR_FORMATTING_CHARACTERS - \ + 1) +#else +#define RCUTILS_ERROR_STATE_LINE_NUMBER_STR_MAX_LENGTH 1 +#define RCUTILS_ERROR_FORMATTING_CHARACTERS 1 +#define RCUTILS_ERROR_MESSAGE_MAX_LENGTH 1 +#define RCUTILS_ERROR_STATE_MESSAGE_MAX_LENGTH 1 +#define RCUTILS_ERROR_STATE_FILE_MAX_LENGTH 1 +#endif // RCUTILS_AVOID_DYNAMIC_ALLOCATION + +/// Struct wrapping a fixed-size c string used for returning the formatted error string. +typedef struct rcutils_error_string_s +{ + /// The fixed-size C string used for returning the formatted error string. + char str[RCUTILS_ERROR_MESSAGE_MAX_LENGTH]; +} rcutils_error_string_t; + +/// Struct which encapsulates the error state set by RCUTILS_SET_ERROR_MSG(). +typedef struct rcutils_error_state_s +{ + /// User message storage, limited to RCUTILS_ERROR_STATE_MESSAGE_MAX_LENGTH characters. + char message[RCUTILS_ERROR_STATE_MESSAGE_MAX_LENGTH]; + /// File name, limited to what's left from RCUTILS_ERROR_STATE_MAX_SIZE characters + /// after subtracting storage for others. + char file[RCUTILS_ERROR_STATE_FILE_MAX_LENGTH]; + /// Line number of error. + uint64_t line_number; +} rcutils_error_state_t; + +// make sure our math is right... +#if __STDC_VERSION__ >= 201112L && !defined(RCUTILS_AVOID_DYNAMIC_ALLOCATION) +static_assert( + sizeof(rcutils_error_string_t) == ( + RCUTILS_ERROR_STATE_MESSAGE_MAX_LENGTH + + RCUTILS_ERROR_STATE_FILE_MAX_LENGTH + + RCUTILS_ERROR_STATE_LINE_NUMBER_STR_MAX_LENGTH + + RCUTILS_ERROR_FORMATTING_CHARACTERS + + 1 /* null terminating character */), + "Maximum length calculations incorrect"); +#endif + +/// Forces initialization of thread-local storage if called in a newly created thread. +/** + * If this function is not called beforehand, then the first time the error + * state is set or the first time the error message is retrieved, the default + * allocator will be used to allocate thread-local storage. + * + * This function may or may not allocate memory. + * The system's thread-local storage implementation may need to allocate + * memory, since it usually has no way of knowing how much storage is needed + * without knowing how many threads will be created. + * Most implementations (e.g. C11, C++11, and pthread) do not have ways to + * specify how this memory is allocated, but if the implementation allows, the + * given allocator to this function will be used, but is otherwise unused. + * This only occurs when creating and destroying threads, which can be avoided + * in the "steady" state by reusing pools of threads. + * + * It is worth considering that repeated thread creation and destruction will + * result in repeated memory allocations and could result in memory + * fragmentation. + * This is typically avoided anyways by using pools of threads. + * + * In case an error is indicated by the return code, no error message will have + * been set. + * + * If called more than once in a thread, or after implicitly initialized by + * setting the error state, it will still return `RCUTILS_RET_OK`, even + * if the given allocator is invalid. + * Essentially this function does nothing if thread-local storage has already + * been called. + * If already initialized, the given allocator is ignored, even if it does not + * match the allocator used originally to initialize the thread-local storage. + * + * \param[in] allocator to be used to allocate and deallocate memory + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if the allocator is invalid, or + * \return #RCUTILS_RET_BAD_ALLOC if allocating memory fails, or + * \return #RCUTILS_RET_ERROR if an unspecified error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_initialize_error_handling_thread_local_storage(rcutils_allocator_t allocator); + +/// Set the error message, as well as the file and line on which it occurred. +/** + * This is not meant to be used directly, but instead via the + * RCUTILS_SET_ERROR_MSG(msg) macro. + * + * The error_msg parameter is copied into the internal error storage and must + * be null terminated. + * The file parameter is copied into the internal error storage and must + * be null terminated. + * + * \param[in] error_string The error message to set. + * \param[in] file The path to the file in which the error occurred. + * \param[in] line_number The line number on which the error occurred. + */ +RCUTILS_PUBLIC +void +rcutils_set_error_state(const char * error_string, const char * file, size_t line_number); + +/// Check an argument for a null value. +/** + * If the argument's value is `NULL`, set the error message saying so and + * return the `error_return_type`. + * + * \param[in] argument The argument to test. + * \param[in] error_return_type The type to return if the argument is `NULL`. + */ +#define RCUTILS_CHECK_ARGUMENT_FOR_NULL(argument, error_return_type) \ + RCUTILS_CHECK_FOR_NULL_WITH_MSG( \ + argument, #argument " argument is null", \ + return error_return_type) + +/// Check a value for null, with an error message and error statement. +/** + * If `value` is `NULL`, the error statement will be evaluated after + * setting the error message. + * + * \param[in] value The value to test. + * \param[in] msg The error message if `value` is `NULL`. + * \param[in] error_statement The statement to evaluate if `value` is `NULL`. + */ +#define RCUTILS_CHECK_FOR_NULL_WITH_MSG(value, msg, error_statement) \ + do { \ + if (NULL == value) { \ + RCUTILS_SET_ERROR_MSG(msg); \ + error_statement; \ + } \ + } while (0) + +/// Set the error message, as well as append the current file and line number. +/** + * If an error message was previously set, and rcutils_reset_error() was not called + * afterwards, and this library was built with RCUTILS_REPORT_ERROR_HANDLING_ERRORS + * turned on, then the previously set error message will be printed to stderr. + * Error state storage is thread local and so all error related functions are + * also thread local. + * + * \param[in] msg The error message to be set. + */ +#ifdef RCUTILS_AVOID_DYNAMIC_ALLOCATION + #define RCUTILS_SET_ERROR_MSG(msg) +#else +#define RCUTILS_SET_ERROR_MSG(msg) \ + do {rcutils_set_error_state(msg, __FILE__, __LINE__);} while (0) +#endif // RCUTILS_AVOID_DYNAMIC_ALLOCATION + +/// Set the error message using a format string and format arguments. +/** + * This function sets the error message using the given format string. + * The resulting formatted string is silently truncated at + * RCUTILS_ERROR_MESSAGE_MAX_LENGTH. + * + * \param[in] format_string The string to be used as the format of the error message. + * \param[in] ... Arguments for the format string. + */ +#ifdef RCUTILS_AVOID_DYNAMIC_ALLOCATION + #define RCUTILS_SET_ERROR_MSG_WITH_FORMAT_STRING(format_string, ...) +#else +#define RCUTILS_SET_ERROR_MSG_WITH_FORMAT_STRING(format_string, ...) \ + do { \ + char output_msg[RCUTILS_ERROR_MESSAGE_MAX_LENGTH]; \ + int ret = rcutils_snprintf(output_msg, sizeof(output_msg), format_string, __VA_ARGS__); \ + if (ret < 0) { \ + RCUTILS_SAFE_FWRITE_TO_STDERR("Failed to call snprintf for error message formatting\n"); \ + } else { \ + RCUTILS_SET_ERROR_MSG(output_msg); \ + } \ + } while (0) +#endif // RCUTILS_AVOID_DYNAMIC_ALLOCATION + + +/// Indicate that the function intends to set an error message and return an error value. +/** + * \def RCUTILS_CAN_SET_MSG_AND_RETURN_WITH_ERROR_OF + * Indicating macro similar to RCUTILS_CAN_RETURN_WITH_ERROR_OF, that also sets an error + * message. + * + * For now, this macro simply relies on `RCUTILS_CAN_FAIL_WITH` to set a generic error + * message and return the given `error_return_value` if fault injection is enabled. + * + * \param error_return_value the value returned as a result of a given error. + */ +#define RCUTILS_CAN_SET_MSG_AND_RETURN_WITH_ERROR_OF(error_return_value) \ + RCUTILS_CAN_FAIL_WITH( \ + { \ + RCUTILS_SET_ERROR_MSG("Injecting " RCUTILS_STRINGIFY(error_return_value)); \ + return error_return_value; \ + }) + +/// Return `true` if the error is set, otherwise `false`. +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +bool +rcutils_error_is_set(void); + +/// Return an rcutils_error_state_t which was set with rcutils_set_error_state(). +/** + * The returned pointer will be NULL if no error has been set in this thread. + * + * The returned pointer is valid until RCUTILS_SET_ERROR_MSG, rcutils_set_error_state, + * or rcutils_reset_error are called in the same thread. + * + * \return A pointer to the current error state struct. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +const rcutils_error_state_t * +rcutils_get_error_state(void); + +/// Return the error message followed by `, at :` if set, else "error not set". +/** + * This function is "safe" because it returns a copy of the current error + * string or one containing the string "error not set" if no error was set. + * This ensures that the copy is owned by the calling thread and is therefore + * never invalidated by other error handling calls, and that the C string + * inside is always valid and null terminated. + * + * \return The current error string, with file and line number, or "error not set" if not set. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_error_string_t +rcutils_get_error_string(void); + +/// Reset the error state by clearing any previously set error state. +RCUTILS_PUBLIC +void +rcutils_reset_error(void); + +/// Set the error message using RCUTILS_SET_ERROR_MSG and append the previous error. +/** + * If there is no previous error, has same behavior as RCUTILS_SET_ERROR_MSG. + * \param[in] msg The error message to be set. + */ +#define RCUTILS_SET_ERROR_MSG_AND_APPEND_PREV_ERROR(msg) \ + do { \ + rcutils_error_string_t error_string = rcutils_get_error_string(); \ + rcutils_reset_error(); \ + RCUTILS_SET_ERROR_MSG_WITH_FORMAT_STRING( \ + RCUTILS_EXPAND(msg ": %s"), error_string.str); \ + } while (0) + +/// Set the error message with RCUTILS_SET_ERROR_MSG_WITH_FORMAT_STRING and append the previous +/// error. +/** + * This function sets the error message using the given format string, and appends and resets the + * latest error string. + * The resulting formatted string is silently truncated at RCUTILS_ERROR_MESSAGE_MAX_LENGTH. + * + * If there is no previous error, has same behavior as RCUTILS_SET_ERROR_MSG_WITH_FORMAT_STRING. + * + * \param[in] format_string The string to be used as the format of the error message. + * \param[in] ... Arguments for the format string. + */ +#define RCUTILS_SET_ERROR_MSG_WITH_FORMAT_STRING_AND_APPEND_PREV_ERROR(format_string, ...) \ + do { \ + rcutils_error_string_t error_string = rcutils_get_error_string(); \ + rcutils_reset_error(); \ + RCUTILS_SET_ERROR_MSG_WITH_FORMAT_STRING( \ + RCUTILS_EXPAND(format_string ": %s"), __VA_ARGS__, error_string.str); \ + } while (0) + +/// Write the given msg out to stderr, limiting the buffer size in the `fwrite`, appending the +/// previous error. +/** + * This will reset the previous error, if it exists. + * If there is no previous error, has same behavior as RCUTILS_SAFE_FWRITE_TO_STDERR. + */ +#define RCUTILS_SAFE_FWRITE_TO_STDERR_AND_APPEND_PREV_ERROR(msg) \ + do { \ + rcutils_error_string_t error_string = rcutils_get_error_string(); \ + rcutils_reset_error(); \ + RCUTILS_SAFE_FWRITE_TO_STDERR(msg); \ + RCUTILS_SAFE_FWRITE_TO_STDERR_WITH_FORMAT_STRING(": %s", error_string.str); \ + } while (0) + +/// Set the error message to stderr using a format string and format arguments, appending the +/// previous error. +/** + * This function sets the error message to stderr using the given format string, appending and + * resetting the previous error. + * The resulting formatted string is silently truncated at RCUTILS_ERROR_MESSAGE_MAX_LENGTH. + * + * This will reset the previous error, if it exists. + * If there is no previous error, has same behavior as + * RCUTILS_SAFE_FWRITE_TO_STDERR_WITH_FORMAT_STRING. + * + * \param[in] format_string The string to be used as the format of the error message. + * \param[in] ... Arguments for the format string. + */ +#define RCUTILS_SAFE_FWRITE_TO_STDERR_WITH_FORMAT_STRING_AND_APPEND_PREV_ERROR(format_string, ...) \ + do { \ + rcutils_error_string_t error_string = rcutils_get_error_string(); \ + rcutils_reset_error(); \ + RCUTILS_SAFE_FWRITE_TO_STDERR_WITH_FORMAT_STRING(format_string, __VA_ARGS__); \ + RCUTILS_SAFE_FWRITE_TO_STDERR_WITH_FORMAT_STRING(": %s", error_string.str); \ + } while (0) + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__ERROR_HANDLING_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/filesystem.h b/ports/espressif/microros-ext/include/rcutils/rcutils/filesystem.h new file mode 100644 index 0000000000000..20dd2c7c72c9b --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/filesystem.h @@ -0,0 +1,300 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__FILESYSTEM_H_ +#define RCUTILS__FILESYSTEM_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include +#include + +#include "rcutils/allocator.h" +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +/// Return current working directory. +/** + * \param[in] buffer Allocated string to store current directory path to + * \param[in] max_length maximum length to be stored in buffer + * \return `true` if success, or + * \return `false` if buffer is NULL, or + * \return `false` on failure. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +bool +rcutils_get_cwd(char * buffer, size_t max_length); + +/// Check if the provided path points to a directory. +/** + * \param[in] abs_path Absolute path to check. + * \return `true` if provided path is a directory, or + * \return `false` if abs_path is NULL, or + * \return `false` on failure. + */ +RCUTILS_PUBLIC +bool +rcutils_is_directory(const char * abs_path); + +/// Check if the provided path points to a file. +/** + * \param[in] abs_path Absolute path to check. + * \return `true` if provided path is a file, or + * \return `false` if abs_path is NULL, or + * \return `false` on failure. + */ +RCUTILS_PUBLIC +bool +rcutils_is_file(const char * abs_path); + +/// Check if the provided path points to an existing file/folder. +/** + * \param[in] abs_path Absolute path to check. + * \return `true` if the path exists, or + * \return `false` if abs_path is NULL, or + * \return `false` on failure. + */ +RCUTILS_PUBLIC +bool +rcutils_exists(const char * abs_path); + +/// Check if the provided path points to a file/folder readable by current user. +/** + * \param[in] abs_path Absolute path to check. + * \return `true` if the file is readable, or + * \return `false` if abs_path is NULL, or + * \return `false` on failure. + */ +RCUTILS_PUBLIC +bool +rcutils_is_readable(const char * abs_path); + +/// Check if the provided path points to a file/folder writable by current user. +/** + * \param[in] abs_path Absolute path to check. + * \return `true` if the file is writable, or + * \return `false` if abs_path is NULL, or + * \return `false` on failure. + */ +RCUTILS_PUBLIC +bool +rcutils_is_writable(const char * abs_path); + +/// Check if the provided path points to a file/folder both readable and writable by current user. +/** + * \param[in] abs_path Absolute path to check. + * \return `true` if the file is readable and writable, or + * \return `false` if abs_path is NULL + * \return `false` on failure. + */ +RCUTILS_PUBLIC +bool +rcutils_is_readable_and_writable(const char * abs_path); + +/// Return newly allocated string with arguments separated by correct delimiter for the platform. +/** + * This function allocates memory and returns it to the caller. + * It is up to the caller to release the memory once it is done with it by + * calling `deallocate` on the same allocator passed here. + * + * \param[in] left_hand_path + * \param[in] right_hand_path + * \param[in] allocator + * \return concatenated path on success + * \return `NULL` on invalid arguments + * \return `NULL` on failure + */ +RCUTILS_PUBLIC +char * +rcutils_join_path( + const char * left_hand_path, + const char * right_hand_path, + rcutils_allocator_t allocator); + +/// Return newly allocated string with all argument's "/" replaced by platform specific separator. +/** + * This function allocates memory and returns it to the caller. + * It is up to the caller to release the memory once it is done with it by + * calling `deallocate` on the same allocator passed here. + * + * \param[in] path + * \param[in] allocator + * \return path using platform specific delimiters on success + * \return `NULL` on invalid arguments + * \return `NULL` on failure + */ +RCUTILS_PUBLIC +char * +rcutils_to_native_path( + const char * path, + rcutils_allocator_t allocator); + +/// Expand user directory in path. +/** + * This function expands an initial '~' to the current user's home directory. + * The home directory is fetched using `rcutils_get_home_dir()`. + * This function returns a newly allocated string on success. + * It is up to the caller to release the memory once it is done with it by + * calling `deallocate` on the same allocator passed here. + * + * \param[in] path A null-terminated C string representing a path. + * \param[in] allocator + * \return path with expanded home directory on success, or + * \return `NULL` on invalid arguments, or + * \return `NULL` on failure. + */ +RCUTILS_PUBLIC +char * +rcutils_expand_user(const char * path, rcutils_allocator_t allocator); + +/// Create the specified directory. +/** + * This function creates an absolutely-specified directory. + * If any of the intermediate directories do not exist, this function will + * return False. + * If the abs_path already exists, and is a directory, this function will + * return true. + * + * This function is not thread-safe due to mkdir races as described in the + * openat(2) documentation. + * + * \param[in] abs_path + * \return `true` if making the directory was successful, or + * \return `false` if path is NULL, or + * \return `false` if path is empty, or + * \return `false` if path is not absolute, or + * \return `false` if any intermediate directories don't exist. + */ +RCUTILS_PUBLIC +bool +rcutils_mkdir(const char * abs_path); + +/// Calculate the size of the specified directory. +/** + * Calculates the size of a directory by summarizing the file size of all files. + * \note This operation is not recursive. + * \param[in] directory_path The directory path to calculate the size of. + * \param[out] size The size of the directory in bytes on success. + * \param[in] allocator Allocator being used for internal file path composition. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails + * \return #RCUTILS_RET_ERROR if other error occurs + */ +RCUTILS_PUBLIC +rcutils_ret_t +rcutils_calculate_directory_size( + const char * directory_path, + uint64_t * size, + rcutils_allocator_t allocator); + +/// Calculate the size of the specified directory with recursion. +/** + * Calculates the size of a directory and subdirectory by summarizing the file size of all files. + * If necessary, you can specify the maximum directory depth to recurse into. + * Depth definition as below. + * \code + * directory_path <= depth 1 + * |- subdirectory <= depth 2 + * |- subdirectory <= depth 3 + * ... + * \endcode + * + * \note This API does not follow symlinks to files or directories. + * \param[in] directory_path The directory path to calculate the size of. + * \param[in] max_depth The maximum depth of subdirectory. 0 means no limitation. + * \param[out] size The size of the directory in bytes on success. + * \param[in] allocator Allocator being used for internal file path composition. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails + * \return #RCUTILS_RET_ERROR if other error occurs + */ +RCUTILS_PUBLIC +rcutils_ret_t +rcutils_calculate_directory_size_with_recursion( + const char * directory_path, + const size_t max_depth, + uint64_t * size, + rcutils_allocator_t allocator); + +/// Calculate the size of the specifed file. +/** + * \param[in] file_path The path of the file to obtain its size of. + * \return The size of the file in bytes. + */ +RCUTILS_PUBLIC +size_t +rcutils_get_file_size(const char * file_path); + +/// An iterator used for enumerating directory contents +typedef struct rcutils_dir_iter_s +{ + /// The name of the enumerated file or directory + const char * entry_name; + /// The allocator used internally by iteration functions + rcutils_allocator_t allocator; + /// The platform-specific iteration state + void * state; +} rcutils_dir_iter_t; + +/// Begin iterating over the contents of the specified directory. +/** + * This function is used to list the files and directories that are contained in + * a specified directory. The structure returned by it must be deallocated using + * ::rcutils_dir_iter_end when the iteration is completed. The name of the + * enumerated entry is stored in the `entry_name` member of the returned object, + * and the first entry is already populated upon completion of this function. To + * populate the entry with the name of the next entry, use the + * ::rcutils_dir_iter_next function. Note that the "." and ".." entries are + * typically among the entries enumerated. + * \param[in] directory_path The directory path to iterate over the contents of. + * \param[in] allocator Allocator used to create the returned structure. + * \return An iterator object used to continue iterating directory contents + * \return NULL if an error occurred + */ +RCUTILS_PUBLIC +rcutils_dir_iter_t * +rcutils_dir_iter_start(const char * directory_path, const rcutils_allocator_t allocator); + +/// Continue iterating over the contents of a directory. +/** + * \param[in] iter An iterator created by ::rcutils_dir_iter_start. + * \return `true` if another entry was found, or + * \return `false` if there are no more entries in the directory. + */ +RCUTILS_PUBLIC +bool +rcutils_dir_iter_next(rcutils_dir_iter_t * iter); + +/// Finish iterating over the contents of a directory. +/** + * \param[in] iter An iterator created by ::rcutils_dir_iter_start. + */ +RCUTILS_PUBLIC +void +rcutils_dir_iter_end(rcutils_dir_iter_t * iter); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__FILESYSTEM_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/find.h b/ports/espressif/microros-ext/include/rcutils/rcutils/find.h new file mode 100644 index 0000000000000..4569a935ac8a2 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/find.h @@ -0,0 +1,92 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__FIND_H_ +#define RCUTILS__FIND_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "rcutils/types.h" +#include "rcutils/visibility_control.h" + +/// Return the first index of a character in a string. +/** + * Search in a string for the first occurence of a delimiter. + * + * \param[in] str null terminated c string to search + * \param[in] delimiter the character to search for + * \return the index of the first occurence of the delimiter if found, or + * \return `SIZE_MAX` for invalid arguments, or + * \return `SIZE_MAX` if the delimiter is not found. + */ +RCUTILS_PUBLIC +size_t +rcutils_find(const char * str, char delimiter); + +/// Return the first index of a character in a string of specified length. +/** + * Identical to rcutils_find_first() but without relying on the string to be a + * null terminated c string. + * + * \param[in] str string to search + * \param[in] delimiter the character to search for + * \param[in] string_length length of the string to search + * \return the index of the first occurence of the delimiter if found, or + * \return `SIZE_MAX` for invalid arguments, or + * \return `SIZE_MAX` if the delimiter is not found. + */ +RCUTILS_PUBLIC +size_t +rcutils_findn(const char * str, char delimiter, size_t string_length); + +/// Return the last index of a character in a string. +/** + * Search in a string for the last occurence of a delimiter. + * + * \param[in] str null terminated c string to search + * \param[in] delimiter the character to search for + * \return the index of the last occurence of the delimiter if found, or + * \return `SIZE_MAX` for invalid arguments, or + * \return `SIZE_MAX` if the delimiter is not found. + */ +RCUTILS_PUBLIC +size_t +rcutils_find_last(const char * str, char delimiter); + +/// Return the last index of a character in a string of specifed length. +/** + * Identical to rcutils_find_last() but without relying on the string to be a + * null terminated c string. + * + * \param[in] str string to search + * \param[in] delimiter the character to search for + * \param[in] string_length length of the string to search + * \return the index of the last occurence of the delimiter if found, or + * \return `SIZE_MAX` for invalid arguments, or + * \return `SIZE_MAX` if the delimiter is not found. + */ +RCUTILS_PUBLIC +size_t +rcutils_find_lastn(const char * str, char delimiter, size_t string_length); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__FIND_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/format_string.h b/ports/espressif/microros-ext/include/rcutils/rcutils/format_string.h new file mode 100644 index 0000000000000..37e5262dc638b --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/format_string.h @@ -0,0 +1,83 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef RCUTILS__FORMAT_STRING_H_ +#define RCUTILS__FORMAT_STRING_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/allocator.h" +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +/// Return a newly allocated string, created with a format string. +/** + * This function is identical to rcutils_format_string_limit() except it has an + * implicit limit of 2048. + * For longer format strings, see rcutils_format_string_limit(). + */ +#define rcutils_format_string(allocator, format_string, ...) \ + rcutils_format_string_limit(allocator, 2048, format_string, __VA_ARGS__) + +/// Return a newly allocated string, created with a format string up to a limit. +/** + * This function uses snprintf_s to determine the length of the resulting + * string and allocates storage for the resulting string, formats it, and + * then returns the result. + * + * This function can fail and therefore return null if the format_string is + * null or if memory allocation fails or if snprintf_s fails. + * An error message is not set in any case. + * + * Output strings that would be longer than the given limit are truncated. + * + * All returned strings are null terminated. + * + * The format string is passed to snprintf_s(), see its documentation for + * how to use the format string. + * + * The returned string must be deallocated using the same allocator given once + * it is no longer needed. + * + * \see rcutils_snprintf() + * + * \param[in] allocator the allocator to use for allocation + * \param[in] limit maximum length of the output string + * \param[in] format_string format of the output, must be null terminated + * \return The newly allocated and format output string, or + * \return `NULL` if there was an error. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +char * +rcutils_format_string_limit( + rcutils_allocator_t allocator, + size_t limit, + const char * format_string, + ...) +/// @cond Doxygen_Suppress +RCUTILS_ATTRIBUTE_PRINTF_FORMAT(3, 4) +/// @endcond +; + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__FORMAT_STRING_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/isalnum_no_locale.h b/ports/espressif/microros-ext/include/rcutils/rcutils/isalnum_no_locale.h new file mode 100644 index 0000000000000..052ad53e33054 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/isalnum_no_locale.h @@ -0,0 +1,49 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__ISALNUM_NO_LOCALE_H_ +#define RCUTILS__ISALNUM_NO_LOCALE_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +/// Custom isalnum() which is not affected by locale. +static inline +bool +rcutils_isalnum_no_locale(char c) +{ + // if in '0', ..., '9', then ok + if (c >= 0x30 /*0*/ && c <= 0x39 /*9*/) { + return true; + } + // if in 'A', ..., 'Z', then ok + if (c >= 0x41 /*A*/ && c <= 0x5a /*Z*/) { + return true; + } + // if in 'a', ..., 'z', then ok + if (c >= 0x61 /*a*/ && c <= 0x7a /*z*/) { + return true; + } + return false; +} + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__ISALNUM_NO_LOCALE_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/logging.h b/ports/espressif/microros-ext/include/rcutils/rcutils/logging.h new file mode 100644 index 0000000000000..646d79bc08e43 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/logging.h @@ -0,0 +1,587 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__LOGGING_H_ +#define RCUTILS__LOGGING_H_ + +#include +#include +#include + +#include "rcutils/allocator.h" +#include "rcutils/error_handling.h" +#include "rcutils/macros.h" +#include "rcutils/time.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +/// The separator used when logging node names. +#define RCUTILS_LOGGING_SEPARATOR_STRING "." + +/** + * \def RCUTILS_DEFAULT_LOGGER_DEFAULT_LEVEL + * \brief The default severity level of the default logger. + */ +#define RCUTILS_DEFAULT_LOGGER_DEFAULT_LEVEL RCUTILS_LOG_SEVERITY_UNSET + +/// The flag if the logging system has been initialized. +RCUTILS_PUBLIC +extern bool g_rcutils_logging_initialized; + +/// Initialize the logging system using the specified allocator. +/** + * Initialize the logging system only if it was not in an initialized state. + * + * If an invalid allocator is passed, the initialization will fail. + * Otherwise, this function will still set the internal state to initialized + * even if an error occurs, to avoid repeated failing initialization attempts + * since this function is called automatically from logging macros. + * To re-attempt initialization, call rcutils_logging_shutdown() before + * re-calling this function. + * + * If multiple errors occur, the error code of the last error will be returned. + * + * The `RCUTILS_CONSOLE_OUTPUT_FORMAT` environment variable can be used to set + * the output format of messages logged to the console. + * Available tokens are: + * - `file_name`, the full file name of the caller including the path + * - `function_name`, the function name of the caller + * - `line_number`, the line number of the caller + * - `message`, the message string after it has been formatted + * - `name`, the full logger name + * - `severity`, the name of the severity level, e.g. `INFO` + * - `time`, the timestamp of log message in floating point seconds + * - `time_as_nanoseconds`, the timestamp of log message in integer nanoseconds + * + * The `RCUTILS_COLORIZED_OUTPUT` environment variable allows configuring if colours + * are used or not. Available values are: + * - `1`: Force using colours. + * - `0`: Don't use colours. + * If it is unset, colours are used depending if the target stream is a terminal or not. + * See `isatty` documentation. + * + * The format string can use these tokens by referencing them in curly brackets, + * e.g. `"[{severity}] [{name}]: {message} ({function_name}() at {file_name}:{line_number})"`. + * Any number of tokens can be used. + * The limit of the format string is 2048 characters. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] allocator rcutils_allocator_t to be used. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if the allocator is invalid, in which + * case initialization will fail, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if an error occurs reading the output + * format from the `RCUTILS_CONSOLE_OUTPUT_FORMAT` environment variable, in + * which case the default format will be used, or + * \return #RCUTILS_RET_LOGGING_SEVERITY_MAP_INVALID if the internal logger + * severity level map cannot be initialized, in which case logger severity + * levels will not be configurable. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t rcutils_logging_initialize_with_allocator(rcutils_allocator_t allocator); + +/// Initialize the logging system. +/** + * Call rcutils_logging_initialize_with_allocator() using the default allocator. + * This function is called automatically when using the logging macros. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if an error occurs reading the output + * format from the `RCUTILS_CONSOLE_OUTPUT_FORMAT` environment variable, in + * which case the default format will be used, or + * \return #RCUTILS_RET_LOGGING_SEVERITY_MAP_INVALID if the internal logger + * severity level map cannot be initialized, in which case logger levels + * will not be configurable. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t rcutils_logging_initialize(void); + +/// Shutdown the logging system. +/** + * Free the resources allocated for the logging system. + * This puts the system into a state equivalent to being uninitialized. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_LOGGING_SEVERITY_MAP_INVALID if the internal logger + * severity level map cannot be finalized. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t rcutils_logging_shutdown(void); + +/// The structure identifying the caller location in the source code. +typedef struct rcutils_log_location_s +{ + /// The name of the function containing the log call. + const char * function_name; + /// The name of the source file containing the log call. + const char * file_name; + /// The line number containing the log call. + size_t line_number; +} rcutils_log_location_t; + +/// The severity levels of log messages / loggers. +/** + * Note: all logging levels have their Least Significant Bit as 0, which is used as an + * optimization. If adding new logging levels, ensure that the new levels keep this property. + */ +enum RCUTILS_LOG_SEVERITY +{ + RCUTILS_LOG_SEVERITY_UNSET = 0, ///< The unset log level + RCUTILS_LOG_SEVERITY_DEBUG = 10, ///< The debug log level + RCUTILS_LOG_SEVERITY_INFO = 20, ///< The info log level + RCUTILS_LOG_SEVERITY_WARN = 30, ///< The warn log level + RCUTILS_LOG_SEVERITY_ERROR = 40, ///< The error log level + RCUTILS_LOG_SEVERITY_FATAL = 50, ///< The fatal log level +}; + +/// The names of severity levels. +RCUTILS_PUBLIC +extern const char * const g_rcutils_log_severity_names[RCUTILS_LOG_SEVERITY_FATAL + 1]; + +/// Get a severity value from its string representation (e.g. DEBUG). +/** + * String representation must match one of the values in + * `g_rcutils_log_severity_names`, but is not case-sensitive. + * Examples: UNSET, DEBUG, INFO, WARN, Error, fatal. + * + * \param[in] severity_string String representation of the severity, must be a + * null terminated c string + * \param[in] allocator rcutils_allocator_t to be used + * \param[in,out] severity The severity level as a represented by the + * `RCUTILS_LOG_SEVERITY` enum + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT on invalid arguments, or + * \return #RCUTILS_RET_LOGGING_SEVERITY_STRING_INVALID if unable to match + * string, or + * \return #RCUTILS_RET_ERROR if an unspecified error occured. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_logging_severity_level_from_string( + const char * severity_string, rcutils_allocator_t allocator, int * severity); + +/// The function signature to log messages. +/** + * \param[in] location The location information about where the log came from + * \param[in] severity The severity of the log message expressed as an integer + * \param[in] name The name of the logger that this message came from + * \param[in] timestamp The time at which the log message was generated + * \param[in] format The list of arguments to insert into the formatted log message + * \param[in] args The variable argument list + */ +typedef void (* rcutils_logging_output_handler_t)( + const rcutils_log_location_t * location, + int severity, + const char * name, + rcutils_time_point_value_t timestamp, + const char * format, + va_list * args +); + +/// Get the current output handler. +/** + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No, provided logging system is already initialized + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \return The function pointer of the current output handler. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_logging_output_handler_t rcutils_logging_get_output_handler(); + +/// Set the current output handler. +/** + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No, provided logging system is already initialized + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] function The function pointer of the output handler to be used. + */ +RCUTILS_PUBLIC +void rcutils_logging_set_output_handler(rcutils_logging_output_handler_t function); + +/// Formats a log message according to RCUTILS_CONSOLE_OUTPUT_FORMAT +/** + * A formatter that is meant to be used by an output handler to format a log message to the match + * the format specified in RCUTILS_CONSOLE_OUTPUT_FORMAT by performing token replacement. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] location The location information about where the log came from + * \param[in] severity The severity of the log message expressed as an integer + * \param[in] name The name of the logger that this message came from + * \param[in] timestamp The time at which the log message was generated + * \param[in] msg The message being logged + * \param[out] logging_output An output buffer for the formatted message + * \return #RCUTILS_RET_OK if successful. + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation error occured + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t rcutils_logging_format_message( + const rcutils_log_location_t * location, + int severity, const char * name, rcutils_time_point_value_t timestamp, + const char * msg, rcutils_char_array_t * logging_output); + +/// Get the default level for loggers. +/** + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No, provided logging system is already initialized + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \return The level. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int rcutils_logging_get_default_logger_level(); + +/// Set the default severity level for loggers. +/** + * If the severity level requested is `RCUTILS_LOG_SEVERITY_UNSET`, the default + * value for the default logger (`RCUTILS_DEFAULT_LOGGER_DEFAULT_LEVEL`) + * will be restored instead. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No, provided logging system is already initialized + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] level The level to be used. + */ +RCUTILS_PUBLIC +void rcutils_logging_set_default_logger_level(int level); + +/// Get the severity level for a logger. +/** + * This considers the severity level of the specifed logger only. + * To get the effective level of a logger given the severity level of its + * ancestors, see rcutils_logging_get_logger_effective_level(). + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No, provided logging system is already initialized + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] name The name of the logger, must be null terminated c string + * \return The level of the logger if it has been set, or + * \return `RCUTILS_LOG_SEVERITY_UNSET` if unset, or + * \return the default logger level for an empty name, or + * \return -1 on invalid arguments, or + * \return -1 if an error occurred + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int rcutils_logging_get_logger_level(const char * name); + +/// Get the level for a logger and its name length. +/** + * Identical to rcutils_logging_get_logger_level() but without + * relying on the logger name to be a null terminated c string. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No, provided logging system is already initialized + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] name The name of the logger + * \param[in] name_length Logger name length + * \return The level of the logger if it has been set, or + * \return `RCUTILS_LOG_SEVERITY_UNSET` if unset, or + * \return the default logger level for an empty name, or + * \return -1 on invalid arguments, or + * \return -1 if an error occurred + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int rcutils_logging_get_logger_leveln(const char * name, size_t name_length); + +/// Set the severity level for a logger. +/** + * If an empty string is specified as the name, the default logger level will be set. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] name The name of the logger, must be null terminated c string. + * \param[in] level The level to be used. + * \return `RCUTILS_RET_OK` if successful, or + * \return `RCUTILS_RET_INVALID_ARGUMENT` on invalid arguments, or + * \return `RCUTILS_RET_LOGGING_SEVERITY_MAP_INVALID` if severity map invalid, or + * \return `RCUTILS_RET_ERROR` if an unspecified error occured + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t rcutils_logging_set_logger_level(const char * name, int level); + +/// Determine if a logger is enabled for a severity level. +/** + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No, provided logging system is already initialized + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] name The name of the logger, must be null terminated c string or NULL. + * \param[in] severity The severity level. + * + * \return `true` if the logger is enabled for the level, or + * \return `false` otherwise. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +bool rcutils_logging_logger_is_enabled_for(const char * name, int severity); + +/// Determine the effective level for a logger. +/** + * The effective level is determined as the severity level of + * the logger if it is set, otherwise it is the first specified severity + * level of the logger's ancestors, starting with its closest ancestor. + * The ancestor hierarchy is signified by logger names being separated by dots: + * a logger named `x` is an ancestor of `x.y`, and both `x` and `x.y` are + * ancestors of `x.y.z`, etc. + * If the level has not been set for the logger nor any of its + * ancestors, the default level is used. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No, provided logging system is already initialized + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] name The name of the logger, must be null terminated c string. + * + * \return The level, or + * \return -1 on invalid arguments, or + * \return -1 if an error occurred. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int rcutils_logging_get_logger_effective_level(const char * name); + +/// Internal call to log a message. +/** + * Unconditionally log a message. + * This is an internal function, and assumes that the caller has already called + * rcutils_logging_logger_is_enabled_for(). + * End-user software should never call this, and instead should call rcutils_log() + * or one of the RCUTILS_LOG_ macros. + * + * The attributes of this function are influenced by the currently set output handler. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No, for formatted outputs <= 1023 characters + * | Yes, for formatted outputs >= 1024 characters + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] location The pointer to the location struct or NULL + * \param[in] severity The severity level + * \param[in] name The name of the logger, must be null terminated c string or NULL + * \param[in] format The format string + * \param[in] ... The variable arguments + */ +RCUTILS_PUBLIC +void rcutils_log_internal( + const rcutils_log_location_t * location, + int severity, + const char * name, + const char * format, + ...) +/// @cond Doxygen_Suppress +RCUTILS_ATTRIBUTE_PRINTF_FORMAT(4, 5) +/// @endcond +; + +/// Log a message. +/** + * The attributes of this function are influenced by the currently set output handler. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No, for formatted outputs <= 1023 characters + * | Yes, for formatted outputs >= 1024 characters + * Thread-Safe | Yes, with itself [1] + * Uses Atomics | No + * Lock-Free | Yes + * [1] should be thread-safe with itself but not with other logging functions + * + * This should be thread-safe with itself, but is not thread-safe with other + * logging functions that do things like set logger levels. + * + * \todo There are no thread-safety gurantees between this function and other + * logging functions in rcutils, even though it is likely users are calling + * them concurrently today. + * We need to revisit these functions with respect to this issue and make + * guarantees where we can, and change functions higher in the stack to + * provide the thread-safety where we cannot. + * + * \param[in] location The pointer to the location struct or NULL + * \param[in] severity The severity level + * \param[in] name The name of the logger, must be null terminated c string or NULL + * \param[in] format The format string + * \param[in] ... The variable arguments + */ +RCUTILS_PUBLIC +void rcutils_log( + const rcutils_log_location_t * location, + int severity, + const char * name, + const char * format, + ...) +/// @cond Doxygen_Suppress +RCUTILS_ATTRIBUTE_PRINTF_FORMAT(4, 5) +/// @endcond +; + +/// The default output handler outputs log messages to the standard streams. +/** + * The messages with a severity level `DEBUG` and `INFO` are written to `stdout`. + * The messages with a severity level `WARN`, `ERROR`, and `FATAL` are written + * to `stderr`. + * The console output format of the logged message can be configured through + * the `RCUTILS_CONSOLE_OUTPUT_FORMAT` environment variable: see + * rcutils_logging_initialize_with_allocator() for details. + * For configuring if using colours or not, `RCUTILS_COLORIZED_OUTPUT` can be used: + * see rcutils_logging_initialize_with_allocator() for details. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | Yes, if the underlying *printf functions are + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] location The pointer to the location struct or NULL + * \param[in] severity The severity level + * \param[in] name The name of the logger, must be null terminated c string + * \param[in] timestamp The timestamp for when the log message was made + * \param[in] format The format string + * \param[in] args The `va_list` used by the logger + */ +RCUTILS_PUBLIC +void rcutils_logging_console_output_handler( + const rcutils_log_location_t * location, + int severity, const char * name, rcutils_time_point_value_t timestamp, + const char * format, va_list * args); + +/** + * \def RCUTILS_LOGGING_AUTOINIT + * \brief Initialize the rcl logging library. + * Usually it is unnecessary to call the macro directly. + * All logging macros ensure that this has been called once. + */ +#define RCUTILS_LOGGING_AUTOINIT \ + RCUTILS_LOGGING_AUTOINIT_WITH_ALLOCATOR(rcutils_get_default_allocator()) + +/** + * \def RCUTILS_LOGGING_AUTOINIT_WITH_ALLOCATOR + * \brief Initialize the rcl logging library with allocator. + * Usually it is unnecessary to call the macro directly. + * All logging macros ensure that this has been called once. + */ +#define RCUTILS_LOGGING_AUTOINIT_WITH_ALLOCATOR(alloc) \ + do { \ + if (RCUTILS_UNLIKELY(!g_rcutils_logging_initialized)) { \ + if (rcutils_logging_initialize_with_allocator(alloc) != RCUTILS_RET_OK) { \ + RCUTILS_SAFE_FWRITE_TO_STDERR( \ + "[rcutils|" __FILE__ ":" RCUTILS_STRINGIFY(__LINE__) \ + "] error initializing logging: "); \ + RCUTILS_SAFE_FWRITE_TO_STDERR(rcutils_get_error_string().str); \ + RCUTILS_SAFE_FWRITE_TO_STDERR("\n"); \ + rcutils_reset_error(); \ + } \ + } \ + } while (0) + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__LOGGING_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/logging_macros.h b/ports/espressif/microros-ext/include/rcutils/rcutils/logging_macros.h new file mode 100644 index 0000000000000..1b18fe663a848 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/logging_macros.h @@ -0,0 +1,1447 @@ +// generated from rcutils/resource/logging_macros.h.em + +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*! \file */ + +#ifndef RCUTILS__LOGGING_MACROS_H_ +#define RCUTILS__LOGGING_MACROS_H_ + +#include "rcutils/logging.h" + +#include +#include + +// This is to avoid compilation warnings in C++ with '-Wold-style-cast'. +#ifdef __cplusplus + #define RCUTILS_CAST_DURATION(x) (static_cast < rcutils_duration_value_t > (x)) +#else + #define RCUTILS_CAST_DURATION(x) ((rcutils_duration_value_t)x) +#endif + +#ifdef __cplusplus +extern "C" +{ +#endif + +// These are used for compiling out logging macros lower than a minimum severity. +#define RCUTILS_LOG_MIN_SEVERITY_DEBUG 0 +#define RCUTILS_LOG_MIN_SEVERITY_INFO 1 +#define RCUTILS_LOG_MIN_SEVERITY_WARN 2 +#define RCUTILS_LOG_MIN_SEVERITY_ERROR 3 +#define RCUTILS_LOG_MIN_SEVERITY_FATAL 4 +#define RCUTILS_LOG_MIN_SEVERITY_NONE 5 + +/** + * \def RCUTILS_LOG_MIN_SEVERITY + * Define RCUTILS_LOG_MIN_SEVERITY=RCUTILS_LOG_MIN_SEVERITY_[DEBUG|INFO|WARN|ERROR|FATAL] + * in your build options to compile out anything below that severity. + * Use RCUTILS_LOG_MIN_SEVERITY_NONE to compile out all macros. + */ +#ifndef RCUTILS_LOG_MIN_SEVERITY +#define RCUTILS_LOG_MIN_SEVERITY RCUTILS_LOG_MIN_SEVERITY_NONE +#endif + +// TODO(dhood): optimise severity check via notifyLoggerLevelsChanged concept or similar. +// The RCUTILS_LOG_COND_NAMED macro is surrounded by do { .. } while (0) to implement +// the standard C macro idiom to make the macro safe in all contexts; see +// http://c-faq.com/cpp/multistmt.html for more information. +/** + * \def RCUTILS_LOG_COND_NAMED + * The logging macro all other logging macros call directly or indirectly. + * + * \note The condition will only be evaluated if this logging statement is enabled. + * + * \param[in] severity The severity level + * \param[in] condition_before The condition macro(s) inserted before the log call + * \param[in] condition_after The condition macro(s) inserted after the log call + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +#define RCUTILS_LOG_COND_NAMED(severity, condition_before, condition_after, name, ...) \ + do { \ + RCUTILS_LOGGING_AUTOINIT; \ + static rcutils_log_location_t __rcutils_logging_location = {__func__, __FILE__, __LINE__}; \ + if (rcutils_logging_logger_is_enabled_for(name, severity)) { \ + condition_before \ + rcutils_log_internal(&__rcutils_logging_location, severity, name, __VA_ARGS__); \ + condition_after \ + } \ + } while (0) + +///@{ +/** + * \def RCUTILS_LOG_CONDITION_EMPTY + * An empty macro which can be used as a placeholder for `condition_before` + * and `condition_after` which doesn't affect the logging call. + */ +#define RCUTILS_LOG_CONDITION_EMPTY +///@} + +/** @name Macros for the `once` condition which ignores all subsequent log + * calls except the first one. + */ +///@{ +/** + * \def RCUTILS_LOG_CONDITION_ONCE_BEFORE + * A macro initializing and checking the `once` condition. + */ +#define RCUTILS_LOG_CONDITION_ONCE_BEFORE \ + { \ + static int __rcutils_logging_once = 0; \ + if (RCUTILS_UNLIKELY(0 == __rcutils_logging_once)) { \ + __rcutils_logging_once = 1; +/** + * \def RCUTILS_LOG_CONDITION_ONCE_AFTER + * A macro finalizing the `once` condition. + */ +#define RCUTILS_LOG_CONDITION_ONCE_AFTER } \ +} +///@} + +/** @name Macros for the `expression` condition which ignores the log calls + * when the expression evaluates to false. + */ +///@{ +/** + * \def RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE + * A macro checking the `expression` condition. + */ +#define RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE(expression) \ + if (expression) { +/** + * \def RCUTILS_LOG_CONDITION_EXPRESSION_AFTER + * A macro finalizing the `expression` condition. + */ +#define RCUTILS_LOG_CONDITION_EXPRESSION_AFTER } +///@} + +/** @name Macros for the `function` condition which ignores the log calls + * when the function returns false. + */ +///@{ +/// The filter function signature. +/** + * \return true to log the message, false to ignore the message + */ +typedef bool (* RclLogFilter)(); +/** + * \def RCUTILS_LOG_CONDITION_FUNCTION_BEFORE + * A macro checking the `function` condition. + */ +#define RCUTILS_LOG_CONDITION_FUNCTION_BEFORE(function) \ + if ((*function)()) { +/** + * \def RCUTILS_LOG_CONDITION_FUNCTION_AFTER + * A macro finalizing the `function` condition. + */ +#define RCUTILS_LOG_CONDITION_FUNCTION_AFTER } +///@} + +/** @name Macros for the `skipfirst` condition which ignores the first log + * call but processes all subsequent calls. + */ +///@{ +/** + * \def RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE + * A macro initializing and checking the `skipfirst` condition. + */ +#define RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE \ + { \ + static bool __rcutils_logging_first = true; \ + if (RCUTILS_UNLIKELY(true == __rcutils_logging_first)) { \ + __rcutils_logging_first = false; \ + } else { +/** + * \def RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER + * A macro finalizing the `skipfirst` condition. + */ +#define RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER } \ +} +///@} + +/** @name Macros for the `throttle` condition which ignores log calls if the + * last logged message is not longer ago than the specified duration. + */ +///@{ +/** + * \def RCUTILS_LOG_CONDITION_THROTTLE_BEFORE + * A macro initializing and checking the `throttle` condition. + */ +#define RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) { \ + static rcutils_duration_value_t __rcutils_logging_duration = RCUTILS_MS_TO_NS(RCUTILS_CAST_DURATION(duration)); \ + static rcutils_time_point_value_t __rcutils_logging_last_logged = 0; \ + rcutils_time_point_value_t __rcutils_logging_now = 0; \ + bool __rcutils_logging_condition = true; \ + if (get_time_point_value(&__rcutils_logging_now) != RCUTILS_RET_OK) { \ + rcutils_log( \ + &__rcutils_logging_location, RCUTILS_LOG_SEVERITY_ERROR, "", \ + "%s() at %s:%d getting current steady time failed\n", \ + __func__, __FILE__, __LINE__); \ + } else { \ + __rcutils_logging_condition = __rcutils_logging_now >= __rcutils_logging_last_logged + __rcutils_logging_duration; \ + } \ + \ + if (RCUTILS_LIKELY(__rcutils_logging_condition)) { \ + __rcutils_logging_last_logged = __rcutils_logging_now; + +/** + * \def RCUTILS_LOG_CONDITION_THROTTLE_AFTER + * A macro finalizing the `throttle` condition. + */ +#define RCUTILS_LOG_CONDITION_THROTTLE_AFTER } \ +} +///@} + +/** @name Logging macros for severity DEBUG. + */ +///@{ +#if (RCUTILS_LOG_MIN_SEVERITY > RCUTILS_LOG_MIN_SEVERITY_DEBUG) +// empty logging macros for severity DEBUG when being disabled at compile time +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_ONCE(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_ONCE_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_EXPRESSION(expression, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_EXPRESSION_NAMED(expression, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_FUNCTION(function, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_FUNCTION_NAMED(function, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_SKIPFIRST(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_SKIPFIRST_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_THROTTLE(get_time_point_value, duration, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_SKIPFIRST_THROTTLE(get_time_point_value, duration, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_THROTTLE_NAMED(get_time_point_value, duration, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_DEBUG_SKIPFIRST_THROTTLE_NAMED(get_time_point_value, duration, name, format, ...) + +#else +/** + * \def RCUTILS_LOG_DEBUG + * Log a message with severity DEBUG. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_EMPTY, RCUTILS_LOG_CONDITION_EMPTY, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_NAMED + * Log a message with severity DEBUG. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_EMPTY, RCUTILS_LOG_CONDITION_EMPTY, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_ONCE + * Log a message with severity DEBUG with the following conditions: + * - All subsequent log calls except the first one are being ignored. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_ONCE(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_ONCE_BEFORE, RCUTILS_LOG_CONDITION_ONCE_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_ONCE_NAMED + * Log a message with severity DEBUG with the following conditions: + * - All subsequent log calls except the first one are being ignored. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_ONCE_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_ONCE_BEFORE, RCUTILS_LOG_CONDITION_ONCE_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_EXPRESSION + * Log a message with severity DEBUG with the following conditions: + * - Log calls are being ignored when the expression evaluates to false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] expression The expression determining if the message should be logged + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_EXPRESSION(expression, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE(expression), RCUTILS_LOG_CONDITION_EXPRESSION_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_EXPRESSION_NAMED + * Log a message with severity DEBUG with the following conditions: + * - Log calls are being ignored when the expression evaluates to false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] expression The expression determining if the message should be logged + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_EXPRESSION_NAMED(expression, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE(expression), RCUTILS_LOG_CONDITION_EXPRESSION_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_FUNCTION + * Log a message with severity DEBUG with the following conditions: + * - Log calls are being ignored when the function returns false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] function The functions return value determines if the message should be logged + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_FUNCTION(function, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_FUNCTION_BEFORE(function), RCUTILS_LOG_CONDITION_FUNCTION_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_FUNCTION_NAMED + * Log a message with severity DEBUG with the following conditions: + * - Log calls are being ignored when the function returns false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] function The functions return value determines if the message should be logged + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_FUNCTION_NAMED(function, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_FUNCTION_BEFORE(function), RCUTILS_LOG_CONDITION_FUNCTION_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_SKIPFIRST + * Log a message with severity DEBUG with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_SKIPFIRST(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_SKIPFIRST_NAMED + * Log a message with severity DEBUG with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_SKIPFIRST_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_THROTTLE + * Log a message with severity DEBUG with the following conditions: + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_THROTTLE(get_time_point_value, duration, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration), RCUTILS_LOG_CONDITION_THROTTLE_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_SKIPFIRST_THROTTLE + * Log a message with severity DEBUG with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_SKIPFIRST_THROTTLE(get_time_point_value, duration, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_THROTTLE_AFTER RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_THROTTLE_NAMED + * Log a message with severity DEBUG with the following conditions: + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_THROTTLE_NAMED(get_time_point_value, duration, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration), RCUTILS_LOG_CONDITION_THROTTLE_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_DEBUG_SKIPFIRST_THROTTLE_NAMED + * Log a message with severity DEBUG with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_DEBUG_SKIPFIRST_THROTTLE_NAMED(get_time_point_value, duration, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_DEBUG, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_THROTTLE_AFTER RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, name, \ + __VA_ARGS__) +#endif +///@} + +/** @name Logging macros for severity INFO. + */ +///@{ +#if (RCUTILS_LOG_MIN_SEVERITY > RCUTILS_LOG_MIN_SEVERITY_INFO) +// empty logging macros for severity INFO when being disabled at compile time +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_ONCE(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_ONCE_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_EXPRESSION(expression, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_EXPRESSION_NAMED(expression, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_FUNCTION(function, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_FUNCTION_NAMED(function, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_SKIPFIRST(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_SKIPFIRST_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_THROTTLE(get_time_point_value, duration, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_SKIPFIRST_THROTTLE(get_time_point_value, duration, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_THROTTLE_NAMED(get_time_point_value, duration, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_INFO_SKIPFIRST_THROTTLE_NAMED(get_time_point_value, duration, name, format, ...) + +#else +/** + * \def RCUTILS_LOG_INFO + * Log a message with severity INFO. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_EMPTY, RCUTILS_LOG_CONDITION_EMPTY, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_NAMED + * Log a message with severity INFO. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_EMPTY, RCUTILS_LOG_CONDITION_EMPTY, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_ONCE + * Log a message with severity INFO with the following conditions: + * - All subsequent log calls except the first one are being ignored. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_ONCE(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_ONCE_BEFORE, RCUTILS_LOG_CONDITION_ONCE_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_ONCE_NAMED + * Log a message with severity INFO with the following conditions: + * - All subsequent log calls except the first one are being ignored. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_ONCE_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_ONCE_BEFORE, RCUTILS_LOG_CONDITION_ONCE_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_EXPRESSION + * Log a message with severity INFO with the following conditions: + * - Log calls are being ignored when the expression evaluates to false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] expression The expression determining if the message should be logged + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_EXPRESSION(expression, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE(expression), RCUTILS_LOG_CONDITION_EXPRESSION_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_EXPRESSION_NAMED + * Log a message with severity INFO with the following conditions: + * - Log calls are being ignored when the expression evaluates to false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] expression The expression determining if the message should be logged + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_EXPRESSION_NAMED(expression, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE(expression), RCUTILS_LOG_CONDITION_EXPRESSION_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_FUNCTION + * Log a message with severity INFO with the following conditions: + * - Log calls are being ignored when the function returns false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] function The functions return value determines if the message should be logged + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_FUNCTION(function, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_FUNCTION_BEFORE(function), RCUTILS_LOG_CONDITION_FUNCTION_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_FUNCTION_NAMED + * Log a message with severity INFO with the following conditions: + * - Log calls are being ignored when the function returns false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] function The functions return value determines if the message should be logged + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_FUNCTION_NAMED(function, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_FUNCTION_BEFORE(function), RCUTILS_LOG_CONDITION_FUNCTION_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_SKIPFIRST + * Log a message with severity INFO with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_SKIPFIRST(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_SKIPFIRST_NAMED + * Log a message with severity INFO with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_SKIPFIRST_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_THROTTLE + * Log a message with severity INFO with the following conditions: + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_THROTTLE(get_time_point_value, duration, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration), RCUTILS_LOG_CONDITION_THROTTLE_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_SKIPFIRST_THROTTLE + * Log a message with severity INFO with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_SKIPFIRST_THROTTLE(get_time_point_value, duration, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_THROTTLE_AFTER RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_THROTTLE_NAMED + * Log a message with severity INFO with the following conditions: + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_THROTTLE_NAMED(get_time_point_value, duration, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration), RCUTILS_LOG_CONDITION_THROTTLE_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_INFO_SKIPFIRST_THROTTLE_NAMED + * Log a message with severity INFO with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_INFO_SKIPFIRST_THROTTLE_NAMED(get_time_point_value, duration, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_INFO, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_THROTTLE_AFTER RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, name, \ + __VA_ARGS__) +#endif +///@} + +/** @name Logging macros for severity WARN. + */ +///@{ +#if (RCUTILS_LOG_MIN_SEVERITY > RCUTILS_LOG_MIN_SEVERITY_WARN) +// empty logging macros for severity WARN when being disabled at compile time +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_ONCE(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_ONCE_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_EXPRESSION(expression, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_EXPRESSION_NAMED(expression, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_FUNCTION(function, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_FUNCTION_NAMED(function, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_SKIPFIRST(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_SKIPFIRST_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_THROTTLE(get_time_point_value, duration, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_SKIPFIRST_THROTTLE(get_time_point_value, duration, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_THROTTLE_NAMED(get_time_point_value, duration, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_WARN_SKIPFIRST_THROTTLE_NAMED(get_time_point_value, duration, name, format, ...) + +#else +/** + * \def RCUTILS_LOG_WARN + * Log a message with severity WARN. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_EMPTY, RCUTILS_LOG_CONDITION_EMPTY, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_NAMED + * Log a message with severity WARN. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_EMPTY, RCUTILS_LOG_CONDITION_EMPTY, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_ONCE + * Log a message with severity WARN with the following conditions: + * - All subsequent log calls except the first one are being ignored. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_ONCE(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_ONCE_BEFORE, RCUTILS_LOG_CONDITION_ONCE_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_ONCE_NAMED + * Log a message with severity WARN with the following conditions: + * - All subsequent log calls except the first one are being ignored. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_ONCE_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_ONCE_BEFORE, RCUTILS_LOG_CONDITION_ONCE_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_EXPRESSION + * Log a message with severity WARN with the following conditions: + * - Log calls are being ignored when the expression evaluates to false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] expression The expression determining if the message should be logged + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_EXPRESSION(expression, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE(expression), RCUTILS_LOG_CONDITION_EXPRESSION_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_EXPRESSION_NAMED + * Log a message with severity WARN with the following conditions: + * - Log calls are being ignored when the expression evaluates to false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] expression The expression determining if the message should be logged + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_EXPRESSION_NAMED(expression, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE(expression), RCUTILS_LOG_CONDITION_EXPRESSION_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_FUNCTION + * Log a message with severity WARN with the following conditions: + * - Log calls are being ignored when the function returns false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] function The functions return value determines if the message should be logged + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_FUNCTION(function, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_FUNCTION_BEFORE(function), RCUTILS_LOG_CONDITION_FUNCTION_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_FUNCTION_NAMED + * Log a message with severity WARN with the following conditions: + * - Log calls are being ignored when the function returns false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] function The functions return value determines if the message should be logged + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_FUNCTION_NAMED(function, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_FUNCTION_BEFORE(function), RCUTILS_LOG_CONDITION_FUNCTION_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_SKIPFIRST + * Log a message with severity WARN with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_SKIPFIRST(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_SKIPFIRST_NAMED + * Log a message with severity WARN with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_SKIPFIRST_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_THROTTLE + * Log a message with severity WARN with the following conditions: + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_THROTTLE(get_time_point_value, duration, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration), RCUTILS_LOG_CONDITION_THROTTLE_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_SKIPFIRST_THROTTLE + * Log a message with severity WARN with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_SKIPFIRST_THROTTLE(get_time_point_value, duration, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_THROTTLE_AFTER RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_THROTTLE_NAMED + * Log a message with severity WARN with the following conditions: + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_THROTTLE_NAMED(get_time_point_value, duration, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration), RCUTILS_LOG_CONDITION_THROTTLE_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_WARN_SKIPFIRST_THROTTLE_NAMED + * Log a message with severity WARN with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_WARN_SKIPFIRST_THROTTLE_NAMED(get_time_point_value, duration, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_WARN, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_THROTTLE_AFTER RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, name, \ + __VA_ARGS__) +#endif +///@} + +/** @name Logging macros for severity ERROR. + */ +///@{ +#if (RCUTILS_LOG_MIN_SEVERITY > RCUTILS_LOG_MIN_SEVERITY_ERROR) +// empty logging macros for severity ERROR when being disabled at compile time +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_ONCE(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_ONCE_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_EXPRESSION(expression, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_EXPRESSION_NAMED(expression, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_FUNCTION(function, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_FUNCTION_NAMED(function, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_SKIPFIRST(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_SKIPFIRST_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_THROTTLE(get_time_point_value, duration, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_SKIPFIRST_THROTTLE(get_time_point_value, duration, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_THROTTLE_NAMED(get_time_point_value, duration, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_ERROR_SKIPFIRST_THROTTLE_NAMED(get_time_point_value, duration, name, format, ...) + +#else +/** + * \def RCUTILS_LOG_ERROR + * Log a message with severity ERROR. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_EMPTY, RCUTILS_LOG_CONDITION_EMPTY, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_NAMED + * Log a message with severity ERROR. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_EMPTY, RCUTILS_LOG_CONDITION_EMPTY, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_ONCE + * Log a message with severity ERROR with the following conditions: + * - All subsequent log calls except the first one are being ignored. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_ONCE(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_ONCE_BEFORE, RCUTILS_LOG_CONDITION_ONCE_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_ONCE_NAMED + * Log a message with severity ERROR with the following conditions: + * - All subsequent log calls except the first one are being ignored. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_ONCE_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_ONCE_BEFORE, RCUTILS_LOG_CONDITION_ONCE_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_EXPRESSION + * Log a message with severity ERROR with the following conditions: + * - Log calls are being ignored when the expression evaluates to false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] expression The expression determining if the message should be logged + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_EXPRESSION(expression, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE(expression), RCUTILS_LOG_CONDITION_EXPRESSION_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_EXPRESSION_NAMED + * Log a message with severity ERROR with the following conditions: + * - Log calls are being ignored when the expression evaluates to false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] expression The expression determining if the message should be logged + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_EXPRESSION_NAMED(expression, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE(expression), RCUTILS_LOG_CONDITION_EXPRESSION_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_FUNCTION + * Log a message with severity ERROR with the following conditions: + * - Log calls are being ignored when the function returns false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] function The functions return value determines if the message should be logged + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_FUNCTION(function, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_FUNCTION_BEFORE(function), RCUTILS_LOG_CONDITION_FUNCTION_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_FUNCTION_NAMED + * Log a message with severity ERROR with the following conditions: + * - Log calls are being ignored when the function returns false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] function The functions return value determines if the message should be logged + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_FUNCTION_NAMED(function, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_FUNCTION_BEFORE(function), RCUTILS_LOG_CONDITION_FUNCTION_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_SKIPFIRST + * Log a message with severity ERROR with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_SKIPFIRST(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_SKIPFIRST_NAMED + * Log a message with severity ERROR with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_SKIPFIRST_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_THROTTLE + * Log a message with severity ERROR with the following conditions: + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_THROTTLE(get_time_point_value, duration, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration), RCUTILS_LOG_CONDITION_THROTTLE_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_SKIPFIRST_THROTTLE + * Log a message with severity ERROR with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_SKIPFIRST_THROTTLE(get_time_point_value, duration, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_THROTTLE_AFTER RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_THROTTLE_NAMED + * Log a message with severity ERROR with the following conditions: + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_THROTTLE_NAMED(get_time_point_value, duration, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration), RCUTILS_LOG_CONDITION_THROTTLE_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_ERROR_SKIPFIRST_THROTTLE_NAMED + * Log a message with severity ERROR with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_ERROR_SKIPFIRST_THROTTLE_NAMED(get_time_point_value, duration, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_ERROR, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_THROTTLE_AFTER RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, name, \ + __VA_ARGS__) +#endif +///@} + +/** @name Logging macros for severity FATAL. + */ +///@{ +#if (RCUTILS_LOG_MIN_SEVERITY > RCUTILS_LOG_MIN_SEVERITY_FATAL) +// empty logging macros for severity FATAL when being disabled at compile time +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_ONCE(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_ONCE_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_EXPRESSION(expression, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_EXPRESSION_NAMED(expression, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_FUNCTION(function, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_FUNCTION_NAMED(function, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_SKIPFIRST(format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_SKIPFIRST_NAMED(name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_THROTTLE(get_time_point_value, duration, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_SKIPFIRST_THROTTLE(get_time_point_value, duration, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_THROTTLE_NAMED(get_time_point_value, duration, name, format, ...) +/// Empty logging macro due to the preprocessor definition of RCUTILS_LOG_MIN_SEVERITY. +# define RCUTILS_LOG_FATAL_SKIPFIRST_THROTTLE_NAMED(get_time_point_value, duration, name, format, ...) + +#else +/** + * \def RCUTILS_LOG_FATAL + * Log a message with severity FATAL. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_EMPTY, RCUTILS_LOG_CONDITION_EMPTY, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_NAMED + * Log a message with severity FATAL. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_EMPTY, RCUTILS_LOG_CONDITION_EMPTY, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_ONCE + * Log a message with severity FATAL with the following conditions: + * - All subsequent log calls except the first one are being ignored. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_ONCE(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_ONCE_BEFORE, RCUTILS_LOG_CONDITION_ONCE_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_ONCE_NAMED + * Log a message with severity FATAL with the following conditions: + * - All subsequent log calls except the first one are being ignored. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_ONCE_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_ONCE_BEFORE, RCUTILS_LOG_CONDITION_ONCE_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_EXPRESSION + * Log a message with severity FATAL with the following conditions: + * - Log calls are being ignored when the expression evaluates to false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] expression The expression determining if the message should be logged + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_EXPRESSION(expression, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE(expression), RCUTILS_LOG_CONDITION_EXPRESSION_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_EXPRESSION_NAMED + * Log a message with severity FATAL with the following conditions: + * - Log calls are being ignored when the expression evaluates to false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] expression The expression determining if the message should be logged + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_EXPRESSION_NAMED(expression, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_EXPRESSION_BEFORE(expression), RCUTILS_LOG_CONDITION_EXPRESSION_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_FUNCTION + * Log a message with severity FATAL with the following conditions: + * - Log calls are being ignored when the function returns false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] function The functions return value determines if the message should be logged + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_FUNCTION(function, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_FUNCTION_BEFORE(function), RCUTILS_LOG_CONDITION_FUNCTION_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_FUNCTION_NAMED + * Log a message with severity FATAL with the following conditions: + * - Log calls are being ignored when the function returns false. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] function The functions return value determines if the message should be logged + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_FUNCTION_NAMED(function, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_FUNCTION_BEFORE(function), RCUTILS_LOG_CONDITION_FUNCTION_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_SKIPFIRST + * Log a message with severity FATAL with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_SKIPFIRST(...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_SKIPFIRST_NAMED + * Log a message with severity FATAL with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_SKIPFIRST_NAMED(name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_THROTTLE + * Log a message with severity FATAL with the following conditions: + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_THROTTLE(get_time_point_value, duration, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration), RCUTILS_LOG_CONDITION_THROTTLE_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_SKIPFIRST_THROTTLE + * Log a message with severity FATAL with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_SKIPFIRST_THROTTLE(get_time_point_value, duration, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_THROTTLE_AFTER RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, NULL, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_THROTTLE_NAMED + * Log a message with severity FATAL with the following conditions: + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_THROTTLE_NAMED(get_time_point_value, duration, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration), RCUTILS_LOG_CONDITION_THROTTLE_AFTER, name, \ + __VA_ARGS__) +/** + * \def RCUTILS_LOG_FATAL_SKIPFIRST_THROTTLE_NAMED + * Log a message with severity FATAL with the following conditions: + * - The first log call is being ignored but all subsequent calls are being processed. + * - Log calls are being ignored if the last logged message is not longer ago than the specified duration. + * + * \note The conditions will only be evaluated if this logging statement is enabled. + * + * \param[in] get_time_point_value Function that returns rcutils_ret_t and expects a rcutils_time_point_value_t pointer. + * \param[in] duration The duration of the throttle interval as an integral value in milliseconds. + * \param[in] name The name of the logger + * \param[in] ... The format string, followed by the variable arguments for the format string + */ +# define RCUTILS_LOG_FATAL_SKIPFIRST_THROTTLE_NAMED(get_time_point_value, duration, name, ...) \ + RCUTILS_LOG_COND_NAMED( \ + RCUTILS_LOG_SEVERITY_FATAL, \ + RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) RCUTILS_LOG_CONDITION_SKIPFIRST_BEFORE, RCUTILS_LOG_CONDITION_THROTTLE_AFTER RCUTILS_LOG_CONDITION_SKIPFIRST_AFTER, name, \ + __VA_ARGS__) +#endif +///@} + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__LOGGING_MACROS_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/macros.h b/ports/espressif/microros-ext/include/rcutils/rcutils/macros.h new file mode 100644 index 0000000000000..b6d435f6ae00c --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/macros.h @@ -0,0 +1,237 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// @file + +#ifndef RCUTILS__MACROS_H_ +#define RCUTILS__MACROS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "rcutils/configuration_flags.h" + +#ifndef _WIN32 +/// A macro to make the compiler warn when the return value of a function is not used. +#define RCUTILS_WARN_UNUSED __attribute__((warn_unused_result)) +#else +/// A macro to make the compiler warn when the return value of a function is not used. +#define RCUTILS_WARN_UNUSED _Check_return_ +#endif + +/// \cond Doxygen_Suppress +// This block either sets RCUTILS_THREAD_LOCAL or RCUTILS_THREAD_LOCAL_PTHREAD. +#if defined(RCUTILS_NO_THREAD_SUPPORT) + #define RCUTILS_THREAD_LOCAL +#elif defined _WIN32 || defined __CYGWIN__ +// Windows or Cygwin + #define RCUTILS_THREAD_LOCAL __declspec(thread) +#elif defined __APPLE__ +// Apple OS's + #include + #if TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE +// iOS Simulator or iOS device + #include + #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) + #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 +// iOS >= 10, thread local storage was added in iOS 10 + #define RCUTILS_THREAD_LOCAL _Thread_local + #else +// iOS < 10, no thread local storage, so use pthread instead + #define RCUTILS_THREAD_LOCAL_PTHREAD 1 + #undef RCUTILS_THREAD_LOCAL + #endif + #else + #error "Unknown iOS version" + #endif + #elif TARGET_OS_MAC +// macOS + #define RCUTILS_THREAD_LOCAL _Thread_local + #else + #error "Unknown Apple platform" + #endif +#else +// Some other non-Windows, non-cygwin, non-apple OS + #define RCUTILS_THREAD_LOCAL _Thread_local +#endif + +// Helper macros for nested macro expansion +#define RCUTILS_EXPAND(x) x +#define RCUTILS_STRINGIFY_IMPL(x) #x +#define RCUTILS_STRINGIFY(x) RCUTILS_STRINGIFY_IMPL(x) + +/// A macro to mark an argument or variable as unused. +#define RCUTILS_UNUSED(x) (void)(x) + +#define RCUTILS_JOIN_IMPL(arg1, arg2) arg1 ## arg2 +#define RCUTILS_JOIN(arg1, arg2) RCUTILS_JOIN_IMPL(arg1, arg2) +/// @endcond + +#if defined _WIN32 || defined __CYGWIN__ +/// Macro to annotate printf-like functions on Linux. Disabled on Windows. +#define RCUTILS_ATTRIBUTE_PRINTF_FORMAT(format_string_index, first_to_check_index) +#else +/// Macro to annotate printf-like functions which are relying on a format string and a variable +/// number of arguments. +/** + * This enables GCC to emit warnings if dangerous patterns are detected. + * See GCC documentation for details: + * https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html + * + * For the following function: + * ``` + * int snprintf(char *str, size_t size, const char *format, ...); + * ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ + * ARG 1 ARG 2 ARG 3 ARG 4 + * format string first optional argument + * ``` + * format_string_index value would be 3, first_to_check_index value would be 4. + * + * IMPORTANT: the first argument has an index of ONE (not zero!). + * + * \param[in] format_string_index index of the format string passed to the function + * \param[in] first_to_check_index index of the first "optional argument" + */ +#define RCUTILS_ATTRIBUTE_PRINTF_FORMAT(format_string_index, first_to_check_index) \ + __attribute__ ((format(printf, format_string_index, first_to_check_index))) +#endif // !defined _WIN32 || defined __CYGWIN__ + +/// Macro to declare deprecation in the platform appropriate manner. +#ifndef _WIN32 +# define RCUTILS_DEPRECATED __attribute__((deprecated)) +#else +# define RCUTILS_DEPRECATED __declspec(deprecated) +#endif + +/// Macro to declare deprecation in the platform appropriate manner with a message. +#ifndef _WIN32 +# define RCUTILS_DEPRECATED_WITH_MSG(msg) __attribute__((deprecated(msg))) +#else +# define RCUTILS_DEPRECATED_WITH_MSG(msg) __declspec(deprecated(msg)) +#endif + +// Provide the compiler with branch prediction information +#ifndef _WIN32 +/** + * \def RCUTILS_LIKELY + * Instruct the compiler to optimize for the case where the argument equals 1. + */ +# define RCUTILS_LIKELY(x) __builtin_expect((x), 1) +/** + * \def RCUTILS_UNLIKELY + * Instruct the compiler to optimize for the case where the argument equals 0. + */ +# define RCUTILS_UNLIKELY(x) __builtin_expect((x), 0) +#else +/** + * \def RCUTILS_LIKELY + * No op since Windows doesn't support providing branch prediction information. + */ +# define RCUTILS_LIKELY(x) (x) +/** + * \def RCUTILS_UNLIKELY + * No op since Windows doesn't support providing branch prediction information. + */ +# define RCUTILS_UNLIKELY(x) (x) +#endif // _WIN32 + +// Provide the compiler a hint about an argument being nonnull when possible. +#ifndef _WIN32 +# define RCUTILS_NONNULL __attribute__((__nonnull__)) +# define RCUTILS_NONNULL_ARGS(...) __attribute__((__nonnull__(__VA_ARGS__))) +# define RCUTILS_RETURNS_NONNULL __attribute__((__returns_nonnull__)) +# define RCUTILS_HAS_NONNULL 1 +#else +# define RCUTILS_NONNULL +# define RCUTILS_NONNULL_ARGS(...) +# define RCUTILS_RETURNS_NONNULL +# define RCUTILS_HAS_NONNULL 0 +#endif // _WIN32 + +#if defined RCUTILS_ENABLE_FAULT_INJECTION +#include "rcutils/testing/fault_injection.h" + +/** + * \def RCUTILS_CAN_RETURN_WITH_ERROR_OF + * Indicating macro that the function intends to return possible error value. + * + * Put this macro as the first line in the function. For example: + * + * int rcutils_function_that_can_fail() { + * RCUTILS_CAN_RETURN_WITH_ERROR_OF(RCUTILS_RET_INVALID_ARGUMENT); + * ... // rest of function + * } + * + * For now, this macro just simply calls `RCUTILS_FAULT_INJECTION_MAYBE_RETURN_ERROR` if fault + * injection is enabled. However, for source code, the macro annotation + * `RCUTILS_CAN_RETURN_WITH_ERROR_OF` helps clarify that a function may return a value signifying + * an error and what those are. + * + * In general, you should only include a return value that originates in the function you're + * annotating instead of one that is merely passed on from a called function already annotated with + *`RCUTILS_CAN_RETURN_WITH_ERROR_OF`. If you are passing on return values from a called function, + * but that function is not annotated with `RCUTILS_CAN_RETURN_WITH_ERROR_OF`, then you might + * consider annotating that function first. If for some reason that is not desired or possible, + * then annotate your function as if the return values you are passing on originated from your + * function. + * + * If the function can return multiple return values indicating separate failure types, each one + * should go on a separate line. + * + * If in your function, there are expected effects on output parameters that occur during + * the failure case, then it will introduce a discrepancy between fault injection testing and + * production operation. This is because the fault injection will cause the function to return + * where this macro is used, not at the location the error values are typically returned. To help + * protect against this scenario you may consider adding unit tests that check your function does + * not modify output parameters when it actually returns a failing error code if it's possible for + * your code. + * + * If your function is void, this macro can be used without parameters. However, for the above + * reasoning, there should be no side effects on output parameters for all possible early returns. + * + * \param error_return_value the value returned as a result of an error. It does not need to be + * a rcutils_ret_t type. It could also be NULL, -1, a string error message, etc + */ +# define RCUTILS_CAN_RETURN_WITH_ERROR_OF(error_return_value) \ + RCUTILS_FAULT_INJECTION_MAYBE_RETURN_ERROR(error_return_value); + +/** + * \def RCUTILS_CAN_FAIL_WITH + * Indicating macro similar to RCUTILS_CAN_RETURN_WITH_ERROR_OF but for use with more complicated + * statements. + * + * The `failure_code` will be executed inside a scoped if block, so any variables declared within + * will not be available outside of the macro. + * + * One example where you might need this version, is if a side-effect may occur within a function. + * For example, in snprintf, rcutils_snprintf needs to set both errno and return -1 on failure. + * This macro is used to capture both effects. + * + * \param failure_code Code that is representative of the failure case in this function. + */ +# define RCUTILS_CAN_FAIL_WITH(failure_code) \ + RCUTILS_FAULT_INJECTION_MAYBE_FAIL(failure_code); + +#else +# define RCUTILS_CAN_RETURN_WITH_ERROR_OF(error_return_value) +# define RCUTILS_CAN_FAIL_WITH(failure_code) +#endif // defined RCUTILS_ENABLE_FAULT_INJECTION + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__MACROS_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/process.h b/ports/espressif/microros-ext/include/rcutils/rcutils/process.h new file mode 100644 index 0000000000000..e1bf6e07e3592 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/process.h @@ -0,0 +1,61 @@ +// Copyright 2019 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__PROCESS_H_ +#define RCUTILS__PROCESS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "rcutils/allocator.h" +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +/// Retrieve the current process ID. +/** + * This function returns the current process ID, and is always successful. + * + * This function is thread-safe. + * + * \return The current process ID. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int rcutils_get_pid(void); + +/// Retrieve the current executable name. +/** + * This function portably retrieves the current program name and returns + * a copy of it. + * It is up to the caller to free the memory. + * + * This function is thread-safe. + * + * \param[in] allocator the allocator to use + * \return The program name on success, or + * \return NULL on failure. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +char * rcutils_get_executable_name(rcutils_allocator_t allocator); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__PROCESS_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/qsort.h b/ports/espressif/microros-ext/include/rcutils/rcutils/qsort.h new file mode 100644 index 0000000000000..9af8904a1df17 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/qsort.h @@ -0,0 +1,53 @@ +// Copyright 2020 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__QSORT_H_ +#define RCUTILS__QSORT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "rcutils/macros.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/visibility_control.h" + +/// Interface to qsort with rcutils-style argument validation. +/** + * This function changes the order of the elements in the array so that they + * are in ascending order according to the given comparison function. + * + * This function is thread-safe. + * + * \param[inout] ptr object whose elements should be sorted. + * \param[in] count number of elements present in the object. + * \param[in] size size of each element, in bytes. + * \param[in] comp function used to compare two elements. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_qsort(void * ptr, size_t count, size_t size, int (* comp)(const void *, const void *)); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__QSORT_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/repl_str.h b/ports/espressif/microros-ext/include/rcutils/rcutils/repl_str.h new file mode 100644 index 0000000000000..a080b7d16eb42 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/repl_str.h @@ -0,0 +1,142 @@ +// Copyright 2015-2016 Laird Shaw +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This function is based on the repl_str() from (on 2017-04-25): +// +// http://creativeandcritical.net/str-replace-c +// +// It is released under the Public Domain, and has been placed additionally +// under the Apache 2.0 license by me (William Woodall). +// +// It has been modified to take a custom allocator and to fit some of our +// style standards. + +/// \file + +#ifndef RCUTILS__REPL_STR_H_ +#define RCUTILS__REPL_STR_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "rcutils/allocator.h" +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +/// Replace all the occurrences of one string for another in the given string. +/** + * Documentation copied from the source with minor tweaks: + * + * ---- + * + * **Description:** + * + * Replaces in the string `str` all the occurrences of the source string `from` + * with the destination string `to`. + * The lengths of the strings `from` and `to` may differ. + * The string `to` may be of any length, but the string `from` must be of + * non-zero length - the penalty for providing an empty string for the `from` + * parameter is an infinite loop. + * In addition, none of the three parameters may be NULL. + * + * **Returns:** + * + * The post-replacement string, or NULL if memory for the new string could not + * be allocated. + * Does not modify the original string. + * The memory for the returned post-replacement string may be deallocated with + * given allocator's deallocate function when it is no longer required. + * + * **Performance:** + * + * In case you are curious enough to want to compare this implementation with + * alternative implementations, you are welcome to compile and run the code in + * the benchmarking file, + * [replacebench.c](http://creativeandcritical.net/downloads/replacebench.c). + * In that file, the above function is included as `replace_cache`, and the + * functions originally published on this page as `replace_str2` and + * `replace_str` are included as `replace_opt2` and `replace_opt`. + * Code/functions are included from the comp.lang.c thread, + * [how to replace a substring in a string using C?] + * (https://groups.google.com/forum/#!msg/comp.lang.c/sgydS2lDgxc/v2MRxRrAQncJ), + * from answers to the stackoverflow question, + * [What is the function to replace string in C?] + * (http://stackoverflow.com/questions/779875/what-is-the-function-to-replace-string-in-c), + * and also from private correspondence. + * See the comments top of file for instructions on compiling and running it. + * + * In most scenarios, the fastest replacement function, by around 10-20%, + * is Albert Chan's `replace_smart`, followed by the above function: + * `repl_str` aka `replace_cache`. + * There are some scenarios, though, where `repl_str` is faster than + * `replace_smart`, sometimes by up to 200%. + * These scenarios involve long strings with few matches. + * Why, if Albert's function is generally slightly faster than the above + * `repl_str` function, is it not the focus of this page? + * Because it generally uses much more memory than `repl_str`. + * + * The third fastest implementation is typically `replace_str2` aka + * `replace_opt2`. + * For longer strings in the case in which the lengths of the "from" and "to" + * strings differ, `repl_str` aka `replace_cache` beats it by margins of up to + * about 80%. + * For smaller strings, and in the case where the lengths of the "from" and + * "to" strings are identical, `replace_str2` aka `replace_opt2` is faster, + * by a maximum margin of about 35%, sometimes in those scenarios beating + * `replace_smart` too. + * Some of the other functions are also faster for smaller strings. + * The even-match point between `replace_str2` and `repl_str` + * (assuming "from" and "to" string lengths differ) depends on how far into + * the string the final match occurs, how many matches there are, and the + * comparative lengths of the old and "to" strings, but roughly it occurs for + * strings of 700-800 bytes in length. + * + * This analysis is based on compiling with [GCC](https://gcc.gnu.org/) and + * testing on a 64-bit Intel platform running Linux, however brief testing with + * [Microsoft Visual C++ 2010 Express] + * (https://www.visualstudio.com/en-US/products/visual-studio-express-vs) + * (scroll down to "Additional information" at that link) on Windows 7 seemed + * to produce similar results. + * + * ---- + * + * Here continues additional documentation added by OSRF. + * + * The allocator must not be NULL. + * + * \param[in] str string to have substrings found and replaced within + * \param[in] from string to match for replacement + * \param[in] to string to replace matched strings with + * \param[in] allocator structure defining functions to be used for allocation + * \return duplicated `str` with all matches of `from` replaced with `to`. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +char * +rcutils_repl_str( + const char * str, + const char * from, + const char * to, + const rcutils_allocator_t * allocator); + +// Implementation copied from above mentioned source continues in repl_str.c. + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__REPL_STR_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/security_directory.h b/ports/espressif/microros-ext/include/rcutils/rcutils/security_directory.h new file mode 100644 index 0000000000000..9d2c68067f627 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/security_directory.h @@ -0,0 +1,67 @@ +// Copyright 2018 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef RCUTILS__SECURITY_DIRECTORY_H_ +#define RCUTILS__SECURITY_DIRECTORY_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "rcutils/allocator.h" +#include "rcutils/visibility_control.h" + +#ifndef ROS_SECURITY_NODE_DIRECTORY_VAR_NAME + #define ROS_SECURITY_NODE_DIRECTORY_VAR_NAME "ROS_SECURITY_NODE_DIRECTORY" +#endif + +#ifndef ROS_SECURITY_ROOT_DIRECTORY_VAR_NAME + #define ROS_SECURITY_ROOT_DIRECTORY_VAR_NAME "ROS_SECURITY_ROOT_DIRECTORY" +#endif + +#ifndef ROS_SECURITY_LOOKUP_TYPE_VAR_NAME + #define ROS_SECURITY_LOOKUP_TYPE_VAR_NAME "ROS_SECURITY_LOOKUP_TYPE" +#endif + +/// Return the secure root directory associated with a node given its validated name and namespace. +/** + * E.g. for a node named "c" in namespace "/a/b", the secure root path will be + * "a/b/c", where the delimiter "/" is native for target file system (e.g. "\\" for _WIN32). + * If no exact match is found for the node name, a best match would be used instead + * (by performing longest-prefix matching). + * + * However, this expansion can be overridden by setting the secure node directory environment + * variable, allowing users to explicitly specify the exact secure root directory to be utilized. + * Such an override is useful for where the FQN of a node is non-deterministic before runtime, + * or when testing and using additional tools that may not otherwise be easily provisioned. + * + * \param[in] node_name validated node name (a single token) + * \param[in] node_namespace validated, absolute namespace (starting with "/") + * \param[in] allocator the allocator to use for allocation + * \returns machine specific (absolute) node secure root path or NULL on failure + * returned pointer must be deallocated by the caller of this function + */ +RCUTILS_PUBLIC +char * rcutils_get_secure_root( + const char * node_name, + const char * node_namespace, + const rcutils_allocator_t * allocator +); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__SECURITY_DIRECTORY_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/sha256.h b/ports/espressif/microros-ext/include/rcutils/rcutils/sha256.h new file mode 100644 index 0000000000000..546622a2d8141 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/sha256.h @@ -0,0 +1,100 @@ +// Copyright 2023 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** \file sha256.h + * \brief SHA256 implementation + * + * This contains an implementation of the SHA256 algorithm + * It was originally copied from Brad Conte + * https://github.com/B-Con/crypto-algorithms/blob/master/sha256.c + * and modified to meet ros2 code formatting and compiler warning requirements. + * Algorithm specification can be found here: + * http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf + * This implementation uses little endian byte order. + * This implementation makes no security guarantees, its use case if for + * non-sensitive comparison of message digests. + */ + +#ifndef RCUTILS__SHA256_H_ +#define RCUTILS__SHA256_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "rcutils/visibility_control.h" + +#define RCUTILS_SHA256_BLOCK_SIZE 32 + +typedef struct RCUTILS_PUBLIC_TYPE rcutils_sha256_ctx_s +{ + uint8_t data[64]; + size_t datalen; + uint64_t bitlen; + uint32_t state[8]; +} rcutils_sha256_ctx_t; + +/// Initialize the sha256 algorithm context with starting state. +/** + * Call this on any new context before starting to input data. + * + * \param[inout] ctx + * \return void + */ +RCUTILS_PUBLIC +void rcutils_sha256_init(rcutils_sha256_ctx_t * ctx); + +/// Add data to the sha256 algorithm +/** + * This may be called repeatedly on an initialized context. + * + * \param[inout] ctx Initialized sha256 context struct + * \param[in] data Data to add to the total message being hashed + * \param[in] data_len Size of the input data. + * \return void + */ +RCUTILS_PUBLIC +void rcutils_sha256_update(rcutils_sha256_ctx_t * ctx, const uint8_t * data, size_t data_len); + +/// Finalize and output sha256 hash for all data added. +/** + * Call only once on a context that has been initialized, and optionally updated with data. + * + * \param[inout] ctx Initialized sha256 context struct + * \param[out] output_hash Calculated sha256 message digest to be filled + * \return void + */ +#ifdef DOXYGEN_ONLY +// One of the tools used by rosdoc2 misunderstands uint8_t[] as a uint8_t, +// so make it a pointer for documentation purposes. +RCUTILS_PUBLIC +void rcutils_sha256_final( + rcutils_sha256_ctx_t * ctx, + uint8_t * output_hash); +#else +RCUTILS_PUBLIC +void rcutils_sha256_final( + rcutils_sha256_ctx_t * ctx, + uint8_t output_hash[RCUTILS_SHA256_BLOCK_SIZE]); +#endif + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__SHA256_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/shared_library.h b/ports/espressif/microros-ext/include/rcutils/rcutils/shared_library.h new file mode 100644 index 0000000000000..996e0855d0acd --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/shared_library.h @@ -0,0 +1,166 @@ +// Copyright 2020 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__SHARED_LIBRARY_H_ +#define RCUTILS__SHARED_LIBRARY_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/allocator.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +/// Handle to a loaded shared library. +typedef struct RCUTILS_PUBLIC_TYPE rcutils_shared_library_s +{ + /// The platform-specific pointer to the shared library + void * lib_pointer; + /// The path of the shared_library + char * library_path; + /// allocator + rcutils_allocator_t allocator; +} rcutils_shared_library_t; + +/// Return an empty shared library struct. +/** + * This function returns an empty and zero initialized shared library struct. + * + * Example: + * + * ```c + * // Do not do this: + * // rcutils_shared_library_t foo; + * // rcutils_ret_t ret = rcutils_load_shared_library( + * // &foo, + * // "library_name", + * // rcutils_get_default_allocator()); // undefined behavior! + * // or + * // rcutils_ret_t ret = rcutils_unload_shared_library(&foo); // undefined behavior! + * + * // Do this instead: + * rcutils_shared_library_t bar = rcutils_get_zero_initialized_shared_library(); + * rcutils_load_shared_library(&bar, "library_name", rcutils_get_default_allocator()); // ok + * void * symbol = rcutils_get_symbol(&bar, "bazinga"); // ok + * bool is_bazinga_symbol = rcutils_has_symbol(&bar, "bazinga"); // ok + * rcutils_ret_t ret = rcutils_unload_shared_library(&bar); // ok + * if (ret != RCUTILS_RET_ERROR) { + * // error handling + * } + * ``` + * */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_shared_library_t +rcutils_get_zero_initialized_shared_library(void); + +/// Return shared library pointer. +/** + * \param[inout] lib struct with the shared library pointer and shared library path name + * \param[in] library_path string with the path of the library + * \param[in] allocator to be used to allocate and deallocate memory + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_load_shared_library( + rcutils_shared_library_t * lib, + const char * library_path, + rcutils_allocator_t allocator); + +/// Return shared library symbol pointer. +/** + * \param[in] lib struct with the shared library pointer and shared library path name + * \param[in] symbol_name name of the symbol inside the shared library + * \return shared library symbol pointer, or + * \return `NULL` if the symbol doesn't exist. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +void * +rcutils_get_symbol(const rcutils_shared_library_t * lib, const char * symbol_name); + +/// Return true if the shared library contains a specific symbol name otherwise returns false. +/** + * \param[in] lib struct with the shared library pointer and shared library path name + * \param[in] symbol_name name of the symbol inside the shared library + * \return `true` if the symbol exists, or + * \return `false` otherwise. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +bool +rcutils_has_symbol(const rcutils_shared_library_t * lib, const char * symbol_name); + +/// Unload the shared library. +/** + * \param[in] lib rcutils_shared_library_t to be finalized + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_unload_shared_library(rcutils_shared_library_t * lib); + +/// Check if the library is loaded. +/** + * This function only determines if "unload" has been called on the current shared library handle. + * It could very well be that a second shared library handle is still open and therefore the library + * being loaded. + * \param[in] lib rcutils_shared_library_t to check + * \return `true` if library is loaded, or + * \return `false` otherwise. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +bool +rcutils_is_shared_library_loaded(rcutils_shared_library_t * lib); + +/// Get the library name for the compiled platform +/** + * \param[in] library_name library base name (without prefix and extension) + * \param[out] library_name_platform library name for the compiled platform + * \param[in] buffer_size size of library_name_platform buffer + * \param[in] debug if true the library will return a debug library name, otherwise + * it returns a normal library path + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_get_platform_library_name( + const char * library_name, + char * library_name_platform, + unsigned int buffer_size, + bool debug); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__SHARED_LIBRARY_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/snprintf.h b/ports/espressif/microros-ext/include/rcutils/rcutils/snprintf.h new file mode 100644 index 0000000000000..53a102017b1fc --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/snprintf.h @@ -0,0 +1,75 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__SNPRINTF_H_ +#define RCUTILS__SNPRINTF_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +/// Format a string. +/** + * This function just wraps snprintf() as defined in C11 in a portable way. + * + * On Windows this defaults to the _TRUNCATE behavior of _snprintf_s(), but + * only returns -1 if errno is not 0. + * Unlike _snprintf_s() which returns -1 when truncation occurs, this function + * behaves like snprintf() (http://en.cppreference.com/w/cpp/io/c/fprintf): + * + * > Number of characters written if successful or negative value if an error + * > occurred. + * > If the resulting string gets truncated due to buf_size limit, function + * > returns the total number of characters (not including the terminating + * > null-byte) which would have been written, if the limit was not imposed. + * + * If `NULL` and `0` are given for buffer and buffer_size respectively, the + * size of the string that would be generated is returned. + * Either snprintf() or _vscprintf() is used to calculate this value. + * + * \see snprintf() + * \see _snprintf_s() + * \return the number of bytes that would have been written given enough space, or + * \return a negative number if there is an error, but unlike _snprintf_s(), + * -1 is not returned if there is truncation. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int +rcutils_snprintf(char * buffer, size_t buffer_size, const char * format, ...) +/// @cond Doxygen_Suppress +RCUTILS_ATTRIBUTE_PRINTF_FORMAT(3, 4) +/// @endcond +; + +/// Format a string with va_list for arguments, see rcutils_snprintf(). +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int +rcutils_vsnprintf(char * buffer, size_t buffer_size, const char * format, va_list args); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__SNPRINTF_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/split.h b/ports/espressif/microros-ext/include/rcutils/rcutils/split.h new file mode 100644 index 0000000000000..ec62f772c25d8 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/split.h @@ -0,0 +1,69 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__SPLIT_H_ +#define RCUTILS__SPLIT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "rcutils/allocator.h" +#include "rcutils/types.h" +#include "rcutils/visibility_control.h" + +/// Split a given string with the specified delimiter +/** + * \param[in] str string to split + * \param[in] delimiter on where to split + * \param[in] allocator for allocating new memory for the output array + * \param[out] string_array with the split tokens + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs + */ +RCUTILS_PUBLIC +rcutils_ret_t +rcutils_split( + const char * str, + char delimiter, + rcutils_allocator_t allocator, + rcutils_string_array_t * string_array); + +/// Split a given string on the last occurrence of the specified delimiter +/** + * \param[in] str string to split + * \param[in] delimiter on where to split + * \param[in] allocator for allocating new memory for the output array + * \param[out] string_array with the split tokens + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs + */ +RCUTILS_PUBLIC +rcutils_ret_t +rcutils_split_last( + const char * str, + char delimiter, + rcutils_allocator_t allocator, + rcutils_string_array_t * string_array); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__SPLIT_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper.h b/ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper.h new file mode 100644 index 0000000000000..2c39e71da9273 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper.h @@ -0,0 +1,180 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef RCUTILS__STDATOMIC_HELPER_H_ +#define RCUTILS__STDATOMIC_HELPER_H_ + +#include +#include +#include + +// disable unused function warnings within this file, due to inline in a header +#if !defined(_WIN32) +# pragma GCC diagnostic push +# if defined(__clang__) +# pragma clang diagnostic ignored "-Wunused-function" +# endif +#endif + +#if !defined(_WIN32) + +// The my__has_feature avoids a preprocessor error when you check for it and +// use it on the same line below. +#if defined(__has_feature) +#define my__has_feature __has_feature +#else +#define my__has_feature(x) 0 +#endif + +#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ <= 4 && __GNUC_MINOR__ <= 9 +// If GCC and below GCC-4.9, use the compatability header. +# include "stdatomic_helper/gcc/stdatomic.h" +#else // !defined(__clang__) && defined(__GNUC__) && __GNUC__ <= 4 && __GNUC_MINOR__ <= 9 +# if __cplusplus +// NOLINTNEXTLINE +# error "cannot be used with C++ due to a conflict with the C++ header, see: p0943r1" +// See: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0943r1.html" +# else +# if defined(__has_feature) && !my__has_feature(c_atomic) +// If Clang and no c_atomics (true for some older versions), use the compatability header. +# include "stdatomic_helper/gcc/stdatomic.h" +# else +# include +# endif +# endif +#endif // !defined(__clang__) && defined(__GNUC__) && __GNUC__ <= 4 && __GNUC_MINOR__ <= 9 + +#define rcutils_atomic_load(object, out) (out) = atomic_load(object) + +#define rcutils_atomic_compare_exchange_strong(object, out, expected, desired) \ + (out) = atomic_compare_exchange_strong(object, expected, desired) + +#define rcutils_atomic_exchange(object, out, desired) (out) = atomic_exchange(object, desired) + +#define rcutils_atomic_store(object, desired) atomic_store(object, desired) + +#define rcutils_atomic_fetch_add(object, out, arg) (out) = atomic_fetch_add(object, arg) + +#else // !defined(_WIN32) + +#include "./stdatomic_helper/win32/stdatomic.h" + +#define rcutils_atomic_load(object, out) rcutils_win32_atomic_load(object, out) + +#define rcutils_atomic_compare_exchange_strong(object, out, expected, desired) \ + rcutils_win32_atomic_compare_exchange_strong(object, out, expected, desired) + +#define rcutils_atomic_exchange(object, out, desired) \ + rcutils_win32_atomic_exchange(object, out, desired) + +#define rcutils_atomic_store(object, desired) rcutils_win32_atomic_store(object, desired) + +#define rcutils_atomic_fetch_add(object, out, arg) rcutils_win32_atomic_fetch_add(object, out, arg) + +#endif // !defined(_WIN32) + +static inline bool +rcutils_atomic_load_bool(atomic_bool * a_bool) +{ + bool result = false; + rcutils_atomic_load(a_bool, result); + return result; +} + +static inline int64_t +rcutils_atomic_load_int64_t(atomic_int_least64_t * a_int64_t) +{ + int64_t result = 0; + rcutils_atomic_load(a_int64_t, result); + return result; +} + +static inline uint64_t +rcutils_atomic_load_uint64_t(atomic_uint_least64_t * a_uint64_t) +{ + uint64_t result = 0; + rcutils_atomic_load(a_uint64_t, result); + return result; +} + +static inline uintptr_t +rcutils_atomic_load_uintptr_t(atomic_uintptr_t * a_uintptr_t) +{ + uintptr_t result = 0; + rcutils_atomic_load(a_uintptr_t, result); + return result; +} + +static inline bool +rcutils_atomic_compare_exchange_strong_uint_least64_t( + atomic_uint_least64_t * a_uint_least64_t, uint64_t * expected, uint64_t desired) +{ + bool result; +#if defined(__clang__) +# pragma clang diagnostic push + // we know it's a gnu feature, but clang supports it, so suppress pedantic warning +# pragma clang diagnostic ignored "-Wgnu-statement-expression" +#endif + rcutils_atomic_compare_exchange_strong(a_uint_least64_t, result, expected, desired); +#if defined(__clang__) +# pragma clang diagnostic pop +#endif + return result; +} + +static inline bool +rcutils_atomic_exchange_bool(atomic_bool * a_bool, bool desired) +{ + bool result; + rcutils_atomic_exchange(a_bool, result, desired); + return result; +} + +static inline int64_t +rcutils_atomic_exchange_int64_t(atomic_int_least64_t * a_int64_t, int64_t desired) +{ + int64_t result; + rcutils_atomic_exchange(a_int64_t, result, desired); + return result; +} + +static inline uint64_t +rcutils_atomic_exchange_uint64_t(atomic_uint_least64_t * a_uint64_t, uint64_t desired) +{ + uint64_t result; + rcutils_atomic_exchange(a_uint64_t, result, desired); + return result; +} + +static inline uintptr_t +rcutils_atomic_exchange_uintptr_t(atomic_uintptr_t * a_uintptr_t, uintptr_t desired) +{ + uintptr_t result; + rcutils_atomic_exchange(a_uintptr_t, result, desired); + return result; +} + +static inline uint64_t +rcutils_atomic_fetch_add_uint64_t(atomic_uint_least64_t * a_uint64_t, uint64_t arg) +{ + uint64_t result; + rcutils_atomic_fetch_add(a_uint64_t, result, arg); + return result; +} + +#if !defined(_WIN32) +# pragma GCC diagnostic pop +#endif + +#endif // RCUTILS__STDATOMIC_HELPER_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper/gcc/stdatomic.h b/ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper/gcc/stdatomic.h new file mode 100644 index 0000000000000..e853dec493775 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper/gcc/stdatomic.h @@ -0,0 +1,400 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* This file was taken from: + * https://gist.github.com/nhatminhle/5181506 + * It is a modification of the FreeBSD stdatomic header with some modifications + * so that it will work with gcc 4.7+ and Clang 3.1+. + * The original FreeBSD header can be found here: + * https://github.com/freebsd/freebsd/blob/release/10.2.0/sys/sys/stdatomic.h + */ + +// *INDENT-OFF* (disable uncrustify) + +/**** Start included file. ****/ + +/* + * An implementation of C11 stdatomic.h directly borrowed from FreeBSD + * (original copyright follows), with minor modifications for + * portability to other systems. Works for recent Clang (that + * implement the feature c_atomic) and GCC 4.7+; includes + * compatibility for GCC below 4.7 but I wouldn't recommend it. + * + * Caveats and limitations: + * - Only the ``_Atomic parentheses'' notation is implemented, while + * the ``_Atomic space'' one is not. + * - _Atomic types must be typedef'ed, or programs using them will + * not type check correctly (incompatible anonymous structure + * types). + * - Non-scalar _Atomic types would require runtime support for + * runtime locking, which, as far as I know, is not currently + * available on any system. + */ + +/*- + * Copyright (c) 2011 Ed Schouten + * David Chisnall + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD: src/include/stdatomic.h,v 1.10.2.2 2012/05/30 19:21:54 theraven Exp $ + */ + +#ifndef _STDATOMIC_H_ // NOLINT +#define _STDATOMIC_H_ + +#ifdef __cplusplus +// This will suppress warnings about _Bool not being defined. +typedef bool _Bool; +#endif + +#include +#include + +#if !defined(__has_feature) +#define __has_feature(x) 0 +#endif +#if !defined(__has_builtin) +#define __has_builtin(x) 0 +#endif +#if !defined(__GNUC_PREREQ__) +#if defined(__GNUC__) && defined(__GNUC_MINOR__) +#define __GNUC_PREREQ__(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +#define __GNUC_PREREQ__(maj, min) 0 +#endif +#endif + +#if !defined(__CLANG_ATOMICS) && !defined(__GNUC_ATOMICS) +#if __has_feature(c_atomic) +#define __CLANG_ATOMICS +#elif __GNUC_PREREQ__(4, 7) +#define __GNUC_ATOMICS +#elif !defined(__GNUC__) +#error "stdatomic.h does not support your compiler" +#endif +#endif + +#if !defined(__CLANG_ATOMICS) +#define _Atomic(T) struct { volatile __typeof__(T) __val; } +#endif + +/* + * 7.17.2 Initialization. + */ + +#if defined(__CLANG_ATOMICS) +#define ATOMIC_VAR_INIT(value) (value) +#define atomic_init(obj, value) __c11_atomic_init(obj, value) +#else +#define ATOMIC_VAR_INIT(value) { .__val = (value) } +#define atomic_init(obj, value) do { \ + (obj)->__val = (value); \ +} while (0) +#endif + +/* + * Clang and recent GCC both provide predefined macros for the memory + * orderings. If we are using a compiler that doesn't define them, use the + * clang values - these will be ignored in the fallback path. + */ + +#ifndef __ATOMIC_RELAXED +#define __ATOMIC_RELAXED 0 +#endif +#ifndef __ATOMIC_CONSUME +#define __ATOMIC_CONSUME 1 +#endif +#ifndef __ATOMIC_ACQUIRE +#define __ATOMIC_ACQUIRE 2 +#endif +#ifndef __ATOMIC_RELEASE +#define __ATOMIC_RELEASE 3 +#endif +#ifndef __ATOMIC_ACQ_REL +#define __ATOMIC_ACQ_REL 4 +#endif +#ifndef __ATOMIC_SEQ_CST +#define __ATOMIC_SEQ_CST 5 +#endif + +/* + * 7.17.3 Order and consistency. + * + * The memory_order_* constants that denote the barrier behaviour of the + * atomic operations. + */ + +enum memory_order { + memory_order_relaxed = __ATOMIC_RELAXED, + memory_order_consume = __ATOMIC_CONSUME, + memory_order_acquire = __ATOMIC_ACQUIRE, + memory_order_release = __ATOMIC_RELEASE, + memory_order_acq_rel = __ATOMIC_ACQ_REL, + memory_order_seq_cst = __ATOMIC_SEQ_CST +}; + +typedef enum memory_order memory_order; + +/* + * 7.17.4 Fences. + */ + +#ifdef __CLANG_ATOMICS +#define atomic_thread_fence(order) __c11_atomic_thread_fence(order) +#define atomic_signal_fence(order) __c11_atomic_signal_fence(order) +#elif defined(__GNUC_ATOMICS) +#define atomic_thread_fence(order) __atomic_thread_fence(order) +#define atomic_signal_fence(order) __atomic_signal_fence(order) +#else +#define atomic_thread_fence(order) __sync_synchronize() +#define atomic_signal_fence(order) __asm volatile ("" : : : "memory") +#endif + +/* + * 7.17.5 Lock-free property. + */ + +#if defined(__CLANG_ATOMICS) +#define atomic_is_lock_free(obj) \ + __c11_atomic_is_lock_free(sizeof(obj)) +#elif defined(__GNUC_ATOMICS) +#define atomic_is_lock_free(obj) \ + __atomic_is_lock_free(sizeof((obj)->__val)) +#else +#define atomic_is_lock_free(obj) \ + (sizeof((obj)->__val) <= sizeof(void *)) +#endif + +/* + * 7.17.6 Atomic integer types. + */ + +typedef _Atomic(_Bool) atomic_bool; +typedef _Atomic(char) atomic_char; +typedef _Atomic(signed char) atomic_schar; +typedef _Atomic(unsigned char) atomic_uchar; +typedef _Atomic(short) atomic_short; // NOLINT +typedef _Atomic(unsigned short) atomic_ushort; // NOLINT +typedef _Atomic(int) atomic_int; +typedef _Atomic(unsigned int) atomic_uint; +typedef _Atomic(long) atomic_long; // NOLINT +typedef _Atomic(unsigned long) atomic_ulong; // NOLINT +typedef _Atomic(long long) atomic_llong; // NOLINT +typedef _Atomic(unsigned long long) atomic_ullong; // NOLINT +#if 0 +typedef _Atomic(char16_t) atomic_char16_t; +typedef _Atomic(char32_t) atomic_char32_t; +#endif +typedef _Atomic(wchar_t) atomic_wchar_t; +typedef _Atomic(int_least8_t) atomic_int_least8_t; +typedef _Atomic(uint_least8_t) atomic_uint_least8_t; +typedef _Atomic(int_least16_t) atomic_int_least16_t; +typedef _Atomic(uint_least16_t) atomic_uint_least16_t; +typedef _Atomic(int_least32_t) atomic_int_least32_t; +typedef _Atomic(uint_least32_t) atomic_uint_least32_t; +typedef _Atomic(int_least64_t) atomic_int_least64_t; +typedef _Atomic(uint_least64_t) atomic_uint_least64_t; +typedef _Atomic(int_fast8_t) atomic_int_fast8_t; +typedef _Atomic(uint_fast8_t) atomic_uint_fast8_t; +typedef _Atomic(int_fast16_t) atomic_int_fast16_t; +typedef _Atomic(uint_fast16_t) atomic_uint_fast16_t; +typedef _Atomic(int_fast32_t) atomic_int_fast32_t; +typedef _Atomic(uint_fast32_t) atomic_uint_fast32_t; +typedef _Atomic(int_fast64_t) atomic_int_fast64_t; +typedef _Atomic(uint_fast64_t) atomic_uint_fast64_t; +typedef _Atomic(intptr_t) atomic_intptr_t; +typedef _Atomic(uintptr_t) atomic_uintptr_t; +typedef _Atomic(size_t) atomic_size_t; +typedef _Atomic(ptrdiff_t) atomic_ptrdiff_t; +typedef _Atomic(intmax_t) atomic_intmax_t; +typedef _Atomic(uintmax_t) atomic_uintmax_t; + +/* + * 7.17.7 Operations on atomic types. + */ + +/* + * Compiler-specific operations. + */ + +#if defined(__CLANG_ATOMICS) +#define atomic_compare_exchange_strong_explicit(object, expected, \ + desired, success, failure) \ + __c11_atomic_compare_exchange_strong(object, expected, desired, \ + success, failure) +#define atomic_compare_exchange_weak_explicit(object, expected, \ + desired, success, failure) \ + __c11_atomic_compare_exchange_weak(object, expected, desired, \ + success, failure) +#define atomic_exchange_explicit(object, desired, order) \ + __c11_atomic_exchange(object, desired, order) +#define atomic_fetch_add_explicit(object, operand, order) \ + __c11_atomic_fetch_add(object, operand, order) +#define atomic_fetch_and_explicit(object, operand, order) \ + __c11_atomic_fetch_and(object, operand, order) +#define atomic_fetch_or_explicit(object, operand, order) \ + __c11_atomic_fetch_or(object, operand, order) +#define atomic_fetch_sub_explicit(object, operand, order) \ + __c11_atomic_fetch_sub(object, operand, order) +#define atomic_fetch_xor_explicit(object, operand, order) \ + __c11_atomic_fetch_xor(object, operand, order) +#define atomic_load_explicit(object, order) \ + __c11_atomic_load(object, order) +#define atomic_store_explicit(object, desired, order) \ + __c11_atomic_store(object, desired, order) +#elif defined(__GNUC_ATOMICS) +#define atomic_compare_exchange_strong_explicit(object, expected, \ + desired, success, failure) \ + __atomic_compare_exchange_n(&(object)->__val, expected, \ + desired, 0, success, failure) +#define atomic_compare_exchange_weak_explicit(object, expected, \ + desired, success, failure) \ + __atomic_compare_exchange_n(&(object)->__val, expected, \ + desired, 1, success, failure) +#define atomic_exchange_explicit(object, desired, order) \ + __atomic_exchange_n(&(object)->__val, desired, order) +#define atomic_fetch_add_explicit(object, operand, order) \ + __atomic_fetch_add(&(object)->__val, operand, order) +#define atomic_fetch_and_explicit(object, operand, order) \ + __atomic_fetch_and(&(object)->__val, operand, order) +#define atomic_fetch_or_explicit(object, operand, order) \ + __atomic_fetch_or(&(object)->__val, operand, order) +#define atomic_fetch_sub_explicit(object, operand, order) \ + __atomic_fetch_sub(&(object)->__val, operand, order) +#define atomic_fetch_xor_explicit(object, operand, order) \ + __atomic_fetch_xor(&(object)->__val, operand, order) +#define atomic_load_explicit(object, order) \ + __atomic_load_n(&(object)->__val, order) +#define atomic_store_explicit(object, desired, order) \ + __atomic_store_n(&(object)->__val, desired, order) +#else +#define atomic_compare_exchange_strong_explicit(object, expected, \ + desired, success, failure) ({ \ + __typeof__((object)->__val) __v; \ + _Bool __r; \ + __v = __sync_val_compare_and_swap(&(object)->__val, \ + *(expected), desired); \ + __r = *(expected) == __v; \ + *(expected) = __v; \ + __r; \ +}) + +#define atomic_compare_exchange_weak_explicit(object, expected, \ + desired, success, failure) \ + atomic_compare_exchange_strong_explicit(object, expected, \ + desired, success, failure) +#if __has_builtin(__sync_swap) +/* Clang provides a full-barrier atomic exchange - use it if available. */ +#define atomic_exchange_explicit(object, desired, order) \ + __sync_swap(&(object)->__val, desired) +#else +/* + * __sync_lock_test_and_set() is only an acquire barrier in theory (although in + * practice it is usually a full barrier) so we need an explicit barrier after + * it. + */ +#define atomic_exchange_explicit(object, desired, order) ({ \ + __typeof__((object)->__val) __v; \ + __v = __sync_lock_test_and_set(&(object)->__val, desired); \ + __sync_synchronize(); \ + __v; \ +}) +#endif +#define atomic_fetch_add_explicit(object, operand, order) \ + __sync_fetch_and_add(&(object)->__val, operand) +#define atomic_fetch_and_explicit(object, operand, order) \ + __sync_fetch_and_and(&(object)->__val, operand) +#define atomic_fetch_or_explicit(object, operand, order) \ + __sync_fetch_and_or(&(object)->__val, operand) +#define atomic_fetch_sub_explicit(object, operand, order) \ + __sync_fetch_and_sub(&(object)->__val, operand) +#define atomic_fetch_xor_explicit(object, operand, order) \ + __sync_fetch_and_xor(&(object)->__val, operand) +#define atomic_load_explicit(object, order) \ + __sync_fetch_and_add(&(object)->__val, 0) +#define atomic_store_explicit(object, desired, order) do { \ + __sync_synchronize(); \ + (object)->__val = (desired); \ + __sync_synchronize(); \ +} while (0) +#endif + +/* + * Convenience functions. + */ + +#define atomic_compare_exchange_strong(object, expected, desired) \ + atomic_compare_exchange_strong_explicit(object, expected, \ + desired, memory_order_seq_cst, memory_order_seq_cst) +#define atomic_compare_exchange_weak(object, expected, desired) \ + atomic_compare_exchange_weak_explicit(object, expected, \ + desired, memory_order_seq_cst, memory_order_seq_cst) +#define atomic_exchange(object, desired) \ + atomic_exchange_explicit(object, desired, memory_order_seq_cst) +#define atomic_fetch_add(object, operand) \ + atomic_fetch_add_explicit(object, operand, memory_order_seq_cst) +#define atomic_fetch_and(object, operand) \ + atomic_fetch_and_explicit(object, operand, memory_order_seq_cst) +#define atomic_fetch_or(object, operand) \ + atomic_fetch_or_explicit(object, operand, memory_order_seq_cst) +#define atomic_fetch_sub(object, operand) \ + atomic_fetch_sub_explicit(object, operand, memory_order_seq_cst) +#define atomic_fetch_xor(object, operand) \ + atomic_fetch_xor_explicit(object, operand, memory_order_seq_cst) +#define atomic_load(object) \ + atomic_load_explicit(object, memory_order_seq_cst) +#define atomic_store(object, desired) \ + atomic_store_explicit(object, desired, memory_order_seq_cst) + +/* + * 7.17.8 Atomic flag type and operations. + */ + +typedef atomic_bool atomic_flag; + +#define ATOMIC_FLAG_INIT ATOMIC_VAR_INIT(0) + +#define atomic_flag_clear_explicit(object, order) \ + atomic_store_explicit(object, 0, order) +#define atomic_flag_test_and_set_explicit(object, order) \ + atomic_compare_exchange_strong_explicit(object, 0, 1, order, order) + +#define atomic_flag_clear(object) \ + atomic_flag_clear_explicit(object, memory_order_seq_cst) +#define atomic_flag_test_and_set(object) \ + atomic_flag_test_and_set_explicit(object, memory_order_seq_cst) + +#endif /* !_STDATOMIC_H_ */ // NOLINT diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper/win32/stdatomic.h b/ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper/win32/stdatomic.h new file mode 100644 index 0000000000000..7000fb21be239 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/stdatomic_helper/win32/stdatomic.h @@ -0,0 +1,444 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* + * An implementation of C11 stdatomic.h for Win32, part borrowed from FreeBSD + * (original copyright follows), with major modifications for + * portability to Win32 systems. + * + * Caveats and limitations: + * - Only the ``_Atomic parentheses'' notation is implemented, while + * the ``_Atomic space'' one is not. + * - _Atomic types must be typedef'ed, or programs using them will + * not type check correctly (incompatible anonymous structure + * types). + * - Support is limited to 16, 32, and 64 bit types only. + * - Stripped down to only the functions used in rcutils and dependents like rcl. + */ + +/*- + * Copyright (c) 2011 Ed Schouten + * David Chisnall + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD: src/include/stdatomic.h,v 1.10.2.2 2012/05/30 19:21:54 theraven Exp $ + */ + +#if !defined(_WIN32) +#error "this stdatomic.h does not support your compiler" +#endif // !defined(_WIN32) + +#ifndef RCUTILS__STDATOMIC_HELPER__WIN32__STDATOMIC_H_ +#define RCUTILS__STDATOMIC_HELPER__WIN32__STDATOMIC_H_ + +// When building with MSVC 19.28.29333.0 on Windows 10 (as of 2020-11-11), +// there appears to be a problem with winbase.h (which is included by +// Windows.h). In particular, warnings of the form: +// +// warning C5105: macro expansion producing 'defined' has undefined behavior +// +// See https://developercommunity.visualstudio.com/content/problem/695656/wdk-and-sdk-are-not-compatible-with-experimentalpr.html +// for more information. For now disable that warning when including windows.h + +#pragma warning(push) +#pragma warning(disable : 5105) +#include +#pragma warning(pop) + +#include +#include +#include + +#include + +// In MSVC, correct alignment of each type is already ensured. +#define _Atomic(T) struct { T __val; } + +/* + * 7.17.2 Initialization. + */ + +#define ATOMIC_VAR_INIT(value) {.__val = (value)} +#define atomic_init(obj, value) do { \ + (obj)->__val = (value); \ +} while (0) + +/* + * Clang and recent GCC both provide predefined macros for the memory + * orderings. If we are using a compiler that doesn't define them, use the + * clang values - these will be ignored in the fallback path. + */ + +#ifndef __ATOMIC_RELAXED +#define __ATOMIC_RELAXED 0 +#endif +#ifndef __ATOMIC_CONSUME +#define __ATOMIC_CONSUME 1 +#endif +#ifndef __ATOMIC_ACQUIRE +#define __ATOMIC_ACQUIRE 2 +#endif +#ifndef __ATOMIC_RELEASE +#define __ATOMIC_RELEASE 3 +#endif +#ifndef __ATOMIC_ACQ_REL +#define __ATOMIC_ACQ_REL 4 +#endif +#ifndef __ATOMIC_SEQ_CST +#define __ATOMIC_SEQ_CST 5 +#endif + +/* + * 7.17.3 Order and consistency. + * + * The memory_order_* constants that denote the barrier behaviour of the + * atomic operations. + */ + +enum memory_order +{ + memory_order_relaxed = __ATOMIC_RELAXED, + memory_order_consume = __ATOMIC_CONSUME, + memory_order_acquire = __ATOMIC_ACQUIRE, + memory_order_release = __ATOMIC_RELEASE, + memory_order_acq_rel = __ATOMIC_ACQ_REL, + memory_order_seq_cst = __ATOMIC_SEQ_CST +}; + +typedef enum memory_order memory_order; + +/* + * 7.17.4 Fences. + */ + +#define atomic_thread_fence(order) MemoryBarrier() +#define atomic_signal_fence(order) _ReadWriteBarrier() + +/* + * 7.17.5 Lock-free property. + */ + +#define atomic_is_lock_free(obj) (sizeof((obj)->__val) <= sizeof(void *)) + +/* + * 7.17.6 Atomic integer types. + */ + +typedef _Atomic (_Bool) atomic_bool; +typedef _Atomic (char) atomic_char; +typedef _Atomic (signed char) atomic_schar; +typedef _Atomic (unsigned char) atomic_uchar; +typedef _Atomic (short) atomic_short; // NOLINT +typedef _Atomic (unsigned short) atomic_ushort; // NOLINT +typedef _Atomic (int) atomic_int; +typedef _Atomic (unsigned int) atomic_uint; +typedef _Atomic (long) atomic_long; // NOLINT +typedef _Atomic (unsigned long) atomic_ulong; // NOLINT +typedef _Atomic (long long) atomic_llong; // NOLINT +typedef _Atomic (unsigned long long) atomic_ullong; // NOLINT +#if 0 +typedef _Atomic (char16_t) atomic_char16_t; +typedef _Atomic (char32_t) atomic_char32_t; +typedef _Atomic (wchar_t) atomic_wchar_t; +typedef _Atomic (int_least8_t) atomic_int_least8_t; +typedef _Atomic (uint_least8_t) atomic_uint_least8_t; +#endif +typedef _Atomic (int_least16_t) atomic_int_least16_t; +typedef _Atomic (uint_least16_t) atomic_uint_least16_t; +typedef _Atomic (int_least32_t) atomic_int_least32_t; +typedef _Atomic (uint_least32_t) atomic_uint_least32_t; +typedef _Atomic (int_least64_t) atomic_int_least64_t; +typedef _Atomic (uint_least64_t) atomic_uint_least64_t; +#if 0 +typedef _Atomic (int_fast8_t) atomic_int_fast8_t; +typedef _Atomic (uint_fast8_t) atomic_uint_fast8_t; +#endif +typedef _Atomic (int_fast16_t) atomic_int_fast16_t; +typedef _Atomic (uint_fast16_t) atomic_uint_fast16_t; +typedef _Atomic (int_fast32_t) atomic_int_fast32_t; +typedef _Atomic (uint_fast32_t) atomic_uint_fast32_t; +typedef _Atomic (int_fast64_t) atomic_int_fast64_t; +typedef _Atomic (uint_fast64_t) atomic_uint_fast64_t; +typedef _Atomic (intptr_t) atomic_intptr_t; +typedef _Atomic (uintptr_t) atomic_uintptr_t; +typedef _Atomic (size_t) atomic_size_t; +typedef _Atomic (ptrdiff_t) atomic_ptrdiff_t; +typedef _Atomic (intmax_t) atomic_intmax_t; +typedef _Atomic (uintmax_t) atomic_uintmax_t; + +#ifdef ROS_PACKAGE_NAME + #define _RCUTILS_PACKAGE_NAME ROS_PACKAGE_NAME +#else + #define _RCUTILS_PACKAGE_NAME "" +#endif + +/* + * 7.17.7 Operations on atomic types. (pruned modified for Windows' crappy C compiler) + */ + +// TODO(emersonknapp) Regression in uncrustify breaks formatting for macros with __pragma +// remove indent-off when we have fix for https://github.com/uncrustify/uncrustify/issues/2314 +// *INDENT-OFF* + +#define rcutils_win32_atomic_compare_exchange_strong(object, out, expected, desired) \ + __pragma(warning(push)) \ + __pragma(warning(disable: 4244)) \ + __pragma(warning(disable: 4047)) \ + __pragma(warning(disable: 4024)) \ + do { \ + switch (sizeof(out)) { \ + case sizeof(uint64_t): \ + out = InterlockedCompareExchange64((LONGLONG *) object, desired, *expected); \ + break; \ + case sizeof(uint32_t): \ + out = _InterlockedCompareExchange((LONG *) object, desired, *expected); \ + break; \ + case sizeof(uint16_t): \ + out = _InterlockedCompareExchange16((SHORT *) object, desired, *expected); \ + break; \ + case sizeof(uint8_t): \ + out = _InterlockedCompareExchange8((char *) object, desired, *expected); \ + break; \ + default: \ + RCUTILS_LOG_ERROR_NAMED( \ + _RCUTILS_PACKAGE_NAME, "Unsupported integer type in atomic_compare_exchange_strong"); \ + exit(-1); \ + break; \ + } \ + } while (0); \ + __pragma(warning(pop)) + +#define rcutils_win32_atomic_compare_exchange_weak(object, out, expected, desired) \ + rcutils_win32_atomic_compare_exchange_strong(object, out, expected, desired) + +#define rcutils_win32_atomic_exchange(object, out, desired) \ + __pragma(warning(push)) \ + __pragma(warning(disable: 4244)) \ + __pragma(warning(disable: 4047)) \ + __pragma(warning(disable: 4024)) \ + do { \ + switch (sizeof(out)) { \ + case sizeof(uint64_t): \ + out = InterlockedExchange64((LONGLONG *) object, desired); \ + break; \ + case sizeof(uint32_t): \ + out = _InterlockedExchange((LONG *) object, desired); \ + break; \ + case sizeof(uint16_t): \ + out = _InterlockedExchange16((SHORT *) object, desired); \ + break; \ + case sizeof(uint8_t): \ + out = _InterlockedExchange8((char *) object, desired); \ + break; \ + default: \ + RCUTILS_LOG_ERROR_NAMED( \ + _RCUTILS_PACKAGE_NAME, "Unsupported integer type in atomic_exchange_strong"); \ + exit(-1); \ + break; \ + } \ + } while (0); \ + __pragma(warning(pop)) + +#define rcutils_win32_atomic_fetch_add(object, out, operand) \ + __pragma(warning(push)) \ + __pragma(warning(disable: 4244)) \ + __pragma(warning(disable: 4047)) \ + __pragma(warning(disable: 4024)) \ + do { \ + switch (sizeof(out)) { \ + case sizeof(uint64_t): \ + out = InterlockedExchangeAdd64((LONGLONG *) object, operand); \ + break; \ + case sizeof(uint32_t): \ + out = _InterlockedExchangeAdd((LONG *) object, operand); \ + break; \ + case sizeof(uint16_t): \ + out = _InterlockedExchangeAdd16((SHORT *) object, operand); \ + break; \ + case sizeof(uint8_t): \ + out = _InterlockedExchangeAdd8((char *) object, operand); \ + break; \ + default: \ + RCUTILS_LOG_ERROR_NAMED( \ + _RCUTILS_PACKAGE_NAME, "Unsupported integer type in atomic_fetch_add"); \ + exit(-1); \ + break; \ + } \ + } while (0); \ + __pragma(warning(pop)) + +#define rcutils_win32_atomic_fetch_and(object, out, operand) \ + __pragma(warning(push)) \ + __pragma(warning(disable: 4244)) \ + __pragma(warning(disable: 4047)) \ + __pragma(warning(disable: 4024)) \ + do { \ + switch (sizeof(out)) { \ + case sizeof(uint64_t): \ + out = InterlockedAnd64((LONGLONG *) object, operand); \ + break; \ + case sizeof(uint32_t): \ + out = _InterlockedAnd((LONG *) object, operand); \ + break; \ + case sizeof(uint16_t): \ + out = _InterlockedAnd16((SHORT *) object, operand); \ + break; \ + case sizeof(uint8_t): \ + out = _InterlockedAnd8((char *) object, operand); \ + break; \ + default: \ + RCUTILS_LOG_ERROR_NAMED( \ + _RCUTILS_PACKAGE_NAME, "Unsupported integer type in atomic_fetch_and"); \ + exit(-1); \ + break; \ + } \ + } while (0); \ + __pragma(warning(pop)) + +#define rcutils_win32_atomic_fetch_or(object, out, operand) \ + __pragma(warning(push)) \ + __pragma(warning(disable: 4244)) \ + __pragma(warning(disable: 4047)) \ + __pragma(warning(disable: 4024)) \ + do { \ + switch (sizeof(out)) { \ + case sizeof(uint64_t): \ + out = InterlockedOr64((LONGLONG *) object, operand); \ + break; \ + case sizeof(uint32_t): \ + out = _InterlockedOr((LONG *) object, operand); \ + break; \ + case sizeof(uint16_t): \ + out = _InterlockedOr16((SHORT *) object, operand); \ + break; \ + case sizeof(uint8_t): \ + out = _InterlockedOr8((char *) object, operand); \ + break; \ + default: \ + RCUTILS_LOG_ERROR_NAMED( \ + _RCUTILS_PACKAGE_NAME, "Unsupported integer type in atomic_fetch_or"); \ + exit(-1); \ + break; \ + } \ + } while (0); \ + __pragma(warning(pop)) + +#define rcutils_win32_atomic_fetch_sub(object, out, operand) \ + rcutils_win32_atomic_fetch_add(object, out, -(operand)) + +#define rcutils_win32_atomic_fetch_xor(object, out, operand) \ + __pragma(warning(push)) \ + __pragma(warning(disable: 4244)) \ + __pragma(warning(disable: 4047)) \ + __pragma(warning(disable: 4024)) \ + do { \ + switch (sizeof(out)) { \ + case sizeof(uint64_t): \ + out = InterlockedXor64((LONGLONG *) object, operand); \ + break; \ + case sizeof(uint32_t): \ + out = _InterlockedXor((LONG *) object, operand); \ + break; \ + case sizeof(uint16_t): \ + out = _InterlockedXor16((SHORT *) object, operand); \ + break; \ + case sizeof(uint8_t): \ + out = _InterlockedXor8((char *) object, operand); \ + break; \ + default: \ + RCUTILS_LOG_ERROR_NAMED( \ + _RCUTILS_PACKAGE_NAME, "Unsupported integer type in atomic_fetch_xor"); \ + exit(-1); \ + break; \ + } \ + } while (0); \ + __pragma(warning(pop)) + +#define rcutils_win32_atomic_load(object, out) \ + __pragma(warning(push)) \ + __pragma(warning(disable: 4244)) \ + __pragma(warning(disable: 4047)) \ + __pragma(warning(disable: 4024)) \ + do { \ + switch (sizeof(out)) { \ + case sizeof(uint64_t): \ + out = InterlockedExchangeAdd64((LONGLONG *) object, 0); \ + break; \ + case sizeof(uint32_t): \ + out = _InterlockedExchangeAdd((LONG *) object, 0); \ + break; \ + case sizeof(uint16_t): \ + out = _InterlockedExchangeAdd16((SHORT *) object, 0); \ + break; \ + case sizeof(uint8_t): \ + out = _InterlockedExchangeAdd8((char *) object, 0); \ + break; \ + default: \ + RCUTILS_LOG_ERROR_NAMED( \ + _RCUTILS_PACKAGE_NAME, "Unsupported integer type in atomic_load"); \ + exit(-1); \ + break; \ + } \ + } while (0); \ + __pragma(warning(pop)) + +// *INDENT-ON* + +#define rcutils_win32_atomic_store(object, desired) \ + do { \ + MemoryBarrier(); \ + (object)->__val = (desired); \ + MemoryBarrier(); \ + } while (0) + +/* + * 7.17.8 Atomic flag type and operations. (disabled for now) + */ + +// typedef atomic_bool atomic_flag; + +// #define ATOMIC_FLAG_INIT ATOMIC_VAR_INIT(0) + +// #define atomic_flag_clear_explicit(object, order) \ +// atomic_store_explicit(object, 0, order) +// #define atomic_flag_test_and_set_explicit(object, order) \ +// atomic_compare_exchange_strong_explicit(object, 0, 1, order, order) + +// #define atomic_flag_clear(object) \ +// atomic_flag_clear_explicit(object, memory_order_seq_cst) +// #define atomic_flag_test_and_set(object) \ +// atomic_flag_test_and_set_explicit(object, memory_order_seq_cst) + +#endif // RCUTILS__STDATOMIC_HELPER__WIN32__STDATOMIC_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/strcasecmp.h b/ports/espressif/microros-ext/include/rcutils/rcutils/strcasecmp.h new file mode 100644 index 0000000000000..8b03ed3481b56 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/strcasecmp.h @@ -0,0 +1,80 @@ +// Copyright 2020 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__STRCASECMP_H_ +#define RCUTILS__STRCASECMP_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +/// Case insensitive string compare. +/** + * This function compares two strings ignoring case in a portable way. + * This performs a byte-by-byte comparison of the strings s1 and s2, + * ignoring the case of the characters. + * + * \param[in] s1 Null terminated string to compare. + * \param[in] s2 Null terminated string to compare. + * \param[out] value Pointer to comparison result. + * An integer less than, equal to, or greater than zero if s1 is, after + * ignoring case, found to be less than, to match, or be greater than s2, + * respectively. + * \return 0 if method succeeded, or + * \return -1 if failed. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int +rcutils_strcasecmp( + const char * s1, + const char * s2, + int * value); + +/// Case insensitive string compare up to count characters. +/** + * This function compares two strings ignoring case in a portable way. + * This performs a byte-by-byte comparison of the strings s1 and s2 up to count + * characters of s1 and s2, ignoring the case of the characters. + * + * \param[in] s1 First string to compare. + * \param[in] s2 Second string to compare. + * \param[in] n Count of characters to compare. + * \param[out] value Pointer to comparison result. + * An integer less than, equal to, or greater than zero if s1 is, after + * ignoring case, found to be less than, to match, or be greater than s2, + * respectively. + * \return 0 if method succeeded, or + * \return -1 if failed. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int +rcutils_strncasecmp( + const char * s1, + const char * s2, + size_t n, + int * value); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__STRCASECMP_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/strdup.h b/ports/espressif/microros-ext/include/rcutils/rcutils/strdup.h new file mode 100644 index 0000000000000..cc3c304f04997 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/strdup.h @@ -0,0 +1,78 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__STRDUP_H_ +#define RCUTILS__STRDUP_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/allocator.h" +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +/// Return a duplicated string with an allocator, or null if an error occurs. +/** + * This function is identical to rcutils_strndup() except the length of the + * c string does not have to be given and therefore the c string must be + * null terminated. + * + * \see rcutils_strndup() + * + * \param[in] str null terminated c string to be duplicated + * \param[in] allocator the allocator to use for allocation + * \return duplicated string, or + * \return `NULL` if there is an error. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +char * +rcutils_strdup(const char * str, rcutils_allocator_t allocator); + +/// Return a duplicated string with an allocator, or null if an error occurs. +/** + * This function can fail and return null if memory cannot be allocated or + * if the input c string pointer is null. + * In both cases no error message is set. + * The returned string should be deallocated using the given allocator when + * it is no longer needed. + * + * The max_length given does not include the null terminating character. + * Therefore a max_length of 0 will still result in a duplicated string, but + * the string will be an empty string of strlen 0, but it still must be + * deallocated. + * All returned strings are null terminated. + * + * \param[in] str null terminated c string to be duplicated + * \param[in] max_length maximum length of the string to duplicate + * \param[in] allocator the allocator to use for allocation + * \return duplicated string, or + * \return `NULL` if there is an error. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +char * +rcutils_strndup(const char * str, size_t max_length, rcutils_allocator_t allocator); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__STRDUP_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/strerror.h b/ports/espressif/microros-ext/include/rcutils/rcutils/strerror.h new file mode 100644 index 0000000000000..a3a900a9d1af6 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/strerror.h @@ -0,0 +1,48 @@ +// Copyright 2020 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__STRERROR_H_ +#define RCUTILS__STRERROR_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "rcutils/visibility_control.h" + +/// Retrieve the string corresponding to the last system error. +/** + * This function retrieves the value of errno, and calls the system-specific + * equivalent of `strerror` on it, storing the output in the provided buffer. + * If the error message is longer than the buffer, it will be truncated. + * The memory for the c-string buffer that is passed in must be managed by the + * caller. + * + * This function is thread-safe. + * + * \param[inout] buffer The buffer in which to store the data + * \param[in] buffer_length the maximum length of the buffer + */ +RCUTILS_PUBLIC +void +rcutils_strerror(char * buffer, size_t buffer_length); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__STRERROR_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/testing/fault_injection.h b/ports/espressif/microros-ext/include/rcutils/rcutils/testing/fault_injection.h new file mode 100644 index 0000000000000..d74a49bf3c7db --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/testing/fault_injection.h @@ -0,0 +1,219 @@ +// Copyright 2020 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef RCUTILS__TESTING__FAULT_INJECTION_H_ +#define RCUTILS__TESTING__FAULT_INJECTION_H_ +#include +#include +#include + +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define RCUTILS_FAULT_INJECTION_NEVER_FAIL -1 + +#define RCUTILS_FAULT_INJECTION_FAIL_NOW 0 + +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +bool +rcutils_fault_injection_is_test_complete(void); + +/** + * \brief Atomically set the fault injection counter. + * + * This is typically not the preferred method of interacting directly with the fault injection + * logic, instead use `RCUTILS_FAULT_INJECTION_TEST` instead. + * + * This function may also be used for pausing code inside of a `RCUTILS_FAULT_INJECTION_TEST` with + * something like the following: + * + * RCUTILS_FAULT_INJECTION_TEST({ + * ... // code to run with fault injection + * int64_t count = rcutils_fault_injection_get_count(); + * rcutils_fault_injection_set_count(RCUTILS_FAULT_INJECTION_NEVER_FAIL); + * ... // code to run without fault injection + * rcutils_fault_injection_set_count(count); + * ... // code to run with fault injection + * }); + * + * \param count The count to set the fault injection counter to. If count is negative, then fault + * injection errors will be disabled. The counter is globally initialized to + * RCUTILS_FAULT_INJECTION_NEVER_FAIL. + */ +RCUTILS_PUBLIC +void +rcutils_fault_injection_set_count(int_least64_t count); + +/** + * \brief Atomically get the fault injection counter value + * + * This function is typically not used directly but instead indirectly inside an + * `RCUTILS_FAULT_INJECTION_TEST` + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int_least64_t +rcutils_fault_injection_get_count(void); + +/** + * \brief Implementation of fault injection decrementer + * + * This is included inside of macros, so it needs to be exported as a public function, but it + * should not be used directly. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int_least64_t +_rcutils_fault_injection_maybe_fail(void); + +#ifdef RCUTILS_ENABLE_FAULT_INJECTION + +/** + * \def RCUTILS_FAULT_INJECTION_MAYBE_RETURN_ERROR + * \brief This macro checks and decrements a static global variable atomic counter and returns + * `return_value_on_error` if 0. + * + * This macro is not a function itself, so when this macro returns it will cause the calling + * function to return with the return value. + * + * Set the counter with `RCUTILS_FAULT_INJECTION_SET_COUNT`. If the count is less than 0, then + * `RCUTILS_FAULT_INJECTION_MAYBE_RETURN_ERROR` will not cause an early return. + * + * This macro is thread-safe, and ensures that at most one invocation results in a failure for each + * time the fault injection counter is set with `RCUTILS_FAULT_INJECTION_SET_COUNT` + * + * \param return_value_on_error the value to return in the case of fault injected failure. + */ +#define RCUTILS_FAULT_INJECTION_MAYBE_RETURN_ERROR(return_value_on_error) \ + if (RCUTILS_FAULT_INJECTION_FAIL_NOW == _rcutils_fault_injection_maybe_fail()) { \ + printf( \ + "%s:%d Injecting fault and returning " #return_value_on_error "\n", __FILE__, __LINE__); \ + return return_value_on_error; \ + } + +/** + * \def RCUTILS_FAULT_INJECTION_MAYBE_FAIL + * \brief This macro checks and decrements a static global variable atomic counter and executes + * `failure_code` if the counter is 0 inside a scoped block (any variables declared in + * failure_code) will not be avaliable outside of this scoped block. + * + * This macro is not a function itself, so it will cause the calling function to execute the code + * from within an if loop. + * + * Set the counter with `RCUTILS_FAULT_INJECTION_SET_COUNT`. If the count is less than 0, then + * `RCUTILS_FAULT_INJECTION_MAYBE_FAIL` will not execute the failure code. + * + * This macro is thread-safe, and ensures that at most one invocation results in a failure for each + * time the fault injection counter is set with `RCUTILS_FAULT_INJECTION_SET_COUNT` + * + * \param failure_code the code to execute in the case of fault injected failure. + */ +#define RCUTILS_FAULT_INJECTION_MAYBE_FAIL(failure_code) \ + if (RCUTILS_FAULT_INJECTION_FAIL_NOW == _rcutils_fault_injection_maybe_fail()) { \ + printf( \ + "%s:%d Injecting fault and executing " #failure_code "\n", __FILE__, __LINE__); \ + failure_code; \ + } + +/** + * \def RCUTILS_FAULT_INJECTION_TEST + * + * The fault injection macro for use with unit tests to check that `code` can tolerate injected + * failures at all points along the execution path where the indicating macros + * `RCUTILS_CAN_RETURN_WITH_ERROR_OF` and `RCUTILS_CAN_FAIL_WITH` are located. + * + * This macro is intended to be used within a gtest function macro like 'TEST', 'TEST_F', etc. + * + * `code` is executed within a do-while loop and therefore any variables declared within are in + * their own scope block. + * + * Here's a simple example: + * RCUTILS_FAULT_INJECTION_TEST( + * rcl_ret_t ret = rcl_init(argc, argv, options, context); + * if (RCL_RET_OK == ret) + * { + * ret = rcl_shutdown(context); + * } + * }); + * + * In this example, you will need have conditional execution based on the return value of + * `rcl_init`. If it failed, then it wouldn't make sense to call rcl_shutdown. In your own test, + * there might be similar logic that requires conditional checks. The goal of writing this test + * is less about checking the behavior is consistent, but instead that failures do not cause + * program crashes, memory errors, or unnecessary memory leaks. + */ +#define RCUTILS_FAULT_INJECTION_TEST(code) \ + do { \ + int fault_injection_count = 0; \ + do { \ + rcutils_fault_injection_set_count(fault_injection_count++); \ + code; \ + } while (!rcutils_fault_injection_is_test_complete()); \ + rcutils_fault_injection_set_count(RCUTILS_FAULT_INJECTION_NEVER_FAIL); \ + } while (0) + +/** + * \def RCUTILS_NO_FAULT_INJECTION + * + * A convenience macro built around rcutils_fault_injection_set_count() to pause fault + * injection during `code` execution. + * This macro is intended to be used within RCUTILS_FAULT_INJECTION_TEST() blocks. + * + * `code` is executed within a do-while loop and therefore any variables declared within are in + * their own scope block. + * + * Here's a simple example: + * RCUTILS_FAULT_INJECTION_TEST({ + * rcl_ret_t ret = rcl_init(argc, argv, options, context); + * if (RCL_RET_OK == ret) + * { + * RCUTILS_NO_FAULT_INJECTION({ + * ret = rcl_shutdown(context); + * }); + * } + * }); + * + * In this example, on successful rcl_init(), rcl_shutdown() is called while ensuring that + * it will not fail due to fault injection. + */ +#define RCUTILS_NO_FAULT_INJECTION(code) \ + do { \ + int64_t no_fault_injection_count = rcutils_fault_injection_get_count(); \ + rcutils_fault_injection_set_count(RCUTILS_FAULT_INJECTION_NEVER_FAIL); \ + code; \ + rcutils_fault_injection_set_count(no_fault_injection_count); \ + } while (0) + +#else + +// Mocks for micro-ROS when fault injection not enabled + +#define RCUTILS_FAULT_INJECTION_MAYBE_RETURN_ERROR(return_value_on_error) +#define RCUTILS_FAULT_INJECTION_MAYBE_FAIL(failure_code) +#define RCUTILS_FAULT_INJECTION_TEST(code) +#define RCUTILS_NO_FAULT_INJECTION(code) + +#endif + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__TESTING__FAULT_INJECTION_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/time.h b/ports/espressif/microros-ext/include/rcutils/rcutils/time.h new file mode 100644 index 0000000000000..bff3e41a5a807 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/time.h @@ -0,0 +1,189 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__TIME_H_ +#define RCUTILS__TIME_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/macros.h" +#include "rcutils/types.h" +#include "rcutils/visibility_control.h" + +/// Convenience macro to convert seconds to nanoseconds. +#define RCUTILS_S_TO_NS(seconds) ((seconds) * (1000LL * 1000LL * 1000LL)) +/// Convenience macro to convert milliseconds to nanoseconds. +#define RCUTILS_MS_TO_NS(milliseconds) ((milliseconds) * (1000LL * 1000LL)) +/// Convenience macro to convert microseconds to nanoseconds. +#define RCUTILS_US_TO_NS(microseconds) ((microseconds) * 1000LL) + +/// Convenience macro to convert nanoseconds to seconds. +#define RCUTILS_NS_TO_S(nanoseconds) ((nanoseconds) / (1000LL * 1000LL * 1000LL)) +/// Convenience macro to convert nanoseconds to milliseconds. +#define RCUTILS_NS_TO_MS(nanoseconds) ((nanoseconds) / (1000LL * 1000LL)) +/// Convenience macro to convert nanoseconds to microseconds. +#define RCUTILS_NS_TO_US(nanoseconds) ((nanoseconds) / 1000LL) +/// Convenience macro for rcutils_steady_time_now(rcutils_time_point_value_t *). +#define RCUTILS_STEADY_TIME rcutils_steady_time_now + +/// A single point in time, measured in nanoseconds since the Unix epoch. +typedef int64_t rcutils_time_point_value_t; +/// A duration of time, measured in nanoseconds. +typedef int64_t rcutils_duration_value_t; + +/** + * This function returns the time from a system clock. + * The closest equivalent would be to std::chrono::system_clock::now(); + * + * The resolution (e.g. nanoseconds vs microseconds) is not guaranteed. + * + * The now argument must point to an allocated rcutils_time_point_value_t object, + * as the result is copied into this variable. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | Yes + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[out] now a datafield in which the current time is stored + * \return #RCUTILS_RET_OK if the current time was successfully obtained, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if any arguments are invalid, or + * \return #RCUTILS_RET_ERROR if an unspecified error occur. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_system_time_now(rcutils_time_point_value_t * now); + +/// Retrieve the current time as a rcutils_time_point_value_t object. +/** + * This function returns the time from a monotonically increasing clock. + * The closest equivalent would be to std::chrono::steady_clock::now(); + * + * The resolution (e.g. nanoseconds vs microseconds) is not guaranteed. + * + * The now argument must point to an allocated rcutils_time_point_value_t object, + * as the result is copied into this variable. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | Yes + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[out] now a struct in which the current time is stored + * \return #RCUTILS_RET_OK if the current time was successfully obtained, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if any arguments are invalid, or + * \return #RCUTILS_RET_ERROR if an unspecified error occur. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_steady_time_now(rcutils_time_point_value_t * now); + +/// Return a time point as nanoseconds in a string. +/** + * The number is always fixed width, with left padding zeros up to the maximum + * number of digits the time point can represent. + * Right now that is 19 digits (so 19 characters) for a signed 64-bit integer. + * Negative values will have a leading `-`, so they will be one character + * longer than the positive values. + * + * The recommended minimum size of the input string is 32 characters, but + * 21 (` ` or `-` for sign, 19 digits, null terminator) should be sufficiently + * large for both positive and negative values. + * If the given string is not large enough, the result will be truncated. + * If you need a string with variable width, using `snprintf()` directly is + * recommended. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No [1] + * Thread-Safe | Yes + * Uses Atomics | No + * Lock-Free | Yes + * [1] if `snprintf()` does not allocate additional memory internally + * + * \param[in] time_point the time to be made into a string + * \param[out] str the output string in which it is stored + * \param[in] str_size the size of the output string + * \return #RCUTILS_RET_OK if successful (even if truncated), or + * \return #RCUTILS_RET_INVALID_ARGUMENT if any arguments are invalid, or + * \return #RCUTILS_RET_ERROR if an unspecified error occur. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_time_point_value_as_nanoseconds_string( + const rcutils_time_point_value_t * time_point, + char * str, + size_t str_size); + +/// Return a time point as floating point seconds in a string. +/** + * The number is always fixed width, with left padding zeros up to the maximum + * number of digits for the mantissa that the time point can represent and a + * characteristic (fractional-part) with a fixed width of 9 digits. + * Right now that means the mantissa is always 10 digits to add up to 19 total + * for the signed 64-bit time point type. + * Negative values will have a leading `-`, so they will be one character + * longer then positive values. + * + * The recommended minimum size of the input string is 32 characters, but + * 22 (` ` or `-` for sign, 19 digits, decimal point, null terminator) should + * be sufficient for now. + * If the given string is not large enough, the result will be truncated. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No [1] + * Thread-Safe | Yes + * Uses Atomics | No + * Lock-Free | Yes + * [1] if `snprintf()` does not allocate additional memory internally + * + * \param[in] time_point the time to be made into a string + * \param[out] str the output string in which it is stored + * \param[in] str_size the size of the output string + * \return #RCUTILS_RET_OK if successful (even if truncated), or + * \return #RCUTILS_RET_INVALID_ARGUMENT if any arguments are invalid, or + * \return #RCUTILS_RET_ERROR if an unspecified error occur. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_time_point_value_as_seconds_string( + const rcutils_time_point_value_t * time_point, + char * str, + size_t str_size); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__TIME_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/types.h b/ports/espressif/microros-ext/include/rcutils/rcutils/types.h new file mode 100644 index 0000000000000..aa3b24af91fe2 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/types.h @@ -0,0 +1,35 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef RCUTILS__TYPES_H_ +#define RCUTILS__TYPES_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include "rcutils/types/array_list.h" +#include "rcutils/types/char_array.h" +#include "rcutils/types/hash_map.h" +#include "rcutils/types/string_array.h" +#include "rcutils/types/string_map.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/types/uint8_array.h" + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__TYPES_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/types/array_list.h b/ports/espressif/microros-ext/include/rcutils/rcutils/types/array_list.h new file mode 100644 index 0000000000000..ffde41a2d1a9d --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/types/array_list.h @@ -0,0 +1,288 @@ +// Copyright 2018-2019 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__TYPES__ARRAY_LIST_H_ +#define RCUTILS__TYPES__ARRAY_LIST_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/allocator.h" +#include "rcutils/macros.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/visibility_control.h" + +struct rcutils_array_list_impl_s; + +/// The structure holding the metadata for an array list. +typedef struct RCUTILS_PUBLIC_TYPE rcutils_array_list_s +{ + /// A pointer to the PIMPL implementation type. + struct rcutils_array_list_impl_s * impl; +} rcutils_array_list_t; + +/** + * Validates that an rcutils_array_list_t* points to a valid array list. + * \param[in] array_list A pointer to an rcutils_array_list_t + * \return RCUTILS_RET_INVALID_ARGUMENT if array_list is null + * \return RCUTILS_RET_NOT_INITIALIZED if array_list is not initialized + */ +#define ARRAY_LIST_VALIDATE_ARRAY_LIST(array_list) \ + RCUTILS_CHECK_ARGUMENT_FOR_NULL(array_list, RCUTILS_RET_INVALID_ARGUMENT); \ + if (NULL == array_list->impl) { \ + RCUTILS_SET_ERROR_MSG("array_list is not initialized"); \ + return RCUTILS_RET_NOT_INITIALIZED; \ + } + +/// Return an empty array_list struct. +/** + * This function returns an empty and zero initialized array_list struct. + * Calling rcutils_array_list_fini() on any non-initialized instance leads + * to undefined behavior. + * Every instance of array_list_t has to either be zero_initialized with this + * function or manually allocated. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | Yes + * Uses Atomics | No + * Lock-Free | Yes + * + * Example: + * + * ```c + * rcutils_array_list_t foo; + * rcutils_array_list_fini(&foo); // undefined behavior! + * + * rcutils_array_list_t bar = rcutils_get_zero_initialized_array_list(); + * rcutils_array_list_fini(&bar); // ok + * ``` + */ +RCUTILS_PUBLIC +rcutils_array_list_t +rcutils_get_zero_initialized_array_list(void); + +/// Initialize an array list with a given initial capacity. +/** + * This function will initialize a given, zero initialized, array_list to + * a given size. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * Example: + * + * ```c + * rcutils_allocator_t allocator = rcutils_get_default_allocator(); + * rcutils_array_list_t array_list = rcutils_get_zero_initialized_array_list(); + * rcutils_ret_t ret = rcutils_array_list_init(&array_list, 2, sizeof(int), &allocator); + * if (ret != RCUTILS_RET_OK) { + * // ... error handling + * } + * int data = 42; + * int out_data = 0; + * ret = rcutils_array_list_add(&array_list, &data); + * data++; + * ret = rcutils_array_list_get(&array_list, 0, &out_data); + * assert(42 == out_data); + * ret = rcutils_array_list_fini(&array_list); + * ``` + * + * \param[inout] array_list object to be initialized + * \param[in] initial_capacity the initial capacity to allocate in the list + * \param[in] data_size the size (in bytes) of the data object being stored in the list + * \param[in] allocator to be used to allocate and deallocate memory + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +rcutils_ret_t +rcutils_array_list_init( + rcutils_array_list_t * array_list, + size_t initial_capacity, + size_t data_size, + const rcutils_allocator_t * allocator); + +/// Finalize an array list, reclaiming all resources. +/** + * This function reclaims any memory owned by the array list. + * + * The allocator used to initialize the array list is used to deallocate each + * entry in the list and the list itself. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[inout] array_list object to be finalized + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_array_list_fini(rcutils_array_list_t * array_list); + +/// Adds an entry to the list +/** + * This function adds the provided data to the end of the list. A shallow copy of + * the provided data is made to store in the list instead of just storing + * the pointer to the provided data. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] array_list to add the data to + * \param[in] data a pointer to the data to add to the list + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_array_list_add(rcutils_array_list_t * array_list, const void * data); + +/// Sets an entry in the list to the provided data +/** + * This function sets the provided data at the specified index in the list. + * A shallow copy of the provided data is made to store in the list instead + * of just storing the pointer to the provided data. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] array_list to add the data to + * \param[in] index the position in the list to set the data + * \param[in] data a pointer to the data that will be set in the list + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if index out of bounds, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_array_list_set(rcutils_array_list_t * array_list, size_t index, const void * data); + +/// Removes an entry in the list at the provided index +/** + * This function removes data from the list at the specified index. The capacity + * of the list will never decrease when entries are removed. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] array_list to add the data to + * \param[in] index the index of the item to remove from the list + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if index out of bounds, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_array_list_remove(rcutils_array_list_t * array_list, size_t index); + +/// Retrieves an entry in the list at the provided index +/** + * This function retrieves a copy of the data stored in the list at the provided index. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * + * \param[in] array_list to add the data to + * \param[in] index the index at which to get the data + * \param[out] data a copy of the data stored in the list + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_array_list_get(const rcutils_array_list_t * array_list, size_t index, void * data); + +/// Retrieves the size of the provided array_list +/** + * This function retrieves the number of items in the provided array list + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * + * \param[in] array_list list to get the size of + * \param[out] size The number of items currently stored in the list + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_array_list_get_size(const rcutils_array_list_t * array_list, size_t * size); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__TYPES__ARRAY_LIST_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/types/char_array.h b/ports/espressif/microros-ext/include/rcutils/rcutils/types/char_array.h new file mode 100644 index 0000000000000..a0d64f042cea6 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/types/char_array.h @@ -0,0 +1,246 @@ +// Copyright 2018 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__TYPES__CHAR_ARRAY_H_ +#define RCUTILS__TYPES__CHAR_ARRAY_H_ + +#if __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/allocator.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/visibility_control.h" + +/// The structure holding the metadata for a char array. +typedef struct RCUTILS_PUBLIC_TYPE rcutils_char_array_s +{ + /// A pointer to the allocated memory for this char array. + char * buffer; + + /** + * if this is true, we may safely free/realloc the buffer as needed; + * otherwise we will leave the buffer alone and alloc new memory if + * more space is needed + */ + bool owns_buffer; + + /// The length of the data stored in the buffer pointer. + size_t buffer_length; + + /// The maximum capacity of the buffer pointer. + size_t buffer_capacity; + + /// The allocator used to allocate and free the data in the pointer. + rcutils_allocator_t allocator; +} rcutils_char_array_t; + +/// Return a zero initialized char array struct. +/** + * \return rcutils_char_array_t a zero initialized char array struct + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_char_array_t +rcutils_get_zero_initialized_char_array(void); + +/// Initialize a zero initialized char array struct. +/** + * This function may leak if the char array struct is already + * pre-initialized. + * If the capacity is set to 0, no memory is allocated and the internal buffer + * is still NULL. + * + * \param[in] char_array a pointer to the to be initialized char array struct + * \param[in] buffer_capacity the size of the memory to allocate for the byte stream + * \param[in] allocator the allocator to use for the memory allocation + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if any arguments are invalid, or + * \return #RCUTILS_RET_BAD_ALLOC if no memory could be allocated correctly + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_char_array_init( + rcutils_char_array_t * char_array, + size_t buffer_capacity, + const rcutils_allocator_t * allocator); + +/// Finalize a char array struct. +/** + * Cleans up and deallocates any resources owned by rcutils_char_array_t. + * The array passed to this function needs to have been initialized by + * rcutils_char_array_init(). + * If .owns_buffer is false, this function has no effect because that + * implies that the char_array does not own the internal buffer. + * Passing an uninitialized instance to this function leads to undefined + * behavior. + * + * \param[in] char_array pointer to the rcutils_char_array_t to be cleaned up + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if the char_array argument is invalid + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_char_array_fini(rcutils_char_array_t * char_array); + +/// Resize the internal buffer of the char array. +/** + * The internal buffer of the char array can be resized dynamically if needed. + * If the new size is smaller than the current capacity, then the memory is + * truncated. + * Be aware, that this will deallocate the memory and therefore invalidates any + * pointers to this storage. + * If the new size is larger, new memory is getting allocated and the existing + * content is copied over. + * Note that if the array doesn't own the current buffer the function just + * allocates a new block of memory and copies the contents of the old buffer + * instead of resizing the existing buffer. + * + * \param[in] char_array pointer to the instance of rcutils_char_array_t which is being resized + * \param[in] new_size the new size of the internal buffer + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if new_size is set to zero + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation failed, or + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_char_array_resize(rcutils_char_array_t * char_array, size_t new_size); + +/// Expand the internal buffer of the char array. +/** + * This function is equivalent to `rcutils_char_array_resize` except that it resizes + * the internal buffer only when it is not big enough. + * If the buffer is already big enough for `new_size`, it returns `RCUTILS_RET_OK` without + * doing anything. + * + * \param[inout] char_array pointer to the instance of rcutils_char_array_t which is being resized + * \param[in] new_size the new size of the internal buffer + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation failed, or + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_char_array_expand_as_needed(rcutils_char_array_t * char_array, size_t new_size); + +/// Produce output according to format and args. +/** + * This function is equivalent to `vsprintf(char_array->buffer, format, args)` + * except that the buffer grows as needed so a user doesn't have to deal with + * memory management. + * The `va_list args` will be cloned before being used, so a user can safely + * use it again after calling this function. + * + * \param[inout] char_array pointer to the instance of rcutils_char_array_t which is being + * written to + * \param[in] format the format string used by the underlying `vsnprintf` + * \param[in] args the `va_list` used by the underlying `vsnprintf` + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation failed, or + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_char_array_vsprintf(rcutils_char_array_t * char_array, const char * format, va_list args); + +/// Append a string (or part of it) to the string in buffer. +/** + * This function treats the internal buffer as a string and appends the src string to it. + * If src is longer than n, n bytes will be used and an extra null byte will be appended. + * It is virtually equivalent to `strncat(char_array->buffer, src, n)` except that the buffer + * grows as needed so a user doesn't have to deal with memory management. + * + * \param[inout] char_array pointer to the instance of rcutils_char_array_t which is being appended to + * \param[in] src the string to be appended to the end of the string in buffer + * \param[in] n it uses at most n bytes from the src string + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation failed, or + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_char_array_strncat(rcutils_char_array_t * char_array, const char * src, size_t n); + +/// Append a string to the string in buffer. +/** + * This function treats the internal buffer as a string and appends the src string to it. + * It is virtually equivalent to `strcat(char_array->buffer, src)` except that the buffer + * grows as needed. That is to say, a user can safely use it without doing calculation or + * checks on the sizes of the src and buffer. + * + * \param[inout] char_array pointer to the instance of rcutils_char_array_t which is being + * appended to + * \param[in] src the string to be appended to the end of the string in buffer + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation failed, or + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_char_array_strcat(rcutils_char_array_t * char_array, const char * src); + +/// Copy memory to buffer. +/** + * This function is equivalent to `memcpy(char_array->buffer, src, n)` except that the buffer + * grows as needed so a user doesn't have to worry about overflow. + * + * \param[inout] char_array pointer to the instance of rcutils_char_array_t which is being resized + * \param[in] src the memory to be copied from + * \param[in] n a total of n bytes will be copied + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation failed, or + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_char_array_memcpy(rcutils_char_array_t * char_array, const char * src, size_t n); + +/// Copy a string to buffer. +/** + * This function is equivalent to `strcpy(char_array->buffer, src)` except that the buffer + * grows as needed so that `src` will fit without overflow. + * + * \param[inout] char_array pointer to the instance of rcutils_char_array_t which is being + * copied to + * \param[in] src the string to be copied from + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation failed, or + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_char_array_strcpy(rcutils_char_array_t * char_array, const char * src); + +#if __cplusplus +} +#endif + +#endif // RCUTILS__TYPES__CHAR_ARRAY_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/types/hash_map.h b/ports/espressif/microros-ext/include/rcutils/rcutils/types/hash_map.h new file mode 100644 index 0000000000000..4d5de731d12ce --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/types/hash_map.h @@ -0,0 +1,427 @@ +// Copyright 2018-2019 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__TYPES__HASH_MAP_H_ +#define RCUTILS__TYPES__HASH_MAP_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/allocator.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +struct rcutils_hash_map_impl_s; + +/// The structure holding the metadata for a hash map. +typedef struct RCUTILS_PUBLIC_TYPE rcutils_hash_map_s +{ + /// A pointer to the PIMPL implementation type. + struct rcutils_hash_map_impl_s * impl; +} rcutils_hash_map_t; + +/// The function signature for a key hashing function. +/** + * \param[in] key The key that needs to be hashed + * \return A hash value for the provided string + */ +typedef size_t (* rcutils_hash_map_key_hasher_t)( + const void * key +); + +/// The function signature for a key comparison function. +/** + * \param[in] val1 The first value to compare + * \param[in] val2 The second value to compare + * \return A negative number if val1 < val2, or + * \return A positve number if val1 > val2, or + * \return Zero if val1 == val2. + */ +typedef int (* rcutils_hash_map_key_cmp_t)( + const void * val1, + const void * val2 +); + +/** + * Validates that an rcutils_hash_map_t* points to a valid hash map. + * \param[in] map A pointer to an rcutils_hash_map_t + * \return #RCUTILS_RET_INVALID_ARGUMENT if map is null + * \return #RCUTILS_RET_NOT_INITIALIZED if map is not initialized. + */ +#define HASH_MAP_VALIDATE_HASH_MAP(map) \ + RCUTILS_CHECK_ARGUMENT_FOR_NULL(map, RCUTILS_RET_INVALID_ARGUMENT); \ + if (NULL == map->impl) { \ + RCUTILS_SET_ERROR_MSG("map is not initialized"); \ + return RCUTILS_RET_NOT_INITIALIZED; \ + } + +/// A hashing function for a null terminated c string. +/** + * A hashing function for a null terminated c string. + * Should be used when your key is just a pointer to a c-string + */ +RCUTILS_PUBLIC +size_t +rcutils_hash_map_string_hash_func(const void * key_str); + +/// A comparison function for a null terminated c string. +/** + * A comparison function for a null terminated c string. + * Should be used when your key is just a pointer to a c-string + */ +RCUTILS_PUBLIC +int +rcutils_hash_map_string_cmp_func(const void * val1, const void * val2); + +/// Return an empty hash_map struct. +/** + * This function returns an empty and zero initialized hash_map struct. + * All hash maps should be initialized with this or manually initialized + * before being used. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * Example: + * ```c + * // Do not do this: + * // rcutils_hash_map_t foo; + * // rcutils_hash_map_fini(&foo); // undefined behavior! + * + * // Do this instead: + * rcutils_hash_map_t bar = rcutils_get_zero_initialized_hash_map(); + * rcutils_hash_map_fini(&bar); // ok + * ``` + * */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_hash_map_t +rcutils_get_zero_initialized_hash_map(); + +/// Initialize a rcutils_hash_map_t, allocating space for given capacity. +/** + * This function initializes the rcutils_hash_map_t with a given initial + * capacity for entries. + * Note this does not allocate space for keys or values in the hash_map, just the + * arrays of pointers to the keys and values. + * rcutils_hash_map_set() should still be used when assigning values. + * + * The hash_map argument should point to allocated memory and should have + * been zero initialized with rcutils_get_zero_initialized_hash_map(). + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * Example: + * ```c + * rcutils_hash_map_t hash_map = rcutils_get_zero_initialized_hash_map(); + * rcutils_ret_t ret = + * rcutils_hash_map_init(&hash_map, 2, rcutils_get_default_allocator()); + * if (ret != RCUTILS_RET_OK) { + * // ... do error handling + * } + * // ... use the hash_map and when done: + * ret = rcutils_hash_map_fini(&hash_map); + * if (ret != RCUTILS_RET_OK) { + * // ... do error handling + * } + * ``` + * + * \param[inout] hash_map rcutils_hash_map_t to be initialized + * \param[in] initial_capacity the amount of initial capacity for the hash_map - this must be + * greater than zero and will be automatically rounded up to the next power of 2 + * \param[in] key_size the size (in bytes) of the key used to index the data + * \param[in] data_size the size (in bytes) of the data being stored + * \param[in] key_hashing_func a function that returns a hashed value for a key + * \param[in] key_cmp_func a function used to compare keys + * \param[in] allocator the allocator to use through out the lifetime of the hash_map + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_STRING_MAP_ALREADY_INIT if alread initialized, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_hash_map_init( + rcutils_hash_map_t * hash_map, + size_t initial_capacity, + size_t key_size, + size_t data_size, + rcutils_hash_map_key_hasher_t key_hashing_func, + rcutils_hash_map_key_cmp_t key_cmp_func, + const rcutils_allocator_t * allocator); + +/// Finalize the previously initialized hash_map struct. +/** + * This function will free any resources which were created when initializing + * or when calling rcutils_hash_map_set(). + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[inout] hash_map rcutils_hash_map_t to be finalized + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_hash_map_fini(rcutils_hash_map_t * hash_map); + +/// Get the current capacity of the hash_map. +/** + * This function will return the internal capacity of the hash_map, which is the + * number of buckets the hash_map uses to sort the keys. + * The capacity does not indicate how many key value pairs are stored in the + * hash_map, the rcutils_hash_map_get_size() function can provide that, nor the + * maximum number that can be stored without increasing the capacity. + * The capacity can be set initially with rcutils_hash_map_init(). + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] hash_map rcutils_hash_map_t to be queried + * \param[out] capacity capacity of the hash_map + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_NOT_INITIALIZED if the hash_map is invalid, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_hash_map_get_capacity(const rcutils_hash_map_t * hash_map, size_t * capacity); + +/// Get the current size of the hash_map. +/** + * This function will return the internal size of the hash_map, which is the + * current number of key value pairs in the hash_map. + * The size is changed when calling rcutils_hash_map_set() or rcutils_hash_map_unset(). + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] hash_map rcutils_hash_map_t to be queried + * \param[out] size size of the hash_map + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_NOT_INITIALIZED if the hash_map is invalid, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_hash_map_get_size(const rcutils_hash_map_t * hash_map, size_t * size); + +/// Set a key value pair in the hash_map, increasing capacity if necessary. +/** + * If the key already exists in the map then the value is updated to the new value + * provided. If it does not already exist then a new entry is added for the new key + * and value. The capacity will be increased if needed. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[inout] hash_map rcutils_hash_map_t to be updated + * \param[in] key hash_map key + * \param[in] value value for given hash_map key + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_NOT_INITIALIZED if the hash_map is invalid, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_hash_map_set(rcutils_hash_map_t * hash_map, const void * key, const void * value); + +/// Unset a key value pair in the hash_map. +/** + * Unsets the key value pair in the hash_map and frees any internal resources allocated + * for the entry. This function will never decrease the capacity when removing keys. + * If the given key is not found, RCUTILS_RET_STRING_KEY_NOT_FOUND is returned. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[inout] hash_map rcutils_hash_map_t to be updated + * \param[in] key hash_map key, must be null terminated c string + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_NOT_INITIALIZED if the hash_map is invalid, or + * \return #RCUTILS_RET_STRING_KEY_NOT_FOUND if the key is not found in the map, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_hash_map_unset(rcutils_hash_map_t * hash_map, const void * key); + +/// Get whether or not a key exists. +/** + * Returns true if the provided key exists in the hash_map or false if it does not or + * if the hash_map or key are invalid. + * In all cases no error message is set. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] hash_map rcutils_hash_map_t to be searched + * \param[in] key hash_map key, must be null terminated c string + * \return `true` if key is in the hash_map, or + * \return `false` if key is not in the hash_map, or + * \return `false` for invalid arguments, or + * \return `false` if the hash_map is invalid. + */ +RCUTILS_PUBLIC +bool +rcutils_hash_map_key_exists(const rcutils_hash_map_t * hash_map, const void * key); + +/// Get value given a key. +/** + * This function can be used to retrieve a shallow copy of the stored data. The data + * pointer must point to a section of memory large enough to copy the full size of + * the data being stored, which is specified when the hash_map in initialized. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] hash_map rcutils_hash_map_t to be searched + * \param[in] key hash_map key to look up the data for + * \param[out] data A copy of the data stored in the map + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_NOT_INITIALIZED if the hash_map is invalid, or + * \return #RCUTILS_RET_NOT_FOUND if the key doesn't exist in the map, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +rcutils_ret_t +rcutils_hash_map_get(const rcutils_hash_map_t * hash_map, const void * key, void * data); + +/// Get the next key in the hash_map, unless NULL is given, then get the first key. +/** + * This function allows you to iteratively get each key/value pair in the hash_map. + * + * If NULL is given for the previous_key, then the first key in the hash_map is returned. + * If that returned key is given as the previous_key for the next call to this function, + * then the next key in the hash_map is returned. + * If there are no more keys in the hash_map or if the given key is not in the hash_map, + * an error will be returned. + * + * The order of the keys in the hash_map is arbitrary and if the hash_map is modified + * between calls to this function the behavior is undefined. + * If the hash_map is modified then iteration should begin again by passing NULL to + * get the first key again. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * Example: + * ```c + * printf("entries in the hash_map:\n"); + * int key = 0, data = 0; + * rcutils_ret_t status = rcutils_hash_map_get_next_key(&hash_map, NULL, &key, &data); + * while (RCUTILS_RET_OK == status) { + * printf("%i: %i\n", key, data); + * status = rcutils_hash_map_get_next_key(&hash_map, &key, &key, &data); + * } + * ``` + * + * \param[in] hash_map rcutils_hash_map_t to be queried + * \param[in] previous_key NULL to get the first key or the previous key to get the next for + * \param[out] key A copy of the next key in the sequence + * \param[out] data A copy of the next data in the sequence + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_NOT_INITIALIZED if the hash_map is invalid, or + * \return #RCUTILS_RET_NOT_FOUND if the previous_key doesn't exist in the map, or + * \return #RCUTILS_RET_HASH_MAP_NO_MORE_ENTRIES if there is no more data beyound the previous_key, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +rcutils_ret_t +rcutils_hash_map_get_next_key_and_data( + const rcutils_hash_map_t * hash_map, + const void * previous_key, + void * key, + void * data); + + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__TYPES__HASH_MAP_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/types/rcutils_ret.h b/ports/espressif/microros-ext/include/rcutils/rcutils/types/rcutils_ret.h new file mode 100644 index 0000000000000..b4712d2b0756e --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/types/rcutils_ret.h @@ -0,0 +1,66 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__TYPES__RCUTILS_RET_H_ +#define RCUTILS__TYPES__RCUTILS_RET_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +/// The type that holds a return value for an rcutils operation. +typedef int rcutils_ret_t; + +/// Successful operation. +#define RCUTILS_RET_OK 0 +/// Operation produced a warning. +#define RCUTILS_RET_WARN 1 +/// Generic failure in operation. +#define RCUTILS_RET_ERROR 2 + +/// Failed to allocate memory return code. +#define RCUTILS_RET_BAD_ALLOC 10 +/// Invalid argument return code. +#define RCUTILS_RET_INVALID_ARGUMENT 11 +/// Not enough storage to do operation. +#define RCUTILS_RET_NOT_ENOUGH_SPACE 12 +/// Resource is not initialized +#define RCUTILS_RET_NOT_INITIALIZED 13 +/// Resource for request not found +#define RCUTILS_RET_NOT_FOUND 14 + +/// Given string map was either already initialized or was not zero initialized. +#define RCUTILS_RET_STRING_MAP_ALREADY_INIT 30 +/// Given string map is invalid, perhaps not initialized yet. +#define RCUTILS_RET_STRING_MAP_INVALID 31 +/// Given key not found in given string map. +#define RCUTILS_RET_STRING_KEY_NOT_FOUND 32 + +/// Internal severity map for logger thresholds is invalid. +#define RCUTILS_RET_LOGGING_SEVERITY_MAP_INVALID 40 +/// String representation of a severity is invalid. +#define RCUTILS_RET_LOGGING_SEVERITY_STRING_INVALID 41 + +/// There are no more entires beyond the last one in the map +#define RCUTILS_RET_HASH_MAP_NO_MORE_ENTRIES 50 + + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__TYPES__RCUTILS_RET_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/types/string_array.h b/ports/espressif/microros-ext/include/rcutils/rcutils/types/string_array.h new file mode 100644 index 0000000000000..4c4c97e937f53 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/types/string_array.h @@ -0,0 +1,221 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__TYPES__STRING_ARRAY_H_ +#define RCUTILS__TYPES__STRING_ARRAY_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/allocator.h" +#include "rcutils/error_handling.h" +#include "rcutils/macros.h" +#include "rcutils/qsort.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/visibility_control.h" + +/// The structure holding the metadata for a string array. +typedef struct RCUTILS_PUBLIC_TYPE rcutils_string_array_s +{ + /// The number of strings that can be stored in the string array. + size_t size; + + /// The allocated memory for the string array. + char ** data; + + /// The allocator used to allocate and free memory for the string array. + rcutils_allocator_t allocator; +} rcutils_string_array_t; + +/// Return an empty string array struct. +/** + * This function returns an empty and zero initialized string array struct. + * Calling rcutils_string_array_fini() on any non-initialized instance leads + * to undefined behavior. + * Every instance of string_array_t has to either be zero_initialized with this + * function or manually allocated. + * + * Example: + * + * ```c + * rcutils_string_array_t foo; + * rcutils_string_array_fini(&foo); // undefined behavior! + * + * rcutils_string_array_t bar = rcutils_get_zero_initialized_string_array(); + * rcutils_string_array_fini(&bar); // ok + * ``` + */ +RCUTILS_PUBLIC +rcutils_string_array_t +rcutils_get_zero_initialized_string_array(void); + +/// Initialize a string array with a given size. +/** + * This function will initialize a given, zero initialized, string array to + * a given size. + * + * Note that putting a string into the array gives owenship to the array. + * + * Example: + * + * ```c + * rcutils_allocator_t allocator = rcutils_get_default_allocator(); + * rcutils_string_array_t string_array = rcutils_get_zero_initialized_string_array(); + * rcutils_ret_t ret = rcutils_string_array_init(&string_array, 2, &allocator); + * if (ret != RCUTILS_RET_OK) { + * // ... error handling + * } + * string_array.data[0] = rcutils_strdup("Hello", &allocator); + * string_array.data[1] = rcutils_strdup("World", &allocator); + * ret = rcutils_string_array_fini(&string_array); + * ``` + * + * \param[inout] string_array object to be initialized + * \param[in] size the size the array should be + * \param[in] allocator to be used to allocate and deallocate memory + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_array_init( + rcutils_string_array_t * string_array, + size_t size, + const rcutils_allocator_t * allocator); + +/// Finalize a string array, reclaiming all resources. +/** + * This function reclaims any memory owned by the string array, including the + * strings it references. + * + * The allocator used to initialize the string array is used to deallocate each + * string in the array and the array of strings itself. + * + * \param[inout] string_array object to be finalized + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_array_fini(rcutils_string_array_t * string_array); + +/// Compare two string arrays. +/** + * The two string arrays are compared according to lexicographical order. + * + * \param[in] lhs The first string array. + * \param[in] rhs The second string array. + * \param[out] res Negative value if `lhs` appears before `rhs` in lexicographical order. + * Zero if `lhs` and `rhs` are equal. + * Positive value if `lhs` appears after `rhs` in lexographical order. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if any argument is `NULL, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if `lhs->data` or `rhs->data` is `NULL, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_array_cmp( + const rcutils_string_array_t * lhs, + const rcutils_string_array_t * rhs, + int * res); + +/// Resize a string array, reclaiming removed resources. +/** + * This function changes the size of an existing string array. + * If the new size is larger, new entries are added to the end of the array and + * are zero- initialized. + * If the new size is smaller, entries are removed from the end of the array + * and their resources reclaimed. + * + * \par Note: + * Resizing to 0 is not a substitute for calling ::rcutils_string_array_fini. + * + * \par Note: + * If this function fails, \p string_array remains unchanged and should still + * be reclaimed with ::rcutils_string_array_fini. + * + * \param[inout] string_array object to be resized. + * \param[in] new_size the size the array should be changed to. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_array_resize( + rcutils_string_array_t * string_array, + size_t new_size); + +/// Lexicographic comparer for pointers to string pointers. +/** + * This functions compares pointers to string pointers lexicographically + * ascending. + * + * \param[in] lhs pointer to the first string pointer. + * \param[in] rhs pointer to the second string pointer. + * \return <0 if lhs is lexicographically lower, or + * \return 0 if the strings are the same, or + * \return >0 if lhs is lexicographically higher. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +int +rcutils_string_array_sort_compare(const void * lhs, const void * rhs); + +/// Sort a string array according to lexicographical order. +/** + * This function changes the order of the entries in a string array so that + * they are in lexicographically ascending order. + * Empty entries are placed at the end of the array. + * + * \param[inout] string_array object whose elements should be sorted. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +inline +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_array_sort(rcutils_string_array_t * string_array) +{ + RCUTILS_CHECK_FOR_NULL_WITH_MSG( + string_array, "string_array is null", return RCUTILS_RET_INVALID_ARGUMENT); + + return rcutils_qsort( + string_array->data, + string_array->size, + sizeof(string_array->data[0]), + rcutils_string_array_sort_compare); +} + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__TYPES__STRING_ARRAY_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/types/string_map.h b/ports/espressif/microros-ext/include/rcutils/rcutils/types/string_map.h new file mode 100644 index 0000000000000..49b65fdbfdd50 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/types/string_map.h @@ -0,0 +1,443 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__TYPES__STRING_MAP_H_ +#define RCUTILS__TYPES__STRING_MAP_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/allocator.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/macros.h" +#include "rcutils/visibility_control.h" + +struct rcutils_string_map_impl_s; + +/// The structure holding the metadata for a string map. +typedef struct RCUTILS_PUBLIC_TYPE rcutils_string_map_s +{ + /// A pointer to the PIMPL implementation type. + struct rcutils_string_map_impl_s * impl; +} rcutils_string_map_t; + +/// Return an empty string map struct. +/** + * This function returns an empty and zero initialized string map struct. + * + * Example: + * + * ```c + * // Do not do this: + * // rcutils_string_map_t foo; + * // rcutils_string_map_fini(&foo); // undefined behavior! + * + * // Do this instead: + * rcutils_string_map_t bar = rcutils_get_zero_initialized_string_map(); + * rcutils_string_map_fini(&bar); // ok + * ``` + * */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_string_map_t +rcutils_get_zero_initialized_string_map(); + +/// Initialize a rcutils_string_map_t, allocating space for given capacity. +/** + * This function initializes the rcutils_string_map_t with a given initial + * capacity for entries. + * Note this does not allocate space for keys or values in the map, just the + * arrays of pointers to the keys and values. + * rcutils_string_map_set() should still be used when assigning values. + * + * The string_map argument should point to allocated memory and should have + * been zero initialized with rcutils_get_zero_initialized_string_map(). + * For example: + * + * ```c + * rcutils_string_map_t string_map = rcutils_get_zero_initialized_string_map(); + * rcutils_ret_t ret = + * rcutils_string_map_init(&string_map, 10, rcutils_get_default_allocator()); + * if (ret != RCUTILS_RET_OK) { + * // ... do error handling + * } + * // ... use the string map and when done: + * ret = rcutils_string_map_fini(&string_map); + * if (ret != RCUTILS_RET_OK) { + * // ... do error handling + * } + * ``` + * + * \param[inout] string_map rcutils_string_map_t to be initialized + * \param[in] initial_capacity the amount of initial capacity for the string map + * \param[in] allocator the allocator to use through out the lifetime of the map + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_STRING_MAP_ALREADY_INIT if already initialized, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_map_init( + rcutils_string_map_t * string_map, + size_t initial_capacity, + rcutils_allocator_t allocator); + +/// Finalize the previously initialized string map struct. +/** + * This function will free any resources which were created when initializing + * or when calling rcutils_string_map_set(). + * + * \param[inout] string_map rcutils_string_map_t to be finalized + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_map_fini(rcutils_string_map_t * string_map); + +/// Get the current capacity of the string map. +/** + * This function will return the internal capacity of the map, which is the + * maximum number of key value pairs the map could hold. + * The capacity can be set initially with rcutils_string_map_init() or + * with rcutils_string_map_reserve(). + * The capacity does not indicate how many key value paris are stored in the + * map, the rcutils_string_map_get_size() function can provide that. + * + * \param[in] string_map rcutils_string_map_t to be queried + * \param[out] capacity capacity of the string map + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_STRING_MAP_INVALID if the string map is invalid, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_map_get_capacity(const rcutils_string_map_t * string_map, size_t * capacity); + +/// Get the current size of the string map. +/** + * This function will return the internal size of the map, which is the + * current number of key value pairs in the map. + * The size is changed when calling rcutils_string_map_set_no_resize(), + * rcutils_string_map_set(), or rcutils_string_map_unset(). + * + * \param[in] string_map rcutils_string_map_t to be queried + * \param[out] size size of the string map + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_STRING_MAP_INVALID if the string map is invalid, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_map_get_size(const rcutils_string_map_t * string_map, size_t * size); + +/// Reserve a given amount of capacity in the map. +/** + * Increases the capacity of the map to at least the given size. + * + * If the current capacity is less than requested capacity then the capacity + * is increased using the allocator given during initialization of the map in + * rcutils_string_map_init(). + * If the requested capacity is less than the current capacity, the capacity + * may be reduced, but no existing key value pairs will be truncated to do so. + * In effect, the capacity will be shrunk to fit the number of items in map or + * the requested capacity, which ever is larger. + * + * If recovering all resources is desired first call rcutils_string_map_clear() + * and then this function with a capacity of 0. + * + * \param[inout] string_map rcutils_string_map_t to have space reserved in + * \param[in] capacity requested size to reserve in the map + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_STRING_MAP_INVALID if the string map is invalid, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_map_reserve(rcutils_string_map_t * string_map, size_t capacity); + +/// Remove all key value pairs from the map. +/** + * This function will remove all key value pairs from the map, and it will + * reclaim all resources allocated as a result of setting key value pairs. + * rcutils_string_map_fini() should still be called after this. + * + * \param[inout] string_map rcutils_string_map_t to be cleared + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_STRING_MAP_INVALID if the string map is invalid, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_map_clear(rcutils_string_map_t * string_map); + +/// Set a key value pair in the map, increasing capacity if necessary. +/** + * The capacity will be increased if needed using rcutils_string_map_reserve(). + * Otherwise it is the same as rcutils_string_map_set_no_resize(). + * + * \see rcutils_string_map_set_no_resize() + * + * \param[inout] string_map rcutils_string_map_t to be updated + * \param[in] key map key, must be null terminated c string + * \param[in] value value for given map key, must be null terminated c string + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_STRING_MAP_INVALID if the string map is invalid, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_map_set(rcutils_string_map_t * string_map, const char * key, const char * value); + +/// Set a key value pair in the map but only if the map has enough capacity. +/** + * If the map already contains the given key, the existing value will be + * replaced with the given value. + * If the map does not contain the given key, and the map has additional + * unused capacity, then it will store the given key and value in the map. + * If there is no unused capacity in the map, then RCUTILS_RET_NOT_ENOUGH_SPACE + * is returned. + * + * The given key and value c strings are copied into the map, and so storage is + * allocated for them in the map when this function is called if necessary. + * The storage allocated for this purpose is reclaimed either when + * rcutils_string_map_fini() is called on this map or when using this function + * or rcutils_string_map_unset(). + * + * Any allocation that occurs in this functions uses the allocator of the map, + * which is given when the map is initialized in rcutils_string_map_init(). + * + * \param[inout] string_map rcutils_string_map_t to be updated + * \param[in] key map key, must be null terminated c string + * \param[in] value value for given map key, must be null terminated c string + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_STRING_MAP_INVALID if the string map is invalid, or + * \return #RCUTILS_RET_NOT_ENOUGH_SPACE if map is full, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_map_set_no_resize( + rcutils_string_map_t * string_map, + const char * key, + const char * value); + +/// Unset a key value pair in the map. +/** + * The key needs to be a null terminated c string. + * If the given key is not found, RCUTILS_RET_STRING_KEY_NOT_FOUND is returned. + * + * \param[inout] string_map rcutils_string_map_t to be updated + * \param[in] key map key, must be null terminated c string + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_STRING_MAP_INVALID if the string map is invalid, or + * \return #RCUTILS_RET_STRING_KEY_NOT_FOUND if key not found, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_map_unset(rcutils_string_map_t * string_map, const char * key); + +/// Get whether or not a key exists. +/** + * The key needs to be a null terminated c string. + * + * This function can fail and return false if the key is not found, + * or the string_map is NULL or invalid, or if the key is NULL. + * In all cases no error message is set. + * + * \param[in] string_map rcutils_string_map_t to be searched + * \param[in] key map key, must be null terminated c string + * \return `true` if key is in the map, or + * \return `false` if key is not in the map, or + * \return `false` for invalid arguments, or + * \return `false` if the string map is invalid. + */ +RCUTILS_PUBLIC +bool +rcutils_string_map_key_exists(const rcutils_string_map_t * string_map, const char * key); + +/// Get whether or not a key of known length exists. +/** + * Identical to rcutils_string_map_key_exists() but without relying on key to be + * a null terminated c string. + * + * \param[in] string_map rcutils_string_map_t to be searched + * \param[in] key map key + * \param[in] key_length map key length + * \return `true` if key is in the map, or + * \return `false` if key is not in the map, or + * \return `false` for invalid arguments, or + * \return `false` if the string map is invalid. + */ +RCUTILS_PUBLIC +bool +rcutils_string_map_key_existsn( + const rcutils_string_map_t * string_map, + const char * key, + size_t key_length); + +/// Get value given a key. +/** + * The key needs to be a null terminated c string. + * + * This function can fail, and therefore return NULL, if the key is not found, + * or the string_map is NULL or invalid, or if the key is NULL. + * In all cases no error message is set. + * + * The returned value string is still owned by the map, and it should not be + * modified or free'd. + * This also means that the value pointer becomes invalid if either + * rcutils_string_map_clear() or rcutils_string_map_fini() are called or if + * the key value pair is updated or removed with one of rcutils_string_map_set() + * or rcutils_string_map_set_no_resize() or rcutils_string_map_unset(). + * + * \param[in] string_map rcutils_string_map_t to be searched + * \param[in] key map key, must be null terminated c string + * \return value for the given key if successful, or + * \return `NULL` for invalid arguments, or + * \return `NULL` if the string map is invalid, or + * \return `NULL` if key not found, or + * \return `NULL` if an unknown error occurs. + */ +RCUTILS_PUBLIC +const char * +rcutils_string_map_get(const rcutils_string_map_t * string_map, const char * key); + +/// Get value given a key and key length. +/** + * Identical to rcutils_string_map_get() but without relying on key to be a + * null terminated c string. + * + * \param[in] string_map rcutils_string_map_t to be searched + * \param[in] key map key + * \param[in] key_length map key length + * \return value for the given key if successful, or + * \return `NULL` for invalid arguments, or + * \return `NULL` if the string map is invalid, or + * \return `NULL` if key not found, or + * \return `NULL` if an unknown error occurs. + */ +RCUTILS_PUBLIC +const char * +rcutils_string_map_getn( + const rcutils_string_map_t * string_map, + const char * key, + size_t key_length); + +/// Get the next key in the map, unless NULL is given, then get the first key. +/** + * This function allows you iteratively get each key in the map. + * + * If NULL is given for the key, then the first key in the map is returned. + * If that returned key if given to the this function, then the next key in the + * map is returned. + * If there are no more keys in the map or if the given key is not in the map, + * NULL is returned. + * + * The order of the keys in the map is arbitrary and if the map is modified + * between calls to this function the behavior is undefined. + * If the map is modifeid then iteration should begin again by passing NULL to + * get the first key again. + * + * This function operates based on the address of the pointer, you cannot pass + * a copy of a key to get the next key. + * + * Example: + * + * ```c + * printf("keys in the map:\n"); + * const char * current_key = rcutils_string_map_get_next_key(&map, NULL); + * while (current_key) { + * printf(" - %s\n", current_key); + * current_key = rcutils_string_map_get_next_key(&map, current_key); + * } + * ``` + * + * NULL can also be returned if NULL is given for the string_map or if the + * string_map is invalid. + * + * \param[in] string_map rcutils_string_map_t to be queried + * \param[in] key NULL to get the first key or the previous key to get the next + * \return value for the given key if successful, or + * \return `NULL` for invalid arguments, or + * \return `NULL` if the string map is invalid, or + * \return `NULL` if key not found, or + * \return `NULL` if there are no more keys in the map, or + * \return `NULL` if an unknown error occurs. + */ +RCUTILS_PUBLIC +const char * +rcutils_string_map_get_next_key( + const rcutils_string_map_t * string_map, + const char * key); + +/// Copy all the key value pairs from one map into another, overwritting and resizing if needed. +/** + * If the destination string map does not have enough storage, then it is will + * be resized. + * If a key value pair exists in the destination map, its value will be + * replaced with the source map's value. + * + * It is possible for only some of the values to be copied if an error happens + * during the copying process, e.g. if memory allocation fails. + * + * \param[in] src_string_map rcutils_string_map_t to be copied from + * \param[inout] dst_string_map rcutils_string_map_t to be copied to + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_STRING_MAP_INVALID if the string map is invalid, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_string_map_copy( + const rcutils_string_map_t * src_string_map, + rcutils_string_map_t * dst_string_map); + +#ifdef __cplusplus +} +#endif + +#endif // RCUTILS__TYPES__STRING_MAP_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/types/uint8_array.h b/ports/espressif/microros-ext/include/rcutils/rcutils/types/uint8_array.h new file mode 100644 index 0000000000000..215e9384ad720 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/types/uint8_array.h @@ -0,0 +1,121 @@ +// Copyright 2018 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/// \file + +#ifndef RCUTILS__TYPES__UINT8_ARRAY_H_ +#define RCUTILS__TYPES__UINT8_ARRAY_H_ + +#if __cplusplus +extern "C" +{ +#endif + +#include + +#include "rcutils/allocator.h" +#include "rcutils/types/rcutils_ret.h" +#include "rcutils/visibility_control.h" + +/// The structure holding the metadata for a uint8 array. +typedef struct RCUTILS_PUBLIC_TYPE rcutils_uint8_array_s +{ + /// The allocated memory for the uint8 array. + uint8_t * buffer; + + /// The number of valid elements in the uint8 array. + size_t buffer_length; + + /// The maximum capacity of the uint8 array. + size_t buffer_capacity; + + /// The allocator used to allocate and free memory for the uint8 array. + rcutils_allocator_t allocator; +} rcutils_uint8_array_t; + +/// Return a zero initialized uint8 array struct. +/** + * \return rcutils_uint8_array_t a zero initialized uint8 array struct + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_uint8_array_t +rcutils_get_zero_initialized_uint8_array(void); + +/// Initialize a zero initialized uint8 array struct. +/** + * This function may leak if the uint8 array struct is already initialized. + * If the capacity is set to 0, no memory is allocated and the internal buffer + * is still NULL. + * + * \param[inout] uint8_array a pointer to the to be initialized uint8 array struct + * \param[in] buffer_capacity the size of the memory to allocate for the byte stream + * \param[in] allocator the allocator to use for the memory allocation + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if any arguments are invalid, or + * \return 'RCUTILS_RET_BAD_ALLOC` if no memory could be allocated correctly + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_uint8_array_init( + rcutils_uint8_array_t * uint8_array, + size_t buffer_capacity, + const rcutils_allocator_t * allocator); + +/// Finalize a uint8 array struct. +/** + * Cleans up and deallocates any resources used in a rcutils_uint8_array_t. + * The array passed to this function needs to have been initialized by + * rcutils_uint8_array_init(). + * Passing an uninitialized instance to this function leads to undefined + * behavior. + * + * \param[in] uint8_array pointer to the rcutils_uint8_array_t to be cleaned up + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if the uint8_array argument is invalid + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_uint8_array_fini(rcutils_uint8_array_t * uint8_array); + +/// Resize the internal buffer of the uint8 array. +/** + * The internal buffer of the uint8 array can be resized dynamically if needed. + * If the new size is smaller than the current capacity, then the memory is + * truncated. + * Be aware, that this might deallocate the memory and therefore invalidates any + * pointers to this storage. + * + * \param[inout] uint8_array pointer to the instance of rcutils_uint8_array_t which is + * being resized + * \param[in] new_size the new size of the internal buffer + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT if new_size is set to zero + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation failed, or + * \return #RCUTILS_RET_ERROR if an unexpected error occurs. + */ +RCUTILS_PUBLIC +RCUTILS_WARN_UNUSED +rcutils_ret_t +rcutils_uint8_array_resize(rcutils_uint8_array_t * uint8_array, size_t new_size); + +#if __cplusplus +} +#endif + +#endif // RCUTILS__TYPES__UINT8_ARRAY_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/visibility_control.h b/ports/espressif/microros-ext/include/rcutils/rcutils/visibility_control.h new file mode 100644 index 0000000000000..189cb39a3d8cc --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/visibility_control.h @@ -0,0 +1,32 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef RCUTILS__VISIBILITY_CONTROL_H_ +#define RCUTILS__VISIBILITY_CONTROL_H_ + +#include "rcutils/visibility_control_macros.h" + +#ifdef RCUTILS_BUILDING_DLL +# define RCUTILS_PUBLIC RCUTILS_EXPORT +#else +# define RCUTILS_PUBLIC RCUTILS_IMPORT +#endif // !RCUTILS_BUILDING_DLL + +#if defined(_MSC_VER) || defined(__CYGWIN__) +# define RCUTILS_PUBLIC_TYPE RCUTILS_PUBLIC +#else // defined(_MSC_VER) || defined(__CYGWIN__) +# define RCUTILS_PUBLIC_TYPE +#endif // !defined(_MSC_VER) && !defined(__CYGWIN__) + +#endif // RCUTILS__VISIBILITY_CONTROL_H_ diff --git a/ports/espressif/microros-ext/include/rcutils/rcutils/visibility_control_macros.h b/ports/espressif/microros-ext/include/rcutils/rcutils/visibility_control_macros.h new file mode 100644 index 0000000000000..1f0bfa8b66747 --- /dev/null +++ b/ports/espressif/microros-ext/include/rcutils/rcutils/visibility_control_macros.h @@ -0,0 +1,65 @@ +// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef RCUTILS__VISIBILITY_CONTROL_MACROS_H_ +#define RCUTILS__VISIBILITY_CONTROL_MACROS_H_ + +// Defines macros to express whether a symbol is localed, imported, or exported +// +// Those macros are compatible with GCC, clang, and Microsoft Visual C++. They +// can be used to enforce which symbols of a library are publicly accessible. +// +// RCUTILS_IMPORT, RCUTILS_EXPORT, and RCUTILS_LOCAL are respectively declaring +// an imported, exported, or local symbol. +// RCUTILS_LOCAL can be used directly. However, RCUTILS_IMPORT, and +// RCUTILS_EXPORT may not be used directly. Every project need to provide +// an additional header called `visibility_macros.h` containing: +// +// #ifdef _BUILDING_DLL +// # define _PUBLIC RCUTILS_EXPORT +// #else +// # define _PUBLIC RCUTILS_IMPORT +// #endif // !_BUILDING_DLL +// #define _LOCAL RCUTILS_LOCAL +// +// ...where "" has been replaced by the project name, such as +// "MY_PROJECT". +// Your project CMakeLists.txt should also contain the following statement: +// +// target_compile_definitions( PRIVATE "_BUILDING_DLL") +// +// A public (exported) class should then be tagged as _PUBLIC, whereas +// a non-public class should be tagged with _LOCAL. +// +// See GCC documentation: https://gcc.gnu.org/wiki/Visibility + +#if defined(_MSC_VER) || defined(__CYGWIN__) +// Use the Windows syntax when compiling with Microsoft Visual C++. +// +// GCC on Windows also support this syntax. When compiling with cygwin, +// prefer using dllimport/dllexport are the semantic of those flags is closer +// to msvc++ behavior. See GCC documentation: +// https://gcc.gnu.org/onlinedocs/gcc/Microsoft-Windows-Function-Attributes.html +# define RCUTILS_IMPORT __declspec(dllimport) +# define RCUTILS_EXPORT __declspec(dllexport) +# define RCUTILS_LOCAL +#else // defined(_MSC_VER) || defined(__CYGWIN__) +// On Linux, use the GCC syntax. This syntax is understood by other compilers +// such as clang, icpc, and xlc++. +# define RCUTILS_IMPORT __attribute__ ((visibility("default"))) +# define RCUTILS_EXPORT __attribute__ ((visibility("default"))) +# define RCUTILS_LOCAL __attribute__ ((visibility("hidden"))) +#endif // !defined(_MSC_VER) && !defined(__CYGWIN__) + +#endif // RCUTILS__VISIBILITY_CONTROL_MACROS_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/action_type_support_struct.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/action_type_support_struct.h new file mode 100644 index 0000000000000..62b45b036eea7 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/action_type_support_struct.h @@ -0,0 +1,73 @@ +// Copyright 2018 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__ACTION_TYPE_SUPPORT_STRUCT_H_ +#define ROSIDL_RUNTIME_C__ACTION_TYPE_SUPPORT_STRUCT_H_ + +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_runtime_c/service_type_support_struct.h" +#include "rosidl_runtime_c/type_hash.h" +#include "rosidl_runtime_c/visibility_control.h" +#include "rosidl_typesupport_interface/macros.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct rosidl_action_type_support_t rosidl_action_type_support_t; + +typedef const rosidl_type_hash_t * +(* rosidl_action_get_type_hash_function)(const rosidl_action_type_support_t *); + +typedef const rosidl_runtime_c__type_description__TypeDescription * +(* rosidl_action_get_type_description_function)(const rosidl_action_type_support_t *); + +typedef const rosidl_runtime_c__type_description__TypeSource__Sequence * +(* rosidl_action_get_type_description_sources_function)(const rosidl_action_type_support_t *); + +/// Contains rosidl action type support data. +/* + * Actions are built based on services(goal, result and cancel) and message (feedback and status). + */ +struct rosidl_action_type_support_t +{ + const rosidl_service_type_support_t * goal_service_type_support; + const rosidl_service_type_support_t * result_service_type_support; + const rosidl_service_type_support_t * cancel_service_type_support; + const rosidl_message_type_support_t * feedback_message_type_support; + const rosidl_message_type_support_t * status_message_type_support; + /// Pointer to function to get the hash of the action's description + rosidl_action_get_type_hash_function get_type_hash_func; + /// Pointer to function to get the description of the type + rosidl_action_get_type_description_function get_type_description_func; + /// Pointer to function to get the text of the sources that defined the description of the type + rosidl_action_get_type_description_sources_function get_type_description_sources_func; +}; + +/// Get the action type support given a provided action and package. +/* + * \param PkgName name of the package that contains the action + * \param Name action name + * \return a rosidl_action_type_support_t struct if found, otherwise NULL. + */ +#define ROSIDL_GET_ACTION_TYPE_SUPPORT(PkgName, Name) \ + ROSIDL_TYPESUPPORT_INTERFACE__ACTION_SYMBOL_NAME( \ + rosidl_typesupport_c, PkgName, action, Name)() + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__ACTION_TYPE_SUPPORT_STRUCT_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/message_initialization.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/message_initialization.h new file mode 100644 index 0000000000000..8778594a39db2 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/message_initialization.h @@ -0,0 +1,35 @@ +// Copyright 2017 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__MESSAGE_INITIALIZATION_H_ +#define ROSIDL_RUNTIME_C__MESSAGE_INITIALIZATION_H_ + +enum rosidl_runtime_c__message_initialization +{ + // Initialize all fields of the message, either with the default value + // (if the field has one), or with an empty value (generally 0 or an + // empty string). + ROSIDL_RUNTIME_C_MSG_INIT_ALL, + // Skip initialization of all fields of the message. It is up to the user to + // ensure that all fields are initialized before use. + ROSIDL_RUNTIME_C_MSG_INIT_SKIP, + // Initialize all fields of the message to an empty value (generally 0 or an + // empty string). + ROSIDL_RUNTIME_C_MSG_INIT_ZERO, + // Initialize all fields of the message that have defaults; all other fields + // are left untouched. + ROSIDL_RUNTIME_C_MSG_INIT_DEFAULTS_ONLY, +}; + +#endif // ROSIDL_RUNTIME_C__MESSAGE_INITIALIZATION_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/message_type_support_struct.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/message_type_support_struct.h new file mode 100644 index 0000000000000..071cac27d3ef5 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/message_type_support_struct.h @@ -0,0 +1,106 @@ +// Copyright 2015-2016 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__MESSAGE_TYPE_SUPPORT_STRUCT_H_ +#define ROSIDL_RUNTIME_C__MESSAGE_TYPE_SUPPORT_STRUCT_H_ + +#include "rosidl_runtime_c/type_description/type_description__struct.h" +#include "rosidl_runtime_c/type_description/type_source__struct.h" +#include "rosidl_runtime_c/type_hash.h" +#include "rosidl_runtime_c/visibility_control.h" +#include "rosidl_typesupport_interface/macros.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct rosidl_message_type_support_t rosidl_message_type_support_t; + +typedef const rosidl_message_type_support_t * (* rosidl_message_typesupport_handle_function)( + const rosidl_message_type_support_t *, const char *); + +typedef const rosidl_type_hash_t * +(* rosidl_message_get_type_hash_function)(const rosidl_message_type_support_t *); + +typedef const rosidl_runtime_c__type_description__TypeDescription * +(* rosidl_message_get_type_description_function)(const rosidl_message_type_support_t *); + +typedef const rosidl_runtime_c__type_description__TypeSource__Sequence * +(* rosidl_message_get_type_description_sources_function)(const rosidl_message_type_support_t *); + +/// Contains rosidl message type support data +struct rosidl_message_type_support_t +{ + /// String identifier for the type_support. + const char * typesupport_identifier; + /// Pointer to the message type support library + const void * data; + /// Pointer to the message type support handler function + rosidl_message_typesupport_handle_function func; + /// Pointer to function to get the hash of the message's description + rosidl_message_get_type_hash_function get_type_hash_func; + /// Pointer to function to get the description of the type + rosidl_message_get_type_description_function get_type_description_func; + /// Pointer to function to get the text of the sources that defined the description of the type + rosidl_message_get_type_description_sources_function get_type_description_sources_func; +}; + +/// Return a rosidl_message_type_support_t struct with members set to `NULL`. +ROSIDL_GENERATOR_C_PUBLIC +rosidl_message_type_support_t rosidl_get_zero_initialized_message_type_support_handle(void); + +/// Get the message type support handle specific to this identifier. +/** + * The handle's message typesupport identifier function is returned or if the parameters are NULL + * then an assert will happen. + * + * \param handle Handle to message type support + * \param identifier The typesupport identifier to get the handle function for + * \return The associated message typesupport handle function. + */ +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_message_type_support_t * get_message_typesupport_handle( + const rosidl_message_type_support_t * handle, const char * identifier); + +// Get the message type support handle function specific to this identifier. +/** + * If the identifier is the same as this handle's typesupport_identifier the handle is simply + * returned or if the parameters are NULL then an assert will happen. + * + * \param handle Handle to message type support + * \param identifier The typesupport identifier to get the handle function for + * \return if the identifier match's the handle's identifier then the handle's function + * is returned. + */ +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_message_type_support_t * get_message_typesupport_handle_function( + const rosidl_message_type_support_t * handle, const char * identifier); + +/// Get the message type support given a provided action and package. +/* + * \param PkgName Name of the package that contains the message + * \param MsgSubfolder name of the subfolder (for example: msg) + * \param MsgName message name + * \return a rosidl_message_type_support_t struct if founded, otherwise NULL. + */ +#define ROSIDL_GET_MSG_TYPE_SUPPORT(PkgName, MsgSubfolder, MsgName) \ + ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME( \ + rosidl_typesupport_c, PkgName, MsgSubfolder, MsgName)() + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__MESSAGE_TYPE_SUPPORT_STRUCT_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/primitives_sequence.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/primitives_sequence.h new file mode 100644 index 0000000000000..5c152a3c6576b --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/primitives_sequence.h @@ -0,0 +1,57 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__PRIMITIVES_SEQUENCE_H_ +#define ROSIDL_RUNTIME_C__PRIMITIVES_SEQUENCE_H_ + +#include +#include +#include + +#define ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(STRUCT_NAME, TYPE_NAME) \ + typedef struct rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence \ + { \ + TYPE_NAME * data; /*!< The pointer to an array of STRUCT_NAME */ \ + size_t size; /*!< The number of valid items in data */ \ + size_t capacity; /*!< The number of allocated items in data */ \ + } rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence; + +// sequence types for all basic types +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(float, float) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(double, double) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(long_double, long double) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(char, signed char) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(wchar, uint16_t) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(boolean, bool) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(octet, uint8_t) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(uint8, uint8_t) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(int8, int8_t) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(uint16, uint16_t) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(int16, int16_t) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(uint32, uint32_t) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(int32, int32_t) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(uint64, uint64_t) +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(int64, int64_t) + +// emulate legacy API +typedef rosidl_runtime_c__boolean__Sequence + rosidl_runtime_c__bool__Sequence; +typedef rosidl_runtime_c__octet__Sequence + rosidl_runtime_c__byte__Sequence; +typedef rosidl_runtime_c__float__Sequence + rosidl_runtime_c__float32__Sequence; +typedef rosidl_runtime_c__double__Sequence + rosidl_runtime_c__float64__Sequence; + +#endif // ROSIDL_RUNTIME_C__PRIMITIVES_SEQUENCE_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/primitives_sequence_functions.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/primitives_sequence_functions.h new file mode 100644 index 0000000000000..4f8b1feafa664 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/primitives_sequence_functions.h @@ -0,0 +1,216 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__PRIMITIVES_SEQUENCE_FUNCTIONS_H_ +#define ROSIDL_RUNTIME_C__PRIMITIVES_SEQUENCE_FUNCTIONS_H_ + +#include +#include + +#include "rosidl_runtime_c/primitives_sequence.h" +#include "rosidl_runtime_c/visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +/** + * \def ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_INIT(STRUCT_NAME) + * + * \brief Allocate the memory for the sequence. + * + * Calling the function with an already allocated sequence will leak the + * previously allocated memory. + * + * param sequence a pointer to a sequence struct + * param size the number of items to allocate in the sequence, both sequence + * fields `size` and `capacity` are set to this parameter + * return true if successful, false if the passed sequence pointer is null + * or the memory allocation failed + */ +#define ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_INIT(STRUCT_NAME) \ + /** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_INIT(STRUCT_NAME) */ \ + ROSIDL_GENERATOR_C_PUBLIC \ + bool rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence__init( \ + rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * sequence, size_t size); + +/** + * \def ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FINI(STRUCT_NAME) + * + * \brief Deallocate the memory of the sequence. + * + * Calling the function with an already deallocated sequence is a no-op. + * + * param sequence a pointer to a sequence struct + */ +#define ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FINI(STRUCT_NAME) \ + /** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FINI(STRUCT_NAME) */ \ + ROSIDL_GENERATOR_C_PUBLIC \ + void rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence__fini( \ + rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * sequence); + +/** + * \def ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_EQ(STRUCT_NAME) + * + * \brief Check for sequence equality. + * + * param lhs a pointer to a sequence struct + * param rhs a pointer to another sequence struct + */ +#define ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_EQ(STRUCT_NAME) \ + /** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_EQ(STRUCT_NAME) */ \ + ROSIDL_GENERATOR_C_PUBLIC \ + bool rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence__are_equal( \ + const rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * lhs, \ + const rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * rhs); + +/** + * \def ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_COPY(STRUCT_NAME) + * + * \brief Copy the sequence. + * + * param input a pointer to the sequence to copy from + * param output a pointer to an initialized sequence to copy to + * return true if successful, false if either pointer is null or memory + * allocation fails. + */ +#define ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_COPY(STRUCT_NAME) \ + /** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_COPY(STRUCT_NAME) */ \ + ROSIDL_GENERATOR_C_PUBLIC \ + bool rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence__copy( \ + const rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * input, \ + rosidl_runtime_c__ ## STRUCT_NAME ## __Sequence * output); + +/** + * \def ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(STRUCT_NAME) + * + * \brief See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_INIT(STRUCT_NAME), + * #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FINI(STRUCT_NAME), + * #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_EQ(STRUCT_NAME), and + * #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_COPY(STRUCT_NAME). + */ +#define ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(STRUCT_NAME) \ + ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_INIT(STRUCT_NAME) \ + ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FINI(STRUCT_NAME) \ + ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_EQ(STRUCT_NAME) \ + ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_COPY(STRUCT_NAME) + +/** + * \defgroup primitives_sequence_functions__basic_types Sequence functions for all basic types. + */ +/**@{*/ +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(float) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(double) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(long_double) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(char) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(wchar) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(boolean) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(octet) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(uint8) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(int8) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(uint16) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(int16) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(uint32) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(int32) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(uint64) +ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FUNCTIONS(int64) +/**@}*/ + +/** + * \defgroup primitives_sequence_functions__legacy Sequence functions for legacy types for backward compatibility. + */ +/**@{*/ +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_INIT(bool) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__bool__Sequence__init( + rosidl_runtime_c__boolean__Sequence * sequence, size_t size); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FINI(bool) */ +ROSIDL_GENERATOR_C_PUBLIC +void rosidl_runtime_c__bool__Sequence__fini( + rosidl_runtime_c__boolean__Sequence * sequence); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_EQ(bool) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__bool__Sequence__are_equal( + const rosidl_runtime_c__boolean__Sequence * lhs, + const rosidl_runtime_c__boolean__Sequence * rhs); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_COPY(bool) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__bool__Sequence__copy( + const rosidl_runtime_c__boolean__Sequence * input, + rosidl_runtime_c__boolean__Sequence * output); + +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_INIT(byte) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__byte__Sequence__init( + rosidl_runtime_c__octet__Sequence * sequence, size_t size); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FINI(byte) */ +ROSIDL_GENERATOR_C_PUBLIC +void rosidl_runtime_c__byte__Sequence__fini( + rosidl_runtime_c__octet__Sequence * sequence); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_EQ(byte) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__byte__Sequence__are_equal( + const rosidl_runtime_c__octet__Sequence * lhs, + const rosidl_runtime_c__octet__Sequence * rhs); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_COPY(byte) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__byte__Sequence__copy( + const rosidl_runtime_c__octet__Sequence * input, + rosidl_runtime_c__octet__Sequence * output); + +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_INIT(float32) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__float32__Sequence__init( + rosidl_runtime_c__float__Sequence * sequence, size_t size); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FINI(float32) */ +ROSIDL_GENERATOR_C_PUBLIC +void rosidl_runtime_c__float32__Sequence__fini( + rosidl_runtime_c__float__Sequence * sequence); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_EQ(float32) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__float32__Sequence__are_equal( + const rosidl_runtime_c__float__Sequence * lhs, + const rosidl_runtime_c__float__Sequence * rhs); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_COPY(float32) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__float32__Sequence__copy( + const rosidl_runtime_c__float__Sequence * input, + rosidl_runtime_c__float__Sequence * output); + +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_INIT(float64) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__float64__Sequence__init( + rosidl_runtime_c__double__Sequence * sequence, size_t size); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_FINI(float64) */ +ROSIDL_GENERATOR_C_PUBLIC +void rosidl_runtime_c__float64__Sequence__fini( + rosidl_runtime_c__double__Sequence * sequence); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_EQ(float64) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__float64__Sequence__are_equal( + const rosidl_runtime_c__double__Sequence * lhs, + const rosidl_runtime_c__double__Sequence * rhs); +/** See #ROSIDL_RUNTIME_C__DECLARE_PRIMITIVE_SEQUENCE_COPY(float64) */ +ROSIDL_GENERATOR_C_PUBLIC +bool rosidl_runtime_c__float64__Sequence__copy( + const rosidl_runtime_c__double__Sequence * input, + rosidl_runtime_c__double__Sequence * output); +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__PRIMITIVES_SEQUENCE_FUNCTIONS_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/sequence_bound.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/sequence_bound.h new file mode 100644 index 0000000000000..bce6ab5d7427c --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/sequence_bound.h @@ -0,0 +1,82 @@ +// Copyright 2015-2018 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__SEQUENCE_BOUND_H_ +#define ROSIDL_RUNTIME_C__SEQUENCE_BOUND_H_ + +#include "rosidl_runtime_c/visibility_control.h" +#include "rosidl_typesupport_interface/macros.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct rosidl_runtime_c__Sequence__bound rosidl_runtime_c__Sequence__bound; + +typedef const rosidl_runtime_c__Sequence__bound * (* rosidl_runtime_c__bound_handle_function)( + const rosidl_runtime_c__Sequence__bound *, const char *); + +struct rosidl_runtime_c__Sequence__bound +{ + /// String identifier for the type_support. + const char * typesupport_identifier; + /// Pointer to type support handle function + const void * data; + rosidl_runtime_c__bound_handle_function func; +}; + +/// Get the message bounds handle specific to this identifier. +/** + * The handle's sequence bound is simply returned or if the parameters are NULL then an assert + * will happen. + * + * \param handle Handle to service type support + * \param identifier The identifier to get the handle for + * \return The associated sequence bound handle function. + */ +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__Sequence__bound * get_sequence_bound_handle( + const rosidl_runtime_c__Sequence__bound * handle, const char * identifier); + +/// Get the message bounds handle function specific to this identifier. +/** + * If the identifier is the same as this handle function's identifier the handle is simply returned + * or if the parameters are NULL then an assert will happen. + * + * \param handle Handle to service type support + * \param identifier The identifier to get the handle function for + * \return if the identifier match's the handle's identifier then the handle's function + * is returned. + */ +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__Sequence__bound * get_sequence_bound_handle_function( + const rosidl_runtime_c__Sequence__bound * handle, const char * identifier); + +/// Get the sequence bounds given a provided action and package. +/* + * \param PkgName Name of the package that contains the message + * \param MsgSubfolder name of the subfolder (foe example: msg) + * \param MsgName message name + * \return a rosidl_message_bounds_t struct if founded, otherwise NULL. + */ +#define ROSIDL_GET_SEQUENCE_BOUNDS(PkgName, MsgSubfolder, MsgName) \ + ROSIDL_BOUNDS_INTERFACE__MESSAGE_SYMBOL_NAME( \ + rosidl_typesupport_c, PkgName, MsgSubfolder, MsgName)() + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__SEQUENCE_BOUND_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/service_type_support_struct.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/service_type_support_struct.h new file mode 100644 index 0000000000000..c6009ecd34956 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/service_type_support_struct.h @@ -0,0 +1,154 @@ +// Copyright 2015-2016 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__SERVICE_TYPE_SUPPORT_STRUCT_H_ +#define ROSIDL_RUNTIME_C__SERVICE_TYPE_SUPPORT_STRUCT_H_ + +#include + +#include "rcutils/allocator.h" +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_runtime_c/type_hash.h" +#include "rosidl_runtime_c/visibility_control.h" + +#include "rosidl_typesupport_interface/macros.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct rosidl_service_type_support_t rosidl_service_type_support_t; + +typedef const rosidl_service_type_support_t * (* rosidl_service_typesupport_handle_function)( + const rosidl_service_type_support_t *, const char *); + +typedef struct rosidl_service_introspection_info_s +{ + uint8_t event_type; + int32_t stamp_sec; + uint32_t stamp_nanosec; + uint8_t client_gid[16]; + int64_t sequence_number; +} rosidl_service_introspection_info_t; + +/// Creates a ServiceEvent message for the service. +/** + * Instantiates a ServiceEvent message with the given info and request/response message. + * The message is allocated using the given allocator and must be deallocated using + * the rosidl_service_introspection_destroy_handle + * + * \param[in] info POD fields of service_msgs/msg/ServiceEventInfo to be passed from rcl + * \param[in] allocator The allocator to use for allocating the ServiceEvent message + * \param[in] request_message type-erased handle to request message from rcl. Can be NULL. + * \param[in] response_message type-erased handle to request message from rcl. Can be NULL. + * \return The built ServiceEvent message. Will return NULL if the message could not be built. + **/ +typedef void * (* rosidl_event_message_create_handle_function_function)( + const rosidl_service_introspection_info_t * info, + rcutils_allocator_t * allocator, + const void * request_message, + const void * response_message); + +/// Destroys a ServiceEvent message +/** + * Destroys a ServiceEvent message returned by a rosidl_service_introspection_message_create_handle + * by calling the corresponding __fini function then deallocating + * + * \param[in] event_message The message to destroy. + * \param[in] allocator The allocator to use for deallocating the message. + */ +typedef bool (* rosidl_event_message_destroy_handle_function_function)( + void * event_message, + rcutils_allocator_t * allocator); + +typedef const rosidl_type_hash_t * +(* rosidl_service_get_type_hash_function)(const rosidl_service_type_support_t *); + +typedef const rosidl_runtime_c__type_description__TypeDescription * +(* rosidl_service_get_type_description_function)(const rosidl_service_type_support_t *); + +typedef const rosidl_runtime_c__type_description__TypeSource__Sequence * +(* rosidl_service_get_type_description_sources_function)(const rosidl_service_type_support_t *); + +/// Contains rosidl service type support data +struct rosidl_service_type_support_t +{ + /// String identifier for the type_support. + const char * typesupport_identifier; + /// Pointer to the service type support library + const void * data; + /// Pointer to the service type support handler function + rosidl_service_typesupport_handle_function func; + /// Service request message typesupport + const rosidl_message_type_support_t * request_typesupport; + /// Service response message typesupport + const rosidl_message_type_support_t * response_typesupport; + /// Service event message typesupport + const rosidl_message_type_support_t * event_typesupport; + /// Pointer to function to create the introspection message + rosidl_event_message_create_handle_function_function event_message_create_handle_function; + /// Pointer to function to finalize the introspection message + rosidl_event_message_destroy_handle_function_function event_message_destroy_handle_function; + /// Pointer to function to get the hash of the message's description + rosidl_service_get_type_hash_function get_type_hash_func; + /// Pointer to function to get the description of the type + rosidl_service_get_type_description_function get_type_description_func; + /// Pointer to function to get the text of the sources that defined the description of the type + rosidl_service_get_type_description_sources_function get_type_description_sources_func; +}; + +/// Get the service type support handle specific to this identifier. +/** + * The handle's message typesupport identifier function is returned or if the parameters are NULL + * then an assert will happen. + * + * \param handle Handle to service type support + * \param identifier The typesupport identifier to get the handle function for + * \return The associated service typesupport handle function. + */ +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_service_type_support_t * get_service_typesupport_handle( + const rosidl_service_type_support_t * handle, const char * identifier); + +/// Get the service type support handle function specific to this identifier. +/** +* If the identifier is the same as this handle's typesupport_identifier the handle is simply +* returned or if the parameters are NULL then an assert will happen. + * + * \param handle Handle to service type support + * \param identifier The typesupport identifier to get the handle function for + * \return if the identifier match's the handle's identifier then the handle's function + * is returned. + */ +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_service_type_support_t * get_service_typesupport_handle_function( + const rosidl_service_type_support_t * handle, const char * identifier); + +/// Get the service type support given a provided action and package. +/* + * \param PkgName Name of the package that contains the service + * \param SrvSubfolder name of the subfolder (for example: srv) + * \param SrvName service name + * \return a rosidl_service_type_support_t struct if founded, otherwise NULL. + */ +#define ROSIDL_GET_SRV_TYPE_SUPPORT(PkgName, SrvSubfolder, SrvName) \ + ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME( \ + rosidl_typesupport_c, PkgName, SrvSubfolder, SrvName)() + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__SERVICE_TYPE_SUPPORT_STRUCT_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string.h new file mode 100644 index 0000000000000..a37e7f6cc440c --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string.h @@ -0,0 +1,35 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__STRING_H_ +#define ROSIDL_RUNTIME_C__STRING_H_ + +#include + +#include "rosidl_runtime_c/primitives_sequence.h" + +/// An array of 8-bit characters terminated by a null byte. +typedef struct rosidl_runtime_c__String +{ + /// The pointer to the first character, the sequence ends with a null byte. + char * data; + /// The length of the string (excluding the null byte). + size_t size; + /// The capacity represents the number of allocated bytes (including the null byte). + size_t capacity; +} rosidl_runtime_c__String; + +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(String, rosidl_runtime_c__String) + +#endif // ROSIDL_RUNTIME_C__STRING_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string_bound.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string_bound.h new file mode 100644 index 0000000000000..a58e26d9fb258 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string_bound.h @@ -0,0 +1,27 @@ +// Copyright 2018 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__STRING_BOUND_H_ +#define ROSIDL_RUNTIME_C__STRING_BOUND_H_ + +#include + +/// Upper boundary for #rosidl_runtime_c__String or #rosidl_runtime_c__U16String. +typedef struct rosidl_runtime_c__String__bound +{ + /// The number of characters in the string (excluding the null character). + size_t bound; +} rosidl_runtime_c__String__bound; + +#endif // ROSIDL_RUNTIME_C__STRING_BOUND_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string_functions.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string_functions.h new file mode 100644 index 0000000000000..ef553df33888d --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/string_functions.h @@ -0,0 +1,210 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__STRING_FUNCTIONS_H_ +#define ROSIDL_RUNTIME_C__STRING_FUNCTIONS_H_ + +#include + +#include "rosidl_runtime_c/string.h" +#include "rosidl_runtime_c/visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +/// Initialize a rosidl_runtime_c__String structure. +/* + * The contents of rosidl_runtime_c__String are initialized to a single null character ('\0'). + * The string initially has size 0 and capacity 1. + * Size represents the size of the contents of the string, while capacity represents the overall + * storage of the string (counting the null terminator). + * All strings must be null-terminated. + * The rosidl_runtime_c__String structure should be deallocated using the given function + * rosidl_runtime_c__String__fini() when it is no longer needed. + * Calling this function with an already initialized U16 string sequence structure will leak + * memory. + * + * \param[inout] str a pointer to a rosidl_runtime_c__String structure + * \return true if successful, false if the passed string pointer is null + * or the memory allocation failed + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__String__init(rosidl_runtime_c__String * str); + +/// Deallocate the memory of the rosidl_runtime_c__String structure. +/* +* Calling the function with an already deallocated sequence is a no-op. +* +* \param[inout] str a pointer to a rosidl_runtime_c__String structure to be finalized +*/ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__String__fini(rosidl_runtime_c__String * str); + +/// Copy rosidl_runtime_c__String structure content. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input a pointer to a rosidl_runtime_c__String structure + * to copy from. + * \param[out] output a pointer to an initialized rosidl_runtime_c__String + * structure to copy into. + * \return true if successful, false if either pointer is null or memory + * allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__String__copy( + const rosidl_runtime_c__String * input, + rosidl_runtime_c__String * output); + +/// Check for rosidl_runtime_c__String structure equality. +/** + * \param[in] lhs a pointer to the left hand side of the equality operator. + * \param[in] lhs a pointer to the right hand side of the equality operator. + * \return true if rosidl_runtime_c__String structures are equal in size and content, + * otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__String__are_equal( + const rosidl_runtime_c__String * lhs, const rosidl_runtime_c__String * rhs); + +/// Assign the c string pointer of n characters to the rosidl_runtime_c__String structure. +/* + * \param[inout] str a pointer to a string structure + * \param[in] value c string pointer to be assigned + * \param[in] n size of the value string + * \return true if successful, false if the passed string pointer is null + * or if the passed value pointer is null or if the size is higher than SIZE_MAX + * or if the memory reallocation failed. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__String__assignn( + rosidl_runtime_c__String * str, const char * value, size_t n); + +/// Assign the c string pointer to the rosidl_runtime_c__String structure. +/* + * + * This function is identical to rosidl_runtime_c__String__assignn() except the length of the + * c string does not have to be given and therefore the c string must be null terminated. + * + * \see rosidl_runtime_c__String__assignn() + * + * \param[inout] str a pointer to a rosidl_runtime_c__String structure + * \param[in] value c string pointer to be assigned + * \return true if successful, false if the passed string pointer is null + * or if the passed value pointer is null or if the size is higher than SIZE_MAX + * or if the memory reallocation failed. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__String__assign( + rosidl_runtime_c__String * str, const char * value); + +/// Initialize a rosidl_runtime_c__String__Sequence__init structure. +/* + * The rosidl_runtime_c__String__Sequence is initialized with the size passed to the function. + * The rosidl_runtime_c__String__Sequence structure should be deallocated using the given function + * rosidl_runtime_c__String__Sequence__fini() when it is no longer needed. + * Calling this function with an already initialized U16 string sequence structure will leak + * memory. + * + * \param[inout] sequence a pointer to a string sequence + * \param[in] size represents the size of the string sequence + * \return true if successful, false if the passed string pointer is null + * or the memory allocation failed + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__String__Sequence__init( + rosidl_runtime_c__String__Sequence * sequence, size_t size); + +/// Deallocate the memory of the string sequence structure. +/* + * Calling the function with an already deallocated sequence is a no-op. + * + * \param[inout] sequence a pointer to a string sequence to be finalized + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__String__Sequence__fini( + rosidl_runtime_c__String__Sequence * sequence); + +/// Check for rosidl_runtime_c__String__Sequence structure equality. +/** + * \param[in] lhs a pointer to the left hand side of the equality operator. + * \param[in] lhs a pointer to the right hand side of the equality operator. + * \return true if rosidl_runtime_c__String__Sequence structures are equal + * in size and content, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__String__Sequence__are_equal( + const rosidl_runtime_c__String__Sequence * lhs, + const rosidl_runtime_c__String__Sequence * rhs); + +/// Copy rosidl_runtime_c__String__Sequence structure content. +/** + * This functions performs a deep copy, as opposed to the shallow copy + * that plain assignment yields. + * + * \param[in] input a pointer to a rosidl_runtime_c__String__Sequence + * structure to copy from. + * \param[out] output a pointer to an initialized rosidl_runtime_c__String__Sequence + * structure to copy into. + * \return true if successful, false if either pointer is null or memory + * allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__String__Sequence__copy( + const rosidl_runtime_c__String__Sequence * input, + rosidl_runtime_c__String__Sequence * output); + +/// Create a rosidl_runtime_c__String__Sequence structure with a specific size. +/* + * The string sequence initially has size and capacity equal to the size argument passed to the + * function. + * The rosidl_runtime_c__String__Sequence structure should be deallocated using the given function + * rosidl_runtime_c__String__Sequence__destroy() when it is no longer needed. + * + * \param[in] size of the desired string sequence + * \return a string sequence if initialization was successfully, otherwise NULL. + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__String__Sequence * +rosidl_runtime_c__String__Sequence__create(size_t size); + +/// Destroy a rosidl_runtime_c__String__Sequence structure. +/* + * Calling the function with an already deallocated sequence is a no-op. + * + * \param[inout] sequence a pointer to a string sequence to be finalized + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__String__Sequence__destroy( + rosidl_runtime_c__String__Sequence * sequence); + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__STRING_FUNCTIONS_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field__functions.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field__functions.h new file mode 100644 index 0000000000000..4ae248dd61286 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field__functions.h @@ -0,0 +1,205 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__functions.h.em +// with input from type_description_interfaces:msg/Field.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD__FUNCTIONS_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD__FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "rosidl_runtime_c/action_type_support_struct.h" +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_runtime_c/service_type_support_struct.h" +#include "rosidl_runtime_c/type_hash.h" +#include "rosidl_runtime_c/visibility_control.h" + +#include "rosidl_runtime_c/type_description/field__struct.h" + +/// Initialize msg/Field message. +/** + * If the init function is called twice for the same message without + * calling fini inbetween previously allocated memory will be leaked. + * \param[in,out] msg The previously allocated message pointer. + * Fields without a default value will not be initialized by this function. + * You might want to call memset(msg, 0, sizeof( + * rosidl_runtime_c__type_description__Field + * )) before or use + * rosidl_runtime_c__type_description__Field__create() + * to allocate and initialize the message. + * \return true if initialization was successful, otherwise false + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__Field__init(rosidl_runtime_c__type_description__Field * msg); + +/// Finalize msg/Field message. +/** + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__Field__fini(rosidl_runtime_c__type_description__Field * msg); + +/// Create msg/Field message. +/** + * It allocates the memory for the message, sets the memory to zero, and + * calls + * rosidl_runtime_c__type_description__Field__init(). + * \return The pointer to the initialized message if successful, + * otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__Field * +rosidl_runtime_c__type_description__Field__create(); + +/// Destroy msg/Field message. +/** + * It calls + * rosidl_runtime_c__type_description__Field__fini() + * and frees the memory of the message. + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__Field__destroy(rosidl_runtime_c__type_description__Field * msg); + +/// Check for msg/Field message equality. +/** + * \param[in] lhs The message on the left hand size of the equality operator. + * \param[in] rhs The message on the right hand size of the equality operator. + * \return true if messages are equal, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__Field__are_equal(const rosidl_runtime_c__type_description__Field * lhs, const rosidl_runtime_c__type_description__Field * rhs); + +/// Copy a msg/Field message. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source message pointer. + * \param[out] output The target message pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer is null + * or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__Field__copy( + const rosidl_runtime_c__type_description__Field * input, + rosidl_runtime_c__type_description__Field * output); + +/// Retrieve pointer to the hash of the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_type_hash_t * +rosidl_runtime_c__type_description__Field__get_type_hash( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeDescription * +rosidl_runtime_c__type_description__Field__get_type_description( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the single raw source text that defined this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource * +rosidl_runtime_c__type_description__Field__get_individual_type_description_source( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the recursive raw sources that defined the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource__Sequence * +rosidl_runtime_c__type_description__Field__get_type_description_sources( + const rosidl_message_type_support_t * type_support); + +/// Initialize array of msg/Field messages. +/** + * It allocates the memory for the number of elements and calls + * rosidl_runtime_c__type_description__Field__init() + * for each element of the array. + * \param[in,out] array The allocated array pointer. + * \param[in] size The size / capacity of the array. + * \return true if initialization was successful, otherwise false + * If the array pointer is valid and the size is zero it is guaranteed + # to return true. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__Field__Sequence__init(rosidl_runtime_c__type_description__Field__Sequence * array, size_t size); + +/// Finalize array of msg/Field messages. +/** + * It calls + * rosidl_runtime_c__type_description__Field__fini() + * for each element of the array and frees the memory for the number of + * elements. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__Field__Sequence__fini(rosidl_runtime_c__type_description__Field__Sequence * array); + +/// Create array of msg/Field messages. +/** + * It allocates the memory for the array and calls + * rosidl_runtime_c__type_description__Field__Sequence__init(). + * \param[in] size The size / capacity of the array. + * \return The pointer to the initialized array if successful, otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__Field__Sequence * +rosidl_runtime_c__type_description__Field__Sequence__create(size_t size); + +/// Destroy array of msg/Field messages. +/** + * It calls + * rosidl_runtime_c__type_description__Field__Sequence__fini() + * on the array, + * and frees the memory of the array. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__Field__Sequence__destroy(rosidl_runtime_c__type_description__Field__Sequence * array); + +/// Check for msg/Field message array equality. +/** + * \param[in] lhs The message array on the left hand size of the equality operator. + * \param[in] rhs The message array on the right hand size of the equality operator. + * \return true if message arrays are equal in size and content, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__Field__Sequence__are_equal(const rosidl_runtime_c__type_description__Field__Sequence * lhs, const rosidl_runtime_c__type_description__Field__Sequence * rhs); + +/// Copy an array of msg/Field messages. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source array pointer. + * \param[out] output The target array pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer + * is null or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__Field__Sequence__copy( + const rosidl_runtime_c__type_description__Field__Sequence * input, + rosidl_runtime_c__type_description__Field__Sequence * output); + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD__FUNCTIONS_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field__struct.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field__struct.h new file mode 100644 index 0000000000000..418468f3b1f4e --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field__struct.h @@ -0,0 +1,56 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__struct.h.em +// with input from type_description_interfaces:msg/Field.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD__STRUCT_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD__STRUCT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include +#include + +// Constants defined in the message + +// Include directives for member types +// Member 'name' +// Member 'default_value' +#include "rosidl_runtime_c/string.h" +// Member 'type' +#include "rosidl_runtime_c/type_description/field_type__struct.h" + +/// Struct defined in msg/Field in the package type_description_interfaces. +/** + * Represents a single field in a type. + */ +typedef struct rosidl_runtime_c__type_description__Field +{ + /// Name of the field. + rosidl_runtime_c__String name; + /// Type of the field, including details about the type like length, nested name, etc. + rosidl_runtime_c__type_description__FieldType type; + /// Literal default value of the field as a string, as it appeared in the original + /// message description file, whether that be .msg/.srv/.action or .idl. + rosidl_runtime_c__String default_value; +} rosidl_runtime_c__type_description__Field; + +// Struct for a sequence of rosidl_runtime_c__type_description__Field. +typedef struct rosidl_runtime_c__type_description__Field__Sequence +{ + rosidl_runtime_c__type_description__Field * data; + /// The number of valid items in data + size_t size; + /// The number of allocated items in data + size_t capacity; +} rosidl_runtime_c__type_description__Field__Sequence; + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD__STRUCT_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field_type__functions.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field_type__functions.h new file mode 100644 index 0000000000000..8b05af417a693 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field_type__functions.h @@ -0,0 +1,205 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__functions.h.em +// with input from type_description_interfaces:msg/FieldType.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD_TYPE__FUNCTIONS_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD_TYPE__FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "rosidl_runtime_c/action_type_support_struct.h" +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_runtime_c/service_type_support_struct.h" +#include "rosidl_runtime_c/type_hash.h" +#include "rosidl_runtime_c/visibility_control.h" + +#include "rosidl_runtime_c/type_description/field_type__struct.h" + +/// Initialize msg/FieldType message. +/** + * If the init function is called twice for the same message without + * calling fini inbetween previously allocated memory will be leaked. + * \param[in,out] msg The previously allocated message pointer. + * Fields without a default value will not be initialized by this function. + * You might want to call memset(msg, 0, sizeof( + * rosidl_runtime_c__type_description__FieldType + * )) before or use + * rosidl_runtime_c__type_description__FieldType__create() + * to allocate and initialize the message. + * \return true if initialization was successful, otherwise false + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__FieldType__init(rosidl_runtime_c__type_description__FieldType * msg); + +/// Finalize msg/FieldType message. +/** + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__FieldType__fini(rosidl_runtime_c__type_description__FieldType * msg); + +/// Create msg/FieldType message. +/** + * It allocates the memory for the message, sets the memory to zero, and + * calls + * rosidl_runtime_c__type_description__FieldType__init(). + * \return The pointer to the initialized message if successful, + * otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__FieldType * +rosidl_runtime_c__type_description__FieldType__create(); + +/// Destroy msg/FieldType message. +/** + * It calls + * rosidl_runtime_c__type_description__FieldType__fini() + * and frees the memory of the message. + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__FieldType__destroy(rosidl_runtime_c__type_description__FieldType * msg); + +/// Check for msg/FieldType message equality. +/** + * \param[in] lhs The message on the left hand size of the equality operator. + * \param[in] rhs The message on the right hand size of the equality operator. + * \return true if messages are equal, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__FieldType__are_equal(const rosidl_runtime_c__type_description__FieldType * lhs, const rosidl_runtime_c__type_description__FieldType * rhs); + +/// Copy a msg/FieldType message. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source message pointer. + * \param[out] output The target message pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer is null + * or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__FieldType__copy( + const rosidl_runtime_c__type_description__FieldType * input, + rosidl_runtime_c__type_description__FieldType * output); + +/// Retrieve pointer to the hash of the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_type_hash_t * +rosidl_runtime_c__type_description__FieldType__get_type_hash( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeDescription * +rosidl_runtime_c__type_description__FieldType__get_type_description( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the single raw source text that defined this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource * +rosidl_runtime_c__type_description__FieldType__get_individual_type_description_source( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the recursive raw sources that defined the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource__Sequence * +rosidl_runtime_c__type_description__FieldType__get_type_description_sources( + const rosidl_message_type_support_t * type_support); + +/// Initialize array of msg/FieldType messages. +/** + * It allocates the memory for the number of elements and calls + * rosidl_runtime_c__type_description__FieldType__init() + * for each element of the array. + * \param[in,out] array The allocated array pointer. + * \param[in] size The size / capacity of the array. + * \return true if initialization was successful, otherwise false + * If the array pointer is valid and the size is zero it is guaranteed + # to return true. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__FieldType__Sequence__init(rosidl_runtime_c__type_description__FieldType__Sequence * array, size_t size); + +/// Finalize array of msg/FieldType messages. +/** + * It calls + * rosidl_runtime_c__type_description__FieldType__fini() + * for each element of the array and frees the memory for the number of + * elements. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__FieldType__Sequence__fini(rosidl_runtime_c__type_description__FieldType__Sequence * array); + +/// Create array of msg/FieldType messages. +/** + * It allocates the memory for the array and calls + * rosidl_runtime_c__type_description__FieldType__Sequence__init(). + * \param[in] size The size / capacity of the array. + * \return The pointer to the initialized array if successful, otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__FieldType__Sequence * +rosidl_runtime_c__type_description__FieldType__Sequence__create(size_t size); + +/// Destroy array of msg/FieldType messages. +/** + * It calls + * rosidl_runtime_c__type_description__FieldType__Sequence__fini() + * on the array, + * and frees the memory of the array. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__FieldType__Sequence__destroy(rosidl_runtime_c__type_description__FieldType__Sequence * array); + +/// Check for msg/FieldType message array equality. +/** + * \param[in] lhs The message array on the left hand size of the equality operator. + * \param[in] rhs The message array on the right hand size of the equality operator. + * \return true if message arrays are equal in size and content, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__FieldType__Sequence__are_equal(const rosidl_runtime_c__type_description__FieldType__Sequence * lhs, const rosidl_runtime_c__type_description__FieldType__Sequence * rhs); + +/// Copy an array of msg/FieldType messages. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source array pointer. + * \param[out] output The target array pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer + * is null or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__FieldType__Sequence__copy( + const rosidl_runtime_c__type_description__FieldType__Sequence * input, + rosidl_runtime_c__type_description__FieldType__Sequence * output); + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD_TYPE__FUNCTIONS_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field_type__struct.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field_type__struct.h new file mode 100644 index 0000000000000..012340fb4ce5c --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/field_type__struct.h @@ -0,0 +1,660 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__struct.h.em +// with input from type_description_interfaces:msg/FieldType.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD_TYPE__STRUCT_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD_TYPE__STRUCT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include +#include + +// Constants defined in the message + +/// Constant 'FIELD_TYPE_NOT_SET'. +/** + * A constant for each type supported according to: + * http://design.ros2.org/articles/legacy_interface_definition.html + * and: + * http://design.ros2.org/articles/idl_interface_definition.html + * Order is loosely coupled to the order of appearance in the IDL 4.2 spec: + * https://www.omg.org/spec/IDL/4.2 + * Layout of constants across the 0-255 decimal values in the uint8: + * + * - 000 : Reserved for "not set" + * - 001-048: Primitive types, strings, and reserved space for future primitive types + * - 049-096: Fixed sized array of primitive and string types + * - 097-144: Bounded Sequences of primitive and string types + * - 145-192: Unbounded Sequences of primitive and string types + * - 193-255: Reserved space for future array/sequence-like types + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_NOT_SET = 0 +}; + +/// Constant 'FIELD_TYPE_NESTED_TYPE'. +/** + * Nested type defined in other .msg/.idl files. + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_NESTED_TYPE = 1 +}; + +/// Constant 'FIELD_TYPE_INT8'. +/** + * Integer Types + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT8 = 2 +}; + +/// Constant 'FIELD_TYPE_UINT8'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT8 = 3 +}; + +/// Constant 'FIELD_TYPE_INT16'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT16 = 4 +}; + +/// Constant 'FIELD_TYPE_UINT16'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT16 = 5 +}; + +/// Constant 'FIELD_TYPE_INT32'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT32 = 6 +}; + +/// Constant 'FIELD_TYPE_UINT32'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT32 = 7 +}; + +/// Constant 'FIELD_TYPE_INT64'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT64 = 8 +}; + +/// Constant 'FIELD_TYPE_UINT64'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT64 = 9 +}; + +/// Constant 'FIELD_TYPE_FLOAT'. +/** + * Floating-Point Types + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FLOAT = 10 +}; + +/// Constant 'FIELD_TYPE_DOUBLE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_DOUBLE = 11 +}; + +/// Constant 'FIELD_TYPE_LONG_DOUBLE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_LONG_DOUBLE = 12 +}; + +/// Constant 'FIELD_TYPE_CHAR'. +/** + * Char and WChar Types + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_CHAR = 13 +}; + +/// Constant 'FIELD_TYPE_WCHAR'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_WCHAR = 14 +}; + +/// Constant 'FIELD_TYPE_BOOLEAN'. +/** + * Boolean Type + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOOLEAN = 15 +}; + +/// Constant 'FIELD_TYPE_BYTE'. +/** + * Byte/Octet Type + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BYTE = 16 +}; + +/// Constant 'FIELD_TYPE_STRING'. +/** + * String Types + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_STRING = 17 +}; + +/// Constant 'FIELD_TYPE_WSTRING'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_WSTRING = 18 +}; + +/// Constant 'FIELD_TYPE_FIXED_STRING'. +/** + * Fixed String Types + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FIXED_STRING = 19 +}; + +/// Constant 'FIELD_TYPE_FIXED_WSTRING'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FIXED_WSTRING = 20 +}; + +/// Constant 'FIELD_TYPE_BOUNDED_STRING'. +/** + * Bounded String Types + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOUNDED_STRING = 21 +}; + +/// Constant 'FIELD_TYPE_BOUNDED_WSTRING'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOUNDED_WSTRING = 22 +}; + +/// Constant 'FIELD_TYPE_NESTED_TYPE_ARRAY'. +/** + * Fixed Sized Array Types + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_NESTED_TYPE_ARRAY = 49 +}; + +/// Constant 'FIELD_TYPE_INT8_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT8_ARRAY = 50 +}; + +/// Constant 'FIELD_TYPE_UINT8_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT8_ARRAY = 51 +}; + +/// Constant 'FIELD_TYPE_INT16_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT16_ARRAY = 52 +}; + +/// Constant 'FIELD_TYPE_UINT16_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT16_ARRAY = 53 +}; + +/// Constant 'FIELD_TYPE_INT32_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT32_ARRAY = 54 +}; + +/// Constant 'FIELD_TYPE_UINT32_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT32_ARRAY = 55 +}; + +/// Constant 'FIELD_TYPE_INT64_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT64_ARRAY = 56 +}; + +/// Constant 'FIELD_TYPE_UINT64_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT64_ARRAY = 57 +}; + +/// Constant 'FIELD_TYPE_FLOAT_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FLOAT_ARRAY = 58 +}; + +/// Constant 'FIELD_TYPE_DOUBLE_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_DOUBLE_ARRAY = 59 +}; + +/// Constant 'FIELD_TYPE_LONG_DOUBLE_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_LONG_DOUBLE_ARRAY = 60 +}; + +/// Constant 'FIELD_TYPE_CHAR_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_CHAR_ARRAY = 61 +}; + +/// Constant 'FIELD_TYPE_WCHAR_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_WCHAR_ARRAY = 62 +}; + +/// Constant 'FIELD_TYPE_BOOLEAN_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOOLEAN_ARRAY = 63 +}; + +/// Constant 'FIELD_TYPE_BYTE_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BYTE_ARRAY = 64 +}; + +/// Constant 'FIELD_TYPE_STRING_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_STRING_ARRAY = 65 +}; + +/// Constant 'FIELD_TYPE_WSTRING_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_WSTRING_ARRAY = 66 +}; + +/// Constant 'FIELD_TYPE_FIXED_STRING_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FIXED_STRING_ARRAY = 67 +}; + +/// Constant 'FIELD_TYPE_FIXED_WSTRING_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FIXED_WSTRING_ARRAY = 68 +}; + +/// Constant 'FIELD_TYPE_BOUNDED_STRING_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOUNDED_STRING_ARRAY = 69 +}; + +/// Constant 'FIELD_TYPE_BOUNDED_WSTRING_ARRAY'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOUNDED_WSTRING_ARRAY = 70 +}; + +/// Constant 'FIELD_TYPE_NESTED_TYPE_BOUNDED_SEQUENCE'. +/** + * Bounded Sequence Types + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_NESTED_TYPE_BOUNDED_SEQUENCE = 97 +}; + +/// Constant 'FIELD_TYPE_INT8_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT8_BOUNDED_SEQUENCE = 98 +}; + +/// Constant 'FIELD_TYPE_UINT8_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT8_BOUNDED_SEQUENCE = 99 +}; + +/// Constant 'FIELD_TYPE_INT16_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT16_BOUNDED_SEQUENCE = 100 +}; + +/// Constant 'FIELD_TYPE_UINT16_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT16_BOUNDED_SEQUENCE = 101 +}; + +/// Constant 'FIELD_TYPE_INT32_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT32_BOUNDED_SEQUENCE = 102 +}; + +/// Constant 'FIELD_TYPE_UINT32_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT32_BOUNDED_SEQUENCE = 103 +}; + +/// Constant 'FIELD_TYPE_INT64_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT64_BOUNDED_SEQUENCE = 104 +}; + +/// Constant 'FIELD_TYPE_UINT64_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT64_BOUNDED_SEQUENCE = 105 +}; + +/// Constant 'FIELD_TYPE_FLOAT_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FLOAT_BOUNDED_SEQUENCE = 106 +}; + +/// Constant 'FIELD_TYPE_DOUBLE_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_DOUBLE_BOUNDED_SEQUENCE = 107 +}; + +/// Constant 'FIELD_TYPE_LONG_DOUBLE_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_LONG_DOUBLE_BOUNDED_SEQUENCE = 108 +}; + +/// Constant 'FIELD_TYPE_CHAR_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_CHAR_BOUNDED_SEQUENCE = 109 +}; + +/// Constant 'FIELD_TYPE_WCHAR_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_WCHAR_BOUNDED_SEQUENCE = 110 +}; + +/// Constant 'FIELD_TYPE_BOOLEAN_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOOLEAN_BOUNDED_SEQUENCE = 111 +}; + +/// Constant 'FIELD_TYPE_BYTE_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BYTE_BOUNDED_SEQUENCE = 112 +}; + +/// Constant 'FIELD_TYPE_STRING_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_STRING_BOUNDED_SEQUENCE = 113 +}; + +/// Constant 'FIELD_TYPE_WSTRING_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_WSTRING_BOUNDED_SEQUENCE = 114 +}; + +/// Constant 'FIELD_TYPE_FIXED_STRING_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FIXED_STRING_BOUNDED_SEQUENCE = 115 +}; + +/// Constant 'FIELD_TYPE_FIXED_WSTRING_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FIXED_WSTRING_BOUNDED_SEQUENCE = 116 +}; + +/// Constant 'FIELD_TYPE_BOUNDED_STRING_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOUNDED_STRING_BOUNDED_SEQUENCE = 117 +}; + +/// Constant 'FIELD_TYPE_BOUNDED_WSTRING_BOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOUNDED_WSTRING_BOUNDED_SEQUENCE = 118 +}; + +/// Constant 'FIELD_TYPE_NESTED_TYPE_UNBOUNDED_SEQUENCE'. +/** + * Unbounded Sequence Types + */ +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_NESTED_TYPE_UNBOUNDED_SEQUENCE = 145 +}; + +/// Constant 'FIELD_TYPE_INT8_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT8_UNBOUNDED_SEQUENCE = 146 +}; + +/// Constant 'FIELD_TYPE_UINT8_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT8_UNBOUNDED_SEQUENCE = 147 +}; + +/// Constant 'FIELD_TYPE_INT16_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT16_UNBOUNDED_SEQUENCE = 148 +}; + +/// Constant 'FIELD_TYPE_UINT16_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT16_UNBOUNDED_SEQUENCE = 149 +}; + +/// Constant 'FIELD_TYPE_INT32_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT32_UNBOUNDED_SEQUENCE = 150 +}; + +/// Constant 'FIELD_TYPE_UINT32_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT32_UNBOUNDED_SEQUENCE = 151 +}; + +/// Constant 'FIELD_TYPE_INT64_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_INT64_UNBOUNDED_SEQUENCE = 152 +}; + +/// Constant 'FIELD_TYPE_UINT64_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_UINT64_UNBOUNDED_SEQUENCE = 153 +}; + +/// Constant 'FIELD_TYPE_FLOAT_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FLOAT_UNBOUNDED_SEQUENCE = 154 +}; + +/// Constant 'FIELD_TYPE_DOUBLE_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_DOUBLE_UNBOUNDED_SEQUENCE = 155 +}; + +/// Constant 'FIELD_TYPE_LONG_DOUBLE_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_LONG_DOUBLE_UNBOUNDED_SEQUENCE = 156 +}; + +/// Constant 'FIELD_TYPE_CHAR_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_CHAR_UNBOUNDED_SEQUENCE = 157 +}; + +/// Constant 'FIELD_TYPE_WCHAR_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_WCHAR_UNBOUNDED_SEQUENCE = 158 +}; + +/// Constant 'FIELD_TYPE_BOOLEAN_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOOLEAN_UNBOUNDED_SEQUENCE = 159 +}; + +/// Constant 'FIELD_TYPE_BYTE_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BYTE_UNBOUNDED_SEQUENCE = 160 +}; + +/// Constant 'FIELD_TYPE_STRING_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_STRING_UNBOUNDED_SEQUENCE = 161 +}; + +/// Constant 'FIELD_TYPE_WSTRING_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_WSTRING_UNBOUNDED_SEQUENCE = 162 +}; + +/// Constant 'FIELD_TYPE_FIXED_STRING_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FIXED_STRING_UNBOUNDED_SEQUENCE = 163 +}; + +/// Constant 'FIELD_TYPE_FIXED_WSTRING_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_FIXED_WSTRING_UNBOUNDED_SEQUENCE = 164 +}; + +/// Constant 'FIELD_TYPE_BOUNDED_STRING_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOUNDED_STRING_UNBOUNDED_SEQUENCE = 165 +}; + +/// Constant 'FIELD_TYPE_BOUNDED_WSTRING_UNBOUNDED_SEQUENCE'. +enum +{ + rosidl_runtime_c__type_description__FieldType__FIELD_TYPE_BOUNDED_WSTRING_UNBOUNDED_SEQUENCE = 166 +}; + +// Include directives for member types +// Member 'nested_type_name' +#include "rosidl_runtime_c/string.h" + +// constants for array fields with an upper bound +// nested_type_name +enum +{ + rosidl_runtime_c__type_description__FieldType__nested_type_name__MAX_STRING_SIZE = 255 +}; + +/// Struct defined in msg/FieldType in the package type_description_interfaces. +/** + * Represents the type of a field and related meta-data. + */ +typedef struct rosidl_runtime_c__type_description__FieldType +{ + /// Identifying number for the type of the field, using one of the above constants. + uint8_t type_id; + /// Only used when the type is an array or a bounded sequence. + /// In the case of an array, this is the fixed capacity of the array. + /// In the case of a bounded sequence, this is the maximum capacity of the sequence. + /// In all other cases this field is unused. + uint64_t capacity; + /// Only used when the type is a fixed or bounded string/wstring, or a array/sequence of those. + /// In the case of a fixed string/wstring, it is the fixed length of the string. + /// In the case of a bounded string/wstring, it is the maximum capacity of the string. + /// In the case of an array/sequence of fixed string/wstring, it is the fixed length of the strings. + /// In the case of an array/sequence of bounded string/wstring, it is the maximum capacity of the strings. + /// It is not currently possible to have different string capacities per element in the array/sequence. + uint64_t string_capacity; + /// Only used when the type is a nested type or array/sequence of nested types. + /// This is limited to 255 characters. + /// TODO(wjwwood): this 255 character limit was chosen due to this being the limit + /// for DDSI-RTPS based middlewares, which is the most commonly used right now. + /// We lack a ROS 2 specific limit in our design documents, but we should update + /// this and/or link to the design doc when that is available. + rosidl_runtime_c__String nested_type_name; +} rosidl_runtime_c__type_description__FieldType; + +// Struct for a sequence of rosidl_runtime_c__type_description__FieldType. +typedef struct rosidl_runtime_c__type_description__FieldType__Sequence +{ + rosidl_runtime_c__type_description__FieldType * data; + /// The number of valid items in data + size_t size; + /// The number of allocated items in data + size_t capacity; +} rosidl_runtime_c__type_description__FieldType__Sequence; + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__FIELD_TYPE__STRUCT_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/individual_type_description__functions.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/individual_type_description__functions.h new file mode 100644 index 0000000000000..eb297b611df31 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/individual_type_description__functions.h @@ -0,0 +1,205 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__functions.h.em +// with input from type_description_interfaces:msg/IndividualTypeDescription.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__INDIVIDUAL_TYPE_DESCRIPTION__FUNCTIONS_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__INDIVIDUAL_TYPE_DESCRIPTION__FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "rosidl_runtime_c/action_type_support_struct.h" +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_runtime_c/service_type_support_struct.h" +#include "rosidl_runtime_c/type_hash.h" +#include "rosidl_runtime_c/visibility_control.h" + +#include "rosidl_runtime_c/type_description/individual_type_description__struct.h" + +/// Initialize msg/IndividualTypeDescription message. +/** + * If the init function is called twice for the same message without + * calling fini inbetween previously allocated memory will be leaked. + * \param[in,out] msg The previously allocated message pointer. + * Fields without a default value will not be initialized by this function. + * You might want to call memset(msg, 0, sizeof( + * rosidl_runtime_c__type_description__IndividualTypeDescription + * )) before or use + * rosidl_runtime_c__type_description__IndividualTypeDescription__create() + * to allocate and initialize the message. + * \return true if initialization was successful, otherwise false + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__IndividualTypeDescription__init(rosidl_runtime_c__type_description__IndividualTypeDescription * msg); + +/// Finalize msg/IndividualTypeDescription message. +/** + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__IndividualTypeDescription__fini(rosidl_runtime_c__type_description__IndividualTypeDescription * msg); + +/// Create msg/IndividualTypeDescription message. +/** + * It allocates the memory for the message, sets the memory to zero, and + * calls + * rosidl_runtime_c__type_description__IndividualTypeDescription__init(). + * \return The pointer to the initialized message if successful, + * otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__IndividualTypeDescription * +rosidl_runtime_c__type_description__IndividualTypeDescription__create(); + +/// Destroy msg/IndividualTypeDescription message. +/** + * It calls + * rosidl_runtime_c__type_description__IndividualTypeDescription__fini() + * and frees the memory of the message. + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__IndividualTypeDescription__destroy(rosidl_runtime_c__type_description__IndividualTypeDescription * msg); + +/// Check for msg/IndividualTypeDescription message equality. +/** + * \param[in] lhs The message on the left hand size of the equality operator. + * \param[in] rhs The message on the right hand size of the equality operator. + * \return true if messages are equal, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__IndividualTypeDescription__are_equal(const rosidl_runtime_c__type_description__IndividualTypeDescription * lhs, const rosidl_runtime_c__type_description__IndividualTypeDescription * rhs); + +/// Copy a msg/IndividualTypeDescription message. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source message pointer. + * \param[out] output The target message pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer is null + * or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__IndividualTypeDescription__copy( + const rosidl_runtime_c__type_description__IndividualTypeDescription * input, + rosidl_runtime_c__type_description__IndividualTypeDescription * output); + +/// Retrieve pointer to the hash of the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_type_hash_t * +rosidl_runtime_c__type_description__IndividualTypeDescription__get_type_hash( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeDescription * +rosidl_runtime_c__type_description__IndividualTypeDescription__get_type_description( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the single raw source text that defined this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource * +rosidl_runtime_c__type_description__IndividualTypeDescription__get_individual_type_description_source( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the recursive raw sources that defined the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource__Sequence * +rosidl_runtime_c__type_description__IndividualTypeDescription__get_type_description_sources( + const rosidl_message_type_support_t * type_support); + +/// Initialize array of msg/IndividualTypeDescription messages. +/** + * It allocates the memory for the number of elements and calls + * rosidl_runtime_c__type_description__IndividualTypeDescription__init() + * for each element of the array. + * \param[in,out] array The allocated array pointer. + * \param[in] size The size / capacity of the array. + * \return true if initialization was successful, otherwise false + * If the array pointer is valid and the size is zero it is guaranteed + # to return true. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence__init(rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * array, size_t size); + +/// Finalize array of msg/IndividualTypeDescription messages. +/** + * It calls + * rosidl_runtime_c__type_description__IndividualTypeDescription__fini() + * for each element of the array and frees the memory for the number of + * elements. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence__fini(rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * array); + +/// Create array of msg/IndividualTypeDescription messages. +/** + * It allocates the memory for the array and calls + * rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence__init(). + * \param[in] size The size / capacity of the array. + * \return The pointer to the initialized array if successful, otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * +rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence__create(size_t size); + +/// Destroy array of msg/IndividualTypeDescription messages. +/** + * It calls + * rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence__fini() + * on the array, + * and frees the memory of the array. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence__destroy(rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * array); + +/// Check for msg/IndividualTypeDescription message array equality. +/** + * \param[in] lhs The message array on the left hand size of the equality operator. + * \param[in] rhs The message array on the right hand size of the equality operator. + * \return true if message arrays are equal in size and content, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence__are_equal(const rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * lhs, const rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * rhs); + +/// Copy an array of msg/IndividualTypeDescription messages. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source array pointer. + * \param[out] output The target array pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer + * is null or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence__copy( + const rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * input, + rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * output); + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__INDIVIDUAL_TYPE_DESCRIPTION__FUNCTIONS_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/individual_type_description__struct.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/individual_type_description__struct.h new file mode 100644 index 0000000000000..247f22e01d784 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/individual_type_description__struct.h @@ -0,0 +1,64 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__struct.h.em +// with input from type_description_interfaces:msg/IndividualTypeDescription.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__INDIVIDUAL_TYPE_DESCRIPTION__STRUCT_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__INDIVIDUAL_TYPE_DESCRIPTION__STRUCT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include +#include + +// Constants defined in the message + +// Include directives for member types +// Member 'type_name' +#include "rosidl_runtime_c/string.h" +// Member 'fields' +#include "rosidl_runtime_c/type_description/field__struct.h" + +// constants for array fields with an upper bound +// type_name +enum +{ + rosidl_runtime_c__type_description__IndividualTypeDescription__type_name__MAX_STRING_SIZE = 255 +}; + +/// Struct defined in msg/IndividualTypeDescription in the package type_description_interfaces. +/** + * Represents a single type, without the types it references, if any. + */ +typedef struct rosidl_runtime_c__type_description__IndividualTypeDescription +{ + /// Name of the type. + /// This is limited to 255 characters. + /// TODO(wjwwood): this 255 character limit was chosen due to this being the limit + /// for DDSI-RTPS based middlewares, which is the most commonly used right now. + /// We lack a ROS 2 specific limit in our design documents, but we should update + /// this and/or link to the design doc when that is available. + rosidl_runtime_c__String type_name; + /// Fields of the type. + rosidl_runtime_c__type_description__Field__Sequence fields; +} rosidl_runtime_c__type_description__IndividualTypeDescription; + +// Struct for a sequence of rosidl_runtime_c__type_description__IndividualTypeDescription. +typedef struct rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence +{ + rosidl_runtime_c__type_description__IndividualTypeDescription * data; + /// The number of valid items in data + size_t size; + /// The number of allocated items in data + size_t capacity; +} rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence; + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__INDIVIDUAL_TYPE_DESCRIPTION__STRUCT_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/key_value__functions.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/key_value__functions.h new file mode 100644 index 0000000000000..61503b9d2cd90 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/key_value__functions.h @@ -0,0 +1,205 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__functions.h.em +// with input from type_description_interfaces:msg/KeyValue.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__KEY_VALUE__FUNCTIONS_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__KEY_VALUE__FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "rosidl_runtime_c/action_type_support_struct.h" +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_runtime_c/service_type_support_struct.h" +#include "rosidl_runtime_c/type_hash.h" +#include "rosidl_runtime_c/visibility_control.h" + +#include "rosidl_runtime_c/type_description/key_value__struct.h" + +/// Initialize msg/KeyValue message. +/** + * If the init function is called twice for the same message without + * calling fini inbetween previously allocated memory will be leaked. + * \param[in,out] msg The previously allocated message pointer. + * Fields without a default value will not be initialized by this function. + * You might want to call memset(msg, 0, sizeof( + * rosidl_runtime_c__type_description__KeyValue + * )) before or use + * rosidl_runtime_c__type_description__KeyValue__create() + * to allocate and initialize the message. + * \return true if initialization was successful, otherwise false + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__KeyValue__init(rosidl_runtime_c__type_description__KeyValue * msg); + +/// Finalize msg/KeyValue message. +/** + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__KeyValue__fini(rosidl_runtime_c__type_description__KeyValue * msg); + +/// Create msg/KeyValue message. +/** + * It allocates the memory for the message, sets the memory to zero, and + * calls + * rosidl_runtime_c__type_description__KeyValue__init(). + * \return The pointer to the initialized message if successful, + * otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__KeyValue * +rosidl_runtime_c__type_description__KeyValue__create(); + +/// Destroy msg/KeyValue message. +/** + * It calls + * rosidl_runtime_c__type_description__KeyValue__fini() + * and frees the memory of the message. + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__KeyValue__destroy(rosidl_runtime_c__type_description__KeyValue * msg); + +/// Check for msg/KeyValue message equality. +/** + * \param[in] lhs The message on the left hand size of the equality operator. + * \param[in] rhs The message on the right hand size of the equality operator. + * \return true if messages are equal, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__KeyValue__are_equal(const rosidl_runtime_c__type_description__KeyValue * lhs, const rosidl_runtime_c__type_description__KeyValue * rhs); + +/// Copy a msg/KeyValue message. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source message pointer. + * \param[out] output The target message pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer is null + * or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__KeyValue__copy( + const rosidl_runtime_c__type_description__KeyValue * input, + rosidl_runtime_c__type_description__KeyValue * output); + +/// Retrieve pointer to the hash of the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_type_hash_t * +rosidl_runtime_c__type_description__KeyValue__get_type_hash( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeDescription * +rosidl_runtime_c__type_description__KeyValue__get_type_description( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the single raw source text that defined this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource * +rosidl_runtime_c__type_description__KeyValue__get_individual_type_description_source( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the recursive raw sources that defined the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource__Sequence * +rosidl_runtime_c__type_description__KeyValue__get_type_description_sources( + const rosidl_message_type_support_t * type_support); + +/// Initialize array of msg/KeyValue messages. +/** + * It allocates the memory for the number of elements and calls + * rosidl_runtime_c__type_description__KeyValue__init() + * for each element of the array. + * \param[in,out] array The allocated array pointer. + * \param[in] size The size / capacity of the array. + * \return true if initialization was successful, otherwise false + * If the array pointer is valid and the size is zero it is guaranteed + # to return true. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__KeyValue__Sequence__init(rosidl_runtime_c__type_description__KeyValue__Sequence * array, size_t size); + +/// Finalize array of msg/KeyValue messages. +/** + * It calls + * rosidl_runtime_c__type_description__KeyValue__fini() + * for each element of the array and frees the memory for the number of + * elements. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__KeyValue__Sequence__fini(rosidl_runtime_c__type_description__KeyValue__Sequence * array); + +/// Create array of msg/KeyValue messages. +/** + * It allocates the memory for the array and calls + * rosidl_runtime_c__type_description__KeyValue__Sequence__init(). + * \param[in] size The size / capacity of the array. + * \return The pointer to the initialized array if successful, otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__KeyValue__Sequence * +rosidl_runtime_c__type_description__KeyValue__Sequence__create(size_t size); + +/// Destroy array of msg/KeyValue messages. +/** + * It calls + * rosidl_runtime_c__type_description__KeyValue__Sequence__fini() + * on the array, + * and frees the memory of the array. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__KeyValue__Sequence__destroy(rosidl_runtime_c__type_description__KeyValue__Sequence * array); + +/// Check for msg/KeyValue message array equality. +/** + * \param[in] lhs The message array on the left hand size of the equality operator. + * \param[in] rhs The message array on the right hand size of the equality operator. + * \return true if message arrays are equal in size and content, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__KeyValue__Sequence__are_equal(const rosidl_runtime_c__type_description__KeyValue__Sequence * lhs, const rosidl_runtime_c__type_description__KeyValue__Sequence * rhs); + +/// Copy an array of msg/KeyValue messages. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source array pointer. + * \param[out] output The target array pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer + * is null or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__KeyValue__Sequence__copy( + const rosidl_runtime_c__type_description__KeyValue__Sequence * input, + rosidl_runtime_c__type_description__KeyValue__Sequence * output); + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__KEY_VALUE__FUNCTIONS_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/key_value__struct.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/key_value__struct.h new file mode 100644 index 0000000000000..7ce5dc83dbe28 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/key_value__struct.h @@ -0,0 +1,49 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__struct.h.em +// with input from type_description_interfaces:msg/KeyValue.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__KEY_VALUE__STRUCT_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__KEY_VALUE__STRUCT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include +#include + +// Constants defined in the message + +// Include directives for member types +// Member 'key' +// Member 'value' +#include "rosidl_runtime_c/string.h" + +/// Struct defined in msg/KeyValue in the package type_description_interfaces. +/** + * Represents an arbitrary key-value pair for application-specific information. + */ +typedef struct rosidl_runtime_c__type_description__KeyValue +{ + rosidl_runtime_c__String key; + rosidl_runtime_c__String value; +} rosidl_runtime_c__type_description__KeyValue; + +// Struct for a sequence of rosidl_runtime_c__type_description__KeyValue. +typedef struct rosidl_runtime_c__type_description__KeyValue__Sequence +{ + rosidl_runtime_c__type_description__KeyValue * data; + /// The number of valid items in data + size_t size; + /// The number of allocated items in data + size_t capacity; +} rosidl_runtime_c__type_description__KeyValue__Sequence; + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__KEY_VALUE__STRUCT_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_description__functions.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_description__functions.h new file mode 100644 index 0000000000000..384a0ab102639 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_description__functions.h @@ -0,0 +1,205 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__functions.h.em +// with input from type_description_interfaces:msg/TypeDescription.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_DESCRIPTION__FUNCTIONS_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_DESCRIPTION__FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "rosidl_runtime_c/action_type_support_struct.h" +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_runtime_c/service_type_support_struct.h" +#include "rosidl_runtime_c/type_hash.h" +#include "rosidl_runtime_c/visibility_control.h" + +#include "rosidl_runtime_c/type_description/type_description__struct.h" + +/// Initialize msg/TypeDescription message. +/** + * If the init function is called twice for the same message without + * calling fini inbetween previously allocated memory will be leaked. + * \param[in,out] msg The previously allocated message pointer. + * Fields without a default value will not be initialized by this function. + * You might want to call memset(msg, 0, sizeof( + * rosidl_runtime_c__type_description__TypeDescription + * )) before or use + * rosidl_runtime_c__type_description__TypeDescription__create() + * to allocate and initialize the message. + * \return true if initialization was successful, otherwise false + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeDescription__init(rosidl_runtime_c__type_description__TypeDescription * msg); + +/// Finalize msg/TypeDescription message. +/** + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__TypeDescription__fini(rosidl_runtime_c__type_description__TypeDescription * msg); + +/// Create msg/TypeDescription message. +/** + * It allocates the memory for the message, sets the memory to zero, and + * calls + * rosidl_runtime_c__type_description__TypeDescription__init(). + * \return The pointer to the initialized message if successful, + * otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__TypeDescription * +rosidl_runtime_c__type_description__TypeDescription__create(); + +/// Destroy msg/TypeDescription message. +/** + * It calls + * rosidl_runtime_c__type_description__TypeDescription__fini() + * and frees the memory of the message. + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__TypeDescription__destroy(rosidl_runtime_c__type_description__TypeDescription * msg); + +/// Check for msg/TypeDescription message equality. +/** + * \param[in] lhs The message on the left hand size of the equality operator. + * \param[in] rhs The message on the right hand size of the equality operator. + * \return true if messages are equal, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeDescription__are_equal(const rosidl_runtime_c__type_description__TypeDescription * lhs, const rosidl_runtime_c__type_description__TypeDescription * rhs); + +/// Copy a msg/TypeDescription message. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source message pointer. + * \param[out] output The target message pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer is null + * or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeDescription__copy( + const rosidl_runtime_c__type_description__TypeDescription * input, + rosidl_runtime_c__type_description__TypeDescription * output); + +/// Retrieve pointer to the hash of the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_type_hash_t * +rosidl_runtime_c__type_description__TypeDescription__get_type_hash( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeDescription * +rosidl_runtime_c__type_description__TypeDescription__get_type_description( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the single raw source text that defined this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource * +rosidl_runtime_c__type_description__TypeDescription__get_individual_type_description_source( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the recursive raw sources that defined the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource__Sequence * +rosidl_runtime_c__type_description__TypeDescription__get_type_description_sources( + const rosidl_message_type_support_t * type_support); + +/// Initialize array of msg/TypeDescription messages. +/** + * It allocates the memory for the number of elements and calls + * rosidl_runtime_c__type_description__TypeDescription__init() + * for each element of the array. + * \param[in,out] array The allocated array pointer. + * \param[in] size The size / capacity of the array. + * \return true if initialization was successful, otherwise false + * If the array pointer is valid and the size is zero it is guaranteed + # to return true. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeDescription__Sequence__init(rosidl_runtime_c__type_description__TypeDescription__Sequence * array, size_t size); + +/// Finalize array of msg/TypeDescription messages. +/** + * It calls + * rosidl_runtime_c__type_description__TypeDescription__fini() + * for each element of the array and frees the memory for the number of + * elements. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__TypeDescription__Sequence__fini(rosidl_runtime_c__type_description__TypeDescription__Sequence * array); + +/// Create array of msg/TypeDescription messages. +/** + * It allocates the memory for the array and calls + * rosidl_runtime_c__type_description__TypeDescription__Sequence__init(). + * \param[in] size The size / capacity of the array. + * \return The pointer to the initialized array if successful, otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__TypeDescription__Sequence * +rosidl_runtime_c__type_description__TypeDescription__Sequence__create(size_t size); + +/// Destroy array of msg/TypeDescription messages. +/** + * It calls + * rosidl_runtime_c__type_description__TypeDescription__Sequence__fini() + * on the array, + * and frees the memory of the array. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__TypeDescription__Sequence__destroy(rosidl_runtime_c__type_description__TypeDescription__Sequence * array); + +/// Check for msg/TypeDescription message array equality. +/** + * \param[in] lhs The message array on the left hand size of the equality operator. + * \param[in] rhs The message array on the right hand size of the equality operator. + * \return true if message arrays are equal in size and content, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeDescription__Sequence__are_equal(const rosidl_runtime_c__type_description__TypeDescription__Sequence * lhs, const rosidl_runtime_c__type_description__TypeDescription__Sequence * rhs); + +/// Copy an array of msg/TypeDescription messages. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source array pointer. + * \param[out] output The target array pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer + * is null or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeDescription__Sequence__copy( + const rosidl_runtime_c__type_description__TypeDescription__Sequence * input, + rosidl_runtime_c__type_description__TypeDescription__Sequence * output); + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_DESCRIPTION__FUNCTIONS_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_description__struct.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_description__struct.h new file mode 100644 index 0000000000000..49c72939af5bb --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_description__struct.h @@ -0,0 +1,51 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__struct.h.em +// with input from type_description_interfaces:msg/TypeDescription.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_DESCRIPTION__STRUCT_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_DESCRIPTION__STRUCT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include +#include + +// Constants defined in the message + +// Include directives for member types +// Member 'type_description' +// Member 'referenced_type_descriptions' +#include "rosidl_runtime_c/type_description/individual_type_description__struct.h" + +/// Struct defined in msg/TypeDescription in the package type_description_interfaces. +/** + * Represents a complete type description, including the type itself as well as the types it references. + */ +typedef struct rosidl_runtime_c__type_description__TypeDescription +{ + /// Description of the type. + rosidl_runtime_c__type_description__IndividualTypeDescription type_description; + /// Descriptions of all referenced types, recursively. + rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence referenced_type_descriptions; +} rosidl_runtime_c__type_description__TypeDescription; + +// Struct for a sequence of rosidl_runtime_c__type_description__TypeDescription. +typedef struct rosidl_runtime_c__type_description__TypeDescription__Sequence +{ + rosidl_runtime_c__type_description__TypeDescription * data; + /// The number of valid items in data + size_t size; + /// The number of allocated items in data + size_t capacity; +} rosidl_runtime_c__type_description__TypeDescription__Sequence; + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_DESCRIPTION__STRUCT_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_source__functions.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_source__functions.h new file mode 100644 index 0000000000000..49fcfffe82cfc --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_source__functions.h @@ -0,0 +1,205 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__functions.h.em +// with input from type_description_interfaces:msg/TypeSource.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_SOURCE__FUNCTIONS_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_SOURCE__FUNCTIONS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include + +#include "rosidl_runtime_c/action_type_support_struct.h" +#include "rosidl_runtime_c/message_type_support_struct.h" +#include "rosidl_runtime_c/service_type_support_struct.h" +#include "rosidl_runtime_c/type_hash.h" +#include "rosidl_runtime_c/visibility_control.h" + +#include "rosidl_runtime_c/type_description/type_source__struct.h" + +/// Initialize msg/TypeSource message. +/** + * If the init function is called twice for the same message without + * calling fini inbetween previously allocated memory will be leaked. + * \param[in,out] msg The previously allocated message pointer. + * Fields without a default value will not be initialized by this function. + * You might want to call memset(msg, 0, sizeof( + * rosidl_runtime_c__type_description__TypeSource + * )) before or use + * rosidl_runtime_c__type_description__TypeSource__create() + * to allocate and initialize the message. + * \return true if initialization was successful, otherwise false + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeSource__init(rosidl_runtime_c__type_description__TypeSource * msg); + +/// Finalize msg/TypeSource message. +/** + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__TypeSource__fini(rosidl_runtime_c__type_description__TypeSource * msg); + +/// Create msg/TypeSource message. +/** + * It allocates the memory for the message, sets the memory to zero, and + * calls + * rosidl_runtime_c__type_description__TypeSource__init(). + * \return The pointer to the initialized message if successful, + * otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__TypeSource * +rosidl_runtime_c__type_description__TypeSource__create(); + +/// Destroy msg/TypeSource message. +/** + * It calls + * rosidl_runtime_c__type_description__TypeSource__fini() + * and frees the memory of the message. + * \param[in,out] msg The allocated message pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__TypeSource__destroy(rosidl_runtime_c__type_description__TypeSource * msg); + +/// Check for msg/TypeSource message equality. +/** + * \param[in] lhs The message on the left hand size of the equality operator. + * \param[in] rhs The message on the right hand size of the equality operator. + * \return true if messages are equal, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeSource__are_equal(const rosidl_runtime_c__type_description__TypeSource * lhs, const rosidl_runtime_c__type_description__TypeSource * rhs); + +/// Copy a msg/TypeSource message. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source message pointer. + * \param[out] output The target message pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer is null + * or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeSource__copy( + const rosidl_runtime_c__type_description__TypeSource * input, + rosidl_runtime_c__type_description__TypeSource * output); + +/// Retrieve pointer to the hash of the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_type_hash_t * +rosidl_runtime_c__type_description__TypeSource__get_type_hash( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeDescription * +rosidl_runtime_c__type_description__TypeSource__get_type_description( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the single raw source text that defined this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource * +rosidl_runtime_c__type_description__TypeSource__get_individual_type_description_source( + const rosidl_message_type_support_t * type_support); + +/// Retrieve pointer to the recursive raw sources that defined the description of this type. +ROSIDL_GENERATOR_C_PUBLIC +const rosidl_runtime_c__type_description__TypeSource__Sequence * +rosidl_runtime_c__type_description__TypeSource__get_type_description_sources( + const rosidl_message_type_support_t * type_support); + +/// Initialize array of msg/TypeSource messages. +/** + * It allocates the memory for the number of elements and calls + * rosidl_runtime_c__type_description__TypeSource__init() + * for each element of the array. + * \param[in,out] array The allocated array pointer. + * \param[in] size The size / capacity of the array. + * \return true if initialization was successful, otherwise false + * If the array pointer is valid and the size is zero it is guaranteed + # to return true. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeSource__Sequence__init(rosidl_runtime_c__type_description__TypeSource__Sequence * array, size_t size); + +/// Finalize array of msg/TypeSource messages. +/** + * It calls + * rosidl_runtime_c__type_description__TypeSource__fini() + * for each element of the array and frees the memory for the number of + * elements. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__TypeSource__Sequence__fini(rosidl_runtime_c__type_description__TypeSource__Sequence * array); + +/// Create array of msg/TypeSource messages. +/** + * It allocates the memory for the array and calls + * rosidl_runtime_c__type_description__TypeSource__Sequence__init(). + * \param[in] size The size / capacity of the array. + * \return The pointer to the initialized array if successful, otherwise NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__type_description__TypeSource__Sequence * +rosidl_runtime_c__type_description__TypeSource__Sequence__create(size_t size); + +/// Destroy array of msg/TypeSource messages. +/** + * It calls + * rosidl_runtime_c__type_description__TypeSource__Sequence__fini() + * on the array, + * and frees the memory of the array. + * \param[in,out] array The initialized array pointer. + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__type_description__TypeSource__Sequence__destroy(rosidl_runtime_c__type_description__TypeSource__Sequence * array); + +/// Check for msg/TypeSource message array equality. +/** + * \param[in] lhs The message array on the left hand size of the equality operator. + * \param[in] rhs The message array on the right hand size of the equality operator. + * \return true if message arrays are equal in size and content, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeSource__Sequence__are_equal(const rosidl_runtime_c__type_description__TypeSource__Sequence * lhs, const rosidl_runtime_c__type_description__TypeSource__Sequence * rhs); + +/// Copy an array of msg/TypeSource messages. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input The source array pointer. + * \param[out] output The target array pointer, which must + * have been initialized before calling this function. + * \return true if successful, or false if either pointer + * is null or memory allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__type_description__TypeSource__Sequence__copy( + const rosidl_runtime_c__type_description__TypeSource__Sequence * input, + rosidl_runtime_c__type_description__TypeSource__Sequence * output); + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_SOURCE__FUNCTIONS_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_source__struct.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_source__struct.h new file mode 100644 index 0000000000000..d1e2bc585b972 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description/type_source__struct.h @@ -0,0 +1,60 @@ +// DO NOT EDIT MANUALLY - this copied file managed by copy_type_description_generated_sources.bash +// generated from rosidl_generator_c/resource/idl__struct.h.em +// with input from type_description_interfaces:msg/TypeSource.idl +// generated code does not contain a copyright notice + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_SOURCE__STRUCT_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_SOURCE__STRUCT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#include +#include +#include + +// Constants defined in the message + +// Include directives for member types +// Member 'type_name' +// Member 'encoding' +// Member 'raw_file_contents' +#include "rosidl_runtime_c/string.h" + +/// Struct defined in msg/TypeSource in the package type_description_interfaces. +/** + * Represents the original source of a ROS 2 interface definition. + */ +typedef struct rosidl_runtime_c__type_description__TypeSource +{ + /// ROS interface type name, in PACKAGE/NAMESPACE/TYPENAME format. + rosidl_runtime_c__String type_name; + /// The type of the original source file, typically matching the file extension. + /// Well-known encodings: "idl", "msg", "srv", "action", "dynamic", "implicit". + /// "dynamic" specifies a type created programmatically by a user, thus having no source. + /// "implicit" specifies a type created automatically as a subtype of a + /// complex type (service or action) - such as the request message for a service. + /// Implicit types will have no contents, the full source will be available on the parent srv/action. + rosidl_runtime_c__String encoding; + /// Dumped contents of the interface definition source file. + /// If `encoding` is "dynamic" or "implicit", this field will be empty. + rosidl_runtime_c__String raw_file_contents; +} rosidl_runtime_c__type_description__TypeSource; + +// Struct for a sequence of rosidl_runtime_c__type_description__TypeSource. +typedef struct rosidl_runtime_c__type_description__TypeSource__Sequence +{ + rosidl_runtime_c__type_description__TypeSource * data; + /// The number of valid items in data + size_t size; + /// The number of allocated items in data + size_t capacity; +} rosidl_runtime_c__type_description__TypeSource__Sequence; + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION__TYPE_SOURCE__STRUCT_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description_utils.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description_utils.h new file mode 100644 index 0000000000000..b190a9330edd2 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description_utils.h @@ -0,0 +1,656 @@ +// Copyright 2023 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * \file Utilities for manipulating type_description_interfaces C message structs. + * + * Every instance of a non-message struct (e.g. hash map) borrows, whereas the message structs copy. + * Hence, lifetime should be managed by the message structs. + */ + +#ifndef ROSIDL_RUNTIME_C__TYPE_DESCRIPTION_UTILS_H_ +#define ROSIDL_RUNTIME_C__TYPE_DESCRIPTION_UTILS_H_ + +#include +#include +#include + +#include + +#include +#include + +#include "rosidl_runtime_c/type_description/field__functions.h" +#include "rosidl_runtime_c/type_description/field__struct.h" +#include "rosidl_runtime_c/type_description/individual_type_description__functions.h" +#include "rosidl_runtime_c/type_description/individual_type_description__struct.h" +#include "rosidl_runtime_c/type_description/type_description__functions.h" +#include "rosidl_runtime_c/type_description/type_description__struct.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +static const uint8_t ROSIDL_RUNTIME_C_TYPE_DESCRIPTION_UTILS_SEQUENCE_TYPE_ID_MASK = 48; + +// ================================================================================================= +// GET BY NAME +// ================================================================================================= + +/// Get the first Field, matching by name. +/** + * The `field` output arg must be passed in pointing to `NULL`. + * It will remain pointing to `NULL` if no matching `Field` is found. + * + * Ownership: + * - The output `Field` borrows the `fields` arg's `Field` element. It is not authorized to + * deallocate it and cannot outlive the owner it borrows from. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] fields array of fields to search through + * \param[in] name field name of the field to look for + * \param[out] field the first field with field name that matches the name arg. + * Must point to `NULL`, outputs pointing to `NULL` if not found. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_NOT_FOUND if no `Field` with a matching name is found, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_find_field( + const rosidl_runtime_c__type_description__Field__Sequence * fields, + const char * name, + rosidl_runtime_c__type_description__Field ** field); + +/// Get the first referenced IndividualTypeDescription, matching by type name. +/** + * The `referenced_type` output arg must be passed in pointing `NULL`. + * It will remain pointing to `NULL` if no matching `IndividualTypeDescription` is found. + * + * Ownership: + * - The output `IndividualTypeDescription` borrows the `referenced_types` arg's + * `IndividualTypeDescription` element. + * It is not authorized to deallocate it and it cannot outlive the `referenced_types` it borrows + * from. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | No + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] referenced_types array of referenced individual type descriptions to search through + * \param[in] type_name name of the referenced referenced individual type description to look for + * \param[out] referenced_type the first individual type description with type name that matches the + * type_name arg. Must point to `NULL`, outputs pointing to `NULL` if not found. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_NOT_FOUND if no `IndividualTypeDescription` with matching name is found, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_find_referenced_type_description( + const rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * referenced_types, + const char * type_name, + rosidl_runtime_c__type_description__IndividualTypeDescription ** referenced_type); + + +// ================================================================================================= +// HASH MAPS +// ================================================================================================= + +/// Construct a hash map of an `IndividualTypeDescription`'s `Field` objects, keyed by field name. +/** + * NOTE: The `hash_map` output arg must be passed in pointing to `NULL`. + * + * Ownership: + * - The caller assumes ownership of the output `rcutils_hash_map_t` and must free it and its + * elements, but NOT finalize its values. + * - The output `rcutils_hash_map_t` has values that borrows the `individual_description` arg's + * `Field` objects. It is not authorized to deallocate them and it cannot outlive the owner it + * borrows from. + * - Finalizing the `rcutils_hash_map_t` should not result in the map's values getting finalized. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] individual_description the individual type description to get the fields from + * \param[in] allocator the allocator to use through out the lifetime of the hash_map + * \param[out] hash_map `rcutils_hash_map_t` to be initialized, containing `Field` objects keyed by + * their field names. Must point to `NULL`, outputs pointing to `NULL` if error. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_get_field_map( + const rosidl_runtime_c__type_description__IndividualTypeDescription * individual_description, + const rcutils_allocator_t * allocator, + rcutils_hash_map_t ** hash_map); + +/// Construct a hash map of an `IndividualTypeDescription__Sequence`'s `IndividualTypeDescription` +/// objects, keyed by type name. +/** + * The `hash_map` output arg must be passed in pointing to `NULL`. + * Furthermore, if the input `referenced_types` sequence has types with identical names but + * differing structures, this function will return `RCUTILS_RET_INVALID_ARGUMENT` and fail. + * + * Ownership: + * - The caller assumes ownership of the output `rcutils_hash_map_t` and must free it and its + * elements, but NOT finalize its values. + * - The output `rcutils_hash_map_t` has values that borrows the `referenced_types` arg's + * `IndividualTypeDescription` elements. It is not authorized to deallocate them and it cannot + * outlive the `referenced_types` it borrows from. + * - Finalizing the output `rcutils_hash_map_t` should not result in its values getting finalized. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] referenced_types the referenced individual type descriptions to get the referenced + * types from + * \param[in] allocator the allocator to use through out the lifetime of the hash_map + * \param[out] hash_map `rcutils_hash_map_t` to be initialized, containing + * `IndividualTypeDescription` objects keyed by their type names. + * Must point to `NULL`, outputs pointing to `NULL` if error. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_get_referenced_type_description_map( + const rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * referenced_types, + const rcutils_allocator_t * allocator, + rcutils_hash_map_t ** hash_map); + + +// ================================================================================================= +// DESCRIPTION VALIDITY +// ================================================================================================= + +/// Return a map of only the referenced type descriptions that are recursively necessary. +/** + * The `seen_map` output arg must be passed in pointing to `NULL`. + * It's a parameter so it can be passed into subsequent recursive calls to traverse nested types. + * + * A referenced type description is recursively necessary if it is either: + * - Needed by a field of the main IndividualTypeDescription + * - Needed by a field of any prior necessary referenced type descriptions (hence recursive) + * + * For more clarity, an unnecessary referenced type description will not be + * referenced when parsing a TypeDescription, and hence can be excluded. + * + * Ownership: + * - The caller assumes ownership of the output `rcutils_hash_map_t` and must free it and its + * elements, but NOT finalize its values. + * - The output `rcutils_hash_map_t` has values that borrows the `referenced_types_map` arg's + * `IndividualTypeDescription` values. It is not authorized to deallocate them and it cannot + * outlive owner it borrows from. + * - Finalizing the output `rcutils_hash_map_t` should not result in its values getting finalized. + * + * Procedure: + * 1. Create seen map + * 2. [Iterate through fields]: + * 3. If field is not nested type or field's nested type is seen in the seen map: + * - Continue + * 4. If nested type is missing in referenced types or nested type name is empty: + * - Throw error + * 5. Else: + * - Add to seen map + * - Recurse on referenced type + * 6. Output seen map + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] main_type_description the main individual type description to check the fields of + * \param[in] referenced_types_map a map of referenced `IndividualTypeDescription` objects from the + * main individual type description's parent `TypeDescription` object, keyed by their type names. + * \param[in] allocator the allocator to use through out the lifetime of the hash_map. + * \param[in,out] seen_map `rcutils_hash_map_t` of seen necessary `IndividualTypeDescription` + * objects keyed by their type names. Used in recursive calls. Must point to + * `NULL` for user's top level call, outputs pointing to `NULL` if error. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_NOT_FOUND if passed referenced types are missing necessary types, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_get_necessary_referenced_type_descriptions_map( + const rosidl_runtime_c__type_description__IndividualTypeDescription * main_type_description, + const rcutils_hash_map_t * referenced_types_map, + const rcutils_allocator_t * allocator, + rcutils_hash_map_t ** seen_map); + +/// Deep copy a map of individual type descriptions into a new IndividualTypeDescription__Sequence. +/** + * The `sequence` output arg must be passed in pointing to `NULL`. + * + * This method also validates that each IndividualTypeDescription in the map has a type name that + * matches the key it was indexed by. + * + * Ownership: + * - The caller assumes ownership of the output `IndividualTypeDescription__Sequence` and must free + * it. + * - The output `IndividualTypeDescription__Sequence` deep copies the values from the `hash_map` arg + * and so has a separate lifetime from the `hash_map`. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] hash_map the referenced type descriptions map to convert (via deep copy) to a sequence + * \param[out] sequence the `IndividualTypeDescription__Sequence` containing copies of the + * `IndividualTypeDescription` objects stored in the values of the input `hash_map` arg. + * Must point to `NULL`, outputs pointing to `NULL` if error. + * \param[in] sort sorts the referenced type descriptions if true, best effort + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_copy_init_sequence_from_referenced_type_descriptions_map( + const rcutils_hash_map_t * hash_map, + rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence ** sequence, + bool sort); + +/// Helper comparison function for the sorting function +ROSIDL_GENERATOR_C_PUBLIC +int +rosidl_runtime_c_type_description_utils_referenced_type_description_sequence_sort_compare( + const void * lhs, const void * rhs); + +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_sort_referenced_type_descriptions_in_place( + rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * sequence); + +/// Remove unnecessary referenced type descriptions from a sequence of referenced types. +/** + * IndividualTypeDescription elements are COPY ASSIGNED in-place, and the original sequence is + * shrunken afterwards. + * + * DOES NOT SORT AFTER PRUNING! Call sort separately. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_prune_referenced_type_descriptions_in_place( + const rosidl_runtime_c__type_description__IndividualTypeDescription * main_type_description, + rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * referenced_types); + +/// Check if field is valid +/** + * A field is valid if: + * - Its name is not empty + * - Note this does not check for valid chars/double underscores + * - Its field type: + * - Is set + * - Has a non-empty nested type name if nested + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_field_is_valid( + const rosidl_runtime_c__type_description__Field * field); + +/// Check if individual type description is valid +/** + * An individual type description is valid if: + * - Its type name is not empty + * - Note this does not check for valid chars etc. + * - All of its fields are valid + * - It does not have duplicate fields + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_individual_type_description_is_valid( + const rosidl_runtime_c__type_description__IndividualTypeDescription * description); + +/// Check if type description is valid +/** + * An type description is valid if: + * - Its main individual type description is valid + * - Its referenced type descriptions are: + * - Not duplicated + * - Not missing necessary type descriptions + * - Have no unnecessary type descriptions + * - Individually valid + * - Sorted + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_type_description_is_valid( + const rosidl_runtime_c__type_description__TypeDescription * description); + +/// This is on a best effort basis, it won't work if the fields of the main or necessary referenced +/// types are invalid. It prunes then sorts. +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_coerce_to_valid_type_description_in_place( + rosidl_runtime_c__type_description__TypeDescription * type_description); + + +// ================================================================================================= +// DESCRIPTION CONSTRUCTION +// ================================================================================================= + +/// Construct a new populated `Field` object. +/** + * NOTE: The `field` output arg must be passed in pointing to `NULL`. + * + * Ownership: + * - The caller assumes ownership of the output `Field` and must free it and its members. + * - The char * members are copied. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] name the name of the field + * \param[in] name_length the string length of `name` (not counting the null terminator) + * \param[in] type_id the type id of the field (follows the type_description_interfaces definition) + * \param[in] capacity capacity of the field (if it is an array or sequence) + * \param[in] string_capacity capacity of string elements (if the field is an array or sequence of + * strings) + * \param[in] nested_type_name the nested type name of the field (if it is a nested type) + * \param[in] nested_type_name_length the string length of `nested_type_name` (not counting the null + * terminator) + * \param[in] default_value literal default value of the field as a string, as it appeared in the + * original message definition + * \param[in] default_value_length the string length of `default_value` (not counting the null + * terminator) + * \param[out] field `Field` to be initialized. Must point to `NULL`, outputs pointing to `NULL` if + * error. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_create_field( + const char * name, size_t name_length, + uint8_t type_id, uint64_t capacity, uint64_t string_capacity, + const char * nested_type_name, size_t nested_type_name_length, + const char * default_value, size_t default_value_length, + rosidl_runtime_c__type_description__Field ** field); + +/// Construct a new populated `IndividualTypeDescription` object, with fields sequence of size 0. +/** + * NOTE: The `individual_description` output arg must be passed in pointing to `NULL`. + * + * Ownership: + * - The caller assumes ownership of the output `IndividualTypeDescription` and must free it and its + * members. + * - The char * members are copied. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] type_name the name of the individual type description + * \param[in] type_name_length the string length of `type_name` (not counting the null terminator) + * \param[out] individual_description `IndividualTypeDescription` to be initialized. Must point to + * `NULL`, outputs pointing to `NULL` if error. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_create_individual_type_description( + const char * type_name, size_t type_name_length, + rosidl_runtime_c__type_description__IndividualTypeDescription ** individual_description); + +/// Construct a new populated `TypeDescription` object, with fields and referenced types sequences +/// of size 0. +/** + * NOTE: The `description` output arg must be passed in pointing to `NULL`. + * + * Ownership: + * - The caller assumes ownership of the output `TypeDescription` and must free it and its + * members. + * - The char * members are copied. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in] type_name the name of the type description's main individual type + * \param[in] type_name_length the string length of `type_name` (not counting the null terminator) + * \param[out] type_description `TypeDescription` to be initialized. Must point to `NULL`, + * outputs pointing to `NULL` if error. + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_create_type_description( + const char * type_name, size_t type_name_length, + rosidl_runtime_c__type_description__TypeDescription ** type_description); + +/// Append a `Field` to an `IndividualTypeDescription`, extending the sequence. +/** + * + * Ownership: + * - A deep-copy of the `field` is appended to `individual_type_description` on success, the + * `individual_type_description` is then responsible for freeing the copied `field`. + * - The ownership of the input `field` is not transferred, it must still be freed. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in,out] individual_type_description the individual type description to append to, noop on + * failure + * \param[in,out] field the field to append + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_append_field( + rosidl_runtime_c__type_description__IndividualTypeDescription * individual_type_description, + rosidl_runtime_c__type_description__Field * field); + +/// Append a referenced `IndividualTypeDescription` to a `TypeDescription`, extending it. +/** + * + * Ownership: + * - A deep-copy of the `referenced_type_description` is appended to `type_description` on success, + * the `type_description` is then responsible for freeing the copied + * `referenced_type_description`. + * - The ownership of the input `referenced_type_description` is not transferred, it must still be + * freed. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in,out] type_description the type description to append to, noop on failure + * \param[in,out] individual_type_description the individual type description to append + * \param[in] sort sorts the referenced type descriptions if true, best effort + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_append_referenced_individual_type_description( + rosidl_runtime_c__type_description__TypeDescription * type_description, + rosidl_runtime_c__type_description__IndividualTypeDescription * referenced_type_description, + bool sort); + +/// Append a referenced `TypeDescription` to a `TypeDescription`, extending it with recursive types. +/** + * + * Ownership: + * - A deep-copy of the `type_description_to_append` object's main individual type description is + * appended to `type_description` on success, the `type_description` is then responsible for + * freeing the copied individual type descriptions. + * - Deep-copies of the `type_description_to_append` object's referenced individual type + * descriptions are appended to `type_description` on success, the `type_description` is then + * responsible for freeing the copied individual type descriptions (or the remaining ones if + * they are pruned). + * - The ownership of the input `type_description` is not transferred, it must still be + * freed. + * + *
+ * Attribute | Adherence + * ------------------ | ------------- + * Allocates Memory | Yes + * Thread-Safe | No + * Uses Atomics | No + * Lock-Free | Yes + * + * \param[in,out] type_description the type description to append to, noop on failure + * \param[in,out] type_description the type description to append + * \param[in] coerce_to_valid coerces input type_description to valid before output if true + * (pruning and sorting), best effort + * \return #RCUTILS_RET_OK if successful, or + * \return #RCUTILS_RET_BAD_ALLOC if memory allocation fails, or + * \return #RCUTILS_RET_INVALID_ARGUMENT for invalid arguments, or + * \return #RCUTILS_RET_ERROR if an unknown error occurs. + */ +// This adds the type description's main description as a referenced type, and all necessary +// referenced types. Then it prunes and sorts the resulting referenced types sequence. +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_append_referenced_type_description( + rosidl_runtime_c__type_description__TypeDescription * type_description, + rosidl_runtime_c__type_description__TypeDescription * type_description_to_append, + bool coerce_to_valid); + +// Create a type description from a referenced description, then validate if coerce_to_valid is true +// This is done by copy!! This allocates memory and the caller is responsible for deallocating the +// output +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_get_referenced_type_description_as_type_description( + const rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * + referenced_descriptions, + const rosidl_runtime_c__type_description__IndividualTypeDescription * referenced_description, + rosidl_runtime_c__type_description__TypeDescription ** output_description, + bool coerce_to_valid); + +// Create a type description from a referenced description, then validate if coerce_to_valid is true +// This is done by copy!! This allocates memory and the caller is responsible for deallocating the +// output +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_get_referenced_type_description_as_type_description( + const rosidl_runtime_c__type_description__IndividualTypeDescription__Sequence * + referenced_descriptions, + const rosidl_runtime_c__type_description__IndividualTypeDescription * referenced_description, + rosidl_runtime_c__type_description__TypeDescription ** output_description, + bool coerce_to_valid); + +/// In-place replace substrings in an individual description's type name and nested names in fields +/** + * This means the `IndividualTypeDescription`'s' type_name will get replaced and all references + * to any nested_type_names in the description's fields. + * + * NOTE(methylDragon): This method is pretty inefficient because it doesn't do checking and will + * re-copy all names. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_repl_individual_type_description_type_names_in_place( + rosidl_runtime_c__type_description__IndividualTypeDescription * individual_type_description, + const char * from, + const char * to); + +/// In-place replace substrings across all type names (and references to those names) +/** + * This means all `IndividualTypeDescription` type_names will get replaced, in the main description + * and referenced type descriptions, and also all references to those names (nested_type_name.) + * + * NOTE(methylDragon): This method is pretty inefficient because it doesn't do checking and will + * re-copy all names. + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_runtime_c_type_description_utils_repl_all_type_description_type_names_in_place( + rosidl_runtime_c__type_description__TypeDescription * type_description, + const char * from, + const char * to); + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_DESCRIPTION_UTILS_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_hash.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_hash.h new file mode 100644 index 0000000000000..dfe4c516e63df --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_hash.h @@ -0,0 +1,86 @@ +// Copyright 2023 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__TYPE_HASH_H_ +#define ROSIDL_RUNTIME_C__TYPE_HASH_H_ + +#include + +#include "rcutils/allocator.h" +#include "rcutils/sha256.h" + +#include "rosidl_runtime_c/visibility_control.h" + +#define ROSIDL_TYPE_HASH_VERSION_UNSET 0 +#define ROSIDL_TYPE_HASH_SIZE RCUTILS_SHA256_BLOCK_SIZE + +#ifdef __cplusplus +extern "C" +{ +#endif + +/// A ROS 2 interface type hash per REP-2011 RIHS standard. +typedef struct rosidl_type_hash_s +{ + uint8_t version; + uint8_t value[ROSIDL_TYPE_HASH_SIZE]; +} rosidl_type_hash_t; + +/// Get a new zero-initialized type hash structure. +/** + * Note that the version equals ROSIDL_TYPE_HASH_VERSION_UNSET. + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_type_hash_t +rosidl_get_zero_initialized_type_hash(void); + +/// Convert type hash to a standardized string representation. +/** + * Follows format RIHS{version}_{value}. + * + * \param[in] type_hash Type hash to convert to string + * \param[in] allocator Allocator to use for allocating string space + * \param[out] output_string Handle to a pointer that will be set + * to the newly allocated null-terminated string representation. + * \return RCUTILS_RET_INVALID_ARGUMENT if any pointer arguments are null or allocator invalid + * \return RCUTILS_RET_BAD_ALLOC if space could not be allocated for resulting string + * \return RCUTILS_RET_OK otherwise + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_stringify_type_hash( + const rosidl_type_hash_t * type_hash, + rcutils_allocator_t allocator, + char ** output_string); + +/// Parse a stringified type hash to a struct. +/** + * \param[in] type_hash_string Null-terminated string with the hash representation + * \param[out] hash_out Preallocated structure to be filled with parsed hash information. + * hash_out->version will be 0 if no version could be parsed, + * but if a version could be determined this field will be set even if an error is returned + * \return RCTUILS_RET_INVALID_ARGUMENT on any null pointer argumunts, or malformed hash string. + * \return RCUTILS_RET_OK otherwise + */ +ROSIDL_GENERATOR_C_PUBLIC +rcutils_ret_t +rosidl_parse_type_hash_string( + const char * type_hash_string, + rosidl_type_hash_t * hash_out); + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__TYPE_HASH_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/u16string.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/u16string.h new file mode 100644 index 0000000000000..6e1172a3b8b30 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/u16string.h @@ -0,0 +1,35 @@ +// Copyright 2015-2018 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__U16STRING_H_ +#define ROSIDL_RUNTIME_C__U16STRING_H_ + +#include + +#include "rosidl_runtime_c/primitives_sequence.h" + +/// An array of 16-bit characters terminated by a null character. +typedef struct rosidl_runtime_c__U16String +{ + /// The pointer to the first character, the sequence ends with a null character. + uint_least16_t * data; // using uint_least16_t to match a C++ std::u16string + /// The length of the u16string (excluding the null character). + size_t size; + /// The capacity represents the number of allocated characters (including the null character). + size_t capacity; +} rosidl_runtime_c__U16String; + +ROSIDL_RUNTIME_C__PRIMITIVE_SEQUENCE(U16String, rosidl_runtime_c__U16String) + +#endif // ROSIDL_RUNTIME_C__U16STRING_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/u16string_functions.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/u16string_functions.h new file mode 100644 index 0000000000000..c89afabfc0a05 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/u16string_functions.h @@ -0,0 +1,258 @@ +// Copyright 2015-2018 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__U16STRING_FUNCTIONS_H_ +#define ROSIDL_RUNTIME_C__U16STRING_FUNCTIONS_H_ + +#include + +#include "rosidl_runtime_c/u16string.h" +#include "rosidl_runtime_c/visibility_control.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +/// Initialize a rosidl_runtime_c__U16String structure. +/* The contents of rosidl_runtime_c__U16String are initialized to a single null character. + * The string initially has size 0 and capacity 1. + * Size represents the size of the contents of the string, while capacity represents the overall + * storage of the string (counting the null terminator). + * All strings must be null-terminated. + * The rosidl_runtime_c__U16String structure should be deallocated using the given function + * rosidl_runtime_c__U16String__fini() when it is no longer needed. + * Calling this function with an already initialized U16 string sequence structure will leak + * memory. + * + * \param[inout] str a pointer to a U16 string structure + * \return true if successful, false if the passed string pointer is null + * or the memory allocation failed + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__U16String__init(rosidl_runtime_c__U16String * str); + +/// Deallocate the memory of the rosidl_runtime_c__U16String structure. +/* +* Calling the function with an already deallocated sequence is a no-op. +* +* \param[inout] str a pointer to a U16 string structure to be finalized +*/ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__U16String__fini(rosidl_runtime_c__U16String * str); + +/// Check for rosidl_runtime_c__U16String structure equality. +/** + * \param[in] lhs a pointer to the left hand side of the equality operator. + * \param[in] lhs a pointer to the right hand side of the equality operator. + * \return true if rosidl_runtime_c__U16String structures are equal + * in size and content, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__U16String__are_equal( + const rosidl_runtime_c__U16String * lhs, + const rosidl_runtime_c__U16String * rhs); + +/// Copy rosidl_runtime_c__U16String structure content. +/** + * This functions performs a deep copy, as opposed to the shallow copy that + * plain assignment yields. + * + * \param[in] input a pointer to a rosidl_runtime_c__U16String structure + * to copy from. + * \param[out] output a pointer to an initialized rosidl_runtime_c__U16String + * structure to copy into. + * \return true if successful, false if either pointer is null or memory + * allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__U16String__copy( + const rosidl_runtime_c__U16String * input, + rosidl_runtime_c__U16String * output); + +/// Assign the uint16_t value of n characters to the rosidl_runtime_c__U16String structure. +/* + * This function returns `false` if memory cannot be allocated, + * if the input uint16_t pointer is null or if the size is higher than SIZE_MAX. + * In both cases no error message is set. + * + * \param[inout] str a pointer to a U16 string structure + * \param[in] value points to a sequence of 16 bit chars + * \param[in] n size of the value string + * \return true if successful, false if the passed string pointer is null + * or if the passed value pointer is null or if the size is higher than SIZE_MAX + * or if the memory reallocation failed. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__U16String__assignn( + rosidl_runtime_c__U16String * str, const uint16_t * value, size_t n); + +/// Assign the c string pointer value of n characters to the rosidl_runtime_c__U16String structure. +/* + * This function is identical to rosidl_runtime_c__U16String__assignn() except the type of the + * value is c string pointer + * + * \see rosidl_runtime_c__U16String__assignn() + * + * \param[inout] str a pointer to a U16 string structure + * \param[in] value points to a sequence of 16 bit chars + * \param[in] n size of the value string + * \return true if successful, false if the passed string pointer is null + * or if the passed value pointer is null or if the size is higher than SIZE_MAX + * or if the memory reallocation failed. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__U16String__assignn_from_char( + rosidl_runtime_c__U16String * str, const char * value, size_t n); + +/// Assign the uint16_t pointer to the rosidl_runtime_c__U16String structure. +/* + * This function is identical to rosidl_runtime_c__U16String__assignn() except the length of the + * uint16_t does not have to be given. + * rosidl_runtime_c__U16String__len() is being used to determine the length of the passed string. + * + * \see rosidl_runtime_c__U16String__assignn() + * + * \param[inout] str a pointer to a rosidl_runtime_c__U16String structure + * \param[in] value points to a sequence of 16 bit chars + * \return true if successful, false if the passed string pointer is null + * or if the passed value pointer is null or if the size is higher than SIZE_MAX + * or if the memory reallocation failed. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__U16String__assign( + rosidl_runtime_c__U16String * str, const uint16_t * value); + +/// Get the length of the uint16_t pointer. +/* + * This function returns the length of the input value pointer. + * + * \param[in] value points to a sequence of 16 bit chars for which the first null char is + * determined + * \return the size of the input value pointer or zero if the pointer is NULL + */ +ROSIDL_GENERATOR_C_PUBLIC +size_t +rosidl_runtime_c__U16String__len(const uint16_t * value); + +/// Resize the uint16_t pointer. +/* + * This function resize the input value pointer. + * + * \param[in] n the new size of the internal buffer + * \return true if successful, false if the passed string pointer is null + * or if the size is higher than SIZE_MAX or if the memory reallocation failed. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__U16String__resize( + rosidl_runtime_c__U16String * str, size_t n); + +/// Initialize a U16 string sequence structure. +/* + * The rosidl_runtime_c__U16String__Sequence is initialized to the size passed to the function. + * The U16 string sequence structure should be deallocated using the given + * function rosidl_runtime_c__U16String__Sequence__fini() when it is no longer needed. + * Calling this function with an already initialized U16 string sequence structure will leak + * memory. + * + * \param[inout] sequence a pointer to a U16 string sequence structure + * \param[in] size represents the size of the U16 string + * \return true if successful, false if the passed string pointer is null + * or the memory allocation failed + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__U16String__Sequence__init( + rosidl_runtime_c__U16String__Sequence * sequence, size_t size); + +/// Deallocate the memory of the string sequence structure. +/* + * Calling the function with an already deallocated sequence is a no-op. + * + * \param[inout] sequence a pointer to a U16 string to be finalized + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__U16String__Sequence__fini( + rosidl_runtime_c__U16String__Sequence * sequence); + +/// Check for rosidl_runtime_c__U16String__Sequence structure equality. +/** + * \param[in] lhs a pointer to the left hand side of the equality operator. + * \param[in] lhs a pointer to the right hand side of the equality operator. + * \return true if rosidl_runtime_c__U16String__Sequence structures are equal + * in size and content, otherwise false. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__U16String__Sequence__are_equal( + const rosidl_runtime_c__U16String__Sequence * lhs, + const rosidl_runtime_c__U16String__Sequence * rhs); + +/// Copy a U16 string sequence content. +/** + * This functions performs a deep copy, as opposed to the shallow copy + * that plain assignment yields. + * + * \param[in] input a pointer to a rosidl_runtime_c__String__Sequence + * structure to copy from. + * \param[out] output a pointer to an initialized rosidl_runtime_c__String__Sequence + * structure to copy into. + * \return true if successful, false if either pointer is null or memory + * allocation fails. + */ +ROSIDL_GENERATOR_C_PUBLIC +bool +rosidl_runtime_c__U16String__Sequence__copy( + const rosidl_runtime_c__U16String__Sequence * input, + rosidl_runtime_c__U16String__Sequence * output); + +/// Create a U16 string sequence structure with a specific size. +/* + * The U16 string sequence initially has size and capacity equal to the size + * argument. + * The U16 string sequence structure should be deallocated using the given + * function rosidl_runtime_c__U16String__Sequence__destroy() when it is no longer needed. + * + * \param[in] size of the desired U16 string + * \return a U16 string sequence if initialization was successfully, otherwise NULL. + */ +ROSIDL_GENERATOR_C_PUBLIC +rosidl_runtime_c__U16String__Sequence * +rosidl_runtime_c__U16String__Sequence__create(size_t size); + +/// Destroy a U16 string sequence structure. +/* + * Calling the function with an already deallocated sequence is a no-op. + * + * \param[inout] sequence a pointer to a U16 string sequence to be finalized + */ +ROSIDL_GENERATOR_C_PUBLIC +void +rosidl_runtime_c__U16String__Sequence__destroy( + rosidl_runtime_c__U16String__Sequence * sequence); + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__U16STRING_FUNCTIONS_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/visibility_control.h b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/visibility_control.h new file mode 100644 index 0000000000000..05c95bff0f06e --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/visibility_control.h @@ -0,0 +1,58 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_RUNTIME_C__VISIBILITY_CONTROL_H_ +#define ROSIDL_RUNTIME_C__VISIBILITY_CONTROL_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +// This logic was borrowed (then namespaced) from the examples on the gcc wiki: +// https://gcc.gnu.org/wiki/Visibility + +#if defined _WIN32 || defined __CYGWIN__ + #ifdef __GNUC__ + #define ROSIDL_GENERATOR_C_EXPORT __attribute__ ((dllexport)) + #define ROSIDL_GENERATOR_C_IMPORT __attribute__ ((dllimport)) + #else + #define ROSIDL_GENERATOR_C_EXPORT __declspec(dllexport) + #define ROSIDL_GENERATOR_C_IMPORT __declspec(dllimport) + #endif + #ifdef ROSIDL_GENERATOR_C_BUILDING_DLL + #define ROSIDL_GENERATOR_C_PUBLIC ROSIDL_GENERATOR_C_EXPORT + #else + #define ROSIDL_GENERATOR_C_PUBLIC ROSIDL_GENERATOR_C_IMPORT + #endif + #define ROSIDL_GENERATOR_C_PUBLIC_TYPE ROSIDL_GENERATOR_C_PUBLIC + #define ROSIDL_GENERATOR_C_LOCAL +#else + #define ROSIDL_GENERATOR_C_EXPORT __attribute__ ((visibility("default"))) + #define ROSIDL_GENERATOR_C_IMPORT + #if __GNUC__ >= 4 + #define ROSIDL_GENERATOR_C_PUBLIC __attribute__ ((visibility("default"))) + #define ROSIDL_GENERATOR_C_LOCAL __attribute__ ((visibility("hidden"))) + #else + #define ROSIDL_GENERATOR_C_PUBLIC + #define ROSIDL_GENERATOR_C_LOCAL + #endif + #define ROSIDL_GENERATOR_C_PUBLIC_TYPE +#endif + +#ifdef __cplusplus +} +#endif + +#endif // ROSIDL_RUNTIME_C__VISIBILITY_CONTROL_H_ diff --git a/ports/espressif/microros-ext/include/rosidl_typesupport_interface/rosidl_typesupport_interface/macros.h b/ports/espressif/microros-ext/include/rosidl_typesupport_interface/rosidl_typesupport_interface/macros.h new file mode 100644 index 0000000000000..de3fbef419ed6 --- /dev/null +++ b/ports/espressif/microros-ext/include/rosidl_typesupport_interface/rosidl_typesupport_interface/macros.h @@ -0,0 +1,62 @@ +// Copyright 2016 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ROSIDL_TYPESUPPORT_INTERFACE__MACROS_H_ +#define ROSIDL_TYPESUPPORT_INTERFACE__MACROS_H_ + +/// Declare the typesupport library name. +#define ROSIDL_TYPESUPPORT_INTERFACE__LIBRARY_NAME( \ + typesupport_name, package_name) \ + package_name ## __ ## typesupport_name + +/// Declare the typesupport symbol name. Note: this should not be called directly. +#define ROSIDL_TYPESUPPORT_INTERFACE__SYMBOL_NAME( \ + typesupport_name, function_name, package_name, interface_type, interface_name) \ + typesupport_name ## __ ## function_name ## __ ## \ + package_name ## __ ## interface_type ## __ ## interface_name + +/// Declare a typesupport symbol name for a rosidl message definition. +#define ROSIDL_TYPESUPPORT_INTERFACE__MESSAGE_SYMBOL_NAME( \ + typesupport_name, package_name, interface_type, message_name) \ + ROSIDL_TYPESUPPORT_INTERFACE__SYMBOL_NAME( \ + typesupport_name, get_message_type_support_handle, \ + package_name, interface_type, message_name) + +/// Declare a typesupport symbol name for a rosidl service definition. +#define ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME( \ + typesupport_name, package_name, interface_type, service_name) \ + ROSIDL_TYPESUPPORT_INTERFACE__SYMBOL_NAME( \ + typesupport_name, get_service_type_support_handle, \ + package_name, interface_type, service_name) + +/// Declare a typesupport symbol name for a rosidl action definition. +#define ROSIDL_TYPESUPPORT_INTERFACE__ACTION_SYMBOL_NAME( \ + typesupport_name, package_name, interface_type, action_name) \ + ROSIDL_TYPESUPPORT_INTERFACE__SYMBOL_NAME( \ + typesupport_name, get_action_type_support_handle, \ + package_name, interface_type, action_name) + +#define ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_CREATE_EVENT_MESSAGE_SYMBOL_NAME( \ + typesupport_name, package_name, interface_type, service_name) \ + ROSIDL_TYPESUPPORT_INTERFACE__SYMBOL_NAME( \ + typesupport_name, create_service_event_message, \ + package_name, interface_type, service_name) + +#define ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_DESTROY_EVENT_MESSAGE_SYMBOL_NAME( \ + typesupport_name, package_name, interface_type, service_name) \ + ROSIDL_TYPESUPPORT_INTERFACE__SYMBOL_NAME( \ + typesupport_name, destroy_service_event_message, \ + package_name, interface_type, service_name) + +#endif // ROSIDL_TYPESUPPORT_INTERFACE__MACROS_H_ diff --git a/ports/espressif/microros-ext/include/tracetools/tracetools/config.h b/ports/espressif/microros-ext/include/tracetools/tracetools/config.h new file mode 100644 index 0000000000000..b2cd9771a8aa6 --- /dev/null +++ b/ports/espressif/microros-ext/include/tracetools/tracetools/config.h @@ -0,0 +1,21 @@ +// Copyright 2019 Robert Bosch GmbH +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef TRACETOOLS__CONFIG_H_ +#define TRACETOOLS__CONFIG_H_ + +#define TRACETOOLS_DISABLED +#define TRACETOOLS_TRACEPOINTS_EXCLUDED + +#endif // TRACETOOLS__CONFIG_H_ diff --git a/ports/espressif/microros-ext/include/tracetools/tracetools/tracetools.h b/ports/espressif/microros-ext/include/tracetools/tracetools/tracetools.h new file mode 100644 index 0000000000000..8161a4eee2668 --- /dev/null +++ b/ports/espressif/microros-ext/include/tracetools/tracetools/tracetools.h @@ -0,0 +1,622 @@ +// Copyright 2019 Robert Bosch GmbH +// Copyright 2020 Christophe Bedard +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** \mainpage tracetools: tracing tools and instrumentation for ROS 2 + * + * `tracetools` provides utilities to instrument ROS. + * It provides two main headers: + * + * - tracetools/tracetools.h + * - instrumentation functions + * - tracetools/utils.hpp + * - utility functions + */ + +#ifndef TRACETOOLS__TRACETOOLS_H_ +#define TRACETOOLS__TRACETOOLS_H_ + +#include +#include +#include + +#include "tracetools/config.h" +#include "tracetools/visibility_control.hpp" + +#ifndef TRACETOOLS_DISABLED +/** + * This allows us to select between two versions of each macro + * to avoid the 'gnu-zero-variadic-macro-arguments' warning: + * 1. Only one macro argument for tracepoints without any arguments. + * 2. Up to 10 macro arguments for tracepoints with up to 9 arguments. + * We can easily support more than 10 macro arguments if needed. + */ +# define _GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, NAME, ...) NAME + +# define _TRACEPOINT_NOARGS(event_name) \ + (ros_trace_ ## event_name)() +# define _TRACEPOINT_ARGS(event_name, ...) \ + (ros_trace_ ## event_name)(__VA_ARGS__) +# define _DO_TRACEPOINT_NOARGS(event_name) \ + (ros_trace_do_ ## event_name)() +# define _DO_TRACEPOINT_ARGS(event_name, ...) \ + (ros_trace_do_ ## event_name)(__VA_ARGS__) +# define _DECLARE_TRACEPOINT_NOARGS(event_name) \ + TRACETOOLS_PUBLIC void ros_trace_ ## event_name(); \ + TRACETOOLS_PUBLIC bool ros_trace_enabled_ ## event_name(); \ + TRACETOOLS_PUBLIC void ros_trace_do_ ## event_name(); +# define _DECLARE_TRACEPOINT_ARGS(event_name, ...) \ + TRACETOOLS_PUBLIC void ros_trace_ ## event_name(__VA_ARGS__); \ + TRACETOOLS_PUBLIC bool ros_trace_enabled_ ## event_name(); \ + TRACETOOLS_PUBLIC void ros_trace_do_ ## event_name(__VA_ARGS__); + +# define _GET_MACRO_TRACEPOINT(...) \ + _GET_MACRO( \ + __VA_ARGS__, \ + _TRACEPOINT_ARGS, _TRACEPOINT_ARGS, _TRACEPOINT_ARGS, _TRACEPOINT_ARGS, _TRACEPOINT_ARGS, \ + _TRACEPOINT_ARGS, _TRACEPOINT_ARGS, _TRACEPOINT_ARGS, _TRACEPOINT_ARGS, _TRACEPOINT_NOARGS, \ + shoud_not_be_called_without_any_arguments) +# define _GET_MACRO_DO_TRACEPOINT(...) \ + _GET_MACRO( \ + __VA_ARGS__, \ + _DO_TRACEPOINT_ARGS, _DO_TRACEPOINT_ARGS, _DO_TRACEPOINT_ARGS, _DO_TRACEPOINT_ARGS, \ + _DO_TRACEPOINT_ARGS, _DO_TRACEPOINT_ARGS, _DO_TRACEPOINT_ARGS, _DO_TRACEPOINT_ARGS, \ + _DO_TRACEPOINT_ARGS, _DO_TRACEPOINT_NOARGS, shoud_not_be_called_without_any_arguments) +# define _GET_MACRO_DECLARE_TRACEPOINT(...) \ + _GET_MACRO( \ + __VA_ARGS__, \ + _DECLARE_TRACEPOINT_ARGS, _DECLARE_TRACEPOINT_ARGS, _DECLARE_TRACEPOINT_ARGS, \ + _DECLARE_TRACEPOINT_ARGS, _DECLARE_TRACEPOINT_ARGS, _DECLARE_TRACEPOINT_ARGS, \ + _DECLARE_TRACEPOINT_ARGS, _DECLARE_TRACEPOINT_ARGS, _DECLARE_TRACEPOINT_ARGS, \ + _DECLARE_TRACEPOINT_NOARGS, shoud_not_be_called_without_any_arguments) + +/// Call a tracepoint. +/** + * The first argument is mandatory and should be the tracepoint event name. + * The other arguments should be the tracepoint arguments. + * This is the preferred method over calling the underlying function directly. + * + * This macro currently supports up to 9 tracepoint arguments after the event name. + */ +# define TRACEPOINT(...) \ + _GET_MACRO_TRACEPOINT(__VA_ARGS__)(__VA_ARGS__) +/// Check if a tracepoint is enabled at runtime. +/** + * This can be useful to only compute tracepoint arguments if the tracepoint is actually enabled at + * runtime. Combine this with `DO_TRACEPOINT()` instead of `TRACEPOINT()` to trigger a tracepoint + * after checking if it is enabled and computing its arguments. + * + * This is the preferred method over calling the underlying function directly. + */ +# define TRACEPOINT_ENABLED(event_name) \ + ros_trace_enabled_ ## event_name() +/// Call a tracepoint, without checking if it is enabled. +/** + * Combine this with `TRACEPOINT_ENABLED()` to check if a tracepoint is enabled before triggering + * it. + * + * The first argument is mandatory and should be the tracepoint event name. + * The other arguments should be the tracepoint arguments. + * This is the preferred method over calling the underlying function directly. + * + * This macro currently supports up to 9 tracepoint arguments after the event name. + */ +# define DO_TRACEPOINT(...) \ + _GET_MACRO_DO_TRACEPOINT(__VA_ARGS__)(__VA_ARGS__) +# define DECLARE_TRACEPOINT(...) \ + _GET_MACRO_DECLARE_TRACEPOINT(__VA_ARGS__)(__VA_ARGS__) +#else +# define TRACEPOINT(...) ((void) (0)) +# define TRACEPOINT_ENABLED(event_name) false +# define DO_TRACEPOINT(...) ((void) (0)) +# define DECLARE_TRACEPOINT(...) +#endif // TRACETOOLS_DISABLED + +#ifdef __cplusplus +extern "C" +{ +#endif + +/// Get tracing compilation status. +/** + * \return `true` if tracing is enabled, `false` otherwise + */ +TRACETOOLS_PUBLIC bool ros_trace_compile_status(); + +/// `rcl_init` +/** + * Initialisation for the whole process. + * Notes the `tracetools` version automatically. + * + * \param[in] context_handle pointer to the `rcl_context_t` handle + */ +DECLARE_TRACEPOINT( + rcl_init, + const void * context_handle) + +/// `rcl_node_init` +/** + * Node initialisation. + * Links a `rcl_node_t` handle to its `rmw_node_t` handle. + * + * \param[in] node_handle pointer to the node's `rcl_node_t` handle + * \param[in] rmw_handle pointer to the node's `rmw_node_t` handle + * \param[in] node_name node name + * \param[in] node_namespace node namespace + */ +DECLARE_TRACEPOINT( + rcl_node_init, + const void * node_handle, + const void * rmw_handle, + const char * node_name, + const char * node_namespace) + +/// `rmw_publisher_init` +/** + * RMW publisher initialisation. + * Links a `rmw_publisher_t` handle to its DDS/rmw GID. + * + * \param[in] rmw_publisher_handle pointer to the publisher's `rmw_publisher_t` handle + * \param[in] gid pointer to the publisher's DDS/rmw GID + */ +DECLARE_TRACEPOINT( + rmw_publisher_init, + const void * rmw_publisher_handle, + const uint8_t * gid) + +/// `rcl_publisher_init` +/** + * Publisher initialisation. + * Links a `rcl_publisher_t` handle to its `rcl_node_t` handle + * and its `rmw_publisher_t` handle, and links it to a topic name. + * + * \param[in] publisher_handle pointer to the publisher's `rcl_publisher_t` handle + * \param[in] node_handle pointer to the `rcl_node_t` handle of the node the publisher belongs to + * \param[in] rmw_publisher_handle pointer to the publisher's `rmw_publisher_t` handle + * \param[in] topic_name full topic name + * \param[in] queue_depth publisher history depth + */ +DECLARE_TRACEPOINT( + rcl_publisher_init, + const void * publisher_handle, + const void * node_handle, + const void * rmw_publisher_handle, + const char * topic_name, + const size_t queue_depth) + +/// `rclcpp_publish` +/** + * Message publication. + * Notes the pointer to the message being published at the `rclcpp` level. + * + * \param[in] publisher_handle not used, but kept for API/ABI stability + * \param[in] message pointer to the message being published + */ +DECLARE_TRACEPOINT( + rclcpp_publish, + const void * publisher_handle, + const void * message) + +/// `rclcpp_intra_publish` +/** + * Intra-process message publication. + * Notes the pointer to the message being published in intra process at the `rclcpp` level. + * + * \param[in] publisher_handle pointer to the publisher's `rcl_publisher_t` handle + * \param[in] message pointer to the message being published + */ +DECLARE_TRACEPOINT( + rclcpp_intra_publish, + const void * publisher_handle, + const void * message) + +/// `rcl_publish` +/** + * Message publication. + * Links a `rcl_publisher_t` handle to a pointer to + * a message being published at the `rcl` level. + * + * \param[in] publisher_handle pointer to the publisher's `rcl_publisher_t` handle + * \param[in] message pointer to the message being published + */ +DECLARE_TRACEPOINT( + rcl_publish, + const void * publisher_handle, + const void * message) + +/// `rmw_publish` +/** + * Message publication. + * Notes the pointer to the message being published at the `rmw` level. + * + * \param[in] message pointer to the message being published + */ +DECLARE_TRACEPOINT( + rmw_publish, + const void * message) + +/// `rmw_subscription_init` +/** + * RMW subscription initialisation. + * Links a `rmw_subscription_handle` handle to its DDS/rmw GID. + * + * \param[in] rmw_subscription_handle pointer to the publisher's `rmw_subscription_t` handle + * \param[in] gid pointer to the subscription's DDS/rmw GID + */ +DECLARE_TRACEPOINT( + rmw_subscription_init, + const void * rmw_subscription_handle, + const uint8_t * gid) + +/// `rcl_subscription_init` +/** + * Subscription initialisation. + * Links a `rcl_subscription_t` handle to its `rcl_node_t` handle + * and its `rmw_subscription_t` handle, and links it to a topic name. + * + * \param[in] subscription_handle pointer to the subscription's `rcl_subscription_t` handle + * \param[in] node_handle + * pointer to the `rcl_node_t` handle of the node the subscription belongs to + * \param[in] rmw_subscription_handle pointer to the subscription's `rmw_subscription_t` handle + * \param[in] topic_name full topic name + * \param[in] queue_depth subscription history depth + */ +DECLARE_TRACEPOINT( + rcl_subscription_init, + const void * subscription_handle, + const void * node_handle, + const void * rmw_subscription_handle, + const char * topic_name, + const size_t queue_depth) + +/// `rclcpp_subscription_init` +/** + * Subscription object initialisation. + * Links the `rclcpp::*Subscription*` object to a `rcl_subscription_t` handle. + * Needed since there could be more than 1 `rclcpp::*Subscription*` object + * for one `rcl` subscription (e.g. when using intra-process). + * + * \param[in] subscription_handle + * pointer to the `rcl_subscription_t` handle of the subscription this object belongs to + * \param[in] subscription pointer to this subscription object (e.g. `rclcpp::*Subscription*`) + */ +DECLARE_TRACEPOINT( + rclcpp_subscription_init, + const void * subscription_handle, + const void * subscription) + +/// `rclcpp_subscription_callback_added` +/** + * Link a subscription callback object to a subscription object. + * + * \param[in] subscription pointer to the subscription object this callback belongs to + * \param[in] callback pointer to this callback object (e.g. `rclcpp::AnySubscriptionCallback`) + */ +DECLARE_TRACEPOINT( + rclcpp_subscription_callback_added, + const void * subscription, + const void * callback) + +/// `rmw_take` +/** + * Message taking. + * Links a `rmw_subscription_t` handle to a pointer + * to a message being taken at the `rmw` level. + * + * \param[in] rmw_subscription_handle pointer to the subscription's `rmw_subscription_t` handle + * \param[in] message pointer to the message being taken + * \param[in] source_timestamp the source timestamp of the received message, + * or 0 (if no message or no info) + * \param[in] taken whether a message was taken + */ +DECLARE_TRACEPOINT( + rmw_take, + const void * rmw_subscription_handle, + const void * message, + int64_t source_timestamp, + const bool taken) + +/// `rcl_take` +/** + * Message taking. + * Notes the pointer to the message being taken at the `rcl` level. + * + * \param[in] message pointer to the message being taken + */ +DECLARE_TRACEPOINT( + rcl_take, + const void * message) + +/// `rclcpp_take` +/** + * Message taking. + * Notes the pointer to the message being taken at the `rclcpp` level. + * + * \param[in] message pointer to the message being taken + */ +DECLARE_TRACEPOINT( + rclcpp_take, + const void * message) + +/// `rcl_service_init` +/** + * Service initialisation. + * Links a `rcl_service_t` handle to its `rcl_node_t` handle + * and its `rmw_service_t` handle, and links it to a service name. + * + * \param[in] service_handle pointer to the service's `rcl_service_t` handle + * \param[in] node_handle pointer to the `rcl_node_t` handle of the node the service belongs to + * \param[in] rmw_service_handle pointer to the service's `rmw_service_t` handle + * \param[in] service_name full service name + */ +DECLARE_TRACEPOINT( + rcl_service_init, + const void * service_handle, + const void * node_handle, + const void * rmw_service_handle, + const char * service_name) + +/// `rclcpp_service_callback_added` +/** + * Link a service callback object to a service. + * + * \param[in] service_handle + * pointer to the `rcl_service_t` handle of the service this callback belongs to + * \param[in] callback pointer to this callback object (e.g. `rclcpp::AnyServiceCallback`) + */ +DECLARE_TRACEPOINT( + rclcpp_service_callback_added, + const void * service_handle, + const void * callback) + +/// `rcl_client_init` +/** + * Client initialisation. + * Links a `rcl_client_t` handle to its `rcl_node_t` handle + * and its `rmw_client_t` handle, and links it to a client name. + * + * \param[in] client_handle pointer to the client's `rcl_client_t` handle + * \param[in] node_handle pointer to the `rcl_node_t` handle of the node the client belongs to + * \param[in] rmw_client_handle pointer to the client's `rmw_client_t` handle + * \param[in] service_name full client name + */ +DECLARE_TRACEPOINT( + rcl_client_init, + const void * client_handle, + const void * node_handle, + const void * rmw_client_handle, + const char * service_name) + +/// `rcl_timer_init` +/** + * Timer initialisation. + * Notes the timer's period. + * + * \param[in] timer_handle pointer to the timer's `rcl_timer_t` handle + * \param[in] period period in nanoseconds + */ +DECLARE_TRACEPOINT( + rcl_timer_init, + const void * timer_handle, + int64_t period) + +/// `rclcpp_timer_callback_added` +/** + * Link a timer callback object to its `rcl_timer_t` handle. + * + * \param[in] timer_handle + * pointer to the `rcl_timer_t` handle of the timer this callback belongs to + * \param[in] callback pointer to the callback object (`std::function`) + */ +DECLARE_TRACEPOINT( + rclcpp_timer_callback_added, + const void * timer_handle, + const void * callback) + +/// `rclcpp_timer_link_node` +/** + * Link a timer to a node. + * + * \param[in] timer_handle pointer to the timer's `rcl_timer_t` handle + * \param[in] node_handle pointer to the `rcl_node_t` handle of the node the timer belongs to + */ +DECLARE_TRACEPOINT( + rclcpp_timer_link_node, + const void * timer_handle, + const void * node_handle) + +/// `rclcpp_callback_register` +/** + * Register a demangled function symbol with a callback. + * + * \param[in] callback pointer to the callback object + * (e.g. `rclcpp::AnySubscriptionCallback`, + * `rclcpp::AnyServiceCallback`, timer `std::function`, etc.) + * \param[in] function_symbol demangled symbol of the callback function/lambda, + * see \ref get_symbol() + */ +DECLARE_TRACEPOINT( + rclcpp_callback_register, + const void * callback, + const char * function_symbol) + +/// `callback_start` +/** + * Start of a callback. + * + * \param[in] callback pointer to this callback object + * (e.g. `rclcpp::AnySubscriptionCallback`, + * `rclcpp::AnyServiceCallback`, timer `std::function`, etc.) + * \param[in] is_intra_process whether this callback is done via intra-process or not + */ +DECLARE_TRACEPOINT( + callback_start, + const void * callback, + const bool is_intra_process) + +/// `callback_end` +/** + * End of a callback. + * + * \param[in] callback pointer to this callback object + * (e.g. `rclcpp::AnySubscriptionCallback`, + * `rclcpp::AnyServiceCallback`, timer `std::function`, etc.) + */ +DECLARE_TRACEPOINT( + callback_end, + const void * callback) + +/// `rcl_lifecycle_state_machine_init` +/** + * Lifecycle state machine initialisation. + * Links a `rcl_lifecycle_state_machine_t` handle to a `rcl_node_t` handle. + * + * \param[in] node_handle pointer to the node handle + * \param[in] state_machine pointer to the state machine + */ +DECLARE_TRACEPOINT( + rcl_lifecycle_state_machine_init, + const void * node_handle, + const void * state_machine) + +/// `rcl_lifecycle_transition` +/** + * Lifecycle transition between two states. + * + * \param[in] state_machine pointer to the state machine for the transition + * \param[in] start_label start state label + * \param[in] goal_label goal state label + */ +DECLARE_TRACEPOINT( + rcl_lifecycle_transition, + const void * state_machine, + const char * start_label, + const char * goal_label) + +/// `rclcpp_executor_get_next_ready` +/** + * Notes the start time of the executor phase that gets the next executable that's ready. + */ +DECLARE_TRACEPOINT( + rclcpp_executor_get_next_ready) + +/// `rclcpp_executor_wait_for_work` +/** + * Notes the start time of the executor phase that waits for work and notes the timeout value. + * + * \param[in] timeout the timeout value for the wait call + */ +DECLARE_TRACEPOINT( + rclcpp_executor_wait_for_work, + const int64_t timeout) + +/// `rclcpp_executor_execute` +/** + * Executable execution. + * Notes an executable being executed using its `rcl` handle, which can be a: + * * timer + * * subscription + * + * \param[in] handle pointer to the `rcl` handle of the executable being executed + */ +DECLARE_TRACEPOINT( + rclcpp_executor_execute, + const void * handle) + +/// `rclcpp_ipb_to_subscription` +/** + * Subscription intra-process buffer initialization. + * Notes the `IntraProcessBuffer` and the `SubscriptionIntraProcess` that owns it. + * + * \param[in] ipb pointer to the `IntraProcessBuffer` + * \param[in] subscription pointer to the `SubscriptionIntraProcess` + */ +DECLARE_TRACEPOINT( + rclcpp_ipb_to_subscription, + const void * ipb, + const void * subscription) + +/// `rclcpp_buffer_to_ipb` +/** + * Intra-process buffer initialization. + * Notes the `BufferImplementationBase` and the `IntraProcessBuffer` that owns it. + * + * \param[in] buffer the pointer to the `BufferImplementationBase` + * \param[in] ipb to pointer to the `IntraProcessBuffer` + */ +DECLARE_TRACEPOINT( + rclcpp_buffer_to_ipb, + const void * buffer, + const void * ipb) + +/// `rclcpp_construct_ring_buffer` +/** + * Ring buffer construction. + * Notes the buffer address and its capacity. + * + * \param[in] buffer pointer to the buffer + * \param[in] capacity buffer size + */ +DECLARE_TRACEPOINT( + rclcpp_construct_ring_buffer, + const void * buffer, + const uint64_t capacity) + +/// `rclcpp_ring_buffer_enqueue` +/** + * Notes buffer address, the index to write to, and the occurrence of the lost. + * + * \param[in] buffer pointer to the buffer + * \param[in] index the index to write to + * \param[in] size the size of the buffer after this operation + * \param[in] overwritten occurrence of the lost + */ +DECLARE_TRACEPOINT( + rclcpp_ring_buffer_enqueue, + const void * buffer, + const uint64_t index, + const uint64_t size, + const bool overwritten) + +/// `rclcpp_ring_buffer_dequeue` +/** + * Ring buffer dequeue. + * Notes buffer address, the index to read from, and the size of the buffer after this operation. + * + * \param[in] buffer pointer to the buffer + * \param[in] index the index to read from + * \param[in] size the size of the buffer after this operation + */ +DECLARE_TRACEPOINT( + rclcpp_ring_buffer_dequeue, + const void * buffer, + const uint64_t index, + const uint64_t size) + +/// `rclcpp_ring_buffer_clear` +/** + * Ring buffer clear. + * Notes the address of the cleared buffer. + * + * \param[in] buffer pointer to the buffer + */ +DECLARE_TRACEPOINT( + rclcpp_ring_buffer_clear, + const void * buffer) + +#ifdef __cplusplus +} +#endif + +#endif // TRACETOOLS__TRACETOOLS_H_ diff --git a/ports/espressif/microros-ext/include/tracetools/tracetools/utils.hpp b/ports/espressif/microros-ext/include/tracetools/tracetools/utils.hpp new file mode 100644 index 0000000000000..d5cd2a9f3d596 --- /dev/null +++ b/ports/espressif/microros-ext/include/tracetools/tracetools/utils.hpp @@ -0,0 +1,87 @@ +// Copyright 2019 Robert Bosch GmbH +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef TRACETOOLS__UTILS_HPP_ +#define TRACETOOLS__UTILS_HPP_ + +#include +#include + +#include "tracetools/config.h" + +#ifndef TRACETOOLS_DISABLED + +namespace tracetools +{ + +namespace detail +{ + +/// Demangle symbol string. +/** + * \param[in] mangled the pointer to the mangled symbol string + * \return the demangled symbol, or nullptr if demangling failed. The caller is responsible for + * deallocating this memory using free. + */ +char * demangle_symbol(const char * mangled); + +/// Get demangled symbol string from function pointer. +/** + * \param[in] funcptr the function pointer + * \return the demangled symbol, or nullptr if the pointer could not be matched to a shared object + * or if demangling failed. The caller is responsible for deallocating this memory using free. + */ +char * get_symbol_funcptr(const void * funcptr); + +} // namespace detail + +/// Get demangled symbol from an std::function object. +/** + * \param[in] f the std::function object + * \return the symbol, or nullptr if the symbol could not be retrieved or if demangling failed. The + * caller is responsible for deallocating this memory using free. + */ +template +char * get_symbol(std::function f) +{ + typedef T (fnType)(U...); + fnType ** fnPointer = f.template target(); + // If we get an actual address + if (fnPointer != nullptr) { + void * funcptr = reinterpret_cast(*fnPointer); + return detail::get_symbol_funcptr(funcptr); + } + // Otherwise we have to go through target_type() + return detail::demangle_symbol(f.target_type().name()); +} + +/// Get demangled symbol from a function-related object. +/** + * Fallback meant for lambdas with captures. + * + * \param[in] l a generic object + * \return the symbol, or nullptr if demangling failed. The caller is responsible for deallocating + * this memory using free. + */ +template +char * get_symbol(L && l) +{ + return detail::demangle_symbol(typeid(l).name()); +} + +} // namespace tracetools + +#endif // TRACETOOLS_DISABLED + +#endif // TRACETOOLS__UTILS_HPP_ diff --git a/ports/espressif/microros-ext/include/tracetools/tracetools/visibility_control.hpp b/ports/espressif/microros-ext/include/tracetools/tracetools/visibility_control.hpp new file mode 100644 index 0000000000000..63a5a588623be --- /dev/null +++ b/ports/espressif/microros-ext/include/tracetools/tracetools/visibility_control.hpp @@ -0,0 +1,56 @@ +// Copyright 2015 Open Source Robotics Foundation, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* This header must be included by all TRACETOOLS headers which declare symbols + * which are defined in the TRACETOOLS library. When not building the TRACETOOLS + * library, i.e. when using the headers in other package's code, the contents + * of this header change the visibility of certain symbols which the TRACETOOLS + * library cannot have, but the consuming code must have inorder to link. + */ + +#ifndef TRACETOOLS__VISIBILITY_CONTROL_HPP_ +#define TRACETOOLS__VISIBILITY_CONTROL_HPP_ + +// This logic was borrowed (then namespaced) from the examples on the gcc wiki: +// https://gcc.gnu.org/wiki/Visibility + +#if defined _WIN32 || defined __CYGWIN__ + #ifdef __GNUC__ + #define TRACETOOLS_EXPORT __attribute__ ((dllexport)) + #define TRACETOOLS_IMPORT __attribute__ ((dllimport)) + #else + #define TRACETOOLS_EXPORT __declspec(dllexport) + #define TRACETOOLS_IMPORT __declspec(dllimport) + #endif + #ifdef TRACETOOLS_BUILDING_DLL + #define TRACETOOLS_PUBLIC TRACETOOLS_EXPORT + #else + #define TRACETOOLS_PUBLIC TRACETOOLS_IMPORT + #endif + #define TRACETOOLS_PUBLIC_TYPE TRACETOOLS_PUBLIC + #define TRACETOOLS_LOCAL +#else + #define TRACETOOLS_EXPORT __attribute__ ((visibility("default"))) + #define TRACETOOLS_IMPORT + #if __GNUC__ >= 4 + #define TRACETOOLS_PUBLIC __attribute__ ((visibility("default"))) + #define TRACETOOLS_LOCAL __attribute__ ((visibility("hidden"))) + #else + #define TRACETOOLS_PUBLIC + #define TRACETOOLS_LOCAL + #endif + #define TRACETOOLS_PUBLIC_TYPE +#endif + +#endif // TRACETOOLS__VISIBILITY_CONTROL_HPP_ diff --git a/ports/espressif/microros-ext/include/ucdr/config.h b/ports/espressif/microros-ext/include/ucdr/config.h new file mode 100644 index 0000000000000..16300b1bfff96 --- /dev/null +++ b/ports/espressif/microros-ext/include/ucdr/config.h @@ -0,0 +1,27 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _MICROCDR_CONFIG_H_ +#define _MICROCDR_CONFIG_H_ + +// Version defines +#define MICROCDR_VERSION_MAJOR 2 +#define MICROCDR_VERSION_MINOR 0 +#define MICROCDR_VERSION_MICRO 1 +#define MICROCDR_VERSION_STR "2.0.1" + +// ucdrEndianness defines +#define UCDR_MACHINE_ENDIANNESS UCDR_LITTLE_ENDIANNESS + +#endif // _MICROCDR_CONFIG_H_ diff --git a/ports/espressif/microros-ext/include/ucdr/microcdr.h b/ports/espressif/microros-ext/include/ucdr/microcdr.h new file mode 100644 index 0000000000000..a665fd5ffabc4 --- /dev/null +++ b/ports/espressif/microros-ext/include/ucdr/microcdr.h @@ -0,0 +1,219 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _MICROCDR_MICRO_CDR_H_ +#define _MICROCDR_MICRO_CDR_H_ + +#ifdef __cplusplus +extern "C" { +#endif // ifdef __cplusplus + +#include +#include + +#include +#include +#include + +// ------------------------------------------------ +// Types +// ------------------------------------------------ + +struct ucdrBuffer; +typedef bool (* OnFullBuffer)( + struct ucdrBuffer* buffer, + void* args); + +typedef enum ucdrEndianness +{ + UCDR_BIG_ENDIANNESS = 0, + UCDR_LITTLE_ENDIANNESS = 1 + +} ucdrEndianness; + +typedef struct ucdrBuffer +{ + uint8_t* init; + uint8_t* final; + uint8_t* iterator; + + size_t origin; + size_t offset; + + ucdrEndianness endianness; + uint8_t last_data_size; + + bool error; + + OnFullBuffer on_full_buffer; + void* args; + +} ucdrBuffer; + +// ------------------------------------------------ +// Main functions +// ------------------------------------------------ + +UCDRDLLAPI void ucdr_init_buffer ( + ucdrBuffer* ub, + uint8_t* data, + size_t size); +UCDRDLLAPI void ucdr_init_buffer_origin ( + ucdrBuffer* ub, + uint8_t* data, + size_t size, + size_t origin); +UCDRDLLAPI void ucdr_init_buffer_origin_offset ( + ucdrBuffer* ub, + uint8_t* data, + size_t size, + size_t origin, + size_t offset); +UCDRDLLAPI void ucdr_init_buffer_origin_offset_endian ( + ucdrBuffer* ub, + uint8_t* data, + size_t size, + size_t origin, + size_t offset, + ucdrEndianness endianness); +UCDRDLLAPI void ucdr_copy_buffer ( + ucdrBuffer* ub_dest, + const ucdrBuffer* ub_source); +UCDRDLLAPI void ucdr_set_on_full_buffer_callback ( + ucdrBuffer* ub, + OnFullBuffer on_full_buffer, + void* args); + +UCDRDLLAPI void ucdr_reset_buffer ( + ucdrBuffer* ub); +UCDRDLLAPI void ucdr_reset_buffer_offset ( + ucdrBuffer* ub, + size_t offset); + +UCDRDLLAPI void ucdr_align_to ( + ucdrBuffer* ub, + size_t alignment); +UCDRDLLAPI size_t ucdr_alignment ( + size_t buffer_position, + size_t data_size); +UCDRDLLAPI size_t ucdr_buffer_alignment ( + const ucdrBuffer* ub, + size_t data_size); +UCDRDLLAPI void ucdr_advance_buffer ( + ucdrBuffer* ub, + size_t size); + +UCDRDLLAPI size_t ucdr_buffer_size ( + const ucdrBuffer* ub); +UCDRDLLAPI size_t ucdr_buffer_length ( + const ucdrBuffer* ub); +UCDRDLLAPI size_t ucdr_buffer_remaining ( + const ucdrBuffer* ub); +UCDRDLLAPI ucdrEndianness ucdr_buffer_endianness ( + const ucdrBuffer* ub); +UCDRDLLAPI bool ucdr_buffer_has_error ( + const ucdrBuffer* ub); + +// ------------------------------------------------------------------- +// PUBLIC DE-SERIALIZATION DECLARATIONS +// ------------------------------------------------------------------- + +#define UCDR_BASIC_TYPE_DECLARATIONS(SUFFIX, TYPE) \ + UCDRDLLAPI bool ucdr_serialize ## SUFFIX(ucdrBuffer * ub, TYPE value); \ + UCDRDLLAPI bool ucdr_serialize_endian ## SUFFIX(ucdrBuffer * ub, ucdrEndianness endianness, TYPE value); \ + UCDRDLLAPI bool ucdr_deserialize ## SUFFIX(ucdrBuffer * ub, TYPE * value); \ + UCDRDLLAPI bool ucdr_deserialize_endian ## SUFFIX(ucdrBuffer * ub, ucdrEndianness endianness, TYPE * value); \ + +#define UCDR_ARRAY_DECLARATIONS(SUFFIX, TYPE) \ + UCDRDLLAPI bool ucdr_serialize_array ## SUFFIX(ucdrBuffer * ub, const TYPE * array, size_t size); \ + UCDRDLLAPI bool ucdr_serialize_endian_array ## SUFFIX(ucdrBuffer * ub, ucdrEndianness endianness, \ + const TYPE * array, size_t size); \ + UCDRDLLAPI bool ucdr_deserialize_array ## SUFFIX(ucdrBuffer * ub, TYPE * array, size_t size); \ + UCDRDLLAPI bool ucdr_deserialize_endian_array ## SUFFIX(ucdrBuffer * ub, ucdrEndianness endianness, TYPE * array, \ + size_t size); \ + +#define UCDR_SEQUENCE_DECLARATIONS(SUFFIX, TYPE) \ + UCDRDLLAPI bool ucdr_serialize_sequence ## SUFFIX(ucdrBuffer * ub, const TYPE * array, uint32_t length); \ + UCDRDLLAPI bool ucdr_serialize_endian_sequence ## SUFFIX(ucdrBuffer * ub, ucdrEndianness endianness, \ + const TYPE * array, uint32_t length); \ + UCDRDLLAPI bool ucdr_deserialize_sequence ## SUFFIX(ucdrBuffer * ub, TYPE * array, size_t array_capacity, \ + uint32_t * length); \ + UCDRDLLAPI bool ucdr_deserialize_endian_sequence ## SUFFIX(ucdrBuffer * ub, ucdrEndianness endianness, TYPE * array, \ + size_t array_capacity, uint32_t * length); \ + +UCDRDLLAPI bool ucdr_serialize_string( + ucdrBuffer* ub, + const char* string); +UCDRDLLAPI bool ucdr_serialize_endian_string( + ucdrBuffer* ub, + ucdrEndianness endianness, + const char* string); +UCDRDLLAPI bool ucdr_deserialize_string( + ucdrBuffer* ub, + char* string, + size_t string_capacity); +UCDRDLLAPI bool ucdr_deserialize_endian_string( + ucdrBuffer* ub, + ucdrEndianness endianness, + char* string, + size_t string_capacity); + +// ------------------------------------------------------------------- +// VALID TYPES DECLARATIONS +// ------------------------------------------------------------------- + +UCDR_BASIC_TYPE_DECLARATIONS(_char, char) +UCDR_BASIC_TYPE_DECLARATIONS(_bool, bool) +UCDR_BASIC_TYPE_DECLARATIONS(_uint8_t, uint8_t) +UCDR_BASIC_TYPE_DECLARATIONS(_uint16_t, uint16_t) +UCDR_BASIC_TYPE_DECLARATIONS(_uint32_t, uint32_t) +UCDR_BASIC_TYPE_DECLARATIONS(_uint64_t, uint64_t) +UCDR_BASIC_TYPE_DECLARATIONS(_int8_t, int8_t) +UCDR_BASIC_TYPE_DECLARATIONS(_int16_t, int16_t) +UCDR_BASIC_TYPE_DECLARATIONS(_int32_t, int32_t) +UCDR_BASIC_TYPE_DECLARATIONS(_int64_t, int64_t) +UCDR_BASIC_TYPE_DECLARATIONS(_float, float) +UCDR_BASIC_TYPE_DECLARATIONS(_double, double) + +UCDR_ARRAY_DECLARATIONS(_char, char) +UCDR_ARRAY_DECLARATIONS(_bool, bool) +UCDR_ARRAY_DECLARATIONS(_uint8_t, uint8_t) +UCDR_ARRAY_DECLARATIONS(_uint16_t, uint16_t) +UCDR_ARRAY_DECLARATIONS(_uint32_t, uint32_t) +UCDR_ARRAY_DECLARATIONS(_uint64_t, uint64_t) +UCDR_ARRAY_DECLARATIONS(_int8_t, int8_t) +UCDR_ARRAY_DECLARATIONS(_int16_t, int16_t) +UCDR_ARRAY_DECLARATIONS(_int32_t, int32_t) +UCDR_ARRAY_DECLARATIONS(_int64_t, int64_t) +UCDR_ARRAY_DECLARATIONS(_float, float) +UCDR_ARRAY_DECLARATIONS(_double, double) + +UCDR_SEQUENCE_DECLARATIONS(_char, char) +UCDR_SEQUENCE_DECLARATIONS(_bool, bool) +UCDR_SEQUENCE_DECLARATIONS(_uint8_t, uint8_t) +UCDR_SEQUENCE_DECLARATIONS(_uint16_t, uint16_t) +UCDR_SEQUENCE_DECLARATIONS(_uint32_t, uint32_t) +UCDR_SEQUENCE_DECLARATIONS(_uint64_t, uint64_t) +UCDR_SEQUENCE_DECLARATIONS(_int8_t, int8_t) +UCDR_SEQUENCE_DECLARATIONS(_int16_t, int16_t) +UCDR_SEQUENCE_DECLARATIONS(_int32_t, int32_t) +UCDR_SEQUENCE_DECLARATIONS(_int64_t, int64_t) +UCDR_SEQUENCE_DECLARATIONS(_float, float) +UCDR_SEQUENCE_DECLARATIONS(_double, double) + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif //_MICROCDR_MICRO_CDR_H_ diff --git a/ports/espressif/microros-ext/include/ucdr/visibility.h b/ports/espressif/microros-ext/include/ucdr/visibility.h new file mode 100644 index 0000000000000..fb5fa6e6f6fbd --- /dev/null +++ b/ports/espressif/microros-ext/include/ucdr/visibility.h @@ -0,0 +1,33 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +#ifndef _MICROCDR_VISIBILITY_H_ +#define _MICROCDR_VISIBILITY_H_ + +#if defined(_WIN32) +#if defined(microcdr_SHARED) +#if defined(microcdr_EXPORTS) +#define UCDRDLLAPI __declspec( dllexport ) +#else +#define UCDRDLLAPI __declspec( dllimport ) +#endif // microcdr_EXPORTS +#else +#define UCDRDLLAPI +#endif // BUILDING_SHARED_LIBS +#else +#define UCDRDLLAPI +#endif // _WIN32 + +#endif // _MICROCDR_VISIBILITY_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/client.h b/ports/espressif/microros-ext/include/uxr/client/client.h new file mode 100644 index 0000000000000..e31d5439b4fa1 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/client.h @@ -0,0 +1,34 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_CLIENT_H_ +#define _UXR_CLIENT_CLIENT_H_ + +#include + +#ifdef UCLIENT_PROFILE_DISCOVERY +#include +#endif //UCLIENT_PROFILE_DISCOVERY + +#include +#include +#include +#include +#include +#include + +#include +#include + +#endif // _UXR_CLIENT_CLIENT_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/config.h b/ports/espressif/microros-ext/include/uxr/client/config.h new file mode 100644 index 0000000000000..27731f0563ecd --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/config.h @@ -0,0 +1,84 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_CONFIG_H_ +#define _UXR_CLIENT_CONFIG_H_ + +#define UXR_CLIENT_VERSION_MAJOR 2 +#define UXR_CLIENT_VERSION_MINOR 4 +#define UXR_CLIENT_VERSION_MICRO 2 +#define UXR_CLIENT_VERSION_STR "2.4.2" + +#define UCLIENT_PROFILE_DISCOVERY + +#define UCLIENT_PROFILE_UDP +/* #undef UCLIENT_PROFILE_TCP */ +/* #undef UCLIENT_PROFILE_CAN */ +/* #undef UCLIENT_PROFILE_SERIAL */ +#define UCLIENT_PROFILE_CUSTOM_TRANSPORT +/* #undef UCLIENT_PROFILE_MULTITHREAD */ +/* #undef UCLIENT_PROFILE_SHARED_MEMORY */ +#define UCLIENT_PROFILE_STREAM_FRAMING + +/* #undef UCLIENT_PLATFORM_POSIX */ +#define UCLIENT_PLATFORM_POSIX_NOPOLL +/* #undef UCLIENT_PLATFORM_WINDOWS */ +/* #undef UCLIENT_PLATFORM_FREERTOS_PLUS_TCP */ +/* #undef UCLIENT_PLATFORM_RTEMS_BSD_NET */ +/* #undef UCLIENT_PLATFORM_ZEPHYR */ + +#define UXR_CONFIG_MAX_OUTPUT_BEST_EFFORT_STREAMS 1 +#define UXR_CONFIG_MAX_OUTPUT_RELIABLE_STREAMS 1 +#define UXR_CONFIG_MAX_INPUT_BEST_EFFORT_STREAMS 1 +#define UXR_CONFIG_MAX_INPUT_RELIABLE_STREAMS 1 + +#define UXR_CONFIG_MAX_SESSION_CONNECTION_ATTEMPTS 10 +#define UXR_CONFIG_MIN_SESSION_CONNECTION_INTERVAL 1000 +#define UXR_CONFIG_MIN_HEARTBEAT_TIME_INTERVAL 1 + +#ifdef UCLIENT_PROFILE_UDP +#define UXR_CONFIG_UDP_TRANSPORT_MTU 512 +#endif +#ifdef UCLIENT_PROFILE_TCP +#define UXR_CONFIG_TCP_TRANSPORT_MTU 512 +#endif +#ifdef UCLIENT_PROFILE_SERIAL +#define UXR_CONFIG_SERIAL_TRANSPORT_MTU 512 +#endif +#ifdef UCLIENT_PROFILE_CUSTOM_TRANSPORT +#define UXR_CONFIG_CUSTOM_TRANSPORT_MTU 512 +#endif + +#ifdef UCLIENT_PROFILE_SHARED_MEMORY +#define UXR_CONFIG_SHARED_MEMORY_MAX_ENTITIES 4 +#define UXR_CONFIG_SHARED_MEMORY_STATIC_MEM_SIZE 10 +#endif + +#define UCLIENT_TWEAK_XRCE_WRITE_LIMIT + +/* #undef UCLIENT_HARD_LIVELINESS_CHECK */ + +#ifdef UCLIENT_HARD_LIVELINESS_CHECK +#define UXR_CONFIG_HARD_LIVELINESS_CHECK_TIMEOUT_STR "10000" +#endif + + +// Version checks +#if UXR_CLIENT_VERSION_MAJOR >= 3 +#error UCLIENT_HARD_LIVELINESS_CHECK shall be included in session API +#error MTU must be included in CREATE_CLIENT_Payload properties +#error Reorder ObjectInfo https://github.com/eProsima/Micro-XRCE-DDS/issues/137 +#endif + +#endif // _UXR_CLIENT_CONFIG_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/communication/communication.h b/ports/espressif/microros-ext/include/uxr/client/core/communication/communication.h new file mode 100644 index 0000000000000..dbe94af12f10a --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/communication/communication.h @@ -0,0 +1,63 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_CORE_COMMUNICATION_COMMUNICATION_H_ +#define _UXR_CLIENT_CORE_COMMUNICATION_COMMUNICATION_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +#include +#include +#include + +#ifdef UCLIENT_PROFILE_MULTITHREAD +#include +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +typedef bool (* send_msg_func)( + void* instance, + const uint8_t* buf, + size_t len); +typedef bool (* recv_msg_func)( + void* instance, + uint8_t** buf, + size_t* len, + int timeout); +typedef uint8_t (* comm_error_func)( + void); + +typedef struct uxrCommunication +{ + void* instance; + send_msg_func send_msg; + recv_msg_func recv_msg; + comm_error_func comm_error; + uint16_t mtu; + +#ifdef UCLIENT_PROFILE_MULTITHREAD + uxrMutex mutex; +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +} uxrCommunication; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif //_UXR_CLIENT_CORE_COMMUNICATION_COMMUNICATION_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/common_create_entities.h b/ports/espressif/microros-ext/include/uxr/client/core/session/common_create_entities.h new file mode 100644 index 0000000000000..9e933847335da --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/common_create_entities.h @@ -0,0 +1,55 @@ +// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_CORE_SESSION_COMMON_CREATE_ENTITIES_H_ +#define UXR_CLIENT_CORE_SESSION_COMMON_CREATE_ENTITIES_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +/** \addtogroup create_common Create entities common profile + * These functions are enabled when either PROFILE_CREATE_ENTITIES_XML or PROFILE_CREATE_ENTITIES_REF are activated as CMake arguments. The declaration of these functions can be found in uxr/client/profile/session/common_create_entities.h. + * @{ + */ + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE DELETE submessage. + * The submessage will be sent when `uxr_flash_output_stream` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will delete an XRCE entity. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE entity. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_delete_entity( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_CORE_SESSION_COMMON_CREATE_ENTITIES_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_bin.h b/ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_bin.h new file mode 100644 index 0000000000000..fc17728b2dfd2 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_bin.h @@ -0,0 +1,279 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_CORE_SESSION_CREATE_ENTITIES_BIN_H_ +#define UXR_CLIENT_CORE_SESSION_CREATE_ENTITIES_BIN_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include + +//================================================================== +// PUBLIC +//================================================================== + +/** + * The enum that identifies the durability of the QoS of the DDS entity. + */ + +typedef enum uxrQoSDurability +{ + UXR_DURABILITY_TRANSIENT_LOCAL = 0, + UXR_DURABILITY_TRANSIENT, + UXR_DURABILITY_VOLATILE, + UXR_DURABILITY_PERSISTENT +} uxrQoSDurability; + +typedef enum uxrQoSReliability +{ + UXR_RELIABILITY_RELIABLE = 0, + UXR_RELIABILITY_BEST_EFFORT, +} uxrQoSReliability; + + +// uxrQosHistory +typedef enum uxrQoSHistory +{ + UXR_HISTORY_KEEP_LAST = 0, + UXR_HISTORY_KEEP_ALL +} uxrQoSHistory; + +typedef struct uxrQoS_t +{ + uxrQoSDurability durability; + uxrQoSReliability reliability; + uxrQoSHistory history; + uint16_t depth; +} uxrQoS_t; + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Participant payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Participant according to + * the binary provided in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Participant. + * @param domain_id The identifier of the Domain to which the XRCE Participant belongs. + * @param participant_name The XRCE Participant name. Can be NULL. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_participant_bin( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uint16_t domain_id, + const char* participant_name, + uint8_t mode); +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Topic payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Topic according to + * the binary provided in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Topic. + * @param participant_id The identifier of the associated XRCE Participant. + * @param topic_name The XRCE Topic name. + * @param type_name The XRCE Topic type. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_topic_bin( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + const char* topic_name, + const char* type_name, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Subscriber payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Publisher according to + * the binary provided in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_publisher_bin( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Subscriber payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Subscriber according to + * the binary provided in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Subscriber. + * @param participant_id The identifier of the associated XRCE Participant. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_subscriber_bin( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE DataWriter payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE DataWriter according to + * the binary provided in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE DataWriter. + * @param publisher_id The identifier of the associated XRCE Publisher. + * @param topic_id The identifier of the associated XRCE Topic. + * @param qos QoS definition. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_datawriter_bin( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId publisher_id, + uxrObjectId topic_id, + uxrQoS_t qos, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE DataReader payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE DataReader according to + * the binary provided in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE DataReader. + * @param subscriber_id The identifier of the associated XRCE Subscriber. + * @param topic_id The identifier of the associated XRCE Topic. + * @param qos QoS definition. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_datareader_bin( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId subscriber_id, + uxrObjectId topic_id, + uxrQoS_t qos, + uint8_t mode); +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Requester payload. + * The submessage will be sent when `uxr_flag_output_streams` or `uxr_run_session` functions are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Requester according to + * the binary provided in the CREATE submessage. + * + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Requester. + * @param participant_id The identifier of the associated XRCE Participant. + * @param service_name Requester service name. + * @param request_type Requester request type. + * @param reply_type Requester reply type. + * @param request_topic_name Requester request topic name. + * @param reply_topic_name Requester reply topic name. + * @param qos QoS definition. + * @param mode The set of flags that determines the entitiy creation mode. + * the Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_requester_bin( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + const char* service_name, + const char* request_type, + const char* reply_type, + const char* request_topic_name, + const char* reply_topic_name, + uxrQoS_t qos, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Replier payload. + * The submessage will be sent when `uxr_flag_output_streams` or `uxr_run_session` functions are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Replier according to + * the binary provided in the CREATE submessage. + * + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Requester. + * @param participant_id The identifier of the associated XRCE Participant. + * @param service_name Replier service name. + * @param request_type Replier request type. + * @param reply_type Replier reply type. + * @param request_topic_name Replier request topic name. + * @param reply_topic_name Replier reply topic name. + * @param qos QoS definition. + * @param mode The set of flags that determines the entitiy creation mode. + * the Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_replier_bin( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + const char* service_name, + const char* request_type, + const char* reply_type, + const char* request_topic_name, + const char* reply_topic_name, + uxrQoS_t qos, + uint8_t mode); + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_CORE_SESSION_CREATE_ENTITIES_BIN_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_ref.h b/ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_ref.h new file mode 100644 index 0000000000000..4049e5d607bb8 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_ref.h @@ -0,0 +1,186 @@ +// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_CORE_SESSION_CREATE_ENTITIES_REF_H_ +#define UXR_CLIENT_CORE_SESSION_CREATE_ENTITIES_REF_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +/** \addtogroup create_ref Create entities by reference + * These functions are enabled when PROFILE_CREATE_ENTITIES_REF is activated as a CMake argument. The declaration of these functions can be found in uxr/client/profile/session/create_entities_ref.h. + * @{ + */ + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Participant payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Participant according to + * the reference provided in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Participant. + * @param domain_id The identifier of the Domain to which the XRCE Participant belongs. + * @param ref The reference of the XRCE Participant. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_participant_ref( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uint16_t domain_id, + const char* ref, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Topic payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Topic according to + * the reference provided in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Topic. + * @param participant_id The identifier of the associated XRCE Participant. + * @param ref The reference of the XRCE Topic. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_topic_ref( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + const char* ref, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE DataWriter payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE DataWriter according to + * the reference provided in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE DataWriter. + * @param publisher_id The identifier of the associated XRCE Publisher. + * @param ref The reference of the XRCE DataWriter. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_datawriter_ref( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId publisher_id, + const char* ref, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE DataReader payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE DataReader according to + * the reference provided in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE DataReader. + * @param subscriber_id The identifier of the associated XRCE Subscriber. + * @param ref The reference of the XRCE DataReader. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_datareader_ref( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId subscriber_id, + const char* ref, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Requester payload. + * The submessage will be sent when `uxr_flag_output_streams` or `uxr_run_session` functions are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Requester according to + * the reference provided in the CREATE submessage. + * + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Requester. + * @param participant_id The identifier of the associated XRCE Participant. + * @param ref The reference of the XRCE Requester. + * @param mode The set of flags that determines the entitiy creation mode. + * the Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_requester_ref( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + const char* ref, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Replier payload. + * The submessage will be sent when `uxr_flag_output_streams` or `uxr_run_session` functions are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Replier according to + * the reference provided in the CREATE submessage. + * + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Requester. + * @param participant_id The identifier of the associated XRCE Participant. + * @param ref The reference of the XRCE Replier. + * @param mode The set of flags that determines the entitiy creation mode. + * the Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_replier_ref( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + const char* ref, + uint8_t mode); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_CORE_SESSION_CREATE_ENTITIES_REF_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_xml.h b/ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_xml.h new file mode 100644 index 0000000000000..e797382cae25d --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/create_entities_xml.h @@ -0,0 +1,234 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_CORE_SESSION_CREATE_ENTITIES_XML_H_ +#define UXR_CLIENT_CORE_SESSION_CREATE_ENTITIES_XML_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +/** \addtogroup create_xml Create entities by XML + * These functions are enabled when the PROFILE_CREATE_ENTITIES_XML is activated as a CMake argument. The declaration of these functions can be found in uxr/client/profile/session/create_entities_xml.h. + * @{ + */ + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Participant payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Participant according to + * the XML provides in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Participant. + * @param domain_id The identifier of the Domain to which the XRCE Participant belongs. + * @param xml The XML that describes the XRCE Participant entity. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_participant_xml( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uint16_t domain_id, + const char* xml, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Topic payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Topic according to + * the XML provides in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Topic. + * @param participant_id The identifier of the associated XRCE Participant. + * @param xml The XML that describes the XRCE Topic. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_topic_xml( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + const char* xml, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Subscriber payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Publisher according to + * the XML provides in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Publisher. + * @param participant_id The identifier of the associated XRCE Participant. + * @param xml The XML that describes the XRCE DataWriter. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_publisher_xml( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + const char* xml, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Subscriber payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Subscriber according to + * the XML provides in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Subscriber. + * @param participant_id The identifier of the associated XRCE Participant. + * @param xml The XML that describes the XRCE DataWriter. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_subscriber_xml( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + const char* xml, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE DataWriter payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE DataWriter according to + * the XML provides in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE DataWriter. + * @param publisher_id The identifier of the associated XRCE Publisher. + * @param xml The XML that describes the XRCE DataWriter. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_datawriter_xml( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId publisher_id, + const char* xml, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE DataReader payload. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will create an XRCE DataReader according to + * the XML provides in the CREATE submessage. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE DataReader. + * @param subscriber_id The identifier of the associated XRCE Subscriber. + * @param xml The XML that describes the XRCE DataReader. + * @param mode The set of flags that determines the entity creation mode. + * The Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_datareader_xml( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId subscriber_id, + const char* xml, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Requester payload. + * The submessage will be sent when `uxr_flag_output_streams` or `uxr_run_session` functions are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Requester according to + * the reference provided in the CREATE submessage. + * + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Requester. + * @param participant_id The identifier of the associated XRCE Participant. + * @param xml The XML that describes XRCE Requester. + * @param mode The set of flags that determines the entitiy creation mode. + * the Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_requester_xml( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + const char* xml, + uint8_t mode); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE CREATE submessage with an XRCE Replier payload. + * The submessage will be sent when `uxr_flag_output_streams` or `uxr_run_session` functions are called. + * As a result of the reception of this submessage, the Agent will create an XRCE Replier according to + * the reference provided in the CREATE submessage. + * + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the CREATE submessage will be buffered. + * @param object_id The identifier of the XRCE Requester. + * @param participant_id The identifier of the associated XRCE Participant. + * @param xml The XML that describes the XRCE Replier. + * @param mode The set of flags that determines the entitiy creation mode. + * the Creation Mode Table describes the entities creation behaviour according to the + * `UXR_REUSE` and `UXR_REPLACE` flags. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_create_replier_xml( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId object_id, + uxrObjectId participant_id, + const char* xml, + uint8_t mode); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_CORE_SESSION_CREATE_ENTITIES_XML_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/object_id.h b/ports/espressif/microros-ext/include/uxr/client/core/session/object_id.h new file mode 100644 index 0000000000000..6864441a390f4 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/object_id.h @@ -0,0 +1,70 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_CORE_SESSION_OBJECT_ID_H_ +#define _UXR_CLIENT_CORE_SESSION_OBJECT_ID_H_ + +/** + * @file + */ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include + +#define UXR_INVALID_ID 0x00 +#define UXR_PARTICIPANT_ID 0x01 +#define UXR_TOPIC_ID 0x02 +#define UXR_PUBLISHER_ID 0x03 +#define UXR_SUBSCRIBER_ID 0x04 +#define UXR_DATAWRITER_ID 0x05 +#define UXR_DATAREADER_ID 0x06 +#define UXR_REQUESTER_ID 0x07 +#define UXR_REPLIER_ID 0x08 +#define UXR_OTHER_ID 0x0F + +typedef struct uxrObjectId +{ + uint16_t id; + uint8_t type; + +} uxrObjectId; + +/** + * @brief This function creates an identifier to reference an entity. + * @ingroup general_utils + * @param id Identifier of the object, different for each type. There can be several objects with the same ID, provided they have different types. + * @param type The type of the entity. It can be: UXR_PARTICIPANT_ID, UXR_TOPIC_ID, UXR_PUBLISHER_ID, UXR_SUBSCRIBER_ID, UXR_DATAWRITER_ID, UXR_DATAREADER_ID, UXR_REQUESTER_ID, or UXR_REPLIER_ID. + * @return Generated entity identifier. + */ +UXRDLLAPI uxrObjectId uxr_object_id( + uint16_t id, + uint8_t type); + +UXRDLLAPI uxrObjectId uxr_object_id_from_raw( + const uint8_t* raw); + +UXRDLLAPI void uxr_object_id_to_raw( + uxrObjectId object_id, + uint8_t* raw); + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif //_UXR_CLIENT_CORE_SESSION_OBJECT_ID_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/read_access.h b/ports/espressif/microros-ext/include/uxr/client/core/session/read_access.h new file mode 100644 index 0000000000000..498b962378a0d --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/read_access.h @@ -0,0 +1,111 @@ +// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_CORE_SESSION_READ_ACCESS_H_ +#define UXR_CLIENT_CORE_SESSION_READ_ACCESS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +#define UXR_MAX_SAMPLES_UNLIMITED 0xFFFF +#define UXR_MAX_ELAPSED_TIME_UNLIMITED 0x0000 +#define UXR_MAX_BYTES_PER_SECOND_UNLIMITED 0x0000 + +/** \addtogroup read Read access + * The Read Access is used by the Client to handle the read operation on the Agent. The declaration of these functions can be found in uxr/client/profile/session/read_access.h. + * @{ + */ + +/** @struct uxrDeliveryControl + * @brief A structure used for controlling the delivery of topic from the Agent to the Client. + * + * @var uxrDeliveryControl::max_samples + * The maximum number of topics that the Agent shall send to the Client. + * + * @var uxrDeliveryControl::max_elapsed_time + * The maximum amount of time in seconds that shall be spent by the Agent delivering the topic. + * + * @var uxrDeliveryControl::max_bytes_per_second + * The maximum transfer rate, in bytes per second, that the Agent shall use. + * + * @var uxrDeliveryControl::min_pace_period + * The minimum elapsed time, in milliseconds, between two topics deliveries. + */ + +typedef struct uxrDeliveryControl +{ + uint16_t max_samples; + uint16_t max_elapsed_time; + uint16_t max_bytes_per_second; + uint16_t min_pace_period; + +} uxrDeliveryControl; + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE READ_DATA submessage. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will start to read a topic from the + * DDS Global-Data-Space. + * Each time the Agent reads a message from the topic, it will be sent to the Client according to the uxrDeliveryControl set + * by the Client. + * Each time the Client receives a topic message from the Agent, it will call the `on_topic_callback` set by the user. + * This callback provides the `request_id` returned by this function in order to identify the topic. + * In case of error at the Agent side, it will send an XRCE STATUS submessage with the error code. + * When the STATUS submessage is received by the Client, it will call the `on_status_callback` with the + * `request_id` returned by this function. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the READ_DATA submessage will be buffered. + * @param datareader_id The identifier of the XRCE DataReader that will read the topics from the DDS GDS. + * @param data_stream_id The identifier of the input stream through which the data will be received. + * @param delivery_control An optional parameter that is used for controlling the delivery of topics from the Agent. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_request_data( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId datareader_id, + uxrStreamId data_stream_id, + const uxrDeliveryControl* const delivery_control); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE READ_DATA submessage. + * The submessage will be sent when `uxr_flash_output_streams` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will cancel any previous read operation. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the READ_DATA submessage will be buffered. + * @param datareader_id The identifier of the XRCE DataReader that will read the topics from the DDS GDS. + * @return A `request_id` that identifies the request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +UXRDLLAPI uint16_t uxr_buffer_cancel_data( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId datareader_id); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_CORE_SESSION_READ_ACCESS_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/session.h b/ports/espressif/microros-ext/include/uxr/client/core/session/session.h new file mode 100644 index 0000000000000..d319fcc45abb3 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/session.h @@ -0,0 +1,573 @@ +// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_CORE_SESSION_SESSION_H_ +#define UXR_CLIENT_CORE_SESSION_SESSION_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include +#include + +#ifdef UCLIENT_PROFILE_MULTITHREAD +#include +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +#define UXR_TIMEOUT_INF -1 + +struct uxrSession; +struct uxrCommunication; + +/** \addtogroup session Session + * These functions are available even if no profile has been enabled. The declaration of these functions can be found in uxr/client/core/session/session.h. + * @{ + */ + + +/** + * @brief Function signature used for on_status_func callbacks. + * @param session Session structure related to the status. + * @param object_id The identifier of the entity related to the status. + * @param request_id Status request id. + * @param status Status value. + * @param args User pointer data. + */ +typedef void (* uxrOnStatusFunc) ( + struct uxrSession* session, + uxrObjectId object_id, + uint16_t request_id, + uint8_t status, + void* args); + +/** + * @brief Function signature used for on_topic_func callbacks. + * @param session Session structure related to the topic. + * @param object_id The identifier of the entity related to the topic. + * @param request_id Request id of the``request_data`` transaction. + * @param stream_id Id of the stream used for the communication. + * @param ub Serialized topic data. + * @param length Length of the serialized data. + * @param args User pointer data. + */ +typedef void (* uxrOnTopicFunc) ( + struct uxrSession* session, + uxrObjectId object_id, + uint16_t request_id, + uxrStreamId stream_id, + struct ucdrBuffer* ub, + uint16_t length, + void* args); + +/** + * @brief Function signature used for on_time_func callbacks. + * @param session Session structure related to the topic. + * @param current_timestamp Client’s timestamp of the response packet reception. + * @param transmit_timestamp Client’s timestamp of the request packet transmission. + * @param received_timestamp Agent’s timestamp of the request packet reception. + * @param originate_timestamp Agent’s timestamp of the response packet transmission. + * @param args User pointer data. + */ +typedef void (* uxrOnTimeFunc) ( + struct uxrSession* session, + int64_t current_timestamp, + int64_t transmit_timestamp, + int64_t received_timestamp, + int64_t originate_timestamp, + void* args); + +/** + * @brief Function signature used for on_request_func callbacks. + * @param session Session structure related to the topic. + * @param object_id The identifier of the entity related to the request. + * @param request_id Request id of the``request_data`` transaction. + * @param sample_id Identifier of the request. + * @param ub Serialized request data. + * @param length Length of the serialized data. + * @param args User pointer data. + */ +typedef void (* uxrOnRequestFunc) ( + struct uxrSession* session, + uxrObjectId object_id, + uint16_t request_id, + SampleIdentity* sample_id, + struct ucdrBuffer* ub, + uint16_t length, + void* args); + +/** + * @brief Sets the reply callback, which is called when the Agent sends a READ_DATA submessage associated with a Replier. + * @param session Session structure related to the topic. + * @param object_id The identifier of the entity related to the request. + * @param request_id Request id of the``request_data`` transaction. + * @param reply_id Identifier of the reply. + * @param ub Serialized request data. + * @param length Length of the serialized data. + * @param args User pointer data. + */ +typedef void (* uxrOnReplyFunc) ( + struct uxrSession* session, + uxrObjectId object_id, + uint16_t request_id, + uint16_t reply_id, + struct ucdrBuffer* ub, + uint16_t length, + void* args); + +/** + * @brief Function signature used for flush_callback callbacks. + * @param session Session structure related to the buffer to be flushed. + * @param args Flush callback args pointer. + */ +typedef bool (* uxrOnBuffersFull) ( + struct uxrSession* session, + void* args); + +#ifdef PERFORMANCE_TESTING +/** + * @nosubgrouping + */ +typedef void (* uxrOnPerformanceFunc) ( + struct uxrSession* session, + struct ucdrBuffer* mb, + void* args); +#endif // ifdef PERFORMANCE_TESTING + +/** + * @nosubgrouping + */ +typedef struct uxrContinuousArgs +{ + uxrOnBuffersFull flush_callback; + void* flush_callback_args; + uxrStreamId stream_id; + size_t data_size; +} uxrContinuousArgs; + +typedef uint8_t pong_status_t; +#define NO_PONG_STATUS 0x00 +#define PONG_IN_SESSION_STATUS 0x01 +#define PONG_NO_SESSION_STATUS 0x02 + +/** + * @nosubgrouping + */ +typedef struct uxrSession +{ + uxrSessionInfo info; + uxrStreamStorage streams; + struct uxrCommunication* comm; + + const uint16_t* request_list; + uint8_t* status_list; + size_t request_status_list_size; + + uxrOnStatusFunc on_status; + void* on_status_args; + + uxrOnTopicFunc on_topic; + void* on_topic_args; + + uxrOnTimeFunc on_time; + void* on_time_args; + int64_t time_offset; + bool synchronized; + + uxrOnRequestFunc on_request; + void* on_request_args; + + uxrOnReplyFunc on_reply; + void* on_reply_args; + + bool on_data_flag; + pong_status_t on_pong_flag; + uxrContinuousArgs continuous_args; + +#ifdef UCLIENT_PROFILE_MULTITHREAD + uxrMutex mutex; +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +#ifdef PERFORMANCE_TESTING + uxrOnPerformanceFunc on_performance; + void* on_performance_args; +#endif // ifdef PERFORMANCE_TESTING +} uxrSession; + +/** + * @brief Initializes a uxrSession structure. + * @param session The structure where the session data is stored. + * @param comm The uxrCommunication used for connecting with the Agent. + * This parameter shall not be shared between active sessions. + * @param key The identifier of the Client. + * All Client connected to an Agent shall have different key. + */ +UXRDLLAPI void uxr_init_session( + uxrSession* session, + struct uxrCommunication* comm, + uint32_t key); + +/** + * @brief Sets the status callback. + * This is called when a status message is received from the Agent. + * @param session A uxrSession structure previously initialized. + * @param on_status_func The function that will be called when a valid status message arrives from the Agent. + * @param args User pointer data. The args will be provided to the `on_status_func` callback. + */ +UXRDLLAPI void uxr_set_status_callback( + uxrSession* session, + uxrOnStatusFunc on_status_func, + void* args); + +/** + * @brief Sets the topic callback. + * This is called when a topic is received from the Agent. + * The topics will be received only if a `request_data` function has been called with a `DataReader` object id. + * @param session A uxrSession structure previously initialized. + * @param on_topic_func The function that will be called when a valid data message arrives from the Agent. + * @param args User pointer data. The args will be provided to the `on_topic_func` callback. + */ +UXRDLLAPI void uxr_set_topic_callback( + uxrSession* session, + uxrOnTopicFunc on_topic_func, + void* args); + +/** + * @brief Sets the time synchronization callback. + * The callback is called when a TIMESTAMP_REPLY submessage is received from the Agent. + * The user could use this callback to implement her/his own time synchronization protocol. + * @param session A uxrSession structure previously initialized. + * @param on_time_func The function that will be called when a TIMESTAMP_REPLY submessage arrives from the Agent. + * @param args A user pointer data. The args will be provided to the `on_time_func` callback. + */ +UXRDLLAPI void uxr_set_time_callback( + uxrSession* session, + uxrOnTimeFunc on_time_func, + void* args); + +/** + * @brief Sets the request callback. + * It will be called when a request is received from the Agent. + * The requests will be received only if a `request_data` function has been called with a `Requester` object id. + * + * @param session A uxrSession structure previously initialized. + * @param on_request_func The function that will be called when a valid request message arrives from the Agent. + * @param args User pointer data. The args will be provided to the `on_request_func` callback. + */ +UXRDLLAPI void uxr_set_request_callback( + uxrSession* session, + uxrOnRequestFunc on_request_func, + void* args); + +/** + * @brief Sets the reply callback. + * It will be called when a reply is received from the Agent. + * The reply will be received only if a `request_data` function has been called with a `Replier` object id. + * + * @param session A uxrSession structure previosly initialized. + * @param on_reply_func The function that will be called when a valid reply message arrives from the Agent. + * @param args User pointer data. The args will be provided to the `on_reply_func` callback. + */ +UXRDLLAPI void uxr_set_reply_callback( + uxrSession* session, + uxrOnReplyFunc on_reply_func, + void* args); + +#ifdef PERFORMANCE_TESTING +/** + * @nosubgrouping + */ +UXRDLLAPI void uxr_set_performance_callback( + uxrSession* session, + uxrOnPerformanceFunc on_performance_func, + void* args); +#endif // ifdef PERFORMANCE_TESTING + +/** + * @brief Creates a new session with the Agent. + * This function logs in a session, enabling any other XRCE communication with the Agent. + * @param session A uxrSesssion structure previously initialized. + * @return true in case of successful session establishment, and false in other case. + */ +UXRDLLAPI bool uxr_create_session( + uxrSession* session); + +/** + * @brief Creates a new session with the Agent. + * This function logs in a session, enabling any other XRCE communication with the Agent. + * @param session A uxrSesssion structure previously initialized. + * @param retries Max attempts for creating the session. + * @return true in case of successful session establishment, and false in other case. + */ +UXRDLLAPI bool uxr_create_session_retries( + uxrSession* session, + size_t retries); + +/** + * @brief Deletes a session previously created. + * All XRCE entities created within the session will be removed. + * This function logs out a session, disabling any other XRCE communication with the Agent. + * @param session A uxrSession structure previously initialized. + * @return true in case of successful session deletion, and false in other case. + */ +UXRDLLAPI bool uxr_delete_session( + uxrSession* session); + +/** + * @brief Deletes a session previously created. + * All XRCE entities created within the session will be removed. + * This function logs out a session, disabling any other XRCE communication with the Agent. + * @param session A uxrSession structure previously initialized. + * @param retries Max attempts for deleting the session. + * @return true in case of successful session deletion, and false in other case. + */ +UXRDLLAPI bool uxr_delete_session_retries( + uxrSession* session, + size_t retries); + +/** + * @brief Creates and initializes an output best-effort stream. + * The maximum number of output best-effort streams is set by the `UCLIENT_MAX_OUTPUT_BEST_EFFORT_STREAMS`. + * @param session A uxrSession structure previously initialized. + * @param buffer The memory block where the messages will be written. + * @param size The buffer size. + * @return A uxrStreamId which could by used for managing the stream. + */ +UXRDLLAPI uxrStreamId uxr_create_output_best_effort_stream( + uxrSession* session, + uint8_t* buffer, + size_t size); + +/** + * @brief Creates and initializes an output reliable stream. + * The maximum number of output reliable streams is set by the `UCLIENT_MAX_OUTPUT_RELIABLE_STREAMS`. + * @param session A uxrSession structure previously initialized. + * @param buffer The memory block where the messages will be written. + * @param size The buffer size. + * @param history The amount of messages that the stream is able to manage. + * The buffer size will be splitted into blocks according to this value. + * This value shall be power of 2. + * @return A uxrStreamId which could by used for managing the stream. + */ +UXRDLLAPI uxrStreamId uxr_create_output_reliable_stream( + uxrSession* session, + uint8_t* buffer, + size_t size, + uint16_t history); + +/** + * @brief Creates and initializes an input best-effort stream. + * The maximum number of input best-effort streams is set by the `UCLIENT_MAX_INPUT_BEST_EFFORT_STREAMS`. + * @param session A uxrSession structure previously initialized. + * @return A uxrStreamId which could by used for managing the stream. + */ +UXRDLLAPI uxrStreamId uxr_create_input_best_effort_stream( + uxrSession* session); + +/** + * @brief Creates and initializes an input reliable stream. + * The maximum number of input reliable streams is set by the `UCLIENT_MAX_INPUT_RELIABLE_STREAMS`. + * @param session A uxrSession structure previously initialized. + * @param buffer The memory block where the messages will be written. + * @param size The buffer size. + * @param history The amount of messages that the stream is able to manage. + * The buffer size will be splitted into blocks according to this value. + * This value shall be power of 2. + * @return A uxrStreamId which could by used for managing the stream. + */ +UXRDLLAPI uxrStreamId uxr_create_input_reliable_stream( + uxrSession* session, + uint8_t* buffer, + size_t size, + uint16_t history); + +/** + * @brief Flashes all the output streams seding the data through the transport. + * @param session A uxrSession structure previously initialized. + */ +UXRDLLAPI void uxr_flash_output_streams( + uxrSession* session); + +/** + * @brief Keeps communication between the Client and the Agent. + * This function involves the following actions: + * 1. flushing all the output streams sending the data through the transport, + * 2. listening messages from the Agent calling the associated callback (topic and status). + * The aforementioned actions will be performed in a loop until the waiting time for a new message + * exceeds the `timeout`. + * @param session A uxrSession structure previously initialized. + * @param timeout The waiting time in milliseconds. + * @return `true` in case of the Agent confirms the reception of all the output messages. `false` in other case. + */ +UXRDLLAPI bool uxr_run_session_time( + uxrSession* session, + int timeout); + +/** + * @brief Keeps communication between the Client and the Agent. + * This function involves the following actions: + * 1. flushing all the output streams sending the data through the transport, + * 2. listening messages from the Agent calling the associated callback (topic and status). + * The aforementioned actions will be performed in a loop until the `timeout` is exceeded. + * @param session A uxrSession structure previously initialized. + * @param timeout The waiting time in milliseconds. + * @return `true` in case of the Agent confirms the reception of all the output messages. `false` in other case. + */ +UXRDLLAPI bool uxr_run_session_timeout( + uxrSession* session, + int timeout); + +/** + * @brief Keeps communication between the Client and the Agent. + * This function involves the following actions: + * 1. flushing all the output streams sending the data through the transport, + * 2. listening messages from the Agent calling the associated callback (topic, status, request and replies). + * The aforementioned actions will be performed in a loop until a data message is received + * or the `timeout` is exceeded. + * @param session A uxrSession structure previously initialized. + * @param timeout The waiting time in milliseconds. + * @return `true` in case of a data message is received before the timeout. `false` in other case. + */ +UXRDLLAPI bool uxr_run_session_until_data( + uxrSession* session, + int timeout); + +/** + * @brief Keeps communication between the Client and the Agent. + * This function involves the following actions: + * 1. flushing all the output streams sending the data through the transport, + * 2. listening messages from the Agent calling the associated callback (topic and status). + * The aforementioned actions will be performed in a loop until a message is received + * or the `timeout` is exceeded. + * @param session A uxrSession structure previously initialized. + * @param timeout The waiting time in milliseconds. + * @return `true` if a message is received. `false` in other case. + */ +UXRDLLAPI bool uxr_run_session_until_timeout( + uxrSession* session, + int timeout); + +/** + * @brief Keeps communication between the Client and the Agent. + * This function involves the following actions: + * 1. flushing all the output streams sending the data through the transport, + * 2. listening messages from the Agent calling the associated callback (topic and status). + * The aforementioned actions will be performed in a loop until a the `timeout` is exceeded + * or the output reliable streams confirm the delivery of all their messages. + * @param session A uxrSession structure previously initialized. + * @param timeout The waiting time in milliseconds. + * @return `true` if all output reliable streams confirm the delivery of their messages. `false` in other case. + */ +UXRDLLAPI bool uxr_run_session_until_confirm_delivery( + uxrSession* session, + int timeout); + +/** + * @brief Keeps communication between the Client and the Agent. + * This function involves the following actions: + * 1. flushing all the output streams sending the data through the transport, + * 2. listening messages from the Agent calling the associated callback (topic and status). + * The aforementioned actions will be performed in a loop until a the `timeout` is exceeded + * or all the requested status are received. + * @param session A uxrSession structure previously initialized. + * @param timeout The waiting time in milliseconds. + * @param request_list The array of requests to confirm with a status. + * @param status_list The uninitialized array with the same size as `request_list` + * where the status values will be written. + * @param list_size the size of `request_list` and `status_list` arrays. + * @return `true` if all status are received. `false` in other case. + */ +UXRDLLAPI bool uxr_run_session_until_all_status( + uxrSession* session, + int timeout, + const uint16_t* request_list, + uint8_t* status_list, + size_t list_size); + +/** + * @brief Keeps communication between the Client and the Agent. + * This function involves the following actions: + * 1. flushing all the output streams sending the data through the transport, + * 2. listening messages from the Agent calling the associated callback (topic and status). + * The aforementioned actions will be performed in a loop until a the `timeout` is exceeded + * or one of the requested status is received. + * @param session A uxrSession structure previously initialized. + * @param timeout The waiting time in milliseconds. + * @param request_list The array of requests to confirm with a status. + * @param status_list The uninitialized array with the same size as `request_list` + * where the status values will be written. + * @param list_size the size of `request_list` and `status_list` arrays. + * @return `true` if a status is received and its value is `UXR_STATUS_OK` or `UXR_STATUS_OK_MATCHED`. + * `false` in other case. + */ +UXRDLLAPI bool uxr_run_session_until_one_status( + uxrSession* session, + int timeout, + const uint16_t* request_list, + uint8_t* status_list, + size_t list_size); + +/** + * @brief Synchronizes the session time using by default the NTP protocol. + * @param session A uxrSession structure previously initialized. + * @param time The waiting time in milliseconds. + * @return `true` in case of successful synchronization. `false` in other case. + */ +UXRDLLAPI bool uxr_sync_session( + uxrSession* session, + int time); + +/** + * @brief Returns the epoch time in milliseconds taking into account the offset computed during the time synchronization. + * @param session A uxrSession structure previosly initialized. + * @return The epoch time in milliseconds. + */ +UXRDLLAPI int64_t uxr_epoch_millis( + uxrSession* session); + +/** + * @brief Returns the epoch time in nanoseconds taking into account the offset computed during the time synchronization. + * @param session A uxrSession structure previosly initialized. + * @return The epoch time in nanoseconds. + */ +UXRDLLAPI int64_t uxr_epoch_nanos( + uxrSession* session); + +#ifdef PERFORMANCE_TESTING +/** + * @nosubgrouping + */ +UXRDLLAPI bool uxr_buffer_performance( + uxrSession* session, + uxrStreamId stream_id, + uint64_t epoch_time, + uint8_t* buf, + uint16_t len, + bool echo); +#endif // ifdef PERFORMANCE_TESTING + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_CORE_SESSION_SESSION_H diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/session_info.h b/ports/espressif/microros-ext/include/uxr/client/core/session/session_info.h new file mode 100644 index 0000000000000..8777cd4bfd066 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/session_info.h @@ -0,0 +1,64 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_CORE_SESSION_SESSION_INFO_H_ +#define _UXR_CLIENT_CORE_SESSION_SESSION_INFO_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include + +#define UXR_STATUS_OK 0x00 +#define UXR_STATUS_OK_MATCHED 0x01 +#define UXR_STATUS_ERR_DDS_ERROR 0x80 +#define UXR_STATUS_ERR_MISMATCH 0x81 +#define UXR_STATUS_ERR_ALREADY_EXISTS 0x82 +#define UXR_STATUS_ERR_DENIED 0x83 +#define UXR_STATUS_ERR_UNKNOWN_REFERENCE 0x84 +#define UXR_STATUS_ERR_INVALID_DATA 0x85 +#define UXR_STATUS_ERR_INCOMPATIBLE 0x86 +#define UXR_STATUS_ERR_RESOURCES 0x87 +#define UXR_STATUS_NONE 0xFF //Never sent or received. It is used for managing an unknown status + +#define UXR_REUSE 0x01 << 1 +#define UXR_REPLACE 0x01 << 2 +#ifdef PERFORMANCE_TESTING +#define UXR_ECHO 0x01 << 7 +#endif // ifdef PERFORMANCE_TESTING + +#define UXR_INVALID_REQUEST_ID 0 + +#define UXR_REQUEST_NONE 0x00 +#define UXR_REQUEST_LOGIN 0x01 +#define UXR_REQUEST_LOGOUT 0x02 + +typedef struct uxrSessionInfo +{ + uint8_t id; + uint8_t key[4]; + uint8_t last_requested_status; + uint16_t last_request_id; + +} uxrSessionInfo; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // _UXR_CLIENT_CORE_SESSION_SESSION_INFO_H diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/stream/input_best_effort_stream.h b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/input_best_effort_stream.h new file mode 100644 index 0000000000000..8b3f1a4198237 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/input_best_effort_stream.h @@ -0,0 +1,47 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_CORE_SESSION_STREAM_INPUT_BEST_EFFORT_STREAM_H_ +#define _UXR_CLIENT_CORE_SESSION_STREAM_INPUT_BEST_EFFORT_STREAM_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include + +#ifdef UCLIENT_PROFILE_MULTITHREAD +#include +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +#include +#include + +typedef struct uxrInputBestEffortStream +{ + uxrSeqNum last_handled; + +#ifdef UCLIENT_PROFILE_MULTITHREAD + uxrMutex mutex; +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +} uxrInputBestEffortStream; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // _UXR_CLIENT_CORE_SESSION_STREAM_INPUT_BEST_EFFORT_STREAM_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/stream/input_reliable_stream.h b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/input_reliable_stream.h new file mode 100644 index 0000000000000..9dcac51201960 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/input_reliable_stream.h @@ -0,0 +1,67 @@ +// Copyright 2017-present Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR__CLIENT__CORE__SESSION__STREAM__INPUT_RELIABLE_STREAM_H_ +#define UXR__CLIENT__CORE__SESSION__STREAM__INPUT_RELIABLE_STREAM_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include + +#ifdef UCLIENT_PROFILE_MULTITHREAD +#include +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +#include + +struct ucdrBuffer; + +typedef enum FragmentationInfo +{ + NO_FRAGMENTED, + INTERMEDIATE_FRAGMENT, + LAST_FRAGMENT + +} FragmentationInfo; + +typedef FragmentationInfo (* OnGetFragmentationInfo)( + uint8_t* buffer); + +typedef struct uxrInputReliableStream +{ + uxrReliableStream base; + + uxrSeqNum last_handled; + uxrSeqNum last_announced; + + OnGetFragmentationInfo on_get_fragmentation_info; + + bool cleanup_flag; + +#ifdef UCLIENT_PROFILE_MULTITHREAD + uxrMutex mutex; +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +} uxrInputReliableStream; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR__CLIENT__CORE__SESSION__STREAM__INPUT_RELIABLE_STREAM_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/stream/output_best_effort_stream.h b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/output_best_effort_stream.h new file mode 100644 index 0000000000000..a4a9ff75afd7d --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/output_best_effort_stream.h @@ -0,0 +1,53 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_CORE_SESSION_STREAM_OUTPUT_BEST_EFFORT_STREAM_H_ +#define _UXR_CLIENT_CORE_SESSION_STREAM_OUTPUT_BEST_EFFORT_STREAM_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include + +#ifdef UCLIENT_PROFILE_MULTITHREAD +#include +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +#include +#include + +struct ucdrBuffer; +typedef struct uxrOutputBestEffortStream +{ + uint8_t* buffer; + size_t writer; + size_t size; + uint8_t offset; + + uxrSeqNum last_send; + +#ifdef UCLIENT_PROFILE_MULTITHREAD + uxrMutex mutex; +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +} uxrOutputBestEffortStream; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // _UXR_CLIENT_CORE_SESSION_STREAM_OUTPUT_BEST_EFFORT_STREAM_H diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/stream/output_reliable_stream.h b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/output_reliable_stream.h new file mode 100644 index 0000000000000..342f40ac3c781 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/output_reliable_stream.h @@ -0,0 +1,63 @@ +// Copyright 2017-present Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR__CLIENT__CORE__SESSION__STREAM__OUTPUT_RELIABLE_STREAM_H_ +#define UXR__CLIENT__CORE__SESSION__STREAM__OUTPUT_RELIABLE_STREAM_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include + +#ifdef UCLIENT_PROFILE_MULTITHREAD +#include +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +#include + +struct ucdrBuffer; +struct uxrOutputReliableStream; + +typedef void (* OnNewFragment)( + struct ucdrBuffer* ub, + struct uxrOutputReliableStream* stream); + +typedef struct uxrOutputReliableStream +{ + uxrReliableStream base; + uint8_t offset; + + uxrSeqNum last_written; + uxrSeqNum last_sent; + uxrSeqNum last_acknown; + + int64_t next_heartbeat_timestamp; + uint8_t next_heartbeat_tries; + bool send_lost; + +#ifdef UCLIENT_PROFILE_MULTITHREAD + uxrMutex mutex; +#endif // ifdef UCLIENT_PROFILE_MULTITHREAD + +} uxrOutputReliableStream; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR__CLIENT__CORE__SESSION__STREAM__OUTPUT_RELIABLE_STREAM_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/stream/reliable_stream.h b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/reliable_stream.h new file mode 100644 index 0000000000000..0da6e10008d02 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/reliable_stream.h @@ -0,0 +1,38 @@ +// Copyright 2017-present Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR__CLIENT__CORE__SESSION__STREAM__RELIABLE_STREAM_H_ +#define UXR__CLIENT__CORE__SESSION__STREAM__RELIABLE_STREAM_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include + +typedef struct uxrReliableStream +{ + uint8_t* buffer; + size_t size; + uint16_t history; + +} uxrReliableStream; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR__CLIENT__CORE__SESSION__STREAM__RELIABLE_STREAM_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/stream/seq_num.h b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/seq_num.h new file mode 100644 index 0000000000000..9f889a657a35c --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/seq_num.h @@ -0,0 +1,31 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_CORE_SESSION_STREAM_SEQ_NUM_H_ +#define _UXR_CLIENT_CORE_SESSION_STREAM_SEQ_NUM_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +typedef uint16_t uxrSeqNum; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // _UXR_CLIENT_CORE_SESSION_STREAM_SEQ_NUM_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/stream/stream_id.h b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/stream_id.h new file mode 100644 index 0000000000000..86bf12e55b68f --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/stream_id.h @@ -0,0 +1,121 @@ +// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_CORE_SESSION_STREAM_STREAM_ID_H_ +#define UXR_CLIENT_CORE_SESSION_STREAM_STREAM_ID_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include + +/** \addtogroup general_utils General utilities + * Utility functions. The declaration of these functions can be found in uxr/client/core/session/stream_id.h and uxr/client/core/session/object_id.h. + * @{ + */ + +/** + * The enum that identifies the kind of stream. + * According to the XRCE standard, a stream represents an independent flow of messages within a session. + * The XRCE standard defines 3 different kinds of streams: + * * **none** streams do not provide neither non-out-of-order delivery nor guarantee for the delivery. + * * **best-effort** streams provide non-out-of-order delivery but they do not provide guarantee for delivery. + * * **reliable** streams provide both non-out-of-order delivery and guarantee for delivery. + * + * The streams are identified by an octet. Each session is able to handle + * 1 none stream (id 0x00), + * 127 best-effort streams (id 0x01 - 0x7F), + * and 128 reliable streams (id 0x80 - 0xFF), + * for each direction: output (Client to Agent) and input (Agent to Client). + */ +typedef enum uxrStreamType +{ + /** Identifies a none stream. */ + UXR_NONE_STREAM, + /** Identifies a best-effort stream. */ + UXR_BEST_EFFORT_STREAM, + /** Identifies a reliable stream. */ + UXR_RELIABLE_STREAM, + /** Identifies a shared memory stream. */ + UXR_SHARED_MEMORY_STREAM + +} uxrStreamType; + +/** + * The enum that identifies the direction of a stream. + * There are two different directions: output (Client to Agent) and input (Agent to Client). + */ +typedef enum uxrStreamDirection +{ + /** Indicates the input direction of the stream. */ + UXR_INPUT_STREAM, + /** Indicates the output direction of the stream. */ + UXR_OUTPUT_STREAM + +} uxrStreamDirection; + +/** + * @nosubgrouping + */ +typedef struct uxrStreamId +{ + uint8_t raw; + uint8_t index; + uint8_t type; + uint8_t direction; + +} uxrStreamId; + +/** + * @brief Creates a stream identifier. + * This function does not create a new stream, but only creates the identifier to be used in the Client API. + * @param index The identifier of the stream. + * Its value corresponds to the creation order of each kind of stream. + * @param type The uxrStreamType of the stream. + * @param direction The uxrStreamDirection of the stream. + * @return A identifier of a stream. + */ +UXRDLLAPI uxrStreamId uxr_stream_id( + uint8_t index, + uxrStreamType type, + uxrStreamDirection direction); + +/** + * @brief Creates a stream identifier. + * This function does not create a new stream, but only creates the identifier to be used in the Client API. + * @param stream_id_raw The identifier of the stream. + * 0 corresponds to the UXR_NONE_STREAM; + * from 1 to 127 correspond to a UXR_BEST_EFFORT_STREAM; + * from 128 to 255 correspond to a UXR_RELIABLE_STREAM; + * @param direction The uxrStreamDirection of the stream. + * @return A identifier of a stream. + */ +UXRDLLAPI uxrStreamId uxr_stream_id_from_raw( + uint8_t stream_id_raw, + uxrStreamDirection direction); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_CORE_SESSION_STREAM_STREAM_ID_H diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/stream/stream_storage.h b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/stream_storage.h new file mode 100644 index 0000000000000..d4712d1d34245 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/stream/stream_storage.h @@ -0,0 +1,47 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_CORE_SESSION_STREAM_STREAM_STORAGE_H_ +#define _UXR_CLIENT_CORE_SESSION_STREAM_STREAM_STORAGE_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include +#include +#include +#include + +typedef struct uxrStreamStorage +{ + uxrOutputBestEffortStream output_best_effort[UXR_CONFIG_MAX_OUTPUT_BEST_EFFORT_STREAMS]; + uint8_t output_best_effort_size; + uxrOutputReliableStream output_reliable[UXR_CONFIG_MAX_OUTPUT_RELIABLE_STREAMS]; + uint8_t output_reliable_size; + uxrInputBestEffortStream input_best_effort[UXR_CONFIG_MAX_INPUT_BEST_EFFORT_STREAMS]; + uint8_t input_best_effort_size; + uxrInputReliableStream input_reliable[UXR_CONFIG_MAX_INPUT_RELIABLE_STREAMS]; + uint8_t input_reliable_size; + +} uxrStreamStorage; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // _UXR_CLIENT_CORE_SESSION_STREAM_STREAM_STORAGE_H diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/time_sync.h b/ports/espressif/microros-ext/include/uxr/client/core/session/time_sync.h new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/ports/espressif/microros-ext/include/uxr/client/core/session/write_access.h b/ports/espressif/microros-ext/include/uxr/client/core/session/write_access.h new file mode 100644 index 0000000000000..61045ff192ba2 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/session/write_access.h @@ -0,0 +1,145 @@ +// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_CORE_SESSION_WRITE_ACCESS_H_ +#define UXR_CLIENT_CORE_SESSION_WRITE_ACCESS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +/** \addtogroup write Write access profile + * The Write Access is used by the Client to handle the write operation on the Agent. The declaration of these functions can be found in uxr/client/profile/session/write_access.h. + * @{ + */ + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE WRITE_DATA submessage. + * As a consequence, an XRCE request is generated associated to the WRITE_DATA submessage. + * + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the WRITE_DATA submessage will be buffered. + * @param requester_id The identifier of the XRCE Requester that will write the request into the DDS GDS. + * @param buffer The pointer to the request data. + * @param len The length of the request data. + * @return A `request_id` that identifies the XRCE request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +uint16_t uxr_buffer_request( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId requester_id, + uint8_t* buffer, + size_t len); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE WRITE_DATA submessage. + * As a consequence, an XRCE request is generated associated to the WRITE_DATA submessage. + * + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the WRITE_DATA submessage will be buffered. + * @param replier_id The identifier of the XRCE Replier that will write the reply into the DDS GDS. + * @param sample_id The `SampleIdentity` that identifies the request. + * It will be read by the Requester to filter and identify the reply. + * @param buffer The pointer to the reply data. + * @param len The length of the reply data. + * @return A `request_id` that identifies the XRCE request made by the Client. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +uint16_t uxr_buffer_reply( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId replier_id, + SampleIdentity* sample_id, + uint8_t* buffer, + size_t len); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE WRITE_DATA submessage. + * As a consequence, an XRCE request is generated associated to the WRITE_DATA submessage. + * + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the WRITE_DATA submessage will be buffered. + * @param datawriter_id The identifier of the XRCE Datawriter that will write the topic into the DDS GDS. + * @param buffer The pointer to the topic data. + * @param len The length of the topic data. + * @return A `request_id` that identifies the XRCE request made by the Publisher. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + */ +uint16_t uxr_buffer_topic( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId datawriter_id, + uint8_t* buffer, + size_t len); + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE WRITE_DATA submessage. + * The submessage will be sent when `uxr_flash_output_stream` or `uxr_run_session` function are called. + * As a result of the reception of this submessage, the Agent will write a topic into the DDS Global-Data-Space. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the WRITE_DATA submessage will be buffered. + * @param entity_id The identifier of the XRCE DataWriter that will write the topic into the DDS GDS. + * @param ub The ucdrBuffer structure used for serializing the topic. + * @param len The size of the topic in bytes. + * @return A `request_id` that identifies the XRCE request made by the Entity. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + * */ +UXRDLLAPI uint16_t uxr_prepare_output_stream( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId entity_id, + struct ucdrBuffer* ub, + uint32_t len); + + +/** + * @brief Buffers into the stream identified by `stream_id` an XRCE WRITE_DATA submessage. + * The submessage will be sent when `uxr_flash_output_stream` or `uxr_run_session` function are called. + * This function handles the buffer flush by means of `uxrOnBuffersFull` callback. + * As a result of the reception of this submessage, the Agent will write a topic into the DDS Global-Data-Space. + * @param session A uxrSession structure previously initialized. + * @param stream_id The output stream identifier where the WRITE_DATA submessage will be buffered. + * @param datawriter_id The identifier of the XRCE DataWriter that will write the topic into the DDS GDS. + * @param ub The ucdrBuffer structure used for serializing the topic. + * @param data_size The size of the topic in bytes. + * @param flush_callback Callback that is call by the library when user should flush output buffers. + * @param flush_callback_args Arguments passed to flush callback. + * @return A `request_id` that identifies the XRCE request made by the Entity. + * This could be used in the `uxr_run_session_until_one_status` or `uxr_run_session_until_all_status` functions. + * */ + +UXRDLLAPI uint16_t uxr_prepare_output_stream_fragmented( + uxrSession* session, + uxrStreamId stream_id, + uxrObjectId datawriter_id, + ucdrBuffer* ub, + size_t data_size, + uxrOnBuffersFull flush_callback, + void* flush_callback_args); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_CORE_SESSION_WRITE_ACCESS_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/core/type/xrce_types.h b/ports/espressif/microros-ext/include/uxr/client/core/type/xrce_types.h new file mode 100644 index 0000000000000..f733245e1b22e --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/core/type/xrce_types.h @@ -0,0 +1,1840 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_CORE_TYPE_XRCETYPES_H_ +#define UXR_CLIENT_CORE_TYPE_XRCETYPES_H_ + +#ifdef __cplusplus +extern "C" +{ +#define INLINE_STRUCT(x) (x) +#else +#define INLINE_STRUCT(x) x +#endif // ifdef __cplusplus + +#include +#include + +#include +#include +#include + +// TODO (julibert): move this configuration to CMake flags. +#define UXR_STRING_SIZE_MAX 512 +#define UXR_SAMPLE_DATA_SIZE_MAX 512 +#define UXR_STRING_SEQUENCE_MAX 8 +#define UXR_BINARY_SEQUENCE_MAX 512 +#define UXR_BINARY_SEQUENCE_SMALL_MAX 8 +#define UXR_SAMPLE_SEQUENCE_MAX 8 +#define UXR_SAMPLE_DATA_SEQUENCE_MAX 8 +#define UXR_SAMPLE_DELTA_SEQUENCE_MAX 8 +#define UXR_PACKED_SAMPLES_SEQUENCE_MAX 8 +#define UXR_TRANSPORT_LOCATOR_SEQUENCE_MAX 4 + +#ifdef UCLIENT_PROFILE_SHARED_MEMORY +#define PROFILE_SHARED_MEMORY_SEQ_COUNT 1 +#else +#define PROFILE_SHARED_MEMORY_SEQ_COUNT 0 +#endif // ifdef UCLIENT_PROFILE_SHARED_MEMORY + +#ifdef UCLIENT_HARD_LIVELINESS_CHECK +#define HARD_LIVELINESS_CHECK_SEQ_COUNT 1 +#else +#define HARD_LIVELINESS_CHECK_SEQ_COUNT 0 +#endif // ifdef UCLIENT_HARD_LIVELINESS_CHECK + +#if (PROFILE_SHARED_MEMORY_SEQ_COUNT + HARD_LIVELINESS_CHECK_SEQ_COUNT) == 0 +#define UXR_PROPERTY_SEQUENCE_MAX 1 +#else +#define UXR_PROPERTY_SEQUENCE_MAX PROFILE_SHARED_MEMORY_SEQ_COUNT + HARD_LIVELINESS_CHECK_SEQ_COUNT +#endif // if (PROFILE_SHARED_MEMORY_SEQ_COUNT + HARD_LIVELINESS_CHECK_SEQ_COUNT) == 0 + +typedef struct Time_t +{ + int32_t seconds; + uint32_t nanoseconds; + +} Time_t; + +typedef struct BinarySequence_t +{ + uint32_t size; + uint8_t data[UXR_BINARY_SEQUENCE_MAX]; + +} BinarySequence_t; + +typedef struct BinarySequenceSmall_t +{ + uint32_t size; + uint8_t data[UXR_BINARY_SEQUENCE_SMALL_MAX]; + +} BinarySequenceSmall_t; + +typedef struct StringSequence_t +{ + uint32_t size; + char* data[UXR_STRING_SEQUENCE_MAX]; + +} StringSequence_t; + +typedef struct ClientKey +{ + uint8_t data[4]; + +} ClientKey; + + +#define DDS_XRCE_CLIENT_INVALID COMPOUND_LITERAL(ClientKey){{0x00, 0x00, 0x00, 0x00}} + +typedef uint8_t ObjectKind; +#define DDS_XRCE_OBJK_INVALID 0x00 +#define DDS_XRCE_OBJK_PARTICIPANT 0x01 +#define DDS_XRCE_OBJK_TOPIC 0x02 +#define DDS_XRCE_OBJK_PUBLISHER 0x03 +#define DDS_XRCE_OBJK_SUBSCRIBER 0x04 +#define DDS_XRCE_OBJK_DATAWRITER 0x05 +#define DDS_XRCE_OBJK_DATAREADER 0x06 +#define DDS_XRCE_OBJK_REQUESTER 0x07 +#define DDS_XRCE_OBJK_REPLIER 0x08 +#define DDS_XRCE_OBJK_TYPE 0x0A +#define DDS_XRCE_OBJK_QOSPROFILE 0x0B +#define DDS_XRCE_OBJK_APPLICATION 0x0C +#define DDS_XRCE_OBJK_AGENT 0x0D +#define DDS_XRCE_OBJK_CLIENT 0x0E +#define DDS_XRCE_OBJK_OTHER 0x0F + + +typedef struct ObjectId +{ + uint8_t data[2]; + +} ObjectId; + + +typedef struct ObjectPrefix +{ + uint8_t data[2]; + +} ObjectPrefix; +#define DDS_XRCE_OBJECTID_INVALID COMPOUND_LITERAL(ObjectId){{0x00, 0x00}} +#define DDS_XRCE_OBJECTID_AGENT COMPOUND_LITERAL(ObjectId){{0xFF, 0xFD}} +#define DDS_XRCE_OBJECTID_CLIENT COMPOUND_LITERAL(ObjectId){{0xFF, 0xFE}} +#define DDS_XRCE_OBJECTID_SESSION COMPOUND_LITERAL(ObjectId){{0xFF, 0xFF}} + + +typedef struct XrceCookie +{ + uint8_t data[4]; + +} XrceCookie; +#define DDS_XRCE_XRCE_COOKIE COMPOUND_LITERAL(XrceCookie){{0x58, 0x52, 0x43, 0x45}} + + +typedef struct XrceVersion +{ + uint8_t data[2]; + +} XrceVersion; +#define DDS_XRCE_XRCE_VERSION_MAJOR 0x01 +#define DDS_XRCE_XRCE_VERSION_MINOR 0x00 +#define DDS_XRCE_XRCE_VERSION COMPOUND_LITERAL(XrceVersion){{DDS_XRCE_XRCE_VERSION_MAJOR, DDS_XRCE_XRCE_VERSION_MINOR}} + + +typedef struct XrceVendorId +{ + uint8_t data[2]; + +} XrceVendorId; +#define DDS_XRCE_XRCE_VENDOR_INVALID {0x00, 0x00} + +typedef enum TransportLocatorFormat +{ + ADDRESS_FORMAT_SMALL = 0, + ADDRESS_FORMAT_MEDIUM = 1, + ADDRESS_FORMAT_LARGE = 2, + ADDRESS_FORMAT_STRING = 3 + +} TransportLocatorFormat; + + +typedef struct TransportLocatorSmall +{ + uint8_t address[2]; + uint8_t locator_port; + +} TransportLocatorSmall; + + +typedef struct TransportLocatorMedium +{ + uint8_t address[4]; + uint16_t locator_port; + +} TransportLocatorMedium; + + +typedef struct TransportLocatorLarge +{ + uint8_t address[16]; + uint32_t locator_port; + +} TransportLocatorLarge; + + +typedef struct TransportLocatorString +{ + char* value; + +} TransportLocatorString; + + +typedef union TransportLocatorU +{ + TransportLocatorSmall small_locator; + TransportLocatorMedium medium_locator; + TransportLocatorLarge large_locator; + TransportLocatorString string_locator; + +} TransportLocatorU; + + +typedef struct TransportLocator +{ + uint8_t format; + TransportLocatorU _; + +} TransportLocator; + + +typedef struct TransportLocatorSeq +{ + uint32_t size; + TransportLocator data[UXR_TRANSPORT_LOCATOR_SEQUENCE_MAX]; + +} TransportLocatorSeq; + + +typedef struct Property +{ + char* name; + char* value; + +} Property; + + +typedef struct PropertySeq +{ + uint32_t size; + Property data[UXR_PROPERTY_SEQUENCE_MAX]; + +} PropertySeq; + + +typedef struct CLIENT_Representation +{ + XrceCookie xrce_cookie; + XrceVersion xrce_version; + XrceVendorId xrce_vendor_id; + ClientKey client_key; + uint8_t session_id; + bool optional_properties; + PropertySeq properties; + uint16_t mtu; + +} CLIENT_Representation; + + +typedef struct AGENT_Representation +{ + XrceCookie xrce_cookie; + XrceVersion xrce_version; + XrceVendorId xrce_vendor_id; + bool optional_properties; + PropertySeq properties; + +} AGENT_Representation; + +typedef uint8_t RepresentationFormat; +#define DDS_XRCE_REPRESENTATION_BY_REFERENCE 0x01 +#define DDS_XRCE_REPRESENTATION_AS_XML_STRING 0x02 +#define DDS_XRCE_REPRESENTATION_IN_BINARY 0x03 +#define DDS_XRCE_REFERENCE_MAX_LEN 128 + + +typedef union OBJK_Representation3FormatsU +{ + char* object_reference; + char* xml_string_represenatation; + BinarySequence_t binary_representation; + +} OBJK_Representation3FormatsU; + + +typedef struct OBJK_Representation3Formats +{ + uint8_t format; + OBJK_Representation3FormatsU _; + +} OBJK_Representation3Formats; + + +typedef union OBJK_RepresentationRefAndXMLFormatsU +{ + char* object_name; + char* xml_string_represenatation; + +} OBJK_RepresentationRefAndXMLFormatsU; + + +typedef struct OBJK_RepresentationRefAndXMLFormats +{ + uint8_t format; + OBJK_RepresentationRefAndXMLFormatsU _; + +} OBJK_RepresentationRefAndXMLFormats; + + +typedef union OBJK_RepresentationBinAndXMLFormatsU +{ + BinarySequence_t binary_representation; + char* string_represenatation; + +} OBJK_RepresentationBinAndXMLFormatsU; + + +typedef struct OBJK_RepresentationBinAndXMLFormats +{ + uint8_t format; + OBJK_RepresentationBinAndXMLFormatsU _; + +} OBJK_RepresentationBinAndXMLFormats; + + +typedef struct OBJK_RepresentationRefAndXML_Base +{ + OBJK_RepresentationRefAndXMLFormats representation; + +} OBJK_RepresentationRefAndXML_Base; + + +typedef struct OBJK_RepresentationBinAndXML_Base +{ + OBJK_RepresentationBinAndXMLFormats representation; + +} OBJK_RepresentationBinAndXML_Base; + + +typedef struct OBJK_Representation3_Base +{ + OBJK_Representation3Formats representation; + +} OBJK_Representation3_Base; + + +typedef struct OBJK_QOSPROFILE_Representation +{ + OBJK_RepresentationRefAndXML_Base base; + +} OBJK_QOSPROFILE_Representation; + + +typedef struct OBJK_TYPE_Representation +{ + OBJK_RepresentationRefAndXML_Base base; + +} OBJK_TYPE_Representation; + + +typedef struct OBJK_DOMAIN_Representation +{ + OBJK_RepresentationRefAndXML_Base base; + +} OBJK_DOMAIN_Representation; + + +typedef struct OBJK_APPLICATION_Representation +{ + OBJK_RepresentationRefAndXML_Base base; + +} OBJK_APPLICATION_Representation; + + +typedef struct OBJK_PUBLISHER_Representation +{ + OBJK_RepresentationBinAndXML_Base base; + ObjectId participant_id; + +} OBJK_PUBLISHER_Representation; + + +typedef struct OBJK_SUBSCRIBER_Representation +{ + OBJK_RepresentationBinAndXML_Base base; + ObjectId participant_id; + +} OBJK_SUBSCRIBER_Representation; + + +typedef struct DATAWRITER_Representation +{ + OBJK_Representation3_Base base; + ObjectId publisher_id; + +} DATAWRITER_Representation; + + +typedef struct DATAREADER_Representation +{ + OBJK_Representation3_Base base; + ObjectId subscriber_id; + +} DATAREADER_Representation; + + +typedef struct OBJK_PARTICIPANT_Representation +{ + OBJK_Representation3_Base base; + int16_t domain_id; + +} OBJK_PARTICIPANT_Representation; + + +typedef struct OBJK_TOPIC_Representation +{ + OBJK_Representation3_Base base; + ObjectId participant_id; + +} OBJK_TOPIC_Representation; + + +typedef struct OBJK_REQUESTER_Representation +{ + OBJK_Representation3_Base base; + ObjectId participant_id; + +} OBJK_REQUESTER_Representation; + + +typedef struct OBJK_REPLIER_Representation +{ + OBJK_Representation3_Base base; + ObjectId participant_id; + +} OBJK_REPLIER_Representation; + + +typedef struct OBJK_DomainParticipant_Binary +{ + bool optional_domain_reference; + char* domain_reference; + bool optional_qos_profile_reference; + char* qos_profile_reference; + +} OBJK_DomainParticipant_Binary; + + +typedef struct OBJK_Topic_Binary +{ + char* topic_name; + bool optional_type_reference; + char* type_reference; + bool optional_type_name; + char* type_name; + +} OBJK_Topic_Binary; + + +typedef struct OBJK_Publisher_Binary_Qos +{ + bool optional_partitions; + StringSequence_t partitions; + bool optional_group_data; + BinarySequence_t group_data; + +} OBJK_Publisher_Binary_Qos; + + +typedef struct OBJK_Publisher_Binary +{ + bool optional_publisher_name; + char* publisher_name; + bool optional_qos; + OBJK_Publisher_Binary_Qos qos; + +} OBJK_Publisher_Binary; + + +typedef struct OBJK_Subscriber_Binary_Qos +{ + bool optional_partitions; + StringSequence_t partitions; + bool optional_group_data; + BinarySequence_t group_data; + +} OBJK_Subscriber_Binary_Qos; + + +typedef struct OBJK_Subscriber_Binary +{ + bool optional_subscriber_name; + char* subscriber_name; + bool optional_qos; + OBJK_Subscriber_Binary_Qos qos; + +} OBJK_Subscriber_Binary; + + +typedef enum EndpointQosFlags +{ + is_reliable = 0x01 << 0, + is_history_keep_last = 0x01 << 1, + is_ownership_exclusive = 0x01 << 2, + is_durability_transient_local = 0x01 << 3, + is_durability_transient = 0x01 << 4, + is_durability_persistent = 0x01 << 5 + +} EndpointQosFlags; + + +typedef struct OBJK_Endpoint_QosBinary +{ + uint16_t qos_flags; + bool optional_history_depth; + uint16_t history_depth; + bool optional_deadline_msec; + uint32_t deadline_msec; + bool optional_lifespan_msec; + uint32_t lifespan_msec; + bool optional_user_data; + BinarySequenceSmall_t user_data; + +} OBJK_Endpoint_QosBinary; + + +typedef struct OBJK_DataWriter_Binary_Qos +{ + OBJK_Endpoint_QosBinary base; + bool optional_ownership_strength; + uint64_t ownership_strength; + +} OBJK_DataWriter_Binary_Qos; + + +typedef struct OBJK_DataReader_Binary_Qos +{ + OBJK_Endpoint_QosBinary base; + bool optional_timebasedfilter_msec; + uint64_t timebasedfilter_msec; + bool optional_contentbased_filter; + char* contentbased_filter; + +} OBJK_DataReader_Binary_Qos; + + +typedef struct OBJK_DataReader_Binary +{ + ObjectId topic_id; + bool optional_qos; + OBJK_DataReader_Binary_Qos qos; + +} OBJK_DataReader_Binary; + + +typedef struct OBJK_DataWriter_Binary +{ + ObjectId topic_id; + bool optional_qos; + OBJK_DataWriter_Binary_Qos qos; + +} OBJK_DataWriter_Binary; + +typedef struct OBJK_Requester_Binary +{ + char* service_name; + char* request_type; + char* reply_type; + bool optional_request_topic_name; + char* request_topic_name; + bool optional_reply_topic_name; + char* reply_topic_name; + +} OBJK_Requester_Binary; + +typedef struct OBJK_Replier_Binary +{ + char* service_name; + char* request_type; + char* reply_type; + bool optional_request_topic_name; + char* request_topic_name; + bool optional_reply_topic_name; + char* reply_topic_name; + +} OBJK_Replier_Binary; + +typedef union ObjectVariantU +{ + AGENT_Representation agent; + CLIENT_Representation client; + OBJK_APPLICATION_Representation application; + OBJK_PARTICIPANT_Representation participant; + OBJK_QOSPROFILE_Representation qos_profile; + OBJK_TYPE_Representation type; + OBJK_TOPIC_Representation topic; + OBJK_PUBLISHER_Representation publisher; + OBJK_SUBSCRIBER_Representation subscriber; + OBJK_REQUESTER_Representation requester; + OBJK_REPLIER_Representation replier; + DATAWRITER_Representation data_writer; + DATAREADER_Representation data_reader; + +} ObjectVariantU; + + +typedef struct ObjectVariant +{ + uint8_t kind; + ObjectVariantU _; + +} ObjectVariant; + + +typedef struct CreationMode +{ + bool reuse; + bool replace; + +} CreationMode; + + +typedef struct RequestId +{ + uint8_t data[2]; + +} RequestId; + + +typedef struct ResultStatus +{ + uint8_t status; + uint8_t implementation_status; + +} ResultStatus; + + +typedef struct BaseObjectRequest +{ + RequestId request_id; + ObjectId object_id; + +} BaseObjectRequest; + +typedef BaseObjectRequest RelatedObjectRequest; + +typedef enum InfoMask +{ + INFO_CONFIGURATION = 0x01 << 0, + INFO_ACTIVITY = 0x01 << 1 + +} InfoMask; + + +typedef struct AGENT_ActivityInfo +{ + int16_t availability; + TransportLocatorSeq address_seq; + +} AGENT_ActivityInfo; + + +typedef struct DATAREADER_ActivityInfo +{ + int16_t highest_acked_num; + +} DATAREADER_ActivityInfo; + + +typedef struct DATAWRITER_ActivityInfo +{ + int16_t stream_seq_num; + uint64_t sample_seq_num; + +} DATAWRITER_ActivityInfo; + + +typedef union ActivityInfoVariantU +{ + AGENT_ActivityInfo agent; + DATAWRITER_ActivityInfo data_writer; + DATAREADER_ActivityInfo data_reader; + +} ActivityInfoVariantU; + + +typedef struct ActivityInfoVariant +{ + uint8_t kind; + ActivityInfoVariantU _; + +} ActivityInfoVariant; + + +typedef struct ObjectInfo +{ + bool optional_config; + ObjectVariant config; + bool optional_activity; + ActivityInfoVariant activity; + +} ObjectInfo; + + +typedef struct BaseObjectReply +{ + BaseObjectRequest related_request; + ResultStatus result; + +} BaseObjectReply; + + +typedef enum DataFormat +{ + FORMAT_DATA = 0x00, + FORMAT_SAMPLE = 0x02, + FORMAT_DATA_SEQ = 0x08, + FORMAT_SAMPLE_SEQ = 0x0A, + FORMAT_PACKED_SAMPLES = 0x0E, + FORMAT_MASK = 0x0E + +} DataFormat; + + +typedef struct DataDeliveryControl +{ + uint16_t max_samples; + uint16_t max_elapsed_time; + uint16_t max_bytes_per_seconds; + uint16_t min_pace_period; + +} DataDeliveryControl; + + +typedef struct ReadSpecification +{ + uint8_t preferred_stream_id; + uint8_t data_format; + bool optional_content_filter_expression; + char* content_filter_expression; + bool optional_delivery_control; + DataDeliveryControl delivery_control; + +} ReadSpecification; + + +typedef enum SampleInfoFlags +{ + INSTANCE_STATE_UNREGISTERD = 0x01 << 0, + INSTANCE_STATE_DISPOSED = 0x01 << 1, + VIEW_STATE_NEW = 0x01 << 2, + SAMPLE_STATE_READ = 0x01 << 3 + +} SampleInfoFlags; + + +typedef enum SampleInfoFormat +{ + FORMAT_EMPTY = 0x00, + FORMAT_SEQNUM = 0x01, + FORMAT_TIMESTAMP = 0x02, + FORMAT_SEQN_TIMS = 0x03 + +} SampleInfoFormat; + + +typedef struct SeqNumberAndTimestamp +{ + uint32_t sequence_number; + uint32_t session_time_offset; + +} SeqNumberAndTimestamp; + + +typedef union SampleInfoDetailU +{ + uint32_t sequence_number; + uint32_t session_time_offset; + SeqNumberAndTimestamp seqnum_n_timestamp; + +} SampleInfoDetailU; + + +typedef struct SampleInfoDetail +{ + uint32_t format; + SampleInfoDetailU _; + +} SampleInfoDetail; + + +typedef struct SampleInfo +{ + uint8_t state; + SampleInfoDetail detail; + +} SampleInfo; + +typedef uint16_t DeciSecond; + + +typedef struct SampleInfoDelta +{ + uint8_t state; + uint8_t seq_number_delta; + uint16_t timestamp_delta; + +} SampleInfoDelta; + + +typedef struct SampleData +{ + uint32_t size; + uint8_t data[UXR_SAMPLE_DATA_SIZE_MAX]; + +} SampleData; + + +typedef struct SampleDataSeq +{ + uint32_t size; + SampleData data[UXR_SAMPLE_DATA_SEQUENCE_MAX]; + +} SampleDataSeq; + + +typedef struct Sample +{ + SampleInfo info; + SampleData data; + +} Sample; + + +typedef struct SampleSeq +{ + uint32_t size; + Sample data[UXR_SAMPLE_SEQUENCE_MAX]; + +} SampleSeq; + + +typedef struct SampleDelta +{ + SampleInfoDelta info_delta; + SampleData data; + +} SampleDelta; + + +typedef struct SampleDeltaSequence +{ + uint32_t size; + SampleDelta data[UXR_SAMPLE_DELTA_SEQUENCE_MAX]; + +} SampleDeltaSequence; + + +typedef struct PackedSamples +{ + SampleInfo info_base; + SampleDeltaSequence sample_delta_seq; + +} PackedSamples; + + +typedef struct SamplePackedSeq +{ + uint32_t size; + PackedSamples data[UXR_PACKED_SAMPLES_SEQUENCE_MAX]; + +} SamplePackedSeq; + + +typedef union DataRepresentationU +{ + SampleData data; + Sample sample; + SampleDataSeq data_seq; + SampleSeq sample_seq; + PackedSamples packed_samples; + +} DataRepresentationU; + + +typedef struct DataRepresentation +{ + uint8_t format; + DataRepresentationU _; + +} DataRepresentation; + + +typedef struct CREATE_CLIENT_Payload +{ + CLIENT_Representation client_representation; + +} CREATE_CLIENT_Payload; + + +typedef struct CREATE_Payload +{ + BaseObjectRequest base; + ObjectVariant object_representation; + +} CREATE_Payload; + + +typedef struct GET_INFO_Payload +{ + BaseObjectRequest base; + uint32_t info_mask; + +} GET_INFO_Payload; + + +typedef struct DELETE_Payload +{ + BaseObjectRequest base; + +} DELETE_Payload; + + +typedef struct STATUS_AGENT_Payload +{ + ResultStatus result; + AGENT_Representation agent_info; + +} STATUS_AGENT_Payload; + + +typedef struct STATUS_Payload +{ + BaseObjectReply base; + +} STATUS_Payload; + + +typedef struct INFO_Payload +{ + BaseObjectReply base; + ObjectInfo object_info; + +} INFO_Payload; + + +typedef struct READ_DATA_Payload +{ + BaseObjectRequest base; + ReadSpecification read_specification; + +} READ_DATA_Payload; + + +typedef struct WRITE_DATA_Payload_Data +{ + BaseObjectRequest base; + +} WRITE_DATA_Payload_Data; + + +typedef struct WRITE_DATA_Payload_Sample +{ + BaseObjectRequest base; + Sample sample; + +} WRITE_DATA_Payload_Sample; + + +typedef struct WRITE_DATA_Payload_DataSeq +{ + BaseObjectRequest base; + SampleDataSeq data_seq; + +} WRITE_DATA_Payload_DataSeq; + + +typedef struct WRITE_DATA_Payload_SampleSeq +{ + BaseObjectRequest base; + SampleSeq sample_seq; + +} WRITE_DATA_Payload_SampleSeq; + + +typedef struct WRITE_DATA_Payload_PackedSamples +{ + BaseObjectRequest base; + PackedSamples packed_samples; + +} WRITE_DATA_Payload_PackedSamples; + + +typedef struct DATA_Payload_Data +{ + BaseObjectRequest base; + +} DATA_Payload_Data; + + +typedef struct DATA_Payload_Sample +{ + BaseObjectRequest base; + Sample sample; + +} DATA_Payload_Sample; + + +typedef struct DATA_Payload_DataSeq +{ + BaseObjectRequest base; + SampleDataSeq data_seq; + +} DATA_Payload_DataSeq; + + +typedef struct DATA_Payload_SampleSeq +{ + BaseObjectRequest base; + SampleSeq sample_seq; + +} DATA_Payload_SampleSeq; + + +typedef struct DATA_Payload_PackedSamples +{ + BaseObjectRequest base; + PackedSamples packed_samples; + +} DATA_Payload_PackedSamples; + + +typedef struct ACKNACK_Payload +{ + uint16_t first_unacked_seq_num; + uint8_t nack_bitmap[2]; + uint8_t stream_id; + +} ACKNACK_Payload; + +typedef struct HEARTBEAT_Payload +{ + uint16_t first_unacked_seq_nr; + uint16_t last_unacked_seq_nr; + uint8_t stream_id; + +} HEARTBEAT_Payload; + +typedef struct TIMESTAMP_Payload +{ + Time_t transmit_timestamp; + +} TIMESTAMP_Payload; + +typedef struct TIMESTAMP_REPLY_Payload +{ + Time_t transmit_timestamp; + Time_t receive_timestamp; + Time_t originate_timestamp; + +} TIMESTAMP_REPLY_Payload; + +typedef struct GuidPrefix +{ + uint8_t data[12]; + +} GuidPrefix_t; + +typedef struct EntityId_t +{ + uint8_t entityKey[3]; + uint8_t entityKind; + +} EntityId_t; + +typedef struct GUID_t +{ + GuidPrefix_t guidPrefix; + EntityId_t entityId; + +} GUID_t; + +typedef struct SequenceNumber_t +{ + int32_t high; + uint32_t low; + +} SequenceNumber_t; + +typedef struct SampleIdentity +{ + GUID_t writer_guid; + SequenceNumber_t sequence_number; + +} SampleIdentity; + +#ifdef PERFORMANCE_TESTING +typedef struct PERFORMANCE_Payload +{ + uint32_t epoch_time_lsb; + uint32_t epoch_time_msb; + uint8_t* buf; + uint16_t len; + +} PERFORMANCE_Payload; +#endif // ifdef PERFORMANCE_TESTING + +bool uxr_serialize_Time_t( + ucdrBuffer* buffer, + const Time_t* input); +bool uxr_deserialize_Time_t( + ucdrBuffer* buffer, + Time_t* output); + +bool uxr_serialize_BinarySequence_t( + ucdrBuffer* buffer, + const BinarySequence_t* input); +bool uxr_deserialize_BinarySequence_t( + ucdrBuffer* buffer, + BinarySequence_t* output); + +bool uxr_serialize_StringSequence_t( + ucdrBuffer* buffer, + const StringSequence_t* input); +bool uxr_deserialize_StringSequence_t( + ucdrBuffer* buffer, + StringSequence_t* output); + +bool uxr_serialize_ClientKey( + ucdrBuffer* buffer, + const ClientKey* input); +bool uxr_deserialize_ClientKey( + ucdrBuffer* buffer, + ClientKey* output); + +bool uxr_serialize_ObjectId( + ucdrBuffer* buffer, + const ObjectId* input); +bool uxr_deserialize_ObjectId( + ucdrBuffer* buffer, + ObjectId* output); + +bool uxr_serialize_ObjectPrefix( + ucdrBuffer* buffer, + const ObjectPrefix* input); +bool uxr_deserialize_ObjectPrefix( + ucdrBuffer* buffer, + ObjectPrefix* output); + +bool uxr_serialize_XrceCookie( + ucdrBuffer* buffer, + const XrceCookie* input); +bool uxr_deserialize_XrceCookie( + ucdrBuffer* buffer, + XrceCookie* output); + +bool uxr_serialize_XrceVersion( + ucdrBuffer* buffer, + const XrceVersion* input); +bool uxr_deserialize_XrceVersion( + ucdrBuffer* buffer, + XrceVersion* output); + +bool uxr_serialize_XrceVendorId( + ucdrBuffer* buffer, + const XrceVendorId* input); +bool uxr_deserialize_XrceVendorId( + ucdrBuffer* buffer, + XrceVendorId* output); + +bool uxr_serialize_TransportLocatorSmall( + ucdrBuffer* buffer, + const TransportLocatorSmall* input); +bool uxr_deserialize_TransportLocatorSmall( + ucdrBuffer* buffer, + TransportLocatorSmall* output); + +bool uxr_serialize_TransportLocatorMedium( + ucdrBuffer* buffer, + const TransportLocatorMedium* input); +bool uxr_deserialize_TransportLocatorMedium( + ucdrBuffer* buffer, + TransportLocatorMedium* output); + +bool uxr_serialize_TransportLocatorLarge( + ucdrBuffer* buffer, + const TransportLocatorLarge* input); +bool uxr_deserialize_TransportLocatorLarge( + ucdrBuffer* buffer, + TransportLocatorLarge* output); + +bool uxr_serialize_TransportLocatorString( + ucdrBuffer* buffer, + const TransportLocatorString* input); +bool uxr_deserialize_TransportLocatorString( + ucdrBuffer* buffer, + TransportLocatorString* output); + +bool uxr_serialize_TransportLocator( + ucdrBuffer* buffer, + const TransportLocator* input); +bool uxr_deserialize_TransportLocator( + ucdrBuffer* buffer, + TransportLocator* output); + +bool uxr_serialize_TransportLocatorSeq( + ucdrBuffer* buffer, + const TransportLocatorSeq* input); +bool uxr_deserialize_TransportLocatorSeq( + ucdrBuffer* buffer, + TransportLocatorSeq* output); + +bool uxr_serialize_Property( + ucdrBuffer* buffer, + const Property* input); +bool uxr_deserialize_Property( + ucdrBuffer* buffer, + Property* output); + +bool uxr_serialize_PropertySeq( + ucdrBuffer* buffer, + const PropertySeq* input); +bool uxr_deserialize_PropertySeq( + ucdrBuffer* buffer, + PropertySeq* output); + +bool uxr_serialize_CLIENT_Representation( + ucdrBuffer* buffer, + const CLIENT_Representation* input); +bool uxr_deserialize_CLIENT_Representation( + ucdrBuffer* buffer, + CLIENT_Representation* output); + +bool uxr_serialize_AGENT_Representation( + ucdrBuffer* buffer, + const AGENT_Representation* input); +bool uxr_deserialize_AGENT_Representation( + ucdrBuffer* buffer, + AGENT_Representation* output); + +bool uxr_serialize_OBJK_Representation3Formats( + ucdrBuffer* buffer, + const OBJK_Representation3Formats* input); +bool uxr_deserialize_OBJK_Representation3Formats( + ucdrBuffer* buffer, + OBJK_Representation3Formats* output); + +bool uxr_serialize_OBJK_RepresentationRefAndXMLFormats( + ucdrBuffer* buffer, + const OBJK_RepresentationRefAndXMLFormats* input); +bool uxr_deserialize_OBJK_RepresentationRefAndXMLFormats( + ucdrBuffer* buffer, + OBJK_RepresentationRefAndXMLFormats* output); + +bool uxr_serialize_OBJK_RepresentationBinAndXMLFormats( + ucdrBuffer* buffer, + const OBJK_RepresentationBinAndXMLFormats* input); +bool uxr_deserialize_OBJK_RepresentationBinAndXMLFormats( + ucdrBuffer* buffer, + OBJK_RepresentationBinAndXMLFormats* output); + +bool uxr_serialize_OBJK_RepresentationRefAndXML_Base( + ucdrBuffer* buffer, + const OBJK_RepresentationRefAndXML_Base* input); +bool uxr_deserialize_OBJK_RepresentationRefAndXML_Base( + ucdrBuffer* buffer, + OBJK_RepresentationRefAndXML_Base* output); + +bool uxr_serialize_OBJK_RepresentationBinAndXML_Base( + ucdrBuffer* buffer, + const OBJK_RepresentationBinAndXML_Base* input); +bool uxr_deserialize_OBJK_RepresentationBinAndXML_Base( + ucdrBuffer* buffer, + OBJK_RepresentationBinAndXML_Base* output); + +bool uxr_serialize_OBJK_Representation3_Base( + ucdrBuffer* buffer, + const OBJK_Representation3_Base* input); +bool uxr_deserialize_OBJK_Representation3_Base( + ucdrBuffer* buffer, + OBJK_Representation3_Base* output); + +bool uxr_serialize_OBJK_QOSPROFILE_Representation( + ucdrBuffer* buffer, + const OBJK_QOSPROFILE_Representation* input); +bool uxr_deserialize_OBJK_QOSPROFILE_Representation( + ucdrBuffer* buffer, + OBJK_QOSPROFILE_Representation* output); + +bool uxr_serialize_OBJK_TYPE_Representation( + ucdrBuffer* buffer, + const OBJK_TYPE_Representation* input); +bool uxr_deserialize_OBJK_TYPE_Representation( + ucdrBuffer* buffer, + OBJK_TYPE_Representation* output); + +bool uxr_serialize_OBJK_DOMAIN_Representation( + ucdrBuffer* buffer, + const OBJK_DOMAIN_Representation* input); +bool uxr_deserialize_OBJK_DOMAIN_Representation( + ucdrBuffer* buffer, + OBJK_DOMAIN_Representation* output); + +bool uxr_serialize_OBJK_APPLICATION_Representation( + ucdrBuffer* buffer, + const OBJK_APPLICATION_Representation* input); +bool uxr_deserialize_OBJK_APPLICATION_Representation( + ucdrBuffer* buffer, + OBJK_APPLICATION_Representation* output); + +bool uxr_serialize_OBJK_PUBLISHER_Representation( + ucdrBuffer* buffer, + const OBJK_PUBLISHER_Representation* input); +bool uxr_deserialize_OBJK_PUBLISHER_Representation( + ucdrBuffer* buffer, + OBJK_PUBLISHER_Representation* output); + +bool uxr_serialize_OBJK_SUBSCRIBER_Representation( + ucdrBuffer* buffer, + const OBJK_SUBSCRIBER_Representation* input); +bool uxr_deserialize_OBJK_SUBSCRIBER_Representation( + ucdrBuffer* buffer, + OBJK_SUBSCRIBER_Representation* output); + +bool uxr_serialize_DATAWRITER_Representation( + ucdrBuffer* buffer, + const DATAWRITER_Representation* input); +bool uxr_deserialize_DATAWRITER_Representation( + ucdrBuffer* buffer, + DATAWRITER_Representation* output); + +bool uxr_serialize_DATAREADER_Representation( + ucdrBuffer* buffer, + const DATAREADER_Representation* input); +bool uxr_deserialize_DATAREADER_Representation( + ucdrBuffer* buffer, + DATAREADER_Representation* output); + +bool uxr_serialize_OBJK_PARTICIPANT_Representation( + ucdrBuffer* buffer, + const OBJK_PARTICIPANT_Representation* input); +bool uxr_deserialize_OBJK_PARTICIPANT_Representation( + ucdrBuffer* buffer, + OBJK_PARTICIPANT_Representation* output); + +bool uxr_serialize_OBJK_TOPIC_Representation( + ucdrBuffer* buffer, + const OBJK_TOPIC_Representation* input); +bool uxr_deserialize_OBJK_TOPIC_Representation( + ucdrBuffer* buffer, + OBJK_TOPIC_Representation* output); + +bool uxr_serialize_OBJK_REQUESTER_Representation( + ucdrBuffer* buffer, + const OBJK_REQUESTER_Representation* input); +bool uxr_deserialize_OBJK_REQUESTER_Representation( + ucdrBuffer* buffer, + OBJK_REQUESTER_Representation* output); + +bool uxr_serialize_OBJK_REPLIER_Representation( + ucdrBuffer* buffer, + const OBJK_REPLIER_Representation* input); +bool uxr_deserialize_OBJK_REPLIER_Representation( + ucdrBuffer* buffer, + OBJK_REPLIER_Representation* output); + +bool uxr_serialize_OBJK_DomainParticipant_Binary( + ucdrBuffer* buffer, + const OBJK_DomainParticipant_Binary* input); +bool uxr_deserialize_OBJK_DomainParticipant_Binary( + ucdrBuffer* buffer, + OBJK_DomainParticipant_Binary* output); + +bool uxr_serialize_OBJK_Topic_Binary( + ucdrBuffer* buffer, + const OBJK_Topic_Binary* input); +bool uxr_deserialize_OBJK_Topic_Binary( + ucdrBuffer* buffer, + OBJK_Topic_Binary* output); + +bool uxr_serialize_OBJK_Publisher_Binary_Qos( + ucdrBuffer* buffer, + const OBJK_Publisher_Binary_Qos* input); +bool uxr_deserialize_OBJK_Publisher_Binary_Qos( + ucdrBuffer* buffer, + OBJK_Publisher_Binary_Qos* output); + +bool uxr_serialize_OBJK_Publisher_Binary( + ucdrBuffer* buffer, + const OBJK_Publisher_Binary* input); +bool uxr_deserialize_OBJK_Publisher_Binary( + ucdrBuffer* buffer, + OBJK_Publisher_Binary* output); + +bool uxr_serialize_OBJK_Subscriber_Binary_Qos( + ucdrBuffer* buffer, + const OBJK_Subscriber_Binary_Qos* input); +bool uxr_deserialize_OBJK_Subscriber_Binary_Qos( + ucdrBuffer* buffer, + OBJK_Subscriber_Binary_Qos* output); + +bool uxr_serialize_OBJK_Subscriber_Binary( + ucdrBuffer* buffer, + const OBJK_Subscriber_Binary* input); +bool uxr_deserialize_OBJK_Subscriber_Binary( + ucdrBuffer* buffer, + OBJK_Subscriber_Binary* output); + +bool uxr_serialize_OBJK_Endpoint_QosBinary( + ucdrBuffer* buffer, + const OBJK_Endpoint_QosBinary* input); +bool uxr_deserialize_OBJK_Endpoint_QosBinary( + ucdrBuffer* buffer, + OBJK_Endpoint_QosBinary* output); + +bool uxr_serialize_OBJK_DataWriter_Binary_Qos( + ucdrBuffer* buffer, + const OBJK_DataWriter_Binary_Qos* input); +bool uxr_deserialize_OBJK_DataWriter_Binary_Qos( + ucdrBuffer* buffer, + OBJK_DataWriter_Binary_Qos* output); + +bool uxr_serialize_OBJK_DataReader_Binary_Qos( + ucdrBuffer* buffer, + const OBJK_DataReader_Binary_Qos* input); +bool uxr_deserialize_OBJK_DataReader_Binary_Qos( + ucdrBuffer* buffer, + OBJK_DataReader_Binary_Qos* output); + +bool uxr_serialize_OBJK_DataReader_Binary( + ucdrBuffer* buffer, + const OBJK_DataReader_Binary* input); +bool uxr_deserialize_OBJK_DataReader_Binary( + ucdrBuffer* buffer, + OBJK_DataReader_Binary* output); + +bool uxr_serialize_OBJK_DataWriter_Binary( + ucdrBuffer* buffer, + const OBJK_DataWriter_Binary* input); +bool uxr_deserialize_OBJK_DataWriter_Binary( + ucdrBuffer* buffer, + OBJK_DataWriter_Binary* output); + +bool uxr_serialize_OBJK_Requester_Binary( + ucdrBuffer* buffer, + const OBJK_Requester_Binary* input); +bool uxr_deserialize_OBJK_Requester_Binary( + ucdrBuffer* buffer, + OBJK_Requester_Binary* output); + +bool uxr_serialize_OBJK_Replier_Binary( + ucdrBuffer* buffer, + const OBJK_Replier_Binary* input); +bool uxr_deserialize_OBJK_Replier_Binary( + ucdrBuffer* buffer, + OBJK_Replier_Binary* output); + +bool uxr_serialize_ObjectVariant( + ucdrBuffer* buffer, + const ObjectVariant* input); +bool uxr_deserialize_ObjectVariant( + ucdrBuffer* buffer, + ObjectVariant* output); + +bool uxr_serialize_CreationMode( + ucdrBuffer* buffer, + const CreationMode* input); +bool uxr_deserialize_CreationMode( + ucdrBuffer* buffer, + CreationMode* output); + +bool uxr_serialize_RequestId( + ucdrBuffer* buffer, + const RequestId* input); +bool uxr_deserialize_RequestId( + ucdrBuffer* buffer, + RequestId* output); + +bool uxr_serialize_ResultStatus( + ucdrBuffer* buffer, + const ResultStatus* input); +bool uxr_deserialize_ResultStatus( + ucdrBuffer* buffer, + ResultStatus* output); + +bool uxr_serialize_BaseObjectRequest( + ucdrBuffer* buffer, + const BaseObjectRequest* input); +bool uxr_deserialize_BaseObjectRequest( + ucdrBuffer* buffer, + BaseObjectRequest* output); + +bool uxr_serialize_AGENT_ActivityInfo( + ucdrBuffer* buffer, + const AGENT_ActivityInfo* input); +bool uxr_deserialize_AGENT_ActivityInfo( + ucdrBuffer* buffer, + AGENT_ActivityInfo* output); + +bool uxr_serialize_DATAREADER_ActivityInfo( + ucdrBuffer* buffer, + const DATAREADER_ActivityInfo* input); +bool uxr_deserialize_DATAREADER_ActivityInfo( + ucdrBuffer* buffer, + DATAREADER_ActivityInfo* output); + +bool uxr_serialize_DATAWRITER_ActivityInfo( + ucdrBuffer* buffer, + const DATAWRITER_ActivityInfo* input); +bool uxr_deserialize_DATAWRITER_ActivityInfo( + ucdrBuffer* buffer, + DATAWRITER_ActivityInfo* output); + +bool uxr_serialize_ActivityInfoVariant( + ucdrBuffer* buffer, + const ActivityInfoVariant* input); +bool uxr_deserialize_ActivityInfoVariant( + ucdrBuffer* buffer, + ActivityInfoVariant* output); + +bool uxr_serialize_ObjectInfo( + ucdrBuffer* buffer, + const ObjectInfo* input); +bool uxr_deserialize_ObjectInfo( + ucdrBuffer* buffer, + ObjectInfo* output); + +bool uxr_serialize_BaseObjectReply( + ucdrBuffer* buffer, + const BaseObjectReply* input); +bool uxr_deserialize_BaseObjectReply( + ucdrBuffer* buffer, + BaseObjectReply* output); + +bool uxr_serialize_DataDeliveryControl( + ucdrBuffer* buffer, + const DataDeliveryControl* input); +bool uxr_deserialize_DataDeliveryControl( + ucdrBuffer* buffer, + DataDeliveryControl* output); + +bool uxr_serialize_ReadSpecification( + ucdrBuffer* buffer, + const ReadSpecification* input); +bool uxr_deserialize_ReadSpecification( + ucdrBuffer* buffer, + ReadSpecification* output); + +bool uxr_serialize_SeqNumberAndTimestamp( + ucdrBuffer* buffer, + const SeqNumberAndTimestamp* input); +bool uxr_deserialize_SeqNumberAndTimestamp( + ucdrBuffer* buffer, + SeqNumberAndTimestamp* output); + +bool uxr_serialize_SampleInfoDetail( + ucdrBuffer* buffer, + const SampleInfoDetail* input); +bool uxr_deserialize_SampleInfoDetail( + ucdrBuffer* buffer, + SampleInfoDetail* output); + +bool uxr_serialize_SampleInfo( + ucdrBuffer* buffer, + const SampleInfo* input); +bool uxr_deserialize_SampleInfo( + ucdrBuffer* buffer, + SampleInfo* output); + +bool uxr_serialize_SampleInfoDelta( + ucdrBuffer* buffer, + const SampleInfoDelta* input); +bool uxr_deserialize_SampleInfoDelta( + ucdrBuffer* buffer, + SampleInfoDelta* output); + +bool uxr_serialize_SampleData( + ucdrBuffer* buffer, + const SampleData* input); +bool uxr_deserialize_SampleData( + ucdrBuffer* buffer, + SampleData* output); + +bool uxr_serialize_SampleDataSeq( + ucdrBuffer* buffer, + const SampleDataSeq* input); +bool uxr_deserialize_SampleDataSeq( + ucdrBuffer* buffer, + SampleDataSeq* output); + +bool uxr_serialize_Sample( + ucdrBuffer* buffer, + const Sample* input); +bool uxr_deserialize_Sample( + ucdrBuffer* buffer, + Sample* output); + +bool uxr_serialize_SampleSeq( + ucdrBuffer* buffer, + const SampleSeq* input); +bool uxr_deserialize_SampleSeq( + ucdrBuffer* buffer, + SampleSeq* output); + +bool uxr_serialize_SampleDelta( + ucdrBuffer* buffer, + const SampleDelta* input); +bool uxr_deserialize_SampleDelta( + ucdrBuffer* buffer, + SampleDelta* output); + +bool uxr_serialize_SampleDeltaSequence( + ucdrBuffer* buffer, + const SampleDeltaSequence* input); +bool uxr_deserialize_SampleDeltaSequence( + ucdrBuffer* buffer, + SampleDeltaSequence* output); + +bool uxr_serialize_PackedSamples( + ucdrBuffer* buffer, + const PackedSamples* input); +bool uxr_deserialize_PackedSamples( + ucdrBuffer* buffer, + PackedSamples* output); + +bool uxr_serialize_SamplePackedSeq( + ucdrBuffer* buffer, + const SamplePackedSeq* input); +bool uxr_deserialize_SamplePackedSeq( + ucdrBuffer* buffer, + SamplePackedSeq* output); + +bool uxr_serialize_DataRepresentation( + ucdrBuffer* buffer, + const DataRepresentation* input); +bool uxr_deserialize_DataRepresentation( + ucdrBuffer* buffer, + DataRepresentation* output); + +bool uxr_serialize_CREATE_CLIENT_Payload( + ucdrBuffer* buffer, + const CREATE_CLIENT_Payload* input); +bool uxr_deserialize_CREATE_CLIENT_Payload( + ucdrBuffer* buffer, + CREATE_CLIENT_Payload* output); + +bool uxr_serialize_CREATE_Payload( + ucdrBuffer* buffer, + const CREATE_Payload* input); +bool uxr_deserialize_CREATE_Payload( + ucdrBuffer* buffer, + CREATE_Payload* output); + +bool uxr_serialize_GET_INFO_Payload( + ucdrBuffer* buffer, + const GET_INFO_Payload* input); +bool uxr_deserialize_GET_INFO_Payload( + ucdrBuffer* buffer, + GET_INFO_Payload* output); + +bool uxr_serialize_DELETE_Payload( + ucdrBuffer* buffer, + const DELETE_Payload* input); +bool uxr_deserialize_DELETE_Payload( + ucdrBuffer* buffer, + DELETE_Payload* output); + +bool uxr_serialize_STATUS_AGENT_Payload( + ucdrBuffer* buffer, + const STATUS_AGENT_Payload* input); +bool uxr_deserialize_STATUS_AGENT_Payload( + ucdrBuffer* buffer, + STATUS_AGENT_Payload* output); + +bool uxr_serialize_STATUS_Payload( + ucdrBuffer* buffer, + const STATUS_Payload* input); +bool uxr_deserialize_STATUS_Payload( + ucdrBuffer* buffer, + STATUS_Payload* output); + +bool uxr_serialize_INFO_Payload( + ucdrBuffer* buffer, + const INFO_Payload* input); +bool uxr_deserialize_INFO_Payload( + ucdrBuffer* buffer, + INFO_Payload* output); + +bool uxr_serialize_READ_DATA_Payload( + ucdrBuffer* buffer, + const READ_DATA_Payload* input); +bool uxr_deserialize_READ_DATA_Payload( + ucdrBuffer* buffer, + READ_DATA_Payload* output); + +bool uxr_serialize_WRITE_DATA_Payload_Data( + ucdrBuffer* buffer, + const WRITE_DATA_Payload_Data* input); +bool uxr_deserialize_WRITE_DATA_Payload_Data( + ucdrBuffer* buffer, + WRITE_DATA_Payload_Data* output); + +bool uxr_serialize_WRITE_DATA_Payload_Sample( + ucdrBuffer* buffer, + const WRITE_DATA_Payload_Sample* input); +bool uxr_deserialize_WRITE_DATA_Payload_Sample( + ucdrBuffer* buffer, + WRITE_DATA_Payload_Sample* output); + +bool uxr_serialize_WRITE_DATA_Payload_DataSeq( + ucdrBuffer* buffer, + const WRITE_DATA_Payload_DataSeq* input); +bool uxr_deserialize_WRITE_DATA_Payload_DataSeq( + ucdrBuffer* buffer, + WRITE_DATA_Payload_DataSeq* output); + +bool uxr_serialize_WRITE_DATA_Payload_SampleSeq( + ucdrBuffer* buffer, + const WRITE_DATA_Payload_SampleSeq* input); +bool uxr_deserialize_WRITE_DATA_Payload_SampleSeq( + ucdrBuffer* buffer, + WRITE_DATA_Payload_SampleSeq* output); + +bool uxr_serialize_WRITE_DATA_Payload_PackedSamples( + ucdrBuffer* buffer, + const WRITE_DATA_Payload_PackedSamples* input); +bool uxr_deserialize_WRITE_DATA_Payload_PackedSamples( + ucdrBuffer* buffer, + WRITE_DATA_Payload_PackedSamples* output); + +bool uxr_serialize_DATA_Payload_Data( + ucdrBuffer* buffer, + const DATA_Payload_Data* input); +bool uxr_deserialize_DATA_Payload_Data( + ucdrBuffer* buffer, + DATA_Payload_Data* output); + +bool uxr_serialize_DATA_Payload_Sample( + ucdrBuffer* buffer, + const DATA_Payload_Sample* input); +bool uxr_deserialize_DATA_Payload_Sample( + ucdrBuffer* buffer, + DATA_Payload_Sample* output); + +bool uxr_serialize_DATA_Payload_DataSeq( + ucdrBuffer* buffer, + const DATA_Payload_DataSeq* input); +bool uxr_deserialize_DATA_Payload_DataSeq( + ucdrBuffer* buffer, + DATA_Payload_DataSeq* output); + +bool uxr_serialize_DATA_Payload_SampleSeq( + ucdrBuffer* buffer, + const DATA_Payload_SampleSeq* input); +bool uxr_deserialize_DATA_Payload_SampleSeq( + ucdrBuffer* buffer, + DATA_Payload_SampleSeq* output); + +bool uxr_serialize_DATA_Payload_PackedSamples( + ucdrBuffer* buffer, + const DATA_Payload_PackedSamples* input); +bool uxr_deserialize_DATA_Payload_PackedSamples( + ucdrBuffer* buffer, + DATA_Payload_PackedSamples* output); + +bool uxr_serialize_ACKNACK_Payload( + ucdrBuffer* buffer, + const ACKNACK_Payload* input); +bool uxr_deserialize_ACKNACK_Payload( + ucdrBuffer* buffer, + ACKNACK_Payload* output); + +bool uxr_serialize_HEARTBEAT_Payload( + ucdrBuffer* buffer, + const HEARTBEAT_Payload* input); +bool uxr_deserialize_HEARTBEAT_Payload( + ucdrBuffer* buffer, + HEARTBEAT_Payload* output); + +bool uxr_serialize_TIMESTAMP_Payload( + ucdrBuffer* buffer, + const TIMESTAMP_Payload* input); +bool uxr_deserialize_TIMESTAMP_Payload( + ucdrBuffer* buffer, + TIMESTAMP_Payload* output); + +bool uxr_serialize_TIMESTAMP_REPLY_Payload( + ucdrBuffer* buffer, + const TIMESTAMP_REPLY_Payload* input); +bool uxr_deserialize_TIMESTAMP_REPLY_Payload( + ucdrBuffer* buffer, + TIMESTAMP_REPLY_Payload* output); + +bool uxr_serialize_GuidPrefix_t( + ucdrBuffer* buffer, + const GuidPrefix_t* input); +bool uxr_deserialize_GuidPrefix_t( + ucdrBuffer* buffer, + GuidPrefix_t* output); + +bool uxr_serialize_EntityId_t( + ucdrBuffer* buffer, + const EntityId_t* input); +bool uxr_deserialize_EntityId_t( + ucdrBuffer* buffer, + EntityId_t* output); + +bool uxr_serialize_GUID_t( + ucdrBuffer* buffer, + const GUID_t* input); +bool uxr_deserialize_GUID_t( + ucdrBuffer* buffer, + GUID_t* output); + +bool uxr_serialize_SequenceNumber_t( + ucdrBuffer* buffer, + const SequenceNumber_t* input); +bool uxr_deserialize_SequenceNumber_t( + ucdrBuffer* buffer, + SequenceNumber_t* output); + +bool uxr_serialize_SampleIdentity( + ucdrBuffer* buffer, + const SampleIdentity* input); +bool uxr_deserialize_SampleIdentity( + ucdrBuffer* buffer, + SampleIdentity* output); + +#ifdef PERFORMANCE_TESTING +bool uxr_serialize_PERFORMANCE_Payload( + ucdrBuffer* buffer, + const PERFORMANCE_Payload* input); +bool uxr_deserialize_PERFORMANCE_Payload( + ucdrBuffer* buffer, + PERFORMANCE_Payload* input); +#endif // ifdef PERFORMANCE_TESTING + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_CORE_TYPE_XRCETYPES_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/defines.h b/ports/espressif/microros-ext/include/uxr/client/defines.h new file mode 100644 index 0000000000000..506d6593bee11 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/defines.h @@ -0,0 +1,24 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_DEFINES_H_ +#define _UXR_CLIENT_DEFINES_H_ + +#ifdef __cplusplus +#define COMPOUND_LITERAL(x) x +#else +#define COMPOUND_LITERAL(x) (x) +#endif // ifdef __cplusplus + +#endif // _UXR_CLIENT_DEFINES_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/discovery/discovery.h b/ports/espressif/microros-ext/include/uxr/client/profile/discovery/discovery.h new file mode 100644 index 0000000000000..0d0972511e232 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/discovery/discovery.h @@ -0,0 +1,87 @@ +// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_PROFILE_DISCOVERY_DISCOVERY_H_ +#define UXR_CLIENT_PROFILE_DISCOVERY_DISCOVERY_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include + +#include +#include +#include + +/** \addtogroup discovery Discovery profile + * The discovery profile allows discovering Agents in the network by UDP. The reachable Agents respond to the discovery call by sending information about themselves, as their IP and port. There are two modes: unicast and multicast. The discovery phase precedes the call to the uxr_create_session function, as it serves to determine the Agent to connect with. These functions are enabled when PROFILE_DISCOVERY is activated as a CMake argument. The declaration of these functions can be found in uxr/client/profile/discovery/discovery.h. + * @{ + */ + + +/** + * @brief Function signature used for on_status_func callbacks. + * @param locator Transport locator of a discovered agent + * @param args User pointer data. + * @return true means that the discovery routine has finished. A false implies that the discovery routine must continue searching Agents. + */ +typedef bool (* uxrOnAgentFound) ( + const TransportLocator* locator, + void* args); + +/** + * @brief Discovers Agents within the network using UDP/IP multicast with address "239.255.0.2" and port 7400. + * @param attempts The times a discovery message is sent across the network. + * @param period The period using to send multicast messages through the network. + * @param on_agent_func The callback function that will be called when an Agent is discovered. + * @param args The user argument provided to the callback function. + */ +UXRDLLAPI void uxr_discovery_agents_default( + uint32_t attempts, + int period, + uxrOnAgentFound on_agent_func, + void* args); + +/** + * @brief Discovers Agents within the network using UDP/IP unicast with the address and port set by the user. + * @param attempts The times a discovery message is sent across the network. + * @param period The period using to send unicast messages through the network. + * @param on_agent_func The callback function that will called when an Agent is discovered. + * @param args The user argument provided to the callback function. + * @param agent_list The list of addresses used for discovering Agents. + * @param agent_list_size The size of the address list. + */ +UXRDLLAPI void uxr_discovery_agents( + uint32_t attempts, + int period, + uxrOnAgentFound on_agent_func, + void* args, + const TransportLocator* agent_list, + size_t agent_list_size); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_PROFILE_DISCOVERY_DISCOVERY_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/multithread/multithread.h b/ports/espressif/microros-ext/include/uxr/client/profile/multithread/multithread.h new file mode 100644 index 0000000000000..189b4a7df55f8 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/multithread/multithread.h @@ -0,0 +1,136 @@ +// Copyright 2021 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_PROFILE_MULTITHREAD_H_ +#define UXR_CLIENT_PROFILE_MULTITHREAD_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include + +struct uxrSession; + +#ifdef UCLIENT_PROFILE_MULTITHREAD + +#ifdef WIN32 +#elif defined(PLATFORM_NAME_FREERTOS) +#include "FreeRTOS.h" +#include "semphr.h" +#elif defined(UCLIENT_PLATFORM_ZEPHYR) +#elif defined(UCLIENT_PLATFORM_POSIX) +#include +#endif // ifdef WIN32 + +// Micro XRCE-DDS Client mutex implementation + +typedef struct uxrMutex +{ +#ifdef WIN32 +#elif defined(PLATFORM_NAME_FREERTOS) + SemaphoreHandle_t impl; + StaticSemaphore_t xMutexBuffer; +#elif defined(UCLIENT_PLATFORM_ZEPHYR) + struct k_mutex impl; +#elif defined(UCLIENT_PLATFORM_POSIX) + pthread_mutex_t impl; +#endif // ifdef WIN32 +} uxrMutex; + +UXRDLLAPI uxrMutex* uxr_get_stream_mutex_from_id( + struct uxrSession* session, + uxrStreamId stream_id); + +UXRDLLAPI void uxr_init_lock( + uxrMutex* mutex); + +UXRDLLAPI void uxr_lock( + uxrMutex* mutex); + +UXRDLLAPI void uxr_unlock( + uxrMutex* mutex); + +// Conditional defines + +#define UXR_INIT_LOCK(X) uxr_init_lock(X) +#define UXR_LOCK(X) uxr_lock(X) +#define UXR_UNLOCK(X) uxr_unlock(X) + +#define UXR_INIT_LOCK_SESSION uxr_init_lock(&session->mutex) +#define UXR_LOCK_SESSION(session) uxr_lock(&session->mutex) +#define UXR_UNLOCK_SESSION(session) uxr_unlock(&session->mutex) + +#define UXR_LOCK_TRANSPORT(comm) uxr_lock(&comm->mutex) +#define UXR_UNLOCK_TRANSPORT(comm) uxr_unlock(&comm->mutex) + +#define UXR_LOCK_STREAM_ID(session, stream_id) { \ + uxrMutex* stream_mutex = uxr_get_stream_mutex_from_id(session, stream_id); \ + if (stream_mutex != NULL){ \ + uxr_lock(stream_mutex); \ + } \ +} + +#define UXR_UNLOCK_STREAM_ID(session, stream_id){ \ + uxrMutex* stream_mutex = uxr_get_stream_mutex_from_id(session, stream_id); \ + if (stream_mutex != NULL){ \ + uxr_unlock(stream_mutex); \ + } \ +} + +#define UXR_LOCK_ALL_INPUT_STREAMS(session) \ + for (uint8_t i = 0; i < session->streams.input_best_effort_size; ++i){ \ + uxr_lock(&session->streams.input_best_effort[i].mutex); } \ + for (uint8_t i = 0; i < session->streams.input_reliable_size; ++i){ \ + uxr_lock(&session->streams.input_reliable[i].mutex); \ + } + +#define UXR_UNLOCK_ALL_INPUT_STREAMS(session) \ + for (uint8_t i = 0; i < session->streams.input_best_effort_size; ++i){ \ + uxr_unlock( &session->streams.input_best_effort[i].mutex); \ + } \ + for (uint8_t i = 0; i < session->streams.input_reliable_size; ++i){ \ + uxr_unlock( &session->streams.input_reliable[i].mutex); \ + } + + +#else // UCLIENT_PROFILE_MULTITHREAD + +#define UXR_INIT_LOCK(X) +#define UXR_LOCK(X) +#define UXR_UNLOCK(X) + +#define UXR_INIT_LOCK_SESSION +#define UXR_LOCK_SESSION(session) +#define UXR_UNLOCK_SESSION(session) + +#define UXR_LOCK_TRANSPORT(comm) +#define UXR_UNLOCK_TRANSPORT(comm) + +#define UXR_LOCK_STREAM_ID(session, stream_id) +#define UXR_UNLOCK_STREAM_ID(session, stream_id) + +#define UXR_LOCK_ALL_INPUT_STREAMS(session) +#define UXR_UNLOCK_ALL_INPUT_STREAMS(session) + +#endif // UCLIENT_PROFILE_MULTITHREAD + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_PROFILE_MULTITHREAD_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/can/can_transport.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/can/can_transport.h new file mode 100644 index 0000000000000..cb77dc30b2117 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/can/can_transport.h @@ -0,0 +1,74 @@ +// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_CAN_TRANSPORT_H_ +#define UXR_CLIENT_CAN_TRANSPORT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include +#include + +/* For CAN-FD, MTU is fixed value */ +#define UXR_CAN_TRANSPORT_MTU 63 + +typedef struct uxrCANTransport +{ + uint8_t buffer[UXR_CAN_TRANSPORT_MTU]; + uxrCommunication comm; + struct uxrCANPlatform platform; +} uxrCANTransport; + +/** \addtogroup transport Transport + * These functions are platform-dependent. The declaration of these functions can be found in the uxr/client/profile/transport/ folder. The common init transport functions follow the nomenclature below. + * @{ + */ + +/** + * @brief Initializes a CAN transport. + * @param transport The uninitialized transport structure used for managing the transport. + * This structure must be accesible during the connection. + * @param dev The CAN device name. + * @param can_id The can identifier of this Client in hexadecimal. + * @return `true` in case of successful initialization. `false` in other case. + */ +UXRDLLAPI bool uxr_init_can_transport( + uxrCANTransport* transport, + const char* dev, + uint32_t can_id); + +/** + * @brief Closes a CAN transport. + * @param transport The transport structure. + * @return `true` in case of successful closing. `false` in other case. + */ +UXRDLLAPI bool uxr_close_can_transport( + uxrCANTransport* transport); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_CAN_TRANSPORT_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/can/can_transport_posix.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/can/can_transport_posix.h new file mode 100644 index 0000000000000..eb0c741477cbf --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/can/can_transport_posix.h @@ -0,0 +1,40 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_PROFILE_TRANSPORT_IP_CAN_CANTRANSPORTPOSIX_H_ +#define UXR_CLIENT_PROFILE_TRANSPORT_IP_CAN_CANTRANSPORTPOSIX_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include + +#include +#include + +typedef struct uxrCANPlatform +{ + struct pollfd poll_fd; + canid_t can_id; +} uxrCANPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_PROFILE_TRANSPORT_IP_CAN_CANTRANSPORTPOSIX_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/custom/custom_transport.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/custom/custom_transport.h new file mode 100644 index 0000000000000..86cffcc4929ae --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/custom/custom_transport.h @@ -0,0 +1,146 @@ +// Copyright 2020 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_CUSTOM_TRANSPORT_H_ +#define UXR_CLIENT_CUSTOM_TRANSPORT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include +#include + +struct uxrCustomTransport; + +/** \addtogroup transport Transport + * These functions are platform-dependent. The declaration of these functions can be found in the uxr/client/profile/transport/ folder. The common init transport functions follow the nomenclature below. + * @{ + */ + +/** + * @brief Function signature callback for opening a custom transport. + * @param transport Custom transport structure. Has the args passed through bool uxr_init_custom_transport(uxrCustomTransport* transport, void * args);. + * @return true in case of successful opened transport, and false in other case. + */ +typedef bool (* open_custom_func) ( + struct uxrCustomTransport* transport); + +/** + * @brief Function signature callback for closing a custom transport. + * @param transport Custom transport structure. Has the args passed through bool uxr_init_custom_transport(uxrCustomTransport* transport, void * args);. + * @return true in case of successful closed transport, and false in other case. + */ +typedef bool (* close_custom_func) ( + /** */ + struct uxrCustomTransport* transport); + +/** + * @brief Function signature callback for writing to a custom transport. + * @param transport Custom transport structure. Has the args passed through bool uxr_init_custom_transport(uxrCustomTransport* transport, void * args);. + * @param buffer Buffer to be sent. + * @param length Length of buffer. + * @param error_code Error code that should be set in case the write process experiences some error. + * @return Number of successfully sent bytes. + */ +typedef size_t (* write_custom_func) ( + struct uxrCustomTransport* transport, + const uint8_t* buffer, + size_t length, + uint8_t* error_code); + +/** + * @brief Function signature callback for reading from a custom transport. + * @param transport Custom transport structure. Has the args passed through bool uxr_init_custom_transport(uxrCustomTransport* transport, void * args);. + * @param buffer Buffer to write. + * @param length Maximum length of buffer. + * @param timeout Maximum timeout of the read operation. + * @param error_code Error code that should be set in case the write process experiences some error. + * @return Number of successfully received bytes. + */ +typedef size_t (* read_custom_func) ( + struct uxrCustomTransport* transport, + uint8_t* buffer, + size_t length, + int timeout, + uint8_t* error_code); + +/** + * @nosubgrouping + */ + +typedef struct uxrCustomTransport +{ + uint8_t buffer[UXR_CONFIG_CUSTOM_TRANSPORT_MTU]; + bool framing; + uxrFramingIO framing_io; + open_custom_func open; + close_custom_func close; + write_custom_func write; + read_custom_func read; + uxrCommunication comm; + void* args; +} uxrCustomTransport; + + +/** + * @brief Set a Custom transport callbacks. + * @param transport The uninitialized transport structure used for managing the transport. + * @param framing Transport framing. + * @param open Open callback. + * @param close Close callback. + * @param write Write callback. + * @param read Read callback. + */ +UXRDLLAPI void uxr_set_custom_transport_callbacks( + uxrCustomTransport* transport, + bool framing, + open_custom_func open, + close_custom_func close, + write_custom_func write, + read_custom_func read); + +/** + * @brief Initializes a Custom transport. + * @param transport The transport structure used for managing the transport. + * Callbacks must be set. + * @param args Arguments for the open function. + * @return `true` in case of successful initialization. `false` in other case. + */ +UXRDLLAPI bool uxr_init_custom_transport( + uxrCustomTransport* transport, + void* args); + +/** + * @brief Closes a Custom transport. + * @param transport The transport structure. + * @return `true` in case of successful closing. `false` in other case. + */ +UXRDLLAPI bool uxr_close_custom_transport( + uxrCustomTransport* transport); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_CUSTOM_TRANSPORT_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/ip.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/ip.h new file mode 100644 index 0000000000000..dd17a00878619 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/ip.h @@ -0,0 +1,85 @@ +// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_PROFILE_TRANSPORT_IP_IP_H_ +#define UXR_CLIENT_PROFILE_TRANSPORT_IP_IP_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include + +typedef enum uxrIpProtocol +{ + UXR_IPv4, + UXR_IPv6 + +} uxrIpProtocol; + +/** \addtogroup transport Transport + * These functions are platform-dependent. The declaration of these functions can be found in the uxr/client/profile/transport/ folder. The common init transport functions follow the nomenclature below. + * @{ + */ + +/** + * @brief Converts IPv4/IPv6 address + port to a TransportLocator. + * + * @param ip The IP address to convert. + * It could be IPv4 or IPv6 address. + * @param port The port to convert. + * @param ip_protocol The IP protocol of the IP address. + * @param locator The TransportLocator resulted from the conversion. + * In case of error it will be NULL. + * @return true In case of successful conversion. + * @return false In other case. + */ +UXRDLLAPI bool uxr_ip_to_locator( + char const* ip, + uint16_t port, + uxrIpProtocol ip_protocol, + TransportLocator* locator); + +/** + * @brief Converts a TrasnportLocator to an IPv4/IPv6 address + port. + * + * @param locator The TransportLocator resulted from the conversion. + * In case of error it will be NULL. + * @param ip A char buffer there the address will be copied. + * @param size The size of the IP buffer. + * @param port The resulted port. + * @param ip_protocol The resulted IP protocol of the IP address. + * @return true In case of successful conversion. + * @return false In other case. + */ +UXRDLLAPI bool uxr_locator_to_ip( + TransportLocator const* locator, + char* ip, + size_t size, + uint16_t* port, + uxrIpProtocol* ip_protocol); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_PROFILE_TRANSPORT_IP_IP_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport.h new file mode 100644 index 0000000000000..41789f400bcd5 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport.h @@ -0,0 +1,93 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_TCP_TRANSPORT_H_ +#define UXR_CLIENT_TCP_TRANSPORT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include +#include +#include +typedef enum uxrTCPInputBufferState +{ + UXR_TCP_BUFFER_EMPTY, + UXR_TCP_SIZE_INCOMPLETE, + UXR_TCP_SIZE_READ, + UXR_TCP_MESSAGE_INCOMPLETE, + UXR_TCP_MESSAGE_AVAILABLE + +} uxrTCPInputBufferState; + +typedef struct uxrTCPInputBuffer +{ + uint8_t buffer[UXR_CONFIG_TCP_TRANSPORT_MTU]; + size_t position; + uxrTCPInputBufferState state; + size_t msg_size; + +} uxrTCPInputBuffer; + +typedef struct uxrTCPTransport +{ + uxrTCPInputBuffer input_buffer; + uxrCommunication comm; + struct uxrTCPPlatform platform; + +} uxrTCPTransport; + +/** \addtogroup transport Transport + * These functions are platform-dependent. The declaration of these functions can be found in the uxr/client/profile/transport/ folder. The common init transport functions follow the nomenclature below. + * @{ + */ + +/** + * @brief Initializes a TCP transport. + * @param transport The uninitialized transport structure used for managing the transport. + * This structure must be accesible during the connection. + * @param ip_protocol The IP protocol, it could be UXR_IPv4 or UXR_IPv6. + * @param ip The IP address of the Agent. + * @param port The port of the Agent. + * @return `true` in case of successful initialization. `false` in other case. + */ +UXRDLLAPI bool uxr_init_tcp_transport( + uxrTCPTransport* transport, + uxrIpProtocol ip_protocol, + const char* ip, + const char* port); + +/** + * @brief Closes a TCP transport. + * @param transport The transport structure. + * @return `true` in case of successful closing. `false` in other case. + */ +UXRDLLAPI bool uxr_close_tcp_transport( + uxrTCPTransport* transport); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_TCP_TRANSPORT_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_freertos_plus_tcp.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_freertos_plus_tcp.h new file mode 100644 index 0000000000000..32507398491bb --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_freertos_plus_tcp.h @@ -0,0 +1,40 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_TCP_TRANSPORT_FREERTOS_H_ +#define _UXR_CLIENT_TCP_TRANSPORT_FREERTOS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include "FreeRTOS.h" +#include "list.h" +#include "FreeRTOS_IP.h" +#include "FreeRTOS_Sockets.h" + +typedef struct uxrTCPPlatform +{ + struct freertos_sockaddr remote_addr; + SocketSet_t poll_fd; + Socket_t fd; + uint8_t use_ethernet; +} uxrTCPPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif //_UXR_CLIENT_TCP_TRANSPORT_FREERTOS_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_posix.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_posix.h new file mode 100644 index 0000000000000..3fb26b0f9348a --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_posix.h @@ -0,0 +1,37 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_PROFILE_TRANSPORT_IP_TCP_TCPTRANSPORTPOSIX_H_ +#define UXR_CLIENT_PROFILE_TRANSPORT_IP_TCP_TCPTRANSPORTPOSIX_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include + +typedef struct uxrTCPPlatform +{ + struct pollfd poll_fd; + +} uxrTCPPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_PROFILE_TRANSPORT_IP_TCP_TCPTRANSPORTPOSIX_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_posix_nopoll.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_posix_nopoll.h new file mode 100644 index 0000000000000..892433ee55727 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_posix_nopoll.h @@ -0,0 +1,32 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_PROFILE_TRANSPORT_IP_TCP_TCPTRANSPORTPOSIXNOPOLL_H_ +#define UXR_CLIENT_PROFILE_TRANSPORT_IP_TCP_TCPTRANSPORTPOSIXNOPOLL_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +typedef struct uxrTCPPlatform +{ + int fd; +} uxrTCPPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_PROFILE_TRANSPORT_IP_TCP_TCPTRANSPORTPOSIXNOPOLL_H_ \ No newline at end of file diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_rtems_bsd_net.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_rtems_bsd_net.h new file mode 100644 index 0000000000000..24a6a47f88629 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_rtems_bsd_net.h @@ -0,0 +1,40 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_TCP_TRANSPORT_RTEMS_H_ +#define _UXR_CLIENT_TCP_TRANSPORT_RTEMS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include "arpa/inet.h" +#include "sys/socket.h" +#include "sys/select.h" +#include "netinet/in.h" + + +typedef struct uxrTCPPlatform +{ + struct sockaddr_in remote_addr; + struct fd_set select_fd; + int fd; +} uxrTCPPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif //_UXR_CLIENT_TCP_TRANSPORT_RTEMS_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_windows.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_windows.h new file mode 100644 index 0000000000000..980260f458e42 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/tcp/tcp_transport_windows.h @@ -0,0 +1,35 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_TCP_TRANSPORT_WINDOWS_H_ +#define UXR_CLIENT_TCP_TRANSPORT_WINDOWS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +typedef struct uxrTCPPlatform +{ + WSAPOLLFD poll_fd; + +} uxrTCPPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_TCP_TRANSPORT_WINDOWS_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport.h new file mode 100644 index 0000000000000..e11b26a377410 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport.h @@ -0,0 +1,74 @@ +// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_UDP_TRANSPORT_H_ +#define UXR_CLIENT_UDP_TRANSPORT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include +#include +#include + +typedef struct uxrUDPTransport +{ + uint8_t buffer[UXR_CONFIG_UDP_TRANSPORT_MTU]; + uxrCommunication comm; + struct uxrUDPPlatform platform; +} uxrUDPTransport; + +/** \addtogroup transport Transport + * These functions are platform-dependent. The declaration of these functions can be found in the uxr/client/profile/transport/ folder. The common init transport functions follow the nomenclature below. + * @{ + */ + +/** + * @brief Initializes a UDP transport. + * @param transport The uninitialized transport structure used for managing the transport. + * This structure must be accesible during the connection. + * @param ip_protocol The IP protocol, it could be UXR_IPv4 or UXR_IPv6. + * @param ip The IP address of the Agent. + * @param port The port of the Agent. + * @return `true` in case of successful initialization. `false` in other case. + */ +UXRDLLAPI bool uxr_init_udp_transport( + uxrUDPTransport* transport, + uxrIpProtocol ip_protocol, + const char* ip, + const char* port); + +/** + * @brief Closes a UDP transport. + * @param transport The transport structure. + * @return `true` in case of successful closing. `false` in other case. + */ +UXRDLLAPI bool uxr_close_udp_transport( + uxrUDPTransport* transport); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_UDP_TRANSPORT_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_freertos_plus_tcp.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_freertos_plus_tcp.h new file mode 100644 index 0000000000000..378726fd1d336 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_freertos_plus_tcp.h @@ -0,0 +1,41 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_UDP_TRANSPORT_FREERTOS_H_ +#define _UXR_CLIENT_UDP_TRANSPORT_FREERTOS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include "FreeRTOS.h" +#include "list.h" +#include "FreeRTOS_IP.h" +#include "FreeRTOS_Sockets.h" + +typedef struct uxrUDPPlatform +{ + struct freertos_sockaddr remote_addr; + SocketSet_t poll_fd; + Socket_t fd; + uint8_t use_ethernet; + +} uxrUDPPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif //_UXR_CLIENT_UDP_TRANSPORT_FREERTOS_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_posix.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_posix.h new file mode 100644 index 0000000000000..160c59714db9d --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_posix.h @@ -0,0 +1,37 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_PROFILE_TRANSPORT_IP_UDP_UDPTRANSPORTPOSIX_H_ +#define UXR_CLIENT_PROFILE_TRANSPORT_IP_UDP_UDPTRANSPORTPOSIX_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include + +typedef struct uxrUDPPlatform +{ + struct pollfd poll_fd; + +} uxrUDPPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_PROFILE_TRANSPORT_IP_UDP_UDPTRANSPORTPOSIX_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_posix_nopoll.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_posix_nopoll.h new file mode 100644 index 0000000000000..57447e5964249 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_posix_nopoll.h @@ -0,0 +1,32 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_PROFILE_TRANSPORT_IP_UDP_UDPTRANSPORTPOSIXNOPOLL_H_ +#define UXR_CLIENT_PROFILE_TRANSPORT_IP_UDP_UDPTRANSPORTPOSIXNOPOLL_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +typedef struct uxrUDPPlatform +{ + int fd; +} uxrUDPPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_PROFILE_TRANSPORT_IP_UDP_UDPTRANSPORTPOSIXNOPOLL_H_ \ No newline at end of file diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_rtems_bsd_net.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_rtems_bsd_net.h new file mode 100644 index 0000000000000..19a3270aadde4 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_rtems_bsd_net.h @@ -0,0 +1,39 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_UDP_TRANSPORT_RTEMS_H_ +#define _UXR_CLIENT_UDP_TRANSPORT_RTEMS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include "arpa/inet.h" +#include "sys/socket.h" +#include "sys/select.h" +#include "netinet/in.h" + +typedef struct uxrUDPPlatform +{ + struct sockaddr_in remote_addr; + struct fd_set select_fd; + int fd; +} uxrUDPPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif //_UXR_CLIENT_UDP_TRANSPORT_RTEMS_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_windows.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_windows.h new file mode 100644 index 0000000000000..40a52c1056c2c --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/ip/udp/udp_transport_windows.h @@ -0,0 +1,35 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_UDP_TRANSPORT_WINDOWS_H_ +#define UXR_CLIENT_UDP_TRANSPORT_WINDOWS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +typedef struct uxrUDPPlatform +{ + WSAPOLLFD poll_fd; + +} uxrUDPPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_UDP_TRANSPORT_WINDOWS_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport.h new file mode 100644 index 0000000000000..ecfcd39981985 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport.h @@ -0,0 +1,79 @@ +// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_SERIAL_TRANSPORT_H_ +#define UXR_CLIENT_SERIAL_TRANSPORT_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include +#include +#include + +typedef struct uxrSerialTransport +{ + uint8_t buffer[UXR_CONFIG_SERIAL_TRANSPORT_MTU]; + uxrFramingIO framing_io; + uint8_t remote_addr; + uxrCommunication comm; + struct uxrSerialPlatform platform; + +} uxrSerialTransport; + +/** \addtogroup transport Transport + * These functions are platform-dependent. The declaration of these functions can be found in the uxr/client/profile/transport/ folder. The common init transport functions follow the nomenclature below. + * @{ + */ + +/** + * @brief Initializes a UDP transport. + * @param transport The uninitialized transport structure used for managing the transport. + * This structure must be accesible during the connection. + * @param fd The file descriptor of the serial connection. + * The fd usually comes from the `open` OS function. + * @param remote_addr The addresss of the Agent in the serial connection. + * By default, the Agent address' in a serial transport is 0. + * @param local_addr The address of the Client in the serial connection. + * @return `true` in case of successful initialization. `false` in other case. + */ +UXRDLLAPI bool uxr_init_serial_transport( + uxrSerialTransport* transport, + const int fd, + uint8_t remote_addr, + uint8_t local_addr); + +/** + * @brief Closes a Serial transport. + * @param transport The transport structure. + * @return `true` in case of successful closing. `false` in other case. + */ +UXRDLLAPI bool uxr_close_serial_transport( + uxrSerialTransport* transport); + +/** @}*/ + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_SERIAL_TRANSPORT_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_platform.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_platform.h new file mode 100644 index 0000000000000..96b7e45a61257 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_platform.h @@ -0,0 +1,50 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _SRC_C_PROFILE_TRANSPORT_SERIAL_SERIAL_TRANSPORT_PLATFORM_H_ +#define _SRC_C_PROFILE_TRANSPORT_SERIAL_SERIAL_TRANSPORT_PLATFORM_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +bool uxr_init_serial_platform( + void* args, + const int fd, + uint8_t remote_addr, + uint8_t local_addr); +bool uxr_close_serial_platform( + void* args); + +size_t uxr_write_serial_data_platform( + void* args, + const uint8_t* buf, + size_t len, + uint8_t* errcode); + +size_t uxr_read_serial_data_platform( + void* args, + uint8_t* buf, + size_t len, + int timeout, + uint8_t* errcode); + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif //_SRC_C_PROFILE_TRANSPORT_SERIAL_SERIAL_TRANSPORT_PLATFORM_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_posix.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_posix.h new file mode 100644 index 0000000000000..55eba063bb1ad --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_posix.h @@ -0,0 +1,35 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_PROFILE_TRANSPORT_SERIAL_SERIALTRANSPORTPOSIX_H_ +#define UXR_CLIENT_PROFILE_TRANSPORT_SERIAL_SERIALTRANSPORTPOSIX_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +typedef struct uxrSerialPlatform +{ + struct pollfd poll_fd; + +} uxrSerialPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_PROFILE_TRANSPORT_SERIAL_SERIALTRANSPORTPOSIX_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_rtems_bsd_net.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_rtems_bsd_net.h new file mode 100644 index 0000000000000..86e6e6c8d82a8 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/serial/serial_transport_rtems_bsd_net.h @@ -0,0 +1,35 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_PROFILE_TRANSPORT_SERIAL_SERIALTRANSPORTRTEMS_H_ +#define UXR_CLIENT_PROFILE_TRANSPORT_SERIAL_SERIALTRANSPORTRTEMS_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include "sys/select.h" + +typedef struct uxrSerialPlatform +{ + struct fd_set select_fd; + int fd; +} uxrSerialPlatform; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_PROFILE_TRANSPORT_SERIAL_SERIALTRANSPORTPOSIX_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/profile/transport/stream_framing/stream_framing_protocol.h b/ports/espressif/microros-ext/include/uxr/client/profile/transport/stream_framing/stream_framing_protocol.h new file mode 100644 index 0000000000000..66d6f55ef729c --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/profile/transport/stream_framing/stream_framing_protocol.h @@ -0,0 +1,62 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _UXR_CLIENT_PROFILE_TRANSPORT_STREAM_FRAMING_PROTOCOL_H_ +#define _UXR_CLIENT_PROFILE_TRANSPORT_STREAM_FRAMING_PROTOCOL_H_ +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include + +#define UXR_FRAMING_BEGIN_FLAG 0x7E +#define UXR_FRAMING_ESC_FLAG 0x7D +#define UXR_FRAMING_XOR_FLAG 0x20 + +typedef enum uxrFramingInputState +{ + UXR_FRAMING_UNINITIALIZED, + UXR_FRAMING_READING_SRC_ADDR, + UXR_FRAMING_READING_DST_ADDR, + UXR_FRAMING_READING_LEN_LSB, + UXR_FRAMING_READING_LEN_MSB, + UXR_FRAMING_READING_PAYLOAD, + UXR_FRAMING_READING_CRC_LSB, + UXR_FRAMING_READING_CRC_MSB, + +} uxrFramingInputState; + +typedef struct uxrFramingIO +{ + uxrFramingInputState state; + uint8_t local_addr; + uint8_t rb[42]; + uint8_t rb_head; + uint8_t rb_tail; + uint8_t src_addr; + uint16_t msg_len; + uint16_t msg_pos; + uint16_t msg_crc; + uint16_t cmp_crc; + uint8_t wb[42]; + uint8_t wb_pos; + +} uxrFramingIO; + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif //_UXR_CLIENT_PROFILE_TRANSPORT_STREAM_FRAMING_PROTOCOL_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/transport.h b/ports/espressif/microros-ext/include/uxr/client/transport.h new file mode 100644 index 0000000000000..99f4b8c178d03 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/transport.h @@ -0,0 +1,68 @@ +// Copyright 2018 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_TRANSPORT_H_ +#define UXR_CLIENT_TRANSPORT_H_ + +#include + +#ifdef UCLIENT_PROFILE_UDP +#if defined(UCLIENT_PLATFORM_POSIX_NOPOLL) +#include +#elif defined(UCLIENT_PLATFORM_POSIX) +#include +#elif defined(UCLIENT_PLATFORM_WINDOWS) +#include +#elif defined(UCLIENT_PLATFORM_FREERTOS_PLUS_TCP) +#include +#elif defined(UCLIENT_PLATFORM_RTEMS_BSD_NET) +#include +#endif // if defined(UCLIENT_EXTERNAL_UDP) +#include +#endif //UCLIENT_PROFILE_UDP + +#ifdef UCLIENT_PROFILE_TCP +#if defined(UCLIENT_PLATFORM_POSIX_NOPOLL) +#include +#elif defined(UCLIENT_PLATFORM_POSIX) +#include +#elif defined(UCLIENT_PLATFORM_WINDOWS) +#include +#elif defined(UCLIENT_PLATFORM_RTEMS_BSD_NET) +#include +#endif // if defined(UCLIENT_EXTERNAL_TCP) +#include +#endif //UCLIENT_PROFILE_TCP + +#ifdef UCLIENT_PROFILE_SERIAL +#if defined(UCLIENT_PLATFORM_POSIX) +#include +#elif defined(UCLIENT_PLATFORM_RTEMS_BSD_NET) +#include +#endif // if defined(UCLIENT_EXTERNAL_SERIAL) +#include +#endif //UCLIENT_PROFILE_SERIAL + +#ifdef UCLIENT_PROFILE_CAN +#if defined(UCLIENT_PLATFORM_POSIX) +#include +#endif // if defined(UCLIENT_EXTERNAL_CAN) +#include +#endif //UCLIENT_PROFILE_CAN + +#ifdef UCLIENT_PROFILE_CUSTOM_TRANSPORT +#include +#endif //UCLIENT_PROFILE_CUSTOM_TRANSPORT + +#endif // UXR_CLIENT_TRANSPORT_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/util/ping.h b/ports/espressif/microros-ext/include/uxr/client/util/ping.h new file mode 100644 index 0000000000000..20ba934a43300 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/util/ping.h @@ -0,0 +1,95 @@ +// Copyright 2020 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file + */ + +#ifndef UXR_CLIENT_UTIL_PING_H_ +#define UXR_CLIENT_UTIL_PING_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include +#include + +#include + +#define UXR_PING_BUF 16 // 4 (HEADER SIZE) + 4 (SUBHEADER_SIZE) + 8 (GET_Info payload) + +#define GET_INFO_MSG_SIZE 8 +#define GET_INFO_REQUEST_PING_ID 10 + +struct uxrSession; + +/** + * @brief Checks the availability status of a valid connection with an agent. + * This methods performs a single attempt. + * This method uses an already opened session in order to do not + * interfere with the rest of the application. + * @ingroup general_utils + * @param session Pointer to the uxrSession struct inited. + * @param timeout_ms Time, in milliseconds, for a ping attempt. + * @param attempts Maximum number of ping attempts to be performed. + * @return `true` in case of a successful ping to the agent, `false` otherwise. + */ +bool uxr_ping_agent_session( + struct uxrSession* session, + const int timeout_ms, + const uint8_t attempts); + +/** + * @brief Checks the availability status of a valid connection with an agent. + * This methods performs a single attempt. + * Transport must be properly initialized before calling this method. + * This method does not take care of init/fini the transport struct. + * @ingroup general_utils + * @param comm Pointer to the uxrCommunication struct holding the transport + * information and callback methods. + * @param timeout_ms Time, in milliseconds, for a ping attempt. + * @return `true` in case of a successful ping to the agent, `false` otherwise. + */ +UXRDLLAPI bool uxr_ping_agent( + uxrCommunication* comm, + const int timeout_ms); + +/** + * @brief Checks the availability status of a valid connection with an agent. + * Additionally, this method allows the user to specify the number + * of attempts to be performed. This number will not be reached if a + * successful ping occurs. + * Transport must be properly initialized before calling this method. + * This method does not take care of init/fini the transport struct. + * @ingroup general_utils + * @param comm Pointer to the uxrCommunication struct holding the transport + * information and callback methods. + * @param timeout_ms Time, in milliseconds, for a ping attempt. + * @param attempts Maximum number of ping attempts to be performed. + * @return `true` in case of a successful ping to the agent, `false` otherwise. + */ +UXRDLLAPI bool uxr_ping_agent_attempts( + uxrCommunication* comm, + const int timeout_ms, + const uint8_t attempts); + + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_UTIL_PING_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/util/time.h b/ports/espressif/microros-ext/include/uxr/client/util/time.h new file mode 100644 index 0000000000000..1dc04f1ecc816 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/util/time.h @@ -0,0 +1,36 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef UXR_CLIENT_UTIL_TIME_H_ +#define UXR_CLIENT_UTIL_TIME_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif // ifdef __cplusplus + +#include +#include + +UXRDLLAPI int64_t uxr_millis( + void); + +UXRDLLAPI int64_t uxr_nanos( + void); + +#ifdef __cplusplus +} +#endif // ifdef __cplusplus + +#endif // UXR_CLIENT_UTIL_TIME_H_ diff --git a/ports/espressif/microros-ext/include/uxr/client/visibility.h b/ports/espressif/microros-ext/include/uxr/client/visibility.h new file mode 100644 index 0000000000000..5c92508ffb525 --- /dev/null +++ b/ports/espressif/microros-ext/include/uxr/client/visibility.h @@ -0,0 +1,33 @@ +// Copyright 2017 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +#ifndef _UXR_CLIENT_VISIBILITY_H_ +#define _UXR_CLIENT_VISIBILITY_H_ + +#if defined(_WIN32) +#if defined(microxrcedds_client_SHARED) +#if defined(microxrcedds_client_EXPORTS) +#define UXRDLLAPI __declspec( dllexport ) +#else +#define UXRDLLAPI __declspec( dllimport ) +#endif // micro_xrce_client_dds_EXPORTS +#else +#define UXRDLLAPI +#endif // BUILDING_SHARED_LIBS +#else +#define UXRDLLAPI +#endif // _WIN32 + +#endif // _UXR_CLIENT_VISIBILITY_H_ From 868b28925bc393259f55bb475033162832736319 Mon Sep 17 00:00:00 2001 From: Lucian Copeland Date: Sun, 5 Jan 2025 15:38:10 -0500 Subject: [PATCH 3/5] Add build flags --- ports/espressif/Makefile | 13 +++++++++++++ .../boards/m5stack_cardputer/mpconfigboard.mk | 1 + ports/espressif/mpconfigport.mk | 1 + 3 files changed, 15 insertions(+) diff --git a/ports/espressif/Makefile b/ports/espressif/Makefile index 9ae5d2646d2bc..039d1078cd5c6 100644 --- a/ports/espressif/Makefile +++ b/ports/espressif/Makefile @@ -422,6 +422,10 @@ CFLAGS += -isystem esp-camera/driver/include CFLAGS += -isystem esp-camera/conversions/include endif +ifneq ($(CIRCUITPY_MICROROS),0) +CFLAGS += -isystem microros-ext/include +endif + ifneq ($(CIRCUITPY_ESPIDF),0) SRC_ESPIDF := \ $(wildcard common-hal/espidf/*.c) \ @@ -664,6 +668,15 @@ ESP_IDF_COMPONENTS_EXPANDED += $(BUILD)/esp-idf/esp-idf/esp-camera/libesp-camera #$(error $(ESP_IDF_COMPONENTS_EXPANDED)) endif +ifeq ($(CIRCUITPY_MICROROS),1) +ifeq ($(IDF_TARGET),esp32) +BINARY_BLOBS += microros-ext/esp32/libmicroros.a +else ifeq ($(IDF_TARGET),esp32s2) +BINARY_BLOBS+= microros-ext/esp32s2/libmicroros.a +else ifeq ($(IDF_TARGET),esp32s3) +BINARY_BLOBS += microros-ext/esp32s3/libmicroros.a +endif + ifneq ($(VALID_BOARD),) # From esp-idf/components/bootloader/Kconfig.projbuild # BOOTLOADER_OFFSET is determined by chip type, based on the ROM bootloader, and is not changeable. diff --git a/ports/espressif/boards/m5stack_cardputer/mpconfigboard.mk b/ports/espressif/boards/m5stack_cardputer/mpconfigboard.mk index 6e9aaa764202d..0e95eb8893c1e 100644 --- a/ports/espressif/boards/m5stack_cardputer/mpconfigboard.mk +++ b/ports/espressif/boards/m5stack_cardputer/mpconfigboard.mk @@ -9,6 +9,7 @@ CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_SIZE = 8MB CIRCUITPY_ESPCAMERA = 0 +CIRCUITPY_MICROROS = 1 CIRCUITPY_GIFIO = 1 CIRCUITPY_MAX3421E = 0 diff --git a/ports/espressif/mpconfigport.mk b/ports/espressif/mpconfigport.mk index 06f8c87c579e0..9c42fa3d008b7 100644 --- a/ports/espressif/mpconfigport.mk +++ b/ports/espressif/mpconfigport.mk @@ -66,6 +66,7 @@ CIRCUITPY_HASHLIB ?= 1 CIRCUITPY_I2CTARGET ?= 0 CIRCUITPY_MAX3421E ?= 1 CIRCUITPY_MEMORYMAP ?= 1 +CIRCUITPY_MICROROS ?= 0 CIRCUITPY_NVM ?= 1 CIRCUITPY_PARALLELDISPLAYBUS ?= 1 CIRCUITPY_PS2IO ?= 1 From 9916412ee2fc7f74e7923dd116cd62bcea8aabfd Mon Sep 17 00:00:00 2001 From: Lucian Copeland Date: Thu, 9 Jan 2025 18:15:27 -0500 Subject: [PATCH 4/5] Recompile microros for s3, correct includes --- ports/espressif/Makefile | 294 ++ .../boards/m5stack_cardputer/board.c | 19 + .../microros-ext/esp32s3/libmicroros.a | Bin 1012668 -> 17826814 bytes .../msg/detail/goal_info__description.c | 149 + .../msg/detail/goal_info__functions.c | 272 + .../msg/detail/goal_info__functions.h | 210 + ...info__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/goal_info__struct.h | 53 + .../msg/detail/goal_info__type_support.c | 120 + .../msg/detail/goal_info__type_support.h | 36 + .../msg/detail/goal_status__description.c | 191 + .../msg/detail/goal_status__functions.c | 259 + .../msg/detail/goal_status__functions.h | 210 + ...atus__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/goal_status__struct.h | 119 + .../msg/detail/goal_status__type_support.c | 114 + .../msg/detail/goal_status__type_support.h | 36 + .../detail/goal_status_array__description.c | 165 + .../msg/detail/goal_status_array__functions.c | 251 + .../msg/detail/goal_status_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/goal_status_array__struct.h | 49 + .../detail/goal_status_array__type_support.c | 151 + .../detail/goal_status_array__type_support.h | 36 + .../action_msgs/action_msgs/msg/goal_info.h | 12 + .../action_msgs/action_msgs/msg/goal_status.h | 12 + .../action_msgs/msg/goal_status_array.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../action_msgs/action_msgs/srv/cancel_goal.h | 12 + .../srv/detail/cancel_goal__description.c | 608 +++ .../srv/detail/cancel_goal__functions.c | 781 +++ .../srv/detail/cancel_goal__functions.h | 585 +++ ...goal__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/cancel_goal__struct.h | 158 + .../srv/detail/cancel_goal__type_support.c | 616 +++ .../srv/detail/cancel_goal__type_support.h | 100 + ..._info__rosidl_typesupport_microxrcedds_c.h | 39 + ...tatus__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + ..._goal__rosidl_typesupport_microxrcedds_c.h | 132 + .../msg/detail/goal_id__description.c | 139 + .../msg/detail/goal_id__functions.c | 272 + .../msg/detail/goal_id__functions.h | 210 + ...l_id__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/goal_id__struct.h | 55 + .../msg/detail/goal_id__type_support.c | 116 + .../msg/detail/goal_id__type_support.h | 36 + .../msg/detail/goal_status__description.c | 178 + .../msg/detail/goal_status__functions.c | 280 ++ .../msg/detail/goal_status__functions.h | 210 + ...atus__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/goal_status__struct.h | 149 + .../msg/detail/goal_status__type_support.c | 134 + .../msg/detail/goal_status__type_support.h | 36 + .../detail/goal_status_array__description.c | 178 + .../msg/detail/goal_status_array__functions.c | 272 + .../msg/detail/goal_status_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/goal_status_array__struct.h | 53 + .../detail/goal_status_array__type_support.c | 175 + .../detail/goal_status_array__type_support.h | 36 + .../actionlib_msgs/msg/goal_id.h | 12 + .../actionlib_msgs/msg/goal_status.h | 12 + .../actionlib_msgs/msg/goal_status_array.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + ...al_id__rosidl_typesupport_microxrcedds_c.h | 39 + ...tatus__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../msg/detail/duration__description.c | 120 + .../msg/detail/duration__functions.c | 244 + .../msg/detail/duration__functions.h | 210 + ...tion__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/duration__struct.h | 50 + .../msg/detail/duration__type_support.c | 106 + .../msg/detail/duration__type_support.h | 36 + .../msg/detail/time__description.c | 119 + .../msg/detail/time__functions.c | 244 + .../msg/detail/time__functions.h | 210 + ...time__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/time__struct.h | 49 + .../msg/detail/time__type_support.c | 106 + .../msg/detail/time__type_support.h | 36 + .../builtin_interfaces/msg/duration.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../builtin_interfaces/msg/time.h | 12 + ...ation__rosidl_typesupport_microxrcedds_c.h | 39 + .../time__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../srv/detail/list_nodes__description.c | 475 ++ .../srv/detail/list_nodes__functions.c | 778 +++ .../srv/detail/list_nodes__functions.h | 585 +++ ...odes__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/list_nodes__struct.h | 105 + .../srv/detail/list_nodes__type_support.c | 659 +++ .../srv/detail/list_nodes__type_support.h | 100 + .../srv/detail/load_node__description.c | 672 +++ .../srv/detail/load_node__functions.c | 938 ++++ .../srv/detail/load_node__functions.h | 585 +++ ...node__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/load_node__struct.h | 141 + .../srv/detail/load_node__type_support.c | 894 ++++ .../srv/detail/load_node__type_support.h | 100 + .../srv/detail/unload_node__description.c | 478 ++ .../srv/detail/unload_node__functions.c | 765 +++ .../srv/detail/unload_node__functions.h | 585 +++ ...node__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/unload_node__struct.h | 103 + .../srv/detail/unload_node__type_support.c | 547 ++ .../srv/detail/unload_node__type_support.h | 100 + .../composition_interfaces/srv/list_nodes.h | 12 + .../composition_interfaces/srv/load_node.h | 12 + .../composition_interfaces/srv/unload_node.h | 12 + ...pport_microxrcedds_c__visibility_control.h | 43 + ...nodes__rosidl_typesupport_microxrcedds_c.h | 132 + ..._node__rosidl_typesupport_microxrcedds_c.h | 132 + ..._node__rosidl_typesupport_microxrcedds_c.h | 132 + .../detail/diagnostic_array__description.c | 177 + .../msg/detail/diagnostic_array__functions.c | 272 + .../msg/detail/diagnostic_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/diagnostic_array__struct.h | 54 + .../detail/diagnostic_array__type_support.c | 175 + .../detail/diagnostic_array__type_support.h | 36 + .../detail/diagnostic_status__description.c | 181 + .../msg/detail/diagnostic_status__functions.c | 320 ++ .../msg/detail/diagnostic_status__functions.h | 210 + ...atus__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/diagnostic_status__struct.h | 89 + .../detail/diagnostic_status__type_support.c | 227 + .../detail/diagnostic_status__type_support.h | 36 + .../msg/detail/key_value__description.c | 115 + .../msg/detail/key_value__functions.c | 271 + .../msg/detail/key_value__functions.h | 210 + ...alue__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/key_value__struct.h | 52 + .../msg/detail/key_value__type_support.c | 111 + .../msg/detail/key_value__type_support.h | 36 + .../diagnostic_msgs/msg/diagnostic_array.h | 12 + .../diagnostic_msgs/msg/diagnostic_status.h | 12 + .../diagnostic_msgs/msg/key_value.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../diagnostic_msgs/srv/add_diagnostics.h | 12 + .../srv/detail/add_diagnostics__description.c | 497 ++ .../srv/detail/add_diagnostics__functions.c | 781 +++ .../srv/detail/add_diagnostics__functions.h | 585 +++ ...tics__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/add_diagnostics__struct.h | 123 + .../detail/add_diagnostics__type_support.c | 552 ++ .../detail/add_diagnostics__type_support.h | 100 + .../srv/detail/self_test__description.c | 546 ++ .../srv/detail/self_test__functions.c | 786 +++ .../srv/detail/self_test__functions.h | 585 +++ ...test__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/self_test__struct.h | 105 + .../srv/detail/self_test__type_support.c | 626 +++ .../srv/detail/self_test__type_support.h | 100 + .../diagnostic_msgs/srv/self_test.h | 12 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...tatus__rosidl_typesupport_microxrcedds_c.h | 39 + ...value__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + ...stics__rosidl_typesupport_microxrcedds_c.h | 132 + ..._test__rosidl_typesupport_microxrcedds_c.h | 132 + ...nacci__rosidl_typesupport_microxrcedds_c.h | 411 ++ .../action/detail/fibonacci__description.c | 1593 ++++++ .../action/detail/fibonacci__functions.c | 2545 ++++++++++ .../action/detail/fibonacci__functions.h | 1866 +++++++ ...acci__rosidl_typesupport_introspection_c.h | 146 + .../action/detail/fibonacci__struct.h | 283 ++ .../action/detail/fibonacci__type_support.c | 1685 +++++++ .../action/detail/fibonacci__type_support.h | 242 + .../example_interfaces/action/fibonacci.h | 12 + .../example_interfaces/msg/bool.h | 12 + .../example_interfaces/msg/byte.h | 12 + .../example_interfaces/msg/byte_multi_array.h | 12 + .../example_interfaces/msg/char.h | 12 + .../msg/detail/bool__description.c | 105 + .../msg/detail/bool__functions.c | 236 + .../msg/detail/bool__functions.h | 210 + ...bool__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/bool__struct.h | 48 + .../msg/detail/bool__type_support.c | 88 + .../msg/detail/bool__type_support.h | 36 + .../msg/detail/byte__description.c | 105 + .../msg/detail/byte__functions.c | 236 + .../msg/detail/byte__functions.h | 210 + ...byte__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/byte__struct.h | 48 + .../msg/detail/byte__type_support.c | 88 + .../msg/detail/byte__type_support.h | 36 + .../detail/byte_multi_array__description.c | 153 + .../msg/detail/byte_multi_array__functions.c | 272 + .../msg/detail/byte_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/byte_multi_array__struct.h | 58 + .../detail/byte_multi_array__type_support.c | 171 + .../detail/byte_multi_array__type_support.h | 36 + .../msg/detail/char__description.c | 105 + .../msg/detail/char__functions.c | 236 + .../msg/detail/char__functions.h | 210 + ...char__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/char__struct.h | 48 + .../msg/detail/char__type_support.c | 88 + .../msg/detail/char__type_support.h | 36 + .../msg/detail/empty__description.c | 102 + .../msg/detail/empty__functions.c | 236 + .../msg/detail/empty__functions.h | 210 + ...mpty__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/empty__struct.h | 46 + .../msg/detail/empty__type_support.c | 88 + .../msg/detail/empty__type_support.h | 36 + .../msg/detail/float32__description.c | 105 + .../msg/detail/float32__functions.c | 236 + .../msg/detail/float32__functions.h | 210 + ...at32__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/float32__struct.h | 48 + .../msg/detail/float32__type_support.c | 88 + .../msg/detail/float32__type_support.h | 36 + .../detail/float32_multi_array__description.c | 153 + .../detail/float32_multi_array__functions.c | 272 + .../detail/float32_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/float32_multi_array__struct.h | 58 + .../float32_multi_array__type_support.c | 171 + .../float32_multi_array__type_support.h | 36 + .../msg/detail/float64__description.c | 105 + .../msg/detail/float64__functions.c | 236 + .../msg/detail/float64__functions.h | 210 + ...at64__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/float64__struct.h | 48 + .../msg/detail/float64__type_support.c | 88 + .../msg/detail/float64__type_support.h | 36 + .../detail/float64_multi_array__description.c | 153 + .../detail/float64_multi_array__functions.c | 272 + .../detail/float64_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/float64_multi_array__struct.h | 58 + .../float64_multi_array__type_support.c | 171 + .../float64_multi_array__type_support.h | 36 + .../msg/detail/int16__description.c | 105 + .../msg/detail/int16__functions.c | 236 + .../msg/detail/int16__functions.h | 210 + ...nt16__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int16__struct.h | 48 + .../msg/detail/int16__type_support.c | 88 + .../msg/detail/int16__type_support.h | 36 + .../detail/int16_multi_array__description.c | 153 + .../msg/detail/int16_multi_array__functions.c | 272 + .../msg/detail/int16_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int16_multi_array__struct.h | 58 + .../detail/int16_multi_array__type_support.c | 171 + .../detail/int16_multi_array__type_support.h | 36 + .../msg/detail/int32__description.c | 105 + .../msg/detail/int32__functions.c | 236 + .../msg/detail/int32__functions.h | 210 + ...nt32__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int32__struct.h | 48 + .../msg/detail/int32__type_support.c | 88 + .../msg/detail/int32__type_support.h | 36 + .../detail/int32_multi_array__description.c | 153 + .../msg/detail/int32_multi_array__functions.c | 272 + .../msg/detail/int32_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int32_multi_array__struct.h | 58 + .../detail/int32_multi_array__type_support.c | 171 + .../detail/int32_multi_array__type_support.h | 36 + .../msg/detail/int64__description.c | 105 + .../msg/detail/int64__functions.c | 236 + .../msg/detail/int64__functions.h | 210 + ...nt64__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int64__struct.h | 48 + .../msg/detail/int64__type_support.c | 88 + .../msg/detail/int64__type_support.h | 36 + .../detail/int64_multi_array__description.c | 153 + .../msg/detail/int64_multi_array__functions.c | 272 + .../msg/detail/int64_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int64_multi_array__struct.h | 58 + .../detail/int64_multi_array__type_support.c | 171 + .../detail/int64_multi_array__type_support.h | 36 + .../msg/detail/int8__description.c | 105 + .../msg/detail/int8__functions.c | 236 + .../msg/detail/int8__functions.h | 210 + ...int8__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int8__struct.h | 48 + .../msg/detail/int8__type_support.c | 88 + .../msg/detail/int8__type_support.h | 36 + .../detail/int8_multi_array__description.c | 153 + .../msg/detail/int8_multi_array__functions.c | 272 + .../msg/detail/int8_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int8_multi_array__struct.h | 58 + .../detail/int8_multi_array__type_support.c | 171 + .../detail/int8_multi_array__type_support.h | 36 + .../multi_array_dimension__description.c | 129 + .../detail/multi_array_dimension__functions.c | 267 + .../detail/multi_array_dimension__functions.h | 210 + ...sion__rosidl_typesupport_introspection_c.h | 26 + .../detail/multi_array_dimension__struct.h | 56 + .../multi_array_dimension__type_support.c | 128 + .../multi_array_dimension__type_support.h | 36 + .../detail/multi_array_layout__description.c | 159 + .../detail/multi_array_layout__functions.c | 259 + .../detail/multi_array_layout__functions.h | 210 + ...yout__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/multi_array_layout__struct.h | 77 + .../detail/multi_array_layout__type_support.c | 169 + .../detail/multi_array_layout__type_support.h | 36 + .../msg/detail/string__description.c | 105 + .../msg/detail/string__functions.c | 251 + .../msg/detail/string__functions.h | 210 + ...ring__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/string__struct.h | 52 + .../msg/detail/string__type_support.c | 92 + .../msg/detail/string__type_support.h | 36 + .../msg/detail/u_int16__description.c | 105 + .../msg/detail/u_int16__functions.c | 236 + .../msg/detail/u_int16__functions.h | 210 + ...nt16__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int16__struct.h | 48 + .../msg/detail/u_int16__type_support.c | 88 + .../msg/detail/u_int16__type_support.h | 36 + .../detail/u_int16_multi_array__description.c | 153 + .../detail/u_int16_multi_array__functions.c | 272 + .../detail/u_int16_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int16_multi_array__struct.h | 58 + .../u_int16_multi_array__type_support.c | 171 + .../u_int16_multi_array__type_support.h | 36 + .../msg/detail/u_int32__description.c | 105 + .../msg/detail/u_int32__functions.c | 236 + .../msg/detail/u_int32__functions.h | 210 + ...nt32__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int32__struct.h | 48 + .../msg/detail/u_int32__type_support.c | 88 + .../msg/detail/u_int32__type_support.h | 36 + .../detail/u_int32_multi_array__description.c | 153 + .../detail/u_int32_multi_array__functions.c | 272 + .../detail/u_int32_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int32_multi_array__struct.h | 58 + .../u_int32_multi_array__type_support.c | 171 + .../u_int32_multi_array__type_support.h | 36 + .../msg/detail/u_int64__description.c | 105 + .../msg/detail/u_int64__functions.c | 236 + .../msg/detail/u_int64__functions.h | 210 + ...nt64__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int64__struct.h | 48 + .../msg/detail/u_int64__type_support.c | 88 + .../msg/detail/u_int64__type_support.h | 36 + .../detail/u_int64_multi_array__description.c | 153 + .../detail/u_int64_multi_array__functions.c | 272 + .../detail/u_int64_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int64_multi_array__struct.h | 58 + .../u_int64_multi_array__type_support.c | 171 + .../u_int64_multi_array__type_support.h | 36 + .../msg/detail/u_int8__description.c | 105 + .../msg/detail/u_int8__functions.c | 236 + .../msg/detail/u_int8__functions.h | 210 + ...int8__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int8__struct.h | 48 + .../msg/detail/u_int8__type_support.c | 88 + .../msg/detail/u_int8__type_support.h | 36 + .../detail/u_int8_multi_array__description.c | 153 + .../detail/u_int8_multi_array__functions.c | 272 + .../detail/u_int8_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int8_multi_array__struct.h | 58 + .../detail/u_int8_multi_array__type_support.c | 171 + .../detail/u_int8_multi_array__type_support.h | 36 + .../msg/detail/w_string__description.c | 105 + .../msg/detail/w_string__functions.c | 251 + .../msg/detail/w_string__functions.h | 210 + ...ring__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/w_string__struct.h | 52 + .../msg/detail/w_string__type_support.c | 92 + .../msg/detail/w_string__type_support.h | 36 + .../example_interfaces/msg/empty.h | 12 + .../example_interfaces/msg/float32.h | 12 + .../msg/float32_multi_array.h | 12 + .../example_interfaces/msg/float64.h | 12 + .../msg/float64_multi_array.h | 12 + .../example_interfaces/msg/int16.h | 12 + .../msg/int16_multi_array.h | 12 + .../example_interfaces/msg/int32.h | 12 + .../msg/int32_multi_array.h | 12 + .../example_interfaces/msg/int64.h | 12 + .../msg/int64_multi_array.h | 12 + .../example_interfaces/msg/int8.h | 12 + .../example_interfaces/msg/int8_multi_array.h | 12 + .../msg/multi_array_dimension.h | 12 + .../msg/multi_array_layout.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../example_interfaces/msg/string.h | 12 + .../example_interfaces/msg/u_int16.h | 12 + .../msg/u_int16_multi_array.h | 12 + .../example_interfaces/msg/u_int32.h | 12 + .../msg/u_int32_multi_array.h | 12 + .../example_interfaces/msg/u_int64.h | 12 + .../msg/u_int64_multi_array.h | 12 + .../example_interfaces/msg/u_int8.h | 12 + .../msg/u_int8_multi_array.h | 12 + .../example_interfaces/msg/w_string.h | 12 + .../example_interfaces/srv/add_two_ints.h | 12 + .../srv/detail/add_two_ints__description.c | 474 ++ .../srv/detail/add_two_ints__functions.c | 750 +++ .../srv/detail/add_two_ints__functions.h | 585 +++ ...ints__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/add_two_ints__struct.h | 98 + .../srv/detail/add_two_ints__type_support.c | 543 ++ .../srv/detail/add_two_ints__type_support.h | 100 + .../srv/detail/set_bool__description.c | 478 ++ .../srv/detail/set_bool__functions.c | 765 +++ .../srv/detail/set_bool__functions.h | 585 +++ ...bool__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/set_bool__struct.h | 105 + .../srv/detail/set_bool__type_support.c | 547 ++ .../srv/detail/set_bool__type_support.h | 100 + .../srv/detail/trigger__description.c | 477 ++ .../srv/detail/trigger__functions.c | 765 +++ .../srv/detail/trigger__functions.h | 585 +++ ...gger__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/trigger__struct.h | 104 + .../srv/detail/trigger__type_support.c | 547 ++ .../srv/detail/trigger__type_support.h | 100 + .../example_interfaces/srv/set_bool.h | 12 + .../example_interfaces/srv/trigger.h | 12 + .../bool__rosidl_typesupport_microxrcedds_c.h | 39 + .../byte__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + .../char__rosidl_typesupport_microxrcedds_c.h | 39 + ...empty__rosidl_typesupport_microxrcedds_c.h | 39 + ...oat32__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...oat64__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...int16__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...int32__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...int64__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + .../int8__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...nsion__rosidl_typesupport_microxrcedds_c.h | 39 + ...ayout__rosidl_typesupport_microxrcedds_c.h | 39 + ...tring__rosidl_typesupport_microxrcedds_c.h | 39 + ...int16__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...int32__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...int64__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ..._int8__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...tring__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + ..._ints__rosidl_typesupport_microxrcedds_c.h | 132 + ..._bool__rosidl_typesupport_microxrcedds_c.h | 132 + ...igger__rosidl_typesupport_microxrcedds_c.h | 132 + .../geometry_msgs/geometry_msgs/msg/accel.h | 12 + .../geometry_msgs/msg/accel_stamped.h | 12 + .../geometry_msgs/msg/accel_with_covariance.h | 12 + .../msg/accel_with_covariance_stamped.h | 12 + .../msg/detail/accel__description.c | 132 + .../msg/detail/accel__functions.c | 271 + .../msg/detail/accel__functions.h | 210 + ...ccel__rosidl_typesupport_introspection_c.h | 26 + .../geometry_msgs/msg/detail/accel__struct.h | 51 + .../msg/detail/accel__type_support.c | 118 + .../msg/detail/accel__type_support.h | 36 + .../msg/detail/accel_stamped__description.c | 177 + .../msg/detail/accel_stamped__functions.c | 272 + .../msg/detail/accel_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/accel_stamped__struct.h | 52 + .../msg/detail/accel_stamped__type_support.c | 120 + .../msg/detail/accel_stamped__type_support.h | 36 + .../accel_with_covariance__description.c | 153 + .../detail/accel_with_covariance__functions.c | 263 + .../detail/accel_with_covariance__functions.h | 210 + ...ance__rosidl_typesupport_introspection_c.h | 26 + .../detail/accel_with_covariance__struct.h | 54 + .../accel_with_covariance__type_support.c | 159 + .../accel_with_covariance__type_support.h | 36 + ...cel_with_covariance_stamped__description.c | 192 + ...accel_with_covariance_stamped__functions.c | 272 + ...accel_with_covariance_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../accel_with_covariance_stamped__struct.h | 52 + ...el_with_covariance_stamped__type_support.c | 120 + ...el_with_covariance_stamped__type_support.h | 36 + .../msg/detail/inertia__description.c | 211 + .../msg/detail/inertia__functions.c | 307 ++ .../msg/detail/inertia__functions.h | 210 + ...rtia__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/inertia__struct.h | 61 + .../msg/detail/inertia__type_support.c | 222 + .../msg/detail/inertia__type_support.h | 36 + .../msg/detail/inertia_stamped__description.c | 178 + .../msg/detail/inertia_stamped__functions.c | 272 + .../msg/detail/inertia_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/inertia_stamped__struct.h | 52 + .../detail/inertia_stamped__type_support.c | 120 + .../detail/inertia_stamped__type_support.h | 36 + .../msg/detail/point32__description.c | 133 + .../msg/detail/point32__functions.c | 252 + .../msg/detail/point32__functions.h | 210 + ...nt32__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/point32__struct.h | 53 + .../msg/detail/point32__type_support.c | 124 + .../msg/detail/point32__type_support.h | 36 + .../msg/detail/point__description.c | 126 + .../msg/detail/point__functions.c | 252 + .../msg/detail/point__functions.h | 210 + ...oint__rosidl_typesupport_introspection_c.h | 26 + .../geometry_msgs/msg/detail/point__struct.h | 47 + .../msg/detail/point__type_support.c | 124 + .../msg/detail/point__type_support.h | 36 + .../msg/detail/point_stamped__description.c | 163 + .../msg/detail/point_stamped__functions.c | 272 + .../msg/detail/point_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/point_stamped__struct.h | 52 + .../msg/detail/point_stamped__type_support.c | 120 + .../msg/detail/point_stamped__type_support.h | 36 + .../msg/detail/polygon__description.c | 121 + .../msg/detail/polygon__functions.c | 251 + .../msg/detail/polygon__functions.h | 210 + ...ygon__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/polygon__struct.h | 49 + .../msg/detail/polygon__type_support.c | 151 + .../msg/detail/polygon__type_support.h | 36 + .../detail/polygon_instance__description.c | 149 + .../msg/detail/polygon_instance__functions.c | 259 + .../msg/detail/polygon_instance__functions.h | 210 + ...ance__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/polygon_instance__struct.h | 51 + .../detail/polygon_instance__type_support.c | 114 + .../detail/polygon_instance__type_support.h | 36 + .../polygon_instance_stamped__description.c | 194 + .../polygon_instance_stamped__functions.c | 272 + .../polygon_instance_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../detail/polygon_instance_stamped__struct.h | 53 + .../polygon_instance_stamped__type_support.c | 120 + .../polygon_instance_stamped__type_support.h | 36 + .../msg/detail/polygon_stamped__description.c | 178 + .../msg/detail/polygon_stamped__functions.c | 272 + .../msg/detail/polygon_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/polygon_stamped__struct.h | 52 + .../detail/polygon_stamped__type_support.c | 120 + .../detail/polygon_stamped__type_support.h | 36 + .../msg/detail/pose2_d__description.c | 132 + .../msg/detail/pose2_d__functions.c | 252 + .../msg/detail/pose2_d__functions.h | 210 + ...e2_d__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/pose2_d__struct.h | 50 + .../msg/detail/pose2_d__type_support.c | 124 + .../msg/detail/pose2_d__type_support.h | 36 + .../msg/detail/pose__description.c | 148 + .../msg/detail/pose__functions.c | 272 + .../msg/detail/pose__functions.h | 210 + ...pose__rosidl_typesupport_introspection_c.h | 26 + .../geometry_msgs/msg/detail/pose__struct.h | 52 + .../msg/detail/pose__type_support.c | 120 + .../msg/detail/pose__type_support.h | 36 + .../msg/detail/pose_array__description.c | 194 + .../msg/detail/pose_array__functions.c | 272 + .../msg/detail/pose_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/pose_array__struct.h | 52 + .../msg/detail/pose_array__type_support.c | 175 + .../msg/detail/pose_array__type_support.h | 36 + .../msg/detail/pose_stamped__description.c | 193 + .../msg/detail/pose_stamped__functions.c | 272 + .../msg/detail/pose_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/pose_stamped__struct.h | 52 + .../msg/detail/pose_stamped__type_support.c | 120 + .../msg/detail/pose_stamped__type_support.h | 36 + .../pose_with_covariance__description.c | 168 + .../detail/pose_with_covariance__functions.c | 263 + .../detail/pose_with_covariance__functions.h | 210 + ...ance__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/pose_with_covariance__struct.h | 54 + .../pose_with_covariance__type_support.c | 159 + .../pose_with_covariance__type_support.h | 36 + ...ose_with_covariance_stamped__description.c | 208 + .../pose_with_covariance_stamped__functions.c | 272 + .../pose_with_covariance_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../pose_with_covariance_stamped__struct.h | 52 + ...se_with_covariance_stamped__type_support.c | 120 + ...se_with_covariance_stamped__type_support.h | 36 + .../msg/detail/quaternion__description.c | 143 + .../msg/detail/quaternion__functions.c | 264 + .../msg/detail/quaternion__functions.h | 210 + ...nion__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/quaternion__struct.h | 48 + .../msg/detail/quaternion__type_support.c | 142 + .../msg/detail/quaternion__type_support.h | 36 + .../detail/quaternion_stamped__description.c | 163 + .../detail/quaternion_stamped__functions.c | 272 + .../detail/quaternion_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/quaternion_stamped__struct.h | 52 + .../detail/quaternion_stamped__type_support.c | 120 + .../detail/quaternion_stamped__type_support.h | 36 + .../msg/detail/transform__description.c | 148 + .../msg/detail/transform__functions.c | 272 + .../msg/detail/transform__functions.h | 210 + ...form__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/transform__struct.h | 52 + .../msg/detail/transform__type_support.c | 120 + .../msg/detail/transform__type_support.h | 36 + .../detail/transform_stamped__description.c | 219 + .../msg/detail/transform_stamped__functions.c | 293 ++ .../msg/detail/transform_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/transform_stamped__struct.h | 67 + .../detail/transform_stamped__type_support.c | 140 + .../detail/transform_stamped__type_support.h | 36 + .../msg/detail/twist__description.c | 133 + .../msg/detail/twist__functions.c | 271 + .../msg/detail/twist__functions.h | 210 + ...wist__rosidl_typesupport_introspection_c.h | 26 + .../geometry_msgs/msg/detail/twist__struct.h | 51 + .../msg/detail/twist__type_support.c | 118 + .../msg/detail/twist__type_support.h | 36 + .../msg/detail/twist_stamped__description.c | 178 + .../msg/detail/twist_stamped__functions.c | 272 + .../msg/detail/twist_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/twist_stamped__struct.h | 52 + .../msg/detail/twist_stamped__type_support.c | 120 + .../msg/detail/twist_stamped__type_support.h | 36 + .../twist_with_covariance__description.c | 153 + .../detail/twist_with_covariance__functions.c | 263 + .../detail/twist_with_covariance__functions.h | 210 + ...ance__rosidl_typesupport_introspection_c.h | 26 + .../detail/twist_with_covariance__struct.h | 54 + .../twist_with_covariance__type_support.c | 159 + .../twist_with_covariance__type_support.h | 36 + ...ist_with_covariance_stamped__description.c | 193 + ...twist_with_covariance_stamped__functions.c | 272 + ...twist_with_covariance_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../twist_with_covariance_stamped__struct.h | 52 + ...st_with_covariance_stamped__type_support.c | 120 + ...st_with_covariance_stamped__type_support.h | 36 + .../msg/detail/vector3__description.c | 131 + .../msg/detail/vector3__functions.c | 252 + .../msg/detail/vector3__functions.h | 210 + ...tor3__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/vector3__struct.h | 50 + .../msg/detail/vector3__type_support.c | 124 + .../msg/detail/vector3__type_support.h | 36 + .../msg/detail/vector3_stamped__description.c | 166 + .../msg/detail/vector3_stamped__functions.c | 272 + .../msg/detail/vector3_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/vector3_stamped__struct.h | 54 + .../detail/vector3_stamped__type_support.c | 120 + .../detail/vector3_stamped__type_support.h | 36 + .../detail/velocity_stamped__description.c | 204 + .../msg/detail/velocity_stamped__functions.c | 313 ++ .../msg/detail/velocity_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/velocity_stamped__struct.h | 59 + .../detail/velocity_stamped__type_support.c | 159 + .../detail/velocity_stamped__type_support.h | 36 + .../msg/detail/wrench__description.c | 133 + .../msg/detail/wrench__functions.c | 271 + .../msg/detail/wrench__functions.h | 210 + ...ench__rosidl_typesupport_introspection_c.h | 26 + .../geometry_msgs/msg/detail/wrench__struct.h | 51 + .../msg/detail/wrench__type_support.c | 118 + .../msg/detail/wrench__type_support.h | 36 + .../msg/detail/wrench_stamped__description.c | 178 + .../msg/detail/wrench_stamped__functions.c | 272 + .../msg/detail/wrench_stamped__functions.h | 210 + ...mped__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/wrench_stamped__struct.h | 52 + .../msg/detail/wrench_stamped__type_support.c | 120 + .../msg/detail/wrench_stamped__type_support.h | 36 + .../geometry_msgs/geometry_msgs/msg/inertia.h | 12 + .../geometry_msgs/msg/inertia_stamped.h | 12 + .../geometry_msgs/geometry_msgs/msg/point.h | 12 + .../geometry_msgs/geometry_msgs/msg/point32.h | 12 + .../geometry_msgs/msg/point_stamped.h | 12 + .../geometry_msgs/geometry_msgs/msg/polygon.h | 12 + .../geometry_msgs/msg/polygon_instance.h | 12 + .../msg/polygon_instance_stamped.h | 12 + .../geometry_msgs/msg/polygon_stamped.h | 12 + .../geometry_msgs/geometry_msgs/msg/pose.h | 12 + .../geometry_msgs/geometry_msgs/msg/pose2_d.h | 12 + .../geometry_msgs/msg/pose_array.h | 12 + .../geometry_msgs/msg/pose_stamped.h | 12 + .../geometry_msgs/msg/pose_with_covariance.h | 12 + .../msg/pose_with_covariance_stamped.h | 12 + .../geometry_msgs/msg/quaternion.h | 12 + .../geometry_msgs/msg/quaternion_stamped.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../geometry_msgs/msg/transform.h | 12 + .../geometry_msgs/msg/transform_stamped.h | 12 + .../geometry_msgs/geometry_msgs/msg/twist.h | 12 + .../geometry_msgs/msg/twist_stamped.h | 12 + .../geometry_msgs/msg/twist_with_covariance.h | 12 + .../msg/twist_with_covariance_stamped.h | 12 + .../geometry_msgs/geometry_msgs/msg/vector3.h | 12 + .../geometry_msgs/msg/vector3_stamped.h | 12 + .../geometry_msgs/msg/velocity_stamped.h | 12 + .../geometry_msgs/geometry_msgs/msg/wrench.h | 12 + .../geometry_msgs/msg/wrench_stamped.h | 12 + ...accel__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...iance__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...ertia__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...int32__rosidl_typesupport_microxrcedds_c.h | 39 + ...point__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...lygon__rosidl_typesupport_microxrcedds_c.h | 39 + ...tance__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...se2_d__rosidl_typesupport_microxrcedds_c.h | 39 + .../pose__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...iance__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...rnion__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...sform__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...twist__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...iance__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...ctor3__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...rench__rosidl_typesupport_microxrcedds_c.h | 39 + ...amped__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../msg/detail/state__description.c | 168 + .../msg/detail/state__functions.c | 259 + .../msg/detail/state__functions.h | 210 + ...tate__rosidl_typesupport_introspection_c.h | 26 + .../lifecycle_msgs/msg/detail/state__struct.h | 166 + .../msg/detail/state__type_support.c | 110 + .../msg/detail/state__type_support.h | 36 + .../msg/detail/transition__description.c | 205 + .../msg/detail/transition__functions.c | 259 + .../msg/detail/transition__functions.h | 210 + ...tion__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/transition__struct.h | 293 ++ .../msg/detail/transition__type_support.c | 110 + .../msg/detail/transition__type_support.h | 36 + .../transition_description__description.c | 163 + .../transition_description__functions.c | 292 ++ .../transition_description__functions.h | 210 + ...tion__rosidl_typesupport_introspection_c.h | 26 + .../detail/transition_description__struct.h | 56 + .../transition_description__type_support.c | 142 + .../transition_description__type_support.h | 36 + .../detail/transition_event__description.c | 177 + .../msg/detail/transition_event__functions.c | 300 ++ .../msg/detail/transition_event__functions.h | 210 + ...vent__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/transition_event__struct.h | 58 + .../detail/transition_event__type_support.c | 160 + .../detail/transition_event__type_support.h | 36 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../lifecycle_msgs/lifecycle_msgs/msg/state.h | 12 + .../lifecycle_msgs/msg/transition.h | 12 + .../msg/transition_description.h | 12 + .../lifecycle_msgs/msg/transition_event.h | 12 + .../lifecycle_msgs/srv/change_state.h | 12 + .../srv/detail/change_state__description.c | 499 ++ .../srv/detail/change_state__functions.c | 757 +++ .../srv/detail/change_state__functions.h | 585 +++ ...tate__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/change_state__struct.h | 102 + .../srv/detail/change_state__type_support.c | 533 ++ .../srv/detail/change_state__type_support.h | 100 + .../get_available_states__description.c | 494 ++ .../detail/get_available_states__functions.c | 757 +++ .../detail/get_available_states__functions.h | 585 +++ ...ates__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/get_available_states__struct.h | 101 + .../get_available_states__type_support.c | 588 +++ .../get_available_states__type_support.h | 100 + .../get_available_transitions__description.c | 552 ++ .../get_available_transitions__functions.c | 757 +++ .../get_available_transitions__functions.h | 585 +++ ...ions__rosidl_typesupport_introspection_c.h | 58 + .../get_available_transitions__struct.h | 101 + .../get_available_transitions__type_support.c | 588 +++ .../get_available_transitions__type_support.h | 100 + .../srv/detail/get_state__description.c | 494 ++ .../srv/detail/get_state__functions.c | 757 +++ .../srv/detail/get_state__functions.h | 585 +++ ...tate__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/get_state__struct.h | 101 + .../srv/detail/get_state__type_support.c | 533 ++ .../srv/detail/get_state__type_support.h | 100 + .../lifecycle_msgs/srv/get_available_states.h | 12 + .../srv/get_available_transitions.h | 12 + .../lifecycle_msgs/srv/get_state.h | 12 + ...state__rosidl_typesupport_microxrcedds_c.h | 39 + ...ition__rosidl_typesupport_microxrcedds_c.h | 39 + ...ption__rosidl_typesupport_microxrcedds_c.h | 39 + ...event__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + ...state__rosidl_typesupport_microxrcedds_c.h | 132 + ...tates__rosidl_typesupport_microxrcedds_c.h | 132 + ...tions__rosidl_typesupport_microxrcedds_c.h | 132 + ...state__rosidl_typesupport_microxrcedds_c.h | 132 + .../msg/detail/entity__description.c | 130 + .../msg/detail/entity__functions.c | 279 ++ .../msg/detail/entity__functions.h | 210 + ...tity__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/entity__struct.h | 85 + .../msg/detail/entity__type_support.c | 184 + .../msg/detail/entity__type_support.h | 36 + .../msg/detail/graph__description.c | 134 + .../msg/detail/graph__functions.c | 251 + .../msg/detail/graph__functions.h | 210 + ...raph__rosidl_typesupport_introspection_c.h | 26 + .../micro_ros_msgs/msg/detail/graph__struct.h | 46 + .../msg/detail/graph__type_support.c | 151 + .../msg/detail/graph__type_support.h | 36 + .../msg/detail/node__description.c | 143 + .../msg/detail/node__functions.c | 292 ++ .../msg/detail/node__functions.h | 210 + ...node__rosidl_typesupport_introspection_c.h | 26 + .../micro_ros_msgs/msg/detail/node__struct.h | 63 + .../msg/detail/node__type_support.c | 190 + .../msg/detail/node__type_support.h | 36 + .../micro_ros_msgs/msg/entity.h | 12 + .../micro_ros_msgs/micro_ros_msgs/msg/graph.h | 12 + .../micro_ros_msgs/micro_ros_msgs/msg/node.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + ...ntity__rosidl_typesupport_microxrcedds_c.h | 39 + ...graph__rosidl_typesupport_microxrcedds_c.h | 39 + .../node__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../micro_ros_utilities/string_utilities.h | 170 + .../micro_ros_utilities/type_utilities.h | 243 + .../micro_ros_utilities/visibility_control.h | 58 + ...cells__rosidl_typesupport_microxrcedds_c.h | 39 + ..._data__rosidl_typesupport_microxrcedds_c.h | 39 + ..._grid__rosidl_typesupport_microxrcedds_c.h | 39 + ...metry__rosidl_typesupport_microxrcedds_c.h | 39 + .../path__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../msg/detail/grid_cells__description.c | 193 + .../msg/detail/grid_cells__functions.c | 288 ++ .../msg/detail/grid_cells__functions.h | 210 + ...ells__rosidl_typesupport_introspection_c.h | 26 + .../nav_msgs/msg/detail/grid_cells__struct.h | 57 + .../msg/detail/grid_cells__type_support.c | 211 + .../msg/detail/grid_cells__type_support.h | 36 + .../msg/detail/map_meta_data__description.c | 224 + .../msg/detail/map_meta_data__functions.c | 296 ++ .../msg/detail/map_meta_data__functions.h | 210 + ...data__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/map_meta_data__struct.h | 61 + .../msg/detail/map_meta_data__type_support.c | 174 + .../msg/detail/map_meta_data__type_support.h | 36 + .../msg/detail/occupancy_grid__description.c | 228 + .../msg/detail/occupancy_grid__functions.c | 293 ++ .../msg/detail/occupancy_grid__functions.h | 210 + ...grid__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/occupancy_grid__struct.h | 62 + .../msg/detail/occupancy_grid__type_support.c | 195 + .../msg/detail/occupancy_grid__type_support.h | 36 + .../msg/detail/odometry__description.c | 286 ++ .../nav_msgs/msg/detail/odometry__functions.c | 314 ++ .../nav_msgs/msg/detail/odometry__functions.h | 210 + ...etry__rosidl_typesupport_introspection_c.h | 26 + .../nav_msgs/msg/detail/odometry__struct.h | 64 + .../msg/detail/odometry__type_support.c | 164 + .../msg/detail/odometry__type_support.h | 36 + .../nav_msgs/msg/detail/path__description.c | 211 + .../nav_msgs/msg/detail/path__functions.c | 272 + .../nav_msgs/msg/detail/path__functions.h | 210 + ...path__rosidl_typesupport_introspection_c.h | 26 + .../nav_msgs/msg/detail/path__struct.h | 54 + .../nav_msgs/msg/detail/path__type_support.c | 175 + .../nav_msgs/msg/detail/path__type_support.h | 36 + .../nav_msgs/nav_msgs/msg/grid_cells.h | 12 + .../nav_msgs/nav_msgs/msg/map_meta_data.h | 12 + .../nav_msgs/nav_msgs/msg/occupancy_grid.h | 12 + .../include/nav_msgs/nav_msgs/msg/odometry.h | 12 + .../include/nav_msgs/nav_msgs/msg/path.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../srv/detail/get_map__description.c | 647 +++ .../nav_msgs/srv/detail/get_map__functions.c | 757 +++ .../nav_msgs/srv/detail/get_map__functions.h | 585 +++ ..._map__rosidl_typesupport_introspection_c.h | 58 + .../nav_msgs/srv/detail/get_map__struct.h | 101 + .../srv/detail/get_map__type_support.c | 533 ++ .../srv/detail/get_map__type_support.h | 100 + .../srv/detail/get_plan__description.c | 724 +++ .../nav_msgs/srv/detail/get_plan__functions.c | 800 +++ .../nav_msgs/srv/detail/get_plan__functions.h | 585 +++ ...plan__rosidl_typesupport_introspection_c.h | 58 + .../nav_msgs/srv/detail/get_plan__struct.h | 112 + .../srv/detail/get_plan__type_support.c | 581 +++ .../srv/detail/get_plan__type_support.h | 100 + .../srv/detail/load_map__description.c | 669 +++ .../nav_msgs/srv/detail/load_map__functions.c | 780 +++ .../nav_msgs/srv/detail/load_map__functions.h | 585 +++ ..._map__rosidl_typesupport_introspection_c.h | 58 + .../nav_msgs/srv/detail/load_map__struct.h | 137 + .../srv/detail/load_map__type_support.c | 555 ++ .../srv/detail/load_map__type_support.h | 100 + .../srv/detail/set_map__description.c | 723 +++ .../nav_msgs/srv/detail/set_map__functions.c | 778 +++ .../nav_msgs/srv/detail/set_map__functions.h | 585 +++ ..._map__rosidl_typesupport_introspection_c.h | 58 + .../nav_msgs/srv/detail/set_map__struct.h | 107 + .../srv/detail/set_map__type_support.c | 557 +++ .../srv/detail/set_map__type_support.h | 100 + .../include/nav_msgs/nav_msgs/srv/get_map.h | 12 + .../include/nav_msgs/nav_msgs/srv/get_plan.h | 12 + .../include/nav_msgs/nav_msgs/srv/load_map.h | 12 + .../include/nav_msgs/nav_msgs/srv/set_map.h | 12 + ...t_map__rosidl_typesupport_microxrcedds_c.h | 132 + ..._plan__rosidl_typesupport_microxrcedds_c.h | 132 + ...d_map__rosidl_typesupport_microxrcedds_c.h | 132 + ...t_map__rosidl_typesupport_microxrcedds_c.h | 132 + .../microros-ext/include/rcl/rcl/allocator.h | 63 + .../microros-ext/include/rcl/rcl/arguments.h | 461 ++ .../microros-ext/include/rcl/rcl/client.h | 547 ++ .../microros-ext/include/rcl/rcl/context.h | 320 ++ .../include/rcl/rcl/discovery_options.h | 109 + .../microros-ext/include/rcl/rcl/domain_id.h | 51 + .../rcl/rcl/dynamic_message_type_support.h | 52 + .../include/rcl/rcl/error_handling.h | 49 + .../microros-ext/include/rcl/rcl/event.h | 241 + .../include/rcl/rcl/event_callback.h | 31 + .../include/rcl/rcl/expand_topic_name.h | 146 + .../microros-ext/include/rcl/rcl/graph.h | 947 ++++ .../include/rcl/rcl/guard_condition.h | 269 + .../microros-ext/include/rcl/rcl/init.h | 121 + .../include/rcl/rcl/init_options.h | 230 + .../microros-ext/include/rcl/rcl/lexer.h | 121 + .../include/rcl/rcl/lexer_lookahead.h | 264 + .../microros-ext/include/rcl/rcl/localhost.h | 48 + .../microros-ext/include/rcl/rcl/log_level.h | 193 + .../microros-ext/include/rcl/rcl/logging.h | 162 + .../include/rcl/rcl/logging_rosout.h | 259 + .../microros-ext/include/rcl/rcl/macros.h | 34 + .../include/rcl/rcl/network_flow_endpoints.h | 136 + .../microros-ext/include/rcl/rcl/node.h | 622 +++ .../include/rcl/rcl/node_options.h | 132 + .../include/rcl/rcl/node_type_cache.h | 174 + .../microros-ext/include/rcl/rcl/publisher.h | 697 +++ .../microros-ext/include/rcl/rcl/rcl.h | 86 + .../microros-ext/include/rcl/rcl/remap.h | 302 ++ .../rcl/rmw_implementation_identifier_check.h | 48 + .../microros-ext/include/rcl/rcl/security.h | 133 + .../microros-ext/include/rcl/rcl/service.h | 579 +++ .../include/rcl/rcl/service_introspection.h | 31 + .../include/rcl/rcl/subscription.h | 917 ++++ .../microros-ext/include/rcl/rcl/time.h | 734 +++ .../microros-ext/include/rcl/rcl/timer.h | 711 +++ .../rcl/rcl/type_description_conversions.h | 133 + .../microros-ext/include/rcl/rcl/type_hash.h | 79 + .../microros-ext/include/rcl/rcl/types.h | 132 + .../include/rcl/rcl/validate_enclave_name.h | 120 + .../include/rcl/rcl/validate_topic_name.h | 155 + .../include/rcl/rcl/visibility_control.h | 58 + .../microros-ext/include/rcl/rcl/wait.h | 502 ++ .../rcl_action/rcl_action/action_client.h | 789 +++ .../rcl_action/rcl_action/action_server.h | 965 ++++ .../rcl_action/rcl_action/default_qos.h | 43 + .../rcl_action/rcl_action/goal_handle.h | 268 + .../rcl_action/goal_state_machine.h | 47 + .../include/rcl_action/rcl_action/graph.h | 162 + .../include/rcl_action/rcl_action/names.h | 220 + .../rcl_action/rcl_action/rcl_action.h | 63 + .../include/rcl_action/rcl_action/types.h | 300 ++ .../include/rcl_action/rcl_action/version.h | 46 + .../rcl_action/visibility_control.h | 56 + .../include/rcl_action/rcl_action/wait.h | 285 ++ ...range__rosidl_typesupport_microxrcedds_c.h | 39 + ...range__rosidl_typesupport_microxrcedds_c.h | 39 + ...esult__rosidl_typesupport_microxrcedds_c.h | 39 + .../log__rosidl_typesupport_microxrcedds_c.h | 39 + ...level__rosidl_typesupport_microxrcedds_c.h | 39 + ...meter__rosidl_typesupport_microxrcedds_c.h | 39 + ...iptor__rosidl_typesupport_microxrcedds_c.h | 39 + ...event__rosidl_typesupport_microxrcedds_c.h | 39 + ...ptors__rosidl_typesupport_microxrcedds_c.h | 39 + ..._type__rosidl_typesupport_microxrcedds_c.h | 39 + ...value__rosidl_typesupport_microxrcedds_c.h | 39 + ...esult__rosidl_typesupport_microxrcedds_c.h | 39 + ...esult__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../floating_point_range__description.c | 150 + .../detail/floating_point_range__functions.c | 252 + .../detail/floating_point_range__functions.h | 210 + ...ange__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/floating_point_range__struct.h | 68 + .../floating_point_range__type_support.c | 124 + .../floating_point_range__type_support.h | 36 + .../msg/detail/integer_range__description.c | 146 + .../msg/detail/integer_range__functions.c | 252 + .../msg/detail/integer_range__functions.h | 210 + ...ange__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/integer_range__struct.h | 64 + .../msg/detail/integer_range__type_support.c | 124 + .../msg/detail/integer_range__type_support.h | 36 + .../list_parameters_result__description.c | 117 + .../list_parameters_result__functions.c | 271 + .../list_parameters_result__functions.h | 210 + ...sult__rosidl_typesupport_introspection_c.h | 26 + .../detail/list_parameters_result__struct.h | 53 + .../list_parameters_result__type_support.c | 221 + .../list_parameters_result__type_support.h | 36 + .../msg/detail/log__description.c | 238 + .../msg/detail/log__functions.c | 348 ++ .../msg/detail/log__functions.h | 210 + .../log__rosidl_typesupport_introspection_c.h | 26 + .../rcl_interfaces/msg/detail/log__struct.h | 125 + .../msg/detail/log__type_support.c | 209 + .../msg/detail/log__type_support.h | 36 + .../msg/detail/logger_level__description.c | 125 + .../msg/detail/logger_level__functions.c | 259 + .../msg/detail/logger_level__functions.h | 210 + ...evel__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/logger_level__struct.h | 88 + .../msg/detail/logger_level__type_support.c | 110 + .../msg/detail/logger_level__type_support.h | 36 + .../msg/detail/parameter__description.c | 138 + .../msg/detail/parameter__functions.c | 272 + .../msg/detail/parameter__functions.h | 210 + ...eter__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/parameter__struct.h | 56 + .../msg/detail/parameter__type_support.c | 116 + .../msg/detail/parameter__type_support.h | 36 + .../parameter_descriptor__description.c | 248 + .../detail/parameter_descriptor__functions.c | 359 ++ .../detail/parameter_descriptor__functions.h | 210 + ...ptor__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/parameter_descriptor__struct.h | 91 + .../parameter_descriptor__type_support.c | 342 ++ .../parameter_descriptor__type_support.h | 36 + .../msg/detail/parameter_event__description.c | 210 + .../msg/detail/parameter_event__functions.c | 333 ++ .../msg/detail/parameter_event__functions.h | 210 + ...vent__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/parameter_event__struct.h | 66 + .../detail/parameter_event__type_support.c | 349 ++ .../detail/parameter_event__type_support.h | 36 + ...parameter_event_descriptors__description.c | 177 + .../parameter_event_descriptors__functions.c | 291 ++ .../parameter_event_descriptors__functions.h | 210 + ...tors__rosidl_typesupport_introspection_c.h | 26 + .../parameter_event_descriptors__struct.h | 55 + ...arameter_event_descriptors__type_support.c | 305 ++ ...arameter_event_descriptors__type_support.h | 36 + .../msg/detail/parameter_type__description.c | 114 + .../msg/detail/parameter_type__functions.c | 236 + .../msg/detail/parameter_type__functions.h | 210 + ...type__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/parameter_type__struct.h | 108 + .../msg/detail/parameter_type__type_support.c | 88 + .../msg/detail/parameter_type__type_support.h | 36 + .../msg/detail/parameter_value__description.c | 237 + .../msg/detail/parameter_value__functions.c | 384 ++ .../msg/detail/parameter_value__functions.h | 210 + ...alue__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/parameter_value__struct.h | 80 + .../detail/parameter_value__type_support.c | 535 ++ .../detail/parameter_value__type_support.h | 36 + .../set_logger_levels_result__description.c | 116 + .../set_logger_levels_result__functions.c | 259 + .../set_logger_levels_result__functions.h | 210 + ...sult__rosidl_typesupport_introspection_c.h | 26 + .../detail/set_logger_levels_result__struct.h | 51 + .../set_logger_levels_result__type_support.c | 110 + .../set_logger_levels_result__type_support.h | 36 + .../set_parameters_result__description.c | 118 + .../detail/set_parameters_result__functions.c | 259 + .../detail/set_parameters_result__functions.h | 210 + ...sult__rosidl_typesupport_introspection_c.h | 26 + .../detail/set_parameters_result__struct.h | 53 + .../set_parameters_result__type_support.c | 110 + .../set_parameters_result__type_support.h | 36 + .../rcl_interfaces/msg/floating_point_range.h | 12 + .../rcl_interfaces/msg/integer_range.h | 12 + .../msg/list_parameters_result.h | 12 + .../rcl_interfaces/rcl_interfaces/msg/log.h | 12 + .../rcl_interfaces/msg/logger_level.h | 12 + .../rcl_interfaces/msg/parameter.h | 12 + .../rcl_interfaces/msg/parameter_descriptor.h | 12 + .../rcl_interfaces/msg/parameter_event.h | 12 + .../msg/parameter_event_descriptors.h | 12 + .../rcl_interfaces/msg/parameter_type.h | 12 + .../rcl_interfaces/msg/parameter_value.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../msg/set_logger_levels_result.h | 12 + .../msg/set_parameters_result.h | 12 + .../rcl_interfaces/srv/describe_parameters.h | 12 + .../detail/describe_parameters__description.c | 557 +++ .../detail/describe_parameters__functions.c | 772 +++ .../detail/describe_parameters__functions.h | 585 +++ ...ters__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/describe_parameters__struct.h | 105 + .../describe_parameters__type_support.c | 647 +++ .../describe_parameters__type_support.h | 100 + .../detail/get_logger_levels__description.c | 498 ++ .../srv/detail/get_logger_levels__functions.c | 772 +++ .../srv/detail/get_logger_levels__functions.h | 585 +++ ...vels__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/get_logger_levels__struct.h | 105 + .../detail/get_logger_levels__type_support.c | 647 +++ .../detail/get_logger_levels__type_support.h | 100 + .../detail/get_parameter_types__description.c | 469 ++ .../detail/get_parameter_types__functions.c | 772 +++ .../detail/get_parameter_types__functions.h | 585 +++ ...ypes__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/get_parameter_types__struct.h | 105 + .../get_parameter_types__type_support.c | 643 +++ .../get_parameter_types__type_support.h | 100 + .../srv/detail/get_parameters__description.c | 506 ++ .../srv/detail/get_parameters__functions.c | 772 +++ .../srv/detail/get_parameters__functions.h | 585 +++ ...ters__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/get_parameters__struct.h | 106 + .../srv/detail/get_parameters__type_support.c | 647 +++ .../srv/detail/get_parameters__type_support.h | 100 + .../srv/detail/list_parameters__description.c | 516 ++ .../srv/detail/list_parameters__functions.c | 780 +++ .../srv/detail/list_parameters__functions.h | 585 +++ ...ters__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/list_parameters__struct.h | 116 + .../detail/list_parameters__type_support.c | 610 +++ .../detail/list_parameters__type_support.h | 100 + .../detail/set_logger_levels__description.c | 529 ++ .../srv/detail/set_logger_levels__functions.c | 772 +++ .../srv/detail/set_logger_levels__functions.h | 585 +++ ...vels__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/set_logger_levels__struct.h | 105 + .../detail/set_logger_levels__type_support.c | 651 +++ .../detail/set_logger_levels__type_support.h | 100 + .../srv/detail/set_parameters__description.c | 558 +++ .../srv/detail/set_parameters__functions.c | 772 +++ .../srv/detail/set_parameters__functions.h | 585 +++ ...ters__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/set_parameters__struct.h | 105 + .../srv/detail/set_parameters__type_support.c | 651 +++ .../srv/detail/set_parameters__type_support.h | 100 + .../set_parameters_atomically__description.c | 560 +++ .../set_parameters_atomically__functions.c | 772 +++ .../set_parameters_atomically__functions.h | 585 +++ ...ally__rosidl_typesupport_introspection_c.h | 58 + .../set_parameters_atomically__struct.h | 105 + .../set_parameters_atomically__type_support.c | 596 +++ .../set_parameters_atomically__type_support.h | 100 + .../rcl_interfaces/srv/get_logger_levels.h | 12 + .../rcl_interfaces/srv/get_parameter_types.h | 12 + .../rcl_interfaces/srv/get_parameters.h | 12 + .../rcl_interfaces/srv/list_parameters.h | 12 + .../rcl_interfaces/srv/set_logger_levels.h | 12 + .../rcl_interfaces/srv/set_parameters.h | 12 + .../srv/set_parameters_atomically.h | 12 + ...eters__rosidl_typesupport_microxrcedds_c.h | 132 + ...evels__rosidl_typesupport_microxrcedds_c.h | 132 + ...types__rosidl_typesupport_microxrcedds_c.h | 132 + ...eters__rosidl_typesupport_microxrcedds_c.h | 132 + ...eters__rosidl_typesupport_microxrcedds_c.h | 132 + ...evels__rosidl_typesupport_microxrcedds_c.h | 132 + ...eters__rosidl_typesupport_microxrcedds_c.h | 132 + ...cally__rosidl_typesupport_microxrcedds_c.h | 132 + .../rcl_lifecycle/rcl_lifecycle/data_types.h | 121 + .../rcl_lifecycle/default_state_machine.h | 97 + .../rcl_lifecycle/rcl_lifecycle.h | 437 ++ .../rcl_lifecycle/transition_map.h | 198 + .../rcl_lifecycle/rcl_lifecycle/version.h | 46 + .../rcl_lifecycle/visibility_control.h | 56 + .../rcl_logging_interface.h | 11 +- .../microros-ext/include/rclc/action_client.h | 168 + .../include/rclc/action_goal_handle.h | 76 + .../microros-ext/include/rclc/action_server.h | 163 + .../microros-ext/include/rclc/client.h | 113 + .../microros-ext/include/rclc/executor.h | 1015 ++++ .../include/rclc/executor_handle.h | 306 ++ .../microros-ext/include/rclc/init.h | 111 + .../microros-ext/include/rclc/node.h | 86 + .../microros-ext/include/rclc/publisher.h | 115 + .../microros-ext/include/rclc/rclc.h | 43 + .../microros-ext/include/rclc/service.h | 113 + .../microros-ext/include/rclc/sleep.h | 48 + .../microros-ext/include/rclc/subscription.h | 114 + .../microros-ext/include/rclc/timer.h | 73 + .../microros-ext/include/rclc/types.h | 69 + .../include/rclc/visibility_control.h | 58 + .../include/rclc_lifecycle/rclc_lifecycle.h | 169 + .../rclc_lifecycle/visibility_control.h | 58 + .../include/rclc_parameter/rclc_parameter.h | 579 +++ .../rclc_parameter/visibility_control.h | 58 + .../rcutils/rcutils/configuration_flags.h | 1 + .../rcutils/rcutils/configuration_flags.h.in | 1 + .../include/rcutils/rcutils/env.h | 30 + .../include/rcutils/rcutils/logging.h | 4 +- .../include/rcutils/rcutils/logging_macros.h | 48 +- .../rcutils/rcutils/security_directory.h | 67 - .../include/rcutils/rcutils/split.h | 1 + .../stdatomic_helper/win32/stdatomic.h | 4 +- .../include/rcutils/rcutils/time.h | 31 + .../include/rcutils/rcutils/types/hash_map.h | 2 +- .../rcutils/rcutils/types/string_map.h | 2 +- .../microros-ext/include/rmw/rmw/allocators.h | 159 + .../rmw/rmw/check_type_identifiers_match.h | 84 + .../rmw/rmw/convert_rcutils_ret_to_rmw_ret.h | 42 + .../include/rmw/rmw/discovery_options.h | 177 + .../microros-ext/include/rmw/rmw/domain_id.h | 21 + .../rmw/rmw/dynamic_message_type_support.h | 90 + .../include/rmw/rmw/error_handling.h | 205 + .../microros-ext/include/rmw/rmw/event.h | 137 + .../include/rmw/rmw/event_callback_type.h | 52 + .../rmw/rmw/events_statuses/events_statuses.h | 27 + .../rmw/events_statuses/incompatible_qos.h | 57 + .../rmw/events_statuses/incompatible_type.h | 40 + .../rmw/events_statuses/liveliness_changed.h | 58 + .../rmw/rmw/events_statuses/liveliness_lost.h | 45 + .../include/rmw/rmw/events_statuses/matched.h | 59 + .../rmw/rmw/events_statuses/message_lost.h | 39 + .../events_statuses/offered_deadline_missed.h | 45 + .../requested_deadline_missed.h | 45 + .../microros-ext/include/rmw/rmw/features.h | 68 + .../rmw/rmw/get_network_flow_endpoints.h | 73 + .../include/rmw/rmw/get_node_info_and_types.h | 319 ++ .../rmw/rmw/get_service_names_and_types.h | 94 + .../include/rmw/rmw/get_topic_endpoint_info.h | 193 + .../rmw/rmw/get_topic_names_and_types.h | 103 + .../include/rmw/rmw/impl/config.h | 24 + .../include/rmw/rmw/impl/cpp/demangle.hpp | 62 + .../include/rmw/rmw/impl/cpp/key_value.hpp | 100 + .../include/rmw/rmw/impl/cpp/macros.hpp | 73 + .../rmw/incompatible_qos_events_statuses.h | 20 + .../microros-ext/include/rmw/rmw/init.h | 173 + .../include/rmw/rmw/init_options.h | 195 + .../microros-ext/include/rmw/rmw/localhost.h | 40 + .../microros-ext/include/rmw/rmw/macros.h | 27 + .../include/rmw/rmw/message_sequence.h | 123 + .../include/rmw/rmw/names_and_types.h | 150 + .../include/rmw/rmw/network_flow_endpoint.h | 114 + .../rmw/rmw/network_flow_endpoint_array.h | 94 + .../include/rmw/rmw/publisher_options.h | 37 + .../include/rmw/rmw/qos_policy_kind.h | 45 + .../include/rmw/rmw/qos_profiles.h | 213 + .../include/rmw/rmw/qos_string_conversions.h | 177 + .../microros-ext/include/rmw/rmw/ret_types.h | 52 + .../microros-ext/include/rmw/rmw/rmw.h | 3360 +++++++++++++ .../include/rmw/rmw/sanity_checks.h | 45 + .../include/rmw/rmw/security_options.h | 101 + .../include/rmw/rmw/serialized_message.h | 102 + .../rmw/subscription_content_filter_options.h | 130 + .../include/rmw/rmw/subscription_options.h | 37 + .../microros-ext/include/rmw/rmw/time.h | 92 + .../include/rmw/rmw/topic_endpoint_info.h | 370 ++ .../rmw/rmw/topic_endpoint_info_array.h | 155 + .../microros-ext/include/rmw/rmw/types.h | 753 +++ .../rmw/rmw/validate_full_topic_name.h | 130 + .../include/rmw/rmw/validate_namespace.h | 139 + .../include/rmw/rmw/validate_node_name.h | 124 + .../include/rmw/rmw/visibility_control.h | 58 + .../rmw_microros/continous_serialization.h | 60 + .../include/rmw_microros/custom_transport.h | 90 + .../include/rmw_microros/discovery.h | 54 + .../include/rmw_microros/error_handling.h | 96 + .../include/rmw_microros/init_options.h | 96 + .../microros-ext/include/rmw_microros/ping.h | 78 + .../include/rmw_microros/rmw_microros.h | 78 + .../include/rmw_microros/time_sync.h | 72 + .../include/rmw_microros/timing.h | 102 + .../include/rmw_microxrcedds_c/config.h | 76 + .../include/rmw_microxrcedds_c/rmw_c_macros.h | 29 + ...clock__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../rosgraph_msgs/rosgraph_msgs/msg/clock.h | 12 + .../msg/detail/clock__description.c | 122 + .../msg/detail/clock__functions.c | 251 + .../msg/detail/clock__functions.h | 210 + ...lock__rosidl_typesupport_introspection_c.h | 26 + .../rosgraph_msgs/msg/detail/clock__struct.h | 51 + .../msg/detail/clock__type_support.c | 96 + .../msg/detail/clock__type_support.h | 36 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../api/dynamic_data.h | 637 +++ .../api/dynamic_type.h | 995 ++++ .../api/serialization_support.h | 90 + .../api/serialization_support_interface.h | 1403 ++++++ .../dynamic_message_type_support_struct.h | 162 + .../rosidl_dynamic_typesupport/identifier.h | 40 + .../rosidl_dynamic_typesupport/macros.h | 65 + .../rosidl_dynamic_typesupport/types.h | 314 ++ .../rosidl_dynamic_typesupport/uchar.h | 53 + .../visibility_control.h | 56 + .../rosidl_typesupport_c/identifier.h | 33 + .../message_type_support_dispatch.h | 45 + .../service_type_support_dispatch.h | 45 + .../rosidl_typesupport_c/type_support_map.h | 52 + .../rosidl_typesupport_c/visibility_control.h | 56 + .../field_types.h | 82 + .../identifier.h | 33 + .../message_introspection.h | 105 + .../service_introspection.h | 43 + .../visibility_control.h | 56 + .../identifier.h | 26 + .../message_type_support.h | 51 + .../service_type_support.h | 32 + .../visibility_control.h | 56 + ...state__rosidl_typesupport_microxrcedds_c.h | 39 + ..._info__rosidl_typesupport_microxrcedds_c.h | 39 + ...oat32__rosidl_typesupport_microxrcedds_c.h | 39 + ...image__rosidl_typesupport_microxrcedds_c.h | 39 + ...ssure__rosidl_typesupport_microxrcedds_c.h | 39 + ...nance__rosidl_typesupport_microxrcedds_c.h | 39 + ...image__rosidl_typesupport_microxrcedds_c.h | 39 + .../imu__rosidl_typesupport_microxrcedds_c.h | 39 + ...state__rosidl_typesupport_microxrcedds_c.h | 39 + .../joy__rosidl_typesupport_microxrcedds_c.h | 39 + ...dback__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ..._echo__rosidl_typesupport_microxrcedds_c.h | 39 + ..._scan__rosidl_typesupport_microxrcedds_c.h | 39 + ...field__rosidl_typesupport_microxrcedds_c.h | 39 + ...state__rosidl_typesupport_microxrcedds_c.h | 39 + ..._scan__rosidl_typesupport_microxrcedds_c.h | 39 + ...t_fix__rosidl_typesupport_microxrcedds_c.h | 39 + ...tatus__rosidl_typesupport_microxrcedds_c.h | 39 + ...loud2__rosidl_typesupport_microxrcedds_c.h | 39 + ...cloud__rosidl_typesupport_microxrcedds_c.h | 39 + ...field__rosidl_typesupport_microxrcedds_c.h | 39 + ...range__rosidl_typesupport_microxrcedds_c.h | 39 + ...erest__rosidl_typesupport_microxrcedds_c.h | 39 + ...idity__rosidl_typesupport_microxrcedds_c.h | 39 + ...ature__rosidl_typesupport_microxrcedds_c.h | 39 + ...rence__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../sensor_msgs/msg/battery_state.h | 12 + .../sensor_msgs/sensor_msgs/msg/camera_info.h | 12 + .../sensor_msgs/msg/channel_float32.h | 12 + .../sensor_msgs/msg/compressed_image.h | 12 + .../msg/detail/battery_state__description.c | 352 ++ .../msg/detail/battery_state__functions.c | 421 ++ .../msg/detail/battery_state__functions.h | 210 + ...tate__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/battery_state__struct.h | 260 + .../msg/detail/battery_state__type_support.c | 482 ++ .../msg/detail/battery_state__type_support.h | 36 + .../msg/detail/camera_info__description.c | 389 ++ .../msg/detail/camera_info__functions.c | 382 ++ .../msg/detail/camera_info__functions.h | 210 + ...info__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/camera_info__struct.h | 171 + .../msg/detail/camera_info__type_support.c | 476 ++ .../msg/detail/camera_info__type_support.h | 36 + .../msg/detail/channel_float32__description.c | 135 + .../msg/detail/channel_float32__functions.c | 272 + .../msg/detail/channel_float32__functions.h | 210 + ...at32__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/channel_float32__struct.h | 71 + .../detail/channel_float32__type_support.c | 167 + .../detail/channel_float32__type_support.h | 36 + .../detail/compressed_image__description.c | 196 + .../msg/detail/compressed_image__functions.c | 293 ++ .../msg/detail/compressed_image__functions.h | 210 + ...mage__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/compressed_image__struct.h | 92 + .../detail/compressed_image__type_support.c | 191 + .../detail/compressed_image__type_support.h | 36 + .../msg/detail/fluid_pressure__description.c | 167 + .../msg/detail/fluid_pressure__functions.c | 267 + .../msg/detail/fluid_pressure__functions.h | 210 + ...sure__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/fluid_pressure__struct.h | 59 + .../msg/detail/fluid_pressure__type_support.c | 132 + .../msg/detail/fluid_pressure__type_support.h | 36 + .../msg/detail/illuminance__description.c | 175 + .../msg/detail/illuminance__functions.c | 267 + .../msg/detail/illuminance__functions.h | 210 + ...ance__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/illuminance__struct.h | 67 + .../msg/detail/illuminance__type_support.c | 132 + .../msg/detail/illuminance__type_support.h | 36 + .../msg/detail/image__description.c | 225 + .../sensor_msgs/msg/detail/image__functions.c | 325 ++ .../sensor_msgs/msg/detail/image__functions.h | 210 + ...mage__rosidl_typesupport_introspection_c.h | 26 + .../sensor_msgs/msg/detail/image__struct.h | 79 + .../msg/detail/image__type_support.c | 263 + .../msg/detail/image__type_support.h | 36 + .../sensor_msgs/msg/detail/imu__description.c | 253 + .../sensor_msgs/msg/detail/imu__functions.c | 349 ++ .../sensor_msgs/msg/detail/imu__functions.h | 210 + .../imu__rosidl_typesupport_introspection_c.h | 26 + .../sensor_msgs/msg/detail/imu__struct.h | 75 + .../msg/detail/imu__type_support.c | 355 ++ .../msg/detail/imu__type_support.h | 36 + .../msg/detail/joint_state__description.c | 202 + .../msg/detail/joint_state__functions.c | 333 ++ .../msg/detail/joint_state__functions.h | 210 + ...tate__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/joint_state__struct.h | 76 + .../msg/detail/joint_state__type_support.c | 394 ++ .../msg/detail/joint_state__type_support.h | 36 + .../sensor_msgs/msg/detail/joy__description.c | 165 + .../sensor_msgs/msg/detail/joy__functions.c | 292 ++ .../sensor_msgs/msg/detail/joy__functions.h | 210 + .../joy__rosidl_typesupport_introspection_c.h | 26 + .../sensor_msgs/msg/detail/joy__struct.h | 57 + .../msg/detail/joy__type_support.c | 245 + .../msg/detail/joy__type_support.h | 36 + .../msg/detail/joy_feedback__description.c | 136 + .../msg/detail/joy_feedback__functions.c | 252 + .../msg/detail/joy_feedback__functions.h | 210 + ...back__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/joy_feedback__struct.h | 69 + .../msg/detail/joy_feedback__type_support.c | 124 + .../msg/detail/joy_feedback__type_support.h | 36 + .../detail/joy_feedback_array__description.c | 120 + .../detail/joy_feedback_array__functions.c | 251 + .../detail/joy_feedback_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/joy_feedback_array__struct.h | 49 + .../detail/joy_feedback_array__type_support.c | 151 + .../detail/joy_feedback_array__type_support.h | 36 + .../msg/detail/laser_echo__description.c | 105 + .../msg/detail/laser_echo__functions.c | 251 + .../msg/detail/laser_echo__functions.h | 210 + ...echo__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/laser_echo__struct.h | 52 + .../msg/detail/laser_echo__type_support.c | 147 + .../msg/detail/laser_echo__type_support.h | 36 + .../msg/detail/laser_scan__description.c | 262 + .../msg/detail/laser_scan__functions.c | 348 ++ .../msg/detail/laser_scan__functions.h | 210 + ...scan__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/laser_scan__struct.h | 85 + .../msg/detail/laser_scan__type_support.c | 371 ++ .../msg/detail/laser_scan__type_support.h | 36 + .../msg/detail/magnetic_field__description.c | 191 + .../msg/detail/magnetic_field__functions.c | 284 ++ .../msg/detail/magnetic_field__functions.h | 210 + ...ield__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/magnetic_field__struct.h | 70 + .../msg/detail/magnetic_field__type_support.c | 183 + .../msg/detail/magnetic_field__type_support.h | 36 + .../multi_dof_joint_state__description.c | 278 ++ .../detail/multi_dof_joint_state__functions.c | 335 ++ .../detail/multi_dof_joint_state__functions.h | 210 + ...tate__rosidl_typesupport_introspection_c.h | 26 + .../detail/multi_dof_joint_state__struct.h | 79 + .../multi_dof_joint_state__type_support.c | 408 ++ .../multi_dof_joint_state__type_support.h | 36 + .../multi_echo_laser_scan__description.c | 279 ++ .../detail/multi_echo_laser_scan__functions.c | 348 ++ .../detail/multi_echo_laser_scan__functions.h | 210 + ...scan__rosidl_typesupport_introspection_c.h | 26 + .../detail/multi_echo_laser_scan__struct.h | 87 + .../multi_echo_laser_scan__type_support.c | 378 ++ .../multi_echo_laser_scan__type_support.h | 36 + .../msg/detail/nav_sat_fix__description.c | 259 + .../msg/detail/nav_sat_fix__functions.c | 316 ++ .../msg/detail/nav_sat_fix__functions.h | 210 + ..._fix__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/nav_sat_fix__struct.h | 107 + .../msg/detail/nav_sat_fix__type_support.c | 255 + .../msg/detail/nav_sat_fix__type_support.h | 36 + .../msg/detail/nav_sat_status__description.c | 136 + .../msg/detail/nav_sat_status__functions.c | 245 + .../msg/detail/nav_sat_status__functions.h | 210 + ...atus__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/nav_sat_status__struct.h | 134 + .../msg/detail/nav_sat_status__type_support.c | 106 + .../msg/detail/nav_sat_status__type_support.h | 36 + .../msg/detail/point_cloud2__description.c | 262 + .../msg/detail/point_cloud2__functions.c | 341 ++ .../msg/detail/point_cloud2__functions.h | 210 + ...oud2__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/point_cloud2__struct.h | 77 + .../msg/detail/point_cloud2__type_support.c | 358 ++ .../msg/detail/point_cloud2__type_support.h | 36 + .../msg/detail/point_cloud__description.c | 202 + .../msg/detail/point_cloud__functions.c | 293 ++ .../msg/detail/point_cloud__functions.h | 210 + ...loud__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/point_cloud__struct.h | 64 + .../msg/detail/point_cloud__type_support.c | 254 + .../msg/detail/point_cloud__type_support.h | 36 + .../msg/detail/point_field__description.c | 149 + .../msg/detail/point_field__functions.c | 275 + .../msg/detail/point_field__functions.h | 210 + ...ield__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/point_field__struct.h | 106 + .../msg/detail/point_field__type_support.c | 146 + .../msg/detail/point_field__type_support.h | 36 + .../msg/detail/range__description.c | 241 + .../sensor_msgs/msg/detail/range__functions.c | 299 ++ .../sensor_msgs/msg/detail/range__functions.h | 210 + ...ange__rosidl_typesupport_introspection_c.h | 26 + .../sensor_msgs/msg/detail/range__struct.h | 101 + .../msg/detail/range__type_support.c | 204 + .../msg/detail/range__type_support.h | 36 + .../detail/region_of_interest__description.c | 163 + .../detail/region_of_interest__functions.c | 268 + .../detail/region_of_interest__functions.h | 210 + ...rest__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/region_of_interest__struct.h | 64 + .../detail/region_of_interest__type_support.c | 160 + .../detail/region_of_interest__type_support.h | 36 + .../detail/relative_humidity__description.c | 168 + .../msg/detail/relative_humidity__functions.c | 267 + .../msg/detail/relative_humidity__functions.h | 210 + ...dity__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/relative_humidity__struct.h | 60 + .../detail/relative_humidity__type_support.c | 132 + .../detail/relative_humidity__type_support.h | 36 + .../msg/detail/temperature__description.c | 163 + .../msg/detail/temperature__functions.c | 267 + .../msg/detail/temperature__functions.h | 210 + ...ture__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/temperature__struct.h | 55 + .../msg/detail/temperature__type_support.c | 132 + .../msg/detail/temperature__type_support.h | 36 + .../msg/detail/time_reference__description.c | 162 + .../msg/detail/time_reference__functions.c | 293 ++ .../msg/detail/time_reference__functions.h | 210 + ...ence__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/time_reference__struct.h | 59 + .../msg/detail/time_reference__type_support.c | 140 + .../msg/detail/time_reference__type_support.h | 36 + .../sensor_msgs/msg/fluid_pressure.h | 12 + .../sensor_msgs/sensor_msgs/msg/illuminance.h | 12 + .../sensor_msgs/sensor_msgs/msg/image.h | 12 + .../include/sensor_msgs/sensor_msgs/msg/imu.h | 12 + .../sensor_msgs/sensor_msgs/msg/joint_state.h | 12 + .../include/sensor_msgs/sensor_msgs/msg/joy.h | 12 + .../sensor_msgs/msg/joy_feedback.h | 12 + .../sensor_msgs/msg/joy_feedback_array.h | 12 + .../sensor_msgs/sensor_msgs/msg/laser_echo.h | 12 + .../sensor_msgs/sensor_msgs/msg/laser_scan.h | 12 + .../sensor_msgs/msg/magnetic_field.h | 12 + .../sensor_msgs/msg/multi_dof_joint_state.h | 12 + .../sensor_msgs/msg/multi_echo_laser_scan.h | 12 + .../sensor_msgs/sensor_msgs/msg/nav_sat_fix.h | 12 + .../sensor_msgs/msg/nav_sat_status.h | 12 + .../sensor_msgs/sensor_msgs/msg/point_cloud.h | 12 + .../sensor_msgs/msg/point_cloud2.h | 12 + .../sensor_msgs/sensor_msgs/msg/point_field.h | 12 + .../sensor_msgs/sensor_msgs/msg/range.h | 12 + .../sensor_msgs/msg/region_of_interest.h | 12 + .../sensor_msgs/msg/relative_humidity.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../sensor_msgs/sensor_msgs/msg/temperature.h | 12 + .../sensor_msgs/msg/time_reference.h | 12 + .../srv/detail/set_camera_info__description.c | 579 +++ .../srv/detail/set_camera_info__functions.c | 780 +++ .../srv/detail/set_camera_info__functions.h | 585 +++ ...info__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/set_camera_info__struct.h | 109 + .../detail/set_camera_info__type_support.c | 555 ++ .../detail/set_camera_info__type_support.h | 100 + .../sensor_msgs/srv/set_camera_info.h | 12 + ..._info__rosidl_typesupport_microxrcedds_c.h | 132 + ..._info__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../detail/service_event_info__description.c | 172 + .../detail/service_event_info__functions.c | 279 ++ .../detail/service_event_info__functions.h | 210 + ...info__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/service_event_info__struct.h | 82 + .../detail/service_event_info__type_support.c | 19 + .../detail/service_event_info__type_support.h | 36 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../service_msgs/msg/service_event_info.h | 12 + .../mesh__rosidl_typesupport_microxrcedds_c.h | 39 + ...angle__rosidl_typesupport_microxrcedds_c.h | 39 + ...plane__rosidl_typesupport_microxrcedds_c.h | 39 + ...itive__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../shape_msgs/msg/detail/mesh__description.c | 151 + .../shape_msgs/msg/detail/mesh__functions.c | 272 + .../shape_msgs/msg/detail/mesh__functions.h | 210 + ...mesh__rosidl_typesupport_introspection_c.h | 26 + .../shape_msgs/msg/detail/mesh__struct.h | 54 + .../msg/detail/mesh__type_support.c | 230 + .../msg/detail/mesh__type_support.h | 36 + .../msg/detail/mesh_triangle__description.c | 103 + .../msg/detail/mesh_triangle__functions.c | 240 + .../msg/detail/mesh_triangle__functions.h | 210 + ...ngle__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/mesh_triangle__struct.h | 45 + .../msg/detail/mesh_triangle__type_support.c | 133 + .../msg/detail/mesh_triangle__type_support.h | 36 + .../msg/detail/plane__description.c | 107 + .../shape_msgs/msg/detail/plane__functions.c | 240 + .../shape_msgs/msg/detail/plane__functions.h | 210 + ...lane__rosidl_typesupport_introspection_c.h | 26 + .../shape_msgs/msg/detail/plane__struct.h | 50 + .../msg/detail/plane__type_support.c | 133 + .../msg/detail/plane__type_support.h | 36 + .../msg/detail/solid_primitive__description.c | 205 + .../msg/detail/solid_primitive__functions.c | 280 ++ .../msg/detail/solid_primitive__functions.h | 210 + ...tive__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/solid_primitive__struct.h | 174 + .../detail/solid_primitive__type_support.c | 189 + .../detail/solid_primitive__type_support.h | 36 + .../include/shape_msgs/shape_msgs/msg/mesh.h | 12 + .../shape_msgs/shape_msgs/msg/mesh_triangle.h | 12 + .../include/shape_msgs/shape_msgs/msg/plane.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../shape_msgs/msg/solid_primitive.h | 12 + ...ssage__rosidl_typesupport_microxrcedds_c.h | 39 + ...point__rosidl_typesupport_microxrcedds_c.h | 39 + ..._type__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../msg/detail/metrics_message__description.c | 218 + .../msg/detail/metrics_message__functions.c | 353 ++ .../msg/detail/metrics_message__functions.h | 210 + ...sage__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/metrics_message__struct.h | 76 + .../detail/metrics_message__type_support.c | 255 + .../detail/metrics_message__type_support.h | 36 + .../statistic_data_point__description.c | 134 + .../detail/statistic_data_point__functions.c | 244 + .../detail/statistic_data_point__functions.h | 210 + ...oint__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/statistic_data_point__struct.h | 61 + .../statistic_data_point__type_support.c | 106 + .../statistic_data_point__type_support.h | 36 + .../detail/statistic_data_type__description.c | 118 + .../detail/statistic_data_type__functions.c | 236 + .../detail/statistic_data_type__functions.h | 210 + ...type__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/statistic_data_type__struct.h | 91 + .../statistic_data_type__type_support.c | 88 + .../statistic_data_type__type_support.h | 36 + .../statistics_msgs/msg/metrics_message.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../msg/statistic_data_point.h | 12 + .../statistics_msgs/msg/statistic_data_type.h | 12 + .../bool__rosidl_typesupport_microxrcedds_c.h | 39 + .../byte__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + .../char__rosidl_typesupport_microxrcedds_c.h | 39 + ..._rgba__rosidl_typesupport_microxrcedds_c.h | 39 + ...empty__rosidl_typesupport_microxrcedds_c.h | 39 + ...oat32__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...oat64__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...eader__rosidl_typesupport_microxrcedds_c.h | 39 + ...int16__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...int32__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...int64__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + .../int8__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...nsion__rosidl_typesupport_microxrcedds_c.h | 39 + ...ayout__rosidl_typesupport_microxrcedds_c.h | 39 + ...tring__rosidl_typesupport_microxrcedds_c.h | 39 + ...int16__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...int32__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...int64__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ..._int8__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../include/std_msgs/std_msgs/msg/bool.h | 12 + .../include/std_msgs/std_msgs/msg/byte.h | 12 + .../std_msgs/std_msgs/msg/byte_multi_array.h | 12 + .../include/std_msgs/std_msgs/msg/char.h | 12 + .../std_msgs/std_msgs/msg/color_rgba.h | 12 + .../std_msgs/msg/detail/bool__description.c | 106 + .../std_msgs/msg/detail/bool__functions.c | 236 + .../std_msgs/msg/detail/bool__functions.h | 210 + ...bool__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/bool__struct.h | 48 + .../std_msgs/msg/detail/bool__type_support.c | 88 + .../std_msgs/msg/detail/bool__type_support.h | 36 + .../std_msgs/msg/detail/byte__description.c | 106 + .../std_msgs/msg/detail/byte__functions.c | 236 + .../std_msgs/msg/detail/byte__functions.h | 210 + ...byte__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/byte__struct.h | 48 + .../std_msgs/msg/detail/byte__type_support.c | 88 + .../std_msgs/msg/detail/byte__type_support.h | 36 + .../detail/byte_multi_array__description.c | 154 + .../msg/detail/byte_multi_array__functions.c | 272 + .../msg/detail/byte_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/byte_multi_array__struct.h | 59 + .../detail/byte_multi_array__type_support.c | 171 + .../detail/byte_multi_array__type_support.h | 36 + .../std_msgs/msg/detail/char__description.c | 106 + .../std_msgs/msg/detail/char__functions.c | 236 + .../std_msgs/msg/detail/char__functions.h | 210 + ...char__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/char__struct.h | 48 + .../std_msgs/msg/detail/char__type_support.c | 88 + .../std_msgs/msg/detail/char__type_support.h | 36 + .../msg/detail/color_rgba__description.c | 137 + .../msg/detail/color_rgba__functions.c | 260 + .../msg/detail/color_rgba__functions.h | 210 + ...rgba__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/color_rgba__struct.h | 45 + .../msg/detail/color_rgba__type_support.c | 142 + .../msg/detail/color_rgba__type_support.h | 36 + .../std_msgs/msg/detail/empty__description.c | 99 + .../std_msgs/msg/detail/empty__functions.c | 236 + .../std_msgs/msg/detail/empty__functions.h | 210 + ...mpty__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/empty__struct.h | 42 + .../std_msgs/msg/detail/empty__type_support.c | 88 + .../std_msgs/msg/detail/empty__type_support.h | 36 + .../msg/detail/float32__description.c | 106 + .../std_msgs/msg/detail/float32__functions.c | 236 + .../std_msgs/msg/detail/float32__functions.h | 210 + ...at32__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/float32__struct.h | 48 + .../msg/detail/float32__type_support.c | 88 + .../msg/detail/float32__type_support.h | 36 + .../detail/float32_multi_array__description.c | 154 + .../detail/float32_multi_array__functions.c | 272 + .../detail/float32_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/float32_multi_array__struct.h | 59 + .../float32_multi_array__type_support.c | 171 + .../float32_multi_array__type_support.h | 36 + .../msg/detail/float64__description.c | 106 + .../std_msgs/msg/detail/float64__functions.c | 236 + .../std_msgs/msg/detail/float64__functions.h | 210 + ...at64__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/float64__struct.h | 48 + .../msg/detail/float64__type_support.c | 88 + .../msg/detail/float64__type_support.h | 36 + .../detail/float64_multi_array__description.c | 154 + .../detail/float64_multi_array__functions.c | 272 + .../detail/float64_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/float64_multi_array__struct.h | 59 + .../float64_multi_array__type_support.c | 171 + .../float64_multi_array__type_support.h | 36 + .../std_msgs/msg/detail/header__description.c | 138 + .../std_msgs/msg/detail/header__functions.c | 272 + .../std_msgs/msg/detail/header__functions.h | 210 + ...ader__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/header__struct.h | 56 + .../msg/detail/header__type_support.c | 116 + .../msg/detail/header__type_support.h | 36 + .../std_msgs/msg/detail/int16__description.c | 106 + .../std_msgs/msg/detail/int16__functions.c | 236 + .../std_msgs/msg/detail/int16__functions.h | 210 + ...nt16__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/int16__struct.h | 48 + .../std_msgs/msg/detail/int16__type_support.c | 88 + .../std_msgs/msg/detail/int16__type_support.h | 36 + .../detail/int16_multi_array__description.c | 154 + .../msg/detail/int16_multi_array__functions.c | 272 + .../msg/detail/int16_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int16_multi_array__struct.h | 59 + .../detail/int16_multi_array__type_support.c | 171 + .../detail/int16_multi_array__type_support.h | 36 + .../std_msgs/msg/detail/int32__description.c | 106 + .../std_msgs/msg/detail/int32__functions.c | 236 + .../std_msgs/msg/detail/int32__functions.h | 210 + ...nt32__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/int32__struct.h | 48 + .../std_msgs/msg/detail/int32__type_support.c | 88 + .../std_msgs/msg/detail/int32__type_support.h | 36 + .../detail/int32_multi_array__description.c | 154 + .../msg/detail/int32_multi_array__functions.c | 272 + .../msg/detail/int32_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int32_multi_array__struct.h | 59 + .../detail/int32_multi_array__type_support.c | 171 + .../detail/int32_multi_array__type_support.h | 36 + .../std_msgs/msg/detail/int64__description.c | 106 + .../std_msgs/msg/detail/int64__functions.c | 236 + .../std_msgs/msg/detail/int64__functions.h | 210 + ...nt64__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/int64__struct.h | 48 + .../std_msgs/msg/detail/int64__type_support.c | 88 + .../std_msgs/msg/detail/int64__type_support.h | 36 + .../detail/int64_multi_array__description.c | 154 + .../msg/detail/int64_multi_array__functions.c | 272 + .../msg/detail/int64_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int64_multi_array__struct.h | 59 + .../detail/int64_multi_array__type_support.c | 171 + .../detail/int64_multi_array__type_support.h | 36 + .../std_msgs/msg/detail/int8__description.c | 106 + .../std_msgs/msg/detail/int8__functions.c | 236 + .../std_msgs/msg/detail/int8__functions.h | 210 + ...int8__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/int8__struct.h | 48 + .../std_msgs/msg/detail/int8__type_support.c | 88 + .../std_msgs/msg/detail/int8__type_support.h | 36 + .../detail/int8_multi_array__description.c | 154 + .../msg/detail/int8_multi_array__functions.c | 272 + .../msg/detail/int8_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/int8_multi_array__struct.h | 59 + .../detail/int8_multi_array__type_support.c | 171 + .../detail/int8_multi_array__type_support.h | 36 + .../multi_array_dimension__description.c | 130 + .../detail/multi_array_dimension__functions.c | 267 + .../detail/multi_array_dimension__functions.h | 210 + ...sion__rosidl_typesupport_introspection_c.h | 26 + .../detail/multi_array_dimension__struct.h | 57 + .../multi_array_dimension__type_support.c | 128 + .../multi_array_dimension__type_support.h | 36 + .../detail/multi_array_layout__description.c | 160 + .../detail/multi_array_layout__functions.c | 259 + .../detail/multi_array_layout__functions.h | 210 + ...yout__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/multi_array_layout__struct.h | 78 + .../detail/multi_array_layout__type_support.c | 169 + .../detail/multi_array_layout__type_support.h | 36 + .../std_msgs/msg/detail/string__description.c | 106 + .../std_msgs/msg/detail/string__functions.c | 251 + .../std_msgs/msg/detail/string__functions.h | 210 + ...ring__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/string__struct.h | 52 + .../msg/detail/string__type_support.c | 92 + .../msg/detail/string__type_support.h | 36 + .../msg/detail/u_int16__description.c | 106 + .../std_msgs/msg/detail/u_int16__functions.c | 236 + .../std_msgs/msg/detail/u_int16__functions.h | 210 + ...nt16__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/u_int16__struct.h | 48 + .../msg/detail/u_int16__type_support.c | 88 + .../msg/detail/u_int16__type_support.h | 36 + .../detail/u_int16_multi_array__description.c | 154 + .../detail/u_int16_multi_array__functions.c | 272 + .../detail/u_int16_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int16_multi_array__struct.h | 59 + .../u_int16_multi_array__type_support.c | 171 + .../u_int16_multi_array__type_support.h | 36 + .../msg/detail/u_int32__description.c | 106 + .../std_msgs/msg/detail/u_int32__functions.c | 236 + .../std_msgs/msg/detail/u_int32__functions.h | 210 + ...nt32__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/u_int32__struct.h | 48 + .../msg/detail/u_int32__type_support.c | 88 + .../msg/detail/u_int32__type_support.h | 36 + .../detail/u_int32_multi_array__description.c | 154 + .../detail/u_int32_multi_array__functions.c | 272 + .../detail/u_int32_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int32_multi_array__struct.h | 59 + .../u_int32_multi_array__type_support.c | 171 + .../u_int32_multi_array__type_support.h | 36 + .../msg/detail/u_int64__description.c | 106 + .../std_msgs/msg/detail/u_int64__functions.c | 236 + .../std_msgs/msg/detail/u_int64__functions.h | 210 + ...nt64__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/u_int64__struct.h | 48 + .../msg/detail/u_int64__type_support.c | 88 + .../msg/detail/u_int64__type_support.h | 36 + .../detail/u_int64_multi_array__description.c | 154 + .../detail/u_int64_multi_array__functions.c | 272 + .../detail/u_int64_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int64_multi_array__struct.h | 59 + .../u_int64_multi_array__type_support.c | 171 + .../u_int64_multi_array__type_support.h | 36 + .../std_msgs/msg/detail/u_int8__description.c | 106 + .../std_msgs/msg/detail/u_int8__functions.c | 236 + .../std_msgs/msg/detail/u_int8__functions.h | 210 + ...int8__rosidl_typesupport_introspection_c.h | 26 + .../std_msgs/msg/detail/u_int8__struct.h | 48 + .../msg/detail/u_int8__type_support.c | 88 + .../msg/detail/u_int8__type_support.h | 36 + .../detail/u_int8_multi_array__description.c | 154 + .../detail/u_int8_multi_array__functions.c | 272 + .../detail/u_int8_multi_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/u_int8_multi_array__struct.h | 59 + .../detail/u_int8_multi_array__type_support.c | 171 + .../detail/u_int8_multi_array__type_support.h | 36 + .../include/std_msgs/std_msgs/msg/empty.h | 12 + .../include/std_msgs/std_msgs/msg/float32.h | 12 + .../std_msgs/msg/float32_multi_array.h | 12 + .../include/std_msgs/std_msgs/msg/float64.h | 12 + .../std_msgs/msg/float64_multi_array.h | 12 + .../include/std_msgs/std_msgs/msg/header.h | 12 + .../include/std_msgs/std_msgs/msg/int16.h | 12 + .../std_msgs/std_msgs/msg/int16_multi_array.h | 12 + .../include/std_msgs/std_msgs/msg/int32.h | 12 + .../std_msgs/std_msgs/msg/int32_multi_array.h | 12 + .../include/std_msgs/std_msgs/msg/int64.h | 12 + .../std_msgs/std_msgs/msg/int64_multi_array.h | 12 + .../include/std_msgs/std_msgs/msg/int8.h | 12 + .../std_msgs/std_msgs/msg/int8_multi_array.h | 12 + .../std_msgs/msg/multi_array_dimension.h | 12 + .../std_msgs/msg/multi_array_layout.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../include/std_msgs/std_msgs/msg/string.h | 12 + .../include/std_msgs/std_msgs/msg/u_int16.h | 12 + .../std_msgs/msg/u_int16_multi_array.h | 12 + .../include/std_msgs/std_msgs/msg/u_int32.h | 12 + .../std_msgs/msg/u_int32_multi_array.h | 12 + .../include/std_msgs/std_msgs/msg/u_int64.h | 12 + .../std_msgs/msg/u_int64_multi_array.h | 12 + .../include/std_msgs/std_msgs/msg/u_int8.h | 12 + .../std_msgs/msg/u_int8_multi_array.h | 12 + ...pport_microxrcedds_c__visibility_control.h | 43 + ...empty__rosidl_typesupport_microxrcedds_c.h | 132 + ..._bool__rosidl_typesupport_microxrcedds_c.h | 132 + ...igger__rosidl_typesupport_microxrcedds_c.h | 132 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../std_srvs/srv/detail/empty__description.c | 460 ++ .../std_srvs/srv/detail/empty__functions.c | 742 +++ .../std_srvs/srv/detail/empty__functions.h | 585 +++ ...mpty__rosidl_typesupport_introspection_c.h | 58 + .../std_srvs/srv/detail/empty__struct.h | 97 + .../std_srvs/srv/detail/empty__type_support.c | 525 ++ .../std_srvs/srv/detail/empty__type_support.h | 100 + .../srv/detail/set_bool__description.c | 474 ++ .../std_srvs/srv/detail/set_bool__functions.c | 765 +++ .../std_srvs/srv/detail/set_bool__functions.h | 585 +++ ...bool__rosidl_typesupport_introspection_c.h | 58 + .../std_srvs/srv/detail/set_bool__struct.h | 105 + .../srv/detail/set_bool__type_support.c | 547 ++ .../srv/detail/set_bool__type_support.h | 100 + .../srv/detail/trigger__description.c | 473 ++ .../std_srvs/srv/detail/trigger__functions.c | 765 +++ .../std_srvs/srv/detail/trigger__functions.h | 585 +++ ...gger__rosidl_typesupport_introspection_c.h | 58 + .../std_srvs/srv/detail/trigger__struct.h | 104 + .../srv/detail/trigger__type_support.c | 547 ++ .../srv/detail/trigger__type_support.h | 100 + .../include/std_srvs/std_srvs/srv/empty.h | 12 + .../include/std_srvs/std_srvs/srv/set_bool.h | 12 + .../include/std_srvs/std_srvs/srv/trigger.h | 12 + ...image__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../msg/detail/disparity_image__description.c | 269 + .../msg/detail/disparity_image__functions.c | 333 ++ .../msg/detail/disparity_image__functions.h | 210 + ...mage__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/disparity_image__struct.h | 77 + .../detail/disparity_image__type_support.c | 19 + .../detail/disparity_image__type_support.h | 36 + .../stereo_msgs/msg/disparity_image.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + ...nacci__rosidl_typesupport_microxrcedds_c.h | 411 ++ ...ssage__rosidl_typesupport_microxrcedds_c.h | 411 ++ ...rrays__rosidl_typesupport_microxrcedds_c.h | 39 + ...types__rosidl_typesupport_microxrcedds_c.h | 39 + ...ences__rosidl_typesupport_microxrcedds_c.h | 39 + ...ences__rosidl_typesupport_microxrcedds_c.h | 39 + ...ltins__rosidl_typesupport_microxrcedds_c.h | 39 + ...tants__rosidl_typesupport_microxrcedds_c.h | 39 + ...aults__rosidl_typesupport_microxrcedds_c.h | 39 + ...empty__rosidl_typesupport_microxrcedds_c.h | 39 + ...ested__rosidl_typesupport_microxrcedds_c.h | 39 + ...ested__rosidl_typesupport_microxrcedds_c.h | 39 + ...rings__rosidl_typesupport_microxrcedds_c.h | 39 + ...ences__rosidl_typesupport_microxrcedds_c.h | 39 + ...rings__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + ...rrays__rosidl_typesupport_microxrcedds_c.h | 132 + ...types__rosidl_typesupport_microxrcedds_c.h | 132 + ...empty__rosidl_typesupport_microxrcedds_c.h | 132 + .../action/detail/fibonacci__description.c | 1593 ++++++ .../action/detail/fibonacci__functions.c | 2545 ++++++++++ .../action/detail/fibonacci__functions.h | 1866 +++++++ ...acci__rosidl_typesupport_introspection_c.h | 146 + .../action/detail/fibonacci__struct.h | 283 ++ .../action/detail/fibonacci__type_support.c | 1685 +++++++ .../action/detail/fibonacci__type_support.h | 242 + .../detail/nested_message__description.c | 1971 ++++++++ .../action/detail/nested_message__functions.c | 2692 ++++++++++ .../action/detail/nested_message__functions.h | 1866 +++++++ ...sage__rosidl_typesupport_introspection_c.h | 146 + .../action/detail/nested_message__struct.h | 311 ++ .../detail/nested_message__type_support.c | 1748 +++++++ .../detail/nested_message__type_support.h | 242 + .../test_msgs/test_msgs/action/fibonacci.h | 12 + .../test_msgs/action/nested_message.h | 12 + .../test_msgs/test_msgs/message_fixtures.hpp | 583 +++ .../include/test_msgs/test_msgs/msg/arrays.h | 12 + .../test_msgs/test_msgs/msg/basic_types.h | 12 + .../test_msgs/msg/bounded_plain_sequences.h | 12 + .../test_msgs/msg/bounded_sequences.h | 12 + .../test_msgs/test_msgs/msg/builtins.h | 12 + .../test_msgs/test_msgs/msg/constants.h | 12 + .../test_msgs/test_msgs/msg/defaults.h | 12 + .../msg/detail/arrays__description.c | 537 ++ .../test_msgs/msg/detail/arrays__functions.c | 757 +++ .../test_msgs/msg/detail/arrays__functions.h | 210 + ...rays__rosidl_typesupport_introspection_c.h | 26 + .../test_msgs/msg/detail/arrays__struct.h | 88 + .../msg/detail/arrays__type_support.c | 2064 ++++++++ .../msg/detail/arrays__type_support.h | 36 + .../msg/detail/basic_types__description.c | 245 + .../msg/detail/basic_types__functions.c | 332 ++ .../msg/detail/basic_types__functions.h | 210 + ...ypes__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/basic_types__struct.h | 54 + .../msg/detail/basic_types__type_support.c | 304 ++ .../msg/detail/basic_types__type_support.h | 36 + .../bounded_plain_sequences__description.c | 512 ++ .../bounded_plain_sequences__functions.c | 913 ++++ .../bounded_plain_sequences__functions.h | 210 + ...nces__rosidl_typesupport_introspection_c.h | 26 + .../detail/bounded_plain_sequences__struct.h | 257 + .../bounded_plain_sequences__type_support.c | 2252 +++++++++ .../bounded_plain_sequences__type_support.h | 36 + .../detail/bounded_sequences__description.c | 537 ++ .../msg/detail/bounded_sequences__functions.c | 982 ++++ .../msg/detail/bounded_sequences__functions.h | 210 + ...nces__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/bounded_sequences__struct.h | 272 + .../detail/bounded_sequences__type_support.c | 2401 +++++++++ .../detail/bounded_sequences__type_support.h | 36 + .../msg/detail/builtins__description.c | 146 + .../msg/detail/builtins__functions.c | 272 + .../msg/detail/builtins__functions.h | 210 + ...tins__rosidl_typesupport_introspection_c.h | 26 + .../test_msgs/msg/detail/builtins__struct.h | 49 + .../msg/detail/builtins__type_support.c | 120 + .../msg/detail/builtins__type_support.h | 36 + .../msg/detail/constants__description.c | 113 + .../msg/detail/constants__functions.c | 236 + .../msg/detail/constants__functions.h | 210 + ...ants__rosidl_typesupport_introspection_c.h | 26 + .../test_msgs/msg/detail/constants__struct.h | 111 + .../msg/detail/constants__type_support.c | 88 + .../msg/detail/constants__type_support.h | 36 + .../msg/detail/defaults__description.c | 258 + .../msg/detail/defaults__functions.c | 345 ++ .../msg/detail/defaults__functions.h | 210 + ...ults__rosidl_typesupport_introspection_c.h | 26 + .../test_msgs/msg/detail/defaults__struct.h | 54 + .../msg/detail/defaults__type_support.c | 304 ++ .../msg/detail/defaults__type_support.h | 36 + .../test_msgs/msg/detail/empty__description.c | 99 + .../test_msgs/msg/detail/empty__functions.c | 236 + .../test_msgs/msg/detail/empty__functions.h | 210 + ...mpty__rosidl_typesupport_introspection_c.h | 26 + .../test_msgs/msg/detail/empty__struct.h | 42 + .../msg/detail/empty__type_support.c | 88 + .../msg/detail/empty__type_support.h | 36 + .../msg/detail/multi_nested__description.c | 291 ++ .../msg/detail/multi_nested__functions.c | 437 ++ .../msg/detail/multi_nested__functions.h | 210 + ...sted__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/multi_nested__struct.h | 84 + .../msg/detail/multi_nested__type_support.c | 741 +++ .../msg/detail/multi_nested__type_support.h | 36 + .../msg/detail/nested__description.c | 119 + .../test_msgs/msg/detail/nested__functions.c | 251 + .../test_msgs/msg/detail/nested__functions.h | 210 + ...sted__rosidl_typesupport_introspection_c.h | 26 + .../test_msgs/msg/detail/nested__struct.h | 46 + .../msg/detail/nested__type_support.c | 96 + .../msg/detail/nested__type_support.h | 36 + .../msg/detail/strings__description.c | 244 + .../test_msgs/msg/detail/strings__functions.c | 551 ++ .../test_msgs/msg/detail/strings__functions.h | 210 + ...ings__rosidl_typesupport_introspection_c.h | 26 + .../test_msgs/msg/detail/strings__struct.h | 103 + .../msg/detail/strings__type_support.c | 301 ++ .../msg/detail/strings__type_support.h | 36 + .../detail/unbounded_sequences__description.c | 537 ++ .../detail/unbounded_sequences__functions.c | 982 ++++ .../detail/unbounded_sequences__functions.h | 210 + ...nces__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/unbounded_sequences__struct.h | 115 + .../unbounded_sequences__type_support.c | 2401 +++++++++ .../unbounded_sequences__type_support.h | 36 + .../msg/detail/w_strings__description.c | 179 + .../msg/detail/w_strings__functions.c | 404 ++ .../msg/detail/w_strings__functions.h | 210 + ...ings__rosidl_typesupport_introspection_c.h | 26 + .../test_msgs/msg/detail/w_strings__struct.h | 68 + .../msg/detail/w_strings__type_support.c | 361 ++ .../msg/detail/w_strings__type_support.h | 36 + .../include/test_msgs/test_msgs/msg/empty.h | 12 + .../test_msgs/test_msgs/msg/multi_nested.h | 12 + .../include/test_msgs/test_msgs/msg/nested.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../include/test_msgs/test_msgs/msg/strings.h | 12 + .../test_msgs/msg/unbounded_sequences.h | 12 + .../test_msgs/test_msgs/msg/w_strings.h | 12 + .../test_msgs/test_msgs/service_fixtures.hpp | 220 + .../include/test_msgs/test_msgs/srv/arrays.h | 12 + .../test_msgs/test_msgs/srv/basic_types.h | 12 + .../srv/detail/arrays__description.c | 1324 +++++ .../test_msgs/srv/detail/arrays__functions.c | 1772 +++++++ .../test_msgs/srv/detail/arrays__functions.h | 585 +++ ...rays__rosidl_typesupport_introspection_c.h | 58 + .../test_msgs/srv/detail/arrays__struct.h | 183 + .../srv/detail/arrays__type_support.c | 4448 +++++++++++++++++ .../srv/detail/arrays__type_support.h | 100 + .../srv/detail/basic_types__description.c | 774 +++ .../srv/detail/basic_types__functions.c | 981 ++++ .../srv/detail/basic_types__functions.h | 585 +++ ...ypes__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/basic_types__struct.h | 132 + .../srv/detail/basic_types__type_support.c | 1002 ++++ .../srv/detail/basic_types__type_support.h | 100 + .../test_msgs/srv/detail/empty__description.c | 460 ++ .../test_msgs/srv/detail/empty__functions.c | 742 +++ .../test_msgs/srv/detail/empty__functions.h | 585 +++ ...mpty__rosidl_typesupport_introspection_c.h | 58 + .../test_msgs/srv/detail/empty__struct.h | 97 + .../srv/detail/empty__type_support.c | 525 ++ .../srv/detail/empty__type_support.h | 100 + .../include/test_msgs/test_msgs/srv/empty.h | 12 + .../tracetools/tracetools/tracetools.h | 126 +- ...ctory__rosidl_typesupport_microxrcedds_c.h | 39 + ...point__rosidl_typesupport_microxrcedds_c.h | 39 + ...ctory__rosidl_typesupport_microxrcedds_c.h | 39 + ...point__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../detail/joint_trajectory__description.c | 196 + .../msg/detail/joint_trajectory__functions.c | 293 ++ .../msg/detail/joint_trajectory__functions.h | 210 + ...tory__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/joint_trajectory__struct.h | 60 + .../detail/joint_trajectory__type_support.c | 250 + .../detail/joint_trajectory__type_support.h | 36 + .../joint_trajectory_point__description.c | 188 + .../joint_trajectory_point__functions.c | 332 ++ .../joint_trajectory_point__functions.h | 210 + ...oint__rosidl_typesupport_introspection_c.h | 26 + .../detail/joint_trajectory_point__struct.h | 73 + .../joint_trajectory_point__type_support.c | 393 ++ .../joint_trajectory_point__type_support.h | 36 + .../multi_dof_joint_trajectory__description.c | 255 + .../multi_dof_joint_trajectory__functions.c | 293 ++ .../multi_dof_joint_trajectory__functions.h | 210 + ...tory__rosidl_typesupport_introspection_c.h | 26 + .../multi_dof_joint_trajectory__struct.h | 59 + ...multi_dof_joint_trajectory__type_support.c | 250 + ...multi_dof_joint_trajectory__type_support.h | 36 + ..._dof_joint_trajectory_point__description.c | 222 + ...ti_dof_joint_trajectory_point__functions.c | 313 ++ ...ti_dof_joint_trajectory_point__functions.h | 210 + ...oint__rosidl_typesupport_introspection_c.h | 26 + ...multi_dof_joint_trajectory_point__struct.h | 60 + ...dof_joint_trajectory_point__type_support.c | 331 ++ ...dof_joint_trajectory_point__type_support.h | 36 + .../trajectory_msgs/msg/joint_trajectory.h | 12 + .../msg/joint_trajectory_point.h | 12 + .../msg/multi_dof_joint_trajectory.h | 12 + .../msg/multi_dof_joint_trajectory_point.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + ...field__rosidl_typesupport_microxrcedds_c.h | 39 + ..._type__rosidl_typesupport_microxrcedds_c.h | 39 + ...ption__rosidl_typesupport_microxrcedds_c.h | 39 + ...value__rosidl_typesupport_microxrcedds_c.h | 39 + ...ption__rosidl_typesupport_microxrcedds_c.h | 39 + ...ource__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + ...ption__rosidl_typesupport_microxrcedds_c.h | 132 + .../msg/detail/field__description.c | 149 + .../msg/detail/field__functions.c | 292 ++ .../msg/detail/field__functions.h | 210 + ...ield__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/field__struct.h | 58 + .../msg/detail/field__type_support.c | 135 + .../msg/detail/field__type_support.h | 36 + .../msg/detail/field_type__description.c | 290 ++ .../msg/detail/field_type__functions.c | 276 + .../msg/detail/field_type__functions.h | 210 + ...type__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/field_type__struct.h | 662 +++ .../msg/detail/field_type__type_support.c | 146 + .../msg/detail/field_type__type_support.h | 36 + ...individual_type_description__description.c | 155 + .../individual_type_description__functions.c | 272 + .../individual_type_description__functions.h | 210 + ...tion__rosidl_typesupport_introspection_c.h | 26 + .../individual_type_description__struct.h | 66 + ...ndividual_type_description__type_support.c | 171 + ...ndividual_type_description__type_support.h | 36 + .../msg/detail/key_value__description.c | 115 + .../msg/detail/key_value__functions.c | 271 + .../msg/detail/key_value__functions.h | 210 + ...alue__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/key_value__struct.h | 51 + .../msg/detail/key_value__type_support.c | 111 + .../msg/detail/key_value__type_support.h | 36 + .../detail/type_description__description.c | 165 + .../msg/detail/type_description__functions.c | 271 + .../msg/detail/type_description__functions.h | 210 + ...tion__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/type_description__struct.h | 53 + .../detail/type_description__type_support.c | 173 + .../detail/type_description__type_support.h | 36 + .../msg/detail/type_source__description.c | 138 + .../msg/detail/type_source__functions.c | 291 ++ .../msg/detail/type_source__functions.h | 210 + ...urce__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/type_source__struct.h | 62 + .../msg/detail/type_source__type_support.c | 130 + .../msg/detail/type_source__type_support.h | 36 + .../type_description_interfaces/msg/field.h | 12 + .../msg/field_type.h | 12 + .../msg/individual_type_description.h | 12 + .../msg/key_value.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../msg/type_description.h | 12 + .../msg/type_source.h | 12 + .../get_type_description__description.c | 732 +++ .../detail/get_type_description__functions.c | 873 ++++ .../detail/get_type_description__functions.h | 585 +++ ...tion__rosidl_typesupport_introspection_c.h | 58 + .../srv/detail/get_type_description__struct.h | 131 + .../get_type_description__type_support.c | 771 +++ .../get_type_description__type_support.h | 100 + .../srv/get_type_description.h | 12 + .../uuid__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + .../msg/detail/uuid__description.c | 106 + .../msg/detail/uuid__functions.c | 240 + .../msg/detail/uuid__functions.h | 210 + ...uuid__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/uuid__struct.h | 48 + .../msg/detail/uuid__type_support.c | 19 + .../msg/detail/uuid__type_support.h | 36 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../unique_identifier_msgs/msg/uuid.h | 12 + ...arker__rosidl_typesupport_microxrcedds_c.h | 39 + ...arker__rosidl_typesupport_microxrcedds_c.h | 39 + ...ntrol__rosidl_typesupport_microxrcedds_c.h | 39 + ...dback__rosidl_typesupport_microxrcedds_c.h | 39 + ..._init__rosidl_typesupport_microxrcedds_c.h | 39 + ..._pose__rosidl_typesupport_microxrcedds_c.h | 39 + ...pdate__rosidl_typesupport_microxrcedds_c.h | 39 + ...arker__rosidl_typesupport_microxrcedds_c.h | 39 + ...array__rosidl_typesupport_microxrcedds_c.h | 39 + ...entry__rosidl_typesupport_microxrcedds_c.h | 39 + ..._file__rosidl_typesupport_microxrcedds_c.h | 39 + ...inate__rosidl_typesupport_microxrcedds_c.h | 39 + ...pport_microxrcedds_c__visibility_control.h | 43 + ...rkers__rosidl_typesupport_microxrcedds_c.h | 132 + .../msg/detail/image_marker__description.c | 346 ++ .../msg/detail/image_marker__functions.c | 435 ++ .../msg/detail/image_marker__functions.h | 210 + ...rker__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/image_marker__struct.h | 124 + .../msg/detail/image_marker__type_support.c | 454 ++ .../msg/detail/image_marker__type_support.h | 36 + .../detail/interactive_marker__description.c | 405 ++ .../detail/interactive_marker__functions.c | 363 ++ .../detail/interactive_marker__functions.h | 210 + ...rker__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/interactive_marker__struct.h | 76 + .../detail/interactive_marker__type_support.c | 335 ++ .../detail/interactive_marker__type_support.h | 36 + .../interactive_marker_control__description.c | 437 ++ .../interactive_marker_control__functions.c | 345 ++ .../interactive_marker_control__functions.h | 210 + ...trol__rosidl_typesupport_introspection_c.h | 26 + .../interactive_marker_control__struct.h | 184 + ...interactive_marker_control__type_support.c | 286 ++ ...interactive_marker_control__type_support.h | 36 + ...interactive_marker_feedback__description.c | 308 ++ .../interactive_marker_feedback__functions.c | 378 ++ .../interactive_marker_feedback__functions.h | 210 + ...back__rosidl_typesupport_introspection_c.h | 26 + .../interactive_marker_feedback__struct.h | 120 + ...nteractive_marker_feedback__type_support.c | 256 + ...nteractive_marker_feedback__type_support.h | 36 + .../interactive_marker_init__description.c | 364 ++ .../interactive_marker_init__functions.c | 280 ++ .../interactive_marker_init__functions.h | 210 + ...init__rosidl_typesupport_introspection_c.h | 26 + .../detail/interactive_marker_init__struct.h | 61 + .../interactive_marker_init__type_support.c | 189 + .../interactive_marker_init__type_support.h | 36 + .../interactive_marker_pose__description.c | 210 + .../interactive_marker_pose__functions.c | 293 ++ .../interactive_marker_pose__functions.h | 210 + ...pose__rosidl_typesupport_introspection_c.h | 26 + .../detail/interactive_marker_pose__struct.h | 56 + .../interactive_marker_pose__type_support.c | 140 + .../interactive_marker_pose__type_support.h | 36 + .../interactive_marker_update__description.c | 430 ++ .../interactive_marker_update__functions.c | 329 ++ .../interactive_marker_update__functions.h | 210 + ...date__rosidl_typesupport_introspection_c.h | 26 + .../interactive_marker_update__struct.h | 86 + .../interactive_marker_update__type_support.c | 360 ++ .../interactive_marker_update__type_support.h | 36 + .../msg/detail/marker__description.c | 547 ++ .../msg/detail/marker__functions.c | 560 +++ .../msg/detail/marker__functions.h | 210 + ...rker__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/marker__struct.h | 228 + .../msg/detail/marker__type_support.c | 642 +++ .../msg/detail/marker__type_support.h | 36 + .../msg/detail/marker_array__description.c | 284 ++ .../msg/detail/marker_array__functions.c | 251 + .../msg/detail/marker_array__functions.h | 210 + ...rray__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/marker_array__struct.h | 46 + .../msg/detail/marker_array__type_support.c | 151 + .../msg/detail/marker_array__type_support.h | 36 + .../msg/detail/menu_entry__description.c | 198 + .../msg/detail/menu_entry__functions.c | 295 ++ .../msg/detail/menu_entry__functions.h | 210 + ...ntry__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/menu_entry__struct.h | 114 + .../msg/detail/menu_entry__type_support.c | 165 + .../msg/detail/menu_entry__type_support.h | 36 + .../msg/detail/mesh_file__description.c | 119 + .../msg/detail/mesh_file__functions.c | 272 + .../msg/detail/mesh_file__functions.h | 210 + ...file__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/mesh_file__struct.h | 55 + .../msg/detail/mesh_file__type_support.c | 167 + .../msg/detail/mesh_file__type_support.h | 36 + .../msg/detail/uv_coordinate__description.c | 115 + .../msg/detail/uv_coordinate__functions.c | 244 + .../msg/detail/uv_coordinate__functions.h | 210 + ...nate__rosidl_typesupport_introspection_c.h | 26 + .../msg/detail/uv_coordinate__struct.h | 47 + .../msg/detail/uv_coordinate__type_support.c | 106 + .../msg/detail/uv_coordinate__type_support.h | 36 + .../visualization_msgs/msg/image_marker.h | 12 + .../msg/interactive_marker.h | 12 + .../msg/interactive_marker_control.h | 12 + .../msg/interactive_marker_feedback.h | 12 + .../msg/interactive_marker_init.h | 12 + .../msg/interactive_marker_pose.h | 12 + .../msg/interactive_marker_update.h | 12 + .../visualization_msgs/msg/marker.h | 12 + .../visualization_msgs/msg/marker_array.h | 12 + .../visualization_msgs/msg/menu_entry.h | 12 + .../visualization_msgs/msg/mesh_file.h | 12 + .../rosidl_generator_c__visibility_control.h | 42 + ...port_introspection_c__visibility_control.h | 43 + .../visualization_msgs/msg/uv_coordinate.h | 12 + .../get_interactive_markers__description.c | 895 ++++ .../get_interactive_markers__functions.c | 765 +++ .../get_interactive_markers__functions.h | 585 +++ ...kers__rosidl_typesupport_introspection_c.h | 58 + .../detail/get_interactive_markers__struct.h | 103 + .../get_interactive_markers__type_support.c | 606 +++ .../get_interactive_markers__type_support.h | 100 + .../srv/get_interactive_markers.h | 12 + 2398 files changed, 387344 insertions(+), 139 deletions(-) create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_info__description.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_info__functions.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_info__functions.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_info__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_info__struct.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_info__type_support.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_info__type_support.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status__description.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status__functions.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status__functions.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status__struct.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status__type_support.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status__type_support.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status_array__description.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status_array__functions.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status_array__functions.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status_array__struct.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/detail/goal_status_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/goal_info.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/goal_status.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/goal_status_array.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/srv/cancel_goal.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/srv/detail/cancel_goal__description.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/srv/detail/cancel_goal__functions.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/srv/detail/cancel_goal__functions.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/srv/detail/cancel_goal__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/srv/detail/cancel_goal__struct.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/srv/detail/cancel_goal__type_support.c create mode 100644 ports/espressif/microros-ext/include/action_msgs/action_msgs/srv/detail/cancel_goal__type_support.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/msg/detail/goal_info__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/msg/detail/goal_status__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/msg/detail/goal_status_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/action_msgs/srv/detail/cancel_goal__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_id__description.c create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_id__functions.c create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_id__functions.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_id__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_id__struct.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_id__type_support.c create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_id__type_support.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status__description.c create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status__functions.c create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status__functions.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status__struct.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status__type_support.c create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status__type_support.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status_array__description.c create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status_array__functions.c create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status_array__functions.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status_array__struct.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail/goal_status_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/goal_id.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/goal_status.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/goal_status_array.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/actionlib_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/msg/detail/goal_id__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/msg/detail/goal_status__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/msg/detail/goal_status_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/actionlib_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/duration__description.c create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/duration__functions.c create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/duration__functions.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/duration__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/duration__struct.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/duration__type_support.c create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/duration__type_support.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/time__description.c create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/time__functions.c create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/time__functions.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/time__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/time__struct.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/time__type_support.c create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail/time__type_support.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/duration.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/builtin_interfaces/msg/time.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/msg/detail/duration__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/msg/detail/time__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/builtin_interfaces/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/list_nodes__description.c create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/list_nodes__functions.c create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/list_nodes__functions.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/list_nodes__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/list_nodes__struct.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/list_nodes__type_support.c create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/list_nodes__type_support.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/load_node__description.c create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/load_node__functions.c create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/load_node__functions.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/load_node__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/load_node__struct.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/load_node__type_support.c create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/load_node__type_support.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/unload_node__description.c create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/unload_node__functions.c create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/unload_node__functions.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/unload_node__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/unload_node__struct.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/unload_node__type_support.c create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/detail/unload_node__type_support.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/list_nodes.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/load_node.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/composition_interfaces/srv/unload_node.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/srv/detail/list_nodes__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/srv/detail/load_node__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/composition_interfaces/srv/detail/unload_node__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_array__description.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_array__functions.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_array__functions.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_array__struct.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_status__description.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_status__functions.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_status__functions.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_status__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_status__struct.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_status__type_support.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/diagnostic_status__type_support.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/key_value__description.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/key_value__functions.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/key_value__functions.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/key_value__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/key_value__struct.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/key_value__type_support.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail/key_value__type_support.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/diagnostic_array.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/diagnostic_status.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/key_value.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/add_diagnostics.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/add_diagnostics__description.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/add_diagnostics__functions.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/add_diagnostics__functions.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/add_diagnostics__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/add_diagnostics__struct.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/add_diagnostics__type_support.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/add_diagnostics__type_support.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/self_test__description.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/self_test__functions.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/self_test__functions.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/self_test__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/self_test__struct.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/self_test__type_support.c create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail/self_test__type_support.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/self_test.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/msg/detail/diagnostic_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/msg/detail/diagnostic_status__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/msg/detail/key_value__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/srv/detail/add_diagnostics__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/diagnostic_msgs/srv/detail/self_test__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/action/detail/fibonacci__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/action/detail/fibonacci__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/action/detail/fibonacci__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/action/detail/fibonacci__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/action/detail/fibonacci__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/action/detail/fibonacci__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/action/detail/fibonacci__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/action/detail/fibonacci__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/action/fibonacci.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/bool.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/byte.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/byte_multi_array.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/char.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/bool__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/bool__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/bool__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/bool__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/bool__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/bool__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/bool__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/byte_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/char__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/char__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/char__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/char__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/char__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/char__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/char__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/empty__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/empty__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/empty__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/empty__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/empty__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/empty__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/empty__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float32_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/float64_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int16_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int32_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int64_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/int8_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_dimension__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_dimension__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_dimension__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_dimension__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_dimension__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_dimension__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_dimension__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_layout__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_layout__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_layout__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_layout__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_layout__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_layout__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/multi_array_layout__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/string__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/string__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/string__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/string__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/string__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/string__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/string__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int16_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int32_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int64_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/u_int8_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/w_string__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/w_string__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/w_string__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/w_string__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/w_string__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/w_string__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/detail/w_string__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/empty.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/float32.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/float32_multi_array.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/float64.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/float64_multi_array.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/int16.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/int16_multi_array.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/int32.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/int32_multi_array.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/int64.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/int64_multi_array.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/int8.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/int8_multi_array.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/multi_array_dimension.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/multi_array_layout.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/string.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/u_int16.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/u_int16_multi_array.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/u_int32.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/u_int32_multi_array.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/u_int64.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/u_int64_multi_array.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/u_int8.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/u_int8_multi_array.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/msg/w_string.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/add_two_ints.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/add_two_ints__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/add_two_ints__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/add_two_ints__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/add_two_ints__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/add_two_ints__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/add_two_ints__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/add_two_ints__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/set_bool__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/set_bool__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/set_bool__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/set_bool__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/set_bool__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/set_bool__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/set_bool__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/trigger__description.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/trigger__functions.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/trigger__functions.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/trigger__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/trigger__struct.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/trigger__type_support.c create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/detail/trigger__type_support.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/set_bool.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/example_interfaces/srv/trigger.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/bool__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/byte__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/byte_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/char__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/empty__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/float32__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/float32_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/float64__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/float64_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/int16__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/int16_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/int32__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/int32_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/int64__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/int64_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/int8__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/int8_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/multi_array_dimension__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/multi_array_layout__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/string__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/u_int16__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/u_int16_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/u_int32__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/u_int32_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/u_int64__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/u_int64_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/u_int8__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/u_int8_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/detail/w_string__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/srv/detail/add_two_ints__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/srv/detail/set_bool__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/example_interfaces/srv/detail/trigger__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/accel.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/accel_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/accel_with_covariance.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/accel_with_covariance_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/accel_with_covariance_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/inertia_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point32__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point32__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point32__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point32__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point32__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point32__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point32__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/point_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_instance_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/polygon_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose2_d__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose2_d__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose2_d__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose2_d__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose2_d__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose2_d__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose2_d__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_array__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_array__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_array__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_array__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/pose_with_covariance_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/quaternion_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/transform_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/twist_with_covariance_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/vector3_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/velocity_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/velocity_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/velocity_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/velocity_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/velocity_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/velocity_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/velocity_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench_stamped__description.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench_stamped__functions.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench_stamped__functions.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench_stamped__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench_stamped__struct.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench_stamped__type_support.c create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/detail/wrench_stamped__type_support.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/inertia.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/inertia_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/point.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/point32.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/point_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/polygon.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/polygon_instance.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/polygon_instance_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/polygon_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/pose.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/pose2_d.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/pose_array.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/pose_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/pose_with_covariance.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/pose_with_covariance_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/quaternion.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/quaternion_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/transform.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/transform_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/twist.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/twist_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/twist_with_covariance.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/twist_with_covariance_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/vector3.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/vector3_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/velocity_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/wrench.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/geometry_msgs/msg/wrench_stamped.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/accel__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/accel_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/accel_with_covariance__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/accel_with_covariance_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/inertia__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/inertia_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/point32__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/point__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/point_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/polygon__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/polygon_instance__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/polygon_instance_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/polygon_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/pose2_d__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/pose__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/pose_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/pose_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/pose_with_covariance__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/pose_with_covariance_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/quaternion__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/quaternion_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/transform__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/transform_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/twist__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/twist_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/twist_with_covariance__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/twist_with_covariance_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/vector3__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/vector3_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/velocity_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/wrench__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/detail/wrench_stamped__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/geometry_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/state__description.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/state__functions.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/state__functions.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/state__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/state__struct.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/state__type_support.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/state__type_support.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition__description.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition__functions.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition__functions.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition__struct.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition__type_support.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition__type_support.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_description__description.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_description__functions.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_description__functions.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_description__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_description__struct.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_description__type_support.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_description__type_support.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_event__description.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_event__functions.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_event__functions.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_event__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_event__struct.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_event__type_support.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail/transition_event__type_support.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/state.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/transition.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/transition_description.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/transition_event.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/change_state.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/change_state__description.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/change_state__functions.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/change_state__functions.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/change_state__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/change_state__struct.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/change_state__type_support.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/change_state__type_support.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_states__description.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_states__functions.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_states__functions.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_states__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_states__struct.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_states__type_support.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_states__type_support.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_transitions__description.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_transitions__functions.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_transitions__functions.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_transitions__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_transitions__struct.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_transitions__type_support.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_available_transitions__type_support.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_state__description.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_state__functions.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_state__functions.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_state__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_state__struct.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_state__type_support.c create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail/get_state__type_support.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/get_available_states.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/get_available_transitions.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/get_state.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/msg/detail/state__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/msg/detail/transition__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/msg/detail/transition_description__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/msg/detail/transition_event__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/srv/detail/change_state__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/srv/detail/get_available_states__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/srv/detail/get_available_transitions__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/lifecycle_msgs/srv/detail/get_state__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/entity__description.c create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/entity__functions.c create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/entity__functions.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/entity__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/entity__struct.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/entity__type_support.c create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/entity__type_support.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/graph__description.c create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/graph__functions.c create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/graph__functions.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/graph__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/graph__struct.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/graph__type_support.c create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/graph__type_support.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/node__description.c create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/node__functions.c create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/node__functions.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/node__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/node__struct.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/node__type_support.c create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail/node__type_support.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/entity.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/graph.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/node.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/msg/detail/entity__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/msg/detail/graph__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/msg/detail/node__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_utilities/string_utilities.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_utilities/type_utilities.h create mode 100644 ports/espressif/microros-ext/include/micro_ros_utilities/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/msg/detail/grid_cells__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/msg/detail/map_meta_data__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/msg/detail/occupancy_grid__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/msg/detail/odometry__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/msg/detail/path__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/grid_cells__description.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/grid_cells__functions.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/grid_cells__functions.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/grid_cells__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/grid_cells__struct.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/grid_cells__type_support.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/grid_cells__type_support.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/map_meta_data__description.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/map_meta_data__functions.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/map_meta_data__functions.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/map_meta_data__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/map_meta_data__struct.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/map_meta_data__type_support.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/map_meta_data__type_support.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/occupancy_grid__description.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/occupancy_grid__functions.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/occupancy_grid__functions.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/occupancy_grid__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/occupancy_grid__struct.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/occupancy_grid__type_support.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/occupancy_grid__type_support.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/odometry__description.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/odometry__functions.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/odometry__functions.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/odometry__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/odometry__struct.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/odometry__type_support.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/odometry__type_support.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/path__description.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/path__functions.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/path__functions.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/path__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/path__struct.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/path__type_support.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/detail/path__type_support.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/grid_cells.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/map_meta_data.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/occupancy_grid.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/odometry.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/path.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_map__description.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_map__functions.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_map__functions.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_map__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_map__struct.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_map__type_support.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_map__type_support.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_plan__description.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_plan__functions.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_plan__functions.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_plan__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_plan__struct.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_plan__type_support.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/get_plan__type_support.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/load_map__description.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/load_map__functions.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/load_map__functions.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/load_map__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/load_map__struct.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/load_map__type_support.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/load_map__type_support.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/set_map__description.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/set_map__functions.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/set_map__functions.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/set_map__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/set_map__struct.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/set_map__type_support.c create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/detail/set_map__type_support.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/get_map.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/get_plan.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/load_map.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/nav_msgs/srv/set_map.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/srv/detail/get_map__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/srv/detail/get_plan__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/srv/detail/load_map__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/nav_msgs/srv/detail/set_map__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/allocator.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/arguments.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/client.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/context.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/discovery_options.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/domain_id.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/dynamic_message_type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/error_handling.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/event.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/event_callback.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/expand_topic_name.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/graph.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/guard_condition.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/init.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/init_options.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/lexer.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/lexer_lookahead.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/localhost.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/log_level.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/logging.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/logging_rosout.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/macros.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/network_flow_endpoints.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/node.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/node_options.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/node_type_cache.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/publisher.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/rcl.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/remap.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/rmw_implementation_identifier_check.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/security.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/service.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/service_introspection.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/subscription.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/time.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/timer.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/type_description_conversions.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/type_hash.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/types.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/validate_enclave_name.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/validate_topic_name.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rcl/rcl/wait.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/action_client.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/action_server.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/default_qos.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/goal_handle.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/goal_state_machine.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/graph.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/names.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/rcl_action.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/types.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/version.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rcl_action/rcl_action/wait.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/floating_point_range__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/integer_range__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/list_parameters_result__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/log__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/logger_level__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/parameter__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/parameter_descriptor__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/parameter_event__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/parameter_event_descriptors__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/parameter_type__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/parameter_value__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/set_logger_levels_result__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/detail/set_parameters_result__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/floating_point_range__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/floating_point_range__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/floating_point_range__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/floating_point_range__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/floating_point_range__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/floating_point_range__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/floating_point_range__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/integer_range__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/integer_range__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/integer_range__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/integer_range__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/integer_range__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/integer_range__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/integer_range__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/list_parameters_result__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/list_parameters_result__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/list_parameters_result__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/list_parameters_result__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/list_parameters_result__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/list_parameters_result__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/list_parameters_result__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/log__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/log__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/log__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/log__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/log__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/log__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/log__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/logger_level__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/logger_level__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/logger_level__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/logger_level__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/logger_level__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/logger_level__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/logger_level__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_descriptor__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_descriptor__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_descriptor__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_descriptor__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_descriptor__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_descriptor__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_descriptor__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event_descriptors__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event_descriptors__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event_descriptors__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event_descriptors__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event_descriptors__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event_descriptors__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_event_descriptors__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_type__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_type__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_type__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_type__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_type__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_type__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_type__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_value__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_value__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_value__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_value__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_value__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_value__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/parameter_value__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_logger_levels_result__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_logger_levels_result__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_logger_levels_result__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_logger_levels_result__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_logger_levels_result__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_logger_levels_result__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_logger_levels_result__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_parameters_result__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_parameters_result__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_parameters_result__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_parameters_result__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_parameters_result__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_parameters_result__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail/set_parameters_result__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/floating_point_range.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/integer_range.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/list_parameters_result.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/log.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/logger_level.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/parameter.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/parameter_descriptor.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/parameter_event.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/parameter_event_descriptors.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/parameter_type.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/parameter_value.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/set_logger_levels_result.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/msg/set_parameters_result.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/describe_parameters.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/describe_parameters__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/describe_parameters__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/describe_parameters__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/describe_parameters__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/describe_parameters__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/describe_parameters__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/describe_parameters__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_logger_levels__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_logger_levels__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_logger_levels__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_logger_levels__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_logger_levels__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_logger_levels__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_logger_levels__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameter_types__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameter_types__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameter_types__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameter_types__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameter_types__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameter_types__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameter_types__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameters__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameters__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameters__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameters__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameters__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameters__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/get_parameters__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/list_parameters__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/list_parameters__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/list_parameters__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/list_parameters__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/list_parameters__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/list_parameters__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/list_parameters__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_logger_levels__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_logger_levels__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_logger_levels__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_logger_levels__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_logger_levels__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_logger_levels__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_logger_levels__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters_atomically__description.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters_atomically__functions.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters_atomically__functions.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters_atomically__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters_atomically__struct.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters_atomically__type_support.c create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail/set_parameters_atomically__type_support.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/get_logger_levels.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/get_parameter_types.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/get_parameters.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/list_parameters.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/set_logger_levels.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/set_parameters.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/rcl_interfaces/srv/set_parameters_atomically.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/srv/detail/describe_parameters__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/srv/detail/get_logger_levels__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/srv/detail/get_parameter_types__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/srv/detail/get_parameters__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/srv/detail/list_parameters__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/srv/detail/set_logger_levels__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/srv/detail/set_parameters__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_interfaces/srv/detail/set_parameters_atomically__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rcl_lifecycle/rcl_lifecycle/data_types.h create mode 100644 ports/espressif/microros-ext/include/rcl_lifecycle/rcl_lifecycle/default_state_machine.h create mode 100644 ports/espressif/microros-ext/include/rcl_lifecycle/rcl_lifecycle/rcl_lifecycle.h create mode 100644 ports/espressif/microros-ext/include/rcl_lifecycle/rcl_lifecycle/transition_map.h create mode 100644 ports/espressif/microros-ext/include/rcl_lifecycle/rcl_lifecycle/version.h create mode 100644 ports/espressif/microros-ext/include/rcl_lifecycle/rcl_lifecycle/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rclc/action_client.h create mode 100644 ports/espressif/microros-ext/include/rclc/action_goal_handle.h create mode 100644 ports/espressif/microros-ext/include/rclc/action_server.h create mode 100644 ports/espressif/microros-ext/include/rclc/client.h create mode 100644 ports/espressif/microros-ext/include/rclc/executor.h create mode 100644 ports/espressif/microros-ext/include/rclc/executor_handle.h create mode 100644 ports/espressif/microros-ext/include/rclc/init.h create mode 100644 ports/espressif/microros-ext/include/rclc/node.h create mode 100644 ports/espressif/microros-ext/include/rclc/publisher.h create mode 100644 ports/espressif/microros-ext/include/rclc/rclc.h create mode 100644 ports/espressif/microros-ext/include/rclc/service.h create mode 100644 ports/espressif/microros-ext/include/rclc/sleep.h create mode 100644 ports/espressif/microros-ext/include/rclc/subscription.h create mode 100644 ports/espressif/microros-ext/include/rclc/timer.h create mode 100644 ports/espressif/microros-ext/include/rclc/types.h create mode 100644 ports/espressif/microros-ext/include/rclc/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rclc_lifecycle/rclc_lifecycle.h create mode 100644 ports/espressif/microros-ext/include/rclc_lifecycle/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rclc_parameter/rclc_parameter.h create mode 100644 ports/espressif/microros-ext/include/rclc_parameter/visibility_control.h delete mode 100644 ports/espressif/microros-ext/include/rcutils/rcutils/security_directory.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/allocators.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/check_type_identifiers_match.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/convert_rcutils_ret_to_rmw_ret.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/discovery_options.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/domain_id.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/dynamic_message_type_support.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/error_handling.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/event.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/event_callback_type.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/events_statuses/events_statuses.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/events_statuses/incompatible_qos.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/events_statuses/incompatible_type.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/events_statuses/liveliness_changed.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/events_statuses/liveliness_lost.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/events_statuses/matched.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/events_statuses/message_lost.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/events_statuses/offered_deadline_missed.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/events_statuses/requested_deadline_missed.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/features.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/get_network_flow_endpoints.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/get_node_info_and_types.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/get_service_names_and_types.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/get_topic_endpoint_info.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/get_topic_names_and_types.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/impl/config.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/impl/cpp/demangle.hpp create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/impl/cpp/key_value.hpp create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/impl/cpp/macros.hpp create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/incompatible_qos_events_statuses.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/init.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/init_options.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/localhost.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/macros.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/message_sequence.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/names_and_types.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/network_flow_endpoint.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/network_flow_endpoint_array.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/publisher_options.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/qos_policy_kind.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/qos_profiles.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/qos_string_conversions.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/ret_types.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/rmw.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/sanity_checks.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/security_options.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/serialized_message.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/subscription_content_filter_options.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/subscription_options.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/time.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/topic_endpoint_info.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/topic_endpoint_info_array.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/types.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/validate_full_topic_name.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/validate_namespace.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/validate_node_name.h create mode 100644 ports/espressif/microros-ext/include/rmw/rmw/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rmw_microros/continous_serialization.h create mode 100644 ports/espressif/microros-ext/include/rmw_microros/custom_transport.h create mode 100644 ports/espressif/microros-ext/include/rmw_microros/discovery.h create mode 100644 ports/espressif/microros-ext/include/rmw_microros/error_handling.h create mode 100644 ports/espressif/microros-ext/include/rmw_microros/init_options.h create mode 100644 ports/espressif/microros-ext/include/rmw_microros/ping.h create mode 100644 ports/espressif/microros-ext/include/rmw_microros/rmw_microros.h create mode 100644 ports/espressif/microros-ext/include/rmw_microros/time_sync.h create mode 100644 ports/espressif/microros-ext/include/rmw_microros/timing.h create mode 100644 ports/espressif/microros-ext/include/rmw_microxrcedds_c/config.h create mode 100644 ports/espressif/microros-ext/include/rmw_microxrcedds_c/rmw_c_macros.h create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/msg/detail/clock__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg/clock.h create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg/detail/clock__description.c create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg/detail/clock__functions.c create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg/detail/clock__functions.h create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg/detail/clock__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg/detail/clock__struct.h create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg/detail/clock__type_support.c create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg/detail/clock__type_support.h create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport/api/dynamic_data.h create mode 100644 ports/espressif/microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport/api/dynamic_type.h create mode 100644 ports/espressif/microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport/api/serialization_support.h create mode 100644 ports/espressif/microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport/api/serialization_support_interface.h create mode 100644 ports/espressif/microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport/dynamic_message_type_support_struct.h create mode 100644 ports/espressif/microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport/identifier.h create mode 100644 ports/espressif/microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport/macros.h create mode 100644 ports/espressif/microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport/types.h create mode 100644 ports/espressif/microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport/uchar.h create mode 100644 ports/espressif/microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_c/rosidl_typesupport_c/identifier.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_c/rosidl_typesupport_c/message_type_support_dispatch.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_c/rosidl_typesupport_c/service_type_support_dispatch.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_c/rosidl_typesupport_c/type_support_map.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_c/rosidl_typesupport_c/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_introspection_c/rosidl_typesupport_introspection_c/field_types.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_introspection_c/rosidl_typesupport_introspection_c/identifier.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_introspection_c/rosidl_typesupport_introspection_c/message_introspection.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_introspection_c/rosidl_typesupport_introspection_c/service_introspection.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_introspection_c/rosidl_typesupport_introspection_c/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_microxrcedds_c/identifier.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_microxrcedds_c/message_type_support.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_microxrcedds_c/service_type_support.h create mode 100644 ports/espressif/microros-ext/include/rosidl_typesupport_microxrcedds_c/visibility_control.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/battery_state__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/camera_info__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/channel_float32__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/compressed_image__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/fluid_pressure__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/illuminance__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/image__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/imu__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/joint_state__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/joy__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/joy_feedback__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/joy_feedback_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/laser_echo__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/laser_scan__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/magnetic_field__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/multi_dof_joint_state__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/multi_echo_laser_scan__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/nav_sat_fix__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/nav_sat_status__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/point_cloud2__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/point_cloud__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/point_field__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/range__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/region_of_interest__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/relative_humidity__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/temperature__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/detail/time_reference__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/battery_state.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/camera_info.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/channel_float32.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/compressed_image.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/battery_state__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/battery_state__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/battery_state__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/battery_state__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/battery_state__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/battery_state__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/battery_state__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/camera_info__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/camera_info__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/camera_info__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/camera_info__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/camera_info__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/camera_info__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/camera_info__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/channel_float32__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/channel_float32__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/channel_float32__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/channel_float32__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/channel_float32__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/channel_float32__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/channel_float32__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/compressed_image__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/compressed_image__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/compressed_image__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/compressed_image__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/compressed_image__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/compressed_image__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/compressed_image__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/fluid_pressure__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/fluid_pressure__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/fluid_pressure__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/fluid_pressure__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/fluid_pressure__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/fluid_pressure__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/fluid_pressure__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/illuminance__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/illuminance__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/illuminance__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/illuminance__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/illuminance__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/illuminance__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/illuminance__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/image__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/image__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/image__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/image__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/image__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/image__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/image__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/imu__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/imu__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/imu__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/imu__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/imu__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/imu__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/imu__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joint_state__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joint_state__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joint_state__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joint_state__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joint_state__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joint_state__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joint_state__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback_array__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback_array__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback_array__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback_array__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/joy_feedback_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_echo__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_echo__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_echo__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_echo__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_echo__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_echo__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_echo__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_scan__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_scan__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_scan__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_scan__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_scan__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_scan__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/laser_scan__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/magnetic_field__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/magnetic_field__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/magnetic_field__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/magnetic_field__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/magnetic_field__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/magnetic_field__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/magnetic_field__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_dof_joint_state__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_dof_joint_state__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_dof_joint_state__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_dof_joint_state__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_dof_joint_state__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_dof_joint_state__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_dof_joint_state__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_echo_laser_scan__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_echo_laser_scan__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_echo_laser_scan__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_echo_laser_scan__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_echo_laser_scan__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_echo_laser_scan__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/multi_echo_laser_scan__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_fix__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_fix__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_fix__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_fix__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_fix__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_fix__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_fix__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_status__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_status__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_status__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_status__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_status__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_status__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/nav_sat_status__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud2__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud2__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud2__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud2__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud2__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud2__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud2__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_cloud__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_field__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_field__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_field__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_field__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_field__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_field__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/point_field__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/range__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/range__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/range__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/range__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/range__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/range__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/range__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/region_of_interest__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/region_of_interest__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/region_of_interest__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/region_of_interest__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/region_of_interest__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/region_of_interest__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/region_of_interest__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/relative_humidity__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/relative_humidity__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/relative_humidity__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/relative_humidity__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/relative_humidity__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/relative_humidity__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/relative_humidity__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/temperature__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/temperature__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/temperature__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/temperature__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/temperature__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/temperature__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/temperature__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/time_reference__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/time_reference__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/time_reference__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/time_reference__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/time_reference__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/time_reference__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/detail/time_reference__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/fluid_pressure.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/illuminance.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/image.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/imu.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/joint_state.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/joy.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/joy_feedback.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/joy_feedback_array.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/laser_echo.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/laser_scan.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/magnetic_field.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/multi_dof_joint_state.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/multi_echo_laser_scan.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/nav_sat_fix.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/nav_sat_status.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/point_cloud.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/point_cloud2.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/point_field.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/range.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/region_of_interest.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/relative_humidity.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/temperature.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/msg/time_reference.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/srv/detail/set_camera_info__description.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/srv/detail/set_camera_info__functions.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/srv/detail/set_camera_info__functions.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/srv/detail/set_camera_info__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/srv/detail/set_camera_info__struct.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/srv/detail/set_camera_info__type_support.c create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/srv/detail/set_camera_info__type_support.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/sensor_msgs/srv/set_camera_info.h create mode 100644 ports/espressif/microros-ext/include/sensor_msgs/srv/detail/set_camera_info__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/service_msgs/msg/detail/service_event_info__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/service_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/service_msgs/service_msgs/msg/detail/service_event_info__description.c create mode 100644 ports/espressif/microros-ext/include/service_msgs/service_msgs/msg/detail/service_event_info__functions.c create mode 100644 ports/espressif/microros-ext/include/service_msgs/service_msgs/msg/detail/service_event_info__functions.h create mode 100644 ports/espressif/microros-ext/include/service_msgs/service_msgs/msg/detail/service_event_info__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/service_msgs/service_msgs/msg/detail/service_event_info__struct.h create mode 100644 ports/espressif/microros-ext/include/service_msgs/service_msgs/msg/detail/service_event_info__type_support.c create mode 100644 ports/espressif/microros-ext/include/service_msgs/service_msgs/msg/detail/service_event_info__type_support.h create mode 100644 ports/espressif/microros-ext/include/service_msgs/service_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/service_msgs/service_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/service_msgs/service_msgs/msg/service_event_info.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/msg/detail/mesh__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/msg/detail/mesh_triangle__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/msg/detail/plane__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/msg/detail/solid_primitive__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh__description.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh__functions.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh__functions.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh__struct.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh__type_support.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh__type_support.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh_triangle__description.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh_triangle__functions.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh_triangle__functions.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh_triangle__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh_triangle__struct.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh_triangle__type_support.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/mesh_triangle__type_support.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/plane__description.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/plane__functions.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/plane__functions.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/plane__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/plane__struct.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/plane__type_support.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/plane__type_support.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/solid_primitive__description.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/solid_primitive__functions.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/solid_primitive__functions.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/solid_primitive__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/solid_primitive__struct.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/solid_primitive__type_support.c create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/detail/solid_primitive__type_support.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/mesh.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/mesh_triangle.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/plane.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/shape_msgs/shape_msgs/msg/solid_primitive.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/msg/detail/metrics_message__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/msg/detail/statistic_data_point__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/msg/detail/statistic_data_type__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/metrics_message__description.c create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/metrics_message__functions.c create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/metrics_message__functions.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/metrics_message__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/metrics_message__struct.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/metrics_message__type_support.c create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/metrics_message__type_support.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_point__description.c create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_point__functions.c create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_point__functions.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_point__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_point__struct.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_point__type_support.c create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_point__type_support.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_type__description.c create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_type__functions.c create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_type__functions.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_type__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_type__struct.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_type__type_support.c create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/detail/statistic_data_type__type_support.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/metrics_message.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/statistic_data_point.h create mode 100644 ports/espressif/microros-ext/include/statistics_msgs/statistics_msgs/msg/statistic_data_type.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/bool__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/byte__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/byte_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/char__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/color_rgba__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/empty__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/float32__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/float32_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/float64__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/float64_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/header__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/int16__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/int16_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/int32__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/int32_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/int64__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/int64_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/int8__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/int8_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/multi_array_dimension__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/multi_array_layout__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/string__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/u_int16__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/u_int16_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/u_int32__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/u_int32_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/u_int64__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/u_int64_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/u_int8__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/detail/u_int8_multi_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/bool.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/byte.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/byte_multi_array.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/char.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/color_rgba.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/bool__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/bool__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/bool__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/bool__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/bool__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/bool__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/bool__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/byte_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/char__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/char__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/char__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/char__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/char__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/char__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/char__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/color_rgba__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/color_rgba__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/color_rgba__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/color_rgba__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/color_rgba__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/color_rgba__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/color_rgba__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/empty__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/empty__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/empty__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/empty__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/empty__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/empty__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/empty__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float32_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/float64_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/header__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/header__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/header__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/header__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/header__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/header__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/header__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int16_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int32_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int64_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/int8_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_dimension__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_dimension__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_dimension__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_dimension__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_dimension__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_dimension__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_dimension__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_layout__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_layout__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_layout__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_layout__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_layout__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_layout__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/multi_array_layout__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/string__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/string__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/string__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/string__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/string__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/string__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/string__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int16_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int32_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int64_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8_multi_array__description.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8_multi_array__functions.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8_multi_array__functions.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8_multi_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8_multi_array__struct.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8_multi_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/detail/u_int8_multi_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/empty.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/float32.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/float32_multi_array.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/float64.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/float64_multi_array.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/header.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/int16.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/int16_multi_array.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/int32.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/int32_multi_array.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/int64.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/int64_multi_array.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/int8.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/int8_multi_array.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/multi_array_dimension.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/multi_array_layout.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/string.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/u_int16.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/u_int16_multi_array.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/u_int32.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/u_int32_multi_array.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/u_int64.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/u_int64_multi_array.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/u_int8.h create mode 100644 ports/espressif/microros-ext/include/std_msgs/std_msgs/msg/u_int8_multi_array.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/srv/detail/empty__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/srv/detail/set_bool__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/srv/detail/trigger__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/empty__description.c create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/empty__functions.c create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/empty__functions.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/empty__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/empty__struct.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/empty__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/empty__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/set_bool__description.c create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/set_bool__functions.c create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/set_bool__functions.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/set_bool__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/set_bool__struct.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/set_bool__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/set_bool__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/trigger__description.c create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/trigger__functions.c create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/trigger__functions.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/trigger__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/trigger__struct.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/trigger__type_support.c create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/detail/trigger__type_support.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/empty.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/set_bool.h create mode 100644 ports/espressif/microros-ext/include/std_srvs/std_srvs/srv/trigger.h create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/msg/detail/disparity_image__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/stereo_msgs/msg/detail/disparity_image__description.c create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/stereo_msgs/msg/detail/disparity_image__functions.c create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/stereo_msgs/msg/detail/disparity_image__functions.h create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/stereo_msgs/msg/detail/disparity_image__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/stereo_msgs/msg/detail/disparity_image__struct.h create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/stereo_msgs/msg/detail/disparity_image__type_support.c create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/stereo_msgs/msg/detail/disparity_image__type_support.h create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/stereo_msgs/msg/disparity_image.h create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/stereo_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/stereo_msgs/stereo_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/action/detail/fibonacci__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/action/detail/nested_message__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/arrays__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/basic_types__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/bounded_plain_sequences__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/bounded_sequences__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/builtins__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/constants__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/defaults__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/empty__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/multi_nested__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/nested__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/strings__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/unbounded_sequences__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/detail/w_strings__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/srv/detail/arrays__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/srv/detail/basic_types__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/srv/detail/empty__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/fibonacci__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/fibonacci__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/fibonacci__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/fibonacci__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/fibonacci__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/fibonacci__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/fibonacci__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/nested_message__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/nested_message__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/nested_message__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/nested_message__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/nested_message__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/nested_message__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/detail/nested_message__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/fibonacci.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/action/nested_message.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/message_fixtures.hpp create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/arrays.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/basic_types.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/bounded_plain_sequences.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/bounded_sequences.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/builtins.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/constants.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/defaults.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/arrays__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/arrays__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/arrays__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/arrays__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/arrays__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/arrays__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/arrays__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/basic_types__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/basic_types__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/basic_types__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/basic_types__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/basic_types__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/basic_types__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/basic_types__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_plain_sequences__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_plain_sequences__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_plain_sequences__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_plain_sequences__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_plain_sequences__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_plain_sequences__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_plain_sequences__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_sequences__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_sequences__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_sequences__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_sequences__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_sequences__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_sequences__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/bounded_sequences__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/builtins__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/builtins__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/builtins__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/builtins__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/builtins__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/builtins__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/builtins__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/constants__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/constants__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/constants__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/constants__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/constants__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/constants__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/constants__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/defaults__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/defaults__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/defaults__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/defaults__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/defaults__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/defaults__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/defaults__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/empty__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/empty__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/empty__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/empty__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/empty__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/empty__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/empty__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/multi_nested__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/multi_nested__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/multi_nested__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/multi_nested__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/multi_nested__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/multi_nested__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/multi_nested__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/nested__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/nested__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/nested__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/nested__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/nested__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/nested__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/nested__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/strings__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/strings__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/strings__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/strings__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/strings__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/strings__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/strings__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/unbounded_sequences__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/unbounded_sequences__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/unbounded_sequences__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/unbounded_sequences__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/unbounded_sequences__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/unbounded_sequences__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/unbounded_sequences__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/w_strings__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/w_strings__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/w_strings__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/w_strings__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/w_strings__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/w_strings__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/detail/w_strings__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/empty.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/multi_nested.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/nested.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/strings.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/unbounded_sequences.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/msg/w_strings.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/service_fixtures.hpp create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/arrays.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/basic_types.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/arrays__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/arrays__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/arrays__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/arrays__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/arrays__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/arrays__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/arrays__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/basic_types__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/basic_types__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/basic_types__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/basic_types__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/basic_types__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/basic_types__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/basic_types__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/empty__description.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/empty__functions.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/empty__functions.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/empty__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/empty__struct.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/empty__type_support.c create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/detail/empty__type_support.h create mode 100644 ports/espressif/microros-ext/include/test_msgs/test_msgs/srv/empty.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/msg/detail/joint_trajectory__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/msg/detail/joint_trajectory_point__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/msg/detail/multi_dof_joint_trajectory__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/msg/detail/multi_dof_joint_trajectory_point__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory__description.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory__functions.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory__functions.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory__struct.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory__type_support.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory__type_support.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory_point__description.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory_point__functions.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory_point__functions.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory_point__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory_point__struct.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory_point__type_support.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/joint_trajectory_point__type_support.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory__description.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory__functions.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory__functions.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory__struct.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory__type_support.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory__type_support.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory_point__description.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory_point__functions.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory_point__functions.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory_point__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory_point__struct.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory_point__type_support.c create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail/multi_dof_joint_trajectory_point__type_support.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/joint_trajectory.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/joint_trajectory_point.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/multi_dof_joint_trajectory.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/multi_dof_joint_trajectory_point.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/trajectory_msgs/trajectory_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/msg/detail/field__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/msg/detail/field_type__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/msg/detail/individual_type_description__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/msg/detail/key_value__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/msg/detail/type_description__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/msg/detail/type_source__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/srv/detail/get_type_description__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field__description.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field__functions.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field__functions.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field__struct.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field__type_support.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field__type_support.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field_type__description.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field_type__functions.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field_type__functions.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field_type__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field_type__struct.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field_type__type_support.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/field_type__type_support.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/individual_type_description__description.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/individual_type_description__functions.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/individual_type_description__functions.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/individual_type_description__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/individual_type_description__struct.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/individual_type_description__type_support.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/individual_type_description__type_support.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/key_value__description.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/key_value__functions.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/key_value__functions.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/key_value__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/key_value__struct.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/key_value__type_support.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/key_value__type_support.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_description__description.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_description__functions.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_description__functions.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_description__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_description__struct.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_description__type_support.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_description__type_support.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_source__description.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_source__functions.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_source__functions.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_source__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_source__struct.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_source__type_support.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail/type_source__type_support.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/field.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/field_type.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/individual_type_description.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/key_value.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/type_description.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/msg/type_source.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/srv/detail/get_type_description__description.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/srv/detail/get_type_description__functions.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/srv/detail/get_type_description__functions.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/srv/detail/get_type_description__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/srv/detail/get_type_description__struct.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/srv/detail/get_type_description__type_support.c create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/srv/detail/get_type_description__type_support.h create mode 100644 ports/espressif/microros-ext/include/type_description_interfaces/type_description_interfaces/srv/get_type_description.h create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/msg/detail/uuid__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg/detail/uuid__description.c create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg/detail/uuid__functions.c create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg/detail/uuid__functions.h create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg/detail/uuid__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg/detail/uuid__struct.h create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg/detail/uuid__type_support.c create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg/detail/uuid__type_support.h create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg/uuid.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/image_marker__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/interactive_marker__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/interactive_marker_control__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/interactive_marker_feedback__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/interactive_marker_init__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/interactive_marker_pose__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/interactive_marker_update__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/marker__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/marker_array__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/menu_entry__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/mesh_file__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/detail/uv_coordinate__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/msg/rosidl_typesupport_microxrcedds_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/srv/detail/get_interactive_markers__rosidl_typesupport_microxrcedds_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/image_marker__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/image_marker__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/image_marker__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/image_marker__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/image_marker__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/image_marker__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/image_marker__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_control__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_control__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_control__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_control__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_control__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_control__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_control__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_feedback__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_feedback__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_feedback__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_feedback__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_feedback__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_feedback__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_feedback__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_init__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_init__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_init__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_init__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_init__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_init__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_init__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_pose__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_pose__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_pose__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_pose__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_pose__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_pose__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_pose__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_update__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_update__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_update__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_update__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_update__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_update__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/interactive_marker_update__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker_array__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker_array__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker_array__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker_array__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker_array__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker_array__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/marker_array__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/menu_entry__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/menu_entry__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/menu_entry__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/menu_entry__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/menu_entry__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/menu_entry__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/menu_entry__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/mesh_file__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/mesh_file__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/mesh_file__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/mesh_file__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/mesh_file__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/mesh_file__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/mesh_file__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/uv_coordinate__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/uv_coordinate__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/uv_coordinate__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/uv_coordinate__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/uv_coordinate__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/uv_coordinate__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/detail/uv_coordinate__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/image_marker.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/interactive_marker.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/interactive_marker_control.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/interactive_marker_feedback.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/interactive_marker_init.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/interactive_marker_pose.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/interactive_marker_update.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/marker.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/marker_array.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/menu_entry.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/mesh_file.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/rosidl_generator_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/rosidl_typesupport_introspection_c__visibility_control.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/msg/uv_coordinate.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/srv/detail/get_interactive_markers__description.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/srv/detail/get_interactive_markers__functions.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/srv/detail/get_interactive_markers__functions.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/srv/detail/get_interactive_markers__rosidl_typesupport_introspection_c.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/srv/detail/get_interactive_markers__struct.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/srv/detail/get_interactive_markers__type_support.c create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/srv/detail/get_interactive_markers__type_support.h create mode 100644 ports/espressif/microros-ext/include/visualization_msgs/visualization_msgs/srv/get_interactive_markers.h diff --git a/ports/espressif/Makefile b/ports/espressif/Makefile index 039d1078cd5c6..ee81b980a3f7e 100644 --- a/ports/espressif/Makefile +++ b/ports/espressif/Makefile @@ -424,6 +424,299 @@ endif ifneq ($(CIRCUITPY_MICROROS),0) CFLAGS += -isystem microros-ext/include +CFLAGS += -isystem microros-ext/include/rcl +CFLAGS += -isystem microros-ext/include/rcl/rcl +CFLAGS += -isystem microros-ext/include/statistics_msgs +CFLAGS += -isystem microros-ext/include/statistics_msgs/statistics_msgs +CFLAGS += -isystem microros-ext/include/statistics_msgs/statistics_msgs/msg +CFLAGS += -isystem microros-ext/include/statistics_msgs/statistics_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/statistics_msgs/msg +CFLAGS += -isystem microros-ext/include/statistics_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/statistics_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/composition_interfaces +CFLAGS += -isystem microros-ext/include/composition_interfaces/composition_interfaces +CFLAGS += -isystem microros-ext/include/composition_interfaces/composition_interfaces/msg +CFLAGS += -isystem microros-ext/include/composition_interfaces/composition_interfaces/srv +CFLAGS += -isystem microros-ext/include/composition_interfaces/composition_interfaces/srv/detail +CFLAGS += -isystem microros-ext/include/composition_interfaces/msg +CFLAGS += -isystem microros-ext/include/composition_interfaces/srv +CFLAGS += -isystem microros-ext/include/composition_interfaces/srv/detail +CFLAGS += -isystem microros-ext/include/composition_interfaces/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/example_interfaces +CFLAGS += -isystem microros-ext/include/example_interfaces/example_interfaces +CFLAGS += -isystem microros-ext/include/example_interfaces/example_interfaces/msg +CFLAGS += -isystem microros-ext/include/example_interfaces/example_interfaces/msg/detail +CFLAGS += -isystem microros-ext/include/example_interfaces/example_interfaces/action +CFLAGS += -isystem microros-ext/include/example_interfaces/example_interfaces/action/detail +CFLAGS += -isystem microros-ext/include/example_interfaces/example_interfaces/srv +CFLAGS += -isystem microros-ext/include/example_interfaces/example_interfaces/srv/detail +CFLAGS += -isystem microros-ext/include/example_interfaces/msg +CFLAGS += -isystem microros-ext/include/example_interfaces/msg/detail +CFLAGS += -isystem microros-ext/include/example_interfaces/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/example_interfaces/action +CFLAGS += -isystem microros-ext/include/example_interfaces/action/detail +CFLAGS += -isystem microros-ext/include/example_interfaces/action/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/example_interfaces/srv +CFLAGS += -isystem microros-ext/include/example_interfaces/srv/detail +CFLAGS += -isystem microros-ext/include/example_interfaces/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/rmw_microxrcedds_c +CFLAGS += -isystem microros-ext/include/test_msgs +CFLAGS += -isystem microros-ext/include/test_msgs/test_msgs +CFLAGS += -isystem microros-ext/include/test_msgs/test_msgs/msg +CFLAGS += -isystem microros-ext/include/test_msgs/test_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/test_msgs/test_msgs/action +CFLAGS += -isystem microros-ext/include/test_msgs/test_msgs/action/detail +CFLAGS += -isystem microros-ext/include/test_msgs/test_msgs/srv +CFLAGS += -isystem microros-ext/include/test_msgs/test_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/test_msgs/msg +CFLAGS += -isystem microros-ext/include/test_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/test_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/test_msgs/action +CFLAGS += -isystem microros-ext/include/test_msgs/action/detail +CFLAGS += -isystem microros-ext/include/test_msgs/action/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/test_msgs/srv +CFLAGS += -isystem microros-ext/include/test_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/test_msgs/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/std_msgs +CFLAGS += -isystem microros-ext/include/std_msgs/std_msgs +CFLAGS += -isystem microros-ext/include/std_msgs/std_msgs/msg +CFLAGS += -isystem microros-ext/include/std_msgs/std_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/std_msgs/msg +CFLAGS += -isystem microros-ext/include/std_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/std_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/rcutils +CFLAGS += -isystem microros-ext/include/rcutils/rcutils +CFLAGS += -isystem microros-ext/include/rcutils/rcutils/types +CFLAGS += -isystem microros-ext/include/rcutils/rcutils/testing +CFLAGS += -isystem microros-ext/include/rcutils/rcutils/stdatomic_helper +CFLAGS += -isystem microros-ext/include/rcutils/rcutils/stdatomic_helper/gcc +CFLAGS += -isystem microros-ext/include/rcutils/rcutils/stdatomic_helper/win32 +CFLAGS += -isystem microros-ext/include/lifecycle_msgs +CFLAGS += -isystem microros-ext/include/lifecycle_msgs/lifecycle_msgs +CFLAGS += -isystem microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg +CFLAGS += -isystem microros-ext/include/lifecycle_msgs/lifecycle_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv +CFLAGS += -isystem microros-ext/include/lifecycle_msgs/lifecycle_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/lifecycle_msgs/msg +CFLAGS += -isystem microros-ext/include/lifecycle_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/lifecycle_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/lifecycle_msgs/srv +CFLAGS += -isystem microros-ext/include/lifecycle_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/lifecycle_msgs/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/rosidl_typesupport_interface +CFLAGS += -isystem microros-ext/include/rosidl_typesupport_interface/rosidl_typesupport_interface +CFLAGS += -isystem microros-ext/include/service_msgs +CFLAGS += -isystem microros-ext/include/service_msgs/service_msgs +CFLAGS += -isystem microros-ext/include/service_msgs/service_msgs/msg +CFLAGS += -isystem microros-ext/include/service_msgs/service_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/service_msgs/msg +CFLAGS += -isystem microros-ext/include/service_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/service_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/visualization_msgs +CFLAGS += -isystem microros-ext/include/visualization_msgs/visualization_msgs +CFLAGS += -isystem microros-ext/include/visualization_msgs/visualization_msgs/msg +CFLAGS += -isystem microros-ext/include/visualization_msgs/visualization_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/visualization_msgs/visualization_msgs/srv +CFLAGS += -isystem microros-ext/include/visualization_msgs/visualization_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/visualization_msgs/msg +CFLAGS += -isystem microros-ext/include/visualization_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/visualization_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/visualization_msgs/srv +CFLAGS += -isystem microros-ext/include/visualization_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/visualization_msgs/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/rosidl_dynamic_typesupport +CFLAGS += -isystem microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport +CFLAGS += -isystem microros-ext/include/rosidl_dynamic_typesupport/rosidl_dynamic_typesupport/api +CFLAGS += -isystem microros-ext/include/stereo_msgs +CFLAGS += -isystem microros-ext/include/stereo_msgs/stereo_msgs +CFLAGS += -isystem microros-ext/include/stereo_msgs/stereo_msgs/msg +CFLAGS += -isystem microros-ext/include/stereo_msgs/stereo_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/stereo_msgs/msg +CFLAGS += -isystem microros-ext/include/stereo_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/stereo_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/ucdr +CFLAGS += -isystem microros-ext/include/rosidl_typesupport_c +CFLAGS += -isystem microros-ext/include/rosidl_typesupport_c/rosidl_typesupport_c +CFLAGS += -isystem microros-ext/include/std_srvs +CFLAGS += -isystem microros-ext/include/std_srvs/msg +CFLAGS += -isystem microros-ext/include/std_srvs/std_srvs +CFLAGS += -isystem microros-ext/include/std_srvs/std_srvs/msg +CFLAGS += -isystem microros-ext/include/std_srvs/std_srvs/srv +CFLAGS += -isystem microros-ext/include/std_srvs/std_srvs/srv/detail +CFLAGS += -isystem microros-ext/include/std_srvs/srv +CFLAGS += -isystem microros-ext/include/std_srvs/srv/detail +CFLAGS += -isystem microros-ext/include/std_srvs/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/rcl_lifecycle +CFLAGS += -isystem microros-ext/include/rcl_lifecycle/rcl_lifecycle +CFLAGS += -isystem microros-ext/include/action_msgs +CFLAGS += -isystem microros-ext/include/action_msgs/msg +CFLAGS += -isystem microros-ext/include/action_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/action_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/action_msgs/action_msgs +CFLAGS += -isystem microros-ext/include/action_msgs/action_msgs/msg +CFLAGS += -isystem microros-ext/include/action_msgs/action_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/action_msgs/action_msgs/srv +CFLAGS += -isystem microros-ext/include/action_msgs/action_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/action_msgs/srv +CFLAGS += -isystem microros-ext/include/action_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/action_msgs/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/micro_ros_utilities +CFLAGS += -isystem microros-ext/include/rcl_action +CFLAGS += -isystem microros-ext/include/rcl_action/rcl_action +CFLAGS += -isystem microros-ext/include/rcl_logging_interface +CFLAGS += -isystem microros-ext/include/rcl_logging_interface/rcl_logging_interface +CFLAGS += -isystem microros-ext/include/type_description_interfaces +CFLAGS += -isystem microros-ext/include/type_description_interfaces/msg +CFLAGS += -isystem microros-ext/include/type_description_interfaces/msg/detail +CFLAGS += -isystem microros-ext/include/type_description_interfaces/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/type_description_interfaces/type_description_interfaces +CFLAGS += -isystem microros-ext/include/type_description_interfaces/type_description_interfaces/msg +CFLAGS += -isystem microros-ext/include/type_description_interfaces/type_description_interfaces/msg/detail +CFLAGS += -isystem microros-ext/include/type_description_interfaces/type_description_interfaces/srv +CFLAGS += -isystem microros-ext/include/type_description_interfaces/type_description_interfaces/srv/detail +CFLAGS += -isystem microros-ext/include/type_description_interfaces/srv +CFLAGS += -isystem microros-ext/include/type_description_interfaces/srv/detail +CFLAGS += -isystem microros-ext/include/type_description_interfaces/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/nav_msgs +CFLAGS += -isystem microros-ext/include/nav_msgs/msg +CFLAGS += -isystem microros-ext/include/nav_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/nav_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/nav_msgs/nav_msgs +CFLAGS += -isystem microros-ext/include/nav_msgs/nav_msgs/msg +CFLAGS += -isystem microros-ext/include/nav_msgs/nav_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/nav_msgs/nav_msgs/srv +CFLAGS += -isystem microros-ext/include/nav_msgs/nav_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/nav_msgs/srv +CFLAGS += -isystem microros-ext/include/nav_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/nav_msgs/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/actionlib_msgs +CFLAGS += -isystem microros-ext/include/actionlib_msgs/msg +CFLAGS += -isystem microros-ext/include/actionlib_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/actionlib_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/actionlib_msgs/actionlib_msgs +CFLAGS += -isystem microros-ext/include/actionlib_msgs/actionlib_msgs/msg +CFLAGS += -isystem microros-ext/include/actionlib_msgs/actionlib_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/rmw +CFLAGS += -isystem microros-ext/include/rmw/rmw +CFLAGS += -isystem microros-ext/include/rmw/rmw/impl +CFLAGS += -isystem microros-ext/include/rmw/rmw/impl/cpp +CFLAGS += -isystem microros-ext/include/rmw/rmw/events_statuses +CFLAGS += -isystem microros-ext/include/rclc_parameter +CFLAGS += -isystem microros-ext/include/geometry_msgs +CFLAGS += -isystem microros-ext/include/geometry_msgs/msg +CFLAGS += -isystem microros-ext/include/geometry_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/geometry_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/geometry_msgs/geometry_msgs +CFLAGS += -isystem microros-ext/include/geometry_msgs/geometry_msgs/msg +CFLAGS += -isystem microros-ext/include/geometry_msgs/geometry_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/sensor_msgs +CFLAGS += -isystem microros-ext/include/sensor_msgs/msg +CFLAGS += -isystem microros-ext/include/sensor_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/sensor_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/sensor_msgs/sensor_msgs +CFLAGS += -isystem microros-ext/include/sensor_msgs/sensor_msgs/msg +CFLAGS += -isystem microros-ext/include/sensor_msgs/sensor_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/sensor_msgs/sensor_msgs/srv +CFLAGS += -isystem microros-ext/include/sensor_msgs/sensor_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/sensor_msgs/srv +CFLAGS += -isystem microros-ext/include/sensor_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/sensor_msgs/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/trajectory_msgs +CFLAGS += -isystem microros-ext/include/trajectory_msgs/msg +CFLAGS += -isystem microros-ext/include/trajectory_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/trajectory_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/trajectory_msgs/trajectory_msgs +CFLAGS += -isystem microros-ext/include/trajectory_msgs/trajectory_msgs/msg +CFLAGS += -isystem microros-ext/include/trajectory_msgs/trajectory_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/shape_msgs +CFLAGS += -isystem microros-ext/include/shape_msgs/msg +CFLAGS += -isystem microros-ext/include/shape_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/shape_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/shape_msgs/shape_msgs +CFLAGS += -isystem microros-ext/include/shape_msgs/shape_msgs/msg +CFLAGS += -isystem microros-ext/include/shape_msgs/shape_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/rosidl_runtime_c +CFLAGS += -isystem microros-ext/include/rosidl_runtime_c/rosidl_runtime_c +CFLAGS += -isystem microros-ext/include/rosidl_runtime_c/rosidl_runtime_c/type_description +CFLAGS += -isystem microros-ext/include/rclc +CFLAGS += -isystem microros-ext/include/rosgraph_msgs +CFLAGS += -isystem microros-ext/include/rosgraph_msgs/msg +CFLAGS += -isystem microros-ext/include/rosgraph_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/rosgraph_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/rosgraph_msgs/rosgraph_msgs +CFLAGS += -isystem microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg +CFLAGS += -isystem microros-ext/include/rosgraph_msgs/rosgraph_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/rclc_lifecycle +CFLAGS += -isystem microros-ext/include/rcl_interfaces +CFLAGS += -isystem microros-ext/include/rcl_interfaces/msg +CFLAGS += -isystem microros-ext/include/rcl_interfaces/msg/detail +CFLAGS += -isystem microros-ext/include/rcl_interfaces/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/rcl_interfaces/rcl_interfaces +CFLAGS += -isystem microros-ext/include/rcl_interfaces/rcl_interfaces/msg +CFLAGS += -isystem microros-ext/include/rcl_interfaces/rcl_interfaces/msg/detail +CFLAGS += -isystem microros-ext/include/rcl_interfaces/rcl_interfaces/srv +CFLAGS += -isystem microros-ext/include/rcl_interfaces/rcl_interfaces/srv/detail +CFLAGS += -isystem microros-ext/include/rcl_interfaces/srv +CFLAGS += -isystem microros-ext/include/rcl_interfaces/srv/detail +CFLAGS += -isystem microros-ext/include/rcl_interfaces/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/diagnostic_msgs +CFLAGS += -isystem microros-ext/include/diagnostic_msgs/msg +CFLAGS += -isystem microros-ext/include/diagnostic_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/diagnostic_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/diagnostic_msgs/diagnostic_msgs +CFLAGS += -isystem microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg +CFLAGS += -isystem microros-ext/include/diagnostic_msgs/diagnostic_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv +CFLAGS += -isystem microros-ext/include/diagnostic_msgs/diagnostic_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/diagnostic_msgs/srv +CFLAGS += -isystem microros-ext/include/diagnostic_msgs/srv/detail +CFLAGS += -isystem microros-ext/include/diagnostic_msgs/srv/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/micro_ros_msgs +CFLAGS += -isystem microros-ext/include/micro_ros_msgs/msg +CFLAGS += -isystem microros-ext/include/micro_ros_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/micro_ros_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/micro_ros_msgs/micro_ros_msgs +CFLAGS += -isystem microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg +CFLAGS += -isystem microros-ext/include/micro_ros_msgs/micro_ros_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/rosidl_typesupport_introspection_c +CFLAGS += -isystem microros-ext/include/rosidl_typesupport_introspection_c/rosidl_typesupport_introspection_c +CFLAGS += -isystem microros-ext/include/uxr +CFLAGS += -isystem microros-ext/include/uxr/client +CFLAGS += -isystem microros-ext/include/uxr/client/core +CFLAGS += -isystem microros-ext/include/uxr/client/core/type +CFLAGS += -isystem microros-ext/include/uxr/client/core/communication +CFLAGS += -isystem microros-ext/include/uxr/client/core/session +CFLAGS += -isystem microros-ext/include/uxr/client/core/session/stream +CFLAGS += -isystem microros-ext/include/uxr/client/util +CFLAGS += -isystem microros-ext/include/uxr/client/profile +CFLAGS += -isystem microros-ext/include/uxr/client/profile/transport +CFLAGS += -isystem microros-ext/include/uxr/client/profile/transport/can +CFLAGS += -isystem microros-ext/include/uxr/client/profile/transport/stream_framing +CFLAGS += -isystem microros-ext/include/uxr/client/profile/transport/ip +CFLAGS += -isystem microros-ext/include/uxr/client/profile/transport/ip/udp +CFLAGS += -isystem microros-ext/include/uxr/client/profile/transport/ip/tcp +CFLAGS += -isystem microros-ext/include/uxr/client/profile/transport/custom +CFLAGS += -isystem microros-ext/include/uxr/client/profile/transport/serial +CFLAGS += -isystem microros-ext/include/uxr/client/profile/discovery +CFLAGS += -isystem microros-ext/include/uxr/client/profile/multithread +CFLAGS += -isystem microros-ext/include/unique_identifier_msgs +CFLAGS += -isystem microros-ext/include/unique_identifier_msgs/msg +CFLAGS += -isystem microros-ext/include/unique_identifier_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/unique_identifier_msgs/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/unique_identifier_msgs/unique_identifier_msgs +CFLAGS += -isystem microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg +CFLAGS += -isystem microros-ext/include/unique_identifier_msgs/unique_identifier_msgs/msg/detail +CFLAGS += -isystem microros-ext/include/rosidl_typesupport_microxrcedds_c +CFLAGS += -isystem microros-ext/include/builtin_interfaces +CFLAGS += -isystem microros-ext/include/builtin_interfaces/msg +CFLAGS += -isystem microros-ext/include/builtin_interfaces/msg/detail +CFLAGS += -isystem microros-ext/include/builtin_interfaces/msg/detail/microxrcedds +CFLAGS += -isystem microros-ext/include/builtin_interfaces/builtin_interfaces +CFLAGS += -isystem microros-ext/include/builtin_interfaces/builtin_interfaces/msg +CFLAGS += -isystem microros-ext/include/builtin_interfaces/builtin_interfaces/msg/detail +CFLAGS += -isystem microros-ext/include/tracetools +CFLAGS += -isystem microros-ext/include/tracetools/tracetools +CFLAGS += -isystem microros-ext/include/rmw_microros endif ifneq ($(CIRCUITPY_ESPIDF),0) @@ -676,6 +969,7 @@ BINARY_BLOBS+= microros-ext/esp32s2/libmicroros.a else ifeq ($(IDF_TARGET),esp32s3) BINARY_BLOBS += microros-ext/esp32s3/libmicroros.a endif +endif ifneq ($(VALID_BOARD),) # From esp-idf/components/bootloader/Kconfig.projbuild diff --git a/ports/espressif/boards/m5stack_cardputer/board.c b/ports/espressif/boards/m5stack_cardputer/board.c index 6fdc2f8ea5c46..698864301bd0a 100644 --- a/ports/espressif/boards/m5stack_cardputer/board.c +++ b/ports/espressif/boards/m5stack_cardputer/board.c @@ -17,6 +17,16 @@ #include "py/ringbuf.h" #include "shared/runtime/interrupt_char.h" +// ROS TESTING +// #include +#include +#include +#include +#include +#include +// END ROS TESTING + + #define DELAY 0x80 @@ -42,6 +52,15 @@ uint8_t display_init_sequence[] = { // Overrides the weakly linked function from supervisor/shared/board.c void board_init(void) { + + // ROS TESTING + rcl_allocator_t allocator = rcl_get_default_allocator(); + rcl_init_options_t init_options = rcl_get_zero_initialized_init_options(); + rcl_init_options_init(&init_options, allocator); + + // END ROS TESTING + + busio_spi_obj_t *spi = common_hal_board_create_spi(0); fourwire_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus; bus->base.type = &fourwire_fourwire_type; diff --git a/ports/espressif/microros-ext/esp32s3/libmicroros.a b/ports/espressif/microros-ext/esp32s3/libmicroros.a index a421e3371907f5aeab77a4acc8e8606e8e2d0fc4..6815c5679cb0ddcaa879aa82b135a97fd271f092 100644 GIT binary patch literal 17826814 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

D%?`{sU= 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 z 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

r@ZEDfP~3%b`__QmX8lOjyT(^T_4 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%0DCi0;T! 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℘Spnb(}Y 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

1p!<#R5~i9@f|95|ca)q#EcV4v0R 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

6ON%>JhjR_w@Nj$+ocbuTUVz`@ES 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%0AVB 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

18ch2eQ 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 l5Ai~Ch!?sKg;|R& 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

BI|V!*0!^q0X=vk(8&~ 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

JW`7wt%Y?Pko%9t5M#!<0^q2D42Rd0X|p$>%jIA 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 >iP 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

t{=RbE$z=x=pw@V9D1-aM)vltXs{hg0)wpEB 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 Kp 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%0D1ErQ!%^-mZc<)rJwIXvj@OejzjD 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%0DeHGsN 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

{RwH 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