rdesc
rdesc(1);
rdesc(2);
rdesc(5);
rdesc(6);
rdesc(10);
rdesc(12);
static void rdesc(int);
struct rdesc rxd[NRXDESC];
struct rdesc *rxd;
volatile struct rdesc *rxd;
inv(rxd, sizeof(struct rdesc));
wbinv(rxd, sizeof(struct rdesc));
wbinv(rxd, NRXDESC * sizeof(struct rdesc));
struct rdesc rxd[2];
struct rdesc *rxd;
volatile struct rdesc *rxd;
inv(rxd, sizeof(struct rdesc));
wbinv(rxd, sizeof(struct rdesc));
wbinv(rxd, sizeof(struct rdesc));
rdesc = (struct buffdesc *)
initblock->ib_rdr = (RLEN << 29) | (int)rdesc;
rdesc[i].bd_adrflg = QW_ALLOC(BUFSIZE) | BR_OWN;
rdesc[i].bd_adrflg -= (int)initblock;
rdesc[i].bd_bcnt = -BUFSIZE;
rdesc[i].bd_mcnt = 0;
copyout((void *)rdesc, (int)rdesc - (int)initblock,
copyin((int)&rdesc[next_rdesc] - (int)initblock,
(void *)&rdesc[next_rdesc], sizeof(struct buffdesc));
if (rdesc[next_rdesc].bd_adrflg & BR_OWN)
if (rdesc[next_rdesc].bd_adrflg & BR_ERR)
if ((len = rdesc[next_rdesc].bd_mcnt - 4) > maxlen)
copyin((rdesc[next_rdesc].bd_adrflg&0xffffff),
(char *)(rdesc[next_rdesc].bd_adrflg&0xffffff) +
rdesc[next_rdesc].bd_mcnt = 0;
rdesc[next_rdesc].bd_adrflg |= BR_OWN;
copyout((void *)&rdesc[next_rdesc], (int)&rdesc[next_rdesc] -
} *rdesc, *tdesc;