1 /** @file
2   EFI SMM Variable Protocol is related to EDK II-specific implementation of variables
3   and intended for use as a means to store data in the EFI SMM environment.
4 
5   Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
6   This program and the accompanying materials
7   are licensed and made available under the terms and conditions of the BSD License
8   which accompanies this distribution.  The full text of the license may be found at
9   http://opensource.org/licenses/bsd-license.php
10 
11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 
14 **/
15 
16 #ifndef __SMM_VARIABLE_H__
17 #define __SMM_VARIABLE_H__
18 
19 #define EFI_SMM_VARIABLE_PROTOCOL_GUID \
20   { \
21     0xed32d533, 0x99e6, 0x4209, { 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7 } \
22   }
23 
24 typedef struct _EFI_SMM_VARIABLE_PROTOCOL  EFI_SMM_VARIABLE_PROTOCOL;
25 
26 ///
27 /// EFI SMM Variable Protocol is intended for use as a means
28 /// to store data in the EFI SMM environment.
29 ///
30 struct _EFI_SMM_VARIABLE_PROTOCOL {
31   EFI_GET_VARIABLE            SmmGetVariable;
32   EFI_GET_NEXT_VARIABLE_NAME  SmmGetNextVariableName;
33   EFI_SET_VARIABLE            SmmSetVariable;
34   EFI_QUERY_VARIABLE_INFO     SmmQueryVariableInfo;
35 };
36 
37 extern EFI_GUID gEfiSmmVariableProtocolGuid;
38 
39 #endif
40