/*++\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
\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
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
EFI_BLOCK_WRITE WriteBlocks;\r
EFI_BLOCK_FLUSH FlushBlocks;\r
\r
-} EFI_BLOCK_IO_PROTOCOL;\r
+};\r
\r
extern EFI_GUID gEfiBlockIoProtocolGuid;\r
\r