CoreDX Data Distribution Service
The High Performance, Small Footprint DDS from Twin Oaks Computing, Inc
coredx_udp_transport.h
Go to the documentation of this file.
1 /*****************************************************************
2  *
3  * file: cdx_udp_transport.h
4  * desc: This file provides the CoreDX DDS UDP Transport API.
5  *
6  *****************************************************************
7  *
8  * Copyright(C) 2006-2020 Twin Oaks Computing, Inc
9  * All rights reserved. Castle Rock, CO 80108
10  *
11  *****************************************************************
12  * This software has been provided pursuant to a License Agreement
13  * containing restrictions on its use. This software contains
14  * valuable trade secrets and proprietary information of
15  * Twin Oaks Computing, Inc and is protected by law. It may not be
16  * copied or distributed in any form or medium, disclosed to third
17  * parties, reverse engineered or used in any manner not provided
18  * for in said License Agreement except with the prior written
19  * authorization from Twin Oaks Computing, Inc.
20  *****************************************************************/
21 #ifndef _COREDX_UDP_TRANSPORT_H
22 #define _COREDX_UDP_TRANSPORT_H
23 
24 #include <dds/coredx_transport.h>
25 #include <dds/dds_seq.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
51  typedef struct CoreDX_UdpTransportConfig {
55  unsigned char use_ipv4;
56  unsigned char use_ipv6;
58  CoreDX_IpTransportInterfaceSeq interfaces;
59  DDS_StringSeq interface_names;
63  unsigned char dynamic_interfaces;
69  int so_rcvbuf;
70  int so_sndbuf;
72  unsigned char meta_multicast_address_v4[4];
73  unsigned char user_multicast_address_v4[4];
74  unsigned char meta_multicast_address_v6[16];
75  unsigned char user_multicast_address_v6[16];
77  unsigned char multicast_ttl;
78  unsigned char tx_meta_multicast;
79  unsigned char tx_meta_unicast;
80  unsigned char rx_meta_multicast;
81  unsigned char rx_user_multicast;
82  unsigned char advertise_meta_multicast;
83  unsigned char advertise_user_multicast;
84  unsigned char try_to_keep_mcast_local;
88  /* BROADCAST */
89  unsigned char broadcast_address[4];
90  unsigned char do_meta_broadcast;
93  unsigned int debug_flags;
95 
96 #define COREDX_UDP_TRANSPORT_CONFIG_DEFAULT NULL
97 
102  COREDX_C_API DDS_ReturnCode_t CoreDX_UdpTransport_get_default_config( CoreDX_UdpTransportConfig * config );
109  COREDX_C_API DDS_ReturnCode_t CoreDX_UdpTransport_get_env_config ( CoreDX_UdpTransportConfig * config );
113  COREDX_C_API DDS_ReturnCode_t CoreDX_UdpTransport_clear_config ( CoreDX_UdpTransportConfig * config );
114 
122  COREDX_C_API CoreDX_Transport * CoreDX_UdpTransport_create_transport ( CoreDX_UdpTransportConfig * config );
123 
124 #ifdef __cplusplus
125 }
126 #endif
127 
128 #endif
unsigned char multicast_ttl
Definition: coredx_udp_transport.h:77
DDS_StringSeq interface_names
Definition: coredx_udp_transport.h:59
unsigned char meta_multicast_address_v6[16]
Definition: coredx_udp_transport.h:74
unsigned char tx_meta_multicast
Definition: coredx_udp_transport.h:78
unsigned char advertise_meta_multicast
Definition: coredx_udp_transport.h:82
unsigned char rx_meta_multicast
Definition: coredx_udp_transport.h:80
unsigned char use_ipv4
Definition: coredx_udp_transport.h:55
int so_sndbuf
Definition: coredx_udp_transport.h:70
unsigned char meta_multicast_address_v4[4]
Definition: coredx_udp_transport.h:72
int DDS_ReturnCode_t
Definition: dds_types.h:56
int rx_init_buffer_size
Definition: coredx_udp_transport.h:65
unsigned char try_to_keep_mcast_local
Definition: coredx_udp_transport.h:84
unsigned char tx_meta_unicast
Definition: coredx_udp_transport.h:79
Structure that holds UDP Transport configuration items.
Definition: coredx_udp_transport.h:51
unsigned char dynamic_interfaces
Definition: coredx_udp_transport.h:63
int rx_max_buffer_size
Definition: coredx_udp_transport.h:66
short participant_index
Definition: coredx_udp_transport.h:52
unsigned char user_multicast_address_v4[4]
Definition: coredx_udp_transport.h:73
unsigned int debug_flags
Definition: coredx_udp_transport.h:93
unsigned char advertise_user_multicast
Definition: coredx_udp_transport.h:83
unsigned char use_ipv6
Definition: coredx_udp_transport.h:56
unsigned char do_meta_broadcast
Definition: coredx_udp_transport.h:90
unsigned char rx_user_multicast
Definition: coredx_udp_transport.h:81
int so_rcvbuf
Definition: coredx_udp_transport.h:69
int tx_max_packet_size
Definition: coredx_udp_transport.h:67
unsigned char broadcast_address[4]
Definition: coredx_udp_transport.h:89
unsigned char user_multicast_address_v6[16]
Definition: coredx_udp_transport.h:75
CoreDX_IpTransportInterfaceSeq interfaces
Definition: coredx_udp_transport.h:58

© 2009-2020 Twin Oaks Computing, Inc
Castle Rock, CO 80104
All rights reserved.