|
|
1.1 ! root 1: /* foutput.c - foutput */ ! 2: ! 3: #include <conf.h> ! 4: #include <kernel.h> ! 5: #include <frame.h> ! 6: #include <dlc.h> ! 7: ! 8: /*------------------------------------------------------------------------ ! 9: * foutput -- select a frame from local or forward ports and send it ! 10: *------------------------------------------------------------------------ ! 11: */ ! 12: PROCESS foutput(netid) ! 13: int netid; ! 14: { ! 15: struct frame *fptr; ! 16: struct fglob *fgptr; ! 17: ! 18: fgptr = &fdata[netid]; ! 19: control(fgptr->foutdev, DCSETREC, getpid()); ! 20: for (fgptr->fofails = fgptr->foseq = 0 ; TRUE ; ) { ! 21: wait(fgptr->fosem); ! 22: if (pcount(fgptr->ffport) > 0) ! 23: fptr = (struct frame *)preceive(fgptr->ffport); ! 24: else ! 25: fptr = (struct frame *)preceive(fgptr->foport); ! 26: _frsend(fptr, fgptr); ! 27: freebuf(fptr); ! 28: } ! 29: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.