Lines Matching refs:sect
922 LBA_t sect /* Sector LBA to make appearance in the fs->win[] */ in move_window() argument
932 if (sect != fs->winsect) { /* Window offset changed? */ in move_window()
937 if (disk_read(fs->pdrv, fs->win, sect, 1) != RES_OK) { in move_window()
938 sect = (LBA_t)0 - 1; /* Invalidate window if read data is not valid */ in move_window()
941 fs->winsect = sect; in move_window()
950 LBA_t sect /* Sector number to make appearance in the fs->win[] */ in move_window_readdir() argument
960 if (sect != fs->winsect) { /* Window offset changed? */ in move_window_readdir()
965 if (disk_read_readdir(fs->pdrv, fs->win, sect, 1) != RES_OK) { in move_window_readdir()
966 sect = 0xFFFFFFFF; /* Invalidate window if read data is not valid */ in move_window_readdir()
969 fs->winsect = sect; in move_window_readdir()
1400 LBA_t sect; in dir_clear() local
1410 sect = clst2sect(fs, clst); /* Top of the cluster */ in dir_clear()
1411 fs->winsect = sect; /* Set window to top of the cluster */ in dir_clear()
1419 …for (n = 0; n < fs->csize && disk_write(fs->pdrv, ibuf, sect + n, szb) == RES_OK; n += szb) ; /* F… in dir_clear()
1425 …for (n = 0; n < fs->csize && disk_write(fs->pdrv, ibuf, sect + n, szb) == RES_OK; n += szb) ; /* F… in dir_clear()
1458 dp->sect = fs->dirbase; in dir_sdi()
1468 dp->sect = clst2sect(fs, clst); in dir_sdi()
1471 if (dp->sect == 0) return FR_INT_ERR; in dir_sdi()
1472 dp->sect += ofs / SS(fs); /* Sector# of the directory entry */ in dir_sdi()
1498 if (ofs >= (DWORD)MAX_DIR) dp->sect = 0; /* Disable it if the offset reached the max value */ in dir_next()
1499 if (dp->sect == 0) return FR_NO_FILE; /* Report EOT if it has been disabled */ in dir_next()
1502 dp->sect++; /* Next sector */ in dir_next()
1506 dp->sect = 0; return FR_NO_FILE; in dir_next()
1517 dp->sect = 0; return FR_NO_FILE; in dir_next()
1525 if (!stretch) dp->sect = 0; /* (this line is to suppress compiler warning) */ in dir_next()
1526 dp->sect = 0; return FR_NO_FILE; /* Report EOT */ in dir_next()
1530 dp->sect = clst2sect(fs, clst); in dir_next()
1565 res = move_window(fs, dp->sect); in dir_alloc()
1833 while (dp->sect) { in dir_read()
1834 res = move_window(fs, dp->sect); in dir_read()
1871 if (res != FR_OK) dp->sect = 0; /* Terminate the read operation on error or EOT */ in dir_read()
1890 while (dp->sect) { in dir_read_massive()
1891 res = move_window_readdir(fs, dp->sect); in dir_read_massive()
1928 if (res != FR_OK) dp->sect = 0; /* Terminate the read operation on error or EOT */ in dir_read_massive()
1957 res = move_window(fs, dp->sect); in dir_find()
2055 res = move_window(fs, dp->sect); in dir_register()
2075 res = move_window(fs, dp->sect); in dir_register()
2113 res = move_window(fs, dp->sect); in dir_remove()
2129 res = move_window(fs, dp->sect); in dir_remove()
2168 if (dp->sect == 0) return; /* Exit if read pointer has reached end of directory */ in get_fileinfo()
2677 LBA_t sect /* Sector to load and check if it is an FAT-VBR or not */ in check_fs() argument
2685 if (move_window(fs, sect) != FR_OK) return 4; /* Load the boot sector */ in check_fs()
3420 fp->sect = 0; /* Invalidate current data sector */ in f_open()
3452 fp->sect = sc + (DWORD)(ofs / SS(fs)); in f_open()
3454 if (disk_read(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) res = FR_DISK_ERR; in f_open()
3525 LBA_t sect; in f_read() local
3561 sect = clst2sect(fs, fp->clust); /* Get current sector */ in f_read()
3562 if (sect == 0) ABORT(fs, FR_INT_ERR); in f_read()
3563 sect += csect; in f_read()
3569 if (disk_read(fs->pdrv, rbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); in f_read()
3572 if (fs->wflag && fs->winsect - sect < cc) { in f_read()
3574 … copy_ret = LOS_CopyFromKernel(rbuff + ((fs->winsect - sect) * SS(fs)), SS(fs), fs->win, SS(fs)); in f_read()
3577 mem_cpy(rbuff + ((fs->winsect - sect) * SS(fs)), fs->win, SS(fs)); in f_read()
3581 if ((fp->flag & FA_DIRTY) && fp->sect - sect < cc) { in f_read()
3583 copy_ret = LOS_CopyFromKernel(rbuff + ((fp->sect - sect) * SS(fs)), SS(fs), fp->buf, SS(fs)); in f_read()
3586 mem_cpy(rbuff + ((fp->sect - sect) * SS(fs)), fp->buf, SS(fs)); in f_read()
3595 if (fp->sect != sect) { /* Load data sector if not in cache */ in f_read()
3598 if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); in f_read()
3602 …if (disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Fill sector cache … in f_read()
3605 fp->sect = sect; in f_read()
3610 if (move_window(fs, fp->sect) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Move sector window */ in f_read()
3646 LBA_t sect; in f_write() local
3693 …if (fs->winsect == fp->sect && sync_window(fs) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Write-back sec… in f_write()
3696 if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); in f_write()
3700 sect = clst2sect(fs, fp->clust); /* Get current sector */ in f_write()
3701 if (sect == 0) ABORT(fs, FR_INT_ERR); in f_write()
3702 sect += csect; in f_write()
3708 if (disk_write(fs->pdrv, wbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); in f_write()
3711 …if (fs->winsect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */ in f_write()
3712 copy_ret = LOS_CopyToKernel(fs->win, SS(fs), wbuff + ((fs->winsect - sect) * SS(fs)), SS(fs)); in f_write()
3717 if (fp->sect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */ in f_write()
3719 copy_ret = LOS_CopyToKernel(fp->buf, SS(fs), wbuff + ((fp->sect - sect) * SS(fs)), SS(fs)); in f_write()
3722 mem_cpy(fp->buf, wbuff + ((fp->sect - sect) * SS(fs)), SS(fs)); in f_write()
3734 fs->winsect = sect; in f_write()
3737 if (fp->sect != sect && /* Fill sector cache with file data */ in f_write()
3739 disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) { in f_write()
3743 fp->sect = sect; in f_write()
3748 if (move_window(fs, fp->sect) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Move sector window */ in f_write()
3792 if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) LEAVE_FF(fs, FR_DISK_ERR); in f_sync()
3969 res = move_window(fs, dj.sect); in f_getcwd()
4087 if (fp->fptr % SS(fs) && dsc != fp->sect) { /* Refill sector cache if needed */ in f_lseek()
4091 if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); in f_lseek()
4097 fp->sect = dsc; in f_lseek()
4163 if (fp->fptr % SS(fs) && nsect != fp->sect) { /* Fill sector cache if needed */ in f_lseek()
4167 if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); in f_lseek()
4173 fp->sect = nsect; in f_lseek()
4396 LBA_t sect; in fat_count_free_entries() local
4413 sect = fs->fatbase; /* Top of the FAT */ in fat_count_free_entries()
4417 res = move_window(fs, sect++); in fat_count_free_entries()
4549 if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) { in f_truncate()
4870 LBA_t sect; local
4962 sect = clst2sect(fs, ld_clust(fs, dir));
4963 if (sect == 0) {
4968 res = move_window(fs, sect);
4974 res = move_window(fs, sect);
5457 LBA_t sect; local
5483 sect = clst2sect(fs, fp->clust); /* Get current data sector */
5484 if (sect == 0) ABORT(fs, FR_INT_ERR);
5485 sect += csect;
5487 …if (move_window(fs, sect) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Move sector window to the file data…
5490 if (fp->sect != sect) { /* Fill sector cache with file data */
5493 if (disk_write(fs->pdrv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR);
5497 if (disk_read(fs->pdrv, fp->buf, sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR);
5501 fp->sect = sect;
5598 LBA_t sect, lba[2]; local
5860 sect = b_fat; /* FAT start sector */
5872 if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) { fr = FR_DISK_ERR; goto EXIT; }
5874 sect += n; nsect -= n;
5882 if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) { fr = FR_DISK_ERR; goto EXIT; }
5883 sect += n; nsect -= n;
5889 sect = b_fat - 1;
5891 if (disk_write(pdrv, buf, sect, 1) != RES_OK) { fr = FR_DISK_ERR; goto EXIT; }
5980 LBA_t sect, lba[2]; local
6231 sect = b_fat; /* FAT start sector */
6243 if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) { fr = FR_DISK_ERR; goto EXIT; }
6245 sect += n;
6254 if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) { fr = FR_DISK_ERR; goto EXIT; }
6255 sect += n;
6261 sect = b_fat - 1;
6263 if (disk_write(pdrv, buf, sect, 1) != RES_OK) { fr = FR_DISK_ERR; goto EXIT; }