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

📄 netprotocal.h

📁 S3C44B0X接8019的源代码
💻 H
字号:
#ifndef 	__NETPROTOCAL_H__
#define	__NETPROTOCAL_H__

#include "MyType.h"


#define		PROTOCAL_IP					1
#define		PROTOCAL_ARP				2
#define		PROTOCAL_NULL				0

#define		FRAME8019_HEADER_LEN		4
#define		ETHER_FRAME_HEADER_LEN		14

#define		FRAME8019_LEN				1518
#define		PACKET_LEN					1500

#define		RECV_STATUS_OFFSET			0
#define		NEXT_PAGE_OFFSET			1
#define		ETHERFRAME_LENTH_OFFSET		2	
#define		DES_MACADDR_OFFSET			4
#define		SRC_MACADDR_OFFSET			10
#define		PROTOCAL_OFFSET				16
#define		PACKET_OFFSET				18


typedef struct {
	BYTE Status;			// 接收状态
	BYTE NextPage;			// 下一个页
	BYTE Length[2];			// 以太帧长度(字节数)
	BYTE DestMAC_Addr[6];	// 目的网卡地址
	BYTE SrcMAC_Addr[6];	// 源网卡地址
	BYTE Protocal[2];		// 下一层协议
	BYTE Packet[1500];		// 包的内容
} Frame8019;


#define IP_ADDR_LEN   	4 				// IP地址的长度	
#define	MAC_ADDR_LEN	6				// MAC地址长度
#define	FILL_DATA_LEN		18				// 填充数据长度

#define	ARP_REQ			1				// ARP请求
#define	ARP_RESP		2				// ARP响应
#define	ARP_NULL			0				// ARP无效

typedef struct {
	BYTE 	HardwareType[2];			// 硬件类型
	BYTE 	ProtocalType[2];			// 协议类型
	BYTE  	HardwareAddrLen;			// 硬件地址长度
	BYTE  	ProtocalAddrLen;			// 协议地址长度
	BYTE	Operate[2];					// ARP操作字段
	BYTE 	SrcMAC_Addr[MAC_ADDR_LEN]; 	// 源MAC地址
	BYTE	SrcIP_Addr[IP_ADDR_LEN];	// 源IP地址
	BYTE	DestMAC_Addr[MAC_ADDR_LEN];	// 目的MAC地址
	BYTE	DestIP_Addr[IP_ADDR_LEN]; 	// 目的IP地址
	BYTE		FillData[FILL_DATA_LEN];		//填充数据
} ARP_PACK;

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -