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

1.1     ! root        1: /* getitem.c - getfirst, getlast */
        !             2: 
        !             3: #include <conf.h>
        !             4: #include <kernel.h>
        !             5: #include <q.h>
        !             6: 
        !             7: /*------------------------------------------------------------------------
        !             8:  * getfirst  --         remove and return the first process on a list
        !             9:  *------------------------------------------------------------------------
        !            10:  */
        !            11: int    getfirst(head)
        !            12:        int     head;                   /* q index of head of list      */
        !            13: {
        !            14:        int     proc;                   /* first process on the list    */
        !            15: 
        !            16:        if ((proc=q[head].qnext) < NPROC)
        !            17:                return( dequeue(proc) );
        !            18:        else
        !            19:                return(EMPTY);
        !            20: }
        !            21: 
        !            22: 
        !            23: 
        !            24: /*------------------------------------------------------------------------
        !            25:  * getlast  --  remove and return the last process from a list
        !            26:  *------------------------------------------------------------------------
        !            27:  */
        !            28: int    getlast(tail)
        !            29:        int     tail;                   /* q index of tail of list      */
        !            30: {
        !            31:        int     proc;                   /* last process on the list     */
        !            32: 
        !            33:        if ((proc=q[tail].qprev) < NPROC)
        !            34:                return( dequeue(proc) );
        !            35:        else
        !            36:                return(EMPTY);
        !            37: }

unix.superglobalmegacorp.com

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