root / lab4 / .minix-src / include / net / gen / eth_io.h @ 14
History | View | Annotate | Download (2.29 KB)
1 | 13 | up20180614 | /*
|
---|---|---|---|
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__ */ |