Lines Matching refs:so

83 	struct socket	*so;  member
155 static int ng_ksocket_listen_upcall(struct socket *so, void *arg,
159 static int ng_ksocket_incoming(struct socket *so, void *arg, int waitflag);
582 error = socreate(family, &priv->so, type, protocol, in ng_ksocket_newhook()
608 struct socket *const so = priv->so; in ng_ksocket_connect() local
611 SOCKBUF_LOCK(&priv->so->so_rcv); in ng_ksocket_connect()
612 soupcall_set(priv->so, SO_RCV, ng_ksocket_incoming, node); in ng_ksocket_connect()
613 SOCKBUF_UNLOCK(&priv->so->so_rcv); in ng_ksocket_connect()
614 SOCKBUF_LOCK(&priv->so->so_snd); in ng_ksocket_connect()
615 soupcall_set(priv->so, SO_SND, ng_ksocket_incoming, node); in ng_ksocket_connect()
616 SOCKBUF_UNLOCK(&priv->so->so_snd); in ng_ksocket_connect()
617 SOCK_LOCK(priv->so); in ng_ksocket_connect()
618 priv->so->so_state |= SS_NBIO; in ng_ksocket_connect()
619 SOCK_UNLOCK(priv->so); in ng_ksocket_connect()
652 ng_send_fn(node, NULL, &ng_ksocket_incoming2, so, M_NOWAIT); in ng_ksocket_connect()
666 struct socket *const so = priv->so; in ng_ksocket_rcvmsg() local
684 if (so == NULL) in ng_ksocket_rcvmsg()
688 error = sobind(so, sa, td); in ng_ksocket_rcvmsg()
696 if (so == NULL) in ng_ksocket_rcvmsg()
700 so->so_state |= SS_NBIO; in ng_ksocket_rcvmsg()
701 error = solisten(so, *((int32_t *)msg->data), td); in ng_ksocket_rcvmsg()
703 SOLISTEN_LOCK(so); in ng_ksocket_rcvmsg()
704 solisten_upcall_set(so, in ng_ksocket_rcvmsg()
706 SOLISTEN_UNLOCK(so); in ng_ksocket_rcvmsg()
716 if (so == NULL) in ng_ksocket_rcvmsg()
720 if (!(so->so_options & SO_ACCEPTCONN)) in ng_ksocket_rcvmsg()
751 if (so == NULL) in ng_ksocket_rcvmsg()
755 if ((so->so_state & SS_ISCONNECTING) != 0) in ng_ksocket_rcvmsg()
757 if ((error = soconnect(so, sa, td)) != 0) { in ng_ksocket_rcvmsg()
758 so->so_state &= ~SS_ISCONNECTING; in ng_ksocket_rcvmsg()
761 if ((so->so_state & SS_ISCONNECTING) != 0) { in ng_ksocket_rcvmsg()
774 int (*func)(struct socket *so, struct sockaddr **nam); in ng_ksocket_rcvmsg()
781 if (so == NULL) in ng_ksocket_rcvmsg()
786 if ((so->so_state in ng_ksocket_rcvmsg()
789 func = so->so_proto->pr_peeraddr; in ng_ksocket_rcvmsg()
791 func = so->so_proto->pr_sockaddr; in ng_ksocket_rcvmsg()
794 if ((error = (*func)(so, &sa)) != 0) in ng_ksocket_rcvmsg()
822 if (so == NULL) in ng_ksocket_rcvmsg()
839 if ((error = sogetopt(so, &sopt)) != 0) { in ng_ksocket_rcvmsg()
860 if (so == NULL) in ng_ksocket_rcvmsg()
870 error = sosetopt(so, &sopt); in ng_ksocket_rcvmsg()
898 struct socket *const so = priv->so; in ng_ksocket_rcvdata() local
934 error = sosend(so, sa, 0, m, 0, 0, td); in ng_ksocket_rcvdata()
946 struct socket *so = priv->so; in ng_ksocket_shutdown() local
950 if (priv->so != NULL) { in ng_ksocket_shutdown()
951 if (SOLISTENING(so)) { in ng_ksocket_shutdown()
952 SOLISTEN_LOCK(so); in ng_ksocket_shutdown()
953 solisten_upcall_set(so, NULL, NULL); in ng_ksocket_shutdown()
954 SOLISTEN_UNLOCK(so); in ng_ksocket_shutdown()
956 SOCK_RECVBUF_LOCK(so); in ng_ksocket_shutdown()
957 soupcall_clear(so, SO_RCV); in ng_ksocket_shutdown()
958 SOCK_RECVBUF_UNLOCK(so); in ng_ksocket_shutdown()
959 SOCK_SENDBUF_LOCK(so); in ng_ksocket_shutdown()
960 soupcall_clear(so, SO_SND); in ng_ksocket_shutdown()
961 SOCK_SENDBUF_UNLOCK(so); in ng_ksocket_shutdown()
963 soclose(so); in ng_ksocket_shutdown()
964 priv->so = NULL; in ng_ksocket_shutdown()
1017 ng_ksocket_incoming(struct socket *so, void *arg, int waitflag) in ng_ksocket_incoming() argument
1030 ng_send_fn1(node, NULL, &ng_ksocket_incoming2, so, 0, wait)) { in ng_ksocket_incoming()
1046 struct socket *so = arg1; in ng_ksocket_incoming2() local
1051 KASSERT(so == priv->so, ("%s: wrong socket", __func__)); in ng_ksocket_incoming2()
1058 if ((error = so->so_error) != 0) { in ng_ksocket_incoming2()
1059 so->so_error = 0; in ng_ksocket_incoming2()
1060 so->so_state &= ~SS_ISCONNECTING; in ng_ksocket_incoming2()
1062 if (!(so->so_state & SS_ISCONNECTING)) { in ng_ksocket_incoming2()
1101 if ((error = soreceive(so, (so->so_state & SS_ISCONNECTED) ? in ng_ksocket_incoming2()
1123 if (so->so_type == SOCK_STREAM) { in ng_ksocket_incoming2()
1165 if (so->so_rcv.sb_state & SBS_CANTRCVMORE && in ng_ksocket_incoming2()
1179 struct socket *const head = priv->so; in ng_ksocket_accept()
1180 struct socket *so; in ng_ksocket_accept() local
1190 error = solisten_dequeue(head, &so, SOCK_NONBLOCK); in ng_ksocket_accept()
1199 if ((error = soaccept(so, &sa)) != 0) in ng_ksocket_accept()
1209 soclose(so); in ng_ksocket_accept()
1219 soclose(so); in ng_ksocket_accept()
1226 soclose(so); in ng_ksocket_accept()
1231 priv2->so = so; in ng_ksocket_accept()
1242 SOCKBUF_LOCK(&so->so_rcv); in ng_ksocket_accept()
1243 soupcall_set(so, SO_RCV, ng_ksocket_incoming, node); in ng_ksocket_accept()
1244 SOCKBUF_UNLOCK(&so->so_rcv); in ng_ksocket_accept()
1245 SOCKBUF_LOCK(&so->so_snd); in ng_ksocket_accept()
1246 soupcall_set(so, SO_SND, ng_ksocket_incoming, node); in ng_ksocket_accept()
1247 SOCKBUF_UNLOCK(&so->so_snd); in ng_ksocket_accept()
1264 ng_ksocket_listen_upcall(struct socket *so, void *arg, int waitflag) in ng_ksocket_listen_upcall() argument