]>
Commit | Line | Data |
---|---|---|
d1f95000 | 1 | /** @file\r |
0f82bd55 | 2 | Variable Write Architectural Protocol as defined in PI Specification VOLUME 2 DXE\r |
d1f95000 | 3 | \r |
9095d37b LG |
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 | |
8377875b | 6 | by the DXE Foundation.\r |
d1f95000 | 7 | \r |
9095d37b | 8 | The DXE driver that produces this protocol must be a runtime driver. This driver\r |
8377875b | 9 | may update the SetVariable() field of the UEFI Runtime Services Table.\r |
9095d37b LG |
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 | |
8377875b | 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 | |
9095d37b LG |
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 | This program and the accompanying materials\r | |
25 | are licensed and made available under the terms and conditions of the BSD License\r | |
26 | which accompanies this distribution. The full text of the license may be found at\r | |
27 | http://opensource.org/licenses/bsd-license.php\r | |
28 | \r | |
29 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
30 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
d1f95000 | 31 | \r |
d1f95000 | 32 | **/\r |
33 | \r | |
34 | #ifndef __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__\r | |
35 | #define __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__\r | |
36 | \r | |
99e8ed21 | 37 | ///\r |
38 | /// Global ID for the Variable Write Architectural Protocol\r | |
39 | ///\r | |
d1f95000 | 40 | #define EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID \\r |
41 | { 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53 } }\r | |
42 | \r | |
43 | extern EFI_GUID gEfiVariableWriteArchProtocolGuid;\r | |
44 | \r | |
9095d37b | 45 | #endif\r |