|
---
|
|
src/interface.c | 33 ++++++++++++++++++++++++++++++++-
|
|
1 file changed, 32 insertions(+), 1 deletion(-)
|
|
|
|
--- a/src/interface.c
|
|
+++ b/src/interface.c
|
|
@@ -203,7 +203,38 @@ static int interface_read (void)
|
|
# define IFA_RX_ERROR rx_errors
|
|
# define IFA_TX_ERROR tx_errors
|
|
#else
|
|
-# error "No suitable type for `struct ifaddrs->ifa_data' found."
|
|
+struct net_device_stats {
|
|
+ unsigned long rx_packets;
|
|
+ unsigned long tx_packets;
|
|
+ unsigned long rx_bytes;
|
|
+ unsigned long tx_bytes;
|
|
+ unsigned long rx_errors;
|
|
+ unsigned long tx_errors;
|
|
+ unsigned long rx_dropped;
|
|
+ unsigned long tx_dropped;
|
|
+ unsigned long multicast;
|
|
+ unsigned long collisions;
|
|
+ unsigned long rx_length_errors;
|
|
+ unsigned long rx_over_errors;
|
|
+ unsigned long rx_crc_errors;
|
|
+ unsigned long rx_frame_errors;
|
|
+ unsigned long rx_fifo_errors;
|
|
+ unsigned long rx_missed_errors;
|
|
+ unsigned long tx_aborted_errors;
|
|
+ unsigned long tx_carrier_errors;
|
|
+ unsigned long tx_fifo_errors;
|
|
+ unsigned long tx_heartbeat_errors;
|
|
+ unsigned long tx_window_errors;
|
|
+ unsigned long rx_compressed;
|
|
+ unsigned long tx_compressed;
|
|
+};
|
|
+# define IFA_DATA net_device_stats
|
|
+# define IFA_RX_BYTES rx_bytes
|
|
+# define IFA_TX_BYTES tx_bytes
|
|
+# define IFA_RX_PACKT rx_packets
|
|
+# define IFA_TX_PACKT tx_packets
|
|
+# define IFA_RX_ERROR rx_errors
|
|
+# define IFA_TX_ERROR tx_errors
|
|
#endif
|
|
|
|
struct IFA_DATA *if_data;
|