RTI Connext DDS Micro C API  Version 4.1.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
UDP Transport API

Data Structures

struct  UDP_NatEntry
 <<eXtension>> Properties for a Network Address Translation entry More...
struct  UDP_NatEntrySeq
 <<eXtension>> Declares IDL sequence<UDP_NatEntry> More...
struct  UDP_InterfaceTableEntry
 Generic structure to describe a network interface. More...
struct  UDP_InterfaceTableEntrySeq
 <<eXtension>> Declares IDL sequence<UDP_InterfaceTableEntry> More...
struct  UDP_TransformRuleSeq
 <<eXtension>> Declares IDL sequence<UDP_TransformRule> More...
struct  UDP_InterfaceFactoryProperty
 <<eXtension>> <<cert>> Properties for the UDP Transport. More...
class  UDPInterfaceFactory
 <<eXtension>> <<cert>> A UDP transport factory that will be used by a DomainParticipant to create a UDP interface. Only one UDP interface can be registered with the DomainParticipantFactory. More...
class  UDPInterfaceTable

Macros

#define UDP_NatEntry_INITIALIZER
 Initializer for a the NatEntry structure.
#define UDP_NatEntrySeq_INITIALIZER   REDA_DEFINE_SEQUENCE_INITIALIZER(struct UDP_NatEntry)
 UDP_NatEntrySeq initializer.
#define UDP_INTERFACE_MAX_IFNAME   64
 Maximum length of a UDP network interface.
#define UDP_INTERFACE_INTERFACE_UP_FLAG   0x1U
 Generic flag to indicate if a network stack is up.
#define UDP_INTERFACE_INTERFACE_MULTICAST_FLAG   0x2U
 Generic flag to indicate if a network stack supports multicast.
#define UDP_INTERFACE_MAX_NETMASK_BITS   (32U)
 The maximum number of bits in a UDP netmask.
#define UDP_THREAD_PROPERTY_DEFAULT
 Initializer for thread properties.

Enumerations

enum  UDP_TransformUdpMode_T { UDP_TRANSFORM_UDP_MODE_DISABLED, UDP_TRANSFORM_UDP_MODE_ENABLED }
 Operation mode when UDP transformations are enabled. More...

Functions

RTI_BOOL UDP_InterfaceTable_add_entry (struct UDP_InterfaceTableEntrySeq *seq, RTI_UINT32 address, RTI_UINT32 netmask, const char *ifname, RTI_UINT32 flags)
 Add an entry to the list of available interfaces.
RTI_BOOL UDP_InterfaceFactoryProperty_initialize (struct UDP_InterfaceFactoryProperty *self)
 Initialize a UDP factory property.
RTI_BOOL UDP_InterfaceFactoryProperty_finalize (struct UDP_InterfaceFactoryProperty *self)
 Finalize a UDP factory property.
RTI_BOOL UDP_TransformRules_assert_source_rule (struct UDP_TransformRuleSeq *src_rules, RTI_UINT32 ipv4_address, RTI_UINT32 ipv4_netmask, const char *transform_name, void *user_data)
 Add a source address rule for incoming payloads.
RTI_BOOL UDP_TransformRules_assert_destination_rule (struct UDP_TransformRuleSeq *dst_rules, RTI_UINT32 ipv4_address, RTI_UINT32 ipv4_netmask, const char *transform_name, void *user_data)
 Add a destination address rule for outgoing payloads.
struct RT_ComponentFactoryI * UDP_InterfaceFactory_get_interface (void)
 Gets the singleton instance of the UDP interface factory.
RTI_BOOL UDP_Interface_register (RT_Registry_T *registry, const char *name, struct UDP_InterfaceFactoryProperty *property)
 Gets the singleton instance of the UDP interface factory.
static struct
RT_ComponentFactoryI * 
UDPInterfaceFactory::get_interface ()
 Gets the singleton instance of the UDP interface factory.
