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