]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/ElTorito.h
1. added functions header for MACROS in PCI22.h.
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / ElTorito.h
index b474dc9ba14768b5475b21e7ce66d218181c9b66..d8b1c27dfbe42e61911d5095419acac87a56243e 100644 (file)
@@ -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