READ(II)                      8/5/73                     READ(II)

     read - read from file

     (read = 3.)
     (file descriptor in r0)
     sys read; buffer; nbytes

     read(fildes, buffer, nbytes)
     char *buffer;

     A file descriptor is a word returned from a successful open,
     creat, dup, or pipe call.  Buffer is the location of  nbytes
     contiguous bytes into which the input will be placed.  It is
     not guaranteed that all nbytes bytes will be read; for exam-
     ple if the file refers to a typewriter at most one line will
     be returned.  In any event the number of characters read  is
     returned (in r0).

     If  the  returned  value  is  0,  then  end-of-file has been

     open(II), creat(II), dup(II), pipe(II)

     As mentioned, 0 is returned when the end  of  the  file  has
     been  reached.   If  the read was otherwise unsuccessful the
     error bit (c-bit) is set.  Many conditions can  generate  an
     error: physical I/O errors, bad buffer address, preposterous
     nbytes, file descriptor not that of an input file.  From  C,
     a -1 return indicates the error.

                              - 1 -