Deleted Added
full compact
ng_ksocket.c (263140) ng_ksocket.c (263152)
1/*
2 * ng_ksocket.c
3 */
4
5/*-
6 * Copyright (c) 1996-1999 Whistle Communications, Inc.
7 * All rights reserved.
8 *

--- 23 unchanged lines hidden (view full) ---

32 * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
35 * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
36 * OF SUCH DAMAGE.
37 *
38 * Author: Archie Cobbs <archie@freebsd.org>
39 *
1/*
2 * ng_ksocket.c
3 */
4
5/*-
6 * Copyright (c) 1996-1999 Whistle Communications, Inc.
7 * All rights reserved.
8 *

--- 23 unchanged lines hidden (view full) ---

32 * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
35 * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
36 * OF SUCH DAMAGE.
37 *
38 * Author: Archie Cobbs <archie@freebsd.org>
39 *
40 * $FreeBSD: head/sys/netgraph/ng_ksocket.c 263140 2014-03-14 02:58:48Z glebius $
40 * $FreeBSD: head/sys/netgraph/ng_ksocket.c 263152 2014-03-14 06:29:43Z glebius $
41 * $Whistle: ng_ksocket.c,v 1.1 1999/11/16 20:04:40 archie Exp $
42 */
43
44/*
45 * Kernel socket node type. This node type is basically a kernel-mode
46 * version of a socket... kindof like the reverse of the socket node type.
47 */
48

--- 13 unchanged lines hidden (view full) ---

62
63#include <netgraph/ng_message.h>
64#include <netgraph/netgraph.h>
65#include <netgraph/ng_parse.h>
66#include <netgraph/ng_ksocket.h>
67
68#include <netinet/in.h>
69#include <netinet/ip.h>
41 * $Whistle: ng_ksocket.c,v 1.1 1999/11/16 20:04:40 archie Exp $
42 */
43
44/*
45 * Kernel socket node type. This node type is basically a kernel-mode
46 * version of a socket... kindof like the reverse of the socket node type.
47 */
48

--- 13 unchanged lines hidden (view full) ---

62
63#include <netgraph/ng_message.h>
64#include <netgraph/netgraph.h>
65#include <netgraph/ng_parse.h>
66#include <netgraph/ng_ksocket.h>
67
68#include <netinet/in.h>
69#include <netinet/ip.h>
70#include <netatalk/at.h>
71
72#ifdef NG_SEPARATE_MALLOC
73static MALLOC_DEFINE(M_NETGRAPH_KSOCKET, "netgraph_ksock",
74 "netgraph ksock node");
75#else
76#define M_NETGRAPH_KSOCKET M_NETGRAPH
77#endif
78

--- 37 unchanged lines hidden (view full) ---

