source: bootcd/isolinux/syslinux-6.03/memdisk/eltorito.h @ 26ffad7

Last change on this file since 26ffad7 was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 3.2 KB
Line 
1/* ----------------------------------------------------------------------- *
2 *
3 *   Copyright 2009-2010 Shao Miller - All Rights Reserved
4 *
5 *   This program is free software; you can redistribute it and/or modify
6 *   it under the terms of the GNU General Public License as published by
7 *   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
8 *   Boston MA 02111-1307, USA; either version 2 of the License, or
9 *   (at your option) any later version; incorporated herein by reference.
10 *
11 * ----------------------------------------------------------------------- */
12
13/*
14 * eltorito.h
15 *
16 * EDD-4 El Torito structures and debugging routines
17 */
18
19#include <stdint.h>
20#include "compiler.h"
21
22/* EDD-4 Bootable Optical Disc Drive Boot Volume Descriptor */
23MEMDISK_PACKED_PREFIX
24struct edd4_bvd {
25    uint8_t boot_rec_ind;       /* Boot Record Indicator */
26    uint8_t iso9660_id[5];      /* ISO9660 ID            */
27    uint8_t ver;                /* Descriptor Version    */
28    uint8_t eltorito[32];       /* "EL TORITO" etc.      */
29    uint8_t res1[32];           /* Reserved              */
30    uint32_t boot_cat;          /* Boot catalog sector   */
31    uint8_t res2[1973];         /* Reserved              */
32} MEMDISK_PACKED_POSTFIX;
33
34MEMDISK_PACKED_PREFIX
35struct validation_entry {
36    uint8_t header_id;          /* Header ID                      */
37    uint8_t platform_id;        /* Platform ID                    */
38    uint16_t res1;              /* Reserved                       */
39    uint8_t id_string[24];      /* Manufacturer                   */
40    uint16_t checksum;          /* Sums with whole record to zero */
41    uint8_t key55;              /* Key byte 0x55                  */
42    uint8_t keyAA;              /* Key byte 0xAA                  */
43} MEMDISK_PACKED_POSTFIX;
44
45MEMDISK_PACKED_PREFIX
46struct initial_entry {
47    uint8_t header_id;          /* Header ID                */
48    uint8_t media_type;         /* Media type               */
49    uint16_t load_seg;          /* Load segment             */
50    uint8_t system_type;        /* (Filesystem ID)          */
51    uint8_t res1;               /* Reserved                 */
52    uint16_t sect_count;        /* Emulated sectors to load */
53    uint32_t load_block;        /* Starting sector of image */
54    uint8_t res2[4];            /* Reserved                 */
55} MEMDISK_PACKED_POSTFIX;
56
57/* EDD-4 Bootable Optical Disc Drive Boot Catalog (fixed-size portions) */
58MEMDISK_PACKED_PREFIX
59struct edd4_bootcat {
60    struct validation_entry validation_entry;
61    struct initial_entry initial_entry;
62} MEMDISK_PACKED_POSTFIX;
63
64/* EDD-4 CD Specification Packet */
65MEMDISK_PACKED_PREFIX
66struct edd4_cd_pkt {
67    uint8_t size;               /* Packet size                     */
68    uint8_t type;               /* Boot media type (flags)         */
69    uint8_t driveno;            /* INT 13h drive number            */
70    uint8_t controller;         /* Controller index                */
71    uint32_t start;             /* Starting LBA of image           */
72    uint16_t devno;             /* Device number                   */
73    uint16_t userbuf;           /* User buffer segment             */
74    uint16_t load_seg;          /* Load segment                    */
75    uint16_t sect_count;        /* Emulated sectors to load        */
76    uint8_t geom1;              /* Cylinders bits 0 thru 7         */
77    uint8_t geom2;              /* Sects/track 0 thru 5, cyls 8, 9 */
78    uint8_t geom3;              /* Heads                           */
79} MEMDISK_PACKED_POSTFIX;
80
Note: See TracBrowser for help on using the repository browser.