New xorriso command -write_type

This commit is contained in:
Thomas Schmitt 2012-07-08 13:47:36 +00:00
parent a5c3ce4ee2
commit f21ce9d62b
13 changed files with 178 additions and 55 deletions

View File

@ -32,6 +32,7 @@ isoburn_igopt_get_effective_lba;
isoburn_igopt_get_efi_bootp; isoburn_igopt_get_efi_bootp;
isoburn_igopt_get_extensions; isoburn_igopt_get_extensions;
isoburn_igopt_get_fifo_size; isoburn_igopt_get_fifo_size;
isoburn_igopt_get_hfsp_block_size;
isoburn_igopt_get_hfsp_serial_number; isoburn_igopt_get_hfsp_serial_number;
isoburn_igopt_get_level; isoburn_igopt_get_level;
isoburn_igopt_get_out_charset; isoburn_igopt_get_out_charset;
@ -52,6 +53,7 @@ isoburn_igopt_set_disc_label;
isoburn_igopt_set_efi_bootp; isoburn_igopt_set_efi_bootp;
isoburn_igopt_set_extensions; isoburn_igopt_set_extensions;
isoburn_igopt_set_fifo_size; isoburn_igopt_set_fifo_size;
isoburn_igopt_set_hfsp_block_size;
isoburn_igopt_set_hfsp_serial_number; isoburn_igopt_set_hfsp_serial_number;
isoburn_igopt_set_level; isoburn_igopt_set_level;
isoburn_igopt_set_out_charset; isoburn_igopt_set_out_charset;
@ -280,6 +282,7 @@ Xorriso_option_version;
Xorriso_option_volid; Xorriso_option_volid;
Xorriso_option_volset_id; Xorriso_option_volset_id;
Xorriso_option_volume_date; Xorriso_option_volume_date;
Xorriso_option_write_type;
Xorriso_option_xattr; Xorriso_option_xattr;
Xorriso_option_zisofs; Xorriso_option_zisofs;
Xorriso_prescan_args; Xorriso_prescan_args;

View File

@ -178,6 +178,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->do_global_mode= 0; m->do_global_mode= 0;
m->global_dir_mode= 0555; m->global_dir_mode= 0555;
m->global_file_mode= 0444; m->global_file_mode= 0444;
m->do_tao= 0;
m->filters= NULL; m->filters= NULL;
m->filter_list_closed= 0; m->filter_list_closed= 0;
m->zlib_level_default= m->zlib_level= 6; m->zlib_level_default= m->zlib_level= 6;

View File

@ -1875,6 +1875,8 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -commit_eject \"in\"|\"out\"|\"all\"|\"none\"", " -commit_eject \"in\"|\"out\"|\"all\"|\"none\"",
" Like -commit but rather eject than load image from outdrive.", " Like -commit but rather eject than load image from outdrive.",
" Give up any unejected drive afterwards.", " Give up any unejected drive afterwards.",
" -write_type \"auto\"|\"tao\"|\"sao/dao\"",
" Set write type for CD-R[W], DVD-R[W], DVD+R, BD-R.",
" -close \"on\"|\"off\"", " -close \"on\"|\"off\"",
" If \"on\" then mark the written medium as not appendable.", " If \"on\" then mark the written medium as not appendable.",
" -padding number[\"k\"|\"m\"]|\"included\"|\"appended\"", " -padding number[\"k\"|\"m\"]|\"included\"|\"appended\"",

View File

