<dec f='src/src/sys/netinet/tcp_var.h' l='969' type='struct tcpcb * tcp_usrclosed(struct tcpcb * )'/>
<use f='src/src/sys/netinet/tcp_usrreq.c' l='929' u='c' c='tcp_shutdown'/>
<use f='src/src/sys/netinet/tcp_usrreq.c' l='1272' u='c' c='tcp_disconnect1'/>
<def f='src/src/sys/netinet/tcp_usrreq.c' l='1289' ll='1344' type='struct tcpcb * tcp_usrclosed(struct tcpcb * tp)'/>
<doc f='src/src/sys/netinet/tcp_usrreq.c' l='1279'>/*
 * User issued close, and wish to trail through shutdown states:
 * if never received SYN, just forget it.  If got a SYN from peer,
 * but haven&apos;t sent FIN, then go to FIN_WAIT_1 state to send peer a FIN.
 * If already got a FIN from peer, then almost done; go to LAST_ACK
 * state.  In all other cases, have already sent FIN to peer (e.g.
 * after PRU_SHUTDOWN), and just have to play tedious game waiting
 * for peer to send FIN or not respond to keep-alives, etc.
 * We can let the user exit from the close as soon as the FIN is acked.
 */</doc>
