rmw  master
C API providing a middleware abstraction layer which is used to implement the rest of ROS.
Classes | Macros | Typedefs | Enumerations | Variables
types.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <rcutils/logging.h>
#include "rmw/init.h"
#include "rmw/ret_types.h"
#include "rmw/serialized_message.h"
#include "rmw/visibility_control.h"
Include dependency graph for types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  rmw_node_t
 
struct  rmw_publisher_t
 
struct  rmw_subscription_t
 
struct  rmw_service_t
 
struct  rmw_client_t
 
struct  rmw_guard_condition_t
 
struct  rmw_publisher_allocation_t
 
struct  rmw_subscription_allocation_t
 
struct  rmw_subscriptions_t
 Array of subscriber handles. More...
 
struct  rmw_services_t
 Array of service handles. More...
 
struct  rmw_clients_t
 Array of client handles. More...
 
struct  rmw_events_t
 
struct  rmw_guard_conditions_t
 Array of guard condition handles. More...
 
struct  rmw_wait_set_t
 
struct  rmw_request_id_t
 
struct  rmw_time_t
 
struct  rmw_node_security_options_t
 
struct  rmw_qos_profile_t
 ROS MiddleWare quality of service profile. More...
 
struct  rmw_gid_t
 
struct  rmw_message_info_t
 
struct  rmw_liveliness_changed_status_t
 QoS Liveliness Changed information provided by a subscription. More...
 
struct  rmw_requested_deadline_missed_status_t
 QoS Requested Deadline Missed information provided by a subscription. More...
 
struct  rmw_liveliness_lost_status_t
 QoS Liveliness Lost information provided by a publisher. More...
 
struct  rmw_offered_deadline_missed_status_t
 QoS Deadline Missed information provided by a publisher. More...
 

Macros

#define RMW_GID_STORAGE_SIZE   24
 
#define RMW_QOS_DEADLINE_DEFAULT   {0, 0}
 
#define RMW_QOS_LIFESPAN_DEFAULT   {0, 0}
 
#define RMW_QOS_LIVELINESS_LEASE_DURATION_DEFAULT   {0, 0}
 

Typedefs

typedef struct RMW_PUBLIC_TYPE rmw_node_t rmw_node_t
 
typedef struct RMW_PUBLIC_TYPE rmw_publisher_t rmw_publisher_t
 
typedef struct RMW_PUBLIC_TYPE rmw_subscription_t rmw_subscription_t
 
typedef struct RMW_PUBLIC_TYPE rmw_service_t rmw_service_t
 
typedef struct RMW_PUBLIC_TYPE rmw_client_t rmw_client_t
 
typedef struct RMW_PUBLIC_TYPE rmw_guard_condition_t rmw_guard_condition_t
 
typedef struct RMW_PUBLIC_TYPE rmw_publisher_allocation_t rmw_publisher_allocation_t
 
typedef struct RMW_PUBLIC_TYPE rmw_subscription_allocation_t rmw_subscription_allocation_t
 
typedef struct RMW_PUBLIC_TYPE rmw_subscriptions_t rmw_subscriptions_t
 Array of subscriber handles. More...
 
typedef struct RMW_PUBLIC_TYPE rmw_services_t rmw_services_t
 Array of service handles. More...
 
typedef struct RMW_PUBLIC_TYPE rmw_clients_t rmw_clients_t
 Array of client handles. More...
 
typedef struct RMW_PUBLIC_TYPE rmw_events_t rmw_events_t
 
typedef struct RMW_PUBLIC_TYPE rmw_guard_conditions_t rmw_guard_conditions_t
 Array of guard condition handles. More...
 
typedef struct RMW_PUBLIC_TYPE rmw_wait_set_t rmw_wait_set_t
 
typedef struct RMW_PUBLIC_TYPE rmw_request_id_t rmw_request_id_t
 
typedef struct RMW_PUBLIC_TYPE rmw_time_t rmw_time_t
 
typedef struct RMW_PUBLIC_TYPE rmw_node_security_options_t rmw_node_security_options_t
 
typedef struct RMW_PUBLIC_TYPE rmw_qos_profile_t rmw_qos_profile_t
 ROS MiddleWare quality of service profile. More...
 
