Lines Matching refs:label
61 static int vtoc_to_label(struct dk_label *label, struct extvtoc *vtoc,
81 static void dump_label(struct dk_label *label);
88 checklabel(label) in checklabel() argument
89 register struct dk_label *label; in checklabel()
95 if (label->dkl_magic != DKL_MAGIC)
100 if (checksum(label, CK_CHECKSUM) != 0)
110 checksum(label, mode) in checksum() argument
111 struct dk_label *label; in checksum()
123 sp = (short *)label;
140 label->dkl_cksum = sum;
272 struct dk_label label; in write_label() local
315 (void) memset((char *)&label, 0, sizeof (struct dk_label)); in write_label()
318 label.dkl_pcyl = pcyl; in write_label()
319 label.dkl_ncyl = ncyl; in write_label()
320 label.dkl_acyl = acyl; in write_label()
323 label.dkl_bcyl = bcyl; in write_label()
326 label.dkl_nhead = nhead; in write_label()
327 label.dkl_nsect = nsect; in write_label()
328 label.dkl_apc = apc; in write_label()
329 label.dkl_intrlv = 1; in write_label()
330 label.dkl_rpm = cur_dtype->dtype_rpm; in write_label()
337 label.dkl_map[i] = cur_parts->pinfo_map[i]; in write_label()
341 label.dkl_magic = DKL_MAGIC; in write_label()
346 label.dkl_vtoc = cur_parts->vtoc; in write_label()
351 bcopy(cur_disk->v_volume, label.dkl_vtoc.v_volume, LEN_DKL_VVOL); in write_label()
356 (void) snprintf(label.dkl_asciilabel, sizeof (label.dkl_asciilabel), in write_label()
364 label.dkl_vtoc.v_sectorsz = cur_blksz; in write_label()
370 (void) checksum(&label, CK_MAKESUM); in write_label()
374 if (label_to_vtoc(&vtoc, &label) == -1) { in write_label()
455 if (bcmp((char *)&label, new_label, in write_label()
483 read_label(int fd, struct dk_label *label) in read_label() argument
495 return (vtoc_to_label(label, &vtoc, &geom, &dkinfo)); in read_label()
499 get_disk_info_from_devid(int fd, struct efi_info *label) in get_disk_info_from_devid() argument
546 (void) strlcpy(label->vendor, vid, nvid); in get_disk_info_from_devid()
547 (void) strlcpy(label->product, pid, npid); in get_disk_info_from_devid()
548 (void) strlcpy(label->revision, "0001", 5); in get_disk_info_from_devid()
549 label->capacity = minf.dki_capacity * minf.dki_lbsize / 512; in get_disk_info_from_devid()
561 get_disk_info(int fd, struct efi_info *label) in get_disk_info() argument
567 if (!get_disk_info_from_devid(fd, label)) in get_disk_info()
571 (void) strlcpy(label->vendor, "Unknown", 8); in get_disk_info()
572 (void) strlcpy(label->product, "Unknown", 8); in get_disk_info()
573 (void) strlcpy(label->revision, "0001", 5); in get_disk_info()
575 (void) strlcpy(label->vendor, inquiry.inq_vid, 9); in get_disk_info()
576 (void) strlcpy(label->product, inquiry.inq_pid, 17); in get_disk_info()
577 (void) strlcpy(label->revision, inquiry.inq_revision, 5); in get_disk_info()
585 label->capacity = in get_disk_info()
588 label->capacity = capacity.sc_capacity; in get_disk_info()
591 label->capacity++; in get_disk_info()
598 read_efi_label(int fd, struct efi_info *label) in read_efi_label() argument
606 if (vtoc64_to_label(label, vtoc64) != 0) { in read_efi_label()
611 if (get_disk_info(fd, label) != 0) { in read_efi_label()
624 vtoc64_to_label(struct efi_info *label, struct dk_gpt *vtoc) in vtoc64_to_label() argument
629 (void) memset((char *)label, 0, sizeof (struct efi_info)); in vtoc64_to_label()
639 label->e_parts = lmap; in vtoc64_to_label()
677 vtoc_to_label(struct dk_label *label, struct extvtoc *vtoc, in vtoc_to_label() argument
692 (void) memset((char *)label, 0, sizeof (struct dk_label)); in vtoc_to_label()
710 label->dkl_magic = DKL_MAGIC; in vtoc_to_label()
715 label->dkl_rpm = geom->dkg_rpm; in vtoc_to_label()
716 label->dkl_pcyl = geom->dkg_pcyl; in vtoc_to_label()
717 label->dkl_apc = geom->dkg_apc; in vtoc_to_label()
718 label->dkl_intrlv = geom->dkg_intrlv; in vtoc_to_label()
719 label->dkl_ncyl = geom->dkg_ncyl; in vtoc_to_label()
720 label->dkl_acyl = geom->dkg_acyl; in vtoc_to_label()
723 label->dkl_bcyl = geom->dkg_bcyl; in vtoc_to_label()
726 label->dkl_nhead = geom->dkg_nhead; in vtoc_to_label()
727 label->dkl_nsect = geom->dkg_nsect; in vtoc_to_label()
730 label->dkl_obs1 = geom->dkg_obs1; in vtoc_to_label()
731 label->dkl_obs2 = geom->dkg_obs2; in vtoc_to_label()
732 label->dkl_obs3 = geom->dkg_obs3; in vtoc_to_label()
735 label->dkl_write_reinstruct = geom->dkg_write_reinstruct; in vtoc_to_label()
736 label->dkl_read_reinstruct = geom->dkg_read_reinstruct; in vtoc_to_label()
741 label->dkl_vtoc.v_sanity = vtoc->v_sanity; in vtoc_to_label()
742 label->dkl_vtoc.v_nparts = vtoc->v_nparts; in vtoc_to_label()
743 label->dkl_vtoc.v_version = vtoc->v_version; in vtoc_to_label()
745 (void) memcpy(label->dkl_vtoc.v_volume, vtoc->v_volume, in vtoc_to_label()
748 label->dkl_vtoc.v_part[i].p_tag = vtoc->v_part[i].p_tag; in vtoc_to_label()
749 label->dkl_vtoc.v_part[i].p_flag = vtoc->v_part[i].p_flag; in vtoc_to_label()
750 label->dkl_vtoc.v_timestamp[i] = vtoc->timestamp[i]; in vtoc_to_label()
754 label->dkl_vtoc.v_reserved[i] = vtoc->v_reserved[i]; in vtoc_to_label()
756 label->dkl_vtoc.v_bootinfo[0] = vtoc->v_bootinfo[0]; in vtoc_to_label()
757 label->dkl_vtoc.v_bootinfo[1] = vtoc->v_bootinfo[1]; in vtoc_to_label()
758 label->dkl_vtoc.v_bootinfo[2] = vtoc->v_bootinfo[2]; in vtoc_to_label()
760 (void) memcpy(label->dkl_asciilabel, vtoc->v_asciilabel, in vtoc_to_label()
774 lmap = label->dkl_map; in vtoc_to_label()
777 lmap = label->dkl_vtoc.v_part; in vtoc_to_label()
784 nblks = label->dkl_nsect * label->dkl_nhead; in vtoc_to_label()
808 (void) checksum(label, CK_MAKESUM); in vtoc_to_label()
812 dump_label(label); in vtoc_to_label()
823 label_to_vtoc(struct extvtoc *vtoc, struct dk_label *label) in label_to_vtoc() argument
841 switch (label->dkl_vtoc.v_version) { in label_to_vtoc()
856 lpart = label->dkl_vtoc.v_part; in label_to_vtoc()
865 vtoc->timestamp[i] = label->dkl_vtoc.v_timestamp[i]; in label_to_vtoc()
867 (void) memcpy(vtoc->v_volume, label->dkl_vtoc.v_volume, in label_to_vtoc()
871 vtoc->v_reserved[i] = label->dkl_vtoc.v_reserved[i]; in label_to_vtoc()
873 vtoc->v_bootinfo[0] = label->dkl_vtoc.v_bootinfo[0]; in label_to_vtoc()
874 vtoc->v_bootinfo[1] = label->dkl_vtoc.v_bootinfo[1]; in label_to_vtoc()
875 vtoc->v_bootinfo[2] = label->dkl_vtoc.v_bootinfo[2]; in label_to_vtoc()
892 (void) memcpy(vtoc->v_asciilabel, label->dkl_asciilabel, in label_to_vtoc()
901 lmap = label->dkl_map; in label_to_vtoc()
903 nblks = label->dkl_nsect * label->dkl_nhead; in label_to_vtoc()
1021 dump_label(label) in dump_label() argument
1022 struct dk_label *label; in dump_label()
1026 fmt_print("%s\n", label->dkl_asciilabel);
1028 fmt_print("version: %d\n", label->dkl_vtoc.v_version);
1031 if (label->dkl_vtoc.v_volume[i] == 0)
1033 fmt_print("%c", label->dkl_vtoc.v_volume[i]);
1036 fmt_print("v_nparts: %d\n", label->dkl_vtoc.v_nparts);
1037 fmt_print("v_sanity: %lx\n", label->dkl_vtoc.v_sanity);
1040 fmt_print("rpm: %d\n", label->dkl_rpm);
1041 fmt_print("pcyl: %d\n", label->dkl_pcyl);
1042 fmt_print("apc: %d\n", label->dkl_apc);
1043 fmt_print("obs1: %d\n", label->dkl_obs1);
1044 fmt_print("obs2: %d\n", label->dkl_obs2);
1045 fmt_print("intrlv: %d\n", label->dkl_intrlv);
1046 fmt_print("ncyl: %d\n", label->dkl_ncyl);
1047 fmt_print("acyl: %d\n", label->dkl_acyl);
1048 fmt_print("nhead: %d\n", label->dkl_nhead);
1049 fmt_print("nsect: %d\n", label->dkl_nsect);
1050 fmt_print("obs3: %d\n", label->dkl_obs3);
1051 fmt_print("obs4: %d\n", label->dkl_obs4);
1054 fmt_print("rpm: %d\n", label->dkl_rpm);
1055 fmt_print("pcyl: %d\n", label->dkl_pcyl);
1056 fmt_print("apc: %d\n", label->dkl_apc);
1057 fmt_print("intrlv: %d\n", label->dkl_intrlv);
1058 fmt_print("ncyl: %d\n", label->dkl_ncyl);
1059 fmt_print("acyl: %d\n", label->dkl_acyl);
1060 fmt_print("nhead: %d\n", label->dkl_nhead);
1061 fmt_print("nsect: %d\n", label->dkl_nsect);
1062 fmt_print("bcyl: %d\n", label->dkl_bcyl);
1063 fmt_print("skew: %d\n", label->dkl_skew);
1067 fmt_print("magic: %0x\n", label->dkl_magic);
1068 fmt_print("cksum: %0x\n", label->dkl_cksum);
1074 label->dkl_map[i].dkl_cylno,
1075 label->dkl_map[i].dkl_nblk);
1079 label->dkl_vtoc.v_part[i].p_start,
1080 label->dkl_vtoc.v_part[i].p_size);
1086 label->dkl_vtoc.v_part[i].p_tag,
1087 label->dkl_vtoc.v_part[i].p_flag);
1091 fmt_print("read_reinstruct: %d\n", label->dkl_read_reinstruct);
1092 fmt_print("write_reinstruct: %d\n", label->dkl_write_reinstruct);
1096 fmt_print("0x%x ", label->dkl_vtoc.v_bootinfo[i]);
1104 fmt_print("0x%x ", label->dkl_vtoc.v_reserved[i]);
1112 fmt_print("0x%x ", label->dkl_vtoc.v_timestamp[i]);
1117 dump("", label->dkl_pad, LEN_DKL_PAD, HEX_ONLY);