📄 netdevice.h
字号:
/* * INET An implementation of the TCP/IP protocol suite for the LINUX * operating system. INET is implemented using the BSD Socket * interface as the means of communication with the user level. * * Definitions for the Interfaces handler. * * Version: @(#)dev.h 1.0.10 08/12/93 * * Authors: Ross Biro, <bir7@leland.Stanford.Edu> * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> * Corey Minyard <wf-rch!minyard@relay.EU.net> * Donald J. Becker, <becker@cesdis.gsfc.nasa.gov> * Alan Cox, <Alan.Cox@linux.org> * Bjorn Ekwall. <bj0rn@blox.se> * Pekka Riikonen <priikone@poseidon.pspt.fi> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. * * Moved to /usr/include/linux for NET3 */#ifndef _LINUX_NETDEVICE_H#define _LINUX_NETDEVICE_H#include <linux/if.h>#include <linux/if_ether.h>#include <linux/if_packet.h>#include <asm/cache.h>#include <asm/byteorder.h>struct divert_blk;#define HAVE_ALLOC_NETDEV /* feature macro: alloc_xxxdev functions are available. */#define NET_XMIT_SUCCESS 0#define NET_XMIT_DROP 1 /* skb dropped */#define NET_XMIT_CN 2 /* congestion notification */#define NET_XMIT_POLICED 3 /* skb is shot by police */#define NET_XMIT_BYPASS 4 /* packet does not leave via dequeue; (TC use only - dev_queue_xmit returns this as NET_XMIT_SUCCESS) *//* Backlog congestion levels */#define NET_RX_SUCCESS 0 /* keep 'em coming, baby */#define NET_RX_DROP 1 /* packet dropped */#define NET_RX_CN_LOW 2 /* storm alert, just in case */#define NET_RX_CN_MOD 3 /* Storm on its way! */#define NET_RX_CN_HIGH 4 /* The storm is here */#define NET_RX_BAD 5 /* packet dropped due to kernel error */#define net_xmit_errno(e) ((e) != NET_XMIT_CN ? -ENOBUFS : 0)#define MAX_ADDR_LEN 8 /* Largest hardware address length *//* * Compute the worst case header length according to the protocols * used. */ #if !defined(CONFIG_AX25) && !defined(CONFIG_AX25_MODULE) && !defined(CONFIG_TR)#define LL_MAX_HEADER 32#else#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)#define LL_MAX_HEADER 96#else#define LL_MAX_HEADER 48#endif#endif#if !defined(CONFIG_NET_IPIP) && \ !defined(CONFIG_IPV6) && !defined(CONFIG_IPV6_MODULE)#define MAX_HEADER LL_MAX_HEADER#else#define MAX_HEADER (LL_MAX_HEADER + 48)#endif/* * Network device statistics. Akin to the 2.0 ether stats but * with byte counters. */ struct net_device_stats{ unsigned long rx_packets; /* total packets received */ unsigned long tx_packets; /* total packets transmitted */ unsigned long rx_bytes; /* total bytes received */ unsigned long tx_bytes; /* total bytes transmitted */ unsigned long rx_errors; /* bad packets received */ unsigned long tx_errors; /* packet transmit problems */ unsigned long rx_dropped; /* no space in linux buffers */ unsigned long tx_dropped; /* no space available in linux */ unsigned long multicast; /* multicast packets received */ unsigned long collisions; /* detailed rx_errors: */ unsigned long rx_length_errors; unsigned long rx_over_errors; /* receiver ring buff overflow */ unsigned long rx_crc_errors; /* recved pkt with crc error */ unsigned long rx_frame_errors; /* recv'd frame alignment error */ unsigned long rx_fifo_errors; /* recv'r fifo overrun */ unsigned long rx_missed_errors; /* receiver missed packet */ /* detailed tx_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; /* for cslip etc */ unsigned long rx_compressed; unsigned long tx_compressed;};/* Media selection options. */enum { IF_PORT_UNKNOWN = 0, IF_PORT_10BASE2, IF_PORT_10BASET, IF_PORT_AUI, IF_PORT_100BASET, IF_PORT_100BASETX, IF_PORT_100BASEFX};#endif /* _LINUX_DEV_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -