34 IFile = IFILE_FROM_FHAND (FHand);
47 if (IFile->ReadOnly) {
48 Status = EFI_WRITE_PROTECTED;
55 if (OFile->Parent ==
NULL) {
56 Status = EFI_ACCESS_DENIED;
63 Status = OFile->Error;
64 if (!EFI_ERROR (Status)) {
69 if (OFile->ODir !=
NULL) {
74 for (Round = 0; Round < 3; Round++) {
76 if ((EFI_ERROR (Status)) ||
78 ((Round == 2) && (DirEnt !=
NULL))
81 Status = EFI_ACCESS_DENIED;
95 if (EFI_ERROR (Status)) {
103 OFile->Error = EFI_NOT_FOUND;
104 }
else if (OFile->Error == EFI_NOT_FOUND) {
119 if (EFI_ERROR (Status)) {
120 Status = EFI_WARN_DELETE_FAILURE;
EFI_STATUS EFIAPI FatDelete(IN EFI_FILE_PROTOCOL *FHand)
EFI_STATUS FatRemoveDirEnt(IN FAT_OFILE *OFile, IN FAT_DIRENT *DirEnt)
BOOLEAN FatIsDotDirEnt(IN FAT_DIRENT *DirEnt)
EFI_STATUS FatGetNextDirEnt(IN FAT_OFILE *OFile, OUT FAT_DIRENT **PtrDirEnt)
VOID FatResetODirCursor(IN FAT_OFILE *OFile)
VOID FatWaitNonblockingTask(FAT_IFILE *IFile)
EFI_STATUS FatIFileClose(FAT_IFILE *IFile)
VOID FatAcquireLock(VOID)
VOID FatReleaseLock(VOID)
EFI_STATUS FatTruncateOFile(IN FAT_OFILE *OFile, IN UINTN TruncatedSize)
EFI_STATUS FatCleanupVolume(IN FAT_VOLUME *Volume, IN FAT_OFILE *OFile, IN EFI_STATUS EfiStatus, IN FAT_TASK *Task)