Lines Matching refs:sti
375 sotpi_info_t *sti = SOTOTPI(so); in sotpi_init() local
388 if (getmajor(sti->sti_dev) == clone_major) in sotpi_init()
403 sti->sti_direct = 1; in sotpi_init()
421 sti->sti_direct = 0; in sotpi_init()
446 sti->sti_dev = newdev; in sotpi_init()
460 sti->sti_provinfo = tpi_findprov(stp->sd_wrq); in sotpi_init()
473 if (sti->sti_direct) { in sotpi_init()
502 sti->sti_direct = 0; in sotpi_init()
587 sotpi_info_t *sti = SOTOTPI(so); in so_automatic_bind() local
592 ASSERT(sti->sti_unbind_mp); in so_automatic_bind()
594 ASSERT(sti->sti_laddr_len <= sti->sti_laddr_maxlen); in so_automatic_bind()
595 bzero(sti->sti_laddr_sa, sti->sti_laddr_len); in so_automatic_bind()
596 sti->sti_laddr_sa->sa_family = so->so_family; in so_automatic_bind()
641 sotpi_info_t *sti = SOTOTPI(so); in sotpi_bindlisten() local
662 if (sti->sti_unbind_mp == NULL) { in sotpi_bindlisten()
665 sti->sti_unbind_mp = in sotpi_bindlisten()
678 ASSERT(sti->sti_ux_bound_vp); in sotpi_bindlisten()
679 addr = &sti->sti_ux_laddr; in sotpi_bindlisten()
680 addrlen = (t_uscalar_t)sizeof (sti->sti_ux_laddr); in sotpi_bindlisten()
685 (void *)sti->sti_ux_bound_vp)); in sotpi_bindlisten()
687 addr = sti->sti_laddr_sa; in sotpi_bindlisten()
688 addrlen = (t_uscalar_t)sti->sti_laddr_len; in sotpi_bindlisten()
709 sti->sti_laddr_len = in sotpi_bindlisten()
711 ASSERT(sti->sti_laddr_len <= sti->sti_laddr_maxlen); in sotpi_bindlisten()
712 bzero(sti->sti_laddr_sa, sti->sti_laddr_len); in sotpi_bindlisten()
713 sti->sti_laddr_sa->sa_family = so->so_family; in sotpi_bindlisten()
720 sti->sti_ux_laddr.soua_vp = NULL; in sotpi_bindlisten()
721 sti->sti_ux_laddr.soua_magic = SOU_MAGIC_IMPLICIT; in sotpi_bindlisten()
722 addr = &sti->sti_ux_laddr; in sotpi_bindlisten()
723 addrlen = (t_uscalar_t)sizeof (sti->sti_ux_laddr); in sotpi_bindlisten()
732 sti->sti_laddr_len = (so->so_family == AF_INET) ? in sotpi_bindlisten()
735 ASSERT(sti->sti_laddr_len <= sti->sti_laddr_maxlen); in sotpi_bindlisten()
736 bzero(sti->sti_laddr_sa, sti->sti_laddr_len); in sotpi_bindlisten()
737 sti->sti_laddr_sa->sa_family = so->so_family; in sotpi_bindlisten()
751 bzero(sti->sti_laddr_sa, sti->sti_laddr_len); in sotpi_bindlisten()
752 sti->sti_laddr_len = 0; /* XXX correct? */ in sotpi_bindlisten()
930 if (namelen > (t_uscalar_t)sti->sti_laddr_maxlen) { in sotpi_bindlisten()
938 sti->sti_laddr_len = (socklen_t)namelen; in sotpi_bindlisten()
939 ASSERT(sti->sti_laddr_len <= sti->sti_laddr_maxlen); in sotpi_bindlisten()
940 bcopy(name, sti->sti_laddr_sa, namelen); in sotpi_bindlisten()
942 addr = sti->sti_laddr_sa; in sotpi_bindlisten()
943 addrlen = (t_uscalar_t)sti->sti_laddr_len; in sotpi_bindlisten()
950 (struct sockaddr_un *)sti->sti_laddr_sa; in sotpi_bindlisten()
954 ASSERT(sti->sti_ux_bound_vp == NULL); in sotpi_bindlisten()
965 if (sti->sti_laddr_len > in sotpi_bindlisten()
1000 sti->sti_ux_bound_vp = vp; in sotpi_bindlisten()
1008 sti->sti_ux_laddr.soua_vp = in sotpi_bindlisten()
1009 (void *)sti->sti_ux_bound_vp; in sotpi_bindlisten()
1010 sti->sti_ux_laddr.soua_magic = SOU_MAGIC_EXPLICIT; in sotpi_bindlisten()
1011 addr = &sti->sti_ux_laddr; in sotpi_bindlisten()
1012 addrlen = (t_uscalar_t)sizeof (sti->sti_ux_laddr); in sotpi_bindlisten()
1046 sti->sti_nl7c_flags == NL7C_AF_NCA)) { in sotpi_bindlisten()
1053 sti->sti_nl7c_flags |= NL7C_ENABLED; in sotpi_bindlisten()
1080 sti->sti_laddr_valid = 0; in sotpi_bindlisten()
1110 sti->sti_faddr_noxlate = 1; in sotpi_bindlisten()
1114 ASSERT(sti->sti_unbind_mp); in sotpi_bindlisten()
1124 sizeof (sti->sti_ux_laddr) : sti->sti_laddr_len); in sotpi_bindlisten()
1210 aname = (sin_t *)sti->sti_laddr_sa; in sotpi_bindlisten()
1235 sti->sti_laddr_valid = 1; in sotpi_bindlisten()
1276 if (bcmp(addr, &sti->sti_ux_laddr, addrlen) != 0) { in sotpi_bindlisten()
1283 (void *)sti->sti_ux_bound_vp)); in sotpi_bindlisten()
1286 sti->sti_laddr_valid = 1; in sotpi_bindlisten()
1293 if (bcmp(addr, sti->sti_laddr_sa, addrlen) != 0) { in sotpi_bindlisten()
1325 bcopy(addr, &sti->sti_ux_laddr, addrlen); in sotpi_bindlisten()
1326 sti->sti_laddr_valid = 1; in sotpi_bindlisten()
1330 ASSERT(sti->sti_laddr_len <= sti->sti_laddr_maxlen); in sotpi_bindlisten()
1331 bcopy(addr, sti->sti_laddr_sa, sti->sti_laddr_len); in sotpi_bindlisten()
1332 sti->sti_laddr_valid = 1; in sotpi_bindlisten()
1406 sotpi_info_t *sti = SOTOTPI(so); in sotpi_unbind() local
1456 if ((vp = sti->sti_ux_bound_vp) != NULL) { in sotpi_unbind()
1457 sti->sti_ux_bound_vp = NULL; in sotpi_unbind()
1461 sti->sti_laddr_len = 0; in sotpi_unbind()
1464 sti->sti_laddr_valid = 0; in sotpi_unbind()
1485 sotpi_info_t *sti = SOTOTPI(so); in sotpi_listen() local
1490 if (sti->sti_serv_type == T_CLTS) in sotpi_listen()
1657 sotpi_info_t *sti = SOTOTPI(so); in sotpi_accept() local
1697 if ((optlen == sizeof (intptr_t)) && (sti->sti_direct != 0)) { in sotpi_accept()
1710 if (sti->sti_direct) { in sotpi_accept()
1719 sti->sti_direct = 0; in sotpi_accept()
1740 if (!sti->sti_faddr_noxlate) { in sotpi_accept()
1793 ASSERT(sti->sti_faddr_len <= sti->sti_faddr_maxlen); in sotpi_accept()
1878 nsti->sti_faddr_noxlate = sti->sti_faddr_noxlate; in sotpi_accept()
1907 if (sti->sti_direct) { in sotpi_accept()
1959 if (sti->sti_nl7c_flags & NL7C_ENABLED) { in sotpi_accept()
1969 sti->sti_nl7c_flags & (~NL7C_POLLIN); in sotpi_accept()
2104 nsti->sti_laddr_len = sti->sti_laddr_len; in sotpi_accept()
2106 bcopy(sti->sti_laddr_sa, nsti->sti_laddr_sa, in sotpi_accept()
2110 nsti->sti_laddr_len = sti->sti_laddr_len; in sotpi_accept()
2188 sotpi_info_t *sti = SOTOTPI(so); in sotpi_connect() local
2203 2 * sti->sti_faddr_maxlen + sizeof (struct T_opthdr), _ALLOC_INTR, in sotpi_connect()
2228 if (sti->sti_unbind_mp == NULL) { in sotpi_connect()
2231 sti->sti_unbind_mp = in sotpi_connect()
2233 if (sti->sti_unbind_mp == NULL) { in sotpi_connect()
2316 sti->sti_faddr_valid = 0; in sotpi_connect()
2317 sti->sti_faddr_len = 0; in sotpi_connect()
2355 sti->sti_faddr_noxlate = 1; in sotpi_connect()
2370 if (namelen > (t_uscalar_t)sti->sti_faddr_maxlen) { in sotpi_connect()
2374 sti->sti_faddr_len = (socklen_t)namelen; in sotpi_connect()
2375 ASSERT(sti->sti_faddr_len <= sti->sti_faddr_maxlen); in sotpi_connect()
2376 bcopy(name, sti->sti_faddr_sa, namelen); in sotpi_connect()
2377 sti->sti_faddr_valid = 1; in sotpi_connect()
2380 if (sti->sti_faddr_noxlate) { in sotpi_connect()
2385 addr = sti->sti_faddr_sa; in sotpi_connect()
2386 addrlen = (t_uscalar_t)sti->sti_faddr_len; in sotpi_connect()
2395 src = sti->sti_laddr_sa; in sotpi_connect()
2396 srclen = (t_uscalar_t)sti->sti_laddr_len; in sotpi_connect()
2401 sti->sti_faddr_sa, (socklen_t)sti->sti_faddr_len, in sotpi_connect()
2408 addr = sti->sti_faddr_sa; in sotpi_connect()
2409 addrlen = (t_uscalar_t)sti->sti_faddr_len; in sotpi_connect()
2454 sti->sti_laddr_valid = 0; in sotpi_connect()
2455 } else if (sti->sti_laddr_len != 0) { in sotpi_connect()
2463 ASSERT(sti->sti_laddr_len == (socklen_t)sizeof (sin_t)); in sotpi_connect()
2464 if (((sin_t *)sti->sti_laddr_sa)->sin_addr.s_addr == in sotpi_connect()
2466 ((sin_t *)sti->sti_laddr_sa)->sin_port == 0) in sotpi_connect()
2467 sti->sti_laddr_valid = 0; in sotpi_connect()
2471 ASSERT(sti->sti_laddr_len == in sotpi_connect()
2474 &((sin6_t *)sti->sti_laddr_sa) ->sin6_addr) || in sotpi_connect()
2476 &((sin6_t *)sti->sti_laddr_sa)->sin6_addr) || in sotpi_connect()
2477 ((sin6_t *)sti->sti_laddr_sa)->sin6_port == 0) in sotpi_connect()
2478 sti->sti_laddr_valid = 0; in sotpi_connect()
2567 sti->sti_laddr_valid = 0; in sotpi_connect()
2578 sti->sti_laddr_valid = 0; in sotpi_connect()
2610 sotpi_info_t *sti = SOTOTPI(so); in sotpi_shutdown() local
2743 if (so->so_family == AF_UNIX && sti->sti_serv_type != T_CLTS) in sotpi_shutdown()
2746 if (sti->sti_serv_type == T_COTS) in sotpi_shutdown()
2750 (sti->sti_serv_type == T_COTS_ORD)) { in sotpi_shutdown()
2802 sotpi_info_t *sti = SOTOTPI(so); in so_unix_close() local
2853 error = so_addr_verify(so, sti->sti_faddr_sa, in so_unix_close()
2854 (t_uscalar_t)sti->sti_faddr_len); in so_unix_close()
2859 if (sti->sti_faddr_noxlate) { in so_unix_close()
2864 addr = sti->sti_faddr_sa; in so_unix_close()
2865 addrlen = (t_uscalar_t)sti->sti_faddr_len; in so_unix_close()
2874 src = sti->sti_laddr_sa; in so_unix_close()
2875 srclen = (socklen_t)sti->sti_laddr_len; in so_unix_close()
2880 sti->sti_faddr_sa, in so_unix_close()
2881 (socklen_t)sti->sti_faddr_len, 0, in so_unix_close()
2957 sotpi_info_t *sti = SOTOTPI(so); in sorecv_update_oobstate() local
2963 sti->sti_oobsigcnt, in sorecv_update_oobstate()
2964 sti->sti_oobcnt, pr_state(so->so_state, so->so_mode))); in sorecv_update_oobstate()
2965 if (sti->sti_oobsigcnt == 0) { in sorecv_update_oobstate()
2981 sotpi_info_t *sti = SOTOTPI(so); in nl7c_sorecv() local
2985 mblk_t *nmp = sti->sti_nl7c_rcv_mp; in nl7c_sorecv()
3026 freemsg(sti->sti_nl7c_rcv_mp); in nl7c_sorecv()
3028 if ((sti->sti_nl7c_rcv_mp = nmp) == NULL) { in nl7c_sorecv()
3031 rval_t *p = (rval_t *)&sti->sti_nl7c_rcv_rval; in nl7c_sorecv()
3036 rp->r_vals = sti->sti_nl7c_rcv_rval; in nl7c_sorecv()
3037 sti->sti_nl7c_rcv_rval = 0; in nl7c_sorecv()
3071 sotpi_info_t *sti = SOTOTPI(so); in sotpi_recvmsg() local
3135 if ((sti->sti_nl7c_flags & (NL7C_ENABLED | NL7C_WAITWRITE)) == in sotpi_recvmsg()
3137 if (sti->sti_nl7c_uri) { in sotpi_recvmsg()
3142 sti->sti_nl7c_rcv_mp == NULL) { in sotpi_recvmsg()
3146 } else if (sti->sti_nl7c_flags & NL7C_SOPERSIST) { in sotpi_recvmsg()
3152 rval.r_vals = sti->sti_nl7c_rcv_rval; in sotpi_recvmsg()
3159 if (sti->sti_nl7c_flags && in sotpi_recvmsg()
3160 ! (sti->sti_nl7c_flags & NL7C_WAITWRITE)) { in sotpi_recvmsg()
3178 sti->sti_nl7c_flags = 0; in sotpi_recvmsg()
3234 if (sti->sti_nl7c_rcv_mp != NULL) { in sotpi_recvmsg()
3529 sti->sti_oobsigcnt, sti->sti_oobcnt, in sotpi_recvmsg()
3559 sti->sti_oobsigcnt, in sotpi_recvmsg()
3560 sti->sti_oobcnt, in sotpi_recvmsg()
3599 ASSERT(sti->sti_oobsigcnt >= sti->sti_oobcnt); in sotpi_recvmsg()
3600 ASSERT(sti->sti_oobsigcnt > 0); in sotpi_recvmsg()
3601 sti->sti_oobsigcnt--; in sotpi_recvmsg()
3602 ASSERT(sti->sti_oobcnt > 0); in sotpi_recvmsg()
3603 sti->sti_oobcnt--; in sotpi_recvmsg()
3616 sti->sti_oobsigcnt, sti->sti_oobcnt, in sotpi_recvmsg()
3661 sotpi_info_t *sti = SOTOTPI(so); in sosend_dgramcmsg() local
3667 if (len > (ssize_t)sti->sti_tidu_size) { in sosend_dgramcmsg()
3687 if (sti->sti_faddr_noxlate) { in sosend_dgramcmsg()
3707 src = sti->sti_laddr_sa; in sosend_dgramcmsg()
3708 srclen = (t_uscalar_t)sti->sti_laddr_len; in sosend_dgramcmsg()
3832 sotpi_info_t *sti = SOTOTPI(so); in sosend_svccmsg() local
3854 iosize = sti->sti_tidu_size; in sosend_svccmsg()
3969 sotpi_info_t *sti = SOTOTPI(so); in sosend_dgram() local
3974 if (len > sti->sti_tidu_size) { in sosend_dgram()
3984 if (sti->sti_direct) in sosend_dgram()
3988 if (sti->sti_faddr_noxlate) { in sosend_dgram()
4008 src = sti->sti_laddr_sa; in sosend_dgram()
4009 srclen = (socklen_t)sti->sti_laddr_len; in sosend_dgram()
4105 sotpi_info_t *sti = SOTOTPI(so); in sosend_svc() local
4124 iosize = sti->sti_tidu_size; in sosend_svc()
4195 sotpi_info_t *sti = SOTOTPI(so); in sotpi_sendmsg() local
4247 ASSERT(sti->sti_faddr_sa); in sotpi_sendmsg()
4248 name = sti->sti_faddr_sa; in sotpi_sendmsg()
4249 namelen = (t_uscalar_t)sti->sti_faddr_len; in sotpi_sendmsg()
4290 if (sti->sti_delayed_error) { in sotpi_sendmsg()
4296 ASSERT(sti->sti_eaddr_mp); in sotpi_sendmsg()
4297 error = sti->sti_delayed_error; in sotpi_sendmsg()
4298 sti->sti_delayed_error = 0; in sotpi_sendmsg()
4300 (struct T_uderror_ind *)sti->sti_eaddr_mp->b_rptr; in sotpi_sendmsg()
4302 addr = sogetoff(sti->sti_eaddr_mp, in sotpi_sendmsg()
4339 freemsg(sti->sti_eaddr_mp); in sotpi_sendmsg()
4340 sti->sti_eaddr_mp = NULL; in sotpi_sendmsg()
4350 freemsg(sti->sti_eaddr_mp); in sotpi_sendmsg()
4351 sti->sti_eaddr_mp = NULL; in sotpi_sendmsg()
4421 if ((sti->sti_nl7c_flags & NL7C_ENABLED) && in sotpi_sendmsg()
4431 if (!dontroute && sti->sti_direct != 0 && in sotpi_sendmsg()
4601 sotpi_info_t *sti = SOTOTPI(so); in sodgram_direct() local
4612 ASSERT(len <= sti->sti_tidu_size); in sodgram_direct()
4826 sotpi_info_t *sti = SOTOTPI(so); in sotpi_getpeername() local
4836 bcopy(sti->sti_faddr_sa, name, in sotpi_getpeername()
4837 MIN(*namelen, sti->sti_faddr_len)); in sotpi_getpeername()
4838 *namelen = sti->sti_faddr_noxlate ? 0: sti->sti_faddr_len; in sotpi_getpeername()
4855 if (sti->sti_faddr_valid) { in sotpi_getpeername()
4856 bcopy(sti->sti_faddr_sa, name, in sotpi_getpeername()
4857 MIN(*namelen, sti->sti_faddr_len)); in sotpi_getpeername()
4858 *namelen = sti->sti_faddr_noxlate ? 0: sti->sti_faddr_len; in sotpi_getpeername()
4864 pr_addr(so->so_family, sti->sti_faddr_sa, in sotpi_getpeername()
4865 (t_uscalar_t)sti->sti_faddr_len))); in sotpi_getpeername()
4870 if (sti->sti_faddr_noxlate) in sotpi_getpeername()
4876 ASSERT(so->so_family != AF_UNIX && sti->sti_faddr_noxlate == 0); in sotpi_getpeername()
4878 ASSERT(sti->sti_faddr_sa); in sotpi_getpeername()
4880 addrlen = (t_uscalar_t)sti->sti_faddr_maxlen; in sotpi_getpeername()
4930 ASSERT(strbuf.len <= (int)sti->sti_faddr_maxlen); in sotpi_getpeername()
4931 sti->sti_faddr_len = (socklen_t)strbuf.len; in sotpi_getpeername()
4932 bcopy(addr, sti->sti_faddr_sa, sti->sti_faddr_len); in sotpi_getpeername()
4933 sti->sti_faddr_valid = 1; in sotpi_getpeername()
4935 bcopy(addr, name, MIN(*namelen, sti->sti_faddr_len)); in sotpi_getpeername()
4936 *namelen = sti->sti_faddr_len; in sotpi_getpeername()
4941 pr_addr(so->so_family, sti->sti_faddr_sa, in sotpi_getpeername()
4942 (t_uscalar_t)sti->sti_faddr_len))); in sotpi_getpeername()
4962 sotpi_info_t *sti = SOTOTPI(so); in sotpi_getsockname() local
4974 pr_addr(so->so_family, sti->sti_laddr_sa, in sotpi_getsockname()
4975 (t_uscalar_t)sti->sti_laddr_len))); in sotpi_getsockname()
4977 if (sti->sti_laddr_valid) { in sotpi_getsockname()
4978 bcopy(sti->sti_laddr_sa, name, in sotpi_getsockname()
4979 MIN(*namelen, sti->sti_laddr_len)); in sotpi_getsockname()
4980 *namelen = sti->sti_laddr_len; in sotpi_getsockname()
5005 addrlen = (t_uscalar_t)sti->sti_laddr_maxlen; in sotpi_getsockname()
5052 ASSERT(strbuf.len <= (int)sti->sti_laddr_maxlen); in sotpi_getsockname()
5053 sti->sti_laddr_len = (socklen_t)strbuf.len; in sotpi_getsockname()
5054 bcopy(addr, sti->sti_laddr_sa, sti->sti_laddr_len); in sotpi_getsockname()
5055 sti->sti_laddr_valid = 1; in sotpi_getsockname()
5057 bcopy(addr, name, MIN(sti->sti_laddr_len, *namelen)); in sotpi_getsockname()
5058 *namelen = sti->sti_laddr_len; in sotpi_getsockname()
5063 pr_addr(so->so_family, sti->sti_laddr_sa, in sotpi_getsockname()
5064 (t_uscalar_t)sti->sti_laddr_len))); in sotpi_getsockname()
5682 sotpi_info_t *sti = SOTOTPI(so); in sotpi_close() local
5687 dev = sti->sti_dev; in sotpi_close()
5696 if (sti->sti_nl7c_flags & NL7C_ENABLED) { in sotpi_close()
5697 sti->sti_nl7c_flags = 0; in sotpi_close()
5716 if ((ux_vp = sti->sti_ux_bound_vp) != NULL) { in sotpi_close()
5718 sti->sti_ux_bound_vp = NULL; in sotpi_close()
5751 sotpi_info_t *sti = SOTOTPI(so); in sotpi_ioctl() local
5783 mutex_enter(&sti->sti_plumb_lock); in sotpi_ioctl()
5785 mutex_exit(&sti->sti_plumb_lock); in sotpi_ioctl()
5987 sotpi_info_t *sti = SOTOTPI(so); in socktpi_plumbioctl() local
5989 ASSERT(MUTEX_HELD(&sti->sti_plumb_lock)); in socktpi_plumbioctl()
6015 if (sti->sti_direct) { in socktpi_plumbioctl()
6025 sti->sti_direct = 0; in socktpi_plumbioctl()
6035 sti->sti_pushcnt++; in socktpi_plumbioctl()
6039 if (sti->sti_pushcnt == 0) { in socktpi_plumbioctl()
6048 sti->sti_pushcnt--; in socktpi_plumbioctl()
6098 for (i = kstrlist.sl_nmods; i > sti->sti_pushcnt; i--) in socktpi_plumbioctl()
6125 if (sti->sti_pushcnt == 0) { in socktpi_plumbioctl()
6189 sotpi_info_t *sti = SOTOTPI(so); in sotpi_poll() local
6272 if (sti->sti_conn_ind_head != NULL) in sotpi_poll()
6278 if (sti->sti_nl7c_rcv_mp != NULL) { in sotpi_poll()
6281 if ((sti->sti_nl7c_flags & NL7C_ENABLED) && in sotpi_poll()
6283 sti->sti_nl7c_flags |= NL7C_POLLIN; in sotpi_poll()
6329 sotpi_info_t *sti = SOTOTPI(so); in socktpi_unix_constructor() local
6333 sti->sti_next_so = socklist.sl_list; in socktpi_unix_constructor()
6334 sti->sti_prev_so = NULL; in socktpi_unix_constructor()
6335 if (sti->sti_next_so != NULL) in socktpi_unix_constructor()
6336 SOTOTPI(sti->sti_next_so)->sti_prev_so = so; in socktpi_unix_constructor()
6349 sotpi_info_t *sti = SOTOTPI(so); in socktpi_unix_destructor() local
6353 if (sti->sti_next_so != NULL) in socktpi_unix_destructor()
6354 SOTOTPI(sti->sti_next_so)->sti_prev_so = sti->sti_prev_so; in socktpi_unix_destructor()
6355 if (sti->sti_prev_so != NULL) in socktpi_unix_destructor()
6356 SOTOTPI(sti->sti_prev_so)->sti_next_so = sti->sti_next_so; in socktpi_unix_destructor()
6358 socklist.sl_list = sti->sti_next_so; in socktpi_unix_destructor()
6392 sotpi_info_t *sti; in sotpi_convert_sonode() local
6419 sti = SOTOTPI(so); in sotpi_convert_sonode()
6420 if (sti->sti_direct != 0) in sotpi_convert_sonode()
6427 sti->sti_orig_sp = origsp; in sotpi_convert_sonode()
6504 sotpi_info_t *sti = SOTOTPI(so); in sotpi_update_state() local
6514 ASSERT(laddrlen <= sti->sti_laddr_maxlen); in sotpi_update_state()
6515 sti->sti_laddr_len = laddrlen; in sotpi_update_state()
6516 bcopy(laddr, sti->sti_laddr_sa, laddrlen); in sotpi_update_state()
6517 sti->sti_laddr_valid = (so->so_state & SS_ISBOUND); in sotpi_update_state()
6521 ASSERT(faddrlen <= sti->sti_faddr_maxlen); in sotpi_update_state()
6522 sti->sti_faddr_len = faddrlen; in sotpi_update_state()
6523 bcopy(faddr, sti->sti_faddr_sa, faddrlen); in sotpi_update_state()
6524 sti->sti_faddr_valid = (so->so_state & SS_ISCONNECTED); in sotpi_update_state()
6535 sotpi_info_t *sti = SOTOTPI(so); in so_alloc_addr() local
6537 ASSERT(sti->sti_laddr_sa == NULL && sti->sti_faddr_sa == NULL); in so_alloc_addr()
6538 ASSERT(sti->sti_laddr_len == 0 && sti->sti_faddr_len == 0); in so_alloc_addr()
6539 sti->sti_laddr_maxlen = sti->sti_faddr_maxlen = in so_alloc_addr()
6541 so->so_max_addr_len = sti->sti_laddr_maxlen; in so_alloc_addr()
6542 sti->sti_laddr_sa = kmem_alloc(sti->sti_laddr_maxlen * 2, KM_SLEEP); in so_alloc_addr()
6543 sti->sti_faddr_sa = (struct sockaddr *)((caddr_t)sti->sti_laddr_sa in so_alloc_addr()
6544 + sti->sti_laddr_maxlen); in so_alloc_addr()
6550 bzero(&sti->sti_ux_laddr, sizeof (sti->sti_ux_laddr)); in so_alloc_addr()
6551 bzero(&sti->sti_ux_faddr, sizeof (sti->sti_ux_faddr)); in so_alloc_addr()
6559 sotpi_info_t *sti; in sotpi_sototpi() local
6563 sti = (sotpi_info_t *)so->so_priv; in sotpi_sototpi()
6565 ASSERT(sti != NULL); in sotpi_sototpi()
6566 ASSERT(sti->sti_magic == SOTPI_INFO_MAGIC); in sotpi_sototpi()
6568 return (sti); in sotpi_sototpi()
6572 i_sotpi_info_constructor(sotpi_info_t *sti) in i_sotpi_info_constructor() argument
6574 sti->sti_magic = SOTPI_INFO_MAGIC; in i_sotpi_info_constructor()
6575 sti->sti_ack_mp = NULL; in i_sotpi_info_constructor()
6576 sti->sti_discon_ind_mp = NULL; in i_sotpi_info_constructor()
6577 sti->sti_ux_bound_vp = NULL; in i_sotpi_info_constructor()
6578 sti->sti_unbind_mp = NULL; in i_sotpi_info_constructor()
6580 sti->sti_conn_ind_head = NULL; in i_sotpi_info_constructor()
6581 sti->sti_conn_ind_tail = NULL; in i_sotpi_info_constructor()
6583 sti->sti_laddr_sa = NULL; in i_sotpi_info_constructor()
6584 sti->sti_faddr_sa = NULL; in i_sotpi_info_constructor()
6586 sti->sti_nl7c_flags = 0; in i_sotpi_info_constructor()
6587 sti->sti_nl7c_uri = NULL; in i_sotpi_info_constructor()
6588 sti->sti_nl7c_rcv_mp = NULL; in i_sotpi_info_constructor()
6590 mutex_init(&sti->sti_plumb_lock, NULL, MUTEX_DEFAULT, NULL); in i_sotpi_info_constructor()
6591 cv_init(&sti->sti_ack_cv, NULL, CV_DEFAULT, NULL); in i_sotpi_info_constructor()
6597 i_sotpi_info_destructor(sotpi_info_t *sti) in i_sotpi_info_destructor() argument
6599 ASSERT(sti->sti_magic == SOTPI_INFO_MAGIC); in i_sotpi_info_destructor()
6600 ASSERT(sti->sti_ack_mp == NULL); in i_sotpi_info_destructor()
6601 ASSERT(sti->sti_discon_ind_mp == NULL); in i_sotpi_info_destructor()
6602 ASSERT(sti->sti_ux_bound_vp == NULL); in i_sotpi_info_destructor()
6603 ASSERT(sti->sti_unbind_mp == NULL); in i_sotpi_info_destructor()
6605 ASSERT(sti->sti_conn_ind_head == NULL); in i_sotpi_info_destructor()
6606 ASSERT(sti->sti_conn_ind_tail == NULL); in i_sotpi_info_destructor()
6608 ASSERT(sti->sti_laddr_sa == NULL); in i_sotpi_info_destructor()
6609 ASSERT(sti->sti_faddr_sa == NULL); in i_sotpi_info_destructor()
6611 ASSERT(sti->sti_nl7c_flags == 0); in i_sotpi_info_destructor()
6612 ASSERT(sti->sti_nl7c_uri == NULL); in i_sotpi_info_destructor()
6613 ASSERT(sti->sti_nl7c_rcv_mp == NULL); in i_sotpi_info_destructor()
6615 mutex_destroy(&sti->sti_plumb_lock); in i_sotpi_info_destructor()
6616 cv_destroy(&sti->sti_ack_cv); in i_sotpi_info_destructor()
6625 sotpi_info_t *sti; in sotpi_info_create() local
6629 if ((sti = kmem_zalloc(sizeof (*sti), kmflags)) == NULL) in sotpi_info_create()
6632 if (i_sotpi_info_constructor(sti) != 0) { in sotpi_info_create()
6633 kmem_free(sti, sizeof (*sti)); in sotpi_info_create()
6637 so->so_priv = (void *)sti; in sotpi_info_create()
6648 sotpi_info_t *sti = SOTOTPI(so); in sotpi_info_init() local
6651 sti->sti_dev = so->so_sockparams->sp_sdev_info.sd_vnode->v_rdev; in sotpi_info_init()
6652 vp->v_rdev = sti->sti_dev; in sotpi_info_init()
6654 sti->sti_orig_sp = NULL; in sotpi_info_init()
6656 sti->sti_pushcnt = 0; in sotpi_info_init()
6659 sti->sti_atime = now; in sotpi_info_init()
6660 sti->sti_mtime = now; in sotpi_info_init()
6661 sti->sti_ctime = now; in sotpi_info_init()
6663 sti->sti_eaddr_mp = NULL; in sotpi_info_init()
6664 sti->sti_delayed_error = 0; in sotpi_info_init()
6666 sti->sti_provinfo = NULL; in sotpi_info_init()
6668 sti->sti_oobcnt = 0; in sotpi_info_init()
6669 sti->sti_oobsigcnt = 0; in sotpi_info_init()
6671 ASSERT(sti->sti_laddr_sa == NULL && sti->sti_faddr_sa == NULL); in sotpi_info_init()
6673 sti->sti_laddr_sa = 0; in sotpi_info_init()
6674 sti->sti_faddr_sa = 0; in sotpi_info_init()
6675 sti->sti_laddr_maxlen = sti->sti_faddr_maxlen = 0; in sotpi_info_init()
6676 sti->sti_laddr_len = sti->sti_faddr_len = 0; in sotpi_info_init()
6678 sti->sti_laddr_valid = 0; in sotpi_info_init()
6679 sti->sti_faddr_valid = 0; in sotpi_info_init()
6680 sti->sti_faddr_noxlate = 0; in sotpi_info_init()
6682 sti->sti_direct = 0; in sotpi_info_init()
6684 ASSERT(sti->sti_ack_mp == NULL); in sotpi_info_init()
6685 ASSERT(sti->sti_ux_bound_vp == NULL); in sotpi_info_init()
6686 ASSERT(sti->sti_unbind_mp == NULL); in sotpi_info_init()
6688 ASSERT(sti->sti_conn_ind_head == NULL); in sotpi_info_init()
6689 ASSERT(sti->sti_conn_ind_tail == NULL); in sotpi_info_init()
6698 sotpi_info_t *sti = SOTOTPI(so); in sotpi_info_fini() local
6701 ASSERT(sti->sti_discon_ind_mp == NULL); in sotpi_info_fini()
6703 if ((mp = sti->sti_conn_ind_head) != NULL) { in sotpi_info_fini()
6712 sti->sti_conn_ind_head = sti->sti_conn_ind_tail = NULL; in sotpi_info_fini()
6721 if (sti->sti_laddr_sa) { in sotpi_info_fini()
6722 ASSERT((caddr_t)sti->sti_faddr_sa == in sotpi_info_fini()
6723 (caddr_t)sti->sti_laddr_sa + sti->sti_laddr_maxlen); in sotpi_info_fini()
6724 ASSERT(sti->sti_faddr_maxlen == sti->sti_laddr_maxlen); in sotpi_info_fini()
6725 sti->sti_laddr_valid = 0; in sotpi_info_fini()
6726 sti->sti_faddr_valid = 0; in sotpi_info_fini()
6727 kmem_free(sti->sti_laddr_sa, sti->sti_laddr_maxlen * 2); in sotpi_info_fini()
6728 sti->sti_laddr_sa = NULL; in sotpi_info_fini()
6729 sti->sti_laddr_len = sti->sti_laddr_maxlen = 0; in sotpi_info_fini()
6730 sti->sti_faddr_sa = NULL; in sotpi_info_fini()
6731 sti->sti_faddr_len = sti->sti_faddr_maxlen = 0; in sotpi_info_fini()
6736 if ((mp = sti->sti_eaddr_mp) != NULL) { in sotpi_info_fini()
6738 sti->sti_eaddr_mp = NULL; in sotpi_info_fini()
6739 sti->sti_delayed_error = 0; in sotpi_info_fini()
6742 if ((mp = sti->sti_ack_mp) != NULL) { in sotpi_info_fini()
6744 sti->sti_ack_mp = NULL; in sotpi_info_fini()
6747 if ((mp = sti->sti_nl7c_rcv_mp) != NULL) { in sotpi_info_fini()
6748 sti->sti_nl7c_rcv_mp = NULL; in sotpi_info_fini()
6751 sti->sti_nl7c_rcv_rval = 0; in sotpi_info_fini()
6752 if (sti->sti_nl7c_uri != NULL) { in sotpi_info_fini()
6756 if (sti->sti_nl7c_flags) { in sotpi_info_fini()
6757 sti->sti_nl7c_flags = 0; in sotpi_info_fini()
6760 ASSERT(sti->sti_ux_bound_vp == NULL); in sotpi_info_fini()
6761 if ((mp = sti->sti_unbind_mp) != NULL) { in sotpi_info_fini()
6763 sti->sti_unbind_mp = NULL; in sotpi_info_fini()
6773 sotpi_info_t *sti = SOTOTPI(so); in sotpi_info_destroy() local
6775 i_sotpi_info_destructor(sti); in sotpi_info_destroy()
6776 kmem_free(sti, sizeof (*sti)); in sotpi_info_destroy()