📄 event.c
字号:
#include "tcpip.h"
#define EVENT_GLOBALS
#include "epa.h"
#undef EVENT_GLOBALS
#include <string.h>
void Event_Noti_Output(uint16 dst_app, uint16 src_app, uint16 src_obj, uint16 event_num, OctetString data, uint16 len, uint32 dst_ip) {
PSock psock;
psock = GetSock(PROTOCOL_EPA_FB, LEN_EVENT_NOTI(len), EPA_PORT, dst_ip, NISelect(dst_ip));
h2n16(dst_app, psock->payload);
h2n16(src_app, psock->payload + 2);
h2n16(src_obj, psock->payload + 4);
h2n16(event_num, psock->payload + 6);
memcpy(psock->payload + 8, data, len);
EPAOutput(psock, EES_EVENT_NOTI, EPA_COM_TYPE, EPA_MSG_ID);
}
void Event_Noti_Input(PSock psock, uint8 com_type, uint16 msg_id) {
uint16 src_app, src_obj, event_num;
uint32 src_ip;
src_ip = psock->src_ip;
n2h16(psock->payload + 2,&src_app);
n2h16(psock->payload + 4,&src_obj);
n2h16(psock->payload + 6,&event_num);
PutSock(psock);
// Ack_Noti_Output(src_app, src_obj, event_num, src_ip);
}
void Ack_Noti_Output(uint16 dst_app, uint16 dst_obj, uint16 event_num, uint32 dst_ip) {
PSock psock;
psock = GetSock(PROTOCOL_EPA_FB, LEN_ACK_NOTI, EPA_PORT, dst_ip, NISelect(dst_ip));
h2n16(dst_app, psock->payload);
h2n16(dst_obj, psock->payload + 2);
h2n16(event_num, psock->payload + 4);
EPAOutput(psock, EES_ACK_NOTI, EPA_COM_TYPE, EPA_MSG_ID);
}
void Ack_Noti_Pos_Output(uint16 dst_app, uint16 msg_id, uint16 dst_port, uint32 dst_ip) {
PSock psock;
psock = GetSock(PROTOCOL_EPA_FB, LEN_ACK_NOTI_POS, EPA_PORT, dst_ip, NISelect(dst_ip));
h2n16(dst_app, psock->payload);
EPAOutput(psock, EES_ACK_NOTI_POS, EPA_COM_TYPE, msg_id);
}
void Ack_Noti_Neg_Output(uint16 dst_app, uint8 err_class, uint8 err_code, uint8 add_code, uint16 msg_id, uint16 dst_port, uint32 dst_ip) {
PSock psock;
psock = GetSock(PROTOCOL_EPA_FB, LEN_ACK_NOTI_NEG, dst_port, dst_ip, NISelect(dst_ip));
h2n16(dst_app, psock->payload);
psock->payload[2] = EPA_RESERVED_VALUE;
psock->payload[3] = EPA_RESERVED_VALUE;
psock->payload[4] = err_class;
psock->payload[5] = err_code;
psock->payload[6] = add_code;
psock->payload[7] = EPA_RESERVED_VALUE;
memcpy(psock->payload + 8, gErr_Des[err_class][err_code], VISUAL_STRING_LEN);
EPAOutput(psock, EES_ACK_NOTI_POS, EPA_COM_TYPE, msg_id);
}
void Ack_Noti_Input(PSock psock, uint8 com_type, uint16 msg_id) {
uint16 dst_app, dst_obj, event_num;
n2h16(psock->payload, &dst_app);
n2h16(psock->payload + 2, &dst_obj);
n2h16(psock->payload + 4, &event_num);
PutSock(psock);
// Ack_Noti_Pos_Output
}
void Ack_Noti_Pos_Input(PSock psock, uint8 com_type, uint16 msg_id) {
uint16 dst_app;
n2h16(psock->payload, &dst_app);
PutSock(psock);
}
void Ack_Noti_Neg_Input(PSock psock, uint8 com_type, uint16 msg_id) {
uint16 dst_app;
uint8 err_class, err_code, add_code;
n2h16(psock->payload, &dst_app);
err_class = psock->payload[4];
err_code = psock->payload[5];
add_code = psock->payload[6];
PutSock(psock);
}
void Alter_Monitor_Output(uint16 dst_app, uint16 dst_obj, boolean be_en, uint32 dst_ip) {
PSock psock;
psock = GetSock(PROTOCOL_EPA_FB, LEN_ALTER_MONITOR, EPA_PORT, dst_ip, NISelect(dst_ip));
h2n16(dst_app, psock->payload);
h2n16(dst_obj, psock->payload + 2);
psock->payload[4] = be_en;
psock->payload[5] = EPA_RESERVED_VALUE;
psock->payload[6] = EPA_RESERVED_VALUE;
psock->payload[7] = EPA_RESERVED_VALUE;
EPAOutput(psock, EES_ALTER_MONITOR, EPA_COM_TYPE, EPA_MSG_ID);
}
void Alter_Monitor_Pos_Output(uint16 dst_app, uint16 msg_id, uint16 dst_port, uint32 dst_ip) {
PSock psock;
psock = GetSock(PROTOCOL_EPA_FB, LEN_ALTER_MONITOR_POS, dst_port, dst_ip, NISelect(dst_ip));
h2n16(dst_app, psock->payload);
EPAOutput(psock, EES_ALTER_MONITOR_POS, EPA_COM_TYPE, msg_id);
}
void Alter_Monitor_Neg_Output(uint16 dst_app, uint8 err_class, uint8 err_code, uint8 add_code, uint16 msg_id, uint16 dst_port, uint32 dst_ip) {
PSock psock;
psock = GetSock(PROTOCOL_EPA_FB, LEN_ALTER_MONITOR_NEG, dst_port, dst_ip, NISelect(dst_ip));
h2n16(dst_app, psock->payload);
psock->payload[2] = EPA_RESERVED_VALUE;
psock->payload[3] = EPA_RESERVED_VALUE;
psock->payload[4] = err_class;
psock->payload[5] = err_code;
psock->payload[6] = add_code;
psock->payload[7] = EPA_RESERVED_VALUE;
memcpy(psock->payload + 8, gErr_Des[err_class][err_code], VISUAL_STRING_LEN);
EPAOutput(psock, EES_ALTER_MONITOR_NEG, EPA_COM_TYPE, msg_id);
}
void Alter_Monitor_Input(PSock psock, uint8 com_type, uint16 msg_id) {
uint16 dst_app, dst_obj;
boolean be_en;
n2h16(psock->payload, &dst_app);
n2h16(psock->payload + 2, &dst_obj);
be_en = psock->payload[4] ;
PutSock(psock);
// Alert_Monitor_Pos_Output
}
void Alter_Monitor_Pos_Input(PSock psock, uint8 com_type, uint16 msg_id) {
uint16 dst_app;
n2h16(psock->payload, &dst_app);
PutSock(psock);
}
void Alter_Monitor_Neg_Input(PSock psock, uint8 com_type, uint16 msg_id) {
uint16 dst_app;
uint8 err_class, err_code, add_code;
n2h16(psock->payload, &dst_app);
err_class = psock->payload[4];
err_code = psock->payload[5];
add_code = psock->payload[6];
PutSock(psock);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -