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

📄 rtl8019as_tcp_m128.h

📁 网卡驱动程序
💻 H
字号:
#ifndef __RTL8019AS_TCP_M128_H
#define __RTL8019AS_TCP_M128_H

#include <macros.h>
#include <iom16v.h>

//******************************************************************
//*	TCP Header Layout
//******************************************************************
#define	TCP_srcport			   0x22	//TCP source port
#define	TCP_destport   	   	   0x24	//TCP destination port
#define	TCP_seqnum  	       0x26	//sequence number
#define	TCP_acknum	           0x2A	//acknowledgement number
#define	TCP_hdrflags		   0x2E	//4-bit header len and flags
#define	TCP_window			   0x30	//window size
#define	TCP_cksum		       0x32	//TCP checksum
#define	TCP_urgentptr   	   0x34	//urgent pointer
#define TCP_data               0x36  //option/data

//******************************************************************
//*	TCP Flags
//*   IN flags represent incoming bits
//*   OUT flags represent outgoing bits
//******************************************************************
#define  FIN_IN               (packet[TCP_hdrflags+1] & 0x01)
#define  SYN_IN               (packet[TCP_hdrflags+1] & 0x02)
#define  RST_IN               (packet[TCP_hdrflags+1] & 0x04)
#define  PSH_IN               (packet[TCP_hdrflags+1] & 0x08)
#define  ACK_IN               (packet[TCP_hdrflags+1] & 0x10)
#define  URG_IN               (packet[TCP_hdrflags+1] & 0x20)
#define  FIN_OUT              packet[TCP_hdrflags+1] |= 0x01 //00000001
#define  SYN_OUT              packet[TCP_hdrflags+1] |= 0x02 //00000010
#define  RST_OUT              packet[TCP_hdrflags+1] |= 0x04 //00000100
#define  PSH_OUT              packet[TCP_hdrflags+1] |= 0x08 //00001000
#define  ACK_OUT              packet[TCP_hdrflags+1] |= 0x10 //00010000
#define  URG_OUT              packet[TCP_hdrflags+1] |= 0x20 //00100000

//******************************************************************
//*	TELNET SERVER BANNER STATEMENT CONSTANT
//******************************************************************
char const telnet_banner[] = {"\r\nEasy Ethernet AVR>"};

/*
//******************************************************************
//*	AVR RAM Definitions
//******************************************************************
unsigned char aux_data[20];            //tcp received data area
unsigned int tcpdatalen_in;
unsigned int tcpdatalen_out;
unsigned char flags;
unsigned int cntr;
unsigned char byteout;
//******************************************************************
//*	Flags
//******************************************************************
#define hexflag 0x04 //00000100
//******************************************************************
//*	RTL8019AS PIN MACROS
//******************************************************************
#define set_le_pin  iorwport |= LE_pin
#define clr_le_pin  iorwport &= ~LE_pin

#define clr_hex flags &= ~hexflag

#define latchdata	set_le_pin;		   \
					delay_us(1);	   \
					clr_le_pin;
*/


void application_code(void);
void tcp(void);
void assemble_ack(void);
void send_tcp_packet(void);
void readwrite(void);

void show_regs(void);
void dump_header(void);
void cls(void);
void show_packet(void);
void show_aux_packet(void);


#endif

⌨️ 快捷键说明

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