Lines Matching defs:bpart
68 struct efi_block_part *bpart;
102 TAILQ_FOREACH(bpart, &bdev->partitions, entries) {
103 if (bpart->index == part) {
104 *pbpart = bpart;
115 efi_block_generate_hash_mbr(struct efi_block_part *bpart, struct mbr_sector *mbr)
121 MD5Final(bpart->hash, &md5ctx);
245 struct efi_block_part *bpart;
272 bpart = alloc(sizeof(*bpart));
273 bpart->index = 0;
274 bpart->bdev = bdev;
275 bpart->type = EFI_BLOCK_PART_CD9660;
276 TAILQ_INSERT_TAIL(&bdev->partitions, bpart, entries);
288 struct efi_block_part *bpart;
320 bpart = alloc(sizeof(*bpart));
321 bpart->index = n;
322 bpart->bdev = bdev;
323 bpart->type = EFI_BLOCK_PART_DISKLABEL;
324 bpart->disklabel.secsize = d.d_secsize;
325 bpart->disklabel.part = *p;
326 efi_block_generate_hash_mbr(bpart, mbr);
327 TAILQ_INSERT_TAIL(&bdev->partitions, bpart, entries);
380 struct efi_block_part *bpart;
395 bpart = alloc(sizeof(*bpart));
396 bpart->index = index;
397 bpart->bdev = bdev;
398 bpart->type = EFI_BLOCK_PART_GPT;
399 bpart->gpt.fstype = fstype;
400 bpart->gpt.ent = *ent;
402 bpart->gpt.ent.ent_lba_start += RF_PROTECTED_SECTORS;
403 bpart->gpt.ent.ent_lba_end -= RF_PROTECTED_SECTORS;
405 memcpy(bpart->hash, ent->ent_guid, sizeof(bpart->hash));
406 TAILQ_INSERT_TAIL(&bdev->partitions, bpart, entries);
473 struct efi_block_part *bpart;
523 TAILQ_FOREACH(bpart, &bdev->partitions, entries) {
525 switch (bpart->type) {
527 fstype = bpart->disklabel.part.p_fstype;
530 fstype = bpart->gpt.fstype;
538 snprintf(devname, sizeof(devname), "hd%u%c", bdev->index, bpart->index + 'a');
565 struct efi_block_part *bpart;
586 TAILQ_FOREACH(bpart, &bdev->partitions, entries) {
587 switch (bpart->type) {
589 printf(" hd%u%c (", bdev->index, bpart->index + 'a');
592 size = ((uint64_t)bpart->disklabel.secsize * bpart->disklabel.part.p_size) / (1024 * 1024);
599 printf("%s\n", fstypenames[bpart->disklabel.part.p_fstype]);
602 printf(" hd%u%c ", bdev->index, bpart->index + 'a');
604 if (bpart->gpt.ent.ent_name[0] == 0x0000) {
606 print_guid(bpart->gpt.ent.ent_guid);
609 Print(L"\"%s\"", bpart->gpt.ent.ent_name);
613 size = (le64toh(bpart->gpt.ent.ent_lba_end) - le64toh(bpart->gpt.ent.ent_lba_start)) * bdev->bio->Media->BlockSize;
620 printf("%s\n", fstypenames[bpart->gpt.fstype]);
623 printf(" hd%u%c %s\n", bdev->index, bpart->index + 'a', fstypenames[FS_ISO9660]);
641 struct efi_block_part *bpart;
653 rv = efi_block_parse(fname, &bpart, &path);
665 f->f_devdata = bpart;
669 efi_block_booted = bpart;
683 struct efi_block_part *bpart = devdata;
684 struct efi_block_dev *bdev = bpart->bdev;
693 switch (bpart->type) {
695 off = ((EFI_LBA)dblk + bpart->disklabel.part.p_offset) * bdev->bio->Media->BlockSize;
698 off = ((EFI_LBA)dblk + le64toh(bpart->gpt.ent.ent_lba_start)) * bdev->bio->Media->BlockSize;
707 status = efi_block_read(bpart->bdev, off, buf, size);
725 struct efi_block_part *bpart = f->f_devdata;
726 struct efi_block_dev *bdev = bpart->bdev;