\r
GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 *gFvFileType[] = {\r
"All",\r
- "Raw",\r
- "Freeform",\r
+ "Bin",\r
+ "section",\r
"SEC",\r
"PeiCore",\r
"DxeCore",\r
"PEIM",\r
"Driver",\r
- "Combo Driver",\r
- "Application",\r
+ "Combo",\r
+ "App",\r
"NULL",\r
"FV"\r
};\r
UINTN BestMatchCount;\r
CHAR16 UnicodeFileName[MAX_CMD_LINE];\r
CHAR8 *Path;\r
+ CHAR8 *TypeStr;\r
+ UINTN TotalSize;\r
\r
\r
if (Argc <= 1) {\r
}\r
}\r
\r
+ TotalSize = 0;\r
Fv = File->Fv;\r
Key = 0;\r
CurrentRow = 0;\r
&Size\r
);\r
if (!EFI_ERROR (GetNextFileStatus)) {\r
- // Calculate size of entire file\r
- Section = NULL;\r
- Size = 0;\r
- Status = Fv->ReadFile (\r
+ TotalSize += Size;\r
+ // Calculate size of entire file\r
+ Section = NULL;\r
+ Size = 0;\r
+ Status = Fv->ReadFile (\r
Fv,\r
&NameGuid, \r
Section,\r
&Attributes,\r
&AuthenticationStatus\r
);\r
- if (!((Status == EFI_BUFFER_TOO_SMALL) || !EFI_ERROR (Status))) {\r
+ if (!((Status == EFI_BUFFER_TOO_SMALL) || !EFI_ERROR (Status))) {\r
// EFI_SUCCESS or EFI_BUFFER_TOO_SMALL mean size is valid \r
Size = 0;\r
- }\r
+ }\r
+ \r
+ TypeStr = (Type <= EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE) ? gFvFileType[Type] : "UNKNOWN";\r
\r
// read the UI seciton to do a name match.\r
Section = NULL;\r
);\r
if (!EFI_ERROR (Status)) {\r
if (StrStr (Section, MatchSubString) != NULL) {\r
- AsciiPrint (" %g %s %a %,d\n", &NameGuid, Section, gFvFileType[Type], Size);\r
+ AsciiPrint ("%,9d %7a %g %s\n", Size, TypeStr, &NameGuid, Section);\r
if (EblAnyKeyToContinueQtoQuit (&CurrentRow, FALSE)) {\r
break;\r
}\r
FreePool (Section);\r
} else {\r
if (*MatchSubString == '\0') {\r
- AsciiPrint (" %g %a %,d\n", &NameGuid, gFvFileType[Type], Size);\r
+ AsciiPrint ("%,9d %7a %g\n", Size, TypeStr, &NameGuid);\r
if (EblAnyKeyToContinueQtoQuit (&CurrentRow, FALSE)) {\r
break;\r
}\r
}\r
} while (!EFI_ERROR (GetNextFileStatus));\r
\r
+ if (SearchType == EFI_FV_FILETYPE_ALL) {\r
+ AsciiPrint ("%,20d bytes in files %,d bytes free\n", TotalSize, File->FvSize - File->FvHeaderSize - TotalSize);\r
+ }\r
+ \r
+ \r
} else if ((File->Type == EfiOpenFileSystem) || (File->Type == EfiOpenBlockIo)) {\r
// Simple File System DIR\r
\r