]>
git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/IndustryStandard/ElTorito.h
2 ElTorito Partitions Format Definition.
3 This file includes some defintions from
4 1. "El Torito" Bootable CD-ROM Format Specification, Version 1.0.
5 2. Volume and File Structure of CDROM for Information Interchange,
6 Standard ECMA-119. (IS0 9660)
8 Copyright (c) 2006 - 2008, Intel Corporation
9 All rights reserved. This program and the accompanying materials
10 are licensed and made available under the terms and conditions of the BSD License
11 which accompanies this distribution. The full text of the license may be found at
12 http://opensource.org/licenses/bsd-license.php
14 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
23 // CDROM_VOLUME_DESCRIPTOR.Types, defined in ISO 9660
25 #define CDVOL_TYPE_STANDARD 0x0
26 #define CDVOL_TYPE_CODED 0x1
27 #define CDVOL_TYPE_END 0xFF
30 /// CDROM_VOLUME_DESCRIPTOR.Id
32 #define CDVOL_ID "CD001"
35 /// CDROM_VOLUME_DESCRIPTOR.SystemId
37 #define CDVOL_ELTORITO_ID "EL TORITO SPECIFICATION"
42 #define ELTORITO_ID_CATALOG 0x01
43 #define ELTORITO_ID_SECTION_BOOTABLE 0x88
44 #define ELTORITO_ID_SECTION_NOT_BOOTABLE 0x00
45 #define ELTORITO_ID_SECTION_HEADER 0x90
46 #define ELTORITO_ID_SECTION_HEADER_FINAL 0x91
49 // ELTORITO_CATALOG.Boot.MediaTypes
51 #define ELTORITO_NO_EMULATION 0x00
52 #define ELTORITO_12_DISKETTE 0x01
53 #define ELTORITO_14_DISKETTE 0x02
54 #define ELTORITO_28_DISKETTE 0x03
55 #define ELTORITO_HARD_DISK 0x04
61 /// CD-ROM Volume Descriptor
66 CHAR8 Id
[5]; ///< "CD001"
71 /// Boot Record Volume Descriptor, defined in "El Torito" Specification.
74 UINT8 Type
; ///< Must be 0
75 CHAR8 Id
[5]; ///< "CD001"
76 UINT8 Version
; ///< Must be 1
77 CHAR8 SystemId
[32]; ///< "EL TORITO SPECIFICATION"
78 CHAR8 Unused
[32]; ///< Must be 0
79 UINT8 EltCatalog
[4]; ///< Absolute pointer to first sector of Boot Catalog
80 CHAR8 Unused2
[13]; ///< Must be 0
84 /// Primary Volumn Descriptor, defined in ISO 9660.
88 CHAR8 Id
[5]; ///< "CD001"
90 UINT8 Unused
; ///< Must be 0
93 UINT8 Unused2
[8]; ///< Must be 0
94 UINT32 VolSpaceSize
[2]; ///< the number of Logical Blocks
97 } CDROM_VOLUME_DESCRIPTOR
;
104 CHAR8 Reserved
[0x20];
108 /// Catalog validation entry (Catalog header)
111 UINT8 Indicator
; ///< Must be 01
120 /// Initial/Default Entry or Section Entry
123 UINT8 Indicator
; ///< 88 = Bootable, 00 = Not Bootable
125 UINT8 Reserved1
: 4; ///< Must be 0
128 UINT8 Reserved2
; ///< Must be 0
134 /// Section Header Entry
137 UINT8 Indicator
; ///< 90 - Header, more header follw, 91 - Final Header
139 UINT16 SectionEntries
; ///< Number of section entries following this header