]>
Commit | Line | Data |
---|---|---|
1 | /** @file\r | |
2 | Variable Write Architectural Protocol as defined in PI Specification VOLUME 2 DXE\r | |
3 | \r | |
4 | This provides the services required to set nonvolatile environment variables.\r | |
5 | This protocol must be produced by a runtime DXE driver and may be consumed only\r | |
6 | by the DXE Foundation.\r | |
7 | \r | |
8 | The DXE driver that produces this protocol must be a runtime driver. This driver\r | |
9 | may update the SetVariable() field of the UEFI Runtime Services Table.\r | |
10 | \r | |
11 | After the UEFI Runtime Services Table has been initialized, the driver must\r | |
12 | install the EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID on a new handle with a NULL\r | |
13 | interface pointer. The installation of this protocol informs the DXE Foundation\r | |
14 | that the write services for nonvolatile environment variables are now available\r | |
15 | and that the DXE Foundation must update the 32-bit CRC of the UEFI Runtime Services\r | |
16 | Table. The full complement of environment variable services are not available\r | |
17 | until both this protocol and EFI_VARIABLE_ARCH_PROTOCOL are installed. DXE drivers\r | |
18 | that require read-only access or read/write access to volatile environment variables\r | |
19 | must have the EFI_VARIABLE_WRITE_ARCH_PROTOCOL in their dependency expressions.\r | |
20 | DXE drivers that require write access to nonvolatile environment variables must\r | |
21 | have this architectural protocol in their dependency expressions.\r | |
22 | \r | |
23 | Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r | |
24 | SPDX-License-Identifier: BSD-2-Clause-Patent\r | |
25 | \r | |
26 | **/\r | |
27 | \r | |
28 | #ifndef __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__\r | |
29 | #define __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__\r | |
30 | \r | |
31 | ///\r | |
32 | /// Global ID for the Variable Write Architectural Protocol\r | |
33 | ///\r | |
34 | #define EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID \\r | |
35 | { 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53 } }\r | |
36 | \r | |
37 | extern EFI_GUID gEfiVariableWriteArchProtocolGuid;\r | |
38 | \r | |
39 | #endif\r |