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

2001/1211/alphapc/etherif.h (diff list | history)

alphapc/etherif.h on 1999/0415
1999/0415    
enum { 
	MaxEther	= 24, 
	Ntypes		= 8, 
}; 
 
typedef struct Ether Ether; 
struct Ether { 
	ISAConf;			/* hardware info */ 
 
	int	ctlrno; 
	int	tbdf;			/* type+busno+devno+funcno */ 
	int	mbps;			/* Mbps */ 
2001/0727    
	int	minmtu; 
	int 	maxmtu; 
1999/0415    
	uchar	ea[Eaddrlen]; 
 
	void	(*attach)(Ether*);	/* filled in by reset routine */ 
	void	(*transmit)(Ether*); 
	void	(*interrupt)(Ureg*, void*); 
	long	(*ifstat)(Ether*, void*, long, ulong); 
2001/0727    
	long 	(*ctl)(Ether*, void*, long); /* custom ctl messages */ 
1999/0415    
	void	*ctlr; 
 
	Queue*	oq; 
 
	Netif; 
}; 
 
extern Block* etheriq(Ether*, Block*, int); 
extern void addethercard(char*, int(*)(Ether*)); 
extern ulong ethercrc(uchar*, int); 
 
#define NEXT(x, l)	(((x)+1)%(l)) 
#define PREV(x, l)	(((x) == 0) ? (l)-1: (x)-1) 
#define	HOWMANY(x, y)	(((x)+((y)-1))/(y)) 
#define ROUNDUP(x, y)	(HOWMANY((x), (y))*(y)) 


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