]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Framework/Ppi/Variable/Variable.h
8257b68bf64165ac5cb246521d3e9308cc06e767
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Ppi / Variable / Variable.h
1 /*++
2
3 Copyright (c) 2004, Intel Corporation
4 All rights reserved. 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 EFI_FORWARD_DECLARATION (PEI_MASTER_BOOT_MODE_PPI);
59
60 extern EFI_GUID gPeiReadOnlyVariablePpiGuid;
61
62 #endif