static bool UDPInterfaceTable::add_entry (struct UDP_InterfaceTableEntrySeq *seq, RTI_UINT32 address, RTI_UINT32 netmask, const char *ifname, RTI_UINT32 flags)
 Add an entry to the list of available interfaces.

Variables

struct UDP_InterfaceFactoryProperty UDP_INTERFACE_FACTORY_PROPERTY_DEFAULT
 Constant to initialize UDP_InterfaceFactoryProperty.

Detailed Description

<<eXtension>> <<cert>> The UDP transport implements the RTI Connext DDS Micro NETIO interface and supports UDPv4. Please refer to the User Manual for information about how to use the UDP transport.


Macro Definition Documentation

#define UDP_NatEntry_INITIALIZER
Value:
{\
NETIO_Address_INITIALIZER,\
NETIO_Address_INITIALIZER\
}

Initializer for a the NatEntry structure.

#define UDP_NatEntrySeq_INITIALIZER   REDA_DEFINE_SEQUENCE_INITIALIZER(struct UDP_NatEntry)

UDP_NatEntrySeq initializer.

#define UDP_INTERFACE_MAX_IFNAME   64

Maximum length of a UDP network interface.

#define UDP_INTERFACE_INTERFACE_UP_FLAG   0x1U

Generic flag to indicate if a network stack is up.

#define UDP_INTERFACE_INTERFACE_MULTICAST_FLAG   0x2U

Generic flag to indicate if a network stack supports multicast.

#define UDP_INTERFACE_MAX_NETMASK_BITS   (32U)

The maximum number of bits in a UDP netmask.

#define UDP_THREAD_PROPERTY_DEFAULT
Value:
{ \
OSAPI_THREAD_USE_OSDEFAULT_STACKSIZE, \
OSAPI_THREAD_PRIORITY_DEFAULT, \
UDP_THREAD_DEFAULT_OPTIONS \
}

Initializer for thread properties.


Enumeration Type Documentation

Operation mode when UDP transformations are enabled.

Enumerator:
UDP_TRANSFORM_UDP_MODE_DISABLED 

Disable regular UDP, even when no transforms are enabled.

UDP_TRANSFORM_UDP_MODE_ENABLED 

Allow regular UDP, even when transformations are enabled.


Function Documentation

RTI_BOOL UDP_InterfaceTable_add_entry ( struct UDP_InterfaceTableEntrySeq seq,
RTI_UINT32  address,
RTI_UINT32  netmask,
const char *  ifname,
RTI_UINT32  flags 
)

Add an entry to the list of available interfaces.

This function can be used to add an interface to the if_table in the UDP_InterfaceFactoryProperty.

Parameters:
[in]seqThe sequence to add the entry to
[in]addressThe UDPv4 interface address to add in host order
[in]netmaskThe interface netmask, maximum of UDP_INTERFACE_MAX_NETMASK_BITS bits.
[in]ifnameThe interface name. Cannot exceed UDP_INTERFACE_MAX_IFNAME including NUL.
[in]flagsBitmap of UDP_INTERFACE_INTERFACE_UP_FLAG and/or UDP_INTERFACE_INTERFACE_MULTICAST_FLAG
Returns:
RTI_TRUE on success, RTI_FALSE on failure
RTI_BOOL UDP_InterfaceFactoryProperty_initialize ( struct UDP_InterfaceFactoryProperty self)

Initialize a UDP factory property.

Parameters:
[in]selfProperty to initialize
Returns:
RTI_TRUE on success, RTI_FALSE on failure
RTI_BOOL UDP_InterfaceFactoryProperty_finalize ( struct UDP_InterfaceFactoryProperty self)

Finalize a UDP factory property.

Parameters:
[in]selfProperty to finalize
Returns:
RTI_TRUE on success, RTI_FALSE on failure
RTI_BOOL UDP_TransformRules_assert_source_rule ( struct UDP_TransformRuleSeq src_rules,
RTI_UINT32  ipv4_address,
RTI_UINT32  ipv4_netmask,
const char *  transform_name,
void *  user_data 
)

