File indexing completed on 2024-05-12 17:22:21

0001 /*
0002     SPDX-FileCopyrightText: 2002 Shie Erlich <erlich@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2002 Rafi Yanai <yanai@users.sourceforge.net>
0004     SPDX-FileCopyrightText: 2004-2022 Krusader Krew <https://krusader.org>
0005 
0006     From the linux kernel
0007 
0008     SPDX-License-Identifier: GPL-2.0-or-later
0009 */
0010 
0011 #ifndef EL_TORITO_H
0012 #define EL_TORITO_H
0013 
0014 #include "iso_fs.h"
0015 
0016 #define EL_TORITO_ID "EL TORITO SPECIFICATION\0\0\0\0\0\0\0\0\0"
0017 
0018 struct el_torito_boot_descriptor {
0019     char type[ISODCL(1, 1)]; /* 711 */
0020     char id[ISODCL(2, 6)];
0021     char version[ISODCL(7, 7)]; /* 711 */
0022     char system_id[ISODCL(8, 39)]; /* achars */
0023     char unused[ISODCL(40, 71)];
0024     char boot_catalog[ISODCL(72, 75)]; /* 731 */
0025 };
0026 
0027 struct validation_entry {
0028     char type[ISODCL(1, 1)]; /* 1 */
0029     char platform[ISODCL(2, 2)];
0030     char unused[ISODCL(3, 4)];
0031     char id[ISODCL(5, 28)];
0032     char cheksum[ISODCL(29, 30)];
0033     char key[ISODCL(31, 31)]; /* 0x55 */
0034     char key2[ISODCL(32, 32)]; /* 0xaa */
0035 };
0036 
0037 struct default_entry {
0038     char bootid[ISODCL(1, 1)];
0039     char media[ISODCL(2, 2)];
0040     char loadseg[ISODCL(3, 4)];
0041     char systype[ISODCL(5, 5)];
0042     char unused[ISODCL(6, 6)];
0043     char seccount[ISODCL(7, 8)];
0044     char start[ISODCL(9, 12)];
0045     char unused2[ISODCL(13, 32)];
0046 };
0047 
0048 struct section_header {
0049     char headerid[ISODCL(1, 1)];
0050     char platform[ISODCL(2, 2)];
0051     char entries[ISODCL(3, 4)];
0052     char id[ISODCL(5, 32)];
0053 };
0054 
0055 struct section_entry {
0056     char bootid[ISODCL(1, 1)];
0057     char media[ISODCL(2, 2)];
0058     char loadseg[ISODCL(3, 4)];
0059     char systype[ISODCL(5, 5)];
0060     char unused[ISODCL(6, 6)];
0061     char seccount[ISODCL(7, 8)];
0062     char start[ISODCL(9, 12)];
0063     char selcrit[ISODCL(13, 13)];
0064     char vendor_selcrit[ISODCL(14, 32)];
0065 };
0066 
0067 struct section_entry_ext {
0068     char extid[ISODCL(1, 1)];
0069     char extrec[ISODCL(2, 2)];
0070     char vendor_selcrit[ISODCL(3, 32)];
0071 };
0072 
0073 #endif