Annotation of Gnu-Mach/linux/src/include/net/protocol.h, revision 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.