.. _program_listing_file_docs_FEATURES.md: Program Listing for File FEATURES.md ==================================== |exhale_lsh| :ref:`Return to documentation for file ` (``docs/FEATURES.md``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: md # rosidl_runtime_c Features ## Primitive sequence definitions initializations and finalizations `rosidl_runtime_c` provides default definitions, as well as initialization and finalization functions for the supported rosidl primitive sequence types. These functions are defined in the following headers: * `primitives_sequence.h`: C struct definitions for all supported primitive sequence types. * `primitive_sequence_functions.h`: initialization and finalization functionality for the above defined sequences. * `sequence_bound.h`: Struct designed to track the upper bounds size of a sequence. Currently unused. ## String and u16string definitions, initializations and finalizations Like the sequences described above, `rosidl_runtime_c` provides definitions, as well as initialization and finalization functions for 8-bit and 16-bit character strings. * `string.h`: C struct definition for an 8-bit string. * `string_functions.h`: initialization and finalization functionality for the rosidl 8-bit string. * `string_bound.h`: Designed to track the upper bounds size of a string. Currently unused. * `u16string.h`: C struct definition for a 16-bit string. * `u16string_functions.h`: initialization and finalization functionality for the rosidl 16-bit string. ## Typesupport structs This package defines several structs which are utilized for providing access to properties and functionality of different rosidl types. They are defined for the three main ROS 2 rosidl types: * Messages (`message_type_support_struct.h`) * Services (`service_type_support_struct.h`) * Actions (`action_type_support_struct.h`)