Add a source address rule for incoming payloads.

This function can be used to add rules to the source_rules sequence in the UDP_InterfaceFactoryProperty.

Parameters:
[in]src_rulesThe sequence to add the rule to.
[in]ipv4_addressThe IPv4 address to compare the source of incoming packets to after applying the netmask.
[in]ipv4_netmaskThe IPv4 netmask to apply to the source address of a UDP payload before comparing with ipv4_address.
[in]transform_nameThe name of the transformation to apply to an incoming payload.
[in]user_datauser data associated with the rule.
Returns:
RTI_TRUE on success, RTI_FALSE on failure
RTI_BOOL UDP_TransformRules_assert_destination_rule ( struct UDP_TransformRuleSeq dst_rules,
RTI_UINT32  ipv4_address,
RTI_UINT32  ipv4_netmask,
const char *  transform_name,
void *  user_data 
)

Add a destination address rule for outgoing payloads.

This function can be used to add rules to the destination_rules in the UDP_InterfaceFactoryProperty.

Parameters:
[in]dst_rulesThe sequence to add the rule to.
[in]ipv4_addressThe IPv4 address to compare the destination of outgoing packets to after applying the netmask.
[in]ipv4_netmaskThe IPv4 netmask to apply to the destination address of a UDP payload before comparing with ipv4_address.
[in]transform_nameThe name of the transformation to apply to an outgoing payload.
[in]user_datauser data associated with the rule.
Returns:
RTI_TRUE on success, RTI_FALSE on failure
struct RT_ComponentFactoryI* UDP_InterfaceFactory_get_interface ( void  )
read

Gets the singleton instance of the UDP interface factory.

This function gets the singleton instance of the UDP factory that is used by the middleware to create a UDP transport instance. UDP_InterfaceFactoryProperty

Returns:
Pointer to UDP factory instance
RTI_BOOL UDP_Interface_register ( RT_Registry_T *  registry,
const char *  name,
struct UDP_InterfaceFactoryProperty property 
)

Gets the singleton instance of the UDP interface factory.

This function gets the singleton instance of the UDP factory that is used by the middleware to create a UDP transport instance. UDP_InterfaceFactoryProperty

Returns:
Pointer to UDP factory instance
static struct RT_ComponentFactoryI* UDPInterfaceFactory::get_interface ( )
staticread

Gets the singleton instance of the UDP interface factory.

This function gets the singleton instance of the UDP factory that is used by the middleware to create a UDP transport instance. UDP_InterfaceFactoryProperty

Returns:
Pointer to UDP factory instance()
static bool UDPInterfaceTable::add_entry ( struct UDP_InterfaceTableEntrySeq seq,
RTI_UINT32  address,
RTI_UINT32  netmask,
const char *  ifname,
RTI_UINT32  flags 
)
static

Add an entry to the list of available interfaces.

This function can be used to add an interface to the if_table in the UDP_InterfaceFactoryProperty.

Parameters:
[in]seqThe sequence to add the entry to
[in]addressThe UDPv4 interface address to add in host order
[in]netmaskThe interface netmask, maximum of UDP_INTERFACE_MAX_NETMASK_BITS bits.
[in]ifnameThe interface name. Cannot exceed UDP_INTERFACE_MAX_IFNAME including NUL.
[in]flagsBitmap of UDP_INTERFACE_INTERFACE_UP_FLAG and/or UDP_INTERFACE_INTERFACE_MULTICAST_FLAG
Returns:
RTI_TRUE on success, RTI_FALSE on failure

Variable Documentation

struct UDP_InterfaceFactoryProperty UDP_INTERFACE_FACTORY_PROPERTY_DEFAULT

Constant to initialize UDP_InterfaceFactoryProperty.


RTI Connext DDS Micro C API Version 4.1.0 Copyright © Sun Dec 8 2024 Real-Time Innovations, Inc