Lines Matching full:so

90 	struct socket	*so;  member
175 static int ng_ksocket_listen_upcall(struct socket *so, void *arg,
179 static int ng_ksocket_incoming(struct socket *so, void *arg, int waitflag);
666 error = socreate(family, &priv->so, type, protocol, in ng_ksocket_newhook()
692 struct socket *const so = priv->so; in ng_ksocket_connect() local
695 SOCK_RECVBUF_LOCK(so); in ng_ksocket_connect()
696 soupcall_set(priv->so, SO_RCV, ng_ksocket_incoming, node); in ng_ksocket_connect()
697 SOCK_RECVBUF_UNLOCK(so); in ng_ksocket_connect()
698 SOCK_SENDBUF_LOCK(so); in ng_ksocket_connect()
699 soupcall_set(priv->so, SO_SND, ng_ksocket_incoming, node); in ng_ksocket_connect()
700 SOCK_SENDBUF_UNLOCK(so); in ng_ksocket_connect()
701 SOCK_LOCK(priv->so); in ng_ksocket_connect()
702 priv->so->so_state |= SS_NBIO; in ng_ksocket_connect()
703 SOCK_UNLOCK(priv->so); in ng_ksocket_connect()
736 ng_send_fn(node, NULL, &ng_ksocket_incoming2, so, M_NOWAIT); in ng_ksocket_connect()
750 struct socket *const so = priv->so; in ng_ksocket_rcvmsg() local
768 if (so == NULL) in ng_ksocket_rcvmsg()
772 error = sobind(so, sa, td); in ng_ksocket_rcvmsg()
780 if (so == NULL) in ng_ksocket_rcvmsg()
784 so->so_state |= SS_NBIO; in ng_ksocket_rcvmsg()
785 error = solisten(so, *((int32_t *)msg->data), td); in ng_ksocket_rcvmsg()
787 SOLISTEN_LOCK(so); in ng_ksocket_rcvmsg()
788 solisten_upcall_set(so, in ng_ksocket_rcvmsg()
790 SOLISTEN_UNLOCK(so); in ng_ksocket_rcvmsg()
800 if (so == NULL) in ng_ksocket_rcvmsg()
804 if (!(so->so_options & SO_ACCEPTCONN)) in ng_ksocket_rcvmsg()
835 if (so == NULL) in ng_ksocket_rcvmsg()
839 if ((so->so_state & SS_ISCONNECTING) != 0) in ng_ksocket_rcvmsg()
841 if ((error = soconnect(so, sa, td)) != 0) { in ng_ksocket_rcvmsg()
842 so->so_state &= ~SS_ISCONNECTING; in ng_ksocket_rcvmsg()
845 if ((so->so_state & SS_ISCONNECTING) != 0) { in ng_ksocket_rcvmsg()
858 int (*func)(struct socket *so, struct sockaddr *sa); in ng_ksocket_rcvmsg()
864 if (so == NULL) in ng_ksocket_rcvmsg()
869 if ((so->so_state & SS_ISCONNECTED) == 0) in ng_ksocket_rcvmsg()
876 error = (*func)(so, (struct sockaddr *)&ss); in ng_ksocket_rcvmsg()
899 if (so == NULL) in ng_ksocket_rcvmsg()
916 if ((error = sogetopt(so, &sopt)) != 0) { in ng_ksocket_rcvmsg()
937 if (so == NULL) in ng_ksocket_rcvmsg()
947 error = sosetopt(so, &sopt); in ng_ksocket_rcvmsg()
975 struct socket *const so = priv->so; in ng_ksocket_rcvdata() local
1011 error = sosend(so, sa, 0, m, 0, 0, td); in ng_ksocket_rcvdata()
1023 struct socket *so = priv->so; in ng_ksocket_shutdown() local
1027 if (priv->so != NULL) { in ng_ksocket_shutdown()
1028 if (SOLISTENING(so)) { in ng_ksocket_shutdown()
1029 SOLISTEN_LOCK(so); in ng_ksocket_shutdown()
1030 solisten_upcall_set(so, NULL, NULL); in ng_ksocket_shutdown()
1031 SOLISTEN_UNLOCK(so); in ng_ksocket_shutdown()
1033 SOCK_RECVBUF_LOCK(so); in ng_ksocket_shutdown()
1034 soupcall_clear(so, SO_RCV); in ng_ksocket_shutdown()
1035 SOCK_RECVBUF_UNLOCK(so); in ng_ksocket_shutdown()
1036 SOCK_SENDBUF_LOCK(so); in ng_ksocket_shutdown()
1037 soupcall_clear(so, SO_SND); in ng_ksocket_shutdown()
1038 SOCK_SENDBUF_UNLOCK(so); in ng_ksocket_shutdown()
1040 soclose(so); in ng_ksocket_shutdown()
1041 priv->so = NULL; in ng_ksocket_shutdown()
1083 * asynchronous event. This is because in doing so you are ignoring the
1087 * time (several millisecs away) so don't give it any arguments
1094 ng_ksocket_incoming(struct socket *so, void *arg, int waitflag) in ng_ksocket_incoming() argument
1107 ng_send_fn1(node, NULL, &ng_ksocket_incoming2, so, 0, wait)) { in ng_ksocket_incoming()
1123 struct socket *so = arg1; in ng_ksocket_incoming2() local
1128 KASSERT(so == priv->so, ("%s: wrong socket", __func__)); in ng_ksocket_incoming2()
1135 if ((error = so->so_error) != 0) { in ng_ksocket_incoming2()
1136 so->so_error = 0; in ng_ksocket_incoming2()
1137 so->so_state &= ~SS_ISCONNECTING; in ng_ksocket_incoming2()
1139 if (!(so->so_state & SS_ISCONNECTING)) { in ng_ksocket_incoming2()
1178 if ((error = soreceive(so, (so->so_state & SS_ISCONNECTED) ? in ng_ksocket_incoming2()
1196 * Stream sockets do not have packet boundaries, so in ng_ksocket_incoming2()
1200 if (so->so_type == SOCK_STREAM) { in ng_ksocket_incoming2()
1242 if (so->so_rcv.sb_state & SBS_CANTRCVMORE && in ng_ksocket_incoming2()
1256 struct socket *const head = priv->so; in ng_ksocket_accept()
1257 struct socket *so; in ng_ksocket_accept() local
1267 error = solisten_dequeue(head, &so, SOCK_NONBLOCK); in ng_ksocket_accept()
1276 if ((error = soaccept(so, (struct sockaddr *)&ss)) != 0) in ng_ksocket_accept()
1285 soclose(so); in ng_ksocket_accept()
1295 soclose(so); in ng_ksocket_accept()
1302 soclose(so); in ng_ksocket_accept()
1307 priv2->so = so; in ng_ksocket_accept()
1318 SOCK_RECVBUF_LOCK(so); in ng_ksocket_accept()
1319 soupcall_set(so, SO_RCV, ng_ksocket_incoming, node); in ng_ksocket_accept()
1320 SOCK_RECVBUF_UNLOCK(so); in ng_ksocket_accept()
1321 SOCK_SENDBUF_LOCK(so); in ng_ksocket_accept()
1322 soupcall_set(so, SO_SND, ng_ksocket_incoming, node); in ng_ksocket_accept()
1323 SOCK_SENDBUF_UNLOCK(so); in ng_ksocket_accept()
1337 ng_ksocket_listen_upcall(struct socket *so, void *arg, int waitflag) in ng_ksocket_listen_upcall() argument