Home | History | Annotate | Download | only in Protocol
      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