📄 epa_socmapent.h
字号:
/**************************************************************************
**
** 文件: EPA_SocMapEnt.h
** 描述: 该文件完成套接字映射实体的报文结构定义
**
**************************************************************************/
#ifndef EPA_SocMapEnt_h
#define EPA_SocMapEnt_h
//include user defined file
#include "Define.h"
//定义消息类型
#define Message_REQ (0<<6) //请求消息
#define Message_REP (1<<6) //响应消息
#define Message_ERR (2<<6) //错误消息
//定义服务标识
#define EM_FindTagQuery_ID 1 //无证实,优先级2
#define EM_FindTagReply_ID 2 //无证实,优先级2
#define EM_GetDeviceAttribute_ID 3 //证实,优先级2
#define EM_DeviceAnnunciation_ID 4 //无证实,优先级2
#define EM_SetDeviceAttribute_ID 5 //证实,优先级2
#define EM_ClearDeviceAttribute_ID 6 //证实,优先级2
#define DomainDownload_ID 10 //证实,优先级2
#define DomainUpload_ID 11 //证实,优先级2
#define Read_ID 12 //证实,优先级2
#define Write_ID 13 //证实,优先级2
#define Distribute_ID 14 //无证实,优先级0
#define EventNotification_ID 15 //无证实,优先级1
#define AcknowledgeEventNotification_ID 16 //证实,优先级1
#define AlterEventCondition_ID 17 //证实,优先级1
//定义组态信息标识
#define Configuration_ID 18
//应用层服务报文头
struct Service_Header
{
uchar ServiceID; //服务标识
uchar Reserved[3];
uint Length; //整个消息的长度,含应用服务头的长度
uint MessageID; //报文标识
};
struct Socket_Mapping //套接字映射对象
{
uchar Local_IP_Address[4];
uchar Remote_IP_Address[4];
uint Active_UDP_Port; //报文发送使用的UDP端口号
uchar Active_ServiceID; //服务标识ID
uint Active_Message_Length; //当前待发送的报文长度
uint Active_MessageID; //即服务报文头中的MessageID
TimeDifference Active_Message_Time;//当前报文最长的响应时间,如果不需要响应则设置为0,以微秒为单位
ulong Active_Data_Pointer; //当前报文头指针
uint Message_Length; /*//允许的最大报文长度,若报文超过该长度,则拒绝发送,并返回错误标志*/
uint Max_Retrasmit_Number; //最大允许重传次数
};
struct Socket_Timer //套接字映射定时器对象
{
uint TimerID; //定时器标识符
uchar Active_ServiceID; //服务标识ID
uint Active_MessageID; // 即服务报文头中的MessageID
TimeDifference Active_Message_Time;
};
#endif
/******************* End Of File **********************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -