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