rmw  master
C API providing a middleware abstraction layer which is used to implement the rest of ROS.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
types.h
Go to the documentation of this file.
1 // Copyright 2014-2017 Open Source Robotics Foundation, Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef RMW__TYPES_H_
16 #define RMW__TYPES_H_
17 
18 #ifdef __cplusplus
19 extern "C"
20 {
21 #endif
22 
23 #include <stdbool.h>
24 #include <stddef.h>
25 #include <stdint.h>
26 
27 // map rcutils specific log levels to rmw speicfic type
28 #include <rcutils/logging.h>
29 
30 #include "rmw/init.h"
31 #include "rmw/init_options.h"
32 #include "rmw/ret_types.h"
33 #include "rmw/security_options.h"
34 #include "rmw/serialized_message.h"
35 #include "rmw/visibility_control.h"
36 
37 // 24 bytes is the most memory needed to represent the GID by any current
38 // implementation. It may need to be increased in the future.
39 #define RMW_GID_STORAGE_SIZE 24u
40 
43 {
46 
48  void * data;
49 
51  const char * name;
52 
54  const char * namespace_;
55 
58 } rmw_node_t;
59 
62 {
65 
68 
70  RMW_ENDPOINT_SUBSCRIPTION
72 
75 {
77 
88 
91 {
94 
96  void * data;
97 
99  const char * topic_name;
100 
102 
111 
115 
118 {
120 
127 
129 
143 
145 {
148 
150  void * data;
151 
153  const char * topic_name;
154 
156 
165 
169 
172 {
175 
177  void * data;
178 
180  const char * service_name;
181 } rmw_service_t;
182 
185 {
188 
190  void * data;
191 
193  const char * service_name;
194 } rmw_client_t;
195 
198 {
201 
203  void * data;
204 
208 
211 {
214 
216  void * data;
218 
221 {
224 
226  void * data;
228 
230 
237 {
241  void ** subscribers;
243 
245 
252 {
256  void ** services;
258 
260 
267 {
269  size_t client_count;
271  void ** clients;
272 } rmw_clients_t;
273 
275 {
277  size_t event_count;
279  void ** events;
280 } rmw_events_t;
281 
283 
290 {
296 
299 {
302 
305 
307  void * data;
309 
312 {
314  int8_t writer_guid[16];
315 
319 
322 {
324  uint64_t sec;
325 
327  uint64_t nsec;
328 } rmw_time_t;
329 
331 
334 {
339 
341 {
344 
347 
350 
352  RMW_QOS_POLICY_RELIABILITY_UNKNOWN
353 };
354 
357 {
360 
363 
366 
368  RMW_QOS_POLICY_HISTORY_UNKNOWN
369 };
370 
373 {
376 
379 
382 
384  RMW_QOS_POLICY_DURABILITY_UNKNOWN
385 };
386 
387 #define RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG \
388  "RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE is deprecated. " \
389  "Use RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC if manually asserted liveliness is needed."
390 
391 #ifndef _WIN32
392 # define RMW_DECLARE_DEPRECATED(name, msg) name __attribute__((deprecated(msg)))
393 #else
394 # define RMW_DECLARE_DEPRECATED(name, msg) name __pragma(deprecated(name))
395 #endif
396 
399 // Suppress syntax errors, as cppcheck does not seem to handle enumerator attributes.
400 // cppcheck-suppress syntaxError
402 {
405 
408 
413  RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE,
415 
419  // Using `3` for backwards compatibility.
421 
423  RMW_QOS_POLICY_LIVELINESS_UNKNOWN = 4
424 };
425 
427 #define RMW_QOS_DEADLINE_DEFAULT {0, 0}
428 
430 #define RMW_QOS_LIFESPAN_DEFAULT {0, 0}
431 
433 #define RMW_QOS_LIVELINESS_LEASE_DURATION_DEFAULT {0, 0}
434 
437 {
440  size_t depth;
446  struct rmw_time_t deadline;
448  struct rmw_time_t lifespan;
452  struct rmw_time_t liveliness_lease_duration;
453 
455 
466 
469 {
472 
474  uint8_t data[RMW_GID_STORAGE_SIZE];
475 } rmw_gid_t;
476 
479 {
483 
487 
493 
497 
499 typedef enum RMW_PUBLIC_TYPE
500 {
503 
506 
509 
512 
516 
519 {
528  int32_t alive_count;
543 
546 {
553  int32_t total_count;
557 
560 {
567  int32_t total_count;
571 
574 {
581  int32_t total_count;
585 
586 #ifdef __cplusplus
587 }
588 #endif
589 
590 #endif // RMW__TYPES_H_
rmw_offered_deadline_missed_status_t::total_count_change
int32_t total_count_change
The change in total_count since the last time the status was last read.
Definition: types.h:583
rmw_liveliness_changed_status_t
struct RMW_PUBLIC_TYPE rmw_liveliness_changed_status_t rmw_liveliness_changed_status_t
QoS Liveliness Changed information provided by a subscription.
rmw_guard_conditions_t
struct RMW_PUBLIC_TYPE rmw_guard_conditions_t rmw_guard_conditions_t
Array of guard condition handles.
rmw_guard_conditions_t
Array of guard condition handles.
Definition: types.h:289
RMW_QOS_POLICY_LIVELINESS_AUTOMATIC
RMW_QOS_POLICY_LIVELINESS_AUTOMATIC
The signal that establishes a Topic is alive comes from the ROS rmw layer.
Definition: types.h:407
rmw_node_t
Structure which encapsulates an rmw node.
Definition: types.h:42
rmw_client_t::service_name
const char * service_name
The name of this service as exposed to the ros graph.
Definition: types.h:193
RMW_QOS_POLICY_HISTORY_KEEP_ALL
RMW_QOS_POLICY_HISTORY_KEEP_ALL
Store all samples, subject to resource limits.
Definition: types.h:365
rmw_wait_set_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:301
RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT
RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT
Implementation specific default.
Definition: types.h:343
rmw_services_t::services
void ** services
Pointer to an array of void * pointers of services.
Definition: types.h:256
rmw_subscription_t::data
void * data
Type erased pointer to this subscription.
Definition: types.h:150
rmw_client_t
struct RMW_PUBLIC_TYPE rmw_client_t rmw_client_t
A handle to an rmw service client.
rmw_node_t::context
rmw_context_t * context
Context information about node's init specific information.
Definition: types.h:57
rmw_time_t::nsec
uint64_t nsec
Nanoseconds component of this time point.
Definition: types.h:327
rmw_liveliness_lost_status_t
QoS Liveliness Lost information provided by a publisher.
Definition: types.h:559
RMW_PUBLIC
#define RMW_PUBLIC
Definition: visibility_control.h:48
rmw_client_t::data
void * data
Type erased pointer to this service client.
Definition: types.h:190
rmw_subscription_options_t::rmw_specific_subscription_payload
void * rmw_specific_subscription_payload
Used to pass rmw implementation specific resources during subscription creation.
Definition: types.h:126
rmw_service_t
A handle to an rmw service.
Definition: types.h:171
rmw_services_t
struct RMW_PUBLIC_TYPE rmw_services_t rmw_services_t
Array of service handles.
rmw_service_t::service_name
const char * service_name
The name of this service as exposed to the ros graph.
Definition: types.h:180
rmw_message_info_t::source_timestamp
rmw_time_point_value_t source_timestamp
Definition: types.h:480
RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT
RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT
Attempt to deliver samples, but some may be lost if the network is not robust.
Definition: types.h:349
rmw_service_info_t
struct RMW_PUBLIC_TYPE rmw_service_info_t rmw_service_info_t
Meta-data for a service-related take.
rmw_message_info_t
Information describing an rmw message.
Definition: types.h:478
rmw_time_t
Struct representing a time point for rmw.
Definition: types.h:321
rmw_message_info_t::publisher_gid
rmw_gid_t publisher_gid
Definition: types.h:482
rmw_events_t
struct RMW_PUBLIC_TYPE rmw_events_t rmw_events_t
rmw_log_severity_t
enum RMW_PUBLIC_TYPE rmw_log_severity_t
Type mapping of rcutils log severity types to rmw specific types.
rmw_subscription_allocation_t
Allocation of memory for an rmw subscription.
Definition: types.h:220
rmw_publisher_allocation_t
struct RMW_PUBLIC_TYPE rmw_publisher_allocation_t rmw_publisher_allocation_t
Allocation of memory for an rmw publisher.
rmw_requested_deadline_missed_status_t::total_count
int32_t total_count
Definition: types.h:553
rmw_publisher_allocation_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:213
rmw_guard_condition_t::context
rmw_context_t * context
rmw context associated with this guard condition
Definition: types.h:206
RMW_PUBLIC_TYPE
RMW_PUBLIC_TYPE
Type mapping of rcutils log severity types to rmw specific types.
Definition: types.h:499
rmw_wait_set_t::guard_conditions
rmw_guard_conditions_t * guard_conditions
The guard condition to be waited on.
Definition: types.h:304
rmw_subscriptions_t::subscriber_count
size_t subscriber_count
The number of subscribers represented by the array.
Definition: types.h:239
rmw_publisher_t
struct RMW_PUBLIC_TYPE rmw_publisher_t rmw_publisher_t
Structure which encapsulates an rmw publisher.
rmw_endpoint_type_t
enum RMW_PUBLIC_TYPE rmw_endpoint_type_t rmw_endpoint_type_t
Endpoint enumeration type.
Definition: types.h:61
rmw_subscriptions_t
struct RMW_PUBLIC_TYPE rmw_subscriptions_t rmw_subscriptions_t
Array of subscriber handles.
rmw_guard_condition_t
Handle for an rmw guard condition.
Definition: types.h:197
rmw_liveliness_lost_status_t
struct RMW_PUBLIC_TYPE rmw_liveliness_lost_status_t rmw_liveliness_lost_status_t
QoS Liveliness Lost information provided by a publisher.
RCUTILS_LOG_SEVERITY_DEBUG
RCUTILS_LOG_SEVERITY_DEBUG
rmw_subscription_allocation_t::data
void * data
Type erased pointer to this allocation.
Definition: types.h:226
ret_types.h
rmw_wait_set_t::data
void * data
Type erased pointer to this wait set's data.
Definition: types.h:307
rmw_events_t::events
void ** events
Pointer to an array of void * pointers of events.
Definition: types.h:279
rmw_node_t::name
const char * name
A concise name of this rmw node for identification.
Definition: types.h:51
rmw_message_info_t
struct RMW_PUBLIC_TYPE rmw_message_info_t rmw_message_info_t
Information describing an rmw message.
rmw_publisher_options_t
Options that can be used to configure the creation of a publisher in rmw.
Definition: types.h:74
rmw_subscription_options_t
struct RMW_PUBLIC_TYPE rmw_subscription_options_t rmw_subscription_options_t
Options that can be used to configure the creation of a subscription in rmw.
rmw_wait_set_t
Container for guard conditions to be waited on.
Definition: types.h:298
rmw_subscription_t::topic_name
const char * topic_name
Name of the ros topic this subscription listens to.
Definition: types.h:153
rmw_node_t::implementation_identifier
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:45
rmw_service_t::data
void * data
Type erased pointer to this service.
Definition: types.h:177
rmw_request_id_t::sequence_number
int64_t sequence_number
Sequence number of this service.
Definition: types.h:317
rmw_subscription_allocation_t
struct RMW_PUBLIC_TYPE rmw_subscription_allocation_t rmw_subscription_allocation_t
Allocation of memory for an rmw subscription.
rmw_subscription_t::implementation_identifier
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:147
rmw_liveliness_changed_status_t::alive_count_change
int32_t alive_count_change
The change in the alive_count since the status was last read.
Definition: types.h:539
RMW_WARN_UNUSED
#define RMW_WARN_UNUSED
Indicate that a variable is not used, and prevent compiler from issuing warnings.
Definition: macros.h:24
rmw_qos_liveliness_policy_t
enum RMW_PUBLIC_TYPE rmw_qos_liveliness_policy_t
Definition: types.h:401
rmw_subscription_allocation_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:223
rmw_service_info_t
Meta-data for a service-related take.
Definition: types.h:333
rmw_liveliness_changed_status_t
QoS Liveliness Changed information provided by a subscription.
Definition: types.h:518
rmw_qos_profile_t::avoid_ros_namespace_conventions
bool avoid_ros_namespace_conventions
If true, any ROS specific namespacing conventions will be circumvented.
Definition: types.h:464
rmw_context_t
Initialization context structure which is used to store init specific information.
Definition: init.h:37
rmw_publisher_options_t::rmw_specific_publisher_payload
void * rmw_specific_publisher_payload
Used to pass rmw implementation specific resources during publisher creation.
Definition: types.h:86
rmw_client_t
A handle to an rmw service client.
Definition: types.h:184
rmw_subscription_t
Definition: types.h:144
rmw_publisher_t::implementation_identifier
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:93
rmw_publisher_allocation_t
Allocation of memory for an rmw publisher.
Definition: types.h:210
RMW_LOG_SEVERITY_DEBUG
@ RMW_LOG_SEVERITY_DEBUG
Debug log severity, for pedantic messaging.
Definition: types.h:502
rmw_liveliness_lost_status_t::total_count
int32_t total_count
Definition: types.h:567
RMW_LOG_SEVERITY_FATAL
@ RMW_LOG_SEVERITY_FATAL
Fatal log severity, for reporting issue causing imminent shutdown.
Definition: types.h:514
serialized_message.h
rmw_services_t::service_count
size_t service_count
The number of services represented by the array.
Definition: types.h:254
init.h
rmw_offered_deadline_missed_status_t::total_count
int32_t total_count
Definition: types.h:581
RCUTILS_LOG_SEVERITY_INFO
RCUTILS_LOG_SEVERITY_INFO
rmw_offered_deadline_missed_status_t
struct RMW_PUBLIC_TYPE rmw_offered_deadline_missed_status_t rmw_offered_deadline_missed_status_t
QoS Deadline Missed information provided by a publisher.
rmw_guard_conditions_t::guard_condition_count
size_t guard_condition_count
The number of guard conditions represented by the array.
Definition: types.h:292
rmw_publisher_t::options
rmw_publisher_options_t options
Publisher options.
Definition: types.h:110
rmw_service_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:174
RMW_QOS_POLICY_DEPTH_SYSTEM_DEFAULT
@ RMW_QOS_POLICY_DEPTH_SYSTEM_DEFAULT
Definition: types.h:496
rmw_request_id_t
struct RMW_PUBLIC_TYPE rmw_request_id_t rmw_request_id_t
An rmw service request identifier.
rmw_guard_condition_t
struct RMW_PUBLIC_TYPE rmw_guard_condition_t rmw_guard_condition_t
Handle for an rmw guard condition.
rmw_requested_deadline_missed_status_t::total_count_change
int32_t total_count_change
The incremental number of deadlines detected since the status was read.
Definition: types.h:555
init_options.h
rmw_client_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:187
security_options.h
rmw_liveliness_lost_status_t::total_count_change
int32_t total_count_change
The change in total_count since the last time the status was last read.
Definition: types.h:569
rmw_publisher_t
Structure which encapsulates an rmw publisher.
Definition: types.h:90
RMW_GID_STORAGE_SIZE
#define RMW_GID_STORAGE_SIZE
Definition: types.h:39
rmw_qos_history_policy_t
enum RMW_PUBLIC_TYPE rmw_qos_history_policy_t
QoS history enumerations describing how samples endure.
Definition: types.h:356
rmw_request_id_t
An rmw service request identifier.
Definition: types.h:311
rmw_publisher_options_t
struct RMW_PUBLIC_TYPE rmw_publisher_options_t rmw_publisher_options_t
Options that can be used to configure the creation of a publisher in rmw.
rmw_node_t::namespace_
const char * namespace_
The namespace of this rmw node.
Definition: types.h:54
rmw_liveliness_changed_status_t::not_alive_count
int32_t not_alive_count
Definition: types.h:537
rmw_gid_t::implementation_identifier
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:471
rmw_time_t
struct RMW_PUBLIC_TYPE rmw_time_t rmw_time_t
Struct representing a time point for rmw.
rmw_clients_t::clients
void ** clients
Pointer to an array of void * pointers of clients.
Definition: types.h:271
rmw_subscription_t::options
rmw_subscription_options_t options
Subscription options.
Definition: types.h:164
rmw_message_info_t::received_timestamp
rmw_time_point_value_t received_timestamp
Definition: types.h:481
rmw_subscriptions_t::subscribers
void ** subscribers
Pointer to an array of void * pointers of subscriptions.
Definition: types.h:241
rcutils_time_point_value_t
int64_t rcutils_time_point_value_t
RMW_LOG_SEVERITY_INFO
@ RMW_LOG_SEVERITY_INFO
Informational log severity, for reporting expected but not overwhelming information.
Definition: types.h:505
rmw_events_t::event_count
size_t event_count
The number of events represented by the array.
Definition: types.h:277
rmw_time_t::sec
uint64_t sec
Seconds since the epoch.
Definition: types.h:324
rmw_service_info_t::source_timestamp
rmw_time_point_value_t source_timestamp
Definition: types.h:335
RCUTILS_LOG_SEVERITY_FATAL
RCUTILS_LOG_SEVERITY_FATAL
RMW_QOS_POLICY_HISTORY_SYSTEM_DEFAULT
RMW_QOS_POLICY_HISTORY_SYSTEM_DEFAULT
Implementation default for history policy.
Definition: types.h:359
visibility_control.h
rmw_guard_condition_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:200
rmw_services_t
Array of service handles.
Definition: types.h:251
rmw_subscription_options_t
Options that can be used to configure the creation of a subscription in rmw.
Definition: types.h:117
rmw_node_t::data
void * data
Type erased pointer to this node's data.
Definition: types.h:48
rmw_get_zero_initialized_message_info
rmw_message_info_t rmw_get_zero_initialized_message_info(void)
Get zero initialized mesage info.
RMW_LOG_SEVERITY_WARN
@ RMW_LOG_SEVERITY_WARN
Warning log severity, for reporting recoverable issues.
Definition: types.h:508
rmw_time_point_value_t
rcutils_time_point_value_t rmw_time_point_value_t
Definition: types.h:330
rmw_service_t
struct RMW_PUBLIC_TYPE rmw_service_t rmw_service_t
A handle to an rmw service.
rmw_clients_t
struct RMW_PUBLIC_TYPE rmw_clients_t rmw_clients_t
Array of client handles.
rmw_subscription_t::can_loan_messages
bool can_loan_messages
Indicates whether this subscription can loan messages.
Definition: types.h:167
rmw_qos_durability_policy_t
enum RMW_PUBLIC_TYPE rmw_qos_durability_policy_t
QoS durability enumerations describing how samples persist.
Definition: types.h:372
rmw_publisher_allocation_t::data
void * data
Type erased pointer to this allocation.
Definition: types.h:216
rmw_gid_t
ROS graph ID of the topic.
Definition: types.h:468
rmw_guard_condition_t::data
void * data
Type erased pointer to this guard condition.
Definition: types.h:203
RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT
RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT
Implementation specific default.
Definition: types.h:404
rmw_clients_t::client_count
size_t client_count
The number of clients represented by the array.
Definition: types.h:269
RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
Impplementation specific default.
Definition: types.h:375
RMW_ENDPOINT_INVALID
RMW_ENDPOINT_INVALID
Endpoint type has not yet been set.
Definition: types.h:64
rmw_node_t
struct RMW_PUBLIC_TYPE rmw_node_t rmw_node_t
Structure which encapsulates an rmw node.
rmw_subscription_options_t::ignore_local_publications
bool ignore_local_publications
If true then the middleware should not deliver data from local publishers.
Definition: types.h:141
RCUTILS_LOG_SEVERITY_ERROR
RCUTILS_LOG_SEVERITY_ERROR
RMW_QOS_POLICY_RELIABILITY_RELIABLE
RMW_QOS_POLICY_RELIABILITY_RELIABLE
Guarantee that samples are delivered, may retry multiple times.
Definition: types.h:346
rmw_subscriptions_t
Array of subscriber handles.
Definition: types.h:236
rmw_publisher_t::data
void * data
Type erased pointer to this publisher's data.
Definition: types.h:96
rmw_subscription_t
struct RMW_PUBLIC_TYPE rmw_subscription_t rmw_subscription_t
rmw_qos_profile_t
ROS MiddleWare quality of service profile.
Definition: types.h:436
RMW_DECLARE_DEPRECATED
#define RMW_DECLARE_DEPRECATED(name, msg)
Definition: types.h:392
rmw_qos_profile_t
struct RMW_PUBLIC_TYPE rmw_qos_profile_t rmw_qos_profile_t
ROS MiddleWare quality of service profile.
rmw_requested_deadline_missed_status_t
struct RMW_PUBLIC_TYPE rmw_requested_deadline_missed_status_t rmw_requested_deadline_missed_status_t
QoS Requested Deadline Missed information provided by a subscription.
RCUTILS_LOG_SEVERITY_WARN
RCUTILS_LOG_SEVERITY_WARN
rmw_qos_reliability_policy_t
enum RMW_PUBLIC_TYPE rmw_qos_reliability_policy_t
Definition: types.h:340
rmw_service_info_t::received_timestamp
rmw_time_point_value_t received_timestamp
Definition: types.h:336
rmw_events_t
Definition: types.h:274
RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC
RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC
Definition: types.h:420
rmw_wait_set_t
struct RMW_PUBLIC_TYPE rmw_wait_set_t rmw_wait_set_t
Container for guard conditions to be waited on.
logging.h
RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL
RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL
The rmw publisher is responsible for persisting samples for “late-joining” subscribers.
Definition: types.h:378
RMW_LOG_SEVERITY_ERROR
@ RMW_LOG_SEVERITY_ERROR
Error log severity, for reporting uncoverable issues.
Definition: types.h:511
rmw_requested_deadline_missed_status_t
QoS Requested Deadline Missed information provided by a subscription.
Definition: types.h:545
rmw_offered_deadline_missed_status_t
QoS Deadline Missed information provided by a publisher.
Definition: types.h:573
RMW_ENDPOINT_PUBLISHER
RMW_ENDPOINT_PUBLISHER
Creates and publishes messages to the ROS topic.
Definition: types.h:67
rmw_gid_t
struct RMW_PUBLIC_TYPE rmw_gid_t rmw_gid_t
ROS graph ID of the topic.
rmw_clients_t
Array of client handles.
Definition: types.h:266
rmw_message_info_t::from_intra_process
bool from_intra_process
Whether this message is from intra_process communication or not.
Definition: types.h:485
rmw_publisher_t::can_loan_messages
bool can_loan_messages
Indicate whether this publisher supports loaning messages.
Definition: types.h:113
RMW_QOS_POLICY_DURABILITY_VOLATILE
RMW_QOS_POLICY_DURABILITY_VOLATILE
Samples are not persistent.
Definition: types.h:381
rmw_liveliness_changed_status_t::alive_count
int32_t alive_count
Definition: types.h:528
rmw_qos_profile_t::depth
size_t depth
Size of the message queue.
Definition: types.h:440
rmw_liveliness_changed_status_t::not_alive_count_change
int32_t not_alive_count_change
The change in the not_alive_count since the status was last read.
Definition: types.h:541
RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG
#define RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG
Definition: types.h:387
rmw_publisher_t::topic_name
const char * topic_name
The name of the ROS topic this publisher publishes to.
Definition: types.h:99
rmw_service_info_t::request_id
rmw_request_id_t request_id
Definition: types.h:337
RMW_QOS_POLICY_HISTORY_KEEP_LAST
RMW_QOS_POLICY_HISTORY_KEEP_LAST
Only store up to a maximum number of samples, dropping oldest once max is exceeded.
Definition: types.h:362
rmw_guard_conditions_t::guard_conditions
void ** guard_conditions
Pointer to an array of void * pointers of guard conditions.
Definition: types.h:294