lemem
struct lemem *lemem = sc->sc_mem;
rmd = &lemem->lem_rmd[sc->sc_currmd];
memcpy(data, (void *)lemem->lem_rbuf[sc->sc_currmd], min(len, maxlen));
struct lemem *lemem = sc->sc_mem;
tmd = &lemem->lem_tmd[sc->sc_curtmd];
memcpy((void *)lemem->lem_tbuf[sc->sc_curtmd], data, len);
struct lemem *lemem = sc->sc_mem;
memset(lemem, 0, sizeof *lemem);
lemem->lem_mode = LE_MODE_NORMAL;
lemem->lem_padr[0] = (sc->sc_enaddr[1] << 8) | sc->sc_enaddr[0];
lemem->lem_padr[1] = (sc->sc_enaddr[3] << 8) | sc->sc_enaddr[2];
lemem->lem_padr[2] = (sc->sc_enaddr[5] << 8) | sc->sc_enaddr[4];
lemem->lem_ladrf[i] = 0x0000;
addr = (uint32_t)lemem->lem_rmd;
lemem->lem_rdra = addr & 0xffff;
lemem->lem_rlen = LE_RLEN | ((addr >> 16) & 0xff);
addr = (uint32_t)lemem->lem_tmd;
lemem->lem_tdra = addr & 0xffff;
lemem->lem_tlen = LE_TLEN | ((addr >> 16) & 0xff);
addr = (uint32_t)lemem->lem_rbuf[i];
lemem->lem_rmd[i].rmd0 = addr & 0xffff;
lemem->lem_rmd[i].rmd1_hadr = (addr >> 16) & 0xff;
lemem->lem_rmd[i].rmd1_bits = LE_R1_OWN;
lemem->lem_rmd[i].rmd2 = LE_XMD2_ONES | -LEMTU;
lemem->lem_rmd[i].rmd3 = 0;
addr = (uint32_t)lemem->lem_tbuf[i];
lemem->lem_tmd[i].tmd0 = addr & 0xffff;
lemem->lem_tmd[i].tmd1_hadr = (addr >> 16) & 0xff;
lemem->lem_tmd[i].tmd1_bits = 0;
lemem->lem_tmd[i].tmd2 = LE_XMD2_ONES | 0;
lemem->lem_tmd[i].tmd3 = 0;
struct lemem *sc_mem;