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 FoE
	0x8000 Not defined
	0x8001 Not found
	0x8002 Access denied
	0x8003 Disk full
	0x8004 Illegal
	0x8005 Packet number wrong
	0x8006 Already exists
	0x8007 No user
	0x8008 Bootstrap only
	0x8009 Not Bootstrap
	0x800A No rights
	0x800B 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 structure

struct st_foe_data{
	var addrOfServer;//station address of the server
	var packetNum;
	var Size;//number of bytes,range is 1~1472
	var 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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值