00001 /***************************************************************** 00002 * 00003 * file: coredx_lmt_transport.h 00004 * desc: This file provides the CoreDX DDS Transport API. 00005 * This API provides mechanisms for users to extend 00006 * CoreDX DDS with custom transport implementations. 00007 * 00008 ***************************************************************** 00009 * 00010 * Copyright(C) 2006-2013 Twin Oaks Computing, Inc 00011 * All rights reserved. Castle Rock, CO 80108 00012 * 00013 ***************************************************************** 00014 * 00015 * This software has been provided pursuant to a License Agreement 00016 * containing restrictions on its use. This software contains 00017 * valuable trade secrets and proprietary information of 00018 * Twin Oaks Computing, Inc and is protected by law. It may not be 00019 * copied or distributed in any form or medium, disclosed to third 00020 * parties, reverse engineered or used in any manner not provided 00021 * for in said License Agreement except with the prior written 00022 * authorization from Twin Oaks Computing, Inc. 00023 * 00024 *****************************************************************/ 00025 #ifndef _COREDX_LMT_TRANSPORT_H 00026 #define _COREDX_LMT_TRANSPORT_H 00027 00028 #include <dds/coredx_transport.h> 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 # if defined(__linux__) 00035 # define COREDX_HAS_LMT_TRANSPORT 1 00036 # endif 00037 00056 typedef struct CoreDX_LmtTransportConfig { 00057 int so_sndbuf; 00058 int so_rcvbuf; 00059 unsigned int max_tx_size; 00060 unsigned int max_rx_buf_size; 00061 unsigned int debug_flags; 00062 } CoreDX_LmtTransportConfig; 00063 00064 # define COREDX_LMT_TRANSPORT_CONFIG_DEFAULT NULL 00065 00070 COREDX_C_ADD_API DDS_ReturnCode_t CoreDX_LmtTransport_get_default_config( CoreDX_LmtTransportConfig * config ); 00077 COREDX_C_ADD_API DDS_ReturnCode_t CoreDX_LmtTransport_get_env_config ( CoreDX_LmtTransportConfig * config ); 00081 COREDX_C_ADD_API DDS_ReturnCode_t CoreDX_LmtTransport_clear_config ( CoreDX_LmtTransportConfig * config ); 00089 COREDX_C_ADD_API CoreDX_Transport * CoreDX_LmtTransport_create_transport ( CoreDX_LmtTransportConfig * config ); 00090 00091 #ifdef __cplusplus 00092 }; 00093 #endif 00094 00095 #endif 00096