Lines Matching refs:so

85 	struct socket	*so;  member
157 static int ng_ksocket_incoming(struct socket *so, void *arg, int waitflag);
580 error = socreate(family, &priv->so, type, protocol, in ng_ksocket_newhook()
606 struct socket *const so = priv->so; in ng_ksocket_connect() local
609 SOCKBUF_LOCK(&priv->so->so_rcv); in ng_ksocket_connect()
610 soupcall_set(priv->so, SO_RCV, ng_ksocket_incoming, node); in ng_ksocket_connect()
611 SOCKBUF_UNLOCK(&priv->so->so_rcv); in ng_ksocket_connect()
612 SOCKBUF_LOCK(&priv->so->so_snd); in ng_ksocket_connect()
613 soupcall_set(priv->so, SO_SND, ng_ksocket_incoming, node); in ng_ksocket_connect()
614 SOCKBUF_UNLOCK(&priv->so->so_snd); in ng_ksocket_connect()
615 SOCK_LOCK(priv->so); in ng_ksocket_connect()
616 priv->so->so_state |= SS_NBIO; in ng_ksocket_connect()
617 SOCK_UNLOCK(priv->so); in ng_ksocket_connect()
650 ng_send_fn(node, NULL, &ng_ksocket_incoming2, so, M_NOWAIT); in ng_ksocket_connect()
664 struct socket *const so = priv->so; in ng_ksocket_rcvmsg() local
683 if (so == NULL) in ng_ksocket_rcvmsg()
687 error = sobind(so, sa, td); in ng_ksocket_rcvmsg()
695 if (so == NULL) in ng_ksocket_rcvmsg()
699 so->so_state |= SS_NBIO; in ng_ksocket_rcvmsg()
700 error = solisten(so, *((int32_t *)msg->data), td); in ng_ksocket_rcvmsg()
709 if (so == NULL) in ng_ksocket_rcvmsg()
713 if (!(so->so_options & SO_ACCEPTCONN)) in ng_ksocket_rcvmsg()
740 if (so == NULL) in ng_ksocket_rcvmsg()
744 if ((so->so_state & SS_ISCONNECTING) != 0) in ng_ksocket_rcvmsg()
746 if ((error = soconnect(so, sa, td)) != 0) { in ng_ksocket_rcvmsg()
747 so->so_state &= ~SS_ISCONNECTING; in ng_ksocket_rcvmsg()
750 if ((so->so_state & SS_ISCONNECTING) != 0) { in ng_ksocket_rcvmsg()
763 int (*func)(struct socket *so, struct sockaddr **nam); in ng_ksocket_rcvmsg()
770 if (so == NULL) in ng_ksocket_rcvmsg()
775 if ((so->so_state in ng_ksocket_rcvmsg()
778 func = so->so_proto->pr_usrreqs->pru_peeraddr; in ng_ksocket_rcvmsg()
780 func = so->so_proto->pr_usrreqs->pru_sockaddr; in ng_ksocket_rcvmsg()
783 if ((error = (*func)(so, &sa)) != 0) in ng_ksocket_rcvmsg()
811 if (so == NULL) in ng_ksocket_rcvmsg()
828 if ((error = sogetopt(so, &sopt)) != 0) { in ng_ksocket_rcvmsg()
849 if (so == NULL) in ng_ksocket_rcvmsg()
859 error = sosetopt(so, &sopt); in ng_ksocket_rcvmsg()
887 struct socket *const so = priv->so; in ng_ksocket_rcvdata() local
923 error = sosend(so, sa, 0, m, 0, 0, td); in ng_ksocket_rcvdata()
938 if (priv->so != NULL) { in ng_ksocket_shutdown()
939 SOCKBUF_LOCK(&priv->so->so_rcv); in ng_ksocket_shutdown()
940 soupcall_clear(priv->so, SO_RCV); in ng_ksocket_shutdown()
941 SOCKBUF_UNLOCK(&priv->so->so_rcv); in ng_ksocket_shutdown()
942 SOCKBUF_LOCK(&priv->so->so_snd); in ng_ksocket_shutdown()
943 soupcall_clear(priv->so, SO_SND); in ng_ksocket_shutdown()
944 SOCKBUF_UNLOCK(&priv->so->so_snd); in ng_ksocket_shutdown()
945 soclose(priv->so); in ng_ksocket_shutdown()
946 priv->so = NULL; in ng_ksocket_shutdown()
999 ng_ksocket_incoming(struct socket *so, void *arg, int waitflag) in ng_ksocket_incoming() argument
1012 ng_send_fn1(node, NULL, &ng_ksocket_incoming2, so, 0, wait)) { in ng_ksocket_incoming()
1028 struct socket *so = arg1; in ng_ksocket_incoming2() local
1033 KASSERT(so == priv->so, ("%s: wrong socket", __func__)); in ng_ksocket_incoming2()
1040 if ((error = so->so_error) != 0) { in ng_ksocket_incoming2()
1041 so->so_error = 0; in ng_ksocket_incoming2()
1042 so->so_state &= ~SS_ISCONNECTING; in ng_ksocket_incoming2()
1044 if (!(so->so_state & SS_ISCONNECTING)) { in ng_ksocket_incoming2()
1087 if ((error = soreceive(so, (so->so_state & SS_ISCONNECTED) ? in ng_ksocket_incoming2()
1109 if (so->so_type == SOCK_STREAM) { in ng_ksocket_incoming2()
1151 if (so->so_rcv.sb_state & SBS_CANTRCVMORE && in ng_ksocket_incoming2()
1165 struct socket *const head = priv->so; in ng_ksocket_accept()
1166 struct socket *so; in ng_ksocket_accept() local
1176 error = solisten_dequeue(head, &so, SOCK_NONBLOCK); in ng_ksocket_accept()
1185 if ((error = soaccept(so, &sa)) != 0) in ng_ksocket_accept()
1195 soclose(so); in ng_ksocket_accept()
1205 soclose(so); in ng_ksocket_accept()
1212 soclose(so); in ng_ksocket_accept()
1217 priv2->so = so; in ng_ksocket_accept()
1228 SOCKBUF_LOCK(&so->so_rcv); in ng_ksocket_accept()
1229 soupcall_set(so, SO_RCV, ng_ksocket_incoming, node); in ng_ksocket_accept()
1230 SOCKBUF_UNLOCK(&so->so_rcv); in ng_ksocket_accept()
1231 SOCKBUF_LOCK(&so->so_snd); in ng_ksocket_accept()
1232 soupcall_set(so, SO_SND, ng_ksocket_incoming, node); in ng_ksocket_accept()
1233 SOCKBUF_UNLOCK(&so->so_snd); in ng_ksocket_accept()