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

1.1     ! root        1: /* ethwstrt.c - ethwstrt */
        !             2: 
        !             3: #include <conf.h>
        !             4: #include <kernel.h>
        !             5: #include <proc.h>
        !             6: #include <network.h>
        !             7: #include <qbus.h>
        !             8: 
        !             9: /*------------------------------------------------------------------------
        !            10:  *  ethwstrt - start an ethernet write operation on the DEQNA
        !            11:  *------------------------------------------------------------------------
        !            12:  */
        !            13: 
        !            14: ethwstrt(etptr, buf, len, setup)
        !            15:        struct  etblk   *etptr;
        !            16:        char    *buf;
        !            17:        int     len;
        !            18:        int     setup;
        !            19: {
        !            20:        register struct dcmd    *dcmptr;
        !            21:        register struct dqregs  *dqptr;
        !            22: 
        !            23:        dqptr = etptr->eioaddr;
        !            24:        while (! (dqptr->d_csr & DQ_XLI) )
        !            25:                ;
        !            26:        etptr->etwtry = EXRETRY;
        !            27:        dcmptr = etptr->ewcmd;
        !            28:        dcmptr->dc_bufh = DC_VALID | DC_ENDM | (etptr->etsetup = setup) |
        !            29:                            hiQ2low(buf);
        !            30:        if (isodd(len))
        !            31:                dcmptr->dc_bufh |= DC_LBIT;
        !            32:        dcmptr->dc_buf  = (short) buf;
        !            33:        dcmptr->dc_len = dqlen(len);
        !            34:        dcmptr->dc_st1 = dcmptr->dc_st2 = DC_INIT;
        !            35:        dcmptr->dc_flag = DC_NUSED;
        !            36:        dqptr->d_wcmd = (short) dcmptr;
        !            37:        dqptr->d_wcmdh = hiQ2low(dcmptr);
        !            38: }

unix.superglobalmegacorp.com

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