EmbeddedPkg: introduce NvVarStoreFormattedLib
[mirror_edk2.git] / EmbeddedPkg / Include / Guid / NvVarStoreFormatted.h
1 /** @file
2 EDKII NvVarStore Formatted GUID
3
4 A NULL protocol instance with this GUID in the DXE and/or MM protocol
5 databases, and/or a NULL PPI with this GUID in the PPI database, implies that
6 a DXE or MM driver, or a PEIM, has verified (or dynamically ensured) that the
7 non-volatile variable store has valid and consistent headers
8 (EFI_FIRMWARE_VOLUME_HEADER and VARIABLE_STORE_HEADER).
9
10 Said predicate is required by the read-only variable PEIM, and the read side
11 of the runtime variable DXE and MM drivers, immediately after they are
12 dispatched. This GUID presents platforms with one way to coordinate between
13 their module(s) that format the variable store FVB device and the variable
14 service drivers.
15
16 Copyright (C) 2018, Red Hat, Inc.
17
18 This program and the accompanying materials are licensed and made available
19 under the terms and conditions of the BSD License that accompanies this
20 distribution. The full text of the license may be found at
21 http://opensource.org/licenses/bsd-license.php.
22
23 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
24 WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
25 **/
26
27
28 #ifndef __EDKII_NV_VAR_STORE_FORMATTED_H__
29 #define __EDKII_NV_VAR_STORE_FORMATTED_H__
30
31 #define EDKII_NV_VAR_STORE_FORMATTED_GUID \
32 { \
33 0xd1a86e3f, 0x0707, 0x4c35, \
34 { 0x83, 0xcd, 0xdc, 0x2c, 0x29, 0xc8, 0x91, 0xa3 } \
35 }
36
37 extern EFI_GUID gEdkiiNvVarStoreFormattedGuid;
38
39 #endif