xref: /onnv-gate/usr/src/uts/common/inet/tcp/tcpddi.c (revision 12643:044ff822d212)
10Sstevel@tonic-gate /*
20Sstevel@tonic-gate  * CDDL HEADER START
30Sstevel@tonic-gate  *
40Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
55240Snordmark  * Common Development and Distribution License (the "License").
65240Snordmark  * You may not use this file except in compliance with the License.
70Sstevel@tonic-gate  *
80Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
90Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
100Sstevel@tonic-gate  * See the License for the specific language governing permissions
110Sstevel@tonic-gate  * and limitations under the License.
120Sstevel@tonic-gate  *
130Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
140Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
150Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
160Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
170Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
180Sstevel@tonic-gate  *
190Sstevel@tonic-gate  * CDDL HEADER END
200Sstevel@tonic-gate  */
210Sstevel@tonic-gate /*
22*12643SAnders.Persson@Sun.COM  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
230Sstevel@tonic-gate  */
240Sstevel@tonic-gate /* Copyright (c) 1990 Mentat Inc. */
250Sstevel@tonic-gate 
260Sstevel@tonic-gate #include <sys/types.h>
270Sstevel@tonic-gate #include <sys/conf.h>
280Sstevel@tonic-gate #include <sys/modctl.h>
290Sstevel@tonic-gate #include <inet/common.h>
300Sstevel@tonic-gate #include <inet/ip.h>
318348SEric.Yu@Sun.COM #include <inet/tcp_impl.h>
328348SEric.Yu@Sun.COM #include <sys/strsubr.h>
338348SEric.Yu@Sun.COM #include <sys/socketvar.h>
340Sstevel@tonic-gate 
350Sstevel@tonic-gate #define	INET_NAME	"tcp"
365240Snordmark #define	INET_MODSTRTAB	dummymodinfo
375240Snordmark #define	INET_DEVSTRTAB	tcpinfov4
387862SRichard.Bean@Sun.COM #define	INET_DEVDESC	"TCP STREAMS driver"
397862SRichard.Bean@Sun.COM #define	INET_MODDESC	"TCP dummy STREAMS module"
408348SEric.Yu@Sun.COM #define	INET_SOCKDESC	"TCP socket module"
418348SEric.Yu@Sun.COM #define	INET_SOCK_PROTO_CREATE_FUNC	(*tcp_create)
428348SEric.Yu@Sun.COM #define	INET_SOCK_PROTO_FB_FUNC		(*tcp_fallback)
43*12643SAnders.Persson@Sun.COM #define	INET_SOCK_FALLBACK_DEV_V4	"/dev/tcp"
44*12643SAnders.Persson@Sun.COM #define	INET_SOCK_FALLBACK_DEV_V6	"/dev/tcp6"
455240Snordmark #define	INET_DEVMINOR	0
465240Snordmark #define	INET_MODMTFLAGS	D_MP
479491SAnders.Persson@Sun.COM #define	INET_DEVMTFLAGS	(D_MP|_D_DIRECT)
480Sstevel@tonic-gate 
490Sstevel@tonic-gate #include "../inetddi.c"
500Sstevel@tonic-gate 
510Sstevel@tonic-gate int
_init(void)520Sstevel@tonic-gate _init(void)
530Sstevel@tonic-gate {
540Sstevel@tonic-gate 	/*
555240Snordmark 	 * device initialization happens when the actual code containing
565240Snordmark 	 * module (/kernel/drv/ip) is loaded, and driven from ip_ddi_init()
570Sstevel@tonic-gate 	 */
580Sstevel@tonic-gate 	return (mod_install(&modlinkage));
590Sstevel@tonic-gate }
600Sstevel@tonic-gate 
610Sstevel@tonic-gate int
_fini(void)620Sstevel@tonic-gate _fini(void)
630Sstevel@tonic-gate {
640Sstevel@tonic-gate 	return (mod_remove(&modlinkage));
650Sstevel@tonic-gate }
660Sstevel@tonic-gate 
670Sstevel@tonic-gate int
_info(struct modinfo * modinfop)680Sstevel@tonic-gate _info(struct modinfo *modinfop)
690Sstevel@tonic-gate {
700Sstevel@tonic-gate 	return (mod_info(&modlinkage, modinfop));
710Sstevel@tonic-gate }
72