11#ifndef transport_common_h
12#define transport_common_h
14#include "osapi/osapi_type.h"
15#include "osapi/osapi_rtpsGuid.h"
16#include "reda/reda_buffer.h"
17#include "transport/transport_dll.h"
20#include "transport/transport_common_user.h"
36#define NDDS_TRANSPORT_UDP_DATA_SUBMESSAGE_ID (0x15)
39#define NDDS_TRANSPORT_RTPS_OBJECT_ID_SPDP_PARTICIPANT_WRITER (0x000100C2)
42#define NDDS_TRANSPORT_RTPS_OBJECT_ID_SPDP2_PARTICIPANT_BOOTSTRAP_WRITER \
46#define NDDS_TRANSPORT_RTPS_OBJECT_ID_SPDP2_PARTICIPANT_CONFIG_WRITER \
49#define NDDS_TRANSPORT_RTPS_OBJECT_ID_SPDP2_PARTICIPANT_SECURE_CONFIG_WRITER \
53#define NDDS_TRANSPORT_RTPS_OBJECT_ID_PUB_WRITER (0x000003C2)
56#define NDDS_TRANSPORT_RTPS_OBJECT_ID_SUB_WRITER (0x000004C2)
59#define NDDS_TRANSPORT_RTPS_OBJECT_ID_PUB_READER (0x000003C7)
62#define NDDS_TRANSPORT_RTPS_OBJECT_ID_SUB_READER (0x000004C7)
65#define NDDS_TRANSPORT_RTPS_OBJECT_ID_P2P_PARTICIPANT_LIVELINESS_WRITER \
69#define NDDS_TRANSPORT_RTPS_OBJECT_ID_SECURE_P2P_PARTICIPANT_LIVELINESS_WRITER \
73#define NDDS_TRANSPORT_INTER_PARTICIPANT_MESSAGE_KIND_AUTOMATIC_LIVELINESS_UPDATE \
77#define NDDS_TRANSPORT_INTER_PARTICIPANT_MESSAGE_KIND_MANUAL_LIVELINESS_UPDATE \
98#define NDDS_TRANSPORT_PORT_INVALID ((NDDS_Transport_Port_t) 0)
104struct NDDS_Transport_SharedPort_t {
117#define NDDS_TRANSPORT_UUID_SIZE 12
123#define NDDS_TRANSPORT_LENGTH_UNLIMITED -1
129#define NDDS_TRANSPORT_INTERFACE_RANK_UNKNOWN 0
144#define NDDS_TRANSPORT_UUID_UNKNOWN \
147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \
231#define NDDS_TRANSPORT_INTERFACE_INITIALIZER \
233 NDDS_TRANSPORT_CLASSID_INVALID, \
234 NDDS_TRANSPORT_ADDRESS_INVALID_INITIALIZER, \
235 NDDS_TRANSPORT_INTERFACE_OFF, \
236 NDDS_TRANSPORT_INTERFACE_RANK_UNKNOWN \
247extern NDDS_Transport_DllExport
void NDDS_Transport_Interface_print(
250 RTI_INT32 indent_in);
259extern NDDS_Transport_DllExport
void NDDS_Transport_Interface_copy(
263#define NDDS_TRANSPORT_CONTEXT_INVALID \
265 NDDS_TRANSPORT_ADDRESS_INVALID_INITIALIZER, \
266 NDDS_TRANSPORT_ADDRESS_INVALID_INITIALIZER, \
267 NDDS_TRANSPORT_PORT_INVALID, \
268 NDDS_TRANSPORT_PORT_INVALID, \
269 NDDS_TRANSPORT_PORT_INVALID, \
270 NDDS_TRANSPORT_CLASSID_INVALID \
281struct NDDS_Transport_Context_t {
351#define NDDS_TRANSPORT_PRIORITY_DEFAULT (0)
360#ifdef DOXYGEN_DOCUMENTATION_ONLY
366} NDDS_Transport_Buffer_t;
368typedef struct REDABuffer NDDS_Transport_Buffer_t;
374#define NDDS_Transport_Buffer_t_compare(transportBuffer1, transportBuffer2) \
375 (((transportBuffer1)->length < (transportBuffer2)->length) \
377 : (((transportBuffer1)->length > (transportBuffer2)->length) \
379 : (((transportBuffer1)->pointer \
380 < (transportBuffer2)->pointer) \
382 : (((transportBuffer1)->pointer \
383 > (transportBuffer2)->pointer) \
393extern NDDS_Transport_DllExport RTIBool NDDS_Transport_get_address(
394 char *addresses_str_out,
395 size_t addresses_str_buffer_size_in,
405extern NDDS_Transport_DllExport RTIBool
406NDDS_Transport_get_number_of_addresses_in_string(
407 RTI_UINT32 *number_out,
414#include "transport/transport_common_impl.h"
RTI_UINT32 NDDS_Transport_Port_t
Type for storing RTI Connext RTPS ports.
Definition: transport_common.h:92
#define NDDS_TRANSPORT_UUID_SIZE
Size of a NDDS_Transport_UUID.
Definition: transport_common.h:117
RTI_INT32 NDDS_Transport_ClassId_t
Type for storing RTI Connext Transport Plugin class IDs.
Definition: transport_common_user.h:121
NDDS_Transport_Interface_Status_t
Interface status.
Definition: transport_common.h:188
@ NDDS_TRANSPORT_INTERFACE_OFF
The transport interface is OFF.
Definition: transport_common.h:192
@ NDDS_TRANSPORT_INTERFACE_ON
The transport interface is ON.
Definition: transport_common.h:196
Addresses are stored individually as network-ordered bytes.
Definition: transport_common_user.h:384
Storage for the description of a network interface used by a Transport Plugin.
Definition: transport_common.h:204
RTI_UINT16 rank
Rank of the interface. Used when allow_interfaces_list Qos is set. A rank value will be assigned to e...
Definition: transport_common.h:227
NDDS_Transport_Address_t address
An unicast address that uniquely identifies this interface in the network specified by the transport ...
Definition: transport_common.h:214
NDDS_Transport_ClassId_t transport_classid
The transport classid of the interface.
Definition: transport_common.h:208
NDDS_Transport_Interface_Status_t status
The state of the interface.
Definition: transport_common.h:219
Unequivocally identifies a transport plugin instance.
Definition: transport_common.h:136