Annotation of Gnu-Mach/linux/src/include/net/protocol.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * INET                An implementation of the TCP/IP protocol suite for the LINUX
                      3:  *             operating system.  INET is implemented using the  BSD Socket
                      4:  *             interface as the means of communication with the user level.
                      5:  *
                      6:  *             Definitions for the protocol dispatcher.
                      7:  *
                      8:  * Version:    @(#)protocol.h  1.0.2   05/07/93
                      9:  *
                     10:  * Author:     Fred N. van Kempen, <[email protected]>
                     11:  *
                     12:  *             This program is free software; you can redistribute it and/or
                     13:  *             modify it under the terms of the GNU General Public License
                     14:  *             as published by the Free Software Foundation; either version
                     15:  *             2 of the License, or (at your option) any later version.
                     16:  *
                     17:  *     Changes:
                     18:  *             Alan Cox        :       Added a name field and a frag handler
                     19:  *                                     field for later.
                     20:  *             Alan Cox        :       Cleaned up, and sorted types.
                     21:  */
                     22:  
                     23: #ifndef _PROTOCOL_H
                     24: #define _PROTOCOL_H
                     25: 
                     26: #define MAX_INET_PROTOS        32              /* Must be a power of 2         */
                     27: 
                     28: 
                     29: /* This is used to register protocols. */
                     30: struct inet_protocol {
                     31:   int                  (*handler)(struct sk_buff *skb, struct device *dev,
                     32:                                   struct options *opt, __u32 daddr,
                     33:                                   unsigned short len, __u32 saddr,
                     34:                                   int redo, struct inet_protocol *protocol);
                     35:   void                 (*err_handler)(int type, int code, unsigned char *buff,
                     36:                                       __u32 daddr,
                     37:                                       __u32 saddr,
                     38:                                       struct inet_protocol *protocol, int len);
                     39:   struct inet_protocol *next;
                     40:   unsigned char                protocol;
                     41:   unsigned char                copy:1;
                     42:   void                 *data;
                     43:   const char           *name;
                     44: };
                     45: 
                     46: 
                     47: extern struct inet_protocol *inet_protocol_base;
                     48: extern struct inet_protocol *inet_protos[MAX_INET_PROTOS];
                     49: 
                     50: 
                     51: extern void            inet_add_protocol(struct inet_protocol *prot);
                     52: extern int             inet_del_protocol(struct inet_protocol *prot);
                     53: 
                     54: 
                     55: #endif /* _PROTOCOL_H */

unix.superglobalmegacorp.com

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