- if (Sfo) {\r
- //\r
- // Print the FileInfo Table\r
- //\r
- ShellPrintHiiEx (\r
- 0,\r
- gST->ConOut->Mode->CursorRow,\r
- NULL,\r
- STRING_TOKEN (STR_LS_SFO_FILEINFO),\r
- gShellLevel2HiiHandle,\r
- Node->FullName,\r
- Node->Info->FileSize,\r
- Node->Info->PhysicalSize,\r
- (Node->Info->Attribute & EFI_FILE_ARCHIVE) != 0?L"a":L"",\r
- (Node->Info->Attribute & EFI_FILE_DIRECTORY) != 0?L"d":L"",\r
- (Node->Info->Attribute & EFI_FILE_HIDDEN) != 0?L"h":L"",\r
- (Node->Info->Attribute & EFI_FILE_READ_ONLY) != 0?L"r":L"",\r
- (Node->Info->Attribute & EFI_FILE_SYSTEM) != 0?L"s":L"",\r
- Node->Info->CreateTime.Hour,\r
- Node->Info->CreateTime.Minute,\r
- Node->Info->CreateTime.Second,\r
- Node->Info->CreateTime.Day,\r
- Node->Info->CreateTime.Month,\r
- Node->Info->CreateTime.Year,\r
- Node->Info->LastAccessTime.Hour,\r
- Node->Info->LastAccessTime.Minute,\r
- Node->Info->LastAccessTime.Second,\r
- Node->Info->LastAccessTime.Day,\r
- Node->Info->LastAccessTime.Month,\r
- Node->Info->LastAccessTime.Year,\r
- Node->Info->ModificationTime.Hour,\r
- Node->Info->ModificationTime.Minute,\r
- Node->Info->ModificationTime.Second,\r
- Node->Info->ModificationTime.Day,\r
- Node->Info->ModificationTime.Month,\r
- Node->Info->ModificationTime.Year\r
- );\r
- } else {\r
- //\r
- // print this one out...\r
- // first print the universal start, next print the type specific name format, last print the CRLF\r
- //\r
- ShellPrintHiiEx (\r
- -1,\r
- -1,\r
- NULL,\r
- STRING_TOKEN (STR_LS_LINE_START_ALL),\r
- gShellLevel2HiiHandle,\r
- &Node->Info->ModificationTime,\r
- (Node->Info->Attribute & EFI_FILE_DIRECTORY) != 0?L"<DIR>":L"",\r
- (Node->Info->Attribute & EFI_FILE_READ_ONLY) != 0?L'r':L' ',\r
- Node->Info->FileSize\r
- );\r
- if (Node->Info->Attribute & EFI_FILE_DIRECTORY) {\r
- DirCount++;\r
- ShellPrintHiiEx (\r
- -1,\r
- -1,\r
- NULL,\r
- STRING_TOKEN (STR_LS_LINE_END_DIR),\r
- gShellLevel2HiiHandle,\r
- Node->FileName\r
- );\r
- } else {\r
- FileCount++;\r
- FileSize += Node->Info->FileSize;\r
- if ( (gUnicodeCollation->StriColl(gUnicodeCollation, (CHAR16*)L".nsh", (CHAR16*)&(Node->FileName[StrLen (Node->FileName) - 4])) == 0)\r
- || (gUnicodeCollation->StriColl(gUnicodeCollation, (CHAR16*)L".efi", (CHAR16*)&(Node->FileName[StrLen (Node->FileName) - 4])) == 0)\r
- ){\r
- ShellPrintHiiEx (\r
- -1,\r
- -1,\r
- NULL,\r
- STRING_TOKEN (STR_LS_LINE_END_EXE),\r
- gShellLevel2HiiHandle,\r
- Node->FileName\r
- );\r
- } else {\r
- ShellPrintHiiEx (\r
- -1,\r
- -1,\r
- NULL,\r
- STRING_TOKEN (STR_LS_LINE_END_FILE),\r
- gShellLevel2HiiHandle,\r
- Node->FileName\r
- );\r
- }\r