#include "Arm/SbbrValidator.h"\r
#endif\r
\r
-EFI_HII_HANDLE gShellAcpiViewHiiHandle = NULL;\r
-\r
STATIC UINT32 mTableCount;\r
STATIC UINT32 mBinTableCount;\r
\r
IN CONST UINTN Length\r
)\r
{\r
- EFI_STATUS Status;\r
CHAR16 FileNameBuffer[MAX_FILE_NAME_LEN];\r
- SHELL_FILE_HANDLE DumpFileHandle;\r
UINTN TransferBytes;\r
SELECTED_ACPI_TABLE *SelectedTable;\r
\r
- DumpFileHandle = NULL;\r
- TransferBytes = Length;\r
GetSelectedAcpiTable (&SelectedTable);\r
\r
UnicodeSPrint (\r
mBinTableCount++\r
);\r
\r
- Status = ShellOpenFileByName (\r
- FileNameBuffer,\r
- &DumpFileHandle,\r
- EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE,\r
- 0\r
- );\r
- if (EFI_ERROR (Status)) {\r
- ShellPrintHiiEx (\r
- -1,\r
- -1,\r
- NULL,\r
- STRING_TOKEN (STR_GEN_READONLY_MEDIA),\r
- gShellAcpiViewHiiHandle,\r
- L"acpiview"\r
- );\r
- return FALSE;\r
- }\r
-\r
Print (L"Dumping ACPI table to : %s ... ", FileNameBuffer);\r
\r
- Status = ShellWriteFile (\r
- DumpFileHandle,\r
- &TransferBytes,\r
- (VOID*)Ptr\r
- );\r
- if (EFI_ERROR (Status)) {\r
- Print (L"ERROR: Failed to dump table to binary file.\n");\r
- TransferBytes = 0;\r
- } else {\r
- Print (L"DONE.\n");\r
- }\r
-\r
- ShellCloseFile (&DumpFileHandle);\r
+ TransferBytes = ShellDumpBufferToFile (FileNameBuffer, Ptr, Length);\r
return (Length == TransferBytes);\r
}\r
\r