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