]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/ElTorito.h
MdePkg: Fix ACPI NFIT GUID definitions
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / ElTorito.h
index b474dc9ba14768b5475b21e7ce66d218181c9b66..97618b2cc05b79b0af43c84a6f323f79a55fc2c3 100644 (file)
@@ -5,8 +5,8 @@
   2. Volume and File Structure of CDROM for Information Interchange, \r
      Standard ECMA-119. (IS0 9660)\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation                                                         \r
-All rights reserved. This program and the accompanying materials                          \r
+Copyright (c) 2006 - 2008, 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
@@ -19,9 +19,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #ifndef _ELTORITO_H_\r
 #define _ELTORITO_H_\r
 \r
-///\r
-/// CDROM_VOLUME_DESCRIPTOR.Types, defined in ISO 9660\r
-///\r
+//\r
+// CDROM_VOLUME_DESCRIPTOR.Types, defined in ISO 9660\r
+//\r
 #define CDVOL_TYPE_STANDARD 0x0\r
 #define CDVOL_TYPE_CODED    0x1\r
 #define CDVOL_TYPE_END      0xFF\r
@@ -58,12 +58,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #pragma pack(1)\r
 \r
 /// \r
-/// El Torito Volume Descriptor\r
-/// Note that the CDROM_VOLUME_DESCRIPTOR does not match the ISO-9660\r
-/// descriptor.  For some reason descriptor used by El Torito is\r
-/// different, but they start the same.   The El Torito descriptor\r
-/// is left shifted 1 byte starting with the SystemId.  (Note this\r
-/// causes the field to get unaligned)\r
+/// CD-ROM Volume Descriptor\r
 /// \r
 typedef union { \r
   struct {\r
@@ -72,6 +67,9 @@ typedef union {
     CHAR8   Reserved[82];\r
   } Unknown;\r
 \r
+  ///\r
+  /// Boot Record Volume Descriptor, defined in "El Torito" Specification.\r
+  ///\r
   struct {\r
     UINT8   Type;            ///< Must be 0\r
     CHAR8   Id[5];           ///< "CD001" \r
@@ -81,7 +79,10 @@ typedef union {
     UINT8   EltCatalog[4];   ///< Absolute pointer to first sector of Boot Catalog\r
     CHAR8   Unused2[13];     ///< Must be 0\r
   } BootRecordVolume;\r
-\r
\r
+  ///\r
+  /// Primary Volumn Descriptor, defined in ISO 9660.\r
+  ///\r
   struct {\r
     UINT8   Type; \r
     CHAR8   Id[5];           ///< "CD001"\r
@@ -107,7 +108,7 @@ typedef union {
   /// Catalog validation entry (Catalog header)\r
   ///\r
   struct {\r
-    UINT8   Indicator;\r
+    UINT8   Indicator;       ///< Must be 01\r
     UINT8   PlatformId;\r
     UINT16  Reserved;\r
     CHAR8   ManufacId[24];\r
@@ -119,12 +120,12 @@ typedef union {
   /// Initial/Default Entry or Section Entry\r
   ///\r
   struct {\r
-    UINT8   Indicator;\r
+    UINT8   Indicator;       ///< 88 = Bootable, 00 = Not Bootable\r
     UINT8   MediaType : 4;\r
-    UINT8   Reserved1 : 4;\r
+    UINT8   Reserved1 : 4;   ///< Must be 0\r
     UINT16  LoadSegment;\r
     UINT8   SystemType;\r
-    UINT8   Reserved2;\r
+    UINT8   Reserved2;       ///< Must be 0\r
     UINT16  SectorCount;\r
     UINT32  Lba;\r
   } Boot;\r
@@ -133,9 +134,9 @@ typedef union {
   /// Section Header Entry\r
   ///\r
   struct {\r
-    UINT8   Indicator;\r
+    UINT8   Indicator;       ///< 90 - Header, more header follw, 91 - Final Header\r
     UINT8   PlatformId;\r
-    UINT16  SectionEntries;\r
+    UINT16  SectionEntries;  ///< Number of section entries following this header\r
     CHAR8   Id[28];\r
   } Section;\r
 \r