summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Application/CapsuleApp/AppSupport.c
diff options
context:
space:
mode:
authorkx <kx@radix.pro>2024-06-04 06:43:08 +0300
committerkx <kx@radix.pro>2024-06-04 06:43:08 +0300
commit7e2ccccace24636f29ddc210b94606abd4c7e42b (patch)
tree545d43ea12671048956cafeb12303e84d601e571 /MdeModulePkg/Application/CapsuleApp/AppSupport.c
parent27b044605cd5f6b33a3d231576003850b3fe305b (diff)
downloadedk2-trunk.tar.xz
Renormalized end-of-lines from master@27b044605cd5f6b33a3d231576003850b3fe305btrunk
Diffstat (limited to 'MdeModulePkg/Application/CapsuleApp/AppSupport.c')
-rw-r--r--MdeModulePkg/Application/CapsuleApp/AppSupport.c464
1 files changed, 232 insertions, 232 deletions
diff --git a/MdeModulePkg/Application/CapsuleApp/AppSupport.c b/MdeModulePkg/Application/CapsuleApp/AppSupport.c
index 3b98ad07bf..d75c532352 100644
--- a/MdeModulePkg/Application/CapsuleApp/AppSupport.c
+++ b/MdeModulePkg/Application/CapsuleApp/AppSupport.c
@@ -1,232 +1,232 @@
-/** @file
- A shell application that triggers capsule update process.
-
- Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "CapsuleApp.h"
-
-UINTN Argc;
-CHAR16 **Argv;
-EFI_SHELL_PROTOCOL *mShellProtocol = NULL;
-
-/**
-
- This function parse application ARG.
-
- @return Status
-**/
-EFI_STATUS
-GetArg (
- VOID
- )
-{
- EFI_STATUS Status;
- EFI_SHELL_PARAMETERS_PROTOCOL *ShellParameters;
-
- Status = gBS->HandleProtocol (
- gImageHandle,
- &gEfiShellParametersProtocolGuid,
- (VOID **)&ShellParameters
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Argc = ShellParameters->Argc;
- Argv = ShellParameters->Argv;
- return EFI_SUCCESS;
-}
-
-/**
- Get shell protocol.
-
- @return Pointer to shell protocol.
-**/
-EFI_SHELL_PROTOCOL *
-GetShellProtocol (
- VOID
- )
-{
- EFI_STATUS Status;
-
- if (mShellProtocol == NULL) {
- Status = gBS->LocateProtocol (
- &gEfiShellProtocolGuid,
- NULL,
- (VOID **)&mShellProtocol
- );
- if (EFI_ERROR (Status)) {
- mShellProtocol = NULL;
- }
- }
-
- return mShellProtocol;
-}
-
-/**
- Read a file.
-
- @param[in] FileName The file to be read.
- @param[out] BufferSize The file buffer size
- @param[out] Buffer The file buffer
-
- @retval EFI_SUCCESS Read file successfully
- @retval EFI_NOT_FOUND Shell protocol or file not found
- @retval others Read file failed
-**/
-EFI_STATUS
-ReadFileToBuffer (
- IN CHAR16 *FileName,
- OUT UINTN *BufferSize,
- OUT VOID **Buffer
- )
-{
- EFI_STATUS Status;
- EFI_SHELL_PROTOCOL *ShellProtocol;
- SHELL_FILE_HANDLE Handle;
- UINT64 FileSize;
- UINTN TempBufferSize;
- VOID *TempBuffer;
-
- ShellProtocol = GetShellProtocol ();
- if (ShellProtocol == NULL) {
- return EFI_NOT_FOUND;
- }
-
- //
- // Open file by FileName.
- //
- Status = ShellProtocol->OpenFileByName (
- FileName,
- &Handle,
- EFI_FILE_MODE_READ
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Get the file size.
- //
- Status = ShellProtocol->GetFileSize (Handle, &FileSize);
- if (EFI_ERROR (Status)) {
- ShellProtocol->CloseFile (Handle);
- return Status;
- }
-
- TempBufferSize = (UINTN)FileSize;
- TempBuffer = AllocateZeroPool (TempBufferSize);
- if (TempBuffer == NULL) {
- ShellProtocol->CloseFile (Handle);
- return EFI_OUT_OF_RESOURCES;
- }
-
- //
- // Read the file data to the buffer
- //
- Status = ShellProtocol->ReadFile (
- Handle,
- &TempBufferSize,
- TempBuffer
- );
- if (EFI_ERROR (Status)) {
- ShellProtocol->CloseFile (Handle);
- return Status;
- }
-
- ShellProtocol->CloseFile (Handle);
-
- *BufferSize = TempBufferSize;
- *Buffer = TempBuffer;
- return EFI_SUCCESS;
-}
-
-/**
- Write a file.
-
- @param[in] FileName The file to be written.
- @param[in] BufferSize The file buffer size
- @param[in] Buffer The file buffer
-
- @retval EFI_SUCCESS Write file successfully
- @retval EFI_NOT_FOUND Shell protocol not found
- @retval others Write file failed
-**/
-EFI_STATUS
-WriteFileFromBuffer (
- IN CHAR16 *FileName,
- IN UINTN BufferSize,
- IN VOID *Buffer
- )
-{
- EFI_STATUS Status;
- EFI_SHELL_PROTOCOL *ShellProtocol;
- SHELL_FILE_HANDLE Handle;
- EFI_FILE_INFO *FileInfo;
- UINTN TempBufferSize;
-
- ShellProtocol = GetShellProtocol ();
- if (ShellProtocol == NULL) {
- return EFI_NOT_FOUND;
- }
-
- //
- // Open file by FileName.
- //
- Status = ShellProtocol->OpenFileByName (
- FileName,
- &Handle,
- EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Empty the file contents.
- //
- FileInfo = ShellProtocol->GetFileInfo (Handle);
- if (FileInfo == NULL) {
- ShellProtocol->CloseFile (Handle);
- return EFI_DEVICE_ERROR;
- }
-
- //
- // If the file size is already 0, then it has been empty.
- //
- if (FileInfo->FileSize != 0) {
- //
- // Set the file size to 0.
- //
- FileInfo->FileSize = 0;
- Status = ShellProtocol->SetFileInfo (Handle, FileInfo);
- if (EFI_ERROR (Status)) {
- FreePool (FileInfo);
- ShellProtocol->CloseFile (Handle);
- return Status;
- }
- }
-
- FreePool (FileInfo);
-
- //
- // Write the file data from the buffer
- //
- TempBufferSize = BufferSize;
- Status = ShellProtocol->WriteFile (
- Handle,
- &TempBufferSize,
- Buffer
- );
- if (EFI_ERROR (Status)) {
- ShellProtocol->CloseFile (Handle);
- return Status;
- }
-
- ShellProtocol->CloseFile (Handle);
-
- return EFI_SUCCESS;
-}
+/** @file
+ A shell application that triggers capsule update process.
+
+ Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include "CapsuleApp.h"
+
+UINTN Argc;
+CHAR16 **Argv;
+EFI_SHELL_PROTOCOL *mShellProtocol = NULL;
+
+/**
+
+ This function parse application ARG.
+
+ @return Status
+**/
+EFI_STATUS
+GetArg (
+ VOID
+ )
+{
+ EFI_STATUS Status;
+ EFI_SHELL_PARAMETERS_PROTOCOL *ShellParameters;
+
+ Status = gBS->HandleProtocol (
+ gImageHandle,
+ &gEfiShellParametersProtocolGuid,
+ (VOID **)&ShellParameters
+ );
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+
+ Argc = ShellParameters->Argc;
+ Argv = ShellParameters->Argv;
+ return EFI_SUCCESS;
+}
+
+/**
+ Get shell protocol.
+
+ @return Pointer to shell protocol.
+**/
+EFI_SHELL_PROTOCOL *
+GetShellProtocol (
+ VOID
+ )
+{
+ EFI_STATUS Status;
+
+ if (mShellProtocol == NULL) {
+ Status = gBS->LocateProtocol (
+ &gEfiShellProtocolGuid,
+ NULL,
+ (VOID **)&mShellProtocol
+ );
+ if (EFI_ERROR (Status)) {
+ mShellProtocol = NULL;
+ }
+ }
+
+ return mShellProtocol;
+}
+
+/**
+ Read a file.
+
+ @param[in] FileName The file to be read.
+ @param[out] BufferSize The file buffer size
+ @param[out] Buffer The file buffer
+
+ @retval EFI_SUCCESS Read file successfully
+ @retval EFI_NOT_FOUND Shell protocol or file not found
+ @retval others Read file failed
+**/
+EFI_STATUS
+ReadFileToBuffer (
+ IN CHAR16 *FileName,
+ OUT UINTN *BufferSize,
+ OUT VOID **Buffer
+ )
+{
+ EFI_STATUS Status;
+ EFI_SHELL_PROTOCOL *ShellProtocol;
+ SHELL_FILE_HANDLE Handle;
+ UINT64 FileSize;
+ UINTN TempBufferSize;
+ VOID *TempBuffer;
+
+ ShellProtocol = GetShellProtocol ();
+ if (ShellProtocol == NULL) {
+ return EFI_NOT_FOUND;
+ }
+
+ //
+ // Open file by FileName.
+ //
+ Status = ShellProtocol->OpenFileByName (
+ FileName,
+ &Handle,
+ EFI_FILE_MODE_READ
+ );
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+
+ //
+ // Get the file size.
+ //
+ Status = ShellProtocol->GetFileSize (Handle, &FileSize);
+ if (EFI_ERROR (Status)) {
+ ShellProtocol->CloseFile (Handle);
+ return Status;
+ }
+
+ TempBufferSize = (UINTN)FileSize;
+ TempBuffer = AllocateZeroPool (TempBufferSize);
+ if (TempBuffer == NULL) {
+ ShellProtocol->CloseFile (Handle);
+ return EFI_OUT_OF_RESOURCES;
+ }
+
+ //
+ // Read the file data to the buffer
+ //
+ Status = ShellProtocol->ReadFile (
+ Handle,
+ &TempBufferSize,
+ TempBuffer
+ );
+ if (EFI_ERROR (Status)) {
+ ShellProtocol->CloseFile (Handle);
+ return Status;
+ }
+
+ ShellProtocol->CloseFile (Handle);
+
+ *BufferSize = TempBufferSize;
+ *Buffer = TempBuffer;
+ return EFI_SUCCESS;
+}
+
+/**
+ Write a file.
+
+ @param[in] FileName The file to be written.
+ @param[in] BufferSize The file buffer size
+ @param[in] Buffer The file buffer
+
+ @retval EFI_SUCCESS Write file successfully
+ @retval EFI_NOT_FOUND Shell protocol not found
+ @retval others Write file failed
+**/
+EFI_STATUS
+WriteFileFromBuffer (
+ IN CHAR16 *FileName,
+ IN UINTN BufferSize,
+ IN VOID *Buffer
+ )
+{
+ EFI_STATUS Status;
+ EFI_SHELL_PROTOCOL *ShellProtocol;
+ SHELL_FILE_HANDLE Handle;
+ EFI_FILE_INFO *FileInfo;
+ UINTN TempBufferSize;
+
+ ShellProtocol = GetShellProtocol ();
+ if (ShellProtocol == NULL) {
+ return EFI_NOT_FOUND;
+ }
+
+ //
+ // Open file by FileName.
+ //
+ Status = ShellProtocol->OpenFileByName (
+ FileName,
+ &Handle,
+ EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE
+ );
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+
+ //
+ // Empty the file contents.
+ //
+ FileInfo = ShellProtocol->GetFileInfo (Handle);
+ if (FileInfo == NULL) {
+ ShellProtocol->CloseFile (Handle);
+ return EFI_DEVICE_ERROR;
+ }
+
+ //
+ // If the file size is already 0, then it has been empty.
+ //
+ if (FileInfo->FileSize != 0) {
+ //
+ // Set the file size to 0.
+ //
+ FileInfo->FileSize = 0;
+ Status = ShellProtocol->SetFileInfo (Handle, FileInfo);
+ if (EFI_ERROR (Status)) {
+ FreePool (FileInfo);
+ ShellProtocol->CloseFile (Handle);
+ return Status;
+ }
+ }
+
+ FreePool (FileInfo);
+
+ //
+ // Write the file data from the buffer
+ //
+ TempBufferSize = BufferSize;
+ Status = ShellProtocol->WriteFile (
+ Handle,
+ &TempBufferSize,
+ Buffer
+ );
+ if (EFI_ERROR (Status)) {
+ ShellProtocol->CloseFile (Handle);
+ return Status;
+ }
+
+ ShellProtocol->CloseFile (Handle);
+
+ return EFI_SUCCESS;
+}