Lines Matching refs:finfo
352 FILINFO *finfo = &(dfp->fno);
379 if (finfo->fattrib & AM_ARC || finfo->fattrib & AM_LNK) {
388 dp_new->obj.sclust = finfo->sclst;
503 FILINFO *finfo = NULL;
519 finfo = &(dfp->fno);
520 LOS_ListInit(&finfo->fp_list);
545 get_fileinfo(dp, finfo);
548 hash = fatfs_hash(dp->sect, dp->dptr, finfo->sclst);
563 vp->mode = fatfs_get_mode(finfo->fattrib, fs->fs_mode);
564 if (finfo->fattrib & AM_DIR) {
566 finfo->fsize = fs->csize * SS(fs);
606 FILINFO *finfo = &(dfp->fno);
623 fp->obj.sclust = finfo->sclst;
624 fp->obj.objsize = finfo->fsize;
635 LOS_ListAdd(&finfo->fp_list, &fp->fp_entry);
682 FILINFO *finfo = &((DIR_FILE *)(vp->data))->fno;
691 fp->obj.objsize = finfo->fsize;
692 fp->obj.sclust = finfo->sclst;
703 static FRESULT update_dir(DIR *dp, FILINFO *finfo)
715 dbuff[DIR_Attr] = finfo->fattrib;
716 st_clust(fs, dbuff, finfo->sclst); /* Update start cluster */
717 st_dword(dbuff + DIR_FileSize, (DWORD)finfo->fsize); /* Update file size */
739 FILINFO *finfo = &(dfp->fno);
760 offset = (off_t)((long long)finfo->fsize + offset);
779 if (fpos > finfo->fsize) {
789 fp->obj.sclust = finfo->sclst;
790 fp->obj.objsize = finfo->fsize;
793 finfo->fsize = fp->obj.objsize;
794 finfo->sclst = fp->obj.sclust;
817 static int update_filbuff(FILINFO *finfo, FIL *wfp, const char *data)
819 LOS_DL_LIST *list = &finfo->fp_list;
843 FILINFO *finfo = &(((DIR_FILE *)vp->data)->fno);
852 fp->obj.objsize = finfo->fsize;
853 fp->obj.sclust = finfo->sclst;
859 finfo->fsize = fp->obj.objsize;
860 finfo->sclst = fp->obj.sclust;
865 update_filbuff(finfo, fp, buff);
898 FILINFO *finfo = &((DIR_FILE *)(vp->data))->fno;
921 if (finfo->sclst == 0) {
922 finfo->sclst = fp->obj.sclust;
931 static FRESULT realloc_cluster(FILINFO *finfo, FFOBJID *obj, FSIZE_t size)
941 if (finfo->sclst != 0) {
942 result = remove_chain(obj, finfo->sclst, 0);
946 finfo->sclst = 0;
953 if (finfo->sclst == 0) { /* Allocate one cluster if file doesn't have any cluster */
961 finfo->sclst = cclust;
963 cclust = finfo->sclst;
1000 FILINFO *finfo = &(dfp->fno);
1014 if (len == finfo->fsize) {
1020 result = realloc_cluster(finfo, &object, (FSIZE_t)len);
1024 finfo->fsize = (FSIZE_t)len;
1026 result = update_dir(dp, finfo);
1423 FILINFO *finfo = &(dfp->fno);
1437 sp->st_size = finfo->fsize;
1439 if (finfo->fattrib & AM_ARC) {
1440 sp->st_blocks = finfo->fsize ? ((finfo->fsize - 1) / SS(fs) / fs->csize + 1) : 0;
1444 time = fattime_transfer(finfo->fdate, finfo->ftime);
1479 FILINFO *finfo = &(dfp->fno);
1485 if (finfo->fname[0] == '/') { /* Is root dir of fatfs ? */
1502 if ((attr->attr_chg_mode & S_IWUSR) == 0 && (finfo->fattrib & AM_RDO) == 0) {
1504 finfo->fattrib |= AM_RDO;
1506 } else if ((attr->attr_chg_mode & S_IWUSR) != 0 && (finfo->fattrib & AM_RDO) != 0) {
1508 finfo->fattrib &= ~AM_RDO;
1511 vp->mode = fatfs_get_mode(finfo->fattrib, fs->fs_mode);
1517 finfo->fdate = (WORD)(ftime >> FTIME_DATE_OFFSET);
1518 finfo->ftime = (WORD)ftime;
1538 FILINFO *finfo = &(dfp->fno);
1553 clst = finfo->sclst;
1930 FILINFO *finfo = &(dfp->fno);
1936 if (finfo->fattrib & AM_ARC) {
1950 dir_sub.obj.sclust = finfo->sclst;
1965 result = remove_chain(&(dp->obj), finfo->sclst, 0);
1992 FILINFO *finfo = &(dfp->fno);
1997 if (finfo->fattrib & AM_DIR) {
2010 if (finfo->sclst != 0) { /* if cluster chain exists */
2011 result = remove_chain(&(dp->obj), finfo->sclst, 0);
2035 static inline DWORD combine_time(FILINFO *finfo)
2037 return (finfo->fdate << FTIME_DATE_OFFSET) | finfo->ftime;
2106 FILINFO *finfo = &(((DIR_FILE *)(vp->data))->fno);
2117 if ((finfo->fattrib & AM_DIR) == 0) {
2176 FILINFO *finfo = &(dfp->fno);
2177 size_t targetLen = finfo->fsize;
2185 clust = finfo->sclst;
2217 FILINFO *finfo = &(dfp->fno);
2236 if (finfo->fsize <= pos) {
2242 ep->clst = finfo->sclst;
2249 clust = finfo->sclst;
2303 return (ssize_t)min(finfo->fsize - pos, n * SS(fs));
2315 FILINFO *finfo = &(dfp->fno);
2334 if (finfo->fsize <= pos) {
2340 ep->clst = finfo->sclst;
2347 clust = finfo->sclst;
2400 if (update_filbuff(finfo, &fil, NULL) < 0) {
2407 return (ssize_t)min(finfo->fsize - pos, n * SS(fs));