New write options session_md5, file_md5, read option nomd5

This commit is contained in:
Thomas Schmitt 2009-08-10 19:21:43 +00:00
parent d1490aa95e
commit 219aa7e4b6
5 changed files with 36 additions and 13 deletions

View File

@ -433,6 +433,7 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
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_record_md5(wopts, opts->session_md5, opts->file_md5);
iso_write_opts_set_replace_mode(wopts, opts->replace_dir_mode,
opts->replace_file_mode, opts->replace_uid, opts->replace_gid);
iso_write_opts_set_default_dir_mode(wopts, opts->dir_mode);
@ -654,6 +655,7 @@ int isoburn_ropt_new(struct isoburn_read_opts **new_o, int flag)
o->noacl= 1;
o->noea= 1;
o->noino= 1;
o->nomd5= 1;
o->preferjoliet= 0;
o->uid= geteuid();
o->gid= getegid();
@ -691,6 +693,7 @@ int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext)
o->noacl= !!(ext & 64);
o->noea= !!(ext & 128);
o->noino= !!(ext & 256);
o->nomd5= !!(ext & 512);
return(1);
}
@ -700,7 +703,7 @@ int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext)
*ext= (!!o->norock) | ((!!o->nojoliet)<<1) | ((!!o->noiso1999)<<2) |
((!!o->preferjoliet)<<3) | ((!!o->pretend_blank)<<4) |
((!!o->noaaip) << 5) | ((!!o->noacl) << 6) | ((!!o->noea) << 7) |
((!!o->noino) << 8);
((!!o->noino) << 8) | ((!!o->nomd5) << 9);
return(1);
}
@ -875,6 +878,8 @@ int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext)
o->iso1999= !!(ext&4);
o->hardlinks= !!(ext & 8);
o->aaip= !!(ext & 32);
o->session_md5= !!(ext & 64);
o->file_md5= !!(ext & 128);
return(1);
}
@ -882,7 +887,8 @@ int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext)
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext)
{
*ext= (!!o->rockridge) | ((!!o->joliet)<<1) | ((!!o->iso1999)<<2) |
((!!o->hardlinks) << 3) | ((!!o->aaip) << 5);
((!!o->hardlinks) << 3) | ((!!o->aaip) << 5) |
((!!o->session_md5) << 6) | ((!!o->file_md5) << 7);
return(1);
}

View File

@ -261,6 +261,9 @@ struct isoburn_read_opts {
/* ts A90508 */
unsigned int noino:1; /* Discard eventual PX inode numbers */
/* ts A90810 */
unsigned int nomd5:1; /* Do not read eventual MD5 array */
unsigned int preferjoliet:1;
/*< When both Joliet and RR extensions are present, the RR
* tree is used. If you prefer using Joliet, set this to 1. */
@ -328,6 +331,12 @@ struct isoburn_imgen_opts {
/* Write eventual AAIP info containing ACL and EA */
unsigned int aaip :1;
/* Produce and write a MD5 checksum of the whole session stream. */
unsigned int session_md5 :1;
/* Produce and write MD5 checksums for each single IsoFile. */
unsigned int file_md5 :1;
/* relaxed constraints */
/*

View File

@ -201,14 +201,10 @@ create_blank_image:;
iso_read_opts_set_start_block(ropts, ms_block);
iso_read_opts_set_no_rockridge(ropts, read_opts->norock);
iso_read_opts_set_no_aaip(ropts, read_opts->noaaip);
/* <<< #ifdef shall be removed when libisofs-0.6.20 is released */
#ifdef Libisofs_hardlink_prooF
iso_read_opts_set_no_md5(ropts, read_opts->nomd5);
iso_read_opts_set_new_inos(ropts, read_opts->noino);
#endif /* Libisofs_hardlink_prooF */
iso_read_opts_set_no_joliet(ropts, read_opts->nojoliet);
iso_read_opts_set_no_iso1999(ropts, read_opts->noiso1999);
iso_read_opts_set_preferjoliet(ropts, read_opts->preferjoliet);

View File

@ -739,6 +739,9 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
giving all family members the same inode number. libisofs
keeps the PX inode numbers unaltered when IsoNode objects
get written into an ISO image.
bit9= nomd5
@since 0.4.2
Do not load the eventual MD5 checksum array.
@return 1 success, <=0 failure
*/
#define isoburn_ropt_norock 1
@ -750,6 +753,7 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
#define isoburn_ropt_noacl 64
#define isoburn_ropt_noea 128
#define isoburn_ropt_noino 256
#define isoburn_ropt_nomd5 512
int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext);
int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext);
@ -924,13 +928,21 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level);
bit5= aaip
The libisofs specific SUSP based extension of ECMA-119 which
can encode ACL and XFS-style Extended Attributes.
bit6= session_md5
@since 0.4.2
Produce and write a MD5 checksum of the whole session stream.
bit7= file_md5
@since 0.4.2
Produce and write MD5 checksums for each single IsoFile.
@return 1 success, <=0 failure
*/
#define isoburn_igopt_rockridge 1
#define isoburn_igopt_joliet 2
#define isoburn_igopt_iso1999 4
#define isoburn_igopt_hardlinks 8
#define isoburn_igopt_aaip 32
#define isoburn_igopt_rockridge 1
#define isoburn_igopt_joliet 2
#define isoburn_igopt_iso1999 4
#define isoburn_igopt_hardlinks 8
#define isoburn_igopt_aaip 32
#define isoburn_igopt_session_md5 64
#define isoburn_igopt_file_md5 128
int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext);
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.08.10.123146"
#define Xorriso_timestamP "2009.08.10.192240"