plan 9 kernel history: overview | file list | diff list

1991/1014/port/ipdat.h (diff list | history)

1991/1013/sys/src/9/port/ipdat.h:68,741991/1014/sys/src/9/port/ipdat.h:68,74 (short | long | prev | next)
Add IP header fields to Ilhdr. Add Ilcb.window. Add IL connection states. Rename open_tcp to tcpstart.
rsc Fri Mar 4 12:44:25 2005
1991/0424    
 
1991/1012    
struct Ilhdr 
{ 
#define IL_EHSIZE	22 
1991/1014    
#define IL_EHSIZE	34 
1991/1012    
	uchar	d[6];		/* Ethernet destination */ 
	uchar	s[6];		/* Ethernet source */ 
	uchar	type[2];	/* Ethernet packet type */ 
1991/1013/sys/src/9/port/ipdat.h:77,821991/1014/sys/src/9/port/ipdat.h:77,87
1991/1012    
	uchar	length[2];	/* packet length */ 
	uchar	id[2];		/* Identification */ 
	uchar	frag[2];	/* Fragment information */ 
1991/1014    
	uchar	ttl;		/* Time to live */ 
	uchar	proto;		/* Protocol */ 
	uchar	cksum[2];	/* Header checksum */ 
	uchar	src[4];		/* Ip source */ 
	uchar	dst[4];		/* Ip destination */ 
1991/1012    
#define IL_HDRSIZE	16	 
	uchar	ilsum[2];	/* Checksum including header */ 
	uchar	illen[2];	/* Packet length */ 
1991/1013/sys/src/9/port/ipdat.h:88,941991/1014/sys/src/9/port/ipdat.h:93,99
1991/1012    
	uchar	ilack[4];	/* Acked sequence */ 
}; 
 
struct Ilcb 
1991/1014    
struct Ilcb				/* Control block */ 
1991/1012    
{ 
	int	state; 
	Block	*unacked; 
1991/1013/sys/src/9/port/ipdat.h:98,1061991/1014/sys/src/9/port/ipdat.h:103,112
1991/1012    
	ulong	sent; 
	ulong	recvd; 
	ulong	lastack; 
1991/1014    
	int	window; 
1991/1012    
}; 
 
enum 
1991/1014    
enum					/* Packet types */ 
1991/1012    
{ 
	Ilsync, 
	Ildata, 
1991/1013/sys/src/9/port/ipdat.h:111,1161991/1014/sys/src/9/port/ipdat.h:117,132
1991/1013    
	Ilreset, 
1991/1012    
}; 
 
1991/1014    
enum					/* Connection state */ 
{ 
	Ilclosed, 
	Ilsyncer, 
	Ilsyncee, 
	Ilestablished, 
	Illistening, 
	Ilclosing, 
}; 
 
1991/0424    
#define TCP_PKT	(TCP_EHSIZE+TCP_IPLEN+TCP_PHDRSIZE) 
 
1991/1012    
struct Tcphdr 
1991/1013/sys/src/9/port/ipdat.h:292,2971991/1014/sys/src/9/port/ipdat.h:308,315
1991/0424    
 
#define TCP_PASSIVE	0 
#define TCP_ACTIVE	1 
1991/1014    
#define IL_PASSIVE	0 
#define IL_ACTIVE	1 
1991/0424    
 
#define MAXBACKOFF	5 
#define FORCE		1 
1991/1013/sys/src/9/port/ipdat.h:481,4871991/1014/sys/src/9/port/ipdat.h:499,505
1991/0424    
int	dupb(Block **, Block *, int, int); 
void	tcp_input(Ipconv *, Block *); 
void 	tcprcvwin(Ipconv *); 
void	open_tcp(Ipconv *, int, ushort, char); 
1991/1014    
void	tcpstart(Ipconv *, int, ushort, char); 
1991/0424    
void	tcpflow(void*); 
void 	tcp_timeout(void *); 
void	tcp_acktimer(void *); 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)