]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Efi/Protocol/BlockIo/BlockIo.h
Sync all bug fixes between EDK1.04 and EDK1.06 into EdkCompatibilityPkg.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Efi / Protocol / BlockIo / BlockIo.h
index 740b58d64ce912d0357e5f7298d14e0968cfda11..0767b8a4a1c1e7b3f9b8d2e3f748361c62512396 100644 (file)
@@ -1,7 +1,7 @@
 /*++\r
 \r
-Copyright (c) 2004, Intel Corporation                                                         \r
-All rights reserved. This program and the accompanying materials                          \r
+Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
 http://opensource.org/licenses/bsd-license.php                                            \r
@@ -28,7 +28,7 @@ Abstract:
 \r
 #define EFI_BLOCK_IO_PROTOCOL_GUID \\r
   { \\r
-    0x964e5b21, 0x6459, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b \\r
+    0x964e5b21, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} \\r
   }\r
 \r
 //\r
@@ -185,11 +185,18 @@ typedef struct {
   UINT32  IoAlign;\r
 \r
   EFI_LBA LastBlock;\r
+\r
+  EFI_LBA LowestAlignedLba;\r
+  UINT32  LogicalBlocksPerPhysicalBlock;\r
 } EFI_BLOCK_IO_MEDIA;\r
 \r
-#define EFI_BLOCK_IO_PROTOCOL_REVISION  0x00010000\r
+#define EFI_BLOCK_IO_PROTOCOL_REVISION     0x00010000\r
+#define EFI_BLOCK_IO_PROTOCOL_REVISION2    0x00020001\r
+\r
+#define SIZE_OF_EFI_BLOCK_IO_MEDIA_REV1  ((UINTN)&((EFI_BLOCK_IO_MEDIA *)0)->LastBlock + sizeof(EFI_LBA))\r
+#define SIZE_OF_EFI_BLOCK_IO_MEDIA_REV2  sizeof(EFI_BLOCK_IO_MEDIA)\r
 \r
-typedef struct _EFI_BLOCK_IO_PROTOCOL {\r
+struct _EFI_BLOCK_IO_PROTOCOL {\r
   UINT64              Revision;\r
 \r
   EFI_BLOCK_IO_MEDIA  *Media;\r
@@ -199,7 +206,7 @@ typedef struct _EFI_BLOCK_IO_PROTOCOL {
   EFI_BLOCK_WRITE     WriteBlocks;\r
   EFI_BLOCK_FLUSH     FlushBlocks;\r
 \r
-} EFI_BLOCK_IO_PROTOCOL;\r
+};\r
 \r
 extern EFI_GUID gEfiBlockIoProtocolGuid;\r
 \r