1dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat/* 2dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * INET An implementation of the TCP/IP protocol suite for the LINUX 3dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * operating system. INET is implemented using the BSD Socket 4dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * interface as the means of communication with the user level. 5dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * 6dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Definitions for the Interfaces handler. 7dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * 8dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Version: @(#)dev.h 1.0.10 08/12/93 9dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * 10dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Authors: Ross Biro 11dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> 12dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Corey Minyard <wf-rch!minyard@relay.EU.net> 13dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Donald J. Becker, <becker@cesdis.gsfc.nasa.gov> 14dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Alan Cox, <alan@lxorguk.ukuu.org.uk> 15dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Bjorn Ekwall. <bj0rn@blox.se> 16dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Pekka Riikonen <priikone@poseidon.pspt.fi> 17dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * 18dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * This program is free software; you can redistribute it and/or 19dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * modify it under the terms of the GNU General Public License 20dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * as published by the Free Software Foundation; either version 21dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * 2 of the License, or (at your option) any later version. 22dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * 23dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Moved to /usr/include/linux for NET3 24dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat */ 25dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#ifndef _LINUX_NETDEVICE_H 26dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#define _LINUX_NETDEVICE_H 27dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 28dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#include <linux/if.h> 29dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#include <linux/if_ether.h> 30dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#include <linux/if_packet.h> 31dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 32dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 33dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#define MAX_ADDR_LEN 32 /* Largest hardware address length */ 34dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 35dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 36dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat/* 37dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Network device statistics. Akin to the 2.0 ether stats but 38dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * with byte counters. 39dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat */ 40dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 41dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehatstruct net_device_stats 42dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat{ 43dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long rx_packets; /* total packets received */ 44dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long tx_packets; /* total packets transmitted */ 45dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long rx_bytes; /* total bytes received */ 46dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long tx_bytes; /* total bytes transmitted */ 47dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long rx_errors; /* bad packets received */ 48dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long tx_errors; /* packet transmit problems */ 49dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long rx_dropped; /* no space in linux buffers */ 50dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long tx_dropped; /* no space available in linux */ 51dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long multicast; /* multicast packets received */ 52dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long collisions; 53dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 54dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat /* detailed rx_errors: */ 55dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long rx_length_errors; 56dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long rx_over_errors; /* receiver ring buff overflow */ 57dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long rx_crc_errors; /* recved pkt with crc error */ 58dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long rx_frame_errors; /* recv'd frame alignment error */ 59dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long rx_fifo_errors; /* recv'r fifo overrun */ 60dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long rx_missed_errors; /* receiver missed packet */ 61dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 62dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat /* detailed tx_errors */ 63dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long tx_aborted_errors; 64dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long tx_carrier_errors; 65dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long tx_fifo_errors; 66dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long tx_heartbeat_errors; 67dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long tx_window_errors; 68dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 69dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat /* for cslip etc */ 70dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long rx_compressed; 71dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat unsigned long tx_compressed; 72dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat}; 73dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 74dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 75dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat/* Media selection options. */ 76dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehatenum { 77dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat IF_PORT_UNKNOWN = 0, 78dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat IF_PORT_10BASE2, 79dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat IF_PORT_10BASET, 80dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat IF_PORT_AUI, 81dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat IF_PORT_100BASET, 82dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat IF_PORT_100BASETX, 83dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat IF_PORT_100BASEFX 84dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat}; 85dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 86dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat 87dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#endif /* _LINUX_NETDEVICE_H */ 88