Lines Matching refs:label

63 static int	vtoc_to_label(struct dk_label *label, struct extvtoc *vtoc,
83 static void dump_label(struct dk_label *label);
90 checklabel(label) in checklabel() argument
91 register struct dk_label *label; in checklabel()
97 if (label->dkl_magic != DKL_MAGIC)
102 if (checksum(label, CK_CHECKSUM) != 0)
112 checksum(label, mode) in checksum() argument
113 struct dk_label *label; in checksum()
125 sp = (short *)label;
142 label->dkl_cksum = sum;
274 struct dk_label label; in write_label() local
317 (void) memset((char *)&label, 0, sizeof (struct dk_label)); in write_label()
320 label.dkl_pcyl = pcyl; in write_label()
321 label.dkl_ncyl = ncyl; in write_label()
322 label.dkl_acyl = acyl; in write_label()
325 label.dkl_bcyl = bcyl; in write_label()
328 label.dkl_nhead = nhead; in write_label()
329 label.dkl_nsect = nsect; in write_label()
330 label.dkl_apc = apc; in write_label()
331 label.dkl_intrlv = 1; in write_label()
332 label.dkl_rpm = cur_dtype->dtype_rpm; in write_label()
339 label.dkl_map[i] = cur_parts->pinfo_map[i]; in write_label()
343 label.dkl_magic = DKL_MAGIC; in write_label()
348 label.dkl_vtoc = cur_parts->vtoc; in write_label()
353 bcopy(cur_disk->v_volume, label.dkl_vtoc.v_volume, LEN_DKL_VVOL); in write_label()
358 (void) snprintf(label.dkl_asciilabel, sizeof (label.dkl_asciilabel), in write_label()
366 label.dkl_vtoc.v_sectorsz = cur_blksz; in write_label()
372 (void) checksum(&label, CK_MAKESUM); in write_label()
376 if (label_to_vtoc(&vtoc, &label) == -1) { in write_label()
457 if (bcmp((char *)&label, new_label, in write_label()
485 read_label(int fd, struct dk_label *label) in read_label() argument
497 return (vtoc_to_label(label, &vtoc, &geom, &dkinfo)); in read_label()
639 get_disk_info(int fd, struct efi_info *label, struct disk_info *disk_info) in get_disk_info() argument
641 (void) get_disk_capacity(fd, &label->capacity); in get_disk_info()
644 &label->vendor, &label->product, &label->revision) != 0) { in get_disk_info()
645 if (get_disk_inquiry_devid(fd, &label->vendor, &label->product, in get_disk_info()
646 &label->revision) != 0) { in get_disk_info()
647 if (get_disk_inquiry_uscsi(fd, &label->vendor, in get_disk_info()
648 &label->product, &label->revision) != 0) { in get_disk_info()
649 label->vendor = strdup("Unknown"); in get_disk_info()
650 label->product = strdup("Unknown"); in get_disk_info()
651 label->revision = strdup("0001"); in get_disk_info()
652 if (label->vendor == NULL || in get_disk_info()
653 label->product == NULL || in get_disk_info()
654 label->revision == NULL) { in get_disk_info()
655 free(label->vendor); in get_disk_info()
656 free(label->product); in get_disk_info()
657 free(label->revision); in get_disk_info()
668 read_efi_label(int fd, struct efi_info *label, struct disk_info *disk_info) in read_efi_label() argument
676 if (vtoc64_to_label(label, vtoc64) != 0) { in read_efi_label()
681 if (get_disk_info(fd, label, disk_info) != 0) { in read_efi_label()
694 vtoc64_to_label(struct efi_info *label, struct dk_gpt *vtoc) in vtoc64_to_label() argument
699 (void) memset((char *)label, 0, sizeof (struct efi_info)); in vtoc64_to_label()
709 label->e_parts = lmap; in vtoc64_to_label()
747 vtoc_to_label(struct dk_label *label, struct extvtoc *vtoc, in vtoc_to_label() argument
762 (void) memset((char *)label, 0, sizeof (struct dk_label)); in vtoc_to_label()
780 label->dkl_magic = DKL_MAGIC; in vtoc_to_label()
785 label->dkl_rpm = geom->dkg_rpm; in vtoc_to_label()
786 label->dkl_pcyl = geom->dkg_pcyl; in vtoc_to_label()
787 label->dkl_apc = geom->dkg_apc; in vtoc_to_label()
788 label->dkl_intrlv = geom->dkg_intrlv; in vtoc_to_label()
789 label->dkl_ncyl = geom->dkg_ncyl; in vtoc_to_label()
790 label->dkl_acyl = geom->dkg_acyl; in vtoc_to_label()
793 label->dkl_bcyl = geom->dkg_bcyl; in vtoc_to_label()
796 label->dkl_nhead = geom->dkg_nhead; in vtoc_to_label()
797 label->dkl_nsect = geom->dkg_nsect; in vtoc_to_label()
800 label->dkl_obs1 = geom->dkg_obs1; in vtoc_to_label()
801 label->dkl_obs2 = geom->dkg_obs2; in vtoc_to_label()
802 label->dkl_obs3 = geom->dkg_obs3; in vtoc_to_label()
805 label->dkl_write_reinstruct = geom->dkg_write_reinstruct; in vtoc_to_label()
806 label->dkl_read_reinstruct = geom->dkg_read_reinstruct; in vtoc_to_label()
811 label->dkl_vtoc.v_sanity = vtoc->v_sanity; in vtoc_to_label()
812 label->dkl_vtoc.v_nparts = vtoc->v_nparts; in vtoc_to_label()
813 label->dkl_vtoc.v_version = vtoc->v_version; in vtoc_to_label()
815 (void) memcpy(label->dkl_vtoc.v_volume, vtoc->v_volume, in vtoc_to_label()
818 label->dkl_vtoc.v_part[i].p_tag = vtoc->v_part[i].p_tag; in vtoc_to_label()
819 label->dkl_vtoc.v_part[i].p_flag = vtoc->v_part[i].p_flag; in vtoc_to_label()
820 label->dkl_vtoc.v_timestamp[i] = vtoc->timestamp[i]; in vtoc_to_label()
824 label->dkl_vtoc.v_reserved[i] = vtoc->v_reserved[i]; in vtoc_to_label()
826 label->dkl_vtoc.v_bootinfo[0] = vtoc->v_bootinfo[0]; in vtoc_to_label()
827 label->dkl_vtoc.v_bootinfo[1] = vtoc->v_bootinfo[1]; in vtoc_to_label()
828 label->dkl_vtoc.v_bootinfo[2] = vtoc->v_bootinfo[2]; in vtoc_to_label()
830 (void) memcpy(label->dkl_asciilabel, vtoc->v_asciilabel, in vtoc_to_label()
844 lmap = label->dkl_map; in vtoc_to_label()
847 lmap = label->dkl_vtoc.v_part; in vtoc_to_label()
854 nblks = label->dkl_nsect * label->dkl_nhead; in vtoc_to_label()
878 (void) checksum(label, CK_MAKESUM); in vtoc_to_label()
882 dump_label(label); in vtoc_to_label()
893 label_to_vtoc(struct extvtoc *vtoc, struct dk_label *label) in label_to_vtoc() argument
911 switch (label->dkl_vtoc.v_version) { in label_to_vtoc()
926 lpart = label->dkl_vtoc.v_part; in label_to_vtoc()
935 vtoc->timestamp[i] = label->dkl_vtoc.v_timestamp[i]; in label_to_vtoc()
937 (void) memcpy(vtoc->v_volume, label->dkl_vtoc.v_volume, in label_to_vtoc()
941 vtoc->v_reserved[i] = label->dkl_vtoc.v_reserved[i]; in label_to_vtoc()
943 vtoc->v_bootinfo[0] = label->dkl_vtoc.v_bootinfo[0]; in label_to_vtoc()
944 vtoc->v_bootinfo[1] = label->dkl_vtoc.v_bootinfo[1]; in label_to_vtoc()
945 vtoc->v_bootinfo[2] = label->dkl_vtoc.v_bootinfo[2]; in label_to_vtoc()
962 (void) memcpy(vtoc->v_asciilabel, label->dkl_asciilabel, in label_to_vtoc()
971 lmap = label->dkl_map; in label_to_vtoc()
973 nblks = label->dkl_nsect * label->dkl_nhead; in label_to_vtoc()
1091 dump_label(label) in dump_label() argument
1092 struct dk_label *label; in dump_label()
1096 fmt_print("%s\n", label->dkl_asciilabel);
1098 fmt_print("version: %d\n", label->dkl_vtoc.v_version);
1101 if (label->dkl_vtoc.v_volume[i] == 0)
1103 fmt_print("%c", label->dkl_vtoc.v_volume[i]);
1106 fmt_print("v_nparts: %d\n", label->dkl_vtoc.v_nparts);
1107 fmt_print("v_sanity: %lx\n", label->dkl_vtoc.v_sanity);
1110 fmt_print("rpm: %d\n", label->dkl_rpm);
1111 fmt_print("pcyl: %d\n", label->dkl_pcyl);
1112 fmt_print("apc: %d\n", label->dkl_apc);
1113 fmt_print("obs1: %d\n", label->dkl_obs1);
1114 fmt_print("obs2: %d\n", label->dkl_obs2);
1115 fmt_print("intrlv: %d\n", label->dkl_intrlv);
1116 fmt_print("ncyl: %d\n", label->dkl_ncyl);
1117 fmt_print("acyl: %d\n", label->dkl_acyl);
1118 fmt_print("nhead: %d\n", label->dkl_nhead);
1119 fmt_print("nsect: %d\n", label->dkl_nsect);
1120 fmt_print("obs3: %d\n", label->dkl_obs3);
1121 fmt_print("obs4: %d\n", label->dkl_obs4);
1124 fmt_print("rpm: %d\n", label->dkl_rpm);
1125 fmt_print("pcyl: %d\n", label->dkl_pcyl);
1126 fmt_print("apc: %d\n", label->dkl_apc);
1127 fmt_print("intrlv: %d\n", label->dkl_intrlv);
1128 fmt_print("ncyl: %d\n", label->dkl_ncyl);
1129 fmt_print("acyl: %d\n", label->dkl_acyl);
1130 fmt_print("nhead: %d\n", label->dkl_nhead);
1131 fmt_print("nsect: %d\n", label->dkl_nsect);
1132 fmt_print("bcyl: %d\n", label->dkl_bcyl);
1133 fmt_print("skew: %d\n", label->dkl_skew);
1137 fmt_print("magic: %0x\n", label->dkl_magic);
1138 fmt_print("cksum: %0x\n", label->dkl_cksum);
1144 label->dkl_map[i].dkl_cylno,
1145 label->dkl_map[i].dkl_nblk);
1149 label->dkl_vtoc.v_part[i].p_start,
1150 label->dkl_vtoc.v_part[i].p_size);
1156 label->dkl_vtoc.v_part[i].p_tag,
1157 label->dkl_vtoc.v_part[i].p_flag);
1161 fmt_print("read_reinstruct: %d\n", label->dkl_read_reinstruct);
1162 fmt_print("write_reinstruct: %d\n", label->dkl_write_reinstruct);
1166 fmt_print("0x%x ", label->dkl_vtoc.v_bootinfo[i]);
1174 fmt_print("0x%x ", label->dkl_vtoc.v_reserved[i]);
1182 fmt_print("0x%x ", label->dkl_vtoc.v_timestamp[i]);
1187 dump("", label->dkl_pad, LEN_DKL_PAD, HEX_ONLY);