From 2cd0eb94d72e83957a1ca43d30c74161f6d59509 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Thu, 1 Dec 2011 15:22:52 +0000 Subject: [PATCH] Made verbosity and exit value of xorrecord more similar to cdrecord resp. wodim --- libisoburn/trunk/xorriso/emulators.c | 74 ++++++----- libisoburn/trunk/xorriso/write_run.c | 3 + libisoburn/trunk/xorriso/xorrecord.1 | 19 ++- libisoburn/trunk/xorriso/xorrecord.info | 123 ++++++++++--------- libisoburn/trunk/xorriso/xorrecord.texi | 20 ++- libisoburn/trunk/xorriso/xorriso_timestamp.h | 2 +- 6 files changed, 148 insertions(+), 93 deletions(-) diff --git a/libisoburn/trunk/xorriso/emulators.c b/libisoburn/trunk/xorriso/emulators.c index c7768ed6..64e0381c 100644 --- a/libisoburn/trunk/xorriso/emulators.c +++ b/libisoburn/trunk/xorriso/emulators.c @@ -385,8 +385,47 @@ no_volunteer:; sprintf(xorriso->result_line, "Cdrecord 2.01-Emulation Copyright (C) 2011 see libburnia-project.org xorriso\n"); Xorriso_result(xorriso, 1); Xorriso_option_version(xorriso, 0); + } + + if(do_help) { + Xorriso_cdrskin_help(xorriso, 0); + } + if(strcmp(blank_mode, "help")==0) { + for(i= 0; strcmp(blank_help[i], "@End_of_helptexT@")!=0; i++) { + sprintf(xorriso->info_text, "%s\n", blank_help[i]); + Xorriso_info(xorriso,0); + } + } + if(do_help || strcmp(blank_mode, "help") == 0 || do_version) { ret= 1; goto ex; } + + if(do_verbous<=0) + report_about= "NOTE"; + else if(do_verbous<=2) + report_about= "UPDATE"; + else if(do_verbous==3) + report_about= "DEBUG"; + else + report_about= "ALL"; + Xorriso_option_report_about(xorriso, report_about, 0); + + if(do_scanbus) { + if(do_scanbus==1) + /* >>> would need -scanbus compatible output and input format */; + else + Xorriso_option_devices(xorriso, 0); + ret= 1; goto ex; + } + + if(!(do_checkdrive || do_atip || do_toc || blank_mode[0] || track_source[0] || + do_eject || do_msinfo)) { + sprintf(xorriso->info_text, + "-as cdrskin: No option specified, which would cause an action."); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0); + ret= 1; goto ex; + } + if(do_waiti) { sprintf(xorriso->info_text, "xorriso: Option -waiti pauses program until input appears at stdin\n"); @@ -402,7 +441,7 @@ no_volunteer:; sprintf(xorriso->info_text, "xorriso: Option -waiti pausing is done.\n"); } if(dev_adr[0]) { - hflag= 2 | 32 | 64; + hflag= 2 | 64; /* ts B11201 no more: | 32 */ if(!do_grow) hflag|= 8; /* consider overwriteables as blank */ ret= Xorriso_option_dev(xorriso, dev_adr, hflag); @@ -410,29 +449,6 @@ no_volunteer:; goto ex; } - if(do_help) { - Xorriso_cdrskin_help(xorriso, 0); - ret= 1; goto ex; - } - if(do_scanbus) { - if(do_scanbus==1) - /* >>> would need -scanbus compatible output and input format */; - else - Xorriso_option_devices(xorriso, 0); - ret= 1; goto ex; - } - if(strcmp(blank_mode, "help")==0) { - for(i= 0; strcmp(blank_help[i], "@End_of_helptexT@")!=0; i++) { - sprintf(xorriso->info_text, "%s\n", blank_help[i]); - Xorriso_info(xorriso,0); - } - ret= 1; goto ex; - } - - if(!(do_checkdrive || do_atip || do_toc || blank_mode[0] || track_source[0] || - do_eject || do_msinfo)) - {ret= 1; goto ex;} - if(xorriso->out_drive_handle==NULL) { sprintf(xorriso->info_text, "-as %s: No output drive selected", whom); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); @@ -453,16 +469,6 @@ no_volunteer:; goto ex; } - if(do_verbous<=0) - report_about= "SORRY"; - else if(do_verbous<=2) - report_about= "UPDATE"; - else if(do_verbous==3) - report_about= "DEBUG"; - else - report_about= "ALL"; - Xorriso_option_report_about(xorriso, report_about, 0); - if(do_checkdrive) { ret= Xorriso_atip(xorriso, 2-(do_checkdrive==2)); if(ret<=0) diff --git a/libisoburn/trunk/xorriso/write_run.c b/libisoburn/trunk/xorriso/write_run.c index c0c03c4e..f0e0e3d6 100644 --- a/libisoburn/trunk/xorriso/write_run.c +++ b/libisoburn/trunk/xorriso/write_run.c @@ -1900,6 +1900,9 @@ int Xorriso_burn_track(struct XorrisO *xorriso, off_t write_start_address, if(ret<=0) goto ex; + sprintf(xorriso->info_text, "Beginning to write data track.\n"); + Xorriso_info(xorriso,0); + /* Important: do not return until burn_is_aborting() was checked */ signal_mode= 1; ret= burn_drive_get_drive_role(drive); diff --git a/libisoburn/trunk/xorriso/xorrecord.1 b/libisoburn/trunk/xorriso/xorrecord.1 index a2a0eedb..c9954c9f 100644 --- a/libisoburn/trunk/xorriso/xorrecord.1 +++ b/libisoburn/trunk/xorriso/xorrecord.1 @@ -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 XORRECORD 1 "Version 1.1.9, Nov 21, 2011" +.TH XORRECORD 1 "Version 1.1.9, Dec 01, 2011" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -147,6 +147,8 @@ Each accessible drive is shown by a line like: The libburn address of this drive is '/dev/sr0'. 'TSSTcorp' is the name of the vendor (in this case: Toshiba Samsung Storage Technologies Corporation), 'CDDVDW SH\-S203B' is the model name (in this case: a DVD burner). +.br +Afterwards end emulation without performing any further drive operation. .TP \fBdev=drive_address\fR Set the libburn address of the drive to be used. @@ -160,6 +162,10 @@ E.g. on Solaris: dev=/dev/rdsk/c2t2d0s2 See also above "Drive preparation and addressing". .br The medium in the drive should not be mounted or be otherwise in use. +.br +This option will only get into effect if a track source, a blank= option, +or a drive inquiry option is given. Else it will lead to a SORRY event +and normally cause a non\-zero exit value. .TP .B Inquiring drive and media: .TP @@ -311,6 +317,13 @@ For re\-formatting already formatted media or for formatting with non\-default size, use program \fBxorriso\fR with command \fB\-format\fR. .br (Note: blank=format_overwrite is not an original cdrecord options) +.TP +.br +help +.br +Print a short overview of blank modes to standard error output. +.br +Afterwards end emulation without performing any drive operation. .RE .TP \fB\-multi\fR @@ -453,6 +466,8 @@ Print to standard output a line beginning by and further lines which report the version of xorriso and its supporting libraries. They also state the license under which the program is provided, and disclaim any warranty, to the extent permitted by law. +.br +Afterwards end emulation without performing any drive operation. .TP \fB\-v\fR Increase program verbosity by one level. There are four verbosity levels @@ -475,6 +490,8 @@ from said specs, or if you get asked for this log by a maintainer of \fB\-help\fR Print a sparse list of program options to standard error and declare not to be cdrecord. +.br +Afterwards end emulation without performing any drive operation. .TP .B Options not compatible to cdrecord: .TP diff --git a/libisoburn/trunk/xorriso/xorrecord.info b/libisoburn/trunk/xorriso/xorrecord.info index fadcd017..67f778a4 100644 --- a/libisoburn/trunk/xorriso/xorrecord.info +++ b/libisoburn/trunk/xorriso/xorrecord.info @@ -15,7 +15,7 @@ xorriso  File: xorrecord.info, Node: Top, Next: Overview, Up: (dir) -xorrecord 1.1.7 +xorrecord 1.1.9 *************** xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso @@ -170,6 +170,8 @@ File: xorrecord.info, Node: DriveAddr, Next: Inquire, Prev: Options, Up: Opt name of the vendor (in this case: Toshiba Samsung Storage Technologies Corporation), 'CDDVDW SH-S203B' is the model name (in this case: a DVD burner). + Afterwards end emulation without performing any further drive + operation. dev=drive_address Set the libburn address of the drive to be used. @@ -179,6 +181,9 @@ dev=drive_address See also above "Drive preparation and addressing". The medium in the drive should not be mounted or be otherwise in use. + This option will only get into effect if a track source, a blank= + option, or a drive inquiry option is given. Else it will lead to a + SORRY event and normally cause a non-zero exit value.  File: xorrecord.info, Node: Inquire, Next: SetBurn, Prev: DriveAddr, Up: Options @@ -279,7 +284,7 @@ blank=mode as_needed Try to make the media ready for writing from scratch. If it needs formatting, then format it. If it is not blank, then try to apply - blank=fast. It is a reason to abort if the mediium cannot assume + blank=fast. It is a reason to abort if the medium cannot assume thoroughly writeable state, e.g. if it is a non-blank write-once. This leaves unformatted DVD-RW in unformatted blank state. To format DVD-RW use blank=format_overwrite. Blank unformatted BD-R @@ -320,6 +325,10 @@ blank=mode non-default size, use program *xorriso* with command *-format*. (Note: blank=format_overwrite is not an original cdrecord options) + help + Print a short overview of blank modes to standard error output. + Afterwards end emulation without performing any drive operation. + -multi This option keeps CD, unformatted DVD-R[W], DVD+R, or BD-R appendable after the current session has been written. Without it @@ -451,6 +460,7 @@ File: xorrecord.info, Node: Verbous, Next: NonCdrecord, Prev: SetBurn, Up: O supporting libraries. They also state the license under which the program is provided, and disclaim any warranty, to the extent permitted by law. + Afterwards end emulation without performing any drive operation. -v Increase program verbosity by one level. There are four verbosity @@ -471,6 +481,7 @@ File: xorrecord.info, Node: Verbous, Next: NonCdrecord, Prev: SetBurn, Up: O -help Print a sparse list of program options to standard error and declare not to be cdrecord. + Afterwards end emulation without performing any drive operation.  File: xorrecord.info, Node: NonCdrecord, Next: ExDevices, Prev: Verbous, Up: Options @@ -805,33 +816,33 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T (line 8) * -atip inquire medium state: Inquire. (line 16) * -checkdrive inquire drive CD capabilities: Inquire. (line 12) -* -data explicitely announce a data track: SetBurn. (line 155) -* -dummy control write simulation: SetBurn. (line 97) -* -eject finally eject drive tray: SetBurn. (line 194) -* -help print sparse overview of options: Verbous. (line 32) +* -data explicitely announce a data track: SetBurn. (line 159) +* -dummy control write simulation: SetBurn. (line 101) +* -eject finally eject drive tray: SetBurn. (line 198) +* -help print sparse overview of options: Verbous. (line 33) * -inq inquire drive identifiers: Inquire. (line 8) * -isosize obtain track size from ISO 9660 superblock: SetBurn. - (line 131) + (line 135) * -msinfo retrieve multi-session info: Inquire. (line 48) -* -multi keep media appendable after burn run: SetBurn. (line 80) -* -nopad disable adding of bytes to end of track: SetBurn. (line 147) -* -pad add 15 blocks to end of track: SetBurn. (line 150) +* -multi keep media appendable after burn run: SetBurn. (line 84) +* -nopad disable adding of bytes to end of track: SetBurn. (line 151) +* -pad add 15 blocks to end of track: SetBurn. (line 154) * -toc inquire medium content: Inquire. (line 25) -* -v increase program verbosity: Verbous. (line 16) -* -V log SCSI command transactions to stderr: Verbous. (line 21) +* -v increase program verbosity: Verbous. (line 17) +* -V log SCSI command transactions to stderr: Verbous. (line 22) * -version report emulation and xorriso version: Verbous. (line 8) * -waiti access drive only after stdin delivers data: SetBurn. - (line 105) + (line 109) * blank= make media re-usabable or format media: SetBurn. (line 27) -* dev= address the drive to be used: DriveAddr. (line 20) +* dev= address the drive to be used: DriveAddr. (line 22) * dvd_obs= set write transaction payload size: NonCdrecord. (line 46) -* fs= set program fifo size: SetBurn. (line 161) -* padsize= add bytes to end of track: SetBurn. (line 139) -* speed= set write speed: SetBurn. (line 177) +* fs= set program fifo size: SetBurn. (line 165) +* padsize= add bytes to end of track: SetBurn. (line 143) +* speed= set write speed: SetBurn. (line 181) * stdio_sync= control stdio buffer: NonCdrecord. (line 61) * stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord. (line 35) -* tsize= set a fixed track size: SetBurn. (line 119) +* tsize= set a fixed track size: SetBurn. (line 123) * write_start_address= set block address for write start: NonCdrecord. (line 54) @@ -844,23 +855,23 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top [index] * Menu: -* Accessing drive, wait for stdin, -waiti: SetBurn. (line 105) +* Accessing drive, wait for stdin, -waiti: SetBurn. (line 109) * Bugs, reporting: Bugreport. (line 6) -* Data track, announce, -data: SetBurn. (line 155) +* Data track, announce, -data: SetBurn. (line 159) * Defect management, control, stream_recording=: NonCdrecord. (line 35) -* Drive, address, dev=: DriveAddr. (line 20) +* Drive, address, dev=: DriveAddr. (line 22) * Drive, get list of, --devices: DriveAddr. (line 8) * Drive, inquire CD capabilities, -checkdrive: Inquire. (line 12) * Drive, inquire identifiers, -inq: Inquire. (line 8) -* Eject, the tray, -eject: SetBurn. (line 194) +* Eject, the tray, -eject: SetBurn. (line 198) * Examples: Examples. (line 6) -* Fifo, set size, fs=: SetBurn. (line 161) +* Fifo, set size, fs=: SetBurn. (line 165) * Full speed, on DVD-RAM and BD, stream_recording=: NonCdrecord. (line 35) * Media types, _definiton: Standards. (line 23) * Media, blank, blank=: SetBurn. (line 27) * Media, format, blank=: SetBurn. (line 27) -* Media, keep appendable, -multi: SetBurn. (line 80) +* Media, keep appendable, -multi: SetBurn. (line 84) * Media, make re-usable, blank=: SetBurn. (line 27) * medium content, inquire, -toc: Inquire. (line 25) * medium state, inquire, -atip: Inquire. (line 16) @@ -868,26 +879,26 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * multi-session info, retrieve, -msinfo: Inquire. (line 48) * Multi-session, emulate ISO 9660, --grow_overwriteable_iso: NonCdrecord. (line 13) -* Options, overview, -help: Verbous. (line 32) +* Options, overview, -help: Verbous. (line 33) * Overwritable media, _definiton: Standards. (line 30) -* Padding, at end of track, padsize=: SetBurn. (line 139) -* Padding, disable, -nopad: SetBurn. (line 147) -* Padding, insufficient old, -pad: SetBurn. (line 150) +* Padding, at end of track, padsize=: SetBurn. (line 143) +* Padding, disable, -nopad: SetBurn. (line 151) +* Padding, insufficient old, -pad: SetBurn. (line 154) * Problems, reporting: Bugreport. (line 6) -* SCSI commands, log, -V: Verbous. (line 21) +* SCSI commands, log, -V: Verbous. (line 22) * Sequentially recordable media, _definiton: Standards. (line 25) * Session, _definiton: Standards. (line 12) -* Speed, set for writing, speed=: SetBurn. (line 177) +* Speed, set for writing, speed=: SetBurn. (line 181) * Startup files, do not execute, --no_rc: NonCdrecord. (line 8) -* Track size, obtain from ISO 9660, -isosize: SetBurn. (line 131) -* Track size, set fixed, tsize=: SetBurn. (line 119) +* Track size, obtain from ISO 9660, -isosize: SetBurn. (line 135) +* Track size, set fixed, tsize=: SetBurn. (line 123) * Track, _definiton: Standards. (line 13) * Transaction size, set, dvd_obs=: NonCdrecord. (line 46) -* Tray, eject, -eject: SetBurn. (line 194) -* Verbosity, increase, -v: Verbous. (line 16) -* Verbosity, SCSI commands, -V: Verbous. (line 21) +* Tray, eject, -eject: SetBurn. (line 198) +* Verbosity, increase, -v: Verbous. (line 17) +* Verbosity, SCSI commands, -V: Verbous. (line 22) * Version, report, -version: Verbous. (line 8) -* Write simulation , control, -dummy: SetBurn. (line 97) +* Write simulation , control, -dummy: SetBurn. (line 101) * Write start address, set, write_start_address=: NonCdrecord. (line 54) * Write, buffer syncing, stdio_sync=: NonCdrecord. (line 61) @@ -904,25 +915,25 @@ Node: Drive3783 Node: Xorriso5107 Node: Options5818 Node: DriveAddr6186 -Node: Inquire7227 -Node: SetBurn10096 -Node: Verbous19614 -Node: NonCdrecord21024 -Node: Examples24190 -Node: ExDevices24851 -Node: ExMedium25069 -Node: ExBlank25332 -Node: ExFormat25553 -Node: ExDeformat26067 -Node: ExIsoSingle26334 -Node: ExIsoMulti26618 -Node: ExIsoFly28222 -Node: ExAfio28884 -Node: Files29865 -Node: Seealso30412 -Node: Bugreport30777 -Node: Legal31358 -Node: CommandIdx32278 -Node: ConceptIdx35045 +Node: Inquire7512 +Node: SetBurn10381 +Node: Verbous20048 +Node: NonCdrecord21598 +Node: Examples24764 +Node: ExDevices25425 +Node: ExMedium25643 +Node: ExBlank25906 +Node: ExFormat26127 +Node: ExDeformat26641 +Node: ExIsoSingle26908 +Node: ExIsoMulti27192 +Node: ExIsoFly28796 +Node: ExAfio29458 +Node: Files30439 +Node: Seealso30986 +Node: Bugreport31351 +Node: Legal31932 +Node: CommandIdx32852 +Node: ConceptIdx35619  End Tag Table diff --git a/libisoburn/trunk/xorriso/xorrecord.texi b/libisoburn/trunk/xorriso/xorrecord.texi index ab16ea42..9cc29273 100644 --- a/libisoburn/trunk/xorriso/xorrecord.texi +++ b/libisoburn/trunk/xorriso/xorrecord.texi @@ -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 XORRECORD 1 "Version 1.1.9, Nov 21, 2011" +@c man .TH XORRECORD 1 "Version 1.1.9, Dec 01, 2011" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -263,6 +263,8 @@ Each accessible drive is shown by a line like: The libburn address of this drive is '/dev/sr0'. 'TSSTcorp' is the name of the vendor (in this case: Toshiba Samsung Storage Technologies Corporation), 'CDDVDW SH-S203B' is the model name (in this case: a DVD burner). +@* +Afterwards end emulation without performing any further drive operation. @c man .TP @item dev=drive_address @kindex dev= address the drive to be used @@ -278,6 +280,10 @@ E.g. on Solaris: dev=/dev/rdsk/c2t2d0s2 See also above "Drive preparation and addressing". @* The medium in the drive should not be mounted or be otherwise in use. +@* +This option will only get into effect if a track source, a blank= option, +or a drive inquiry option is given. Else it will lead to a SORRY event +and normally cause a non-zero exit value. @end table @c man .TP @c man .B Inquiring drive and media: @@ -459,6 +465,14 @@ For re-formatting already formatted media or for formatting with non-default size, use program @strong{xorriso} with command @strong{-format}. @* (Note: blank=format_overwrite is not an original cdrecord options) +@c man .TP +@sp 1 +@* +help +@* +Print a short overview of blank modes to standard error output. +@* +Afterwards end emulation without performing any drive operation. @c man .RE @c man .TP @item -multi @@ -633,6 +647,8 @@ Print to standard output a line beginning by and further lines which report the version of xorriso and its supporting libraries. They also state the license under which the program is provided, and disclaim any warranty, to the extent permitted by law. +@* +Afterwards end emulation without performing any drive operation. @c man .TP @item -v @kindex -v increase program verbosity @@ -662,6 +678,8 @@ from said specs, or if you get asked for this log by a maintainer of @cindex Options, overview, -help Print a sparse list of program options to standard error and declare not to be cdrecord. +@* +Afterwards end emulation without performing any drive operation. @end table @c man .TP @c man .B Options not compatible to cdrecord: diff --git a/libisoburn/trunk/xorriso/xorriso_timestamp.h b/libisoburn/trunk/xorriso/xorriso_timestamp.h index e3b631d4..f67b9eda 100644 --- a/libisoburn/trunk/xorriso/xorriso_timestamp.h +++ b/libisoburn/trunk/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2011.11.29.130622" +#define Xorriso_timestamP "2011.12.01.152236"