1 /** @file
2   Serialize Variables Library implementation
3 
4   Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
5   This program and the accompanying materials
6   are licensed and made available under the terms and conditions of the BSD License
7   which accompanies this distribution.  The full text of the license may be found at
8   http://opensource.org/licenses/bsd-license.php
9 
10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 
13 **/
14 
15 #ifndef __SERIALIZE_VARIABLES_LIB_INSTANCE__
16 #define __SERIALIZE_VARIABLES_LIB_INSTANCE__
17 
18 #include <Uefi.h>
19 
20 #include <Library/BaseLib.h>
21 #include <Library/BaseMemoryLib.h>
22 #include <Library/DebugLib.h>
23 #include <Library/MemoryAllocationLib.h>
24 #include <Library/SerializeVariablesLib.h>
25 #include <Library/UefiBootServicesTableLib.h>
26 #include <Library/UefiRuntimeServicesTableLib.h>
27 
28 #define SV_FROM_HANDLE(a)       CR (a, SV_INSTANCE, Signature, SV_SIGNATURE)
29 #define SV_SIGNATURE            SIGNATURE_32 ('S', 'V', 'A', 'R')
30 
31 typedef struct {
32   UINT32                              Signature;
33   VOID                                *BufferPtr;
34   UINTN                               BufferSize;
35   UINTN                               DataSize;
36 } SV_INSTANCE;
37 
38 #endif
39 
40