📄 epatype.h
字号:
#ifndef _EPATYPE_H
#define _EPATYPE_H
#define EPA_MSG_ID (++gMsg_Id)
#define EPA_MIB_APP_ID (0)
#define EPA_RESERVED_VALUE (0x20)
#define EPA_COM_TYPE (0x00)
#define OCTET_STRING_LEN (256)
#define VISUAL_STRING_LEN (32)
#define PROTOCOL_EPA (42)
#define PROTOCOL_EPA_FB (50)
#define EPA_SERVICEID_MASK (0x3F)
// 函数调用返回值
#define EPA_NO_ERR (0)
#define EPA_APPID_ILLEGAL (0xA0)
#define EPA_OBJID_ILLEGAL (0xA1)
#define EPA_SUBINDEX_ILLEGAL (0xA2)
#define EPA_LENGTH_ERROR (0xA3)
#define EPA_OBJ_UNWRITABLE (0xA4)
#define EPA_NO_LINK (0xA5)
// 通信类型定
#define EPA_ST_COM_TYPE (0x00)
#define EPA_FS_COM_TYPE (0x01)
#define EPA_NS_COM_TYPE (0x02)
// 服务号定义
#define NPMA_TAG (0x20)
#define ENPMA_TAG (0x21)
#define EMS_FINDTAGQUERY (1)
#define EMS_FINDTAGREPLY (2)
#define EMS_GETATTRIB (3)
#define EMS_GETATTRIB_POS (3 + 64)
#define EMS_GETATTRIB_NEG (3 + 128)
#define EMS_ANNUNCIATION (196)
#define EMS_SETATTRIB (5)
#define EMS_SETATTRIB_POS (5 + 64)
#define EMS_SETATTRIB_NEG (5 + 128)
#define EMS_CLEARATTRIB (6)
#define EMS_CLEARATTRIB_POS (6 + 64)
#define EMS_CLEARATTRIB_NEG (6 + 128)
#define EDS_DOMAINDOWNLOAD (10)
#define EDS_DOMAINDOWNLOAD_POS (10 + 64)
#define EDS_DOMAINDOWNLOAD_NEG (10 + 128)
#define EDS_DOMAINUPLOAD (11)
#define EDS_DOMAINUPLOAD_POS (11 + 64)
#define EDS_DOMAINUPLOAD_NEG (11 + 128)
#define EVS_READ (12)
#define EVS_READ_POS (12 + 64)
#define EVS_READ_NEG (12 + 128)
#define EVS_WRITE (13)
#define EVS_WRITE_POS (13 + 64)
#define EVS_WRITE_NEG (13 + 128)
#define EVS_DISTRIBUTE (206)
#define EES_EVENT_NOTI (15)
#define EES_ACK_NOTI (16)
#define EES_ACK_NOTI_POS (16 + 64)
#define EES_ACK_NOTI_NEG (16 + 128)
#define EES_ALTER_MONITOR (17)
#define EES_ALTER_MONITOR_POS (17 + 64)
#define EES_ALTER_MONITOR_NEG (17 + 128)
// 报文长度定义,不含头部
#define LEN_EPAHEADER (8)
#define LEN_ERR_DES (36)
#define LEN_FINDTAGQUERY (70)
#define LEN_FINDTAGREPLY (72)
#define LEN_GETATTRIB (4)
#define LEN_GETATTRIB_POS (82)
#define LEN_GETATTRIB_NEG (4 + LEN_ERR_DES)
#define LEN_ANNUNCIATION (80)
#define LEN_SETATTRIB (80)
#define LEN_SETATTRIB_POS (5)
#define LEN_SETATTRIB_NEG (4 + LEN_ERR_DES)
#define LEN_CLEARATTRIB (68)
#define LEN_CLEARATTRIB_POS (4)
#define LEN_CLEARATTRIB_NEG (4 + LEN_ERR_DES)
#define LEN_DOMAINDOWNLOAD(N) (12 + N)
#define LEN_DOMAINDOWNLOAD_POS (2)
#define LEN_DOMAINDOWNLOAD_NEG (4 + LEN_ERR_DES)
#define LEN_DOMAINUPLOAD (8)
#define LEN_DOMAINUPLOAD_POS(N) (8 + N)
#define LEN_DOMAINUPLOAD_NEG (4 + LEN_ERR_DES)
#define LEN_READ (8)
#define LEN_READ_POS(N) (4 + N)
#define LEN_READ_NEG (4 + LEN_ERR_DES)
#define LEN_WRITE(N) (8 + N)
#define LEN_WRITE_POS (2)
#define LEN_WRITE_NEG (4 + LEN_ERR_DES)
#define LEN_DISTRIBUTE(N) (4 + N)
#define LEN_EVENT_NOTI(N) (8 + N)
#define LEN_ACK_NOTI (6)
#define LEN_ACK_NOTI_POS (2)
#define LEN_ACK_NOTI_NEG (4 + LEN_ERR_DES)
#define LEN_ALTER_MONITOR (8)
#define LEN_ALTER_MONITOR_POS (2)
#define LEN_ALTER_MONITOR_NEG (4 + LEN_ERR_DES)
// 状态定义
// Device State Defined
#define STATE_DEV_NOADDRESS (0x00)
#define STATE_DEV_UNCONFIGURED (0x01)
#define STATE_DEV_CONFIGURED (0x02)
#define STATE_DEV_UNINITIALIZED (0xFF)
// Device Redundancy State
#define STATE_DEVRDN_ACTIVE (0)
#define STATE_DEVRDN_UNACTIVE (1)
// Domain State
#define STATE_DOMAIN_EXISTENT (0)
#define STATE_DOMAIN_DOWNLOADING (1)
#define STATE_DOMAIN_UPLOADING (2)
#define STATE_DOMAIN_READY (3)
#define STATE_DOMAIN_INUSE (4)
typedef unsigned char OctetString[OCTET_STRING_LEN];
typedef unsigned char VisualString[VISUAL_STRING_LEN];
typedef unsigned long TimeDiff;
typedef struct {
uint16 year;
uint8 month;
uint8 date;
uint8 hour;
uint8 minute;
uint16 millisec;
} BinaryDate, *PBinaryDate;
typedef struct {
uint16 date;
uint32 millisec;
} TIMEDIFF, *PTIMEDIFF;
typedef struct {
uint32 src_ip;
uint16 src_port;
uint8 srv_id;
uint8 com_type;
uint16 length;
uint16 src_app;
uint16 dst_app;
uint16 dst_obj;
uint16 sub_idx;
uint16 msg_id;
uint16 ex_para[2];
OctetString data;
} EPAMsg, *PEPAMsg;
#endif // _EPATYPE_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -