iPXE
eltorito.h
Go to the documentation of this file.
1#ifndef _IPXE_ELTORITO_H
2#define _IPXE_ELTORITO_H
4/**
5 * @file
6 *
7 * El Torito bootable CD-ROM specification
8 *
9 */
11FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
13#include <stdint.h>
15
16/** An El Torito Boot Record Volume Descriptor (fixed portion) */
18 /** Descriptor type */
20 /** Identifier ("CD001") */
21 uint8_t id[5];
22 /** Version, must be 1 */
24 /** Boot system indicator; must be "EL TORITO SPECIFICATION" */
26} __attribute__ (( packed ));
27
28/** An El Torito Boot Record Volume Descriptor */
30 /** Fixed portion */
32 /** Unused */
34 /** Boot catalog sector */
36} __attribute__ (( packed ));
37
38/** El Torito Boot Record Volume Descriptor block address */
39#define ELTORITO_LBA 17
40
41/** An El Torito Boot Catalog Validation Entry */
43 /** Header ID; must be 1 */
45 /** Platform ID
46 *
47 * 0 = 80x86
48 * 1 = PowerPC
49 * 2 = Mac
50 */
52 /** Reserved */
54 /** ID string */
56 /** Checksum word */
58 /** Signature; must be 0xaa55 */
60} __attribute__ (( packed ));
61
62/** El Torito platform IDs */
68
69/** A bootable entry in the El Torito Boot Catalog */
71 /** Boot indicator
72 *
73 * Must be @c ELTORITO_BOOTABLE for a bootable ISO image
74 */
76 /** Media type
77 *
78 */
80 /** Load segment */
82 /** System type */
84 /** Unused */
86 /** Sector count */
88 /** Starting sector */
90 /** Unused */
92} __attribute__ (( packed ));
93
94/** Boot indicator for a bootable ISO image */
95#define ELTORITO_BOOTABLE 0x88
96
97/** El Torito media types */
99 /** No emulation */
101};
102
103#endif /* _IPXE_ELTORITO_H */
unsigned short uint16_t
Definition stdint.h:11
unsigned int uint32_t
Definition stdint.h:12
unsigned char uint8_t
Definition stdint.h:10
eltorito_platform_id
El Torito platform IDs.
Definition eltorito.h:63
@ 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.
Definition eltorito.h:98
@ ELTORITO_NO_EMULATION
No emulation.
Definition eltorito.h:100
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
enum eltorito_platform_id __attribute__
ISO9660 CD-ROM specification.
A bootable entry in the El Torito Boot Catalog.
Definition eltorito.h:70
uint32_t start
Starting sector.
Definition eltorito.h:89
uint8_t filesystem
System type.
Definition eltorito.h:83
uint16_t length
Sector count.
Definition eltorito.h:87
uint8_t reserved_b[20]
Unused.
Definition eltorito.h:91
uint8_t indicator
Boot indicator.
Definition eltorito.h:75
uint8_t media_type
Media type.
Definition eltorito.h:79
uint16_t load_segment
Load segment.
Definition eltorito.h:81
uint8_t reserved_a
Unused.
Definition eltorito.h:85
An El Torito Boot Record Volume Descriptor (fixed portion)
Definition eltorito.h:17
uint8_t type
Descriptor type.
Definition eltorito.h:19
uint8_t version
Version, must be 1.
Definition eltorito.h:23
uint8_t system_id[32]
Boot system indicator; must be "EL TORITO SPECIFICATION".
Definition eltorito.h:25
An El Torito Boot Record Volume Descriptor.
Definition eltorito.h:29
uint32_t sector
Boot catalog sector.
Definition eltorito.h:35
uint8_t unused[32]
Unused.
Definition eltorito.h:33
struct eltorito_descriptor_fixed fixed
Fixed portion.
Definition eltorito.h:31
An El Torito Boot Catalog Validation Entry.
Definition eltorito.h:42
uint16_t reserved
Reserved.
Definition eltorito.h:53
uint16_t signature
Signature; must be 0xaa55.
Definition eltorito.h:59
uint8_t platform_id
Platform ID.
Definition eltorito.h:51
uint8_t header_id
Header ID; must be 1.
Definition eltorito.h:44
uint16_t checksum
Checksum word.
Definition eltorito.h:57
uint8_t id_string[24]
ID string.
Definition eltorito.h:55