iceoryx2
C Bindings
Loading...
Searching...
No Matches
iceoryx2.h File Reference
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  iox2_request_header_t
struct  iox2_response_mut_t
struct  iox2_attribute_set_t
struct  iox2_attribute_specifier_t
struct  iox2_attribute_verifier_t
struct  iox2_unique_client_id_t
struct  iox2_request_mut_t
struct  iox2_pending_response_t
struct  iox2_config_t
struct  iox2_event_id_t
struct  iox2_entry_value_uninit_t
struct  iox2_entry_handle_mut_t
struct  CFileDescriptor
struct  iox2_file_descriptor_t
struct  iox2_unique_listener_id_t
struct  iox2_cleanup_state_t
struct  iox2_service_builder_t
struct  iox2_waitset_builder_t
struct  iox2_node_builder_t
struct  iox2_node_t
struct  iox2_node_name_t
struct  iox2_unique_notifier_id_t
struct  iox2_response_t
struct  iox2_port_factory_writer_builder_t
struct  iox2_port_factory_reader_builder_t
struct  iox2_type_detail_t
struct  iox2_static_config_blackboard_t
struct  iox2_client_t
struct  iox2_static_config_event_t
struct  iox2_port_factory_notifier_builder_t
struct  iox2_port_factory_listener_builder_t
struct  iox2_listener_t
struct  iox2_notifier_t
struct  iox2_port_factory_publisher_builder_t
struct  iox2_port_factory_subscriber_builder_t
struct  iox2_message_type_details_t
struct  iox2_static_config_publish_subscribe_t
struct  iox2_publisher_t
struct  iox2_reader_t
struct  iox2_port_factory_server_builder_t
struct  iox2_port_factory_client_builder_t
struct  iox2_static_config_request_response_t
struct  iox2_server_t
struct  iox2_subscriber_t
struct  iox2_writer_t
struct  iox2_port_name_t
struct  iox2_unique_publisher_id_t
struct  iox2_sample_mut_t
struct  iox2_unique_reader_id_t
struct  iox2_entry_handle_t
struct  iox2_resizable_memory_request_t
struct  iox2_response_header_t
struct  iox2_unique_server_id_t
struct  iox2_resizable_memory_response_t
struct  iox2_publish_subscribe_header_t
struct  iox2_resizable_memory_publish_subscribe_t
struct  iox2_active_request_t
union  iox2_static_config_details_t
struct  iox2_static_config_t
struct  iox2_port_factory_blackboard_t
struct  iox2_port_factory_event_t
struct  iox2_port_factory_pub_sub_t
struct  iox2_port_factory_request_response_t
struct  iox2_service_name_t
struct  iox2_unique_subscriber_id_t
struct  iox2_sample_t
struct  iox2_unique_node_id_t
struct  iox2_waitset_guard_t
struct  iox2_waitset_attachment_id_t
struct  iox2_waitset_t
struct  iox2_unique_writer_id_t

Macros

#define IOX2_C_BINDINGS_H
#define IOX2_REPR_ALIGNED(n)
#define IOX2_OK   0
#define IOX2_ATTRIBUTE_KEY_LENGTH   64
#define IOX2_ATTRIBUTE_VALUE_LENGTH   256
#define IOX2_MAX_ATTRIBUTES_PER_SERVICE   8
#define IOX2_NODE_NAME_LENGTH   128
#define IOX2_PORT_NAME_LENGTH   64
#define IOX2_SERVICE_NAME_LENGTH   255
#define IOX2_SERVICE_HASH_LENGTH   64
#define IOX2_TYPE_NAME_LENGTH   256
#define IOX2_MAX_BLACKBOARD_KEY_SIZE   64
#define IOX2_MAX_BLACKBOARD_KEY_ALIGNMENT   8
#define IOX2_IS_IPC_LISTENER_FD_BASED   true
#define IOX2_IS_LOCAL_LISTENER_FD_BASED   true

Typedefs

typedef struct iox2_attribute_set_ptr_t iox2_attribute_set_ptr_t
typedef struct iox2_client_details_ptr_t iox2_client_details_ptr_t
typedef struct iox2_config_ptr_t iox2_config_ptr_t
typedef struct iox2_listener_details_ptr_t iox2_listener_details_ptr_t
typedef struct iox2_unique_node_id_ptr_t iox2_unique_node_id_ptr_t
typedef struct iox2_node_name_ptr_t iox2_node_name_ptr_t
typedef struct iox2_notifier_details_ptr_t iox2_notifier_details_ptr_t
typedef struct iox2_port_name_ptr_t iox2_port_name_ptr_t
typedef struct iox2_publisher_details_ptr_t iox2_publisher_details_ptr_t
typedef struct iox2_reader_details_ptr_t iox2_reader_details_ptr_t
typedef struct iox2_server_details_ptr_t iox2_server_details_ptr_t
typedef struct iox2_service_name_ptr_t iox2_service_name_ptr_t
typedef struct iox2_subscriber_details_ptr_t iox2_subscriber_details_ptr_t
typedef struct iox2_writer_details_ptr_t iox2_writer_details_ptr_t
typedef enum iox2_semantic_string_error_e iox2_semantic_string_error_e
typedef enum iox2_service_type_e iox2_service_type_e
typedef enum iox2_attribute_definition_error_e iox2_attribute_definition_error_e
typedef enum iox2_attribute_verification_error_e iox2_attribute_verification_error_e
typedef enum iox2_callback_progression_e iox2_callback_progression_e
typedef enum iox2_backpressure_strategy_e iox2_backpressure_strategy_e
typedef enum iox2_config_creation_error_e iox2_config_creation_error_e
typedef enum iox2_listener_wait_error_e iox2_listener_wait_error_e
typedef enum iox2_log_level_e iox2_log_level_e
typedef enum iox2_node_list_failure_e iox2_node_list_failure_e
typedef enum iox2_node_wait_failure_e iox2_node_wait_failure_e
typedef enum iox2_signal_handling_mode_e iox2_signal_handling_mode_e
typedef enum iox2_messaging_pattern_e iox2_messaging_pattern_e
typedef enum iox2_node_state_e iox2_node_state_e
typedef enum iox2_node_creation_failure_e iox2_node_creation_failure_e
typedef enum iox2_notifier_notify_error_e iox2_notifier_notify_error_e
typedef enum iox2_type_variant_e iox2_type_variant_e
typedef enum iox2_client_create_error_e iox2_client_create_error_e
typedef enum iox2_allocation_strategy_e iox2_allocation_strategy_e
typedef enum iox2_degradation_action_e iox2_degradation_action_e
typedef enum iox2_degradation_cause_e iox2_degradation_cause_e
typedef enum iox2_backpressure_action_e iox2_backpressure_action_e
typedef enum iox2_listener_create_error_e iox2_listener_create_error_e
typedef enum iox2_notifier_create_error_e iox2_notifier_create_error_e
typedef enum iox2_publisher_create_error_e iox2_publisher_create_error_e
typedef enum iox2_reader_create_error_e iox2_reader_create_error_e
typedef enum iox2_server_create_error_e iox2_server_create_error_e
typedef enum iox2_subscriber_create_error_e iox2_subscriber_create_error_e
typedef enum iox2_writer_create_error_e iox2_writer_create_error_e
typedef enum iox2_send_error_e iox2_send_error_e
typedef enum iox2_loan_error_e iox2_loan_error_e
typedef enum iox2_service_details_error_e iox2_service_details_error_e
typedef enum iox2_event_open_or_create_error_e iox2_event_open_or_create_error_e
typedef enum iox2_pub_sub_open_or_create_error_e iox2_pub_sub_open_or_create_error_e
typedef enum iox2_type_detail_error_e iox2_type_detail_error_e
typedef enum iox2_receive_error_e iox2_receive_error_e
typedef enum iox2_service_list_error_e iox2_service_list_error_e
typedef enum iox2_connection_failure_e iox2_connection_failure_e
typedef enum iox2_waitset_create_error_e iox2_waitset_create_error_e
typedef enum iox2_waitset_run_error_e iox2_waitset_run_error_e
typedef enum iox2_waitset_run_result_e iox2_waitset_run_result_e
typedef enum iox2_waitset_attachment_error_e iox2_waitset_attachment_error_e
typedef enum iox2_node_cleanup_failure_e iox2_node_cleanup_failure_e
typedef enum iox2_request_response_open_or_create_error_e iox2_request_response_open_or_create_error_e
typedef enum iox2_request_send_error_e iox2_request_send_error_e
typedef enum iox2_service_remove_error_e iox2_service_remove_error_e
typedef enum iox2_unique_id_generator_details_error_e iox2_unique_id_generator_details_error_e
typedef enum iox2_entry_handle_error_e iox2_entry_handle_error_e
typedef enum iox2_blackboard_open_error_e iox2_blackboard_open_error_e
typedef enum iox2_blackboard_create_error_e iox2_blackboard_create_error_e
typedef enum iox2_entry_handle_mut_error_e iox2_entry_handle_mut_error_e
typedef struct iox2_active_request_h_t iox2_active_request_h_t
typedef struct iox2_attribute_h_t iox2_attribute_h_t
typedef struct iox2_attribute_set_h_t iox2_attribute_set_h_t
typedef struct iox2_attribute_specifier_h_t iox2_attribute_specifier_h_t
typedef struct iox2_attribute_verifier_h_t iox2_attribute_verifier_h_t
typedef struct iox2_backpressure_info_h iox2_backpressure_info_h
typedef struct iox2_client_h_t iox2_client_h_t
typedef struct iox2_config_h_t iox2_config_h_t
typedef struct iox2_degradation_info_h iox2_degradation_info_h
typedef struct iox2_entry_handle_h_t iox2_entry_handle_h_t
typedef struct iox2_entry_handle_mut_h_t iox2_entry_handle_mut_h_t
typedef struct iox2_entry_value_uninit_h_t iox2_entry_value_uninit_h_t
typedef struct iox2_file_descriptor_h_t iox2_file_descriptor_h_t
typedef struct iox2_listener_h_t iox2_listener_h_t
typedef struct iox2_name_h_t iox2_name_h_t
typedef struct iox2_node_builder_h_t iox2_node_builder_h_t
typedef struct iox2_node_name_h_t iox2_node_name_h_t
typedef struct iox2_notifier_h_t iox2_notifier_h_t
typedef struct iox2_pending_response_h_t iox2_pending_response_h_t
typedef struct iox2_port_factory_blackboard_h_t iox2_port_factory_blackboard_h_t
typedef struct iox2_port_factory_client_builder_h_t iox2_port_factory_client_builder_h_t
typedef struct iox2_port_factory_event_h_t iox2_port_factory_event_h_t
typedef struct iox2_port_factory_listener_builder_h_t iox2_port_factory_listener_builder_h_t
typedef struct iox2_port_factory_notifier_builder_h_t iox2_port_factory_notifier_builder_h_t
typedef struct iox2_port_factory_pub_sub_h_t iox2_port_factory_pub_sub_h_t
typedef struct iox2_port_factory_publisher_builder_h_t iox2_port_factory_publisher_builder_h_t
typedef struct iox2_port_factory_reader_builder_h_t iox2_port_factory_reader_builder_h_t
typedef struct iox2_port_factory_request_response_h_t iox2_port_factory_request_response_h_t
typedef struct iox2_port_factory_server_builder_h_t iox2_port_factory_server_builder_h_t
typedef struct iox2_port_factory_subscriber_builder_h_t iox2_port_factory_subscriber_builder_h_t
typedef struct iox2_port_factory_writer_builder_h_t iox2_port_factory_writer_builder_h_t
typedef struct iox2_port_name_h_t iox2_port_name_h_t
typedef struct iox2_publish_subscribe_header_h_t iox2_publish_subscribe_header_h_t
typedef struct iox2_publisher_h_t iox2_publisher_h_t
typedef struct iox2_reader_h_t iox2_reader_h_t
typedef struct iox2_request_header_h_t iox2_request_header_h_t
typedef struct iox2_request_mut_h_t iox2_request_mut_h_t
typedef struct iox2_resizable_memory_publish_subscribe_h_t iox2_resizable_memory_publish_subscribe_h_t
typedef struct iox2_resizable_memory_request_h_t iox2_resizable_memory_request_h_t
typedef struct iox2_resizable_memory_response_h_t iox2_resizable_memory_response_h_t
typedef struct iox2_response_h_t iox2_response_h_t
typedef struct iox2_response_header_h_t iox2_response_header_h_t
typedef struct iox2_response_mut_h_t iox2_response_mut_h_t
typedef struct iox2_sample_h_t iox2_sample_h_t
typedef struct iox2_sample_mut_h_t iox2_sample_mut_h_t
typedef struct iox2_server_h_t iox2_server_h_t
typedef struct iox2_service_builder_blackboard_creator_h_t iox2_service_builder_blackboard_creator_h_t
typedef struct iox2_service_builder_blackboard_opener_h_t iox2_service_builder_blackboard_opener_h_t
typedef struct iox2_service_builder_event_h_t iox2_service_builder_event_h_t
typedef struct iox2_service_builder_h_t iox2_service_builder_h_t
typedef struct iox2_service_builder_pub_sub_h_t iox2_service_builder_pub_sub_h_t
typedef struct iox2_service_builder_request_response_h_t iox2_service_builder_request_response_h_t
typedef struct iox2_service_name_h_t iox2_service_name_h_t
typedef struct iox2_subscriber_h_t iox2_subscriber_h_t
typedef struct iox2_unique_client_id_h_t iox2_unique_client_id_h_t
typedef struct iox2_unique_listener_id_h_t iox2_unique_listener_id_h_t
typedef struct iox2_unique_node_id_h_t iox2_unique_node_id_h_t
typedef struct iox2_unique_notifier_id_h_t iox2_unique_notifier_id_h_t
typedef struct iox2_unique_publisher_id_h_t iox2_unique_publisher_id_h_t
typedef struct iox2_unique_reader_id_h_t iox2_unique_reader_id_h_t
typedef struct iox2_unique_server_id_h_t iox2_unique_server_id_h_t
typedef struct iox2_unique_subscriber_id_h_t iox2_unique_subscriber_id_h_t
typedef struct iox2_unique_writer_id_h_t iox2_unique_writer_id_h_t
typedef struct iox2_waitset_attachment_id_h_t iox2_waitset_attachment_id_h_t
typedef struct iox2_waitset_builder_h_t iox2_waitset_builder_h_t
typedef struct iox2_waitset_guard_h_t iox2_waitset_guard_h_t
typedef struct iox2_waitset_h_t iox2_waitset_h_t
typedef struct iox2_writer_h_t iox2_writer_h_t
typedef struct iox2_active_request_h_t * iox2_active_request_h
typedef const iox2_active_request_h * iox2_active_request_h_ref
typedef struct iox2_request_header_t iox2_request_header_t
typedef struct iox2_request_header_h_t * iox2_request_header_h
typedef size_t c_size_t
typedef struct iox2_response_mut_t iox2_response_mut_t
typedef struct iox2_response_mut_h_t * iox2_response_mut_h
typedef const struct iox2_attribute_h_t * iox2_attribute_h_ref
typedef struct iox2_attribute_set_t iox2_attribute_set_t
typedef const iox2_attribute_set_ptr_t * iox2_attribute_set_ptr
typedef struct iox2_attribute_set_h_t * iox2_attribute_set_h
typedef void * iox2_callback_context
typedef enum iox2_callback_progression_e(* iox2_attribute_set_get_callback) (const char *, iox2_callback_context)
typedef struct iox2_attribute_specifier_t iox2_attribute_specifier_t
typedef struct iox2_attribute_specifier_h_t * iox2_attribute_specifier_h
typedef const iox2_attribute_specifier_h * iox2_attribute_specifier_h_ref
typedef struct iox2_attribute_verifier_t iox2_attribute_verifier_t
typedef struct iox2_attribute_verifier_h_t * iox2_attribute_verifier_h
typedef const iox2_attribute_verifier_h * iox2_attribute_verifier_h_ref
typedef const struct iox2_backpressure_info_h * iox2_backpressure_info_h_ref
typedef struct iox2_client_h_t * iox2_client_h
typedef const iox2_client_h * iox2_client_h_ref
typedef struct iox2_unique_client_id_t iox2_unique_client_id_t
typedef struct iox2_unique_client_id_h_t * iox2_unique_client_id_h
typedef const iox2_port_name_ptr_t * iox2_port_name_ptr
typedef struct iox2_request_mut_t iox2_request_mut_t
typedef struct iox2_request_mut_h_t * iox2_request_mut_h
typedef struct iox2_pending_response_t iox2_pending_response_t
typedef struct iox2_pending_response_h_t * iox2_pending_response_h
typedef const iox2_client_details_ptr_t * iox2_client_details_ptr
typedef const iox2_unique_node_id_ptr_t * iox2_unique_node_id_ptr
typedef const iox2_config_ptr_t * iox2_config_ptr
typedef struct iox2_config_h_t * iox2_config_h
typedef struct iox2_config_t iox2_config_t
typedef const iox2_config_h * iox2_config_h_ref
typedef const struct iox2_degradation_info_h * iox2_degradation_info_h_ref
typedef struct iox2_entry_handle_h_t * iox2_entry_handle_h
typedef const iox2_entry_handle_h * iox2_entry_handle_h_ref
typedef struct iox2_event_id_t iox2_event_id_t
typedef struct iox2_entry_handle_mut_h_t * iox2_entry_handle_mut_h
typedef struct iox2_entry_value_uninit_t iox2_entry_value_uninit_t
typedef struct iox2_entry_value_uninit_h_t * iox2_entry_value_uninit_h
typedef const iox2_entry_handle_mut_h * iox2_entry_handle_mut_h_ref
typedef const iox2_entry_value_uninit_h * iox2_entry_value_uninit_h_ref
typedef struct iox2_entry_handle_mut_t iox2_entry_handle_mut_t
typedef struct CFileDescriptor CFileDescriptor
typedef const struct CFileDescriptor * iox2_file_descriptor_ptr
typedef struct iox2_file_descriptor_h_t * iox2_file_descriptor_h
typedef struct iox2_file_descriptor_t iox2_file_descriptor_t
typedef struct iox2_listener_h_t * iox2_listener_h
typedef const iox2_listener_h * iox2_listener_h_ref
typedef void(* iox2_listener_wait_all_callback) (const struct iox2_event_id_t *, uint64_t, iox2_callback_context)
typedef struct iox2_unique_listener_id_t iox2_unique_listener_id_t
typedef struct iox2_unique_listener_id_h_t * iox2_unique_listener_id_h
typedef const iox2_listener_details_ptr_t * iox2_listener_details_ptr
typedef void(* iox2_log_callback) (enum iox2_log_level_e, const char *, const char *)
typedef const iox2_node_name_ptr_t * iox2_node_name_ptr
typedef struct iox2_name_h_t * iox2_node_h
typedef const iox2_node_h * iox2_node_h_ref
typedef const iox2_service_name_ptr_t * iox2_service_name_ptr
typedef struct iox2_unique_node_id_h_t * iox2_unique_node_id_h
typedef const iox2_unique_node_id_h * iox2_unique_node_id_h_ref
typedef enum iox2_callback_progression_e(* iox2_node_list_callback) (enum iox2_node_state_e, iox2_unique_node_id_ptr, const char *, iox2_node_name_ptr, iox2_config_ptr, iox2_callback_context)
typedef struct iox2_cleanup_state_t iox2_cleanup_state_t
typedef struct iox2_service_builder_h_t * iox2_service_builder_h
typedef struct iox2_service_builder_t iox2_service_builder_t
typedef struct iox2_waitset_builder_h_t * iox2_waitset_builder_h
typedef struct iox2_waitset_builder_t iox2_waitset_builder_t
typedef struct iox2_node_builder_h_t * iox2_node_builder_h
typedef struct iox2_node_builder_t iox2_node_builder_t
typedef const iox2_node_builder_h * iox2_node_builder_h_ref
typedef struct iox2_node_t iox2_node_t
typedef struct iox2_node_name_t iox2_node_name_t
typedef struct iox2_node_name_h_t * iox2_node_name_h
typedef struct iox2_notifier_h_t * iox2_notifier_h
typedef const iox2_notifier_h * iox2_notifier_h_ref
typedef struct iox2_unique_notifier_id_t iox2_unique_notifier_id_t
typedef struct iox2_unique_notifier_id_h_t * iox2_unique_notifier_id_h
typedef const iox2_notifier_details_ptr_t * iox2_notifier_details_ptr
typedef const iox2_pending_response_h * iox2_pending_response_h_ref
typedef struct iox2_response_t iox2_response_t
typedef struct iox2_response_h_t * iox2_response_h
typedef struct iox2_port_factory_blackboard_h_t * iox2_port_factory_blackboard_h
typedef const iox2_port_factory_blackboard_h * iox2_port_factory_blackboard_h_ref
typedef struct iox2_port_factory_writer_builder_h_t * iox2_port_factory_writer_builder_h
typedef struct iox2_port_factory_writer_builder_t iox2_port_factory_writer_builder_t
typedef struct iox2_port_factory_reader_builder_h_t * iox2_port_factory_reader_builder_h
typedef struct iox2_port_factory_reader_builder_t iox2_port_factory_reader_builder_t
typedef struct iox2_type_detail_t iox2_type_detail_t
typedef struct iox2_static_config_blackboard_t iox2_static_config_blackboard_t
typedef const iox2_reader_details_ptr_t * iox2_reader_details_ptr
typedef enum iox2_callback_progression_e(* iox2_list_readers_callback) (iox2_callback_context, iox2_reader_details_ptr)
typedef const iox2_writer_details_ptr_t * iox2_writer_details_ptr
typedef enum iox2_callback_progression_e(* iox2_list_writers_callback) (iox2_callback_context, iox2_writer_details_ptr)
typedef enum iox2_callback_progression_e(* iox2_port_factory_blackboard_list_keys_callback) (const void *, iox2_callback_context)
typedef struct iox2_port_factory_client_builder_h_t * iox2_port_factory_client_builder_h
typedef const iox2_port_factory_client_builder_h * iox2_port_factory_client_builder_h_ref
typedef size_t(* iox2_preallocated_requests_override) (size_t, iox2_callback_context)
typedef enum iox2_degradation_action_e(* iox2_degradation_handler) (enum iox2_degradation_cause_e, iox2_degradation_info_h_ref, iox2_callback_context)
typedef enum iox2_backpressure_action_e(* iox2_backpressure_handler) (iox2_backpressure_info_h_ref, iox2_callback_context)
typedef struct iox2_client_t iox2_client_t
typedef struct iox2_port_factory_event_h_t * iox2_port_factory_event_h
typedef const iox2_port_factory_event_h * iox2_port_factory_event_h_ref
typedef struct iox2_static_config_event_t iox2_static_config_event_t
typedef struct iox2_port_factory_notifier_builder_h_t * iox2_port_factory_notifier_builder_h
typedef struct iox2_port_factory_notifier_builder_t iox2_port_factory_notifier_builder_t
typedef struct iox2_port_factory_listener_builder_h_t * iox2_port_factory_listener_builder_h
typedef struct iox2_port_factory_listener_builder_t iox2_port_factory_listener_builder_t
typedef enum iox2_callback_progression_e(* iox2_list_listeners_callback) (iox2_callback_context, iox2_listener_details_ptr)
typedef enum iox2_callback_progression_e(* iox2_list_notifiers_callback) (iox2_callback_context, iox2_notifier_details_ptr)
typedef const iox2_port_factory_listener_builder_h * iox2_port_factory_listener_builder_h_ref
typedef struct iox2_listener_t iox2_listener_t
typedef const iox2_port_factory_notifier_builder_h * iox2_port_factory_notifier_builder_h_ref
typedef struct iox2_notifier_t iox2_notifier_t
typedef struct iox2_port_factory_publisher_builder_h_t * iox2_port_factory_publisher_builder_h
typedef struct iox2_port_factory_pub_sub_h_t * iox2_port_factory_pub_sub_h
typedef const iox2_port_factory_pub_sub_h * iox2_port_factory_pub_sub_h_ref
typedef struct iox2_port_factory_publisher_builder_t iox2_port_factory_publisher_builder_t
typedef struct iox2_port_factory_subscriber_builder_h_t * iox2_port_factory_subscriber_builder_h
typedef struct iox2_port_factory_subscriber_builder_t iox2_port_factory_subscriber_builder_t
typedef struct iox2_message_type_details_t iox2_message_type_details_t
typedef struct iox2_static_config_publish_subscribe_t iox2_static_config_publish_subscribe_t
typedef const iox2_subscriber_details_ptr_t * iox2_subscriber_details_ptr
typedef enum iox2_callback_progression_e(* iox2_list_subscribers_callback) (iox2_callback_context, iox2_subscriber_details_ptr)
typedef const iox2_publisher_details_ptr_t * iox2_publisher_details_ptr
typedef enum iox2_callback_progression_e(* iox2_list_publishers_callback) (iox2_callback_context, iox2_publisher_details_ptr)
typedef const iox2_port_factory_publisher_builder_h * iox2_port_factory_publisher_builder_h_ref
typedef size_t(* iox2_preallocated_samples_override) (size_t, iox2_callback_context)
typedef struct iox2_publisher_t iox2_publisher_t
typedef struct iox2_publisher_h_t * iox2_publisher_h
typedef const iox2_port_factory_reader_builder_h * iox2_port_factory_reader_builder_h_ref
typedef struct iox2_reader_t iox2_reader_t
typedef struct iox2_reader_h_t * iox2_reader_h
typedef struct iox2_port_factory_server_builder_h_t * iox2_port_factory_server_builder_h
typedef struct iox2_port_factory_request_response_h_t * iox2_port_factory_request_response_h
typedef const iox2_port_factory_request_response_h * iox2_port_factory_request_response_h_ref
typedef struct iox2_port_factory_server_builder_t iox2_port_factory_server_builder_t
typedef struct iox2_port_factory_client_builder_t iox2_port_factory_client_builder_t
typedef struct iox2_static_config_request_response_t iox2_static_config_request_response_t
typedef const iox2_server_details_ptr_t * iox2_server_details_ptr
typedef enum iox2_callback_progression_e(* iox2_list_servers_callback) (iox2_callback_context, iox2_server_details_ptr)
typedef enum iox2_callback_progression_e(* iox2_list_clients_callback) (iox2_callback_context, iox2_client_details_ptr)
typedef const iox2_port_factory_server_builder_h * iox2_port_factory_server_builder_h_ref
typedef size_t(* iox2_preallocated_responses_override) (size_t, iox2_callback_context)
typedef struct iox2_server_t iox2_server_t
typedef struct iox2_server_h_t * iox2_server_h
typedef const iox2_port_factory_subscriber_builder_h * iox2_port_factory_subscriber_builder_h_ref
typedef struct iox2_subscriber_t iox2_subscriber_t
typedef struct iox2_subscriber_h_t * iox2_subscriber_h
typedef const iox2_port_factory_writer_builder_h * iox2_port_factory_writer_builder_h_ref
typedef struct iox2_writer_t iox2_writer_t
typedef struct iox2_writer_h_t * iox2_writer_h
typedef struct iox2_port_name_t iox2_port_name_t
typedef struct iox2_port_name_h_t * iox2_port_name_h
typedef struct iox2_publish_subscribe_header_h_t * iox2_publish_subscribe_header_h
typedef const iox2_publish_subscribe_header_h * iox2_publish_subscribe_header_h_ref
typedef struct iox2_unique_publisher_id_t iox2_unique_publisher_id_t
typedef struct iox2_unique_publisher_id_h_t * iox2_unique_publisher_id_h
typedef const iox2_publisher_h * iox2_publisher_h_ref
typedef struct iox2_sample_mut_t iox2_sample_mut_t
typedef struct iox2_sample_mut_h_t * iox2_sample_mut_h
typedef const iox2_reader_h * iox2_reader_h_ref
typedef struct iox2_unique_reader_id_t iox2_unique_reader_id_t
typedef struct iox2_unique_reader_id_h_t * iox2_unique_reader_id_h
typedef struct iox2_entry_handle_t iox2_entry_handle_t
typedef const iox2_request_header_h * iox2_request_header_h_ref
typedef const iox2_request_mut_h * iox2_request_mut_h_ref
typedef struct iox2_resizable_memory_request_t iox2_resizable_memory_request_t
typedef struct iox2_resizable_memory_request_h_t * iox2_resizable_memory_request_h
typedef struct iox2_resizable_memory_publish_subscribe_h_t * iox2_resizable_memory_publish_subscribe_h
typedef const iox2_resizable_memory_publish_subscribe_h * iox2_resizable_memory_publish_subscribe_h_ref
typedef const iox2_resizable_memory_request_h * iox2_resizable_memory_request_h_ref
typedef struct iox2_resizable_memory_response_h_t * iox2_resizable_memory_response_h
typedef const iox2_resizable_memory_response_h * iox2_resizable_memory_response_h_ref
typedef const iox2_response_h * iox2_response_h_ref
typedef struct iox2_response_header_t iox2_response_header_t
typedef struct iox2_response_header_h_t * iox2_response_header_h
typedef const iox2_response_header_h * iox2_response_header_h_ref
typedef struct iox2_unique_server_id_t iox2_unique_server_id_t
typedef struct iox2_unique_server_id_h_t * iox2_unique_server_id_h
typedef const iox2_response_mut_h * iox2_response_mut_h_ref
typedef struct iox2_resizable_memory_response_t iox2_resizable_memory_response_t
typedef struct iox2_sample_h_t * iox2_sample_h
typedef const iox2_sample_h * iox2_sample_h_ref
typedef struct iox2_publish_subscribe_header_t iox2_publish_subscribe_header_t
typedef const iox2_sample_mut_h * iox2_sample_mut_h_ref
typedef struct iox2_resizable_memory_publish_subscribe_t iox2_resizable_memory_publish_subscribe_t
typedef const iox2_server_h * iox2_server_h_ref
typedef struct iox2_active_request_t iox2_active_request_t
typedef union iox2_static_config_details_t iox2_static_config_details_t
typedef struct iox2_static_config_t iox2_static_config_t
typedef enum iox2_callback_progression_e(* iox2_service_list_callback) (const struct iox2_static_config_t *, iox2_callback_context)
typedef struct iox2_service_builder_event_h_t * iox2_service_builder_event_h
typedef struct iox2_service_builder_pub_sub_h_t * iox2_service_builder_pub_sub_h
typedef struct iox2_service_builder_request_response_h_t * iox2_service_builder_request_response_h
typedef struct iox2_service_builder_blackboard_creator_h_t * iox2_service_builder_blackboard_creator_h
typedef struct iox2_service_builder_blackboard_opener_h_t * iox2_service_builder_blackboard_opener_h
typedef const iox2_service_builder_blackboard_creator_h * iox2_service_builder_blackboard_creator_h_ref
typedef const iox2_service_builder_blackboard_opener_h * iox2_service_builder_blackboard_opener_h_ref
typedef bool(* iox2_service_blackboard_key_eq_cmp_func) (const void *, const void *)
typedef void(* iox2_service_blackboard_creator_add_release_callback) (void *)
typedef struct iox2_port_factory_blackboard_t iox2_port_factory_blackboard_t
typedef const iox2_service_builder_event_h * iox2_service_builder_event_h_ref
typedef struct iox2_port_factory_event_t iox2_port_factory_event_t
typedef const iox2_service_builder_pub_sub_h * iox2_service_builder_pub_sub_h_ref
typedef struct iox2_port_factory_pub_sub_t iox2_port_factory_pub_sub_t
typedef const iox2_service_builder_request_response_h * iox2_service_builder_request_response_h_ref
typedef struct iox2_port_factory_request_response_t iox2_port_factory_request_response_t
typedef struct iox2_service_name_t iox2_service_name_t
typedef struct iox2_service_name_h_t * iox2_service_name_h
typedef const iox2_subscriber_h * iox2_subscriber_h_ref
typedef struct iox2_unique_subscriber_id_t iox2_unique_subscriber_id_t
typedef struct iox2_unique_subscriber_id_h_t * iox2_unique_subscriber_id_h
typedef struct iox2_sample_t iox2_sample_t
typedef const iox2_unique_client_id_h * iox2_unique_client_id_h_ref
typedef const iox2_unique_listener_id_h * iox2_unique_listener_id_h_ref
typedef struct iox2_unique_node_id_t iox2_unique_node_id_t
typedef const iox2_unique_notifier_id_h * iox2_unique_notifier_id_h_ref
typedef const iox2_unique_publisher_id_h * iox2_unique_publisher_id_h_ref
typedef const iox2_unique_reader_id_h * iox2_unique_reader_id_h_ref
typedef const iox2_unique_server_id_h * iox2_unique_server_id_h_ref
typedef const iox2_unique_subscriber_id_h * iox2_unique_subscriber_id_h_ref
typedef struct iox2_unique_writer_id_h_t * iox2_unique_writer_id_h
typedef const iox2_unique_writer_id_h * iox2_unique_writer_id_h_ref
typedef struct iox2_waitset_h_t * iox2_waitset_h
typedef const iox2_waitset_h * iox2_waitset_h_ref
typedef struct iox2_waitset_guard_t iox2_waitset_guard_t
typedef struct iox2_waitset_guard_h_t * iox2_waitset_guard_h
typedef struct iox2_waitset_attachment_id_h_t * iox2_waitset_attachment_id_h
typedef enum iox2_callback_progression_e(* iox2_waitset_run_callback) (iox2_waitset_attachment_id_h, iox2_callback_context)
typedef const iox2_waitset_attachment_id_h * iox2_waitset_attachment_id_h_ref
typedef const iox2_waitset_guard_h * iox2_waitset_guard_h_ref
typedef struct iox2_waitset_attachment_id_t iox2_waitset_attachment_id_t
typedef struct iox2_waitset_t iox2_waitset_t
typedef const iox2_waitset_builder_h * iox2_waitset_builder_h_ref
typedef const iox2_writer_h * iox2_writer_h_ref
typedef struct iox2_unique_writer_id_t iox2_unique_writer_id_t

Enumerations

enum  iox2_semantic_string_error_e { iox2_semantic_string_error_e_INVALID_CONTENT = ((ptrdiff_t) 0 + 1) , iox2_semantic_string_error_e_EXCEEDS_MAXIMUM_LENGTH }
enum  iox2_service_type_e { iox2_service_type_e_LOCAL , iox2_service_type_e_IPC }
enum  iox2_attribute_definition_error_e { iox2_attribute_definition_error_e_EXCEEDS_MAX_SUPPORTED_ATTRIBUTES = ((ptrdiff_t) 0 + 1) }
enum  iox2_attribute_verification_error_e { iox2_attribute_verification_error_e_NON_EXISTING_KEY = ((ptrdiff_t) 0 + 1) , iox2_attribute_verification_error_e_INCOMPATIBLE_ATTRIBUTE }
enum  iox2_callback_progression_e { iox2_callback_progression_e_STOP = 0 , iox2_callback_progression_e_CONTINUE }
enum  iox2_backpressure_strategy_e { iox2_backpressure_strategy_e_RETRY_UNTIL_DELIVERED , iox2_backpressure_strategy_e_DISCARD_DATA }
enum  iox2_config_creation_error_e {
  iox2_config_creation_error_e_FAILED_TO_READ_CONFIG_FILE_CONTENTS = ((ptrdiff_t) 0 + 1) , iox2_config_creation_error_e_UNABLE_TO_DESERIALIZE_CONTENTS , iox2_config_creation_error_e_INSUFFICIENT_PERMISSIONS , iox2_config_creation_error_e_CONFIG_FILE_DOES_NOT_EXIST ,
  iox2_config_creation_error_e_UNABLE_TO_OPEN_CONFIG_FILE , iox2_config_creation_error_e_INVALID_FILE_PATH
}
enum  iox2_listener_wait_error_e {
  iox2_listener_wait_error_e_CONTRACT_VIOLATION = ((ptrdiff_t) 0 + 1) , iox2_listener_wait_error_e_INTERNAL_FAILURE , iox2_listener_wait_error_e_INTERRUPT_SIGNAL , iox2_listener_wait_error_e_CLOCK_SCHEDULE_CAPACITY_EXCEEDED ,
  iox2_listener_wait_error_e_NOTIFICATION_ERROR
}
enum  iox2_log_level_e {
  iox2_log_level_e_TRACE = 0 , iox2_log_level_e_DEBUG = 1 , iox2_log_level_e_INFO = 2 , iox2_log_level_e_WARN = 3 ,
  iox2_log_level_e_ERROR = 4 , iox2_log_level_e_FATAL = 5
}
enum  iox2_node_list_failure_e { iox2_node_list_failure_e_INSUFFICIENT_PERMISSIONS = ((ptrdiff_t) 0 + 1) , iox2_node_list_failure_e_INTERRUPT , iox2_node_list_failure_e_INTERNAL_ERROR }
enum  iox2_node_wait_failure_e { iox2_node_wait_failure_e_INTERRUPT = ((ptrdiff_t) 0 + 1) , iox2_node_wait_failure_e_TERMINATION_REQUEST , iox2_node_wait_failure_e_INTERNAL_ERROR }
enum  iox2_signal_handling_mode_e { iox2_signal_handling_mode_e_HANDLE_TERMINATION_REQUESTS = ((ptrdiff_t) 0 + 1) , iox2_signal_handling_mode_e_DISABLED }
enum  iox2_messaging_pattern_e { iox2_messaging_pattern_e_PUBLISH_SUBSCRIBE = 0 , iox2_messaging_pattern_e_EVENT , iox2_messaging_pattern_e_REQUEST_RESPONSE , iox2_messaging_pattern_e_BLACKBOARD }
enum  iox2_node_state_e { iox2_node_state_e_ALIVE , iox2_node_state_e_DEAD , iox2_node_state_e_INACCESSIBLE , iox2_node_state_e_UNDEFINED }
enum  iox2_node_creation_failure_e {
  iox2_node_creation_failure_e_INSUFFICIENT_PERMISSIONS = ((ptrdiff_t) 0 + 1) , iox2_node_creation_failure_e_INTERNAL_ERROR , iox2_node_creation_failure_e_SYSTEM_CORRUPTED , iox2_node_creation_failure_e_UNABLE_TO_GENERATE_UNIQUE_NODE_ID ,
  iox2_node_creation_failure_e_UNABLE_TO_OPEN_OR_CREATE_NAME_GENERATOR , iox2_node_creation_failure_e_FAILED_TO_OPEN_CLOCK , iox2_node_creation_failure_e_INTERRUPTED_BY_SIGNAL
}
enum  iox2_notifier_notify_error_e { iox2_notifier_notify_error_e_EVENT_ID_OUT_OF_BOUNDS = ((ptrdiff_t) 0 + 1) , iox2_notifier_notify_error_e_MISSED_DEADLINE , iox2_notifier_notify_error_e_UNABLE_TO_ACQUIRE_ELAPSED_TIME , iox2_notifier_notify_error_e_INVALID_LISTENER_KEY }
enum  iox2_type_variant_e { iox2_type_variant_e_FIXED_SIZE , iox2_type_variant_e_DYNAMIC }
enum  iox2_client_create_error_e {
  iox2_client_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT = ((ptrdiff_t) 0 + 1) , iox2_client_create_error_e_EXCEEDS_MAX_SUPPORTED_CLIENTS , iox2_client_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY , iox2_client_create_error_e_UNABLE_TO_CREATE_PORT_TAG ,
  iox2_client_create_error_e_MAX_ACTIVE_REQUESTS_EXCEEDS_MAX_SUPPORTED_ACTIVE_REQUESTS_OF_SERVICE , iox2_client_create_error_e_UNABLE_TO_GENERATE_UNIQUE_CLIENT_ID
}
enum  iox2_allocation_strategy_e { iox2_allocation_strategy_e_BEST_FIT , iox2_allocation_strategy_e_POWER_OF_TWO , iox2_allocation_strategy_e_STATIC }
enum  iox2_degradation_action_e { iox2_degradation_action_e_IGNORE , iox2_degradation_action_e_WARN , iox2_degradation_action_e_DEGRADE_AND_FAIL }
enum  iox2_degradation_cause_e { iox2_degradation_cause_e_FAILED_TO_ESTABLISH_CONNECTION , iox2_degradation_cause_e_CONNECTION_CORRUPTED }
enum  iox2_backpressure_action_e { iox2_backpressure_action_e_FOLLOW_BACKPRESSUREY_STRATEGY , iox2_backpressure_action_e_RETRY , iox2_backpressure_action_e_DISCARD_DATA , iox2_backpressure_action_e_DISCARD_DATA_AND_FAIL }
enum  iox2_listener_create_error_e {
  iox2_listener_create_error_e_EXCEEDS_MAX_SUPPORTED_LISTENERS = ((ptrdiff_t) 0 + 1) , iox2_listener_create_error_e_RESOURCE_CREATION_FAILED , iox2_listener_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY , iox2_listener_create_error_e_UNABLE_TO_CREATE_PORT_TAG ,
  iox2_listener_create_error_e_UNABLE_TO_GENERATE_UNIQUE_LISTENER_ID
}
enum  iox2_notifier_create_error_e { iox2_notifier_create_error_e_EXCEEDS_MAX_SUPPORTED_NOTIFIERS = ((ptrdiff_t) 0 + 1) , iox2_notifier_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY , iox2_notifier_create_error_e_UNABLE_TO_CREATE_PORT_TAG , iox2_notifier_create_error_e_UNABLE_TO_GENERATE_UNIQUE_NOTIFIER_ID }
enum  iox2_publisher_create_error_e {
  iox2_publisher_create_error_e_EXCEEDS_MAX_SUPPORTED_PUBLISHERS = ((ptrdiff_t) 0 + 1) , iox2_publisher_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT , iox2_publisher_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY , iox2_publisher_create_error_e_UNABLE_TO_CREATE_PORT_TAG ,
  iox2_publisher_create_error_e_UNABLE_TO_GENERATE_UNIQUE_PUBLISHER_ID
}
enum  iox2_reader_create_error_e { iox2_reader_create_error_e_EXCEEDS_MAX_SUPPORTED_READERS = ((ptrdiff_t) 0 + 1) , iox2_reader_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY , iox2_reader_create_error_e_UNABLE_TO_CREATE_PORT_TAG , iox2_reader_create_error_e_UNABLE_TO_GENERATE_UNIQUE_READER_ID }
enum  iox2_server_create_error_e {
  iox2_server_create_error_e_EXCEEDS_MAX_SUPPORTED_SERVERS = ((ptrdiff_t) 0 + 1) , iox2_server_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT , iox2_server_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY , iox2_server_create_error_e_UNABLE_TO_CREATE_PORT_TAG ,
  iox2_server_create_error_e_UNABLE_TO_GENERATE_UNIQUE_SERVER_ID
}
enum  iox2_subscriber_create_error_e {
  iox2_subscriber_create_error_e_EXCEEDS_MAX_SUPPORTED_SUBSCRIBERS = ((ptrdiff_t) 0 + 1) , iox2_subscriber_create_error_e_BUFFER_SIZE_EXCEEDS_MAX_SUPPORTED_BUFFER_SIZE_OF_SERVICE , iox2_subscriber_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY , iox2_subscriber_create_error_e_UNABLE_TO_CREATE_PORT_TAG ,
  iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_HISTORY_SIZE_OF_SERVICE , iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_BUFFER_SIZE_OF_SUBSCRIBER , iox2_subscriber_create_error_e_UNABLE_TO_GENERATE_UNIQUE_SUBSCRIBER_ID
}
enum  iox2_writer_create_error_e {
  iox2_writer_create_error_e_EXCEEDS_MAX_SUPPORTED_WRITERS = ((ptrdiff_t) 0 + 1) , iox2_writer_create_error_e_INTERNAL_FAILURE , iox2_writer_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY , iox2_writer_create_error_e_UNABLE_TO_CREATE_PORT_TAG ,
  iox2_writer_create_error_e_UNABLE_TO_GENERATE_UNIQUE_WRITER_ID
}
enum  iox2_send_error_e {
  iox2_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS = ((ptrdiff_t) 0 + 1) , iox2_send_error_e_CONNECTION_CORRUPTED , iox2_send_error_e_LOAN_ERROR_OUT_OF_MEMORY , iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS ,
  iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE , iox2_send_error_e_LOAN_ERROR_INTERNAL_FAILURE , iox2_send_error_e_CONNECTION_ERROR , iox2_send_error_e_UNABLE_TO_DELIVER ,
  iox2_send_error_e_INTERNAL_ERROR
}
enum  iox2_loan_error_e { iox2_loan_error_e_OUT_OF_MEMORY = ((ptrdiff_t) 0 + 1) , iox2_loan_error_e_EXCEEDS_MAX_LOANED_SAMPLES , iox2_loan_error_e_EXCEEDS_MAX_LOAN_SIZE , iox2_loan_error_e_INTERNAL_FAILURE }
enum  iox2_service_details_error_e {
  iox2_service_details_error_e_FAILED_TO_OPEN_STATIC_SERVICE_INFO = ((ptrdiff_t) 0 + 1) , iox2_service_details_error_e_FAILED_TO_READ_STATIC_SERVICE_INFO , iox2_service_details_error_e_FAILED_TO_DESERIALIZE_STATIC_SERVICE_INFO , iox2_service_details_error_e_SERVICE_IN_INCONSISTENT_STATE ,
  iox2_service_details_error_e_VERSION_MISMATCH , iox2_service_details_error_e_INTERNAL_ERROR , iox2_service_details_error_e_FAILED_TO_ACQUIRE_NODE_STATE , iox2_service_details_error_e_INTERRUPT ,
  iox2_service_details_error_e_INSUFFICIENT_PERMISSIONS
}
enum  iox2_event_open_or_create_error_e {
  iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST = ((ptrdiff_t) 0 + 1) , iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS , iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE , iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN ,
  iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES , iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE , iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT , iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT ,
  iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT , iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE , iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG , iox2_event_open_or_create_error_e_O_VERSION_MISMATCH ,
  iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION , iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS , iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS , iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID ,
  iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES , iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES , iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION , iox2_event_open_or_create_error_e_O_INTERRUPT ,
  iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE , iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE , iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE , iox2_event_open_or_create_error_e_C_ALREADY_EXISTS ,
  iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS , iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG , iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED , iox2_event_open_or_create_error_e_C_EVENT_ID_EXCEEDS_MAX_SUPPORTED_VALUE ,
  iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE , iox2_event_open_or_create_error_e_C_INTERRUPT , iox2_event_open_or_create_error_e_SYSTEM_IN_FLUX , iox2_event_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID
}
enum  iox2_pub_sub_open_or_create_error_e {
  iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST = ((ptrdiff_t) 0 + 1) , iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE , iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES , iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN ,
  iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES , iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE , iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE , iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES ,
  iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS , iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS , iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES , iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR ,
  iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS , iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE , iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG , iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH ,
  iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION , iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES , iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION , iox2_pub_sub_open_or_create_error_e_O_INTERRUPT ,
  iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION , iox2_pub_sub_open_or_create_error_e_O_INVALID_TYPE_DEFINITION , iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE , iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE ,
  iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS , iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS , iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE , iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE ,
  iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION , iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG , iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED , iox2_pub_sub_open_or_create_error_e_C_INTERRUPT ,
  iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION , iox2_pub_sub_open_or_create_error_e_C_INVALID_TYPE_DEFINITION , iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX , iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID
}
enum  iox2_type_detail_error_e { iox2_type_detail_error_e_INVALID_TYPE_NAME = ((ptrdiff_t) 0 + 1) , iox2_type_detail_error_e_INVALID_SIZE_OR_ALIGNMENT_VALUE }
enum  iox2_receive_error_e { iox2_receive_error_e_EXCEEDS_MAX_BORROWS = ((ptrdiff_t) 0 + 1) , iox2_receive_error_e_FAILED_TO_ESTABLISH_CONNECTION , iox2_receive_error_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT }
enum  iox2_service_list_error_e { iox2_service_list_error_e_INSUFFICIENT_PERMISSIONS = ((ptrdiff_t) 0 + 1) , iox2_service_list_error_e_INTERNAL_ERROR }
enum  iox2_connection_failure_e { iox2_connection_failure_e_FAILED_TO_ESTABLISH_CONNECTION , iox2_connection_failure_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT }
enum  iox2_waitset_create_error_e { iox2_waitset_create_error_e_INTERNAL_ERROR = ((ptrdiff_t) 0 + 1) , iox2_waitset_create_error_e_INSUFFICIENT_RESOURCES }
enum  iox2_waitset_run_error_e {
  iox2_waitset_run_error_e_INSUFFICIENT_PERMISSIONS = ((ptrdiff_t) 0 + 1) , iox2_waitset_run_error_e_INTERNAL_ERROR , iox2_waitset_run_error_e_NO_ATTACHMENTS , iox2_waitset_run_error_e_TERMINATION_REQUEST ,
  iox2_waitset_run_error_e_CLOCK_SCHEDULE_CAPACITY_EXCEEDED , iox2_waitset_run_error_e_INSUFFICIENT_CAPACITY , iox2_waitset_run_error_e_INSUFFICIENT_RESOURCES , iox2_waitset_run_error_e_INTERRUPT ,
  iox2_waitset_run_error_e_ATTACHMENT_FAILED
}
enum  iox2_waitset_run_result_e { iox2_waitset_run_result_e_TERMINATION_REQUEST = ((ptrdiff_t) 0 + 1) , iox2_waitset_run_result_e_INTERRUPT , iox2_waitset_run_result_e_STOP_REQUEST , iox2_waitset_run_result_e_ALL_EVENTS_HANDLED }
enum  iox2_waitset_attachment_error_e { iox2_waitset_attachment_error_e_INSUFFICIENT_CAPACITY = ((ptrdiff_t) 0 + 1) , iox2_waitset_attachment_error_e_ALREADY_ATTACHED , iox2_waitset_attachment_error_e_INTERNAL_ERROR , iox2_waitset_attachment_error_e_INSUFFICIENT_RESOURCES }
enum  iox2_node_cleanup_failure_e {
  iox2_node_cleanup_failure_e_INTERRUPT = ((ptrdiff_t) 0 + 1) , iox2_node_cleanup_failure_e_INTERNAL_ERROR , iox2_node_cleanup_failure_e_INSUFFICIENT_PERMISSIONS , iox2_node_cleanup_failure_e_VERSION_MISMATCH ,
  iox2_node_cleanup_failure_e_RESOURCES_ALREADY_CLEANED_UP , iox2_node_cleanup_failure_e_ANOTHER_INSTANCE_IS_CLEANING_UP_THE_NODE
}
enum  iox2_request_response_open_or_create_error_e {
  iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST = ((ptrdiff_t) 0 + 1) , iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS , iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT , iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE ,
  iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS , iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS , iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES , iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE ,
  iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES , iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION , iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE , iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES ,
  iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN , iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS , iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES , iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS ,
  iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS , iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG , iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH , iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE ,
  iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION , iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE , iox2_request_response_open_or_create_error_e_O_INTERRUPT , iox2_request_response_open_or_create_error_e_O_INVALID_TYPE_DEFINITION ,
  iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION , iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS , iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE , iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE ,
  iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS , iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION , iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE , iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG ,
  iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED , iox2_request_response_open_or_create_error_e_C_INTERRUPT , iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION , iox2_request_response_open_or_create_error_e_C_INVALID_TYPE_DEFINITION ,
  iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX , iox2_request_response_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID
}
enum  iox2_request_send_error_e {
  iox2_request_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS = ((ptrdiff_t) 0 + 1) , iox2_request_send_error_e_CONNECTION_CORRUPTED , iox2_request_send_error_e_LOAN_ERROR_OUT_OF_MEMORY , iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS ,
  iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE , iox2_request_send_error_e_LOAN_ERROR_INTERNAL_FAILURE , iox2_request_send_error_e_CONNECTION_ERROR , iox2_request_send_error_e_EXCEEDS_MAX_ACTIVE_REQUESTS ,
  iox2_request_send_error_e_UNABLE_TO_DELIVER , iox2_request_send_error_e_INTERNAL_ERROR
}
enum  iox2_service_remove_error_e { iox2_service_remove_error_e_INSUFFICIENT_PERMISSIONS = ((ptrdiff_t) 0 + 1) , iox2_service_remove_error_e_INTERRUPT , iox2_service_remove_error_e_VERSION_MISMATCH , iox2_service_remove_error_e_INTERNAL_ERROR }
enum  iox2_unique_id_generator_details_error_e { iox2_unique_id_generator_details_error_e_NOT_IMPLEMENTED = ((ptrdiff_t) 0 + 1) }
enum  iox2_entry_handle_error_e { iox2_entry_handle_error_e_ENTRY_DOES_NOT_EXIST = ((ptrdiff_t) 0 + 1) }
enum  iox2_blackboard_open_error_e {
  iox2_blackboard_open_error_e_O_DOES_NOT_EXIST = ((ptrdiff_t) 0 + 1) , iox2_blackboard_open_error_e_O_SERVICE_IN_CORRUPTED_STATE , iox2_blackboard_open_error_e_O_INCOMPATIBLE_KEYS , iox2_blackboard_open_error_e_O_INTERNAL_FAILURE ,
  iox2_blackboard_open_error_e_O_INCOMPATIBLE_ATTRIBUTES , iox2_blackboard_open_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN , iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_READERS , iox2_blackboard_open_error_e_O_INSUFFICIENT_PERMISSIONS ,
  iox2_blackboard_open_error_e_O_HANGS_IN_CREATION , iox2_blackboard_open_error_e_O_IS_MARKED_FOR_DESTRUCTION , iox2_blackboard_open_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES , iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES ,
  iox2_blackboard_open_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG , iox2_blackboard_open_error_e_O_VERSION_MISMATCH , iox2_blackboard_open_error_e_O_INTERRUPT
}
enum  iox2_blackboard_create_error_e {
  iox2_blackboard_create_error_e_C_ALREADY_EXISTS = ((ptrdiff_t) 0 + 1) , iox2_blackboard_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE , iox2_blackboard_create_error_e_C_INTERNAL_FAILURE , iox2_blackboard_create_error_e_C_INSUFFICIENT_PERMISSIONS ,
  iox2_blackboard_create_error_e_C_SERVICE_IN_CORRUPTED_STATE , iox2_blackboard_create_error_e_C_HANGS_IN_CREATION , iox2_blackboard_create_error_e_C_NO_ENTRIES_PROVIDED , iox2_blackboard_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG ,
  iox2_blackboard_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED , iox2_blackboard_create_error_e_C_INTERRUPT , iox2_blackboard_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID
}
enum  iox2_entry_handle_mut_error_e { iox2_entry_handle_mut_error_e_ENTRY_DOES_NOT_EXIST = ((ptrdiff_t) 0 + 1) , iox2_entry_handle_mut_error_e_HANDLE_ALREADY_EXISTS }

Functions

struct __attribute__ ((aligned(8))) iox2_request_header_storage_t
struct __attribute__ ((aligned(4))) iox2_buffer_16_align_4_t
struct __attribute__ ((aligned(16))) iox2_response_storage_t
const char * iox2_semantic_string_error_string (enum iox2_semantic_string_error_e error)
bool iox2_active_request_has_disconnect_hint (iox2_active_request_h_ref handle)
bool iox2_active_request_is_connected (iox2_active_request_h_ref handle)
void iox2_active_request_header (iox2_active_request_h_ref handle, struct iox2_request_header_t *header_struct_ptr, iox2_request_header_h *header_handle_ptr)
void iox2_active_request_user_header (iox2_active_request_h_ref handle, const void **header_ptr)
void iox2_active_request_payload (iox2_active_request_h_ref handle, const void **payload_ptr, c_size_t *number_of_elements)
c_size_t iox2_active_request_payload_number_of_bytes (iox2_active_request_h_ref handle)
int iox2_active_request_loan_slice_uninit (iox2_active_request_h_ref active_request_handle, struct iox2_response_mut_t *response_struct_ptr, iox2_response_mut_h *response_handle_ptr, size_t number_of_elements)
int iox2_active_request_send_copy (iox2_active_request_h_ref active_request_handle, const void *data_ptr, size_t size_of_element, size_t number_of_elements)
void iox2_active_request_drop (iox2_active_request_h handle)
size_t iox2_attribute_key_len (iox2_attribute_h_ref handle)
void iox2_attribute_key (iox2_attribute_h_ref handle, char *buffer, size_t buffer_len)
size_t iox2_attribute_value_len (iox2_attribute_h_ref handle)
void iox2_attribute_value (iox2_attribute_h_ref handle, char *buffer, size_t buffer_len)
const char * iox2_attribute_definition_error_create_error_string (enum iox2_attribute_definition_error_e error)
const char * iox2_attribute_verification_error_create_error_string (enum iox2_attribute_verification_error_e error)
void iox2_attribute_set_new_clone (struct iox2_attribute_set_t *struct_ptr, iox2_attribute_set_ptr source_ptr, iox2_attribute_set_h *handle_ptr)
void iox2_attribute_set_drop (iox2_attribute_set_h handle)
iox2_attribute_set_ptr iox2_cast_attribute_set_ptr (iox2_attribute_set_h handle)
size_t iox2_attribute_set_number_of_attributes (iox2_attribute_set_ptr handle)
iox2_attribute_h_ref iox2_attribute_set_index (iox2_attribute_set_ptr handle, size_t index)
size_t iox2_attribute_set_number_of_key_values (iox2_attribute_set_ptr handle, const char *key)
void iox2_attribute_set_key_value (iox2_attribute_set_ptr handle, const char *key, size_t index, char *buffer, size_t buffer_len, bool *has_value)
void iox2_attribute_set_iter_key_values (iox2_attribute_set_ptr handle, const char *key, iox2_attribute_set_get_callback callback, iox2_callback_context callback_ctx)
int iox2_attribute_specifier_new (struct iox2_attribute_specifier_t *struct_ptr, iox2_attribute_specifier_h *handle_ptr)
void iox2_attribute_specifier_drop (iox2_attribute_specifier_h handle)
int iox2_attribute_specifier_define (iox2_attribute_specifier_h_ref handle, const char *key, const char *value)
iox2_attribute_set_ptr iox2_attribute_specifier_attributes (iox2_attribute_specifier_h_ref handle)
int iox2_attribute_verifier_new (struct iox2_attribute_verifier_t *struct_ptr, iox2_attribute_verifier_h *handle_ptr)
void iox2_attribute_verifier_drop (iox2_attribute_verifier_h handle)
int iox2_attribute_verifier_require (iox2_attribute_verifier_h_ref handle, const char *key, const char *value)
int iox2_attribute_verifier_require_key (iox2_attribute_verifier_h_ref handle, const char *key)
iox2_attribute_set_ptr iox2_attribute_verifier_attributes (iox2_attribute_verifier_h_ref handle)
int iox2_attribute_verifier_verify_requirements (iox2_attribute_verifier_h_ref handle, iox2_attribute_set_ptr rhs, char *incompatible_key_buffer, size_t incompatible_key_buffer_len)
size_t iox2_attribute_verifier_number_of_keys (iox2_attribute_verifier_h_ref handle)
size_t iox2_attribute_verifier_key_len (iox2_attribute_verifier_h_ref handle, size_t key_index)
size_t iox2_attribute_verifier_key (iox2_attribute_verifier_h_ref handle, size_t key_index, char *key_value_buffer, size_t key_value_buffer_len)
void iox2_backpressure_info_service_id (iox2_backpressure_info_h_ref info_handle, struct iox2_buffer_16_align_4_t *service_id)
void iox2_backpressure_info_receiver_port_id (iox2_backpressure_info_h_ref info_handle, struct iox2_buffer_16_align_4_t *receiver_port_id)
void iox2_backpressure_info_sender_port_id (iox2_backpressure_info_h_ref info_handle, struct iox2_buffer_16_align_4_t *sender_port_id)
uint64_t iox2_backpressure_info_retries (iox2_backpressure_info_h_ref info_handle)
void iox2_backpressure_info_elapsed_time (iox2_backpressure_info_h_ref info_handle, uint64_t *seconds, uint32_t *nanoseconds)
enum iox2_backpressure_strategy_e iox2_client_backpressure_strategy (iox2_client_h_ref handle)
c_size_t iox2_client_initial_max_slice_len (iox2_client_h_ref handle)
void iox2_client_id (iox2_client_h_ref handle, struct iox2_unique_client_id_t *id_struct_ptr, iox2_unique_client_id_h *id_handle_ptr)
iox2_port_name_ptr iox2_client_name (iox2_client_h_ref handle)
c_size_t iox2_client_max_active_requests (iox2_client_h_ref handle)
int iox2_client_loan_slice_uninit (iox2_client_h_ref client_handle, struct iox2_request_mut_t *request_struct_ptr, iox2_request_mut_h *request_handle_ptr, size_t number_of_elements)
int iox2_client_send_copy (iox2_client_h_ref client_handle, const void *data_ptr, size_t size_of_element, size_t number_of_elements, struct iox2_pending_response_t *pending_response_struct_ptr, iox2_pending_response_h *pending_response_handle_ptr)
void iox2_client_drop (iox2_client_h client_handle)
void iox2_client_details_client_id (iox2_client_details_ptr handle, struct iox2_unique_client_id_t *id_struct_ptr, iox2_unique_client_id_h *id_handle_ptr)
iox2_unique_node_id_ptr iox2_client_details_node_id (iox2_client_details_ptr handle)
iox2_port_name_ptr iox2_client_details_client_name (iox2_client_details_ptr handle)
c_size_t iox2_client_details_response_buffer_size (iox2_client_details_ptr handle)
c_size_t iox2_client_details_number_of_requests (iox2_client_details_ptr handle)
c_size_t iox2_client_details_max_slice_len (iox2_client_details_ptr handle)
c_size_t iox2_client_details_max_active_requests (iox2_client_details_ptr handle)
const char * iox2_config_creation_error_string (enum iox2_config_creation_error_e error)
iox2_config_ptr iox2_cast_config_ptr (iox2_config_h config_handle)
iox2_config_ptr iox2_config_global_config (void)
int iox2_config_default (struct iox2_config_t *struct_ptr, iox2_config_h *handle_ptr)
int iox2_config_from_file (struct iox2_config_t *struct_ptr, iox2_config_h *handle_ptr, const char *config_file)
int iox2_config_setup_global_config_from_file (iox2_config_ptr *handle_ptr, const char *config_file)
void iox2_config_from_ptr (iox2_config_ptr config, struct iox2_config_t *struct_ptr, iox2_config_h *handle_ptr)
void iox2_config_clone (iox2_config_h_ref handle, struct iox2_config_t *struct_ptr, iox2_config_h *handle_ptr)
void iox2_config_drop (iox2_config_h handle)
const char * iox2_config_global_prefix (iox2_config_h_ref handle)
int iox2_config_global_set_prefix (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_root_path (iox2_config_h_ref handle)
int iox2_config_global_set_root_path (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_node_directory (iox2_config_h_ref handle)
int iox2_config_global_node_set_directory (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_node_monitor_suffix (iox2_config_h_ref handle)
int iox2_config_global_node_set_monitor_suffix (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_node_global_mgmt_suffix (iox2_config_h_ref handle)
int iox2_config_global_node_set_global_mgmt_suffix (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_node_static_config_suffix (iox2_config_h_ref handle)
int iox2_config_global_node_set_static_config_suffix (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_node_port_tag_suffix (iox2_config_h_ref handle)
int iox2_config_global_node_set_port_tag_suffix (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_node_service_tag_suffix (iox2_config_h_ref handle)
int iox2_config_global_node_set_service_tag_suffix (iox2_config_h_ref handle, const char *value)
bool iox2_config_global_node_cleanup_dead_nodes_on_creation (iox2_config_h_ref handle)
void iox2_config_global_node_set_cleanup_dead_nodes_on_creation (iox2_config_h_ref handle, bool value)
bool iox2_config_global_node_cleanup_dead_nodes_on_destruction (iox2_config_h_ref handle)
void iox2_config_global_node_set_cleanup_dead_nodes_on_destruction (iox2_config_h_ref handle, bool value)
const char * iox2_config_global_service_flatbuffer_schema_path (iox2_config_h_ref handle)
int iox2_config_global_service_set_flatbuffer_schema_path (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_service_directory (iox2_config_h_ref handle)
int iox2_config_global_service_set_directory (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_service_data_segment_suffix (iox2_config_h_ref handle)
int iox2_config_global_service_set_data_segment_suffix (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_service_static_config_storage_suffix (iox2_config_h_ref handle)
int iox2_config_global_service_set_static_config_storage_suffix (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_service_dynamic_config_storage_suffix (iox2_config_h_ref handle)
int iox2_config_global_service_set_dynamic_config_storage_suffix (iox2_config_h_ref handle, const char *value)
bool iox2_config_global_service_cleanup_dead_nodes_on_open (iox2_config_h_ref handle)
void iox2_config_global_service_set_cleanup_dead_nodes_on_open (iox2_config_h_ref handle, bool value)
void iox2_config_global_creation_timeout (iox2_config_h_ref handle, uint64_t *secs, uint32_t *nsecs)
void iox2_config_global_set_creation_timeout (iox2_config_h_ref handle, uint64_t sec, uint32_t nsec)
const char * iox2_config_global_service_connection_suffix (iox2_config_h_ref handle)
int iox2_config_global_service_set_connection_suffix (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_service_event_connection_suffix (iox2_config_h_ref handle)
int iox2_config_global_service_set_event_connection_suffix (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_service_blackboard_mgmt_suffix (iox2_config_h_ref handle)
int iox2_config_global_service_set_blackboard_mgmt_suffix (iox2_config_h_ref handle, const char *value)
const char * iox2_config_global_service_blackboard_data_suffix (iox2_config_h_ref handle)
int iox2_config_global_service_set_blackboard_data_suffix (iox2_config_h_ref handle, const char *value)
c_size_t iox2_config_defaults_publish_subscribe_max_subscribers (iox2_config_h_ref handle)
void iox2_config_defaults_publish_subscribe_set_max_subscribers (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_publish_subscribe_max_publishers (iox2_config_h_ref handle)
void iox2_config_defaults_publish_subscribe_set_max_publishers (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_publish_subscribe_max_nodes (iox2_config_h_ref handle)
void iox2_config_defaults_publish_subscribe_set_max_nodes (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_publish_subscribe_subscriber_max_buffer_size (iox2_config_h_ref handle)
void iox2_config_defaults_publish_subscribe_set_subscriber_max_buffer_size (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_publish_subscribe_subscriber_max_borrowed_samples (iox2_config_h_ref handle)
void iox2_config_defaults_publish_subscribe_set_subscriber_max_borrowed_samples (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_publish_subscribe_publisher_max_loaned_samples (iox2_config_h_ref handle)
void iox2_config_defaults_publish_subscribe_set_publisher_max_loaned_samples (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_publish_subscribe_publisher_history_size (iox2_config_h_ref handle)
void iox2_config_defaults_publish_subscribe_set_publisher_history_size (iox2_config_h_ref handle, c_size_t value)
bool iox2_config_defaults_publish_subscribe_enable_safe_overflow (iox2_config_h_ref handle)
void iox2_config_defaults_publish_subscribe_set_enable_safe_overflow (iox2_config_h_ref handle, bool value)
int iox2_config_defaults_publish_subscribe_backpressure_strategy (iox2_config_h_ref handle)
void iox2_config_defaults_publish_subscribe_set_backpressure_strategy (iox2_config_h_ref handle, enum iox2_backpressure_strategy_e value)
c_size_t iox2_config_defaults_publish_subscribe_subscriber_expired_connection_buffer (iox2_config_h_ref handle)
void iox2_config_defaults_publish_subscribe_set_subscriber_expired_connection_buffer (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_request_response_client_expired_connection_buffer (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_client_expired_connection_buffer (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_request_response_server_expired_connection_buffer (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_server_expired_connection_buffer (iox2_config_h_ref handle, c_size_t value)
int iox2_config_defaults_request_response_client_backpressure_strategy (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_client_backpressure_strategy (iox2_config_h_ref handle, enum iox2_backpressure_strategy_e value)
int iox2_config_defaults_request_response_server_backpressure_strategy (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_server_backpressure_strategy (iox2_config_h_ref handle, enum iox2_backpressure_strategy_e value)
bool iox2_config_defaults_request_response_has_fire_and_forget_requests (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_fire_and_forget_requests (iox2_config_h_ref handle, bool value)
bool iox2_config_defaults_request_response_enable_safe_overflow_for_requests (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_enable_safe_overflow_for_requests (iox2_config_h_ref handle, bool value)
bool iox2_config_defaults_request_response_enable_safe_overflow_for_responses (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_enable_safe_overflow_for_responses (iox2_config_h_ref handle, bool value)
c_size_t iox2_config_defaults_request_response_max_active_requests_per_client (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_max_active_requests_per_client (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_request_response_max_response_buffer_size (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_max_response_buffer_size (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_request_response_max_servers (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_max_servers (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_request_response_max_clients (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_max_clients (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_request_response_max_nodes (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_max_nodes (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_request_response_max_borrowed_responses_per_pending_response (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_max_borrowed_responses_per_pending_response (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_request_response_max_loaned_requests (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_max_loaned_requests (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_request_response_server_max_loaned_responses_per_request (iox2_config_h_ref handle)
void iox2_config_defaults_request_response_set_server_max_loaned_responses_per_request (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_event_max_listeners (iox2_config_h_ref handle)
void iox2_config_defaults_event_set_max_listeners (iox2_config_h_ref handle, c_size_t value)
bool iox2_config_defaults_event_deadline (iox2_config_h_ref handle, uint64_t *seconds, uint32_t *nanoseconds)
void iox2_config_defaults_event_set_deadline (iox2_config_h_ref handle, const uint64_t *seconds, const uint32_t *nanoseconds)
bool iox2_config_defaults_event_notifier_created_event (iox2_config_h_ref handle, c_size_t *value)
void iox2_config_defaults_event_set_notifier_created_event (iox2_config_h_ref handle, const c_size_t *value)
bool iox2_config_defaults_event_notifier_dropped_event (iox2_config_h_ref handle, c_size_t *value)
void iox2_config_defaults_event_set_notifier_dropped_event (iox2_config_h_ref handle, const c_size_t *value)
bool iox2_config_defaults_event_notifier_dead_event (iox2_config_h_ref handle, c_size_t *value)
void iox2_config_defaults_event_set_notifier_dead_event (iox2_config_h_ref handle, const c_size_t *value)
c_size_t iox2_config_defaults_event_max_notifiers (iox2_config_h_ref handle)
void iox2_config_defaults_event_set_max_notifiers (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_event_max_nodes (iox2_config_h_ref handle)
void iox2_config_defaults_event_set_max_nodes (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_event_event_id_max_value (iox2_config_h_ref handle)
void iox2_config_defaults_event_set_event_id_max_value (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_blackboard_max_readers (iox2_config_h_ref handle)
void iox2_config_defaults_blackboard_set_max_readers (iox2_config_h_ref handle, c_size_t value)
c_size_t iox2_config_defaults_blackboard_max_nodes (iox2_config_h_ref handle)
void iox2_config_defaults_blackboard_set_max_nodes (iox2_config_h_ref handle, c_size_t value)
void iox2_degradation_info_service_id (iox2_degradation_info_h_ref info_handle, struct iox2_buffer_16_align_4_t *service_id)
void iox2_degradation_info_receiver_port_id (iox2_degradation_info_h_ref info_handle, struct iox2_buffer_16_align_4_t *receiver_port_id)
void iox2_degradation_info_sender_port_id (iox2_degradation_info_h_ref info_handle, struct iox2_buffer_16_align_4_t *sender_port_id)
void iox2_entry_handle_get (iox2_entry_handle_h_ref entry_handle_handle, void *value_ptr, c_size_t value_size, c_size_t value_alignment, void *generation_counter_ptr)
bool iox2_entry_handle_is_up_to_date (iox2_entry_handle_h_ref entry_handle_handle, uint64_t generation_counter)
void iox2_entry_handle_entry_id (iox2_entry_handle_h_ref entry_handle_handle, struct iox2_event_id_t *entry_id)
void iox2_entry_handle_drop (iox2_entry_handle_h entry_handle_handle)
void iox2_entry_handle_mut_loan_uninit (iox2_entry_handle_mut_h entry_handle_mut_handle, struct iox2_entry_value_uninit_t *entry_value_uninit_struct_ptr, iox2_entry_value_uninit_h *entry_value_uninit_handle_ptr, size_t value_size, size_t value_alignment)
void iox2_entry_handle_mut_update_with_copy (iox2_entry_handle_mut_h_ref entry_handle_mut_handle, void *value_ptr, size_t value_size, size_t value_alignment)
void iox2_entry_handle_mut_entry_id (iox2_entry_handle_mut_h_ref entry_handle_mut_handle, struct iox2_event_id_t *entry_id)
void iox2_entry_handle_mut_drop (iox2_entry_handle_mut_h entry_handle_mut_handle)
void iox2_entry_value_uninit_value_mut (iox2_entry_value_uninit_h_ref entry_value_uninit_handle, void **value_ptr)
void iox2_entry_value_uninit_update (iox2_entry_value_uninit_h entry_value_uninit_handle, struct iox2_entry_handle_mut_t *entry_handle_mut_struct_ptr, iox2_entry_handle_mut_h *entry_handle_mut_handle_ptr)
void iox2_entry_value_uninit_discard (iox2_entry_value_uninit_h entry_value_uninit_handle, struct iox2_entry_handle_mut_t *entry_handle_mut_struct_ptr, iox2_entry_handle_mut_h *entry_handle_mut_handle_ptr)
void iox2_entry_value_uninit_drop (iox2_entry_value_uninit_h entry_value_uninit_handle)
iox2_file_descriptor_ptr iox2_cast_file_descriptor_ptr (iox2_file_descriptor_h handle)
void iox2_file_descriptor_drop (iox2_file_descriptor_h handle)
int32_t iox2_file_descriptor_native_handle (iox2_file_descriptor_ptr handle)
bool iox2_file_descriptor_new (int32_t value, bool is_owned, struct iox2_file_descriptor_t *struct_ptr, iox2_file_descriptor_h *handle_ptr)
const char * iox2_listener_wait_error_string (enum iox2_listener_wait_error_e error)
void iox2_listener_drop (iox2_listener_h listener_handle)
iox2_file_descriptor_ptr iox2_listener_get_file_descriptor (iox2_listener_h_ref listener_handle)
int iox2_listener_try_wait (iox2_listener_h_ref listener_handle, uint64_t *number_of_notifications, iox2_listener_wait_all_callback callback, iox2_callback_context callback_ctx)
int iox2_listener_timed_wait (iox2_listener_h_ref listener_handle, uint64_t *number_of_notifications, iox2_listener_wait_all_callback callback, iox2_callback_context callback_ctx, uint64_t seconds, uint32_t nanoseconds)
void iox2_listener_id (iox2_listener_h_ref listener_handle, struct iox2_unique_listener_id_t *id_struct_ptr, iox2_unique_listener_id_h *id_handle_ptr)
iox2_port_name_ptr iox2_listener_name (iox2_listener_h_ref listener_handle)
bool iox2_listener_deadline (iox2_listener_h_ref listener_handle, uint64_t *seconds, uint32_t *nanoseconds)
int iox2_listener_blocking_wait (iox2_listener_h_ref listener_handle, uint64_t *number_of_notifications, iox2_listener_wait_all_callback callback, iox2_callback_context callback_ctx)
void iox2_listener_details_listener_id (iox2_listener_details_ptr handle, struct iox2_unique_listener_id_t *id_struct_ptr, iox2_unique_listener_id_h *id_handle_ptr)
iox2_unique_node_id_ptr iox2_listener_details_node_id (iox2_listener_details_ptr handle)
iox2_port_name_ptr iox2_listener_details_listener_name (iox2_listener_details_ptr handle)
void iox2_log (enum iox2_log_level_e log_level, const char *origin, const char *message)
void iox2_set_log_level_from_env_or_default (void)
void iox2_set_log_level_from_env_or (enum iox2_log_level_e v)
void iox2_set_log_level (enum iox2_log_level_e v)
enum iox2_log_level_e iox2_get_log_level (void)
bool iox2_set_logger (iox2_log_callback logger)
const char * iox2_node_list_failure_string (enum iox2_node_list_failure_e error)
const char * iox2_node_wait_failure_string (enum iox2_node_wait_failure_e error)
iox2_node_name_ptr iox2_node_name (iox2_node_h_ref node_handle)
int iox2_node_wait (iox2_node_h_ref node_handle, uint64_t cycle_time_sec, uint32_t cycle_time_nsec)
iox2_config_ptr iox2_node_config (iox2_node_h_ref node_handle)
enum iox2_signal_handling_mode_e iox2_node_signal_handling_mode (iox2_node_h_ref node_handle)
iox2_unique_node_id_ptr iox2_unique_node_id (iox2_node_h_ref node_handle, enum iox2_service_type_e service_type)
int iox2_node_force_remove_service (iox2_node_h_ref node_handle, iox2_service_name_ptr service_name_ptr, enum iox2_messaging_pattern_e messaging_pattern, bool *service_removed)
int iox2_dead_node_blocking_remove_stale_resources (enum iox2_service_type_e service_type, iox2_unique_node_id_h_ref node_id, iox2_config_h_ref config, uint64_t timeout_sec, uint32_t timeout_nsec)
int iox2_dead_node_try_remove_stale_resources (enum iox2_service_type_e service_type, iox2_unique_node_id_h_ref node_id, iox2_config_h_ref config)
int iox2_node_list (enum iox2_service_type_e service_type, iox2_config_ptr config_ptr, iox2_node_list_callback callback, iox2_callback_context callback_ctx)
void iox2_node_try_cleanup_dead_nodes (iox2_node_h_ref node_handle, struct iox2_cleanup_state_t *cleanup_state)
void iox2_node_blocking_cleanup_dead_nodes (iox2_node_h_ref node_handle, struct iox2_cleanup_state_t *cleanup_state, uint64_t timeout_secs, uint32_t timeout_nsecs)
iox2_service_builder_h iox2_node_service_builder (iox2_node_h_ref node_handle, struct iox2_service_builder_t *service_builder_struct_ptr, iox2_service_name_ptr service_name_ptr)
iox2_waitset_builder_h iox2_node_waitset_builder (iox2_node_h_ref node_handle, struct iox2_waitset_builder_t *waitset_builder_struct_ptr)
void iox2_node_drop (iox2_node_h node_handle)
const char * iox2_node_creation_failure_string (enum iox2_node_creation_failure_e error)
iox2_node_builder_h iox2_node_builder_new (struct iox2_node_builder_t *node_builder_struct_ptr)
void iox2_node_builder_set_name (iox2_node_builder_h_ref node_builder_handle, iox2_node_name_ptr node_name_ptr)
void iox2_node_builder_set_signal_handling_mode (iox2_node_builder_h_ref node_builder_handle, enum iox2_signal_handling_mode_e signal_handling_mode)
void iox2_node_builder_set_config (iox2_node_builder_h_ref node_builder_handle, iox2_config_h_ref config_handle)
int iox2_node_builder_create (iox2_node_builder_h node_builder_handle, struct iox2_node_t *node_struct_ptr, enum iox2_service_type_e service_type, iox2_node_h *node_handle_ptr)
int iox2_node_name_new (struct iox2_node_name_t *node_name_struct_ptr, const char *node_name_str, c_size_t node_name_len, iox2_node_name_h *node_name_handle_ptr)
iox2_node_name_ptr iox2_cast_node_name_ptr (iox2_node_name_h node_name_handle)
const char * iox2_node_name_as_chars (iox2_node_name_ptr node_name_ptr, c_size_t *node_name_len)
void iox2_node_name_drop (iox2_node_name_h node_name_handle)
const char * iox2_notifier_notify_error_string (enum iox2_notifier_notify_error_e error)
void iox2_notifier_id (iox2_notifier_h_ref notifier_handle, struct iox2_unique_notifier_id_t *id_struct_ptr, iox2_unique_notifier_id_h *id_handle_ptr)
iox2_port_name_ptr iox2_notifier_name (iox2_notifier_h_ref notifier_handle)
bool iox2_notifier_deadline (iox2_notifier_h_ref notifier_handle, uint64_t *seconds, uint32_t *nanoseconds)
int iox2_notifier_notify (iox2_notifier_h_ref notifier_handle, c_size_t *number_of_notified_listener_ptr)
int iox2_notifier_notify_with_custom_event_id (iox2_notifier_h_ref notifier_handle, const struct iox2_event_id_t *custom_event_id_ptr, c_size_t *number_of_notified_listener_ptr)
void iox2_notifier_drop (iox2_notifier_h notifier_handle)
void iox2_notifier_details_notifier_id (iox2_notifier_details_ptr handle, struct iox2_unique_notifier_id_t *id_struct_ptr, iox2_unique_notifier_id_h *id_handle_ptr)
iox2_unique_node_id_ptr iox2_notifier_details_node_id (iox2_notifier_details_ptr handle)
iox2_port_name_ptr iox2_notifier_details_notifier_name (iox2_notifier_details_ptr handle)
bool iox2_pending_response_is_connected (iox2_pending_response_h_ref handle)
void iox2_pending_response_set_disconnect_hint (iox2_pending_response_h_ref handle)
c_size_t iox2_pending_response_number_of_server_connections (iox2_pending_response_h_ref handle)
bool iox2_pending_response_has_response (iox2_pending_response_h_ref handle)
void iox2_pending_response_header (iox2_pending_response_h_ref handle, struct iox2_request_header_t *header_struct_ptr, iox2_request_header_h *header_handle_ptr)
void iox2_pending_response_user_header (iox2_pending_response_h_ref handle, const void **header_ptr)
void iox2_pending_response_payload (iox2_pending_response_h_ref handle, const void **payload_ptr, c_size_t *number_of_elements)
int iox2_pending_response_receive (iox2_pending_response_h_ref handle, struct iox2_response_t *response_struct_ptr, iox2_response_h *response_handle_ptr)
void iox2_pending_response_drop (iox2_pending_response_h handle)
void iox2_port_factory_blackboard_try_cleanup_dead_nodes (iox2_port_factory_blackboard_h_ref port_factory_handle, struct iox2_cleanup_state_t *cleanup_state)
void iox2_port_factory_blackboard_blocking_cleanup_dead_nodes (iox2_port_factory_blackboard_h_ref port_factory_handle, struct iox2_cleanup_state_t *cleanup_state, uint64_t timeout_secs, uint32_t timeout_nsecs)
iox2_port_factory_writer_builder_h iox2_port_factory_blackboard_writer_builder (iox2_port_factory_blackboard_h_ref port_factory_handle, struct iox2_port_factory_writer_builder_t *writer_builder_struct_ptr)
iox2_port_factory_reader_builder_h iox2_port_factory_blackboard_reader_builder (iox2_port_factory_blackboard_h_ref port_factory_handle, struct iox2_port_factory_reader_builder_t *reader_builder_struct_ptr)
iox2_attribute_set_ptr iox2_port_factory_blackboard_attributes (iox2_port_factory_blackboard_h_ref port_factory_handle)
void iox2_port_factory_blackboard_static_config (iox2_port_factory_blackboard_h_ref port_factory_handle, struct iox2_static_config_blackboard_t *static_config)
size_t iox2_port_factory_blackboard_dynamic_config_number_of_writers (iox2_port_factory_blackboard_h_ref handle)
int iox2_port_factory_blackboard_nodes (iox2_port_factory_blackboard_h_ref handle, iox2_node_list_callback callback, iox2_callback_context callback_ctx)
iox2_service_name_ptr iox2_port_factory_blackboard_service_name (iox2_port_factory_blackboard_h_ref handle)
void iox2_port_factory_blackboard_service_hash (iox2_port_factory_blackboard_h_ref handle, char *buffer, size_t buffer_len)
size_t iox2_port_factory_blackboard_dynamic_config_number_of_readers (iox2_port_factory_blackboard_h_ref handle)
void iox2_port_factory_blackboard_dynamic_config_list_readers (iox2_port_factory_blackboard_h_ref handle, iox2_list_readers_callback callback, iox2_callback_context callback_ctx)
void iox2_port_factory_blackboard_dynamic_config_list_writers (iox2_port_factory_blackboard_h_ref handle, iox2_list_writers_callback callback, iox2_callback_context callback_ctx)
void iox2_port_factory_blackboard_drop (iox2_port_factory_blackboard_h port_factory_handle)
void iox2_port_factory_blackboard_list_keys (iox2_port_factory_blackboard_h_ref handle, iox2_port_factory_blackboard_list_keys_callback callback, iox2_callback_context callback_ctx)
const char * iox2_client_create_error_string (enum iox2_client_create_error_e error)
void iox2_port_factory_client_builder_override_requests_preallocation (iox2_port_factory_client_builder_h_ref port_factory_handle, iox2_preallocated_requests_override callback, iox2_callback_context callback_ctx)
void iox2_port_factory_client_builder_set_allocation_strategy (iox2_port_factory_client_builder_h_ref port_factory_handle, enum iox2_allocation_strategy_e value)
void iox2_port_factory_client_builder_set_request_degradation_handler (iox2_port_factory_client_builder_h_ref port_factory_handle, iox2_degradation_handler handler, iox2_callback_context ctx)
void iox2_port_factory_client_builder_set_response_degradation_handler (iox2_port_factory_client_builder_h_ref port_factory_handle, iox2_degradation_handler handler, iox2_callback_context ctx)
void iox2_port_factory_client_builder_set_backpressure_handler (iox2_port_factory_client_builder_h_ref port_factory_handle, iox2_backpressure_handler handler, iox2_callback_context ctx)
void iox2_port_factory_client_builder_set_initial_max_slice_len (iox2_port_factory_client_builder_h_ref port_factory_handle, c_size_t value)
void iox2_port_factory_client_builder_backpressure_strategy (iox2_port_factory_client_builder_h_ref port_factory_handle, enum iox2_backpressure_strategy_e value)
void iox2_port_factory_client_builder_set_max_active_requests (iox2_port_factory_client_builder_h_ref port_factory_handle, c_size_t value)
void iox2_port_factory_client_builder_set_name (iox2_port_factory_client_builder_h_ref port_factory_handle, iox2_port_name_ptr port_name_ptr)
int iox2_port_factory_client_builder_create (iox2_port_factory_client_builder_h port_factory_handle, struct iox2_client_t *struct_ptr, iox2_client_h *handle_ptr)
iox2_service_name_ptr iox2_port_factory_event_service_name (iox2_port_factory_event_h_ref port_factory_handle)
void iox2_port_factory_event_try_cleanup_dead_nodes (iox2_port_factory_event_h_ref port_factory_handle, struct iox2_cleanup_state_t *cleanup_state)
void iox2_port_factory_event_blocking_cleanup_dead_nodes (iox2_port_factory_event_h_ref port_factory_handle, struct iox2_cleanup_state_t *cleanup_state, uint64_t timeout_secs, uint32_t timeout_nsecs)
void iox2_port_factory_event_static_config (iox2_port_factory_event_h_ref port_factory_handle, struct iox2_static_config_event_t *static_config)
iox2_port_factory_notifier_builder_h iox2_port_factory_event_notifier_builder (iox2_port_factory_event_h_ref port_factory_handle, struct iox2_port_factory_notifier_builder_t *notifier_builder_struct_ptr)
iox2_port_factory_listener_builder_h iox2_port_factory_event_listener_builder (iox2_port_factory_event_h_ref port_factory_handle, struct iox2_port_factory_listener_builder_t *listener_builder_struct_ptr)
iox2_attribute_set_ptr iox2_port_factory_event_attributes (iox2_port_factory_event_h_ref port_factory_handle)
size_t iox2_port_factory_event_dynamic_config_number_of_listeners (iox2_port_factory_event_h_ref handle)
size_t iox2_port_factory_event_dynamic_config_number_of_notifiers (iox2_port_factory_event_h_ref handle)
void iox2_port_factory_event_service_hash (iox2_port_factory_event_h_ref handle, char *buffer, size_t buffer_len)
int iox2_port_factory_event_nodes (iox2_port_factory_event_h_ref handle, iox2_node_list_callback callback, iox2_callback_context callback_ctx)
void iox2_port_factory_event_dynamic_config_list_listeners (iox2_port_factory_event_h_ref handle, iox2_list_listeners_callback callback, iox2_callback_context callback_ctx)
void iox2_port_factory_event_dynamic_config_list_notifiers (iox2_port_factory_event_h_ref handle, iox2_list_notifiers_callback callback, iox2_callback_context callback_ctx)
void iox2_port_factory_event_drop (iox2_port_factory_event_h port_factory_handle)
const char * iox2_listener_create_error_string (enum iox2_listener_create_error_e error)
void iox2_port_factory_listener_builder_set_name (iox2_port_factory_listener_builder_h_ref port_factory_handle, iox2_port_name_ptr port_name_ptr)
int iox2_port_factory_listener_builder_create (iox2_port_factory_listener_builder_h port_factory_handle, struct iox2_listener_t *listener_struct_ptr, iox2_listener_h *listener_handle_ptr)
const char * iox2_notifier_create_error_string (enum iox2_notifier_create_error_e error)
void iox2_port_factory_notifier_builder_set_default_event_id (iox2_port_factory_notifier_builder_h_ref port_factory_handle, const struct iox2_event_id_t *value)
void iox2_port_factory_notifier_builder_set_name (iox2_port_factory_notifier_builder_h_ref port_factory_handle, iox2_port_name_ptr port_name_ptr)
int iox2_port_factory_notifier_builder_create (iox2_port_factory_notifier_builder_h port_factory_handle, struct iox2_notifier_t *notifier_struct_ptr, iox2_notifier_h *notifier_handle_ptr)
iox2_port_factory_publisher_builder_h iox2_port_factory_pub_sub_publisher_builder (iox2_port_factory_pub_sub_h_ref port_factory_handle, struct iox2_port_factory_publisher_builder_t *publisher_builder_struct_ptr)
iox2_port_factory_subscriber_builder_h iox2_port_factory_pub_sub_subscriber_builder (iox2_port_factory_pub_sub_h_ref port_factory_handle, struct iox2_port_factory_subscriber_builder_t *subscriber_builder_struct_ptr)
iox2_attribute_set_ptr iox2_port_factory_pub_sub_attributes (iox2_port_factory_pub_sub_h_ref port_factory_handle)
void iox2_port_factory_pub_sub_try_cleanup_dead_nodes (iox2_port_factory_pub_sub_h_ref port_factory_handle, struct iox2_cleanup_state_t *cleanup_state)
void iox2_port_factory_pub_sub_blocking_cleanup_dead_nodes (iox2_port_factory_pub_sub_h_ref port_factory_handle, struct iox2_cleanup_state_t *cleanup_state, uint64_t timeout_secs, uint32_t timeout_nsecs)
void iox2_port_factory_pub_sub_static_config (iox2_port_factory_pub_sub_h_ref port_factory_handle, struct iox2_static_config_publish_subscribe_t *static_config)
size_t iox2_port_factory_pub_sub_dynamic_config_number_of_publishers (iox2_port_factory_pub_sub_h_ref handle)
int iox2_port_factory_pub_sub_nodes (iox2_port_factory_pub_sub_h_ref handle, iox2_node_list_callback callback, iox2_callback_context callback_ctx)
iox2_service_name_ptr iox2_port_factory_pub_sub_service_name (iox2_port_factory_pub_sub_h_ref handle)
void iox2_port_factory_pub_sub_service_hash (iox2_port_factory_pub_sub_h_ref handle, char *buffer, size_t buffer_len)
size_t iox2_port_factory_pub_sub_dynamic_config_number_of_subscribers (iox2_port_factory_pub_sub_h_ref handle)
void iox2_port_factory_pub_sub_dynamic_config_list_subscribers (iox2_port_factory_pub_sub_h_ref handle, iox2_list_subscribers_callback callback, iox2_callback_context callback_ctx)
void iox2_port_factory_pub_sub_dynamic_config_list_publishers (iox2_port_factory_pub_sub_h_ref handle, iox2_list_publishers_callback callback, iox2_callback_context callback_ctx)
void iox2_port_factory_pub_sub_drop (iox2_port_factory_pub_sub_h port_factory_handle)
const char * iox2_publisher_create_error_string (enum iox2_publisher_create_error_e error)
void iox2_port_factory_publisher_builder_override_samples_preallocation (iox2_port_factory_publisher_builder_h_ref port_factory_handle, iox2_preallocated_samples_override callback, iox2_callback_context callback_ctx)
void iox2_port_factory_publisher_builder_set_allocation_strategy (iox2_port_factory_publisher_builder_h_ref port_factory_handle, enum iox2_allocation_strategy_e value)
void iox2_port_factory_publisher_builder_set_degradation_handler (iox2_port_factory_publisher_builder_h_ref port_factory_handle, iox2_degradation_handler handler, iox2_callback_context ctx)
void iox2_port_factory_publisher_builder_set_backpressure_handler (iox2_port_factory_publisher_builder_h_ref port_factory_handle, iox2_backpressure_handler handler, iox2_callback_context ctx)
void iox2_port_factory_publisher_builder_set_initial_max_slice_len (iox2_port_factory_publisher_builder_h_ref port_factory_handle, c_size_t value)
void iox2_port_factory_publisher_builder_set_max_loaned_samples (iox2_port_factory_publisher_builder_h_ref port_factory_handle, c_size_t value)
void iox2_port_factory_publisher_builder_backpressure_strategy (iox2_port_factory_publisher_builder_h_ref port_factory_handle, enum iox2_backpressure_strategy_e value)
void iox2_port_factory_publisher_builder_set_name (iox2_port_factory_publisher_builder_h_ref port_factory_handle, iox2_port_name_ptr port_name_ptr)
int iox2_port_factory_publisher_builder_create (iox2_port_factory_publisher_builder_h port_factory_handle, struct iox2_publisher_t *publisher_struct_ptr, iox2_publisher_h *publisher_handle_ptr)
const char * iox2_reader_create_error_string (enum iox2_reader_create_error_e error)
void iox2_port_factory_reader_builder_set_name (iox2_port_factory_reader_builder_h_ref port_factory_handle, iox2_port_name_ptr port_name_ptr)
int iox2_port_factory_reader_builder_create (iox2_port_factory_reader_builder_h port_factory_handle, struct iox2_reader_t *reader_struct_ptr, iox2_reader_h *reader_handle_ptr)
iox2_port_factory_server_builder_h iox2_port_factory_request_response_server_builder (iox2_port_factory_request_response_h_ref port_factory_handle, struct iox2_port_factory_server_builder_t *builder_struct_ptr)
iox2_port_factory_client_builder_h iox2_port_factory_request_response_client_builder (iox2_port_factory_request_response_h_ref port_factory_handle, struct iox2_port_factory_client_builder_t *builder_struct_ptr)
iox2_attribute_set_ptr iox2_port_factory_request_response_attributes (iox2_port_factory_request_response_h_ref port_factory_handle)
void iox2_port_factory_request_response_try_cleanup_dead_nodes (iox2_port_factory_request_response_h_ref port_factory_handle, struct iox2_cleanup_state_t *cleanup_state)
void iox2_port_factory_request_response_blocking_cleanup_dead_nodes (iox2_port_factory_request_response_h_ref port_factory_handle, struct iox2_cleanup_state_t *cleanup_state, uint64_t timeout_secs, uint32_t timeout_nsecs)
void iox2_port_factory_request_response_static_config (iox2_port_factory_request_response_h_ref port_factory_handle, struct iox2_static_config_request_response_t *static_config)
size_t iox2_port_factory_request_response_dynamic_config_number_of_servers (iox2_port_factory_request_response_h_ref handle)
size_t iox2_port_factory_request_response_dynamic_config_number_of_clients (iox2_port_factory_request_response_h_ref handle)
int iox2_port_factory_request_response_nodes (iox2_port_factory_request_response_h_ref handle, iox2_node_list_callback callback, iox2_callback_context callback_ctx)
iox2_service_name_ptr iox2_port_factory_request_response_service_name (iox2_port_factory_request_response_h_ref handle)
void iox2_port_factory_request_response_service_hash (iox2_port_factory_request_response_h_ref handle, char *buffer, size_t buffer_len)
void iox2_port_factory_request_response_dynamic_config_list_servers (iox2_port_factory_request_response_h_ref handle, iox2_list_servers_callback callback, iox2_callback_context callback_ctx)
void iox2_port_factory_request_response_dynamic_config_list_clients (iox2_port_factory_request_response_h_ref handle, iox2_list_clients_callback callback, iox2_callback_context callback_ctx)
void iox2_port_factory_request_response_drop (iox2_port_factory_request_response_h port_factory_handle)
const char * iox2_server_create_error_string (enum iox2_server_create_error_e error)
void iox2_port_factory_server_builder_override_responses_preallocation (iox2_port_factory_server_builder_h_ref port_factory_handle, iox2_preallocated_responses_override callback, iox2_callback_context callback_ctx)
void iox2_port_factory_server_builder_set_allocation_strategy (iox2_port_factory_server_builder_h_ref port_factory_handle, enum iox2_allocation_strategy_e value)
void iox2_port_factory_server_builder_set_request_degradation_handler (iox2_port_factory_server_builder_h_ref port_factory_handle, iox2_degradation_handler handler, iox2_callback_context ctx)
void iox2_port_factory_server_builder_set_response_degradation_handler (iox2_port_factory_server_builder_h_ref port_factory_handle, iox2_degradation_handler handler, iox2_callback_context ctx)
void iox2_port_factory_server_builder_set_backpressure_handler (iox2_port_factory_server_builder_h_ref port_factory_handle, iox2_backpressure_handler handler, iox2_callback_context ctx)
void iox2_port_factory_server_builder_set_initial_max_slice_len (iox2_port_factory_server_builder_h_ref port_factory_handle, c_size_t value)
void iox2_port_factory_server_builder_set_max_loaned_responses_per_request (iox2_port_factory_server_builder_h_ref port_factory_handle, c_size_t value)
void iox2_port_factory_server_builder_backpressure_strategy (iox2_port_factory_server_builder_h_ref port_factory_handle, enum iox2_backpressure_strategy_e value)
void iox2_port_factory_server_builder_set_name (iox2_port_factory_server_builder_h_ref port_factory_handle, iox2_port_name_ptr port_name_ptr)
int iox2_port_factory_server_builder_create (iox2_port_factory_server_builder_h port_factory_handle, struct iox2_server_t *struct_ptr, iox2_server_h *handle_ptr)
const char * iox2_subscriber_create_error_string (enum iox2_subscriber_create_error_e error)
void iox2_port_factory_subscriber_builder_set_buffer_size (iox2_port_factory_subscriber_builder_h_ref port_factory_handle, c_size_t value)
void iox2_port_factory_subscriber_builder_set_history_request (iox2_port_factory_subscriber_builder_h_ref port_factory_handle, c_size_t value)
void iox2_port_factory_subscriber_builder_set_degradation_handler (iox2_port_factory_subscriber_builder_h_ref port_factory_handle, iox2_degradation_handler handler, iox2_callback_context ctx)
void iox2_port_factory_subscriber_builder_set_name (iox2_port_factory_subscriber_builder_h_ref port_factory_handle, iox2_port_name_ptr port_name_ptr)
int iox2_port_factory_subscriber_builder_create (iox2_port_factory_subscriber_builder_h port_factory_handle, struct iox2_subscriber_t *subscriber_struct_ptr, iox2_subscriber_h *subscriber_handle_ptr)
const char * iox2_writer_create_error_string (enum iox2_writer_create_error_e error)
void iox2_port_factory_writer_builder_set_name (iox2_port_factory_writer_builder_h_ref port_factory_handle, iox2_port_name_ptr port_name_ptr)
int iox2_port_factory_writer_builder_create (iox2_port_factory_writer_builder_h port_factory_handle, struct iox2_writer_t *writer_struct_ptr, iox2_writer_h *writer_handle_ptr)
int iox2_port_name_new (struct iox2_port_name_t *port_name_struct_ptr, const char *port_name_str, c_size_t port_name_len, iox2_port_name_h *port_name_handle_ptr)
iox2_port_name_ptr iox2_cast_port_name_ptr (iox2_port_name_h port_name_handle)
const char * iox2_port_name_as_chars (iox2_port_name_ptr port_name_ptr, c_size_t *port_name_len)
void iox2_port_name_drop (iox2_port_name_h port_name_handle)
void iox2_publish_subscribe_header_drop (iox2_publish_subscribe_header_h handle)
void iox2_publish_subscribe_header_publisher_id (iox2_publish_subscribe_header_h_ref header_handle, struct iox2_unique_publisher_id_t *id_struct_ptr, iox2_unique_publisher_id_h *id_handle_ptr)
uint64_t iox2_publish_subscribe_header_number_of_elements (iox2_publish_subscribe_header_h_ref header_handle)
uint64_t iox2_publish_subscribe_header_payload_offset (iox2_publish_subscribe_header_h_ref header_handle)
const char * iox2_send_error_string (enum iox2_send_error_e error)
const char * iox2_loan_error_string (enum iox2_loan_error_e error)
enum iox2_backpressure_strategy_e iox2_publisher_backpressure_strategy (iox2_publisher_h_ref publisher_handle)
enum iox2_allocation_strategy_e iox2_publisher_allocation_strategy (iox2_publisher_h_ref publisher_handle)
c_size_t iox2_publisher_initial_max_slice_len (iox2_publisher_h_ref publisher_handle)
c_size_t iox2_publisher_max_loaned_samples (iox2_publisher_h_ref publisher_handle)
void iox2_publisher_id (iox2_publisher_h_ref publisher_handle, struct iox2_unique_publisher_id_t *id_struct_ptr, iox2_unique_publisher_id_h *id_handle_ptr)
iox2_port_name_ptr iox2_publisher_name (iox2_publisher_h_ref publisher_handle)
int iox2_publisher_send_slice_copy (iox2_publisher_h_ref publisher_handle, const void *data_ptr, size_t size_of_element, size_t number_of_elements, size_t *number_of_recipients)
int iox2_publisher_send_copy (iox2_publisher_h_ref publisher_handle, const void *data_ptr, size_t data_len, size_t *number_of_recipients)
int iox2_publisher_loan_slice_uninit (iox2_publisher_h_ref publisher_handle, struct iox2_sample_mut_t *sample_struct_ptr, iox2_sample_mut_h *sample_handle_ptr, size_t number_of_elements)
int iox2_publisher_update_connections (iox2_publisher_h_ref publisher_handle)
void iox2_publisher_drop (iox2_publisher_h publisher_handle)
void iox2_publisher_details_publisher_id (iox2_publisher_details_ptr handle, struct iox2_unique_publisher_id_t *id_struct_ptr, iox2_unique_publisher_id_h *id_handle_ptr)
iox2_unique_node_id_ptr iox2_publisher_details_node_id (iox2_publisher_details_ptr handle)
iox2_port_name_ptr iox2_publisher_details_publisher_name (iox2_publisher_details_ptr handle)
c_size_t iox2_publisher_details_number_of_samples (iox2_publisher_details_ptr handle)
c_size_t iox2_publisher_details_max_slice_len (iox2_publisher_details_ptr handle)
enum iox2_semantic_string_error_e __iox2_internal_semantic_string_error_stub (void)
enum iox2_node_creation_failure_e __iox2_internal_node_creation_failure_stub (void)
enum iox2_node_list_failure_e __iox2_internal_node_list_failure_stub (void)
enum iox2_node_wait_failure_e __iox2_internal_node_wait_failure_stub (void)
enum iox2_service_details_error_e __iox2_internal_service_details_error_stub (void)
enum iox2_event_open_or_create_error_e __iox2_internal_event_open_or_create_error_stub (void)
enum iox2_pub_sub_open_or_create_error_e __iox2_internal_pub_sub_open_or_create_error_stub (void)
enum iox2_notifier_create_error_e __iox2_internal_notifier_create_error_stub (void)
enum iox2_type_detail_error_e __iox2_internal_type_detail_error_stub (void)
enum iox2_listener_create_error_e __iox2_internal_listener_create_error_stub (void)
enum iox2_notifier_notify_error_e __iox2_internal_notifier_notify_error_stub (void)
enum iox2_listener_wait_error_e __iox2_internal_listener_wait_error_stub (void)
enum iox2_publisher_create_error_e __iox2_internal_publisher_create_error_stub (void)
enum iox2_subscriber_create_error_e __iox2_internal_subscriber_create_error_stub (void)
enum iox2_send_error_e __iox2_internal_send_error_stub (void)
enum iox2_loan_error_e __iox2_internal_loan_error_stub (void)
enum iox2_receive_error_e __iox2_internal_receive_error_stub (void)
enum iox2_service_list_error_e __iox2_internal_service_list_error_stub (void)
enum iox2_connection_failure_e __iox2_internal_connection_failure_stub (void)
enum iox2_config_creation_error_e __iox2_internal_config_creation_error_stub (void)
enum iox2_waitset_create_error_e __iox2_internal_waitset_create_error_stub (void)
enum iox2_waitset_run_error_e __iox2_internal_waitset_run_error_stub (void)
enum iox2_waitset_run_result_e __iox2_internal_waitset_run_result_stub (void)
enum iox2_waitset_attachment_error_e __iox2_internal_waitset_attachment_error_stub (void)
enum iox2_node_cleanup_failure_e __iox2_internal_node_cleanup_failure_stub (void)
enum iox2_request_response_open_or_create_error_e __iox2_internal_request_response_open_or_create_error_stub (void)
enum iox2_client_create_error_e __iox2_internal_client_create_error_stub (void)
enum iox2_server_create_error_e __iox2_internal_server_create_error_stub (void)
enum iox2_request_send_error_e __iox2_internal_request_send_error_stub (void)
enum iox2_degradation_action_e __iox2_internal_iox2_degradation_action_stub (void)
enum iox2_degradation_cause_e __iox2_internal_iox2_iox2_degradation_cause_stub (void)
enum iox2_service_remove_error_e __iox2_internal_iox2_service_remove_error_stub (void)
enum iox2_unique_id_generator_details_error_e __iox2_internal_iox2_unique_id_generator_details_error_stub (void)
const char * iox2_entry_handle_error_string (enum iox2_entry_handle_error_e error)
void iox2_reader_id (iox2_reader_h_ref reader_handle, struct iox2_unique_reader_id_t *id_struct_ptr, iox2_unique_reader_id_h *id_handle_ptr)
iox2_port_name_ptr iox2_reader_name (iox2_reader_h_ref reader_handle)
int iox2_reader_entry (iox2_reader_h_ref reader_handle, struct iox2_entry_handle_t *entry_handle_struct_ptr, iox2_entry_handle_h *entry_handle_handle_ptr, const void *key, const char *value_type_name_str, c_size_t value_type_name_len, c_size_t value_size, c_size_t value_alignment)
void iox2_reader_drop (iox2_reader_h reader_handle)
void iox2_reader_details_reader_id (iox2_reader_details_ptr handle, struct iox2_unique_reader_id_t *id_struct_ptr, iox2_unique_reader_id_h *id_handle_ptr)
iox2_unique_node_id_ptr iox2_reader_details_node_id (iox2_reader_details_ptr handle)
iox2_port_name_ptr iox2_reader_details_reader_name (iox2_reader_details_ptr handle)
void iox2_request_header_drop (iox2_request_header_h handle)
void iox2_request_header_client_id (iox2_request_header_h_ref header_handle, struct iox2_unique_client_id_t *id_struct_ptr, iox2_unique_client_id_h *id_handle_ptr)
uint64_t iox2_request_header_number_of_elements (iox2_request_header_h_ref header_handle)
uint64_t iox2_request_header_payload_offset (iox2_request_header_h_ref header_handle)
const char * iox2_request_send_error_string (enum iox2_request_send_error_e error)
void iox2_request_mut_user_header (iox2_request_mut_h_ref handle, const void **header_ptr)
void iox2_request_mut_header (iox2_request_mut_h_ref handle, struct iox2_request_header_t *header_struct_ptr, iox2_request_header_h *header_handle_ptr)
void iox2_request_mut_user_header_mut (iox2_request_mut_h_ref handle, void **header_ptr)
void iox2_request_mut_payload_mut (iox2_request_mut_h_ref handle, void **payload_ptr, c_size_t *number_of_elements)
void iox2_request_mut_payload (iox2_request_mut_h_ref handle, const void **payload_ptr, c_size_t *number_of_elements)
c_size_t iox2_request_mut_payload_number_of_bytes (iox2_request_mut_h_ref handle)
int iox2_request_mut_send (iox2_request_mut_h handle, struct iox2_pending_response_t *pending_response_struct_ptr, iox2_pending_response_h *pending_response_handle_ptr)
void iox2_request_mut_drop (iox2_request_mut_h handle)
void iox2_request_mut_finish_serialized (iox2_request_mut_h_ref handle, const uint8_t *payload_ptr)
void iox2_request_mut_create_resizable_memory (iox2_request_mut_h_ref handle, struct iox2_resizable_memory_request_t *struct_ptr, iox2_resizable_memory_request_h *handle_ptr)
int iox2_resizable_memory_publish_subscribe_grow_downwards (iox2_resizable_memory_publish_subscribe_h_ref handle, size_t new_size, size_t in_use_front, uint8_t **new_ptr)
uint8_t * iox2_resizable_memory_publish_subscribe_ptr (iox2_resizable_memory_publish_subscribe_h_ref handle)
size_t iox2_resizable_memory_publish_subscribe_len (iox2_resizable_memory_publish_subscribe_h_ref handle)
void iox2_resizable_memory_publish_subscribe_drop (iox2_resizable_memory_publish_subscribe_h handle)
int iox2_resizable_memory_request_grow_downwards (iox2_resizable_memory_request_h_ref handle, size_t new_size, size_t in_use_front, uint8_t **new_ptr)
uint8_t * iox2_resizable_memory_request_ptr (iox2_resizable_memory_request_h_ref handle)
size_t iox2_resizable_memory_request_len (iox2_resizable_memory_request_h_ref handle)
void iox2_resizable_memory_request_drop (iox2_resizable_memory_request_h handle)
int iox2_resizable_memory_response_grow_downwards (iox2_resizable_memory_response_h_ref handle, size_t new_size, size_t in_use_front, uint8_t **new_ptr)
uint8_t * iox2_resizable_memory_response_ptr (iox2_resizable_memory_response_h_ref handle)
size_t iox2_resizable_memory_response_len (iox2_resizable_memory_response_h_ref handle)
void iox2_resizable_memory_response_drop (iox2_resizable_memory_response_h handle)
void iox2_response_header (iox2_response_h_ref handle, struct iox2_response_header_t *header_struct_ptr, iox2_response_header_h *header_handle_ptr)
void iox2_response_user_header (iox2_response_h_ref handle, const void **header_ptr)
void iox2_response_payload (iox2_response_h_ref handle, const void **payload_ptr, c_size_t *number_of_elements)
c_size_t iox2_response_payload_number_of_bytes (iox2_response_h_ref handle)
void iox2_response_drop (iox2_response_h handle)
void iox2_response_header_drop (iox2_response_header_h handle)
void iox2_response_header_server_id (iox2_response_header_h_ref header_handle, struct iox2_unique_server_id_t *id_struct_ptr, iox2_unique_server_id_h *id_handle_ptr)
uint64_t iox2_response_header_number_of_elements (iox2_response_header_h_ref header_handle)
uint64_t iox2_response_header_payload_offset (iox2_response_header_h_ref header_handle)
void iox2_response_mut_header (iox2_response_mut_h_ref handle, struct iox2_response_header_t *header_struct_ptr, iox2_response_header_h *header_handle_ptr)
void iox2_response_mut_user_header (iox2_response_mut_h_ref handle, const void **header_ptr)
void iox2_response_mut_user_header_mut (iox2_response_mut_h_ref handle, void **header_ptr)
void iox2_response_mut_payload (iox2_response_mut_h_ref handle, const void **payload_ptr, c_size_t *number_of_elements)
void iox2_response_mut_payload_mut (iox2_response_mut_h_ref handle, void **payload_ptr, c_size_t *number_of_elements)
c_size_t iox2_response_mut_payload_number_of_bytes (iox2_response_mut_h_ref handle)
int iox2_response_mut_send (iox2_response_mut_h response_handle)
void iox2_response_mut_drop (iox2_response_mut_h response_handle)
void iox2_response_mut_finish_serialized (iox2_response_mut_h_ref handle, const uint8_t *payload_ptr)
void iox2_response_mut_create_resizable_memory (iox2_response_mut_h_ref handle, struct iox2_resizable_memory_response_t *struct_ptr, iox2_resizable_memory_response_h *handle_ptr)
void iox2_sample_header (iox2_sample_h_ref handle, struct iox2_publish_subscribe_header_t *header_struct_ptr, iox2_publish_subscribe_header_h *header_handle_ptr)
void iox2_sample_user_header (iox2_sample_h_ref handle, const void **header_ptr)
void iox2_sample_payload (iox2_sample_h_ref handle, const void **payload_ptr, c_size_t *number_of_elements)
c_size_t iox2_sample_payload_number_of_bytes (iox2_sample_h_ref handle)
void iox2_sample_drop (iox2_sample_h sample_handle)
void iox2_sample_mut_user_header (iox2_sample_mut_h_ref handle, const void **header_ptr)
void iox2_sample_mut_header (iox2_sample_mut_h_ref handle, struct iox2_publish_subscribe_header_t *header_struct_ptr, iox2_publish_subscribe_header_h *header_handle_ptr)
void iox2_sample_mut_user_header_mut (iox2_sample_mut_h_ref handle, void **header_ptr)
void iox2_sample_mut_payload_mut (iox2_sample_mut_h_ref handle, void **payload_ptr, c_size_t *number_of_elements)
void iox2_sample_mut_payload (iox2_sample_mut_h_ref handle, const void **payload_ptr, c_size_t *number_of_elements)
c_size_t iox2_sample_mut_payload_number_of_bytes (iox2_sample_mut_h_ref handle)
void iox2_sample_mut_truncate (iox2_sample_mut_h_ref handle, c_size_t number_of_elements)
int iox2_sample_mut_send (iox2_sample_mut_h sample_handle, c_size_t *number_of_recipients)
void iox2_sample_mut_finish_serialized (iox2_sample_mut_h_ref handle, const uint8_t *payload_ptr)
void iox2_sample_mut_create_resizable_memory (iox2_sample_mut_h_ref handle, struct iox2_resizable_memory_publish_subscribe_t *struct_ptr, iox2_resizable_memory_publish_subscribe_h *handle_ptr)
void iox2_sample_mut_drop (iox2_sample_mut_h sample_handle)
void iox2_server_id (iox2_server_h_ref handle, struct iox2_unique_server_id_t *id_struct_ptr, iox2_unique_server_id_h *id_handle_ptr)
iox2_port_name_ptr iox2_server_name (iox2_server_h_ref handle)
int iox2_server_has_requests (iox2_server_h_ref handle, bool *result_ptr)
c_size_t iox2_server_initial_max_slice_len (iox2_server_h_ref handle)
int iox2_server_receive (iox2_server_h_ref server_handle, struct iox2_active_request_t *active_request_struct_ptr, iox2_active_request_h *active_request_handle_ptr)
void iox2_server_drop (iox2_server_h handle)
void iox2_server_details_server_id (iox2_server_details_ptr handle, struct iox2_unique_server_id_t *id_struct_ptr, iox2_unique_server_id_h *id_handle_ptr)
iox2_unique_node_id_ptr iox2_server_details_node_id (iox2_server_details_ptr handle)
iox2_port_name_ptr iox2_server_details_server_name (iox2_server_details_ptr handle)
c_size_t iox2_server_details_request_buffer_size (iox2_server_details_ptr handle)
c_size_t iox2_server_details_number_of_responses (iox2_server_details_ptr handle)
c_size_t iox2_server_details_max_slice_len (iox2_server_details_ptr handle)
const char * iox2_service_details_error_string (enum iox2_service_details_error_e error)
const char * iox2_service_list_error_string (enum iox2_service_list_error_e error)
int iox2_service_does_exist (enum iox2_service_type_e service_type, iox2_service_name_ptr service_name, iox2_config_ptr config, enum iox2_messaging_pattern_e messaging_pattern, bool *does_exist)
int iox2_service_details (enum iox2_service_type_e service_type, iox2_service_name_ptr service_name, iox2_config_ptr config, enum iox2_messaging_pattern_e messaging_pattern, struct iox2_static_config_t *service_details, bool *does_exist)
int iox2_service_list (enum iox2_service_type_e service_type, iox2_config_ptr config_ptr, iox2_service_list_callback callback, iox2_callback_context callback_ctx)
iox2_service_builder_event_h iox2_service_builder_event (iox2_service_builder_h service_builder_handle)
iox2_service_builder_pub_sub_h iox2_service_builder_pub_sub (iox2_service_builder_h service_builder_handle)
iox2_service_builder_request_response_h iox2_service_builder_request_response (iox2_service_builder_h service_builder_handle)
iox2_service_builder_blackboard_creator_h iox2_service_builder_blackboard_creator (iox2_service_builder_h service_builder_handle)
iox2_service_builder_blackboard_opener_h iox2_service_builder_blackboard_opener (iox2_service_builder_h service_builder_handle)
const char * iox2_blackboard_open_error_string (enum iox2_blackboard_open_error_e error)
const char * iox2_blackboard_create_error_string (enum iox2_blackboard_create_error_e error)
int iox2_service_builder_blackboard_creator_set_key_type_details (iox2_service_builder_blackboard_creator_h_ref service_builder_handle, const char *type_name_str, c_size_t type_name_len, c_size_t size, c_size_t alignment)
int iox2_service_builder_blackboard_opener_set_key_type_details (iox2_service_builder_blackboard_opener_h_ref service_builder_handle, const char *type_name_str, c_size_t type_name_len, c_size_t size, c_size_t alignment)
void iox2_service_builder_blackboard_creator_set_key_eq_comparison_function (iox2_service_builder_blackboard_creator_h_ref service_builder_handle, iox2_service_blackboard_key_eq_cmp_func key_eq_func)
void iox2_service_builder_blackboard_opener_set_key_eq_comparison_function (iox2_service_builder_blackboard_opener_h_ref service_builder_handle, iox2_service_blackboard_key_eq_cmp_func key_eq_func)
void iox2_service_builder_blackboard_creator_set_max_readers (iox2_service_builder_blackboard_creator_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_blackboard_opener_set_max_readers (iox2_service_builder_blackboard_opener_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_blackboard_creator_set_max_nodes (iox2_service_builder_blackboard_creator_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_blackboard_opener_set_max_nodes (iox2_service_builder_blackboard_opener_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_blackboard_creator_add (iox2_service_builder_blackboard_creator_h_ref service_builder_handle, const void *key, void *value_ptr, iox2_service_blackboard_creator_add_release_callback release_callback, const char *type_name, size_t type_name_len, size_t type_size, size_t type_align)
int iox2_service_builder_blackboard_open (iox2_service_builder_blackboard_opener_h service_builder_handle, struct iox2_port_factory_blackboard_t *port_factory_struct_ptr, iox2_port_factory_blackboard_h *port_factory_handle_ptr)
int iox2_service_builder_blackboard_open_with_attributes (iox2_service_builder_blackboard_opener_h service_builder_handle, iox2_attribute_verifier_h_ref attribute_verifier_handle, struct iox2_port_factory_blackboard_t *port_factory_struct_ptr, iox2_port_factory_blackboard_h *port_factory_handle_ptr)
int iox2_service_builder_blackboard_create (iox2_service_builder_blackboard_creator_h service_builder_handle, struct iox2_port_factory_blackboard_t *port_factory_struct_ptr, iox2_port_factory_blackboard_h *port_factory_handle_ptr)
int iox2_service_builder_blackboard_create_with_attributes (iox2_service_builder_blackboard_creator_h service_builder_handle, iox2_attribute_specifier_h_ref attribute_specifier_handle, struct iox2_port_factory_blackboard_t *port_factory_struct_ptr, iox2_port_factory_blackboard_h *port_factory_handle_ptr)
const char * iox2_event_open_or_create_error_string (enum iox2_event_open_or_create_error_e error)
void iox2_service_builder_event_set_deadline (iox2_service_builder_event_h_ref service_builder_handle, uint64_t seconds, uint32_t nanoseconds)
void iox2_service_builder_event_disable_deadline (iox2_service_builder_event_h_ref service_builder_handle)
void iox2_service_builder_event_set_notifier_dead_event (iox2_service_builder_event_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_event_disable_notifier_dead_event (iox2_service_builder_event_h_ref service_builder_handle)
void iox2_service_builder_event_set_notifier_created_event (iox2_service_builder_event_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_event_disable_notifier_created_event (iox2_service_builder_event_h_ref service_builder_handle)
void iox2_service_builder_event_set_notifier_dropped_event (iox2_service_builder_event_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_event_disable_notifier_dropped_event (iox2_service_builder_event_h_ref service_builder_handle)
void iox2_service_builder_event_set_max_notifiers (iox2_service_builder_event_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_event_set_max_nodes (iox2_service_builder_event_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_event_set_event_id_max_value (iox2_service_builder_event_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_event_set_max_listeners (iox2_service_builder_event_h_ref service_builder_handle, c_size_t value)
int iox2_service_builder_event_open_or_create (iox2_service_builder_event_h service_builder_handle, struct iox2_port_factory_event_t *port_factory_struct_ptr, iox2_port_factory_event_h *port_factory_handle_ptr)
int iox2_service_builder_event_open_or_create_with_attributes (iox2_service_builder_event_h service_builder_handle, iox2_attribute_verifier_h_ref attribute_verifier_handle, struct iox2_port_factory_event_t *port_factory_struct_ptr, iox2_port_factory_event_h *port_factory_handle_ptr)
int iox2_service_builder_event_open (iox2_service_builder_event_h service_builder_handle, struct iox2_port_factory_event_t *port_factory_struct_ptr, iox2_port_factory_event_h *port_factory_handle_ptr)
int iox2_service_builder_event_open_with_attributes (iox2_service_builder_event_h service_builder_handle, iox2_attribute_verifier_h_ref attribute_verifier_handle, struct iox2_port_factory_event_t *port_factory_struct_ptr, iox2_port_factory_event_h *port_factory_handle_ptr)
int iox2_service_builder_event_create (iox2_service_builder_event_h service_builder_handle, struct iox2_port_factory_event_t *port_factory_struct_ptr, iox2_port_factory_event_h *port_factory_handle_ptr)
int iox2_service_builder_event_create_with_attributes (iox2_service_builder_event_h service_builder_handle, iox2_attribute_specifier_h_ref attribute_specifier_handle, struct iox2_port_factory_event_t *port_factory_struct_ptr, iox2_port_factory_event_h *port_factory_handle_ptr)
const char * iox2_pub_sub_open_or_create_error_string (enum iox2_pub_sub_open_or_create_error_e error)
int iox2_service_builder_pub_sub_set_user_header_type_details (iox2_service_builder_pub_sub_h_ref service_builder_handle, enum iox2_type_variant_e type_variant, const char *type_name_str, c_size_t type_name_len, c_size_t size, c_size_t alignment)
int iox2_service_builder_pub_sub_set_payload_type_details (iox2_service_builder_pub_sub_h_ref service_builder_handle, enum iox2_type_variant_e type_variant, const char *type_name_str, c_size_t type_name_len, c_size_t size, c_size_t alignment)
int iox2_service_builder_pub_sub_set_flatbuffer_schema_path (iox2_service_builder_pub_sub_h_ref service_builder_handle, const char *path_str)
void iox2_service_builder_pub_sub_set_max_nodes (iox2_service_builder_pub_sub_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_pub_sub_set_max_publishers (iox2_service_builder_pub_sub_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_pub_sub_set_max_subscribers (iox2_service_builder_pub_sub_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_pub_sub_set_payload_alignment (iox2_service_builder_pub_sub_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_pub_sub_set_history_size (iox2_service_builder_pub_sub_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_pub_sub_set_subscriber_max_buffer_size (iox2_service_builder_pub_sub_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_pub_sub_set_subscriber_max_borrowed_samples (iox2_service_builder_pub_sub_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_pub_sub_set_enable_safe_overflow (iox2_service_builder_pub_sub_h_ref service_builder_handle, bool value)
int iox2_service_builder_pub_sub_open_or_create (iox2_service_builder_pub_sub_h service_builder_handle, struct iox2_port_factory_pub_sub_t *port_factory_struct_ptr, iox2_port_factory_pub_sub_h *port_factory_handle_ptr)
int iox2_service_builder_pub_sub_open_or_create_with_attributes (iox2_service_builder_pub_sub_h service_builder_handle, iox2_attribute_verifier_h_ref attribute_verifier_handle, struct iox2_port_factory_pub_sub_t *port_factory_struct_ptr, iox2_port_factory_pub_sub_h *port_factory_handle_ptr)
int iox2_service_builder_pub_sub_open (iox2_service_builder_pub_sub_h service_builder_handle, struct iox2_port_factory_pub_sub_t *port_factory_struct_ptr, iox2_port_factory_pub_sub_h *port_factory_handle_ptr)
int iox2_service_builder_pub_sub_open_with_attributes (iox2_service_builder_pub_sub_h service_builder_handle, iox2_attribute_verifier_h_ref attribute_verifier_handle, struct iox2_port_factory_pub_sub_t *port_factory_struct_ptr, iox2_port_factory_pub_sub_h *port_factory_handle_ptr)
int iox2_service_builder_pub_sub_create (iox2_service_builder_pub_sub_h service_builder_handle, struct iox2_port_factory_pub_sub_t *port_factory_struct_ptr, iox2_port_factory_pub_sub_h *port_factory_handle_ptr)
int iox2_service_builder_pub_sub_create_with_attributes (iox2_service_builder_pub_sub_h service_builder_handle, iox2_attribute_specifier_h_ref attribute_specifier_handle, struct iox2_port_factory_pub_sub_t *port_factory_struct_ptr, iox2_port_factory_pub_sub_h *port_factory_handle_ptr)
iox2_config_ptr iox2_service_builder_pub_sub_config (iox2_service_builder_pub_sub_h_ref handle)
void iox2_service_builder_pub_sub_type_definition_name_hint (iox2_service_builder_pub_sub_h_ref service_builder_handle, const char *name, c_size_t name_len, const char *namespace_, c_size_t namespace_len)
const char * iox2_request_response_open_or_create_error_string (enum iox2_request_response_open_or_create_error_e error)
int iox2_service_builder_request_response_set_request_header_type_details (iox2_service_builder_request_response_h_ref service_builder_handle, enum iox2_type_variant_e type_variant, const char *type_name_str, c_size_t type_name_len, c_size_t size, c_size_t alignment)
int iox2_service_builder_request_response_set_response_header_type_details (iox2_service_builder_request_response_h_ref service_builder_handle, enum iox2_type_variant_e type_variant, const char *type_name_str, c_size_t type_name_len, c_size_t size, c_size_t alignment)
int iox2_service_builder_request_response_set_request_payload_type_details (iox2_service_builder_request_response_h_ref service_builder_handle, enum iox2_type_variant_e type_variant, const char *type_name_str, c_size_t type_name_len, c_size_t size, c_size_t alignment)
int iox2_service_builder_request_response_set_response_payload_type_details (iox2_service_builder_request_response_h_ref service_builder_handle, enum iox2_type_variant_e type_variant, const char *type_name_str, c_size_t type_name_len, c_size_t size, c_size_t alignment)
void iox2_service_builder_request_response_enable_fire_and_forget_requests (iox2_service_builder_request_response_h_ref service_builder_handle, bool value)
void iox2_service_builder_request_response_enable_safe_overflow_for_requests (iox2_service_builder_request_response_h_ref service_builder_handle, bool value)
void iox2_service_builder_request_response_enable_safe_overflow_for_responses (iox2_service_builder_request_response_h_ref service_builder_handle, bool value)
void iox2_service_builder_request_response_max_active_requests_per_client (iox2_service_builder_request_response_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_request_response_max_borrowed_responses_per_pending_response (iox2_service_builder_request_response_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_request_response_max_clients (iox2_service_builder_request_response_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_request_response_max_loaned_requests (iox2_service_builder_request_response_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_request_response_set_max_nodes (iox2_service_builder_request_response_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_request_response_max_response_buffer_size (iox2_service_builder_request_response_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_request_response_max_servers (iox2_service_builder_request_response_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_request_response_request_payload_alignment (iox2_service_builder_request_response_h_ref service_builder_handle, c_size_t value)
void iox2_service_builder_request_response_response_payload_alignment (iox2_service_builder_request_response_h_ref service_builder_handle, c_size_t value)
int iox2_service_builder_request_response_open_or_create (iox2_service_builder_request_response_h service_builder_handle, struct iox2_port_factory_request_response_t *port_factory_struct_ptr, iox2_port_factory_request_response_h *port_factory_handle_ptr)
int iox2_service_builder_request_response_open_or_create_with_attributes (iox2_service_builder_request_response_h service_builder_handle, iox2_attribute_verifier_h_ref attribute_verifier_handle, struct iox2_port_factory_request_response_t *port_factory_struct_ptr, iox2_port_factory_request_response_h *port_factory_handle_ptr)
int iox2_service_builder_request_response_open (iox2_service_builder_request_response_h service_builder_handle, struct iox2_port_factory_request_response_t *port_factory_struct_ptr, iox2_port_factory_request_response_h *port_factory_handle_ptr)
int iox2_service_builder_request_response_open_with_attributes (iox2_service_builder_request_response_h service_builder_handle, iox2_attribute_verifier_h_ref attribute_verifier_handle, struct iox2_port_factory_request_response_t *port_factory_struct_ptr, iox2_port_factory_request_response_h *port_factory_handle_ptr)
int iox2_service_builder_request_response_create (iox2_service_builder_request_response_h service_builder_handle, struct iox2_port_factory_request_response_t *port_factory_struct_ptr, iox2_port_factory_request_response_h *port_factory_handle_ptr)
int iox2_service_builder_request_response_create_with_attributes (iox2_service_builder_request_response_h service_builder_handle, iox2_attribute_specifier_h_ref attribute_specifier_handle, struct iox2_port_factory_request_response_t *port_factory_struct_ptr, iox2_port_factory_request_response_h *port_factory_handle_ptr)
void iox2_service_builder_request_response_request_type_definition_name_hint (iox2_service_builder_request_response_h_ref service_builder_handle, const char *name, c_size_t name_len, const char *namespace_, c_size_t namespace_len)
void iox2_service_builder_request_response_response_type_definition_name_hint (iox2_service_builder_request_response_h_ref service_builder_handle, const char *name, c_size_t name_len, const char *namespace_, c_size_t namespace_len)
int iox2_service_builder_request_response_set_request_flatbuffer_schema_path (iox2_service_builder_request_response_h_ref service_builder_handle, const char *path_str)
int iox2_service_builder_request_response_set_response_flatbuffer_schema_path (iox2_service_builder_request_response_h_ref service_builder_handle, const char *path_str)
int iox2_service_name_new (struct iox2_service_name_t *service_name_struct_ptr, const char *service_name_str, c_size_t service_name_len, iox2_service_name_h *service_name_handle_ptr)
iox2_service_name_ptr iox2_cast_service_name_ptr (iox2_service_name_h service_name_handle)
const char * iox2_service_name_as_chars (iox2_service_name_ptr service_name_ptr, c_size_t *service_name_len)
void iox2_service_name_drop (iox2_service_name_h service_name_handle)
const char * iox2_receive_error_string (enum iox2_receive_error_e error)
const char * iox2_connection_failure_string (enum iox2_connection_failure_e error)
c_size_t iox2_subscriber_buffer_size (iox2_subscriber_h_ref subscriber_handle)
void iox2_subscriber_id (iox2_subscriber_h_ref subscriber_handle, struct iox2_unique_subscriber_id_t *id_struct_ptr, iox2_unique_subscriber_id_h *id_handle_ptr)
iox2_port_name_ptr iox2_subscriber_name (iox2_subscriber_h_ref subscriber_handle)
int iox2_subscriber_receive (iox2_subscriber_h_ref subscriber_handle, struct iox2_sample_t *sample_struct_ptr, iox2_sample_h *sample_handle_ptr)
int iox2_subscriber_has_samples (iox2_subscriber_h_ref subscriber_handle, bool *result_ptr)
void iox2_subscriber_drop (iox2_subscriber_h subscriber_handle)
void iox2_subscriber_details_subscriber_id (iox2_subscriber_details_ptr handle, struct iox2_unique_subscriber_id_t *id_struct_ptr, iox2_unique_subscriber_id_h *id_handle_ptr)
iox2_unique_node_id_ptr iox2_subscriber_details_node_id (iox2_subscriber_details_ptr handle)
iox2_port_name_ptr iox2_subscriber_details_subscriber_name (iox2_subscriber_details_ptr handle)
c_size_t iox2_subscriber_details_buffer_size (iox2_subscriber_details_ptr handle)
c_size_t iox2_subscriber_details_history_request (iox2_subscriber_details_ptr handle)
void iox2_testing_create_test_directory (void)
void iox2_testing_generate_file_name (char *name, size_t buffer_len)
void iox2_testing_generate_file_path (char *name, size_t buffer_len)
void iox2_testing_test_directory_path (char *name, size_t buffer_len)
void iox2_unique_client_id_value (iox2_unique_client_id_h handle, uint8_t *id_ptr, size_t id_length)
void iox2_unique_client_id_drop (iox2_unique_client_id_h handle)
bool iox2_unique_client_id_eq (iox2_unique_client_id_h_ref lhs, iox2_unique_client_id_h_ref rhs)
bool iox2_unique_client_id_less (iox2_unique_client_id_h_ref lhs, iox2_unique_client_id_h_ref rhs)
void iox2_unique_listener_id_value (iox2_unique_listener_id_h handle, uint8_t *id_ptr, size_t id_length)
void iox2_unique_listener_id_drop (iox2_unique_listener_id_h handle)
bool iox2_unique_listener_id_eq (iox2_unique_listener_id_h_ref lhs, iox2_unique_listener_id_h_ref rhs)
bool iox2_unique_listener_id_less (iox2_unique_listener_id_h_ref lhs, iox2_unique_listener_id_h_ref rhs)
void iox2_unique_node_id_clone_from_ptr (struct iox2_unique_node_id_t *node_id_struct_ptr, iox2_unique_node_id_ptr node_id_ptr, iox2_unique_node_id_h *node_id_handle_ptr)
void iox2_unique_node_id_clone_from_handle (struct iox2_unique_node_id_t *node_id_struct_ptr, iox2_unique_node_id_h_ref node_id_handle, iox2_unique_node_id_h *node_id_handle_ptr)
uint64_t iox2_unique_node_id_value_high (iox2_unique_node_id_h_ref node_id_handle)
uint64_t iox2_unique_node_id_value_low (iox2_unique_node_id_h_ref node_id_handle)
int iox2_unique_node_id_pid (iox2_unique_node_id_h_ref node_id_handle, enum iox2_service_type_e service_type, int32_t *process_id)
int iox2_unique_node_id_creation_time (iox2_unique_node_id_h_ref node_id_handle, enum iox2_service_type_e service_type, uint64_t *seconds, uint32_t *nanoseconds)
void iox2_unique_node_id_drop (iox2_unique_node_id_h node_id_handle)
void iox2_unique_notifier_id_value (iox2_unique_notifier_id_h handle, uint8_t *id_ptr, size_t id_length)
void iox2_unique_notifier_id_drop (iox2_unique_notifier_id_h handle)
bool iox2_unique_notifier_id_eq (iox2_unique_notifier_id_h_ref lhs, iox2_unique_notifier_id_h_ref rhs)
bool iox2_unique_notifier_id_less (iox2_unique_notifier_id_h_ref lhs, iox2_unique_notifier_id_h_ref rhs)
void iox2_unique_publisher_id_value (iox2_unique_publisher_id_h handle, uint8_t *id_ptr, size_t id_length)
void iox2_unique_publisher_id_drop (iox2_unique_publisher_id_h handle)
bool iox2_unique_publisher_id_eq (iox2_unique_publisher_id_h_ref lhs, iox2_unique_publisher_id_h_ref rhs)
bool iox2_unique_publisher_id_less (iox2_unique_publisher_id_h_ref lhs, iox2_unique_publisher_id_h_ref rhs)
void iox2_unique_reader_id_value (iox2_unique_reader_id_h handle, uint8_t *id_ptr, size_t id_length)
void iox2_unique_reader_id_drop (iox2_unique_reader_id_h handle)
bool iox2_unique_reader_id_eq (iox2_unique_reader_id_h_ref lhs, iox2_unique_reader_id_h_ref rhs)
bool iox2_unique_reader_id_less (iox2_unique_reader_id_h_ref lhs, iox2_unique_reader_id_h_ref rhs)
void iox2_unique_server_id_value (iox2_unique_server_id_h handle, uint8_t *id_ptr, size_t id_length)
void iox2_unique_server_id_drop (iox2_unique_server_id_h handle)
bool iox2_unique_server_id_eq (iox2_unique_server_id_h_ref lhs, iox2_unique_server_id_h_ref rhs)
bool iox2_unique_server_id_less (iox2_unique_server_id_h_ref lhs, iox2_unique_server_id_h_ref rhs)
void iox2_unique_subscriber_id_value (iox2_unique_subscriber_id_h handle, uint8_t *id_ptr, size_t id_length)
void iox2_unique_subscriber_id_drop (iox2_unique_subscriber_id_h handle)
bool iox2_unique_subscriber_id_eq (iox2_unique_subscriber_id_h_ref lhs, iox2_unique_subscriber_id_h_ref rhs)
bool iox2_unique_subscriber_id_less (iox2_unique_subscriber_id_h_ref lhs, iox2_unique_subscriber_id_h_ref rhs)
void iox2_unique_writer_id_value (iox2_unique_writer_id_h handle, uint8_t *id_ptr, size_t id_length)
void iox2_unique_writer_id_drop (iox2_unique_writer_id_h handle)
bool iox2_unique_writer_id_eq (iox2_unique_writer_id_h_ref lhs, iox2_unique_writer_id_h_ref rhs)
bool iox2_unique_writer_id_less (iox2_unique_writer_id_h_ref lhs, iox2_unique_writer_id_h_ref rhs)
const char * iox2_waitset_create_error_string (enum iox2_waitset_create_error_e error)
const char * iox2_waitset_attachment_error_string (enum iox2_waitset_attachment_error_e error)
const char * iox2_waitset_run_error_string (enum iox2_waitset_run_error_e error)
void iox2_waitset_drop (iox2_waitset_h handle)
bool iox2_waitset_is_empty (iox2_waitset_h_ref handle)
enum iox2_signal_handling_mode_e iox2_waitset_signal_handling_mode (iox2_waitset_h_ref handle)
c_size_t iox2_waitset_len (iox2_waitset_h_ref handle)
c_size_t iox2_waitset_capacity (iox2_waitset_h_ref handle)
int iox2_waitset_attach_notification (iox2_waitset_h_ref handle, iox2_file_descriptor_ptr fd, struct iox2_waitset_guard_t *guard_struct_ptr, iox2_waitset_guard_h *guard_handle_ptr)
int iox2_waitset_attach_deadline (iox2_waitset_h_ref handle, iox2_file_descriptor_ptr fd, uint64_t seconds, uint32_t nanoseconds, struct iox2_waitset_guard_t *guard_struct_ptr, iox2_waitset_guard_h *guard_handle_ptr)
int iox2_waitset_attach_interval (iox2_waitset_h_ref handle, uint64_t seconds, uint32_t nanoseconds, struct iox2_waitset_guard_t *guard_struct_ptr, iox2_waitset_guard_h *guard_handle_ptr)
int iox2_waitset_wait_and_process_once (iox2_waitset_h_ref handle, iox2_waitset_run_callback callback, iox2_callback_context callback_ctx, enum iox2_waitset_run_result_e *result)
int iox2_waitset_wait_and_process_once_with_timeout (iox2_waitset_h_ref handle, iox2_waitset_run_callback callback, iox2_callback_context callback_ctx, uint64_t seconds, uint32_t nanoseconds, enum iox2_waitset_run_result_e *result)
int iox2_waitset_wait_and_process (iox2_waitset_h_ref handle, iox2_waitset_run_callback callback, iox2_callback_context callback_ctx, enum iox2_waitset_run_result_e *result)
void iox2_waitset_attachment_id_drop (iox2_waitset_attachment_id_h handle)
bool iox2_waitset_attachment_id_equal (iox2_waitset_attachment_id_h_ref lhs, iox2_waitset_attachment_id_h_ref rhs)
bool iox2_waitset_attachment_id_less (iox2_waitset_attachment_id_h_ref lhs, iox2_waitset_attachment_id_h_ref rhs)
bool iox2_waitset_attachment_id_has_event_from (iox2_waitset_attachment_id_h_ref handle, iox2_waitset_guard_h_ref guard)
bool iox2_waitset_attachment_id_has_missed_deadline (iox2_waitset_attachment_id_h_ref handle, iox2_waitset_guard_h_ref guard)
void iox2_waitset_attachment_id_from_guard (iox2_waitset_guard_h_ref guard, struct iox2_waitset_attachment_id_t *attachment_id_struct_ptr, iox2_waitset_attachment_id_h *attachment_id_handle_ptr)
bool iox2_waitset_attachment_id_debug (iox2_waitset_attachment_id_h_ref handle, char *debug_output, c_size_t debug_len)
c_size_t iox2_waitset_attachment_id_debug_len (iox2_waitset_attachment_id_h_ref handle)
void iox2_waitset_builder_drop (iox2_waitset_builder_h handle)
int iox2_waitset_builder_create (iox2_waitset_builder_h handle, struct iox2_waitset_t *struct_ptr, iox2_waitset_h *handle_ptr)
void iox2_waitset_builder_set_signal_handling_mode (iox2_waitset_builder_h_ref handle, enum iox2_signal_handling_mode_e signal_handling_mode)
void iox2_waitset_guard_drop (iox2_waitset_guard_h handle)
const char * iox2_entry_handle_mut_error_string (enum iox2_entry_handle_mut_error_e error)
void iox2_writer_id (iox2_writer_h_ref writer_handle, struct iox2_unique_writer_id_t *id_struct_ptr, iox2_unique_writer_id_h *id_handle_ptr)
iox2_port_name_ptr iox2_writer_name (iox2_writer_h_ref writer_handle)
int iox2_writer_entry (iox2_writer_h_ref writer_handle, struct iox2_entry_handle_mut_t *entry_handle_mut_struct_ptr, iox2_entry_handle_mut_h *entry_handle_mut_handle_ptr, const void *key, const char *value_type_name_str, c_size_t value_type_name_len, c_size_t value_size, c_size_t value_alignment)
void iox2_writer_drop (iox2_writer_h writer_handle)
void iox2_writer_details_writer_id (iox2_writer_details_ptr handle, struct iox2_unique_writer_id_t *id_struct_ptr, iox2_unique_writer_id_h *id_handle_ptr)
iox2_unique_node_id_ptr iox2_writer_details_node_id (iox2_writer_details_ptr handle)
iox2_port_name_ptr iox2_writer_details_writer_name (iox2_writer_details_ptr handle)
void rust_eh_personality (void)

Variables

 iox2_request_header_storage_t
 iox2_response_mut_storage_t
 iox2_attribute_set_storage_t
 iox2_attribute_specifier_storage_t
 iox2_attribute_verifier_storage_t
 iox2_buffer_16_align_4_t
 iox2_unique_client_id_storage_t
 iox2_request_mut_storage_t
 iox2_pending_response_storage_t
 iox2_config_storage_t
 iox2_entry_value_uninit_storage_t
 iox2_entry_handle_mut_storage_t
 iox2_file_descriptor_storage_t
 iox2_unique_listener_id_storage_t
 iox2_service_builder_storage_t
 iox2_waitset_builder_storage_t
 iox2_node_builder_storage_t
 iox2_node_storage_t
 iox2_node_name_storage_t
 iox2_unique_notifier_id_storage_t
 iox2_response_storage_t
 iox2_port_factory_writer_builder_storage_t
 iox2_port_factory_reader_builder_storage_t
 iox2_client_storage_t
 iox2_port_factory_notifier_builder_storage_t
 iox2_port_factory_listener_builder_storage_t
 iox2_listener_storage_t
 iox2_notifier_storage_t
 iox2_port_factory_publisher_builder_storage_t
 iox2_port_factory_subscriber_builder_storage_t
 iox2_publisher_storage_t
 iox2_reader_storage_t
 iox2_port_factory_server_builder_storage_t
 iox2_port_factory_client_builder_storage_t
 iox2_server_storage_t
 iox2_subscriber_storage_t
 iox2_writer_storage_t
 iox2_port_name_storage_t
 iox2_unique_publisher_id_storage_t
 iox2_sample_mut_storage_t
 iox2_unique_reader_id_storage_t
 iox2_entry_handle_storage_t
 iox2_resizable_memory_request_storage_t
 iox2_response_header_storage_t
 iox2_unique_server_id_storage_t
 iox2_resizable_memory_response_storage_t
 iox2_publish_subscribe_header_storage_t
 iox2_resizable_memory_publish_subscribe_storage_t
 iox2_active_request_storage_t
 iox2_port_factory_blackboard_storage_t
 iox2_port_factory_event_storage_t
 iox2_port_factory_pub_sub_storage_t
 iox2_port_factory_request_response_storage_t
 iox2_service_name_storage_t
 iox2_unique_subscriber_id_storage_t
 iox2_sample_storage_t
 iox2_unique_node_id_storage_t
 iox2_waitset_guard_storage_t
 iox2_waitset_attachment_id_storage_t
 iox2_waitset_storage_t
 iox2_unique_writer_id_storage_t

Macro Definition Documentation

◆ IOX2_ATTRIBUTE_KEY_LENGTH

#define IOX2_ATTRIBUTE_KEY_LENGTH   64

Definition at line 60 of file iceoryx2.h.

◆ IOX2_ATTRIBUTE_VALUE_LENGTH

#define IOX2_ATTRIBUTE_VALUE_LENGTH   256

Definition at line 62 of file iceoryx2.h.

◆ IOX2_C_BINDINGS_H

#define IOX2_C_BINDINGS_H

Definition at line 21 of file iceoryx2.h.

◆ IOX2_IS_IPC_LISTENER_FD_BASED

#define IOX2_IS_IPC_LISTENER_FD_BASED   true

Definition at line 80 of file iceoryx2.h.

◆ IOX2_IS_LOCAL_LISTENER_FD_BASED

#define IOX2_IS_LOCAL_LISTENER_FD_BASED   true

Definition at line 82 of file iceoryx2.h.

◆ IOX2_MAX_ATTRIBUTES_PER_SERVICE

#define IOX2_MAX_ATTRIBUTES_PER_SERVICE   8

Definition at line 64 of file iceoryx2.h.

◆ IOX2_MAX_BLACKBOARD_KEY_ALIGNMENT

#define IOX2_MAX_BLACKBOARD_KEY_ALIGNMENT   8

Definition at line 78 of file iceoryx2.h.

◆ IOX2_MAX_BLACKBOARD_KEY_SIZE

#define IOX2_MAX_BLACKBOARD_KEY_SIZE   64

Definition at line 76 of file iceoryx2.h.

◆ IOX2_NODE_NAME_LENGTH

#define IOX2_NODE_NAME_LENGTH   128

Definition at line 66 of file iceoryx2.h.

◆ IOX2_OK

#define IOX2_OK   0

This constant signals an successful function call

Definition at line 58 of file iceoryx2.h.

◆ IOX2_PORT_NAME_LENGTH

#define IOX2_PORT_NAME_LENGTH   64

Definition at line 68 of file iceoryx2.h.

◆ IOX2_REPR_ALIGNED

#define IOX2_REPR_ALIGNED ( n)
Value:
__attribute__((aligned(n)))
struct __attribute__((aligned(8))) iox2_request_header_storage_t
Definition iceoryx2.h:837

Definition at line 35 of file iceoryx2.h.

Referenced by __attribute__(), __attribute__(), and __attribute__().

◆ IOX2_SERVICE_HASH_LENGTH

#define IOX2_SERVICE_HASH_LENGTH   64

Definition at line 72 of file iceoryx2.h.

◆ IOX2_SERVICE_NAME_LENGTH

#define IOX2_SERVICE_NAME_LENGTH   255

Definition at line 70 of file iceoryx2.h.

◆ IOX2_TYPE_NAME_LENGTH

#define IOX2_TYPE_NAME_LENGTH   256

Definition at line 74 of file iceoryx2.h.

Typedef Documentation

◆ c_size_t

typedef size_t c_size_t

Definition at line 851 of file iceoryx2.h.

◆ CFileDescriptor

typedef struct CFileDescriptor CFileDescriptor

◆ iox2_active_request_h

The owning handle for iox2_active_request_t. Passing the handle to a function transfers the ownership.

Definition at line 827 of file iceoryx2.h.

◆ iox2_active_request_h_ref

The non-owning handle for iox2_active_request_t. Passing the handle to a function does not transfer the ownership.

Definition at line 832 of file iceoryx2.h.

◆ iox2_active_request_h_t

Definition at line 688 of file iceoryx2.h.

◆ iox2_active_request_t

typedef struct iox2_active_request_t iox2_active_request_t

◆ iox2_allocation_strategy_e

Describes generically an allocation strategy, meaning how the memory is increased when the available memory is insufficient.

◆ iox2_attribute_definition_error_e

◆ iox2_attribute_h_ref

Definition at line 868 of file iceoryx2.h.

◆ iox2_attribute_h_t

Definition at line 690 of file iceoryx2.h.

◆ iox2_attribute_set_get_callback

typedef enum iox2_callback_progression_e(* iox2_attribute_set_get_callback) (const char *, iox2_callback_context)

Definition at line 892 of file iceoryx2.h.

◆ iox2_attribute_set_h

The owning handle for iox2_attribute_set_t. Passing the handle to an function transfers the ownership.

Definition at line 887 of file iceoryx2.h.

◆ iox2_attribute_set_h_t

Definition at line 692 of file iceoryx2.h.

◆ iox2_attribute_set_ptr

The immutable pointer to the underlying AttributeSet

Definition at line 882 of file iceoryx2.h.

◆ iox2_attribute_set_ptr_t

Definition at line 39 of file iceoryx2.h.

◆ iox2_attribute_set_t

typedef struct iox2_attribute_set_t iox2_attribute_set_t

◆ iox2_attribute_specifier_h

The owning handle for iox2_attribute_specifier_t. Passing the handle to an function transfers the ownership.

Definition at line 908 of file iceoryx2.h.

◆ iox2_attribute_specifier_h_ref

The non-owning handle for iox2_attribute_specifier_t. Passing the handle to an function does not transfers the ownership.

Definition at line 913 of file iceoryx2.h.

◆ iox2_attribute_specifier_h_t

Definition at line 694 of file iceoryx2.h.

◆ iox2_attribute_specifier_t

typedef struct iox2_attribute_specifier_t iox2_attribute_specifier_t

◆ iox2_attribute_verification_error_e

◆ iox2_attribute_verifier_h

The owning handle for iox2_attribute_verifier_t. Passing the handle to an function transfers the ownership.

Definition at line 927 of file iceoryx2.h.

◆ iox2_attribute_verifier_h_ref

The non-owning handle for iox2_attribute_verifier_t. Passing the handle to an function does not transfers the ownership.

Definition at line 932 of file iceoryx2.h.

◆ iox2_attribute_verifier_h_t

Definition at line 696 of file iceoryx2.h.

◆ iox2_attribute_verifier_t

typedef struct iox2_attribute_verifier_t iox2_attribute_verifier_t

◆ iox2_backpressure_action_e

Defines the action that shall be take when an a data cannot be delivered.

◆ iox2_backpressure_handler

The backpressure handler signature

Arguments

Returns

[iox2_backpressure_action_e] the selected action to handle the incident

Safety

  • iox2_callback_context is stored for later use; if the port, including the send and receive functions, is accessed from multiple threads, the ctx must be thread-safe

Definition at line 1473 of file iceoryx2.h.

◆ iox2_backpressure_info_h

Definition at line 698 of file iceoryx2.h.

◆ iox2_backpressure_info_h_ref

Definition at line 934 of file iceoryx2.h.

◆ iox2_backpressure_strategy_e

◆ iox2_blackboard_create_error_e

◆ iox2_blackboard_open_error_e

◆ iox2_callback_context

typedef void* iox2_callback_context

An alias to a void * which can be used to pass arbitrary data to the callback

Definition at line 892 of file iceoryx2.h.

◆ iox2_callback_progression_e

◆ iox2_cleanup_state_t

typedef struct iox2_cleanup_state_t iox2_cleanup_state_t

Returned by iox2_node_try_cleanup_dead_nodes(). Contains the cleanup report of the call and contains the number of dead nodes that were successfully cleaned up and how many could not be cleaned up. This does not have to be an error, for instance when the current process does not have the permission to access the corresponding resources.

◆ iox2_client_create_error_e

◆ iox2_client_details_ptr

The immutable pointer to the underlying ClientDetails

Definition at line 1005 of file iceoryx2.h.

◆ iox2_client_details_ptr_t

Definition at line 40 of file iceoryx2.h.

◆ iox2_client_h

typedef struct iox2_client_h_t* iox2_client_h

The owning handle for iox2_client_t. Passing the handle to a function transfers the ownership.

Definition at line 943 of file iceoryx2.h.

◆ iox2_client_h_ref

The non-owning handle for iox2_client_t. Passing the handle to a function does not transfer the ownership.

Definition at line 948 of file iceoryx2.h.

◆ iox2_client_h_t

Definition at line 700 of file iceoryx2.h.

◆ iox2_client_t

typedef struct iox2_client_t iox2_client_t

◆ iox2_config_creation_error_e

Failures occurring while creating a new [iox2_config_t] object with [iox2_config_from_file()].

◆ iox2_config_h

typedef struct iox2_config_h_t* iox2_config_h

The owning handle for iox2_config_t. Passing the handle to an function transfers the ownership.

Definition at line 1020 of file iceoryx2.h.

◆ iox2_config_h_ref

The non-owning handle for iox2_config_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1040 of file iceoryx2.h.

◆ iox2_config_h_t

Definition at line 702 of file iceoryx2.h.

◆ iox2_config_ptr

The immutable pointer to the underlying Config

Definition at line 1015 of file iceoryx2.h.

◆ iox2_config_ptr_t

Definition at line 41 of file iceoryx2.h.

◆ iox2_config_t

typedef struct iox2_config_t iox2_config_t

Contains the iceoryx2 config

◆ iox2_connection_failure_e

◆ iox2_degradation_action_e

Defines the action that shall be take when an degradation is detected. This can happen when a sample cannot be delivered, or when the system is corrupted and files are modified by non-iceoryx2 instances. Is used as return value of the degradation handler to define a custom behavior.

◆ iox2_degradation_cause_e

Defines the cause of a degradation and is a parameter of the degradation handler.

◆ iox2_degradation_handler

The degradation handler signature

Arguments

Returns

[iox2_degradation_action_e] the selected action to handle the degradation

Safety

  • iox2_callback_context is stored for later use; if the port, including the send and receive functions, is accessed from multiple threads, the ctx must be thread-safe

Definition at line 1473 of file iceoryx2.h.

◆ iox2_degradation_info_h

Definition at line 704 of file iceoryx2.h.

◆ iox2_degradation_info_h_ref

Definition at line 1042 of file iceoryx2.h.

◆ iox2_entry_handle_error_e

◆ iox2_entry_handle_h

The owning handle for iox2_entry_handle_t. Passing the handle to an function transfers the ownership.

Definition at line 1047 of file iceoryx2.h.

◆ iox2_entry_handle_h_ref

The non-owning handle for iox2_entry_handle_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1052 of file iceoryx2.h.

◆ iox2_entry_handle_h_t

Definition at line 706 of file iceoryx2.h.

◆ iox2_entry_handle_mut_error_e

◆ iox2_entry_handle_mut_h

The owning handle for iox2_entry_handle_mut_t. Passing the handle to a function transfers the ownership.

Definition at line 1061 of file iceoryx2.h.

◆ iox2_entry_handle_mut_h_ref

The non-owning handle for iox2_entry_handle_mut_t. Passing the handle to a function does not transfer the ownership.

Definition at line 1081 of file iceoryx2.h.

◆ iox2_entry_handle_mut_h_t

Definition at line 708 of file iceoryx2.h.

◆ iox2_entry_handle_mut_t

typedef struct iox2_entry_handle_mut_t iox2_entry_handle_mut_t

◆ iox2_entry_handle_t

typedef struct iox2_entry_handle_t iox2_entry_handle_t

◆ iox2_entry_value_uninit_h

The owning handle for iox2_entry_value_uninit_t. Passing the handle to a function transfers the ownership.

Definition at line 1076 of file iceoryx2.h.

◆ iox2_entry_value_uninit_h_ref

The non-owning handle for iox2_entry_value_uninit_t. Passing the handle to a function does not transfer the ownership.

Definition at line 1086 of file iceoryx2.h.

◆ iox2_entry_value_uninit_h_t

Definition at line 710 of file iceoryx2.h.

◆ iox2_entry_value_uninit_t

typedef struct iox2_entry_value_uninit_t iox2_entry_value_uninit_t

◆ iox2_event_id_t

typedef struct iox2_event_id_t iox2_event_id_t

◆ iox2_event_open_or_create_error_e

◆ iox2_file_descriptor_h

The owning handle for iox2_file_descriptor_t. Passing the handle to an function transfers the ownership.

Definition at line 1111 of file iceoryx2.h.

◆ iox2_file_descriptor_h_t

Definition at line 712 of file iceoryx2.h.

◆ iox2_file_descriptor_ptr

The immutable pointer to the underlying FileDescriptor

Definition at line 1106 of file iceoryx2.h.

◆ iox2_file_descriptor_t

typedef struct iox2_file_descriptor_t iox2_file_descriptor_t

◆ iox2_list_clients_callback

typedef enum iox2_callback_progression_e(* iox2_list_clients_callback) (iox2_callback_context, iox2_client_details_ptr)

The callback for [iox2_port_factory_request_response_dynamic_config_list_clients()]

Arguments

Returns a [iox2_callback_progression_e]

Definition at line 1842 of file iceoryx2.h.

◆ iox2_list_listeners_callback

typedef enum iox2_callback_progression_e(* iox2_list_listeners_callback) (iox2_callback_context, iox2_listener_details_ptr)

The callback for [iox2_port_factory_event_dynamic_config_list_listeners()]

Arguments

Returns a [iox2_callback_progression_e]

Definition at line 1578 of file iceoryx2.h.

◆ iox2_list_notifiers_callback

typedef enum iox2_callback_progression_e(* iox2_list_notifiers_callback) (iox2_callback_context, iox2_notifier_details_ptr)

The callback for [iox2_port_factory_event_dynamic_config_list_notifiers()]

Arguments

Returns a [iox2_callback_progression_e]

Definition at line 1578 of file iceoryx2.h.

◆ iox2_list_publishers_callback

typedef enum iox2_callback_progression_e(* iox2_list_publishers_callback) (iox2_callback_context, iox2_publisher_details_ptr)

The callback for [iox2_port_factory_pub_sub_dynamic_config_list_publishers()]

Arguments

Returns a [iox2_callback_progression_e]

Definition at line 1720 of file iceoryx2.h.

◆ iox2_list_readers_callback

typedef enum iox2_callback_progression_e(* iox2_list_readers_callback) (iox2_callback_context, iox2_reader_details_ptr)

The callback for [iox2_port_factory_blackboard_dynamic_config_list_readers()]

Arguments

Returns a [iox2_callback_progression_e]

Definition at line 1417 of file iceoryx2.h.

◆ iox2_list_servers_callback

typedef enum iox2_callback_progression_e(* iox2_list_servers_callback) (iox2_callback_context, iox2_server_details_ptr)

The callback for [iox2_port_factory_request_response_dynamic_config_list_servers()]

Arguments

Returns a [iox2_callback_progression_e]

Definition at line 1842 of file iceoryx2.h.

◆ iox2_list_subscribers_callback

typedef enum iox2_callback_progression_e(* iox2_list_subscribers_callback) (iox2_callback_context, iox2_subscriber_details_ptr)

The callback for [iox2_port_factory_pub_sub_dynamic_config_list_subscribers()]

Arguments

Returns a [iox2_callback_progression_e]

Definition at line 1702 of file iceoryx2.h.

◆ iox2_list_writers_callback

typedef enum iox2_callback_progression_e(* iox2_list_writers_callback) (iox2_callback_context, iox2_writer_details_ptr)

The callback for [iox2_port_factory_blackboard_dynamic_config_list_writers()]

Arguments

Returns a [iox2_callback_progression_e]

Definition at line 1434 of file iceoryx2.h.

◆ iox2_listener_create_error_e

◆ iox2_listener_details_ptr

The immutable pointer to the underlying ListenerDetails

Definition at line 1154 of file iceoryx2.h.

◆ iox2_listener_details_ptr_t

Definition at line 42 of file iceoryx2.h.

◆ iox2_listener_h

The owning handle for iox2_listener_t. Passing the handle to an function transfers the ownership.

Definition at line 1125 of file iceoryx2.h.

◆ iox2_listener_h_ref

The non-owning handle for iox2_listener_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1130 of file iceoryx2.h.

◆ iox2_listener_h_t

Definition at line 714 of file iceoryx2.h.

◆ iox2_listener_t

typedef struct iox2_listener_t iox2_listener_t

◆ iox2_listener_wait_all_callback

typedef void(* iox2_listener_wait_all_callback) (const struct iox2_event_id_t *, uint64_t, iox2_callback_context)

Definition at line 1132 of file iceoryx2.h.

◆ iox2_listener_wait_error_e

◆ iox2_loan_error_e

◆ iox2_log_callback

typedef void(* iox2_log_callback) (enum iox2_log_level_e, const char *, const char *)

The custom log callback for [iox2_set_logger]

Arguments

  1. The log level of the message
  2. The origin of the message
  3. The actual log message

Definition at line 1165 of file iceoryx2.h.

◆ iox2_log_level_e

◆ iox2_message_type_details_t

typedef struct iox2_message_type_details_t iox2_message_type_details_t

◆ iox2_messaging_pattern_e

◆ iox2_name_h_t

typedef struct iox2_name_h_t iox2_name_h_t

Definition at line 716 of file iceoryx2.h.

◆ iox2_node_builder_h

The owning handle for iox2_node_builder_t. Passing the handle to an function transfers the ownership.

Definition at line 1268 of file iceoryx2.h.

◆ iox2_node_builder_h_ref

The non-owning handle for iox2_node_builder_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1282 of file iceoryx2.h.

◆ iox2_node_builder_h_t

Definition at line 718 of file iceoryx2.h.

◆ iox2_node_builder_t

typedef struct iox2_node_builder_t iox2_node_builder_t

◆ iox2_node_cleanup_failure_e

Failures of [iox2_dead_node_try_remove_stale_resources()] that occur when the stale resources of a dead node are removed.

◆ iox2_node_creation_failure_e

◆ iox2_node_h

typedef struct iox2_name_h_t* iox2_node_h

The owning handle for iox2_node_t. Passing the handle to an function transfers the ownership.

Definition at line 1175 of file iceoryx2.h.

◆ iox2_node_h_ref

typedef const iox2_node_h* iox2_node_h_ref

The non-owning handle for iox2_node_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1180 of file iceoryx2.h.

◆ iox2_node_list_callback

The callback for [iox2_node_list]

Arguments

Returns a [iox2_callback_progression_e]

Definition at line 1195 of file iceoryx2.h.

◆ iox2_node_list_failure_e

The failures that can occur when a list of node states is created with [iox2_node_list()].

◆ iox2_node_name_h

The owning handle for iox2_node_name_t. Passing the handle to an function transfers the ownership.

Definition at line 1306 of file iceoryx2.h.

◆ iox2_node_name_h_t

Definition at line 720 of file iceoryx2.h.

◆ iox2_node_name_ptr

The immutable pointer to the underlying NodeName

Definition at line 1170 of file iceoryx2.h.

◆ iox2_node_name_ptr_t

Definition at line 44 of file iceoryx2.h.

◆ iox2_node_name_t

typedef struct iox2_node_name_t iox2_node_name_t

◆ iox2_node_state_e

◆ iox2_node_t

typedef struct iox2_node_t iox2_node_t

◆ iox2_node_wait_failure_e

◆ iox2_notifier_create_error_e

◆ iox2_notifier_details_ptr

The immutable pointer to the underlying NotifierDetails

Definition at line 1338 of file iceoryx2.h.

◆ iox2_notifier_details_ptr_t

Definition at line 45 of file iceoryx2.h.

◆ iox2_notifier_h

The owning handle for iox2_notifier_t. Passing the handle to an function transfers the ownership.

Definition at line 1311 of file iceoryx2.h.

◆ iox2_notifier_h_ref

The non-owning handle for iox2_notifier_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1316 of file iceoryx2.h.

◆ iox2_notifier_h_t

Definition at line 722 of file iceoryx2.h.

◆ iox2_notifier_notify_error_e

◆ iox2_notifier_t

typedef struct iox2_notifier_t iox2_notifier_t

◆ iox2_pending_response_h

The owning handle for iox2_pending_response_t. Passing the handle to a function transfers the ownership.

Definition at line 1000 of file iceoryx2.h.

◆ iox2_pending_response_h_ref

The non-owning handle for iox2_pending_response_t. Passing the handle to a function does not transfer the ownership.

Definition at line 1343 of file iceoryx2.h.

◆ iox2_pending_response_h_t

Definition at line 724 of file iceoryx2.h.

◆ iox2_pending_response_t

typedef struct iox2_pending_response_t iox2_pending_response_t

◆ iox2_port_factory_blackboard_h

The owning handle for iox2_port_factory_blackboard_t. Passing the handle to a function transfers the ownership.

Definition at line 1363 of file iceoryx2.h.

◆ iox2_port_factory_blackboard_h_ref

The non-owning handle for iox2_port_factory_blackboard_t. Passing the handle to a function does not transfer the ownership.

Definition at line 1368 of file iceoryx2.h.

◆ iox2_port_factory_blackboard_h_t

◆ iox2_port_factory_blackboard_list_keys_callback

typedef enum iox2_callback_progression_e(* iox2_port_factory_blackboard_list_keys_callback) (const void *, iox2_callback_context)

Definition at line 1434 of file iceoryx2.h.

◆ iox2_port_factory_blackboard_t

typedef struct iox2_port_factory_blackboard_t iox2_port_factory_blackboard_t

◆ iox2_port_factory_client_builder_h

The owning handle for iox2_port_factory_client_builder_t. Passing the handle to a function transfers the ownership.

Definition at line 1454 of file iceoryx2.h.

◆ iox2_port_factory_client_builder_h_ref

The non-owning handle for iox2_port_factory_client_builder_t. Passing the handle to a function does not transfer the ownership.

Definition at line 1459 of file iceoryx2.h.

◆ iox2_port_factory_client_builder_h_t

◆ iox2_port_factory_client_builder_t

typedef struct iox2_port_factory_client_builder_t iox2_port_factory_client_builder_t

◆ iox2_port_factory_event_h

The owning handle for iox2_port_factory_event_t. Passing the handle to an function transfers the ownership.

Definition at line 1533 of file iceoryx2.h.

◆ iox2_port_factory_event_h_ref

The non-owning handle for iox2_port_factory_event_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1538 of file iceoryx2.h.

◆ iox2_port_factory_event_h_t

Definition at line 730 of file iceoryx2.h.

◆ iox2_port_factory_event_t

typedef struct iox2_port_factory_event_t iox2_port_factory_event_t

◆ iox2_port_factory_listener_builder_h

The owning handle for iox2_port_factory_listener_builder_t. Passing the handle to an function transfers the ownership.

Definition at line 1574 of file iceoryx2.h.

◆ iox2_port_factory_listener_builder_h_ref

The non-owning handle for iox2_port_factory_listener_builder_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1615 of file iceoryx2.h.

◆ iox2_port_factory_listener_builder_h_t

◆ iox2_port_factory_listener_builder_t

typedef struct iox2_port_factory_listener_builder_t iox2_port_factory_listener_builder_t

◆ iox2_port_factory_notifier_builder_h

The owning handle for iox2_port_factory_notifier_builder_t. Passing the handle to an function transfers the ownership.

Definition at line 1559 of file iceoryx2.h.

◆ iox2_port_factory_notifier_builder_h_ref

The non-owning handle for iox2_port_factory_notifier_builder_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1630 of file iceoryx2.h.

◆ iox2_port_factory_notifier_builder_h_t

◆ iox2_port_factory_notifier_builder_t

typedef struct iox2_port_factory_notifier_builder_t iox2_port_factory_notifier_builder_t

◆ iox2_port_factory_pub_sub_h

The owning handle for iox2_port_factory_pub_sub_t. Passing the handle to an function transfers the ownership.

Definition at line 1650 of file iceoryx2.h.

◆ iox2_port_factory_pub_sub_h_ref

The non-owning handle for iox2_port_factory_pub_sub_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1655 of file iceoryx2.h.

◆ iox2_port_factory_pub_sub_h_t

Definition at line 736 of file iceoryx2.h.

◆ iox2_port_factory_pub_sub_t

typedef struct iox2_port_factory_pub_sub_t iox2_port_factory_pub_sub_t

◆ iox2_port_factory_publisher_builder_h

The owning handle for iox2_port_factory_publisher_builder_t. Passing the handle to an function transfers the ownership.

Definition at line 1645 of file iceoryx2.h.

◆ iox2_port_factory_publisher_builder_h_ref

The non-owning handle for iox2_port_factory_publisher_builder_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1738 of file iceoryx2.h.

◆ iox2_port_factory_publisher_builder_h_t

◆ iox2_port_factory_publisher_builder_t

typedef struct iox2_port_factory_publisher_builder_t iox2_port_factory_publisher_builder_t

◆ iox2_port_factory_reader_builder_h

The owning handle for iox2_port_factory_reader_builder_t. Passing the handle to a function transfers the ownership.

Definition at line 1388 of file iceoryx2.h.

◆ iox2_port_factory_reader_builder_h_ref

The non-owning handle for iox2_port_factory_reader_builder_t. Passing the handle to a function does not transfer the ownership.

Definition at line 1772 of file iceoryx2.h.

◆ iox2_port_factory_reader_builder_h_t

◆ iox2_port_factory_reader_builder_t

typedef struct iox2_port_factory_reader_builder_t iox2_port_factory_reader_builder_t

◆ iox2_port_factory_request_response_h

The owning handle for iox2_port_factory_request_response_t. Passing the handle to a function transfers the ownership.

Definition at line 1797 of file iceoryx2.h.

◆ iox2_port_factory_request_response_h_ref

The non-owning handle for iox2_port_factory_request_response_t. Passing the handle to a function does not transfer the ownership.

Definition at line 1802 of file iceoryx2.h.

◆ iox2_port_factory_request_response_h_t

◆ iox2_port_factory_request_response_t

typedef struct iox2_port_factory_request_response_t iox2_port_factory_request_response_t

◆ iox2_port_factory_server_builder_h

The owning handle for iox2_port_factory_server_builder_t. Passing the handle to a function transfers the ownership.

Definition at line 1792 of file iceoryx2.h.

◆ iox2_port_factory_server_builder_h_ref

The non-owning handle for iox2_port_factory_server_builder_t. Passing the handle to a function does not transfer the ownership.

Definition at line 1871 of file iceoryx2.h.

◆ iox2_port_factory_server_builder_h_t

◆ iox2_port_factory_server_builder_t

typedef struct iox2_port_factory_server_builder_t iox2_port_factory_server_builder_t

◆ iox2_port_factory_subscriber_builder_h

The owning handle for iox2_port_factory_subscriber_builder_t. Passing the handle to an function transfers the ownership.

Definition at line 1670 of file iceoryx2.h.

◆ iox2_port_factory_subscriber_builder_h_ref

The non-owning handle for iox2_port_factory_subscriber_builder_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1905 of file iceoryx2.h.

◆ iox2_port_factory_subscriber_builder_h_t

◆ iox2_port_factory_subscriber_builder_t

typedef struct iox2_port_factory_subscriber_builder_t iox2_port_factory_subscriber_builder_t

◆ iox2_port_factory_writer_builder_h

The owning handle for iox2_port_factory_writer_builder_t. Passing the handle to a function transfers the ownership.

Definition at line 1373 of file iceoryx2.h.

◆ iox2_port_factory_writer_builder_h_ref

The non-owning handle for iox2_port_factory_writer_builder_t. Passing the handle to a function does not transfer the ownership.

Definition at line 1925 of file iceoryx2.h.

◆ iox2_port_factory_writer_builder_h_t

◆ iox2_port_factory_writer_builder_t

typedef struct iox2_port_factory_writer_builder_t iox2_port_factory_writer_builder_t

◆ iox2_port_name_h

The owning handle for iox2_port_name_t. Passing the handle to an function transfers the ownership.

Definition at line 1954 of file iceoryx2.h.

◆ iox2_port_name_h_t

Definition at line 750 of file iceoryx2.h.

◆ iox2_port_name_ptr

The immutable pointer to the underlying PortName

Definition at line 970 of file iceoryx2.h.

◆ iox2_port_name_ptr_t

Definition at line 46 of file iceoryx2.h.

◆ iox2_port_name_t

typedef struct iox2_port_name_t iox2_port_name_t

◆ iox2_preallocated_requests_override

typedef size_t(* iox2_preallocated_requests_override) (size_t, iox2_callback_context)

The callback for [iox2_port_factory_client_builder_override_requests_preallocation]

Arguments

  • number_of_preallocated_requests - the worst case number of requests that need to be preallocated so that iceoryx2 can guarantee that it never runs out of memory.
  • iox2_callback_context -> provided by the user and can be NULL

Returns the override value of preallocated requests. The return value is clamped between 1 and the worst case number of preallocated requests (number_of_preallocated_requests).

Definition at line 1473 of file iceoryx2.h.

◆ iox2_preallocated_responses_override

typedef size_t(* iox2_preallocated_responses_override) (size_t, iox2_callback_context)

The callback for [iox2_port_factory_server_builder_override_responses_preallocation]

Arguments

  • number_of_preallocated_responses - the worst case number of responses that need to be preallocated so that iceoryx2 can guarantee that it never runs out of memory.
  • iox2_callback_context -> provided by the user and can be NULL

Returns the override value of preallocated responses. The return value is clamped between 1 and the worst case number of preallocated responses (number_of_preallocated_responses).

Definition at line 1885 of file iceoryx2.h.

◆ iox2_preallocated_samples_override

typedef size_t(* iox2_preallocated_samples_override) (size_t, iox2_callback_context)

The callback for [iox2_port_factory_publisher_builder_override_samples_preallocation]

Arguments

  • number_of_preallocated_samples - the worst case number of samples that need to be preallocated so that iceoryx2 can guarantee that it never runs out of memory.
  • iox2_callback_context -> provided by the user and can be NULL

Returns the override value of preallocated samples. The return value is clamped between 1 and the worst case number of preallocated samples (number_of_preallocated_sample).

Definition at line 1752 of file iceoryx2.h.

◆ iox2_pub_sub_open_or_create_error_e

◆ iox2_publish_subscribe_header_h

The owning handle for [iox2_publish_subscribe_header_t]. Passing the handle to an function transfers the ownership.

Definition at line 1959 of file iceoryx2.h.

◆ iox2_publish_subscribe_header_h_ref

The non-owning handle for [iox2_publish_subscribe_header_t]. Passing the handle to an function does not transfers the ownership.

Definition at line 1964 of file iceoryx2.h.

◆ iox2_publish_subscribe_header_h_t

◆ iox2_publish_subscribe_header_t

typedef struct iox2_publish_subscribe_header_t iox2_publish_subscribe_header_t

◆ iox2_publisher_create_error_e

◆ iox2_publisher_details_ptr

The immutable pointer to the underlying PublisherDetails

Definition at line 1720 of file iceoryx2.h.

◆ iox2_publisher_details_ptr_t

Definition at line 47 of file iceoryx2.h.

◆ iox2_publisher_h

The owning handle for iox2_publisher_t. Passing the handle to an function transfers the ownership.

Definition at line 1767 of file iceoryx2.h.

◆ iox2_publisher_h_ref

The non-owning handle for iox2_publisher_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1986 of file iceoryx2.h.

◆ iox2_publisher_h_t

Definition at line 754 of file iceoryx2.h.

◆ iox2_publisher_t

typedef struct iox2_publisher_t iox2_publisher_t

◆ iox2_reader_create_error_e

◆ iox2_reader_details_ptr

The immutable pointer to the underlying ReaderDetails

Definition at line 1417 of file iceoryx2.h.

◆ iox2_reader_details_ptr_t

Definition at line 48 of file iceoryx2.h.

◆ iox2_reader_h

typedef struct iox2_reader_h_t* iox2_reader_h

The owning handle for iox2_reader_t. Passing the handle to a function transfers the ownership.

Definition at line 1787 of file iceoryx2.h.

◆ iox2_reader_h_ref

The non-owning handle for iox2_reader_t. Passing the handle to a function does not transfer the ownership.

Definition at line 2006 of file iceoryx2.h.

◆ iox2_reader_h_t

Definition at line 756 of file iceoryx2.h.

◆ iox2_reader_t

typedef struct iox2_reader_t iox2_reader_t

◆ iox2_receive_error_e

◆ iox2_request_header_h

The owning handle for [iox2_request_header_t]. Passing the handle to a function transfers the ownership.

Definition at line 849 of file iceoryx2.h.

◆ iox2_request_header_h_ref

The non-owning handle for [iox2_request_header_t]. Passing the handle to a function does not transfer the ownership.

Definition at line 2038 of file iceoryx2.h.

◆ iox2_request_header_h_t

Definition at line 758 of file iceoryx2.h.

◆ iox2_request_header_t

typedef struct iox2_request_header_t iox2_request_header_t

◆ iox2_request_mut_h

The owning handle for iox2_request_mut_t. Passing the handle to a function transfers the ownership.

Definition at line 985 of file iceoryx2.h.

◆ iox2_request_mut_h_ref

The non-owning handle for iox2_request_mut_t. Passing the handle to a function does not transfer the ownership.

Definition at line 2043 of file iceoryx2.h.

◆ iox2_request_mut_h_t

Definition at line 760 of file iceoryx2.h.

◆ iox2_request_mut_t

typedef struct iox2_request_mut_t iox2_request_mut_t

◆ iox2_request_response_open_or_create_error_e

◆ iox2_request_send_error_e

◆ iox2_resizable_memory_publish_subscribe_h

The owning handle for iox2_resizable_memory_publish_subscribe_t. Passing the handle to an function transfers the ownership.

Definition at line 2063 of file iceoryx2.h.

◆ iox2_resizable_memory_publish_subscribe_h_ref

The non-owning handle for iox2_resizable_memory_publish_subscribe_t. Passing the handle to an function does not transfers the ownership.

Definition at line 2068 of file iceoryx2.h.

◆ iox2_resizable_memory_publish_subscribe_h_t

◆ iox2_resizable_memory_publish_subscribe_t

typedef struct iox2_resizable_memory_publish_subscribe_t iox2_resizable_memory_publish_subscribe_t

◆ iox2_resizable_memory_request_h

The owning handle for iox2_resizable_memory_request_t. Passing the handle to an function transfers the ownership.

Definition at line 2058 of file iceoryx2.h.

◆ iox2_resizable_memory_request_h_ref

The non-owning handle for iox2_resizable_memory_request_t. Passing the handle to an function does not transfers the ownership.

Definition at line 2073 of file iceoryx2.h.

◆ iox2_resizable_memory_request_h_t

◆ iox2_resizable_memory_request_t

typedef struct iox2_resizable_memory_request_t iox2_resizable_memory_request_t

◆ iox2_resizable_memory_response_h

The owning handle for iox2_resizable_memory_response_t. Passing the handle to an function transfers the ownership.

Definition at line 2078 of file iceoryx2.h.

◆ iox2_resizable_memory_response_h_ref

The non-owning handle for iox2_resizable_memory_response_t. Passing the handle to an function does not transfers the ownership.

Definition at line 2083 of file iceoryx2.h.

◆ iox2_resizable_memory_response_h_t

◆ iox2_resizable_memory_response_t

typedef struct iox2_resizable_memory_response_t iox2_resizable_memory_response_t

◆ iox2_response_h

The owning handle for iox2_response_t. Passing the handle to a function transfers the ownership.

Definition at line 1358 of file iceoryx2.h.

◆ iox2_response_h_ref

The non-owning handle for iox2_response_t. Passing the handle to a function does not transfer the ownership.

Definition at line 2088 of file iceoryx2.h.

◆ iox2_response_h_t

Definition at line 768 of file iceoryx2.h.

◆ iox2_response_header_h

The owning handle for [iox2_response_header_t]. Passing the handle to a function transfers the ownership.

Definition at line 2105 of file iceoryx2.h.

◆ iox2_response_header_h_ref

The non-owning handle for [iox2_response_header_t]. Passing the handle to a function does not transfer the ownership.

Definition at line 2110 of file iceoryx2.h.

◆ iox2_response_header_h_t

Definition at line 770 of file iceoryx2.h.

◆ iox2_response_header_t

typedef struct iox2_response_header_t iox2_response_header_t

◆ iox2_response_mut_h

The owning handle for iox2_response_mut_t. Passing the handle to a function transfer the ownership.

Definition at line 866 of file iceoryx2.h.

◆ iox2_response_mut_h_ref

The non-owning handle for iox2_response_mut_t. Passing the handle to a function does not transfer the ownership.

Definition at line 2132 of file iceoryx2.h.

◆ iox2_response_mut_h_t

Definition at line 772 of file iceoryx2.h.

◆ iox2_response_mut_t

typedef struct iox2_response_mut_t iox2_response_mut_t

◆ iox2_response_t

typedef struct iox2_response_t iox2_response_t

◆ iox2_sample_h

typedef struct iox2_sample_h_t* iox2_sample_h

The owning handle for iox2_sample_t. Passing the handle to an function transfers the ownership.

Definition at line 2147 of file iceoryx2.h.

◆ iox2_sample_h_ref

The non-owning handle for iox2_sample_t. Passing the handle to an function does not transfers the ownership.

Definition at line 2152 of file iceoryx2.h.

◆ iox2_sample_h_t

Definition at line 774 of file iceoryx2.h.

◆ iox2_sample_mut_h

The owning handle for iox2_sample_mut_t. Passing the handle to an function transfers the ownership.

Definition at line 2001 of file iceoryx2.h.

◆ iox2_sample_mut_h_ref

The non-owning handle for iox2_sample_mut_t. Passing the handle to an function does not transfers the ownership.

Definition at line 2169 of file iceoryx2.h.

◆ iox2_sample_mut_h_t

Definition at line 776 of file iceoryx2.h.

◆ iox2_sample_mut_t

typedef struct iox2_sample_mut_t iox2_sample_mut_t

◆ iox2_sample_t

typedef struct iox2_sample_t iox2_sample_t

◆ iox2_semantic_string_error_e

◆ iox2_send_error_e

◆ iox2_server_create_error_e

◆ iox2_server_details_ptr

The immutable pointer to the underlying ServerDetails

Definition at line 1842 of file iceoryx2.h.

◆ iox2_server_details_ptr_t

Definition at line 49 of file iceoryx2.h.

◆ iox2_server_h

typedef struct iox2_server_h_t* iox2_server_h

The owning handle for iox2_server_t. Passing the handle to a function transfers the ownership.

Definition at line 1900 of file iceoryx2.h.

◆ iox2_server_h_ref

The non-owning handle for iox2_server_t. Passing the handle to a function does not transfer the ownership.

Definition at line 2184 of file iceoryx2.h.

◆ iox2_server_h_t

Definition at line 778 of file iceoryx2.h.

◆ iox2_server_t

typedef struct iox2_server_t iox2_server_t

◆ iox2_service_blackboard_creator_add_release_callback

typedef void(* iox2_service_blackboard_creator_add_release_callback) (void *)

Definition at line 2251 of file iceoryx2.h.

◆ iox2_service_blackboard_key_eq_cmp_func

typedef bool(* iox2_service_blackboard_key_eq_cmp_func) (const void *, const void *)

Definition at line 2249 of file iceoryx2.h.

◆ iox2_service_builder_blackboard_creator_h

The owning handle for iox2_service_builder_t which is already configured as event. Passing the handle to a function transfers the ownership.

Definition at line 2232 of file iceoryx2.h.

◆ iox2_service_builder_blackboard_creator_h_ref

The non-owning handle for iox2_service_builder_t which is already configured as event. Passing the handle to a function does not transfer the ownership.

Definition at line 2242 of file iceoryx2.h.

◆ iox2_service_builder_blackboard_creator_h_t

◆ iox2_service_builder_blackboard_opener_h

The owning handle for iox2_service_builder_t which is already configured as event. Passing the handle to a function transfers the ownership.

Definition at line 2237 of file iceoryx2.h.

◆ iox2_service_builder_blackboard_opener_h_ref

The non-owning handle for iox2_service_builder_t which is already configured as event. Passing the handle to a function does not transfer the ownership.

Definition at line 2247 of file iceoryx2.h.

◆ iox2_service_builder_blackboard_opener_h_t

◆ iox2_service_builder_event_h

The owning handle for iox2_service_builder_t which is already configured as event. Passing the handle to an function transfers the ownership.

Definition at line 2217 of file iceoryx2.h.

◆ iox2_service_builder_event_h_ref

The non-owning handle for iox2_service_builder_t which is already configured as event. Passing the handle to an function does not transfers the ownership.

Definition at line 2266 of file iceoryx2.h.

◆ iox2_service_builder_event_h_t

◆ iox2_service_builder_h

The owning handle for iox2_service_builder_t. Passing the handle to an function transfers the ownership.

Definition at line 1238 of file iceoryx2.h.

◆ iox2_service_builder_h_t

Definition at line 786 of file iceoryx2.h.

◆ iox2_service_builder_pub_sub_h

The owning handle for iox2_service_builder_t which is already configured as event. Passing the handle to an function transfers the ownership.

Definition at line 2222 of file iceoryx2.h.

◆ iox2_service_builder_pub_sub_h_ref

The non-owning handle for iox2_service_builder_t which is already configured as event. Passing the handle to an function does not transfers the ownership.

Definition at line 2281 of file iceoryx2.h.

◆ iox2_service_builder_pub_sub_h_t

◆ iox2_service_builder_request_response_h

The owning handle for iox2_service_builder_t which is already configured as event. Passing the handle to an function transfers the ownership.

Definition at line 2227 of file iceoryx2.h.

◆ iox2_service_builder_request_response_h_ref

The non-owning handle for iox2_service_builder_t which is already configured as event. Passing the handle to an function does not transfers the ownership.

Definition at line 2296 of file iceoryx2.h.

◆ iox2_service_builder_request_response_h_t

◆ iox2_service_builder_t

typedef struct iox2_service_builder_t iox2_service_builder_t

◆ iox2_service_details_error_e

◆ iox2_service_list_callback

typedef enum iox2_callback_progression_e(* iox2_service_list_callback) (const struct iox2_static_config_t *, iox2_callback_context)

Definition at line 2188 of file iceoryx2.h.

◆ iox2_service_list_error_e

◆ iox2_service_name_h

The owning handle for iox2_service_name_t. Passing the handle to an function transfers the ownership.

Definition at line 2320 of file iceoryx2.h.

◆ iox2_service_name_h_t

Definition at line 792 of file iceoryx2.h.

◆ iox2_service_name_ptr

The immutable pointer to the underlying ServiceName

Definition at line 1185 of file iceoryx2.h.

◆ iox2_service_name_ptr_t

Definition at line 50 of file iceoryx2.h.

◆ iox2_service_name_t

typedef struct iox2_service_name_t iox2_service_name_t

◆ iox2_service_remove_error_e

◆ iox2_service_type_e

◆ iox2_signal_handling_mode_e

Defines how signals are handled by constructs that might register a custom signal handler.

◆ iox2_static_config_blackboard_t

typedef struct iox2_static_config_blackboard_t iox2_static_config_blackboard_t

◆ iox2_static_config_details_t

typedef union iox2_static_config_details_t iox2_static_config_details_t

◆ iox2_static_config_event_t

typedef struct iox2_static_config_event_t iox2_static_config_event_t

◆ iox2_static_config_publish_subscribe_t

typedef struct iox2_static_config_publish_subscribe_t iox2_static_config_publish_subscribe_t

◆ iox2_static_config_request_response_t

typedef struct iox2_static_config_request_response_t iox2_static_config_request_response_t

◆ iox2_static_config_t

typedef struct iox2_static_config_t iox2_static_config_t

◆ iox2_subscriber_create_error_e

◆ iox2_subscriber_details_ptr

The immutable pointer to the underlying SubscriberDetails

Definition at line 1702 of file iceoryx2.h.

◆ iox2_subscriber_details_ptr_t

Definition at line 51 of file iceoryx2.h.

◆ iox2_subscriber_h

The owning handle for iox2_subscriber_t. Passing the handle to an function transfers the ownership.

Definition at line 1920 of file iceoryx2.h.

◆ iox2_subscriber_h_ref

The non-owning handle for iox2_subscriber_t. Passing the handle to an function does not transfers the ownership.

Definition at line 2325 of file iceoryx2.h.

◆ iox2_subscriber_h_t

Definition at line 794 of file iceoryx2.h.

◆ iox2_subscriber_t

typedef struct iox2_subscriber_t iox2_subscriber_t

◆ iox2_type_detail_error_e

◆ iox2_type_detail_t

typedef struct iox2_type_detail_t iox2_type_detail_t

◆ iox2_type_variant_e

◆ iox2_unique_client_id_h

The owning handle for [iox2_unique_client_id_t]. Passing the handle to an function transfers the ownership.

Definition at line 965 of file iceoryx2.h.

◆ iox2_unique_client_id_h_ref

The non-owning handle for [iox2_unique_client_id_t]. Passing the handle to an function does not transfers the ownership.

Definition at line 2357 of file iceoryx2.h.

◆ iox2_unique_client_id_h_t

Definition at line 796 of file iceoryx2.h.

◆ iox2_unique_client_id_t

typedef struct iox2_unique_client_id_t iox2_unique_client_id_t

◆ iox2_unique_id_generator_details_error_e

◆ iox2_unique_listener_id_h

The owning handle for [iox2_unique_listener_id_t]. Passing the handle to an function transfers the ownership.

Definition at line 1149 of file iceoryx2.h.

◆ iox2_unique_listener_id_h_ref

The non-owning handle for [iox2_unique_listener_id_t]. Passing the handle to an function does not transfers the ownership.

Definition at line 2362 of file iceoryx2.h.

◆ iox2_unique_listener_id_h_t

Definition at line 798 of file iceoryx2.h.

◆ iox2_unique_listener_id_t

typedef struct iox2_unique_listener_id_t iox2_unique_listener_id_t

◆ iox2_unique_node_id_h

The owning handle for iox2_unique_node_id_t. Passing the handle to an function transfers the ownership.

Definition at line 1190 of file iceoryx2.h.

◆ iox2_unique_node_id_h_ref

The non-owning handle for iox2_unique_node_id_t. Passing the handle to an function does not transfers the ownership.

Definition at line 1195 of file iceoryx2.h.

◆ iox2_unique_node_id_h_t

Definition at line 800 of file iceoryx2.h.

◆ iox2_unique_node_id_ptr

The immutable pointer to the underlying NodeId

Definition at line 1010 of file iceoryx2.h.

◆ iox2_unique_node_id_ptr_t

Definition at line 43 of file iceoryx2.h.

◆ iox2_unique_node_id_t

typedef struct iox2_unique_node_id_t iox2_unique_node_id_t

◆ iox2_unique_notifier_id_h

The owning handle for [iox2_unique_notifier_id_t]. Passing the handle to an function transfers the ownership.

Definition at line 1333 of file iceoryx2.h.

◆ iox2_unique_notifier_id_h_ref

The non-owning handle for [iox2_unique_notifier_id_t]. Passing the handle to an function does not transfers the ownership.

Definition at line 2376 of file iceoryx2.h.

◆ iox2_unique_notifier_id_h_t

Definition at line 802 of file iceoryx2.h.

◆ iox2_unique_notifier_id_t

typedef struct iox2_unique_notifier_id_t iox2_unique_notifier_id_t

◆ iox2_unique_publisher_id_h

The owning handle for [iox2_unique_publisher_id_t]. Passing the handle to an function transfers the ownership.

Definition at line 1981 of file iceoryx2.h.

◆ iox2_unique_publisher_id_h_ref

The non-owning handle for [iox2_unique_publisher_id_t]. Passing the handle to an function does not transfers the ownership.

Definition at line 2381 of file iceoryx2.h.

◆ iox2_unique_publisher_id_h_t

Definition at line 804 of file iceoryx2.h.

◆ iox2_unique_publisher_id_t

typedef struct iox2_unique_publisher_id_t iox2_unique_publisher_id_t

◆ iox2_unique_reader_id_h

The owning handle for [iox2_unique_reader_id_t]. Passing the handle to a function transfers the ownership.

Definition at line 2023 of file iceoryx2.h.

◆ iox2_unique_reader_id_h_ref

The non-owning handle for [iox2_unique_reader_id_t]. Passing the handle to a function does not transfer the ownership.

Definition at line 2386 of file iceoryx2.h.

◆ iox2_unique_reader_id_h_t

Definition at line 806 of file iceoryx2.h.

◆ iox2_unique_reader_id_t

typedef struct iox2_unique_reader_id_t iox2_unique_reader_id_t

◆ iox2_unique_server_id_h

The owning handle for [iox2_unique_server_id_t]. Passing the handle to an function transfers the ownership.

Definition at line 2127 of file iceoryx2.h.

◆ iox2_unique_server_id_h_ref

The non-owning handle for [iox2_unique_server_id_t]. Passing the handle to an function does not transfers the ownership.

Definition at line 2391 of file iceoryx2.h.

◆ iox2_unique_server_id_h_t

Definition at line 808 of file iceoryx2.h.

◆ iox2_unique_server_id_t

typedef struct iox2_unique_server_id_t iox2_unique_server_id_t

◆ iox2_unique_subscriber_id_h

The owning handle for [iox2_unique_subscriber_id_t]. Passing the handle to an function transfers the ownership.

Definition at line 2342 of file iceoryx2.h.

◆ iox2_unique_subscriber_id_h_ref

The non-owning handle for [iox2_unique_subscriber_id_t]. Passing the handle to an function does not transfers the ownership.

Definition at line 2396 of file iceoryx2.h.

◆ iox2_unique_subscriber_id_h_t

Definition at line 810 of file iceoryx2.h.

◆ iox2_unique_subscriber_id_t

typedef struct iox2_unique_subscriber_id_t iox2_unique_subscriber_id_t

◆ iox2_unique_writer_id_h

The owning handle for [iox2_unique_writer_id_t]. Passing the handle to a function transfers the ownership.

Definition at line 2401 of file iceoryx2.h.

◆ iox2_unique_writer_id_h_ref

The non-owning handle for [iox2_unique_writer_id_t]. Passing the handle to a function does not transfer the ownership.

Definition at line 2406 of file iceoryx2.h.

◆ iox2_unique_writer_id_h_t

Definition at line 812 of file iceoryx2.h.

◆ iox2_unique_writer_id_t

typedef struct iox2_unique_writer_id_t iox2_unique_writer_id_t

◆ iox2_waitset_attachment_error_e

◆ iox2_waitset_attachment_id_h

The owning handle for iox2_waitset_attachment_id_t. Passing the handle to an function transfers the ownership.

Definition at line 2436 of file iceoryx2.h.

◆ iox2_waitset_attachment_id_h_ref

The non-owning handle for iox2_waitset_attachment_id_t. Passing the handle to an function does not transfers the ownership.

Definition at line 2444 of file iceoryx2.h.

◆ iox2_waitset_attachment_id_h_t

◆ iox2_waitset_attachment_id_t

typedef struct iox2_waitset_attachment_id_t iox2_waitset_attachment_id_t

◆ iox2_waitset_builder_h

The owning handle for iox2_waitset_builder_t. Passing the handle to an function transfers the ownership.

Definition at line 1253 of file iceoryx2.h.

◆ iox2_waitset_builder_h_ref

The non-owning handle for iox2_waitset_builder_t. Passing the handle to an function does not transfers the ownership.

Definition at line 2474 of file iceoryx2.h.

◆ iox2_waitset_builder_h_t

Definition at line 816 of file iceoryx2.h.

◆ iox2_waitset_builder_t

typedef struct iox2_waitset_builder_t iox2_waitset_builder_t

◆ iox2_waitset_create_error_e

◆ iox2_waitset_guard_h

The owning handle for iox2_waitset_guard_t. Passing the handle to an function transfers the ownership.

Definition at line 2431 of file iceoryx2.h.

◆ iox2_waitset_guard_h_ref

The non-owning handle for iox2_attachment_id_t. Passing the handle to an function does not transfers the ownership.

Definition at line 2449 of file iceoryx2.h.

◆ iox2_waitset_guard_h_t

Definition at line 818 of file iceoryx2.h.

◆ iox2_waitset_guard_t

typedef struct iox2_waitset_guard_t iox2_waitset_guard_t

◆ iox2_waitset_h

The owning handle for iox2_waitset_t. Passing the handle to an function transfers the ownership.

Definition at line 2411 of file iceoryx2.h.

◆ iox2_waitset_h_ref

The non-owning handle for iox2_waitset_t. Passing the handle to an function does not transfers the ownership.

Definition at line 2416 of file iceoryx2.h.

◆ iox2_waitset_h_t

Definition at line 820 of file iceoryx2.h.

◆ iox2_waitset_run_callback

Definition at line 2436 of file iceoryx2.h.

◆ iox2_waitset_run_error_e

◆ iox2_waitset_run_result_e

◆ iox2_waitset_t

typedef struct iox2_waitset_t iox2_waitset_t

◆ iox2_writer_create_error_e

◆ iox2_writer_details_ptr

The immutable pointer to the underlying WriterDetails

Definition at line 1434 of file iceoryx2.h.

◆ iox2_writer_details_ptr_t

Definition at line 52 of file iceoryx2.h.

◆ iox2_writer_h

typedef struct iox2_writer_h_t* iox2_writer_h

The owning handle for iox2_writer_t. Passing the handle to a function transfers the ownership.

Definition at line 1940 of file iceoryx2.h.

◆ iox2_writer_h_ref

The non-owning handle for iox2_writer_t. Passing the handle to a function does not transfer the ownership.

Definition at line 2479 of file iceoryx2.h.

◆ iox2_writer_h_t

Definition at line 822 of file iceoryx2.h.

◆ iox2_writer_t

typedef struct iox2_writer_t iox2_writer_t

Enumeration Type Documentation

◆ iox2_allocation_strategy_e

Describes generically an allocation strategy, meaning how the memory is increased when the available memory is insufficient.

Enumerator
iox2_allocation_strategy_e_BEST_FIT 

Increases the memory so that it perfectly fits the new size requirements. This may lead to a lot of reallocations but has the benefit that no byte is wasted.

iox2_allocation_strategy_e_POWER_OF_TWO 

Increases the memory by rounding the increased memory size up to the next power of two. Reduces reallocations a lot at the cost of increased memory usage.

iox2_allocation_strategy_e_STATIC 

The memory is not increased. This may lead to an out-of-memory error when allocating.

Definition at line 249 of file iceoryx2.h.

◆ iox2_attribute_definition_error_e

Enumerator
iox2_attribute_definition_error_e_EXCEEDS_MAX_SUPPORTED_ATTRIBUTES 

Definition at line 94 of file iceoryx2.h.

◆ iox2_attribute_verification_error_e

Enumerator
iox2_attribute_verification_error_e_NON_EXISTING_KEY 
iox2_attribute_verification_error_e_INCOMPATIBLE_ATTRIBUTE 

Definition at line 98 of file iceoryx2.h.

◆ iox2_backpressure_action_e

Defines the action that shall be take when an a data cannot be delivered.

Enumerator
iox2_backpressure_action_e_FOLLOW_BACKPRESSUREY_STRATEGY 

Use an action which is derived from the BackpressureStrategy

iox2_backpressure_action_e_RETRY 

Retry to send and invoke the handler again, if sending does not succeed

iox2_backpressure_action_e_DISCARD_DATA 

Discard the data for the receiver which cause the incident and continue to deliver the data to the remaining receivers

iox2_backpressure_action_e_DISCARD_DATA_AND_FAIL 

Discard the data for the receiver which caused the incident, continue to deliver the data to the remaining receivers; return with an error if the data was not delivered to all receivers

Definition at line 304 of file iceoryx2.h.

◆ iox2_backpressure_strategy_e

Enumerator
iox2_backpressure_strategy_e_RETRY_UNTIL_DELIVERED 
iox2_backpressure_strategy_e_DISCARD_DATA 

Definition at line 108 of file iceoryx2.h.

◆ iox2_blackboard_create_error_e

Enumerator
iox2_blackboard_create_error_e_C_ALREADY_EXISTS 
iox2_blackboard_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE 
iox2_blackboard_create_error_e_C_INTERNAL_FAILURE 
iox2_blackboard_create_error_e_C_INSUFFICIENT_PERMISSIONS 
iox2_blackboard_create_error_e_C_SERVICE_IN_CORRUPTED_STATE 
iox2_blackboard_create_error_e_C_HANGS_IN_CREATION 
iox2_blackboard_create_error_e_C_NO_ENTRIES_PROVIDED 
iox2_blackboard_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG 
iox2_blackboard_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED 
iox2_blackboard_create_error_e_C_INTERRUPT 
iox2_blackboard_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID 

Definition at line 669 of file iceoryx2.h.

◆ iox2_blackboard_open_error_e

Enumerator
iox2_blackboard_open_error_e_O_DOES_NOT_EXIST 
iox2_blackboard_open_error_e_O_SERVICE_IN_CORRUPTED_STATE 
iox2_blackboard_open_error_e_O_INCOMPATIBLE_KEYS 
iox2_blackboard_open_error_e_O_INTERNAL_FAILURE 
iox2_blackboard_open_error_e_O_INCOMPATIBLE_ATTRIBUTES 
iox2_blackboard_open_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN 
iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_READERS 
iox2_blackboard_open_error_e_O_INSUFFICIENT_PERMISSIONS 
iox2_blackboard_open_error_e_O_HANGS_IN_CREATION 
iox2_blackboard_open_error_e_O_IS_MARKED_FOR_DESTRUCTION 
iox2_blackboard_open_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES 
iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES 
iox2_blackboard_open_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG 
iox2_blackboard_open_error_e_O_VERSION_MISMATCH 
iox2_blackboard_open_error_e_O_INTERRUPT 

Definition at line 651 of file iceoryx2.h.

◆ iox2_callback_progression_e

Enumerator
iox2_callback_progression_e_STOP 
iox2_callback_progression_e_CONTINUE 

Definition at line 103 of file iceoryx2.h.

◆ iox2_client_create_error_e

Enumerator
iox2_client_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT 
iox2_client_create_error_e_EXCEEDS_MAX_SUPPORTED_CLIENTS 
iox2_client_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY 
iox2_client_create_error_e_UNABLE_TO_CREATE_PORT_TAG 
iox2_client_create_error_e_MAX_ACTIVE_REQUESTS_EXCEEDS_MAX_SUPPORTED_ACTIVE_REQUESTS_OF_SERVICE 
iox2_client_create_error_e_UNABLE_TO_GENERATE_UNIQUE_CLIENT_ID 

Definition at line 236 of file iceoryx2.h.

◆ iox2_config_creation_error_e

Failures occurring while creating a new [iox2_config_t] object with [iox2_config_from_file()].

Enumerator
iox2_config_creation_error_e_FAILED_TO_READ_CONFIG_FILE_CONTENTS 

The config file could not be read.

iox2_config_creation_error_e_UNABLE_TO_DESERIALIZE_CONTENTS 

Parts of the config file could not be deserialized. Indicates some kind of syntax error.

iox2_config_creation_error_e_INSUFFICIENT_PERMISSIONS 

Insufficient permissions to open the config file.

iox2_config_creation_error_e_CONFIG_FILE_DOES_NOT_EXIST 

The provided config file does not exist

iox2_config_creation_error_e_UNABLE_TO_OPEN_CONFIG_FILE 

Since the config file could not be opened

iox2_config_creation_error_e_INVALID_FILE_PATH 

The provided string is not a valid file path

Definition at line 116 of file iceoryx2.h.

◆ iox2_connection_failure_e

Enumerator
iox2_connection_failure_e_FAILED_TO_ESTABLISH_CONNECTION 
iox2_connection_failure_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT 

Definition at line 503 of file iceoryx2.h.

◆ iox2_degradation_action_e

Defines the action that shall be take when an degradation is detected. This can happen when a sample cannot be delivered, or when the system is corrupted and files are modified by non-iceoryx2 instances. Is used as return value of the degradation handler to define a custom behavior.

Enumerator
iox2_degradation_action_e_IGNORE 

Ignore the degradation completely

iox2_degradation_action_e_WARN 

Print out a warning as soon as the degradation is detected

iox2_degradation_action_e_DEGRADE_AND_FAIL 

Returns a failure in the function the degradation was detected

Definition at line 272 of file iceoryx2.h.

◆ iox2_degradation_cause_e

Defines the cause of a degradation and is a parameter of the degradation handler.

Enumerator
iox2_degradation_cause_e_FAILED_TO_ESTABLISH_CONNECTION 

Connection could not be established

iox2_degradation_cause_e_CONNECTION_CORRUPTED 

Connection is corrupted

Definition at line 290 of file iceoryx2.h.

◆ iox2_entry_handle_error_e

Enumerator
iox2_entry_handle_error_e_ENTRY_DOES_NOT_EXIST 

Definition at line 647 of file iceoryx2.h.

◆ iox2_entry_handle_mut_error_e

Enumerator
iox2_entry_handle_mut_error_e_ENTRY_DOES_NOT_EXIST 
iox2_entry_handle_mut_error_e_HANDLE_ALREADY_EXISTS 

Definition at line 683 of file iceoryx2.h.

◆ iox2_event_open_or_create_error_e

Enumerator
iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST 
iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS 
iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE 
iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN 
iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES 
iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE 
iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT 
iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT 
iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT 
iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE 
iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG 
iox2_event_open_or_create_error_e_O_VERSION_MISMATCH 
iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION 
iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS 
iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS 
iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID 
iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES 
iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES 
iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION 
iox2_event_open_or_create_error_e_O_INTERRUPT 
iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE 
iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE 
iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE 
iox2_event_open_or_create_error_e_C_ALREADY_EXISTS 
iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS 
iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG 
iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED 
iox2_event_open_or_create_error_e_C_EVENT_ID_EXCEEDS_MAX_SUPPORTED_VALUE 
iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE 
iox2_event_open_or_create_error_e_C_INTERRUPT 
iox2_event_open_or_create_error_e_SYSTEM_IN_FLUX 
iox2_event_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID 

Definition at line 413 of file iceoryx2.h.

◆ iox2_listener_create_error_e

Enumerator
iox2_listener_create_error_e_EXCEEDS_MAX_SUPPORTED_LISTENERS 
iox2_listener_create_error_e_RESOURCE_CREATION_FAILED 
iox2_listener_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY 
iox2_listener_create_error_e_UNABLE_TO_CREATE_PORT_TAG 
iox2_listener_create_error_e_UNABLE_TO_GENERATE_UNIQUE_LISTENER_ID 

Definition at line 326 of file iceoryx2.h.

◆ iox2_listener_wait_error_e

Enumerator
iox2_listener_wait_error_e_CONTRACT_VIOLATION 
iox2_listener_wait_error_e_INTERNAL_FAILURE 
iox2_listener_wait_error_e_INTERRUPT_SIGNAL 
iox2_listener_wait_error_e_CLOCK_SCHEDULE_CAPACITY_EXCEEDED 
iox2_listener_wait_error_e_NOTIFICATION_ERROR 

Definition at line 143 of file iceoryx2.h.

◆ iox2_loan_error_e

Enumerator
iox2_loan_error_e_OUT_OF_MEMORY 
iox2_loan_error_e_EXCEEDS_MAX_LOANED_SAMPLES 
iox2_loan_error_e_EXCEEDS_MAX_LOAN_SIZE 
iox2_loan_error_e_INTERNAL_FAILURE 

Definition at line 394 of file iceoryx2.h.

◆ iox2_log_level_e

Enumerator
iox2_log_level_e_TRACE 
iox2_log_level_e_DEBUG 
iox2_log_level_e_INFO 
iox2_log_level_e_WARN 
iox2_log_level_e_ERROR 
iox2_log_level_e_FATAL 

Definition at line 151 of file iceoryx2.h.

◆ iox2_messaging_pattern_e

Enumerator
iox2_messaging_pattern_e_PUBLISH_SUBSCRIBE 
iox2_messaging_pattern_e_EVENT 
iox2_messaging_pattern_e_REQUEST_RESPONSE 
iox2_messaging_pattern_e_BLACKBOARD 

Definition at line 200 of file iceoryx2.h.

◆ iox2_node_cleanup_failure_e

Failures of [iox2_dead_node_try_remove_stale_resources()] that occur when the stale resources of a dead node are removed.

Enumerator
iox2_node_cleanup_failure_e_INTERRUPT 

The process received an interrupt signal while cleaning up all stale resources of a dead node.

iox2_node_cleanup_failure_e_INTERNAL_ERROR 

Errors that indicate either an implementation issue or a wrongly configured system.

iox2_node_cleanup_failure_e_INSUFFICIENT_PERMISSIONS 

The stale resources of a dead node could not be removed since the process does not have sufficient permissions.

iox2_node_cleanup_failure_e_VERSION_MISMATCH 

Trying to cleanup resources from a dead node which was using a different iceoryx2 version.

iox2_node_cleanup_failure_e_RESOURCES_ALREADY_CLEANED_UP 

Another instance has successfully cleaned up all resources.

iox2_node_cleanup_failure_e_ANOTHER_INSTANCE_IS_CLEANING_UP_THE_NODE 

Another instance has acquired the ownership of all resources and is currently cleaning up.

Definition at line 543 of file iceoryx2.h.

◆ iox2_node_creation_failure_e

Enumerator
iox2_node_creation_failure_e_INSUFFICIENT_PERMISSIONS 
iox2_node_creation_failure_e_INTERNAL_ERROR 
iox2_node_creation_failure_e_SYSTEM_CORRUPTED 
iox2_node_creation_failure_e_UNABLE_TO_GENERATE_UNIQUE_NODE_ID 
iox2_node_creation_failure_e_UNABLE_TO_OPEN_OR_CREATE_NAME_GENERATOR 
iox2_node_creation_failure_e_FAILED_TO_OPEN_CLOCK 
iox2_node_creation_failure_e_INTERRUPTED_BY_SIGNAL 

Definition at line 214 of file iceoryx2.h.

◆ iox2_node_list_failure_e

The failures that can occur when a list of node states is created with [iox2_node_list()].

Enumerator
iox2_node_list_failure_e_INSUFFICIENT_PERMISSIONS 

A list of all Nodes could not be created since the process does not have sufficient permissions.

iox2_node_list_failure_e_INTERRUPT 

The process received an interrupt signal while acquiring the list of all Nodes.

iox2_node_list_failure_e_INTERNAL_ERROR 

Errors that indicate either an implementation issue or a wrongly configured system.

Definition at line 163 of file iceoryx2.h.

◆ iox2_node_state_e

Enumerator
iox2_node_state_e_ALIVE 
iox2_node_state_e_DEAD 
iox2_node_state_e_INACCESSIBLE 
iox2_node_state_e_UNDEFINED 

Definition at line 207 of file iceoryx2.h.

◆ iox2_node_wait_failure_e

Enumerator
iox2_node_wait_failure_e_INTERRUPT 
iox2_node_wait_failure_e_TERMINATION_REQUEST 
iox2_node_wait_failure_e_INTERNAL_ERROR 

Definition at line 178 of file iceoryx2.h.

◆ iox2_notifier_create_error_e

Enumerator
iox2_notifier_create_error_e_EXCEEDS_MAX_SUPPORTED_NOTIFIERS 
iox2_notifier_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY 
iox2_notifier_create_error_e_UNABLE_TO_CREATE_PORT_TAG 
iox2_notifier_create_error_e_UNABLE_TO_GENERATE_UNIQUE_NOTIFIER_ID 

Definition at line 334 of file iceoryx2.h.

◆ iox2_notifier_notify_error_e

Enumerator
iox2_notifier_notify_error_e_EVENT_ID_OUT_OF_BOUNDS 
iox2_notifier_notify_error_e_MISSED_DEADLINE 
iox2_notifier_notify_error_e_UNABLE_TO_ACQUIRE_ELAPSED_TIME 
iox2_notifier_notify_error_e_INVALID_LISTENER_KEY 

Definition at line 224 of file iceoryx2.h.

◆ iox2_pub_sub_open_or_create_error_e

Enumerator
iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST 
iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE 
iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES 
iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN 
iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES 
iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE 
iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE 
iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES 
iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS 
iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS 
iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES 
iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR 
iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS 
iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE 
iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG 
iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH 
iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION 
iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES 
iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION 
iox2_pub_sub_open_or_create_error_e_O_INTERRUPT 
iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION 
iox2_pub_sub_open_or_create_error_e_O_INVALID_TYPE_DEFINITION 
iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE 
iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE 
iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS 
iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS 
iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE 
iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE 
iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION 
iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG 
iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED 
iox2_pub_sub_open_or_create_error_e_C_INTERRUPT 
iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION 
iox2_pub_sub_open_or_create_error_e_C_INVALID_TYPE_DEFINITION 
iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX 
iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID 

Definition at line 448 of file iceoryx2.h.

◆ iox2_publisher_create_error_e

Enumerator
iox2_publisher_create_error_e_EXCEEDS_MAX_SUPPORTED_PUBLISHERS 
iox2_publisher_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT 
iox2_publisher_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY 
iox2_publisher_create_error_e_UNABLE_TO_CREATE_PORT_TAG 
iox2_publisher_create_error_e_UNABLE_TO_GENERATE_UNIQUE_PUBLISHER_ID 

Definition at line 341 of file iceoryx2.h.

◆ iox2_reader_create_error_e

Enumerator
iox2_reader_create_error_e_EXCEEDS_MAX_SUPPORTED_READERS 
iox2_reader_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY 
iox2_reader_create_error_e_UNABLE_TO_CREATE_PORT_TAG 
iox2_reader_create_error_e_UNABLE_TO_GENERATE_UNIQUE_READER_ID 

Definition at line 349 of file iceoryx2.h.

◆ iox2_receive_error_e

Enumerator
iox2_receive_error_e_EXCEEDS_MAX_BORROWS 
iox2_receive_error_e_FAILED_TO_ESTABLISH_CONNECTION 
iox2_receive_error_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT 

Definition at line 492 of file iceoryx2.h.

◆ iox2_request_response_open_or_create_error_e

Enumerator
iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST 
iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS 
iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT 
iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE 
iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS 
iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS 
iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES 
iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE 
iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES 
iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION 
iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE 
iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES 
iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN 
iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS 
iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES 
iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS 
iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS 
iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG 
iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH 
iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE 
iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION 
iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE 
iox2_request_response_open_or_create_error_e_O_INTERRUPT 
iox2_request_response_open_or_create_error_e_O_INVALID_TYPE_DEFINITION 
iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION 
iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS 
iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE 
iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE 
iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS 
iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION 
iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE 
iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG 
iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED 
iox2_request_response_open_or_create_error_e_C_INTERRUPT 
iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION 
iox2_request_response_open_or_create_error_e_C_INVALID_TYPE_DEFINITION 
iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX 
iox2_request_response_open_or_create_error_e_C_UNABLE_TO_GENERATE_UNIQUE_SERVICE_ID 

Definition at line 570 of file iceoryx2.h.

◆ iox2_request_send_error_e

Enumerator
iox2_request_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS 
iox2_request_send_error_e_CONNECTION_CORRUPTED 
iox2_request_send_error_e_LOAN_ERROR_OUT_OF_MEMORY 
iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS 
iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE 
iox2_request_send_error_e_LOAN_ERROR_INTERNAL_FAILURE 
iox2_request_send_error_e_CONNECTION_ERROR 
iox2_request_send_error_e_EXCEEDS_MAX_ACTIVE_REQUESTS 
iox2_request_send_error_e_UNABLE_TO_DELIVER 
iox2_request_send_error_e_INTERNAL_ERROR 

Definition at line 611 of file iceoryx2.h.

◆ iox2_semantic_string_error_e

Enumerator
iox2_semantic_string_error_e_INVALID_CONTENT 
iox2_semantic_string_error_e_EXCEEDS_MAXIMUM_LENGTH 

Definition at line 84 of file iceoryx2.h.

◆ iox2_send_error_e

Enumerator
iox2_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS 
iox2_send_error_e_CONNECTION_CORRUPTED 
iox2_send_error_e_LOAN_ERROR_OUT_OF_MEMORY 
iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS 
iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE 
iox2_send_error_e_LOAN_ERROR_INTERNAL_FAILURE 
iox2_send_error_e_CONNECTION_ERROR 
iox2_send_error_e_UNABLE_TO_DELIVER 
iox2_send_error_e_INTERNAL_ERROR 

Definition at line 382 of file iceoryx2.h.

◆ iox2_server_create_error_e

Enumerator
iox2_server_create_error_e_EXCEEDS_MAX_SUPPORTED_SERVERS 
iox2_server_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT 
iox2_server_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY 
iox2_server_create_error_e_UNABLE_TO_CREATE_PORT_TAG 
iox2_server_create_error_e_UNABLE_TO_GENERATE_UNIQUE_SERVER_ID 

Definition at line 356 of file iceoryx2.h.

◆ iox2_service_details_error_e

Enumerator
iox2_service_details_error_e_FAILED_TO_OPEN_STATIC_SERVICE_INFO 
iox2_service_details_error_e_FAILED_TO_READ_STATIC_SERVICE_INFO 
iox2_service_details_error_e_FAILED_TO_DESERIALIZE_STATIC_SERVICE_INFO 
iox2_service_details_error_e_SERVICE_IN_INCONSISTENT_STATE 
iox2_service_details_error_e_VERSION_MISMATCH 
iox2_service_details_error_e_INTERNAL_ERROR 
iox2_service_details_error_e_FAILED_TO_ACQUIRE_NODE_STATE 
iox2_service_details_error_e_INTERRUPT 
iox2_service_details_error_e_INSUFFICIENT_PERMISSIONS 

Definition at line 401 of file iceoryx2.h.

◆ iox2_service_list_error_e

Enumerator
iox2_service_list_error_e_INSUFFICIENT_PERMISSIONS 
iox2_service_list_error_e_INTERNAL_ERROR 

Definition at line 498 of file iceoryx2.h.

◆ iox2_service_remove_error_e

Enumerator
iox2_service_remove_error_e_INSUFFICIENT_PERMISSIONS 

Service could not be removed due to insufficient permissions.

iox2_service_remove_error_e_INTERRUPT 

The operation was interrupted by a signal

iox2_service_remove_error_e_VERSION_MISMATCH 

The service was created with a different iceoryx2 version

iox2_service_remove_error_e_INTERNAL_ERROR 

Service could not be removed due to an internal error.

Definition at line 624 of file iceoryx2.h.

◆ iox2_service_type_e

Enumerator
iox2_service_type_e_LOCAL 
iox2_service_type_e_IPC 

Definition at line 89 of file iceoryx2.h.

◆ iox2_signal_handling_mode_e

Defines how signals are handled by constructs that might register a custom signal handler.

Enumerator
iox2_signal_handling_mode_e_HANDLE_TERMINATION_REQUESTS 

The signals SIGINT and SIGTERM are registered and handled. If such a signal is received the user will be notified.

iox2_signal_handling_mode_e_DISABLED 

No signal handler will be registered.

Definition at line 188 of file iceoryx2.h.

◆ iox2_subscriber_create_error_e

Enumerator
iox2_subscriber_create_error_e_EXCEEDS_MAX_SUPPORTED_SUBSCRIBERS 
iox2_subscriber_create_error_e_BUFFER_SIZE_EXCEEDS_MAX_SUPPORTED_BUFFER_SIZE_OF_SERVICE 
iox2_subscriber_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY 
iox2_subscriber_create_error_e_UNABLE_TO_CREATE_PORT_TAG 
iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_HISTORY_SIZE_OF_SERVICE 
iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_BUFFER_SIZE_OF_SUBSCRIBER 
iox2_subscriber_create_error_e_UNABLE_TO_GENERATE_UNIQUE_SUBSCRIBER_ID 

Definition at line 364 of file iceoryx2.h.

◆ iox2_type_detail_error_e

Enumerator
iox2_type_detail_error_e_INVALID_TYPE_NAME 
iox2_type_detail_error_e_INVALID_SIZE_OR_ALIGNMENT_VALUE 

Definition at line 487 of file iceoryx2.h.

◆ iox2_type_variant_e

Enumerator
iox2_type_variant_e_FIXED_SIZE 
iox2_type_variant_e_DYNAMIC 

Definition at line 231 of file iceoryx2.h.

◆ iox2_unique_id_generator_details_error_e

Enumerator
iox2_unique_id_generator_details_error_e_NOT_IMPLEMENTED 

Definition at line 643 of file iceoryx2.h.

◆ iox2_waitset_attachment_error_e

Enumerator
iox2_waitset_attachment_error_e_INSUFFICIENT_CAPACITY 
iox2_waitset_attachment_error_e_ALREADY_ATTACHED 
iox2_waitset_attachment_error_e_INTERNAL_ERROR 
iox2_waitset_attachment_error_e_INSUFFICIENT_RESOURCES 

Definition at line 532 of file iceoryx2.h.

◆ iox2_waitset_create_error_e

Enumerator
iox2_waitset_create_error_e_INTERNAL_ERROR 
iox2_waitset_create_error_e_INSUFFICIENT_RESOURCES 

Definition at line 508 of file iceoryx2.h.

◆ iox2_waitset_run_error_e

Enumerator
iox2_waitset_run_error_e_INSUFFICIENT_PERMISSIONS 
iox2_waitset_run_error_e_INTERNAL_ERROR 
iox2_waitset_run_error_e_NO_ATTACHMENTS 
iox2_waitset_run_error_e_TERMINATION_REQUEST 
iox2_waitset_run_error_e_CLOCK_SCHEDULE_CAPACITY_EXCEEDED 
iox2_waitset_run_error_e_INSUFFICIENT_CAPACITY 
iox2_waitset_run_error_e_INSUFFICIENT_RESOURCES 
iox2_waitset_run_error_e_INTERRUPT 
iox2_waitset_run_error_e_ATTACHMENT_FAILED 

Definition at line 513 of file iceoryx2.h.

◆ iox2_waitset_run_result_e

Enumerator
iox2_waitset_run_result_e_TERMINATION_REQUEST 
iox2_waitset_run_result_e_INTERRUPT 
iox2_waitset_run_result_e_STOP_REQUEST 
iox2_waitset_run_result_e_ALL_EVENTS_HANDLED 

Definition at line 525 of file iceoryx2.h.

◆ iox2_writer_create_error_e

Enumerator
iox2_writer_create_error_e_EXCEEDS_MAX_SUPPORTED_WRITERS 
iox2_writer_create_error_e_INTERNAL_FAILURE 
iox2_writer_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY 
iox2_writer_create_error_e_UNABLE_TO_CREATE_PORT_TAG 
iox2_writer_create_error_e_UNABLE_TO_GENERATE_UNIQUE_WRITER_ID 

Definition at line 374 of file iceoryx2.h.

Function Documentation

◆ __attribute__() [1/3]

struct __attribute__ ( (aligned(16)) )

Definition at line 1343 of file iceoryx2.h.

References IOX2_REPR_ALIGNED, and iox2_response_storage_t.

◆ __attribute__() [2/3]

struct __attribute__ ( (aligned(4)) )

Definition at line 934 of file iceoryx2.h.

References iox2_buffer_16_align_4_t, and IOX2_REPR_ALIGNED.

◆ __attribute__() [3/3]

struct __attribute__ ( (aligned(8)) )

Sample header used by MessagingPattern::RequestResponse

The system-wide unique id of a iox2_client_t.

A storage object that has the size to store a config

The system-wide unique id of a iox2_listener_t.

The system-wide unique id of a iox2_notifier_t.

The system-wide unique id of a iox2_publisher_t.

The system-wide unique id of a iox2_reader_t.

Response header used by MessagingPattern::RequestResponse

The system-wide unique id of a iox2_server_t.

Sample header used by MessagingPattern::PublishSubscribe

The system-wide unique id of a iox2_subscriber_t.

The system-wide unique id of a iox2_writer_t.

Definition at line 832 of file iceoryx2.h.

References IOX2_REPR_ALIGNED, and iox2_request_header_storage_t.

◆ __iox2_internal_client_create_error_stub()

enum iox2_client_create_error_e __iox2_internal_client_create_error_stub ( void )

◆ __iox2_internal_config_creation_error_stub()

enum iox2_config_creation_error_e __iox2_internal_config_creation_error_stub ( void )

◆ __iox2_internal_connection_failure_stub()

enum iox2_connection_failure_e __iox2_internal_connection_failure_stub ( void )

◆ __iox2_internal_event_open_or_create_error_stub()

enum iox2_event_open_or_create_error_e __iox2_internal_event_open_or_create_error_stub ( void )

◆ __iox2_internal_iox2_degradation_action_stub()

enum iox2_degradation_action_e __iox2_internal_iox2_degradation_action_stub ( void )

◆ __iox2_internal_iox2_iox2_degradation_cause_stub()

enum iox2_degradation_cause_e __iox2_internal_iox2_iox2_degradation_cause_stub ( void )

◆ __iox2_internal_iox2_service_remove_error_stub()

enum iox2_service_remove_error_e __iox2_internal_iox2_service_remove_error_stub ( void )

◆ __iox2_internal_iox2_unique_id_generator_details_error_stub()

enum iox2_unique_id_generator_details_error_e __iox2_internal_iox2_unique_id_generator_details_error_stub ( void )

◆ __iox2_internal_listener_create_error_stub()

enum iox2_listener_create_error_e __iox2_internal_listener_create_error_stub ( void )

◆ __iox2_internal_listener_wait_error_stub()

enum iox2_listener_wait_error_e __iox2_internal_listener_wait_error_stub ( void )

◆ __iox2_internal_loan_error_stub()

enum iox2_loan_error_e __iox2_internal_loan_error_stub ( void )

◆ __iox2_internal_node_cleanup_failure_stub()

enum iox2_node_cleanup_failure_e __iox2_internal_node_cleanup_failure_stub ( void )

◆ __iox2_internal_node_creation_failure_stub()

enum iox2_node_creation_failure_e __iox2_internal_node_creation_failure_stub ( void )

◆ __iox2_internal_node_list_failure_stub()

enum iox2_node_list_failure_e __iox2_internal_node_list_failure_stub ( void )

◆ __iox2_internal_node_wait_failure_stub()

enum iox2_node_wait_failure_e __iox2_internal_node_wait_failure_stub ( void )

◆ __iox2_internal_notifier_create_error_stub()

enum iox2_notifier_create_error_e __iox2_internal_notifier_create_error_stub ( void )

◆ __iox2_internal_notifier_notify_error_stub()

enum iox2_notifier_notify_error_e __iox2_internal_notifier_notify_error_stub ( void )

◆ __iox2_internal_pub_sub_open_or_create_error_stub()

enum iox2_pub_sub_open_or_create_error_e __iox2_internal_pub_sub_open_or_create_error_stub ( void )

◆ __iox2_internal_publisher_create_error_stub()

enum iox2_publisher_create_error_e __iox2_internal_publisher_create_error_stub ( void )

◆ __iox2_internal_receive_error_stub()

enum iox2_receive_error_e __iox2_internal_receive_error_stub ( void )

◆ __iox2_internal_request_response_open_or_create_error_stub()

enum iox2_request_response_open_or_create_error_e __iox2_internal_request_response_open_or_create_error_stub ( void )

◆ __iox2_internal_request_send_error_stub()

enum iox2_request_send_error_e __iox2_internal_request_send_error_stub ( void )

◆ __iox2_internal_semantic_string_error_stub()

enum iox2_semantic_string_error_e __iox2_internal_semantic_string_error_stub ( void )

◆ __iox2_internal_send_error_stub()

enum iox2_send_error_e __iox2_internal_send_error_stub ( void )

◆ __iox2_internal_server_create_error_stub()

enum iox2_server_create_error_e __iox2_internal_server_create_error_stub ( void )

◆ __iox2_internal_service_details_error_stub()

enum iox2_service_details_error_e __iox2_internal_service_details_error_stub ( void )

◆ __iox2_internal_service_list_error_stub()

enum iox2_service_list_error_e __iox2_internal_service_list_error_stub ( void )

◆ __iox2_internal_subscriber_create_error_stub()

enum iox2_subscriber_create_error_e __iox2_internal_subscriber_create_error_stub ( void )

◆ __iox2_internal_type_detail_error_stub()

enum iox2_type_detail_error_e __iox2_internal_type_detail_error_stub ( void )

◆ __iox2_internal_waitset_attachment_error_stub()

enum iox2_waitset_attachment_error_e __iox2_internal_waitset_attachment_error_stub ( void )

◆ __iox2_internal_waitset_create_error_stub()

enum iox2_waitset_create_error_e __iox2_internal_waitset_create_error_stub ( void )

◆ __iox2_internal_waitset_run_error_stub()

enum iox2_waitset_run_error_e __iox2_internal_waitset_run_error_stub ( void )

◆ __iox2_internal_waitset_run_result_stub()

enum iox2_waitset_run_result_e __iox2_internal_waitset_run_result_stub ( void )

◆ iox2_active_request_drop()

void iox2_active_request_drop ( iox2_active_request_h handle)

This function needs to be called to destroy the active_request!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_active_request_t] can be re-used with a call to [iox2_server_receive](crate::iox2_server_receive)!

◆ iox2_active_request_has_disconnect_hint()

bool iox2_active_request_has_disconnect_hint ( iox2_active_request_h_ref handle)

Returns true if the client wants to gracefully disconnect. This allows the Server to send its last response and then drop the active request to signal the client that no more response will be sent.

Arguments

Safety

  • handle must be a valid handle

◆ iox2_active_request_header()

void iox2_active_request_header ( iox2_active_request_h_ref handle,
struct iox2_request_header_t * header_struct_ptr,
iox2_request_header_h * header_handle_ptr )

Acquires the requests header.

Safety

◆ iox2_active_request_is_connected()

bool iox2_active_request_is_connected ( iox2_active_request_h_ref handle)

Returns true if the corresponding pending response is still connected and can receive responses.

Arguments

Safety

  • handle must be a valid handle

◆ iox2_active_request_loan_slice_uninit()

int iox2_active_request_loan_slice_uninit ( iox2_active_request_h_ref active_request_handle,
struct iox2_response_mut_t * response_struct_ptr,
iox2_response_mut_h * response_handle_ptr,
size_t number_of_elements )

Loans memory from the servers data segment.

Arguments

  • active_request_handle - Must be a valid [iox2_active_request_h_ref] obtained by [iox2_server_receive](crate::iox2_server_receive).
  • response_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_response_mut_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • response_handle_ptr - An uninitialized or dangling [iox2_response_mut_h] handle which will be initialized by this function call if a response is obtained, otherwise it will be set to NULL.
  • number_of_elements - The number of elements to loan from the server's payload segment

Return [IOX2_OK] on success, otherwise [iox2_loan_error_e](crate::iox2_loan_error_e).

Safety

  • active_request_handle is valid and non-null
  • The response_handle_ptr is pointing to a valid [iox2_response_mut_h].

◆ iox2_active_request_payload()

void iox2_active_request_payload ( iox2_active_request_h_ref handle,
const void ** payload_ptr,
c_size_t * number_of_elements )

Acquires the request payload.

Safety

  • handle - Must be a valid [iox2_active_request_h_ref] obtained by [iox2_server_receive](crate::iox2_server_receive).
  • payload_ptr a valid, non-null pointer pointing to a *const c_void pointer.
  • number_of_elements (optional) either a null pointer or a valid pointer pointing to a [c_size_t].

◆ iox2_active_request_payload_number_of_bytes()

c_size_t iox2_active_request_payload_number_of_bytes ( iox2_active_request_h_ref handle)

Returns the number of bytes of the received request payload.

Safety

◆ iox2_active_request_send_copy()

int iox2_active_request_send_copy ( iox2_active_request_h_ref active_request_handle,
const void * data_ptr,
size_t size_of_element,
size_t number_of_elements )

Sends a copy of the provided data via the server.

Arguments

  • active_request_handle - Must be a valid [iox2_active_request_h_ref] obtained by [iox2_server_receive](crate::iox2_server_receive).
  • data_ptr pointer to the payload that shall be transmitted
  • size_of_element the size of the payload in bytes
  • number_of_elements the number of elements stored in data_ptr

Return [IOX2_OK] on success, otherwise [iox2_send_error_e].

Safety

  • active_request_handle is valid and non-null
  • data_ptr non-null pointer to a valid position in memory

◆ iox2_active_request_user_header()

void iox2_active_request_user_header ( iox2_active_request_h_ref handle,
const void ** header_ptr )

Acquires the request user header.

Safety

◆ iox2_attribute_definition_error_create_error_string()

const char * iox2_attribute_definition_error_create_error_string ( enum iox2_attribute_definition_error_e error)

Returns a string literal describing the provided [iox2_attribute_definition_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_attribute_key()

void iox2_attribute_key ( iox2_attribute_h_ref handle,
char * buffer,
size_t buffer_len )

Copies the keys value into the provided buffer.

Safety

  • handle - A valid [iox2_attribute_h_ref],
  • buffer - Must be non-null and pointing to a valid memory location,
  • buffer_len - Must be the length of the provided buffer.

◆ iox2_attribute_key_len()

size_t iox2_attribute_key_len ( iox2_attribute_h_ref handle)

Returns the length of the attributes key.

Safety

  • The handle must be a valid handle.

◆ iox2_attribute_set_drop()

void iox2_attribute_set_drop ( iox2_attribute_set_h handle)

This function needs to be called to destroy the attribute set!

Safety

◆ iox2_attribute_set_index()

iox2_attribute_h_ref iox2_attribute_set_index ( iox2_attribute_set_ptr handle,
size_t index )

Returns a [iox2_attribute_h_ref] to the attribute stored at the provided index.

Safety

◆ iox2_attribute_set_iter_key_values()

void iox2_attribute_set_iter_key_values ( iox2_attribute_set_ptr handle,
const char * key,
iox2_attribute_set_get_callback callback,
iox2_callback_context callback_ctx )

Calls the provided callback for every value that is owned by the provided key.

Safety

  • The handle must be a valid handle.
  • The key must be a valid null-terminated string.
  • The callback must point to a function with the required signature.

◆ iox2_attribute_set_key_value()

void iox2_attribute_set_key_value ( iox2_attribute_set_ptr handle,
const char * key,
size_t index,
char * buffer,
size_t buffer_len,
bool * has_value )

Returns a value of a key at a specific index. The index enumerates the values of the key if the key has multiple values. The values are always stored at the same position during the lifetime of the service but they can change when the process is recreated by another process when the system restarts.

Safety

  • The handle must be a valid handle.
  • key must be non-zero and contain a null-terminated string
  • buffer must point to a valid memory location
  • buffer_len must define the length of the memory pointed by buffer

◆ iox2_attribute_set_new_clone()

void iox2_attribute_set_new_clone ( struct iox2_attribute_set_t * struct_ptr,
iox2_attribute_set_ptr source_ptr,
iox2_attribute_set_h * handle_ptr )

This function create a new attribute_set by cloning an already existing one!

Safety

  • struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_attribute_set_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • source_ptr - Must be valid pointer to a [iox2_attribute_set_ptr].
  • handle_ptr - An uninitialized or dangling [iox2_attribute_set_h] handle which will be initialized by this function call.

◆ iox2_attribute_set_number_of_attributes()

size_t iox2_attribute_set_number_of_attributes ( iox2_attribute_set_ptr handle)

Returns the number of attributes in the attribute set.

Safety

  • The handle must be a valid handle.

◆ iox2_attribute_set_number_of_key_values()

size_t iox2_attribute_set_number_of_key_values ( iox2_attribute_set_ptr handle,
const char * key )

Returns the number of values stored under a specific key. If the key does not exist it returns 0.

Safety

  • The handle must be a valid handle.
  • key must be non-zero and contain a null-terminated string

◆ iox2_attribute_specifier_attributes()

iox2_attribute_set_ptr iox2_attribute_specifier_attributes ( iox2_attribute_specifier_h_ref handle)

Returns a [iox2_attribute_set_ptr] to the underlying attribute set.

Safety

◆ iox2_attribute_specifier_define()

int iox2_attribute_specifier_define ( iox2_attribute_specifier_h_ref handle,
const char * key,
const char * value )

Defines a attribute (key / value pair).

Returns IOX2_OK on success, an [iox2_attribute_definition_error_e](crate::iox2_attribute_definition_error_e) otherwise.

Safety

  • The handle must point to an initialized [iox2_attribute_specifier_h].
  • The key must point to a valid null-terminated string.
  • The value must point to a valid null-terminated string.

◆ iox2_attribute_specifier_drop()

void iox2_attribute_specifier_drop ( iox2_attribute_specifier_h handle)

Deletes a [iox2_attribute_specifier_h]. It must be created with [iox2_attribute_specifier_new()].

Safety

◆ iox2_attribute_specifier_new()

int iox2_attribute_specifier_new ( struct iox2_attribute_specifier_t * struct_ptr,
iox2_attribute_specifier_h * handle_ptr )

Creates a new [iox2_attribute_specifier_h]. It must be cleaned up with [iox2_attribute_specifier_drop()]. If the struct_ptr is null, then the function will allocate memory.

Safety

◆ iox2_attribute_value()

void iox2_attribute_value ( iox2_attribute_h_ref handle,
char * buffer,
size_t buffer_len )

Copies the values value into the provided buffer.

Safety

  • handle - A valid [iox2_attribute_h_ref],
  • buffer - Must be non-null and pointing to a valid memory location,
  • buffer_len - Must be the length of the provided buffer.

◆ iox2_attribute_value_len()

size_t iox2_attribute_value_len ( iox2_attribute_h_ref handle)

Returns the length of the attributes value.

Safety

  • The handle must be a valid handle.

◆ iox2_attribute_verification_error_create_error_string()

const char * iox2_attribute_verification_error_create_error_string ( enum iox2_attribute_verification_error_e error)

Returns a string literal describing the provided [iox2_attribute_verification_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_attribute_verifier_attributes()

iox2_attribute_set_ptr iox2_attribute_verifier_attributes ( iox2_attribute_verifier_h_ref handle)

Returns a [iox2_attribute_set_ptr] to the underlying attribute set.

Safety

◆ iox2_attribute_verifier_drop()

void iox2_attribute_verifier_drop ( iox2_attribute_verifier_h handle)

Deletes a [iox2_attribute_verifier_h]. It must be created with [iox2_attribute_verifier_new()].

Safety

◆ iox2_attribute_verifier_key()

size_t iox2_attribute_verifier_key ( iox2_attribute_verifier_h_ref handle,
size_t key_index,
char * key_value_buffer,
size_t key_value_buffer_len )

Copies the key value at a specific key index into the provided buffer.

Safety

◆ iox2_attribute_verifier_key_len()

size_t iox2_attribute_verifier_key_len ( iox2_attribute_verifier_h_ref handle,
size_t key_index )

Returns the length of a required key at a specific key index.

Safety

◆ iox2_attribute_verifier_new()

int iox2_attribute_verifier_new ( struct iox2_attribute_verifier_t * struct_ptr,
iox2_attribute_verifier_h * handle_ptr )

Creates a new [iox2_attribute_verifier_h]. It must be cleaned up with [iox2_attribute_verifier_drop()]. If the struct_ptr is null, then the function will allocate memory.

Safety

◆ iox2_attribute_verifier_number_of_keys()

size_t iox2_attribute_verifier_number_of_keys ( iox2_attribute_verifier_h_ref handle)

Returns the number of required keys.

Safety

◆ iox2_attribute_verifier_require()

int iox2_attribute_verifier_require ( iox2_attribute_verifier_h_ref handle,
const char * key,
const char * value )

Defines a attribute (key / value pair) that is required.

Returns IOX2_OK on success, an [iox2_attribute_definition_error_e](crate::iox2_attribute_definition_error_e) otherwise.

Safety

  • The handle must point to an initialized [iox2_attribute_verifier_h].
  • The key must point to a valid null-terminated string.
  • The value must point to a valid null-terminated string.

◆ iox2_attribute_verifier_require_key()

int iox2_attribute_verifier_require_key ( iox2_attribute_verifier_h_ref handle,
const char * key )

Defines a key that must be present.

Returns IOX2_OK on success, an [iox2_attribute_definition_error_e](crate::iox2_attribute_definition_error_e) otherwise.

Safety

◆ iox2_attribute_verifier_verify_requirements()

int iox2_attribute_verifier_verify_requirements ( iox2_attribute_verifier_h_ref handle,
iox2_attribute_set_ptr rhs,
char * incompatible_key_buffer,
size_t incompatible_key_buffer_len )

Verifies if the [iox2_attribute_set_ptr] contains all required keys and key-value pairs.

Returns IOX2_OK on success, an [iox2_attribute_verification_error_e](crate::iox2_attribute_verification_error_e) otherwise.

Safety

  • The handle must point to an initialized [iox2_attribute_verifier_h].
  • The rhs must be valid.
  • incompatible_key_buffer must be either null or point to a valid memory location of size incompatible_key_buffer_len

◆ iox2_backpressure_info_elapsed_time()

void iox2_backpressure_info_elapsed_time ( iox2_backpressure_info_h_ref info_handle,
uint64_t * seconds,
uint32_t * nanoseconds )

Obtains the elapsed time since the initial retry

Arguments

Safety

  • info_handle must be a valid handle
  • seconds must not be a null pointer
  • nanoseconds must not be a null pointer

◆ iox2_backpressure_info_receiver_port_id()

void iox2_backpressure_info_receiver_port_id ( iox2_backpressure_info_h_ref info_handle,
struct iox2_buffer_16_align_4_t * receiver_port_id )

Obtains the receiver port id, which is involved in the delivery incident

Arguments

Safety

  • info_handle must be a valid handle
  • service_id must not be a null pointer

References iox2_buffer_16_align_4_t.

◆ iox2_backpressure_info_retries()

uint64_t iox2_backpressure_info_retries ( iox2_backpressure_info_h_ref info_handle)

Obtains the number of retries for the running delivery to the receiver port

Arguments

Safety

  • info_handle must be a valid handle

◆ iox2_backpressure_info_sender_port_id()

void iox2_backpressure_info_sender_port_id ( iox2_backpressure_info_h_ref info_handle,
struct iox2_buffer_16_align_4_t * sender_port_id )

Obtains the sender port id, which is involved in the delivery incident

Arguments

Safety

  • info_handle must be a valid handle
  • service_id must not be a null pointer

References iox2_buffer_16_align_4_t.

◆ iox2_backpressure_info_service_id()

void iox2_backpressure_info_service_id ( iox2_backpressure_info_h_ref info_handle,
struct iox2_buffer_16_align_4_t * service_id )

Obtains the service id, which is involved in the delivery incident

Arguments

Safety

  • info_handle must be a valid handle
  • service_id must not be a null pointer

References iox2_buffer_16_align_4_t.

◆ iox2_blackboard_create_error_string()

const char * iox2_blackboard_create_error_string ( enum iox2_blackboard_create_error_e error)

Returns a string literal describing the provided [iox2_blackboard_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_blackboard_open_error_string()

const char * iox2_blackboard_open_error_string ( enum iox2_blackboard_open_error_e error)

Returns a string literal describing the provided [iox2_blackboard_open_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_cast_attribute_set_ptr()

iox2_attribute_set_ptr iox2_cast_attribute_set_ptr ( iox2_attribute_set_h handle)

This function casts a [iox2_attribute_set_h] into a [iox2_attribute_set_ptr]

Returns a [iox2_attribute_set_ptr]

Safety

◆ iox2_cast_config_ptr()

iox2_config_ptr iox2_cast_config_ptr ( iox2_config_h config_handle)

This function casts a [iox2_config_h] into a [iox2_config_ptr]

Arguments

Returns a [iox2_config_ptr]

Safety

  • The config_handle must be a valid handle.
  • The config_handle is still valid after the call to this function.

◆ iox2_cast_file_descriptor_ptr()

iox2_file_descriptor_ptr iox2_cast_file_descriptor_ptr ( iox2_file_descriptor_h handle)

Casts a [iox2_file_descriptor_h] into an [iox2_file_descriptor_ptr]. The result is valid as long as the source is valid.

Safety

◆ iox2_cast_node_name_ptr()

iox2_node_name_ptr iox2_cast_node_name_ptr ( iox2_node_name_h node_name_handle)

This function casts a [iox2_node_name_h] into a [iox2_node_name_ptr]

Arguments

Returns a [iox2_node_name_ptr]

Safety

  • The node_name_handle must be a valid handle.
  • The node_name_handle is still valid after the call to this function.

◆ iox2_cast_port_name_ptr()

iox2_port_name_ptr iox2_cast_port_name_ptr ( iox2_port_name_h port_name_handle)

This function casts a [iox2_port_name_h] into a [iox2_port_name_ptr]

Arguments

Returns a [iox2_port_name_ptr]

Safety

  • The port_name_handle must be a valid handle.
  • The port_name_handle is still valid after the call to this function.

◆ iox2_cast_service_name_ptr()

iox2_service_name_ptr iox2_cast_service_name_ptr ( iox2_service_name_h service_name_handle)

This function casts a [iox2_service_name_h] into a [iox2_service_name_ptr]

Arguments

Returns a [iox2_service_name_ptr]

Safety

  • The service_name_handle must be a valid handle.
  • The service_name_handle is still valid after the call to this function.

◆ iox2_client_backpressure_strategy()

enum iox2_backpressure_strategy_e iox2_client_backpressure_strategy ( iox2_client_h_ref handle)

Returns the strategy the client follows when a request cannot be delivered since the servers buffer is full.

Arguments

Returns [iox2_backpressure_strategy_e].

Safety

  • handle is valid and non-null

◆ iox2_client_create_error_string()

const char * iox2_client_create_error_string ( enum iox2_client_create_error_e error)

Returns a string literal describing the provided [iox2_client_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_client_details_client_id()

void iox2_client_details_client_id ( iox2_client_details_ptr handle,
struct iox2_unique_client_id_t * id_struct_ptr,
iox2_unique_client_id_h * id_handle_ptr )

Returns the unique port id of the client.

Safety

  • handle valid pointer to the client details
  • id_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_unique_client_id_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • id_handle_ptr valid pointer to a [iox2_unique_client_id_h].

◆ iox2_client_details_client_name()

iox2_port_name_ptr iox2_client_details_client_name ( iox2_client_details_ptr handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the name of the client.

Safety

  • handle valid pointer to the client details

◆ iox2_client_details_max_active_requests()

c_size_t iox2_client_details_max_active_requests ( iox2_client_details_ptr handle)

Returns the maximal active requests the client can send.

Safety

  • handle valid pointer to the client details

◆ iox2_client_details_max_slice_len()

c_size_t iox2_client_details_max_slice_len ( iox2_client_details_ptr handle)

The current maximum length of a slice.

Safety

  • handle valid pointer to the client details

◆ iox2_client_details_node_id()

iox2_unique_node_id_ptr iox2_client_details_node_id ( iox2_client_details_ptr handle)

Returns the [iox2_unique_node_id_ptr], an immutable pointer to the node id.

Safety

  • handle valid pointer to the client details

◆ iox2_client_details_number_of_requests()

c_size_t iox2_client_details_number_of_requests ( iox2_client_details_ptr handle)

The total number of requests available in the clients data segment

Safety

  • handle valid pointer to the client details

◆ iox2_client_details_response_buffer_size()

c_size_t iox2_client_details_response_buffer_size ( iox2_client_details_ptr handle)

Returns the receive buffer size for incoming responses.

Safety

  • handle valid pointer to the client details

◆ iox2_client_drop()

void iox2_client_drop ( iox2_client_h client_handle)

This function needs to be called to destroy the client!

Arguments

Safety

  • The client_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_client_t] can be re-used with a call to [iox2_port_factory_client_builder_create](crate::iox2_port_factory_client_builder_create)!

◆ iox2_client_id()

void iox2_client_id ( iox2_client_h_ref handle,
struct iox2_unique_client_id_t * id_struct_ptr,
iox2_unique_client_id_h * id_handle_ptr )

Returns the unique port id of the client.

Arguments

Safety

  • handle is valid and non-null
  • id is valid and non-null

◆ iox2_client_initial_max_slice_len()

c_size_t iox2_client_initial_max_slice_len ( iox2_client_h_ref handle)

Returns the initial max slice len with which the client was created.

Arguments

Safety

  • handle is valid and non-null

◆ iox2_client_loan_slice_uninit()

int iox2_client_loan_slice_uninit ( iox2_client_h_ref client_handle,
struct iox2_request_mut_t * request_struct_ptr,
iox2_request_mut_h * request_handle_ptr,
size_t number_of_elements )

Loans memory from the clients data segment.

Arguments

  • client_handle obtained by [iox2_port_factory_client_builder_create](crate::iox2_port_factory_client_builder_create)
  • request_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_request_mut_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • request_handle_ptr - An uninitialized or dangling [iox2_request_mut_h] handle which will be initialized by this function call if a request is obtained, otherwise it will be set to NULL.
  • number_of_elements - The number of elements to loan from the clients's payload segment

Return [IOX2_OK] on success, otherwise [iox2_loan_error_e](crate::iox2_loan_error_e).

Safety

  • client_handle is valid and non-null
  • The request_handle_ptr is pointing to a valid [iox2_request_mut_h].

◆ iox2_client_max_active_requests()

c_size_t iox2_client_max_active_requests ( iox2_client_h_ref handle)

Returns the maximal active requests of the client.

Arguments

Safety

  • handle is valid and non-null

◆ iox2_client_name()

iox2_port_name_ptr iox2_client_name ( iox2_client_h_ref handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the port name.

Arguments

Safety

◆ iox2_client_send_copy()

int iox2_client_send_copy ( iox2_client_h_ref client_handle,
const void * data_ptr,
size_t size_of_element,
size_t number_of_elements,
struct iox2_pending_response_t * pending_response_struct_ptr,
iox2_pending_response_h * pending_response_handle_ptr )

Sends a copy of the provided data via the client and provides a [iox2_pending_response_h] to receive the corresponding responses.

Arguments

  • client_handle obtained by [iox2_port_factory_client_builder_create](crate::iox2_port_factory_client_builder_create)
  • pending_response_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_pending_response_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • pending_response_handle_ptr - An uninitialized or dangling [iox2_pending_response_h] handle which will be initialized by this function call.
  • data_ptr pointer to the payload that shall be transmitted
  • size_of_element the size of the payload in bytes
  • number_of_elements the number of elements in the payload

Return [IOX2_OK] on success, otherwise [iox2_send_error_e](crate::iox2_send_error_e).

Safety

  • client_handle is valid and non-null
  • data_ptr non-null pointer to a valid position in memory
  • data_len the size of the payload memory
  • The pending_response_handle_ptr is pointing to a valid [iox2_pending_response_h].

◆ iox2_config_clone()

void iox2_config_clone ( iox2_config_h_ref handle,
struct iox2_config_t * struct_ptr,
iox2_config_h * handle_ptr )

Clones a config from a given non-owning [iox2_config_h_ref].

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_config_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • handle_ptr - An uninitialized or dangling [iox2_config_h] handle which will be initialized by this function call.

◆ iox2_config_creation_error_string()

const char * iox2_config_creation_error_string ( enum iox2_config_creation_error_e error)

Returns a string literal describing the provided [iox2_config_creation_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_config_default()

int iox2_config_default ( struct iox2_config_t * struct_ptr,
iox2_config_h * handle_ptr )

Creates an iceoryx2 config populated with default values.

Safety

  • struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_config_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • handle_ptr - An uninitialized or dangling [iox2_config_h] handle which will be initialized by this function call.

◆ iox2_config_defaults_blackboard_max_nodes()

c_size_t iox2_config_defaults_blackboard_max_nodes ( iox2_config_h_ref handle)

Returns the maximum amount of supported [iox2_node_h](crate::api::iox2_node_h)s. Defines indirectly how many processes can open the service at the same time.

Safety

◆ iox2_config_defaults_blackboard_max_readers()

c_size_t iox2_config_defaults_blackboard_max_readers ( iox2_config_h_ref handle)

Returns the maximum amount of supported [iox2_reader_h](crate::api::iox2_reader_h)s

Safety

◆ iox2_config_defaults_blackboard_set_max_nodes()

void iox2_config_defaults_blackboard_set_max_nodes ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum amount of supported [iox2_node_h](crate::api::iox2_node_h)s.

Safety

◆ iox2_config_defaults_blackboard_set_max_readers()

void iox2_config_defaults_blackboard_set_max_readers ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum amount of supported [iox2_reader_h](crate::api::iox2_reader_h)s

Safety

◆ iox2_config_defaults_event_deadline()

bool iox2_config_defaults_event_deadline ( iox2_config_h_ref handle,
uint64_t * seconds,
uint32_t * nanoseconds )

Returns the default deadline for event services. If there is a deadline set, the provided arguments seconds and nanoseconds will be set true is returned. Otherwise, false is returned and nothing is set.

Safety

  • notifier_handle is valid, non-null and was obtained via [iox2_port_factory_listener_builder_create](crate::iox2_port_factory_listener_builder_create)
  • seconds is pointing to a valid memory location and non-null
  • nanoseconds is pointing to a valid memory location and non-null

◆ iox2_config_defaults_event_event_id_max_value()

c_size_t iox2_config_defaults_event_event_id_max_value ( iox2_config_h_ref handle)

Returns the largest event id supported by the event service

Safety

◆ iox2_config_defaults_event_max_listeners()

c_size_t iox2_config_defaults_event_max_listeners ( iox2_config_h_ref handle)

Returns the maximum amount of supported [iox2_listener_h](crate::api::iox2_listener_h)

Safety

◆ iox2_config_defaults_event_max_nodes()

c_size_t iox2_config_defaults_event_max_nodes ( iox2_config_h_ref handle)

Returns the maximum amount of supported [iox2_node_h](crate::api::iox2_node_h)s. Defines indirectly how many processes can open the service at the same time.

Safety

◆ iox2_config_defaults_event_max_notifiers()

c_size_t iox2_config_defaults_event_max_notifiers ( iox2_config_h_ref handle)

Returns the maximum amount of supported [iox2_notifier_h](crate::api::iox2_notifier_h)

Safety

◆ iox2_config_defaults_event_notifier_created_event()

bool iox2_config_defaults_event_notifier_created_event ( iox2_config_h_ref handle,
c_size_t * value )

Returns the event id value that is emitted when a new notifier is created. It returns true if a value is emitted and sets the provided value, otherwise it returns false.

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - points to a valid memory location

◆ iox2_config_defaults_event_notifier_dead_event()

bool iox2_config_defaults_event_notifier_dead_event ( iox2_config_h_ref handle,
c_size_t * value )

Returns the event id value that is emitted when a notifier is identified as dead. It returns true if a value is emitted and sets the provided value, otherwise it returns false.

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - points to a valid memory location

◆ iox2_config_defaults_event_notifier_dropped_event()

bool iox2_config_defaults_event_notifier_dropped_event ( iox2_config_h_ref handle,
c_size_t * value )

Returns the event id value that is emitted when a notifier is dropped. It returns true if a value is emitted and sets the provided value, otherwise it returns false.

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - points to a valid memory location

◆ iox2_config_defaults_event_set_deadline()

void iox2_config_defaults_event_set_deadline ( iox2_config_h_ref handle,
const uint64_t * seconds,
const uint32_t * nanoseconds )

Sets the default deadline for event services. If seconds and nanoseconds is NULL the deadline will be disabled, otherwise the deadline will be set to the provided values.

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • seconds & nanoseconds - either both must be NULL or both must point to a valid memory location

◆ iox2_config_defaults_event_set_event_id_max_value()

void iox2_config_defaults_event_set_event_id_max_value ( iox2_config_h_ref handle,
c_size_t value )

Sets the largest event id supported by the event service

Safety

◆ iox2_config_defaults_event_set_max_listeners()

void iox2_config_defaults_event_set_max_listeners ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum amount of supported [iox2_listener_h](crate::api::iox2_listener_h)

Safety

◆ iox2_config_defaults_event_set_max_nodes()

void iox2_config_defaults_event_set_max_nodes ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum amount of supported [iox2_node_h](crate::api::iox2_node_h)s.

Safety

◆ iox2_config_defaults_event_set_max_notifiers()

void iox2_config_defaults_event_set_max_notifiers ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum amount of supported [iox2_notifier_h](crate::api::iox2_notifier_h)

Safety

◆ iox2_config_defaults_event_set_notifier_created_event()

void iox2_config_defaults_event_set_notifier_created_event ( iox2_config_h_ref handle,
const c_size_t * value )

Sets the event id value that is emitted when a new notifier is created. If value is NULL no event will be emitted, otherwise the provided value will be used.

Safety

◆ iox2_config_defaults_event_set_notifier_dead_event()

void iox2_config_defaults_event_set_notifier_dead_event ( iox2_config_h_ref handle,
const c_size_t * value )

Sets the event id value that is emitted when a notifier is identified as dead. If value is NULL no event will be emitted, otherwise the provided value will be used.

Safety

◆ iox2_config_defaults_event_set_notifier_dropped_event()

void iox2_config_defaults_event_set_notifier_dropped_event ( iox2_config_h_ref handle,
const c_size_t * value )

Sets the event id value that is emitted when a notifier is dropped. If value is NULL no event will be emitted, otherwise the provided value will be used.

Safety

◆ iox2_config_defaults_publish_subscribe_backpressure_strategy()

int iox2_config_defaults_publish_subscribe_backpressure_strategy ( iox2_config_h_ref handle)

If safe overflow is deactivated it defines the deliver strategy of the [iox2_publisher_h](crate::api::iox2_publisher_h) when the [iox2_subscriber_h](crate::api::iox2_subscriber_h)s buffer is full.

Returns [iox2_backpressure_strategy_e]

Safety

◆ iox2_config_defaults_publish_subscribe_enable_safe_overflow()

bool iox2_config_defaults_publish_subscribe_enable_safe_overflow ( iox2_config_h_ref handle)

Defines how the [iox2_subscriber_h](crate::api::iox2_subscriber_h) buffer behaves when it is full. When safe overflow is activated, the [iox2_publisher_h](crate::api::iox2_publisher_h) will replace the oldest [iox2_sample_h](crate::api::iox2_sample_h) with the newest one.

Safety

◆ iox2_config_defaults_publish_subscribe_max_nodes()

c_size_t iox2_config_defaults_publish_subscribe_max_nodes ( iox2_config_h_ref handle)

Returns the maximum amount of supported [iox2_node_h](crate::api::iox2_node_h)s. Defines indirectly how many processes can open the service at the same time.

Safety

◆ iox2_config_defaults_publish_subscribe_max_publishers()

c_size_t iox2_config_defaults_publish_subscribe_max_publishers ( iox2_config_h_ref handle)

Returns maximum amount of supported [iox2_publisher_h](crate::api::iox2_publisher_h)s

Safety

◆ iox2_config_defaults_publish_subscribe_max_subscribers()

c_size_t iox2_config_defaults_publish_subscribe_max_subscribers ( iox2_config_h_ref handle)

Returns the maximum amount of supported [iox2_subscriber_h](crate::api::iox2_subscriber_h)s

Safety

◆ iox2_config_defaults_publish_subscribe_publisher_history_size()

c_size_t iox2_config_defaults_publish_subscribe_publisher_history_size ( iox2_config_h_ref handle)

Returns the maximum history size a [iox2_subscriber_h](crate::api::iox2_subscriber_h) can request from a [iox2_publisher_h](crate::api::iox2_publisher_h).

Safety

◆ iox2_config_defaults_publish_subscribe_publisher_max_loaned_samples()

c_size_t iox2_config_defaults_publish_subscribe_publisher_max_loaned_samples ( iox2_config_h_ref handle)

Returns the maximum amount of [iox2_sample_mut_h](crate::api::iox2_sample_mut_h)s a [iox2_publisher_h](crate::api::iox2_publisher_h) can loan at the same time.

Safety

◆ iox2_config_defaults_publish_subscribe_set_backpressure_strategy()

void iox2_config_defaults_publish_subscribe_set_backpressure_strategy ( iox2_config_h_ref handle,
enum iox2_backpressure_strategy_e value )

Define the backpressure strategy

Safety

◆ iox2_config_defaults_publish_subscribe_set_enable_safe_overflow()

void iox2_config_defaults_publish_subscribe_set_enable_safe_overflow ( iox2_config_h_ref handle,
bool value )

Enables/disables safe overflow

Safety

◆ iox2_config_defaults_publish_subscribe_set_max_nodes()

void iox2_config_defaults_publish_subscribe_set_max_nodes ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum amount of supported [iox2_node_h](crate::api::iox2_node_h)s.

Safety

◆ iox2_config_defaults_publish_subscribe_set_max_publishers()

void iox2_config_defaults_publish_subscribe_set_max_publishers ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum amount of supported [iox2_publisher_h](crate::api::iox2_publisher_h)s

Safety

◆ iox2_config_defaults_publish_subscribe_set_max_subscribers()

void iox2_config_defaults_publish_subscribe_set_max_subscribers ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum amount of supported [iox2_subscriber_h](crate::api::iox2_subscriber_h)s

Safety

◆ iox2_config_defaults_publish_subscribe_set_publisher_history_size()

void iox2_config_defaults_publish_subscribe_set_publisher_history_size ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum history size a [iox2_subscriber_h](crate::api::iox2_subscriber_h) can request from a [iox2_publisher_h](crate::api::iox2_publisher_h).

Safety

◆ iox2_config_defaults_publish_subscribe_set_publisher_max_loaned_samples()

void iox2_config_defaults_publish_subscribe_set_publisher_max_loaned_samples ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum amount of [iox2_sample_mut_h](crate::api::iox2_sample_mut_h)s a [iox2_publisher_h](crate::api::iox2_publisher_h) can loan at the same time.

Safety

◆ iox2_config_defaults_publish_subscribe_set_subscriber_expired_connection_buffer()

void iox2_config_defaults_publish_subscribe_set_subscriber_expired_connection_buffer ( iox2_config_h_ref handle,
c_size_t value )

Set the expired connection buffer size

Safety

◆ iox2_config_defaults_publish_subscribe_set_subscriber_max_borrowed_samples()

void iox2_config_defaults_publish_subscribe_set_subscriber_max_borrowed_samples ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum amount of [iox2_sample_h](crate::api::iox2_sample_h)s a [iox2_subscriber_h](crate::api::iox2_subscriber_h) can hold at the same time.

Safety

◆ iox2_config_defaults_publish_subscribe_set_subscriber_max_buffer_size()

void iox2_config_defaults_publish_subscribe_set_subscriber_max_buffer_size ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum buffer size a [iox2_subscriber_h](crate::api::iox2_subscriber_h) can have

Safety

◆ iox2_config_defaults_publish_subscribe_subscriber_expired_connection_buffer()

c_size_t iox2_config_defaults_publish_subscribe_subscriber_expired_connection_buffer ( iox2_config_h_ref handle)

Defines the size of the internal [iox2_subscriber_h](crate::api::iox2_subscriber_h) buffer that contains expired connections. An connection is expired when the [iox2_publisher_h](crate::api::iox2_publisher_h) disconnected from a service and the connection still contains unconsumed [iox2_sample_h](crate::api::iox2_sample_h)s.

Safety

◆ iox2_config_defaults_publish_subscribe_subscriber_max_borrowed_samples()

c_size_t iox2_config_defaults_publish_subscribe_subscriber_max_borrowed_samples ( iox2_config_h_ref handle)

Returns the maximum amount of [iox2_sample_h](crate::api::iox2_sample_h)s a [iox2_subscriber_h](crate::api::iox2_subscriber_h) can hold at the same time.

Safety

◆ iox2_config_defaults_publish_subscribe_subscriber_max_buffer_size()

c_size_t iox2_config_defaults_publish_subscribe_subscriber_max_buffer_size ( iox2_config_h_ref handle)

Returns the maximum buffer size a [iox2_subscriber_h](crate::api::iox2_subscriber_h) can have

Safety

◆ iox2_config_defaults_request_response_client_backpressure_strategy()

int iox2_config_defaults_request_response_client_backpressure_strategy ( iox2_config_h_ref handle)

If safe overflow is deactivated it defines the deliver strategy of the [iox2_client_h](crate::api::iox2_client_h) when the [iox2_server_h](crate::api::iox2_server_h)s request buffer is full.

Returns [iox2_backpressure_strategy_e]

Safety

◆ iox2_config_defaults_request_response_client_expired_connection_buffer()

c_size_t iox2_config_defaults_request_response_client_expired_connection_buffer ( iox2_config_h_ref handle)

Returns the expired connection buffer size for [iox2_client_h](crate::api::iox2_client_h) to retrieve [iox2_response_h](crate::api::iox2_response_h) from disconnected [iox2_server_h](crate::api::iox2_server_h)

Safety

◆ iox2_config_defaults_request_response_enable_safe_overflow_for_requests()

bool iox2_config_defaults_request_response_enable_safe_overflow_for_requests ( iox2_config_h_ref handle)

Defines how the [iox2_server_h](crate::api::iox2_server_h) buffer behaves when it is full. When safe overflow is activated, the [iox2_client_h](crate::api::iox2_client_h) will replace the oldest [iox2_request_mut_h](crate::api::iox2_request_mut_h) with the newest one.

Safety

◆ iox2_config_defaults_request_response_enable_safe_overflow_for_responses()

bool iox2_config_defaults_request_response_enable_safe_overflow_for_responses ( iox2_config_h_ref handle)

Defines how the [iox2_client_h](crate::api::iox2_client_h) buffer behaves when it is full. When safe overflow is activated, the [iox2_server_h](crate::api::iox2_server_h) will replace the oldest [iox2_response_h](crate::api::iox2_response_h) with the newest one.

Safety

◆ iox2_config_defaults_request_response_has_fire_and_forget_requests()

bool iox2_config_defaults_request_response_has_fire_and_forget_requests ( iox2_config_h_ref handle)

Returns if the service supports fire and forget requests. Those are requests where the [iox2_client_h](crate::api::iox2_client_h) does not expect a response.

Safety

◆ iox2_config_defaults_request_response_max_active_requests_per_client()

c_size_t iox2_config_defaults_request_response_max_active_requests_per_client ( iox2_config_h_ref handle)

Returns how many active requests a [iox2_client_h](crate::api::iox2_client_h) can send out in parallel and expect responses from.

Safety

◆ iox2_config_defaults_request_response_max_borrowed_responses_per_pending_response()

c_size_t iox2_config_defaults_request_response_max_borrowed_responses_per_pending_response ( iox2_config_h_ref handle)

Returns how many [iox2_response_h](crate::api::iox2_response_h)s can be borrowed per request.

Safety

◆ iox2_config_defaults_request_response_max_clients()

c_size_t iox2_config_defaults_request_response_max_clients ( iox2_config_h_ref handle)

Returns how many [iox2_client_h](crate::api::iox2_client_h)s can be connected to the same service at the same time.

Safety

◆ iox2_config_defaults_request_response_max_loaned_requests()

c_size_t iox2_config_defaults_request_response_max_loaned_requests ( iox2_config_h_ref handle)

Returns how many [iox2_request_mut_h](crate::api::iox2_request_mut_h)s can be loaned at most at the same time with a [iox2_client_h](crate::api::iox2_client_h).

Safety

◆ iox2_config_defaults_request_response_max_nodes()

c_size_t iox2_config_defaults_request_response_max_nodes ( iox2_config_h_ref handle)

Returns how many [iox2_node_h](crate::api::iox2_node_h)s can open the same service at the same time.

Safety

◆ iox2_config_defaults_request_response_max_response_buffer_size()

c_size_t iox2_config_defaults_request_response_max_response_buffer_size ( iox2_config_h_ref handle)

Returns the size of the [iox2_response_h](crate::api::iox2_response_h) buffer per request on the [iox2_client_h](crate::api::iox2_client_h) side. This is an important setting when a stream of responses is expected.

Safety

◆ iox2_config_defaults_request_response_max_servers()

c_size_t iox2_config_defaults_request_response_max_servers ( iox2_config_h_ref handle)

Returns how many [iox2_server_h](crate::api::iox2_server_h)s can be connected to the same service at the same time.

Safety

◆ iox2_config_defaults_request_response_server_backpressure_strategy()

int iox2_config_defaults_request_response_server_backpressure_strategy ( iox2_config_h_ref handle)

If safe overflow is deactivated it defines the deliver strategy of the [iox2_server_h](crate::api::iox2_server_h) when the [iox2_client_h](crate::api::iox2_client_h)s response buffer is full.

Returns [iox2_backpressure_strategy_e]

Safety

◆ iox2_config_defaults_request_response_server_expired_connection_buffer()

c_size_t iox2_config_defaults_request_response_server_expired_connection_buffer ( iox2_config_h_ref handle)

Returns the expired connection buffer size for [iox2_serve_h](crate::api::iox2_server_h) to retrieve [iox2_active_request_h](crate::api::iox2_active_request_h) from disconnected [iox2_client_h](crate::api::iox2_client_h)

Safety

◆ iox2_config_defaults_request_response_server_max_loaned_responses_per_request()

c_size_t iox2_config_defaults_request_response_server_max_loaned_responses_per_request ( iox2_config_h_ref handle)

Returns how many [iox2_response_mut_h](crate::api::iox2_response_mut_h)s can be loaned at most at the same time with a [iox2_server_h](crate::api::iox2_server_h) per request.

Safety

◆ iox2_config_defaults_request_response_set_client_backpressure_strategy()

void iox2_config_defaults_request_response_set_client_backpressure_strategy ( iox2_config_h_ref handle,
enum iox2_backpressure_strategy_e value )

Defines the backpressure strategy for the [iox2_client_h](crate::api::iox2_client_h).

Safety

◆ iox2_config_defaults_request_response_set_client_expired_connection_buffer()

void iox2_config_defaults_request_response_set_client_expired_connection_buffer ( iox2_config_h_ref handle,
c_size_t value )

Sets the expired connection buffer size for [iox2_client_h](crate::api::iox2_client_h).

Safety

◆ iox2_config_defaults_request_response_set_enable_safe_overflow_for_requests()

void iox2_config_defaults_request_response_set_enable_safe_overflow_for_requests ( iox2_config_h_ref handle,
bool value )

Enables/disables safe overflow for requests

Safety

◆ iox2_config_defaults_request_response_set_enable_safe_overflow_for_responses()

void iox2_config_defaults_request_response_set_enable_safe_overflow_for_responses ( iox2_config_h_ref handle,
bool value )

Enables/disables safe overflow for responses

Safety

◆ iox2_config_defaults_request_response_set_fire_and_forget_requests()

void iox2_config_defaults_request_response_set_fire_and_forget_requests ( iox2_config_h_ref handle,
bool value )

Defines if request response services shall support fire and forget requests.

Safety

◆ iox2_config_defaults_request_response_set_max_active_requests_per_client()

void iox2_config_defaults_request_response_set_max_active_requests_per_client ( iox2_config_h_ref handle,
c_size_t value )

Sets the max number of active requests.

Safety

◆ iox2_config_defaults_request_response_set_max_borrowed_responses_per_pending_response()

void iox2_config_defaults_request_response_set_max_borrowed_responses_per_pending_response ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum number of borrowed responses per pending response

Safety

◆ iox2_config_defaults_request_response_set_max_clients()

void iox2_config_defaults_request_response_set_max_clients ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum number of clients per service

Safety

◆ iox2_config_defaults_request_response_set_max_loaned_requests()

void iox2_config_defaults_request_response_set_max_loaned_requests ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum number of loaned requests

Safety

◆ iox2_config_defaults_request_response_set_max_nodes()

void iox2_config_defaults_request_response_set_max_nodes ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum number of nodes per service

Safety

◆ iox2_config_defaults_request_response_set_max_response_buffer_size()

void iox2_config_defaults_request_response_set_max_response_buffer_size ( iox2_config_h_ref handle,
c_size_t value )

Sets the max response buffer size

Safety

◆ iox2_config_defaults_request_response_set_max_servers()

void iox2_config_defaults_request_response_set_max_servers ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum number of servers per service

Safety

◆ iox2_config_defaults_request_response_set_server_backpressure_strategy()

void iox2_config_defaults_request_response_set_server_backpressure_strategy ( iox2_config_h_ref handle,
enum iox2_backpressure_strategy_e value )

Defines the backpressure strategy for the [iox2_server_h](crate::api::iox2_server_h).

Safety

◆ iox2_config_defaults_request_response_set_server_expired_connection_buffer()

void iox2_config_defaults_request_response_set_server_expired_connection_buffer ( iox2_config_h_ref handle,
c_size_t value )

Sets the expired connection buffer size for [iox2_server_h](crate::api::iox2_server_h).

Safety

◆ iox2_config_defaults_request_response_set_server_max_loaned_responses_per_request()

void iox2_config_defaults_request_response_set_server_max_loaned_responses_per_request ( iox2_config_h_ref handle,
c_size_t value )

Sets the maximum number of loaned responses per request

Safety

◆ iox2_config_drop()

void iox2_config_drop ( iox2_config_h handle)

Takes ownership of the handle and releases all underlying resources.

Safety

  • handle - An initialized [iox2_config_h] handle which will be uninitialized after this function call.

◆ iox2_config_from_file()

int iox2_config_from_file ( struct iox2_config_t * struct_ptr,
iox2_config_h * handle_ptr,
const char * config_file )

Creates an iceoryx2 config populated values from the provided file.

Safety

  • struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_config_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • handle_ptr - An uninitialized or dangling [iox2_config_h] handle which will be initialized by this function call.
  • config_file - Must be a valid file path to an existing config file.

◆ iox2_config_from_ptr()

void iox2_config_from_ptr ( iox2_config_ptr config,
struct iox2_config_t * struct_ptr,
iox2_config_h * handle_ptr )

Clones a config from the provided [iox2_config_ptr].

Safety

  • handle - Must be a valid pointer.
  • struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_config_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • handle_ptr - An uninitialized or dangling [iox2_config_h] handle which will be initialized by this function call.

◆ iox2_config_global_config()

iox2_config_ptr iox2_config_global_config ( void )

Returns a pointer to the global config

◆ iox2_config_global_creation_timeout()

void iox2_config_global_creation_timeout ( iox2_config_h_ref handle,
uint64_t * secs,
uint32_t * nsecs )

Returns the duration how long another process will wait until an entity like a Node or Service creation is finalized

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • secs - A valid pointer pointing to a [u64].
  • nsecs - A valid pointer pointing to a [u32]

◆ iox2_config_global_node_cleanup_dead_nodes_on_creation()

bool iox2_config_global_node_cleanup_dead_nodes_on_creation ( iox2_config_h_ref handle)

When true, [iox2_node_builder_create()](crate::api::iox2_node_builder_create) checks for dead nodes and cleans up all their stale resources whenever a new [iox2_node_h](crate::api::iox2_node_h) is created.

Safety

◆ iox2_config_global_node_cleanup_dead_nodes_on_destruction()

bool iox2_config_global_node_cleanup_dead_nodes_on_destruction ( iox2_config_h_ref handle)

When true, the [iox2_node_builder_create()](crate::api::iox2_node_builder_create) checks for dead nodes and cleans up all their stale resources whenever an existing [iox2_node_h](crate::api::iox2_node_h) is going out of scope.

Safety

◆ iox2_config_global_node_directory()

const char * iox2_config_global_node_directory ( iox2_config_h_ref handle)

Returns the directory in which all node files are stored

Safety

◆ iox2_config_global_node_global_mgmt_suffix()

const char * iox2_config_global_node_global_mgmt_suffix ( iox2_config_h_ref handle)

Returns the suffix of the global management segment.

Safety

◆ iox2_config_global_node_monitor_suffix()

const char * iox2_config_global_node_monitor_suffix ( iox2_config_h_ref handle)

Returns the suffix of the monitor token

Safety

◆ iox2_config_global_node_port_tag_suffix()

const char * iox2_config_global_node_port_tag_suffix ( iox2_config_h_ref handle)

Returns the suffix of the port tags.

Safety

◆ iox2_config_global_node_service_tag_suffix()

const char * iox2_config_global_node_service_tag_suffix ( iox2_config_h_ref handle)

Returns the suffix of the service tags.

Safety

◆ iox2_config_global_node_set_cleanup_dead_nodes_on_creation()

void iox2_config_global_node_set_cleanup_dead_nodes_on_creation ( iox2_config_h_ref handle,
bool value )

Enable/disable the cleanup dead nodes on creation

Safety

◆ iox2_config_global_node_set_cleanup_dead_nodes_on_destruction()

void iox2_config_global_node_set_cleanup_dead_nodes_on_destruction ( iox2_config_h_ref handle,
bool value )

Enable/disable the cleanup dead nodes on destruction

Safety

◆ iox2_config_global_node_set_directory()

int iox2_config_global_node_set_directory ( iox2_config_h_ref handle,
const char * value )

Sets the directory in which all node files are stored

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid path was provided

Safety

◆ iox2_config_global_node_set_global_mgmt_suffix()

int iox2_config_global_node_set_global_mgmt_suffix ( iox2_config_h_ref handle,
const char * value )

Sets the suffix of the global management segment.

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_node_set_monitor_suffix()

int iox2_config_global_node_set_monitor_suffix ( iox2_config_h_ref handle,
const char * value )

Sets the suffix of the monitor token

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_node_set_port_tag_suffix()

int iox2_config_global_node_set_port_tag_suffix ( iox2_config_h_ref handle,
const char * value )

Sets the suffix of the port tags.

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_node_set_service_tag_suffix()

int iox2_config_global_node_set_service_tag_suffix ( iox2_config_h_ref handle,
const char * value )

Sets the suffix of the service tags.

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_node_set_static_config_suffix()

int iox2_config_global_node_set_static_config_suffix ( iox2_config_h_ref handle,
const char * value )

Sets the suffix of the files where the node configuration is stored.

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_node_static_config_suffix()

const char * iox2_config_global_node_static_config_suffix ( iox2_config_h_ref handle)

Returns the suffix of the files where the node configuration is stored.

Safety

◆ iox2_config_global_prefix()

const char * iox2_config_global_prefix ( iox2_config_h_ref handle)

Returns the prefix used for all files created during runtime

Safety

◆ iox2_config_global_root_path()

const char * iox2_config_global_root_path ( iox2_config_h_ref handle)

Returns the path under which all other directories or files will be created

Safety

◆ iox2_config_global_service_blackboard_data_suffix()

const char * iox2_config_global_service_blackboard_data_suffix ( iox2_config_h_ref handle)

Returns the suffix of the blackboard payload data segment

Safety

◆ iox2_config_global_service_blackboard_mgmt_suffix()

const char * iox2_config_global_service_blackboard_mgmt_suffix ( iox2_config_h_ref handle)

Returns the suffix of the blackboard management data segment

Safety

◆ iox2_config_global_service_cleanup_dead_nodes_on_open()

bool iox2_config_global_service_cleanup_dead_nodes_on_open ( iox2_config_h_ref handle)

Returns if a dead node cleanup is performed whenever an existing service is opened by the builder.

Safety

◆ iox2_config_global_service_connection_suffix()

const char * iox2_config_global_service_connection_suffix ( iox2_config_h_ref handle)

The suffix of a one-to-one connection

Safety

◆ iox2_config_global_service_data_segment_suffix()

const char * iox2_config_global_service_data_segment_suffix ( iox2_config_h_ref handle)

Returns the suffix of the ports data segment

Safety

◆ iox2_config_global_service_directory()

const char * iox2_config_global_service_directory ( iox2_config_h_ref handle)

Returns the directory in which all service files are stored

Safety

◆ iox2_config_global_service_dynamic_config_storage_suffix()

const char * iox2_config_global_service_dynamic_config_storage_suffix ( iox2_config_h_ref handle)

Returns the suffix of the dynamic config file

Safety

◆ iox2_config_global_service_event_connection_suffix()

const char * iox2_config_global_service_event_connection_suffix ( iox2_config_h_ref handle)

Returns the suffix of a one-to-one connection

Safety

◆ iox2_config_global_service_flatbuffer_schema_path()

const char * iox2_config_global_service_flatbuffer_schema_path ( iox2_config_h_ref handle)

Returns the directory which will be used to automatically lookup flatbuffer schema files. If no directory was defined it returns a nullptr.

Safety

◆ iox2_config_global_service_set_blackboard_data_suffix()

int iox2_config_global_service_set_blackboard_data_suffix ( iox2_config_h_ref handle,
const char * value )

Sets the suffix of the blackboard payload data segment

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_service_set_blackboard_mgmt_suffix()

int iox2_config_global_service_set_blackboard_mgmt_suffix ( iox2_config_h_ref handle,
const char * value )

Sets the suffix of the blackboard management data segment

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_service_set_cleanup_dead_nodes_on_open()

void iox2_config_global_service_set_cleanup_dead_nodes_on_open ( iox2_config_h_ref handle,
bool value )

Sets if a dead node cleanup is performed whenever an existing service is opened by the builder.

Safety

◆ iox2_config_global_service_set_connection_suffix()

int iox2_config_global_service_set_connection_suffix ( iox2_config_h_ref handle,
const char * value )

Set the suffix of a one-to-one connection

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_service_set_data_segment_suffix()

int iox2_config_global_service_set_data_segment_suffix ( iox2_config_h_ref handle,
const char * value )

Sets the suffix of the ports data segment

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_service_set_directory()

int iox2_config_global_service_set_directory ( iox2_config_h_ref handle,
const char * value )

Sets the directory in which all service files are stored

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid path was provided

Safety

◆ iox2_config_global_service_set_dynamic_config_storage_suffix()

int iox2_config_global_service_set_dynamic_config_storage_suffix ( iox2_config_h_ref handle,
const char * value )

Sets the suffix of the dynamic config file

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_service_set_event_connection_suffix()

int iox2_config_global_service_set_event_connection_suffix ( iox2_config_h_ref handle,
const char * value )

Sets the suffix of a one-to-one connection

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_service_set_flatbuffer_schema_path()

int iox2_config_global_service_set_flatbuffer_schema_path ( iox2_config_h_ref handle,
const char * value )

Sets the directory which will be used to automatically lookup flatbuffer schema files. If the provided string literal is a nullptr, the path will be unset.

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid path was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid null-terminated string the corresponds to a valid path or a nullptr

◆ iox2_config_global_service_set_static_config_storage_suffix()

int iox2_config_global_service_set_static_config_storage_suffix ( iox2_config_h_ref handle,
const char * value )

Sets the suffix of the static config file

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_service_static_config_storage_suffix()

const char * iox2_config_global_service_static_config_storage_suffix ( iox2_config_h_ref handle)

Returns the suffix of the static config file

Safety

◆ iox2_config_global_set_creation_timeout()

void iox2_config_global_set_creation_timeout ( iox2_config_h_ref handle,
uint64_t sec,
uint32_t nsec )

Sets the creation timeout

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the suffix

◆ iox2_config_global_set_prefix()

int iox2_config_global_set_prefix ( iox2_config_h_ref handle,
const char * value )

Sets the prefix used for all files created during runtime

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid file name was provided

Safety

  • handle - A valid non-owning [iox2_config_h_ref].
  • value - A valid file name containing the prefix

◆ iox2_config_global_set_root_path()

int iox2_config_global_set_root_path ( iox2_config_h_ref handle,
const char * value )

Sets the path under which all other directories or files will be created

Returns: [iox2_semantic_string_error_e](crate::api::iox2_semantic_string_error_e) when an invalid path was provided

Safety

◆ iox2_config_setup_global_config_from_file()

int iox2_config_setup_global_config_from_file ( iox2_config_ptr * handle_ptr,
const char * config_file )

Creates an iceoryx2 config, populated values from the provided file and sets it as global default.

Safety

  • handle_ptr - An uninitialized or dangling [iox2_config_ptr] handle which will be initialized by this function call.
  • config_file - Must be a valid file path to an existing config file.

◆ iox2_connection_failure_string()

const char * iox2_connection_failure_string ( enum iox2_connection_failure_e error)

Returns a string literal describing the provided [iox2_connection_failure_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_dead_node_blocking_remove_stale_resources()

int iox2_dead_node_blocking_remove_stale_resources ( enum iox2_service_type_e service_type,
iox2_unique_node_id_h_ref node_id,
iox2_config_h_ref config,
uint64_t timeout_sec,
uint32_t timeout_nsec )

Removes all stale resources of a dead node under a provided config. If another instance is already removing the stale resources it waits until the resources are cleaned up or the timeout has passed.

Returns [IOX2_OK] on success, otherwise [iox2_node_cleanup_failure_e].

Safety

  • The node_handle must be valid and obtained by [iox2_node_builder_create](crate::iox2_node_builder_create)!
  • The node_id must be valid
  • The config must be valid
  • has_success must point to a valid memory location

◆ iox2_dead_node_try_remove_stale_resources()

int iox2_dead_node_try_remove_stale_resources ( enum iox2_service_type_e service_type,
iox2_unique_node_id_h_ref node_id,
iox2_config_h_ref config )

Removes all stale resources of a dead node under a provided config.

Returns [IOX2_OK] on success, otherwise [iox2_node_cleanup_failure_e].

Safety

  • The node_handle must be valid and obtained by [iox2_node_builder_create](crate::iox2_node_builder_create)!
  • The node_id must be valid
  • The config must be valid
  • has_success must point to a valid memory location

◆ iox2_degradation_info_receiver_port_id()

void iox2_degradation_info_receiver_port_id ( iox2_degradation_info_h_ref info_handle,
struct iox2_buffer_16_align_4_t * receiver_port_id )

Obtains the receiver port id, which is involved in the degradation

Arguments

Safety

  • info_handle must be a valid handle
  • receiver_port_id must not be a null pointer

References iox2_buffer_16_align_4_t.

◆ iox2_degradation_info_sender_port_id()

void iox2_degradation_info_sender_port_id ( iox2_degradation_info_h_ref info_handle,
struct iox2_buffer_16_align_4_t * sender_port_id )

Obtains the sender port id, which is involved in the degradation

Arguments

Safety

  • info_handle must be a valid handle
  • sender_port_id must not be a null pointer

References iox2_buffer_16_align_4_t.

◆ iox2_degradation_info_service_id()

void iox2_degradation_info_service_id ( iox2_degradation_info_h_ref info_handle,
struct iox2_buffer_16_align_4_t * service_id )

Obtains the service id, which is involved in the degradation

Arguments

Safety

  • info_handle must be a valid handle
  • service_id must not be a null pointer

References iox2_buffer_16_align_4_t.

◆ iox2_entry_handle_drop()

void iox2_entry_handle_drop ( iox2_entry_handle_h entry_handle_handle)

This function needs to be called to destroy the entry handle!

Arguments

Safety

  • The entry_handle_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_entry_handle_t] can be re-used with a call to [iox2_reader_entry](crate::iox2_reader_entry)!

◆ iox2_entry_handle_entry_id()

void iox2_entry_handle_entry_id ( iox2_entry_handle_h_ref entry_handle_handle,
struct iox2_event_id_t * entry_id )

Returns an id corresponding to the entry which can be used in an event based communication setup.

Safety

◆ iox2_entry_handle_error_string()

const char * iox2_entry_handle_error_string ( enum iox2_entry_handle_error_e error)

Returns a string literal describing the provided [iox2_entry_handle_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_entry_handle_get()

void iox2_entry_handle_get ( iox2_entry_handle_h_ref entry_handle_handle,
void * value_ptr,
c_size_t value_size,
c_size_t value_alignment,
void * generation_counter_ptr )

Copies the value to value_ptr. If a generation_counter_ptr is passed, a copy of the value's generation counter is stored in it which can be used to check for value updates.

Safety

  • entry_handle_handle obtained by [iox2_reader_entry()](crate::iox2_reader_entry())
  • value_ptr a valid, non-null [*mut c_void] pointer
  • value_size the size of the value type
  • value_alignment the alignment of the value type

◆ iox2_entry_handle_is_up_to_date()

bool iox2_entry_handle_is_up_to_date ( iox2_entry_handle_h_ref entry_handle_handle,
uint64_t generation_counter )

Checks if the blackboard value that corresponds to the generation_counter is up-to-date.

Safety

◆ iox2_entry_handle_mut_drop()

void iox2_entry_handle_mut_drop ( iox2_entry_handle_mut_h entry_handle_mut_handle)

This function needs to be called to destroy the entry handle mut!

Arguments

Safety

  • The entry_handle_mut_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_entry_handle_mut_t] can be re-used with a call to [iox2_writer_entry](crate::iox2_writer_entry)!

◆ iox2_entry_handle_mut_entry_id()

void iox2_entry_handle_mut_entry_id ( iox2_entry_handle_mut_h_ref entry_handle_mut_handle,
struct iox2_event_id_t * entry_id )

Returns an id corresponding to the entry which can be used in an event based communication setup.

Safety

◆ iox2_entry_handle_mut_error_string()

const char * iox2_entry_handle_mut_error_string ( enum iox2_entry_handle_mut_error_e error)

Returns a string literal describing the provided [iox2_entry_handle_mut_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_entry_handle_mut_loan_uninit()

void iox2_entry_handle_mut_loan_uninit ( iox2_entry_handle_mut_h entry_handle_mut_handle,
struct iox2_entry_value_uninit_t * entry_value_uninit_struct_ptr,
iox2_entry_value_uninit_h * entry_value_uninit_handle_ptr,
size_t value_size,
size_t value_alignment )

Consumes the iox2_entry_handle_mut and loans an uninitialized entry value that can be used to update without copy.

Safety

  • entry_handle_mut_handle obtained by [iox2_writer_entry()](crate::iox2_writer_entry()), is invalid after the return of this function
  • entry_value_uninit_struct_ptr must be either a NULL pointer or a pointer to a valid [iox2_entry_value_uninit_t]
  • entry_value_uninit_handle_ptr a valid, non-null [*mut iox2_entry_value_uninit_h] pointer which will be initialized by this function call
  • value_size the size of the value type that shall be stored in the entry value
  • value_alignment the alignment of the value type that shall be stored in the entry value

◆ iox2_entry_handle_mut_update_with_copy()

void iox2_entry_handle_mut_update_with_copy ( iox2_entry_handle_mut_h_ref entry_handle_mut_handle,
void * value_ptr,
size_t value_size,
size_t value_alignment )

Updates the entry value by copying the value pointed to by value_ptr

Safety

  • entry_handle_mut_handle obtained by [iox2_writer_entry()](crate::iox2_writer_entry())
  • value_ptr a valid, non-null [*mut c_void] pointer which points to the value to be stored
  • value_size the size of the value type that shall be stored in the entry value
  • value_alignment the alignment of the value type that shall be stored in the entry value

◆ iox2_entry_value_uninit_discard()

void iox2_entry_value_uninit_discard ( iox2_entry_value_uninit_h entry_value_uninit_handle,
struct iox2_entry_handle_mut_t * entry_handle_mut_struct_ptr,
iox2_entry_handle_mut_h * entry_handle_mut_handle_ptr )

Consumes and discards the entry value and returns the original entry handle mut.

Safety

  • entry_value_uninit_handle obtained by [iox2_entry_handle_mut_loan_uninit()](crate::iox2_entry_handle_mut_loan_uninit()), it's invalid after the return of this function
  • entry_handle_mut_struct_ptr must be either a NULL pointer or a pointer to a valid [iox2_entry_handle_mut_t]
  • entry_handle_mut_handle_ptr a valid, non-null [*mut iox2_entry_handle_mut_h] pointer which will be initialized by this function call

◆ iox2_entry_value_uninit_drop()

void iox2_entry_value_uninit_drop ( iox2_entry_value_uninit_h entry_value_uninit_handle)

This function needs to be called to destroy the entry value!

Arguments

Safety

  • The entry_value_uninit_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_entry_value_uninit_t] can be re-used with a call to [iox2_entry_handle_mut_loan_uninit()](crate::iox2_entry_handle_mut_loan_uninit())!

◆ iox2_entry_value_uninit_update()

void iox2_entry_value_uninit_update ( iox2_entry_value_uninit_h entry_value_uninit_handle,
struct iox2_entry_handle_mut_t * entry_handle_mut_struct_ptr,
iox2_entry_handle_mut_h * entry_handle_mut_handle_ptr )

Consumes the entry value, makes the new value readable for [iox2_reader_t](crate::iox2_reader_t) and returns the original entry handle mut.

Safety

  • entry_value_uninit_handle obtained by [iox2_entry_handle_mut_loan_uninit()](crate::iox2_entry_handle_mut_loan_uninit()), it's invalid after the return of this function
  • entry_handle_mut_struct_ptr must be either a NULL pointer or a pointer to a valid [iox2_entry_handle_mut_t]
  • entry_handle_mut_handle_ptr a valid, non-null [*mut iox2_entry_handle_mut_h] pointer which will be initialized by this function call

◆ iox2_entry_value_uninit_value_mut()

void iox2_entry_value_uninit_value_mut ( iox2_entry_value_uninit_h_ref entry_value_uninit_handle,
void ** value_ptr )

Acquires the entrie's mutable value. After writing the value, [iox2_entry_value_uninit_update()] must be called.

Safety

  • entry_value_uninit_handle obtained by [iox2_entry_handle_mut_loan_uninit()](crate::iox2_entry_handle_mut_loan_uninit())
  • value_ptr a valid, non-null pointer pointing to a [*mut c_void] pointer.

◆ iox2_event_open_or_create_error_string()

const char * iox2_event_open_or_create_error_string ( enum iox2_event_open_or_create_error_e error)

Returns a string literal describing the provided [iox2_event_open_or_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_file_descriptor_drop()

void iox2_file_descriptor_drop ( iox2_file_descriptor_h handle)

Releases a [iox2_file_descriptor_h].

Safety

◆ iox2_file_descriptor_native_handle()

int32_t iox2_file_descriptor_native_handle ( iox2_file_descriptor_ptr handle)

Returns the underlying native file descriptor value. When the [iox2_file_descriptor_h_ref] is owning the file descriptor, the native value is valid until [iox2_file_descriptor_drop()] is called.

Safety

◆ iox2_file_descriptor_new()

bool iox2_file_descriptor_new ( int32_t value,
bool is_owned,
struct iox2_file_descriptor_t * struct_ptr,
iox2_file_descriptor_h * handle_ptr )

Creates a new [iox2_file_descriptor_t].

Return

Returns true, when the [iox2_file_descriptor_h] was initialized successfully. If the user provided an invalid file descriptor it returns false.

Safety

  • struct_ptr must be either null or pointing to a valid uninitialized memory location
  • handle_ptr must be non-null and pointing to valid uninitialized memory
  • handle_ptr must be cleaned up with [iox2_file_descriptor_drop()]

◆ iox2_get_log_level()

enum iox2_log_level_e iox2_get_log_level ( void )

Returns the current log level.

◆ iox2_listener_blocking_wait()

int iox2_listener_blocking_wait ( iox2_listener_h_ref listener_handle,
uint64_t * number_of_notifications,
iox2_listener_wait_all_callback callback,
iox2_callback_context callback_ctx )

Blocks the listener until at least one event was received and then calls the callback for every received event providing the corresponding [iox2_event_id_t] pointer to the event. On error it returns [iox2_listener_wait_error_e].

Arguments

Safety

  • The listener_handle must be a valid handle.
  • The callback must be a valid function pointer.

◆ iox2_listener_create_error_string()

const char * iox2_listener_create_error_string ( enum iox2_listener_create_error_e error)

Returns a string literal describing the provided [iox2_listener_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_listener_deadline()

bool iox2_listener_deadline ( iox2_listener_h_ref listener_handle,
uint64_t * seconds,
uint32_t * nanoseconds )

Returns the deadline of the listener's service. If there is a deadline set, the provided arguments seconds and nanoseconds will be set true is returned. Otherwise, false is returned and nothing is set.

Safety

  • listener_handle is valid, non-null and was obtained via [iox2_port_factory_listener_builder_create](crate::iox2_port_factory_listener_builder_create)
  • seconds is pointing to a valid memory location and non-null
  • nanoseconds is pointing to a valid memory location and non-null

◆ iox2_listener_details_listener_id()

void iox2_listener_details_listener_id ( iox2_listener_details_ptr handle,
struct iox2_unique_listener_id_t * id_struct_ptr,
iox2_unique_listener_id_h * id_handle_ptr )

Returns the unique port id of the listener.

Safety

  • handle valid pointer to the listener details
  • id_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_unique_listener_id_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • id_handle_ptr valid pointer to a [iox2_unique_listener_id_h].

◆ iox2_listener_details_listener_name()

iox2_port_name_ptr iox2_listener_details_listener_name ( iox2_listener_details_ptr handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the name of the listener.

Safety

  • handle valid pointer to the listener details

◆ iox2_listener_details_node_id()

iox2_unique_node_id_ptr iox2_listener_details_node_id ( iox2_listener_details_ptr handle)

Returns the [iox2_unique_node_id_ptr], an immutable pointer to the node id.

Safety

  • handle valid pointer to the listener details

◆ iox2_listener_drop()

void iox2_listener_drop ( iox2_listener_h listener_handle)

This function needs to be called to destroy the listener!

Arguments

Safety

  • The listener_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_listener_t] can be re-used with a call to [iox2_port_factory_listener_builder_create](crate::iox2_port_factory_listener_builder_create)!

◆ iox2_listener_get_file_descriptor()

iox2_file_descriptor_ptr iox2_listener_get_file_descriptor ( iox2_listener_h_ref listener_handle)

Returns the underlying non-owning file descriptor of the [iox2_listener_h] if the [iox2_listener_h] is file descriptor based, otherwise it returns NULL.

Arguments

Safety

  • The listener_handle must be a valid handle.

◆ iox2_listener_id()

void iox2_listener_id ( iox2_listener_h_ref listener_handle,
struct iox2_unique_listener_id_t * id_struct_ptr,
iox2_unique_listener_id_h * id_handle_ptr )

Returns the unique port id of the listener.

Arguments

Safety

◆ iox2_listener_name()

iox2_port_name_ptr iox2_listener_name ( iox2_listener_h_ref listener_handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the port name.

Arguments

Safety

◆ iox2_listener_timed_wait()

int iox2_listener_timed_wait ( iox2_listener_h_ref listener_handle,
uint64_t * number_of_notifications,
iox2_listener_wait_all_callback callback,
iox2_callback_context callback_ctx,
uint64_t seconds,
uint32_t nanoseconds )

Blocks the listener until at least one event was received or the provided timeout has passed. When an event was received then it calls the callback for every received event providing the corresponding [iox2_event_id_t] pointer to the event. On error it returns [iox2_listener_wait_error_e].

Arguments

Safety

  • The listener_handle must be a valid handle.
  • The callback must be a valid function pointer.

◆ iox2_listener_try_wait()

int iox2_listener_try_wait ( iox2_listener_h_ref listener_handle,
uint64_t * number_of_notifications,
iox2_listener_wait_all_callback callback,
iox2_callback_context callback_ctx )

Tries to wait on the listener and calls the callback for every received event providing the corresponding [iox2_event_id_t] pointer to the event. On error it returns [iox2_listener_wait_error_e].

Arguments

Safety

  • The listener_handle must be a valid handle.
  • The callback must be a valid function pointer.

◆ iox2_listener_wait_error_string()

const char * iox2_listener_wait_error_string ( enum iox2_listener_wait_error_e error)

Returns a string representation of the provided [iox2_listener_wait_error_e] error code.

Arguments

  • error - The error code that should be converted into a string

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

  • The returned pointer must not be modified or freed and is only valid as long as the program runs

◆ iox2_loan_error_string()

const char * iox2_loan_error_string ( enum iox2_loan_error_e error)

Returns a string literal describing the provided [iox2_loan_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_log()

void iox2_log ( enum iox2_log_level_e log_level,
const char * origin,
const char * message )

Adds a log message to the logger.

Safety

  • origin must be either NULL or a valid pointer to a string.
  • message must be a valid pointer to a string

◆ iox2_node_blocking_cleanup_dead_nodes()

void iox2_node_blocking_cleanup_dead_nodes ( iox2_node_h_ref node_handle,
struct iox2_cleanup_state_t * cleanup_state,
uint64_t timeout_secs,
uint32_t timeout_nsecs )

Removes the stale system resources of all dead nodes. The dead nodes are also removed from all registered services.

If a node cannot be cleaned up since the process has insufficient permissions then the node is skipped. If it is currently being cleaned up by another process then the cleaner will wait until the timeout as either passed or the cleaned was finished.

The timeout is applied to every individual dead node the function needs to wait on.

Arguments

  • timeout_secs - The timeout second part
  • timeout_nsecs - The timeout nanosecond part

Safety

◆ iox2_node_builder_create()

int iox2_node_builder_create ( iox2_node_builder_h node_builder_handle,
struct iox2_node_t * node_struct_ptr,
enum iox2_service_type_e service_type,
iox2_node_h * node_handle_ptr )

Creates a node and consumes the builder

Arguments

  • node_builder_handle - Must be a valid [iox2_node_builder_h] obtained by [iox2_node_builder_new].
  • node_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_node_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • service_type - The [iox2_service_type_e] for the node to be created.
  • node_handle_ptr - An uninitialized or dangling [iox2_node_h] handle which will be initialized by this function call.

Returns IOX2_OK on success, an [iox2_node_creation_failure_e] otherwise.

Safety

  • The node_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_node_builder_t] can be re-used with a call to [iox2_node_builder_new]!

◆ iox2_node_builder_new()

iox2_node_builder_h iox2_node_builder_new ( struct iox2_node_builder_t * node_builder_struct_ptr)

Creates a builder for nodes

Arguments

  • node_builder_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_node_builder_t]. If it is a NULL pointer, the storage will be allocated on the heap.

Returns

A [iox2_node_builder_h] handle to build the actual node.

Safety

◆ iox2_node_builder_set_config()

void iox2_node_builder_set_config ( iox2_node_builder_h_ref node_builder_handle,
iox2_config_h_ref config_handle )

Sets the node config for the builder

Returns IOX2_OK

Safety

◆ iox2_node_builder_set_name()

void iox2_node_builder_set_name ( iox2_node_builder_h_ref node_builder_handle,
iox2_node_name_ptr node_name_ptr )

Sets the node name for the builder

Arguments

Safety

  • node_builder_handle as well as node_name_ptr must be valid handles

◆ iox2_node_builder_set_signal_handling_mode()

void iox2_node_builder_set_signal_handling_mode ( iox2_node_builder_h_ref node_builder_handle,
enum iox2_signal_handling_mode_e signal_handling_mode )

Sets the [iox2_signal_handling_mode_e] for the [iox2_node_h].

Arguments

Safety

  • node_builder_handle must be a valid handle

◆ iox2_node_config()

iox2_config_ptr iox2_node_config ( iox2_node_h_ref node_handle)

Returns the [iox2_config_ptr], an immutable pointer to the config.

Safety

◆ iox2_node_creation_failure_string()

const char * iox2_node_creation_failure_string ( enum iox2_node_creation_failure_e error)

Returns a string literal describing the provided [iox2_node_creation_failure_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_node_drop()

void iox2_node_drop ( iox2_node_h node_handle)

This function needs to be called to destroy the node!

Arguments

Safety

  • The node_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_node_t] can be re-used with a call to [iox2_node_builder_create](crate::iox2_node_builder_create)!

◆ iox2_node_force_remove_service()

int iox2_node_force_remove_service ( iox2_node_h_ref node_handle,
iox2_service_name_ptr service_name_ptr,
enum iox2_messaging_pattern_e messaging_pattern,
bool * service_removed )

Removes a service by force. This shall be used if the resources could not be removed in a previous run and now it is no longer possible to open the service.

Safety

  • No other process shall use the service.
  • The node_handle must be valid and obtained by [iox2_node_builder_create](crate::iox2_node_builder_create)!
  • The service_name_ptr is valid and non-null
  • The service_removed variable points to a valid bool

◆ iox2_node_list()

int iox2_node_list ( enum iox2_service_type_e service_type,
iox2_config_ptr config_ptr,
iox2_node_list_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly with an [iox2_node_state_e], [iox2_unique_node_id_ptr], [´iox2_node_name_ptr´] and [iox2_config_ptr] for all [Node]s in the system under a given [Config].

Arguments

Returns IOX2_OK on success, an [iox2_node_list_failure_e] otherwise.

Safety

◆ iox2_node_list_failure_string()

const char * iox2_node_list_failure_string ( enum iox2_node_list_failure_e error)

Returns a string representation of the [iox2_node_list_failure_e] error code.

Arguments

  • error - The error value for which a description should be returned

Returns a pointer to a null-terminated string containing the error description.

Safety

  • The returned pointer is valid as long as the program runs and must not be modified or freed

◆ iox2_node_name()

iox2_node_name_ptr iox2_node_name ( iox2_node_h_ref node_handle)

Returns the [iox2_node_name_ptr], an immutable pointer to the node name.

Safety

◆ iox2_node_name_as_chars()

const char * iox2_node_name_as_chars ( iox2_node_name_ptr node_name_ptr,
c_size_t * node_name_len )

This function gives access to the node name as a non-zero-terminated char array

Arguments

Returns a non-zero-terminated char array

Safety

  • The node_name_ptr must be a valid pointer to a node name.
  • The node_name_len must be a valid pointer to a size_t.

◆ iox2_node_name_drop()

void iox2_node_name_drop ( iox2_node_name_h node_name_handle)

This function needs to be called to destroy the node name!

Arguments

Safety

  • The node_name_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_node_name_t] can be re-used with a call to [iox2_node_name_new]!

◆ iox2_node_name_new()

int iox2_node_name_new ( struct iox2_node_name_t * node_name_struct_ptr,
const char * node_name_str,
c_size_t node_name_len,
iox2_node_name_h * node_name_handle_ptr )

This function create a new node name!

Arguments

  • node_name_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_node_name_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • node_name_str - Must be valid node name string.
  • node_name_len - The length of the node name string, not including a null termination.
  • node_name_handle_ptr - An uninitialized or dangling [iox2_node_name_h] handle which will be initialized by this function call.

Returns IOX2_OK on success, an [iox2_semantic_string_error_e] otherwise.

Safety

  • Terminates if node_name_str or node_name_handle_ptr is a NULL pointer!
  • It is undefined behavior to pass a node_name_len which is larger than the actual length of node_name_str!

◆ iox2_node_service_builder()

iox2_service_builder_h iox2_node_service_builder ( iox2_node_h_ref node_handle,
struct iox2_service_builder_t * service_builder_struct_ptr,
iox2_service_name_ptr service_name_ptr )

Arguments

Returns the iox2_service_builder_h handle for the service builder.

Safety

  • The node_handle is still valid after the return of this function and can be use in another function call.

◆ iox2_node_signal_handling_mode()

enum iox2_signal_handling_mode_e iox2_node_signal_handling_mode ( iox2_node_h_ref node_handle)

Returns the [iox2_signal_handling_mode_e] with which the node was created.

Safety

◆ iox2_node_try_cleanup_dead_nodes()

void iox2_node_try_cleanup_dead_nodes ( iox2_node_h_ref node_handle,
struct iox2_cleanup_state_t * cleanup_state )

Removes the stale system resources of all dead nodes. The dead nodes are also removed from all registered services.

If a node cannot be cleaned up since the process has insufficient permissions or it is currently being cleaned up by another process then the node is skipped.

Safety

◆ iox2_node_wait()

int iox2_node_wait ( iox2_node_h_ref node_handle,
uint64_t cycle_time_sec,
uint32_t cycle_time_nsec )

Wait until the provided cycle time has passed and returns a [iox2_node_wait_failure_e] enum containing the event that has occurred.

Safety

◆ iox2_node_wait_failure_string()

const char * iox2_node_wait_failure_string ( enum iox2_node_wait_failure_e error)

Returns a string representation of the [iox2_node_wait_failure_e] error code.

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

  • The returned pointer is valid as long as the program runs and must not be modified or freed

◆ iox2_node_waitset_builder()

iox2_waitset_builder_h iox2_node_waitset_builder ( iox2_node_h_ref node_handle,
struct iox2_waitset_builder_t * waitset_builder_struct_ptr )

Arguments

Returns the iox2_waitset_builder_h handle for the waitset builder.

Safety

  • The node_handle is still valid after the return of this function and can be use in another function call.

◆ iox2_notifier_create_error_string()

const char * iox2_notifier_create_error_string ( enum iox2_notifier_create_error_e error)

Returns a string literal describing the provided [iox2_notifier_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_notifier_deadline()

bool iox2_notifier_deadline ( iox2_notifier_h_ref notifier_handle,
uint64_t * seconds,
uint32_t * nanoseconds )

Returns the deadline of the notifier's service. If there is a deadline set, the provided arguments seconds and nanoseconds will be set true is returned. Otherwise, false is returned and nothing is set.

Safety

  • notifier_handle is valid, non-null and was obtained via [iox2_port_factory_listener_builder_create](crate::iox2_port_factory_listener_builder_create)
  • seconds is pointing to a valid memory location and non-null
  • nanoseconds is pointing to a valid memory location and non-null

◆ iox2_notifier_details_node_id()

iox2_unique_node_id_ptr iox2_notifier_details_node_id ( iox2_notifier_details_ptr handle)

Returns the [iox2_unique_node_id_ptr], an immutable pointer to the node id.

Safety

  • handle valid pointer to the notifier details

◆ iox2_notifier_details_notifier_id()

void iox2_notifier_details_notifier_id ( iox2_notifier_details_ptr handle,
struct iox2_unique_notifier_id_t * id_struct_ptr,
iox2_unique_notifier_id_h * id_handle_ptr )

Returns the unique port id of the notifier.

Safety

  • handle valid pointer to the notifier details
  • id_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_unique_notifier_id_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • id_handle_ptr valid pointer to a [iox2_unique_notifier_id_h].

◆ iox2_notifier_details_notifier_name()

iox2_port_name_ptr iox2_notifier_details_notifier_name ( iox2_notifier_details_ptr handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the name of the notifier.

Safety

  • handle valid pointer to the notifier details

◆ iox2_notifier_drop()

void iox2_notifier_drop ( iox2_notifier_h notifier_handle)

This function needs to be called to destroy the notifier!

Arguments

Safety

  • The notifier_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_notifier_t] can be re-used with a call to [iox2_port_factory_notifier_builder_create](crate::iox2_port_factory_notifier_builder_create)!

◆ iox2_notifier_id()

void iox2_notifier_id ( iox2_notifier_h_ref notifier_handle,
struct iox2_unique_notifier_id_t * id_struct_ptr,
iox2_unique_notifier_id_h * id_handle_ptr )

Returns the unique port id of the notifier.

Safety

◆ iox2_notifier_name()

iox2_port_name_ptr iox2_notifier_name ( iox2_notifier_h_ref notifier_handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the port name.

Arguments

Safety

◆ iox2_notifier_notify()

int iox2_notifier_notify ( iox2_notifier_h_ref notifier_handle,
c_size_t * number_of_notified_listener_ptr )

Notifies all [iox2_listener_h](crate::iox2_listener_h) connected to the service with the default event id provided on creation.

Arguments

Returns IOX2_OK on success, an [iox2_notifier_notify_error_e] otherwise.

Safety

notifier_handle must be a valid handle and is still valid after the return of this function and can be use in another function call.

◆ iox2_notifier_notify_error_string()

const char * iox2_notifier_notify_error_string ( enum iox2_notifier_notify_error_e error)

Returns a string literal describing the provided [iox2_notifier_notify_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_notifier_notify_with_custom_event_id()

int iox2_notifier_notify_with_custom_event_id ( iox2_notifier_h_ref notifier_handle,
const struct iox2_event_id_t * custom_event_id_ptr,
c_size_t * number_of_notified_listener_ptr )

Notifies all [iox2_listener_h](crate::iox2_listener_h) connected to the service with the custom event id.

Arguments

Returns IOX2_OK on success, an [iox2_notifier_notify_error_e] otherwise.

Safety

notifier_handle must be a valid handle and is still valid after the return of this function and can be use in another function call. custom_event_id_ptr must not be a NULL pointer.

◆ iox2_pending_response_drop()

void iox2_pending_response_drop ( iox2_pending_response_h handle)

This function needs to be called to destroy the pending response!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_pending_response_t] can be re-used with a call to [iox2_request_mut_send](crate::iox2_request_mut_send)!

◆ iox2_pending_response_has_response()

bool iox2_pending_response_has_response ( iox2_pending_response_h_ref handle)

Returns true if there is a response in the buffer, otherwise false.

Arguments

Safety

  • handle must be valid a handle

◆ iox2_pending_response_header()

void iox2_pending_response_header ( iox2_pending_response_h_ref handle,
struct iox2_request_header_t * header_struct_ptr,
iox2_request_header_h * header_handle_ptr )

Acquires the requests header.

Safety

◆ iox2_pending_response_is_connected()

bool iox2_pending_response_is_connected ( iox2_pending_response_h_ref handle)

Returns true if the corresponding active request is still connected and responses can send further responses, otherwise false.

Arguments

Safety

  • handle must be valid a handle

◆ iox2_pending_response_number_of_server_connections()

c_size_t iox2_pending_response_number_of_server_connections ( iox2_pending_response_h_ref handle)

Returns how many servers received the corresponding request initially.

Arguments

Safety

  • handle must be valid a handle

◆ iox2_pending_response_payload()

void iox2_pending_response_payload ( iox2_pending_response_h_ref handle,
const void ** payload_ptr,
c_size_t * number_of_elements )

Acquires the requests payload.

Safety

  • handle - Must be a valid [iox2_pending_response_h_ref] obtained by [iox2_request_mut_send](crate::iox2_request_mut_send).
  • payload_ptr a valid, non-null pointer pointing to a *const c_void pointer.
  • number_of_elements (optional) either a null pointer or a valid pointer pointing to a [c_size_t].

◆ iox2_pending_response_receive()

int iox2_pending_response_receive ( iox2_pending_response_h_ref handle,
struct iox2_response_t * response_struct_ptr,
iox2_response_h * response_handle_ptr )

Takes a response out of the buffer.

Arguments

  • handle - Must be a valid [iox2_pending_response_h_ref] obtained by [iox2_request_mut_send](crate::iox2_request_mut_send).
  • response_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_response_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • response_handle_ptr - An uninitialized or dangling [iox2_response_h] handle which will be initialized by this function call if a sample is obtained, otherwise it will be set to NULL.

Returns IOX2_OK on success, an [iox2_receive_error_e](crate::iox2_receive_error_e) otherwise. Attention, an empty response buffer is not an error and even with IOX2_OK it is possible to get a NULL in response_handle_ptr.

Safety

  • The handle is still valid after the return of this function and can be use in another function call.
  • The response_handle_ptr is pointing to a valid [iox2_response_h].

◆ iox2_pending_response_set_disconnect_hint()

void iox2_pending_response_set_disconnect_hint ( iox2_pending_response_h_ref handle)

Marks the connection state that the Client wants to gracefully disconnect. When the server reads it, it can send the last response and drop the corresponding active request to terminate the connection ensuring that no response is lost on the client side.

Arguments

Safety

  • handle must be valid a handle

◆ iox2_pending_response_user_header()

void iox2_pending_response_user_header ( iox2_pending_response_h_ref handle,
const void ** header_ptr )

Acquires the requests user header.

Safety

◆ iox2_port_factory_blackboard_attributes()

iox2_attribute_set_ptr iox2_port_factory_blackboard_attributes ( iox2_port_factory_blackboard_h_ref port_factory_handle)

Returns the service attributes.

Safety

◆ iox2_port_factory_blackboard_blocking_cleanup_dead_nodes()

void iox2_port_factory_blackboard_blocking_cleanup_dead_nodes ( iox2_port_factory_blackboard_h_ref port_factory_handle,
struct iox2_cleanup_state_t * cleanup_state,
uint64_t timeout_secs,
uint32_t timeout_nsecs )

Removes the stale system resources of all dead nodes connected to this service.

If a node cannot be cleaned up since the process has insufficient permissions then the node is skipped. If it is currently being cleaned up by another process then the cleaner will wait until the timeout as either passed or the cleaned was finished.

The timeout is applied to every individual dead node the function needs to wait on.

Arguments

Safety

◆ iox2_port_factory_blackboard_drop()

void iox2_port_factory_blackboard_drop ( iox2_port_factory_blackboard_h port_factory_handle)

This function needs to be called to destroy the port factory!

Arguments

Safety

◆ iox2_port_factory_blackboard_dynamic_config_list_readers()

void iox2_port_factory_blackboard_dynamic_config_list_readers ( iox2_port_factory_blackboard_h_ref handle,
iox2_list_readers_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly for every connected [iox2_reader_h](crate::iox2_reader_h) and provides all communication details with a [iox2_reader_details_ptr].

Safety

  • [iox2_reader_details_ptr] - Provides a view to the reader details. Data must not be accessed outside of the callback.
  • callback - A valid callback with [iox2_list_readers_callback] signature
  • callback_ctx - An optional callback context [iox2_callback_context] to e.g. store information across callback iterations. Must be either NULL or point to a valid memory location

◆ iox2_port_factory_blackboard_dynamic_config_list_writers()

void iox2_port_factory_blackboard_dynamic_config_list_writers ( iox2_port_factory_blackboard_h_ref handle,
iox2_list_writers_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly for every connected [iox2_writer_h](crate::iox2_writer_h) and provides all communication details with a [iox2_writer_details_ptr].

Safety

  • [iox2_writer_details_ptr] - Provides a view to the writer details. Data must not be accessed outside of the callback.
  • callback - A valid callback with [iox2_list_writers_callback] signature
  • callback_ctx - An optional callback context [iox2_callback_context] to e.g. store information across callback iterations. Must be either NULL or point to a valid memory location

◆ iox2_port_factory_blackboard_dynamic_config_number_of_readers()

size_t iox2_port_factory_blackboard_dynamic_config_number_of_readers ( iox2_port_factory_blackboard_h_ref handle)

Returns how many reader ports are currently connected.

Safety

◆ iox2_port_factory_blackboard_dynamic_config_number_of_writers()

size_t iox2_port_factory_blackboard_dynamic_config_number_of_writers ( iox2_port_factory_blackboard_h_ref handle)

Returns how many writer ports are currently connected.

Safety

◆ iox2_port_factory_blackboard_list_keys()

void iox2_port_factory_blackboard_list_keys ( iox2_port_factory_blackboard_h_ref handle,
iox2_port_factory_blackboard_list_keys_callback callback,
iox2_callback_context callback_ctx )

Iterates over all keys of the blackboard and calls the provided callback with a void pointer to the key as argument.

Safety

◆ iox2_port_factory_blackboard_nodes()

int iox2_port_factory_blackboard_nodes ( iox2_port_factory_blackboard_h_ref handle,
iox2_node_list_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly with an [iox2_node_state_e](crate::api::iox2_node_state_e), [iox2_unique_node_id_ptr](crate::api::iox2_unique_node_id_ptr), [´iox2_node_name_ptr´](crate::api::iox2_node_name_ptr) and [iox2_config_ptr](crate::api::iox2_config_ptr) for all [Node](iceoryx2::node::Node)s that have opened the service.

Returns IOX2_OK on success, an [iox2_node_list_failure_e](crate::api::iox2_node_list_failure_e) otherwise.

Safety

◆ iox2_port_factory_blackboard_reader_builder()

iox2_port_factory_reader_builder_h iox2_port_factory_blackboard_reader_builder ( iox2_port_factory_blackboard_h_ref port_factory_handle,
struct iox2_port_factory_reader_builder_t * reader_builder_struct_ptr )

Instantiates a [iox2_port_factory_reader_builder_h] to build a reader.

Arguments

Returns the [iox2_port_factory_reader_builder_h] handle for the reader builder.

Safety

  • The port_factory_handle is still valid after the return of this function and can be used in another function call.

◆ iox2_port_factory_blackboard_service_hash()

void iox2_port_factory_blackboard_service_hash ( iox2_port_factory_blackboard_h_ref handle,
char * buffer,
size_t buffer_len )

Stores the service hash in the provided buffer

Safety

◆ iox2_port_factory_blackboard_service_name()

iox2_service_name_ptr iox2_port_factory_blackboard_service_name ( iox2_port_factory_blackboard_h_ref handle)

Returns the [iox2_service_name_ptr], an immutable pointer to the service name.

Safety

◆ iox2_port_factory_blackboard_static_config()

void iox2_port_factory_blackboard_static_config ( iox2_port_factory_blackboard_h_ref port_factory_handle,
struct iox2_static_config_blackboard_t * static_config )

Sets the values in the provided [iox2_static_config_blackboard_t] pointer.

Safety

◆ iox2_port_factory_blackboard_try_cleanup_dead_nodes()

void iox2_port_factory_blackboard_try_cleanup_dead_nodes ( iox2_port_factory_blackboard_h_ref port_factory_handle,
struct iox2_cleanup_state_t * cleanup_state )

Removes the stale system resources of all dead nodes connected to this service.

If a node cannot be cleaned up since the process has insufficient permissions or it is currently being cleaned up by another process then the node is skipped.

Arguments

Safety

◆ iox2_port_factory_blackboard_writer_builder()

iox2_port_factory_writer_builder_h iox2_port_factory_blackboard_writer_builder ( iox2_port_factory_blackboard_h_ref port_factory_handle,
struct iox2_port_factory_writer_builder_t * writer_builder_struct_ptr )

Instantiates a [iox2_port_factory_writer_builder_h] to build a writer.

Arguments

Returns the iox2_port_factory_writer_builder_h handle for the writer builder.

Safety

  • The port_factory_handle is still valid after the return of this function and can be used in another function call.

◆ iox2_port_factory_client_builder_backpressure_strategy()

void iox2_port_factory_client_builder_backpressure_strategy ( iox2_port_factory_client_builder_h_ref port_factory_handle,
enum iox2_backpressure_strategy_e value )

Sets the backpressure strategy for the client

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_client_builder_create()

int iox2_port_factory_client_builder_create ( iox2_port_factory_client_builder_h port_factory_handle,
struct iox2_client_t * struct_ptr,
iox2_client_h * handle_ptr )

Creates a client and consumes the builder

Arguments

Returns IOX2_OK on success, an [iox2_client_create_error_e] otherwise.

Safety

◆ iox2_port_factory_client_builder_override_requests_preallocation()

void iox2_port_factory_client_builder_override_requests_preallocation ( iox2_port_factory_client_builder_h_ref port_factory_handle,
iox2_preallocated_requests_override callback,
iox2_callback_context callback_ctx )

Defines a callback to reduce the number of preallocated requests. The input argument is the worst case number of preallocated requests required to guarantee that the client never runs out of requests to loan and send. The return value is clamped between 1 and the worst case number of preallocated requests.

Important

If the user reduces the number of preallocated requests, iceoryx2 can no longer guarantee, that the client can always loan a request to send.

Arguments

Safety

  • port_factory_handle must be a valid handle

◆ iox2_port_factory_client_builder_set_allocation_strategy()

void iox2_port_factory_client_builder_set_allocation_strategy ( iox2_port_factory_client_builder_h_ref port_factory_handle,
enum iox2_allocation_strategy_e value )

Sets the [iox2_allocation_strategy_e] for the client

Arguments

Safety

  • port_factory_handle must be a valid handle

◆ iox2_port_factory_client_builder_set_backpressure_handler()

void iox2_port_factory_client_builder_set_backpressure_handler ( iox2_port_factory_client_builder_h_ref port_factory_handle,
iox2_backpressure_handler handler,
iox2_callback_context ctx )

Sets the backpressure handler for the client to be able to execute custom code if a request cannot be delivered

Arguments

Safety

  • port_factory_handle must be valid handles
  • ctx is stored for later use; if the client, including the send function, is accessed from multiple threads, the ctx must be thread-safe

◆ iox2_port_factory_client_builder_set_initial_max_slice_len()

void iox2_port_factory_client_builder_set_initial_max_slice_len ( iox2_port_factory_client_builder_h_ref port_factory_handle,
c_size_t value )

Sets the max slice length for the client

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_client_builder_set_max_active_requests()

void iox2_port_factory_client_builder_set_max_active_requests ( iox2_port_factory_client_builder_h_ref port_factory_handle,
c_size_t value )

Sets the maximal active requests for the client.

Arguments

Safety

  • port_factory_handle must be valid

◆ iox2_port_factory_client_builder_set_name()

void iox2_port_factory_client_builder_set_name ( iox2_port_factory_client_builder_h_ref port_factory_handle,
iox2_port_name_ptr port_name_ptr )

Sets the port name for the Client

Arguments

Safety

  • port_factory_handle as well as port_name_ptr must be valid handles

◆ iox2_port_factory_client_builder_set_request_degradation_handler()

void iox2_port_factory_client_builder_set_request_degradation_handler ( iox2_port_factory_client_builder_h_ref port_factory_handle,
iox2_degradation_handler handler,
iox2_callback_context ctx )

Sets the request degradation handler for the client

Arguments

Safety

  • port_factory_handle must be a valid handle
  • ctx is stored for later use; if the client, including the send and receive functions, is accessed from multiple threads, the ctx must be thread-safe

◆ iox2_port_factory_client_builder_set_response_degradation_handler()

void iox2_port_factory_client_builder_set_response_degradation_handler ( iox2_port_factory_client_builder_h_ref port_factory_handle,
iox2_degradation_handler handler,
iox2_callback_context ctx )

Sets the response degradation handler for the client

Arguments

Safety

  • port_factory_handle must be a valid handle
  • ctx is stored for later use; if the client, including the send and receive functions, is accessed from multiple threads, the ctx must be thread-safe

◆ iox2_port_factory_event_attributes()

iox2_attribute_set_ptr iox2_port_factory_event_attributes ( iox2_port_factory_event_h_ref port_factory_handle)

Returns the services attributes.

Safety

  • The port_factory_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The port_factory_handle must live longer than the returned iox2_attribute_set_h_ref.

◆ iox2_port_factory_event_blocking_cleanup_dead_nodes()

void iox2_port_factory_event_blocking_cleanup_dead_nodes ( iox2_port_factory_event_h_ref port_factory_handle,
struct iox2_cleanup_state_t * cleanup_state,
uint64_t timeout_secs,
uint32_t timeout_nsecs )

Removes the stale system resources of all dead nodes connected to this service.

If a node cannot be cleaned up since the process has insufficient permissions then the node is skipped. If it is currently being cleaned up by another process then the cleaner will wait until the timeout as either passed or the cleaned was finished.

The timeout is applied to every individual dead node the function needs to wait on.

Arguments

Safety

◆ iox2_port_factory_event_drop()

void iox2_port_factory_event_drop ( iox2_port_factory_event_h port_factory_handle)

This function needs to be called to destroy the port factory!

Arguments

Safety

◆ iox2_port_factory_event_dynamic_config_list_listeners()

void iox2_port_factory_event_dynamic_config_list_listeners ( iox2_port_factory_event_h_ref handle,
iox2_list_listeners_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly for every connected [iox2_listener_h](crate::iox2_listener_h) and provides all communication details with a [iox2_listener_details_ptr].

Safety

  • [iox2_listener_details_ptr] - Provides a view to the listener details. Data must not be accessed outside of the callback.
  • callback - A valid callback with [iox2_list_listeners_callback] signature
  • callback_ctx - An optional callback context [iox2_callback_context] to e.g. store information across callback iterations. Must be either NULL or point to a valid memory location

◆ iox2_port_factory_event_dynamic_config_list_notifiers()

void iox2_port_factory_event_dynamic_config_list_notifiers ( iox2_port_factory_event_h_ref handle,
iox2_list_notifiers_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly for every connected [iox2_notifier_h](crate::iox2_notifier_h) and provides all communication details with a [iox2_notifier_details_ptr].

Safety

  • [iox2_notifier_details_ptr] - Provides a view to the notifier details. Data must not be accessed outside of the callback.
  • callback - A valid callback with [iox2_list_notifiers_callback] signature
  • callback_ctx - An optional callback context [iox2_callback_context] to e.g. store information across callback iterations. Must be either NULL or point to a valid memory location

◆ iox2_port_factory_event_dynamic_config_number_of_listeners()

size_t iox2_port_factory_event_dynamic_config_number_of_listeners ( iox2_port_factory_event_h_ref handle)

Returns how many listener ports are currently connected.

Safety

◆ iox2_port_factory_event_dynamic_config_number_of_notifiers()

size_t iox2_port_factory_event_dynamic_config_number_of_notifiers ( iox2_port_factory_event_h_ref handle)

Returns how many notifier ports are currently connected.

Safety

◆ iox2_port_factory_event_listener_builder()

iox2_port_factory_listener_builder_h iox2_port_factory_event_listener_builder ( iox2_port_factory_event_h_ref port_factory_handle,
struct iox2_port_factory_listener_builder_t * listener_builder_struct_ptr )

Instantiates a [iox2_port_factory_listener_builder_h] to build a listener.

Arguments

Returns the [iox2_port_factory_listener_builder_h] handle for the listener builder.

Safety

  • The port_factory_handle is still valid after the return of this function and can be use in another function call.

◆ iox2_port_factory_event_nodes()

int iox2_port_factory_event_nodes ( iox2_port_factory_event_h_ref handle,
iox2_node_list_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly with an [iox2_node_state_e](crate::api::iox2_node_state_e), [iox2_unique_node_id_ptr](crate::api::iox2_unique_node_id_ptr), [´iox2_node_name_ptr´](crate::api::iox2_node_name_ptr) and [iox2_config_ptr](crate::api::iox2_config_ptr) for all [Node](iceoryx2::node::Node)s that have opened the service.

Returns IOX2_OK on success, an [iox2_node_list_failure_e](crate::api::iox2_node_list_failure_e) otherwise.

Safety

◆ iox2_port_factory_event_notifier_builder()

iox2_port_factory_notifier_builder_h iox2_port_factory_event_notifier_builder ( iox2_port_factory_event_h_ref port_factory_handle,
struct iox2_port_factory_notifier_builder_t * notifier_builder_struct_ptr )

Instantiates a [iox2_port_factory_notifier_builder_h] to build a notifier.

Arguments

Returns the iox2_port_factory_notifier_builder_h handle for the notifier builder.

Safety

  • The port_factory_handle is still valid after the return of this function and can be use in another function call.

◆ iox2_port_factory_event_service_hash()

void iox2_port_factory_event_service_hash ( iox2_port_factory_event_h_ref handle,
char * buffer,
size_t buffer_len )

Stores the service hash in the provided buffer

Safety

◆ iox2_port_factory_event_service_name()

iox2_service_name_ptr iox2_port_factory_event_service_name ( iox2_port_factory_event_h_ref port_factory_handle)

Returns the [iox2_service_name_ptr], an immutable pointer to the service name.

Safety

◆ iox2_port_factory_event_static_config()

void iox2_port_factory_event_static_config ( iox2_port_factory_event_h_ref port_factory_handle,
struct iox2_static_config_event_t * static_config )

Set the values in the provided [iox2_static_config_event_t] pointer.

Safety

◆ iox2_port_factory_event_try_cleanup_dead_nodes()

void iox2_port_factory_event_try_cleanup_dead_nodes ( iox2_port_factory_event_h_ref port_factory_handle,
struct iox2_cleanup_state_t * cleanup_state )

Removes the stale system resources of all dead nodes connected to this service.

If a node cannot be cleaned up since the process has insufficient permissions or it is currently being cleaned up by another process then the node is skipped.

Arguments

Safety

◆ iox2_port_factory_listener_builder_create()

int iox2_port_factory_listener_builder_create ( iox2_port_factory_listener_builder_h port_factory_handle,
struct iox2_listener_t * listener_struct_ptr,
iox2_listener_h * listener_handle_ptr )

Creates a listener and consumes the builder

Arguments

Returns IOX2_OK on success, an [iox2_listener_create_error_e] otherwise.

Safety

◆ iox2_port_factory_listener_builder_set_name()

void iox2_port_factory_listener_builder_set_name ( iox2_port_factory_listener_builder_h_ref port_factory_handle,
iox2_port_name_ptr port_name_ptr )

Sets the port name for the Listener

Arguments

Safety

  • port_factory_handle as well as port_name_ptr must be valid handles

◆ iox2_port_factory_notifier_builder_create()

int iox2_port_factory_notifier_builder_create ( iox2_port_factory_notifier_builder_h port_factory_handle,
struct iox2_notifier_t * notifier_struct_ptr,
iox2_notifier_h * notifier_handle_ptr )

Creates a notifier and consumes the builder

Arguments

Returns IOX2_OK on success, an [iox2_notifier_create_error_e] otherwise.

Safety

◆ iox2_port_factory_notifier_builder_set_default_event_id()

void iox2_port_factory_notifier_builder_set_default_event_id ( iox2_port_factory_notifier_builder_h_ref port_factory_handle,
const struct iox2_event_id_t * value )

Sets the default event id for the builder

Arguments

Safety

  • port_factory_handle must be valid handles
  • value must not be a NULL pointer but a pointer to an initialized iox2_event_id_t

◆ iox2_port_factory_notifier_builder_set_name()

void iox2_port_factory_notifier_builder_set_name ( iox2_port_factory_notifier_builder_h_ref port_factory_handle,
iox2_port_name_ptr port_name_ptr )

Sets the port name for the Notifier

Arguments

Safety

  • port_factory_handle as well as port_name_ptr must be valid handles

◆ iox2_port_factory_pub_sub_attributes()

iox2_attribute_set_ptr iox2_port_factory_pub_sub_attributes ( iox2_port_factory_pub_sub_h_ref port_factory_handle)

Returns the services attributes.

Safety

  • The port_factory_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The port_factory_handle must live longer than the returned iox2_attribute_set_h_ref.

◆ iox2_port_factory_pub_sub_blocking_cleanup_dead_nodes()

void iox2_port_factory_pub_sub_blocking_cleanup_dead_nodes ( iox2_port_factory_pub_sub_h_ref port_factory_handle,
struct iox2_cleanup_state_t * cleanup_state,
uint64_t timeout_secs,
uint32_t timeout_nsecs )

Removes the stale system resources of all dead nodes connected to this service.

If a node cannot be cleaned up since the process has insufficient permissions then the node is skipped. If it is currently being cleaned up by another process then the cleaner will wait until the timeout as either passed or the cleaned was finished.

The timeout is applied to every individual dead node the function needs to wait on.

Arguments

Safety

◆ iox2_port_factory_pub_sub_drop()

void iox2_port_factory_pub_sub_drop ( iox2_port_factory_pub_sub_h port_factory_handle)

This function needs to be called to destroy the port factory!

Arguments

Safety

◆ iox2_port_factory_pub_sub_dynamic_config_list_publishers()

void iox2_port_factory_pub_sub_dynamic_config_list_publishers ( iox2_port_factory_pub_sub_h_ref handle,
iox2_list_publishers_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly for every connected [iox2_publisher_h](crate::iox2_publisher_h) and provides all communication details with a [iox2_publisher_details_ptr].

Safety

◆ iox2_port_factory_pub_sub_dynamic_config_list_subscribers()

void iox2_port_factory_pub_sub_dynamic_config_list_subscribers ( iox2_port_factory_pub_sub_h_ref handle,
iox2_list_subscribers_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly for every connected [iox2_subscriber_h](crate::iox2_subscriber_h) and provides all communication details with a [iox2_subscriber_details_ptr].

Safety

◆ iox2_port_factory_pub_sub_dynamic_config_number_of_publishers()

size_t iox2_port_factory_pub_sub_dynamic_config_number_of_publishers ( iox2_port_factory_pub_sub_h_ref handle)

Returns how many publisher ports are currently connected.

Safety

◆ iox2_port_factory_pub_sub_dynamic_config_number_of_subscribers()

size_t iox2_port_factory_pub_sub_dynamic_config_number_of_subscribers ( iox2_port_factory_pub_sub_h_ref handle)

Returns how many subscriber ports are currently connected.

Safety

◆ iox2_port_factory_pub_sub_nodes()

int iox2_port_factory_pub_sub_nodes ( iox2_port_factory_pub_sub_h_ref handle,
iox2_node_list_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly with an [iox2_node_state_e](crate::api::iox2_node_state_e), [iox2_unique_node_id_ptr](crate::api::iox2_unique_node_id_ptr), [´iox2_node_name_ptr´](crate::api::iox2_node_name_ptr) and [iox2_config_ptr](crate::api::iox2_config_ptr) for all [Node](iceoryx2::node::Node)s that have opened the service.

Returns IOX2_OK on success, an [iox2_node_list_failure_e](crate::api::iox2_node_list_failure_e) otherwise.

Safety

◆ iox2_port_factory_pub_sub_publisher_builder()

iox2_port_factory_publisher_builder_h iox2_port_factory_pub_sub_publisher_builder ( iox2_port_factory_pub_sub_h_ref port_factory_handle,
struct iox2_port_factory_publisher_builder_t * publisher_builder_struct_ptr )

Instantiates a [iox2_port_factory_publisher_builder_h] to build a publisher.

Arguments

Returns the iox2_port_factory_publisher_builder_h handle for the publisher builder.

Safety

  • The port_factory_handle is still valid after the return of this function and can be use in another function call.

◆ iox2_port_factory_pub_sub_service_hash()

void iox2_port_factory_pub_sub_service_hash ( iox2_port_factory_pub_sub_h_ref handle,
char * buffer,
size_t buffer_len )

Stores the service hash in the provided buffer

Safety

◆ iox2_port_factory_pub_sub_service_name()

iox2_service_name_ptr iox2_port_factory_pub_sub_service_name ( iox2_port_factory_pub_sub_h_ref handle)

Returns the [iox2_service_name_ptr], an immutable pointer to the service name.

Safety

◆ iox2_port_factory_pub_sub_static_config()

void iox2_port_factory_pub_sub_static_config ( iox2_port_factory_pub_sub_h_ref port_factory_handle,
struct iox2_static_config_publish_subscribe_t * static_config )

Set the values in the provided [iox2_static_config_publish_subscribe_t] pointer.

Safety

◆ iox2_port_factory_pub_sub_subscriber_builder()

iox2_port_factory_subscriber_builder_h iox2_port_factory_pub_sub_subscriber_builder ( iox2_port_factory_pub_sub_h_ref port_factory_handle,
struct iox2_port_factory_subscriber_builder_t * subscriber_builder_struct_ptr )

Instantiates a [iox2_port_factory_subscriber_builder_h] to build a subscriber.

Arguments

Returns the [iox2_port_factory_subscriber_builder_h] handle for the subscriber builder.

Safety

  • The port_factory_handle is still valid after the return of this function and can be use in another function call.

◆ iox2_port_factory_pub_sub_try_cleanup_dead_nodes()

void iox2_port_factory_pub_sub_try_cleanup_dead_nodes ( iox2_port_factory_pub_sub_h_ref port_factory_handle,
struct iox2_cleanup_state_t * cleanup_state )

Removes the stale system resources of all dead nodes connected to this service.

If a node cannot be cleaned up since the process has insufficient permissions or it is currently being cleaned up by another process then the node is skipped.

Arguments

Safety

◆ iox2_port_factory_publisher_builder_backpressure_strategy()

void iox2_port_factory_publisher_builder_backpressure_strategy ( iox2_port_factory_publisher_builder_h_ref port_factory_handle,
enum iox2_backpressure_strategy_e value )

Sets the backpressure strategy for the publisher

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_publisher_builder_create()

int iox2_port_factory_publisher_builder_create ( iox2_port_factory_publisher_builder_h port_factory_handle,
struct iox2_publisher_t * publisher_struct_ptr,
iox2_publisher_h * publisher_handle_ptr )

Creates a publisher and consumes the builder

Arguments

Returns IOX2_OK on success, an [iox2_publisher_create_error_e] otherwise.

Safety

◆ iox2_port_factory_publisher_builder_override_samples_preallocation()

void iox2_port_factory_publisher_builder_override_samples_preallocation ( iox2_port_factory_publisher_builder_h_ref port_factory_handle,
iox2_preallocated_samples_override callback,
iox2_callback_context callback_ctx )

Defines a callback to reduce the number of preallocated samples. The input argument is the worst case number of preallocated samples required to guarantee that the publisher never runs out of samples to loan and send. The return value is clamped between 1 and the worst case number of preallocated samples.

Important

If the user reduces the number of preallocated samples, iceoryx2 can no longer guarantee, that the publisher can always loan a sample to send.

Arguments

Safety

  • port_factory_handle must be a valid handle

◆ iox2_port_factory_publisher_builder_set_allocation_strategy()

void iox2_port_factory_publisher_builder_set_allocation_strategy ( iox2_port_factory_publisher_builder_h_ref port_factory_handle,
enum iox2_allocation_strategy_e value )

Sets the [iox2_allocation_strategy_e] for the publisher

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_publisher_builder_set_backpressure_handler()

void iox2_port_factory_publisher_builder_set_backpressure_handler ( iox2_port_factory_publisher_builder_h_ref port_factory_handle,
iox2_backpressure_handler handler,
iox2_callback_context ctx )

Sets the backpressure handler for the publisher to be able to execute custom code if a sample cannot be delivered

Arguments

Safety

  • port_factory_handle must be valid handles
  • ctx is stored for later use; if the publisher, including the send function, is accessed from multiple threads, the ctx must be thread-safe

◆ iox2_port_factory_publisher_builder_set_degradation_handler()

void iox2_port_factory_publisher_builder_set_degradation_handler ( iox2_port_factory_publisher_builder_h_ref port_factory_handle,
iox2_degradation_handler handler,
iox2_callback_context ctx )

Sets the degradation handler for the publisher

Arguments

Safety

  • port_factory_handle must be valid handles
  • ctx is stored for later use; if the publisher, including the send function, is accessed from multiple threads, the ctx must be thread-safe

◆ iox2_port_factory_publisher_builder_set_initial_max_slice_len()

void iox2_port_factory_publisher_builder_set_initial_max_slice_len ( iox2_port_factory_publisher_builder_h_ref port_factory_handle,
c_size_t value )

Sets the max slice length for the publisher

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_publisher_builder_set_max_loaned_samples()

void iox2_port_factory_publisher_builder_set_max_loaned_samples ( iox2_port_factory_publisher_builder_h_ref port_factory_handle,
c_size_t value )

Sets the max loaned samples for the publisher

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_publisher_builder_set_name()

void iox2_port_factory_publisher_builder_set_name ( iox2_port_factory_publisher_builder_h_ref port_factory_handle,
iox2_port_name_ptr port_name_ptr )

Sets the port name for the Publisher

Arguments

Safety

  • port_factory_handle as well as port_name_ptr must be valid handles

◆ iox2_port_factory_reader_builder_create()

int iox2_port_factory_reader_builder_create ( iox2_port_factory_reader_builder_h port_factory_handle,
struct iox2_reader_t * reader_struct_ptr,
iox2_reader_h * reader_handle_ptr )

Creates a reader and consumes the builder

Arguments

Returns IOX2_OK on success, an [iox2_reader_create_error_e] otherwise.

Safety

◆ iox2_port_factory_reader_builder_set_name()

void iox2_port_factory_reader_builder_set_name ( iox2_port_factory_reader_builder_h_ref port_factory_handle,
iox2_port_name_ptr port_name_ptr )

Sets the port name for the Reader

Arguments

Safety

  • port_factory_handle as well as port_name_ptr must be valid handles

◆ iox2_port_factory_request_response_attributes()

iox2_attribute_set_ptr iox2_port_factory_request_response_attributes ( iox2_port_factory_request_response_h_ref port_factory_handle)

Returns the services attributes.

Safety

  • The port_factory_handle is still valid after the return of this function and can be used in another function call.
  • The port_factory_handle must live longer than the returned iox2_attribute_set_h_ref.

◆ iox2_port_factory_request_response_blocking_cleanup_dead_nodes()

void iox2_port_factory_request_response_blocking_cleanup_dead_nodes ( iox2_port_factory_request_response_h_ref port_factory_handle,
struct iox2_cleanup_state_t * cleanup_state,
uint64_t timeout_secs,
uint32_t timeout_nsecs )

Removes the stale system resources of all dead nodes connected to this service.

If a node cannot be cleaned up since the process has insufficient permissions then the node is skipped. If it is currently being cleaned up by another process then the cleaner will wait until the timeout as either passed or the cleaned was finished.

The timeout is applied to every individual dead node the function needs to wait on.

Arguments

Safety

◆ iox2_port_factory_request_response_client_builder()

iox2_port_factory_client_builder_h iox2_port_factory_request_response_client_builder ( iox2_port_factory_request_response_h_ref port_factory_handle,
struct iox2_port_factory_client_builder_t * builder_struct_ptr )

Instantiates a [iox2_port_factory_client_builder_h] to build a client.

Arguments

Returns the iox2_port_factory_client_builder_h handle for the client builder.

Safety

  • The port_factory_handle is still valid after the return of this function and can be used in another function call.

◆ iox2_port_factory_request_response_drop()

void iox2_port_factory_request_response_drop ( iox2_port_factory_request_response_h port_factory_handle)

This function needs to be called to destroy the port factory!

Arguments

Safety

◆ iox2_port_factory_request_response_dynamic_config_list_clients()

void iox2_port_factory_request_response_dynamic_config_list_clients ( iox2_port_factory_request_response_h_ref handle,
iox2_list_clients_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly with for every connected [iox2_client_h](crate::iox2_client_h) and provides all communication details with a [iox2_client_details_ptr].

Safety

  • [iox2_client_details_ptr] - Provides a view to the client details. Data must not be accessed outside of the callback.
  • callback - A valid callback with [iox2_list_clients_callback] signature
  • callback_ctx - An optional callback context [iox2_callback_context] to e.g. store information across callback iterations. Must be either NULL or point to a valid memory location

◆ iox2_port_factory_request_response_dynamic_config_list_servers()

void iox2_port_factory_request_response_dynamic_config_list_servers ( iox2_port_factory_request_response_h_ref handle,
iox2_list_servers_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly for every connected [iox2_server_h](crate::iox2_server_h) and provides all communication details with a [iox2_server_details_ptr].

Safety

  • [iox2_server_details_ptr] - Provides a view to the server details. Data must not be accessed outside of the callback.
  • callback - A valid callback with [iox2_list_servers_callback] signature
  • callback_ctx - An optional callback context [iox2_callback_context] to e.g. store information across callback iterations. Must be either NULL or point to a valid memory location

◆ iox2_port_factory_request_response_dynamic_config_number_of_clients()

size_t iox2_port_factory_request_response_dynamic_config_number_of_clients ( iox2_port_factory_request_response_h_ref handle)

Returns how many client ports are currently connected.

Safety

◆ iox2_port_factory_request_response_dynamic_config_number_of_servers()

size_t iox2_port_factory_request_response_dynamic_config_number_of_servers ( iox2_port_factory_request_response_h_ref handle)

Returns how many server ports are currently connected.

Safety

◆ iox2_port_factory_request_response_nodes()

int iox2_port_factory_request_response_nodes ( iox2_port_factory_request_response_h_ref handle,
iox2_node_list_callback callback,
iox2_callback_context callback_ctx )

Calls the callback repeatedly with an [iox2_node_state_e](crate::api::iox2_node_state_e), [iox2_unique_node_id_ptr](crate::api::iox2_unique_node_id_ptr), [´iox2_node_name_ptr´](crate::api::iox2_node_name_ptr) and [iox2_config_ptr](crate::api::iox2_config_ptr) for all [Node](iceoryx2::node::Node)s that have opened the service.

Returns IOX2_OK on success, an [iox2_node_list_failure_e](crate::api::iox2_node_list_failure_e) otherwise.

Safety

◆ iox2_port_factory_request_response_server_builder()

iox2_port_factory_server_builder_h iox2_port_factory_request_response_server_builder ( iox2_port_factory_request_response_h_ref port_factory_handle,
struct iox2_port_factory_server_builder_t * builder_struct_ptr )

Instantiates a [iox2_port_factory_server_builder_h] to build a server.

Arguments

Returns the iox2_port_factory_server_builder_h handle for the server builder.

Safety

  • The port_factory_handle is still valid after the return of this function and can be used in another function call.

◆ iox2_port_factory_request_response_service_hash()

void iox2_port_factory_request_response_service_hash ( iox2_port_factory_request_response_h_ref handle,
char * buffer,
size_t buffer_len )

Stores the service hash in the provided buffer

Safety

◆ iox2_port_factory_request_response_service_name()

iox2_service_name_ptr iox2_port_factory_request_response_service_name ( iox2_port_factory_request_response_h_ref handle)

Returns the [iox2_service_name_ptr], an immutable pointer to the service name.

Safety

◆ iox2_port_factory_request_response_static_config()

void iox2_port_factory_request_response_static_config ( iox2_port_factory_request_response_h_ref port_factory_handle,
struct iox2_static_config_request_response_t * static_config )

Set the values in the provided [iox2_static_config_request_response_t] pointer.

Safety

◆ iox2_port_factory_request_response_try_cleanup_dead_nodes()

void iox2_port_factory_request_response_try_cleanup_dead_nodes ( iox2_port_factory_request_response_h_ref port_factory_handle,
struct iox2_cleanup_state_t * cleanup_state )

Removes the stale system resources of all dead nodes connected to this service.

If a node cannot be cleaned up since the process has insufficient permissions or it is currently being cleaned up by another process then the node is skipped.

Arguments

Safety

◆ iox2_port_factory_server_builder_backpressure_strategy()

void iox2_port_factory_server_builder_backpressure_strategy ( iox2_port_factory_server_builder_h_ref port_factory_handle,
enum iox2_backpressure_strategy_e value )

Sets the backpressure strategy for the server

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_server_builder_create()

int iox2_port_factory_server_builder_create ( iox2_port_factory_server_builder_h port_factory_handle,
struct iox2_server_t * struct_ptr,
iox2_server_h * handle_ptr )

Creates a server and consumes the builder

Arguments

Returns IOX2_OK on success, an [iox2_server_create_error_e] otherwise.

Safety

◆ iox2_port_factory_server_builder_override_responses_preallocation()

void iox2_port_factory_server_builder_override_responses_preallocation ( iox2_port_factory_server_builder_h_ref port_factory_handle,
iox2_preallocated_responses_override callback,
iox2_callback_context callback_ctx )

Defines a callback to reduce the number of preallocated responses. The input argument is the worst case number of preallocated responses required to guarantee that the server never runs out of responses to loan and send. The return value is clamped between 1 and the worst case number of preallocated responses.

Important

If the user reduces the number of preallocated responses, iceoryx2 can no longer guarantee, that the server can always loan a response to send.

Arguments

Safety

  • port_factory_handle must be a valid handle

◆ iox2_port_factory_server_builder_set_allocation_strategy()

void iox2_port_factory_server_builder_set_allocation_strategy ( iox2_port_factory_server_builder_h_ref port_factory_handle,
enum iox2_allocation_strategy_e value )

Sets the [iox2_allocation_strategy_e] for the server

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_server_builder_set_backpressure_handler()

void iox2_port_factory_server_builder_set_backpressure_handler ( iox2_port_factory_server_builder_h_ref port_factory_handle,
iox2_backpressure_handler handler,
iox2_callback_context ctx )

Sets the backpressure handler for the server to be able to execute custom code if a response cannot be delivered

Arguments

Safety

  • port_factory_handle must be valid handles
  • ctx is stored for later use; if the server, including the send function, is accessed from multiple threads, the ctx must be thread-safe

◆ iox2_port_factory_server_builder_set_initial_max_slice_len()

void iox2_port_factory_server_builder_set_initial_max_slice_len ( iox2_port_factory_server_builder_h_ref port_factory_handle,
c_size_t value )

Sets the initial max slice length for the server

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_server_builder_set_max_loaned_responses_per_request()

void iox2_port_factory_server_builder_set_max_loaned_responses_per_request ( iox2_port_factory_server_builder_h_ref port_factory_handle,
c_size_t value )

Defines how many responses the server can loan per request

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_server_builder_set_name()

void iox2_port_factory_server_builder_set_name ( iox2_port_factory_server_builder_h_ref port_factory_handle,
iox2_port_name_ptr port_name_ptr )

Sets the port name for the Server

Arguments

Safety

  • port_factory_handle as well as port_name_ptr must be valid handles

◆ iox2_port_factory_server_builder_set_request_degradation_handler()

void iox2_port_factory_server_builder_set_request_degradation_handler ( iox2_port_factory_server_builder_h_ref port_factory_handle,
iox2_degradation_handler handler,
iox2_callback_context ctx )

Sets the request degradation handler for the sever

Arguments

Safety

  • port_factory_handle must be valid handles
  • ctx is stored for later use; if the server, including the send function, is accessed from multiple threads, the ctx must be thread-safe

◆ iox2_port_factory_server_builder_set_response_degradation_handler()

void iox2_port_factory_server_builder_set_response_degradation_handler ( iox2_port_factory_server_builder_h_ref port_factory_handle,
iox2_degradation_handler handler,
iox2_callback_context ctx )

Sets the response degradation handler for the server

Arguments

Safety

  • port_factory_handle must be valid handles
  • ctx is stored for later use; if the server, including the send function, is accessed from multiple threads, the ctx must be thread-safe

◆ iox2_port_factory_subscriber_builder_create()

int iox2_port_factory_subscriber_builder_create ( iox2_port_factory_subscriber_builder_h port_factory_handle,
struct iox2_subscriber_t * subscriber_struct_ptr,
iox2_subscriber_h * subscriber_handle_ptr )

Creates a subscriber and consumes the builder

Arguments

Returns IOX2_OK on success, an [iox2_subscriber_create_error_e] otherwise.

Safety

◆ iox2_port_factory_subscriber_builder_set_buffer_size()

void iox2_port_factory_subscriber_builder_set_buffer_size ( iox2_port_factory_subscriber_builder_h_ref port_factory_handle,
c_size_t value )

Sets the buffer size for the subscriber

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_subscriber_builder_set_degradation_handler()

void iox2_port_factory_subscriber_builder_set_degradation_handler ( iox2_port_factory_subscriber_builder_h_ref port_factory_handle,
iox2_degradation_handler handler,
iox2_callback_context ctx )

Sets the degradation handler for the subscriber

Arguments

Safety

  • port_factory_handle must be valid handles
  • ctx is stored for later use; if the subscriber, including the receive function, is accessed from multiple threads, the ctx must be thread-safe

◆ iox2_port_factory_subscriber_builder_set_history_request()

void iox2_port_factory_subscriber_builder_set_history_request ( iox2_port_factory_subscriber_builder_h_ref port_factory_handle,
c_size_t value )

Defines the amount of requested history samples. By default the value defined with the service's history_size is used.

Arguments

Safety

  • port_factory_handle must be valid handles

◆ iox2_port_factory_subscriber_builder_set_name()

void iox2_port_factory_subscriber_builder_set_name ( iox2_port_factory_subscriber_builder_h_ref port_factory_handle,
iox2_port_name_ptr port_name_ptr )

Sets the port name for the Subscriber

Arguments

Safety

  • port_factory_handle as well as port_name_ptr must be valid handles

◆ iox2_port_factory_writer_builder_create()

int iox2_port_factory_writer_builder_create ( iox2_port_factory_writer_builder_h port_factory_handle,
struct iox2_writer_t * writer_struct_ptr,
iox2_writer_h * writer_handle_ptr )

Creates a writer and consumes the builder

Arguments

Returns IOX2_OK on success, an [iox2_writer_create_error_e] otherwise.

Safety

◆ iox2_port_factory_writer_builder_set_name()

void iox2_port_factory_writer_builder_set_name ( iox2_port_factory_writer_builder_h_ref port_factory_handle,
iox2_port_name_ptr port_name_ptr )

Sets the port name for the Writer

Arguments

Safety

  • port_factory_handle as well as port_name_ptr must be valid handles

◆ iox2_port_name_as_chars()

const char * iox2_port_name_as_chars ( iox2_port_name_ptr port_name_ptr,
c_size_t * port_name_len )

This function gives access to the port name as a non-zero-terminated char array

Arguments

Returns a non-zero-terminated char array

Safety

  • The port_name_ptr must be a valid pointer to a port name.
  • The port_name_len must be a valid pointer to a size_t.

◆ iox2_port_name_drop()

void iox2_port_name_drop ( iox2_port_name_h port_name_handle)

This function needs to be called to destroy the port name!

Arguments

Safety

  • The port_name_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_port_name_t] can be re-used with a call to [iox2_port_name_new]!

◆ iox2_port_name_new()

int iox2_port_name_new ( struct iox2_port_name_t * port_name_struct_ptr,
const char * port_name_str,
c_size_t port_name_len,
iox2_port_name_h * port_name_handle_ptr )

This function create a new port name!

Arguments

  • port_name_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_port_name_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • port_name_str - Must be valid port name string.
  • port_name_len - The length of the port name string, not including a null termination.
  • port_name_handle_ptr - An uninitialized or dangling [iox2_port_name_h] handle which will be initialized by this function call.

Returns IOX2_OK on success, an [iox2_semantic_string_error_e] otherwise.

Safety

  • Terminates if port_name_str or port_name_handle_ptr is a NULL pointer!
  • It is undefined behavior to pass a port_name_len which is larger than the actual length of port_name_str!

◆ iox2_pub_sub_open_or_create_error_string()

const char * iox2_pub_sub_open_or_create_error_string ( enum iox2_pub_sub_open_or_create_error_e error)

Returns a string literal describing the provided [iox2_pub_sub_open_or_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_publish_subscribe_header_drop()

void iox2_publish_subscribe_header_drop ( iox2_publish_subscribe_header_h handle)

This function needs to be called to destroy the publish_subscribe_header!

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_publish_subscribe_header_t] can be re-used

◆ iox2_publish_subscribe_header_number_of_elements()

uint64_t iox2_publish_subscribe_header_number_of_elements ( iox2_publish_subscribe_header_h_ref header_handle)

Returns the number of elements of the payload. The element size is defined via this call when creating a new service [crate::iox2_service_builder_pub_sub_set_payload_type_details()]. So if the payload is defined with alignment 8 and size 16 and this function returns 5. It means that the payload consists of 5 elements of size 16 and every element is 8 byte aligned. Therefore, the payload pointer points to a memory region with 5 * 16 = 80 bytes.

Arguments

  • handle is valid, non-null and was initialized with [iox2_sample_header()](crate::iox2_sample_header)

Safety

  • header_handle is valid and non-null

◆ iox2_publish_subscribe_header_payload_offset()

uint64_t iox2_publish_subscribe_header_payload_offset ( iox2_publish_subscribe_header_h_ref header_handle)

Returns the payload offset when it does not start at the beginning.

Arguments

  • header_handle is valid, non-null and was initialized with [iox2_sample_header()](crate::iox2_sample_header)

Safety

  • header_handle is valid and non-null

◆ iox2_publish_subscribe_header_publisher_id()

void iox2_publish_subscribe_header_publisher_id ( iox2_publish_subscribe_header_h_ref header_handle,
struct iox2_unique_publisher_id_t * id_struct_ptr,
iox2_unique_publisher_id_h * id_handle_ptr )

Returns the unique publisher id of the source of the sample.

Arguments

Safety

  • header_handle is valid and non-null
  • id_struct_ptr is either null or valid and non-null
  • id_handle_ptr is valid and non-null

◆ iox2_publisher_allocation_strategy()

enum iox2_allocation_strategy_e iox2_publisher_allocation_strategy ( iox2_publisher_h_ref publisher_handle)

Returns the strategy the publisher follows when the slice length requested exceeds the current slice buffer

Arguments

Returns [iox2_allocation_strategy_e].

Safety

  • publisher_handle is valid and non-null

◆ iox2_publisher_backpressure_strategy()

enum iox2_backpressure_strategy_e iox2_publisher_backpressure_strategy ( iox2_publisher_h_ref publisher_handle)

Returns the strategy the publisher follows when a sample cannot be delivered since the subscribers buffer is full.

Arguments

Returns [iox2_backpressure_strategy_e].

Safety

  • publisher_handle is valid and non-null

◆ iox2_publisher_create_error_string()

const char * iox2_publisher_create_error_string ( enum iox2_publisher_create_error_e error)

Returns a string literal describing the provided [iox2_publisher_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_publisher_details_max_slice_len()

c_size_t iox2_publisher_details_max_slice_len ( iox2_publisher_details_ptr handle)

Returns the current maximum length of a slice.

Safety

  • handle valid pointer to the publisher details

◆ iox2_publisher_details_node_id()

iox2_unique_node_id_ptr iox2_publisher_details_node_id ( iox2_publisher_details_ptr handle)

Returns the [iox2_unique_node_id_ptr], an immutable pointer to the node id.

Safety

  • handle valid pointer to the publisher details

◆ iox2_publisher_details_number_of_samples()

c_size_t iox2_publisher_details_number_of_samples ( iox2_publisher_details_ptr handle)

Returns the total number of samples contained in the publishers data segment.

Safety

  • handle valid pointer to the publisher details

◆ iox2_publisher_details_publisher_id()

void iox2_publisher_details_publisher_id ( iox2_publisher_details_ptr handle,
struct iox2_unique_publisher_id_t * id_struct_ptr,
iox2_unique_publisher_id_h * id_handle_ptr )

Returns the unique port id of the publisher.

Safety

  • handle valid pointer to the publisher details
  • id_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_unique_publisher_id_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • id_handle_ptr valid pointer to a [iox2_unique_publisher_id_h].

◆ iox2_publisher_details_publisher_name()

iox2_port_name_ptr iox2_publisher_details_publisher_name ( iox2_publisher_details_ptr handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the name of the publisher.

Safety

  • handle valid pointer to the publisher details

◆ iox2_publisher_drop()

void iox2_publisher_drop ( iox2_publisher_h publisher_handle)

This function needs to be called to destroy the publisher!

Arguments

Safety

  • The publisher_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_publisher_t] can be re-used with a call to [iox2_port_factory_publisher_builder_create](crate::iox2_port_factory_publisher_builder_create)!

◆ iox2_publisher_id()

void iox2_publisher_id ( iox2_publisher_h_ref publisher_handle,
struct iox2_unique_publisher_id_t * id_struct_ptr,
iox2_unique_publisher_id_h * id_handle_ptr )

Returns the unique port id of the publisher.

Arguments

Safety

  • publisher_handle is valid and non-null
  • id is valid and non-null

◆ iox2_publisher_initial_max_slice_len()

c_size_t iox2_publisher_initial_max_slice_len ( iox2_publisher_h_ref publisher_handle)

Returns the maximum [u8] length that can be loaned in one sample, i.e. the max number of elements in the [u8] payload type used by the C binding.

Arguments

Returns the maximum number of elements as a [c_size_t].

Safety

  • publisher_handle is valid and non-null

◆ iox2_publisher_loan_slice_uninit()

int iox2_publisher_loan_slice_uninit ( iox2_publisher_h_ref publisher_handle,
struct iox2_sample_mut_t * sample_struct_ptr,
iox2_sample_mut_h * sample_handle_ptr,
size_t number_of_elements )

Loans memory from the publishers data segment.

Arguments

  • handle obtained by [iox2_port_factory_publisher_builder_create](crate::iox2_port_factory_publisher_builder_create)
  • sample_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_sample_mut_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • sample_handle_ptr - An uninitialized or dangling [iox2_sample_mut_h] handle which will be initialized by this function call if a sample is obtained, otherwise it will be set to NULL.
  • number_of_bytes - The number of bytes to loan from the publisher's payload segment

Return [IOX2_OK] on success, otherwise [iox2_loan_error_e].

Safety

  • publisher_handle is valid and non-null
  • The sample_handle_ptr is pointing to a valid [iox2_sample_mut_h].

◆ iox2_publisher_max_loaned_samples()

c_size_t iox2_publisher_max_loaned_samples ( iox2_publisher_h_ref publisher_handle)

Returns the maximum number of samples that can be loaned at the same time by the publisher.

Arguments

Returns the maximum number of loaned samples as a [c_size_t].

Safety

  • publisher_handle is valid and non-null

◆ iox2_publisher_name()

iox2_port_name_ptr iox2_publisher_name ( iox2_publisher_h_ref publisher_handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the port name.

Arguments

Safety

◆ iox2_publisher_send_copy()

int iox2_publisher_send_copy ( iox2_publisher_h_ref publisher_handle,
const void * data_ptr,
size_t data_len,
size_t * number_of_recipients )

Sends a copy of the provided data via the publisher. The data must be copyable via memcpy.

Arguments

  • handle obtained by [iox2_port_factory_publisher_builder_create](crate::iox2_port_factory_publisher_builder_create)
  • data_ptr pointer to the payload that shall be transmitted
  • data_len the size of the payload in bytes
  • number_of_recipients (optional) used to store the number of subscriber that received the data

Return [IOX2_OK] on success, otherwise [iox2_send_error_e].

Safety

  • publisher_handle is valid and non-null
  • data_ptr non-null pointer to a valid position in memory
  • data_len the size of the payload memory
  • number_of_recipients can be null, otherwise a valid pointer to an [usize]

◆ iox2_publisher_send_slice_copy()

int iox2_publisher_send_slice_copy ( iox2_publisher_h_ref publisher_handle,
const void * data_ptr,
size_t size_of_element,
size_t number_of_elements,
size_t * number_of_recipients )

Sends a copy of the provided slice data via the publisher.

Arguments

  • publisher_handle - Handle to the publisher obtained from iox2_port_factory_publisher_builder_create
  • data_ptr - Pointer to the start of the slice data to be sent
  • size_of_element - Size of each element in the slice in bytes
  • number_of_elements - Number of elements in the slice
  • number_of_recipients - Optional pointer to store the number of subscribers that received the data

Returns

Returns IOX2_OK on success, otherwise an error code from iox2_send_error_e

Safety

  • publisher_handle must be valid and non-null
  • data_ptr must be a valid pointer to the start of the slice data
  • size_of_element must be the correct size of each element in bytes
  • number_of_elements must accurately represent the number of elements in the slice
  • number_of_recipients can be null, otherwise it must be a valid pointer to a usize

◆ iox2_publisher_update_connections()

int iox2_publisher_update_connections ( iox2_publisher_h_ref publisher_handle)

Updates all connections to new and obsolete subscriber ports and automatically delivery the history if requested.

Arguments

Safety

  • The publisher_handle is still valid after the return of this function and can be use in another function call.

◆ iox2_reader_create_error_string()

const char * iox2_reader_create_error_string ( enum iox2_reader_create_error_e error)

Returns a string literal describing the provided [iox2_reader_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_reader_details_node_id()

iox2_unique_node_id_ptr iox2_reader_details_node_id ( iox2_reader_details_ptr handle)

Returns the [iox2_unique_node_id_ptr], an immutable pointer to the node id.

Safety

  • handle valid pointer to the reader details

◆ iox2_reader_details_reader_id()

void iox2_reader_details_reader_id ( iox2_reader_details_ptr handle,
struct iox2_unique_reader_id_t * id_struct_ptr,
iox2_unique_reader_id_h * id_handle_ptr )

Returns the unique port id of the reader.

Safety

  • handle valid pointer to the reader details
  • id_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_unique_reader_id_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • id_handle_ptr valid pointer to a [iox2_unique_reader_id_h].

◆ iox2_reader_details_reader_name()

iox2_port_name_ptr iox2_reader_details_reader_name ( iox2_reader_details_ptr handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the name of the reader.

Safety

  • handle valid pointer to the reader details

◆ iox2_reader_drop()

void iox2_reader_drop ( iox2_reader_h reader_handle)

This function needs to be called to destroy the reader!

Arguments

Safety

  • The reader_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_reader_t] can be re-used with a call to [iox2_port_factory_reader_builder_create](crate::iox2_port_factory_reader_builder_create)!

◆ iox2_reader_entry()

int iox2_reader_entry ( iox2_reader_h_ref reader_handle,
struct iox2_entry_handle_t * entry_handle_struct_ptr,
iox2_entry_handle_h * entry_handle_handle_ptr,
const void * key,
const char * value_type_name_str,
c_size_t value_type_name_len,
c_size_t value_size,
c_size_t value_alignment )

Acquires an entry handle for direct read access to the stored value.

Arguments

  • reader_handle obtained by [iox2_port_factory_reader_builder_create](crate::iox2_port_factory_reader_builder_create)
  • entry_handle_struct_ptr must be either a NULL pointer or a pointer to a valid [iox2_entry_handle_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • entry_handle_handle_ptr valid pointer to a [iox2_entry_handle_h]
  • key the key of the key-value pair for which the entry handle shall be acquired
  • value_type_name_str the type name of the value type of the key-value-pair for which the entry handle shall be acquired
  • value_type_name_len the length of value_type_name_str
  • value_size the size of the value type of the key-value-pair for which the entry handle shall be acquired
  • value_alignment the alignment of the value type of the key-value-pair for which the entry handle shall be acquired

Safety

  • reader_handle must be non-null and valid
  • entry_handle_handle_ptr must be non-null and valid

◆ iox2_reader_id()

void iox2_reader_id ( iox2_reader_h_ref reader_handle,
struct iox2_unique_reader_id_t * id_struct_ptr,
iox2_unique_reader_id_h * id_handle_ptr )

Returns the unique port id of the reader.

Arguments

Safety

◆ iox2_reader_name()

iox2_port_name_ptr iox2_reader_name ( iox2_reader_h_ref reader_handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the port name.

Arguments

Safety

◆ iox2_receive_error_string()

const char * iox2_receive_error_string ( enum iox2_receive_error_e error)

Returns a string literal describing the provided [iox2_receive_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_request_header_client_id()

void iox2_request_header_client_id ( iox2_request_header_h_ref header_handle,
struct iox2_unique_client_id_t * id_struct_ptr,
iox2_unique_client_id_h * id_handle_ptr )

Returns the unique client id of the source of the request.

Arguments

  • header_handle is valid, non-null and is initialized
  • id_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_unique_client_id_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • id_handle_ptr valid pointer to a [iox2_unique_client_id_h].

Safety

  • header_handle is valid and non-null
  • id_struct_ptr is either null or valid and non-null
  • id_handle_ptr is valid and non-null

◆ iox2_request_header_drop()

void iox2_request_header_drop ( iox2_request_header_h handle)

This function needs to be called to destroy the request_header!

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_request_header_t] can be re-used

◆ iox2_request_header_number_of_elements()

uint64_t iox2_request_header_number_of_elements ( iox2_request_header_h_ref header_handle)

Returns the number of elements of the payload. The element size is defined via this call when creating a new service [crate::iox2_service_builder_request_response_set_request_payload_type_details()]. So if the payload is defined with alignment 8 and size 16 and this function returns 5. It means that the payload consists of 5 elements of size 16 and every element is 8 byte aligned. Therefore, the payload pointer points to a memory region with 5 * 16 = 80 bytes.

Arguments

  • header_handle is valid, non-null and initialized

Safety

  • header_handle is valid and non-null

◆ iox2_request_header_payload_offset()

uint64_t iox2_request_header_payload_offset ( iox2_request_header_h_ref header_handle)

Returns the payload offset.

Arguments

  • header_handle is valid, non-null and initialized

Safety

  • header_handle is valid and non-null

◆ iox2_request_mut_create_resizable_memory()

void iox2_request_mut_create_resizable_memory ( iox2_request_mut_h_ref handle,
struct iox2_resizable_memory_request_t * struct_ptr,
iox2_resizable_memory_request_h * handle_ptr )

Returns a resizable memory builder required for dynamic allocation within the request.

Safety

◆ iox2_request_mut_drop()

void iox2_request_mut_drop ( iox2_request_mut_h handle)

This function needs to be called to destroy the request!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_request_mut_t] can be re-used with a call to [iox2_client_loan_slice_uninit](crate::iox2_client_loan_slice_uninit)!

◆ iox2_request_mut_finish_serialized()

void iox2_request_mut_finish_serialized ( iox2_request_mut_h_ref handle,
const uint8_t * payload_ptr )

Finalizes a request that was populated through serialization. Based on the provided payload_ptr and allocation_size the offset to the start of the payload is calculated.

Safety

  • handle obtained by [iox2_client_loan_slice_uninit()](crate::iox2_client_loan_slice_uninit())
  • payload_ptr is a valid pointer into the managed payload of this sample.

◆ iox2_request_mut_header()

void iox2_request_mut_header ( iox2_request_mut_h_ref handle,
struct iox2_request_header_t * header_struct_ptr,
iox2_request_header_h * header_handle_ptr )

Acquires the requests header.

Safety

◆ iox2_request_mut_payload()

void iox2_request_mut_payload ( iox2_request_mut_h_ref handle,
const void ** payload_ptr,
c_size_t * number_of_elements )

Acquires the request payload.

Safety

  • handle obtained by [iox2_client_loan_slice_uninit()](crate::iox2_client_loan_slice_uninit())
  • payload_ptr a valid, non-null pointer pointing to a [*const c_void] pointer.
  • number_of_elements (optional) either a null pointer or a valid pointer pointing to a [c_size_t].

◆ iox2_request_mut_payload_mut()

void iox2_request_mut_payload_mut ( iox2_request_mut_h_ref handle,
void ** payload_ptr,
c_size_t * number_of_elements )

Acquires the requests mutable payload.

Safety

  • handle obtained by [iox2_client_loan_slice_uninit()](crate::iox2_client_loan_slice_uninit())
  • payload_ptr a valid, non-null pointer pointing to a *mut c_void pointer.
  • number_of_elements (optional) either a null pointer or a valid pointer pointing to a [c_size_t].

◆ iox2_request_mut_payload_number_of_bytes()

c_size_t iox2_request_mut_payload_number_of_bytes ( iox2_request_mut_h_ref handle)

Returns the number of bytes of the request payload.

Safety

◆ iox2_request_mut_send()

int iox2_request_mut_send ( iox2_request_mut_h handle,
struct iox2_pending_response_t * pending_response_struct_ptr,
iox2_pending_response_h * pending_response_handle_ptr )

Takes the ownership of the request and sends it

Safety

◆ iox2_request_mut_user_header()

void iox2_request_mut_user_header ( iox2_request_mut_h_ref handle,
const void ** header_ptr )

Acquires the requests user header.

Safety

  • handle obtained by [iox2_client_loan_slice_uninit()](crate::iox2_client_loan_slice_uninit())
  • header_ptr a valid, non-null pointer pointing to a *const c_void pointer.

◆ iox2_request_mut_user_header_mut()

void iox2_request_mut_user_header_mut ( iox2_request_mut_h_ref handle,
void ** header_ptr )

Acquires the requests mutable user header.

Safety

  • handle obtained by [iox2_client_loan_slice_uninit()](crate::iox2_client_loan_slice_uninit())
  • header_ptr a valid, non-null pointer pointing to a [*const c_void] pointer.

◆ iox2_request_response_open_or_create_error_string()

const char * iox2_request_response_open_or_create_error_string ( enum iox2_request_response_open_or_create_error_e error)

Returns a string literal describing the provided [iox2_request_response_open_or_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_request_send_error_string()

const char * iox2_request_send_error_string ( enum iox2_request_send_error_e error)

Returns a string literal describing the provided [iox2_request_send_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_resizable_memory_publish_subscribe_drop()

void iox2_resizable_memory_publish_subscribe_drop ( iox2_resizable_memory_publish_subscribe_h handle)

Cleans up the resizable memory.

Safety

  • handle is valid and non-null
  • after this call the handle is no longer valid

◆ iox2_resizable_memory_publish_subscribe_grow_downwards()

int iox2_resizable_memory_publish_subscribe_grow_downwards ( iox2_resizable_memory_publish_subscribe_h_ref handle,
size_t new_size,
size_t in_use_front,
uint8_t ** new_ptr )

Resizes the underlying memory downwards. All contents are copied to the end of the resized memory chunk. When in_use_front != 0 those first bytes are copied to the beginning of the resized memory chunk. The new_size argument must be greater than the previous size, otherwise this function will fail.

Safety

  • handle is valid and non-null
  • new_ptr must be a valid pointer pointing to *mut u8

◆ iox2_resizable_memory_publish_subscribe_len()

size_t iox2_resizable_memory_publish_subscribe_len ( iox2_resizable_memory_publish_subscribe_h_ref handle)

Returns the current length of the memory that is managed by the resizable memory.

Safety

  • handle is valid and non-null

◆ iox2_resizable_memory_publish_subscribe_ptr()

uint8_t * iox2_resizable_memory_publish_subscribe_ptr ( iox2_resizable_memory_publish_subscribe_h_ref handle)

Returns the current payload pointer that is managed by the resizable memory.

Safety

  • handle is valid and non-null

◆ iox2_resizable_memory_request_drop()

void iox2_resizable_memory_request_drop ( iox2_resizable_memory_request_h handle)

Cleans up the resizable memory.

Safety

  • handle is valid and non-null
  • after this call the handle is no longer valid

◆ iox2_resizable_memory_request_grow_downwards()

int iox2_resizable_memory_request_grow_downwards ( iox2_resizable_memory_request_h_ref handle,
size_t new_size,
size_t in_use_front,
uint8_t ** new_ptr )

Resizes the underlying memory downwards. All contents are copied to the end of the resized memory chunk. When in_use_front != 0 those first bytes are copied to the beginning of the resized memory chunk. The new_size argument must be greater than the previous size, otherwise this function will fail.

Safety

  • handle is valid and non-null
  • new_ptr must be a valid pointer pointing to *mut u8

◆ iox2_resizable_memory_request_len()

size_t iox2_resizable_memory_request_len ( iox2_resizable_memory_request_h_ref handle)

Returns the current length of the memory that is managed by the resizable memory.

Safety

  • handle is valid and non-null

◆ iox2_resizable_memory_request_ptr()

uint8_t * iox2_resizable_memory_request_ptr ( iox2_resizable_memory_request_h_ref handle)

Returns the current payload pointer that is managed by the resizable memory.

Safety

  • handle is valid and non-null

◆ iox2_resizable_memory_response_drop()

void iox2_resizable_memory_response_drop ( iox2_resizable_memory_response_h handle)

Cleans up the resizable memory.

Safety

  • handle is valid and non-null
  • after this call the handle is no longer valid

◆ iox2_resizable_memory_response_grow_downwards()

int iox2_resizable_memory_response_grow_downwards ( iox2_resizable_memory_response_h_ref handle,
size_t new_size,
size_t in_use_front,
uint8_t ** new_ptr )

Resizes the underlying memory downwards. All contents are copied to the end of the resized memory chunk. When in_use_front != 0 those first bytes are copied to the beginning of the resized memory chunk. The new_size argument must be greater than the previous size, otherwise this function will fail.

Safety

  • handle is valid and non-null
  • new_ptr must be a valid pointer pointing to *mut u8

◆ iox2_resizable_memory_response_len()

size_t iox2_resizable_memory_response_len ( iox2_resizable_memory_response_h_ref handle)

Returns the current length of the memory that is managed by the resizable memory.

Safety

  • handle is valid and non-null

◆ iox2_resizable_memory_response_ptr()

uint8_t * iox2_resizable_memory_response_ptr ( iox2_resizable_memory_response_h_ref handle)

Returns the current payload pointer that is managed by the resizable memory.

Safety

  • handle is valid and non-null

◆ iox2_response_drop()

void iox2_response_drop ( iox2_response_h handle)

Destroys the response.

Safety

◆ iox2_response_header()

void iox2_response_header ( iox2_response_h_ref handle,
struct iox2_response_header_t * header_struct_ptr,
iox2_response_header_h * header_handle_ptr )

Acquires the responses header.

Safety

◆ iox2_response_header_drop()

void iox2_response_header_drop ( iox2_response_header_h handle)

This function needs to be called to destroy the response_header!

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_response_header_t] can be re-used

◆ iox2_response_header_number_of_elements()

uint64_t iox2_response_header_number_of_elements ( iox2_response_header_h_ref header_handle)

Returns the number of elements of the payload. The element size is defined via this call when creating a new service [crate::iox2_service_builder_request_response_set_response_payload_type_details()]. So if the payload is defined with alignment 8 and size 16 and this function returns 5. It means that the payload consists of 5 elements of size 16 and every element is 8 byte aligned. Therefore, the payload pointer points to a memory region with 5 * 16 = 80 bytes.

Arguments

  • header_handle is valid, non-null and was initialized with [iox2_response_header()](crate::iox2_response_header)

Safety

  • header_handle is valid and non-null

◆ iox2_response_header_payload_offset()

uint64_t iox2_response_header_payload_offset ( iox2_response_header_h_ref header_handle)

Returns the payload offset.

Arguments

  • header_handle is valid, non-null and was initialized with [iox2_response_header()](crate::iox2_response_header)

Safety

  • header_handle is valid and non-null

◆ iox2_response_header_server_id()

void iox2_response_header_server_id ( iox2_response_header_h_ref header_handle,
struct iox2_unique_server_id_t * id_struct_ptr,
iox2_unique_server_id_h * id_handle_ptr )

Returns the unique server id of the source of the response.

Arguments

Safety

  • header_handle is valid and non-null
  • id_struct_ptr is either null or valid and non-null
  • id_handle_ptr is valid and non-null

◆ iox2_response_mut_create_resizable_memory()

void iox2_response_mut_create_resizable_memory ( iox2_response_mut_h_ref handle,
struct iox2_resizable_memory_response_t * struct_ptr,
iox2_resizable_memory_response_h * handle_ptr )

Returns a resizable memory builder required for dynamic allocation within the response.

Safety

◆ iox2_response_mut_drop()

void iox2_response_mut_drop ( iox2_response_mut_h response_handle)

Destroys the response without sending it.

Safety

◆ iox2_response_mut_finish_serialized()

void iox2_response_mut_finish_serialized ( iox2_response_mut_h_ref handle,
const uint8_t * payload_ptr )

Finalizes a response that was populated through serialization. Based on the provided payload_ptr and allocation_size the offset to the start of the payload is calculated.

Safety

◆ iox2_response_mut_header()

void iox2_response_mut_header ( iox2_response_mut_h_ref handle,
struct iox2_response_header_t * header_struct_ptr,
iox2_response_header_h * header_handle_ptr )

Acquires the responses header.

Safety

◆ iox2_response_mut_payload()

void iox2_response_mut_payload ( iox2_response_mut_h_ref handle,
const void ** payload_ptr,
c_size_t * number_of_elements )

Acquires the responses payload.

Safety

◆ iox2_response_mut_payload_mut()

void iox2_response_mut_payload_mut ( iox2_response_mut_h_ref handle,
void ** payload_ptr,
c_size_t * number_of_elements )

Acquires the responses mutable payload.

Safety

◆ iox2_response_mut_payload_number_of_bytes()

c_size_t iox2_response_mut_payload_number_of_bytes ( iox2_response_mut_h_ref handle)

Returns the number of bytes of the response payload.

Safety

◆ iox2_response_mut_send()

int iox2_response_mut_send ( iox2_response_mut_h response_handle)

Sends the response. Returns IOX2_OK on success otherwise [iox2_send_error_e](crate::api::iox2_send_error_e).

Safety

◆ iox2_response_mut_user_header()

void iox2_response_mut_user_header ( iox2_response_mut_h_ref handle,
const void ** header_ptr )

Acquires the responses user header.

Safety

◆ iox2_response_mut_user_header_mut()

void iox2_response_mut_user_header_mut ( iox2_response_mut_h_ref handle,
void ** header_ptr )

Acquires the responses mutable user header.

Safety

◆ iox2_response_payload()

void iox2_response_payload ( iox2_response_h_ref handle,
const void ** payload_ptr,
c_size_t * number_of_elements )

Acquires the responses payload.

Safety

◆ iox2_response_payload_number_of_bytes()

c_size_t iox2_response_payload_number_of_bytes ( iox2_response_h_ref handle)

Returns the number of bytes of the response payload.

Safety

◆ iox2_response_user_header()

void iox2_response_user_header ( iox2_response_h_ref handle,
const void ** header_ptr )

Acquires the responses user header.

Safety

◆ iox2_sample_drop()

void iox2_sample_drop ( iox2_sample_h sample_handle)

This function needs to be called to destroy the sample!

Arguments

Safety

  • The sample_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_sample_t] can be re-used with a call to [iox2_subscriber_receive](crate::iox2_subscriber_receive)!

◆ iox2_sample_header()

void iox2_sample_header ( iox2_sample_h_ref handle,
struct iox2_publish_subscribe_header_t * header_struct_ptr,
iox2_publish_subscribe_header_h * header_handle_ptr )

Acquires the samples header.

Safety

◆ iox2_sample_mut_create_resizable_memory()

void iox2_sample_mut_create_resizable_memory ( iox2_sample_mut_h_ref handle,
struct iox2_resizable_memory_publish_subscribe_t * struct_ptr,
iox2_resizable_memory_publish_subscribe_h * handle_ptr )

Returns a resizable memory builder required for dynamic allocation within the sample.

Safety

◆ iox2_sample_mut_drop()

void iox2_sample_mut_drop ( iox2_sample_mut_h sample_handle)

This function needs to be called to destroy the sample!

Arguments

Safety

  • The sample_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_sample_mut_t] can be re-used with a call to [iox2_subscriber_receive](crate::iox2_subscriber_receive)!

◆ iox2_sample_mut_finish_serialized()

void iox2_sample_mut_finish_serialized ( iox2_sample_mut_h_ref handle,
const uint8_t * payload_ptr )

Finalizes a sample that was populated through serialization. Based on the provided payload_ptr and allocation_size the offset to the start of the payload is calculated.

Safety

  • handle obtained by [iox2_publisher_loan_slice_uninit()](crate::iox2_publisher_loan_slice_uninit())
  • payload_ptr is a valid pointer into the managed payload of this sample.
  • allocation_size is the size that was allocated through the resizable memory.

◆ iox2_sample_mut_header()

void iox2_sample_mut_header ( iox2_sample_mut_h_ref handle,
struct iox2_publish_subscribe_header_t * header_struct_ptr,
iox2_publish_subscribe_header_h * header_handle_ptr )

Acquires the samples header.

Safety

◆ iox2_sample_mut_payload()

void iox2_sample_mut_payload ( iox2_sample_mut_h_ref handle,
const void ** payload_ptr,
c_size_t * number_of_elements )

Acquires the samples payload.

Safety

  • handle obtained by [iox2_publisher_loan_slice_uninit()](crate::iox2_publisher_loan_slice_uninit())
  • payload_ptr a valid, non-null pointer pointing to a [*const c_void] pointer.
  • payload_len (optional) either a null pointer or a valid pointer pointing to a [c_size_t].

◆ iox2_sample_mut_payload_mut()

void iox2_sample_mut_payload_mut ( iox2_sample_mut_h_ref handle,
void ** payload_ptr,
c_size_t * number_of_elements )

Acquires the samples mutable payload.

Safety

  • handle obtained by [iox2_publisher_loan_slice_uninit()](crate::iox2_publisher_loan_slice_uninit())
  • payload_ptr a valid, non-null pointer pointing to a [*const c_void] pointer.
  • payload_len (optional) either a null pointer or a valid pointer pointing to a [c_size_t].

◆ iox2_sample_mut_payload_number_of_bytes()

c_size_t iox2_sample_mut_payload_number_of_bytes ( iox2_sample_mut_h_ref handle)

Returns the number of bytes of the sample's payload.

Safety

◆ iox2_sample_mut_send()

int iox2_sample_mut_send ( iox2_sample_mut_h sample_handle,
c_size_t * number_of_recipients )

Takes the ownership of the sample and sends it

Safety

  • handle obtained by [iox2_publisher_loan_slice_uninit()](crate::iox2_publisher_loan_slice_uninit())
  • number_of_recipients, can be null or must point to a valid [c_size_t] to store the number of subscribers that received the sample

◆ iox2_sample_mut_truncate()

void iox2_sample_mut_truncate ( iox2_sample_mut_h_ref handle,
c_size_t number_of_elements )

Shortens the payload of the sample to its first number_of_elements elements, so that only those are sent. It has no effect when number_of_elements is not smaller than the current number of elements.

Safety

◆ iox2_sample_mut_user_header()

void iox2_sample_mut_user_header ( iox2_sample_mut_h_ref handle,
const void ** header_ptr )

Acquires the samples user header.

Safety

  • handle obtained by [iox2_publisher_loan_slice_uninit()](crate::iox2_publisher_loan_slice_uninit())
  • header_ptr a valid, non-null pointer pointing to a [*const c_void] pointer.

◆ iox2_sample_mut_user_header_mut()

void iox2_sample_mut_user_header_mut ( iox2_sample_mut_h_ref handle,
void ** header_ptr )

Acquires the samples mutable user header.

Safety

  • handle obtained by [iox2_publisher_loan_slice_uninit()](crate::iox2_publisher_loan_slice_uninit())
  • header_ptr a valid, non-null pointer pointing to a [*const c_void] pointer.

◆ iox2_sample_payload()

void iox2_sample_payload ( iox2_sample_h_ref handle,
const void ** payload_ptr,
c_size_t * number_of_elements )

Acquires the samples payload.

Safety

  • handle obtained by [iox2_subscriber_receive()](crate::iox2_subscriber_receive())
  • payload_ptr a valid, non-null pointer pointing to a [*const c_void] pointer.
  • number_of_elements (optional) either a null pointer or a valid pointer pointing to a [c_size_t] with the number of elements of the underlying type

◆ iox2_sample_payload_number_of_bytes()

c_size_t iox2_sample_payload_number_of_bytes ( iox2_sample_h_ref handle)

Returns the number of bytes of the sample's payload.

Safety

◆ iox2_sample_user_header()

void iox2_sample_user_header ( iox2_sample_h_ref handle,
const void ** header_ptr )

Acquires the samples user header.

Safety

  • handle obtained by [iox2_subscriber_receive()](crate::iox2_subscriber_receive())
  • header_ptr a valid, non-null pointer pointing to a [*const c_void] pointer.

◆ iox2_semantic_string_error_string()

const char * iox2_semantic_string_error_string ( enum iox2_semantic_string_error_e error)

Returns a string literal describing the provided [iox2_semantic_string_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_send_error_string()

const char * iox2_send_error_string ( enum iox2_send_error_e error)

Returns a string literal describing the provided [iox2_send_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_server_create_error_string()

const char * iox2_server_create_error_string ( enum iox2_server_create_error_e error)

Returns a string literal describing the provided [iox2_server_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_server_details_max_slice_len()

c_size_t iox2_server_details_max_slice_len ( iox2_server_details_ptr handle)

The current maximum length of a slice.

Safety

  • handle valid pointer to the server details

◆ iox2_server_details_node_id()

iox2_unique_node_id_ptr iox2_server_details_node_id ( iox2_server_details_ptr handle)

Returns the [iox2_unique_node_id_ptr], an immutable pointer to the node id.

Safety

  • handle valid pointer to the server details

◆ iox2_server_details_number_of_responses()

c_size_t iox2_server_details_number_of_responses ( iox2_server_details_ptr handle)

Returns the total number of responses available in the servers data segment

Safety

  • handle valid pointer to the server details

◆ iox2_server_details_request_buffer_size()

c_size_t iox2_server_details_request_buffer_size ( iox2_server_details_ptr handle)

Returns the receive buffer size for incoming requests.

Safety

  • handle valid pointer to the server details

◆ iox2_server_details_server_id()

void iox2_server_details_server_id ( iox2_server_details_ptr handle,
struct iox2_unique_server_id_t * id_struct_ptr,
iox2_unique_server_id_h * id_handle_ptr )

Returns the unique port id of the server.

Safety

  • handle valid pointer to the server details
  • id_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_unique_server_id_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • id_handle_ptr valid pointer to a [iox2_unique_server_id_h].

◆ iox2_server_details_server_name()

iox2_port_name_ptr iox2_server_details_server_name ( iox2_server_details_ptr handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the name of the server.

Safety

  • handle valid pointer to the server details

◆ iox2_server_drop()

void iox2_server_drop ( iox2_server_h handle)

This function needs to be called to destroy the server!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_server_t] can be re-used with a call to [iox2_port_factory_subscriber_builder_create](crate::iox2_port_factory_subscriber_builder_create)!

◆ iox2_server_has_requests()

int iox2_server_has_requests ( iox2_server_h_ref handle,
bool * result_ptr )

Returns true when the server has requests that can be acquired with [iox2_server_receive], otherwise false.

Arguments

Returns IOX2_OK on success, an [iox2_connection_failure_e](crate::iox2_connection_failure_e) otherwise. Attention, an empty server queue is not an error and even with IOX2_OK it is possible to get a NULL in request_handle_ptr.

Safety

  • The handle is still valid after the return of this function and can be use in another function call.
  • The result_ptr is pointing to a valid bool.

◆ iox2_server_id()

void iox2_server_id ( iox2_server_h_ref handle,
struct iox2_unique_server_id_t * id_struct_ptr,
iox2_unique_server_id_h * id_handle_ptr )

Returns the unique port id of the server.

Arguments

Safety

◆ iox2_server_initial_max_slice_len()

c_size_t iox2_server_initial_max_slice_len ( iox2_server_h_ref handle)

Returns the initial max slice len of the server. In the dynamic memory case, slice length might increase over time.

Safety

◆ iox2_server_name()

iox2_port_name_ptr iox2_server_name ( iox2_server_h_ref handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the port name.

Arguments

Safety

◆ iox2_server_receive()

int iox2_server_receive ( iox2_server_h_ref server_handle,
struct iox2_active_request_t * active_request_struct_ptr,
iox2_active_request_h * active_request_handle_ptr )

Takes a request ouf of the server queue.

Arguments

  • server_handle - Must be a valid [iox2_server_h_ref] obtained by [iox2_port_factory_server_builder_create](crate::iox2_port_factory_server_builder_create).
  • active_request_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_active_request_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • active_request_handle_ptr - An uninitialized or dangling [iox2_active_request_h] handle which will be initialized by this function call if a request is obtained, otherwise it will be set to NULL.

Returns IOX2_OK on success, an [iox2_receive_error_e](crate::iox2_receive_error_e) otherwise. Attention, an empty server queue is not an error and even with IOX2_OK it is possible to get a NULL in active_request_handle_ptr.

Safety

  • The server_handle is still valid after the return of this function and can be used in another function call.
  • The active_request_handle_ptr is pointing to a valid [iox2_active_request_h].

◆ iox2_service_builder_blackboard_create()

int iox2_service_builder_blackboard_create ( iox2_service_builder_blackboard_creator_h service_builder_handle,
struct iox2_port_factory_blackboard_t * port_factory_struct_ptr,
iox2_port_factory_blackboard_h * port_factory_handle_ptr )

Creates a blackboard service and returns a port factory to create writers and readers.

Arguments

Returns IOX2_OK on success, an [iox2_blackboard_create_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!

◆ iox2_service_builder_blackboard_create_with_attributes()

int iox2_service_builder_blackboard_create_with_attributes ( iox2_service_builder_blackboard_creator_h service_builder_handle,
iox2_attribute_specifier_h_ref attribute_specifier_handle,
struct iox2_port_factory_blackboard_t * port_factory_struct_ptr,
iox2_port_factory_blackboard_h * port_factory_handle_ptr )

Creates a service if it does not exist and returns a port factory to create writers and readers. The provided arguments are stored inside the services.

Arguments

Returns IOX2_OK on success, an [iox2_blackboard_create_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!
  • The attribute_verifier_handle must be valid.

◆ iox2_service_builder_blackboard_creator()

iox2_service_builder_blackboard_creator_h iox2_service_builder_blackboard_creator ( iox2_service_builder_h service_builder_handle)

This function transforms the [iox2_service_builder_h] to a blackboard service creator.

Arguments

Returns a [iox2_service_builder_blackboard_creator_h] for the blackboard service creator

Safety

  • The service_builder_handle is invalid after this call; The corresponding iox2_service_builder_t is now owned by the returned handle.

◆ iox2_service_builder_blackboard_creator_add()

void iox2_service_builder_blackboard_creator_add ( iox2_service_builder_blackboard_creator_h_ref service_builder_handle,
const void * key,
void * value_ptr,
iox2_service_blackboard_creator_add_release_callback release_callback,
const char * type_name,
size_t type_name_len,
size_t type_size,
size_t type_align )

Adds key-value pairs to the blackboard.

Arguments

  • service_builder_handle - Must be a valid [iox2_service_builder_blackboard_creator_h_ref] obtained by [iox2_service_builder_blackboard_creator](crate::iox2_service_builder_blackboard_creator).
  • key - The key that shall be added to the blackboard
  • value_ptr - a valid, non-null [*mut c_void] pointer which points to the value to be stored
  • release_callback - a valid callback with [iox2_service_blackboard_creator_add_release_callback] signature for the value_ptr cleanup
  • type_name - the name of the value type
  • type_name_len - the length of type_name
  • type_size - the size of the value type to be added to the blackboard
  • type_alignment - the alignment of the value type to be added to the blackboard

Safety

  • service_builder_handle must be a valid and non-null handle
  • value_ptr is valid and non-null
  • release_callback must take care of the cleanup for value_ptr
  • type_name, type_name_len, type_size and type_align must satisfy the type details of the value type

◆ iox2_service_builder_blackboard_creator_set_key_eq_comparison_function()

void iox2_service_builder_blackboard_creator_set_key_eq_comparison_function ( iox2_service_builder_blackboard_creator_h_ref service_builder_handle,
iox2_service_blackboard_key_eq_cmp_func key_eq_func )

Sets the key equality comparison function for the creator.

Arguments

Safety

  • service_builder_handle must be a valid handle

◆ iox2_service_builder_blackboard_creator_set_key_type_details()

int iox2_service_builder_blackboard_creator_set_key_type_details ( iox2_service_builder_blackboard_creator_h_ref service_builder_handle,
const char * type_name_str,
c_size_t type_name_len,
c_size_t size,
c_size_t alignment )

Sets the key type details for the creator. The key type must be fixed size.

Arguments

Returns IOX2_OK on success, an [iox2_type_detail_error_e](crate::iox2_type_detail_error_e) otherwise.

Safety

  • service_builder_handle must be a valid handle
  • type_name_str must be a valid pointer to an utf8 string
  • size and alignment must satisfy the Rust Layout type requirements

◆ iox2_service_builder_blackboard_creator_set_max_nodes()

void iox2_service_builder_blackboard_creator_set_max_nodes ( iox2_service_builder_blackboard_creator_h_ref service_builder_handle,
c_size_t value )

Sets the max nodes for the creator

Arguments

Safety

  • service_builder_handle must be a valid and non-null handle

◆ iox2_service_builder_blackboard_creator_set_max_readers()

void iox2_service_builder_blackboard_creator_set_max_readers ( iox2_service_builder_blackboard_creator_h_ref service_builder_handle,
c_size_t value )

Sets the max readers for the creator

Arguments

Safety

  • service_builder_handle must be a valid and non-null handle

◆ iox2_service_builder_blackboard_open()

int iox2_service_builder_blackboard_open ( iox2_service_builder_blackboard_opener_h service_builder_handle,
struct iox2_port_factory_blackboard_t * port_factory_struct_ptr,
iox2_port_factory_blackboard_h * port_factory_handle_ptr )

Opens a blackboard service and returns a port factory to create writers and readers.

Arguments

Returns IOX2_OK on success, an [iox2_blackboard_open_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!

◆ iox2_service_builder_blackboard_open_with_attributes()

int iox2_service_builder_blackboard_open_with_attributes ( iox2_service_builder_blackboard_opener_h service_builder_handle,
iox2_attribute_verifier_h_ref attribute_verifier_handle,
struct iox2_port_factory_blackboard_t * port_factory_struct_ptr,
iox2_port_factory_blackboard_h * port_factory_handle_ptr )

Opens a blackboard service and returns a port factory to create writers and readers. The provided attributes are considered as requirements.

Arguments

Returns IOX2_OK on success, an [iox2_blackboard_open_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The attribute_verifier_handle must be valid.

◆ iox2_service_builder_blackboard_opener()

iox2_service_builder_blackboard_opener_h iox2_service_builder_blackboard_opener ( iox2_service_builder_h service_builder_handle)

This function transforms the [iox2_service_builder_h] to a blackboard service opener.

Arguments

Returns a [iox2_service_builder_blackboard_opener_h] for the blackboard service opener

Safety

  • The service_builder_handle is invalid after this call; The corresponding iox2_service_builder_t is now owned by the returned handle.

◆ iox2_service_builder_blackboard_opener_set_key_eq_comparison_function()

void iox2_service_builder_blackboard_opener_set_key_eq_comparison_function ( iox2_service_builder_blackboard_opener_h_ref service_builder_handle,
iox2_service_blackboard_key_eq_cmp_func key_eq_func )

Sets the key equality comparison function for the opener.

Arguments

Safety

  • service_builder_handle must be a valid handle

◆ iox2_service_builder_blackboard_opener_set_key_type_details()

int iox2_service_builder_blackboard_opener_set_key_type_details ( iox2_service_builder_blackboard_opener_h_ref service_builder_handle,
const char * type_name_str,
c_size_t type_name_len,
c_size_t size,
c_size_t alignment )

Sets the key type details for the opener. The key type must be fixed size.

Arguments

Returns IOX2_OK on success, an [iox2_type_detail_error_e](crate::iox2_type_detail_error_e) otherwise.

Safety

  • service_builder_handle must be a valid handle
  • type_name_str must be a valid pointer to an utf8 string
  • size and alignment must satisfy the Rust Layout type requirements

◆ iox2_service_builder_blackboard_opener_set_max_nodes()

void iox2_service_builder_blackboard_opener_set_max_nodes ( iox2_service_builder_blackboard_opener_h_ref service_builder_handle,
c_size_t value )

Sets the max nodes for the opener

Arguments

Safety

  • service_builder_handle must be a valid and non-null handle

◆ iox2_service_builder_blackboard_opener_set_max_readers()

void iox2_service_builder_blackboard_opener_set_max_readers ( iox2_service_builder_blackboard_opener_h_ref service_builder_handle,
c_size_t value )

Sets the max readers for the opener

Arguments

Safety

  • service_builder_handle must be a valid and non-null handle

◆ iox2_service_builder_event()

iox2_service_builder_event_h iox2_service_builder_event ( iox2_service_builder_h service_builder_handle)

This function transform the [iox2_service_builder_h] to an event service builder.

Arguments

Returns a [iox2_service_builder_event_h] for the event service builder

Safety

  • The service_builder_handle is invalid after this call; The corresponding iox2_service_builder_t is now owned by the returned handle.

◆ iox2_service_builder_event_create()

int iox2_service_builder_event_create ( iox2_service_builder_event_h service_builder_handle,
struct iox2_port_factory_event_t * port_factory_struct_ptr,
iox2_port_factory_event_h * port_factory_handle_ptr )

Creates an event service and returns a port factory to create notifiers and listeners.

Arguments

Returns IOX2_OK on success, an [iox2_event_open_or_create_error_e] otherwise. Note, only the errors annotated with O_ are relevant.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!

◆ iox2_service_builder_event_create_with_attributes()

int iox2_service_builder_event_create_with_attributes ( iox2_service_builder_event_h service_builder_handle,
iox2_attribute_specifier_h_ref attribute_specifier_handle,
struct iox2_port_factory_event_t * port_factory_struct_ptr,
iox2_port_factory_event_h * port_factory_handle_ptr )

Creates a service if it does not exist and returns a port factory to create notifiers and listeners. The provided arguments are stored inside the services.

Arguments

Returns IOX2_OK on success, an [iox2_event_open_or_create_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!
  • The attribute_verifier_handle must be valid.

◆ iox2_service_builder_event_disable_deadline()

void iox2_service_builder_event_disable_deadline ( iox2_service_builder_event_h_ref service_builder_handle)

Disables the deadline property of the service.

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_event_disable_notifier_created_event()

void iox2_service_builder_event_disable_notifier_created_event ( iox2_service_builder_event_h_ref service_builder_handle)

Disables the event id value that shall be emitted after a notifier was created.

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_event_disable_notifier_dead_event()

void iox2_service_builder_event_disable_notifier_dead_event ( iox2_service_builder_event_h_ref service_builder_handle)

Disables event id notification when a notifier was identified as dead.

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_event_disable_notifier_dropped_event()

void iox2_service_builder_event_disable_notifier_dropped_event ( iox2_service_builder_event_h_ref service_builder_handle)

Disables the event id value that shall be emitted before a notifier is dropped.

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_event_open()

int iox2_service_builder_event_open ( iox2_service_builder_event_h service_builder_handle,
struct iox2_port_factory_event_t * port_factory_struct_ptr,
iox2_port_factory_event_h * port_factory_handle_ptr )

Opens an event service and returns a port factory to create notifiers and listeners.

Arguments

Returns IOX2_OK on success, an [iox2_event_open_or_create_error_e] otherwise. Note, only the errors annotated with O_ are relevant.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!

◆ iox2_service_builder_event_open_or_create()

int iox2_service_builder_event_open_or_create ( iox2_service_builder_event_h service_builder_handle,
struct iox2_port_factory_event_t * port_factory_struct_ptr,
iox2_port_factory_event_h * port_factory_handle_ptr )

Opens an event service or creates the service if it does not exist and returns a port factory to create notifiers and listeners.

Arguments

Returns IOX2_OK on success, an [iox2_event_open_or_create_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!

◆ iox2_service_builder_event_open_or_create_with_attributes()

int iox2_service_builder_event_open_or_create_with_attributes ( iox2_service_builder_event_h service_builder_handle,
iox2_attribute_verifier_h_ref attribute_verifier_handle,
struct iox2_port_factory_event_t * port_factory_struct_ptr,
iox2_port_factory_event_h * port_factory_handle_ptr )

Opens an event service or creates the service if it does not exist and returns a port factory to create notifiers and listeners. If the service does not exist, the provided arguments are stored inside the services, if the service already exists, the provided attributes are considered as requirements.

Arguments

Returns IOX2_OK on success, an [iox2_event_open_or_create_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!
  • The attribute_verifier_handle must be valid.

◆ iox2_service_builder_event_open_with_attributes()

int iox2_service_builder_event_open_with_attributes ( iox2_service_builder_event_h service_builder_handle,
iox2_attribute_verifier_h_ref attribute_verifier_handle,
struct iox2_port_factory_event_t * port_factory_struct_ptr,
iox2_port_factory_event_h * port_factory_handle_ptr )

Opens an event service and returns a port factory to create notifiers and listeners. The provided attributes are considered as requirements.

Arguments

Returns IOX2_OK on success, an [iox2_event_open_or_create_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!
  • The attribute_verifier_handle must be valid.

◆ iox2_service_builder_event_set_deadline()

void iox2_service_builder_event_set_deadline ( iox2_service_builder_event_h_ref service_builder_handle,
uint64_t seconds,
uint32_t nanoseconds )

Enables the deadline property of the service. There must be a notification emitted by any notifier after at least the provided deadline.

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_event_set_event_id_max_value()

void iox2_service_builder_event_set_event_id_max_value ( iox2_service_builder_event_h_ref service_builder_handle,
c_size_t value )

Sets the max event id value for the builder

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_event_set_max_listeners()

void iox2_service_builder_event_set_max_listeners ( iox2_service_builder_event_h_ref service_builder_handle,
c_size_t value )

Sets the max listeners for the builder

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_event_set_max_nodes()

void iox2_service_builder_event_set_max_nodes ( iox2_service_builder_event_h_ref service_builder_handle,
c_size_t value )

Sets the max nodes for the builder

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_event_set_max_notifiers()

void iox2_service_builder_event_set_max_notifiers ( iox2_service_builder_event_h_ref service_builder_handle,
c_size_t value )

Sets the max notifiers for the builder

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_event_set_notifier_created_event()

void iox2_service_builder_event_set_notifier_created_event ( iox2_service_builder_event_h_ref service_builder_handle,
c_size_t value )

Sets the event id value that shall be emitted after a notifier was created.

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_event_set_notifier_dead_event()

void iox2_service_builder_event_set_notifier_dead_event ( iox2_service_builder_event_h_ref service_builder_handle,
c_size_t value )

Sets the event id value that shall be emitted if a notifier was identified as dead.

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_event_set_notifier_dropped_event()

void iox2_service_builder_event_set_notifier_dropped_event ( iox2_service_builder_event_h_ref service_builder_handle,
c_size_t value )

Sets the event id value that shall be emitted before a notifier is dropped.

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_pub_sub()

iox2_service_builder_pub_sub_h iox2_service_builder_pub_sub ( iox2_service_builder_h service_builder_handle)

This function transform the [iox2_service_builder_h] to a publish-subscribe service builder.

Arguments

Returns a [iox2_service_builder_pub_sub_h] for the publish-subscribe service builder

Safety

  • The service_builder_handle is invalid after this call; The corresponding iox2_service_builder_t is now owned by the returned handle.

◆ iox2_service_builder_pub_sub_config()

iox2_config_ptr iox2_service_builder_pub_sub_config ( iox2_service_builder_pub_sub_h_ref handle)

Returns the [iox2_config_ptr], an immutable pointer to the config.

Safety

  • The handle must be valid
  • The returned iox2_config_ptr is valid until the node that owns it goes out-of-scope.

◆ iox2_service_builder_pub_sub_create()

int iox2_service_builder_pub_sub_create ( iox2_service_builder_pub_sub_h service_builder_handle,
struct iox2_port_factory_pub_sub_t * port_factory_struct_ptr,
iox2_port_factory_pub_sub_h * port_factory_handle_ptr )

Creates a publish-subscribe service and returns a port factory to create publishers and subscribers.

Arguments

Returns IOX2_OK on success, an [iox2_pub_sub_open_or_create_error_e] otherwise. Note, only the errors annotated with C_ are relevant.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!

◆ iox2_service_builder_pub_sub_create_with_attributes()

int iox2_service_builder_pub_sub_create_with_attributes ( iox2_service_builder_pub_sub_h service_builder_handle,
iox2_attribute_specifier_h_ref attribute_specifier_handle,
struct iox2_port_factory_pub_sub_t * port_factory_struct_ptr,
iox2_port_factory_pub_sub_h * port_factory_handle_ptr )

Creates a publish-subscribe service and returns a port factory to create publishers and subscribers. The provided arguments are stored inside the services.

Arguments

Returns IOX2_OK on success, an [iox2_pub_sub_open_or_create_error_e] otherwise. Note, only the errors annotated with C_ are relevant.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!
  • The attribute_verifier_handle must be valid.

◆ iox2_service_builder_pub_sub_open()

int iox2_service_builder_pub_sub_open ( iox2_service_builder_pub_sub_h service_builder_handle,
struct iox2_port_factory_pub_sub_t * port_factory_struct_ptr,
iox2_port_factory_pub_sub_h * port_factory_handle_ptr )

Opens a publish-subscribe service and returns a port factory to create publishers and subscribers.

Arguments

Returns IOX2_OK on success, an [iox2_pub_sub_open_or_create_error_e] otherwise. Note, only the errors annotated with O_ are relevant.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!

◆ iox2_service_builder_pub_sub_open_or_create()

int iox2_service_builder_pub_sub_open_or_create ( iox2_service_builder_pub_sub_h service_builder_handle,
struct iox2_port_factory_pub_sub_t * port_factory_struct_ptr,
iox2_port_factory_pub_sub_h * port_factory_handle_ptr )

Opens a publish-subscribe service or creates the service if it does not exist and returns a port factory to create publishers and subscribers.

Arguments

Returns IOX2_OK on success, an [iox2_pub_sub_open_or_create_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!

◆ iox2_service_builder_pub_sub_open_or_create_with_attributes()

int iox2_service_builder_pub_sub_open_or_create_with_attributes ( iox2_service_builder_pub_sub_h service_builder_handle,
iox2_attribute_verifier_h_ref attribute_verifier_handle,
struct iox2_port_factory_pub_sub_t * port_factory_struct_ptr,
iox2_port_factory_pub_sub_h * port_factory_handle_ptr )

Opens a publish-subscribe service or creates the service if it does not exist and returns a port factory to create publishers and subscribers. If the service does not exist, the provided arguments are stored inside the services, if the service already exists, the provided attributes are considered as requirements.

Arguments

Returns IOX2_OK on success, an [iox2_pub_sub_open_or_create_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!
  • The attribute_verifier_handle must be valid.

◆ iox2_service_builder_pub_sub_open_with_attributes()

int iox2_service_builder_pub_sub_open_with_attributes ( iox2_service_builder_pub_sub_h service_builder_handle,
iox2_attribute_verifier_h_ref attribute_verifier_handle,
struct iox2_port_factory_pub_sub_t * port_factory_struct_ptr,
iox2_port_factory_pub_sub_h * port_factory_handle_ptr )

Opens a publish-subscribe service and returns a port factory to create publishers and subscribers. The provided attributes are considered as requirements.

Arguments

Returns IOX2_OK on success, an [iox2_pub_sub_open_or_create_error_e] otherwise. Note, only the errors annotated with O_ are relevant.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!
  • The attribute_verifier_handle must be valid.

◆ iox2_service_builder_pub_sub_set_enable_safe_overflow()

void iox2_service_builder_pub_sub_set_enable_safe_overflow ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
bool value )

Enables/disables safe overflow for the service

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_pub_sub_set_flatbuffer_schema_path()

int iox2_service_builder_pub_sub_set_flatbuffer_schema_path ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
const char * path_str )

Sets flatbuffer schema path for the builder. Only allowed when the payload is a flatbuffer.

Arguments

Returns IOX2_OK on success, an [iox2_type_detail_error_e] otherwise.

Safety

  • service_builder_handle must be valid handles
  • path_str must be a valid pointer to an utf8 string

◆ iox2_service_builder_pub_sub_set_history_size()

void iox2_service_builder_pub_sub_set_history_size ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
c_size_t value )

Sets the history size

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_pub_sub_set_max_nodes()

void iox2_service_builder_pub_sub_set_max_nodes ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
c_size_t value )

Sets the max nodes for the builder

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_pub_sub_set_max_publishers()

void iox2_service_builder_pub_sub_set_max_publishers ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
c_size_t value )

Sets the max publishers for the builder

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_pub_sub_set_max_subscribers()

void iox2_service_builder_pub_sub_set_max_subscribers ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
c_size_t value )

Sets the max subscribers for the builder

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_pub_sub_set_payload_alignment()

void iox2_service_builder_pub_sub_set_payload_alignment ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
c_size_t value )

Sets the payload alignment for the builder

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_pub_sub_set_payload_type_details()

int iox2_service_builder_pub_sub_set_payload_type_details ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
enum iox2_type_variant_e type_variant,
const char * type_name_str,
c_size_t type_name_len,
c_size_t size,
c_size_t alignment )

Sets the payload type details for the builder

Arguments

  • service_builder_handle - Must be a valid [iox2_service_builder_pub_sub_h_ref] obtained by [iox2_service_builder_pub_sub](crate::iox2_service_builder_pub_sub).
  • type_variant - The [iox2_type_variant_e] for the payload
  • type_name_str - Must string for the type name.
  • type_name_len - The length of the type name string, not including a null
  • size - The size of the payload
  • alignment - The alignment of the payload

Returns IOX2_OK on success, an [iox2_type_detail_error_e] otherwise.

Safety

  • service_builder_handle must be valid handles
  • type_name_str must be a valid pointer to an utf8 string
  • size and alignment must satisfy the Rust Layout type requirements

◆ iox2_service_builder_pub_sub_set_subscriber_max_borrowed_samples()

void iox2_service_builder_pub_sub_set_subscriber_max_borrowed_samples ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
c_size_t value )

Sets the subscriber max borrowed samples

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_pub_sub_set_subscriber_max_buffer_size()

void iox2_service_builder_pub_sub_set_subscriber_max_buffer_size ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
c_size_t value )

Sets the subscriber max buffer size

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_pub_sub_set_user_header_type_details()

int iox2_service_builder_pub_sub_set_user_header_type_details ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
enum iox2_type_variant_e type_variant,
const char * type_name_str,
c_size_t type_name_len,
c_size_t size,
c_size_t alignment )

Sets the user header type details for the builder

Arguments

  • service_builder_handle - Must be a valid [iox2_service_builder_pub_sub_h_ref] obtained by [iox2_service_builder_pub_sub](crate::iox2_service_builder_pub_sub).
  • type_variant - The [iox2_type_variant_e] for the payload
  • type_name_str - Must string for the type name.
  • type_name_len - The length of the type name string, not including a null
  • size - The size of the payload
  • alignment - The alignment of the payload

Returns IOX2_OK on success, an [iox2_type_detail_error_e] otherwise.

Safety

  • service_builder_handle must be valid handles
  • type_name_str must be a valid pointer to an utf8 string
  • size and alignment must satisfy the Rust Layout type requirements

◆ iox2_service_builder_pub_sub_type_definition_name_hint()

void iox2_service_builder_pub_sub_type_definition_name_hint ( iox2_service_builder_pub_sub_h_ref service_builder_handle,
const char * name,
c_size_t name_len,
const char * namespace_,
c_size_t namespace_len )

Sets the type definition name hint. This enables the type definition auto-lookup.

Arguments

  • service_builder_handle - Must be a valid [iox2_service_builder_pub_sub_h_ref] obtained by [iox2_service_builder_pub_sub](crate::iox2_service_builder_pub_sub).
  • name - Pointer to a valid string literal
  • name_len - The length of the name
  • namespace - Pointer to a valid string literal
  • namespace_len - The length of the namespace

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_request_response()

iox2_service_builder_request_response_h iox2_service_builder_request_response ( iox2_service_builder_h service_builder_handle)

This function transform the [iox2_service_builder_h] to a request-response service builder.

Arguments

Returns a [iox2_service_builder_request_response_h] for the request-response service builder

Safety

  • The service_builder_handle is invalid after this call; The corresponding iox2_service_builder_t is now owned by the returned handle.

◆ iox2_service_builder_request_response_create()

int iox2_service_builder_request_response_create ( iox2_service_builder_request_response_h service_builder_handle,
struct iox2_port_factory_request_response_t * port_factory_struct_ptr,
iox2_port_factory_request_response_h * port_factory_handle_ptr )

Creates a request-response service and returns a port factory to create servers and clients.

Arguments

Returns IOX2_OK on success, an [iox2_request_response_open_or_create_error_e] otherwise. Note, only the errors annotated with C_ are relevant.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!

◆ iox2_service_builder_request_response_create_with_attributes()

int iox2_service_builder_request_response_create_with_attributes ( iox2_service_builder_request_response_h service_builder_handle,
iox2_attribute_specifier_h_ref attribute_specifier_handle,
struct iox2_port_factory_request_response_t * port_factory_struct_ptr,
iox2_port_factory_request_response_h * port_factory_handle_ptr )

Creates a request-response service and returns a port factory to create servers and clients. The provided arguments are stored inside the services.

Arguments

Returns IOX2_OK on success, an [iox2_request_response_open_or_create_error_e] otherwise. Note, only the errors annotated with C_ are relevant.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!
  • The attribute_specifier_handle must be valid.

◆ iox2_service_builder_request_response_enable_fire_and_forget_requests()

void iox2_service_builder_request_response_enable_fire_and_forget_requests ( iox2_service_builder_request_response_h_ref service_builder_handle,
bool value )

Enables/disables fire and forget requests

Safety

◆ iox2_service_builder_request_response_enable_safe_overflow_for_requests()

void iox2_service_builder_request_response_enable_safe_overflow_for_requests ( iox2_service_builder_request_response_h_ref service_builder_handle,
bool value )

Enables/disables safe overflow for requests

Safety

◆ iox2_service_builder_request_response_enable_safe_overflow_for_responses()

void iox2_service_builder_request_response_enable_safe_overflow_for_responses ( iox2_service_builder_request_response_h_ref service_builder_handle,
bool value )

Enables/disables safe overflow for responses

Safety

◆ iox2_service_builder_request_response_max_active_requests_per_client()

void iox2_service_builder_request_response_max_active_requests_per_client ( iox2_service_builder_request_response_h_ref service_builder_handle,
c_size_t value )

Sets the maximum amount of active requests a client can have

Safety

◆ iox2_service_builder_request_response_max_borrowed_responses_per_pending_response()

void iox2_service_builder_request_response_max_borrowed_responses_per_pending_response ( iox2_service_builder_request_response_h_ref service_builder_handle,
c_size_t value )

Sets the maximum amount responses a client can borrow from a pending response

Safety

◆ iox2_service_builder_request_response_max_clients()

void iox2_service_builder_request_response_max_clients ( iox2_service_builder_request_response_h_ref service_builder_handle,
c_size_t value )

Sets the maximum number of clients the service will support

Safety

◆ iox2_service_builder_request_response_max_loaned_requests()

void iox2_service_builder_request_response_max_loaned_requests ( iox2_service_builder_request_response_h_ref service_builder_handle,
c_size_t value )

Sets the maximum number of requests a client can loan at the same time

Safety

◆ iox2_service_builder_request_response_max_response_buffer_size()

void iox2_service_builder_request_response_max_response_buffer_size ( iox2_service_builder_request_response_h_ref service_builder_handle,
c_size_t value )

Sets the maximum buffer size for responses on the client side

Safety

◆ iox2_service_builder_request_response_max_servers()

void iox2_service_builder_request_response_max_servers ( iox2_service_builder_request_response_h_ref service_builder_handle,
c_size_t value )

Sets the maximum number of servers the service will support

Safety

◆ iox2_service_builder_request_response_open()

int iox2_service_builder_request_response_open ( iox2_service_builder_request_response_h service_builder_handle,
struct iox2_port_factory_request_response_t * port_factory_struct_ptr,
iox2_port_factory_request_response_h * port_factory_handle_ptr )

Opens a request-response service and returns a port factory to create servers and clients.

Arguments

Returns IOX2_OK on success, an [iox2_request_response_open_or_create_error_e] otherwise. Note, only the errors annotated with O_ are relevant.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!

◆ iox2_service_builder_request_response_open_or_create()

int iox2_service_builder_request_response_open_or_create ( iox2_service_builder_request_response_h service_builder_handle,
struct iox2_port_factory_request_response_t * port_factory_struct_ptr,
iox2_port_factory_request_response_h * port_factory_handle_ptr )

Opens a request-response service or creates the service if it does not exist and returns a port factory to create servers and clients.

Arguments

Returns IOX2_OK on success, an [iox2_request_response_open_or_create_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!

◆ iox2_service_builder_request_response_open_or_create_with_attributes()

int iox2_service_builder_request_response_open_or_create_with_attributes ( iox2_service_builder_request_response_h service_builder_handle,
iox2_attribute_verifier_h_ref attribute_verifier_handle,
struct iox2_port_factory_request_response_t * port_factory_struct_ptr,
iox2_port_factory_request_response_h * port_factory_handle_ptr )

Opens a request-response service or creates the service if it does not exist and returns a port factory to create servers and clients. If the service does not exist, the provided arguments are stored inside the services, if the service already exists, the provided attributes are considered as requirements.

Arguments

Returns IOX2_OK on success, an [iox2_request_response_open_or_create_error_e] otherwise.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!
  • The attribute_verifier_handle must be valid.

◆ iox2_service_builder_request_response_open_with_attributes()

int iox2_service_builder_request_response_open_with_attributes ( iox2_service_builder_request_response_h service_builder_handle,
iox2_attribute_verifier_h_ref attribute_verifier_handle,
struct iox2_port_factory_request_response_t * port_factory_struct_ptr,
iox2_port_factory_request_response_h * port_factory_handle_ptr )

Opens a request-response service and returns a port factory to create servers and clients. The provided attributes are considered as requirements.

Arguments

Returns IOX2_OK on success, an [iox2_request_response_open_or_create_error_e] otherwise. Note, only the errors annotated with O_ are relevant.

Safety

  • The service_builder_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_builder_t](crate::iox2_service_builder_t) can be re-used with a call to [iox2_node_service_builder](crate::iox2_node_service_builder)!
  • The attribute_verifier_handle must be valid.

◆ iox2_service_builder_request_response_request_payload_alignment()

void iox2_service_builder_request_response_request_payload_alignment ( iox2_service_builder_request_response_h_ref service_builder_handle,
c_size_t value )

Overrides the alignment of the provided request payload.

Safety

◆ iox2_service_builder_request_response_request_type_definition_name_hint()

void iox2_service_builder_request_response_request_type_definition_name_hint ( iox2_service_builder_request_response_h_ref service_builder_handle,
const char * name,
c_size_t name_len,
const char * namespace_,
c_size_t namespace_len )

Sets the request type definition name hint. This enables the type definition auto-lookup.

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_request_response_response_payload_alignment()

void iox2_service_builder_request_response_response_payload_alignment ( iox2_service_builder_request_response_h_ref service_builder_handle,
c_size_t value )

Overrides the alignment of the provided response payload.

Safety

◆ iox2_service_builder_request_response_response_type_definition_name_hint()

void iox2_service_builder_request_response_response_type_definition_name_hint ( iox2_service_builder_request_response_h_ref service_builder_handle,
const char * name,
c_size_t name_len,
const char * namespace_,
c_size_t namespace_len )

Sets the response type definition name hint. This enables the type definition auto-lookup.

Arguments

Safety

  • service_builder_handle must be valid handles

◆ iox2_service_builder_request_response_set_max_nodes()

void iox2_service_builder_request_response_set_max_nodes ( iox2_service_builder_request_response_h_ref service_builder_handle,
c_size_t value )

Sets the maximum number of nodes that can open the service

Safety

◆ iox2_service_builder_request_response_set_request_flatbuffer_schema_path()

int iox2_service_builder_request_response_set_request_flatbuffer_schema_path ( iox2_service_builder_request_response_h_ref service_builder_handle,
const char * path_str )

Sets flatbuffer request schema path for the builder. Only allowed when the payload is a flatbuffer.

Arguments

Returns IOX2_OK on success, an [iox2_type_detail_error_e] otherwise.

Safety

  • service_builder_handle must be valid handles
  • path_str must be a valid pointer to an utf8 string

◆ iox2_service_builder_request_response_set_request_header_type_details()

int iox2_service_builder_request_response_set_request_header_type_details ( iox2_service_builder_request_response_h_ref service_builder_handle,
enum iox2_type_variant_e type_variant,
const char * type_name_str,
c_size_t type_name_len,
c_size_t size,
c_size_t alignment )

Sets the request header type details for the builder

Arguments

Returns IOX2_OK on success, an [iox2_type_detail_error_e] otherwise.

Safety

  • service_builder_handle must be valid handles
  • type_name_str must be a valid pointer to an utf8 string
  • size and alignment must satisfy the Rust Layout type requirements

◆ iox2_service_builder_request_response_set_request_payload_type_details()

int iox2_service_builder_request_response_set_request_payload_type_details ( iox2_service_builder_request_response_h_ref service_builder_handle,
enum iox2_type_variant_e type_variant,
const char * type_name_str,
c_size_t type_name_len,
c_size_t size,
c_size_t alignment )

Sets the request payload type details for the builder

Arguments

Returns IOX2_OK on success, an [iox2_type_detail_error_e] otherwise.

Safety

  • service_builder_handle must be valid handles
  • type_name_str must be a valid pointer to an utf8 string
  • size and alignment must satisfy the Rust Layout type requirements

◆ iox2_service_builder_request_response_set_response_flatbuffer_schema_path()

int iox2_service_builder_request_response_set_response_flatbuffer_schema_path ( iox2_service_builder_request_response_h_ref service_builder_handle,
const char * path_str )

Sets flatbuffer response schema path for the builder. Only allowed when the payload is a flatbuffer.

Arguments

Returns IOX2_OK on success, an [iox2_type_detail_error_e] otherwise.

Safety

  • service_builder_handle must be valid handles
  • path_str must be a valid pointer to an utf8 string

◆ iox2_service_builder_request_response_set_response_header_type_details()

int iox2_service_builder_request_response_set_response_header_type_details ( iox2_service_builder_request_response_h_ref service_builder_handle,
enum iox2_type_variant_e type_variant,
const char * type_name_str,
c_size_t type_name_len,
c_size_t size,
c_size_t alignment )

Sets the response header type details for the builder

Arguments

Returns IOX2_OK on success, an [iox2_type_detail_error_e] otherwise.

Safety

  • service_builder_handle must be valid handles
  • type_name_str must be a valid pointer to an utf8 string
  • size and alignment must satisfy the Rust Layout type requirements

◆ iox2_service_builder_request_response_set_response_payload_type_details()

int iox2_service_builder_request_response_set_response_payload_type_details ( iox2_service_builder_request_response_h_ref service_builder_handle,
enum iox2_type_variant_e type_variant,
const char * type_name_str,
c_size_t type_name_len,
c_size_t size,
c_size_t alignment )

Sets the response payload type details for the builder

Arguments

Returns IOX2_OK on success, an [iox2_type_detail_error_e] otherwise.

Safety

  • service_builder_handle must be valid handles
  • type_name_str must be a valid pointer to an utf8 string
  • size and alignment must satisfy the Rust Layout type requirements

◆ iox2_service_details()

int iox2_service_details ( enum iox2_service_type_e service_type,
iox2_service_name_ptr service_name,
iox2_config_ptr config,
enum iox2_messaging_pattern_e messaging_pattern,
struct iox2_static_config_t * service_details,
bool * does_exist )

Acquires the service details of a specified service. If the service exists service_details will contain the requested information, otherwise it is NULL. On error it returns iox2_service_details_error_e, on success IOX2_OK.

Safety

  • The service_name must be valid and non-null
  • The config must be valid and non-null
  • The service_details must be valid and non-null
  • The does_exist must be valid and non-null

◆ iox2_service_details_error_string()

const char * iox2_service_details_error_string ( enum iox2_service_details_error_e error)

Returns a string literal describing the provided [iox2_service_details_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_service_does_exist()

int iox2_service_does_exist ( enum iox2_service_type_e service_type,
iox2_service_name_ptr service_name,
iox2_config_ptr config,
enum iox2_messaging_pattern_e messaging_pattern,
bool * does_exist )

Checks if a specified service exists. If the service exists does_exist will contain true, otherwise false after the call. On error it returns iox2_service_details_error_e, on success IOX2_OK.

Safety

  • The service_name must be valid and non-null
  • The config must be valid and non-null
  • The does_exist must be valid and non-null

◆ iox2_service_list()

int iox2_service_list ( enum iox2_service_type_e service_type,
iox2_config_ptr config_ptr,
iox2_service_list_callback callback,
iox2_callback_context callback_ctx )

Iterates over the all accessible services and calls the provided callback for every service with iox2_service_details as input argument. On error it returns iox2_service_list_error_e, otherwise IOX2_OK.

Safety

  • The config must be valid and non-null
  • The callback must be valid and non-null

◆ iox2_service_list_error_string()

const char * iox2_service_list_error_string ( enum iox2_service_list_error_e error)

Returns a string literal describing the provided [iox2_service_list_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_service_name_as_chars()

const char * iox2_service_name_as_chars ( iox2_service_name_ptr service_name_ptr,
c_size_t * service_name_len )

This function gives access to the node name as a non-zero-terminated char array

Arguments

Returns non-zero-terminated char array

Safety

  • The service_name_ptr must be a valid pointer to a node name.
  • The service_name_len must be a valid pointer to a size_t.

◆ iox2_service_name_drop()

void iox2_service_name_drop ( iox2_service_name_h service_name_handle)

This function needs to be called to destroy the node name!

In general, this function is not required to call, since [iox2_node_builder_set_name](crate::iox2_node_builder_set_name) will consume the [iox2_service_name_h] handle.

Arguments

Safety

  • The service_name_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_service_name_t] can be re-used with a call to [iox2_service_name_new]!

◆ iox2_service_name_new()

int iox2_service_name_new ( struct iox2_service_name_t * service_name_struct_ptr,
const char * service_name_str,
c_size_t service_name_len,
iox2_service_name_h * service_name_handle_ptr )

This function create a new node name!

Arguments

  • service_name_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_service_name_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • service_name_str - Must be valid node name string.
  • service_name_len - The length of the node name string, not including a null termination.
  • service_name_handle_ptr - An uninitialized or dangling [iox2_service_name_h] handle which will be initialized by this function call.

Returns IOX2_OK on success, an [iox2_semantic_string_error_e] otherwise.

Safety

  • Terminates if service_name_str or service_name_handle_ptr is a NULL pointer!
  • It is undefined behavior to pass a service_name_len which is larger than the actual length of service_name_str!

◆ iox2_set_log_level()

void iox2_set_log_level ( enum iox2_log_level_e v)

Sets the log level.

Important

When using external frameworks, the log level should be set explicitly, as only messages matching that level will be forwarded. You may also need to configure the framework’s own log level settings.

◆ iox2_set_log_level_from_env_or()

void iox2_set_log_level_from_env_or ( enum iox2_log_level_e v)

Sets the log level from environment variable or to a user given value if variable does not exist

Important

When using external frameworks, the log level should be set explicitly, as only messages matching that level will be forwarded. You may also need to configure the framework’s own log level settings.

◆ iox2_set_log_level_from_env_or_default()

void iox2_set_log_level_from_env_or_default ( void )

Sets the log level from environment variable or defaults it if variable does not exist

Important

When using external frameworks, the log level should be set explicitly, as only messages matching that level will be forwarded. You may also need to configure the framework’s own log level settings.

◆ iox2_set_logger()

bool iox2_set_logger ( iox2_log_callback logger)

Sets the logger that shall be used. This function can only be called once and must be called before any log message was created. It returns true if the logger was set, otherwise false.

◆ iox2_subscriber_buffer_size()

c_size_t iox2_subscriber_buffer_size ( iox2_subscriber_h_ref subscriber_handle)

Returns the buffer size of the subscriber

Arguments

Safety

  • subscriber_handle must be valid handles

◆ iox2_subscriber_create_error_string()

const char * iox2_subscriber_create_error_string ( enum iox2_subscriber_create_error_e error)

Returns a string literal describing the provided [iox2_subscriber_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_subscriber_details_buffer_size()

c_size_t iox2_subscriber_details_buffer_size ( iox2_subscriber_details_ptr handle)

Returns the size of the receive buffer that stores the incoming samples.

Safety

  • handle valid pointer to the subscriber details

◆ iox2_subscriber_details_history_request()

c_size_t iox2_subscriber_details_history_request ( iox2_subscriber_details_ptr handle)

Returns the amount of requested history samples.

Safety

  • handle valid pointer to the subscriber details

◆ iox2_subscriber_details_node_id()

iox2_unique_node_id_ptr iox2_subscriber_details_node_id ( iox2_subscriber_details_ptr handle)

Returns the [iox2_unique_node_id_ptr], an immutable pointer to the node id.

Safety

  • handle valid pointer to the subscriber details

◆ iox2_subscriber_details_subscriber_id()

void iox2_subscriber_details_subscriber_id ( iox2_subscriber_details_ptr handle,
struct iox2_unique_subscriber_id_t * id_struct_ptr,
iox2_unique_subscriber_id_h * id_handle_ptr )

Returns the unique port id of the subscriber.

Safety

  • handle valid pointer to the subscriber details
  • id_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_unique_subscriber_id_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • id_handle_ptr valid pointer to a [iox2_unique_subscriber_id_h].

◆ iox2_subscriber_details_subscriber_name()

iox2_port_name_ptr iox2_subscriber_details_subscriber_name ( iox2_subscriber_details_ptr handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the name of the subscriber.

Safety

  • handle valid pointer to the subscriber details

◆ iox2_subscriber_drop()

void iox2_subscriber_drop ( iox2_subscriber_h subscriber_handle)

This function needs to be called to destroy the subscriber!

Arguments

Safety

  • The subscriber_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_subscriber_t] can be re-used with a call to [iox2_port_factory_subscriber_builder_create](crate::iox2_port_factory_subscriber_builder_create)!

◆ iox2_subscriber_has_samples()

int iox2_subscriber_has_samples ( iox2_subscriber_h_ref subscriber_handle,
bool * result_ptr )

Returns true when the subscriber has samples that can be acquired with [iox2_subscriber_receive], otherwise false.

Arguments

Returns IOX2_OK on success, an [iox2_connection_failure_e] otherwise. Attention, an empty subscriber queue is not an error and even with IOX2_OK it is possible to get a NULL in sample_handle_ptr.

Safety

  • The subscriber_handle is still valid after the return of this function and can be use in another function call.
  • The result_ptr is pointing to a valid bool.

◆ iox2_subscriber_id()

void iox2_subscriber_id ( iox2_subscriber_h_ref subscriber_handle,
struct iox2_unique_subscriber_id_t * id_struct_ptr,
iox2_unique_subscriber_id_h * id_handle_ptr )

Returns the unique port id of the subscriber.

Arguments

Safety

◆ iox2_subscriber_name()

iox2_port_name_ptr iox2_subscriber_name ( iox2_subscriber_h_ref subscriber_handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the port name.

Arguments

Safety

◆ iox2_subscriber_receive()

int iox2_subscriber_receive ( iox2_subscriber_h_ref subscriber_handle,
struct iox2_sample_t * sample_struct_ptr,
iox2_sample_h * sample_handle_ptr )

Takes a sample ouf of the subscriber queue.

Arguments

  • subscriber_handle - Must be a valid [iox2_subscriber_h_ref] obtained by [iox2_port_factory_subscriber_builder_create](crate::iox2_port_factory_subscriber_builder_create).
  • sample_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_sample_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • sample_handle_ptr - An uninitialized or dangling [iox2_sample_h] handle which will be initialized by this function call if a sample is obtained, otherwise it will be set to NULL.

Returns IOX2_OK on success, an [iox2_receive_error_e] otherwise. Attention, an empty subscriber queue is not an error and even with IOX2_OK it is possible to get a NULL in sample_handle_ptr.

Safety

  • The subscriber_handle is still valid after the return of this function and can be use in another function call.
  • The sample_handle_ptr is pointing to a valid [iox2_sample_h].

◆ iox2_testing_create_test_directory()

void iox2_testing_create_test_directory ( void )

Creates a directory to store test artifacts.

◆ iox2_testing_generate_file_name()

void iox2_testing_generate_file_name ( char * name,
size_t buffer_len )

Generates a random and all time unique file name.

Safety

  • name must point to a valid memory location with a capacity of buffer_len

◆ iox2_testing_generate_file_path()

void iox2_testing_generate_file_path ( char * name,
size_t buffer_len )

Generates a random and all time unique file name inside the test directory.

Safety

  • name must point to a valid memory location with a capacity of buffer_len

◆ iox2_testing_test_directory_path()

void iox2_testing_test_directory_path ( char * name,
size_t buffer_len )

Returns the test directory path.

Safety

  • name must point to a valid memory location with a capacity of buffer_len

◆ iox2_unique_client_id_drop()

void iox2_unique_client_id_drop ( iox2_unique_client_id_h handle)

This function needs to be called to destroy the unique client id!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!

◆ iox2_unique_client_id_eq()

bool iox2_unique_client_id_eq ( iox2_unique_client_id_h_ref lhs,
iox2_unique_client_id_h_ref rhs )

Checks two [iox2_unique_client_id_t] for equality.

Safety

◆ iox2_unique_client_id_less()

bool iox2_unique_client_id_less ( iox2_unique_client_id_h_ref lhs,
iox2_unique_client_id_h_ref rhs )

Checks the ordering of two [iox2_unique_client_id_t].

Safety

◆ iox2_unique_client_id_value()

void iox2_unique_client_id_value ( iox2_unique_client_id_h handle,
uint8_t * id_ptr,
size_t id_length )

Retrieves the value of a unique client ID.

Arguments

  • handle - A valid [iox2_unique_client_id_h]
  • id_ptr - Pointer to a buffer where the ID value will be written
  • id_length - The length of the buffer pointed to by id_ptr

Safety

  • handle must be a valid, non-null pointer
  • id_ptr must be a valid, non-null pointer to a buffer of at least id_length bytes
  • id_length must be large enough to hold the ID value

◆ iox2_unique_listener_id_drop()

void iox2_unique_listener_id_drop ( iox2_unique_listener_id_h handle)

This function needs to be called to destroy the unique listener id!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!

◆ iox2_unique_listener_id_eq()

bool iox2_unique_listener_id_eq ( iox2_unique_listener_id_h_ref lhs,
iox2_unique_listener_id_h_ref rhs )

Checks two [iox2_unique_listener_id_t] for equality.

Safety

◆ iox2_unique_listener_id_less()

bool iox2_unique_listener_id_less ( iox2_unique_listener_id_h_ref lhs,
iox2_unique_listener_id_h_ref rhs )

Checks the ordering of two [iox2_unique_listener_id_t].

Safety

◆ iox2_unique_listener_id_value()

void iox2_unique_listener_id_value ( iox2_unique_listener_id_h handle,
uint8_t * id_ptr,
size_t id_length )

Retrieves the value of a unique listener ID.

Arguments

  • handle - A valid [iox2_unique_listener_id_h]
  • id_ptr - Pointer to a buffer where the ID value will be written
  • id_length - The length of the buffer pointed to by id_ptr

Safety

  • handle must be a valid, non-null pointer
  • id_ptr must be a valid, non-null pointer to a buffer of at least id_length bytes
  • id_length must be large enough to hold the ID value

◆ iox2_unique_node_id()

iox2_unique_node_id_ptr iox2_unique_node_id ( iox2_node_h_ref node_handle,
enum iox2_service_type_e service_type )

Returns the [iox2_unique_node_id_ptr], an immutable pointer to the node id.

Safety

◆ iox2_unique_node_id_clone_from_handle()

void iox2_unique_node_id_clone_from_handle ( struct iox2_unique_node_id_t * node_id_struct_ptr,
iox2_unique_node_id_h_ref node_id_handle,
iox2_unique_node_id_h * node_id_handle_ptr )

Creates a new [iox2_unique_node_id_h] by cloning a [iox2_unique_node_id_h_ref].

Safety

◆ iox2_unique_node_id_clone_from_ptr()

void iox2_unique_node_id_clone_from_ptr ( struct iox2_unique_node_id_t * node_id_struct_ptr,
iox2_unique_node_id_ptr node_id_ptr,
iox2_unique_node_id_h * node_id_handle_ptr )

Creates a new [iox2_unique_node_id_h] by cloning a [iox2_unique_node_id_ptr].

Safety

◆ iox2_unique_node_id_creation_time()

int iox2_unique_node_id_creation_time ( iox2_unique_node_id_h_ref node_id_handle,
enum iox2_service_type_e service_type,
uint64_t * seconds,
uint32_t * nanoseconds )

Returns the creation time of the [iox2_unique_node_id_h].

Safety

  • node_id_handle - Must be a valid [iox2_unique_node_id_h_ref]
  • seconds - Must point to a valid memory location
  • nanoseconds - Must point to a valid memory location

◆ iox2_unique_node_id_drop()

void iox2_unique_node_id_drop ( iox2_unique_node_id_h node_id_handle)

Takes ownership of the handle to delete and remove the underlying resources of a [iox2_unique_node_id_h].

Safety

◆ iox2_unique_node_id_pid()

int iox2_unique_node_id_pid ( iox2_unique_node_id_h_ref node_id_handle,
enum iox2_service_type_e service_type,
int32_t * process_id )

Copies the process id of the [iox2_unique_node_id_h] to process_id.

Safety

◆ iox2_unique_node_id_value_high()

uint64_t iox2_unique_node_id_value_high ( iox2_unique_node_id_h_ref node_id_handle)

Returns the high bits of the underlying value of the [iox2_unique_node_id_h].

Safety

◆ iox2_unique_node_id_value_low()

uint64_t iox2_unique_node_id_value_low ( iox2_unique_node_id_h_ref node_id_handle)

Returns the low bits of the underlying value of the [iox2_unique_node_id_h].

Safety

◆ iox2_unique_notifier_id_drop()

void iox2_unique_notifier_id_drop ( iox2_unique_notifier_id_h handle)

This function needs to be called to destroy the unique notifier id!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!

◆ iox2_unique_notifier_id_eq()

bool iox2_unique_notifier_id_eq ( iox2_unique_notifier_id_h_ref lhs,
iox2_unique_notifier_id_h_ref rhs )

Checks two [iox2_unique_notifier_id_t] for equality.

Safety

◆ iox2_unique_notifier_id_less()

bool iox2_unique_notifier_id_less ( iox2_unique_notifier_id_h_ref lhs,
iox2_unique_notifier_id_h_ref rhs )

Checks the ordering of two [iox2_unique_notifier_id_t].

Safety

◆ iox2_unique_notifier_id_value()

void iox2_unique_notifier_id_value ( iox2_unique_notifier_id_h handle,
uint8_t * id_ptr,
size_t id_length )

Retrieves the value of a unique notifier ID.

Arguments

  • handle - A valid [iox2_unique_notifier_id_h]
  • id_ptr - Pointer to a buffer where the ID value will be written
  • id_length - The length of the buffer pointed to by id_ptr

Safety

  • handle must be a valid, non-null pointer
  • id_ptr must be a valid, non-null pointer to a buffer of at least id_length bytes
  • id_length must be large enough to hold the ID value

◆ iox2_unique_publisher_id_drop()

void iox2_unique_publisher_id_drop ( iox2_unique_publisher_id_h handle)

This function needs to be called to destroy the unique publisher id!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!

◆ iox2_unique_publisher_id_eq()

bool iox2_unique_publisher_id_eq ( iox2_unique_publisher_id_h_ref lhs,
iox2_unique_publisher_id_h_ref rhs )

Checks two [iox2_unique_publisher_id_t] for equality.

Safety

◆ iox2_unique_publisher_id_less()

bool iox2_unique_publisher_id_less ( iox2_unique_publisher_id_h_ref lhs,
iox2_unique_publisher_id_h_ref rhs )

Checks the ordering of two [iox2_unique_publisher_id_t].

Safety

◆ iox2_unique_publisher_id_value()

void iox2_unique_publisher_id_value ( iox2_unique_publisher_id_h handle,
uint8_t * id_ptr,
size_t id_length )

Retrieves the value of a unique publisher ID.

Arguments

  • handle - A valid [iox2_unique_publisher_id_h]
  • id_ptr - Pointer to a buffer where the ID value will be written
  • id_length - The length of the buffer pointed to by id_ptr

Safety

  • handle must be a valid, non-null pointer
  • id_ptr must be a valid, non-null pointer to a buffer of at least id_length bytes
  • id_length must be large enough to hold the ID value

◆ iox2_unique_reader_id_drop()

void iox2_unique_reader_id_drop ( iox2_unique_reader_id_h handle)

This function needs to be called to destroy the unique reader id!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!

◆ iox2_unique_reader_id_eq()

bool iox2_unique_reader_id_eq ( iox2_unique_reader_id_h_ref lhs,
iox2_unique_reader_id_h_ref rhs )

Checks two [iox2_unique_reader_id_t] for equality.

Safety

◆ iox2_unique_reader_id_less()

bool iox2_unique_reader_id_less ( iox2_unique_reader_id_h_ref lhs,
iox2_unique_reader_id_h_ref rhs )

Checks the ordering of two [iox2_unique_reader_id_t].

Safety

◆ iox2_unique_reader_id_value()

void iox2_unique_reader_id_value ( iox2_unique_reader_id_h handle,
uint8_t * id_ptr,
size_t id_length )

Retrieves the value of a unique reader ID.

Arguments

  • handle - A valid [iox2_unique_reader_id_h]
  • id_ptr - Pointer to a buffer where the ID value will be written
  • id_length - The length of the buffer pointed to by id_ptr

Safety

  • handle must be a valid, non-null pointer
  • id_ptr must be a valid, non-null pointer to a buffer of at least id_length bytes
  • id_length must be large enough to hold the ID value

◆ iox2_unique_server_id_drop()

void iox2_unique_server_id_drop ( iox2_unique_server_id_h handle)

This function needs to be called to destroy the unique server id!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!

◆ iox2_unique_server_id_eq()

bool iox2_unique_server_id_eq ( iox2_unique_server_id_h_ref lhs,
iox2_unique_server_id_h_ref rhs )

Checks two [iox2_unique_server_id_t] for equality.

Safety

◆ iox2_unique_server_id_less()

bool iox2_unique_server_id_less ( iox2_unique_server_id_h_ref lhs,
iox2_unique_server_id_h_ref rhs )

Checks the ordering of two [iox2_unique_server_id_t].

Safety

◆ iox2_unique_server_id_value()

void iox2_unique_server_id_value ( iox2_unique_server_id_h handle,
uint8_t * id_ptr,
size_t id_length )

Retrieves the value of a unique server ID.

Arguments

  • handle - A valid [iox2_unique_server_id_h]
  • id_ptr - Pointer to a buffer where the ID value will be written
  • id_length - The length of the buffer pointed to by id_ptr

Safety

  • handle must be a valid, non-null pointer
  • id_ptr must be a valid, non-null pointer to a buffer of at least id_length bytes
  • id_length must be large enough to hold the ID value

◆ iox2_unique_subscriber_id_drop()

void iox2_unique_subscriber_id_drop ( iox2_unique_subscriber_id_h handle)

This function needs to be called to destroy the unique subscriber id!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!

◆ iox2_unique_subscriber_id_eq()

bool iox2_unique_subscriber_id_eq ( iox2_unique_subscriber_id_h_ref lhs,
iox2_unique_subscriber_id_h_ref rhs )

Checks two [iox2_unique_subscriber_id_t] for equality.

Safety

◆ iox2_unique_subscriber_id_less()

bool iox2_unique_subscriber_id_less ( iox2_unique_subscriber_id_h_ref lhs,
iox2_unique_subscriber_id_h_ref rhs )

Checks the ordering of two [iox2_unique_subscriber_id_t].

Safety

◆ iox2_unique_subscriber_id_value()

void iox2_unique_subscriber_id_value ( iox2_unique_subscriber_id_h handle,
uint8_t * id_ptr,
size_t id_length )

Retrieves the value of a unique subscriber ID.

Arguments

  • handle - A valid [iox2_unique_subscriber_id_h]
  • id_ptr - Pointer to a buffer where the ID value will be written
  • id_length - The length of the buffer pointed to by id_ptr

Safety

  • handle must be a valid, non-null pointer
  • id_ptr must be a valid, non-null pointer to a buffer of at least id_length bytes
  • id_length must be large enough to hold the ID value

◆ iox2_unique_writer_id_drop()

void iox2_unique_writer_id_drop ( iox2_unique_writer_id_h handle)

This function needs to be called to destroy the unique writer id!

Arguments

Safety

  • The handle is invalid after the return of this function and leads to undefined behavior if used in another function call!

◆ iox2_unique_writer_id_eq()

bool iox2_unique_writer_id_eq ( iox2_unique_writer_id_h_ref lhs,
iox2_unique_writer_id_h_ref rhs )

Checks two [iox2_unique_writer_id_t] for equality.

Safety

◆ iox2_unique_writer_id_less()

bool iox2_unique_writer_id_less ( iox2_unique_writer_id_h_ref lhs,
iox2_unique_writer_id_h_ref rhs )

Checks the ordering of two [iox2_unique_writer_id_t].

Safety

◆ iox2_unique_writer_id_value()

void iox2_unique_writer_id_value ( iox2_unique_writer_id_h handle,
uint8_t * id_ptr,
size_t id_length )

Retrieves the value of a unique writer ID.

Arguments

  • handle - A valid [iox2_unique_writer_id_h]
  • id_ptr - Pointer to a buffer where the ID value will be written
  • id_length - The length of the buffer pointed to by id_ptr

Safety

  • handle must be a valid, non-null pointer
  • id_ptr must be a valid, non-null pointer to a buffer of at least id_length bytes
  • id_length must be large enough to hold the ID value

◆ iox2_waitset_attach_deadline()

int iox2_waitset_attach_deadline ( iox2_waitset_h_ref handle,
iox2_file_descriptor_ptr fd,
uint64_t seconds,
uint32_t nanoseconds,
struct iox2_waitset_guard_t * guard_struct_ptr,
iox2_waitset_guard_h * guard_handle_ptr )

Attaches a provided [iox2_file_descriptor_ptr] as deadline to the [iox2_waitset_h]. As soon as the attachment receives data or the deadline was missed, the WaitSet wakes up in [iox2_waitset_wait_and_process()] and informs the user.

With [iox2_waitset_attachment_id_has_event_from()](crate::iox2_waitset_attachment_id_has_event_from()) the origin of the event can be determined from its corresponding [iox2_waitset_guard_h]. If the deadline was hit the function [iox2_waitset_attachment_id_has_missed_deadline()](crate::iox2_waitset_attachment_id_has_missed_deadline()) can be used to identify it.

Return

IOX2_OK on success, otherwise [iox2_waitset_attachment_error_e].

Safety

  • handle must be valid and acquired with [iox2_waitset_builder_create()](crate::iox2_waitset_builder_create())
  • guard_struct_ptr must be either pointing to a valid uninitialized memory position or null
  • guard_handle_ptr must be pointing to valid uninitialized memory.
  • guard_handle_ptr must be released with [iox2_waitset_guard_drop()](crate::iox2_waitset_guard_drop()).

◆ iox2_waitset_attach_interval()

int iox2_waitset_attach_interval ( iox2_waitset_h_ref handle,
uint64_t seconds,
uint32_t nanoseconds,
struct iox2_waitset_guard_t * guard_struct_ptr,
iox2_waitset_guard_h * guard_handle_ptr )

Attaches an interval to the [iox2_waitset_h]. As soon as the interval has passed the WaitSet wakes up in [iox2_waitset_wait_and_process()] and informs the user.

With [iox2_waitset_attachment_id_has_event_from()](crate::iox2_waitset_attachment_id_has_event_from()) the origin of the event can be determined from its corresponding [iox2_waitset_guard_h].

Return

IOX2_OK on success, otherwise [iox2_waitset_attachment_error_e].

Safety

  • handle must be valid and acquired with [iox2_waitset_builder_create()](crate::iox2_waitset_builder_create())
  • guard_struct_ptr must be either pointing to a valid uninitialized memory position or null
  • guard_handle_ptr must be pointing to valid uninitialized memory.
  • guard_handle_ptr must be released with [iox2_waitset_guard_drop()](crate::iox2_waitset_guard_drop()).

◆ iox2_waitset_attach_notification()

int iox2_waitset_attach_notification ( iox2_waitset_h_ref handle,
iox2_file_descriptor_ptr fd,
struct iox2_waitset_guard_t * guard_struct_ptr,
iox2_waitset_guard_h * guard_handle_ptr )

Attaches a provided [iox2_file_descriptor_ptr] as notification to the [iox2_waitset_h]. As soon as the attachment receives data, the WaitSet wakes up in [iox2_waitset_wait_and_process()] and informs the user.

With [iox2_waitset_attachment_id_has_event_from()](crate::iox2_waitset_attachment_id_has_event_from()) the origin of the event can be determined from its corresponding [iox2_waitset_guard_h].

Return

IOX2_OK on success, otherwise [iox2_waitset_attachment_error_e].

Safety

  • handle must be valid and acquired with [iox2_waitset_builder_create()](crate::iox2_waitset_builder_create())
  • guard_struct_ptr must be either pointing to a valid uninitialized memory position or null
  • guard_handle_ptr must be pointing to valid uninitialized memory.
  • guard_handle_ptr must be released with [iox2_waitset_guard_drop()](crate::iox2_waitset_guard_drop()).

◆ iox2_waitset_attachment_error_string()

const char * iox2_waitset_attachment_error_string ( enum iox2_waitset_attachment_error_e error)

Returns a string literal describing the provided [iox2_waitset_attachment_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_waitset_attachment_id_debug()

bool iox2_waitset_attachment_id_debug ( iox2_waitset_attachment_id_h_ref handle,
char * debug_output,
c_size_t debug_len )

Stores the debug output in the provided debug_output variable that must provide enough memory to store the content. The content length can be acquired with [iox2_waitset_attachment_id_debug_len()]

Safety

  • handle must be valid and non-null.
  • debug_output must be valid and provide enough memory
  • debug_len the provided memory length of debug_output

◆ iox2_waitset_attachment_id_debug_len()

c_size_t iox2_waitset_attachment_id_debug_len ( iox2_waitset_attachment_id_h_ref handle)

Returns the length of the debug output. Shall be used before calling [iox2_waitset_attachment_id_debug()] to acquire enough memory to store the output.

Safety

  • handle must be valid and non-null.

◆ iox2_waitset_attachment_id_drop()

void iox2_waitset_attachment_id_drop ( iox2_waitset_attachment_id_h handle)

Release an [iox2_waitset_attachment_id_h] that was acquired by calling either

Safety

  • handle must be valid and provided by the previously mentioned functions.

◆ iox2_waitset_attachment_id_equal()

bool iox2_waitset_attachment_id_equal ( iox2_waitset_attachment_id_h_ref lhs,
iox2_waitset_attachment_id_h_ref rhs )

Checks if two provided [iox2_waitset_attachment_id_h_ref] are semantically equal.

Safety

  • lhs must be valid and non-null.
  • rhs must be valid and non-null.

◆ iox2_waitset_attachment_id_from_guard()

void iox2_waitset_attachment_id_from_guard ( iox2_waitset_guard_h_ref guard,
struct iox2_waitset_attachment_id_t * attachment_id_struct_ptr,
iox2_waitset_attachment_id_h * attachment_id_handle_ptr )

Creates a new [iox2_waitset_attachment_id_t] from an existing [iox2_waitset_guard_h_ref].

Safety

  • guard must be valid and non-null.
  • attachment_id_struct_ptr must be either null or pointing to a valid uninitialized memory location.
  • attachment_id_handle_ptr must point to a valid uninitialized memory location
  • attachment_id_handle_ptr must be released with [iox2_waitset_attachment_id_drop()]

◆ iox2_waitset_attachment_id_has_event_from()

bool iox2_waitset_attachment_id_has_event_from ( iox2_waitset_attachment_id_h_ref handle,
iox2_waitset_guard_h_ref guard )

Checks if the event corresponding to [iox2_waitset_guard_h_ref] was originating from the provided [iox2_waitset_attachment_id_h_ref].

Safety

  • handle must be valid and non-null.
  • guard must be valid and non-null.

◆ iox2_waitset_attachment_id_has_missed_deadline()

bool iox2_waitset_attachment_id_has_missed_deadline ( iox2_waitset_attachment_id_h_ref handle,
iox2_waitset_guard_h_ref guard )

Checks if the deadline corresponding to [iox2_waitset_guard_h_ref] was originating from the provided [iox2_waitset_attachment_id_h_ref].

Safety

  • handle must be valid and non-null.
  • guard must be valid and non-null.

◆ iox2_waitset_attachment_id_less()

bool iox2_waitset_attachment_id_less ( iox2_waitset_attachment_id_h_ref lhs,
iox2_waitset_attachment_id_h_ref rhs )

Checks the ordering of two provided [iox2_waitset_attachment_id_h_ref].

Safety

  • lhs must be valid and non-null.
  • rhs must be valid and non-null.

◆ iox2_waitset_builder_create()

int iox2_waitset_builder_create ( iox2_waitset_builder_h handle,
struct iox2_waitset_t * struct_ptr,
iox2_waitset_h * handle_ptr )

Creates a new [iox2_waitset_t].

Returns

[IOX2_OK] on success otherwise [iox2_waitset_create_error_e](crate::iox2_waitset_create_error_e).

Safety

  • handle must be acquired with [iox2_node_waitset_builder()](crate::iox2_node_waitset_builder)
  • handle is invalidated after a successful operation and cannot used again with this function.
  • struct_ptr must be either a valid pointer to uninitialized memory or null
  • handle_ptr must point to a valid uninitialized memory location

◆ iox2_waitset_builder_drop()

void iox2_waitset_builder_drop ( iox2_waitset_builder_h handle)

Drops a [iox2_waitset_builder_h] and calls all corresponding cleanup functions.

Safety

◆ iox2_waitset_builder_set_signal_handling_mode()

void iox2_waitset_builder_set_signal_handling_mode ( iox2_waitset_builder_h_ref handle,
enum iox2_signal_handling_mode_e signal_handling_mode )

Sets the [iox2_signal_handling_mode_e] for the [iox2_waitset_h].

Arguments

Safety

  • waitset_builder_handle must be a valid handle

◆ iox2_waitset_capacity()

c_size_t iox2_waitset_capacity ( iox2_waitset_h_ref handle)

Returns the capacity of the [iox2_waitset_h].

Safety

◆ iox2_waitset_create_error_string()

const char * iox2_waitset_create_error_string ( enum iox2_waitset_create_error_e error)

Returns a string literal describing the provided [iox2_waitset_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_waitset_drop()

void iox2_waitset_drop ( iox2_waitset_h handle)

Drops a [iox2_waitset_h] and calls all corresponding cleanup functions.

Safety

◆ iox2_waitset_guard_drop()

void iox2_waitset_guard_drop ( iox2_waitset_guard_h handle)

Drops a [iox2_waitset_guard_h] that was successfully acquired with

Safety

  • handle must be valid and non null

◆ iox2_waitset_is_empty()

bool iox2_waitset_is_empty ( iox2_waitset_h_ref handle)

Returns true if the [iox2_waitset_h] is empty, otherwise false.

Safety

◆ iox2_waitset_len()

c_size_t iox2_waitset_len ( iox2_waitset_h_ref handle)

Returns the number of attachments of the [iox2_waitset_h].

Safety

◆ iox2_waitset_run_error_string()

const char * iox2_waitset_run_error_string ( enum iox2_waitset_run_error_e error)

Returns a string literal describing the provided [iox2_waitset_run_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_waitset_signal_handling_mode()

enum iox2_signal_handling_mode_e iox2_waitset_signal_handling_mode ( iox2_waitset_h_ref handle)

Returns the [iox2_signal_handling_mode_e] with which the waitset was created.

Safety

◆ iox2_waitset_wait_and_process()

int iox2_waitset_wait_and_process ( iox2_waitset_h_ref handle,
iox2_waitset_run_callback callback,
iox2_callback_context callback_ctx,
enum iox2_waitset_run_result_e * result )

Checks the [iox2_waitset_h] for new events in an infinite loop. The provided callback is called for every events that was received and the corresponding owning [iox2_waitset_attachment_id_h] is provided as input argument, as well as the callback_ctx. The infinite loop is interrupted either by a SIGINT or SIGTERM signal or when the user callback returned [iox2_callback_progression_e::STOP].

With [iox2_waitset_attachment_id_has_event_from()](crate::iox2_waitset_attachment_id_has_event_from()) the origin of the event can be determined from its corresponding [iox2_waitset_guard_h]. If the deadline was hit the function [iox2_waitset_attachment_id_has_missed_deadline()](crate::iox2_waitset_attachment_id_has_missed_deadline()) can be used to identify it.

Important: The WaitSet only reports that an attachment is ready; it does not consume the notification or data that caused the wake-up. If the callback returns without consuming any pending input, the attachment remains ready and the WaitSet wakes up again immediately. Repeating this can cause a busy loop and high CPU usage.

For a Listener, consume pending notifications with iox2_listener_try_wait(). For a socket or another file-descriptor-based attachment, consume the pending data using its corresponding read or receive API.

Return

IOX2_OK on success, otherwise [iox2_waitset_run_error_e].

Safety

◆ iox2_waitset_wait_and_process_once()

int iox2_waitset_wait_and_process_once ( iox2_waitset_h_ref handle,
iox2_waitset_run_callback callback,
iox2_callback_context callback_ctx,
enum iox2_waitset_run_result_e * result )

Waits until an event arrives on the [iox2_waitset_h], then collects all events by calling the provided fn_call callback with the corresponding [iox2_waitset_attachment_id_h] and then returns. This makes it ideal to be called in some kind of event-loop.

The provided callback must return [iox2_callback_progression_e::CONTINUE] to continue the event processing and handle the next event or [iox2_callback_progression_e::STOP] to return from this call immediately. All unhandled events will be lost forever and the call will return [iox2_waitset_run_result_e::STOP_REQUEST].

If an interrupt- (SIGINT) or a termination-signal (SIGTERM) was received, it will exit the loop and inform the user with [iox2_waitset_run_result_e::INTERRUPT] or [iox2_waitset_run_result_e::TERMINATION_REQUEST].

When no signal was received and all events were handled, it will return [iox2_waitset_run_result_e::ALL_EVENTS_HANDLED].

Important: The WaitSet only reports that an attachment is ready; it does not consume the notification or data that caused the wake-up. If the callback returns without consuming any pending input, the attachment remains ready and the WaitSet wakes up again immediately. Repeating this can cause a busy loop and high CPU usage.

For a Listener, consume pending notifications with iox2_listener_try_wait(). For a socket or another file-descriptor-based attachment, consume the pending data using its corresponding read or receive API.

Return

IOX2_OK on success, otherwise [iox2_waitset_run_error_e].

Safety

◆ iox2_waitset_wait_and_process_once_with_timeout()

int iox2_waitset_wait_and_process_once_with_timeout ( iox2_waitset_h_ref handle,
iox2_waitset_run_callback callback,
iox2_callback_context callback_ctx,
uint64_t seconds,
uint32_t nanoseconds,
enum iox2_waitset_run_result_e * result )

Waits until an event arrives on the [iox2_waitset_h] or the provided timeout has passed, then collects all events by calling the provided fn_call callback with the corresponding [iox2_waitset_attachment_id_h] and then returns. This makes it ideal to be called in some kind of event-loop.

The provided callback must return [iox2_callback_progression_e::CONTINUE] to continue the event processing and handle the next event or [iox2_callback_progression_e::STOP] to return from this call immediately. All unhandled events will be lost forever and the call will return [iox2_waitset_run_result_e::STOP_REQUEST].

If an interrupt- (SIGINT) or a termination-signal (SIGTERM) was received, it will exit the loop and inform the user with [iox2_waitset_run_result_e::INTERRUPT] or [iox2_waitset_run_result_e::TERMINATION_REQUEST].

When no signal was received and all events were handled, it will return [iox2_waitset_run_result_e::ALL_EVENTS_HANDLED].

Important: The WaitSet only reports that an attachment is ready; it does not consume the notification or data that caused the wake-up. If the callback returns without consuming any pending input, the attachment remains ready and the WaitSet wakes up again immediately. Repeating this can cause a busy loop and high CPU usage.

For a Listener, consume pending notifications with iox2_listener_try_wait(). For a socket or another file-descriptor-based attachment, consume the pending data using its corresponding read or receive API.

Return

IOX2_OK on success, otherwise [iox2_waitset_run_error_e].

Safety

◆ iox2_writer_create_error_string()

const char * iox2_writer_create_error_string ( enum iox2_writer_create_error_e error)

Returns a string literal describing the provided [iox2_writer_create_error_e].

Arguments

  • error - The error value for which a description should be returned

Returns

A pointer to a null-terminated string containing the error message. The string is stored in the .rodata section of the binary.

Safety

The returned pointer must not be modified or freed and is valid as long as the program runs.

◆ iox2_writer_details_node_id()

iox2_unique_node_id_ptr iox2_writer_details_node_id ( iox2_writer_details_ptr handle)

Returns the [iox2_unique_node_id_ptr], an immutable pointer to the node id.

Safety

  • handle valid pointer to the writer details

◆ iox2_writer_details_writer_id()

void iox2_writer_details_writer_id ( iox2_writer_details_ptr handle,
struct iox2_unique_writer_id_t * id_struct_ptr,
iox2_unique_writer_id_h * id_handle_ptr )

Returns the unique port id of the writer.

Safety

  • handle valid pointer to the writer details
  • id_struct_ptr - Must be either a NULL pointer or a pointer to a valid [iox2_unique_writer_id_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • id_handle_ptr valid pointer to a [iox2_unique_writer_id_h].

◆ iox2_writer_details_writer_name()

iox2_port_name_ptr iox2_writer_details_writer_name ( iox2_writer_details_ptr handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the name of the writer.

Safety

  • handle valid pointer to the writer details

◆ iox2_writer_drop()

void iox2_writer_drop ( iox2_writer_h writer_handle)

This function needs to be called to destroy the writer!

Arguments

Safety

  • The writer_handle is invalid after the return of this function and leads to undefined behavior if used in another function call!
  • The corresponding [iox2_writer_t] can be re-used with a call to [iox2_port_factory_writer_builder_create](crate::iox2_port_factory_writer_builder_create)!

◆ iox2_writer_entry()

int iox2_writer_entry ( iox2_writer_h_ref writer_handle,
struct iox2_entry_handle_mut_t * entry_handle_mut_struct_ptr,
iox2_entry_handle_mut_h * entry_handle_mut_handle_ptr,
const void * key,
const char * value_type_name_str,
c_size_t value_type_name_len,
c_size_t value_size,
c_size_t value_alignment )

Acquires an entry handle mut for direct write access to the stored value.

Arguments

  • writer_handle obtained by [iox2_port_factory_writer_builder_create](crate::iox2_port_factory_writer_builder_create)
  • entry_handle_mut_struct_ptr must be either a NULL pointer or a pointer to a valid [iox2_entry_handle_mut_t]. If it is a NULL pointer, the storage will be allocated on the heap.
  • entry_handle_mut_handle_ptr valid pointer to a [iox2_entry_handle_mut_h]
  • key the key of the key-value pair for which the entry handle shall be acquired
  • value_type_name_str the type name of the value type of the key-value-pair for which the entry handle shall be acquired
  • value_type_name_len the length of value_type_name_str
  • value_size the size of the value type of the key-value-pair for which the entry handle shall be acquired
  • value_alignment the alignment of the value type of the key-value-pair for which the entry handle shall be acquired

Safety

  • writer_handle must be non-null and valid
  • entry_handle_mut_handle_ptr must be non-null and valid

◆ iox2_writer_id()

void iox2_writer_id ( iox2_writer_h_ref writer_handle,
struct iox2_unique_writer_id_t * id_struct_ptr,
iox2_unique_writer_id_h * id_handle_ptr )

Returns the unique port id of the writer.

Arguments

Safety

◆ iox2_writer_name()

iox2_port_name_ptr iox2_writer_name ( iox2_writer_h_ref writer_handle)

Returns the [iox2_port_name_ptr], an immutable pointer to the port name.

Arguments

Safety

◆ rust_eh_personality()

void rust_eh_personality ( void )

Variable Documentation

◆ iox2_active_request_storage_t

iox2_active_request_storage_t

Definition at line 2188 of file iceoryx2.h.

◆ iox2_attribute_set_storage_t

iox2_attribute_set_storage_t

Definition at line 872 of file iceoryx2.h.

◆ iox2_attribute_specifier_storage_t

iox2_attribute_specifier_storage_t

Definition at line 898 of file iceoryx2.h.

◆ iox2_attribute_verifier_storage_t

iox2_attribute_verifier_storage_t

Definition at line 917 of file iceoryx2.h.

◆ iox2_buffer_16_align_4_t

◆ iox2_client_storage_t

iox2_client_storage_t

Definition at line 1522 of file iceoryx2.h.

◆ iox2_config_storage_t

iox2_config_storage_t

Definition at line 1027 of file iceoryx2.h.

◆ iox2_entry_handle_mut_storage_t

iox2_entry_handle_mut_storage_t

Definition at line 1090 of file iceoryx2.h.

◆ iox2_entry_handle_storage_t

iox2_entry_handle_storage_t

Definition at line 2027 of file iceoryx2.h.

◆ iox2_entry_value_uninit_storage_t

iox2_entry_value_uninit_storage_t

Definition at line 1065 of file iceoryx2.h.

◆ iox2_file_descriptor_storage_t

iox2_file_descriptor_storage_t

Definition at line 1115 of file iceoryx2.h.

◆ iox2_listener_storage_t

iox2_listener_storage_t

Definition at line 1619 of file iceoryx2.h.

◆ iox2_node_builder_storage_t

iox2_node_builder_storage_t

Definition at line 1272 of file iceoryx2.h.

◆ iox2_node_name_storage_t

iox2_node_name_storage_t

Definition at line 1296 of file iceoryx2.h.

◆ iox2_node_storage_t

iox2_node_storage_t

Definition at line 1286 of file iceoryx2.h.

◆ iox2_notifier_storage_t

iox2_notifier_storage_t

Definition at line 1634 of file iceoryx2.h.

◆ iox2_pending_response_storage_t

iox2_pending_response_storage_t

Definition at line 989 of file iceoryx2.h.

◆ iox2_port_factory_blackboard_storage_t

iox2_port_factory_blackboard_storage_t

Definition at line 2255 of file iceoryx2.h.

◆ iox2_port_factory_client_builder_storage_t

iox2_port_factory_client_builder_storage_t

Definition at line 1816 of file iceoryx2.h.

◆ iox2_port_factory_event_storage_t

iox2_port_factory_event_storage_t

Definition at line 2270 of file iceoryx2.h.

◆ iox2_port_factory_listener_builder_storage_t

iox2_port_factory_listener_builder_storage_t

Definition at line 1578 of file iceoryx2.h.

◆ iox2_port_factory_notifier_builder_storage_t

iox2_port_factory_notifier_builder_storage_t

Definition at line 1563 of file iceoryx2.h.

◆ iox2_port_factory_pub_sub_storage_t

iox2_port_factory_pub_sub_storage_t

Definition at line 2285 of file iceoryx2.h.

◆ iox2_port_factory_publisher_builder_storage_t

iox2_port_factory_publisher_builder_storage_t

Definition at line 1659 of file iceoryx2.h.

◆ iox2_port_factory_reader_builder_storage_t

iox2_port_factory_reader_builder_storage_t

Definition at line 1392 of file iceoryx2.h.

◆ iox2_port_factory_request_response_storage_t

iox2_port_factory_request_response_storage_t

Definition at line 2300 of file iceoryx2.h.

◆ iox2_port_factory_server_builder_storage_t

iox2_port_factory_server_builder_storage_t

Definition at line 1806 of file iceoryx2.h.

◆ iox2_port_factory_subscriber_builder_storage_t

iox2_port_factory_subscriber_builder_storage_t

Definition at line 1674 of file iceoryx2.h.

◆ iox2_port_factory_writer_builder_storage_t

iox2_port_factory_writer_builder_storage_t

Definition at line 1377 of file iceoryx2.h.

◆ iox2_port_name_storage_t

iox2_port_name_storage_t

Definition at line 1944 of file iceoryx2.h.

◆ iox2_publish_subscribe_header_storage_t

iox2_publish_subscribe_header_storage_t

Definition at line 2159 of file iceoryx2.h.

◆ iox2_publisher_storage_t

iox2_publisher_storage_t

Definition at line 1756 of file iceoryx2.h.

◆ iox2_reader_storage_t

iox2_reader_storage_t

Definition at line 1776 of file iceoryx2.h.

◆ iox2_request_header_storage_t

iox2_request_header_storage_t

Definition at line 839 of file iceoryx2.h.

Referenced by __attribute__().

◆ iox2_request_mut_storage_t

iox2_request_mut_storage_t

Definition at line 974 of file iceoryx2.h.

◆ iox2_resizable_memory_publish_subscribe_storage_t

iox2_resizable_memory_publish_subscribe_storage_t

Definition at line 2173 of file iceoryx2.h.

◆ iox2_resizable_memory_request_storage_t

iox2_resizable_memory_request_storage_t

Definition at line 2047 of file iceoryx2.h.

◆ iox2_resizable_memory_response_storage_t

iox2_resizable_memory_response_storage_t

Definition at line 2136 of file iceoryx2.h.

◆ iox2_response_header_storage_t

iox2_response_header_storage_t

Definition at line 2095 of file iceoryx2.h.

◆ iox2_response_mut_storage_t

iox2_response_mut_storage_t

Definition at line 855 of file iceoryx2.h.

◆ iox2_response_storage_t

iox2_response_storage_t

Definition at line 1347 of file iceoryx2.h.

Referenced by __attribute__().

◆ iox2_sample_mut_storage_t

iox2_sample_mut_storage_t

Definition at line 1990 of file iceoryx2.h.

◆ iox2_sample_storage_t

iox2_sample_storage_t

Definition at line 2346 of file iceoryx2.h.

◆ iox2_server_storage_t

iox2_server_storage_t

Definition at line 1889 of file iceoryx2.h.

◆ iox2_service_builder_storage_t

iox2_service_builder_storage_t

Definition at line 1242 of file iceoryx2.h.

◆ iox2_service_name_storage_t

iox2_service_name_storage_t

Definition at line 2310 of file iceoryx2.h.

◆ iox2_subscriber_storage_t

iox2_subscriber_storage_t

Definition at line 1909 of file iceoryx2.h.

◆ iox2_unique_client_id_storage_t

iox2_unique_client_id_storage_t

Definition at line 955 of file iceoryx2.h.

◆ iox2_unique_listener_id_storage_t

iox2_unique_listener_id_storage_t

Definition at line 1139 of file iceoryx2.h.

◆ iox2_unique_node_id_storage_t

iox2_unique_node_id_storage_t

Definition at line 2366 of file iceoryx2.h.

◆ iox2_unique_notifier_id_storage_t

iox2_unique_notifier_id_storage_t

Definition at line 1323 of file iceoryx2.h.

◆ iox2_unique_publisher_id_storage_t

iox2_unique_publisher_id_storage_t

Definition at line 1971 of file iceoryx2.h.

◆ iox2_unique_reader_id_storage_t

iox2_unique_reader_id_storage_t

Definition at line 2013 of file iceoryx2.h.

◆ iox2_unique_server_id_storage_t

iox2_unique_server_id_storage_t

Definition at line 2117 of file iceoryx2.h.

◆ iox2_unique_subscriber_id_storage_t

iox2_unique_subscriber_id_storage_t

Definition at line 2332 of file iceoryx2.h.

◆ iox2_unique_writer_id_storage_t

iox2_unique_writer_id_storage_t

Definition at line 2486 of file iceoryx2.h.

◆ iox2_waitset_attachment_id_storage_t

iox2_waitset_attachment_id_storage_t

Definition at line 2453 of file iceoryx2.h.

◆ iox2_waitset_builder_storage_t

iox2_waitset_builder_storage_t

Definition at line 1257 of file iceoryx2.h.

◆ iox2_waitset_guard_storage_t

iox2_waitset_guard_storage_t

Definition at line 2420 of file iceoryx2.h.

◆ iox2_waitset_storage_t

iox2_waitset_storage_t

Definition at line 2463 of file iceoryx2.h.

◆ iox2_writer_storage_t

iox2_writer_storage_t

Definition at line 1929 of file iceoryx2.h.