EDK2 doxygen online documents - Firmware Encoding Index 1
EDK2 doxygen online documents - Firmware Encoding Index

MdePkg/Include/IndustryStandard/ElTorito.h

Go to the documentation of this file.
00001 
00019 #ifndef _ELTORITO_H_
00020 #define _ELTORITO_H_
00021 
00022 //
00023 // CDROM_VOLUME_DESCRIPTOR.Types, defined in ISO 9660
00024 //
00025 #define CDVOL_TYPE_STANDARD 0x0
00026 #define CDVOL_TYPE_CODED    0x1
00027 #define CDVOL_TYPE_END      0xFF
00028 
00032 #define CDVOL_ID  "CD001"
00033 
00037 #define CDVOL_ELTORITO_ID "EL TORITO SPECIFICATION"
00038 
00039 //
00040 // Indicator types
00041 //
00042 #define ELTORITO_ID_CATALOG               0x01
00043 #define ELTORITO_ID_SECTION_BOOTABLE      0x88
00044 #define ELTORITO_ID_SECTION_NOT_BOOTABLE  0x00
00045 #define ELTORITO_ID_SECTION_HEADER        0x90
00046 #define ELTORITO_ID_SECTION_HEADER_FINAL  0x91
00047 
00048 //
00049 // ELTORITO_CATALOG.Boot.MediaTypes
00050 //
00051 #define ELTORITO_NO_EMULATION 0x00
00052 #define ELTORITO_12_DISKETTE  0x01
00053 #define ELTORITO_14_DISKETTE  0x02
00054 #define ELTORITO_28_DISKETTE  0x03
00055 #define ELTORITO_HARD_DISK    0x04
00056 
00057 
00058 #pragma pack(1)
00059 
00063 typedef union { 
00064   struct {
00065     UINT8   Type;     
00066     CHAR8   Id[5];           
00067     CHAR8   Reserved[82];
00068   } Unknown;
00069 
00073   struct {
00074     UINT8   Type;            
00075     CHAR8   Id[5];           
00076     UINT8   Version;         
00077     CHAR8   SystemId[32];    
00078     CHAR8   Unused[32];      
00079     UINT8   EltCatalog[4];   
00080     CHAR8   Unused2[13];     
00081   } BootRecordVolume;
00082  
00086   struct {
00087     UINT8   Type; 
00088     CHAR8   Id[5];           
00089     UINT8   Version; 
00090     UINT8   Unused;          
00091     CHAR8   SystemId[32];    
00092     CHAR8   VolumeId[32];    
00093     UINT8   Unused2[8];      
00094     UINT32  VolSpaceSize[2]; 
00095   } PrimaryVolume;
00096 
00097 } CDROM_VOLUME_DESCRIPTOR; 
00098 
00102 typedef union {
00103   struct {
00104     CHAR8       Reserved[0x20];
00105   } Unknown;
00106 
00110   struct {
00111     UINT8   Indicator;       
00112     UINT8   PlatformId;
00113     UINT16  Reserved;
00114     CHAR8   ManufacId[24];
00115     UINT16  Checksum;
00116     UINT16  Id55AA;
00117   } Catalog;
00118 
00122   struct {
00123     UINT8   Indicator;       
00124     UINT8   MediaType : 4;
00125     UINT8   Reserved1 : 4;   
00126     UINT16  LoadSegment;
00127     UINT8   SystemType;
00128     UINT8   Reserved2;       
00129     UINT16  SectorCount;
00130     UINT32  Lba;
00131   } Boot;
00132 
00136   struct {
00137     UINT8   Indicator;       
00138     UINT8   PlatformId;
00139     UINT16  SectionEntries;  
00140     CHAR8   Id[28];
00141   } Section;
00142 
00143 } ELTORITO_CATALOG;
00144 
00145 #pragma pack()
00146 
00147 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines