Annotation of linux/net/tcp/dev.h, revision 1.1.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.