ssocketaddr
authorBill Joy <wnj@ucbvax.Berkeley.EDU>
Fri, 20 Nov 1981 17:19:22 +0000 (09:19 -0800)
committerBill Joy <wnj@ucbvax.Berkeley.EDU>
Fri, 20 Nov 1981 17:19:22 +0000 (09:19 -0800)
SCCS-vsn: sys/kern/uipc_syscalls.c 4.6

usr/src/sys/kern/uipc_syscalls.c

index 592771a..3e0ff00 100644 (file)
@@ -1,4 +1,4 @@
-/*     uipc_syscalls.c 4.5     81/11/20        */
+/*     uipc_syscalls.c 4.6     81/11/20        */
 
 #include "../h/param.h"
 #include "../h/systm.h"
 
 #include "../h/param.h"
 #include "../h/systm.h"
@@ -352,3 +352,24 @@ COUNT(SRECEIVE);
        if (uap->asa)
                (void) copyout((caddr_t)&sa, (caddr_t)uap->asa, sizeof (sa));
 }
        if (uap->asa)
                (void) copyout((caddr_t)&sa, (caddr_t)uap->asa, sizeof (sa));
 }
+
+/*
+ * Get socket address.
+ */
+ssocketaddr()
+{
+       register struct a {
+               int     fdes;
+               struct  sockaddr *asa;
+       } *uap = (struct a *)u.u_ap;
+       register struct file *fp;
+COUNT(SSOCKETADDR);
+
+       fp = getf(uap->fdes);
+       if (fp == 0)
+               return;
+       if ((fp->f_flag & FSOCKET) == 0) {
+               u.u_error = ENOTSOCK;
+               return;
+       }
+       copyout(fp->f_socket->f_