1 /*++ 2 3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 Module Name: 13 14 Variable.h 15 16 Abstract: 17 18 Read-only Variable Service PPI as defined in Tiano 19 20 --*/ 21 22 #ifndef _PEI_READ_ONLY_VARIABLE_PPI_H 23 #define _PEI_READ_ONLY_VARIABLE_PPI_H 24 25 #include "EfiVariable.h" 26 27 #define PEI_READ_ONLY_VARIABLE_ACCESS_PPI_GUID \ 28 { \ 29 0x3cdc90c6, 0x13fb, 0x4a75, {0x9e, 0x79, 0x59, 0xe9, 0xdd, 0x78, 0xb9, 0xfa} \ 30 } 31 32 33 typedef 34 EFI_STATUS 35 (EFIAPI *PEI_GET_VARIABLE) ( 36 IN EFI_PEI_SERVICES **PeiServices, 37 IN CHAR16 *VariableName, 38 IN EFI_GUID * VendorGuid, 39 OUT UINT32 *Attributes OPTIONAL, 40 IN OUT UINTN *DataSize, 41 OUT VOID *Data 42 ); 43 44 typedef 45 EFI_STATUS 46 (EFIAPI *PEI_GET_NEXT_VARIABLE_NAME) ( 47 IN EFI_PEI_SERVICES **PeiServices, 48 IN OUT UINTN *VariableNameSize, 49 IN OUT CHAR16 *VariableName, 50 IN OUT EFI_GUID * VendorGuid 51 ); 52 53 typedef struct PEI_READ_ONLY_VARIABLE_PPI { 54 PEI_GET_VARIABLE PeiGetVariable; 55 PEI_GET_NEXT_VARIABLE_NAME PeiGetNextVariableName; 56 } PEI_READ_ONLY_VARIABLE_PPI; 57 58 extern EFI_GUID gPeiReadOnlyVariablePpiGuid; 59 60 #endif 61