FreeBSD/Linux Kernel Cross Reference
sys/netns/ns_var.h
1 /* $NetBSD: ns_var.h,v 1.12 2001/06/19 07:37:17 jdolecek Exp $ */
2
3 /*-
4 * Copyright (c) 1995 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Christos Zoulas.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 * 3. All advertising materials mentioning features or use of this software
19 * must display the following acknowledgement:
20 * This product includes software developed by the NetBSD
21 * Foundation, Inc. and its contributors.
22 * 4. Neither the name of The NetBSD Foundation nor the names of its
23 * contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
27 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
28 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
30 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 * POSSIBILITY OF SUCH DAMAGE.
37 */
38
39 #ifdef _KERNEL
40 extern long ns_pexseq;
41 extern u_char nsctlerrmap[];
42
43 struct socket;
44 struct nspcb;
45 struct ifaddr;
46 struct ifnet;
47 struct ns_ifaddr;
48 struct sockaddr_ns;
49 struct mbuf;
50 struct ns_addr;
51 struct route;
52 struct ifnet_en;
53 struct in_addr;
54 struct sockaddr;
55
56 /* ns.c */
57 int ns_control __P((struct socket *, u_long, caddr_t, struct ifnet *,
58 struct proc *));
59 void ns_ifscrub __P((struct ifnet *, struct ns_ifaddr *));
60 int ns_ifinit __P((struct ifnet *, struct ns_ifaddr *, struct sockaddr_ns *,
61 int));
62 struct ns_ifaddr *ns_iaonnetof __P((struct ns_addr *));
63 void ns_purgeaddr __P((struct ifaddr *, struct ifnet *));
64 void ns_purgeif __P((struct ifnet *));
65
66 /* ns_cksum.c */
67 u_int16_t ns_cksum __P((struct mbuf *, int));
68
69 /* ns_error.c */
70 int ns_err_x __P((int));
71 void ns_error __P((struct mbuf *, int, int ));
72 void ns_printhost __P((struct ns_addr *));
73 void ns_err_input __P((struct mbuf *));
74 u_int32_t nstime __P((void));
75 int ns_echo __P((struct mbuf *));
76
77 /* ns_input.c */
78 void ns_init __P((void));
79 void nsintr __P((void));
80 void *idp_ctlinput __P((int, struct sockaddr *, void *));
81 void idp_forward __P((struct mbuf *));
82 int idp_do_route __P((struct ns_addr *, struct route *));
83 void idp_undo_route __P((struct route *));
84 void ns_watch_output __P((struct mbuf *, struct ifnet *));
85
86 /* ns_ip.c */
87 struct ifnet_en *nsipattach __P((void));
88 int nsipioctl __P((struct ifnet *, u_long, caddr_t));
89 void idpip_input __P((struct mbuf *, ...));
90 void nsipstart __P((struct ifnet *));
91 int nsip_route __P((struct mbuf *));
92 int nsip_free __P((struct ifnet *));
93 void *nsip_ctlinput __P((int, struct sockaddr *, void *));
94
95 /* ns_output.c */
96 int ns_output __P((struct mbuf *, ...));
97
98 /* ns_pcb.c */
99 int ns_pcballoc __P((struct socket *, struct nspcb *));
100 int ns_pcbbind __P((struct nspcb *, struct mbuf *, struct proc *));
101 int ns_pcbconnect __P((struct nspcb *, struct mbuf *));
102 void ns_pcbdisconnect __P((struct nspcb *));
103 void ns_pcbdetach __P((struct nspcb *));
104 void ns_setsockaddr __P((struct nspcb *, struct mbuf *));
105 void ns_setpeeraddr __P((struct nspcb *, struct mbuf *));
106 void ns_pcbnotify __P((struct ns_addr *, int, void (*)(struct nspcb *), long));
107 void ns_rtchange __P((struct nspcb *));
108 struct nspcb *ns_pcblookup __P((const struct ns_addr *, u_short, int));
109
110 #endif
Cache object: e195f152f58b7903068e68f28007c014
|