Home | History | Annotate | Download | only in libsockin

Lines Matching refs:so

184 #define SO2S(so) ((intptr_t)(so->so_internal))
202 registersock(struct socket *so, int news)
210 so->so_internal = (void *)(intptr_t)news;
211 su->su_so = so;
223 removesock(struct socket *so)
229 if (su_iter->su_so == so)
245 sockin_process(struct socket *so)
255 if (so->so_proto->pr_type == SOCK_DGRAM) {
275 error = rumpcomp_sockin_recvmsg(SO2S(so), &rmsg, 0, &n);
280 if (error != EAGAIN && so->so_proto->pr_type == SOCK_STREAM) {
282 soisdisconnected(so);
284 removesock(so);
293 if (so->so_proto->pr_type == SOCK_DGRAM) {
294 if (!sbappendaddr(&so->so_rcv, rmsg.msg_name, m, NULL)) {
298 sbappendstream(&so->so_rcv, m);
301 sorwakeup(so);
306 sockin_waccept(struct socket *so)
313 error = rumpcomp_sockin_accept(SO2S(so), (struct sockaddr *)&sin,
319 nso = sonewconn(so, true);
342 struct socket *so;
382 so = su_iter->su_so;
384 if(so->so_options&SO_ACCEPTCONN)
385 sockin_waccept(so);
387 sockin_process(so);
439 sockin_attach(struct socket *so, int proto)
441 const int type = so->so_proto->pr_type;
444 sosetlock(so);
445 if (so->so_snd.sb_hiwat == 0 || so->so_rcv.sb_hiwat == 0) {
446 error = soreserve(so, SOCKIN_SBSIZE, SOCKIN_SBSIZE);
451 family = so->so_proto->pr_domain->dom_family;
469 if ((error = registersock(so, news)) != 0)
476 sockin_detach(struct socket *so)
482 sockin_accept(struct socket *so, struct sockaddr *nam)
484 KASSERT(solocked(so));
491 sockin_bind(struct socket *so, struct sockaddr *nam, struct lwp *l)
493 KASSERT(solocked(so));
496 return rumpcomp_sockin_bind(SO2S(so), nam, nam->sa_len);
500 sockin_listen(struct socket *so, struct lwp *l)
502 KASSERT(solocked(so));
504 return rumpcomp_sockin_listen(SO2S(so), so->so_qlimit);
508 sockin_connect(struct socket *so, struct sockaddr *nam, struct lwp *l)
512 KASSERT(solocked(so));
515 error = rumpcomp_sockin_connect(SO2S(so), nam, nam->sa_len);
517 soisconnected(so);
523 sockin_connect2(struct socket *so, struct socket *so2)
525 KASSERT(solocked(so));
531 sockin_disconnect(struct socket *so)
533 KASSERT(solocked(so));
539 sockin_shutdown(struct socket *so)
541 KASSERT(solocked(so));
543 removesock(so);
548 sockin_abort(struct socket *so)
550 KASSERT(solocked(so));
556 sockin_ioctl(struct socket *so, u_long cmd, void *nam, struct ifnet *ifp)
562 sockin_stat(struct socket *so, struct stat *ub)
564 KASSERT(solocked(so));
570 sockin_peeraddr(struct socket *so, struct sockaddr *nam)
572 KASSERT(solocked(so));
577 error = rumpcomp_sockin_getname(SO2S(so),
585 sockin_sockaddr(struct socket *so, struct sockaddr *nam)
587 KASSERT(solocked(so));
592 error = rumpcomp_sockin_getname(SO2S(so),
600 sockin_rcvd(struct socket *so, int flags, struct lwp *l)
602 KASSERT(solocked(so));
608 sockin_recvoob(struct socket *so, struct mbuf *m, int flags)
610 KASSERT(solocked(so));
616 sockin_send(struct socket *so, struct mbuf *m, struct sockaddr *saddr,
651 s = SO2S(so);
668 sockin_process(so);
674 sockin_sendoob(struct socket *so, struct mbuf *m, struct mbuf *control)
676 KASSERT(solocked(so));
682 sockin_purgeif(struct socket *so, struct ifnet *ifp)
689 sockin_ctloutput(int op, struct socket *so, struct sockopt *sopt)
692 return rumpcomp_sockin_setsockopt(SO2S(so), sopt->sopt_level,