git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10403 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			46 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Variable Write Architectural Protocol as defined in PI Specification VOLUME 2 DXE
 | 
						|
 | 
						|
  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.
 | 
						|
 | 
						|
  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.  
 | 
						|
  
 | 
						|
  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
 | 
						|
  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__
 | 
						|
 | 
						|
///
 | 
						|
/// Global ID for the Variable Write Architectural Protocol
 | 
						|
///
 | 
						|
#define EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID \
 | 
						|
  { 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53 } }
 | 
						|
 | 
						|
extern EFI_GUID gEfiVariableWriteArchProtocolGuid;
 | 
						|
 | 
						|
#endif 
 |