1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * INET		An implementation of the TCP/IP protocol suite for the LINUX
4  *		operating system.  INET is implemented using the  BSD Socket
5  *		interface as the means of communication with the user level.
6  *
7  *		Definitions for the Interfaces handler.
8  *
9  * Version:	@(#)dev.h	1.0.10	08/12/93
10  *
11  * Authors:	Ross Biro
12  *		Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
13  *		Corey Minyard <wf-rch!minyard@relay.EU.net>
14  *		Donald J. Becker, <becker@cesdis.gsfc.nasa.gov>
15  *		Alan Cox, <Alan.Cox@linux.org>
16  *		Bjorn Ekwall. <bj0rn@blox.se>
17  *              Pekka Riikonen <priikone@poseidon.pspt.fi>
18  *
19  *		Moved to /usr/include/linux for NET3
20  */
21 #ifndef _LINUX_NETDEVICE_H
22 #define _LINUX_NETDEVICE_H
23 
24 /*
25  *	Network device statistics. Akin to the 2.0 ether stats but
26  *	with byte counters.
27  */
28 
29 struct net_device_stats {
30 	unsigned long	rx_packets;		/* total packets received	*/
31 	unsigned long	tx_packets;		/* total packets transmitted	*/
32 	unsigned long	rx_bytes;		/* total bytes received		*/
33 	unsigned long	tx_bytes;		/* total bytes transmitted	*/
34 	unsigned long	rx_errors;		/* bad packets received		*/
35 	unsigned long	tx_errors;		/* packet transmit problems	*/
36 	unsigned long	rx_dropped;		/* no space in linux buffers	*/
37 	unsigned long	tx_dropped;		/* no space available in linux	*/
38 	unsigned long	multicast;		/* multicast packets received	*/
39 	unsigned long	collisions;
40 
41 	/* detailed rx_errors: */
42 	unsigned long	rx_length_errors;
43 	unsigned long	rx_over_errors;		/* receiver ring buff overflow	*/
44 	unsigned long	rx_crc_errors;		/* recved pkt with crc error	*/
45 	unsigned long	rx_frame_errors;	/* recv'd frame alignment error	*/
46 	unsigned long	rx_fifo_errors;		/* recv'r fifo overrun		*/
47 	unsigned long	rx_missed_errors;	/* receiver missed packet	*/
48 
49 	/* detailed tx_errors */
50 	unsigned long	tx_aborted_errors;
51 	unsigned long	tx_carrier_errors;
52 	unsigned long	tx_fifo_errors;
53 	unsigned long	tx_heartbeat_errors;
54 	unsigned long	tx_window_errors;
55 
56 	/* for cslip etc */
57 	unsigned long	rx_compressed;
58 	unsigned long	tx_compressed;
59 };
60 
61 #endif	/* _LINUX_NETDEVICE_H */
62