1 /*++
2 
3 Copyright (c) 2007, 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   Variable2.h
15 
16 Abstract:
17 
18   Read-only Variable2 Service PPI as defined in PI1.0
19 
20 --*/
21 
22 #ifndef _PEI_READ_ONLY_VARIABLE2_PPI_H
23 #define _PEI_READ_ONLY_VARIABLE2_PPI_H
24 
25 #include "EfiVariable.h"
26 
27 #define EFI_PEI_READ_ONLY_VARIABLE2_PPI_GUID \
28   { \
29     0x2ab86ef5, 0xecb5, 0x4134, {0xb5, 0x56, 0x38, 0x54, 0xca, 0x1f, 0xe1, 0xb4} \
30   }
31 
32 EFI_FORWARD_DECLARATION (EFI_PEI_READ_ONLY_VARIABLE2_PPI);
33 
34 typedef
35 EFI_STATUS
36 (EFIAPI *EFI_PEI_GET_VARIABLE2) (
37   IN CONST EFI_PEI_READ_ONLY_VARIABLE2_PPI    *This,
38   IN CONST CHAR16                             *VariableName,
39   IN CONST EFI_GUID                           *VariableGuid,
40   OUT UINT32                                  *Attributes,
41   IN OUT UINTN                                *DataSize,
42   OUT VOID                                    *Data
43   );
44 
45 typedef
46 EFI_STATUS
47 (EFIAPI *EFI_PEI_GET_NEXT_VARIABLE_NAME2) (
48   IN CONST EFI_PEI_READ_ONLY_VARIABLE2_PPI    *This,
49   IN OUT UINTN                                *VariableNameSize,
50   IN OUT CHAR16                               *VariableName,
51   IN OUT EFI_GUID                             *VariableGuid
52   );
53 
54 struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI {
55   EFI_PEI_GET_VARIABLE2            GetVariable;
56   EFI_PEI_GET_NEXT_VARIABLE_NAME2  GetNextVariableName;
57 };
58 
59 extern EFI_GUID gPeiReadOnlyVariable2PpiGuid;
60 
61 #endif
62