Lines Matching refs:sti

371 	sotpi_info_t *sti = SOTOTPI(so);  in sotpi_init()  local
384 if (getmajor(sti->sti_dev) == clone_major) in sotpi_init()
399 sti->sti_direct = 1; in sotpi_init()
417 sti->sti_direct = 0; in sotpi_init()
442 sti->sti_dev = newdev; in sotpi_init()
456 sti->sti_provinfo = tpi_findprov(stp->sd_wrq); in sotpi_init()
469 if (sti->sti_direct) { in sotpi_init()
498 sti->sti_direct = 0; in sotpi_init()
591 sotpi_info_t *sti = SOTOTPI(so); in so_automatic_bind() local
596 ASSERT(sti->sti_unbind_mp); in so_automatic_bind()
598 ASSERT(sti->sti_laddr_len <= sti->sti_laddr_maxlen); in so_automatic_bind()
599 bzero(sti->sti_laddr_sa, sti->sti_laddr_len); in so_automatic_bind()
600 sti->sti_laddr_sa->sa_family = so->so_family; in so_automatic_bind()
644 sotpi_info_t *sti = SOTOTPI(so); in sotpi_bindlisten() local
665 if (sti->sti_unbind_mp == NULL) { in sotpi_bindlisten()
668 sti->sti_unbind_mp = in sotpi_bindlisten()
681 ASSERT(sti->sti_ux_bound_vp); in sotpi_bindlisten()
682 addr = &sti->sti_ux_laddr; in sotpi_bindlisten()
683 addrlen = (t_uscalar_t)sizeof (sti->sti_ux_laddr); in sotpi_bindlisten()
688 (void *)sti->sti_ux_bound_vp)); in sotpi_bindlisten()
690 addr = sti->sti_laddr_sa; in sotpi_bindlisten()
691 addrlen = (t_uscalar_t)sti->sti_laddr_len; in sotpi_bindlisten()
712 sti->sti_laddr_len = in sotpi_bindlisten()
714 ASSERT(sti->sti_laddr_len <= sti->sti_laddr_maxlen); in sotpi_bindlisten()
715 bzero(sti->sti_laddr_sa, sti->sti_laddr_len); in sotpi_bindlisten()
716 sti->sti_laddr_sa->sa_family = so->so_family; in sotpi_bindlisten()
723 sti->sti_ux_laddr.soua_vp = NULL; in sotpi_bindlisten()
724 sti->sti_ux_laddr.soua_magic = SOU_MAGIC_IMPLICIT; in sotpi_bindlisten()
725 addr = &sti->sti_ux_laddr; in sotpi_bindlisten()
726 addrlen = (t_uscalar_t)sizeof (sti->sti_ux_laddr); in sotpi_bindlisten()
735 sti->sti_laddr_len = (so->so_family == AF_INET) ? in sotpi_bindlisten()
738 ASSERT(sti->sti_laddr_len <= sti->sti_laddr_maxlen); in sotpi_bindlisten()
739 bzero(sti->sti_laddr_sa, sti->sti_laddr_len); in sotpi_bindlisten()
740 sti->sti_laddr_sa->sa_family = so->so_family; in sotpi_bindlisten()
754 bzero(sti->sti_laddr_sa, sti->sti_laddr_len); in sotpi_bindlisten()
755 sti->sti_laddr_len = 0; /* XXX correct? */ in sotpi_bindlisten()
933 if (namelen > (t_uscalar_t)sti->sti_laddr_maxlen) { in sotpi_bindlisten()
941 sti->sti_laddr_len = (socklen_t)namelen; in sotpi_bindlisten()
942 ASSERT(sti->sti_laddr_len <= sti->sti_laddr_maxlen); in sotpi_bindlisten()
943 bcopy(name, sti->sti_laddr_sa, namelen); in sotpi_bindlisten()
945 addr = sti->sti_laddr_sa; in sotpi_bindlisten()
946 addrlen = (t_uscalar_t)sti->sti_laddr_len; in sotpi_bindlisten()
953 (struct sockaddr_un *)sti->sti_laddr_sa; in sotpi_bindlisten()
957 ASSERT(sti->sti_ux_bound_vp == NULL); in sotpi_bindlisten()
968 if (sti->sti_laddr_len > in sotpi_bindlisten()
1003 sti->sti_ux_bound_vp = vp; in sotpi_bindlisten()
1011 sti->sti_ux_laddr.soua_vp = in sotpi_bindlisten()
1012 (void *)sti->sti_ux_bound_vp; in sotpi_bindlisten()
1013 sti->sti_ux_laddr.soua_magic = SOU_MAGIC_EXPLICIT; in sotpi_bindlisten()
1014 addr = &sti->sti_ux_laddr; in sotpi_bindlisten()
1015 addrlen = (t_uscalar_t)sizeof (sti->sti_ux_laddr); in sotpi_bindlisten()
1054 sti->sti_laddr_valid = 0; in sotpi_bindlisten()
1084 sti->sti_faddr_noxlate = 1; in sotpi_bindlisten()
1088 ASSERT(sti->sti_unbind_mp); in sotpi_bindlisten()
1098 sizeof (sti->sti_ux_laddr) : sti->sti_laddr_len); in sotpi_bindlisten()
1184 aname = (sin_t *)sti->sti_laddr_sa; in sotpi_bindlisten()
1209 sti->sti_laddr_valid = 1; in sotpi_bindlisten()
1250 if (bcmp(addr, &sti->sti_ux_laddr, addrlen) != 0) { in sotpi_bindlisten()
1257 (void *)sti->sti_ux_bound_vp)); in sotpi_bindlisten()
1260 sti->sti_laddr_valid = 1; in sotpi_bindlisten()
1267 if (bcmp(addr, sti->sti_laddr_sa, addrlen) != 0) { in sotpi_bindlisten()
1299 bcopy(addr, &sti->sti_ux_laddr, addrlen); in sotpi_bindlisten()
1300 sti->sti_laddr_valid = 1; in sotpi_bindlisten()
1304 ASSERT(sti->sti_laddr_len <= sti->sti_laddr_maxlen); in sotpi_bindlisten()
1305 bcopy(addr, sti->sti_laddr_sa, sti->sti_laddr_len); in sotpi_bindlisten()
1306 sti->sti_laddr_valid = 1; in sotpi_bindlisten()
1375 sotpi_info_t *sti = SOTOTPI(so); in sotpi_unbind() local
1425 if ((vp = sti->sti_ux_bound_vp) != NULL) { in sotpi_unbind()
1426 sti->sti_ux_bound_vp = NULL; in sotpi_unbind()
1430 sti->sti_laddr_len = 0; in sotpi_unbind()
1433 sti->sti_laddr_valid = 0; in sotpi_unbind()
1454 sotpi_info_t *sti = SOTOTPI(so); in sotpi_listen() local
1459 if (sti->sti_serv_type == T_CLTS) in sotpi_listen()
1626 sotpi_info_t *sti = SOTOTPI(so); in sotpi_accept() local
1666 if ((optlen == sizeof (intptr_t)) && (sti->sti_direct != 0)) { in sotpi_accept()
1679 if (sti->sti_direct) { in sotpi_accept()
1688 sti->sti_direct = 0; in sotpi_accept()
1709 if (!sti->sti_faddr_noxlate) { in sotpi_accept()
1762 ASSERT(sti->sti_faddr_len <= sti->sti_faddr_maxlen); in sotpi_accept()
1847 nsti->sti_faddr_noxlate = sti->sti_faddr_noxlate; in sotpi_accept()
1876 if (sti->sti_direct) { in sotpi_accept()
2040 nsti->sti_laddr_len = sti->sti_laddr_len; in sotpi_accept()
2042 bcopy(sti->sti_laddr_sa, nsti->sti_laddr_sa, in sotpi_accept()
2046 nsti->sti_laddr_len = sti->sti_laddr_len; in sotpi_accept()
2117 sotpi_info_t *sti = SOTOTPI(so); in sotpi_connect() local
2132 2 * sti->sti_faddr_maxlen + sizeof (struct T_opthdr), _ALLOC_INTR, in sotpi_connect()
2157 if (sti->sti_unbind_mp == NULL) { in sotpi_connect()
2160 sti->sti_unbind_mp = in sotpi_connect()
2162 if (sti->sti_unbind_mp == NULL) { in sotpi_connect()
2245 sti->sti_faddr_valid = 0; in sotpi_connect()
2246 sti->sti_faddr_len = 0; in sotpi_connect()
2284 sti->sti_faddr_noxlate = 1; in sotpi_connect()
2299 if (namelen > (t_uscalar_t)sti->sti_faddr_maxlen) { in sotpi_connect()
2303 sti->sti_faddr_len = (socklen_t)namelen; in sotpi_connect()
2304 ASSERT(sti->sti_faddr_len <= sti->sti_faddr_maxlen); in sotpi_connect()
2305 bcopy(name, sti->sti_faddr_sa, namelen); in sotpi_connect()
2306 sti->sti_faddr_valid = 1; in sotpi_connect()
2309 if (sti->sti_faddr_noxlate) { in sotpi_connect()
2317 addr = sti->sti_faddr_sa; in sotpi_connect()
2318 addrlen = (t_uscalar_t)sti->sti_faddr_len; in sotpi_connect()
2319 bcopy(addr, &sti->sti_ux_faddr, in sotpi_connect()
2320 sizeof (sti->sti_ux_faddr)); in sotpi_connect()
2327 src = sti->sti_laddr_sa; in sotpi_connect()
2328 srclen = (t_uscalar_t)sti->sti_laddr_len; in sotpi_connect()
2340 sti->sti_faddr_sa, (socklen_t)sti->sti_faddr_len, in sotpi_connect()
2345 bcopy(&sti->sti_ux_taddr, &sti->sti_ux_faddr, in sotpi_connect()
2346 sizeof (sti->sti_ux_faddr)); in sotpi_connect()
2349 addr = sti->sti_faddr_sa; in sotpi_connect()
2350 addrlen = (t_uscalar_t)sti->sti_faddr_len; in sotpi_connect()
2395 sti->sti_laddr_valid = 0; in sotpi_connect()
2396 } else if (sti->sti_laddr_len != 0) { in sotpi_connect()
2404 ASSERT(sti->sti_laddr_len == (socklen_t)sizeof (sin_t)); in sotpi_connect()
2405 if (((sin_t *)sti->sti_laddr_sa)->sin_addr.s_addr == in sotpi_connect()
2407 ((sin_t *)sti->sti_laddr_sa)->sin_port == 0) in sotpi_connect()
2408 sti->sti_laddr_valid = 0; in sotpi_connect()
2412 ASSERT(sti->sti_laddr_len == in sotpi_connect()
2415 &((sin6_t *)sti->sti_laddr_sa) ->sin6_addr) || in sotpi_connect()
2417 &((sin6_t *)sti->sti_laddr_sa)->sin6_addr) || in sotpi_connect()
2418 ((sin6_t *)sti->sti_laddr_sa)->sin6_port == 0) in sotpi_connect()
2419 sti->sti_laddr_valid = 0; in sotpi_connect()
2508 sti->sti_laddr_valid = 0; in sotpi_connect()
2519 sti->sti_laddr_valid = 0; in sotpi_connect()
2551 sotpi_info_t *sti = SOTOTPI(so); in sotpi_shutdown() local
2684 if (so->so_family == AF_UNIX && sti->sti_serv_type != T_CLTS) in sotpi_shutdown()
2687 if (sti->sti_serv_type == T_COTS) in sotpi_shutdown()
2691 (sti->sti_serv_type == T_COTS_ORD)) { in sotpi_shutdown()
2742 sotpi_info_t *sti = SOTOTPI(so); in so_unix_close() local
2790 if (sti->sti_faddr_noxlate) { in so_unix_close()
2795 addr = sti->sti_faddr_sa; in so_unix_close()
2796 addrlen = (t_uscalar_t)sti->sti_faddr_len; in so_unix_close()
2805 src = sti->sti_laddr_sa; in so_unix_close()
2806 srclen = (socklen_t)sti->sti_laddr_len; in so_unix_close()
2813 addr = &sti->sti_ux_faddr; in so_unix_close()
2814 addrlen = sizeof (sti->sti_ux_faddr); in so_unix_close()
2885 sotpi_info_t *sti = SOTOTPI(so); in sorecv_update_oobstate() local
2891 sti->sti_oobsigcnt, in sorecv_update_oobstate()
2892 sti->sti_oobcnt, pr_state(so->so_state, so->so_mode))); in sorecv_update_oobstate()
2893 if (sti->sti_oobsigcnt == 0) { in sorecv_update_oobstate()
2930 sotpi_info_t *sti = SOTOTPI(so); in sotpi_recvmsg() local
3332 sti->sti_oobsigcnt, sti->sti_oobcnt, in sotpi_recvmsg()
3362 sti->sti_oobsigcnt, in sotpi_recvmsg()
3363 sti->sti_oobcnt, in sotpi_recvmsg()
3402 ASSERT(sti->sti_oobsigcnt >= sti->sti_oobcnt); in sotpi_recvmsg()
3403 ASSERT(sti->sti_oobsigcnt > 0); in sotpi_recvmsg()
3404 sti->sti_oobsigcnt--; in sotpi_recvmsg()
3405 ASSERT(sti->sti_oobcnt > 0); in sotpi_recvmsg()
3406 sti->sti_oobcnt--; in sotpi_recvmsg()
3419 sti->sti_oobsigcnt, sti->sti_oobcnt, in sotpi_recvmsg()
3473 sotpi_info_t *sti = SOTOTPI(so); in sosend_dgramcmsg() local
3479 if (len > (ssize_t)sti->sti_tidu_size) { in sosend_dgramcmsg()
3483 if (sti->sti_faddr_noxlate == 0 && in sosend_dgramcmsg()
3497 if (sti->sti_faddr_noxlate) { in sosend_dgramcmsg()
3513 src = sti->sti_laddr_sa; in sosend_dgramcmsg()
3514 srclen = (socklen_t)sti->sti_laddr_len; in sosend_dgramcmsg()
3526 src = sti->sti_laddr_sa; in sosend_dgramcmsg()
3527 srclen = (socklen_t)sti->sti_laddr_len; in sosend_dgramcmsg()
3665 sotpi_info_t *sti = SOTOTPI(so); in sosend_svccmsg() local
3687 iosize = sti->sti_tidu_size; in sosend_svccmsg()
3816 sotpi_info_t *sti = SOTOTPI(so); in sosend_dgram() local
3821 if (len > sti->sti_tidu_size) { in sosend_dgram()
3826 if (sti->sti_faddr_noxlate == 0 && in sosend_dgram()
3837 if (sti->sti_direct) /* Never on AF_UNIX */ in sosend_dgram()
3841 if (sti->sti_faddr_noxlate) { in sosend_dgram()
3857 src = sti->sti_laddr_sa; in sosend_dgram()
3858 srclen = (socklen_t)sti->sti_laddr_len; in sosend_dgram()
3870 src = sti->sti_laddr_sa; in sosend_dgram()
3871 srclen = (socklen_t)sti->sti_laddr_len; in sosend_dgram()
3972 sotpi_info_t *sti = SOTOTPI(so); in sosend_svc() local
3991 iosize = sti->sti_tidu_size; in sosend_svc()
4100 sotpi_info_t *sti = SOTOTPI(so); in sotpi_sendmsg() local
4172 name = (void *)&sti->sti_ux_faddr; in sotpi_sendmsg()
4173 namelen = sizeof (sti->sti_ux_faddr); in sotpi_sendmsg()
4176 ASSERT(sti->sti_faddr_sa); in sotpi_sendmsg()
4177 name = sti->sti_faddr_sa; in sotpi_sendmsg()
4178 namelen = (t_uscalar_t)sti->sti_faddr_len; in sotpi_sendmsg()
4223 if (sti->sti_delayed_error) { in sotpi_sendmsg()
4229 ASSERT(sti->sti_eaddr_mp); in sotpi_sendmsg()
4230 error = sti->sti_delayed_error; in sotpi_sendmsg()
4231 sti->sti_delayed_error = 0; in sotpi_sendmsg()
4233 (struct T_uderror_ind *)sti->sti_eaddr_mp->b_rptr; in sotpi_sendmsg()
4235 addr = sogetoff(sti->sti_eaddr_mp, in sotpi_sendmsg()
4272 freemsg(sti->sti_eaddr_mp); in sotpi_sendmsg()
4273 sti->sti_eaddr_mp = NULL; in sotpi_sendmsg()
4283 freemsg(sti->sti_eaddr_mp); in sotpi_sendmsg()
4284 sti->sti_eaddr_mp = NULL; in sotpi_sendmsg()
4358 if (!dontroute && sti->sti_direct != 0 && in sotpi_sendmsg()
4535 sotpi_info_t *sti = SOTOTPI(so); in sodgram_direct() local
4546 ASSERT(len <= sti->sti_tidu_size); in sodgram_direct()
4760 sotpi_info_t *sti = SOTOTPI(so); in sotpi_getpeername() local
4770 bcopy(sti->sti_faddr_sa, name, in sotpi_getpeername()
4771 MIN(*namelen, sti->sti_faddr_len)); in sotpi_getpeername()
4772 *namelen = sti->sti_faddr_noxlate ? 0: sti->sti_faddr_len; in sotpi_getpeername()
4789 if (sti->sti_faddr_valid) { in sotpi_getpeername()
4790 bcopy(sti->sti_faddr_sa, name, in sotpi_getpeername()
4791 MIN(*namelen, sti->sti_faddr_len)); in sotpi_getpeername()
4792 *namelen = sti->sti_faddr_noxlate ? 0: sti->sti_faddr_len; in sotpi_getpeername()
4798 pr_addr(so->so_family, sti->sti_faddr_sa, in sotpi_getpeername()
4799 (t_uscalar_t)sti->sti_faddr_len))); in sotpi_getpeername()
4804 if (sti->sti_faddr_noxlate) in sotpi_getpeername()
4810 ASSERT(so->so_family != AF_UNIX && sti->sti_faddr_noxlate == 0); in sotpi_getpeername()
4812 ASSERT(sti->sti_faddr_sa); in sotpi_getpeername()
4814 addrlen = (t_uscalar_t)sti->sti_faddr_maxlen; in sotpi_getpeername()
4864 ASSERT(strbuf.len <= (int)sti->sti_faddr_maxlen); in sotpi_getpeername()
4865 sti->sti_faddr_len = (socklen_t)strbuf.len; in sotpi_getpeername()
4866 bcopy(addr, sti->sti_faddr_sa, sti->sti_faddr_len); in sotpi_getpeername()
4867 sti->sti_faddr_valid = 1; in sotpi_getpeername()
4869 bcopy(addr, name, MIN(*namelen, sti->sti_faddr_len)); in sotpi_getpeername()
4870 *namelen = sti->sti_faddr_len; in sotpi_getpeername()
4875 pr_addr(so->so_family, sti->sti_faddr_sa, in sotpi_getpeername()
4876 (t_uscalar_t)sti->sti_faddr_len))); in sotpi_getpeername()
4896 sotpi_info_t *sti = SOTOTPI(so); in sotpi_getsockname() local
4908 pr_addr(so->so_family, sti->sti_laddr_sa, in sotpi_getsockname()
4909 (t_uscalar_t)sti->sti_laddr_len))); in sotpi_getsockname()
4911 if (sti->sti_laddr_valid) { in sotpi_getsockname()
4912 bcopy(sti->sti_laddr_sa, name, in sotpi_getsockname()
4913 MIN(*namelen, sti->sti_laddr_len)); in sotpi_getsockname()
4914 *namelen = sti->sti_laddr_len; in sotpi_getsockname()
4939 addrlen = (t_uscalar_t)sti->sti_laddr_maxlen; in sotpi_getsockname()
4986 ASSERT(strbuf.len <= (int)sti->sti_laddr_maxlen); in sotpi_getsockname()
4987 sti->sti_laddr_len = (socklen_t)strbuf.len; in sotpi_getsockname()
4988 bcopy(addr, sti->sti_laddr_sa, sti->sti_laddr_len); in sotpi_getsockname()
4989 sti->sti_laddr_valid = 1; in sotpi_getsockname()
4991 bcopy(addr, name, MIN(sti->sti_laddr_len, *namelen)); in sotpi_getsockname()
4992 *namelen = sti->sti_laddr_len; in sotpi_getsockname()
4997 pr_addr(so->so_family, sti->sti_laddr_sa, in sotpi_getsockname()
4998 (t_uscalar_t)sti->sti_laddr_len))); in sotpi_getsockname()
5623 sotpi_info_t *sti = SOTOTPI(so); in sotpi_close() local
5628 dev = sti->sti_dev; in sotpi_close()
5652 if ((ux_vp = sti->sti_ux_bound_vp) != NULL) { in sotpi_close()
5654 sti->sti_ux_bound_vp = NULL; in sotpi_close()
5687 sotpi_info_t *sti = SOTOTPI(so); in sotpi_ioctl() local
5719 mutex_enter(&sti->sti_plumb_lock); in sotpi_ioctl()
5721 mutex_exit(&sti->sti_plumb_lock); in sotpi_ioctl()
5923 sotpi_info_t *sti = SOTOTPI(so); in socktpi_plumbioctl() local
5925 ASSERT(MUTEX_HELD(&sti->sti_plumb_lock)); in socktpi_plumbioctl()
5951 if (sti->sti_direct) { in socktpi_plumbioctl()
5961 sti->sti_direct = 0; in socktpi_plumbioctl()
5971 sti->sti_pushcnt++; in socktpi_plumbioctl()
5975 if (sti->sti_pushcnt == 0) { in socktpi_plumbioctl()
5984 sti->sti_pushcnt--; in socktpi_plumbioctl()
6034 for (i = kstrlist.sl_nmods; i > sti->sti_pushcnt; i--) in socktpi_plumbioctl()
6061 if (sti->sti_pushcnt == 0) { in socktpi_plumbioctl()
6125 sotpi_info_t *sti = SOTOTPI(so); in sotpi_poll() local
6208 if (sti->sti_conn_ind_head != NULL) in sotpi_poll()
6264 sotpi_info_t *sti = SOTOTPI(so); in socktpi_unix_constructor() local
6268 sti->sti_next_so = socklist.sl_list; in socktpi_unix_constructor()
6269 sti->sti_prev_so = NULL; in socktpi_unix_constructor()
6270 if (sti->sti_next_so != NULL) in socktpi_unix_constructor()
6271 SOTOTPI(sti->sti_next_so)->sti_prev_so = so; in socktpi_unix_constructor()
6284 sotpi_info_t *sti = SOTOTPI(so); in socktpi_unix_destructor() local
6288 if (sti->sti_next_so != NULL) in socktpi_unix_destructor()
6289 SOTOTPI(sti->sti_next_so)->sti_prev_so = sti->sti_prev_so; in socktpi_unix_destructor()
6290 if (sti->sti_prev_so != NULL) in socktpi_unix_destructor()
6291 SOTOTPI(sti->sti_prev_so)->sti_next_so = sti->sti_next_so; in socktpi_unix_destructor()
6293 socklist.sl_list = sti->sti_next_so; in socktpi_unix_destructor()
6327 sotpi_info_t *sti; in sotpi_convert_sonode() local
6354 sti = SOTOTPI(so); in sotpi_convert_sonode()
6355 if (sti->sti_direct != 0) in sotpi_convert_sonode()
6362 sti->sti_orig_sp = origsp; in sotpi_convert_sonode()
6439 sotpi_info_t *sti = SOTOTPI(so); in sotpi_update_state() local
6449 ASSERT(laddrlen <= sti->sti_laddr_maxlen); in sotpi_update_state()
6450 sti->sti_laddr_len = laddrlen; in sotpi_update_state()
6451 bcopy(laddr, sti->sti_laddr_sa, laddrlen); in sotpi_update_state()
6452 sti->sti_laddr_valid = (so->so_state & SS_ISBOUND); in sotpi_update_state()
6456 ASSERT(faddrlen <= sti->sti_faddr_maxlen); in sotpi_update_state()
6457 sti->sti_faddr_len = faddrlen; in sotpi_update_state()
6458 bcopy(faddr, sti->sti_faddr_sa, faddrlen); in sotpi_update_state()
6459 sti->sti_faddr_valid = (so->so_state & SS_ISCONNECTED); in sotpi_update_state()
6470 sotpi_info_t *sti = SOTOTPI(so); in so_alloc_addr() local
6472 ASSERT(sti->sti_laddr_sa == NULL && sti->sti_faddr_sa == NULL); in so_alloc_addr()
6473 ASSERT(sti->sti_laddr_len == 0 && sti->sti_faddr_len == 0); in so_alloc_addr()
6474 sti->sti_laddr_maxlen = sti->sti_faddr_maxlen = in so_alloc_addr()
6476 so->so_max_addr_len = sti->sti_laddr_maxlen; in so_alloc_addr()
6477 sti->sti_laddr_sa = kmem_alloc(sti->sti_laddr_maxlen * 2, KM_SLEEP); in so_alloc_addr()
6478 sti->sti_faddr_sa = (struct sockaddr *)((caddr_t)sti->sti_laddr_sa in so_alloc_addr()
6479 + sti->sti_laddr_maxlen); in so_alloc_addr()
6485 bzero(&sti->sti_ux_laddr, sizeof (sti->sti_ux_laddr)); in so_alloc_addr()
6486 bzero(&sti->sti_ux_faddr, sizeof (sti->sti_ux_faddr)); in so_alloc_addr()
6494 sotpi_info_t *sti; in sotpi_sototpi() local
6498 sti = (sotpi_info_t *)so->so_priv; in sotpi_sototpi()
6500 ASSERT(sti != NULL); in sotpi_sototpi()
6501 ASSERT(sti->sti_magic == SOTPI_INFO_MAGIC); in sotpi_sototpi()
6503 return (sti); in sotpi_sototpi()
6507 i_sotpi_info_constructor(sotpi_info_t *sti) in i_sotpi_info_constructor() argument
6509 sti->sti_magic = SOTPI_INFO_MAGIC; in i_sotpi_info_constructor()
6510 sti->sti_ack_mp = NULL; in i_sotpi_info_constructor()
6511 sti->sti_discon_ind_mp = NULL; in i_sotpi_info_constructor()
6512 sti->sti_ux_bound_vp = NULL; in i_sotpi_info_constructor()
6513 sti->sti_unbind_mp = NULL; in i_sotpi_info_constructor()
6515 sti->sti_conn_ind_head = NULL; in i_sotpi_info_constructor()
6516 sti->sti_conn_ind_tail = NULL; in i_sotpi_info_constructor()
6518 sti->sti_laddr_sa = NULL; in i_sotpi_info_constructor()
6519 sti->sti_faddr_sa = NULL; in i_sotpi_info_constructor()
6521 mutex_init(&sti->sti_plumb_lock, NULL, MUTEX_DEFAULT, NULL); in i_sotpi_info_constructor()
6522 cv_init(&sti->sti_ack_cv, NULL, CV_DEFAULT, NULL); in i_sotpi_info_constructor()
6528 i_sotpi_info_destructor(sotpi_info_t *sti) in i_sotpi_info_destructor() argument
6530 ASSERT(sti->sti_magic == SOTPI_INFO_MAGIC); in i_sotpi_info_destructor()
6531 ASSERT(sti->sti_ack_mp == NULL); in i_sotpi_info_destructor()
6532 ASSERT(sti->sti_discon_ind_mp == NULL); in i_sotpi_info_destructor()
6533 ASSERT(sti->sti_ux_bound_vp == NULL); in i_sotpi_info_destructor()
6534 ASSERT(sti->sti_unbind_mp == NULL); in i_sotpi_info_destructor()
6536 ASSERT(sti->sti_conn_ind_head == NULL); in i_sotpi_info_destructor()
6537 ASSERT(sti->sti_conn_ind_tail == NULL); in i_sotpi_info_destructor()
6539 ASSERT(sti->sti_laddr_sa == NULL); in i_sotpi_info_destructor()
6540 ASSERT(sti->sti_faddr_sa == NULL); in i_sotpi_info_destructor()
6542 mutex_destroy(&sti->sti_plumb_lock); in i_sotpi_info_destructor()
6543 cv_destroy(&sti->sti_ack_cv); in i_sotpi_info_destructor()
6552 sotpi_info_t *sti; in sotpi_info_create() local
6556 if ((sti = kmem_zalloc(sizeof (*sti), kmflags)) == NULL) in sotpi_info_create()
6559 if (i_sotpi_info_constructor(sti) != 0) { in sotpi_info_create()
6560 kmem_free(sti, sizeof (*sti)); in sotpi_info_create()
6564 so->so_priv = (void *)sti; in sotpi_info_create()
6575 sotpi_info_t *sti = SOTOTPI(so); in sotpi_info_init() local
6578 sti->sti_dev = so->so_sockparams->sp_sdev_info.sd_vnode->v_rdev; in sotpi_info_init()
6579 vp->v_rdev = sti->sti_dev; in sotpi_info_init()
6581 sti->sti_orig_sp = NULL; in sotpi_info_init()
6583 sti->sti_pushcnt = 0; in sotpi_info_init()
6586 sti->sti_atime = now; in sotpi_info_init()
6587 sti->sti_mtime = now; in sotpi_info_init()
6588 sti->sti_ctime = now; in sotpi_info_init()
6590 sti->sti_eaddr_mp = NULL; in sotpi_info_init()
6591 sti->sti_delayed_error = 0; in sotpi_info_init()
6593 sti->sti_provinfo = NULL; in sotpi_info_init()
6595 sti->sti_oobcnt = 0; in sotpi_info_init()
6596 sti->sti_oobsigcnt = 0; in sotpi_info_init()
6598 ASSERT(sti->sti_laddr_sa == NULL && sti->sti_faddr_sa == NULL); in sotpi_info_init()
6600 sti->sti_laddr_sa = 0; in sotpi_info_init()
6601 sti->sti_faddr_sa = 0; in sotpi_info_init()
6602 sti->sti_laddr_maxlen = sti->sti_faddr_maxlen = 0; in sotpi_info_init()
6603 sti->sti_laddr_len = sti->sti_faddr_len = 0; in sotpi_info_init()
6605 sti->sti_laddr_valid = 0; in sotpi_info_init()
6606 sti->sti_faddr_valid = 0; in sotpi_info_init()
6607 sti->sti_faddr_noxlate = 0; in sotpi_info_init()
6609 sti->sti_direct = 0; in sotpi_info_init()
6611 ASSERT(sti->sti_ack_mp == NULL); in sotpi_info_init()
6612 ASSERT(sti->sti_ux_bound_vp == NULL); in sotpi_info_init()
6613 ASSERT(sti->sti_unbind_mp == NULL); in sotpi_info_init()
6615 ASSERT(sti->sti_conn_ind_head == NULL); in sotpi_info_init()
6616 ASSERT(sti->sti_conn_ind_tail == NULL); in sotpi_info_init()
6625 sotpi_info_t *sti = SOTOTPI(so); in sotpi_info_fini() local
6628 ASSERT(sti->sti_discon_ind_mp == NULL); in sotpi_info_fini()
6630 if ((mp = sti->sti_conn_ind_head) != NULL) { in sotpi_info_fini()
6639 sti->sti_conn_ind_head = sti->sti_conn_ind_tail = NULL; in sotpi_info_fini()
6648 if (sti->sti_laddr_sa) { in sotpi_info_fini()
6649 ASSERT((caddr_t)sti->sti_faddr_sa == in sotpi_info_fini()
6650 (caddr_t)sti->sti_laddr_sa + sti->sti_laddr_maxlen); in sotpi_info_fini()
6651 ASSERT(sti->sti_faddr_maxlen == sti->sti_laddr_maxlen); in sotpi_info_fini()
6652 sti->sti_laddr_valid = 0; in sotpi_info_fini()
6653 sti->sti_faddr_valid = 0; in sotpi_info_fini()
6654 kmem_free(sti->sti_laddr_sa, sti->sti_laddr_maxlen * 2); in sotpi_info_fini()
6655 sti->sti_laddr_sa = NULL; in sotpi_info_fini()
6656 sti->sti_laddr_len = sti->sti_laddr_maxlen = 0; in sotpi_info_fini()
6657 sti->sti_faddr_sa = NULL; in sotpi_info_fini()
6658 sti->sti_faddr_len = sti->sti_faddr_maxlen = 0; in sotpi_info_fini()
6663 if ((mp = sti->sti_eaddr_mp) != NULL) { in sotpi_info_fini()
6665 sti->sti_eaddr_mp = NULL; in sotpi_info_fini()
6666 sti->sti_delayed_error = 0; in sotpi_info_fini()
6669 if ((mp = sti->sti_ack_mp) != NULL) { in sotpi_info_fini()
6671 sti->sti_ack_mp = NULL; in sotpi_info_fini()
6674 ASSERT(sti->sti_ux_bound_vp == NULL); in sotpi_info_fini()
6675 if ((mp = sti->sti_unbind_mp) != NULL) { in sotpi_info_fini()
6677 sti->sti_unbind_mp = NULL; in sotpi_info_fini()
6687 sotpi_info_t *sti = SOTOTPI(so); in sotpi_info_destroy() local
6689 i_sotpi_info_destructor(sti); in sotpi_info_destroy()
6690 kmem_free(sti, sizeof (*sti)); in sotpi_info_destroy()