source: trunk/minix/include/net/gen/eth_io.h@ 9

Last change on this file since 9 was 9, checked in by Mattia Monga, 13 years ago

Minix 3.1.2a

File size: 2.3 KB
Line 
1/*
2server/gen/ip/eth_io.h
3*/
4
5#ifndef __SERVER__IP__GEN__ETH_IO_H__
6#define __SERVER__IP__GEN__ETH_IO_H__
7
8typedef struct nwio_ethopt
9{
10 u32_t nweo_flags;
11 ether_addr_t nweo_multi, nweo_rem;
12 ether_type_t nweo_type;
13} nwio_ethopt_t;
14
15#define NWEO_NOFLAGS 0x0000L
16#define NWEO_ACC_MASK 0x0003L
17# define NWEO_EXCL 0x00000001L
18# define NWEO_SHARED 0x00000002L
19# define NWEO_COPY 0x00000003L
20#define NWEO_LOC_MASK 0x0010L
21# define NWEO_EN_LOC 0x00000010L
22# define NWEO_DI_LOC 0x00100000L
23#define NWEO_BROAD_MASK 0x0020L
24# define NWEO_EN_BROAD 0x00000020L
25# define NWEO_DI_BROAD 0x00200000L
26#define NWEO_MULTI_MASK 0x0040L
27# define NWEO_EN_MULTI 0x00000040L
28# define NWEO_DI_MULTI 0x00400000L
29#define NWEO_PROMISC_MASK 0x0080L
30# define NWEO_EN_PROMISC 0x00000080L
31# define NWEO_DI_PROMISC 0x00800000L
32#define NWEO_REM_MASK 0x0100L
33# define NWEO_REMSPEC 0x00000100L
34# define NWEO_REMANY 0x01000000L
35#define NWEO_TYPE_MASK 0x0200L
36# define NWEO_TYPESPEC 0x00000200L
37# define NWEO_TYPEANY 0x02000000L
38#define NWEO_RW_MASK 0x1000L
39# define NWEO_RWDATONLY 0x00001000L
40# define NWEO_RWDATALL 0x10000000L
41
42typedef struct eth_stat
43{
44 unsigned long ets_recvErr, /* # receive errors */
45 ets_sendErr, /* # send error */
46 ets_OVW, /* # buffer overwrite warnings,
47 (packets arrive faster than
48 can be processed) */
49 ets_CRCerr, /* # crc errors of read */
50 ets_frameAll, /* # frames not alligned (# bits
51 not a mutiple of 8) */
52 ets_missedP, /* # packets missed due to too
53 slow packet processing */
54 ets_packetR, /* # packets received */
55 ets_packetT, /* # packets transmitted */
56 ets_transDef, /* # transmission defered (there
57 was a transmission of an
58 other station in progress */
59 ets_collision, /* # collissions */
60 ets_transAb, /* # transmissions aborted due
61 to accesive collisions */
62 ets_carrSense, /* # carrier sense lost */
63 ets_fifoUnder, /* # fifo underruns (processor
64 is too busy) */
65 ets_fifoOver, /* # fifo overruns (processor is
66 too busy) */
67 ets_CDheartbeat, /* # times unable to transmit
68 collision signal */
69 ets_OWC; /* # times out of window
70 collision */
71} eth_stat_t;
72
73typedef struct nwio_ethstat
74{
75 ether_addr_t nwes_addr;
76 eth_stat_t nwes_stat;
77} nwio_ethstat_t;
78
79#endif /* __SERVER__IP__GEN__ETH_IO_H__ */
Note: See TracBrowser for help on using the repository browser.