/** @file\r
- ElTorito Partitions Format Definition. \r
- This file includes some defintions from \r
+ ElTorito Partitions Format Definition.\r
+ This file includes some defintions from\r
1. "El Torito" Bootable CD-ROM Format Specification, Version 1.0.\r
- 2. Volume and File Structure of CDROM for Information Interchange, \r
+ 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
-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
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#define ELTORITO_HARD_DISK 0x04\r
\r
\r
-/// \r
+#pragma pack(1)\r
+\r
+///\r
/// CD-ROM Volume Descriptor\r
-/// \r
-typedef union { \r
+///\r
+typedef union {\r
struct {\r
- UINT8 Type; \r
- CHAR8 Id[5]; ///< "CD001" \r
+ UINT8 Type;\r
+ CHAR8 Id[5]; ///< "CD001"\r
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
- UINT8 Version; ///< Must be 1 \r
- CHAR8 SystemId[32]; ///< "EL TORITO SPECIFICATION" \r
- CHAR8 Unused[32]; ///< Must be 0 \r
+ CHAR8 Id[5]; ///< "CD001"\r
+ UINT8 Version; ///< Must be 1\r
+ CHAR8 SystemId[32]; ///< "EL TORITO SPECIFICATION"\r
+ CHAR8 Unused[32]; ///< Must be 0\r
UINT8 EltCatalog[4]; ///< Absolute pointer to first sector of Boot Catalog\r
CHAR8 Unused2[13]; ///< Must be 0\r
} BootRecordVolume;\r
\r
+ ///\r
+ /// Primary Volumn Descriptor, defined in ISO 9660.\r
+ ///\r
struct {\r
- UINT8 Type; \r
+ UINT8 Type;\r
CHAR8 Id[5]; ///< "CD001"\r
- UINT8 Version; \r
+ UINT8 Version;\r
UINT8 Unused; ///< Must be 0\r
- CHAR8 SystemId[32]; \r
- CHAR8 VolumeId[32]; \r
- UINT8 Unused2[8]; ///< Must be 0 \r
+ CHAR8 SystemId[32];\r
+ CHAR8 VolumeId[32];\r
+ UINT8 Unused2[8]; ///< Must be 0\r
UINT32 VolSpaceSize[2]; ///< the number of Logical Blocks\r
} PrimaryVolume;\r
\r
-} CDROM_VOLUME_DESCRIPTOR; \r
+} CDROM_VOLUME_DESCRIPTOR;\r
\r
///\r
/// Catalog Entry\r
/// 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
/// 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
/// 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
} ELTORITO_CATALOG;\r
\r
+#pragma pack()\r
+\r
#endif\r