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

📄 net.h

📁 lubbock是Intel官方为pxa255提供的bios
💻 H
字号:
#ifndef BLOB_NET_H#define BLOB_NET_H/* Ethernet */#define ETH_ALEN	6#define ETHPROTO_IP	0x0800#define ETHPROTO_ARP	0x0806#define ETHPROTO_RARP	0x8035/* IP */#define IPPROTO_ICMP	1#define IPPROTO_UDP	17#define IP_DF		0x4000#define IP_MF		0x2000#define IP_OFFMASK	0x1fff#define IPVERSION 	4#define MAXTTL		8/* ARP */#define ARPHDR_ETHER	1#define ARP_REQUEST	1#define ARP_REPLY	2#define ARP_REVREQUEST	3#define ARP_REVREPLY	4/* ICMP */#define ICMP_MINLEN	8#define ICMP_ECHOREPLY	0#define ICMP_UNREACH	3#define ICMP_ECHO	8struct etherhdr {	unsigned char 	eh_dhost[ETH_ALEN];	unsigned char 	eh_shost[ETH_ALEN];	unsigned short 	eh_proto;}__attribute__ ((__packed__));struct in_addr{	unsigned char addr[4];}__attribute__ ((__packed__));struct iphdr{	unsigned char 	ip_hl : 4,		      	ip_v  : 4;	unsigned char 	ip_tos;	short 		ip_len;	unsigned short	ip_id;	short		ip_off;	unsigned char	ip_ttl;	unsigned char 	ip_p;	unsigned short	ip_sum;	struct in_addr	ip_src, ip_dst;}__attribute__ ((__packed__));struct udphdr{	unsigned short 	uh_sport;	unsigned short 	uh_dport;	short		uh_len;	unsigned short	uh_sum;}__attribute__ ((__packed__));struct udp_port {	unsigned short port;	int (*handler)();};struct icmphdr{	unsigned char	type; 	unsigned char	code;	unsigned short	cksum;	union {		struct in_addr	gwaddr;		struct {			unsigned short	id;			unsigned short	seq;		}idseq;		struct {			unsigned short 	__unused;			unsigned short	mtu;		}mtu;	};}__attribute__ ((__packed__));struct arphdr{	unsigned short	ar_hrd;	unsigned short 	ar_pro;	unsigned char	ar_hln;	unsigned char	ar_pln;	unsigned short	ar_op;	}__attribute__ ((__packed__));struct ether_arp {	struct	arphdr	ea_hdr;	unsigned char	arp_sha[6];	unsigned char	arp_spa[4];	unsigned char	arp_tha[6];	unsigned char 	arp_tpa[4];}__attribute__ ((__packed__));#define BUFSZ	2048struct mybuf{	int len;	unsigned char buf[BUFSZ];};#define ntohs(x) ( ( ( (x) & 0xff ) << 8 ) |  ( ((x)>> 8) & 0xff) )#define htons(x) ( ( ( (x) & 0xff ) << 8 ) |  ( ((x)>> 8) & 0xff) )extern struct mybuf *bget(int io);extern unsigned char eth_mac_addr[ETH_ALEN];extern void net_rx();extern void net_reset();extern int eth_rx();extern int eth_xmit();#endif

⌨️ 快捷键说明

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