home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 200-299 / ff294.lzh / DNet / amiga / lib / dread.c < prev    next >
C/C++ Source or Header  |  1989-12-11  |  446b  |  36 lines

  1.  
  2. /*
  3.  *  DRead.C
  4.  */
  5.  
  6. #include "lib.h"
  7.  
  8. long
  9. DRead(_chan, _buf, bytes)
  10. void *_buf;
  11. void *_chan;
  12. long bytes;
  13. {
  14.     CHANN *chan = (CHANN *)_chan;
  15.     char *buf = (char *)_buf;
  16.     long len = 0;
  17.     long n = -1;
  18.  
  19.     if (chan->eof)
  20.     return(-1);
  21.     while (bytes) {
  22.     if (n == 0)
  23.         WaitPort(&chan->port);
  24.     n = DNRead(chan, buf, bytes);
  25.     if (n < 0)
  26.         break;
  27.     len += n;
  28.     buf += n;
  29.     bytes -= n;
  30.     if (chan->eof)
  31.         break;
  32.     }
  33.     return(len);
  34. }
  35.  
  36.