summaryrefslogtreecommitdiff
path: root/MdePkg/Include/IndustryStandard/Mbr.h
diff options
context:
space:
mode:
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-03 05:42:01 +0000
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-03 05:42:01 +0000
commite0759a83b9e6f60ebe42b20ac268474736e03572 (patch)
tree470affab60f099ec49867666df98a9f3dd2c4a3b /MdePkg/Include/IndustryStandard/Mbr.h
parent29b89ff0c0b81592151046e6b44d9acc5a78ec5a (diff)
downloadedk2-platforms-e0759a83b9e6f60ebe42b20ac268474736e03572.tar.xz
Add EfiGpt.h, ElTorito.h, Mbr.h header files which are for EFI GUID Partition table, ElTorito bootable CD fomrat and Legacy Master Boot Record format into Industry Starndard.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1893 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Include/IndustryStandard/Mbr.h')
-rw-r--r--MdePkg/Include/IndustryStandard/Mbr.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/MdePkg/Include/IndustryStandard/Mbr.h b/MdePkg/Include/IndustryStandard/Mbr.h
new file mode 100644
index 0000000000..108741e7ab
--- /dev/null
+++ b/MdePkg/Include/IndustryStandard/Mbr.h
@@ -0,0 +1,62 @@
+/** @file
+ Legacy Master Boot Record Format Definition.
+
+Copyright (c) 2006, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+--*/
+
+#ifndef _MBR_H_
+#define _MBR_H_
+
+#define MBR_SIGNATURE 0xaa55
+#define MIN_MBR_DEVICE_SIZE 0x80000
+#define MBR_ERRATA_PAD 0x40000 // 128 MB
+
+#define EXTENDED_DOS_PARTITION 0x05
+#define EXTENDED_WINDOWS_PARTITION 0x0F
+
+#define MAX_MBR_PARTITIONS 4
+
+#define PMBR_GPT_PARTITION 0xEE
+#define EFI_PARTITION 0xEF
+
+#define MBR_SIZE 512
+
+#pragma pack(1)
+//
+// MBR Partition Entry
+//
+typedef struct {
+ UINT8 BootIndicator;
+ UINT8 StartHead;
+ UINT8 StartSector;
+ UINT8 StartTrack;
+ UINT8 OSIndicator;
+ UINT8 EndHead;
+ UINT8 EndSector;
+ UINT8 EndTrack;
+ UINT8 StartingLBA[4];
+ UINT8 SizeInLBA[4];
+} MBR_PARTITION_RECORD;
+
+//
+// MBR Partition table
+//
+typedef struct {
+ UINT8 BootStrapCode[440];
+ UINT8 UniqueMbrSignature[4];
+ UINT8 Unknown[2];
+ MBR_PARTITION_RECORD Partition[MAX_MBR_PARTITIONS];
+ UINT16 Signature;
+} MASTER_BOOT_RECORD;
+
+#pragma pack()
+
+#endif