xref: /illumos-gate/usr/src/uts/common/inet/sockmods/socksdpsubr.c (revision 0f1702c5201310f0529cd5abb77652e5e9b241b6)
1*0f1702c5SYu Xiangning /*
2*0f1702c5SYu Xiangning  * CDDL HEADER START
3*0f1702c5SYu Xiangning  *
4*0f1702c5SYu Xiangning  * The contents of this file are subject to the terms of the
5*0f1702c5SYu Xiangning  * Common Development and Distribution License (the "License").
6*0f1702c5SYu Xiangning  * You may not use this file except in compliance with the License.
7*0f1702c5SYu Xiangning  *
8*0f1702c5SYu Xiangning  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*0f1702c5SYu Xiangning  * or http://www.opensolaris.org/os/licensing.
10*0f1702c5SYu Xiangning  * See the License for the specific language governing permissions
11*0f1702c5SYu Xiangning  * and limitations under the License.
12*0f1702c5SYu Xiangning  *
13*0f1702c5SYu Xiangning  * When distributing Covered Code, include this CDDL HEADER in each
14*0f1702c5SYu Xiangning  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*0f1702c5SYu Xiangning  * If applicable, add the following below this CDDL HEADER, with the
16*0f1702c5SYu Xiangning  * fields enclosed by brackets "[]" replaced with your own identifying
17*0f1702c5SYu Xiangning  * information: Portions Copyright [yyyy] [name of copyright owner]
18*0f1702c5SYu Xiangning  *
19*0f1702c5SYu Xiangning  * CDDL HEADER END
20*0f1702c5SYu Xiangning  */
21*0f1702c5SYu Xiangning 
22*0f1702c5SYu Xiangning /*
23*0f1702c5SYu Xiangning  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24*0f1702c5SYu Xiangning  * Use is subject to license terms.
25*0f1702c5SYu Xiangning  */
26*0f1702c5SYu Xiangning 
27*0f1702c5SYu Xiangning #include <sys/types.h>
28*0f1702c5SYu Xiangning #include <sys/t_lock.h>
29*0f1702c5SYu Xiangning #include <sys/param.h>
30*0f1702c5SYu Xiangning #include <sys/systm.h>
31*0f1702c5SYu Xiangning #include <sys/debug.h>
32*0f1702c5SYu Xiangning #include <sys/errno.h>
33*0f1702c5SYu Xiangning #include <sys/strsubr.h>
34*0f1702c5SYu Xiangning #include <sys/cmn_err.h>
35*0f1702c5SYu Xiangning #include <sys/sysmacros.h>
36*0f1702c5SYu Xiangning 
37*0f1702c5SYu Xiangning #include <sys/socket.h>
38*0f1702c5SYu Xiangning #include <sys/socketvar.h>
39*0f1702c5SYu Xiangning #include <sys/strsun.h>
40*0f1702c5SYu Xiangning #include <sys/signal.h>
41*0f1702c5SYu Xiangning 
42*0f1702c5SYu Xiangning #include <inet/sdp_itf.h>
43*0f1702c5SYu Xiangning #include "socksdp.h"
44*0f1702c5SYu Xiangning 
45*0f1702c5SYu Xiangning /*
46*0f1702c5SYu Xiangning  * Inherit socket properties
47*0f1702c5SYu Xiangning  */
48*0f1702c5SYu Xiangning void
sosdp_so_inherit(struct sonode * lso,struct sonode * nso)49*0f1702c5SYu Xiangning sosdp_so_inherit(struct sonode *lso, struct sonode *nso)
50*0f1702c5SYu Xiangning {
51*0f1702c5SYu Xiangning 	nso->so_options = lso->so_options & (SO_DEBUG|SO_REUSEADDR|
52*0f1702c5SYu Xiangning 	    SO_KEEPALIVE|SO_DONTROUTE|SO_BROADCAST|SO_USELOOPBACK|
53*0f1702c5SYu Xiangning 	    SO_OOBINLINE|SO_DGRAM_ERRIND|SO_LINGER);
54*0f1702c5SYu Xiangning 	nso->so_sndbuf = lso->so_sndbuf;
55*0f1702c5SYu Xiangning 	nso->so_rcvbuf = lso->so_rcvbuf;
56*0f1702c5SYu Xiangning 	nso->so_pgrp = lso->so_pgrp;
57*0f1702c5SYu Xiangning 
58*0f1702c5SYu Xiangning 	nso->so_rcvlowat = lso->so_rcvlowat;
59*0f1702c5SYu Xiangning 	nso->so_sndlowat = lso->so_sndlowat;
60*0f1702c5SYu Xiangning }
61