2007-06-19 12:12:02 +02:00
|
|
|
/** @file
|
2008-07-25 12:50:50 +02:00
|
|
|
Variable Write Architectural Protocol as defined in PI Specification VOLUME 2 DXE
|
2007-06-19 12:12:02 +02:00
|
|
|
|
2008-09-28 07:30:46 +02:00
|
|
|
This provides the services required to set nonvolatile environment variables.
|
|
|
|
This protocol must be produced by a runtime DXE driver and may be consumed only
|
|
|
|
by the DXE Foundation.
|
2007-06-19 12:12:02 +02:00
|
|
|
|
2008-09-28 07:30:46 +02:00
|
|
|
The DXE driver that produces this protocol must be a runtime driver. This driver
|
|
|
|
may update the SetVariable() field of the UEFI Runtime Services Table.
|
|
|
|
|
|
|
|
After the UEFI Runtime Services Table has been initialized, the driver must
|
|
|
|
install the EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID on a new handle with a NULL
|
|
|
|
interface pointer. The installation of this protocol informs the DXE Foundation
|
|
|
|
that the write services for nonvolatile environment variables are now available
|
|
|
|
and that the DXE Foundation must update the 32-bit CRC of the UEFI Runtime Services
|
|
|
|
Table. The full complement of environment variable services are not available
|
|
|
|
until both this protocol and EFI_VARIABLE_ARCH_PROTOCOL are installed. DXE drivers
|
|
|
|
that require read-only access or read/write access to volatile environment variables
|
|
|
|
must have the EFI_VARIABLE_WRITE_ARCH_PROTOCOL in their dependency expressions.
|
|
|
|
DXE drivers that require write access to nonvolatile environment variables must
|
|
|
|
have this architectural protocol in their dependency expressions.
|
|
|
|
|
2008-07-25 12:37:15 +02:00
|
|
|
Copyright (c) 2006 - 2008, Intel Corporation
|
2007-06-19 12:12:02 +02:00
|
|
|
All rights reserved. This program and the accompanying materials
|
|
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
|
|
|
|
**/
|
|
|
|
|
|
|
|
#ifndef __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__
|
|
|
|
#define __ARCH_PROTOCOL_VARIABLE_WRITE_ARCH_H__
|
|
|
|
|
2008-08-14 06:29:48 +02:00
|
|
|
///
|
|
|
|
/// Global ID for the Variable Write Architectural Protocol
|
|
|
|
///
|
2007-06-19 12:12:02 +02:00
|
|
|
#define EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID \
|
|
|
|
{ 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53 } }
|
|
|
|
|
|
|
|
extern EFI_GUID gEfiVariableWriteArchProtocolGuid;
|
|
|
|
|
|
|
|
#endif
|