New isoburn_igopt_set_system_area() option bits 16: GPT "Legacy BIOS bootable" and 17: GPT writable

This commit is contained in:
Thomas Schmitt 2021-05-25 21:14:23 +02:00
parent e3df75772e
commit a1f9d03df0
3 changed files with 20 additions and 4 deletions

View File

@ -7,7 +7,7 @@
Class core of libisoburn. Class core of libisoburn.
Copyright 2007 - 2009 Vreixo Formoso Lopes <metalpain2002@yahoo.es> Copyright 2007 - 2009 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
Copyright 2007 - 2020 Thomas Schmitt <scdbackup@gmx.net> Copyright 2007 - 2021 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
*/ */
@ -1549,7 +1549,7 @@ int isoburn_igopt_set_system_area(struct isoburn_imgen_opts *opts,
} }
memcpy(opts->system_area_data, data, 32768); memcpy(opts->system_area_data, data, 32768);
} }
opts->system_area_options = options & 0xffff; opts->system_area_options = options & 0x3ffff;
return(1); return(1);
} }

View File

@ -1585,8 +1585,10 @@ int isoburn_igopt_get_scdbackup_tag(struct isoburn_imgen_opts *o,
/** Attach 32 kB of binary data which shall get written to the first 32 kB /** Attach 32 kB of binary data which shall get written to the first 32 kB
of the ISO image, the System Area. of the ISO image, the System Area.
options can cause manipulations of these data before writing happens. options can cause manipulations of these data before writing happens.
If system area data are giveni or options bit0 is set, then bit1 of If system area data are given or options bit0 is set, then bit1 of
el_torito_set_isolinux_options() is automatically disabled. el_torito_set_isolinux_options() is automatically disabled.
(For the meaning of options see also in libisofs.h
iso_write_opts_set_system_area() parameter "options".)
@since 0.5.4 @since 0.5.4
@param o The option set to work on @param o The option set to work on
@param data Either NULL or 32 kB of data. Do not submit less bytes ! @param data Either NULL or 32 kB of data. Do not submit less bytes !
@ -1655,6 +1657,20 @@ int isoburn_igopt_get_scdbackup_tag(struct isoburn_imgen_opts *o,
Little-endian 8-byte. Little-endian 8-byte.
Should be combined with options bit0. Should be combined with options bit0.
Will not be in effect if options bit1 is set. Will not be in effect if options bit1 is set.
bit15= Only with System area type MBR but not with CHRP
@since 1.4.4
Enforce MBR "bootable/active" flag. In worst case by
dummy partition of type 0x00 which occupies block 0.
bit16= "Legacy BIOS bootable" in GPT
@since 1.5.6
If this bit is set and a GPT partition for the
ISO 9660 filesystem gets written, then set the GPT
partition flags bit 2 "Legacy BIOS bootable".
bit17= ISO not read-only
@since 1.5.6
Do not set GPT partition flag bit 60 "read-only" for
the ISO 9660 filesystem partition, if such a
partition gets written.
@return 1 success, 0 no data to get, <0 failure @return 1 success, 0 no data to get, <0 failure
*/ */
int isoburn_igopt_set_system_area(struct isoburn_imgen_opts *o, int isoburn_igopt_set_system_area(struct isoburn_imgen_opts *o,

View File

@ -1 +1 @@
#define Xorriso_timestamP "2021.04.04.181609" #define Xorriso_timestamP "2021.05.25.191333"