diff --git a/libisoburn/isoburn.c b/libisoburn/isoburn.c index 308b3625..7f9e6787 100644 --- a/libisoburn/isoburn.c +++ b/libisoburn/isoburn.c @@ -472,6 +472,7 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d, iso_write_opts_set_rockridge(wopts, opts->rockridge); iso_write_opts_set_joliet(wopts, opts->joliet); iso_write_opts_set_hfsplus(wopts, opts->hfsplus); + iso_write_opts_set_fat(wopts, opts->fat); iso_write_opts_set_iso1999(wopts, opts->iso1999); iso_write_opts_set_hardlinks(wopts, opts->hardlinks); if(opts->hardlinks) @@ -1125,7 +1126,8 @@ int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext) o->no_emul_toc= !!(ext & 512); o->will_cancel= !!(ext & 1024); o->old_empty= !!(ext & 2048); - o->hfsplus= !!(ext&4096); + o->hfsplus= !!(ext & 4096); + o->fat= !!(ext & 8192); return(1); } @@ -1136,7 +1138,8 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext) ((!!o->hardlinks) << 3) | ((!!o->aaip) << 5) | ((!!o->session_md5) << 6) | ((o->file_md5 & 3) << 7) | ((!!o->no_emul_toc) << 9) | ((o->will_cancel) << 10) | - ((!!o->old_empty) << 11) | ((!!o->hfsplus) << 12); + ((!!o->old_empty) << 11) | ((!!o->hfsplus) << 12) | + ((!!o->fat) << 13); return(1); } diff --git a/libisoburn/isoburn.h b/libisoburn/isoburn.h index b0b70351..3606ecf2 100644 --- a/libisoburn/isoburn.h +++ b/libisoburn/isoburn.h @@ -394,6 +394,7 @@ struct isoburn_imgen_opts { unsigned int joliet :1; unsigned int iso1999 :1; unsigned int hfsplus :1; + unsigned int fat :1; /* Whether to mark suitable IsoNode as hardlinks in RRIP PX */ unsigned int hardlinks :1; diff --git a/libisoburn/libisoburn.h b/libisoburn/libisoburn.h index d9bad47d..60a21fe9 100644 --- a/libisoburn/libisoburn.h +++ b/libisoburn/libisoburn.h @@ -1109,6 +1109,21 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level); By default there is now a single dedicated block of zero bytes after the end of the directory trees, of which the address is used for all files without own content. + bit12= hfsplus + @since 1.2.4 + Produce a HFS+ partition inside the ISO image and announce it + by an Apple Partition Map in the System Area. + >>> GPT production ? + Caution: Interferes with isoburn_igopt_set_system_area() by + overwriting the first 8 bytes of the data, and + several blocks of 2 KiB after the first one. + bit13= fat + @since 1.2.4 + >>> Not yet implemented. Planned to co-exist with hfsplus. + Produce a FAT32 partition inside the ISO image and announce it + by an MBR partition entry in the System Area. + Caution: Interferes with isoburn_igopt_set_system_area() by + >>> what impact ? @return 1 success, <=0 failure */ @@ -1124,6 +1139,7 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level); #define isoburn_igopt_will_cancel 1024 #define isoburn_igopt_old_empty 2048 #define isoburn_igopt_hfsplus 4096 +#define isoburn_igopt_fat 8192 int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext); int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext); diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index eff2083e..43322c59 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.06.10.083050" +#define Xorriso_timestamP "2012.06.10.184039"