New -blank mode prefix "force:"

This commit is contained in:
Thomas Schmitt 2012-10-24 09:59:13 +00:00
parent ad2b3341ab
commit f689525bee
8 changed files with 106 additions and 58 deletions

View File

@ -3119,3 +3119,25 @@ int Xorriso_get_drive_handles(struct XorrisO *xorriso,
return((*drive)!=NULL);
}
int Xorriso_pretend_full_disc(struct XorrisO *xorriso, int flag)
{
int ret;
struct burn_drive_info *dinfo;
struct burn_drive *drive;
ret= Xorriso_get_drive_handles(xorriso, &dinfo, &drive,
"on attempt to let libburn pretend having a closed medium", 2);
if(ret<=0)
return(ret);
ret= burn_disc_pretend_full(drive);
Xorriso_process_msg_queues(xorriso,0);
if(ret <= 0) {
sprintf(xorriso->info_text,
"Failed to let libburn pretend having a closed medium");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
return(1);
}

View File

@ -535,10 +535,10 @@ int Xorriso_option_biblio_file(struct XorrisO *xorriso, char *name, int flag)
/* @param flag bit0= format rather than blank
@return <=0 error , 1 success, 2 revoked by -reassure
*/
int Xorriso_option_blank(struct XorrisO *xorriso, char *mode, int flag)
int Xorriso_option_blank(struct XorrisO *xorriso, char *in_mode, int flag)
{
char *cmd= "-blank";
int aq_ret, ret, mode_flag= 0, as_needed= 0, idx;
char *cmd= "-blank", *mode;
int aq_ret, ret, mode_flag= 0, as_needed= 0, idx, do_force= 0;
off_t size= 0;
if(flag&1)
@ -562,6 +562,11 @@ int Xorriso_option_blank(struct XorrisO *xorriso, char *mode, int flag)
if(ret<=0)
return(2);
if(strncmp(in_mode, "force:", 6) == 0) {
do_force= 1;
mode= in_mode + 6;
} else
mode= in_mode;
if(strcmp(mode, "as_needed")==0 || mode[0]==0)
as_needed= 1;
else if(strcmp(mode, "all")==0 || strcmp(mode, "full")==0)
@ -617,6 +622,11 @@ unusable_size:;
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
if(do_force) {
ret= Xorriso_pretend_full_disc(xorriso, 0);
if(ret <= 0)
return(ret);
}
if(as_needed)
ret= Xorriso_blank_as_needed(xorriso, (flag&1)<<2);
else if(flag&1)

View File

@ -1578,8 +1578,9 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" Classify stdio drives by effective access permissions.",
" -data_cache_size number_of_tiles blocks_per_tile",
" Adjust size and granularity of the data read cache.",
" -blank \"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"",
" -blank [\"force:\"]\"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"",
" Blank medium resp. invalidate ISO image on medium.",
" Prefix \"force:\" overrides medium evaluation.",
" -close_damaged \"as_needed\"|\"force\"",
" Close track and session of damaged medium.",
" -format \"as_needed\"|\"full\"|\"fast\"|\"by_index_#\"|\"by_size_#\"",

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.2.5, Oct 18, 2012"
.TH XORRISO 1 "Version 1.2.5, Oct 23, 2012"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -2187,6 +2187,11 @@ The progress reports issued by some drives while blanking are
quite unrealistic. Do not conclude success or failure from the
reported percentages. Blanking was successful if no SORRY event or
worse occured.
.br
Mode may be prepended by "force:" in order to override the evaluation
of the medium state by libburn. E.g. "force:fast".
Blanking will nevertheless only succeed if the drive is willing to do it.
.br
.TP
\fB\-format\fR mode
Convert unformatted DVD\-RW into overwriteable ones, "de\-ice" DVD+RW, format
@ -2665,7 +2670,7 @@ and is one aspect of growisofs option \-dvd\-compat.
.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
CD media, DAO with blank 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.

View File

@ -1946,7 +1946,10 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Options
quite unrealistic. Do not conclude success or failure from the
reported percentages. Blanking was successful if no SORRY event or
worse occured.
Mode may be prepended by "force:" in order to override the
evaluation of the medium state by libburn. E.g. "force:fast".
Blanking will nevertheless only succeed if the drive is willing to
do it.
-format mode
Convert unformatted DVD-RW into overwriteable ones, "de-ice"
DVD+RW, format newly purchased BD-RE or BD-R, re-format DVD-RAM or
@ -2370,8 +2373,8 @@ according to the setting of command -acl.
-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
with blank CD media, DAO with blank 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.
@ -4560,7 +4563,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -chown_r sets ownership in ISO image: Manip. (line 47)
* -clone copies ISO directory tree: Insert. (line 179)
* -close controls media closing: SetWrite. (line 333)
* -close_damaged closes damaged track and session: Writing. (line 152)
* -close_damaged closes damaged track and session: Writing. (line 155)
* -close_filter_list bans filter registration: Filter. (line 52)
* -commit writes pending ISO image: Writing. (line 29)
* -commit_eject writes and ejects: Writing. (line 56)
@ -4607,7 +4610,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -findx traverses disk tree: Navigate. (line 106)
* -follow softlinks and mount points: SetInsert. (line 76)
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 185)
* -format formats media: Writing. (line 88)
* -format formats media: Writing. (line 91)
* -fs sets size of fifo: SetWrite. (line 326)
* -getfacl shows ACL in ISO image: Navigate. (line 70)
* -getfacl_r shows ACL in ISO image: Navigate. (line 77)
@ -4629,9 +4632,9 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -list_delimiter replaces '--': Scripting. (line 60)
* -list_extras lists compile time extra features: Scripting.
(line 26)
* -list_formats lists available formats: Writing. (line 126)
* -list_profiles lists supported media: Writing. (line 166)
* -list_speeds lists available write speeds: Writing. (line 138)
* -list_formats lists available formats: Writing. (line 129)
* -list_profiles lists supported media: Writing. (line 169)
* -list_speeds lists available write speeds: Writing. (line 141)
* -lns creates ISO symbolic link: Insert. (line 174)
* -load addresses a particular session as input: Loading. (line 11)
* -local_charset sets terminal character set: Charset. (line 47)
@ -4785,7 +4788,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Create, new ISO image, _definition: Methods. (line 6)
* Cylinder alignment, _definition: Bootable. (line 188)
* Cylinder size, _definition: Bootable. (line 177)
* Damaged track and session, close, -close_damaged: Writing. (line 152)
* Damaged track and session, close, -close_damaged: Writing. (line 155)
* Delete, from ISO image, -rm: Manip. (line 21)
* Delete, from ISO image, -rm_r: Manip. (line 28)
* Delete, ISO directory, -rmdir: Manip. (line 32)
@ -4809,7 +4812,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, for output, -outdev: AqDrive. (line 31)
* Drive, get drive list, -device_links: Inquiry. (line 18)
* Drive, get drive list, -devices: Inquiry. (line 7)
* Drive, list supported media, -list_profiles: Writing. (line 166)
* Drive, list supported media, -list_profiles: Writing. (line 169)
* Drive, reduce activity, -calm_drive: Loading. (line 240)
* Drive, report SCSI commands, -scsi_log: Scripting. (line 147)
* Drive, write and eject, -commit_eject: Writing. (line 56)
@ -4889,9 +4892,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* MBR, set, -boot_image system_area=: Bootable. (line 121)
* MD5, control handling, -md5: Loading. (line 156)
* Media, erase, -blank: Writing. (line 61)
* Media, format, -format: Writing. (line 88)
* Media, list formats, -list_formats: Writing. (line 126)
* Media, list write speeds, -list_speeds: Writing. (line 138)
* Media, format, -format: Writing. (line 91)
* Media, list formats, -list_formats: Writing. (line 129)
* Media, list write speeds, -list_speeds: Writing. (line 141)
* MIPS boot file, activation: Bootable. (line 199)
* mkisofs, Emulation: Emulation. (line 16)
* Modifying, _definition: Methods. (line 27)
@ -5046,41 +5049,41 @@ Node: Manip64854
Node: CmdFind73677
Node: Filter88381
Node: Writing92936
Node: SetWrite101900
Node: Bootable120533
Node: Jigdo135926
Node: Charset140172
Node: Exception142933
Node: DialogCtl149052
Node: Inquiry151649
Node: Navigate156515
Node: Verify164812
Node: Restore173843
Node: Emulation180752
Node: Scripting190563
Node: Frontend197723
Node: Examples199023
Node: ExDevices200200
Node: ExCreate200859
Node: ExDialog202144
Node: ExGrowing203409
Node: ExModifying204214
Node: ExBootable204718
Node: ExCharset205270
Node: ExPseudo206091
Node: ExCdrecord206989
Node: ExMkisofs207306
Node: ExGrowisofs208646
Node: ExException209781
Node: ExTime210235
Node: ExIncBackup210694
Node: ExRestore214686
Node: ExRecovery215646
Node: Files216216
Node: Seealso217515
Node: Bugreport218238
Node: Legal218819
Node: CommandIdx219830
Node: ConceptIdx235775
Node: SetWrite102114
Node: Bootable120753
Node: Jigdo136146
Node: Charset140392
Node: Exception143153
Node: DialogCtl149272
Node: Inquiry151869
Node: Navigate156735
Node: Verify165032
Node: Restore174063
Node: Emulation180972
Node: Scripting190783
Node: Frontend197943
Node: Examples199243
Node: ExDevices200420
Node: ExCreate201079
Node: ExDialog202364
Node: ExGrowing203629
Node: ExModifying204434
Node: ExBootable204938
Node: ExCharset205490
Node: ExPseudo206311
Node: ExCdrecord207209
Node: ExMkisofs207526
Node: ExGrowisofs208866
Node: ExException210001
Node: ExTime210455
Node: ExIncBackup210914
Node: ExRestore214906
Node: ExRecovery215866
Node: Files216436
Node: Seealso217735
Node: Bugreport218458
Node: Legal219039
Node: CommandIdx220050
Node: ConceptIdx235995

End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@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 .TH XORRISO 1 "Version 1.2.5, Oct 18, 2012"
@c man .TH XORRISO 1 "Version 1.2.5, Oct 23, 2012"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -2615,6 +2615,11 @@ The progress reports issued by some drives while blanking are
quite unrealistic. Do not conclude success or failure from the
reported percentages. Blanking was successful if no SORRY event or
worse occured.
@*
Mode may be prepended by "force:" in order to override the evaluation
of the medium state by libburn. E.g. "force:fast".
Blanking will nevertheless only succeed if the drive is willing to do it.
@*
@c man .TP
@item -format mode
@kindex -format formats media
@ -3164,7 +3169,7 @@ and is one aspect of growisofs option -dvd-compat.
@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
CD media, DAO with blank 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.

View File

@ -1 +1 @@
#define Xorriso_timestamP "2012.10.19.081758"
#define Xorriso_timestamP "2012.10.24.095235"

View File

@ -605,5 +605,7 @@ int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path,
int Xorriso_hfsplus_bless(struct XorrisO *xorriso, char *path,
void *in_node, char *blessing, int flag);
int Xorriso_pretend_full_disc(struct XorrisO *xorriso, int flag);
#endif /* Xorrisoburn_includeD */