1 /** @file 2 Utility routines used by boot maintenance modules. 3 4 Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #include "BootMaintenanceManager.h" 16 17 /** 18 Function deletes the variable specified by VarName and VarGuid. 19 20 @param VarName A Null-terminated Unicode string that is 21 the name of the vendor's variable. 22 23 @param VarGuid A unique identifier for the vendor. 24 25 @retval EFI_SUCCESS The variable was found and removed 26 @retval EFI_UNSUPPORTED The variable store was inaccessible 27 @retval EFI_NOT_FOUND The variable was not found 28 29 **/ 30 EFI_STATUS 31 EfiLibDeleteVariable ( 32 IN CHAR16 *VarName, 33 IN EFI_GUID *VarGuid 34 ) 35 { 36 return gRT->SetVariable ( 37 VarName, 38 VarGuid, 39 0, 40 0, 41 NULL 42 ); 43 } 44 45 /** 46 Function is used to determine the number of device path instances 47 that exist in a device path. 48 49 50 @param DevicePath A pointer to a device path data structure. 51 52 @return This function counts and returns the number of device path instances 53 in DevicePath. 54 55 **/ 56 UINTN 57 EfiDevicePathInstanceCount ( 58 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath 59 ) 60 { 61 UINTN Count; 62 UINTN Size; 63 64 Count = 0; 65 while (GetNextDevicePathInstance (&DevicePath, &Size) != NULL) { 66 Count += 1; 67 } 68 69 return Count; 70 } 71 72 /** 73 Get a string from the Data Hub record based on 74 a device path. 75 76 @param DevPath The device Path. 77 78 @return A string located from the Data Hub records based on 79 the device path. 80 @retval NULL If failed to get the String from Data Hub. 81 82 **/ 83 UINT16 * 84 EfiLibStrFromDatahub ( 85 IN EFI_DEVICE_PATH_PROTOCOL *DevPath 86 ) 87 { 88 return NULL; 89 } 90