Lines Matching defs:so

92  * Control and data hooks for ipfw, dummynet, divert and so on.
105 * Hooks for multicast routing. They all default to NULL, so leave them not
205 struct socket *so = inp->inp_socket;
227 (so->so_options & (SO_TIMESTAMP | SO_BINTIME)))
229 SOCKBUF_LOCK(&so->so_rcv);
230 if (sbappendaddr_locked(&so->so_rcv,
232 soroverflow_locked(so);
238 sorwakeup_locked(so);
343 * and fall through into normal filter path if so.
404 rip_send(struct socket *so, int pruflags, struct mbuf *m, struct sockaddr *nam,
414 inp = sotoinpcb(so);
422 if (so->so_state & SS_ISCONNECTED) {
445 flags = ((so->so_options & SO_DONTROUTE) ? IP_ROUTETOIF : 0) |
620 * after it gives up privilege, so some caution is required. For options
630 rip_ctloutput(struct socket *so, struct sockopt *sopt)
632 struct inpcb *inp = sotoinpcb(so);
639 inp->inp_inc.inc_fibnum = so->so_fibnum;
693 error = ip_mrouter_get ? ip_mrouter_get(so, sopt) :
698 error = ip_ctloutput(so, sopt);
751 error = ip_rsvp_init(so);
769 ip_rsvp_vif(so, sopt) : EINVAL;
789 error = ip_mrouter_set ? ip_mrouter_set(so, sopt) :
794 error = ip_ctloutput(so, sopt);
813 rip_attach(struct socket *so, int proto, struct thread *td)
818 inp = sotoinpcb(so);
826 error = soreserve(so, rip_sendspace, rip_recvspace);
829 error = in_pcballoc(so, &V_ripcbinfo);
832 inp = (struct inpcb *)so->so_pcb;
843 rip_detach(struct socket *so)
847 inp = sotoinpcb(so);
853 if (so == V_ip_mrouter && ip_mrouter_done)
862 ip_rsvp_force_done(so);
863 if (so == V_ip_rsvpd)
869 rip_dodisconnect(struct socket *so, struct inpcb *inp)
880 SOCK_LOCK(so);
881 so->so_state &= ~SS_ISCONNECTED;
882 SOCK_UNLOCK(so);
887 rip_abort(struct socket *so)
891 inp = sotoinpcb(so);
894 rip_dodisconnect(so, inp);
898 rip_close(struct socket *so)
902 inp = sotoinpcb(so);
905 rip_dodisconnect(so, inp);
909 rip_disconnect(struct socket *so)
913 if ((so->so_state & SS_ISCONNECTED) == 0)
916 inp = sotoinpcb(so);
919 rip_dodisconnect(so, inp);
924 rip_bind(struct socket *so, struct sockaddr *nam, struct thread *td)
939 inp = sotoinpcb(so);
960 rip_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
972 inp = sotoinpcb(so);
981 soisconnected(so);
987 rip_shutdown(struct socket *so, enum shutdown_how how)
990 SOCK_LOCK(so);
991 if (!(so->so_state & SS_ISCONNECTED)) {
992 SOCK_UNLOCK(so);
995 SOCK_UNLOCK(so);
999 sorflush(so);
1002 sorflush(so);
1005 socantsendmore(so);