Annotation of xinu/sys/foutput.c, revision 1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.