]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.c
Fix VS2013 build failure.
[mirror_edk2.git] / OvmfPkg / Library / NvVarsFileLib / NvVarsFileLib.c
CommitLineData
50944545 1/** @file
2 Save Non-Volatile Variables to a file system.
3
56d7640a
HT
4 Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
50944545 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 "NvVarsFileLib.h"
16#include <Library/DebugLib.h>
17#include <Library/NvVarsFileLib.h>
18
9607962d 19EFI_HANDLE mNvVarsFileLibFsHandle = NULL;
20
50944545 21
22/**
23 Attempts to connect the NvVarsFileLib to the specified file system.
24
25 @param[in] FsHandle - Handle for a gEfiSimpleFileSystemProtocolGuid instance
26
27 @return The EFI_STATUS while attempting to connect the NvVarsFileLib
28 to the file system instance.
29 @retval EFI_SUCCESS - The given file system was connected successfully
30
31**/
32EFI_STATUS
33EFIAPI
34ConnectNvVarsToFileSystem (
35 IN EFI_HANDLE FsHandle
36 )
37{
38 EFI_STATUS Status;
39
40 //
41 // We might fail to load the variable, since the file system initially
42 // will not have the NvVars file.
43 //
44 LoadNvVarsFromFs (FsHandle);
45
46 //
47 // We must be able to save the variables successfully to the file system
48 // to have connected successfully.
49 //
50 Status = SaveNvVarsToFs (FsHandle);
9607962d 51 if (!EFI_ERROR (Status)) {
52 mNvVarsFileLibFsHandle = FsHandle;
53 }
50944545 54
55 return Status;
56}
57
58
9607962d 59/**
60 Update non-volatile variables stored on the file system.
61
62 @return The EFI_STATUS while attempting to update the variable on
63 the connected file system.
64 @retval EFI_SUCCESS - The non-volatile variables were saved to the disk
65 @retval EFI_NOT_STARTED - A file system has not been connected
66
67**/
68EFI_STATUS
69EFIAPI
70UpdateNvVarsOnFileSystem (
71 )
72{
73 if (mNvVarsFileLibFsHandle == NULL) {
74 //
75 // A file system had not been connected to the library.
76 //
77 return EFI_NOT_STARTED;
78 } else {
79 return SaveNvVarsToFs (mNvVarsFileLibFsHandle);
80 }
81}
82
83