tcpddi.c revision 12643:044ff822d212
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21/* 22 * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved. 23 */ 24/* Copyright (c) 1990 Mentat Inc. */ 25 26#include <sys/types.h> 27#include <sys/conf.h> 28#include <sys/modctl.h> 29#include <inet/common.h> 30#include <inet/ip.h> 31#include <inet/tcp_impl.h> 32#include <sys/strsubr.h> 33#include <sys/socketvar.h> 34 35#define INET_NAME "tcp" 36#define INET_MODSTRTAB dummymodinfo 37#define INET_DEVSTRTAB tcpinfov4 38#define INET_DEVDESC "TCP STREAMS driver" 39#define INET_MODDESC "TCP dummy STREAMS module" 40#define INET_SOCKDESC "TCP socket module" 41#define INET_SOCK_PROTO_CREATE_FUNC (*tcp_create) 42#define INET_SOCK_PROTO_FB_FUNC (*tcp_fallback) 43#define INET_SOCK_FALLBACK_DEV_V4 "/dev/tcp" 44#define INET_SOCK_FALLBACK_DEV_V6 "/dev/tcp6" 45#define INET_DEVMINOR 0 46#define INET_MODMTFLAGS D_MP 47#define INET_DEVMTFLAGS (D_MP|_D_DIRECT) 48 49#include "../inetddi.c" 50 51int 52_init(void) 53{ 54 /* 55 * device initialization happens when the actual code containing 56 * module (/kernel/drv/ip) is loaded, and driven from ip_ddi_init() 57 */ 58 return (mod_install(&modlinkage)); 59} 60 61int 62_fini(void) 63{ 64 return (mod_remove(&modlinkage)); 65} 66 67int 68_info(struct modinfo *modinfop) 69{ 70 return (mod_info(&modlinkage, modinfop)); 71} 72