extvtoc
struct extvtoc vtoc; /* table of contents */
struct extvtoc exvtoc;
struct extvtoc vtdata;
struct extvtoc vtdata;
readvtoc(int fd, char *name, struct extvtoc *vtoc)
static int readvtoc(int fd, char *name, struct extvtoc *vtoc);
static struct extvtoc disk_vtoc; /* verify VTOC table */
struct extvtoc v;
static void validate(struct dk_geom *, struct extvtoc *);
static int vread(int, struct extvtoc *, char *);
static void vwrite(int, struct extvtoc *, char *);
static struct extvtoc disk_vtoc;
struct extvtoc disk_vtoc;
display(struct dk_geom *geom, struct extvtoc *vtoc, char *device)
insert(char *data, struct extvtoc *vtoc)
load(FILE *fp, struct dk_geom *geom, struct extvtoc *vtoc)
validate(struct dk_geom *geom, struct extvtoc *vtoc)
vread(int fd, struct extvtoc *vtoc, char *devname)
vwrite(int fd, struct extvtoc *vtoc, char *devname)
static void display(struct dk_geom *, struct extvtoc *, char *);
static void insert(char *, struct extvtoc *);
static void load(FILE *, struct dk_geom *, struct extvtoc *);
struct extvtoc vtoc;
struct extvtoc vtoc;
static int vtoc_to_label(struct dk_label *, struct extvtoc *,
extern int read_extvtoc(int, struct extvtoc *);
extern int write_extvtoc(int, struct extvtoc *);
vtoc_to_label(struct dk_label *label, struct extvtoc *vtoc,
label_to_vtoc(struct extvtoc *vtoc, struct dk_label *label)
(void) memset((char *)vtoc, 0, sizeof (struct extvtoc));
struct extvtoc vtoc;
int label_to_vtoc(struct extvtoc *, struct dk_label *);
struct extvtoc vtoc;
struct extvtoc exvtoc;
struct extvtoc vtoc;
struct extvtoc vtoc;
struct extvtoc vtoc;
struct extvtoc vtoc;
struct extvtoc vtoc;
vtoc_one_slice_entire_disk(struct extvtoc *vtoc)
boolean_t vtoc_one_slice_entire_disk(struct extvtoc *vtoc);
findfree(struct dk_geom *geom, struct extvtoc *vtoc)
struct extvtoc vtoc;
putfree(struct extvtoc *vtoc, freemap_t *freemap)
puttable(struct dk_geom *geom, struct extvtoc *vtoc, freemap_t *freemap,
readvtoc(int fd, char *name, struct extvtoc *vtoc)
static freemap_t *findfree(struct dk_geom *, struct extvtoc *);
static void putfree(struct extvtoc *, freemap_t *);
static void puttable(struct dk_geom *, struct extvtoc *, freemap_t *,
static int readvtoc(int, char *, struct extvtoc *);
struct extvtoc v_toc;
struct extvtoc *);
struct extvtoc v_toc, t_vtoc;
struct extvtoc vtocinfo;
struct extvtoc v_toc;
(void) memset(&v_toc, 0, sizeof (struct extvtoc));
struct extvtoc v_toc;
static int32_t sup_prxfile(char *file_name, struct extvtoc *vt);
static int32_t sup_setpart(struct extvtoc *vt);
struct extvtoc v_toc;
struct extvtoc *vt);
struct extvtoc t_vtoc;
sup_prxfile(char *file_name, struct extvtoc *vt)
sup_setpart(struct extvtoc *vt)
struct extvtoc *vt)
check_vtoc_sanity(smedia_handle_t handle, int32_t fd, struct extvtoc *vt)
struct extvtoc extvtoc;
ret_val = ioctl(door_dp->dd_fd, DKIOCGEXTVTOC, &extvtoc);
read_extvtoc(int fd, struct extvtoc *extvtoc)
if (ioctl(fd, DKIOCGEXTVTOC, (caddr_t)extvtoc) == -1) {
bcopy(oldvtocp, extvtoc, sizeof (struct extvtoc));
bzero(extvtoc, sizeof (struct extvtoc));
libadm_vtoc_copy(oldvtocp, extvtoc);
if (extvtoc->v_sanity != VTOC_SANE) {
switch (extvtoc->v_version) {
extvtoc->v_version = V_VERSION;
if (extvtoc->v_nparts == 0)
extvtoc->v_nparts = V_NUMPAR;
if (extvtoc->v_sectorsz == 0)
extvtoc->v_sectorsz = DEV_BSIZE;
write_extvtoc(int fd, struct extvtoc *extvtoc)
if (extvtoc->v_sanity != VTOC_SANE || extvtoc->v_nparts > V_NUMPAR) {
for (i = 0; i < (int)extvtoc->v_nparts; i++)
if (extvtoc->v_part[i].p_size > 0)
if (i == (int)extvtoc->v_nparts)
if (ioctl(fd, DKIOCSEXTVTOC, (caddr_t)extvtoc) == -1) {
bcopy(extvtoc, oldvtocp, sizeof (struct vtoc));
libadm_vtoc_copy(extvtoc, oldvtocp);
struct extvtoc vtoc;
struct extvtoc vtoc;
struct extvtoc vtoc;
struct extvtoc vtoc;
struct extvtoc vtoc;
struct extvtoc vtoc;
struct extvtoc extvtoc;
if (ioctl(fd, DKIOCGEXTVTOC, &extvtoc) == -1) {
struct extvtoc vtoc;
struct extvtoc ext_vtoc;
bzero(&ext_vtoc, sizeof (struct extvtoc));
sizeof (struct extvtoc), flag)) {
sizeof (struct extvtoc), flag)) {
if (ddi_copyout(&ext_vtoc, (void *)arg, sizeof (struct extvtoc), flag))
sizeof (struct extvtoc), flag)) {
struct extvtoc user_extvtoc;
sizeof (struct extvtoc), flag)) {
extern int read_extvtoc(int, struct extvtoc *);
extern int write_extvtoc(int, struct extvtoc *);
struct extvtoc *);
struct extvtoc *vtoc;
kmem_free(vdc->vtoc, sizeof (struct extvtoc));
vdc->vtoc = kmem_zalloc(sizeof (struct extvtoc), KM_SLEEP);
struct extvtoc evtoc;
struct extvtoc evtoc;
struct extvtoc evtoc;
rv = ddi_copyout(&evtoc, to, sizeof (struct extvtoc), mode);
struct extvtoc evtoc;
rv = ddi_copyin(uvtoc, &evtoc, sizeof (struct extvtoc), mode);
struct extvtoc vtoc;
bzero(vdc->vtoc, sizeof (struct extvtoc));
vdc_store_label_vtoc(vdc_t *vdc, struct dk_geom *geom, struct extvtoc *vtoc)
bcopy(vtoc, vdc->vtoc, sizeof (struct extvtoc));
bzero(vdc->vtoc, sizeof (struct extvtoc));
struct extvtoc vtoc;
VD_VTOC2VTOC((vd_vtoc_t *)vd_buf, (struct extvtoc *)ioctl_arg);
VTOC2VD_VTOC((struct extvtoc *)ioctl_arg, (vd_vtoc_t *)vd_buf);
vd_vtocgeom_to_label(struct extvtoc *vtoc, struct dk_geom *geom,
vd_label_to_vtocgeom(struct dk_label *label, struct extvtoc *vtoc,
bzero(vtoc, sizeof (struct extvtoc));
vd_slice_vtoc_isvalid(vd_t *vd, struct extvtoc *vtoc)
struct extvtoc *vtoc;
vtoc = (struct extvtoc *)ioctl_arg;
bzero(&vd->vtoc, sizeof (struct extvtoc));
struct extvtoc *vtoc = &vd->vtoc;
struct extvtoc *vtoc;
vtoc = (struct extvtoc *)ioctl_arg;
bcopy(&vd->vtoc, vtoc, sizeof (struct extvtoc));
vtoc = (struct extvtoc *)ioctl_arg;
(*(struct extvtoc *)(void *)arg));
extvtoctovtoc((*(struct extvtoc *)(void *)arg),
struct extvtoc vtoc = {0};
struct extvtoc vtoc; /* synthetic for slice type */
static void vd_vtocgeom_to_label(struct extvtoc *vtoc, struct dk_geom *geom,
static void vd_label_to_vtocgeom(struct dk_label *label, struct extvtoc *vtoc,
static boolean_t vd_slice_vtoc_isvalid(vd_t *vd, struct extvtoc *vtoc);
struct extvtoc *vtoc; /* structure to store VTOC data */