Lines Matching full:so

316 nl_attach(struct socket *so, int proto, struct thread *td)  in nl_attach()  argument
330 so, is_linux ? "(linux) " : "", curproc->p_pid, in nl_attach()
334 error = soreserve(so, nl_sendspace, nl_recvspace); in nl_attach()
339 TAILQ_INIT(&so->so_rcv.nl_queue); in nl_attach()
340 TAILQ_INIT(&so->so_snd.nl_queue); in nl_attach()
341 so->so_pcb = nlp; in nl_attach()
342 nlp->nl_socket = so; in nl_attach()
346 nlp->nl_unconstrained_vnet = !jailed_without_vnet(so->so_cred); in nl_attach()
361 soisconnected(so); in nl_attach()
367 nl_bind(struct socket *so, struct sockaddr *sa, struct thread *td) in nl_bind() argument
369 struct nlpcb *nlp = sotonlpcb(so); in nl_bind()
373 NL_LOG(LOG_DEBUG3, "socket %p, PID %d", so, curproc->p_pid); in nl_bind()
375 NL_LOG(LOG_DEBUG, "socket %p, wrong sizeof(), ignoring bind()", so); in nl_bind()
385 NL_LOG(LOG_DEBUG2, "socket %p, bind() to %u, groups %u, error %d", so, in nl_bind()
441 nl_connect(struct socket *so, struct sockaddr *sa, struct thread *td) in nl_connect() argument
446 NL_LOG(LOG_DEBUG3, "socket %p, PID %d", so, curproc->p_pid); in nl_connect()
448 NL_LOG(LOG_DEBUG, "socket %p, wrong sizeof(), ignoring bind()", so); in nl_connect()
452 nlp = sotonlpcb(so); in nl_connect()
456 NL_LOG(LOG_DEBUG, "socket %p, nl_autobind() failed: %d", so, error); in nl_connect()
461 soisconnected(so); in nl_connect()
463 NL_LOG(LOG_DEBUG2, "socket %p, connect to %u", so, snl->nl_pid); in nl_connect()
480 nl_close(struct socket *so) in nl_close() argument
482 MPASS(sotonlpcb(so) != NULL); in nl_close()
486 NL_LOG(LOG_DEBUG2, "detaching socket %p, PID %d", so, curproc->p_pid); in nl_close()
487 nlp = sotonlpcb(so); in nl_close()
489 /* Mark as inactive so no new work can be enqueued */ in nl_close()
502 NL_LOG(LOG_DEBUG3, "socket %p, unlinking bound pid %u", so, nlp->nl_port); in nl_close()
509 so->so_pcb = NULL; in nl_close()
511 while ((nb = TAILQ_FIRST(&so->so_snd.nl_queue)) != NULL) { in nl_close()
512 TAILQ_REMOVE(&so->so_snd.nl_queue, nb, tailq); in nl_close()
515 while ((nb = TAILQ_FIRST(&so->so_rcv.nl_queue)) != NULL) { in nl_close()
516 TAILQ_REMOVE(&so->so_rcv.nl_queue, nb, tailq); in nl_close()
520 NL_LOG(LOG_DEBUG3, "socket %p, detached", so); in nl_close()
527 nl_disconnect(struct socket *so) in nl_disconnect() argument
529 NL_LOG(LOG_DEBUG3, "socket %p, PID %d", so, curproc->p_pid); in nl_disconnect()
530 MPASS(sotonlpcb(so) != NULL); in nl_disconnect()
535 nl_sockaddr(struct socket *so, struct sockaddr *sa) in nl_sockaddr() argument
542 .nl_pid = sotonlpcb(so)->nl_port, in nl_sockaddr()
549 nl_sosend(struct socket *so, struct sockaddr *addr, struct uio *uio, in nl_sosend() argument
552 struct nlpcb *nlp = sotonlpcb(so); in nl_sosend()
553 struct sockbuf *sb = &so->so_snd; in nl_sosend()
574 error = SOCK_IO_SEND_LOCK(so, SBLOCKWAIT(flags)); in nl_sosend()
589 SOCK_SENDBUF_LOCK(so); in nl_sosend()
596 } else if ((so->so_state & SS_NBIO) || in nl_sosend()
598 SOCK_SENDBUF_UNLOCK(so); in nl_sosend()
602 if ((error = sbwait(so, SO_SND)) != 0) { in nl_sosend()
603 SOCK_SENDBUF_UNLOCK(so); in nl_sosend()
608 SOCK_SENDBUF_UNLOCK(so); in nl_sosend()
618 SOCK_IO_SEND_UNLOCK(so); in nl_sosend()
651 nl_soreceive(struct socket *so, struct sockaddr **psa, struct uio *uio, in nl_soreceive() argument
659 struct sockbuf *sb = &so->so_rcv; in nl_soreceive()
660 struct nlpcb *nlp = sotonlpcb(so); in nl_soreceive()
669 NL_LOG(LOG_DEBUG3, "socket %p, PID %d", so, curproc->p_pid); in nl_soreceive()
680 nonblock = (so->so_state & SS_NBIO) || in nl_soreceive()
684 error = SOCK_IO_RECV_LOCK(so, SBLOCKWAIT(flags)); in nl_soreceive()
693 SOCK_RECVBUF_LOCK(so); in nl_soreceive()
696 SOCK_RECVBUF_UNLOCK(so); in nl_soreceive()
697 SOCK_IO_RECV_UNLOCK(so); in nl_soreceive()
700 error = sbwait(so, SO_RCV); in nl_soreceive()
702 SOCK_RECVBUF_UNLOCK(so); in nl_soreceive()
703 SOCK_IO_RECV_UNLOCK(so); in nl_soreceive()
793 SOCK_RECVBUF_UNLOCK(so); in nl_soreceive()
818 SOCK_IO_RECV_UNLOCK(so); in nl_soreceive()
820 nl_on_transmit(sotonlpcb(so)); in nl_soreceive()
843 nl_ctloutput(struct socket *so, struct sockopt *sopt) in nl_ctloutput() argument
845 struct nlpcb *nlp = sotonlpcb(so); in nl_ctloutput()
851 so, sopt->sopt_name); in nl_ctloutput()
945 nl_setsbopt(struct socket *so, struct sockopt *sopt) in nl_setsbopt() argument
951 return (sbsetopt(so, sopt)); in nl_setsbopt()
958 NL_LOG(LOG_DEBUG2, "socket %p, PID %d, SO_RCVBUF=%d", so, curproc->p_pid, optval); in nl_setsbopt()
964 SOCK_RECVBUF_LOCK(so); in nl_setsbopt()
965 result = sbreserve_locked_limit(so, SO_RCV, optval, nl_maxsockbuf, curthread); in nl_setsbopt()
966 SOCK_RECVBUF_UNLOCK(so); in nl_setsbopt()