Annotation of linux/net/tcp/eth.h, revision 1.1

1.1     ! root        1: /* eth.h */
        !             2: /*
        !             3:     Copyright (C) 1992  Ross Biro
        !             4: 
        !             5:     This program is free software; you can redistribute it and/or modify
        !             6:     it under the terms of the GNU General Public License as published by
        !             7:     the Free Software Foundation; either version 2, or (at your option)
        !             8:     any later version.
        !             9: 
        !            10:     This program is distributed in the hope that it will be useful,
        !            11:     but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            12:     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            13:     GNU General Public License for more details.
        !            14: 
        !            15:     You should have received a copy of the GNU General Public License
        !            16:     along with this program; if not, write to the Free Software
        !            17:     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 
        !            18: 
        !            19:     The Author may be reached as [email protected] or
        !            20:     C/O Department of Mathematics; Stanford University; Stanford, CA 94305
        !            21: */
        !            22: 
        !            23: 
        !            24: #ifndef _TCP_ETH_H
        !            25: #define _TCP_ETH_H
        !            26: 
        !            27: #define ETHER_MIN_LEN 64
        !            28: #define ETHER_ADDR_LEN 6
        !            29: 
        !            30: #define ETHERTYPE_ARP 0x806
        !            31: #define ETHERTYPE_IP  0x800
        !            32: #define ETHER_TYPE 1
        !            33: 
        !            34: /* Reciever modes */
        !            35: #define ETH_MODE_MONITOR               1       /* Monitor mode - no receive */
        !            36: #define ETH_MODE_PHYSICAL              2       /* Physical address receive only */
        !            37: #define ETH_MODE_BROADCAST             3       /* Broadcast receive + mode 2 */
        !            38: #define ETH_MODE_MULTICAST             4       /* Multicast receive + mode 3 */
        !            39: #define ETH_MODE_PROMISCUOUS           5       /* Promiscuous mode - receive all */
        !            40: 
        !            41: #define WD_RX_SAVE_ERRORS      1       /* save error packets */
        !            42: #define WD_RX_RUNT             2       /* accept runt packets */
        !            43: #define WD_RX_BROAD            4       /* accept broadcast packets */
        !            44: #define WD_RX_MULTI            8       /* accept multicast packets */
        !            45: #define WD_RX_PROM             0x10    /* accept all packets */
        !            46: #define WD_RX_MON              0x20    /* monitor mode (just count packets) */
        !            47: 
        !            48: #define NET16(x) (((x&0xff)<<8)|((x>>8)&0xff))
        !            49: 
        !            50: struct enet_header
        !            51: {
        !            52:   unsigned char daddr[ETHER_ADDR_LEN];
        !            53:   unsigned char saddr[ETHER_ADDR_LEN];
        !            54:   unsigned short type;
        !            55: };
        !            56: 
        !            57: #define ETHER_HEADER sizeof(struct enet_header)
        !            58: 
        !            59: struct enet_statistics{
        !            60:   int rx_packets;      /* total packets received */
        !            61:   int tx_packets;      /* total packets transmitted */
        !            62:   int rx_errors;       /* bad packets received */
        !            63:   int tx_errors;       /* packet transmit problems */
        !            64:   int rx_dropped;      /* no space in linux buffers */
        !            65:   int tx_dropped;      /* no space available in linux */
        !            66:   int collisions;      /* total number of collisions */
        !            67:   int multicast;       /* multicast packets received */
        !            68:                        /* detailed rx_errors: */
        !            69:   int rx_length_errors;
        !            70:   int rx_over_errors;  /* receiver overwrote ring buffer in card */
        !            71:   int rx_crc_errors;   /* received packet with crc error */
        !            72:   int rx_frame_errors;         /* received frame alignment error */
        !            73:   int rx_fifo_errors;  /* receiver fifo overrun */
        !            74:   int rx_missed_errors; /* receiver missed packet */
        !            75:                        /* detailed tx_errors */
        !            76:   int tx_aborted_errors;
        !            77:   int tx_carrier_errors;
        !            78:   int tx_fifo_errors;
        !            79:   int tx_heartbeat_errors;
        !            80:   int tx_window_errors;
        !            81: };
        !            82: 
        !            83: void print_eth(struct enet_header *eth);
        !            84: int eth_hard_header (unsigned char *buff, struct device *dev,
        !            85:                     unsigned short type, unsigned long daddr,
        !            86:                     unsigned long saddr, unsigned len);
        !            87: 
        !            88: int eth_rebuild_header(void *eth, struct device *dev);
        !            89: void eth_add_arp (unsigned long addr, struct sk_buff *skb,
        !            90:                  struct device *dev);
        !            91: unsigned short eth_type_trans (struct sk_buff *skb, struct device *dev);
        !            92: 
        !            93: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.