Mercurial > flash_v2
annotate packages/io/eth/current/include/eth_drv_stats.h @ 117:bd1a71e3e476 ecos-sw-2000-08-25
Merge from eCos master repository on 2000-08-25-19:22:58-BST
| author | jlarmour |
|---|---|
| date | Fri, 25 Aug 2000 19:17:22 +0000 |
| parents | |
| children | 678094f34118 |
| rev | line source |
|---|---|
|
117
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
1 #ifndef CYGONCE_IO_ETH_ETH_DRV_STATS_H |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
2 #define CYGONCE_IO_ETH_ETH_DRV_STATS_H |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
3 //========================================================================== |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
4 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
5 // include/eth_drv_stats.h |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
6 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
7 // High level networking driver interfaces - statistics gathering |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
8 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
9 //========================================================================== |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
10 //####COPYRIGHTBEGIN#### |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
11 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
12 // ------------------------------------------- |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
13 // The contents of this file are subject to the Red Hat eCos Public License |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
14 // Version 1.1 (the "License"); you may not use this file except in |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
15 // compliance with the License. You may obtain a copy of the License at |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
16 // http://www.redhat.com/ |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
17 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
18 // Software distributed under the License is distributed on an "AS IS" |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
19 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
20 // License for the specific language governing rights and limitations under |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
21 // the License. |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
22 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
23 // The Original Code is eCos - Embedded Configurable Operating System, |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
24 // released September 30, 1998. |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
25 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
26 // The Initial Developer of the Original Code is Red Hat. |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
27 // Portions created by Red Hat are |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
28 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
29 // All Rights Reserved. |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
30 // ------------------------------------------- |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
31 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
32 //####COPYRIGHTEND#### |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
33 //####BSDCOPYRIGHTBEGIN#### |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
34 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
35 // ------------------------------------------- |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
36 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
37 // Portions of this software may have been derived from OpenBSD or other sources, |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
38 // and are covered by the appropriate copyright disclaimers included herein. |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
39 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
40 // ------------------------------------------- |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
41 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
42 //####BSDCOPYRIGHTEND#### |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
43 //========================================================================== |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
44 //#####DESCRIPTIONBEGIN#### |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
45 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
46 // Author(s): hmt |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
47 // Contributors: hmt |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
48 // Date: 2000-08-23 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
49 // Purpose: |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
50 // Description: High level networking driver interfaces - stats gathering |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
51 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
52 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
53 //####DESCRIPTIONEND#### |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
54 // |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
55 //========================================================================== |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
56 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
57 #include <pkgconf/system.h> |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
58 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
59 #ifdef CYGPKG_NET |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
60 #include <sys/param.h> |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
61 #include <sys/socket.h> |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
62 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
63 #include <net/if.h> |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
64 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
65 // This information is oriented towards SNMP's needs. |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
66 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
67 #define DESC_LEN (48) |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
68 #define SNMP_CHIPSET_LEN (20) |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
69 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
70 struct ether_drv_stats { |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
71 struct ifreq ifreq; // tell ioctl() which interface. |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
72 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
73 char description[ DESC_LEN ]; // Textual description of hardware |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
74 unsigned char snmp_chipset[ SNMP_CHIPSET_LEN ]; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
75 // SNMP ID of chipset |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
76 unsigned char duplex; // 1 = UNKNOWN, 2 = SIMPLEX, 3 = DUPLEX |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
77 unsigned char operational; // 1 = UNKNOWN, 2 = DOWN, 3 = UP |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
78 // These are general status information: |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
79 unsigned int speed; // 10,000,000 or 100,000,000 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
80 // to infinity and beyond? |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
81 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
82 // These are typically kept by device hardware - and there may be some |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
83 // cost for getting up to date values: |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
84 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
85 unsigned int supports_dot3; /* Boolean value if the device supports dot3*/ |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
86 unsigned int tx_good; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
87 unsigned int tx_max_collisions; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
88 unsigned int tx_late_collisions; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
89 unsigned int tx_underrun; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
90 unsigned int tx_carrier_loss; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
91 unsigned int tx_deferred; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
92 unsigned int tx_sqetesterrors; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
93 unsigned int tx_single_collisions; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
94 unsigned int tx_mult_collisions; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
95 unsigned int tx_total_collisions; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
96 unsigned int rx_good; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
97 unsigned int rx_crc_errors; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
98 unsigned int rx_align_errors; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
99 unsigned int rx_resource_errors; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
100 unsigned int rx_overrun_errors; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
101 unsigned int rx_collisions; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
102 unsigned int rx_short_frames; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
103 unsigned int rx_too_long_frames; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
104 unsigned int rx_symbol_errors; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
105 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
106 // These are typically kept by driver software: |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
107 unsigned int interrupts; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
108 unsigned int rx_count; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
109 unsigned int rx_deliver; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
110 unsigned int rx_resource; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
111 unsigned int rx_restart; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
112 unsigned int tx_queue_len; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
113 unsigned int tx_count; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
114 unsigned int tx_complete; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
115 unsigned int tx_dropped; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
116 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
117 // Add any others here... |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
118 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
119 }; |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
120 #endif // CYGPKG_NET |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
121 #endif // CYGONCE_IO_ETH_ETH_DRV_STATS_H |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
122 |
|
bd1a71e3e476
Merge from eCos master repository on 2000-08-25-19:22:58-BST
jlarmour
parents:
diff
changeset
|
123 // EOF include/eth_drv_stats.h |
