EnergySpectrumMeasureService/3rdlib/DeviceManage/include/UAVrtp.h
2026-04-06 22:03:00 +08:00

449 lines
14 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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