home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 1 / RISC_DISC_1.iso / pd_share / code / unixlib / !UnixLib / src / unix / c / read < prev    next >
Encoding:
Text File  |  1994-09-30  |  541 b   |  33 lines

  1. static char sccs_id[] = "@(#) read.c 1.2 " __DATE__ " HJR";
  2.  
  3. /* read.c (c) Copyright 1990 H.Rogers */
  4.  
  5. #include <errno.h>
  6.  
  7. #include "fcntl.h"
  8.  
  9. #include "sys/dev.h"
  10. #include "sys/unix.h"
  11.  
  12. int
  13. read (int fd, register void *data, register int nbyte)
  14. {
  15.   register struct file *f;
  16.  
  17.   if (BADF (fd))
  18.     {
  19.       errno = EBADF;
  20.       return (-1);
  21.     }
  22.  
  23.   f = __u->file + fd;
  24.  
  25.   if ((f->oflag & O_OMASK) == O_WRONLY)
  26.     {
  27.       errno = EBADF;
  28.       return (-1);
  29.     }
  30.  
  31.   return ((*(__dev[major (f->dev)].read)) (minor (f->dev), data, nbyte, f));
  32. }
  33.