80 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/*
 | 
						|
server/gen/ip/eth_io.h
 | 
						|
*/
 | 
						|
 | 
						|
#ifndef __SERVER__IP__GEN__ETH_IO_H__
 | 
						|
#define __SERVER__IP__GEN__ETH_IO_H__
 | 
						|
 | 
						|
typedef struct nwio_ethopt
 | 
						|
{
 | 
						|
	u32_t nweo_flags;
 | 
						|
	ether_addr_t nweo_multi, nweo_rem;
 | 
						|
	ether_type_t nweo_type;
 | 
						|
} nwio_ethopt_t;
 | 
						|
 | 
						|
#define NWEO_NOFLAGS	0x0000L
 | 
						|
#define NWEO_ACC_MASK	0x0003L
 | 
						|
#	define NWEO_EXCL	0x00000001L
 | 
						|
#	define NWEO_SHARED	0x00000002L
 | 
						|
#	define NWEO_COPY	0x00000003L
 | 
						|
#define NWEO_LOC_MASK	0x0010L
 | 
						|
#	define NWEO_EN_LOC	0x00000010L
 | 
						|
#	define NWEO_DI_LOC	0x00100000L
 | 
						|
#define NWEO_BROAD_MASK	0x0020L
 | 
						|
#	define NWEO_EN_BROAD	0x00000020L
 | 
						|
#	define NWEO_DI_BROAD	0x00200000L
 | 
						|
#define NWEO_MULTI_MASK 0x0040L
 | 
						|
#	define NWEO_EN_MULTI	0x00000040L
 | 
						|
#	define NWEO_DI_MULTI	0x00400000L
 | 
						|
#define NWEO_PROMISC_MASK 0x0080L
 | 
						|
#	define NWEO_EN_PROMISC	0x00000080L
 | 
						|
#	define NWEO_DI_PROMISC	0x00800000L
 | 
						|
#define NWEO_REM_MASK	0x0100L
 | 
						|
#	define NWEO_REMSPEC	0x00000100L
 | 
						|
#	define NWEO_REMANY	0x01000000L
 | 
						|
#define NWEO_TYPE_MASK	0x0200L
 | 
						|
#	define NWEO_TYPESPEC	0x00000200L
 | 
						|
#	define NWEO_TYPEANY	0x02000000L
 | 
						|
#define NWEO_RW_MASK	0x1000L
 | 
						|
#	define NWEO_RWDATONLY	0x00001000L
 | 
						|
#	define NWEO_RWDATALL	0x10000000L
 | 
						|
 | 
						|
typedef struct eth_stat
 | 
						|
{
 | 
						|
	unsigned long ets_recvErr,	/* # receive errors */
 | 
						|
		ets_sendErr,		/* # send error */
 | 
						|
		ets_OVW,		/* # buffer overwrite warnings,
 | 
						|
					   (packets arrive faster than
 | 
						|
					   can be processed) */
 | 
						|
		ets_CRCerr,		/* # crc errors of read */
 | 
						|
		ets_frameAll,		/* # frames not alligned (# bits
 | 
						|
					   not a mutiple of 8) */
 | 
						|
		ets_missedP,		/* # packets missed due to too
 | 
						|
					   slow packet processing */
 | 
						|
		ets_packetR,		/* # packets received */
 | 
						|
		ets_packetT,		/* # packets transmitted */
 | 
						|
		ets_transDef,		/* # transmission defered (there
 | 
						|
					   was a transmission of an
 | 
						|
					   other station in progress */
 | 
						|
		ets_collision,		/* # collissions */
 | 
						|
		ets_transAb,		/* # transmissions aborted due
 | 
						|
					   to accesive collisions */
 | 
						|
		ets_carrSense,		/* # carrier sense lost */
 | 
						|
		ets_fifoUnder,		/* # fifo underruns (processor
 | 
						|
					   is too busy) */
 | 
						|
		ets_fifoOver,		/* # fifo overruns (processor is
 | 
						|
					   too busy) */
 | 
						|
		ets_CDheartbeat,	/* # times unable to transmit
 | 
						|
					   collision signal */
 | 
						|
		ets_OWC;		/* # times out of window
 | 
						|
					   collision */
 | 
						|
} eth_stat_t;
 | 
						|
 | 
						|
typedef struct nwio_ethstat
 | 
						|
{
 | 
						|
	ether_addr_t nwes_addr;
 | 
						|
	eth_stat_t nwes_stat;
 | 
						|
} nwio_ethstat_t;
 | 
						|
 | 
						|
#endif /* __SERVER__IP__GEN__ETH_IO_H__ */
 |