OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [uclinux/] [uC-libc/] [include/] [net/] [protocol.h] - Blame information for rev 199

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 199 simons
/*
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, <waltje@uWalt.NL.Mugnet.ORG>
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 */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.