ECAT_FOE

通过ETG_1000.5、ETG_1000.6整理的代码

结构体定义

/*#################################################*/
/* !< @breif Read Request structure > */
typedef struct {WORD Length;WORD Address;UINT6 Channel;UINT2 Priority;UINT4 Type;UINT4 reserved;
}TMBXHEADER;typedef struct { BYTE OpCode; BYTE Reserved; 
} TFOEHEADER; typedef struct { TMBXHEADER MbxHeader; TFOEHEADER FoeHeader; DWORD Password; char FileName[MAX_FILE_NAME_SIZE}; 
} TFOEREADREQ;
//end Read Request structure/* !< @breif Write Request structure > */typedef struct {TMBXHEADER MbxHeader; TFOEHEADER FoeHeader; DWORD Password; char FileName[MAX_FILE_NAME_SIZE}; 
} TFOEWRITEREQ;//end Write Request structure/* !< @breif Data Request structure > */
typedef struct {TMBXHEADER MbxHeader; TFOEHEADER FoeHeader;DWORD PacketNo; BYTE Data[MAX_DATA_SIZE}; 
} TFOEDATAREQ;
//end Data Request structure/* !< @breif Ack Request structure > */
typedef struct { TMBXHEADER MbxHeader; TFOEHEADER FoeHeader; DWORD PacketNo; 
} TFOEACKREQ;
//end Ack Request structure/* !< @breif Error Request structure > */
/**************************************
Table 96 – Error codes of FoE0x8000 Not defined0x8001 Not found0x8002 Access denied0x8003 Disk full0x8004 Illegal0x8005 Packet number wrong0x8006 Already exists0x8007 No user0x8008 Bootstrap only0x8009 Not Bootstrap0x800A No rights0x800B Program Error**************************************/typedef struct { TMBXHEADER MbxHeader; TFOEHEADER FoeHeader; DWORD ErrorCode; char ErrorText[MAX_ERROR_TEXT_SIZE}; 
} TFOEERRORREQ;//end Error Request structure/* !< @breif Busy Request structure > */
typedef struct { TMBXHEADER MbxHeader; TFOEHEADER FoeHeader; WORD Done; WORD Entire; char BusyText[MAX_BUSY_TEXT_SIZE}; 
} TFOEBUSYREQ;
//end Busy Request structurestruct st_foe_data{var addrOfServer;//station address of the servervar packetNum;var Size;//number of bytes,range is 1~1472var Data;
}foe_data;

函数

//Read a file from a server.
void foeService_read(addrOfServer,passwd,filename);//Write a file to a server.
void foeService_write(addrOfServer,passwd,filename);//Acknowledge a FOE Data.
void foeService_ack(addrOfServer,packetNum);//Indicate the server is busy.
void foeService_busy(addrOfServer,Done,Entrie,busyDetail);//Indicate the client that an error has happened.
void foeService_error(addrOfServer,errCode,errText);


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部