116 const int family;
117};
118
119/* Protocol family aliases */
120static const struct ng_ksocket_alias ng_ksocket_families[] = {
121 { "local", PF_LOCAL },
122 { "inet", PF_INET },
123 { "inet6", PF_INET6 },
70
71#ifdef NG_SEPARATE_MALLOC
72static MALLOC_DEFINE(M_NETGRAPH_KSOCKET, "netgraph_ksock",
73 "netgraph ksock node");
74#else
75#define M_NETGRAPH_KSOCKET M_NETGRAPH
76#endif
77

--- 37 unchanged lines hidden (view full) ---

115 const int family;
116};
117
118/* Protocol family aliases */
119static const struct ng_ksocket_alias ng_ksocket_families[] = {
120 { "local", PF_LOCAL },
121 { "inet", PF_INET },
122 { "inet6", PF_INET6 },
124 { "atalk", PF_APPLETALK },
125 { "atm", PF_ATM },
126 { NULL, -1 },
127};
128
129/* Socket type aliases */
130static const struct ng_ksocket_alias ng_ksocket_types[] = {
131 { "stream", SOCK_STREAM },
132 { "dgram", SOCK_DGRAM },

--- 13 unchanged lines hidden (view full) ---

146 { "udp", IPPROTO_UDP, PF_INET },
147 { "gre", IPPROTO_GRE, PF_INET },
148 { "esp", IPPROTO_ESP, PF_INET },
149 { "ah", IPPROTO_AH, PF_INET },
150 { "swipe", IPPROTO_SWIPE, PF_INET },
151 { "encap", IPPROTO_ENCAP, PF_INET },
152 { "divert", IPPROTO_DIVERT, PF_INET },
153 { "pim", IPPROTO_PIM, PF_INET },
123 { "atm", PF_ATM },
124 { NULL, -1 },
125};
126
127/* Socket type aliases */
128static const struct ng_ksocket_alias ng_ksocket_types[] = {
129 { "stream", SOCK_STREAM },
130 { "dgram", SOCK_DGRAM },

--- 13 unchanged lines hidden (view full) ---

144 { "udp", IPPROTO_UDP, PF_INET },
145 { "gre", IPPROTO_GRE, PF_INET },
146 { "esp", IPPROTO_ESP, PF_INET },
147 { "ah", IPPROTO_AH, PF_INET },
148 { "swipe", IPPROTO_SWIPE, PF_INET },
149 { "encap", IPPROTO_ENCAP, PF_INET },
150 { "divert", IPPROTO_DIVERT, PF_INET },
151 { "pim", IPPROTO_PIM, PF_INET },
154 { "ddp", ATPROTO_DDP, PF_APPLETALK },
155 { "aarp", ATPROTO_AARP, PF_APPLETALK },
156 { NULL, -1 },
157};
158
159/* Helper functions */
160static int ng_ksocket_check_accept(priv_p);
161static void ng_ksocket_finish_accept(priv_p);
162static int ng_ksocket_incoming(struct socket *so, void *arg, int waitflag);
163static int ng_ksocket_parse(const struct ng_ksocket_alias *aliases,

--- 131 unchanged lines hidden (view full) ---

295 sin->sin_port = 0;
296 }
297 bzero(&sin->sin_zero, sizeof(sin->sin_zero));
298 sin->sin_len = sizeof(*sin);
299 break;
300 }
301
302#if 0
152 { NULL, -1 },
153};
154
155/* Helper functions */
156static int ng_ksocket_check_accept(priv_p);
157static void ng_ksocket_finish_accept(priv_p);
158static int ng_ksocket_incoming(struct socket *so, void *arg, int waitflag);
159static int ng_ksocket_parse(const struct ng_ksocket_alias *aliases,

--- 131 unchanged lines hidden (view full) ---

291 sin->sin_port = 0;
292 }
293 bzero(&sin->sin_zero, sizeof(sin->sin_zero));
294 sin->sin_len = sizeof(*sin);
295 break;
296 }
297
298#if 0
303 case PF_APPLETALK: /* XXX implement these someday */
304 case PF_INET6:
299 case PF_INET6: /* XXX implement this someday */
305#endif
306
307 default:
308 return (EINVAL);
309 }
310
311 /* Done */
312 *buflen = sa->sa_len;

--- 45 unchanged lines hidden (view full) ---

358 }
359 if (slen >= cbuflen)
360 return (ERANGE);
361 *off += sizeof(*sin);
362 return(0);
363 }
364
365#if 0
300#endif
301
302 default:
303 return (EINVAL);
304 }
305
306 /* Done */
307 *buflen = sa->sa_len;

--- 45 unchanged lines hidden (view full) ---

353 }
354 if (slen >= cbuflen)
355 return (ERANGE);
356 *off += sizeof(*sin);
357 return(0);
358 }
359
360#if 0
366 case PF_APPLETALK: /* XXX implement these someday */
367 case PF_INET6:
361 case PF_INET6: /* XXX implement this someday */
368#endif
369
370 default:
371 return (*ng_ksocket_generic_sockaddr_type.supertype->unparse)
372 (&ng_ksocket_generic_sockaddr_type,
373 data, off, cbuf, cbuflen);
374 }
375}

--- 947 unchanged lines hidden ---
362#endif
363
364 default:
365 return (*ng_ksocket_generic_sockaddr_type.supertype->unparse)
366 (&ng_ksocket_generic_sockaddr_type,
367 data, off, cbuf, cbuflen);
368 }
369}

--- 947 unchanged lines hidden ---