put vax headers in their place
[unix-history] / usr / src / sys / kern / uipc_syscalls.c
index d88be06..1be3f8b 100644 (file)
@@ -1,4 +1,4 @@
-/*     uipc_syscalls.c 4.28    82/10/05        */
+/*     uipc_syscalls.c 4.30    82/10/09        */
 
 #include "../h/param.h"
 #include "../h/systm.h"
 
 #include "../h/param.h"
 #include "../h/systm.h"
@@ -12,8 +12,6 @@
 #include "../h/protosw.h"
 #include "../h/socket.h"
 #include "../h/socketvar.h"
 #include "../h/protosw.h"
 #include "../h/socket.h"
 #include "../h/socketvar.h"
-#include "../net/in.h"
-#include "../net/in_systm.h"
 #include "../h/descrip.h"
 #include "../h/uio.h"
 
 #include "../h/descrip.h"
 #include "../h/uio.h"
 
@@ -79,10 +77,11 @@ bind()
        u.u_error = sockopt(&aopt, uap->opt);
        if (u.u_error) {
                m_freem(nam);
        u.u_error = sockopt(&aopt, uap->opt);
        if (u.u_error) {
                m_freem(nam);
-               return;
+               goto freeopt;
        }
        u.u_error = sobind(fp->f_socket, nam, &aopt);
        m_freem(nam);
        }
        u.u_error = sobind(fp->f_socket, nam, &aopt);
        m_freem(nam);
+freeopt:
        if (uap->opt)
                m_free(dtom(aopt.so_optdata));
 }
        if (uap->opt)
                m_free(dtom(aopt.so_optdata));
 }
@@ -194,7 +193,6 @@ noname:
        fp->f_socket = so;
 ret:
        nam = m_get(M_WAIT);
        fp->f_socket = so;
 ret:
        nam = m_get(M_WAIT);
-       nam->m_off = MMINOFF;
        soaccept(so, nam, &aopt);
        if (uap->name) {
                if (namelen > nam->m_len)
        soaccept(so, nam, &aopt);
        if (uap->name) {
                if (namelen > nam->m_len)
@@ -305,7 +303,7 @@ sendto()
        u.u_error = sockname(&to, uap->to, uap->tolen);
        if (u.u_error)
                goto bad;
        u.u_error = sockname(&to, uap->to, uap->tolen);
        if (u.u_error)
                goto bad;
-       u.u_error = sosend(fp->f_socket, to, &auio);
+       u.u_error = sosend(fp->f_socket, to, &auio, uap->flags);
 bad:
        m_freem(to);
 }
 bad:
        m_freem(to);
 }
@@ -343,7 +341,7 @@ send()
        }
        if (u.u_error)
                return;
        }
        if (u.u_error)
                return;
-       u.u_error = sosend(fp->f_socket, (struct mbuf *)0, &auio);
+       u.u_error = sosend(fp->f_socket, (struct mbuf *)0, &auio, uap->flags);
 }
 
 recvfrom()
 }
 
 recvfrom()
@@ -385,7 +383,7 @@ recvfrom()
                return;
        }
        from = 0;
                return;
        }
        from = 0;
-       u.u_error = soreceive(fp->f_socket, &from, &auio);
+       u.u_error = soreceive(fp->f_socket, &from, &auio, uap->flags);
        if (u.u_error)
                goto bad;
        if (from == 0)
        if (u.u_error)
                goto bad;
        if (from == 0)
@@ -440,7 +438,7 @@ recv()
                u.u_error = EFAULT;
                return;
        }
                u.u_error = EFAULT;
                return;
        }
-       u.u_error = soreceive(fp->f_socket, (struct mbuf *)0, &auio);
+       u.u_error = soreceive(fp->f_socket, (struct mbuf *)0, &auio, uap->flags);
        u.u_r.r_val1 = uap->len - auio.uio_resid;
 }
 
        u.u_r.r_val1 = uap->len - auio.uio_resid;
 }
 
@@ -548,7 +546,6 @@ sockname(aname, name, namelen)
        if (namelen > MLEN)
                return (EINVAL);
        m = m_get(M_WAIT);
        if (namelen > MLEN)
                return (EINVAL);
        m = m_get(M_WAIT);
-       m->m_off = MMINOFF;
        m->m_len = namelen;
        if (copyin(name, mtod(m, caddr_t), namelen)) {
                (void) m_free(m);
        m->m_len = namelen;
        if (copyin(name, mtod(m, caddr_t), namelen)) {
                (void) m_free(m);
@@ -574,7 +571,6 @@ sockopt(so, opt)
        if (so->so_optlen < 0 || so->so_optlen > MLEN)
                return (EINVAL);
        m = m_get(M_WAIT);
        if (so->so_optlen < 0 || so->so_optlen > MLEN)
                return (EINVAL);
        m = m_get(M_WAIT);
-       m->m_off = MMINOFF;
        m->m_len = so->so_optlen;
        if (copyin(so->so_optdata, mtod(m, caddr_t), m->m_len)) {
                (void) m_free(m);
        m->m_len = so->so_optlen;
        if (copyin(so->so_optdata, mtod(m, caddr_t), m->m_len)) {
                (void) m_free(m);