X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/blobdiff_plain/908b5ff6c75734cb1c729163dc81aa9e670aea44..dadab5e9782225b1752766daee5c789e2266b933:/sys/netinet/tcp_usrreq.c diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index ac9f5f4c8f..d99d77fae2 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -32,7 +32,7 @@ * * From: @(#)tcp_usrreq.c 8.2 (Berkeley) 1/3/94 * $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.51.2.17 2002/10/11 11:46:44 ume Exp $ - * $DragonFly: src/sys/netinet/tcp_usrreq.c,v 1.2 2003/06/17 04:28:51 dillon Exp $ + * $DragonFly: src/sys/netinet/tcp_usrreq.c,v 1.3 2003/06/25 03:56:04 dillon Exp $ */ #include "opt_ipsec.h" @@ -87,12 +87,12 @@ */ extern char *tcpstates[]; /* XXX ??? */ -static int tcp_attach __P((struct socket *, struct proc *)); +static int tcp_attach __P((struct socket *, struct thread *)); static int tcp_connect __P((struct tcpcb *, struct sockaddr *, - struct proc *)); + struct thread *)); #ifdef INET6 static int tcp6_connect __P((struct tcpcb *, struct sockaddr *, - struct proc *)); + struct thread *)); #endif /* INET6 */ static struct tcpcb * tcp_disconnect __P((struct tcpcb *)); @@ -115,7 +115,7 @@ static struct tcpcb * * and an internet control block. */ static int -tcp_usr_attach(struct socket *so, int proto, struct proc *p) +tcp_usr_attach(struct socket *so, int proto, struct thread *td) { int s = splnet(); int error; @@ -129,7 +129,7 @@ tcp_usr_attach(struct socket *so, int proto, struct proc *p) goto out; } - error = tcp_attach(so, p); + error = tcp_attach(so, td); if (error) goto out; @@ -188,7 +188,7 @@ tcp_usr_detach(struct socket *so) * Give the socket an address. */ static int -tcp_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p) +tcp_usr_bind(struct socket *so, struct sockaddr *nam, struct thread *td) { int s = splnet(); int error = 0; @@ -208,7 +208,7 @@ tcp_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p) error = EAFNOSUPPORT; goto out; } - error = in_pcbbind(inp, nam, p); + error = in_pcbbind(inp, nam, td); if (error) goto out; COMMON_END(PRU_BIND); @@ -217,7 +217,7 @@ tcp_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p) #ifdef INET6 static int -tcp6_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p) +tcp6_usr_bind(struct socket *so, struct sockaddr *nam, struct thread *td) { int s = splnet(); int error = 0; @@ -248,11 +248,11 @@ tcp6_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p) in6_sin6_2_sin(&sin, sin6p); inp->inp_vflag |= INP_IPV4; inp->inp_vflag &= ~INP_IPV6; - error = in_pcbbind(inp, (struct sockaddr *)&sin, p); + error = in_pcbbind(inp, (struct sockaddr *)&sin, td); goto out; } } - error = in6_pcbbind(inp, nam, p); + error = in6_pcbbind(inp, nam, td); if (error) goto out; COMMON_END(PRU_BIND); @@ -263,7 +263,7 @@ tcp6_usr_bind(struct socket *so, struct sockaddr *nam, struct proc *p) * Prepare to accept connections. */ static int -tcp_usr_listen(struct socket *so, struct proc *p) +tcp_usr_listen(struct socket *so, struct thread *td) { int s = splnet(); int error = 0; @@ -272,7 +272,7 @@ tcp_usr_listen(struct socket *so, struct proc *p) COMMON_START(); if (inp->inp_lport == 0) - error = in_pcbbind(inp, (struct sockaddr *)0, p); + error = in_pcbbind(inp, (struct sockaddr *)0, td); if (error == 0) tp->t_state = TCPS_LISTEN; COMMON_END(PRU_LISTEN); @@ -280,7 +280,7 @@ tcp_usr_listen(struct socket *so, struct proc *p) #ifdef INET6 static int -tcp6_usr_listen(struct socket *so, struct proc *p) +tcp6_usr_listen(struct socket *so, struct thread *td) { int s = splnet(); int error = 0; @@ -292,7 +292,7 @@ tcp6_usr_listen(struct socket *so, struct proc *p) inp->inp_vflag &= ~INP_IPV4; if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0) inp->inp_vflag |= INP_IPV4; - error = in6_pcbbind(inp, (struct sockaddr *)0, p); + error = in6_pcbbind(inp, (struct sockaddr *)0, td); } if (error == 0) tp->t_state = TCPS_LISTEN; @@ -308,7 +308,7 @@ tcp6_usr_listen(struct socket *so, struct proc *p) * Send initial segment on connection. */ static int -tcp_usr_connect(struct socket *so, struct sockaddr *nam, struct proc *p) +tcp_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td) { int s = splnet(); int error = 0; @@ -328,9 +328,9 @@ tcp_usr_connect(struct socket *so, struct sockaddr *nam, struct proc *p) goto out; } - prison_remote_ip(p, 0, &sinp->sin_addr.s_addr); + prison_remote_ip(td, 0, &sinp->sin_addr.s_addr); - if ((error = tcp_connect(tp, nam, p)) != 0) + if ((error = tcp_connect(tp, nam, td)) != 0) goto out; error = tcp_output(tp); COMMON_END(PRU_CONNECT); @@ -338,7 +338,7 @@ tcp_usr_connect(struct socket *so, struct sockaddr *nam, struct proc *p) #ifdef INET6 static int -tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct proc *p) +tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct thread *td) { int s = splnet(); int error = 0; @@ -369,7 +369,7 @@ tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct proc *p) in6_sin6_2_sin(&sin, sin6p); inp->inp_vflag |= INP_IPV4; inp->inp_vflag &= ~INP_IPV6; - if ((error = tcp_connect(tp, (struct sockaddr *)&sin, p)) != 0) + if ((error = tcp_connect(tp, (struct sockaddr *)&sin, td)) != 0) goto out; error = tcp_output(tp); goto out; @@ -377,7 +377,7 @@ tcp6_usr_connect(struct socket *so, struct sockaddr *nam, struct proc *p) inp->inp_vflag &= ~INP_IPV4; inp->inp_vflag |= INP_IPV6; inp->inp_inc.inc_isipv6 = 1; - if ((error = tcp6_connect(tp, nam, p)) != 0) + if ((error = tcp6_connect(tp, nam, td)) != 0) goto out; error = tcp_output(tp); COMMON_END(PRU_CONNECT); @@ -504,7 +504,7 @@ tcp_usr_rcvd(struct socket *so, int flags) */ static int tcp_usr_send(struct socket *so, int flags, struct mbuf *m, - struct sockaddr *nam, struct mbuf *control, struct proc *p) + struct sockaddr *nam, struct mbuf *control, struct thread *td) { int s = splnet(); int error = 0; @@ -557,10 +557,10 @@ tcp_usr_send(struct socket *so, int flags, struct mbuf *m, */ #ifdef INET6 if (isipv6) - error = tcp6_connect(tp, nam, p); + error = tcp6_connect(tp, nam, td); else #endif /* INET6 */ - error = tcp_connect(tp, nam, p); + error = tcp_connect(tp, nam, td); if (error) goto out; tp->snd_wnd = TTCP_CLIENT_SND_WND; @@ -606,10 +606,10 @@ tcp_usr_send(struct socket *so, int flags, struct mbuf *m, */ #ifdef INET6 if (isipv6) - error = tcp6_connect(tp, nam, p); + error = tcp6_connect(tp, nam, td); else #endif /* INET6 */ - error = tcp_connect(tp, nam, p); + error = tcp_connect(tp, nam, td); if (error) goto out; tp->snd_wnd = TTCP_CLIENT_SND_WND; @@ -700,10 +700,7 @@ struct pr_usrreqs tcp6_usrreqs = { * Initialize connection parameters and enter SYN-SENT state. */ static int -tcp_connect(tp, nam, p) - register struct tcpcb *tp; - struct sockaddr *nam; - struct proc *p; +tcp_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) { struct inpcb *inp = tp->t_inpcb, *oinp; struct socket *so = inp->inp_socket; @@ -715,7 +712,7 @@ tcp_connect(tp, nam, p) int error; if (inp->inp_lport == 0) { - error = in_pcbbind(inp, (struct sockaddr *)0, p); + error = in_pcbbind(inp, (struct sockaddr *)0, td); if (error) return error; } @@ -784,10 +781,7 @@ tcp_connect(tp, nam, p) #ifdef INET6 static int -tcp6_connect(tp, nam, p) - register struct tcpcb *tp; - struct sockaddr *nam; - struct proc *p; +tcp6_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td) { struct inpcb *inp = tp->t_inpcb, *oinp; struct socket *so = inp->inp_socket; @@ -799,7 +793,7 @@ tcp6_connect(tp, nam, p) int error; if (inp->inp_lport == 0) { - error = in6_pcbbind(inp, (struct sockaddr *)0, p); + error = in6_pcbbind(inp, (struct sockaddr *)0, td); if (error) return error; } @@ -1009,9 +1003,7 @@ SYSCTL_INT(_net_inet_tcp, TCPCTL_RECVSPACE, recvspace, CTLFLAG_RW, * bufer space, and entering LISTEN state if to accept connections. */ static int -tcp_attach(so, p) - struct socket *so; - struct proc *p; +tcp_attach(struct socket *so, struct thread *td) { register struct tcpcb *tp; struct inpcb *inp; @@ -1025,7 +1017,7 @@ tcp_attach(so, p) if (error) return (error); } - error = in_pcballoc(so, &tcbinfo, p); + error = in_pcballoc(so, &tcbinfo, td); if (error) return (error); inp = sotoinpcb(so);