New relaxations isoburn_igopt_joliet_rec_mtime, isoburn_igopt_iso1999_rec_mtime

This commit is contained in:
Thomas Schmitt 2012-01-14 14:42:33 +00:00
parent 29a08956f6
commit 0013e09756
5 changed files with 35 additions and 11 deletions

View File

@ -321,8 +321,8 @@ if test x$enable_pkg_check_modules = xyes; then
dnl If PKG_CHECK_MODULES is to be used after this if-block, dnl If PKG_CHECK_MODULES is to be used after this if-block,
dnl then it might be necessary to perform PKG_PROG_PKG_CONFIG before the block. dnl then it might be necessary to perform PKG_PROG_PKG_CONFIG before the block.
LIBBURN_REQUIRED=1.1.8 LIBBURN_REQUIRED=1.1.9
LIBISOFS_REQUIRED=1.1.6 LIBISOFS_REQUIRED=1.1.7
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED) PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED) PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)
if test x$LIBCDIO_DEF = x; then if test x$LIBCDIO_DEF = x; then

View File

@ -6,7 +6,7 @@
/* /*
Class core of libisoburn. Class core of libisoburn.
Copyright 2007 - 2010 Vreixo Formoso Lopes <metalpain2002@yahoo.es> Copyright 2007 - 2012 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
Thomas Schmitt <scdbackup@gmx.net> Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -403,7 +403,7 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
struct isoburn *in_o, *out_o; struct isoburn *in_o, *out_o;
IsoWriteOpts *wopts= NULL; IsoWriteOpts *wopts= NULL;
enum burn_disc_status state; enum burn_disc_status state;
int ret, fifo_chunks, lba, nwa, i, new_img, early_indev_release; int ret, fifo_chunks, lba, nwa, i, new_img, early_indev_release, rec_mtime;
uint32_t data_start= -1; uint32_t data_start= -1;
size_t buffer_size= 0, buffer_free= 0; size_t buffer_size= 0, buffer_free= 0;
char *msg= NULL; char *msg= NULL;
@ -487,7 +487,16 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
iso_write_opts_set_joliet_long_names(wopts, opts->joliet_long_names); iso_write_opts_set_joliet_long_names(wopts, opts->joliet_long_names);
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); rec_mtime= 0;
if(opts->dir_rec_mtime)
rec_mtime|= 1;
else
rec_mtime|= (1 << 14);
if(opts->joliet_rec_mtime)
rec_mtime|= 2;
if(opts->iso1999_rec_mtime)
rec_mtime|= 4;
iso_write_opts_set_dir_rec_mtime(wopts, rec_mtime);
iso_write_opts_set_aaip_susp_1_10(wopts, opts->aaip_susp_1_10); 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_record_md5(wopts, opts->session_md5, opts->file_md5 & 3); iso_write_opts_set_record_md5(wopts, opts->session_md5, opts->file_md5 & 3);
@ -1078,6 +1087,8 @@ int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax)
o->aaip_susp_1_10= !!(relax & isoburn_igopt_aaip_susp_1_10); o->aaip_susp_1_10= !!(relax & isoburn_igopt_aaip_susp_1_10);
o->allow_dir_id_ext= !!(relax & isoburn_igopt_allow_dir_id_ext); o->allow_dir_id_ext= !!(relax & isoburn_igopt_allow_dir_id_ext);
o->joliet_long_names= !!(relax & isoburn_igopt_joliet_long_names); o->joliet_long_names= !!(relax & isoburn_igopt_joliet_long_names);
o->joliet_rec_mtime= !!(relax & isoburn_igopt_joliet_rec_mtime);
o->iso1999_rec_mtime= !!(relax & isoburn_igopt_iso1999_rec_mtime);
return(1); return(1);
} }
@ -1093,7 +1104,9 @@ int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax)
((!!(o->omit_version_numbers & 2))<<12) | ((!!(o->omit_version_numbers & 2))<<12) |
((!!(o->no_force_dots & 2))<<13) | ((!!(o->no_force_dots & 2))<<13) |
((!!o->allow_dir_id_ext) << 14) | ((!!o->allow_dir_id_ext) << 14) |
((!!o->joliet_long_names) << 15); ((!!o->joliet_long_names) << 15) |
((!!o->joliet_rec_mtime) << 16) |
((!!o->iso1999_rec_mtime) << 17);
return(1); return(1);
} }

View File

@ -2,7 +2,7 @@
/* /*
Class struct of libisoburn. Class struct of libisoburn.
Copyright 2007 - 2011 Vreixo Formoso Lopes <metalpain2002@yahoo.es> Copyright 2007 - 2012 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
and Thomas Schmitt <scdbackup@gmx.net> and Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
*/ */
@ -494,8 +494,11 @@ struct isoburn_imgen_opts {
/** /**
* 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.
* The same can be ordered for Joliet and ISO 9660:1999
*/ */
unsigned int dir_rec_mtime :1; unsigned int dir_rec_mtime :1;
unsigned int joliet_rec_mtime :1;
unsigned int iso1999_rec_mtime :1;
/** /**
* Write AAIP as extension according to SUSP 1.10 rather than SUSP 1.12. * Write AAIP as extension according to SUSP 1.10 rather than SUSP 1.12.

View File

@ -2,7 +2,7 @@
/* /*
Lower level API definition of libisoburn. Lower level API definition of libisoburn.
Copyright 2007-2011 Vreixo Formoso Lopes <metalpain2002@yahoo.es> Copyright 2007-2012 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
and Thomas Schmitt <scdbackup@gmx.net> and Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
*/ */
@ -242,7 +242,7 @@ void isoburn_version(int *major, int *minor, int *micro);
*/ */
#define isoburn_libisofs_req_major 1 #define isoburn_libisofs_req_major 1
#define isoburn_libisofs_req_minor 1 #define isoburn_libisofs_req_minor 1
#define isoburn_libisofs_req_micro 6 #define isoburn_libisofs_req_micro 7
/** The minimum version of libburn to be used with this version of libisoburn /** The minimum version of libburn to be used with this version of libisoburn
at compile time. at compile time.
@ -250,7 +250,7 @@ void isoburn_version(int *major, int *minor, int *micro);
*/ */
#define isoburn_libburn_req_major 1 #define isoburn_libburn_req_major 1
#define isoburn_libburn_req_minor 1 #define isoburn_libburn_req_minor 1
#define isoburn_libburn_req_micro 8 #define isoburn_libburn_req_micro 9
/** The minimum compile time requirements of libisoburn towards libjte are /** The minimum compile time requirements of libisoburn towards libjte are
the same as of a suitable libisofs towards libjte. the same as of a suitable libisofs towards libjte.
@ -1155,6 +1155,12 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
Allow for Joliet leaf names up to 103 characters rather than Allow for Joliet leaf names up to 103 characters rather than
up to 64. up to 64.
@since 1.0.6 @since 1.0.6
bit16= joliet_rec_mtime
Like dir_rec_mtime, but for the Joliet tree.
@since 1.2.0
bit17= iso1999_rec_mtime
Like dir_rec_mtime, but for the ISO 9660:1999 tree.
@since 1.2.0
@return 1 success, <=0 failure @return 1 success, <=0 failure
*/ */
#define isoburn_igopt_omit_version_numbers 1 #define isoburn_igopt_omit_version_numbers 1
@ -1173,6 +1179,8 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
#define isoburn_igopt_no_j_force_dots 8192 #define isoburn_igopt_no_j_force_dots 8192
#define isoburn_igopt_allow_dir_id_ext 16384 #define isoburn_igopt_allow_dir_id_ext 16384
#define isoburn_igopt_joliet_long_names 32768 #define isoburn_igopt_joliet_long_names 32768
#define isoburn_igopt_joliet_rec_mtime 0x8000
#define isoburn_igopt_iso1999_rec_mtime 0x10000
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 "2011.12.25.121944" #define Xorriso_timestamP "2012.01.14.144233"