449 lines
14 KiB
C
449 lines
14 KiB
C
#ifndef _UAV_RTP_H_
|
||
#define _UAV_RTP_H_
|
||
|
||
#include <Windows.h>
|
||
|
||
#ifdef UAV_EXPORTS
|
||
#define UAV_EXPORTS_DLL(type) extern "C" _declspec(dllexport) type _stdcall
|
||
#else
|
||
#define UAV_EXPORTS_DLL(type) extern "C" _declspec(dllimport) type _stdcall
|
||
#endif
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
#ifdef UAV_EXPORTS
|
||
#define MSSCOMMUNICATION_API(t) _declspec(dllexport) t __stdcall
|
||
#else
|
||
#define MSSCOMMUNICATION_API(t) _declspec(dllimport) t __stdcall
|
||
#endif
|
||
|
||
#define MSS_MAX_DEVICE_NUM 64
|
||
|
||
#pragma pack(push,1)
|
||
|
||
typedef struct sDeviceList
|
||
{
|
||
int totalNum;
|
||
int *pHandle[MSS_MAX_DEVICE_NUM];
|
||
}sDeviceList;
|
||
|
||
typedef struct sServerInfo
|
||
{
|
||
unsigned char comType;
|
||
unsigned short port;
|
||
unsigned char serverIP[4];
|
||
unsigned char reserve[28];
|
||
}sServerInfo;
|
||
|
||
typedef struct sFindDeviceConfig
|
||
{
|
||
BOOL ETHEnable;
|
||
char macaddr[128];
|
||
char dhcpcfgfile[256];
|
||
int useDHCP;
|
||
BOOL COMEnable;
|
||
BOOL USB20Enable;
|
||
BOOL USB30Enable;
|
||
}sFindDeviceConfig;
|
||
|
||
typedef enum _eDataTransferType
|
||
{
|
||
eDTT_Unkown,
|
||
eDTT_TCP,
|
||
eDTT_UDP,
|
||
eDTT_USB20,
|
||
eDTT_USB30,
|
||
eDTT_COM,
|
||
}eDataTransferType;
|
||
#pragma pack(pop)
|
||
|
||
/*****************************************************************
|
||
** 函 数 名: PMSSPROTCOLCMDCALLBACK
|
||
** 功能描述: 通知用户回调
|
||
** 输 入:
|
||
pBuf 包含命令的内存
|
||
iLlen 命令长度
|
||
lpBuf 查询命令的附加内存
|
||
ilpLen 查询命令的长度
|
||
iCode 错误码
|
||
msg 错误信息
|
||
** 返 回 值: 0 成功
|
||
|
||
** 作 者: yl
|
||
** 创建日期: 2015-7-11
|
||
** 版 本:v1.0.0.0
|
||
** 修改作者:
|
||
** 修改日期:
|
||
** 修改描述:
|
||
****************************************************************/
|
||
typedef void(__stdcall *PMSSPROTCOLCMDCALLBACK)(void* pHandle,void *pBuf, int iLen, void *lpBuf, int ilpLen, int iCode, const char *msg);
|
||
|
||
/*****************************************************************
|
||
** 函 数 名: Mss_SetCmdCallBack(void *pbuf,int len)
|
||
** 功能描述: 设置命令发送回调函数
|
||
** 输 入:
|
||
pMssCmdCallBack 回调函数指针
|
||
** 返 回 值:
|
||
0 成功
|
||
----------格式检查返回错误代码----------------------
|
||
-1 传入数据长度错误
|
||
-2 传入不支持的命令格式
|
||
-3 传入不支持的命令值
|
||
-4 支持的命令值,但是不支持该命令类型
|
||
-5 数据长度过长
|
||
-6 数据长度过短
|
||
-7 未初始化成功
|
||
-20 其他未知错误
|
||
----------发送数据过程返回错误代码----------------------
|
||
500 命令已经在发送队列中
|
||
501
|
||
502
|
||
503 设备没有连接
|
||
504 发送数据成功
|
||
505 发送数据失败
|
||
506 发送成功但是没有收到回复
|
||
507 发送命令超时
|
||
508 接收到数据
|
||
----------硬件设备返回错误代码----------------------
|
||
1 发送命令错误
|
||
10 不支持的命令类型
|
||
11 crc校验失败
|
||
12 命令参数不在范围内
|
||
13 发送数据到底层设备失败
|
||
14 写flash失败
|
||
15 不支持的值
|
||
16 从设备读取数据失败
|
||
** 作 者: yl
|
||
** 创建日期: 2015-7-9
|
||
** 版 本:v1.0.0.0
|
||
** 修改作者:
|
||
** 修改日期:
|
||
** 修改描述:
|
||
****************************************************************/
|
||
MSSCOMMUNICATION_API(int) Mss_SetCmdCallBack(void *pProtocol,void *pHandle ,PMSSPROTCOLCMDCALLBACK pMssCmdCallBack);
|
||
/*****************************************************************
|
||
** 函 数 名: Mss_SetLuaCmdCallBack(void *pbuf,int len)
|
||
** 功能描述: 设置命令发送回调函数
|
||
** 输 入:
|
||
pMssCmdCallBack 回调函数指针
|
||
** 返 回 值:
|
||
0 成功
|
||
----------格式检查返回错误代码----------------------
|
||
-1 传入数据长度错误
|
||
-2 传入不支持的命令格式
|
||
-3 传入不支持的命令值
|
||
-4 支持的命令值,但是不支持该命令类型
|
||
-5 数据长度过长
|
||
-6 数据长度过短
|
||
-7 未初始化成功
|
||
-20 其他未知错误
|
||
----------发送数据过程返回错误代码----------------------
|
||
500 命令已经在发送队列中
|
||
501
|
||
502
|
||
503 设备没有连接
|
||
504 发送数据成功
|
||
505 发送数据失败
|
||
506 发送成功但是没有收到回复
|
||
507 发送命令超时
|
||
508 接收到数据
|
||
----------硬件设备返回错误代码----------------------
|
||
1 发送命令错误
|
||
10 不支持的命令类型
|
||
11 crc校验失败
|
||
12 命令参数不在范围内
|
||
13 发送数据到底层设备失败
|
||
14 写flash失败
|
||
15 不支持的值
|
||
16 从设备读取数据失败
|
||
** 作 者: yl
|
||
** 创建日期: 2018-6-4
|
||
** 版 本:v1.0.0.0
|
||
** 修改作者:
|
||
** 修改日期:
|
||
** 修改描述:
|
||
****************************************************************/
|
||
MSSCOMMUNICATION_API(int) Mss_SetLuaCmdCallBack(void *pProtocol, PMSSPROTCOLCMDCALLBACK pMssCmdCallBack);
|
||
/*****************************************************************
|
||
** 函 数 名: Mss_Destory
|
||
** 功能描述: 释放资源函数
|
||
** 输 入:
|
||
|
||
** 返 回 值:
|
||
0 成功
|
||
----------格式检查返回错误代码----------------------
|
||
-1 传入数据长度错误
|
||
-2 传入不支持的命令格式
|
||
-3 传入不支持的命令值
|
||
-4 支持的命令值,但是不支持该命令类型
|
||
-5 数据长度过长
|
||
-6 数据长度过短
|
||
-7 未初始化成功
|
||
-20 其他未知错误
|
||
----------发送数据过程返回错误代码----------------------
|
||
500 命令已经在发送队列中
|
||
501
|
||
502
|
||
503 设备没有连接
|
||
504 发送数据成功
|
||
505 发送数据失败
|
||
506 发送成功但是没有收到回复
|
||
507 发送命令超时
|
||
508 接收到数据
|
||
----------硬件设备返回错误代码----------------------
|
||
1 发送命令错误
|
||
10 不支持的命令类型
|
||
11 crc校验失败
|
||
12 命令参数不在范围内
|
||
13 发送数据到底层设备失败
|
||
14 写flash失败
|
||
15 不支持的值
|
||
16 从设备读取数据失败
|
||
** 作 者: yl
|
||
** 创建日期: 2015-7-9
|
||
** 版 本:v1.0.0.0
|
||
** 修改作者:
|
||
** 修改日期:
|
||
** 修改描述:
|
||
****************************************************************/
|
||
MSSCOMMUNICATION_API(int) Mss_Destory();
|
||
/*****************************************************************
|
||
** 函 数 名: Mss_Init
|
||
** 功能描述: 初始化函数
|
||
** 输 入:
|
||
|
||
** 返 回 值:
|
||
0 成功
|
||
----------格式检查返回错误代码----------------------
|
||
-1 传入数据长度错误
|
||
-2 传入不支持的命令格式
|
||
-3 传入不支持的命令值
|
||
-4 支持的命令值,但是不支持该命令类型
|
||
-5 数据长度过长
|
||
-6 数据长度过短
|
||
-7 未初始化成功
|
||
-20 其他未知错误
|
||
----------发送数据过程返回错误代码----------------------
|
||
500 命令已经在发送队列中
|
||
501
|
||
502
|
||
503 设备没有连接
|
||
504 发送数据成功
|
||
505 发送数据失败
|
||
506 发送成功但是没有收到回复
|
||
507 发送命令超时
|
||
508 接收到数据
|
||
----------硬件设备返回错误代码----------------------
|
||
1 发送命令错误
|
||
10 不支持的命令类型
|
||
11 crc校验失败
|
||
12 命令参数不在范围内
|
||
13 发送数据到底层设备失败
|
||
14 写flash失败
|
||
15 不支持的值
|
||
16 从设备读取数据失败
|
||
** 作 者: yl
|
||
** 创建日期: 2015-7-9
|
||
** 版 本:v1.0.0.0
|
||
** 修改作者:
|
||
** 修改日期:
|
||
** 修改描述:
|
||
****************************************************************/
|
||
MSSCOMMUNICATION_API(int) Mss_Init();
|
||
/*****************************************************************
|
||
** 函 数 名: Mss_FindDevice
|
||
** 功能描述: 查找设备函数,应该调用更上层的finddevice()函数代替该函数
|
||
** 输 入:
|
||
pMssCmdCallBack 回调函数指针
|
||
** 返 回 值:
|
||
0 成功
|
||
----------格式检查返回错误代码----------------------
|
||
-1 传入数据长度错误
|
||
-2 传入不支持的命令格式
|
||
-3 传入不支持的命令值
|
||
-4 支持的命令值,但是不支持该命令类型
|
||
-5 数据长度过长
|
||
-6 数据长度过短
|
||
-7 未初始化成功
|
||
-20 其他未知错误
|
||
----------发送数据过程返回错误代码----------------------
|
||
500 命令已经在发送队列中
|
||
501
|
||
502
|
||
503 设备没有连接
|
||
504 发送数据成功
|
||
505 发送数据失败
|
||
506 发送成功但是没有收到回复
|
||
507 发送命令超时
|
||
508 接收到数据
|
||
----------硬件设备返回错误代码----------------------
|
||
1 发送命令错误
|
||
10 不支持的命令类型
|
||
11 crc校验失败
|
||
12 命令参数不在范围内
|
||
13 发送数据到底层设备失败
|
||
14 写flash失败
|
||
15 不支持的值
|
||
16 从设备读取数据失败
|
||
** 作 者: yl
|
||
** 创建日期: 2015-7-9
|
||
** 版 本:v1.0.0.0
|
||
** 修改作者:
|
||
** 修改日期:
|
||
** 修改描述:
|
||
****************************************************************/
|
||
MSSCOMMUNICATION_API(int) Mss_FindDevice(sFindDeviceConfig *pfdc,sServerInfo *pServerInfo, int len, sDeviceList* pDeviceList);
|
||
/*****************************************************************
|
||
** 函 数 名: FindDevice
|
||
** 功能描述: 查找设备函数
|
||
** 输 入:
|
||
inout 查找设备结构,最大查找64个设备
|
||
** 返 回 值:
|
||
0 成功
|
||
----------格式检查返回错误代码----------------------
|
||
-1 传入数据长度错误
|
||
-2 传入不支持的命令格式
|
||
-3 传入不支持的命令值
|
||
-4 支持的命令值,但是不支持该命令类型
|
||
-5 数据长度过长
|
||
-6 数据长度过短
|
||
-7 未初始化成功
|
||
-20 其他未知错误
|
||
----------发送数据过程返回错误代码----------------------
|
||
500 命令已经在发送队列中
|
||
501
|
||
502
|
||
503 设备没有连接
|
||
504 发送数据成功
|
||
505 发送数据失败
|
||
506 发送成功但是没有收到回复
|
||
507 发送命令超时
|
||
508 接收到数据
|
||
----------硬件设备返回错误代码----------------------
|
||
1 发送命令错误
|
||
10 不支持的命令类型
|
||
11 crc校验失败
|
||
12 命令参数不在范围内
|
||
13 发送数据到底层设备失败
|
||
14 写flash失败
|
||
15 不支持的值
|
||
16 从设备读取数据失败
|
||
** 作 者: yl
|
||
** 创建日期: 2015-7-9
|
||
** 版 本:v1.0.0.0
|
||
** 修改作者:
|
||
** 修改日期:
|
||
** 修改描述:
|
||
****************************************************************/
|
||
MSSCOMMUNICATION_API(int) FindDevice(sDeviceList *sl, sFindDeviceConfig *pfdc);
|
||
/*****************************************************************
|
||
** 函 数 名: Mss_SendOneCmd
|
||
** 功能描述: 发送命令(同步发送)
|
||
** 输 入:
|
||
in pProtocol finddevice返回的设备列表指针
|
||
in buf 命令缓冲区(去掉帧头帧尾和数据总长度) 包含: 命令类型 命令值 命令内容
|
||
in len 命令总长度
|
||
in pretbuf 返回数据缓冲区
|
||
inout iretlen 返回数据缓冲区长度,如果缓冲区足够长,该值返回接收到的数据长度,如果该值比接收数据缓冲区小,返回该长度数据
|
||
** 返 回 值:
|
||
0 成功
|
||
----------格式检查返回错误代码----------------------
|
||
-1 传入数据长度错误
|
||
-2 传入不支持的命令格式
|
||
-3 传入不支持的命令值
|
||
-4 支持的命令值,但是不支持该命令类型
|
||
-5 数据长度过长
|
||
-6 数据长度过短
|
||
-7 未初始化成功
|
||
-20 其他未知错误
|
||
----------发送数据过程返回错误代码----------------------
|
||
500 命令已经在发送队列中
|
||
501
|
||
502
|
||
503 设备没有连接
|
||
504 发送数据成功
|
||
505 发送数据失败
|
||
506 发送成功但是没有收到回复
|
||
507 发送命令超时
|
||
508 接收到数据
|
||
----------硬件设备返回错误代码----------------------
|
||
1 发送命令错误
|
||
10 不支持的命令类型
|
||
11 crc校验失败
|
||
12 命令参数不在范围内
|
||
13 发送数据到底层设备失败
|
||
14 写flash失败
|
||
15 不支持的值
|
||
16 从设备读取数据失败
|
||
** 作 者: yl
|
||
** 创建日期: 2015-7-9
|
||
** 版 本:v1.0.0.0
|
||
** 修改作者:
|
||
** 修改日期:
|
||
** 修改描述:
|
||
****************************************************************/
|
||
MSSCOMMUNICATION_API(int) Mss_SendOneCmd(void *pProtocol, void *buf, int len, void *pretbuf, int *iretlen, PMSSPROTCOLCMDCALLBACK pCmdCallBack);
|
||
/*****************************************************************
|
||
** 函 数 名: Mss_SendOneCmdAsyn
|
||
** 功能描述: 发送命令(异步发送)
|
||
** 输 入:
|
||
in pProtocol finddevice返回的设备列表指针
|
||
in buf 命令缓冲区(去掉帧头帧尾和数据总长度) 包含: 命令类型 命令值 命令内容
|
||
in len 命令总长度
|
||
in pretbuf 返回数据缓冲区
|
||
inout iretlen 返回数据缓冲区长度,如果缓冲区足够长,该值返回接收到的数据长度,如果该值比接收数据缓冲区小,返回该长度数据
|
||
** 返 回 值:
|
||
0 成功
|
||
----------格式检查返回错误代码----------------------
|
||
-1 传入数据长度错误
|
||
-2 传入不支持的命令格式
|
||
-3 传入不支持的命令值
|
||
-4 支持的命令值,但是不支持该命令类型
|
||
-5 数据长度过长
|
||
-6 数据长度过短
|
||
-7 未初始化成功
|
||
-20 其他未知错误
|
||
----------发送数据过程返回错误代码----------------------
|
||
500 命令已经在发送队列中
|
||
501
|
||
502
|
||
503 设备没有连接
|
||
504 发送数据成功
|
||
505 发送数据失败
|
||
506 发送成功但是没有收到回复
|
||
507 发送命令超时
|
||
508 接收到数据
|
||
----------硬件设备返回错误代码----------------------
|
||
1 发送命令错误
|
||
10 不支持的命令类型
|
||
11 crc校验失败
|
||
12 命令参数不在范围内
|
||
13 发送数据到底层设备失败
|
||
14 写flash失败
|
||
15 不支持的值
|
||
16 从设备读取数据失败
|
||
** 作 者: yl
|
||
** 创建日期: 2015-7-9
|
||
** 版 本:v1.0.0.0
|
||
** 修改作者:
|
||
** 修改日期:
|
||
** 修改描述:
|
||
****************************************************************/
|
||
MSSCOMMUNICATION_API(int) Mss_SendOneCmdAsyn(void *pProtocol, void *buf, int len);
|
||
MSSCOMMUNICATION_API(void) Mss_OnRecvLuaDataProcessFinish(void *pProtocal, void* pHandle, void *pBuf, int iLen, void *lpBuf, int ilpLen, int iCode, const char *msg);
|
||
|
||
MSSCOMMUNICATION_API(int) Mss_FreeDevice(void *pProtocol);
|
||
|
||
MSSCOMMUNICATION_API(eDataTransferType) Mss_GetTransferDataType(void *pProtocol);
|
||
|
||
// 创建通信
|
||
MSSCOMMUNICATION_API(void *) Mss_CreateProtocol(int type, char *config);
|
||
MSSCOMMUNICATION_API(void) Mss_DeleteProtocol(void *pProtocol);
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif
|