+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
- \r
- VariableStore.h\r
-\r
-Abstract:\r
-\r
-Revision History\r
-\r
---*/\r
-\r
-#ifndef _VARIABLE_STORE_H\r
-#define _VARIABLE_STORE_H\r
-\r
-//\r
-// The variable store protocol interface is specific to the reference\r
-// implementation. The initialization code adds variable store devices\r
-// to the system, and the FW connects to the devices to provide the\r
-// variable store interfaces through these devices.\r
-//\r
-\r
-//\r
-// Variable Store Device protocol\r
-//\r
-#define EFI_VARIABLE_STORE_PROTOCOL_GUID \\r
- { 0xf088cd91, 0xa046, 0x11d2, {0x8e, 0x42, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }\r
-\r
-EFI_FORWARD_DECLARATION (EFI_VARIABLE_STORE_PROTOCOL);\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_CLEAR_STORE) (\r
- IN EFI_VARIABLE_STORE_PROTOCOL *This,\r
- IN OUT VOID *Scratch\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_READ_STORE) (\r
- IN EFI_VARIABLE_STORE_PROTOCOL *This,\r
- IN UINTN Offset,\r
- IN UINTN BufferSize,\r
- OUT VOID *Buffer\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_UPDATE_STORE) (\r
- IN EFI_VARIABLE_STORE_PROTOCOL *This,\r
- IN UINTN Offset,\r
- IN UINTN BufferSize,\r
- IN VOID *Buffer\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_CLEANUP_STORE) (\r
- IN EFI_VARIABLE_STORE_PROTOCOL *This\r
- );\r
-\r
-struct _EFI_VARIABLE_STORE_PROTOCOL {\r
- \r
- //\r
- // Number of banks and bank size\r
- //\r
- UINT32 Attributes;\r
- UINT32 BankSize;\r
-\r
- //\r
- // Functions to access the storage banks\r
- //\r
- EFI_CLEAR_STORE ClearStore;\r
- EFI_READ_STORE ReadStore;\r
- EFI_UPDATE_STORE UpdateStore;\r
- EFI_CLEANUP_STORE CleanupStore;\r
-\r
-};\r
-\r
-//\r
-//\r
-// ClearStore() - A function to clear the requested storage bank. A cleared\r
-// bank contains all "on" bits.\r
-//\r
-// ReadStore() - Read data from the requested store.\r
-//\r
-// UpdateStore() - Updates data on the requested store. The FW will only\r
-// ever issue updates to clear bits in the store. Updates must \r
-// be performed in LSb to MSb order of the update buffer.\r
-//\r
-// CleanupStore() - Do garbage collection and reclaim operation.\r
-//\r
-\r
-extern EFI_GUID gEfiVariableStoreProtocolGuid;\r
-\r
-#endif // _VARIABLE_STORE_H\r