still not right
authorBill Joy <root@ucbvax.Berkeley.EDU>
Wed, 3 Nov 1982 16:46:46 +0000 (08:46 -0800)
committerBill Joy <root@ucbvax.Berkeley.EDU>
Wed, 3 Nov 1982 16:46:46 +0000 (08:46 -0800)
SCCS-vsn: sys/kern/uipc_usrreq.c 1.2

usr/src/sys/kern/uipc_usrreq.c

index 49a74e9..cdbf93e 100644 (file)
@@ -1,4 +1,4 @@
-/*     uipc_usrreq.c   1.1     82/10/28        */
+/*     uipc_usrreq.c   1.2     82/11/03        */
 
 #include "../h/param.h"
 #include "../h/dir.h"
 
 #include "../h/param.h"
 #include "../h/dir.h"
  */
 
 /*ARGSUSED*/
  */
 
 /*ARGSUSED*/
-uipc_usrreq(so, req, m, addr)
+uipc_usrreq(so, req, m, nam, opt)
        struct socket *so;
        int req;
        struct socket *so;
        int req;
-       struct mbuf *m;
-       caddr_t addr;
+       struct mbuf *m, *nam;
+       struct socketopt *opt;
 {
        struct unpcb *unp = sotounpcb(so);
        register struct socket *so2;
 {
        struct unpcb *unp = sotounpcb(so);
        register struct socket *so2;
@@ -35,7 +35,7 @@ uipc_usrreq(so, req, m, addr)
                        error = EINVAL;
                        break;
                }
                        error = EINVAL;
                        break;
                }
-               error = unp_attach(so, (struct sockaddr *)addr);
+               error = unp_attach(so);
                break;
 
        case PRU_DETACH:
                break;
 
        case PRU_DETACH:
@@ -43,7 +43,7 @@ uipc_usrreq(so, req, m, addr)
                break;
 
        case PRU_CONNECT:
                break;
 
        case PRU_CONNECT:
-               error = unp_connect(so, (struct sockaddr_un *)addr);
+               error = unp_connect(so, nam);
                break;
 
        case PRU_DISCONNECT:
                break;
 
        case PRU_DISCONNECT:
@@ -52,7 +52,7 @@ uipc_usrreq(so, req, m, addr)
 
 /* BEGIN QUESTIONABLE */
        case PRU_ACCEPT: {
 
 /* BEGIN QUESTIONABLE */
        case PRU_ACCEPT: {
-               struct sockaddr_un *soun = (struct sockaddr_un *)addr;
+               struct sockaddr_un *soun = mtod(nam, struct sockaddr_un *);
 
                if (soun) {
                        bzero((caddr_t)soun, sizeof (*soun));
 
                if (soun) {
                        bzero((caddr_t)soun, sizeof (*soun));
@@ -103,12 +103,12 @@ uipc_usrreq(so, req, m, addr)
                switch (so->so_type) {
 
                case SOCK_DGRAM:
                switch (so->so_type) {
 
                case SOCK_DGRAM:
-                       if (addr) {
+                       if (nam) {
                                if (unp->unp_conn) {
                                        error = EISCONN;
                                        break;
                                }
                                if (unp->unp_conn) {
                                        error = EISCONN;
                                        break;
                                }
-                               error = unp_connect(so, addr);
+                               error = unp_connect(so, nam);
                                if (error)
                                        break;
                        } else {
                                if (error)
                                        break;
                        } else {
@@ -119,8 +119,8 @@ uipc_usrreq(so, req, m, addr)
                        }
                        so2 = unp->unp_conn->unp_socket;
                        if (sbspace(&so2->so_rcv) > 0)          /* XXX */
                        }
                        so2 = unp->unp_conn->unp_socket;
                        if (sbspace(&so2->so_rcv) > 0)          /* XXX */
-                               sbappendaddr(so2, m, addr);     /* XXX */
-                       if (addr)
+                               sbappendaddr(so2, m, nam);      /* XXX */
+                       if (nam)
                                unp_disconnect(so);
                        break;
 
                                unp_disconnect(so);
                        break;