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