typedef struct RMW_PUBLIC_TYPE rmw_gid_t rmw_gid_t
 
typedef struct RMW_PUBLIC_TYPE rmw_message_info_t rmw_message_info_t
 
typedef enum RMW_PUBLIC_TYPE rmw_log_severity_t
 Type mapping of rcutils log severity types to rmw specific types. More...
 
typedef struct RMW_PUBLIC_TYPE rmw_liveliness_changed_status_t rmw_liveliness_changed_status_t
 QoS Liveliness Changed information provided by a subscription. More...
 
typedef 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. More...
 
typedef struct RMW_PUBLIC_TYPE rmw_liveliness_lost_status_t rmw_liveliness_lost_status_t
 QoS Liveliness Lost information provided by a publisher. More...
 
typedef struct RMW_PUBLIC_TYPE rmw_offered_deadline_missed_status_t rmw_offered_deadline_missed_status_t
 QoS Deadline Missed information provided by a publisher. More...
 

Enumerations

enum  { RMW_QOS_POLICY_DEPTH_SYSTEM_DEFAULT = 0 }
 
enum  RMW_PUBLIC_TYPE {
  RMW_LOG_SEVERITY_DEBUG = RCUTILS_LOG_SEVERITY_DEBUG, RMW_LOG_SEVERITY_INFO = RCUTILS_LOG_SEVERITY_INFO, RMW_LOG_SEVERITY_WARN = RCUTILS_LOG_SEVERITY_WARN, RMW_LOG_SEVERITY_ERROR = RCUTILS_LOG_SEVERITY_ERROR,
  RMW_LOG_SEVERITY_FATAL = RCUTILS_LOG_SEVERITY_FATAL
}
 Type mapping of rcutils log severity types to rmw specific types. More...
 

Variables

enum RMW_PUBLIC_TYPE rmw_security_enforcement_policy_t
 
 RMW_SECURITY_ENFORCEMENT_PERMISSIVE
 
 RMW_SECURITY_ENFORCEMENT_ENFORCE
 
enum RMW_PUBLIC_TYPE rmw_qos_reliability_policy_t
 
 RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT
 
 RMW_QOS_POLICY_RELIABILITY_RELIABLE
 
 RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT
 
enum RMW_PUBLIC_TYPE rmw_qos_history_policy_t
 
 RMW_QOS_POLICY_HISTORY_SYSTEM_DEFAULT
 
 RMW_QOS_POLICY_HISTORY_KEEP_LAST
 
 RMW_QOS_POLICY_HISTORY_KEEP_ALL
 
enum RMW_PUBLIC_TYPE rmw_qos_durability_policy_t
 
 RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
 
 RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL
 
 RMW_QOS_POLICY_DURABILITY_VOLATILE
 
enum RMW_PUBLIC_TYPE rmw_qos_liveliness_policy_t
 
 RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT
 
 RMW_QOS_POLICY_LIVELINESS_AUTOMATIC
 
 RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE
 

Macro Definition Documentation

◆ RMW_GID_STORAGE_SIZE

#define RMW_GID_STORAGE_SIZE   24

◆ RMW_QOS_DEADLINE_DEFAULT

#define RMW_QOS_DEADLINE_DEFAULT   {0, 0}

◆ RMW_QOS_LIFESPAN_DEFAULT

#define RMW_QOS_LIFESPAN_DEFAULT   {0, 0}

◆ RMW_QOS_LIVELINESS_LEASE_DURATION_DEFAULT

#define RMW_QOS_LIVELINESS_LEASE_DURATION_DEFAULT   {0, 0}

Typedef Documentation

◆ rmw_node_t

◆ rmw_publisher_t

◆ rmw_subscription_t

◆ rmw_service_t

◆ rmw_client_t

◆ rmw_guard_condition_t

◆ rmw_publisher_allocation_t

◆ rmw_subscription_allocation_t

◆ rmw_subscriptions_t

Array of subscriber handles.

An array of void * pointers representing type-erased middleware-specific subscriptions. The number of non-null entries may be smaller than the allocated size of the array. The number of subscriptions represented may be smaller than the allocated size of the array. The creator of this struct is responsible for allocating and deallocating the array.

