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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [ecos-2.0/] [packages/] [net/] [tcpip/] [v2_0/] [include/] [netinet6/] [ip6protosw.h] - Blame information for rev 1254

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

Line No. Rev Author Line
1 1254 phoenix
//==========================================================================
2
//
3
//      include/netinet6_ip6protosw.h
4
//
5
//      
6
//
7
//==========================================================================
8
//####BSDCOPYRIGHTBEGIN####
9
//
10
// -------------------------------------------
11
//
12
// Portions of this software may have been derived from OpenBSD or other sources,
13
// and are covered by the appropriate copyright disclaimers included herein.
14
//
15
// -------------------------------------------
16
//
17
//####BSDCOPYRIGHTEND####
18
//==========================================================================
19
//#####DESCRIPTIONBEGIN####
20
//
21
// Author(s):    gthomas
22
// Contributors: gthomas
23
// Date:         2000-01-10
24
// Purpose:      
25
// Description:  
26
//              
27
//
28
//####DESCRIPTIONEND####
29
//
30
//==========================================================================
31
 
32
/*      $OpenBSD: ip6protosw.h,v 1.2 1999/12/10 10:04:28 angelos Exp $  */
33
 
34
/*
35
 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
36
 * All rights reserved.
37
 *
38
 * Redistribution and use in source and binary forms, with or without
39
 * modification, are permitted provided that the following conditions
40
 * are met:
41
 * 1. Redistributions of source code must retain the above copyright
42
 *    notice, this list of conditions and the following disclaimer.
43
 * 2. Redistributions in binary form must reproduce the above copyright
44
 *    notice, this list of conditions and the following disclaimer in the
45
 *    documentation and/or other materials provided with the distribution.
46
 * 3. Neither the name of the project nor the names of its contributors
47
 *    may be used to endorse or promote products derived from this software
48
 *    without specific prior written permission.
49
 *
50
 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
51
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
52
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
53
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
54
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
55
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
56
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
57
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
58
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
59
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
60
 * SUCH DAMAGE.
61
 *
62
 */
63
 
64
/*      BSDI protosw.h,v 2.3 1996/10/11 16:02:40 pjd Exp        */
65
 
66
/*-
67
 * Copyright (c) 1982, 1986, 1993
68
 *      The Regents of the University of California.  All rights reserved.
69
 *
70
 * Redistribution and use in source and binary forms, with or without
71
 * modification, are permitted provided that the following conditions
72
 * are met:
73
 * 1. Redistributions of source code must retain the above copyright
74
 *    notice, this list of conditions and the following disclaimer.
75
 * 2. Redistributions in binary form must reproduce the above copyright
76
 *    notice, this list of conditions and the following disclaimer in the
77
 *    documentation and/or other materials provided with the distribution.
78
 * 3. All advertising materials mentioning features or use of this software
79
 *    must display the following acknowledgement:
80
 *      This product includes software developed by the University of
81
 *      California, Berkeley and its contributors.
82
 * 4. Neither the name of the University nor the names of its contributors
83
 *    may be used to endorse or promote products derived from this software
84
 *    without specific prior written permission.
85
 *
86
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
87
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
88
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
89
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
90
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
91
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
92
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
93
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
94
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
95
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
96
 * SUCH DAMAGE.
97
 *
98
 *      @(#)protosw.h   8.1 (Berkeley) 6/2/93
99
 */
100
 
101
#ifndef _NETINET6_IP6PROTOSW_H_
102
#define _NETINET6_IP6PROTOSW_H_
103
 
104
/*
105
 * Protocol switch table for IPv6.
106
 * All other definitions should refer to sys/protosw.h
107
 */
108
 
109
struct mbuf;
110
struct sockaddr;
111
struct socket;
112
struct domain;
113
struct proc;
114
struct ip6_hdr;
115
 
116
/*
117
 * argument type for the last arg of pr_ctlinput().
118
 * should be consulted only with AF_INET6 family.
119
 */
120
struct ip6ctlparam {
121
        struct mbuf *ip6c_m;            /* start of mbuf chain */
122
        struct ip6_hdr *ip6c_ip6;       /* ip6 header of target packet */
123
        int ip6c_off;                   /* offset of the target proto header */
124
};
125
 
126
struct ip6protosw {
127
        short   pr_type;                /* socket type used for */
128
        struct  domain *pr_domain;      /* domain protocol a member of */
129
        short   pr_protocol;            /* protocol number */
130
        short   pr_flags;               /* see below */
131
 
132
/* protocol-protocol hooks */
133
        int     (*pr_input)             /* input to protocol (from below) */
134
                        __P((struct mbuf **, int *, int));
135
        int     (*pr_output)            /* output to protocol (from above) */
136
                        __P((struct mbuf *, ...));
137
        void    (*pr_ctlinput)          /* control input (from below) */
138
                        __P((int, struct sockaddr *, void *));
139
        int     (*pr_ctloutput)         /* control output (from above) */
140
                        __P((int, struct socket *, int, int, struct mbuf **));
141
 
142
/* user-protocol hook */
143
        int     (*pr_usrreq)            /* user request: see list below */
144
                        __P((struct socket *, int, struct mbuf *,
145
                             struct mbuf *, struct mbuf *, struct proc *));
146
 
147
/* utility hooks */
148
        void    (*pr_init)              /* initialization hook */
149
                        __P((void));
150
 
151
        void    (*pr_fasttimo)          /* fast timeout (200ms) */
152
                        __P((void));
153
        void    (*pr_slowtimo)          /* slow timeout (500ms) */
154
                        __P((void));
155
        void    (*pr_drain)             /* flush any excess space possible */
156
                        __P((void));
157
        int     (*pr_sysctl)            /* sysctl for protocol */
158
                        __P((int *, u_int, void *, size_t *, void *, size_t));
159
};
160
 
161
#endif /* !_NETINET6_IP6PROTOSW_H_ */

powered by: WebSVN 2.1.0

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