260d071ba83f57a5f0d6c905c7c12a4b76b800b3
[openwrt.git] / package / linux / kernel-source / include / bcmenetmib.h
1 /*
2  * Hardware-specific MIB definition for
3  * Broadcom Home Networking Division
4  * BCM44XX and BCM47XX 10/100 Mbps Ethernet cores.
5  * 
6  * Copyright 2004, Broadcom Corporation
7  * All Rights Reserved.
8  * 
9  * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
10  * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
11  * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
12  * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
13  * $Id$
14  */
15
16 #ifndef _bcmenetmib_h_
17 #define _bcmenetmib_h_
18
19 /* cpp contortions to concatenate w/arg prescan */
20 #ifndef PAD
21 #define _PADLINE(line)  pad ## line
22 #define _XSTR(line)     _PADLINE(line)
23 #define PAD             _XSTR(__LINE__)
24 #endif  /* PAD */
25
26 /*
27  * EMAC MIB Registers
28  */
29 typedef volatile struct {
30         uint32 tx_good_octets;
31         uint32 tx_good_pkts;
32         uint32 tx_octets;
33         uint32 tx_pkts;
34         uint32 tx_broadcast_pkts;
35         uint32 tx_multicast_pkts;
36         uint32 tx_len_64;
37         uint32 tx_len_65_to_127;
38         uint32 tx_len_128_to_255;
39         uint32 tx_len_256_to_511;
40         uint32 tx_len_512_to_1023;
41         uint32 tx_len_1024_to_max;
42         uint32 tx_jabber_pkts;
43         uint32 tx_oversize_pkts;
44         uint32 tx_fragment_pkts;
45         uint32 tx_underruns;
46         uint32 tx_total_cols;
47         uint32 tx_single_cols;
48         uint32 tx_multiple_cols;
49         uint32 tx_excessive_cols;
50         uint32 tx_late_cols;
51         uint32 tx_defered;
52         uint32 tx_carrier_lost;
53         uint32 tx_pause_pkts;
54         uint32 PAD[8];
55
56         uint32 rx_good_octets;
57         uint32 rx_good_pkts;
58         uint32 rx_octets;
59         uint32 rx_pkts;
60         uint32 rx_broadcast_pkts;
61         uint32 rx_multicast_pkts;
62         uint32 rx_len_64;
63         uint32 rx_len_65_to_127;
64         uint32 rx_len_128_to_255;
65         uint32 rx_len_256_to_511;
66         uint32 rx_len_512_to_1023;
67         uint32 rx_len_1024_to_max;
68         uint32 rx_jabber_pkts;
69         uint32 rx_oversize_pkts;
70         uint32 rx_fragment_pkts;
71         uint32 rx_missed_pkts;
72         uint32 rx_crc_align_errs;
73         uint32 rx_undersize;
74         uint32 rx_crc_errs;
75         uint32 rx_align_errs;
76         uint32 rx_symbol_errs;
77         uint32 rx_pause_pkts;
78         uint32 rx_nonpause_pkts;
79 } bcmenetmib_t;
80
81 #endif  /* _bcmenetmib_h_ */