int esize, size, rv;
size_t esize, size; int rv;
iop_lct_get(struct iop_softc *sc){	int esize, size, rv;	struct i2o_lct *lct;	esize = letoh32(sc->sc_status.expectedlctsize);	lct = (struct i2o_lct *)malloc(esize, M_DEVBUF, M_WAITOK);	if (lct == NULL)		return (ENOMEM);	if ((rv = iop_lct_get0(sc, lct, esize, 0)) != 0) {		free(lct, M_DEVBUF);		return (rv);	}	size = letoh16(lct->tablesize) << 2;	if (esize != size) {		free(lct, M_DEVBUF);		lct = (struct i2o_lct *)malloc(size, M_DEVBUF, M_WAITOK);		if (lct == NULL)			return (ENOMEM);		if ((rv = iop_lct_get0(sc, lct, size, 0)) != 0) {			free(lct, M_DEVBUF);			return (rv);		}	}	/* Swap in the new LCT. */	if (sc->sc_lct != NULL)		free(sc->sc_lct, M_DEVBUF);	sc->sc_lct = lct;	sc->sc_nlctent = ((letoh16(sc->sc_lct->tablesize) << 2) -	    sizeof(struct i2o_lct) + sizeof(struct i2o_lct_entry)) /	    sizeof(struct i2o_lct_entry);	return (0);}