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

📄 rtl8019a.h

📁 包括DSP实验测试程序、实验示例、应用程序以及经典的DSP的C程序和汇编程序库
💻 H
字号:
typedef	unsigned	int		Uint16;
typedef	unsigned	long	Uint32;

#define		Reg00		port2000
#define		Reg01		port2001
#define		Reg02		port2002
#define		Reg03		port2003
#define		Reg04		port2004
#define		Reg05		port2005
#define		Reg06		port2006
#define		Reg07		port2007
#define		Reg08		port2008
#define		Reg09		port2009
#define		Reg0a		port200a
#define		Reg0b		port200b
#define		Reg0c		port200c
#define		Reg0d		port200d
#define		Reg0e		port200e
#define		Reg0f		port200f
#define		Reg10		port2010

ioport		Uint16		Reg00;
ioport		Uint16		Reg01;
ioport		Uint16		Reg02;
ioport		Uint16		Reg03;
ioport		Uint16		Reg04;
ioport		Uint16		Reg05;
ioport		Uint16		Reg06;
ioport		Uint16		Reg07;
ioport		Uint16		Reg08;
ioport		Uint16		Reg09;
ioport		Uint16		Reg0a;
ioport		Uint16		Reg0b;
ioport		Uint16		Reg0c;
ioport		Uint16		Reg0d;
ioport		Uint16		Reg0e;
ioport		Uint16		Reg0f;
ioport		Uint16		Reg10;



#define ARP	    1
#define UDP     2
#define IGMP    3
#define LSS     4

#define BROADCAST     1
#define REC_ARP       2
#define NOD           3
#define Frame_ARP            0x0608
#define Frame_IP             0x0008




	/*Configuration Register D*/
	
/*NOTE:									*/
/*	Some registers in page 2 are complementary to the registers in 	*/
/*	page 0.								*/
/*	Page0	RD		WR					*/		
/*	0X01	CLDA0		PSTART					*/
/*	0X02	CLDA1		PSTOP					*/
/*	0X04			TPSR					*/
/*	0X0C			RCR					*/
/*	0X0D			TCR					*/
/*	0X0E			DCR					*/
/*	0X0F			IMR					*/
	

struct ipaddr
{
  unsigned short addr2_1;
  unsigned short addr4_3;
};
struct mac
{
  unsigned short addr2_1;
  unsigned short addr4_3;
  unsigned short addr6_5;
};

struct iphdr
{
  unsigned short  tos_version;
  unsigned short tol_len;
  unsigned short id;
  unsigned short frag_off;
  unsigned short protocal_ttl;
  unsigned short chksum;
  struct ipaddr saddr;
  struct ipaddr daddr;
};
struct udphdr
{
  unsigned short sport;
  unsigned short dport;
  unsigned short length;
  unsigned short chksum;
};

struct igmphdr
{
  unsigned short type_mrt;
  unsigned short chksum;
  struct  ipaddr groupaddr;
};
struct pre_udphdr
{
  struct ipaddr saddr;
  struct ipaddr daddr;
  unsigned short  protocal_value;
  unsigned short  length;
};
struct arp
{
  unsigned short hard_type;
  unsigned short proto_type;
  unsigned short proto_hard_length;
  unsigned short op_code;
  struct mac    send_macaddr;
  struct ipaddr send_ipaddr;
  struct mac    rec_macaddr;
  struct ipaddr rec_ipaddr;
};


void init_protocal();
void load_udp(unsigned short *buf,unsigned short *length);
void load_ip(unsigned short *buf,unsigned short *length);
void send_frame(unsigned short *buf,unsigned short MAC_type,unsigned short PROTO_type,unsigned short length);
void send_arp(struct ipaddr *ip,unsigned short arp_type);
unsigned short checksum(unsigned short *buffer, short size);
unsigned short  change_byte(unsigned short value);
void send_igmp(unsigned short type);

⌨️ 快捷键说明

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