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

     example 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.