proc->thread stage 4: rework the VFS and DEVICE subsystems to take thread
[dragonfly.git] / sys / netinet6 / udp6_usrreq.c
index fa128b1..3b95a7f 100644 (file)
@@ -1,5 +1,5 @@
 /*     $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.6.2.13 2003/01/24 05:11:35 sam Exp $       */
-/*     $DragonFly: src/sys/netinet6/udp6_usrreq.c,v 1.3 2003/06/23 17:55:47 dillon Exp $       */
+/*     $DragonFly: src/sys/netinet6/udp6_usrreq.c,v 1.4 2003/06/25 03:56:04 dillon Exp $       */
 /*     $KAME: udp6_usrreq.c,v 1.27 2001/05/21 05:45:10 jinmei Exp $    */
 
 /*
@@ -145,9 +145,7 @@ in6_mcmatch(in6p, ia6, ifp)
 }
 
 int
-udp6_input(mp, offp, proto)
-       struct mbuf **mp;
-       int *offp, proto;
+udp6_input(struct mbuf **mp, int *offp, int proto)
 {
        struct mbuf *m = *mp;
        register struct ip6_hdr *ip6;
@@ -494,7 +492,7 @@ udp6_getcred(SYSCTL_HANDLER_ARGS)
        struct inpcb *inp;
        int error, s;
 
-       error = suser_xxx(req->p->p_ucred, 0);
+       error = suser(req->td);
        if (error)
                return (error);
 
@@ -543,7 +541,7 @@ udp6_abort(struct socket *so)
 }
 
 static int
-udp6_attach(struct socket *so, int proto, struct proc *p)
+udp6_attach(struct socket *so, int proto, struct thread *td)
 {
        struct inpcb *inp;
        int s, error;
@@ -558,7 +556,7 @@ udp6_attach(struct socket *so, int proto, struct proc *p)
                        return error;
        }
        s = splnet();
-       error = in_pcballoc(so, &udbinfo, p);
+       error = in_pcballoc(so, &udbinfo, td);
        splx(s);
        if (error)
                return error;
@@ -579,7 +577,7 @@ udp6_attach(struct socket *so, int proto, struct proc *p)
 }
 
 static int
-udp6_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
+udp6_bind(struct socket *so, struct sockaddr *nam, struct thread *td)
 {
        struct inpcb *inp;
        int s, error;
@@ -604,20 +602,20 @@ udp6_bind(struct socket *so, struct sockaddr *nam, struct proc *p)
                        inp->inp_vflag |= INP_IPV4;
                        inp->inp_vflag &= ~INP_IPV6;
                        s = splnet();
-                       error = in_pcbbind(inp, (struct sockaddr *)&sin, p);
+                       error = in_pcbbind(inp, (struct sockaddr *)&sin, td);
                        splx(s);
                        return error;
                }
        }
 
        s = splnet();
-       error = in6_pcbbind(inp, nam, p);
+       error = in6_pcbbind(inp, nam, td);
        splx(s);
        return error;
 }
 
 static int
-udp6_connect(struct socket *so, struct sockaddr *nam, struct proc *p)
+udp6_connect(struct socket *so, struct sockaddr *nam, struct thread *td)
 {
        struct inpcb *inp;
        int s, error;
@@ -637,7 +635,7 @@ udp6_connect(struct socket *so, struct sockaddr *nam, struct proc *p)
                                return EISCONN;
                        in6_sin6_2_sin(&sin, sin6_p);
                        s = splnet();
-                       error = in_pcbconnect(inp, (struct sockaddr *)&sin, p);
+                       error = in_pcbconnect(inp, (struct sockaddr *)&sin, td);
                        splx(s);
                        if (error == 0) {
                                inp->inp_vflag |= INP_IPV4;
@@ -650,7 +648,7 @@ udp6_connect(struct socket *so, struct sockaddr *nam, struct proc *p)
        if (!IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_faddr))
                return EISCONN;
        s = splnet();
-       error = in6_pcbconnect(inp, nam, p);
+       error = in6_pcbconnect(inp, nam, td);
        splx(s);
        if (error == 0) {
                if (!ip6_v6only) { /* should be non mapped addr */
@@ -707,7 +705,7 @@ udp6_disconnect(struct socket *so)
 
 static int
 udp6_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr,
-         struct mbuf *control, struct proc *p)
+         struct mbuf *control, struct thread *td)
 {
        struct inpcb *inp;
        int error = 0;
@@ -753,7 +751,7 @@ udp6_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr,
                }
        }
 
-       return udp6_output(inp, m, addr, control, p);
+       return udp6_output(inp, m, addr, control, td);
 
   bad:
        m_freem(m);