New macro isoburn_igopt_aaip_susp_1_10 controls writing of AAIP ER and ES

This commit is contained in:
Thomas Schmitt 2009-01-26 17:33:02 +00:00
parent fc2d3655b0
commit e0fc368105
4 changed files with 21 additions and 2 deletions

View File

@ -417,6 +417,7 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
iso_write_opts_set_always_gmt(wopts, opts->always_gmt); iso_write_opts_set_always_gmt(wopts, opts->always_gmt);
iso_write_opts_set_rrip_version_1_10(wopts, opts->rrip_version_1_10); iso_write_opts_set_rrip_version_1_10(wopts, opts->rrip_version_1_10);
iso_write_opts_set_dir_rec_mtime(wopts, opts->dir_rec_mtime); iso_write_opts_set_dir_rec_mtime(wopts, opts->dir_rec_mtime);
iso_write_opts_set_aaip_susp_1_10(wopts, opts->aaip_susp_1_10);
iso_write_opts_set_sort_files(wopts, opts->sort_files); iso_write_opts_set_sort_files(wopts, opts->sort_files);
iso_write_opts_set_replace_mode(wopts, opts->replace_dir_mode, iso_write_opts_set_replace_mode(wopts, opts->replace_dir_mode,
opts->replace_file_mode, opts->replace_uid, opts->replace_gid); opts->replace_file_mode, opts->replace_uid, opts->replace_gid);
@ -787,6 +788,7 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag)
o->always_gmt= 0; o->always_gmt= 0;
o->rrip_version_1_10= 0; o->rrip_version_1_10= 0;
o->dir_rec_mtime= 0; o->dir_rec_mtime= 0;
o->aaip_susp_1_10= 0;
o->sort_files= 0; o->sort_files= 0;
o->replace_dir_mode= 0; o->replace_dir_mode= 0;
o->replace_file_mode= 0; o->replace_file_mode= 0;
@ -858,6 +860,7 @@ int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax)
o->always_gmt= !!(relax & isoburn_igopt_always_gmt); o->always_gmt= !!(relax & isoburn_igopt_always_gmt);
o->rrip_version_1_10= !!(relax & isoburn_igopt_rrip_version_1_10); o->rrip_version_1_10= !!(relax & isoburn_igopt_rrip_version_1_10);
o->dir_rec_mtime= !!(relax & isoburn_igopt_dir_rec_mtime); o->dir_rec_mtime= !!(relax & isoburn_igopt_dir_rec_mtime);
o->aaip_susp_1_10= !!(relax & isoburn_igopt_aaip_susp_1_10);
return(1); return(1);
} }
@ -867,7 +870,9 @@ int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax)
*relax= (!!o->omit_version_numbers) | ((!!o->allow_deep_paths)<<1) | *relax= (!!o->omit_version_numbers) | ((!!o->allow_deep_paths)<<1) |
((!!o->allow_longer_paths)<<2) | ((!!o->max_37_char_filenames)<<3) | ((!!o->allow_longer_paths)<<2) | ((!!o->max_37_char_filenames)<<3) |
((!!o->no_force_dots)<<4) | ((!!o->allow_lowercase)<<5) | ((!!o->no_force_dots)<<4) | ((!!o->allow_lowercase)<<5) |
((!!o->allow_full_ascii)<<6) | ((!!o->joliet_longer_paths)<<7); ((!!o->allow_full_ascii)<<6) | ((!!o->joliet_longer_paths)<<7) |
((!!o->always_gmt)<<8) | ((!!o->rrip_version_1_10)<<9) |
((!!o->dir_rec_mtime)<<10) | ((!!o->aaip_susp_1_10)<<11);
return(1); return(1);
} }

View File

@ -384,6 +384,13 @@ struct isoburn_imgen_opts {
*/ */
unsigned int dir_rec_mtime :1; unsigned int dir_rec_mtime :1;
/**
* Write AAIP as extension according to SUSP 1.10 rather than SUSP 1.12.
* I.e. without announcing it by an ER field and thus without the need
* to preceed the RRIP fields by an ES and to preceed the AA field by ES.
*/
unsigned int aaip_susp_1_10 :1;
unsigned int sort_files:1; unsigned int sort_files:1;
/**< If files should be sorted based on their weight. */ /**< If files should be sorted based on their weight. */

View File

@ -921,6 +921,12 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
bit10= dir_rec_mtime bit10= dir_rec_mtime
Store as ECMA-119 Directory Record timestamp the mtime Store as ECMA-119 Directory Record timestamp the mtime
of the source rather than the image creation time. of the source rather than the image creation time.
bit11= aaip_susp_1_10
Write AAIP fields without announcing AAIP by an ER field and
without distinguishing RRIP fields from the AAIP field by
prefixed ES fields. This saves 5 to 10 bytes per file and
might avoid problems with readers which only accept RRIP.
SUSP-1.10 allows it, SUSP-1.12 frowns on it.
@return 1 success, <=0 failure @return 1 success, <=0 failure
*/ */
@ -935,6 +941,7 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
#define isoburn_igopt_always_gmt 256 #define isoburn_igopt_always_gmt 256
#define isoburn_igopt_rrip_version_1_10 512 #define isoburn_igopt_rrip_version_1_10 512
#define isoburn_igopt_dir_rec_mtime 1024 #define isoburn_igopt_dir_rec_mtime 1024
#define isoburn_igopt_aaip_susp_1_10 2048
int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax); int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax);
int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax); int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.01.25.141124" #define Xorriso_timestamP "2009.01.26.173254"