From 34cb228906fa8f8ae154ddeaac5b42a2d6e090ef Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sun, 8 Jul 2012 17:14:22 +0000 Subject: [PATCH] New -as cdrecord options -tao -sao -dao --- xorriso/emulators.c | 27 +++++++------- xorriso/xorrecord.1 | 15 +++++++- xorriso/xorrecord.info | 71 ++++++++++++++++++++++++------------- xorriso/xorrecord.texi | 21 ++++++++++- xorriso/xorriso_timestamp.h | 2 +- 5 files changed, 96 insertions(+), 40 deletions(-) diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 808a4588..5c162f10 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -68,6 +68,9 @@ int Xorriso_cdrskin_help(struct XorrisO *xorriso, int flag) "\t-atip\t\tretrieve media state, print \"Is *erasable\"", "\t-multi\t\tgenerate a TOC that allows multi session", "\t-waiti\t\twait until input is available before opening SCSI", +"\t-tao\t\tWrite disk in TAO mode.", +"\t-dao\t\tWrite disk in SAO mode.", +"\t-sao\t\tWrite disk in SAO mode.", "\ttsize=#\t\tannounces exact size of source data", "\tpadsize=#\tAmount of padding", "\t-data\t\tSubsequent tracks are CD-ROM data mode 1 (default)", @@ -134,8 +137,8 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv, "-cdi", "-preemp", "-nopreemp", "-copy", "-nocopy", "-scms", "-shorttrack", "-noshorttrack", "-packet", "-noclose", "-media-info", "-minfo", - "-load", "-lock", "-raw96r", "-sao", "-dao", "-swab", - "-tao", "-force", "-format", + "-load", "-lock", "-raw96r", "-swab", + "-force", "-format", "--adjust_speed_to_drive", "--allow_emulated_drives", "--allow_setuid", "--allow_untested_media", "--any_track", "--demand_a_drive", @@ -245,6 +248,8 @@ no_volunteer:; } } else if(strcmp(argpt, "-checkdrive")==0) { do_checkdrive= 1; + } else if(strcmp(argpt, "-dao")==0) { + xorriso->do_tao= -1; } else if(strcmp(argpt, "-data")==0) { /* ok */; } else if(strncmp(argpt, "-dev=", 5)==0 || @@ -262,6 +267,10 @@ no_volunteer:; } } else if(strcmp(argpt, "-dummy")==0) { xorriso->do_dummy= 1; + } else if(strncmp(argpt, "-dvd_obs=", 9)==0 || + strncmp(argpt, "dvd_obs=", 8)==0) { + cpt= strchr(argpt, '=') + 1; + Xorriso_option_dvd_obs(xorriso, cpt, 0); } else if(strcmp(argpt, "-eject")==0) { do_eject= 1; } else if(strncmp(argpt, "-fs=", 4)==0 || strncmp(argpt, "fs=", 3)==0) { @@ -297,34 +306,28 @@ no_volunteer:; ret= Xorriso_option_padding(xorriso, cpt, 0); if(ret<=0) goto ex; + } else if(strcmp(argpt, "-sao")==0) { + xorriso->do_tao= -1; } else if(strcmp(argpt, "-scanbus")==0) { sprintf(xorriso->info_text, "-as %s: Option -scanbus not supported.", whom); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); ret= 0; goto ex; - -/* do_scanbus= 1; */ } else if(strncmp(argpt, "-speed=", 7)==0 || strncmp(argpt, "speed=", 6)==0) { cpt= strchr(argpt, '=')+1; strncpy(speed, cpt, 79); speed[79]= 0; - } else if(strncmp(argpt, "-stream_recording=", 18)==0 || strncmp(argpt, "stream_recording=", 17)==0) { cpt= strchr(argpt, '=')+1; Xorriso_option_stream_recording(xorriso, cpt, 0); - - } else if(strncmp(argpt, "-dvd_obs=", 9)==0 || - strncmp(argpt, "dvd_obs=", 8)==0) { - cpt= strchr(argpt, '=') + 1; - Xorriso_option_dvd_obs(xorriso, cpt, 0); - } else if(strncmp(argpt, "-stdio_sync=", 12)==0 || strncmp(argpt, "stdio_sync=", 11)==0) { cpt= strchr(argpt, '=') + 1; Xorriso_option_stdio_sync(xorriso, cpt, 0); - + } else if(strcmp(argpt, "-tao")==0) { + xorriso->do_tao= 1; } else if(strcmp(argpt, "-toc")==0 || strcmp(argv[i], "--long_toc")==0) { /* intentional: argpt , argv[i] */ do_toc= 1; diff --git a/xorriso/xorrecord.1 b/xorriso/xorrecord.1 index 02afb4f8..f97b8985 100644 --- a/xorriso/xorrecord.1 +++ b/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.2.3, Apr 02, 2012" +.TH XORRECORD 1 "Version 1.2.3, Jul 08, 2012" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -411,6 +411,19 @@ Explicitely announce that the track source shall be recorded as data track, and not as audio track. This option has no effect with \fBxorrecord\fR, because there is no support for other track formats anyway. .TP +\fB\-tao\fR +Explicitely demand that write type TAO shall be used for CD, or Incremental +for DVD\-R. Normally the program will choose the write type according to the +given medium state, option \-multi, and track source. Demanding it explicitely +prevents the start of a write run, if it is not appropriate to the situation. +.TP +\fB\-sao\fR +Explicitely demand that write type SAO shall be used for CD, or DAO for DVD\-R. +This might prevent the write run, if it is not appropriate to the situation. +.TP +\fB\-dao\fR +Alias of \-sao. +.TP \fBfs=size\fR Set the size of the program fifo buffer to the given value rather than the default of 4m. diff --git a/xorriso/xorrecord.info b/xorriso/xorrecord.info index b3e5c550..9ba67351 100644 --- a/xorriso/xorrecord.info +++ b/xorriso/xorrecord.info @@ -410,6 +410,21 @@ padsize=size `xorrecord', because there is no support for other track formats anyway. +-tao + Explicitely demand that write type TAO shall be used for CD, or + Incremental for DVD-R. Normally the program will choose the write + type according to the given medium state, option -multi, and track + source. Demanding it explicitely prevents the start of a write + run, if it is not appropriate to the situation. + +-sao + Explicitely demand that write type SAO shall be used for CD, or + DAO for DVD-R. This might prevent the write run, if it is not + appropriate to the situation. + +-dao + Alias of -sao. + fs=size Set the size of the program fifo buffer to the given value rather than the default of 4m. @@ -816,9 +831,10 @@ 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) +* -dao explicitely set write type SAO/DAO: SetBurn. (line 177) * -data explicitely announce a data track: SetBurn. (line 159) * -dummy control write simulation: SetBurn. (line 101) -* -eject finally eject drive tray: SetBurn. (line 198) +* -eject finally eject drive tray: SetBurn. (line 213) * -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. @@ -827,6 +843,8 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -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) +* -sao explicitely set write type SAO/DAO: SetBurn. (line 172) +* -tao explicitely set write type TAO: SetBurn. (line 165) * -toc inquire medium content: Inquire. (line 25) * -v increase program verbosity: Verbous. (line 17) * -V log SCSI command transactions to stderr: Verbous. (line 22) @@ -836,9 +854,9 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * blank= make media re-usabable or format media: SetBurn. (line 27) * 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 165) +* fs= set program fifo size: SetBurn. (line 180) * padsize= add bytes to end of track: SetBurn. (line 143) -* speed= set write speed: SetBurn. (line 181) +* speed= set write speed: SetBurn. (line 196) * stdio_sync= control stdio buffer: NonCdrecord. (line 61) * stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord. (line 35) @@ -863,9 +881,9 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * 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 198) +* Eject, the tray, -eject: SetBurn. (line 213) * Examples: Examples. (line 6) -* Fifo, set size, fs=: SetBurn. (line 165) +* Fifo, set size, fs=: SetBurn. (line 180) * Full speed, on DVD-RAM and BD, stream_recording=: NonCdrecord. (line 35) * Media types, _definiton: Standards. (line 23) @@ -888,19 +906,22 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * 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 181) +* Speed, set for writing, speed=: SetBurn. (line 196) * Startup files, do not execute, --no_rc: NonCdrecord. (line 8) * 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 198) +* Tray, eject, -eject: SetBurn. (line 213) * 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 101) * Write start address, set, write_start_address=: NonCdrecord. (line 54) +* Write type, SAO/DAO, -dao: SetBurn. (line 177) +* Write type, SAO/DAO, -sao: SetBurn. (line 172) +* Write type, TAO, -tao: SetBurn. (line 165) * Write, buffer syncing, stdio_sync=: NonCdrecord. (line 61) * xorriso, mkisofs emulation: Xorriso. (line 6) * xorriso, options: Options. (line 6) @@ -917,23 +938,23 @@ Node: Options5818 Node: DriveAddr6186 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: CommandIdx32859 -Node: ConceptIdx35626 +Node: Verbous20591 +Node: NonCdrecord22141 +Node: Examples25307 +Node: ExDevices25968 +Node: ExMedium26186 +Node: ExBlank26449 +Node: ExFormat26670 +Node: ExDeformat27184 +Node: ExIsoSingle27451 +Node: ExIsoMulti27735 +Node: ExIsoFly29339 +Node: ExAfio30001 +Node: Files30982 +Node: Seealso31529 +Node: Bugreport31894 +Node: Legal32475 +Node: CommandIdx33402 +Node: ConceptIdx36388  End Tag Table diff --git a/xorriso/xorrecord.texi b/xorriso/xorrecord.texi index 94be50d6..84f4b581 100644 --- a/xorriso/xorrecord.texi +++ b/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.2.3, Apr 02, 2012" +@c man .TH XORRECORD 1 "Version 1.2.3, Jul 08, 2012" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -578,6 +578,25 @@ Explicitely announce that the track source shall be recorded as data track, and not as audio track. This option has no effect with @command{xorrecord}, because there is no support for other track formats anyway. @c man .TP +@item -tao +@kindex -tao explicitely set write type TAO +@cindex Write type, TAO, -tao +Explicitely demand that write type TAO shall be used for CD, or Incremental +for DVD-R. Normally the program will choose the write type according to the +given medium state, option -multi, and track source. Demanding it explicitely +prevents the start of a write run, if it is not appropriate to the situation. +@c man .TP +@item -sao +@kindex -sao explicitely set write type SAO/DAO +@cindex Write type, SAO/DAO, -sao +Explicitely demand that write type SAO shall be used for CD, or DAO for DVD-R. +This might prevent the write run, if it is not appropriate to the situation. +@c man .TP +@item -dao +@kindex -dao explicitely set write type SAO/DAO +@cindex Write type, SAO/DAO, -dao +Alias of -sao. +@c man .TP @item fs=size @kindex fs= set program fifo size @cindex Fifo, set size, fs= diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index bb8027e9..5648c197 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.07.08.135555" +#define Xorriso_timestamP "2012.07.08.171526"