1 | /** @file
|
---|
2 | Variable Write Architectural Protocol as defined in PI Specification VOLUME 2 DXE
|
---|
3 |
|
---|
4 | This provides the services required to set nonvolatile environment variables.
|
---|
5 | This protocol must be produced by a runtime DXE driver and may be consumed only
|
---|
6 | by the DXE Foundation.
|
---|
7 |
|
---|
8 | The DXE driver that produces this protocol must be a runtime driver. This driver
|
---|
9 | may update the SetVariable() field of the UEFI Runtime Services Table.
|
---|
10 |
|
---|
11 | After the UEFI Runtime Services Table has been initialized, the driver must
|
---|
12 | install the EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID on a new handle with a NULL
|
---|
13 | interface pointer. The installation of this protocol informs the DXE Foundation
|
---|
14 | that the write services for nonvolatile environment variables are now available
|
---|
15 | and that the DXE Foundation must update the 32-bit CRC of the UEFI Runtime Services
|
---|
16 | Table. The full complement of environment variable services are not available
|
---|
17 | until both this protocol and EFI_VARIABLE_ARCH_PROTOCOL are installed. DXE drivers
|
---|
18 | that require read-only access or read/write access to volatile environment variables
|
---|
19 | must have the EFI_VARIABLE_WRITE_ARCH_PROTOCOL in their dependency expressions.
|
---|
20 | DXE drivers that require write access to nonvolatile environment variables must
|
---|
21 | have this architectural protocol in their dependency expressions.
|
---|
22 |
|
---|
23 | Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
---|
24 | This program and the accompanying materials
|
---|
25 | are licensed and made available under the terms and conditions of the BSD License
|
---|
26 | which accompanies this distribution. The full text of the license may be found at
|
---|
27 | http://opensource.org/licenses/bsd-license.php
|
---|
28 |
|
---|
29 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
---|
30 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
---|
31 |
|
---|
32 | **/
|
---|
33 |
|
---|
34 | #ifndef __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__
|
---|
35 | #define __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__
|
---|
36 |
|
---|
37 | ///
|
---|
38 | /// Global ID for the Variable Write Architectural Protocol
|
---|
39 | ///
|
---|
40 | #define EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID \
|
---|
41 | { 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53 } }
|
---|
42 |
|
---|
43 | extern EFI_GUID gEfiVariableWriteArchProtocolGuid;
|
---|
44 |
|
---|
45 | #endif
|
---|