1#ifndef NROS_RMW_ENTITY_H
2#define NROS_RMW_ENTITY_H
70#define NROS_RMW_RELIABILITY_SYSTEM_DEFAULT 0
71#define NROS_RMW_RELIABILITY_RELIABLE 1
72#define NROS_RMW_RELIABILITY_BEST_EFFORT 2
75#define NROS_RMW_RELIABILITY_UNKNOWN 3
78#define NROS_RMW_DURABILITY_SYSTEM_DEFAULT 0
79#define NROS_RMW_DURABILITY_TRANSIENT_LOCAL 1
80#define NROS_RMW_DURABILITY_VOLATILE 2
81#define NROS_RMW_DURABILITY_UNKNOWN 3
84#define NROS_RMW_HISTORY_SYSTEM_DEFAULT 0
85#define NROS_RMW_HISTORY_KEEP_LAST 1
86#define NROS_RMW_HISTORY_KEEP_ALL 2
87#define NROS_RMW_HISTORY_UNKNOWN 3
102#define RMW_MESSAGE_INFO_SEQUENCE_NUMBER_UNSUPPORTED UINT64_MAX
105#define RMW_GID_STORAGE_SIZE 24u
523#define RMW_INET_ADDRSTRLEN 48
556 const char *expression,
const char *
const *parameters,
size_t parameter_count);
561#define NROS_RMW_DURATION_INFINITE_MS UINT32_MAX
625#define RMW_SESSION_MAX_PROPERTIES 16
724#define NROS_RMW_QOS_PROFILE_DEFAULT \
725 ((rmw_qos_profile_t){ \
726 .reliability = NROS_RMW_RELIABILITY_RELIABLE, \
727 .durability = NROS_RMW_DURABILITY_VOLATILE, \
728 .history = NROS_RMW_HISTORY_KEEP_LAST, \
729 .liveliness_kind = NROS_RMW_LIVELINESS_AUTOMATIC, \
734 .liveliness_lease_ms = 0, \
735 .avoid_ros_namespace_conventions = 0, \
736 ._reserved1 = {0, 0, 0}, \
741#define NROS_RMW_QOS_PROFILE_SENSOR_DATA \
742 ((rmw_qos_profile_t){ \
743 .reliability = NROS_RMW_RELIABILITY_BEST_EFFORT, \
744 .durability = NROS_RMW_DURABILITY_VOLATILE, \
745 .history = NROS_RMW_HISTORY_KEEP_LAST, \
746 .liveliness_kind = NROS_RMW_LIVELINESS_AUTOMATIC, \
751 .liveliness_lease_ms = 0, \
752 .avoid_ros_namespace_conventions = 0, \
753 ._reserved1 = {0, 0, 0}, \
758#define NROS_RMW_QOS_PROFILE_SERVICES_DEFAULT NROS_RMW_QOS_PROFILE_DEFAULT
762#define NROS_RMW_QOS_PROFILE_PARAMETERS \
763 ((rmw_qos_profile_t){ \
764 .reliability = NROS_RMW_RELIABILITY_RELIABLE, \
765 .durability = NROS_RMW_DURABILITY_VOLATILE, \
766 .history = NROS_RMW_HISTORY_KEEP_LAST, \
767 .liveliness_kind = NROS_RMW_LIVELINESS_AUTOMATIC, \
772 .liveliness_lease_ms = 0, \
773 .avoid_ros_namespace_conventions = 0, \
774 ._reserved1 = {0, 0, 0}, \
802#define NROS_RMW_QOS_PROFILE_SYSTEM_DEFAULT \
803 ((rmw_qos_profile_t){ \
804 .reliability = NROS_RMW_RELIABILITY_SYSTEM_DEFAULT, \
805 .durability = NROS_RMW_DURABILITY_SYSTEM_DEFAULT, \
806 .history = NROS_RMW_HISTORY_SYSTEM_DEFAULT, \
807 .liveliness_kind = NROS_RMW_LIVELINESS_SYSTEM_DEFAULT, \
812 .liveliness_lease_ms = 0, \
813 .avoid_ros_namespace_conventions = 0, \
814 ._reserved1 = {0, 0, 0}, \
nros_rmw_qos_clash_t
Definition rmw_entity.h:405
@ NROS_RMW_QOS_CLASH_DEADLINE
Definition rmw_entity.h:409
@ NROS_RMW_QOS_CLASH_LIVELINESS_KIND
Definition rmw_entity.h:410
@ NROS_RMW_QOS_CLASH_RELIABILITY
Definition rmw_entity.h:407
@ NROS_RMW_QOS_CLASH_DURABILITY
Definition rmw_entity.h:408
@ NROS_RMW_QOS_CLASH_NONE
Definition rmw_entity.h:406
@ NROS_RMW_QOS_CLASH_LIVELINESS_LEASE
Definition rmw_entity.h:411
rmw_ret_t rmw_compare_gids_equal(const rmw_gid_t *gid1, const rmw_gid_t *gid2, bool *result)
rmw_liveliness_kind_t
Definition rmw_entity.h:262
@ NROS_RMW_LIVELINESS_MANUAL_BY_TOPIC
Definition rmw_entity.h:272
@ NROS_RMW_LIVELINESS_UNKNOWN
Definition rmw_entity.h:274
@ NROS_RMW_LIVELINESS_SYSTEM_DEFAULT
Definition rmw_entity.h:266
@ NROS_RMW_LIVELINESS_MANUAL_BY_NODE
Definition rmw_entity.h:270
@ NROS_RMW_LIVELINESS_AUTOMATIC
Definition rmw_entity.h:268
rmw_transport_protocol_t
Definition rmw_entity.h:506
@ RMW_TRANSPORT_PROTOCOL_UNKNOWN
Definition rmw_entity.h:507
@ RMW_TRANSPORT_PROTOCOL_COUNT
Definition rmw_entity.h:510
@ RMW_TRANSPORT_PROTOCOL_TCP
Definition rmw_entity.h:509
@ RMW_TRANSPORT_PROTOCOL_UDP
Definition rmw_entity.h:508
rmw_endpoint_type_t
Definition rmw_entity.h:474
@ RMW_ENDPOINT_SUBSCRIPTION
Definition rmw_entity.h:477
@ RMW_ENDPOINT_INVALID
Definition rmw_entity.h:475
@ RMW_ENDPOINT_PUBLISHER
Definition rmw_entity.h:476
int64_t rmw_time_point_value_t
Definition rmw_entity.h:98
void(* rmw_content_filter_visit_fn)(void *ctx, const char *expression, const char *const *parameters, size_t parameter_count)
Definition rmw_entity.h:555
rmw_log_severity_t
Definition rmw_entity.h:464
@ RMW_LOG_SEVERITY_WARN
Definition rmw_entity.h:468
@ RMW_LOG_SEVERITY_ERROR
Definition rmw_entity.h:469
@ RMW_LOG_SEVERITY_INFO
Definition rmw_entity.h:467
@ RMW_LOG_SEVERITY_FATAL
Definition rmw_entity.h:470
@ RMW_LOG_SEVERITY_DEBUG
Definition rmw_entity.h:466
@ RMW_LOG_SEVERITY_UNSET
Definition rmw_entity.h:465
rmw_feature_t
Definition rmw_entity.h:92
@ RMW_FEATURE_MESSAGE_INFO_RECEPTION_SEQUENCE_NUMBER
Definition rmw_entity.h:94
@ RMW_FEATURE_MESSAGE_INFO_PUBLICATION_SEQUENCE_NUMBER
Definition rmw_entity.h:93
#define RMW_GID_STORAGE_SIZE
Definition rmw_entity.h:105
rmw_ret_t nros_rmw_qos_incompatibility_mask(rmw_qos_profile_t offered, rmw_qos_profile_t requested, rmw_qos_compatibility_type_t *compatibility, uint32_t *clash_mask)
rmw_ret_t rmw_qos_profile_check_compatible(rmw_qos_profile_t publisher_profile, rmw_qos_profile_t subscription_profile, rmw_qos_compatibility_type_t *compatibility, char *reason, size_t reason_size)
#define RMW_INET_ADDRSTRLEN
Definition rmw_entity.h:523
rmw_internet_protocol_t
Definition rmw_entity.h:514
@ RMW_INTERNET_PROTOCOL_COUNT
Definition rmw_entity.h:518
@ RMW_INTERNET_PROTOCOL_UNKNOWN
Definition rmw_entity.h:515
@ RMW_INTERNET_PROTOCOL_IPV6
Definition rmw_entity.h:517
@ RMW_INTERNET_PROTOCOL_IPV4
Definition rmw_entity.h:516
rmw_qos_compatibility_type_t
Definition rmw_entity.h:397
@ RMW_QOS_COMPATIBILITY_ERROR
Definition rmw_entity.h:400
@ RMW_QOS_COMPATIBILITY_WARNING
Definition rmw_entity.h:399
@ RMW_QOS_COMPATIBILITY_OK
Definition rmw_entity.h:398
bool(* rmw_network_flow_endpoint_visit_fn)(void *ctx, const rmw_network_flow_endpoint_t *endpoint)
Definition rmw_entity.h:545
Return-code constants for the nros RMW C vtable.
int32_t rmw_ret_t
Definition rmw_ret.h:58
Definition rmw_entity.h:133
size_t len
Definition rmw_entity.h:135
const uint8_t * data
Definition rmw_entity.h:134
Definition rmw_entity.h:995
uint8_t _reserved[8]
Definition rmw_entity.h:1001
void * backend_data
Definition rmw_entity.h:1003
const char * service_name
Definition rmw_entity.h:997
const char * type_name
Definition rmw_entity.h:999
Definition rmw_entity.h:212
uint8_t data[24u]
Definition rmw_entity.h:217
const char * implementation_identifier
Definition rmw_entity.h:215
Definition rmw_entity.h:238
rmw_gid_t publisher_gid
Definition rmw_entity.h:250
uint64_t reception_sequence_number
Definition rmw_entity.h:248
rmw_time_point_value_t source_timestamp
Definition rmw_entity.h:240
bool from_intra_process
Definition rmw_entity.h:253
uint64_t publication_sequence_number
Definition rmw_entity.h:246
rmw_time_point_value_t received_timestamp
Definition rmw_entity.h:242
Definition rmw_entity.h:189
const char * type_name
Definition rmw_entity.h:193
const char * type_hash
Definition rmw_entity.h:196
Definition rmw_entity.h:155
uint8_t * data
Definition rmw_entity.h:156
size_t len
Definition rmw_entity.h:160
size_t capacity
Definition rmw_entity.h:158
Definition rmw_entity.h:528
uint8_t dscp
Definition rmw_entity.h:535
rmw_transport_protocol_t transport_protocol
Definition rmw_entity.h:529
rmw_internet_protocol_t internet_protocol
Definition rmw_entity.h:530
char internet_address[48]
Definition rmw_entity.h:536
uint16_t transport_port
Definition rmw_entity.h:531
uint32_t flow_label
Definition rmw_entity.h:533
Definition rmw_entity.h:884
uint8_t _reserved[8]
Definition rmw_entity.h:895
const char * namespace_
Definition rmw_entity.h:888
rmw_session_t * session
Definition rmw_entity.h:893
const char * name
Definition rmw_entity.h:886
void * backend_data
Definition rmw_entity.h:897
Definition rmw_entity.h:654
uint8_t _reserved[7]
Definition rmw_entity.h:660
uint8_t tx_express
Definition rmw_entity.h:659
Definition rmw_entity.h:928
const char * type_name
Definition rmw_entity.h:933
uint8_t _reserved[7]
Definition rmw_entity.h:941
bool can_loan_messages
Definition rmw_entity.h:939
const char * topic_name
Definition rmw_entity.h:930
void * backend_data
Definition rmw_entity.h:943
rmw_qos_profile_t qos
Definition rmw_entity.h:935
Definition rmw_entity.h:318
uint8_t avoid_ros_namespace_conventions
Definition rmw_entity.h:347
uint8_t reliability
Definition rmw_entity.h:320
uint8_t durability
Definition rmw_entity.h:321
uint16_t depth
Definition rmw_entity.h:324
uint32_t lifespan_ms
Definition rmw_entity.h:335
uint8_t _reserved1[3]
Definition rmw_entity.h:348
uint8_t liveliness_kind
Definition rmw_entity.h:323
uint16_t _reserved0
Definition rmw_entity.h:325
uint32_t deadline_ms
Definition rmw_entity.h:331
uint8_t history
Definition rmw_entity.h:322
uint32_t liveliness_lease_ms
Definition rmw_entity.h:339
Definition rmw_entity.h:980
uint8_t _reserved[8]
Definition rmw_entity.h:987
void * backend_data
Definition rmw_entity.h:989
const char * service_name
Definition rmw_entity.h:982
const char * type_name
Definition rmw_entity.h:985
Definition rmw_entity.h:205
const char * type_name
Definition rmw_entity.h:207
const char * type_hash
Definition rmw_entity.h:209
Definition rmw_entity.h:627
uint8_t _reserved[7]
Definition rmw_entity.h:634
size_t property_count
Definition rmw_entity.h:651
uint8_t localhost_only
Definition rmw_entity.h:633
const char * enclave
Definition rmw_entity.h:643
const rmw_session_property_t * properties
Definition rmw_entity.h:650
Definition rmw_entity.h:612
const char * value
Definition rmw_entity.h:614
const char * key
Definition rmw_entity.h:613
Definition rmw_entity.h:833
const char * node_name
Definition rmw_entity.h:835
const char * namespace_
Definition rmw_entity.h:837
void * backend_data
Definition rmw_entity.h:842
uint8_t _reserved[8]
Definition rmw_entity.h:840
Definition rmw_entity.h:668
uint8_t _reserved[4]
Definition rmw_entity.h:713
uint32_t rx_buffer_hint
Definition rmw_entity.h:712
Definition rmw_entity.h:950
uint8_t _reserved[7]
Definition rmw_entity.h:962
void * backend_data
Definition rmw_entity.h:964
bool can_loan_messages
Definition rmw_entity.h:960
const char * type_name
Definition rmw_entity.h:954
const char * topic_name
Definition rmw_entity.h:952
rmw_qos_profile_t qos
Definition rmw_entity.h:956
Definition rmw_entity.h:485
const char * node_name
Definition rmw_entity.h:487
rmw_endpoint_type_t endpoint_type
Definition rmw_entity.h:493
rmw_gid_t endpoint_gid
Definition rmw_entity.h:495
rmw_qos_profile_t qos_profile
Definition rmw_entity.h:500
const char * topic_type
Definition rmw_entity.h:491
const char * node_namespace
Definition rmw_entity.h:489