/* **************************************************************************** * void dir_createDefaultEntry(FileSystem *fs,FileRecord *filerec,eint8* fatfilename) * Description: This function fills in a filerecord with safe default values, and * a given fatfilename. If your system has a means of knowing time, here is an * excellent place to apply it to the filerecord. * Return value: void */ void dir_createDefaultEntry(FileSystem *fs,FileRecord *filerec,eint8* fatfilename) { memCpy(fatfilename,filerec->FileName,11); filerec->Attribute=0x00; filerec->NTReserved=0x00; filerec->MilliSecTimeStamp=0x00; filerec->CreatedTime=time_getTime(); filerec->CreatedDate=time_getDate(); filerec->AccessDate=filerec->CreatedDate; filerec->FirstClusterHigh=0x0000; filerec->WriteTime=filerec->CreatedTime; filerec->WriteDate=filerec->CreatedDate; filerec->FirstClusterLow=0x0000; filerec->FileSize=0x00000000; }
/* **************************************************************************** * esint8 file_fclose(File *file) * Description: This function closes a file, by clearing the object. * Return value: 0 on success. */ esint8 file_fclose(File *file) { if(fs_hasTimeSupport()){ file->DirEntry.AccessDate = time_getDate(); if(file_getAttr(file,FILE_STATUS_WRITE)){ file->DirEntry.FileSize = file->FileSize; file->DirEntry.WriteDate = file->DirEntry.AccessDate; file->DirEntry.WriteTime = time_getTime(); } dir_updateDirectoryEntry(file->fs,&(file->DirEntry),&(file->Location)); }else{ if(file_getAttr(file,FILE_STATUS_WRITE)){ dir_setFileSize(file->fs,&(file->Location),file->FileSize); } } memClr(file,sizeof(*file)); file_setAttr(file,FILE_STATUS_OPEN,0); file_setAttr(file,FILE_STATUS_WRITE,0); return(0); }