diff options
| author | Konstantin Aladyshev <aladyshev22@gmail.com> | 2021-07-10 00:04:40 +0300 | 
|---|---|---|
| committer | Konstantin Aladyshev <aladyshev22@gmail.com> | 2021-07-10 00:04:40 +0300 | 
| commit | 6064c1e48b622f53538f4df9bdd402c607a87d51 (patch) | |
| tree | 93d3c937b9568568307fd2ff7053a30c538ad72a /Lesson_15/UefiLessonsPkg/ShowBootVariables | |
| parent | a9c375c80c3505be794ec2b5d5bb90de27ef0d42 (diff) | |
| download | UEFI-Lessons-6064c1e48b622f53538f4df9bdd402c607a87d51.tar.gz UEFI-Lessons-6064c1e48b622f53538f4df9bdd402c607a87d51.tar.bz2 UEFI-Lessons-6064c1e48b622f53538f4df9bdd402c607a87d51.zip | |
Move lessons to separate folder
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Diffstat (limited to 'Lesson_15/UefiLessonsPkg/ShowBootVariables')
| -rw-r--r-- | Lesson_15/UefiLessonsPkg/ShowBootVariables/ShowBootVariables.c | 93 | ||||
| -rw-r--r-- | Lesson_15/UefiLessonsPkg/ShowBootVariables/ShowBootVariables.inf | 19 | 
2 files changed, 0 insertions, 112 deletions
| diff --git a/Lesson_15/UefiLessonsPkg/ShowBootVariables/ShowBootVariables.c b/Lesson_15/UefiLessonsPkg/ShowBootVariables/ShowBootVariables.c deleted file mode 100644 index 7f6b58c..0000000 --- a/Lesson_15/UefiLessonsPkg/ShowBootVariables/ShowBootVariables.c +++ /dev/null @@ -1,93 +0,0 @@ -#include <Library/UefiBootServicesTableLib.h> -#include <Library/UefiLib.h> - -#include <Library/MemoryAllocationLib.h> -#include <Library/UefiRuntimeServicesTableLib.h> - -#include <Library/DevicePathLib.h> -#include <Library/PrintLib.h> - - -EFI_STATUS -GetNvramVariable( CHAR16   *VariableName, -                  EFI_GUID *VariableOwnerGuid,  -                  VOID     **Buffer, -                  UINTN    *BufferSize) -{ -    UINTN Size = 0; -    *BufferSize = 0; - -    EFI_STATUS Status = gRT->GetVariable(VariableName, VariableOwnerGuid, NULL, &Size, NULL); -    if (Status != EFI_BUFFER_TOO_SMALL) { -        Print(L"Error! 'gRT->GetVariable' call returned %r\n", Status); -        return Status; -    } - -    *Buffer = AllocateZeroPool(Size); -    if (!Buffer) { -        Print(L"Error! 'AllocateZeroPool' call returned %r\n", Status); -        return EFI_OUT_OF_RESOURCES; -    } - -    Status = gRT->GetVariable(VariableName, VariableOwnerGuid, NULL, &Size, *Buffer); -    if (Status == EFI_SUCCESS) { -        *BufferSize = Size; -    } else { -        FreePool( *Buffer ); -        *Buffer = NULL; -    } - -    return Status; -} - - -VOID PrintBootOption(CHAR16* BootOptionName) -{ -  UINTN OptionSize; -  UINT8* Buffer; -  -  EFI_STATUS Status = GetNvramVariable(BootOptionName, &gEfiGlobalVariableGuid, (VOID**)&Buffer, &OptionSize); -  if (Status == EFI_SUCCESS) { -      EFI_LOAD_OPTION* LoadOption = (EFI_LOAD_OPTION*) Buffer; -      CHAR16* Description = (CHAR16*)(Buffer + sizeof (EFI_LOAD_OPTION)); -      UINTN DescriptionSize = StrSize(Description); - -      Print(L"%s\n", Description); -      if (LoadOption->FilePathListLength != 0) { -        VOID* FilePathList = (UINT8 *)Description + DescriptionSize; -        CHAR16* DevPathString = ConvertDevicePathToText(FilePathList, TRUE, FALSE); -        Print(L"%s\n", DevPathString); -      } -  } else { -    Print(L"Can't get %s variable\n", BootOptionName); -  } -} - - -INTN EFIAPI ShellAppMain(IN UINTN Argc, IN CHAR16 **Argv) -{ -  UINTN OptionSize; -  EFI_STATUS Status; - -  UINT16* BootCurrent; -  Status = GetNvramVariable(L"BootCurrent", &gEfiGlobalVariableGuid, (VOID**)&BootCurrent, &OptionSize); -  if (Status != EFI_SUCCESS) { -    Print(L"Can't get BootCurrent variable\n"); -  } - -  UINT16* BootOrderArray; -  Status = GetNvramVariable(L"BootOrder", &gEfiGlobalVariableGuid, (VOID**)&BootOrderArray, &OptionSize); -  if (Status == EFI_SUCCESS) { -    for (UINTN i=0; i<(OptionSize/sizeof(UINT16)); i++) { -      CHAR16 BootOptionStr[sizeof("Boot####")+1]; -      UnicodeSPrint(BootOptionStr, (sizeof("Boot####")+1)*sizeof(CHAR16), L"Boot%04x", BootOrderArray[i]); -      Print(L"%s%s\n", BootOptionStr, (BootOrderArray[i] == *BootCurrent)? L"*" : L"" ); -      PrintBootOption(BootOptionStr); -      Print(L"\n"); -    } -  } else { -    Print(L"Can't get BootOrder variable\n"); -  } - -  return EFI_SUCCESS; -} diff --git a/Lesson_15/UefiLessonsPkg/ShowBootVariables/ShowBootVariables.inf b/Lesson_15/UefiLessonsPkg/ShowBootVariables/ShowBootVariables.inf deleted file mode 100644 index d2cfba9..0000000 --- a/Lesson_15/UefiLessonsPkg/ShowBootVariables/ShowBootVariables.inf +++ /dev/null @@ -1,19 +0,0 @@ -[Defines] -  INF_VERSION                    = 1.25 -  BASE_NAME                      = ShowBootVariables -  FILE_GUID                      = 31266d12-9c60-478e-905e-05d117a3a9df -  MODULE_TYPE                    = UEFI_APPLICATION -  VERSION_STRING                 = 1.0 -  ENTRY_POINT                    = ShellCEntryLib - -[Sources] -  ShowBootVariables.c - -[Packages] -  MdePkg/MdePkg.dec - -[LibraryClasses] -  UefiApplicationEntryPoint -  UefiLib -  ShellCEntryLib - | 
