iPXE
eltorito.h File Reference

El Torito bootable CD-ROM specification. More...

#include <stdint.h>
#include <ipxe/iso9660.h>

Go to the source code of this file.

Data Structures

struct  eltorito_descriptor_fixed
 An El Torito Boot Record Volume Descriptor (fixed portion) More...
struct  eltorito_descriptor
 An El Torito Boot Record Volume Descriptor. More...
struct  eltorito_validation_entry
 An El Torito Boot Catalog Validation Entry. More...
struct  eltorito_boot_entry
 A bootable entry in the El Torito Boot Catalog. More...

Macros

#define ELTORITO_LBA   17
 El Torito Boot Record Volume Descriptor block address.
#define ELTORITO_BOOTABLE   0x88
 Boot indicator for a bootable ISO image.

Enumerations

enum  eltorito_platform_id { ELTORITO_PLATFORM_X86 = 0x00 , ELTORITO_PLATFORM_POWERPC = 0x01 , ELTORITO_PLATFORM_MAC = 0x02 }
 El Torito platform IDs. More...
enum  eltorito_media_type { ELTORITO_NO_EMULATION = 0 }
 El Torito media types. More...

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
struct eltorito_descriptor_fixed __attribute__ ((packed))

Variables

uint8_t type
 Descriptor type.
uint8_t id [5]
 Identifier ("CD001")
uint8_t version
 Version, must be 1.
uint8_t system_id [32]
 Boot system indicator; must be "EL TORITO SPECIFICATION".
struct eltorito_descriptor_fixed fixed
 Fixed portion.
uint8_t unused [32]
 Unused.
uint32_t sector
 Boot catalog sector.
uint8_t header_id
 Header ID; must be 1.
uint8_t platform_id
 Platform ID.
uint16_t reserved
 Reserved.
uint8_t id_string [24]
 ID string.
uint16_t checksum
 Checksum word.
uint16_t signature
 Signature; must be 0xaa55.
enum eltorito_platform_id __attribute__
uint8_t indicator
 Boot indicator.
uint8_t media_type
 Media type.
uint16_t load_segment
 Load segment.
uint8_t filesystem
 System type.
uint8_t reserved_a
 Unused.
uint16_t length
 Sector count.
uint32_t start
 Starting sector.
uint8_t reserved_b [20]
 Unused.

Detailed Description

El Torito bootable CD-ROM specification.

Definition in file eltorito.h.

Macro Definition Documentation

◆ ELTORITO_LBA

#define ELTORITO_LBA   17

El Torito Boot Record Volume Descriptor block address.

Definition at line 39 of file eltorito.h.

Referenced by int13_parse_eltorito().

◆ ELTORITO_BOOTABLE

#define ELTORITO_BOOTABLE   0x88

Boot indicator for a bootable ISO image.

Definition at line 95 of file eltorito.h.

Referenced by int13_load_eltorito().

Enumeration Type Documentation

◆ eltorito_platform_id

El Torito platform IDs.

Enumerator
ELTORITO_PLATFORM_X86 
ELTORITO_PLATFORM_POWERPC 
ELTORITO_PLATFORM_MAC 

Definition at line 63 of file eltorito.h.

63 {
67};
@ ELTORITO_PLATFORM_POWERPC
Definition eltorito.h:65
@ ELTORITO_PLATFORM_X86
Definition eltorito.h:64
@ ELTORITO_PLATFORM_MAC
Definition eltorito.h:66

◆ eltorito_media_type

El Torito media types.

Enumerator
ELTORITO_NO_EMULATION 

No emulation.

Definition at line 98 of file eltorito.h.

98 {
99 /** No emulation */
101};
@ ELTORITO_NO_EMULATION
No emulation.
Definition eltorito.h:100

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )

◆ __attribute__()

struct eltorito_descriptor_fixed __attribute__ ( (packed) )

Variable Documentation

◆ type

uint8_t type

Descriptor type.

Definition at line 1 of file eltorito.h.

◆ id

uint8_t id[5]

Identifier ("CD001")

Definition at line 3 of file eltorito.h.

◆ version

uint8_t version

Version, must be 1.

Definition at line 5 of file eltorito.h.

◆ system_id

uint8_t system_id[32]

Boot system indicator; must be "EL TORITO SPECIFICATION".

Definition at line 7 of file eltorito.h.

◆ fixed

Fixed portion.

Definition at line 1 of file eltorito.h.

Referenced by PROVIDE_SERIAL(), syslog_fix_name(), tls_new_ciphertext(), and tls_send_record().

◆ unused

uint8_t unused[32]

Unused.

Definition at line 3 of file eltorito.h.

◆ sector

uint32_t sector

Boot catalog sector.

Definition at line 5 of file eltorito.h.

Referenced by int13_rw_sectors().

◆ header_id

uint8_t header_id

Header ID; must be 1.

Definition at line 1 of file eltorito.h.

◆ platform_id

uint8_t platform_id

Platform ID.

0 = 80x86 1 = PowerPC 2 = Mac

Definition at line 8 of file eltorito.h.

Referenced by ucode_exec().

◆ reserved

uint16_t reserved

Reserved.

Definition at line 10 of file eltorito.h.

◆ id_string

uint8_t id_string[24]

ID string.

Definition at line 12 of file eltorito.h.

Referenced by peerdisc_open().

◆ checksum

uint16_t checksum

Checksum word.

Definition at line 14 of file eltorito.h.

◆ signature

uint16_t signature

Signature; must be 0xaa55.

Definition at line 16 of file eltorito.h.

◆ indicator

uint8_t indicator

Boot indicator.

Must be ELTORITO_BOOTABLE for a bootable ISO image

Definition at line 4 of file eltorito.h.

◆ media_type

uint8_t media_type

Media type.

Definition at line 8 of file eltorito.h.

◆ load_segment

uint16_t load_segment

Load segment.

Definition at line 10 of file eltorito.h.

◆ filesystem

uint8_t filesystem

System type.

Definition at line 12 of file eltorito.h.

Referenced by efi_file_open_volume().

◆ reserved_a

uint8_t reserved_a

Unused.

Definition at line 14 of file eltorito.h.

◆ length

uint16_t length

Sector count.

Definition at line 16 of file eltorito.h.

◆ start

uint32_t start

Starting sector.

Definition at line 18 of file eltorito.h.

◆ reserved_b

uint8_t reserved_b[20]

Unused.

Definition at line 20 of file eltorito.h.