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

1.1     ! root        1: /* dev.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: #ifndef _TCP_DEV_H
        !            23: #define _TCP_DEV_H
        !            24: /* for future expansion when we will have different priorities. */
        !            25: #define DEV_NUMBUFFS 3
        !            26: #define MAX_ADDR_LEN 6
        !            27: #define MAX_HEADER 14
        !            28: #define MAX_ROUTE 16
        !            29: 
        !            30: struct device
        !            31: {
        !            32:   char *name;
        !            33:   unsigned long rmem_end;
        !            34:   unsigned long rmem_start;
        !            35:   unsigned long mem_end;
        !            36:   unsigned long mem_start;
        !            37:   unsigned short base_addr;
        !            38:   unsigned char irq;
        !            39:   unsigned char start:1,
        !            40:                 tbusy:1,
        !            41:                 loopback:1,
        !            42:                 interrupt:1,
        !            43:                 up:1;
        !            44:   struct device *next;
        !            45:   void (*init)(struct device *dev);
        !            46:   unsigned long trans_start;
        !            47:   struct sk_buff *buffs[DEV_NUMBUFFS];
        !            48:   struct sk_buff *backlog;
        !            49:   int  (*open)(struct device *dev);
        !            50:   int  (*stop)(struct device *dev);
        !            51:   int (*hard_start_xmit) (struct sk_buff *skb, struct device *dev);
        !            52:   int (*hard_header) (unsigned char *buff, struct device *dev,
        !            53:                      unsigned short type, unsigned long daddr,
        !            54:                      unsigned long saddr, unsigned len);
        !            55:   void (*add_arp) (unsigned long addr, struct sk_buff *skb,
        !            56:                   struct device *dev);
        !            57:   void (*queue_xmit)(struct sk_buff *skb, struct device *dev, int pri);
        !            58:   int (*rebuild_header)(void *eth, struct device *dev);
        !            59:   unsigned short (*type_trans) (struct sk_buff *skb, struct device *dev);
        !            60:   void (*send_packet)(struct sk_buff *skb, struct device *dev);
        !            61:   void *private;
        !            62: 
        !            63:   unsigned short type;
        !            64:   unsigned short hard_header_len;
        !            65:   unsigned short mtu;
        !            66:   unsigned char broadcast[MAX_ADDR_LEN];
        !            67:   unsigned char dev_addr[MAX_ADDR_LEN];
        !            68:   unsigned char addr_len;
        !            69: };
        !            70: 
        !            71: extern struct device *dev_base;
        !            72: 
        !            73: struct packet_type
        !            74: {
        !            75:    unsigned short type; /* This is really NET16(ether_type) other devices
        !            76:                           will have to translate appropriately. */
        !            77:    unsigned short copy:1;
        !            78:    int (*func) (struct sk_buff *, struct device *, struct packet_type *);
        !            79:    void *data;
        !            80:    struct packet_type *next;
        !            81: };
        !            82: 
        !            83: /* used by dev_rint */
        !            84: #define IN_SKBUFF 1
        !            85: 
        !            86: extern struct packet_type *ptype_base;
        !            87: void dev_queue_xmit (struct sk_buff *skb, struct device *dev, int pri);
        !            88: int dev_rint (unsigned char *buff, unsigned long len, int flags,
        !            89:              struct device *dev);
        !            90: unsigned long dev_tint (unsigned char *buff, struct device *dev);
        !            91: void dev_add_pack (struct packet_type *pt);
        !            92: void dev_remove_pack (struct packet_type *pt);
        !            93: struct device *get_dev (char *name);
        !            94: 
        !            95: 
        !            96: #endif

unix.superglobalmegacorp.com

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