@ -1922,6 +1922,26 @@ ex:;
} }
/* Command -write_type */
int Xorriso_option_write_type(struct XorrisO *xorriso, char *mode, int flag)
{
if(strcmp(mode, "auto") == 0)
xorriso->do_tao = 0;
else if(strcmp(mode, "tao") == 0 || strcmp(mode, "TAO") == 0)
xorriso->do_tao = 1;
else if(strcmp(mode, "sao") == 0 || strcmp(mode, "SAO") == 0 ||
strcmp(mode, "dao") == 0 || strcmp(mode, "DAO") == 0 ||
strcmp(mode, "sao/dao") == 0 || strcmp(mode, "SAO/DAO") == 0 )
xorriso->do_tao = -1;
else {
sprintf(xorriso->info_text, "-write_type: unknown mode '%s'", mode);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
return(1);
}
/* Option -xattr "on"|"off" */ /* Option -xattr "on"|"off" */
int Xorriso_option_xattr(struct XorrisO *xorriso, char *mode, int flag) int Xorriso_option_xattr(struct XorrisO *xorriso, char *mode, int flag)
{ {

View File

@ -479,7 +479,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
"speed","split_size","status","status_history_max", "speed","split_size","status","status_history_max",
"stdio_sync","stream_recording","system_id","temp_mem_limit", "stdio_sync","stream_recording","system_id","temp_mem_limit",
"uid","unregister_filter","use_readline","volid","volset_id", "uid","unregister_filter","use_readline","volid","volset_id",
"xattr","zisofs", "write_type","xattr","zisofs",
"" ""
}; };
static char arg2_commands[][40]= { static char arg2_commands[][40]= {
@ -660,13 +660,13 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
"mount", "mount",
"* Settings for result writing:", "* Settings for result writing:",
"joliet", "hfsplus","compliance", "rr_reloc_dir", "rockridge", "joliet", "hfsplus","compliance", "rr_reloc_dir",
"volid", "volset_id", "publisher", "volid", "volset_id", "publisher",
"application_id", "system_id", "volume_date", "copyright_file", "application_id", "system_id", "volume_date", "copyright_file",
"abstract_file", "biblio_file", "preparer_id", "out_charset", "abstract_file", "biblio_file", "preparer_id", "out_charset",
"read_mkisofsrc", "read_mkisofsrc",
"uid", "gid", "zisofs", "speed", "stream_recording", "dvd_obs", "uid", "gid", "zisofs", "speed", "stream_recording", "dvd_obs",
"stdio_sync", "dummy", "fs", "close", "padding", "stdio_sync", "dummy", "fs", "close", "padding", "write_type",
"grow_blindly", "pacifier", "scdbackup_tag", "grow_blindly", "pacifier", "scdbackup_tag",
"* Bootable ISO images:", "* Bootable ISO images:",
@ -1723,6 +1723,10 @@ next_command:;
(*idx)+= 2; (*idx)+= 2;
ret= Xorriso_option_volume_date(xorriso, arg1, arg2, 0); ret= Xorriso_option_volume_date(xorriso, arg1, arg2, 0);
} else if(strcmp(cmd,"write_type")==0) {
(*idx)++;
ret= Xorriso_option_write_type(xorriso, arg1, 0);
} else if(strcmp(cmd, "x") == 0) { } else if(strcmp(cmd, "x") == 0) {
/* only in effect in Xorriso_prescan_args() */; /* only in effect in Xorriso_prescan_args() */;

View File

@ -1692,6 +1692,12 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
if(!(is_default && no_defaults)) if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2); Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (xorriso->do_tao == 0);
sprintf(line,"-write_type %s\n",
xorriso->do_tao == 0 ? "auto" : xorriso->do_tao > 0 ? "tao" : "sao/dao");
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= !xorriso->do_dummy; is_default= !xorriso->do_dummy;
sprintf(line,"-dummy %s\n",(xorriso->do_dummy ? "on" : "off")); sprintf(line,"-dummy %s\n",(xorriso->do_dummy ? "on" : "off"));
if(!(is_default && no_defaults)) if(!(is_default && no_defaults))

View File

@ -625,13 +625,14 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
IsoImage *image= NULL; IsoImage *image= NULL;
IsoNode *root_node; IsoNode *root_node;
int profile_number; int profile_number;
char *profile_name= NULL; char *profile_name= NULL, *reasons= NULL;
IsoBoot *bootcat_node; IsoBoot *bootcat_node;
uint32_t padding; uint32_t padding;
Xorriso_alloc_meM(sfe, char, 5 * SfileadrL); Xorriso_alloc_meM(sfe, char, 5 * SfileadrL);
Xorriso_alloc_meM(xorriso_id, char, 256); Xorriso_alloc_meM(xorriso_id, char, 256);
Xorriso_alloc_meM(profile_name, char, 80); Xorriso_alloc_meM(profile_name, char, 80);
Xorriso_alloc_meM(reasons, char, BURN_REASONS_LEN);
ret= Xorriso_finish_hl_update(xorriso, 0); ret= Xorriso_finish_hl_update(xorriso, 0);
if(ret <= 0) if(ret <= 0)
@ -1009,6 +1010,38 @@ fprintf(stderr, "XORRISO_DEBUG: isoburn_igopt_set_tail_blocks(%d)\n",
burn_write_opts_set_stream_recording(burn_options, data_lba); burn_write_opts_set_stream_recording(burn_options, data_lba);
} }
if(xorriso->do_tao) {
if (xorriso->do_tao > 0)
burn_write_opts_set_write_type(burn_options,
BURN_WRITE_TAO, BURN_BLOCK_MODE1);
else
burn_write_opts_set_write_type(burn_options,
BURN_WRITE_SAO, BURN_BLOCK_SAO);
ret = burn_precheck_write(burn_options, disc, reasons, 0);
if(ret<=0) {
Xorriso_process_msg_queues(xorriso,0);
sprintf(xorriso->info_text,
"Cannot set write type %s for this medium.\n",
xorriso->do_tao > 0 ? "TAO" : "SAO");
sprintf(xorriso->info_text+strlen(xorriso->info_text),
"Reasons given:\n %s", reasons);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto cancel_iso;
}
} else {
if(burn_write_opts_auto_write_type(burn_options, disc, reasons, 0) ==
BURN_WRITE_NONE) {
Xorriso_process_msg_queues(xorriso,0);
sprintf(xorriso->info_text,
"Failed to find a suitable write mode with this media.\n");
sprintf(xorriso->info_text+strlen(xorriso->info_text),
"Reasons given:\n %s", reasons);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto cancel_iso;
}
}
ret= Xorriso_sanitize_image_size(xorriso, drive, disc, burn_options, flag&1); ret= Xorriso_sanitize_image_size(xorriso, drive, disc, burn_options, flag&1);
if(ret<=0 || (flag&1)) { if(ret<=0 || (flag&1)) {
Xorriso_process_msg_queues(xorriso,0); Xorriso_process_msg_queues(xorriso,0);
@ -1111,6 +1144,7 @@ ex:;
Xorriso_free_meM(sfe); Xorriso_free_meM(sfe);
Xorriso_free_meM(xorriso_id); Xorriso_free_meM(xorriso_id);
Xorriso_free_meM(profile_name); Xorriso_free_meM(profile_name);
Xorriso_free_meM(reasons);
return(ret); return(ret);
cancel_iso:; cancel_iso:;
@ -1923,14 +1957,34 @@ int Xorriso_burn_track(struct XorrisO *xorriso, off_t write_start_address,
burn_write_opts_set_start_byte(burn_options, ((off_t) nwa) * (off_t) 2048); burn_write_opts_set_start_byte(burn_options, ((off_t) nwa) * (off_t) 2048);
} }
if(burn_write_opts_auto_write_type(burn_options, disc, reasons, 0) == if(xorriso->do_tao) {
BURN_WRITE_NONE) { if (xorriso->do_tao > 0)
sprintf(xorriso->info_text, burn_write_opts_set_write_type(burn_options,
"Failed to find a suitable write mode with this media.\n"); BURN_WRITE_TAO, BURN_BLOCK_MODE1);
sprintf(xorriso->info_text+strlen(xorriso->info_text), else
"Reasons given:\n%s", reasons); burn_write_opts_set_write_type(burn_options,
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); BURN_WRITE_SAO, BURN_BLOCK_SAO);
ret= 0; goto ex;
ret = burn_precheck_write(burn_options, disc, reasons, 0);
if(ret<=0) {
sprintf(xorriso->info_text,
"Cannot set write type %s for this medium.\n",
xorriso->do_tao > 0 ? "TAO" : "SAO");
sprintf(xorriso->info_text+strlen(xorriso->info_text),
"Reasons given:\n%s", reasons);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto ex;
}
} else {
if(burn_write_opts_auto_write_type(burn_options, disc, reasons, 0) ==
BURN_WRITE_NONE) {
sprintf(xorriso->info_text,
"Failed to find a suitable write mode with this media.\n");
sprintf(xorriso->info_text+strlen(xorriso->info_text),
"Reasons given:\n%s", reasons);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto ex;
}
} }
ret= Xorriso_sanitize_image_size(xorriso, drive, disc, burn_options, 2); ret= Xorriso_sanitize_image_size(xorriso, drive, disc, burn_options, 2);

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.2.3, Jul 02, 2012" .TH XORRISO 1 "Version 1.2.3, Jul 06, 2012"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -2654,6 +2654,13 @@ any more (if possible at all with the given type of target media).
This is the contrary of cdrecord, wodim, cdrskin command \-multi, This is the contrary of cdrecord, wodim, cdrskin command \-multi,
and is one aspect of growisofs option \-dvd\-compat. and is one aspect of growisofs option \-dvd\-compat.
.TP .TP
\fB\-write_type\fR "auto"|"tao"|"sao/dao"
Set the write type for the next burn run. "auto" will select SAO with blank
CD media, DAO with DVD\-R[W] if \-close is "on", and elsewise CD TAO or the
equivalent write type of the particular DVD/BD media.
Choosing TAO or SAO/DAO explicitely might cause the burn run to fail if the
desired write type is not possible with the given media state.
.TP
\fB\-padding\fR number["k"|"m"]|"included"|"appended" \fB\-padding\fR number["k"|"m"]|"included"|"appended"
Append the given number of extra bytes to the image stream. Append the given number of extra bytes to the image stream.
This is a traditional remedy for a traditional bug in block This is a traditional remedy for a traditional bug in block
@ -4842,7 +4849,7 @@ $ xorriso \\
.br .br
To be used several times on the same medium, whenever an update of To be used several times on the same medium, whenever an update of
the two disk trees to the medium is desired. Begin with a blank medium and the two disk trees to the medium is desired. Begin with a blank medium and
update it until he run fails gracefully due to lack of remaining space on update it until the run fails gracefully due to lack of remaining space on
the old one. the old one.
.br .br
This makes sense if the full backup leaves substantial remaining capacity This makes sense if the full backup leaves substantial remaining capacity

View File

@ -1304,6 +1304,9 @@ int Xorriso_option_volset_id(struct XorrisO *xorriso, char *name, int flag);
int Xorriso_option_volume_date(struct XorrisO *xorriso, int Xorriso_option_volume_date(struct XorrisO *xorriso,
char *time_type, char *timestring, int flag); char *time_type, char *timestring, int flag);
/* Command -write_type */
int Xorriso_option_write_type(struct XorrisO *xorriso, char *mode, int flag);
/* There is no Xorriso_option_x() because -x has an effect only in /* There is no Xorriso_option_x() because -x has an effect only in
Xorriso_prescan_args(). Use the flag bits of Xorriso_interpreter() if Xorriso_prescan_args(). Use the flag bits of Xorriso_interpreter() if
you want to impose command sorting on your own. you want to impose command sorting on your own.

View File

@ -2359,6 +2359,14 @@ according to the setting of command -acl.
This is the contrary of cdrecord, wodim, cdrskin command -multi, This is the contrary of cdrecord, wodim, cdrskin command -multi,
and is one aspect of growisofs option -dvd-compat. and is one aspect of growisofs option -dvd-compat.
-write_type "auto"|"tao"|"sao/dao"
Set the write type for the next burn run. "auto" will select SAO
with blank CD media, DAO with DVD-R[W] if -close is "on", and
elsewise CD TAO or the equivalent write type of the particular
DVD/BD media. Choosing TAO or SAO/DAO explicitely might cause the
burn run to fail if the desired write type is not possible with
the given media state.
-padding number["k"|"m"]|"included"|"appended" -padding number["k"|"m"]|"included"|"appended"
Append the given number of extra bytes to the image stream. This Append the given number of extra bytes to the image stream. This
is a traditional remedy for a traditional bug in block device read is a traditional remedy for a traditional bug in block device read
@ -4272,7 +4280,7 @@ $ xorriso \
To be used several times on the same medium, whenever an update of the To be used several times on the same medium, whenever an update of the
two disk trees to the medium is desired. Begin with a blank medium and two disk trees to the medium is desired. Begin with a blank medium and
update it until he run fails gracefully due to lack of remaining space update it until the run fails gracefully due to lack of remaining space
on the old one. on the old one.
This makes sense if the full backup leaves substantial remaining This makes sense if the full backup leaves substantial remaining
capacity on media and if the expected changes are much smaller than the capacity on media and if the expected changes are much smaller than the
@ -4644,7 +4652,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -outdev acquires a drive for output: AqDrive. (line 31) * -outdev acquires a drive for output: AqDrive. (line 31)
* -overwrite enables overwriting in ISO: SetInsert. (line 127) * -overwrite enables overwriting in ISO: SetInsert. (line 127)
* -pacifier controls pacifier text form: Emulation. (line 158) * -pacifier controls pacifier text form: Emulation. (line 158)
* -padding sets amount or mode of image padding: SetWrite. (line 339) * -padding sets amount or mode of image padding: SetWrite. (line 347)
* -page set terminal geometry: DialogCtl. (line 19) * -page set terminal geometry: DialogCtl. (line 19)
* -paste_in copies file into disk file: Restore. (line 121) * -paste_in copies file into disk file: Restore. (line 121)
* -path_list inserts paths from disk file: Insert. (line 78) * -path_list inserts paths from disk file: Insert. (line 78)
@ -4715,6 +4723,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -volid sets volume id: SetWrite. (line 160) * -volid sets volume id: SetWrite. (line 160)
* -volset_id sets volume set id: SetWrite. (line 179) * -volset_id sets volume set id: SetWrite. (line 179)
* -volume_date sets volume timestamp: SetWrite. (line 206) * -volume_date sets volume timestamp: SetWrite. (line 206)
* -write_type chooses TAO or SAO/DAO: SetWrite. (line 339)
* -x enables automatic execution order of arguments: ArgSort. * -x enables automatic execution order of arguments: ArgSort.
(line 16) (line 16)
* -xattr controls handling of xattr (EA): Loading. (line 151) * -xattr controls handling of xattr (EA): Loading. (line 151)
@ -4987,11 +4996,12 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Write, free space, -tell_media_space: Inquiry. (line 89) * Write, free space, -tell_media_space: Inquiry. (line 89)
* Write, log problematic disk files, -errfile_log: Scripting. (line 118) * Write, log problematic disk files, -errfile_log: Scripting. (line 118)
* Write, log written sessions, -session_log: Scripting. (line 138) * Write, log written sessions, -session_log: Scripting. (line 138)
* Write, padding image, -padding: SetWrite. (line 339) * Write, padding image, -padding: SetWrite. (line 347)
* Write, pending ISO image, -commit: Writing. (line 29) * Write, pending ISO image, -commit: Writing. (line 29)
* Write, predict image size, -print_size: Inquiry. (line 80) * Write, predict image size, -print_size: Inquiry. (line 80)
* Write, set speed, -speed: SetWrite. (line 282) * Write, set speed, -speed: SetWrite. (line 282)
* Write, simulation, -dummy: SetWrite. (line 322) * Write, simulation, -dummy: SetWrite. (line 322)
* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 339)
* xattr, _definition: Extras. (line 65) * xattr, _definition: Extras. (line 65)
* xattr, control handling, -xattr: Loading. (line 151) * xattr, control handling, -xattr: Loading. (line 151)
* xattr, set in ISO image, -setfattr: Manip. (line 111) * xattr, set in ISO image, -setfattr: Manip. (line 111)
@ -5023,40 +5033,40 @@ Node: CmdFind73212
Node: Filter87916 Node: Filter87916
Node: Writing92471 Node: Writing92471
Node: SetWrite101435 Node: SetWrite101435
Node: Bootable119658 Node: Bootable120068
Node: Jigdo134901 Node: Jigdo135311
Node: Charset139147 Node: Charset139557
Node: Exception141908 Node: Exception142318
Node: DialogCtl148027 Node: DialogCtl148437
Node: Inquiry150624 Node: Inquiry151034
Node: Navigate155490 Node: Navigate155900
Node: Verify163787 Node: Verify164197
Node: Restore172753 Node: Restore173163
Node: Emulation179662 Node: Emulation180072
Node: Scripting189473 Node: Scripting189883
Node: Frontend196633 Node: Frontend197043
Node: Examples197933 Node: Examples198343
Node: ExDevices199110 Node: ExDevices199520
Node: ExCreate199769 Node: ExCreate200179
Node: ExDialog201054 Node: ExDialog201464
Node: ExGrowing202319 Node: ExGrowing202729
Node: ExModifying203124 Node: ExModifying203534
Node: ExBootable203628 Node: ExBootable204038
Node: ExCharset204180 Node: ExCharset204590
Node: ExPseudo205001 Node: ExPseudo205411
Node: ExCdrecord205899 Node: ExCdrecord206309
Node: ExMkisofs206216 Node: ExMkisofs206626
Node: ExGrowisofs207556 Node: ExGrowisofs207966
Node: ExException208691 Node: ExException209101
Node: ExTime209145 Node: ExTime209555
Node: ExIncBackup209604 Node: ExIncBackup210014
Node: ExRestore213595 Node: ExRestore214006
Node: ExRecovery214555 Node: ExRecovery214966
Node: Files215125 Node: Files215536
Node: Seealso216424 Node: Seealso216835
Node: Bugreport217147 Node: Bugreport217558
Node: Legal217728 Node: Legal218139
Node: CommandIdx218739 Node: CommandIdx219150
Node: ConceptIdx234538 Node: ConceptIdx235022
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1) @c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.2.3, Jul 02, 2012" @c man .TH XORRISO 1 "Version 1.2.3, Jul 06, 2012"
@c man .\" Please adjust this date whenever revising the manpage. @c man .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @c man .\" Some roff macros, for reference:
@ -3149,6 +3149,15 @@ any more (if possible at all with the given type of target media).
This is the contrary of cdrecord, wodim, cdrskin command -multi, This is the contrary of cdrecord, wodim, cdrskin command -multi,
and is one aspect of growisofs option -dvd-compat. and is one aspect of growisofs option -dvd-compat.
@c man .TP @c man .TP
@item -write_type "auto"|"tao"|"sao/dao"
@kindex -write_type chooses TAO or SAO/DAO
@cindex Write, TAO or SAO/DAO, -write_type
Set the write type for the next burn run. "auto" will select SAO with blank
CD media, DAO with DVD-R[W] if -close is "on", and elsewise CD TAO or the
equivalent write type of the particular DVD/BD media.
Choosing TAO or SAO/DAO explicitely might cause the burn run to fail if the
desired write type is not possible with the given media state.
@c man .TP
@item -padding number["k"|"m"]|"included"|"appended" @item -padding number["k"|"m"]|"included"|"appended"
@kindex -padding sets amount or mode of image padding @kindex -padding sets amount or mode of image padding
@cindex Write, padding image, -padding @cindex Write, padding image, -padding
@ -5758,7 +5767,7 @@ $ xorriso \
@sp 1 @sp 1
To be used several times on the same medium, whenever an update of To be used several times on the same medium, whenever an update of
the two disk trees to the medium is desired. Begin with a blank medium and the two disk trees to the medium is desired. Begin with a blank medium and
update it until he run fails gracefully due to lack of remaining space on update it until the run fails gracefully due to lack of remaining space on
the old one. the old one.
@* @*
This makes sense if the full backup leaves substantial remaining capacity This makes sense if the full backup leaves substantial remaining capacity

View File

@ -189,6 +189,10 @@ struct XorrisO { /* the global context of xorriso */
mode_t global_dir_mode; mode_t global_dir_mode;
mode_t global_file_mode; mode_t global_file_mode;
int do_tao; /* 1= Use TAO resp. Incremental
-1= Use SAO resp. DAO
0= let libburn choose */
struct Xorriso_lsT *filters; struct Xorriso_lsT *filters;
int filter_list_closed; int filter_list_closed;

View File

@ -1 +1 @@
#define Xorriso_timestamP "2012.07.08.134305" #define Xorriso_timestamP "2012.07.08.134840"