netdevice.h revision ab322673298bd0b8927cdd9d11f3d36af5941b93
10e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org/*
20e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org * INET		An implementation of the TCP/IP protocol suite for the LINUX
30e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		operating system.  INET is implemented using the  BSD Socket
40e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		interface as the means of communication with the user level.
50e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *
60e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		Definitions for the Interfaces handler.
70e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *
80e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org * Version:	@(#)dev.h	1.0.10	08/12/93
90e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *
100e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org * Authors:	Ross Biro
110e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
120e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		Corey Minyard <wf-rch!minyard@relay.EU.net>
130e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		Donald J. Becker, <becker@cesdis.gsfc.nasa.gov>
140e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		Alan Cox, <alan@lxorguk.ukuu.org.uk>
150e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		Bjorn Ekwall. <bj0rn@blox.se>
160e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *              Pekka Riikonen <priikone@poseidon.pspt.fi>
170e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *
180e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		This program is free software; you can redistribute it and/or
190e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		modify it under the terms of the GNU General Public License
200e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		as published by the Free Software Foundation; either version
210e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		2 of the License, or (at your option) any later version.
220e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *
230e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *		Moved to /usr/include/linux for NET3
240e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org */
250e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#ifndef _LINUX_NETDEVICE_H
260e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#define _LINUX_NETDEVICE_H
270e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org
280e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#include <linux/if.h>
290e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#include <linux/if_ether.h>
300e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#include <linux/if_packet.h>
310e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org
320e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org
330e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#define MAX_ADDR_LEN	32		/* Largest hardware address length */
340e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org
350e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org
360e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org/*
370e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *	Network device statistics. Akin to the 2.0 ether stats but
380e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org *	with byte counters.
390e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org */
400e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org
410e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgstruct net_device_stats {
420e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	rx_packets;		/* total packets received	*/
430e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	tx_packets;		/* total packets transmitted	*/
440e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	rx_bytes;		/* total bytes received 	*/
450e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	tx_bytes;		/* total bytes transmitted	*/
460e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	rx_errors;		/* bad packets received		*/
470e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	tx_errors;		/* packet transmit problems	*/
482007187dab65bb5d6f602355216534d6dd4ceaf2mallinath@webrtc.org	unsigned long	rx_dropped;		/* no space in linux buffers	*/
490e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	tx_dropped;		/* no space available in linux	*/
500e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	multicast;		/* multicast packets received	*/
510e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	collisions;
520e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org
530e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	/* detailed rx_errors: */
540e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	rx_length_errors;
550e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	rx_over_errors;		/* receiver ring buff overflow	*/
560e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	rx_crc_errors;		/* recved pkt with crc error	*/
570e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	rx_frame_errors;	/* recv'd frame alignment error */
580e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	rx_fifo_errors;		/* recv'r fifo overrun		*/
590e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	rx_missed_errors;	/* receiver missed packet	*/
600e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org
610e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	/* detailed tx_errors */
620e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	tx_aborted_errors;
630e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	tx_carrier_errors;
640e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	tx_fifo_errors;
65b881d27f23e9a8f52dc6a60fc66ebd75f9c2f15cmallinath@webrtc.org	unsigned long	tx_heartbeat_errors;
660e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org	unsigned long	tx_window_errors;
67952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org
68952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org	/* for cslip etc */
69952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org	unsigned long	rx_compressed;
70952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org	unsigned long	tx_compressed;
71952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org};
72952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org
73952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org
740e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org/* Media selection options. */
750e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.orgenum {
76952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org        IF_PORT_UNKNOWN = 0,
770e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org        IF_PORT_10BASE2,
780e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org        IF_PORT_10BASET,
790e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org        IF_PORT_AUI,
80952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org        IF_PORT_100BASET,
81952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org        IF_PORT_100BASETX,
82952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org        IF_PORT_100BASEFX
83952740e2dafeb2599d21778eb2e1b8f1c8f2bb07wu@webrtc.org};
840e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org
850e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org
860e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org#endif	/* _LINUX_NETDEVICE_H */
870e118e7129884fbea117e78d6f2068139a414dbhenrike@webrtc.org