⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 epa_socmapent.h

📁 AVR单片机基础上的以太网协议编程
💻 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 + -