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 / dclose.c < prev    next >
C/C++ Source or Header  |  1989-12-11  |  567b  |  31 lines

  1.  
  2. /*
  3.  *  DClose.C
  4.  */
  5.  
  6. #include "lib.h"
  7.  
  8. void
  9. DClose(_chan)
  10. void *_chan;
  11. {
  12.     CHANN *chan = (CHANN *)_chan;
  13.     IOSTD ior;
  14.     IOSTD *io;
  15.  
  16.     ior.io_Command = DNCMD_CLOSE;
  17.     ior.io_Unit = (void *)chan->chan;
  18.     ior.io_Offset = (long)chan;
  19.     ior.io_Message.mn_ReplyPort = (PORT *)chan;
  20.     PutMsg(chan->dnetport, (MSG *)&ior);
  21.     ++chan->queued;
  22.     chan->qlen = 0;
  23.     WaitQueue(chan, &ior);
  24.     while ((io = (IOSTD *)RemHead(&chan->rdylist)) || (io = (IOSTD *)GetMsg(&chan->port))) {
  25.     io->io_Error = 1;
  26.     ReplyMsg((MSG *)io);
  27.     }
  28.     DeleteChannel(chan);
  29. }
  30.  
  31.