ldi_handle
ldi_handle, ldi_handle_help },
if ((mdb_vread(&lhwp->lhp, sizeof (struct ldi_handle *),
if (mdb_vread(&lhwp->buf, sizeof (struct ldi_handle),
struct ldi_handle lh;
if (mdb_vread(&lh, sizeof (struct ldi_handle), addr) == -1) {
struct ldi_handle **hash; /* current bucket pointer */
struct ldi_handle *lhp; /* ldi handle pointer */
struct ldi_handle buf; /* buffer used for handle reads */
lhwp->hash = (struct ldi_handle **)(uintptr_t)sym.st_value;
if ((mdb_vread(&lhwp->lhp, sizeof (struct ldi_handle *),
extern int ldi_handle(uintptr_t, uint_t, int, const mdb_arg_t *);
struct ldi_handle *lhp;
struct ldi_handle *lhp = (struct ldi_handle *)arg;
static struct ldi_handle *ldi_handle_hash[LH_HASH_SZ];
struct ldi_handle *lhp;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *handlep = (struct ldi_handle *)lh;
struct ldi_handle *lhp = (struct ldi_handle *)lh;
static struct ldi_handle **
struct ldi_handle **lhpp = NULL;
static struct ldi_handle *
struct ldi_handle **lhpp, *retlhp;
static struct ldi_handle *
struct ldi_handle *lhp, **lhpp, *retlhp;
kmem_free(lhp, sizeof (struct ldi_handle));
handle_release(struct ldi_handle *lhp)
struct ldi_handle **lhpp;
kmem_free(lhp, sizeof (struct ldi_handle));
struct ldi_handle *lhp = lep->le_lhp;
struct ldi_handle *lhp = lep->le_lhp;
struct ldi_handle *nlhp;
struct ldi_handle *le_lhp;
struct ldi_handle *lec_lhp;
struct ldi_handle *lh_next;
status = ldi_ioctl(vd->ldi_handle[VD_ENTIRE_DISK_SLICE],
status = ldi_ioctl(vd->ldi_handle[0], DKIOCFLUSHWRITECACHE,
status = ldi_strategy(vd->ldi_handle[0], buf);
request->status = ldi_strategy(vd->ldi_handle[slice], buf);
status = ldi_ioctl(vd->ldi_handle[0], cmd, (intptr_t)arg,
status = ldi_ioctl(vd->ldi_handle[0], cmd,
status = ldi_ioctl(vd->ldi_handle[0], cmd,
status = ldi_ioctl(vd->ldi_handle[0], USCSICMD, (intptr_t)&uscsi,
request->status = ldi_ioctl(vd->ldi_handle[request->slice], MHIOCSTATUS,
request->status = ldi_ioctl(vd->ldi_handle[request->slice],
request->status = ldi_ioctl(vd->ldi_handle[request->slice],
request->status = ldi_ioctl(vd->ldi_handle[request->slice],
request->status = ldi_ioctl(vd->ldi_handle[request->slice],
request->status = ldi_ioctl(vd->ldi_handle[request->slice],
request->status = ldi_ioctl(vd->ldi_handle[request->slice],
request->status = ldi_ioctl(vd->ldi_handle[request->slice],
status = ldi_ioctl(vd->ldi_handle[0], MHIOCRELEASE, (intptr_t)NULL,
status = ldi_ioctl(vd->ldi_handle[0], MHIOCRELEASE, (intptr_t)NULL,
ldi_handle_t ldi_handle[V_NUMPAR]; /* LDI slice handles */
ASSERT(vd->ldi_handle[0] != NULL);
rv = ldi_prop_lookup_string(vd->ldi_handle[0],
rv = ldi_prop_exists(vd->ldi_handle[0], LDI_DEV_T_ANY, "atapi");
vd->ldi_handle[VD_ENTIRE_DISK_SLICE] = vd->ldi_handle[0];
vd->ldi_handle[0] = NULL;
ASSERT(vd->ldi_handle[slice] == NULL);
vd->open_flags, kcred, &vd->ldi_handle[slice],
&vd->ldi_handle[slice], vd->vds->ldi_ident);
vd->ldi_handle[slice] = NULL;
&vd->ldi_handle[0], vd->vds->ldi_ident);
kcred, &vd->ldi_handle[0], vd->vds->ldi_ident);
vd->ldi_handle[0] = NULL;
ASSERT(vd->ldi_handle[0] != NULL);
if ((status = ldi_ioctl(vd->ldi_handle[0], DKIOCINFO,
(void) ldi_close(vd->ldi_handle[0], vd->open_flags & ~FWRITE,
status = ldi_ioctl(vd->ldi_handle[0], DKIOCGEXTVTOC,
status = ldi_ioctl(vd->ldi_handle[0], DKIOCGVTOC,
status = ldi_ioctl(vd->ldi_handle[0], DKIOCGGEOM,
rv = ldi_get_size(vd->ldi_handle[0], &backend_size);
rv = ldi_ioctl(vd->ldi_handle[0], DKIOCGMEDIAINFO,
rv = ldi_get_size(vd->ldi_handle[0], &backend_size);
if ((status = ldi_get_dev(vd->ldi_handle[0], &vd->dev[0])) != 0) {
if (vd->ldi_handle[slice] != NULL) {
(void) ldi_close(vd->ldi_handle[slice],
if (ldi_strategy(vd->ldi_handle[0], &buf) != 0) {