Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_usrreq.c
Show First 20 Lines • Show All 1,456 Lines • ▼ Show 20 Lines | |||||
out: | out: | ||||
TCPDEBUG2(PRU_RCVOOB); | TCPDEBUG2(PRU_RCVOOB); | ||||
TCP_PROBE2(debug__user, tp, PRU_RCVOOB); | TCP_PROBE2(debug__user, tp, PRU_RCVOOB); | ||||
INP_WUNLOCK(inp); | INP_WUNLOCK(inp); | ||||
return (error); | return (error); | ||||
} | } | ||||
#ifdef INET | #ifdef INET | ||||
struct pr_usrreqs tcp_usrreqs = { | struct protosw tcp_protosw = { | ||||
.pru_abort = tcp_usr_abort, | .pr_type = SOCK_STREAM, | ||||
.pru_accept = tcp_usr_accept, | .pr_protocol = IPPROTO_TCP, | ||||
.pru_attach = tcp_usr_attach, | .pr_flags = PR_CONNREQUIRED | PR_IMPLOPCL | PR_WANTRCVD | | ||||
.pru_bind = tcp_usr_bind, | PR_CAPATTACH, | ||||
.pru_connect = tcp_usr_connect, | .pr_ctloutput = tcp_ctloutput, | ||||
.pru_control = in_control, | .pr_abort = tcp_usr_abort, | ||||
.pru_detach = tcp_usr_detach, | .pr_accept = tcp_usr_accept, | ||||
.pru_disconnect = tcp_usr_disconnect, | .pr_attach = tcp_usr_attach, | ||||
.pru_listen = tcp_usr_listen, | .pr_bind = tcp_usr_bind, | ||||
.pru_peeraddr = in_getpeeraddr, | .pr_connect = tcp_usr_connect, | ||||
.pru_rcvd = tcp_usr_rcvd, | .pr_control = in_control, | ||||
.pru_rcvoob = tcp_usr_rcvoob, | .pr_detach = tcp_usr_detach, | ||||
.pru_send = tcp_usr_send, | .pr_disconnect = tcp_usr_disconnect, | ||||
.pru_ready = tcp_usr_ready, | .pr_listen = tcp_usr_listen, | ||||
.pru_shutdown = tcp_usr_shutdown, | .pr_peeraddr = in_getpeeraddr, | ||||
.pru_sockaddr = in_getsockaddr, | .pr_rcvd = tcp_usr_rcvd, | ||||
.pru_sosetlabel = in_pcbsosetlabel, | .pr_rcvoob = tcp_usr_rcvoob, | ||||
.pru_close = tcp_usr_close, | .pr_send = tcp_usr_send, | ||||
.pr_ready = tcp_usr_ready, | |||||
.pr_shutdown = tcp_usr_shutdown, | |||||
.pr_sockaddr = in_getsockaddr, | |||||
.pr_sosetlabel = in_pcbsosetlabel, | |||||
.pr_close = tcp_usr_close, | |||||
}; | }; | ||||
#endif /* INET */ | #endif /* INET */ | ||||
#ifdef INET6 | #ifdef INET6 | ||||
struct pr_usrreqs tcp6_usrreqs = { | struct protosw tcp6_protosw = { | ||||
.pru_abort = tcp_usr_abort, | .pr_type = SOCK_STREAM, | ||||
.pru_accept = tcp6_usr_accept, | .pr_protocol = IPPROTO_TCP, | ||||
.pru_attach = tcp_usr_attach, | .pr_flags = PR_CONNREQUIRED | PR_IMPLOPCL |PR_WANTRCVD | | ||||
.pru_bind = tcp6_usr_bind, | PR_CAPATTACH, | ||||
.pru_connect = tcp6_usr_connect, | .pr_ctloutput = tcp_ctloutput, | ||||
.pru_control = in6_control, | .pr_abort = tcp_usr_abort, | ||||
.pru_detach = tcp_usr_detach, | .pr_accept = tcp6_usr_accept, | ||||
.pru_disconnect = tcp_usr_disconnect, | .pr_attach = tcp_usr_attach, | ||||
.pru_listen = tcp6_usr_listen, | .pr_bind = tcp6_usr_bind, | ||||
.pru_peeraddr = in6_mapped_peeraddr, | .pr_connect = tcp6_usr_connect, | ||||
.pru_rcvd = tcp_usr_rcvd, | .pr_control = in6_control, | ||||
.pru_rcvoob = tcp_usr_rcvoob, | .pr_detach = tcp_usr_detach, | ||||
.pru_send = tcp_usr_send, | .pr_disconnect = tcp_usr_disconnect, | ||||
.pru_ready = tcp_usr_ready, | .pr_listen = tcp6_usr_listen, | ||||
.pru_shutdown = tcp_usr_shutdown, | .pr_peeraddr = in6_mapped_peeraddr, | ||||
.pru_sockaddr = in6_mapped_sockaddr, | .pr_rcvd = tcp_usr_rcvd, | ||||
.pru_sosetlabel = in_pcbsosetlabel, | .pr_rcvoob = tcp_usr_rcvoob, | ||||
.pru_close = tcp_usr_close, | .pr_send = tcp_usr_send, | ||||
.pr_ready = tcp_usr_ready, | |||||
.pr_shutdown = tcp_usr_shutdown, | |||||
.pr_sockaddr = in6_mapped_sockaddr, | |||||
.pr_sosetlabel = in_pcbsosetlabel, | |||||
.pr_close = tcp_usr_close, | |||||
}; | }; | ||||
#endif /* INET6 */ | #endif /* INET6 */ | ||||
#ifdef INET | #ifdef INET | ||||
/* | /* | ||||
* Common subroutine to open a TCP connection to remote host specified | * Common subroutine to open a TCP connection to remote host specified | ||||
* by struct sockaddr_in in mbuf *nam. Call in_pcbbind to assign a local | * by struct sockaddr_in in mbuf *nam. Call in_pcbbind to assign a local | ||||
* port number if needed. Call in_pcbconnect_setup to do the routing and | * port number if needed. Call in_pcbconnect_setup to do the routing and | ||||
▲ Show 20 Lines • Show All 1,699 Lines • Show Last 20 Lines |