Lines Matching defs:dset
524 static uint16_t calc_dentry_set_checksum(struct exfat_dentry *dset, int dcount)
533 exfat_calc_dentry_checksum(&dset[0], &checksum, true);
535 exfat_calc_dentry_checksum(&dset[i], &checksum, false);
577 struct exfat_dentry *dset;
591 dset = calloc(1, dcount * DENTRY_SIZE);
592 if (!dset)
595 dset[0].type = EXFAT_FILE;
596 dset[0].dentry.file.num_ext = dcount - 1;
597 dset[0].dentry.file.attr = cpu_to_le16(attr);
602 dset[0].dentry.file.create_date = e_date;
603 dset[0].dentry.file.create_time = e_time;
604 dset[0].dentry.file.create_time_ms = e_time_ms;
605 dset[0].dentry.file.create_tz = tz;
607 dset[0].dentry.file.modify_date = e_date;
608 dset[0].dentry.file.modify_time = e_time;
609 dset[0].dentry.file.modify_time_ms = e_time_ms;
610 dset[0].dentry.file.modify_tz = tz;
612 dset[0].dentry.file.access_date = e_date;
613 dset[0].dentry.file.access_time = e_time;
614 dset[0].dentry.file.access_tz = tz;
616 dset[1].type = EXFAT_STREAM;
617 dset[1].dentry.stream.flags = 0x01;
618 dset[1].dentry.stream.name_len = (__u8)name_len;
619 dset[1].dentry.stream.name_hash =
623 dset[i].type = EXFAT_NAME;
624 memcpy(dset[i].dentry.name.unicode_0_14,
629 dset[0].dentry.file.checksum =
630 cpu_to_le16(calc_dentry_set_checksum(dset, dcount));
632 *dentry_set = dset;
638 struct exfat_dentry *dset, int dcount,
645 if (dset[0].type != EXFAT_FILE || dcount < MIN_FILE_DENTRIES)
658 dset[1].dentry.stream.name_len = (__u8)name_len;
659 dset[1].dentry.stream.name_hash =
663 dset[i].type = EXFAT_NAME;
664 memcpy(dset[i].dentry.name.unicode_0_14,
670 dset[1].dentry.stream.valid_size = cpu_to_le64(ccount * exfat->clus_size);
671 dset[1].dentry.stream.size = cpu_to_le64(ccount * exfat->clus_size);
673 dset[1].dentry.stream.start_clu = cpu_to_le32(start_clu);
675 dset[0].dentry.file.checksum =
676 cpu_to_le16(calc_dentry_set_checksum(dset, dcount));
752 struct exfat_dentry *dset, int dcount,
777 if (exfat_write(exfat->blk_dev->dev_fd, dset, first_half_len,
782 dset = (struct exfat_dentry *)((char *)dset + first_half_len);
783 if (exfat_write(exfat->blk_dev->dev_fd, dset, sec_half_len,
870 struct exfat_dentry *dset, int dcount,
891 if (exfat_write_dentry_set(exfat, dset, dcount, dev_off, &next_dev_off))
904 struct exfat_dentry *dset;
911 dset = filter.out.dentry_set;
913 if ((le16_to_cpu(dset->dentry.file.attr) & attr) != attr)
919 &dset, &dcount);
926 err = exfat_add_dentry_set(exfat, &loc, dset, dcount, false);
928 free(dset);