dk_efi
dk_efi_t dk_efi;
rv = ddi_copyin(arg, &dk_efi, sizeof (dk_efi_t), mode);
len = sizeof (vd_efi_t) - 1 + dk_efi.dki_length;
dk_efi_t dk_efi;
rv = ddi_copyin(from, &dk_efi, sizeof (dk_efi_t), mode);
vd_efi->lba = dk_efi.dki_lba;
vd_efi->length = dk_efi.dki_length;
rv = ddi_copyin(to, &dk_efi, sizeof (dk_efi_t), mode);
uaddr = dk_efi.dki_data;
dk_efi.dki_data = kmem_alloc(dk_efi.dki_length, KM_SLEEP);
VD_EFI2DK_EFI((vd_efi_t *)from, &dk_efi);
rv = ddi_copyout(dk_efi.dki_data, uaddr, dk_efi.dki_length,
kmem_free(dk_efi.dki_data, dk_efi.dki_length);
dk_efi_t dk_efi;
if (ddi_copyin(from, &dk_efi, sizeof (dk_efi_t), mode) != 0)
uaddr = dk_efi.dki_data;
dk_efi.dki_data = kmem_alloc(dk_efi.dki_length, KM_SLEEP);
if (ddi_copyin(uaddr, dk_efi.dki_data, dk_efi.dki_length, mode) != 0)
DK_EFI2VD_EFI(&dk_efi, (vd_efi_t *)to);
kmem_free(dk_efi.dki_data, dk_efi.dki_length);
dk_efi_t *dk_efi = (dk_efi_t *)ioctl_arg;
dk_efi->dki_lba = vd_efi->lba;
dk_efi->dki_length = vd_efi->length;
dk_efi->dki_data = kmem_zalloc(vd_efi->length, KM_SLEEP);
dk_efi_t *dk_efi = (dk_efi_t *)ioctl_arg;
DK_EFI2VD_EFI(dk_efi, vd_efi);
kmem_free(dk_efi->dki_data, len);
dk_efi_t *dk_efi = (dk_efi_t *)ioctl_arg;
dk_efi->dki_data = kmem_alloc(vd_efi->length, KM_SLEEP);
VD_EFI2DK_EFI(vd_efi, dk_efi);
dk_efi_t *dk_efi = (dk_efi_t *)ioctl_arg;
kmem_free(dk_efi->dki_data, vd_efi->length);
struct dk_efi dk_efi = {0};
&dk_efi, vd_get_efi_in, vd_get_efi_out, B_FALSE},
&dk_efi, vd_set_efi_in, vd_set_efi_out, B_TRUE},
dk_efi_t dk_efi;
dk_efi.dki_lba = 1;
dk_efi.dki_data = gpt;
dk_efi.dki_length = gpt_len;
status = vd_efi_ioctl(dev, DKIOCGETEFI, &dk_efi);
dk_efi.dki_lba = 1;
dk_efi.dki_data = data;
dk_efi.dki_length = data_len;
status = vd_efi_ioctl(dev, DKIOCGETEFI, &dk_efi);
dk_efi.dki_lba = dev->disk_size - 1;
dk_efi.dki_data = gpt;
dk_efi.dki_length = gpt_len;
if ((status = vd_efi_ioctl(dev, DKIOCGETEFI, &dk_efi)) != 0) {
dk_efi.dki_lba = gpt->efi_gpt_PartitionEntryLBA;
dk_efi.dki_data = (efi_gpt_t *)gpe;
dk_efi.dki_length = gpe_len;
if ((status = vd_efi_ioctl(dev, DKIOCGETEFI, &dk_efi)) != 0) {
#define VD_EFI2DK_EFI(vd_efi, dk_efi) \
(dk_efi)->dki_lba = (vd_efi)->lba; \
(dk_efi)->dki_length = (vd_efi)->length; \
bcopy((vd_efi)->data, (dk_efi)->dki_data, (dk_efi)->dki_length); \
#define DK_EFI2VD_EFI(dk_efi, vd_efi) \
(vd_efi)->lba = (dk_efi)->dki_lba; \
(vd_efi)->length = (dk_efi)->dki_length; \
bcopy((dk_efi)->dki_data, (vd_efi)->data, (vd_efi)->length); \