• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file  NorFlashDxe.h
2 
3   Copyright (c) 2015, Linaro Ltd. All rights reserved.
4   Copyright (c) 2015, Hisilicon Ltd. All rights reserved.
5 
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 __VARIABLE_DXE_H__
17 #define __VARIABLE_DXE_H__
18 
19 #include <Protocol/BlockIo.h>
20 #include <Protocol/DiskIo.h>
21 #include <Protocol/FirmwareVolumeBlock.h>
22 
23 #define BLOCK_VARIABLE_SIGNATURE                       SIGNATURE_32('b', 'l', 'k', '0')
24 
25 typedef struct _BLOCK_VARIABLE_INSTANCE                BLOCK_VARIABLE_INSTANCE;
26 
27 typedef struct {
28   VENDOR_DEVICE_PATH                  Vendor;
29   EFI_DEVICE_PATH_PROTOCOL            End;
30 } BLOCK_DEVICE_PATH;
31 
32 struct _BLOCK_VARIABLE_INSTANCE {
33   UINT32                              Signature;
34   EFI_HANDLE                          Handle;
35 
36   BOOLEAN                             Initialized;
37 
38   UINTN                               Size;
39   EFI_LBA                             StartLba;
40 
41   EFI_BLOCK_IO_MEDIA                  Media;
42   EFI_BLOCK_IO_PROTOCOL               *BlockIoProtocol;
43   EFI_DISK_IO_PROTOCOL                DiskIoProtocol;
44   EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL FvbProtocol;
45   EFI_DEVICE_PATH_PROTOCOL            DevicePath;
46 
47   VOID*                               ShadowBuffer;
48 };
49 
50 
51 #endif /* __VARIABLE_DXE_H__ */
52