1 /** @file 2 Block IO (memory mapped) 3 4 Copyright (c) 2006 - 2010, 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 __BLOCK_MMIO_H__ 16 #define __BLOCK_MMIO_H__ 17 18 #include <Protocol/BlockIo.h> 19 20 #define BLOCK_MMIO_PROTOCOL_GUID \ 21 { \ 22 0x6b558ce3, 0x69e5, 0x4c67, {0xa6, 0x34, 0xf7, 0xfe, 0x72, 0xad, 0xbe, 0x84 } \ 23 } 24 25 typedef struct _BLOCK_MMIO_PROTOCOL BLOCK_MMIO_PROTOCOL; 26 27 28 /// 29 /// This protocol provides control over block devices. 30 /// 31 struct _BLOCK_MMIO_PROTOCOL { 32 /// 33 /// The revision to which the block IO interface adheres. All future 34 /// revisions must be backwards compatible. If a future version is not 35 /// back wards compatible, it is not the same GUID. 36 /// 37 UINT64 Revision; 38 /// 39 /// Pointer to the EFI_BLOCK_IO_MEDIA data for this device. 40 /// 41 EFI_BLOCK_IO_MEDIA *Media; 42 43 EFI_PHYSICAL_ADDRESS BaseAddress; 44 45 }; 46 47 extern EFI_GUID gBlockMmioProtocolGuid; 48 49 #endif 50 51