added my responsibility for the `cpm' port
[unix-history] / sys / kern / sys_generic.c
index e4e705d..b32b92a 100644 (file)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *     @(#)sys_generic.c       7.30 (Berkeley) 5/30/91
- *
- * PATCHES MAGIC                LEVEL   PATCH THAT GOT US HERE
- * --------------------         -----   ----------------------
- * CURRENT PATCH LEVEL:         1       00061
- * --------------------         -----   ----------------------
- *
- * 11 Dec 92   Williams Jolitz         Fixed tty handling
+ *     from: @(#)sys_generic.c 7.30 (Berkeley) 5/30/91
+ *     $Id: sys_generic.c,v 1.5 1993/11/25 01:33:20 wollman Exp $
  */
 
 #include "param.h"
  */
 
 #include "param.h"
 #include "kernel.h"
 #include "stat.h"
 #include "malloc.h"
 #include "kernel.h"
 #include "stat.h"
 #include "malloc.h"
+#include "signalvar.h"
 #ifdef KTRACE
 #include "ktrace.h"
 #endif
 
 #ifdef KTRACE
 #include "ktrace.h"
 #endif
 
+struct read_args {
+       int     fdes;
+       char    *cbuf;
+       unsigned count;
+};
+
 /*
  * Read system call.
  */
 /* ARGSUSED */
 /*
  * Read system call.
  */
 /* ARGSUSED */
+int
 read(p, uap, retval)
        struct proc *p;
 read(p, uap, retval)
        struct proc *p;
-       register struct args {
-               int     fdes;
-               char    *cbuf;
-               unsigned count;
-       } *uap;
+       register struct read_args *uap;
        int *retval;
 {
        register struct file *fp;
        int *retval;
 {
        register struct file *fp;
@@ -113,21 +111,25 @@ read(p, uap, retval)
 /*
  * Scatter read system call.
  */
 /*
  * Scatter read system call.
  */
+
+struct readv_args {
+       int     fdes;
+       struct  iovec *iovp;
+       unsigned iovcnt;
+};
+
 /* ARGSUSED */
 /* ARGSUSED */
+int
 readv(p, uap, retval)
        struct proc *p;
 readv(p, uap, retval)
        struct proc *p;
-       register struct args {
-               int     fdes;
-               struct  iovec *iovp;
-               unsigned iovcnt;
-       } *uap;
+       register struct readv_args *uap;
        int *retval;
 {
        register struct file *fp;
        register struct filedesc *fdp = p->p_fd;
        struct uio auio;
        register struct iovec *iov;
        int *retval;
 {
        register struct file *fp;
        register struct filedesc *fdp = p->p_fd;
        struct uio auio;
        register struct iovec *iov;
-       struct iovec *saveiov;
+       struct iovec *saveiov = 0;
        struct iovec aiov[UIO_SMALLIOV];
        long i, cnt, error = 0;
        unsigned iovlen;
        struct iovec aiov[UIO_SMALLIOV];
        long i, cnt, error = 0;
        unsigned iovlen;
@@ -201,13 +203,17 @@ done:
 /*
  * Write system call
  */
 /*
  * Write system call
  */
+
+struct write_args {
+       int     fdes;
+       char    *cbuf;
+       unsigned count;
+};
+
+int
 write(p, uap, retval)
        struct proc *p;
 write(p, uap, retval)
        struct proc *p;
-       register struct args {
-               int     fdes;
-               char    *cbuf;
-               unsigned count;
-       } *uap;
+       register struct write_args *uap;
        int *retval;
 {
        register struct file *fp;
        int *retval;
 {
        register struct file *fp;
@@ -259,20 +265,24 @@ write(p, uap, retval)
 /*
  * Gather write system call
  */
 /*
  * Gather write system call
  */
+
+struct writev_args {
+       int     fdes;
+       struct  iovec *iovp;
+       unsigned iovcnt;
+};
+
+int
 writev(p, uap, retval)
        struct proc *p;
 writev(p, uap, retval)
        struct proc *p;
-       register struct args {
-               int     fdes;
-               struct  iovec *iovp;
-               unsigned iovcnt;
-       } *uap;
+       register struct writev_args *uap;
        int *retval;
 {
        register struct file *fp;
        register struct filedesc *fdp = p->p_fd;
        struct uio auio;
        register struct iovec *iov;
        int *retval;
 {
        register struct file *fp;
        register struct filedesc *fdp = p->p_fd;
        struct uio auio;
        register struct iovec *iov;
-       struct iovec *saveiov;
+       struct iovec *saveiov = 0;
        struct iovec aiov[UIO_SMALLIOV];
        long i, cnt, error = 0;
        unsigned iovlen;
        struct iovec aiov[UIO_SMALLIOV];
        long i, cnt, error = 0;
        unsigned iovlen;
@@ -349,14 +359,18 @@ done:
 /*
  * Ioctl system call
  */
 /*
  * Ioctl system call
  */
+
+struct ioctl_args {
+       int     fdes;
+       int     cmd;
+       caddr_t cmarg;
+};
+
 /* ARGSUSED */
 /* ARGSUSED */
+int
 ioctl(p, uap, retval)
        struct proc *p;
 ioctl(p, uap, retval)
        struct proc *p;
-       register struct args {
-               int     fdes;
-               int     cmd;
-               caddr_t cmarg;
-       } *uap;
+       register struct ioctl_args *uap;
        int *retval;
 {
        register struct file *fp;
        int *retval;
 {
        register struct file *fp;
@@ -485,13 +499,17 @@ int       selwait, nselcoll;
 /*
  * Select system call.
  */
 /*
  * Select system call.
  */
-select(p, uap, retval)
-       register struct proc *p;
-       register struct args {
+
+struct select_args {
                u_int   nd;
                fd_set  *in, *ou, *ex;
                struct  timeval *tv;
                u_int   nd;
                fd_set  *in, *ou, *ex;
                struct  timeval *tv;
-       } *uap;
+};
+
+int
+select(p, uap, retval)
+       register struct proc *p;
+       register struct select_args *uap;
        int *retval;
 {
        fd_set ibits[3], obits[3];
        int *retval;
 {
        fd_set ibits[3], obits[3];
@@ -594,6 +612,7 @@ selscan(struct proc *p, fd_set *ibits, fd_set *obits, int nfd, int *retval)
                case 1:
                        flag = FWRITE; break;
 
                case 1:
                        flag = FWRITE; break;
 
+               default:        /* pacify GCC */
                case 2:
                        flag = 0; break;
                }
                case 2:
                        flag = 0; break;
                }
@@ -619,14 +638,14 @@ selscan(struct proc *p, fd_set *ibits, fd_set *obits, int nfd, int *retval)
 
 /*ARGSUSED*/
 int
 
 /*ARGSUSED*/
 int
-seltrue(dev_t dev, int which, struct proc *p)
+seltrue(int /*dev_t*/ dev, int which, struct proc *p)
 {
 
        return (1);
 }
 
 void
 {
 
        return (1);
 }
 
 void
-selwakeup(pid_t pid, int coll)
+selwakeup(int /*pid_t*/ pid, int coll)
 {
        register struct proc *p;
 
 {
        register struct proc *p;