Lines Matching refs:boot

168 	struct bootblock	*boot;
523 return (fat->boot);
557 const struct bootblock *boot = boot_of_(fat);
559 return (cl >= CLUST_FIRST && cl < boot->NumClusters);
580 checkdirty(int fs, struct bootblock *boot)
587 if (boot->ClustMask != CLUST16_MASK && boot->ClustMask != CLUST32_MASK)
590 off = boot->bpbResSectors;
591 off *= boot->bpbBytesPerSec;
593 buffer = malloc(len = boot->bpbBytesPerSec);
604 if ((size_t)read(fs, buffer, boot->bpbBytesPerSec) !=
605 boot->bpbBytesPerSec) {
614 if (buffer[0] != boot->bpbMedia || buffer[1] != 0xff)
616 if (boot->ClustMask == CLUST16_MASK) {
629 if (boot->ClustMask == CLUST16_MASK) {
646 struct bootblock *boot;
651 boot = boot_of_(fat);
654 if (boot->ClustMask != CLUST16_MASK && boot->ClustMask != CLUST32_MASK)
657 off = boot->bpbResSectors;
658 off *= boot->bpbBytesPerSec;
660 buffer = malloc(len = boot->bpbBytesPerSec);
671 if (boot->ClustMask == CLUST16_MASK) {
699 struct bootblock *boot;
702 boot = boot_of_(fat);
704 fat->fatsize = boot->FATsecs * boot->bpbBytesPerSec;
706 off = boot->bpbResSectors;
707 off *= boot->bpbBytesPerSec;
732 if (boot->ClustMask == CLUST32_MASK &&
737 fat->fat32_offset = boot->bpbResSectors * boot->bpbBytesPerSec;
806 readfat(int fs, struct bootblock *boot, struct fat_descriptor **fp)
813 boot->NumFree = boot->NumBad = 0;
822 fat->boot = boot;
831 switch(boot->ClustMask) {
850 pfatal("Invalid ClustMask: %d", boot->ClustMask);
856 if (bitmap_ctor(&fat->headbitmap, boot->NumClusters,
859 (size_t)boot->NumClusters);
865 if (buffer[0] != boot->bpbMedia
867 || (boot->ClustMask == CLUST16_MASK && buffer[3] != 0xff)
868 || (boot->ClustMask == CLUST32_MASK
875 * 0xXXffff0fffffff07 for FAT32 upon boot, to know that the
879 if (buffer[0] == boot->bpbMedia && buffer[1] == 0xff
881 && ((boot->ClustMask == CLUST16_MASK && buffer[3] == 0x7f)
882 || (boot->ClustMask == CLUST32_MASK
890 switch (boot->ClustMask) {
913 *p++ = (u_char)boot->bpbMedia;
916 switch (boot->ClustMask) {
964 for (cl = CLUST_FIRST; cl < boot->NumClusters; cl++) {
970 if (boot->FSNext == 0) {
971 boot->FSNext = cl;
976 boot->NumFree++;
981 boot->NumBad++;
986 nextcl & boot->ClustMask);
1123 struct bootblock *boot = boot_of_(fat);
1130 boot->NumFree++;
1144 struct bootblock *boot;
1149 boot = boot_of_(fat);
1159 dst_off = boot->bpbResSectors + n * boot->FATsecs;
1160 dst_off *= boot->bpbBytesPerSec;
1194 struct bootblock *boot;
1197 boot = boot_of_(fat);
1219 for (i = 1; i < boot->bpbFATs; i++) {
1226 for (i = fat->is_mmapped ? 1 : 0; i < boot->bpbFATs; i++) {
1227 dst_base = boot->bpbResSectors + i * boot->FATsecs;
1228 dst_base *= boot->bpbBytesPerSec;
1251 struct bootblock *boot;
1254 boot = boot_of_(fat);
1263 chains > 0 && head < boot->NumClusters;
1296 if (boot->bpbFSInfo) {
1298 if (boot->FSFree != 0xffffffffU &&
1299 boot->FSFree != boot->NumFree) {
1301 boot->FSFree, boot->NumFree);
1303 boot->FSFree = boot->NumFree;
1307 if (boot->FSNext != 0xffffffffU &&
1308 (boot->FSNext >= boot->NumClusters ||
1309 (boot->NumFree && fat_get_cl_next(fat, boot->FSNext) != CLUST_FREE))) {
1311 boot->FSNext,
1312 (boot->FSNext >= boot->NumClusters) ? "invalid" : "not free");
1314 for (head = CLUST_FIRST; head < boot->NumClusters; head++)
1316 boot->FSNext = head;
1322 mod |= writefsinfo(dosfs, boot);