◆ rmw_services_t

Array of service handles.

An array of void * pointers representing type-erased middleware-specific services. The number of non-null entries may be smaller than the allocated size of the array. The number of services represented may be smaller than the allocated size of the array. The creator of this struct is responsible for allocating and deallocating the array.

◆ rmw_clients_t

Array of client handles.

An array of void * pointers representing type-erased middleware-specific clients. The number of non-null entries may be smaller than the allocated size of the array. The number of clients represented may be smaller than the allocated size of the array. The creator of this struct is responsible for allocating and deallocating the array.

◆ rmw_events_t

◆ rmw_guard_conditions_t

Array of guard condition handles.

An array of void * pointers representing type-erased middleware-specific guard conditions. The number of non-null entries may be smaller than the allocated size of the array. The number of guard conditions represented may be smaller than the allocated size of the array. The creator of this struct is responsible for allocating and deallocating the array.

◆ rmw_wait_set_t

◆ rmw_request_id_t

◆ rmw_time_t

◆ rmw_node_security_options_t

◆ rmw_qos_profile_t

ROS MiddleWare quality of service profile.

◆ rmw_gid_t

◆ rmw_message_info_t

◆ rmw_log_severity_t

Type mapping of rcutils log severity types to rmw specific types.

◆ rmw_liveliness_changed_status_t

QoS Liveliness Changed information provided by a subscription.

◆ rmw_requested_deadline_missed_status_t

QoS Requested Deadline Missed information provided by a subscription.

◆ rmw_liveliness_lost_status_t

QoS Liveliness Lost information provided by a publisher.

◆ rmw_offered_deadline_missed_status_t

QoS Deadline Missed information provided by a publisher.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
RMW_QOS_POLICY_DEPTH_SYSTEM_DEFAULT 

◆ RMW_PUBLIC_TYPE

Type mapping of rcutils log severity types to rmw specific types.

Enumerator
RMW_LOG_SEVERITY_DEBUG 
RMW_LOG_SEVERITY_INFO 
RMW_LOG_SEVERITY_WARN 
RMW_LOG_SEVERITY_ERROR 
RMW_LOG_SEVERITY_FATAL 

Variable Documentation

◆ rmw_security_enforcement_policy_t

enum RMW_PUBLIC_TYPE rmw_security_enforcement_policy_t

◆ RMW_SECURITY_ENFORCEMENT_PERMISSIVE

RMW_SECURITY_ENFORCEMENT_PERMISSIVE

◆ RMW_SECURITY_ENFORCEMENT_ENFORCE

RMW_SECURITY_ENFORCEMENT_ENFORCE

◆ rmw_qos_reliability_policy_t

enum RMW_PUBLIC_TYPE rmw_qos_reliability_policy_t

◆ RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT

RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT

◆ RMW_QOS_POLICY_RELIABILITY_RELIABLE

RMW_QOS_POLICY_RELIABILITY_RELIABLE

◆ RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT

RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT

◆ rmw_qos_history_policy_t

enum RMW_PUBLIC_TYPE rmw_qos_history_policy_t

◆ RMW_QOS_POLICY_HISTORY_SYSTEM_DEFAULT

RMW_QOS_POLICY_HISTORY_SYSTEM_DEFAULT

◆ RMW_QOS_POLICY_HISTORY_KEEP_LAST

RMW_QOS_POLICY_HISTORY_KEEP_LAST

◆ RMW_QOS_POLICY_HISTORY_KEEP_ALL

RMW_QOS_POLICY_HISTORY_KEEP_ALL

◆ rmw_qos_durability_policy_t

enum RMW_PUBLIC_TYPE rmw_qos_durability_policy_t

◆ RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT

RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT

◆ RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL

RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL

◆ RMW_QOS_POLICY_DURABILITY_VOLATILE

RMW_QOS_POLICY_DURABILITY_VOLATILE

◆ rmw_qos_liveliness_policy_t

enum RMW_PUBLIC_TYPE rmw_qos_liveliness_policy_t

◆ RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT

RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT

◆ RMW_QOS_POLICY_LIVELINESS_AUTOMATIC

RMW_QOS_POLICY_LIVELINESS_AUTOMATIC

◆ RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE

RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE