TianoCore EDK2 master
Loading...
Searching...
No Matches
ElTorito.h
Go to the documentation of this file.
1
13#ifndef _ELTORITO_H_
14#define _ELTORITO_H_
15
16//
17// CDROM_VOLUME_DESCRIPTOR.Types, defined in ISO 9660
18//
19#define CDVOL_TYPE_STANDARD 0x0
20#define CDVOL_TYPE_CODED 0x1
21#define CDVOL_TYPE_END 0xFF
22
26#define CDVOL_ID "CD001"
27
31#define CDVOL_ELTORITO_ID "EL TORITO SPECIFICATION"
32
33//
34// Indicator types
35//
36#define ELTORITO_ID_CATALOG 0x01
37#define ELTORITO_ID_SECTION_BOOTABLE 0x88
38#define ELTORITO_ID_SECTION_NOT_BOOTABLE 0x00
39#define ELTORITO_ID_SECTION_HEADER 0x90
40#define ELTORITO_ID_SECTION_HEADER_FINAL 0x91
41
42//
43// ELTORITO_CATALOG.Boot.MediaTypes
44//
45#define ELTORITO_NO_EMULATION 0x00
46#define ELTORITO_12_DISKETTE 0x01
47#define ELTORITO_14_DISKETTE 0x02
48#define ELTORITO_28_DISKETTE 0x03
49#define ELTORITO_HARD_DISK 0x04
50
51#pragma pack(1)
52
56typedef union {
57 struct {
58 UINT8 Type;
59 CHAR8 Id[5];
60 CHAR8 Reserved[82];
61 } Unknown;
62
66 struct {
67 UINT8 Type;
68 CHAR8 Id[5];
69 UINT8 Version;
70 CHAR8 SystemId[32];
71 CHAR8 Unused[32];
72 UINT8 EltCatalog[4];
73 CHAR8 Unused2[13];
74 } BootRecordVolume;
75
79 struct {
80 UINT8 Type;
81 CHAR8 Id[5];
82 UINT8 Version;
83 UINT8 Unused;
84 CHAR8 SystemId[32];
85 CHAR8 VolumeId[32];
86 UINT8 Unused2[8];
87 UINT32 VolSpaceSize[2];
88 } PrimaryVolume;
90
94typedef union {
95 struct {
96 CHAR8 Reserved[0x20];
97 } Unknown;
98
102 struct {
103 UINT8 Indicator;
104 UINT8 PlatformId;
105 UINT16 Reserved;
106 CHAR8 ManufacId[24];
107 UINT16 Checksum;
108 UINT16 Id55AA;
109 } Catalog;
110
114 struct {
115 UINT8 Indicator;
116 UINT8 MediaType : 4;
117 UINT8 Reserved1 : 4;
118 UINT16 LoadSegment;
119 UINT8 SystemType;
120 UINT8 Reserved2;
121 UINT16 SectorCount;
122 UINT32 Lba;
123 } Boot;
124
128 struct {
129 UINT8 Indicator;
130 UINT8 PlatformId;
132 CHAR8 Id[28];
133 } Section;
135
136#pragma pack()
137
138#endif
UINT8 Unused
Must be 0.
Definition: ElTorito.h:83
UINT8 Version
Must be 1.
Definition: ElTorito.h:69
UINT8 Type
Must be 0.
Definition: ElTorito.h:58
UINT8 Reserved2
Must be 0.
Definition: ElTorito.h:120
UINT16 SectionEntries
Number of section entries following this header.
Definition: ElTorito.h:131
UINT8 Reserved1
Must be 0.
Definition: ElTorito.h:117
UINT8 Indicator
Must be 01.
Definition: ElTorito.h:103