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 --- |