00001 /***************************************************************** 00002 * 00003 * file: cdx_tcp_transport.h 00004 * desc: This file provides the CoreDX DDS TCP Transport API. 00005 * 00006 ***************************************************************** 00007 * 00008 * Copyright(C) 2006-2013 Twin Oaks Computing, Inc 00009 * All rights reserved. Castle Rock, CO 80108 00010 * 00011 ***************************************************************** 00012 * This software has been provided pursuant to a License Agreement 00013 * containing restrictions on its use. This software contains 00014 * valuable trade secrets and proprietary information of 00015 * Twin Oaks Computing, Inc and is protected by law. It may not be 00016 * copied or distributed in any form or medium, disclosed to third 00017 * parties, reverse engineered or used in any manner not provided 00018 * for in said License Agreement except with the prior written 00019 * authorization from Twin Oaks Computing, Inc. 00020 *****************************************************************/ 00021 #ifndef _COREDX_TCP_TRANSPORT_H 00022 #define _COREDX_TCP_TRANSPORT_H 00023 00024 #include <dds/coredx_transport.h> 00025 #include <dds/dds_seq.h> 00026 00027 #ifdef __cplusplus 00028 extern "C" { 00029 #endif 00030 00031 # if defined(__linux__) 00032 # define COREDX_HAS_TCP_TRANSPORT 1 00033 # endif 00034 00054 typedef struct CoreDX_TcpTransportConfig { 00055 short participant_index; 00058 CoreDX_IpTransportInterfaceSeq interfaces; 00059 unsigned char dynamic_interfaces; 00060 int tx_max_packet_size; 00062 unsigned int debug_flags; 00063 } CoreDX_TcpTransportConfig; 00064 00065 # define COREDX_TCP_TRANSPORT_CONFIG_DEFAULT NULL 00066 00073 COREDX_C_ADD_API DDS_ReturnCode_t CoreDX_TcpTransport_get_default_config( CoreDX_TcpTransportConfig * config ); 00081 COREDX_C_ADD_API DDS_ReturnCode_t CoreDX_TcpTransport_get_env_config ( CoreDX_TcpTransportConfig * config ); 00085 COREDX_C_ADD_API DDS_ReturnCode_t CoreDX_TcpTransport_clear_config ( CoreDX_TcpTransportConfig * config ); 00093 COREDX_C_ADD_API CoreDX_Transport * CoreDX_TcpTransport_create_transport ( CoreDX_TcpTransportConfig * config ); 00094 00095 00096 #ifdef __cplusplus 00097 }; 00098 #endif 00099 00100 #endif