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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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