/* * DAccept.C */ #include "lib.h" PORT * DAccept(lisport) PORT *lisport; { IOSTD *ior; CHANN *chan = NULL; while (!chan && (ior = (IOSTD *)GetMsg(lisport))) { switch(ior->io_Command) { case DNCMD_SOPEN: chan = (CHANN *)MakeChannel(ior, NULL); break; default: ior->io_Error = 1; break; } ReplyMsg((MSG *)ior); } if (lisport->mp_MsgList.lh_Head != (NODE *)&lisport->mp_MsgList.lh_Tail) SetSignal(1 << lisport->mp_SigBit, 1 << lisport->mp_SigBit); return((PORT *)chan); }