You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

134 lines
3.9 KiB

/************************************************************************
Copyright (c) 2005-2011 by Juphoon System Software, Inc.
All rights reserved.
This software is confidential and proprietary to Juphoon System,
Inc. No part of this software may be reproduced, stored, transmitted,
disclosed or used in any form or by any means other than as expressly
provided by the written license agreement between Juphoon and its
licensee.
THIS SOFTWARE IS PROVIDED BY JUPHOON "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL JUPHOON BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Juphoon System Software, Inc.
Email: support@juphoon.com
Web: http://www.juphoon.com
************************************************************************/
/*************************************************
File name : mtc_conn.h
Module : rich session enabler
Author : shuai.xu
Created on : 2020-06-05
Description :
Data structure and function declare required by mtc connection
Modify History:
1. Date: Author: Modification:
*************************************************/
#ifndef _MTC_CONN_H__
#define _MTC_CONN_H__
#include "mtc_def.h"
/**
* @file
* @brief MTC conn Interfaces
*
* This file includes session and connection interface function.
*/
#ifdef __cplusplus
extern "C" {
#endif
/* data receive */
typedef int (* PFN_DATARECV)(void* pUser, const unsigned char *pucData, unsigned int iLen);
/* connection ready */
typedef int (* PFN_CONNREADY)(void* pUser);
/* connection closed */
typedef int (* PFN_CONNCLOSE)(void* pUser);
/** @} */
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
EXPORT_FLAG {
#endif
/**
* @brief MTC Conn, establishing socket connection.
*
*
* @param [in] pUser User Data. will recevied in PFN_DATARECV.
* @param [in] pfnDataRecvCb Data recevied callback.
* @param [in] pfnConnReady Connection ready callback.
* @param [in] pfnConnClose Connection closed callback.
*
* @return The id of this new created session on succeed, otherwise return ZMAXUINT.
*
* @see @ref Mtc_ConnClose
*/
MTCFUNC unsigned int Mtc_ConnCreate(void* pUser, PFN_DATARECV pfnDataRecvCb, PFN_CONNREADY pfnConnReady, PFN_CONNCLOSE pfnConnClose);
/**
* @brief MTC Conn,connection connect to peer.
*
* @param [in] iConnId The connection Id.
* @param [in] pcType Socket Type. will be "tcp" or "udp";
* @param [in] pcPeerHost The peer host.
* @param [in] iPort The peer port.
*
* @retval 0 on succeed.
* @retval 1 on failure.
*
* @see @ref Mtc_ConnCreate
*/
MTCFUNC int Mtc_ConnConnect(unsigned int iConnId, const char* pcType, const char* pcPeerHost, unsigned int iPort);
/**
* @brief MTC Connection, data connection close.
*
* @param [in] iConnId The connection Id.
*
* @retval 0 on succeed.
* @retval 1 on failure.
*
* @see @ref Mtc_ConnCreate
*/
MTCFUNC int Mtc_ConnClose(unsigned int iConnId);
/**
* @brief MTC Connection, data connection send data.
*
* @param [in] iConnId The connection Id.
* @param [in] pData The data pointer.
* @param [in] iDataSize The data length.
*
* @retval 0 on succeed.
* @retval 1 on failure.
*
* @see @ref Mtc_ConnCreate
*/
MTCFUNC int Mtc_ConnSend(unsigned int iConnId, void *pData, unsigned int iDataSize);
#ifdef __cplusplus
}
#endif
#endif /* _MTC_CONN_H__ */