Lines Matching refs:so

90     struct socket *so = tp->t_socket;
96 n->ti_src = so->so_faddr;
97 n->ti_dst = so->so_laddr;
98 n->ti_sport = so->so_fport;
99 n->ti_dport = so->so_lport;
150 * ti points into m so the next line is just making
198 tcp_newtcpcb(PNATState pData, struct socket *so)
209 tp->t_socket = so;
212 * Init srtt to TCPTV_SRTTBASE (0), so we can tell that we have no
213 * rtt estimate. Set rttvar so that srtt + 2 * rttvar gives
228 so->so_tcpcb = tp;
229 so->so_type = IPPROTO_TCP;
268 so->so_error = errno;
282 struct socket *so = tp->t_socket;
296 so->so_tcpcb = 0;
297 soisfdisconnected(so);
299 if (so == tcp_last_so)
301 if (so->s != -1)
302 closesocket(so->s);
305 if (!(so->so_state & SS_FACCEPTCONN))
307 sbfree(&so->so_rcv);
308 sbfree(&so->so_snd);
310 sofree(pData, so);
311 SOCKET_UNLOCK(so);
404 int tcp_fconnect(PNATState pData, struct socket *so)
408 LogFlowFunc(("ENTER: so = %R[natsock]\n", so));
410 if ((ret = so->s = socket(AF_INET, SOCK_STREAM, 0)) >= 0)
412 int opt, s = so->s;
422 if ((so->so_faddr.s_addr & RT_H2N_U32(pData->netmask)) == pData->special_addr.s_addr)
425 switch(RT_N2H_U32(so->so_faddr.s_addr) & ~pData->netmask)
435 addr.sin_addr = so->so_faddr;
436 addr.sin_port = so->so_fport;
444 * If it's not in progress, it failed, so we just return 0,
447 soisfconnecting(so);
462 * the time it gets to accept(), so... We simply accept
468 struct socket *so;
486 so = inso;
490 if ((so = socreate()) == NULL)
496 if (tcp_attach(pData, so) < 0)
498 RTMemFree(so); /* NOT sofree */
501 so->so_laddr = inso->so_laddr;
502 so->so_lport = inso->so_lport;
505 (void) tcp_mss(pData, sototcpcb(so), 0);
510 tcp_close(pData, sototcpcb(so)); /* This will sofree() as well */
560 so->so_fport = addr.sin_port;
561 so->so_faddr = addr.sin_addr;
563 if (so->so_faddr.s_addr == 0 || so->so_faddr.s_addr == loopback_addr.s_addr)
564 so->so_faddr = alias_addr;
569 closesocket(so->s); /* If we only accept once, close the accept() socket */
570 so->so_state = SS_NOFDREF; /* Don't select it yet, even though we have an FD */
573 so->s = s;
575 tp = sototcpcb(so);
581 * && (TCP_MAXWIN << tp->request_r_scale) < so->so_rcv.sb_hiwat)
585 /* soisconnecting(so); */ /* NOFDREF used instead */
600 tcp_attach(PNATState pData, struct socket *so)
603 Assert(so->so_type == 0);
604 if ((so->so_tcpcb = tcp_newtcpcb(pData, so)) == NULL)
607 SOCKET_LOCK_CREATE(so);
609 insque(pData, so, &tcb);