MFC r1.27:
[dragonfly.git] / sys / netinet6 / sctp6_var.h
blob219a29587f821e454e7cf3b66b6034d553f3c0c3
1 /* $KAME: sctp6_var.h,v 1.6 2003/11/25 06:40:55 ono Exp $ */
2 /* $DragonFly: src/sys/netinet6/sctp6_var.h,v 1.4 2006/05/20 02:42:12 dillon Exp $ */
4 /*
5 * Copyright (c) 2001, 2002, 2004 Cisco Systems, Inc.
6 * All rights reserved.
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. All advertising materials mentioning features or use of this software
17 * must display the following acknowledgement:
18 * This product includes software developed by Cisco Systems, Inc.
19 * 4. Neither the name of the project nor the names of its contributors
20 * may be used to endorse or promote products derived from this software
21 * without specific prior written permission.
23 * THIS SOFTWARE IS PROVIDED BY CISCO SYSTEMS AND CONTRIBUTORS ``AS IS'' AND
24 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL CISCO SYSTEMS OR CONTRIBUTORS BE LIABLE
27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
35 #ifndef _NETINET6_SCTP6_VAR_H_
36 #define _NETINET6_SCTP6_VAR_H_
38 #if defined(_KERNEL) || (defined(__APPLE__) && defined(KERNEL))
40 #ifndef _SYS_SYSCTL_H_
41 #include <sys/sysctl.h>
42 #endif
43 #ifndef _SYS_PROTOSW_H_
44 #include <sys/protosw.h>
45 #endif
47 struct mbuf;
48 struct proc;
49 struct socket;
50 struct sockopt;
51 struct sctp_inpcb;
53 #if defined(__FreeBSD__) || (__APPLE__) || defined(__DragonFly__)
54 SYSCTL_DECL(_net_inet6_sctp6);
55 extern struct pr_usrreqs sctp6_usrreqs;
56 int sctp6_ctloutput(struct socket *, struct sockopt *);
57 #else
58 int sctp6_ctloutput(int, struct socket *, int, int, struct mbuf **);
59 #if defined(__NetBSD__) || defined(__OpenBSD__)
60 int sctp6_usrreq(struct socket *, int, struct mbuf *, struct mbuf *,
61 struct mbuf *, struct proc *);
62 #else
63 int sctp6_usrreq(struct socket *, int, struct mbuf *, struct mbuf *,
64 struct mbuf *);
65 #endif /* __NetBSD__ || __OpenBSD__ */
66 #endif /* __FreeBSD__ || __APPLE__ || __DragonFly__ */
68 #if defined(__APPLE__)
69 int sctp6_input(struct mbuf **, int *);
70 #else
71 int sctp6_input(struct mbuf **, int *, int);
72 #endif
73 int sctp6_output(struct sctp_inpcb *, struct mbuf *, struct sockaddr *,
74 struct mbuf *, struct proc *);
75 void sctp6_ctlinput(int, struct sockaddr *, void *);
77 #endif /* _KERNEL */
78 #endif