| 1 | /** @file\r |
| 2 | Block IO (memory mapped)\r |
| 3 | \r |
| 4 | Copyright (c) 2006 - 2010, Intel Corporation \r |
| 5 | All rights reserved. This program and the accompanying materials \r |
| 6 | are licensed and made available under the terms and conditions of the BSD License \r |
| 7 | which accompanies this distribution. The full text of the license may be found at \r |
| 8 | http://opensource.org/licenses/bsd-license.php \r |
| 9 | \r |
| 10 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r |
| 11 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r |
| 12 | \r |
| 13 | **/\r |
| 14 | \r |
| 15 | #ifndef __BLOCK_MMIO_H__\r |
| 16 | #define __BLOCK_MMIO_H__\r |
| 17 | \r |
| 18 | #include <Protocol/BlockIo.h>\r |
| 19 | \r |
| 20 | #define BLOCK_MMIO_PROTOCOL_GUID \\r |
| 21 | { \\r |
| 22 | 0x6b558ce3, 0x69e5, 0x4c67, {0xa6, 0x34, 0xf7, 0xfe, 0x72, 0xad, 0xbe, 0x84 } \\r |
| 23 | }\r |
| 24 | \r |
| 25 | typedef struct _BLOCK_MMIO_PROTOCOL BLOCK_MMIO_PROTOCOL;\r |
| 26 | \r |
| 27 | \r |
| 28 | ///\r |
| 29 | /// This protocol provides control over block devices.\r |
| 30 | ///\r |
| 31 | struct _BLOCK_MMIO_PROTOCOL {\r |
| 32 | ///\r |
| 33 | /// The revision to which the block IO interface adheres. All future\r |
| 34 | /// revisions must be backwards compatible. If a future version is not\r |
| 35 | /// back wards compatible, it is not the same GUID.\r |
| 36 | ///\r |
| 37 | UINT64 Revision;\r |
| 38 | ///\r |
| 39 | /// Pointer to the EFI_BLOCK_IO_MEDIA data for this device.\r |
| 40 | ///\r |
| 41 | EFI_BLOCK_IO_MEDIA *Media;\r |
| 42 | \r |
| 43 | EFI_PHYSICAL_ADDRESS BaseAddress;\r |
| 44 | \r |
| 45 | };\r |
| 46 | \r |
| 47 | extern EFI_GUID gBlockMmioProtocolGuid;\r |
| 48 | \r |
| 49 | #endif\r |
| 50 | \r |