Lines Matching defs:so
193 struct socket *so;
246 so = inp->inp_socket;
247 mtx_enter(&so->so_rcv.sb_mtx);
248 if (sbappendaddr(so, &so->so_rcv, sintosa(&sin), m, NULL) == 0) {
249 mtx_leave(&so->so_rcv.sb_mtx);
253 mtx_leave(&so->so_rcv.sb_mtx);
254 sorwakeup(so);
266 divert_attach(struct socket *so, int proto, int wait)
270 if (so->so_pcb != NULL)
272 if ((so->so_state & SS_PRIV) == 0)
275 error = soreserve(so, atomic_load_int(&divert_sendspace),
279 error = in_pcballoc(so, &divbtable, wait);
283 sotoinpcb(so)->inp_flags |= INP_HDRINCL;
288 divert_detach(struct socket *so)
290 struct inpcb *inp = sotoinpcb(so);
292 soassertlocked(so);
302 divert_bind(struct socket *so, struct mbuf *addr, struct proc *p)
304 struct inpcb *inp = sotoinpcb(so);
306 soassertlocked(so);
311 divert_shutdown(struct socket *so)
313 soassertlocked(so);
314 socantsendmore(so);
319 divert_send(struct socket *so, struct mbuf *m, struct mbuf *addr,
322 struct inpcb *inp = sotoinpcb(so);
324 soassertlocked(so);